PT09IHJlbGVhc2UgMS4xNC40ID09PQoKMjAxOC0xMC0wMiAyMzowODozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xNC40CgoyMDE4LTEwLTAyIDIzOjA4OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvYnVmZmVyc3BsaXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2xhdGVuY3kueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhtYXRyaXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9ybWFuYWdlbWVudC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZTI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZGthYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pcGNwaXBlbGluZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uaHR0cHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2xtaXhlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHJveHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNiYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1lY29kZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dG1sc3Vicy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnVsa2FuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhc2FwaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgVXBkYXRlIGRvY3MKCjIwMTgtMDktMjcgMTU6MjQ6MjAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2Rrc3lzdGVtbWVtb3J5LmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2aWRlb21lbW9yeS5jOgoJICBtc2RrOiBGaXggYnVpbGRpbmcgb24gTVNWQwoJICBBbmQgYWRkIG1pc3NpbmcgI2lmZGVmIF9XSU4zMiBmb3IgTVNWQyBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk3MjExCgoyMDE4LTA1LTIzIDIxOjE1OjA5ICswMjAwICBDaHJpc3RvcGggUmVpdGVyIDxyZWl0ZXIuY2hyaXN0b3BoQGdtYWlsLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJICB3YXNhcGlzaW5rOiByZWNvdmVyIGZyb20gbG93IGJ1ZmZlciBsZXZlbHMgaW4gc2hhcmVkIG1vZGUKCSAgSW4gY2FzZSB0aGUgd2FzYXBpIGJ1ZmZlciBsZXZlbHMgZ290IGxvdyBpbiBzaGFyZWQgbW9kZSB3ZSB3b3VsZCBzdGlsbCB3YWl0IHVudGlsCgkgIG1vcmUgYnVmZmVyIGlzIGF2YWlsYWJsZSB1bnRpbCB3cml0aW5nIHNvbWV0aGluZyBpbiBpdCwgd2hpY2ggbWVhbnMgd2UgY291bGQgbmV2ZXIKCSAgY2F0Y2ggdXAgYW5kIHJlY292ZXIuCgkgIEluc3RlYWQgb25seSB3YWl0IGZvciBhIG5ldyBidWZmZXIgaW4gY2FzZSB0aGUgZXhpc3Rpbmcgb25lIGlzIGZ1bGwgYW5kIGFsd2F5cyB3cml0ZQoJICB3aGF0IHdlIGNhbi4gQWxzbyBkb24ndCBsb29wIHVudGlsIGFsbCBkYXRhIGlzIHdyaXR0ZW4gc2luY2UgdGhlIGJhc2UgY2xhc3MgY2FuIGhhbmRsZQoJICB0aGF0IGZvciB1cyBhbmQgdW5kZXIgbm9ybWFsIGNpcmN1bXN0YW5jZXMgdGhpcyBkb2Vzbid0IGhhcHBlbiBhbnl3YXkuCgkgIFRoaXMgb25seSB3b3JrcyBpbiBzaGFyZWQgbW9kZSwgYXMgaW4gZXhjbHVzaXZlIG1vZGUgd2UgaGF2ZSB0byBleGFjdGx5CgkgIGZpbGwgdGhlIGJ1ZmZlciBhbmQgYWx3YXlzIGhhdmUgdG8gd2FpdCBmaXJzdC4KCSAgVGhpcyBmaXhlcyBub2lzeSAoYnVmZmVyIHVuZGVycnVuKSBwbGF5YmFjayB3aXRoIHRoZSB3YXNhcGlzaW5rIHVuZGVyIGxvYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTYzNTQKCSAgU2lnbmVkLW9mZi1ieTogTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKPT09IHJlbGVhc2UgMS4xNC4zID09PQoKMjAxOC0wOS0xNiAxNjoyNTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xNC4zCgoyMDE4LTA5LTE2IDE2OjI1OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2J1ZmZlcnNwbGl0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9sYXRlbmN5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4bWF0cml4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcm1hbmFnZW1lbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGUyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRrYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXBjcGlwZWxpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbmh0dHBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsbWl4ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5oMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXByb3h5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zYmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwZWxlbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltZWNvZGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZ1bGthbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXNhcGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTA4LTEzIDIyOjQ0OjUxICswOTAwICBTZXVuZ2hhIFlhbmcgPHNldW5naGEueWFuZ0BuYXZlcmNvcnAuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggcGVyaW9kaWMgU1BTL1BQUyBzZW5kaW5nIHdvcmsgYWZ0ZXIgYSBzZWVrCgkgIEFwcGx5IHRoZSBjb21taXQgZWY3MWI2MQoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMjEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjQKCjIwMTgtMDgtMTMgMjA6MzQ6MzYgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJICBoMjY1cGFyc2U6IEFkZCBzdXBwb3J0IGluc2VydCBwYXJhbWV0ZXIgc2V0IHBlciBJRFIKCSAgQXBwbHkgY29tbWl0cyAwYzA0ZTAwLCBiZjBkOTUyIGFuZCBhMDg3NmFhIHRvIGgyNjVwYXJzZS4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjgwMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTI0CgoyMDE4LTA4LTE0IDAwOjQ2OjI2ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNldW5naGEueWFuZ0BuYXZlcmNvcnAuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBEb24ndCBkaXNjYXJkIGZpcnN0IEFVIGRlbGltaXRlcgoJICBBcHBseSB0aGUgY29tbWl0IDQ4YTFmMjcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEyNAoKMjAxOC0wOC0xNCAwMDo0MzowMSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzZXVuZ2hhLnlhbmdAbmF2ZXJjb3JwLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogQ29uc2lkZXIgU0VJIE5BTFUgYXMgIkhFQURFUiIgcGFja2V0cwoJICBBcHBseSB0aGUgY29tbWl0IDY5YzA5YzMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEyNAoKMjAxOC0wOC0xMyAyMjo0NTo1NCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzZXVuZ2hhLnlhbmdAbmF2ZXJjb3JwLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRG9uJ3QgdW5yZWYgYnVmZmVyIHRoYXQgd2FzIHVucmVmZmVkIGp1c3QgYSBmZXcgbGluZXMgYmVmb3JlIGFscmVhZHkKCSAgQXBwbHkgdGhlIGNvbW1pdCA5YjUwYTEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjQKCjIwMTgtMDgtMTQgMDE6MTE6MjcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IFJlc2V0IHRoZSBwYXJzZXIgaW5mb3JtYXRpb24gd2hlbiBjYXBzIGNoYW5nZXMKCSAgQXBwbHkgdGhlIGNvbW1pdCAxNGY2ZmNkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjQKCjIwMTgtMDgtMTMgMjM6NDU6MTMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBjb2xsZWN0aW9uIG9mIGFjY2VzcyB1bml0cyB0byBwcmVzZXJ2ZSBjb25maWcgaGVhZGVycwoJICBBcHBseSB0aGUgY29tbWl0IDdkNDRhNTEKCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTI0CgoyMDE4LTA4LTEzIDIzOjM2OjMzICswOTAwICBTZXVuZ2hhIFlhbmcgPHNldW5naGEueWFuZ0BuYXZlcmNvcnAuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBJbXByb3ZlIGNvbmRpdGlvbnMgZm9yIHNraXBwaW5nIE5BTCB1bml0cwoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjQKCjIwMTgtMDgtMTMgMjI6MjM6MjIgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJICBoMjY1cGFyc2U6IEludHJvZHVjZSBuZXcgc3RhdGUgdHJhY2tpbmcgdmFyaWFibGVzCgkgIERpcmVjdCBhcHBseWluZyB0aGUgY29tbWl0IDdiYjY0NDMuIFRoaXMgY291bGQgZml4IGFsc28gdW5leHBlY3RlZAoJICBuYWwgZHJvcHBpbmcgd2hlbiBub256ZXJvICJjb25maWctaW50ZXJ2YWwiIGlzIHNldC4KCSAgKGUuZy4sIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIHgyNjVlbmMga2V5LWludC1tYXg9MzAgIQoJICBoMjY1cGFyc2UgY29uZmlnLWludGVydmFsPTMwICEgYXZkZWNfaDI2NSAhIHZpZGVvY29udmVydCAhIGF1dG92aWRlb3NpbmspCgkgIFNpbWlsYXIgdG8gdGhlIGgyNjRwYXJzZSwgaGF2ZV97dnBzLHNwcyxwcHN9IHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQKCSAgZm9yIGRlY2lkaW5nIG9uIHdoZW4gdG8gc3VibWl0IHVwZGF0ZWQgY2FwcyBvciBub3QsIGFuZCByYXRoZXIgbWVhbgoJICAiaGF2ZSBuZXcgU1BTL1BQUyB0byBiZSBzdWJtaXR0ZWQ/IgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjQKCjIwMTgtMDgtMTMgMjE6NDk6NTcgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBhbmQgb3B0aW1pemUgTkFMIGNvbGxlY3Rpb24gZnVuY3Rpb24KCSAgQWRvcHQgaDI2NHBhcnNlJ3MgX2NvbGxlY3RfbmFsKCkgYmVoYXZpb3IuCgkgIFNlZSBhbHNvIGNvbW1pdCA1NjAxYzg3IGFuZCAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTI0CgoyMDE4LTA4LTE0IDAwOjI5OjU2ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNldW5naGEueWFuZ0BuYXZlcmNvcnAuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBVbnJlZi9yZXBsYWNlIGZvcmNlX2tleV91bml0X2V2ZW50IGluIGdzdF9oMjY1X3BhcnNlX3Jlc2V0CgkgIEFwcGx5IHRoZSBjb21taXQgMzZhMmFjYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTI0CgoyMDE4LTA4LTE0IDAwOjI3OjEyICswOTAwICBTZXVuZ2hhIFlhbmcgPHNldW5naGEueWFuZ0BuYXZlcmNvcnAuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSAgaDI2NXBhcnNlOiBDb3B5IG92ZXIgRElTQ09OVCBmbGFnIGZyb20gaW5wdXQgYnVmZmVycwoJICBBcHBseSB0aGUgY29tbWl0IDEwZmZhMDgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEyNAoKMjAxOC0wNy0yMiAxMDozNDowNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IE9ubHkgc2NhbiBMQURTUEEgc3ViZGlyIEFQUERBVEEgYW5kIENPTU1PTlBST0dSQU1GSUxFUwoJICBEb24ndCBzY2FuIHRoZSBlbnRpcmUgQVBQREFUQSBhbmQgQ09NTU9OUFJPR1JBTUZJTEVTCgkgIHBhdGggdHJlZSwganVzdCB0aGUgTEFEU1BBIHN1Yi1kaXJlY3RvcnkgaW5zaWRlIHRoZW0sIGlmIGFueS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjQ1MAoKMjAxOC0wNy0yMiAwOTo1MjoyMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IERvbid0IHRyeSBhbmQgbG9hZCBldmVyeSBmaWxlIGFzIGEgcGx1Z2luCgkgIFdoZW4gc2Nhbm5pbmcgcGF0aHMgZm9yIExBRFNQQSBwbHVnaW5zLCBkb24ndCB0cnkgYW5kIGxvYWQKCSAgZXZlcnkgcmFuZG9tIGZpbGUgYXMgYSBtb2R1bGUsIGFzIGdfbW9kdWxlX29wZW4gZW5kcyB1cCB0aHJvd2luZwoJICBlcnJvcnMgb24gV2luZG93cy4KCSAgVXNlIGEgR19NT0RVTEVfU1VGRklYIGFuZCBHU1RfRVhUUkFfTU9EVUxFX1NVRkZJWCBzdWZmaXggY2hlY2sgYXMKCSAgd2UgZG8gZm9yIEdTdHJlYW1lciBwbHVnaW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NDUwCgoyMDE4LTA5LTExIDAxOjAwOjIxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBSZW1vdmUgY29kZSB0aGF0IHNldHMgdGhyZWFkIHByaW9yaXR5CgkgIFRoaXMgaXMgbm93IGhhbmRsZWQgZGlyZWN0bHkgaW4gZ3N0YXVkaW9zcmMvc2luaywgYW5kIHdlIHdlcmUgc2V0dGluZwoJICBpdCBpbiB0aGUgd3JvbmcgdGhyZWFkIGFueXdheS4gcHJlcGFyZSgpIGlzIG5vdCB0aGUgc2FtZSB0aHJlYWQgYXMKCSAgc2lua193cml0ZSgpIG9yIHNyY19yZWFkKCkuCgoyMDE4LTA4LTA4IDAwOjMxOjUxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdGF1ZGlvY2xpZW50My5oOgoJKiBzeXMvd2FzYXBpL21lc29uLmJ1aWxkOgoJICB3YXNhcGk6IEZpeCBidWlsZCB3aXRoIFdpbmRvd3MgOC4xIFNESwoJICBXaXRoIHRoZSBXaW5kb3dzIDguMSBTREssIHRoZSB2MSBvZiB0aGUgQVVEQ0xOVF9TVFJFQU1PUFRJT05TIGVudW0gaXMKCSAgZGVmaW5lZCB3aGljaCBvbmx5IGhhcyBOT05FIGFuZCBSQVcsIHNvIGl0J3Mgbm90IG9ubHkgZGVmaW5lZCB3aGVuCgkgIEF1ZGlvQ2xpZW50MyBpcyBhdmFpbGFibGUuCgkgIEFkZCBhIG1lc29uIGNoZWNrIGZvciB0aGUgc3ltYm9sLiBUaGlzIGlzIG5vdCBuZWVkZWQgZm9yIEF1dG90b29scwoJICBiZWNhdXNlIHRoZXJlIHdlIGJ1aWxkIGFnYWluc3QgdGhlIE1pbkdXIGF1ZGlvY2xpZW50Lmggd2hpY2ggaXMgc3RpbGwKCSAgYXQgdjEgb2YgdGhlIEF1ZGlvQ2xpZW50IGludGVyZmFjZS4KCjIwMTgtMDgtMTYgMTI6MzU6NTAgKzAyMDAgIEplcm9tZSBMYWhldXJ0ZSA8amxhaGV1cnRlQHF1aXZpZGkubmV0PgoKCSogc3lzL3dpbmtzL2tzZGV2aWNlcHJvdmlkZXIuYzoKCSAga3N2aWRlb3NyYzogZml4IGRldmljZSBlbnVtZXJhdGlvbiB3aGVuIGhvdHBsdWdnaW5nIGEgY2FtZXJhCgkgIFNpbmNlIGJvdGggYXVkaW8gYW5kIHZpZGVvIGNhcHR1cmUgZGV2aWNlcyBkZWNsYXJlIHRoZSBLU0NBVEVHT1JZX0NBUFRVUkUgaW50ZXJmYWNlLAoJICBwbHVnZ2luZyBhIGNhbWVyYSB0aGF0IHN1cHBvcnRzIGJvdGggY291bGQgcmVzdWx0IGluIGFuIGF1ZGlvIGRldmljZSBiZWluZyBtaXN0YWtlbgoJICBmb3IgYSB2aWRlbyBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5NTgKCjIwMTgtMDktMDUgMjE6MzE6MjIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdHMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEb24ndCBwYXNzIEdOVS1saWtlIGNvbXBpbGVyIHdhcmdzIG9uIE1TVkMKCSAgY2wgOiBDb21tYW5kIGxpbmUgZXJyb3IgRDgwMjEgOiBpbnZhbGlkIG51bWVyaWMgYXJndW1lbnQgJy9Xbm8tbWlzc2luZy1pbmNsdWRlLWRpcnMnCgoyMDE4LTA5LTAxIDExOjIzOjMzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBTZXQgZGVmYXVsdCBwb3NpdGlvbiBhbmQgZHVyYXRpb24gdmFsdWUgdG8gR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBXaGVuIHRoZSBwb3NpdGlvbiBxdWVyeSBmYWlscyB0aGUgcmV0dXJuZWQgdmFsdWUgc2hhbGwgcmVtYWluIC0xIGluc3RlYWQgb2YgMCB0bwoJICBhdm9pZCBjb25mdXNpb24gb24gYXBwbGljYXRpb24gc2lkZSBiZXR3ZWVuIGVycm9yIGFuZCBiZWdpbm5pbmcgb2YgbWVkaWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTcwNjYKCjIwMTgtMDgtMTcgMTY6Mzc6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXJzcGxpdC9nc3RhdWRpb2J1ZmZlcnNwbGl0LmM6CgkgIGF1ZGlvYnVmZmVyc3BsaXQ6IEFsd2F5cyBzZXQgRElTQ09OVCBmbGFnIGFmdGVyIHJlc3luY3MKCjIwMTgtMDgtMTcgMTQ6NTY6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXJzcGxpdC9nc3RhdWRpb2J1ZmZlcnNwbGl0LmM6CgkgIGF1ZGlvYnVmZmVyc3BsaXQ6IFVwZGF0ZSBvdXRwdXQgYnVmZmVyIHNpemUgYWZ0ZXIgZWFjaCBidWZmZXIgdG8gY29tcGVuc2F0ZSBmb3IgYWNjdW11bGF0ZWQgZXJyb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5ODEKCjIwMTgtMDgtMTcgMTY6MzM6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXJzcGxpdC9nc3RhdWRpb2J1ZmZlcnNwbGl0LmM6CgkqIGdzdC9hdWRpb2J1ZmZlcnNwbGl0L2dzdGF1ZGlvYnVmZmVyc3BsaXQuaDoKCSAgYXVkaW9idWZmZXJzcGxpdDogS2VlcCB0cmFjayBvZiByZXN5bmMgdGltZSBzZXBhcmF0ZWx5CgkgIElmIHdlIGRyYWluIGFmdGVyIGEgZGlzY29udCwgdGhlIGRpc2NvbnQgdGltZSBnaXZlbiBieSB0aGUgc3RyZWFtCgkgIHN5bmNocm9uaXplciBpcyBhbHJlYWR5IHRoZSB0aW1lIGFmdGVyIHRoZSBkaXNjb250aW51aXR5LiBCdXQgd2UgbmVlZCB0bwoJICBkcmFpbiBhbGwgcGVuZGluZyBkYXRhIGJhc2VkIG9uIHRoZSBwcmV2aW91cyBkaXNjb250IHRpbWUgaW5zdGVhZC4KCjIwMTgtMDgtMTYgMTA6MDI6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWFrZSBzdXJlIHRvIGhvbGQgb2JqZWN0IGxvY2sgd2hpbGUgaXRlcmF0aW5nIHNpbmsgcGFkcwoJICBUaGV5IG1pZ2h0IG90aGVyd2lzZSBqdXN0IGNoYW5nZSB3aGlsZSB3ZSBpdGVyYXRlLgoKMjAxOC0wOC0xNiAxNToyMTowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWx3YXlzIGNyZWF0ZSB0aGUgYWRhcHRlcgoJICBXb3JzdCBjYXNlIGl0IHdpbGwgYmUgZW1wdHkuIFRoaXMgZml4ZXMgYSBjcmFzaCB3aGVuIHRoZSBiYXNlIGNsYXNzCgkgIGNhbGxzIGRhdGFfcmVjZWl2ZWQoKSB3aGVuIHRoZSBzdHJlYW0gaXMgbmVpdGhlciBpc19pc29ibWZmIG9yCgkgIGhhc19pc29mZl9vbmRlbWFuZF9wcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NzQ1CgoyMDE4LTA1LTExIDA5OjU0OjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSAgb3BlbmN2OiBGaXggbWVtY3B5IHdpdGhpbiBDKysKCSAgRXhwbGljaXRseSBjYXN0IHRvIHZvaWQqIGJlY2F1c2UgR0NDIDggaXMgKHJpZ2h0ZnVsbHkpIHVwc2V0IHRoYXQgdGhpcyBpcwoJICAid3JpdGluZyB0byBhbiBvYmplY3Qgb2YgdHlwZSDigJguLi7igJkgd2l0aCBubyB0cml2aWFsIGNvcHktYXNzaWdubWVudCIuCgkgIENhdXNlZCBieSB0aGUgbmV3ICJjbGFzcy1tZW1hY2Nlc3MiIHdhcm5pbmcKCjIwMTgtMDUtMTkgMTE6MDM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogRml4IHN0cmluZyBjb3B5IHdpaHQgc3RybGVuKCkgYXJndW1lbnQKCSAgVGhpcyBpcyBhIG5ldyB3YXJuaW5nIGludHJvZHVjZWQgYnkgZ2NjIDgKCSAgV2UgYWxyZWFkeSBjaGVjayBqdXN0IGJlZm9yZSB0aGF0IHdlIGhhdmUgZW5vdWdoIHNwYWNlLCBqdXN0IGRvIGEgcmVndWxhcgoJICBtZW1jcHkgd2l0aCB0aGUgZnVsbCBzdHJpbmcgc2l6ZS4KCSAgY2Ftc3djbGllbnQuYzo4NzozOiBlcnJvcjog4oCYc3RybmNweeKAmSBzcGVjaWZpZWQgYm91bmQgZGVwZW5kcyBvbiB0aGUgbGVuZ3RoIG9mIHRoZSBzb3VyY2UgYXJndW1lbnQgWy1XZXJyb3I9c3RyaW5nb3Atb3ZlcmZsb3c9XQoKMjAxOC0wNy0xMyAxNDo0MjoyOCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJICBvcGVuY3Y6IEZpeCBidWlsZCBmb3Igb3BlbmN2ID49IDMuNC4yCgkgIFRoZSBgQ1ZfUkdCYCBtYWNybyBpcyBub3cgaW4gYGltZ3Byb2MuaHBwYC4KCSAgRml4ZXM6CgkgIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9leHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOjQ5Nzo0MDogZXJyb3I6IOKAmENWX1JHQuKAmSB3YXMgbm90IGRlY2xhcmVkIGluIHRoaXMgc2NvcGUKCSAgY3ZDaXJjbGUgKGltZywgY2VudGVyLCByYWRpdXMsIENWX1JHQiAoMCwgMCwgMjAwKSwgMSwgOCwgMCk7CgkgIF5+fn5+fgoKMjAxOC0wOC0wMiAyMTowNToyNCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogQWxzbyBhY2NlcHQgPC9zdmc6c3ZnPiBhcyBlbmRpbmcgdGFnCgkgIFNvbWUgU1ZHIGZpbGVzIGNyZWF0ZWQgYnkgaW5rc2NhcGUgdXNlIHRoYXQsIHN1Y2ggYXM6CgkgIGh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9waXRpdmkvdXBsb2Fkcy84ZGQ4ZDlkOTg4YjVlYjZjYzM4Zjg3MTE5NmNhYWM2Zi9UaXRlbC1UYWZlbDMuMl9hbmltLnN2ZwoJICBUaGlzIGlzIGEgZmlyc3QgcGF0Y2ggZm9yIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY5MDkKCSAgYnV0IGl0IGlzIG5vdCBlbm91Z2ggdG8gc3VwcG9ydCBhbmltYXRlZCBnaWZzLgoKMjAxOC0wOC0wMiAxODoyNDowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpc3JjOiBDb3JyZWN0bHkgZGlzYWJsZSBwcm92aWRlLWNsb2NrCgkgIGAjaWZkZWZgIHdpbGwsIG9mIGNvdXJzZSwgZXZhbHVhdGUgdG8gMSBpbiB0aGlzIGNhc2UuIFdlIHdhbnQgYCNpZmAuCgoyMDE4LTA1LTI3IDE0OjMxOjU1ICswMjAwICBDaHJpc3RvcGggUmVpdGVyIDxyZWl0ZXIuY2hyaXN0b3BoQGdtYWlsLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGlzaW5rOiBmaXggcmVncmVzc2lvbiBpbiBzaGFyZWQgbW9kZSBzZWdtZW50IHNpemUKCSAgSW4gY29tbWl0IGZkODA2NjI4YTggKDgzOWNjMzkyNiBpbiB0aGUgc3RhYmxlIGJyYW5jaCkgSSBjaGFuZ2VkIHRoZQoJICBzZWdtZW50IHNpemUgdG8gbWF0Y2ggZXhhY3RseSB0aGUgYnVmZmVyIHNpemUuICBJIG1pc3NlZCB0aGF0IHRoaXMgaXMKCSAgb25seSB2YWxpZCBpbiBleGNsdXNpdmUgbW9kZSBhbmQgaW4gc2hhcmVkIG1vZGUgdGhlIGJ1ZmZlciBzaXplIGlzCgkgIGEgbXVsdGlwbGUgb2YgdGhlIGRldmljZSBwZXJpb2QuCgkgIFJldmVydCB0aGUgbG9naWMgZm9yIHRoZSBzaGFyZWQgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjM1NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODU4CgoyMDE4LTA3LTI2IDAwOjIwOjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb24ndCBsZWFrIGFsbCBidWZmZXJzIHdoaWxlIGNyb3NzZmFkaW5nIGFuZCBub3QgYWxsIHBhZHMgYXJlIGNyb3NzZmFkaW5nCgoyMDE4LTA3LTIwIDE2OjI1OjAyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSAgY29tcG9zaXRvcjogVXNlIDI1NSBhcyBtYXhpbXVtIGFscGhhIGluc3RlYWQgb2YgMjU2CgkgIDI1NSB3aWxsIGVhc2lseSBiZWNvbWUgMCBpbiB0aGUgYmxlbmRpbmcgZnVuY3Rpb24gYXMgdGhleSBleHBlY3QKCSAgdGhlIG1heGltdW0gdmFsdWUgdG8gYmUgMjU1LgoJICBDYW4gYmUgcmVwcm9kdWNlIHdpdGgKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIHBhdHRlcm49YmFsbCAhIGMuc2lua18wIFwKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49c25vdyAhIGMuc2lua18xIFwKCSAgY29tcG9zaXRvciBuYW1lPWMgXAoJICBzaW5rXzA6OnpvcmRlcj0wIHNpbmtfMTo6em9yZGVyPTEgc2lua18wOjpjcm9zc2ZhZGUtcmF0aW89MC41IFwKCSAgYmFja2dyb3VuZD1ibGFjayAhIFwKCSAgdmlkZW9jb252ZXJ0ICEgeHZpbWFnZXNpbmsKCSAgY3Jvc3NmYWRlLXJhdGlvICsvLSAwLjAwMSBtYWtlcyBpdCB3b3JrIGNvcnJlY3RseSBhbmQgdGhlIHNhbWUgaGFwcGVucwoJICBhdCBlLmcuIDAuMjUsIDAuNzUsIE4qMC4wNjI1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY4NDYKCjIwMTgtMDctMjUgMTM6NDQ6NDggKzAyMDAgIEdhcnkgQmlzc29uIDxnYXJ5LmJpc3NvbkBib3VuZGFyeWRldmljZXMuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IEFkZCBzdXBwb3J0IGZvciBteHNmYi1kcm0gZHJpdmVyCgkgIFRoZSBteHNmYi1kcm0gZHJpdmVyIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBrZXJuZWwgbG9uZyBhZ28gYW5kIHdpbGwgbm93CgkgIGJlIHRoZSBkZWZhdWx0IGRpc3BsYXkgZHJpdmVyIGZvciBOWFAgaS5NWDI4LCBpLk1YNlNYIGFuZCBpLk1YN0QKCSAgcHJvY2Vzc29ycyBzbyBub3cgaXMgYSBnb29kIHRpbWUgdG8gYWRkIGl0IHRvIGttc3NpbmsuCgkgIEFsc28sIHRoaXMgaXMgdXNlZCBpbiB0aGUgdXBjb21pbmcgaS5NWDhNUSBhbmQgaS5NWDhNTSBwcm9jZXNzb3JzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2ODczCgoyMDE4LTA0LTE4IDAzOjQzOjU3IC0wNzAwICBEZXZhcnNoIFRoYWtrYXIgPGRldmFyc2h0QHhpbGlueC5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogQWRkIG5ldyBlbnRyeSBmb3IgWGlsaW54IERSTSBEcml2ZXIKCSAgVGhpcyBhZGRzIGVudHJ5IGZvciBuZXcgRFJNIGRyaXZlciBmcm9tIHhpbGlueAoJICBjYWxsZWQgInhsbngiIHdoaWNoIHN1cHBvcnRzIGF0b21pYyBtb2Rlc2V0dGluZy4KCSAgV2UgaGF2ZSBrZXB0IGVudHJ5IGZvciBvbGRlciBEUk0gZHJpdmVyICJ4aWxpbnhfZHJtIgoJICBmb3IgYmFja3dhcmQgY29tcGF0aWxpdHkgd2l0aCBhIG5vdGUgZGVzY3JpYmluZwoJICBkZXByZWNhdGlvbi4KCSAgU2lnbmVkLW9mZi1ieTogRGV2YXJzaCBUaGFra2FyIDxkZXZhcnNodEB4aWxpbnguY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjI4CgoyMDE4LTAzLTMwIDEzOjQ3OjAwICswMjAwICBQYXVsIEtvY2lhbGtvd3NraSA8cGF1bC5rb2NpYWxrb3dza2lAYm9vdGxpbi5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSBBbGx3aW5uZXIgRFJNIGRyaXZlciAoc3VuNGktZHJtKQoJICBUaGlzIGFkZHMgdGhlIHN1bjRpIERSTSBkcml2ZXIgdG8gdGhlIGxpc3Qgb2YgRFJNIGRyaXZlcnMgaW4ga21zc2luay4KCSAgVGhlIGRyaXZlciBhbGxvd3MgZGlzcGxheWluZyB2aWRlbyBpbiBlaXRoZXIgdGhlIG1haW4gcGxhbmUgb3IgYW4KCSAgb3ZlcmxheSBwbGFuZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvYXR0YWNobWVudC5jZ2k/YnVnaWQ9Nzk0ODM5Cgo9PT0gcmVsZWFzZSAxLjE0LjIgPT09CgoyMDE4LTA3LTIwIDAxOjAwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjE0LjIKCjIwMTgtMDctMjAgMDE6MDA6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2J1ZmZlcnNwbGl0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9sYXRlbmN5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4bWF0cml4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcm1hbmFnZW1lbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGUyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRrYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXBjcGlwZWxpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbmh0dHBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsbWl4ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5oMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXByb3h5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zYmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwZWxlbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltZWNvZGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZ1bGthbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXNhcGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTA3LTA3IDAzOjQwOjQ5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjYmluLmM6CgkgIGZpbmRfY29kZWNfcHJlZmVyZW5jZXM6IHVzZSByZWNlaXZlZCBjYXBzCgkgIFdoZW4gbmVnb3RpYXRpb24gaXMgdHJpZ2dlcmVkIGJ5IHJlY2VpdmluZyBjYXBzIG9uIG91ciBzaW5rIHBhZAoJICBwcm9iZXMsIHdlIGNvdWxkIGVuY291bnRlciBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIG5lZWQtbmVnb3RpYXRpb24KCSAgaXMgZW1pdHRlZCBhbmQgdGhlIGFwcGxpY2F0aW9uIHJlcXVpcmVzIHRoZSBjcmVhdGlvbiBvZiBhbiBvZmZlcgoJICBiZWZvcmUgdGhlIGN1cnJlbnQgY2FwcyB3ZXJlIGFjdHVhbGx5IHVwZGF0ZWQuCgkgIFRoaXMgbGVkIHRvIHJldHJpZXZpbmcgaW5jb21wbGV0ZSBjYXBzIHdoZW4gY3JlYXRpbmcgdGhlIG9mZmVyLAoJICB1c2luZyBmaW5kX2NvZGVjX3ByZWZlcmVuY2VzIC0+IHBhZF9nZXRfY3VycmVudF9jYXBzLgoJICBJbnN0ZWFkLCBhcyB3ZSBzYXZlIHRoZSBjYXBzIGluIHRoZSBwcm9iZSBjYWxsYmFjayBhbnl3YXksIGl0IGlzIGJldHRlcgoJICBhbmQgdGhyZWFkIHNhZmUgdG8gdXNlIHRoZXNlIGlmIHRoZXkgd2VyZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY4MDEKCjIwMTgtMDctMDIgMTk6MDk6MTkgKzA4MDAgIFJvbGFuZCBKb24gPHJsYW5kam9uQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogQXZvaWQgdHJ5aW5nIHRvIGpvaW4gdGhlIHBsYXllciB0aHJlYWQgZnJvbSBpdHNlbGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjczMQoKMjAxOC0wNi0yMCAxMTozODoxNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCB3YXJuaW5nIGFib3V0IEhSRVNVTFQgbm90IGJlaW5nIHVuc2lnbmVkIGludAoKMjAxOC0wNi0xOCAwNzozOToxMCArMDUzMCAgU3VoYXMgTmF5YWsgPHN1aGFzMmdvQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogRmx1c2ggb25seSBpZiB0aGVyZSBhcmUgdW5wcm9jZXNzZWQgc2FtcGxlcwoJICBPdGhlcndpc2Ugd2UgZW5kIHVwIHRyeWluZyB0byBmbHVzaCBiZWZvcmUKCSAgc2FtcGxlIHJhdGUgb2YgU291bmRUb3VjaCBpcyBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjYxMwoKMjAxOC0wNi0xNiAxODoyMzo0MSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IHByZXNlcnZlIHNlZWsgZXZlbnQgc2VxbnVtcwoJICBUaGlzIHdhcyB3cmVha2luZyBoYXZvYyB3aGVuIHVzZWQgd2l0aCBhIGRvd25zdHJlYW0gYXVkaW9taXhlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjYwMwoKMjAxOC0wNi0xNiAxODoyMTo1OCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IGZpeCBsYXRlbmN5IHJlcG9ydGluZwoJICBXaGVuIG1heCBpcyBHU1RfQ0xPQ0tfVElNRV9OT05FIGluIHRoZSBxdWVyeSwgaXQgc2hvdWxkIG5vdAoJICBiZSBzZXQgaW4gdGhlIHF1ZXJ5IGhhbmRsZXIsIHRoaXMgb3RoZXJ3aXNlIGNvdWxkIGxlYWQgdG8KCSAgaW1wb3NzaWJsZSBzaXR1YXRpb25zLCB3aGVyZSB0aGUgbWluaW11bSBsYXRlbmN5IGVuZGVkIHVwCgkgIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjYwMwoKMjAxOC0wNi0xNiAxODoxOTozOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IEZpeCBzaW5nbGUgaW5wdXQgYnVmZmVyIGZvbGxvd2VkIGJ5IEVPUwoJICBUaGUgZmx1c2ggZnVuY3Rpb24gaW1tZWRpYXRlbHkgcmV0dXJuZWQgd2hlbiBwaXRjaC0+bmV4dF9idWZmZXJfb2Zmc2V0CgkgIHdhcyAwLgoJICBUaGlzIGlzIGNsZWFybHkgd3JvbmcsIGFzIG5leHRfYnVmZmVyX29mZnNldCBjYW4gYmUgMCB3aGVuIGEgc2luZ2xlCgkgIGlucHV0IGJ1ZmZlciBoYXMgYmVlbiByZWNlaXZlZCwgYW5kIG5vIG91dHB1dCBidWZmZXIgaGFzIGJlZW4gcHJvZHVjZWQKCSAgYmVmb3JlIHJlY2VpdmluZyBFT1MuCgkgIFNpbXBseSByZW1vdmUgdGhhdCBjb25kaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY2MDMKCjIwMTgtMDYtMTUgMjI6NDg6NDIgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRml4IHN0cmluZyBsZWFrCgkgIGdzdF92aWRlb19jb2xvcmltZXRyeV90b19zdHJpbmcoKSByZXR1cm5zIGFsbG9jYXRlZCBtZW1vcnkgd2hpY2gKCSAgbXVzdCBiZSBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjU5NgoKMjAxOC0wNi0xMSAxMzo0ODowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBsb2cgYW4gRVJST1IgaWYgd2UncmUgZ29pbmcgdG8gcmV0dXJuIGEgZmxvdyBlcnJvcgoKMjAxOC0wNi0wMSAxNzowNzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkgIGR2YjogRml4IHR5cG8gaW4gY29tbWVudCB0ZXJtaW5hdGlvbgoKMjAxOC0wNi0wMSAxNjozMDoxMiArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSAgZHZiOiBjYW1jb25kaXRpb25hbGFjY2VzczogZml4IHdyb25nIGxpY2Vuc2UgaGVhZGVycwoJICBVcGRhdGUgdGhlIGxpY2Vuc2UgYmx1cmIgaW4gY2FtY29uZGl0aW9uYWxhY2Nlc3MuW2hjXSBmcm9tIEdQTCB0byBMR1BMLgoJICBUaGUgcGx1Z2luIGlzIExHUEwgYW5kIHRoZSBHUEwgaGVhZGVyIGluIHRob3NlIHR3byBmaWxlcyB3YXMganVzdCBhCgkgIGNvcHkvcGFzdGUgbWlzdGFrZS4KCjIwMTgtMDctMTQgMjM6MDU6NTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSAgd2VicnRjOiBGaXggbWVtb3J5IGxlYWsKCSAgRml4IGEgbGVha2VkIHN0cmluZyB3aGVuIGJ1aWxkaW5nIFJUWCBpbmZvLgoKMjAxOC0wNy0xNCAyMzowNDozMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicnRjL3RyYW5zcG9ydHNlbmRiaW4uYzoKCSogZXh0L3dlYnJ0Yy90cmFuc3BvcnRzZW5kYmluLmg6CgkgIHdlYnJ0YzogQ2xlYW4gdXAgYW5kIGZpeCB0cmFuc3BvcnRzZW5kYmluCgkgIFJlZmFjdG9yIHRyYW5zcG9ydHNlbmRiaW4sIGFuZCBjaGFuZ2UgdGhlIHdheQoJICBwYWRzIGFyZSBibG9ja2VkIG9uIGR0bHNzcnRwZW5jIHNvIHRoYXQgdGhleQoJICBkb24ndCBpbnRlcmZlcmUgd2l0aCBzdGF0ZSBjaGFuZ2VzLgoJICBBcyB3ZWxsIGFzIGJlaW5nIGVhc2llciB0byByZWFkLCB0aGlzIGZpeGVzCgkgIHNwdXJpb3VzIGZhaWx1cmVzIHNodXR0aW5nIGRvd24gd2VicnRjYmluCgkgIGlmIERUTFMgbmVnb3RpYXRpb24gaGFzbid0IGNvbXBsZXRlZCB5ZXQuCgoyMDE4LTA3LTE0IDIzOjAyOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJydGMvdHJhbnNwb3J0c2VuZGJpbi5jOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL2R0bHN0cmFuc3BvcnQuYzoKCSAgd2VicnRjOiBNb3ZlIGR0bHNzcnRwZW5jIHN0YXRlIG1hbmFnZW1lbnQKCSAgTW92ZSB0aGUgZXJyYW50IHBpZWNlIG9mIGR0bHNzcnRwZW5jIHN0YXRlIGNoYW5nZQoJICBtYW5hZ2VtZW50IGZyb20gZHRsc3RyYW5zcG9ydCBpbiB0aGUgV2VicnRjIGxpYnMsCgkgIGludG8gdGhlIHRyYW5zcG9ydHNlbmRiaW4gdGhhdCBkb2VzIHRoZSByZXN0IG9mCgkgIHRoZSBlbGVtZW50IG1hbmFnZW1lbnQgc28gaXQncyBhbGwgaW4gb25lIHBsYWNlLgoKMjAxOC0wNy0wMiAxOTo1NTo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL2R0bHN0cmFuc3BvcnQuYzoKCSAgd2VicnRjL2R0bHN0cmFuc3BvcnQ6IEFkZCBtb3JlIGRlYnVnLiBSZW5hbWUgY2F0ZWdvcnkKCSAgUmVuYW1lIHRoZSBkdGxzdHJhbnNwb3J0IGRlYnVnIGNhdGVnb3J5IHRvIHdlYnJ0Y2R0bHN0cmFuc3BvcnQuCgoyMDE4LTA2LTI3IDIyOjQyOjEyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJydGMvdHJhbnNwb3J0c2VuZGJpbi5jOgoJICB3ZWJydGM6IENsZWFuIHVwIHBhZCBibG9jayBhbGxvY3Mgb24gZGlzcG9zZS4KCSAgUmVsZWFzZSByZWZlcmVuY2VzIGluIHBhZCBibG9ja3MgYW5kIHJlbGVhc2UgdGhlIG1lbW9yeSBpbiB0aGUKCSAgZGlzcG9zZSBmdW5jdGlvbiB0b28sIGluIGNhc2UgdGhlIHN0YXRlIGNoYW5nZSBkb2Vzbid0IGdldAoJICBydW4gKGJlY2F1c2UgY2FsbGluZyB0aGUgcGFyZW50IHN0YXRlIGNoYW5nZSBmYWlscykuCgoyMDE4LTA2LTMwIDAwOjU2OjI5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJydGMvdHJhbnNwb3J0c2VuZGJpbi5jOgoJICB3ZWJydGM6IE1vdmUgdGhlIHRyYW5zcG9ydHNlbmRiaW4gcGFkIGJsb2NrIHJlbW92YWwKCSAgTW92ZSBmcmVlaW5nIG9mIHRoZSBwYWQgYmxvY2tzIGJhY2sgdG8gYmVmb3JlIHdlIGNhbGwgdGhlCgkgIEdzdEJpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24sIGFzIHRoZXJlJ3Mgc29tZXRoaW5nIHJhY3kKCSAgZ29pbmcgb24gb24gdGhlIGJ1aWxkIHNlcnZlciBvdGhlcndpc2UsIHdoZXJlIHRoZSBwYWRzIGRvbid0CgkgIHVuYmxvY2sgZHVyaW5nIGRvd253YXJkIHN0YXRlIGNoYW5nZXMuCgkgIFRoaXMgaXMgYSBiaXQgb2YgYSBzdGFiIGluIHRoZSBkYXJrLCBzaW5jZSBJIGNhbid0IHJlY3JlYXRlCgkgIHRoZSBidWlsZCBzZXJ2ZXIgZmFpbHVyZSBsb2NhbGx5LgoKMjAxOC0wNi0wNSAxNDoxMToxMyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93ZWJydGMvZHRsc3RyYW5zcG9ydC5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL2ljZXRyYW5zcG9ydC5oOgoJICB3ZWJydGM6IEZpeCB3cm9uZyBwYXJlbnQgY2xhc3NlcyBmb3IgRFRMU1RyYW5zcG9ydCBhbmQgSUNFVHJhbnNwb3J0CgkgIFRob3NlIGFyZSBHT2JqZWN0cyBub3QgR3N0QmlucwoKMjAxOC0wNy0wMSAxMDo0NDo0NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicnRjL2dzdHdlYnJ0Y2Jpbi5jOgoJICB3ZWJydGM6IEV4cGxpY2l0bHkgaW5pdGlhbGlzZSBtdXRleCBhbmQgY29uZGl0aW9uCgkgIEZpeGVzIHJhbmRvbSBjcmFzaGVzIHdoZW4gYW4gYWxsb2NhdGVkIHdlYnJ0Y2JpbiBpc24ndAoJICBnaXZlbiBmcmVzaCAwLWZpbGxlZCBtZW1vcnkgaW4gaXRzIGFsbG9jYXRpb24uIEl0IHdvcmtzCgkgIG1vc3RseSBiZWNhdXNlIEdNdXRleCBhbmQgR0NvbmQgYXJlIGF1dG9tYXRpY2FsbHkgaW5pdGlhbGlzZWQKCSAgaW4gdGhhdCBjYXNlLgoKMjAxOC0wNi0yNyAwMzowNTo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicnRjL3RyYW5zcG9ydHNlbmRiaW4uYzoKCSAgd2VicnRjOiBEb24ndCBkZWFkbG9jayBvbiBibG9jayBwYWRzIG9uIHNodXRkb3duCgkgIFdoZW4gY2hhbmdpbmcgc3RhdGUgZG93bndhcmQsIHdlIGNhbid0IHNldCBwYWRzCgkgIHRvIGluYWN0aXZlIGlmIHRoZXkgYXJlIGJsb2NrZWQsIGl0IHdpbGwgZGVhZGxvY2sKCSAgdHJ5aW5nIHRvIGFjcXVpcmUgdGhlIHN0cmVhbWluZyBsb2NrLgoJICBKdXN0IGNhbGxpbmcgdGhlIHBhcmVudCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgd2lsbCBkbyB0aGUgY29ycmVjdCB0aGluZ3MgdG8gdW5ibG9jayBwcm9iZXMgYW5kCgkgIHNldCB0aGUgcGFkIGluYWN0aXZlLCBzbyBsZXQgaXQgZG8gdGhhdCBhbmQKCSAgcmVtb3ZlIHRoZSBwcm9iZXMgYWZ0ZXIgdGhlIHBhcmVudCBzdGF0ZSBjaGFuZ2UKCSAgZnVuY3Rpb24gaGFzIHJ1bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NjgyCgoyMDE4LTA1LTI5IDEzOjAzOjU0ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjYmluLmM6CgkgIHdlYnJ0Y2JpbjogY29weSBzdGlja3kgZXZlbnRzIG9uIG91ciBnaG9zdHBhZHMKCSAgVGhpcyBsZXRzIHVzZXJzIGNhbGwgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzIG9uIG5ld2x5LWFkZGVkCgkgIHBhZHMgdG8gZWFzaWx5IGRldGVybWluZSB3aGF0IHRvIHBsdWcgdGhlbSBpbnRvLgoJICBXZSBjYW5ub3QgY29weSBzdGlja3kgZXZlbnRzIHVuY29uZGl0aW9uYWxseSBpbiBjb3JlLAoJICBzZWUgIzcxOTQzNwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2Mzg3CgoyMDE4LTA1LTI3IDIwOjM0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSAgd2VicnRjYmluOiBydHBzdG9yYWdlIHRha2VzIGEgNjQtYml0IGludGVnZXIgZm9yICJzaXplLXRpbWUiIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY0MjkKCjIwMTctMTEtMjkgMTc6NTc6NTIgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uaDoKCSogZXh0L3dlYnJ0Yy93ZWJydGN0cmFuc2NlaXZlci5jOgoJKiBleHQvd2VicnRjL3dlYnJ0Y3RyYW5zY2VpdmVyLmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvd2VicnRjX2Z3ZC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93ZWJydGNiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvd2VicnRjL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy93ZWJydGMvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL3dlYnJ0Yy93ZWJydGN0cmFuc2NlaXZlci5jOgoJICB3ZWJydGNiaW46IGltcGxlbWVudCBzdXBwb3J0IGZvciBGRUMgYW5kIFJUWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MDQ0CgoyMDE4LTA2LTA0IDE2OjM1OjQxICswODAwICBMeW9uIFdhbmcgPGx5b24ud2FuZ0BueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBGaXggZHVyYXRpb24tY2hhbmdlZCBDUklUSUNBTCB3YXJuaW5nIGlmIGR1cmF0aW9uIGRpZCBub3QgYWN0dWFsbHkgY2hhbmdlCgkgIENoZWNrIGlmIGR1cmF0aW9uIGlzIGNoYW5nZWQgYmVmb3JlIGVtaXR0aW5nIGR1cmF0aW9uLWNoYW5nZWQgc2lnbmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTY0OTEKCjIwMTgtMDYtMTEgMTg6MzQ6MjQgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydGNzZXNzaW9uZGVzY3JpcHRpb24uYzoKCSAgZ3N0X3dlYnJ0Y19zZXNzaW9uX2Rlc2NyaXB0aW9uX25ldzogZml4IGFubm90YXRpb25zCgoyMDE4LTA2LTE4IDIzOjA2OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBzZXQgaW52YWxpZCBzZXFudW0gb24gc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NjIzCgoyMDE4LTA2LTEyIDExOjE0OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcXVlcnkgZHVyYXRpb24gaWYgcHJvZ3JhbSBpc24ndCBhY3RpdmUKCjIwMTgtMDYtMDYgMDc6NTE6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IFNFR01FTlQgc2VxbnVtIHByb3BhZ2F0aW9uCgkgICogSWYgdGhlIHNlZWsgd2FzIGhhbmRsZWQgdXBzdHJlYW0sIHVzZSB0aGF0IFNFR01FTlQgc2VxbnVtCgkgICogVXNlIHRoZSBwcm9wZXIgaW52YWxpZCBkZWZhdWx0IHZhbHVlCgoyMDE4LTA1LTMxIDE4OjIxOjU4IC0wODAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBkb24ndCBtZXNzIHRoZSBTdGFydENvZGUgb25seSBwYWNrZXRzCgkgIEl0IGlzIGNvbXBsZXRlbHkgbGVnYWwgdG8gaGF2ZSBwYWNrZXRzIHdpdGggemVybyBzaXplcy4KCSAgWmVyby1zaXplZCBwYWNrZXQgaW5kaWNhdGVzIGhlYWRlciB3aXRoIG9ubHkgU3RhcnQgQ29kZS4KCSAgT25lIGVnOiBpcyB1c2VyIGRhdGEgcGFja2V0LiBUaGUgcGF0Y2ggYWxsb3dzIGhhdmluZwoJICBHc3RNcGVnVmlkZW9QYWNrZXQgd2l0aCB6ZXJvIHNpemVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk2NDc3CgoyMDE4LTA1LTI0IDExOjA0OjA4ICswMjAwICBDaHJpc3RvcGggUmVpdGVyIDxyZWl0ZXIuY2hyaXN0b3BoQGdtYWlsLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGlzaW5rOiBmaXggYSByb3VuZGluZyBlcnJvciB3aGVuIGNhbGN1bGF0aW5nIHRoZSBidWZmZXIgZnJhbWUgY291bnQKCSAgVGhlIGNhbGN1bGF0aW9uIGZvciB0aGUgZnJhbWUgY291bnQgaW4gdGhlIG5vbi1hbGlnbmVkIGNhc2UgcmVzdWx0ZWQgaW4KCSAgYSBvbmUgdG9vIGxvdyBidWZmZXIgZnJhbWUgY291bnQuCgkgIFRoaXMgcmVzdWx0ZWQgaW46CgkgIDEpIGV4Y2x1c2l2ZSBtb2RlIG5vdCB3b3JraW5nIGFzIHRoZSBmcmFtZSBjb3VudCBoYXMgdG8gbWF0Y2gKCSAgZXhhY3RseSB0aGVyZS4KCSAgMikgQnVmZmVyIHVuZGVycnVucyBpbiBzaGFyZWQgbW9kZSBhcyB0aGUgY3VycmVudCB3cml0ZSgpIGNvZGUgZG9lc24ndAoJICBoYW5kbGUgY2F0Y2hpbmcgdXAgdG8gbG93IGJ1ZmZlciBsZXZlbHMgKGZpeGVkIGluIHRoZSBuZXh0IGNvbW1pdCkKCSAgVG8gZml4IGp1c3QgdXNlIHRoZSB3YXNhcGkgQVBJIHRvIGdldCB0aGUgYnVmZmVyIHNpemUgd2hpY2ggd2lsbCBhbHdheXMKCSAgYmUgY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjM1NAoKMjAxOC0wNS0yMyAyMToxMDowMCArMDIwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSAgd2FzYXBpc2luazogZml4IG1pc3NpbmcgdW5sb2NrIGluIGNhc2UgSUF1ZGlvQ2xpZW50X1N0YXJ0IGZhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTYzNTQKCjIwMTgtMDUtMjIgMjI6NTg6MjIgKzAyMDAgIENocmlzdG9waCBSZWl0ZXIgPHJlaXRlci5jaHJpc3RvcGhAZ21haWwuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogdXNlIEZBSUxFRCB0byBkZXRlY3QgZXJyb3JzCgkgIFNfRkFMU0UgaXMgYSB2YWxpZCByZXR1cm4gdmFsdWUgd2hpY2ggZG9lcyBub3QgaW5kaWNhdGUgYW4gZXJyb3IuCgkgIEZvciBleGFtcGxlIElBdWRpb0NsaWVudF9TdG9wKCkgcmV0dXJucyBTX0ZBTFNFIHdoZW4gaXQgaXMgYWxyZWFkeSBzdG9wcGVkLgoJICBVc2UgdGhlIEZBSUxFRCBtYWNybyBpbnN0ZWFkIHdoaWNoIGp1c3QgY2hlY2tzIGlmIGFuIGVycm9yIG9jY3VyZWQgb3Igbm90LgoJICBUaGlzIGZpeGVzIHNwdXJpb3VzIHdhcm5pbmdzIHdoZW4gdXNpbmcgdGhlIHdhc2FwaXNpbmsgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjI4MAoKMjAxOC0wNS0yMiAyMjoxMjozNCArMDIwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpOiBEb24ndCBwYXNzIENvVGFza01lbUZyZWUgdG8gZ19jbGVhcl9wb2ludGVyCgkgIENvVGFza01lbUZyZWUgaGFzIGEgZGlmZmVyZW50IGNhbGxpbmcgY29udmVudGlvbiB0aGFuIEdEZXN0cm95Tm90aWZ5CgkgIGFuZCB0aGluZ3MgY3Jhc2ggYXQgbGVhc3Qgd2l0aCBNaW5HVy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NjI4MAoKPT09IHJlbGVhc2UgMS4xNC4xID09PQoKMjAxOC0wNS0xNyAxMzozMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xNC4xCgoyMDE4LTA1LTE3IDEzOjMwOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvYnVmZmVyc3BsaXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2xhdGVuY3kueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhtYXRyaXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9ybWFuYWdlbWVudC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZTI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZGthYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pcGNwaXBlbGluZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uaHR0cHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2xtaXhlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHJveHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNiYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltZWNvZGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZ1bGthbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXNhcGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTA1LTE3IDEyOjM3OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vaHIucG86CgkgIFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTgtMDUtMTAgMjM6MDg6MTAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2V1bmdoYS55YW5nQG5hdmVyY29ycC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFN1cHBvcnQgcGVyaW9kIGNoYW5nZSBpbiBsaXZlIHBsYXlsaXN0CgkgIFJlZ2FyZGxlc3Mgb2YgTElWRSBvciBWT0QsICJhIG1hbmlmZXN0IGhhcyBuZXh0IHBlcmlvZCBidXQKCSAgY3VycmVudGx5IEVPU2VkIiBzdGF0ZSBpcyBtZWFuaW5nIHRoYXQgaXQncyB0aW1lIHRvIGFkdmFuY2UgcGVyaW9kLgoJICBQcmV2aW91cyBiZWhhdmlvciBvZiBhZHBhdGl2ZWRlbXV4LCBob3dldmVyLCB3YXMgYWJsZSB0byBwZXJpb2QKCSAgYWR2YW5jaW5nIG9ubHkgZm9yIFZPRCBjYXNlLCBzaW5jZSB0aGUgYWRhcHRpdmVkZW11eCB0cmllZCB0bwoJICB1cGRhdGUgYW5kIHdhaXQgbmV3IG1hbmlmZXN0IHdpdGhvdXQgcmVzcGVjdGluZyBleGlzdGVuY2Ugb2YgdGhlIG5leHQgcGVyaW9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMTgzCgoyMDE4LTA1LTExIDE1OjQ5OjA1ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNldW5naGEueWFuZ0BuYXZlcmNvcnAuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHN5bmMgb2YgdXBkYXRlZCBtYW5pZmVzdCBmcm9tIHByZXZpb3VzIG9uZQoJICBfZ2V0X25leHRfZnJhZ21lbnRfdGltZXN0YW1wKCkgcmV0dXJucyByZWxhdGl2ZSB0aW1lc3RhbXAgdG8gcGVyaW9kIHN0YXJ0LgoJICBCdXQgZ3N0X21wZF9jbGllbnRfc3RyZWFtX3NlZWsoKSB1c2VzIGFic29sdXRlIE1QRCB0aW1lbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTE4MwoKMjAxOC0wNS0xMSAyMDo1NDozNSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cDogQWRkICJyb2MiIGNhcHMgZmllbGQgdG8gdGhlIGdzdC1sYXVuY2ggZXhhbXBsZQoJICBUaGUgY3VycnJlbnQgZXhhbXBsZSB3YXMgYnJva2VuIHNpbmNlIDEuOC4zIGl0IHNlZW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MzA0CgoyMDE1LTAzLTE2IDE2OjIwOjQ0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaWdub3JlIHNwYXJzZSBzdHJlYW0gd2hlbiBjaGVja2luZyBmb3IgaW5pdGlhbCB0aW1lc3RhbXAKCSAgVW5sZXNzIHdlIG9ubHkgaGF2ZSBzcGFyc2Ugc3RyZWFtcy4gSW4gdGhpcyBjYXNlIHdlIHdpbGwgY29uc2lkZXIgdGhlbS4KCSAgSXQgZml4ZXMgYSBidWcgaGFwcGVuaW5nIHdoZW4gZmlyc3Qgb2JzZXJ2ZWQgdGltZXN0YW1wIGNvbWVzIGZyb20gYQoJICBzcGFyc2Ugc3RyZWFtIGFuZCBvdGhlciBzdHJlYW1zIGRvbid0IGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAsIHlldC4gVGh1cwoJICBsZWFkaW5nIHRoZSB0aW1lc3RhbXAgZnJvbSBzcGFyc2Ugc3RyZWFtIHRvIGJlIHRoZSBzdGFydCBvZiB0aGUKCSAgZm9sbG93aW5nIHNlZ21lbnQuIEluIHRoaXMgY2FzZSwgaWYgdGhlIHRpbWVzdGFtcCBpcyByZWFsbHkgYmlnZ2VyIHRoYW4KCSAgbm9uLXNwYXJzZSBzdHJlYW0gKGF1ZGlvL3ZpZGVvKSwgaXQgd2lsbCBsZWFkIHRoZSBwaXBlbGluZSB0byBjbGlwCgkgIHNhbXBsZXMgZnJvbSB0aGUgbm9uLXBhcnNlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDQ2OQoKMjAxOC0wNC0yOCAwMToxNTo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZkZWMvZ3N0bnZkZWMuYzoKCSAgbnZkZWM6IEFkZCBjb2xvcmltZXRyeSBpbmZvIHRvIHRoZSBjYXBzCgkgIE91dHB1dCBhbnkgY29sb3JpbWV0cnkgaW5mb3JtYXRpb24gZXh0cmFjdGVkIGZyb20gdGhlIHN0cmVhbQoJICBpbnRvIHRoZSBjYXBzLgoKMjAxOC0wNC0yNyAxNDo0MToxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZkZWMvZ3N0bnZkZWMuYzoKCSAgbnZkZWM6IFVzZSBnc3RfdmlkZW9faW5mb190b19jYXBzIHRvIGJ1aWxkIGNhcHMuCgkgIERvbid0IGJ1aWxkIGNhcHMgZGlyZWN0bHksIGFzIHRoYXQgd29uJ3QgYWRkIGFueSBHc3RWaWRlb0luZm8KCSAgbmV3ZXIgZmllbGRzIChzdWNoIGFzIGNvbG9yaW1ldHJ5KSBhdXRvbWF0aWNhbGx5LgoKMjAxOC0wNS0wNSAxNDozMjo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kc2luazogT25seSBidWlsZCBpZiBndGstMy4wIHdhcyBidWlsdCB3aXRoIHdheWxhbmQgdGFyZ2V0CgkgIENoZWNrIGluIGNvbmZpZ3VyZSBpZiB0aGUgZ3RrLTMuMCBoYXMgd2F5bGFuZCBzdXBwb3J0LCBhbmQgZG9uJ3QKCSAgYnVpbGQgdGhlIHdheWxhbmRzaW5rIGV4YW1wbGUgaWYgaXQgZG9lc24ndC4KCjIwMTgtMDQtMjUgMTU6MDU6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRml4IGRlY2lkZV9hbGxvY2F0aW9uIHRvIHN1cHBvcnQgTlVMTCBwb29sCgkgIFdlIHdlcmUgYXNzdW1pbmcgdGhhdCBOVUxMIHBvb2wgbWVhbnQgdGhhdCBkb3duc3RyZWFtIGRpZG4ndCByZXBseS4KCSAgVXBkYXRlIHRoZSBwb29sIGluZGV4IDAgaW5zdGVhZCBvZiBhZGRpbmcgYXQgdGhlIGVuZC4gT3RoZXJ3aXNlIHdlIGVuZGVkCgkgIHVwIGxldHRpbmcgYmFzZXNyYyBkZWNpZGUsIHdoaWNoIHdvdWxkIHBpY2sgdGhlIGJsb2Nrc2l6ZSBhcyBhIHNpemUKCSAgKDQwOTYpIGluc3RlYWQgb2YgdGhlIGltYWdlIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTUzMjcKCjIwMTgtMDQtMjUgMTM6MzY6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IEZpeCBzdXBwb3J0IGZvciBhcHBsZXZuY3NlcnZlcgoJICBUaGlzIHNlcnZlciB1c2VzIGFuIHVua25vd24gMDAzLjg4OSBwcm90b2NvbCB2ZXJzaW9uLiBUaGlzIHBhdGNoIGZpeGVzCgkgIHRoZSB2ZXJzaW9uIHZhbGlkYXRpb24gaW4gb3JkZXIgdG8gc2ltcGx5IGZhbGxiYWNrIHRvIDMuMyBhcyBzdWdnZXN0ZWQKCSAgYnkgdGhlIHNwZWMuCgoyMDE4LTAyLTI3IDEwOjUxOjA3ICswODAwICBKdW4gWGllIDxqdW4ueGllQHNhbXN1bmcuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSAgY3VybGh0dHBzcmM6IGRlYWRsb2NrIGluIG11bHRpLWluc3RhbmNlIHNjZW5hcmlvCgkgIEZpeGVkIHF1ZXVlIGl0ZXJhdG9yIGlzc3VlIGFuZCBzZXQgY29udGV4dCBzdGF0ZSB0bwoJICBHU1RDVVJMX01VTFRJX0xPT1BfU1RBVEVfUlVOTklORyBpbiBjYXNlIG90aGVyCgkgIGluc3RhbmNlIGFyZSBpbiBydW5uaW5nIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzODYzCgoyMDE4LTA0LTE4IDE1OjAzOjE5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICB3YXNhcGlzcmM6IERvbid0IHByb3ZpZGUgYSBjbG9jayBiYXNlZCBvbiBXQVNBUEkncyBjbG9jawoJICBUaGUgY2xvY2sgc2VlbXMgdG8gaGF2ZSBhIGxvdCBvZiBkcmlmdCAob3Igd2UncmUgdXNpbmcgaXQgaW5jb3JyZWN0bHkpCgkgIHdoaWNoIGNhdXNlcyBidWZmZXJzIHRvIGJlIGxhdGUgb24gdGhlIHNpbmsgYW5kIGdldCBkcm9wcGVkLgoJICBEaXNhYmxlIHRpbGwgc29tZW9uZSBjYW4gaW52ZXN0aWdhdGUgd2hldGhlciBvdXIgdXNhZ2Ugb2YgdGhlIEFQSSBpcwoJICBpbmNvcnJlY3QgKGl0IGxvb2tlZCBjb3JyZWN0IHRvIG1lKSBvciBpZiBzb21ldGhpbmcgaXMgd3JvbmcuCgoyMDE4LTA0LTE2IDE0OjM3OjIxIC0wODAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrbWpwZWdkZWMuYzoKCSAgbXNkazoganBlZ2RlYzogRml4IG5vbi1pbnRlcmxlYXZlZCBzYW1wbGUgZGVjb2RlCgkgIFVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlIChJbnRlcmxlYXZlZERlYyA9PSBNRlhfU0NBTlRZUEVfVU5LTk9XTikKCSAgY2F1c2luZyBpc3N1ZXMgd2l0aCBub24taW50ZXJsZWF2ZWQgc2FtcGxlIGRlY29kZS4gSWRlYWxseSB0aGUgdXNhZ2UKCSAgb2YgTUZYVmlkZW9ERUNPREVfRGVjb2RlSGVhZGVyIHNob3VsZCBmaXggdGhlc2UgdHlwZSBvZiBpc3N1ZSwgYnV0CgkgIGl0IHNlZW1zIHRvIGJlIG5vdC4gQnV0IGhhcmRjb2RpbmcgdGhlIEludGVybGVhdmVEZWMgdG8KCSAgTUZYX1NDQU5UWVBFX05PTklOVEVSTEVBVkVECgkgIGlzIGZpeGluZyB0aGUgcHJvYmxlbSBhbmQgZm9ydHVuYXRlbHkgbXNkayBzZWVtcyB0byBiZSB0YWtpbmcgY2FyZSBvZgoJICBJbnRlcmxlYXZlZCBzYW1wbGVzCgkgIHRvbyAuU28gbGV0J3MgaGFyZGNvZGUgaXQgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzc4NwoKMjAxOC0wNC0xNiAxNDowMDozOSAtMDgwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IEFQUDEgbWFya2VyIHNlZ21lbnQgcGFyc2luZwoJICBSZXBvc2l0aW9uIHRoZSBieXRlcmVhZGVyIGZvciBwcm9wZXIgc2tpcHBpbmcgb2YKCSAgQVBQMSBtYXJrZXIgc2VnbWVudCBpZiBpdCBpcyBub3QgRXhpZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTExNwoKMjAxOC0wNC0xNiAxODoxNzozNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGk6IEFsc28gY2FsbCBDb0luaXRpYWxpemUgaW4gcHJlcGFyZSgpCgoyMDE4LTA0LTE2IDEwOjQ0OjEwICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRjc2Vzc2lvbmRlc2NyaXB0aW9uLmg6CgkgIHdlYnJ0YzogZml4IGd0ay1kb2MgYW5ub3RhdGlvbnMKCjIwMTYtMTItMjcgMTE6MTQ6MDAgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgIHJlc2luZHZkLCB1dmNoMjY0c3JjLCBkeDlzY3JlZW5jYXBzcmM6IGZpeCBjbG9jayByZWYgbGVha3MgaW4gZXJyb3IgcGF0aHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjM3NgoKMjAxNi0xMi0yNyAxMzo0NTo0OSArMDUzMCAgR2FyaW1hIEdhdXIgPGdhcmltYS5nQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBhdmR0cHNyYzogZml4IGNhcHMgbGVhayBpbiBlcnJvciBjb2RlIHBhdGhzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYwODUKCjIwMTgtMDQtMTAgMTA6MjA6NTIgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RmYWtldmlkZW9zaW5rLmM6CgkgIGZha2V2aWRlb3Npbms6IGV4cGxpY2l0IHR5cGUgY2FzdCBmb3IgbWF4LWxhdGVuZXNzIHByb3BlcnR5IHNldHRlcgoJICBnX29iamVjdF9zZXQoKSBleHBlY3RzIHRoZSBwYXJhbWV0ZXJzIHZhbHVlcyB0byBiZSB0aGUgZXhhY3QgdHlwZSBvZiB0aGUKCSAgcHJvcGVydHkgYmVpbmcgc2V0LgoKMjAxOC0wNC0wNiAyMzoyMjozOSArMDkwMCAgU2V1bmdoYSBZYW5nIDxwdWRkaW5nODc1N0BnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IE1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nIHRoZW0KCSAgRml4IGZvbGxvd2luZyBhc3NlcnRpb24gZmFpbHVyZQoJICBHU3RyZWFtZXItQ1JJVElDQUwgKio6IGdzdF9zdHJ1Y3R1cmVfcmVtb3ZlX2ZpZWxkOiBhc3NlcnRpb24gJ0lTX01VVEFCTEUgKHN0cnVjdHVyZSknIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MDMyCgoyMDE4LTA0LTEwIDA1OjEzOjE3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpOiBIYW5kbGUgcmV0dXJuIHZhbHVlIG9mIFdhaXRGb3JTaW5nbGVPYmplY3QKCSAgVGhlIHdhaXQgY291bGQndmUgZmFpbGVkIGZvciB3aGF0ZXZlciByZWFzb24sIHdlIHNob3VsZCBoYW5kbGUgdGhhdC4KCjIwMTgtMDQtMTAgMDU6MDk6NDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSAgd2FzYXBpOiBDYWxsIF9TdGFydCBpZiB0aGUgY2xpZW50IHdhcyBfUmVzZXQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgd2FpdCBmb3JldmVyIGluIFdhaXRGb3JTaW5nbGVPYmplY3QgYmVjYXVzZSB3ZSBmb3Jnb3QKCSAgdG8gc3RhcnQgdGhlIGNsaWVudCBhZ2FpbiBhZnRlciBfU3RvcCBpcyBjYWxsZWQgaW4gcmVzZXQoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTExNAoKMjAxOC0wNC0wOSAxNzo1NDowNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RmYWtldmlkZW9zaW5rLmM6CgkgIGZha2V2aWRlb3Npbms6IHJlcXVlc3QgYW4gZXh0cmEgYnVmZmVyIGlmIGVuYWJsZS1sYXN0LXNhbXBsZSBpcyBlbmFibGVkCgkgIElmIHRoZSAnZW5hYmxlLWxhc3Qtc2FtcGxlJyBwcm9wZXJ0eSBpcyBlbmFibGVkLCBmYWtldmlkZW9zaW5rIHdpbGwga2VlcAoJICBhIHJlZmVyZW5jZSBvbiBsYXN0IHJlbmRlcmVkIGJ1ZmZlciB3aGljaCBtYXkgbGVhZCB0byBidWZmZXIgc3RhcnZhdGlvbgoJICBpbiB0aGUgcGlwZWxpbmUuCgkgIFJlcXVlc3Qgb25lIGV4dHJhIGJ1ZmZlciBpbiB0aGlzIGNhc2Ugc28gd2UgYWx3YXlzIGhhdmUgYSBidWZmZXIgZmx5aW5nCgkgIGluIHRoZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTEwOQoKMjAxOC0wNC0wOSAxNzoxNjozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgIHdhc2FwaTogRG9uJ3Qgb3BlbiB0aGUgZGV2aWNlIGluIGdldF9jYXBzKCkKCSAgV2UgY2FuIGp1c3QgcmV0dXJuIHRoZSB0ZW1wbGF0ZSBjYXBzIHRpbGwgdGhlIGRldmljZSBpcyBvcGVuZWQgd2hlbgoJICBnb2luZyBmcm9tIFJFQURZIC0+IFBBVVNFRC4gVGhpcyBmaXhlcyBhIENSSVRJQ0FMIHdoZW4gY2FsbGluZwoJICBFTEVNRU5UX0VSUk9SIGJlZm9yZSB0aGUgcmluZ2J1ZmZlciBpcyBhbGxvY2F0ZWQuCgkgIEFsc28gZml4ZXMgYSBjb3VwbGUgb2YgbGVha3MgaW4gZXJyb3IgY29uZGl0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDYxMQoKMjAxOC0wNC0wNiAyMzowMTozNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkgIHdhc2FwaTogT25seSB1c2UgYXVkaW9jbGllbnQzIHdoZW4gbG93LWxhdGVuY3kKCSAgQ2F1c2VzIGdsaXRjaGVzIG9uIHZlcnkgc2xvdyBDUFUgbWFjaGluZXMgb3IgVk1zLCBhbmQgb3VyCgkgIG91dC1vZi10aGUtYm94IGV4cGVyaWVuY2Ugc2hvdWxkIGJlIGdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ0OTcKCjIwMTgtMDMtMjEgMTQ6NTM6MjcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGk6IERvbid0IGRlcml2ZSBkZXZpY2UgcGVyaW9kIGZyb20gbGF0ZW5jeSB0aW1lCgkgIFRoaXMgc2VlbXMgdG8gY2F1c2UgZ2xpdGNoZXMgb24gZGV2aWNlcyB3aXRoIGxvdyBDUFUgYXZhaWxhYmlsaXR5LAoJICBzdWNoIGFzIHZpcnR1YWwgbWFjaGluZXMuIE1heWJlIGV2ZW4gYWN0dWFsIG1hY2hpbmVzIHVuZGVyIGhpZ2ggbG9hZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDQ5NwoKMjAxOC0wNC0wNCAxNzozMDoyMSAtMDgwMCAgVS4gQXJ0aWUgRW9mZiA8dWxseXNzZXMuYS5lb2ZmQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0LmM6CgkqIHN5cy9tc2RrL21zZGsuYzoKCSogc3lzL21zZGsvbXNkay5oOgoJICBtc2RrOiBmaXggcGx1Z2luIGxvYWQgb24gaW1wbGVtZW50YXRpb25zIHdpdGggb25seSBIVyBzdXBwb3J0CgkgIFdlIGNhbid0IGFzc3VtZSB0aGF0IE1TREsgYWx3YXlzIHN1cHBvcnRzIFNXIGltcGxlbWVudGF0aW9uCgkgIG9uIGFsbCBwbGF0Zm9ybXMuICBUaHVzLCBtc2RrX2lzX2F2YWlsYWJsZSBzaG91bGQgY2hlY2sgZm9yCgkgIEFOWSBpbXBsZW1lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDk5MQoKMjAxOC0wNC0wNCAxODozMjoxOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogU3F1ZWxjaCB3YXJuaW5nIGFib3V0ICV4IGFuZCBIUkVTVUxUCgkgIEhSRVNVTFQgaXMgYWx3YXlzIGEgMzItYml0IHZhbHVlLCBhcyBpcyBndWludC4KCjIwMTgtMDQtMDMgMjM6NTQ6NDEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2xhdGVuY3kvZ3N0YXVkaW9sYXRlbmN5LmM6CgkgIGF1ZGlvbGF0ZW5jeTogRml4IHdhdmUgZGV0ZWN0aW9uIGluIGJ1ZmZlcnMKCSAgLTEvMTAwMCBpcyAwLCBzbyB3ZSB3ZXJlICphbHdheXMqIGRldGVjdGluZyBhIGJ1ZmZlci4KCjIwMTgtMDQtMDMgMjM6NTM6MjQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2xhdGVuY3kvZ3N0YXVkaW9sYXRlbmN5LmM6CgkgIGF1ZGlvbGF0ZW5jeTogQXZvaWQgYm9ndXMgcHRzIHZhbHVlcyB3aGlsZSBzdGFydGluZwoKMjAxOC0wMy0zMSAxMDo0MTozMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IEZpeCBNaW5HVyB3YXJuaW5ncyBkdWUgdG8gTVNWQy1zcGVjaWZpYyBwcmFnbWFzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ2NTIjYzcKCjIwMTgtMDMtMjkgMTM6MDY6NDEgLTA4MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY0ZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGttanBlZ2RlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrbXBlZzJkZWMuYzoKCSAgbXNkazogZGVjOiByZW1vdmUgZnJhbWVyYXRlIGZpZWxkIGZyb20gc2luayBjYXBzIHRlbXBsYXRlCgkgIFJlbW92ZXMgdW5lc3NlbnRpYWwgZmllbGQgZnJhbWVyYXRlIGZvciBkZWNvZGVyIHNvIHRoYXQgbmVnb3RpYXRpb24KCSAgd29ya3MgZXZlbiBpZiBmcmFtZXJhdGUgaXMgbm90IHByb3ZpZGVkIGZyb20gdXBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODk3NTIKCjIwMTgtMDMtMjkgMTI6NDE6NDggLTA4MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkgIG1zZGs6IGRlYzogc2V0IGZyYW1lcmF0ZSB0byB0aGUgZHJpdmVyIG9ubHkgaWYgcHJvdmlkZWQKCSAgRm9yIGV4YW1wbGUsIGlmIGZyYW1lcmF0ZSAwLzEgaXMgcHJvdmlkZWQgZnJvbSB1cHN0cmVhbSwgdGhlIGRyaXZlcgoJICBmYWlscyB0byBjb25maWd1cmUgYW5kIGNvbXBsYWluIGFib3V0IGl0LgoJICBXZSBjYW4gbGV0IGl0IGdvIGFuZCBtYWtlIHRoZSBkcml2ZXIgYXNzdW1pbmcgZnJhbWVyYXRlIGl0c2VsZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTc1MgoKMjAxOC0wMy0yOSAxMjo0MDozNCAtMDgwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY1ZGVjLmM6CgkgIG1zZGs6IGgyNjVkZWM6IHJlbW92ZSBmcmFtZXJhdGUgZmllbGQgZnJvbSBzaW5rIGNhcHMgdGVtcGxhdGUKCSAgUmVtb3ZlcyB1bmVzc2VudGlhbCBmaWVsZCBmcmFtZXJhdGUgZm9yIGRlY29kZXIgc28gdGhhdCBuZWdvdGlhdGlvbgoJICB3b3JrcyBldmVuIGlmIGZyYW1lcmF0ZSBpcyBub3QgcHJvdmlkZWQgZnJvbSB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTc1MgoKMjAxOC0wMy0yOSAxMTo1NjoxOSAtMDgwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmg6CgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY0ZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY1ZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGttcGVnMmVuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrdnA4ZW5jLmM6CgkgIG1zZGs6IERvbid0IHNldCBleHRlbmRlZCBjb2Rpbmcgb3B0aW9ucyBmb3IgSlBFRyBlbmNvZGUKCSAgTUpQRUcgZG9lc24ndCBoYXZlIHN1cHBvcnQgZm9yIGV4dGVuZGVkIGNvZGluZyBvcHRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM4NzMKCjIwMTgtMDMtMjcgMTc6MzY6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICBkb2NzOiBwbHVnaW5zOiByZW1vdmUgc3RhbGUgeG1sIGRhdGEgZm9yIG1vdmVkIG9yIHJlbmFtZWQgcGx1Z2lucwoJICByYXdwYXJzZSBwbHVnaW4gbW92ZWQgdG8gLWJhc2UsIG9ubHkgbGVnYWN5cmF3cGFyc2UgcmVtYWlucy4KCSAgc2lyZW4gcGx1Z2luIHdhcyByZW5hbWVkIGFuZCB3YXMgbGlzdGVkIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MDY5CgoyMDE4LTAzLTI3IDE2OjUxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBmaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIGluaXQvcmVzZXQKCSAgV2hlbiBzdGFydGluZyB1cCB3ZSBuZWVkIHRvIGluaXRpYWxpc2UgdGhpbmdzICpiZWZvcmUqCgkgIHN0cmVhbWluZyBzdGFydHMsIHNvIGJlZm9yZSB3ZSBjaGFpbiB1cCB0byB0aGUgcGFyZW50CgkgIGNsYXNzIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uIEFuZCB3aGVuIHdlIHNodXQKCSAgZG93biB0aGUgZWxlbWVudCwgd2UgbmVlZCB0byByZXNldCB0aGluZ3MgYWZ0ZXIgc3RyZWFtaW5nCgkgIGhhcyBzdG9wcGVkLCBzbyBhZnRlciB3ZSBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzCgkgIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQzNTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI5MAoKMjAxOC0wMy0yNyAxNDoyNToyNCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xhZHNwYS9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIG9wdGlvbmFsIGxyZGYgZGVwIHRvIGxhZHNwYSBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MzUwCgoyMDE4LTAzLTI3IDEyOjQ3OjEzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogVXNlIGdfdGhyZWFkX25ldyBpbnN0ZWFkIG9mIGdfdGhyZWFkX2NyZWF0ZQoJICBJdCdzIGRlcHJlY2F0ZWQsIGFuZCBjYXVzZXMgYSBidWlsZCBmYWlsdXJlIGluIENlcmJlcm8gYmVjYXVzZSB3ZSBwYXNzCgkgIC1ER19ESVNBQkxFX0RFUFJFQ0FURUQuCgoyMDE4LTAzLTI3IDEyOjI0OjMwICswOTAwICBUYWtlc2hpIFNhdG8gPHQtc2F0b0BieC5qcC5uZWMuY28uanA+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogZml4IGluaXRpYWxpemF0aW9uIGZhaWxzIGluIHdpbmRvd3MgYmluYXJ5CgkgIFRoZXJlIGlzIG5vIGxvZyBvZiBnc3RfZGVja2xpbmtfY29tX3RocmVhZCAoKSB3aGljaCBpbml0aWFsaXplcyBDT00uCgkgIFRoZSBpbml0aWFsaXphdGlvbiBwYXJ0IGlzIG5vdCB2YWxpZCB3aXRoICNpZmRlZiBNU0NfVkVSLgoJICBXaW5kb3dzIGJpbmFyaWVzIGFyZSBidWlsdCB3aXRoIGdjYy4KCSAgQXMgd2l0aCBvdGhlciBjb2RlcywgaXQgd2FzIGF2b2lkYWJsZSBieSBzZXR0aW5nIGl0IHRvIEdfT1NfV0lOMzIKCSAgaW5zdGVhZCBvZiBNU0NfVkVSLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0NjUyCgoyMDE4LTAzLTI1IDE4OjA4OjU4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBQcmludCB0aGUgaHJlc3VsdCBoZXggdmFsdWUgb24gZXJyb3IKCSAgVGhpcyBoZWxwcyBmaWd1cmUgb3V0IHByZWNpc2VseSB3aGF0IGVycm9yIGVudW0gdmFsdWUgd2FzIHJldHVybmVkLAoJICB3aGljaCBjYW4gYmUgbmVjZXNzYXJ5IHdoZW4gdGhlIGRlc2NyaXB0aW9uIGlzIHRvbyBnZW5lcmljCgoyMDE4LTAzLTIzIDA5OjE1OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IEZpeCBjcml0aWNhbCBkdXJpbmcgcGx1Z2luIGxvYWQgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0NjExCgoyMDE4LTAzLTI1IDEyOjUzOjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogUmVuYW1lIGdzdGdsdXRpbHMuaCBmdW5jdGlvbnMgdG8gcHJldmVudCBzeW1ib2wgY29uZmxpY3RzIHdpdGggc3RhdGljIGxpbmtpbmcKCSAgVGhlIGdsIHBsdWdpbiBpbiAtYmFzZSBoYXMgdGhlIHNhbWUgZnVuY3Rpb24uCgoyMDE4LTAzLTI1IDEyOjUyOjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkgIG9wdXM6IFJlbmFtZSBvcHVzaGVhZGVyIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHN5bWJvbCBjb25mbGljdHMgd2l0aCBzdGF0aWMgbGlua2luZwoJICBUaGUgb3B1cyBwbHVnaW4gaW4gLWJhc2UgaGFzIHRoZSBzYW1lIGZ1bmN0aW9ucy4KCjIwMTgtMDMtMjAgMTY6MTY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogRml4IGNvbXBpbGF0aW9uIHdpdGggbGF0ZXN0IEdMaWIKCSAgZ19vYmplY3RfcmVmKCkgZm9yd2FyZHMgaXRzIGFyZ3VtZW50cyB0eXBlLgoJICBnc3RzaG1zaW5rLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9zaG1fc2lua19hbGxvY2F0b3JfYWxsb2NfbG9ja2Vk4oCZOgoJICAvdXNyL2luY2x1ZGUvZ2xpYi0yLjAvZ29iamVjdC9nb2JqZWN0Lmg6NTEyOjMyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGdzdF9tZW1vcnlfaW5pdOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCgkgICNkZWZpbmUgZ19vYmplY3RfcmVmKE9iaikgICAgICAoKF9fdHlwZW9mX18oT2JqKSkgKGdfb2JqZWN0X3JlZikgKE9iaikpCgkgIF4KCSAgZ3N0c2htc2luay5jOjI5Mjo0NTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGdfb2JqZWN0X3JlZuKAmQoJICBnc3RfbWVtb3J5X2luaXQgKG1lbW9yeSwgcGFyYW1zLT5mbGFncywgZ19vYmplY3RfcmVmIChzZWxmKSwgTlVMTCwKCSAgXn5+fn5+fn5+fn5+CgoyMDE4LTAzLTA1IDE3OjQzOjI2ICswMTAwICBQYXRyaWsgTmlsc3NvbiA8YXNhdmFydHpldGhAZ21haWwuY29tPgoKCSogZXh0L2xhZHNwYS9tZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBsYWRzcGEgZGVwZW5kZW5jaWVzCgkgIFRoZXJlIGFyZSB0d28gaXNzdWVzLCBib3RoIHJlbGF0ZWQgdG8gZGVwZW5kZW5jeSBjaGVja2luZyB3aXRoIHRoZSBtZXNvbgoJICBzdXBwb3J0IGZvciB0aGUgbGFkc3BhIHBsdWdpbi4KCSAgV2l0aCBhdXRvdG9vbHMsIGxyZGYgaXMgaGFuZGxlZCBsaWtlIGFuIG9wdGlvbmFsIGRlcGVuZGVuY3kuIEJ1dCB3aXRoCgkgIG1lc29uIGl0IGlzIHJlcXVpcmVkLiBUaGlzIG1ha2VzIHRoZSBtZXNvbiBzdXBwb3J0IGxlc3MgZmxleGlibGUgYW5kCgkgIGluY29uc2lzdGVudCB3aXRoIGF1dG90b29scy4KCSAgV2hlbiBhdXRvdG9vbHMgaXMgdXNlZCBpdCBwcm9wZXJseSBjaGVja3MgaWYgbGFkc3BhLmggaXMgYXZhaWxhYmxlLgoJICBCdXQgd2l0aCBtZXNvbiBpdCBkb2VzIG5vdCwgaW5zdGVhZCBpdCB0cmVhdHMgbHJkZiBhcyB0aGUgbWFpbgoJICBkZXBlbmRlbmN5LiBUaGlzIGNvdWxkIGNhdXNlIGEgYnVpbGQgZmFpbHVyZSBpZiBscmRmIGlzIGluc3RhbGxlZCwgYnV0CgkgIHRoZSBsYWRzcGEgc2RrIGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDM1MAoKMjAxOC0wMy0yMSAxMDo1OToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IERvbid0IHVzZSBHU1RfREVCVUdfT0JKRUNUKCkgd2l0aCBub24tR09iamVjdCB0eXBlcwoKMjAxOC0wMy0yMyAxMzo0MjowNSArMDAwMCAgSmFtZXMgU3RldmVuc29uIDxqYW1lc0BzdGV2Lm9yZz4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NTogRml4IHRhZ2dpbmcgb2Yga2V5ZnJhbWVzIG9uIG91dHB1dCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQ2MjAKCjIwMTgtMDMtMjIgMTM6NDM6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3dlYnJ0Y19ta2VudW0ucHk6CgkgIHdlYnJ0YzogdXNlIHJpZ2h0IGV4cG9ydCBkZWZpbmUgaW4gZ2VuZXJhdGVkIGVudW10eXBlcyBmaWxlCgoyMDE4LTAzLTIyIDEzOjQyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9NYWtlZmlsZS5hbToKCSAgd2VicnRjOiBmaXggZy1pci1zY2FubmVyIGNvbXBsYWluaW5nIGFib3V0IHVuc3RhYmxlIEFQSQoKMjAxOC0wMy0yMSAxMzo0MjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IEV4cGxpY2l0bHkgcmVzZW5kIFBBVC9TSS9QTVQgb24gZm9yY2Uta2V5dW5pdCBldmVudHMKCSAgQW5kIGRvbid0IHJhbmRvbWx5IGNoYW5nZSB0aGUgUENSIHN0cmVhbSwgd2hpY2ggd291bGQgY2F1c2UgYSBuZXcgUE1UCgkgIHZlcnNpb24gdG8gYmUgZ2VuZXJhdGVkIGluc3RlYWQgYW5kIGNvdWxkIGNvbmZ1c2UgcGxheWVycy4KCjIwMTgtMDMtMjEgMTM6MzQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IERldGVybWluaXN0aWNhbGx5IHNldCB0aGUgUENSIHN0cmVhbSB0byB0aGUgZmlyc3Qgc3RyZWFtIG9mIHRoZSBwcm9ncmFtCgkgIE90aGVyd2lzZSBpdCB3b3VsZCBiZSByYW5kb21seSBzZXQgdG8gdGhlIGZpcnN0IHN0cmVhbSBvZiB0aGUgcHJvZ3JhbQoJICB0aGF0IHJlY2VpdmVzIGEgYnVmZmVyLgoKMjAxOC0wMy0yMSAxMTowNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVzZXQgYSBmZXcgbW9yZSBmaWVsZHMgaW4gbXBlZ3RzbXV4X3Jlc2V0KCkgdG8gdGhlaXIgb3JpZ2luYWwgdmFsdWVzCgoyMDE4LTAzLTIwIDExOjQ5OjE5IC0wNzAwICBCcmVuZGFuIFNoYW5rcyA8YnJlbmRhbi5zaGFua3NAdGVyYWRlay5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlc2V0IGludGVybmFsICdzdGF0ZScgdmFyaWFibGUgcHJvcGVybHkKCSAgUmVzZXQgdGhlIGludGVybmFsICdzdGF0ZScgdmFyaWFibGUgd2hlbiB0aGUgcGFyc2VyIGlzIHN0YXJ0ZWQsIGZpeGVzCgkgIGVycm9ycyB3aGVuIHBhcnNlciBpcyBiZWluZyByZS11c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0NTM3Cgo9PT0gcmVsZWFzZSAxLjE0LjAgPT09CgoyMDE4LTAzLTE5IDIwOjI0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjE0LjAKCjIwMTgtMDMtMTkgMjA6MjQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9idWZmZXJzcGxpdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbGF0ZW5jeS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peG1hdHJpeC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JtYW5hZ2VtZW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlMjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZka2FhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlwY3BpcGVsaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta21zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb25odHRwc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbG1peGVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wcm94eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcGVsZW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1lY29kZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dG1sc3Vicy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnVsa2FuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhc2FwaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgVXBkYXRlIGRvY3MKCjIwMTgtMDMtMTggMTQ6MTE6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogdHJ5IHRvIHNhdGlzZnkgYm90aCBtaW5ndyBhbmQgbXN2YwoJICBGaXgtdXAgZm9yIHByZXZpb3VzIGNvbW1pdCwgaG9wZWZ1bGx5LgoKMjAxOC0wMy0xOCAwOTo1MDo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IEFkZCBBbWxvZ2ljIHVwc3RyZWFtZXIgRFJNIGRyaXZlciBzdXBwb3J0CgkgIEFtbG9naWMgVXBzdHJlYW0gZHJpdmVyIGlzIG5hbWVkIG1lc29uLCBub3QgdG8gYmUgY29uZnVzZSB3aXRoIHRoZSBidWlsZAoJICBzeXN0ZW0uCgoyMDE4LTAzLTE3IDIzOjUyOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgIHdhc2FwaTogZml4IGluZGVudGF0aW9uCgoyMDE4LTAzLTE3IDIzOjQ4OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IGZpeCB1bnJlc29sdmVkIHN5bWJvbCBsaW5rZXIgZXJyb3Igd2l0aCB2czIwMTcgb24gd2luMTAKCSAgRVJST1I6IHVucmVzb2x2ZWQgZXh0ZXJuYWwgc3ltYm9sIFBLRVlfQXVkaW9FbmdpbmVfRGV2aWNlRm9ybWF0CgkgIEFwcGFyZW50bHkgdGhlIG9yZGVyIG9mIHRoZSBoZWFkZXIgaW5jbHVkZXMgbWF0dGVycywgYW5kIGluaXRndWlkLmgKCSAgbXVzdCBiZSBpbmNsdWRlZCBmaXJzdC4gTGV0J3MgaG9wZSB0aGlzIGRvZXNuJ3QgYnJlYWsgYW55dGhpbmcgb24KCSAgdGhlIG90aGVyIHRvb2xjaGFpbnMuCgkgIGh0dHBzOi8vc29jaWFsLm1zZG4ubWljcm9zb2Z0LmNvbS9Gb3J1bXMvd2luZG93c2Rlc2t0b3AvZW4tVVMvY2VmZjRlMmQtOGY2My00YWI2LWIwOWItZmRhYzY1ZDYyYTgwL3BrZXlhdWRpb2VuZ2luZWRldmljZWZvcm1hdC1saW5rLWVycm9yP2ZvcnVtPXdpbmRvd3Nwcm8tYXVkaW9kZXZlbG9wbWVudAoKMjAxOC0wMy0xNiAxOToyMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93ZWJydGMvTWFrZWZpbGUuYW06CgkgIHdlYnJ0YzogRml4IG1ha2UgZGlzdGNoZWNrIGZvciBnLWkgYnVpbGQKCSAgRVJST1I6IC4uLy4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC93ZWJydGMvd2VicnRjLWVudW10eXBlcy5jOiBubyBzdWNoIGEgZmlsZSBvciBkaXJlY3RvcnkKCjIwMTgtMDMtMTYgMTc6MDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL01ha2VmaWxlLmFtOgoJICB3ZWJydGM6IEluY2x1ZGUgd2VicnRjLWVudW10eXBlcyBpbiB0aGUgZy1pIGJ1aWxkCgoyMDE4LTAzLTE2IDExOjA3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSAgd2VicnRjYmluOiBSZW1vdmUgcGFyYW1ldGVyIGZyb20gZ3N0X3dlYnJ0Y19ydHBfc2VuZGVyX25ldygpCgoyMDE4LTAzLTE1IDE3OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydHBzZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydHBzZW5kZXIuaDoKCSAgd2VicnRjOiBSZW1vdmUgdW51c2VkIHBhcmFtZXRlciBmcm9tIHJ0cHNlbmRlciBjb25zdHJ1Y3RvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MzYzCgoyMDE4LTAzLTE1IDE3OjMxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9kdGxzdHJhbnNwb3J0LmM6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvaWNldHJhbnNwb3J0LmM6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRwcmVjZWl2ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydHByZWNlaXZlci5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3J0cHNlbmRlci5jOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3J0cHNlbmRlci5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3J0cHRyYW5zY2VpdmVyLmg6CgkgIHdlYnJ0YzogQWRkIHNvbWUgbG9ja3MgdG8gc2V0dGVycyBhbmQgcmVtb3ZlIG5vbi1leGlzdGluZyBmdW5jdGlvbnMgZnJvbSBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQzNjMKCjIwMTgtMDMtMTUgMTY6NTg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL2ljZXRyYW5zcG9ydC5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3dlYnJ0Y19md2QuaDoKCSAgd2VicnRjOiBSZW5hbWUgR3N0V2ViUlRDSWNlUm9sZSB0byBHc3RXZWJSVENJQ0VSb2xlIGZvciBjb25zaXN0ZW5jeQoJICBFdmVyeXRoaW5nIGVsc2UgaXMgSUNFLCBub3QgSWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MzYyCgoyMDE4LTAzLTE1IDE2OjQ1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9tZXNvbi5idWlsZDoKCSAgd2VicnRjOiBGaXggZ29iamVjdC1pbnRyb3NwZWN0aW9uIGJ1aWxkIHdpdGggbWVzb24KCjIwMTgtMDMtMTUgMTI6MDQ6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL21lc29uLmJ1aWxkOgoJICB3ZWJydGM6IEFkZCBnb2JqZWN0LWludHJvc3BlY3Rpb24gaW50ZWdyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDM0NwoKMjAxOC0wMy0xNCAxMTo0Mjo0MiArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnQvTWFrZWZpbGUuYW06CgkgIHNydDogQWRkIG1pc3NpbmcgZ3N0c3J0LmggdG8gbm9pbnN0X0hFQURFUlMKCSAgUmVvcmRlciB0aGUgbGlzdCB0byBtYXRjaCB0aGUgU09VUkNFUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDMyMAoKMjAxOC0wMy0xMyAxNDoyMTo0MCAtMDgwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL21zZGtfbGlidmEuYzoKCSAgbXNkazogbGlidmE6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlIGFuZCBjb21tZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0Mjc2CgoyMDE4LTAzLTEzIDE0OjIwOjUwIC0wODAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNkay5jOgoJKiBzeXMvbXNkay9tc2RrLmM6CgkgIG1zZGs6IGFkZHMgbmV3IGRlYnVnIGNhdGVnb3J5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNzYKCjIwMTgtMDMtMTMgMTQ6MTg6MjMgLTA4MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2Rrc3lzdGVtbWVtb3J5LmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2aWRlb21lbW9yeS5jOgoJICBtc2RrOiBmaXggdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0Mjc2CgoyMDE4LTAzLTEzIDEzOjU0OjE3IC0wODAwICBXYW5nLEZlaSA8ZmVpLncud2FuZ0BpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrdmlkZW9tZW1vcnkuYzoKCSAgbXNkazogRml4IHRoZSBJNDIwIHZpZGVvIGZvcm1hdCBzdXBwb3J0CgkgIE1ha2Ugc3VyZSBJNDIwIHN1cmZhY2UgbWFwcGluZyB3b3JrcyBhcyBleHBlY3RlZCBieSB1c2luZwoJICBZVjEyIGZvcm1hdCBhbmQgc3dhcCBVL1YgcGxhbmUncyBvZmZzZXQgYW5kIHBpdGNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM4NjUKCj09PSByZWxlYXNlIDEuMTMuOTEgPT09CgoyMDE4LTAzLTEzIDE5OjIyOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjEzLjkxCgoyMDE4LTAzLTEzIDE5OjIyOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvYnVmZmVyc3BsaXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2xhdGVuY3kueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhtYXRyaXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9ybWFuYWdlbWVudC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZTI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZGthYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pcGNwaXBlbGluZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uaHR0cHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2xtaXhlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHJveHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNiYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltZWNvZGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZ1bGthbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXNhcGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTAzLTEzIDEzOjE0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiB1cGRhdGUgYXBpIGRlY29yYXRvcnMgdG8gaWdub3JlCgoyMDE4LTAzLTEzIDEzOjExOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9kdGxzdHJhbnNwb3J0Lmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvaWNldHJhbnNwb3J0Lmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRjc2Vzc2lvbmRlc2NyaXB0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRwcmVjZWl2ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydHBzZW5kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydHB0cmFuc2NlaXZlci5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3dlYnJ0Y19md2QuaDoKCSAgd2VicnRjOiBHU1RfRVhQT1JUIC0+IEdTVF9XRUJSVENfQVBJCgkgIFdlIG5lZWQgZGlmZmVyZW50IGV4cG9ydCBkZWNvcmF0b3JzIGZvciB0aGUgZGlmZmVyZW50IGxpYnMuCgkgIEZvciBub3cgbm8gYWN0dWFsIGNoYW5nZSB0aG91Z2gsIGp1c3QgcmVuYW1lIGJlZm9yZSB0aGUgcmVsZWFzZSwKCSAgYW5kIGFkZCBwcmVsdWRlIGhlYWRlcnMgdG8gZGVmaW5lIHRoZSBuZXcgZGVjb3JhdG9yIHRvIEdTVF9FWFBPUlQuCgoyMDE4LTAzLTEzIDEzOjA5OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBHU1RfRVhQT1JUIC0+IEdTVF9XQVlMQU5EX0FQSQoJICBXZSBuZWVkIGRpZmZlcmVudCBleHBvcnQgZGVjb3JhdG9ycyBmb3IgdGhlIGRpZmZlcmVudCBsaWJzLgoJICBGb3Igbm93IG5vIGFjdHVhbCBjaGFuZ2UgdGhvdWdoLCBqdXN0IHJlbmFtZSBiZWZvcmUgdGhlIHJlbGVhc2UsCgkgIGFuZCBhZGQgcHJlbHVkZSBoZWFkZXJzIHRvIGRlZmluZSB0aGUgbmV3IGRlY29yYXRvciB0byBHU1RfRVhQT1JULgoKMjAxOC0wMy0xMyAxMzowNzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLWJhZC1wcmVsdWRlLmg6CgkgIHZpZGVvOiBHU1RfRVhQT1JUIC0+IEdTVF9VUklfVklERU9fQkFEX0FQSQoJICBXZSBuZWVkIGRpZmZlcmVudCBleHBvcnQgZGVjb3JhdG9ycyBmb3IgdGhlIGRpZmZlcmVudCBsaWJzLgoJICBGb3Igbm93IG5vIGFjdHVhbCBjaGFuZ2UgdGhvdWdoLCBqdXN0IHJlbmFtZSBiZWZvcmUgdGhlIHJlbGVhc2UsCgkgIGFuZCBhZGQgcHJlbHVkZSBoZWFkZXJzIHRvIGRlZmluZSB0aGUgbmV3IGRlY29yYXRvciB0byBHU1RfRVhQT1JULgoKMjAxOC0wMy0xMyAxMzowNTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci91cmlkb3dubG9hZGVyLXByZWx1ZGUuaDoKCSAgdXJpZG93bmxvYWRlcjogR1NUX0VYUE9SVCAtPiBHU1RfVVJJX0RPV05MT0FERVJfQVBJCgkgIFdlIG5lZWQgZGlmZmVyZW50IGV4cG9ydCBkZWNvcmF0b3JzIGZvciB0aGUgZGlmZmVyZW50IGxpYnMuCgkgIEZvciBub3cgbm8gYWN0dWFsIGNoYW5nZSB0aG91Z2gsIGp1c3QgcmVuYW1lIGJlZm9yZSB0aGUgcmVsZWFzZSwKCSAgYW5kIGFkZCBwcmVsdWRlIGhlYWRlcnMgdG8gZGVmaW5lIHRoZSBuZXcgZGVjb3JhdG9yIHRvIEdTVF9FWFBPUlQuCgoyMDE4LTAzLTEzIDEzOjAyOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItZy1tYWluLWNvbnRleHQtc2lnbmFsLWRpc3BhdGNoZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci10eXBlcy5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9wbGF5ZXItcHJlbHVkZS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL3BsYXllci5oOgoJICBwbGF5ZXI6IEdTVF9FWFBPUlQgLT4gR1NUX1BMQVlFUl9BUEkKCSAgV2UgbmVlZCBkaWZmZXJlbnQgZXhwb3J0IGRlY29yYXRvcnMgZm9yIHRoZSBkaWZmZXJlbnQgbGlicy4KCSAgRm9yIG5vdyBubyBhY3R1YWwgY2hhbmdlIHRob3VnaCwganVzdCByZW5hbWUgYmVmb3JlIHRoZSByZWxlYXNlLAoJICBhbmQgYWRkIHByZWx1ZGUgaGVhZGVycyB0byBkZWZpbmUgdGhlIG5ldyBkZWNvcmF0b3IgdG8gR1NUX0VYUE9SVC4KCjIwMTgtMDMtMTMgMTI6NTc6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L29wZW5jdi9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L29wZW5jdi9vcGVuY3YtcHJlbHVkZS5oOgoJICBvcGVuY3Y6IEdTVF9FWFBPUlQgLT4gR1NUX09QRU5DVl9BUEkKCSAgV2UgbmVlZCBkaWZmZXJlbnQgZXhwb3J0IGRlY29yYXRvcnMgZm9yIHRoZSBkaWZmZXJlbnQgbGlicy4KCSAgRm9yIG5vdyBubyBhY3R1YWwgY2hhbmdlIHRob3VnaCwganVzdCByZW5hbWUgYmVmb3JlIHRoZSByZWxlYXNlLAoJICBhbmQgYWRkIHByZWx1ZGUgaGVhZGVycyB0byBkZWZpbmUgdGhlIG5ldyBkZWNvcmF0b3IgdG8gR1NUX0VYUE9SVC4KCjIwMTgtMDMtMTMgMTI6NDc6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy1wcmVsdWRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzX2VudW0ucHk6CgkgIG1wZWd0czogR1NUX0VYUE9SVCAtPiBHU1RfTVBFR1RTX0FQSQoJICBXZSBuZWVkIGRpZmZlcmVudCBleHBvcnQgZGVjb3JhdG9ycyBmb3IgdGhlIGRpZmZlcmVudCBsaWJzLgoJICBGb3Igbm93IG5vIGFjdHVhbCBjaGFuZ2UgdGhvdWdoLCBqdXN0IHJlbmFtZSBiZWZvcmUgdGhlIHJlbGVhc2UsCgkgIGFuZCBhZGQgcHJlbHVkZSBoZWFkZXJzIHRvIGRlZmluZSB0aGUgbmV3IGRlY29yYXRvciB0byBHU1RfRVhQT1JULgoKMjAxOC0wMy0xMyAxMjo0MzowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pc29mZi9nc3Rpc29mZi5oOgoJICBpc29mZjogR1NUX0VYUE9SVCAtPiBHU1RfSVNPRkZfQVBJCgkgIFdlIG5lZWQgZGlmZmVyZW50IGV4cG9ydCBkZWNvcmF0b3JzIGZvciB0aGUgZGlmZmVyZW50IGxpYnMuCgkgIEZvciBub3cgbm8gYWN0dWFsIGNoYW5nZSB0aG91Z2gsIGp1c3QgcmVuYW1lIGJlZm9yZSB0aGUgcmVsZWFzZSwKCSAgYW5kIGFkZCBwcmVsdWRlIGhlYWRlcnMgdG8gZGVmaW5lIHRoZSBuZXcgZGVjb3JhdG9yIHRvIEdTVF9FWFBPUlQuCgoyMDE4LTAzLTEzIDEyOjQxOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvYnVpbGRfbWtlbnVtLnB5OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktcHJlbHVkZS5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogR1NUX0VYUE9SVCAtPiBHU1RfUEhPVE9HUkFQSFlfQVBJCgkgIFdlIG5lZWQgZGlmZmVyZW50IGV4cG9ydCBkZWNvcmF0b3JzIGZvciB0aGUgZGlmZmVyZW50IGxpYnMuCgkgIEZvciBub3cgbm8gYWN0dWFsIGNoYW5nZSB0aG91Z2gsIGp1c3QgcmVuYW1lIGJlZm9yZSB0aGUgcmVsZWFzZSwKCSAgYW5kIGFkZCBwcmVsdWRlIGhlYWRlcnMgdG8gZGVmaW5lIHRoZSBuZXcgZGVjb3JhdG9yIHRvIEdTVF9FWFBPUlQuCgoyMDE4LTAzLTEzIDEyOjM2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgaW5zZXJ0YmluOiBHU1RfRVhQT1JUIC0+IEdTVF9JTlNFUlRfQklOX0FQSQoJICBXZSBuZWVkIGRpZmZlcmVudCBleHBvcnQgZGVjb3JhdG9ycyBmb3IgdGhlIGRpZmZlcmVudCBsaWJzLgoJICBGb3Igbm93IG5vIGFjdHVhbCBjaGFuZ2UgdGhvdWdoLCBqdXN0IHJlbmFtZSBiZWZvcmUgdGhlIHJlbGVhc2UsCgkgIGFuZCBhZGQgcHJlbHVkZSBoZWFkZXJzIHRvIGRlZmluZSB0aGUgbmV3IGRlY29yYXRvciB0byBHU1RfRVhQT1JULgoKMjAxOC0wMy0xMyAxMjozNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvY29kZWNwYXJzZXJzLXByZWx1ZGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbWVzb24uYnVpbGQ6CgkgIGNvZGVjcGFyc2VyczogR1NUX0VYUE9SVCAtPiBHU1RfQ09ERUNfUEFSU0VSU19BUEkKCSAgV2UgbmVlZCBkaWZmZXJlbnQgZXhwb3J0IGRlY29yYXRvcnMgZm9yIHRoZSBkaWZmZXJlbnQgbGlicy4KCSAgRm9yIG5vdyBubyBhY3R1YWwgY2hhbmdlIHRob3VnaCwganVzdCByZW5hbWUgYmVmb3JlIHRoZSByZWxlYXNlLAoJICBhbmQgYWRkIHByZWx1ZGUgaGVhZGVycyB0byBkZWZpbmUgdGhlIG5ldyBkZWNvcmF0b3IgdG8gR1NUX0VYUE9SVC4KCjIwMTgtMDMtMTMgMTI6Mjk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvYmFzZWNhbWVyYWJpbnNyYy1wcmVsdWRlLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9tZXNvbi5idWlsZDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogR1NUX0VYUE9SVCAtPiBHU1RfQkFTRV9DQU1FUkFfQklOX1NSQ19BUEkKCSAgV2UgbmVlZCBkaWZmZXJlbnQgZXhwb3J0IGRlY29yYXRvcnMgZm9yIHRoZSBkaWZmZXJlbnQgbGlicy4KCSAgRm9yIG5vdyBubyBhY3R1YWwgY2hhbmdlIHRob3VnaCwganVzdCByZW5hbWUgYmVmb3JlIHRoZSByZWxlYXNlLAoJICBhbmQgYWRkIHByZWx1ZGUgaGVhZGVycyB0byBkZWZpbmUgdGhlIG5ldyBkZWNvcmF0b3IgdG8gR1NUX0VYUE9SVC4KCjIwMTgtMDMtMTMgMTI6MjE6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby1iYWQtcHJlbHVkZS5oOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0bm9uc3RyZWFtYXVkaW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9hdWRpby9tZXNvbi5idWlsZDoKCSAgYXVkaW86IEdTVF9FWFBPUlQgLT4gR1NUX0FVRElPX0JBRF9BUEkKCSAgV2UgbmVlZCBkaWZmZXJlbnQgZXhwb3J0IGRlY29yYXRvcnMgZm9yIHRoZSBkaWZmZXJlbnQgbGlicy4KCSAgRm9yIG5vdyBubyBhY3R1YWwgY2hhbmdlIHRob3VnaCwganVzdCByZW5hbWUgYmVmb3JlIHRoZSByZWxlYXNlLAoJICBhbmQgYWRkIHByZWx1ZGUgaGVhZGVycyB0byBkZWZpbmUgdGhlIG5ldyBkZWNvcmF0b3IgdG8gR1NUX0VYUE9SVC4KCjIwMTgtMDMtMTMgMTI6MTc6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvYWRhcHRpdmUtZGVtdXgtcHJlbHVkZS5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEdTVF9FWFBPUlQgLT4gR1NUX0FEQVBUSVZFX0RFTVVYX0FQSQoJICBXZSBuZWVkIGRpZmZlcmVudCBleHBvcnQgZGVjb3JhdG9ycyBmb3IgdGhlIGRpZmZlcmVudCBsaWJzLgoJICBGb3Igbm93IG5vIGFjdHVhbCBjaGFuZ2UgdGhvdWdoLCBqdXN0IHJlbmFtZSBiZWZvcmUgdGhlIHJlbGVhc2UsCgkgIGFuZCBhZGQgcHJlbHVkZSBoZWFkZXJzIHRvIGRlZmluZSB0aGUgbmV3IGRlY29yYXRvciB0byBHU1RfRVhQT1JULgoKMjAxOC0wMy0xMiAyMDoxMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHBsdWdpbnM6IGFkZCBzb21lIG1vcmUgZWxlbWVudHMgYW5kIHBsdWdpbnMKCjIwMTgtMDMtMTAgMTg6NTE6MTQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGk6IE1pbm9yIGZpeGVzIGZvciBkZWJ1ZyBsb2dnaW5nCgoyMDE4LTAzLTEwIDE4OjQ5OjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgZGV2aWNlcHJvdmlkZXIgY2hhbmdlcyB0byBkaXJlY3Rzb3VuZHNyYwoJICBUaGVzZSB3ZXJlIG1pc3NlZCB3aGVuIHRoZXkgd2VyZSBhZGRlZCB0byBNYWtlZmlsZS5hbQoKMjAxOC0wMy0wOSAyMjowNTo0OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3RhdWRpb2NsaWVudDMuaDoKCSAgd2FzYXBpOiBHdWFyZCBJQXVkaW9DbGllbnQyIHN0cnVjdHMgYW5kIGVudW1zCgkgIFRoZXNlIGFyZSBhbHJlYWR5IGRlZmluZWQgaW4gdGhlIGF1ZGlvY2xpZW50LmggcHJvdmlkZWQgYnkgdGhlIGxhdGVzdAoJICBNaW5HVyBoZWFkZXJzLCBhbmQgdGhlIGV4aXN0aW5nICNpZm5kZWYgd2VyZSBvYnZpb3VzbHkgd3JvbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQxOTcKCjIwMTgtMDMtMTAgMTE6NDE6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhc2FwaS54bWw6CgkgIGRvY3M6IGFkZCB3YXNhcGkgZWxlbWVudHMKCjIwMTgtMDMtMDkgMjM6NTk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBmaXggYnVpbGQgd2hlbiBtc2RrIGlzIG5vdCBmb3VuZAoKMjAxOC0wMy0wOSAxMDo0ODoxMSAtMDkwMCAgV2FuZyxGZWkgPGZlaS53LndhbmdAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21zZGtoMjY0ZW5jLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICB0ZXN0czogYWRkIG1zZGtoMjY0ZW5jIGVsZW1lbnQgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMyMzYKCjIwMTgtMDMtMDkgMTA6MzI6NDAgLTA5MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL21lc29uLmJ1aWxkOgoJICBtc2RrOiBGaXggdGhlIG1pc3NwZWxsZWQgZmlsZSBuYW1lIGluIG1lc29uIGJ1aWxkCgoyMDE4LTAzLTA5IDExOjExOjQwICswMTAwICBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxlbWlsaW8ucG96dWVsb0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IHNoaXAgYXVkaW9jbGllbnQzIGhlYWRlciBpbiB0YXJiYWxscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MTk3CgoyMDE4LTAzLTA4IDExOjM5OjI1IC0wOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmg6CgkgIG1zZGs6IGVuYzogZml4IG1pc3Npbmcgc29tZSBmcmFtZXMgdG8gYmUgZW5jb2RlZAoJICBUaGVyZSB3YXMgbm90IGhhbmRsaW5nIHRoZSBlbmQgb2YgZW5jb2Rpbmcgc2VxdWVuY2UgaW4gZW5jb2Rlci4KCSAgVGhpcyBwYXRjaCBkb2VzIGRyYWluIGFueSByZW1haW5pbmcgaW50ZXJuYWwgc3RyZWFtcyB3aGlsZSBkZWNvZGVyCgkgIGFscmVhZHkgZG9lcyB0aGlzLgoJICBEb2N1bWVudCBzYXlzOgoJICAiVG8gbWFyayB0aGUgZW5kIG9mIHRoZSBlbmNvZGluZyBzZXF1ZW5jZSwgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggYQoJICBOVUxMIHN1cmZhY2UKCSAgcG9pbnRlci4gUmVwZWF0IHRoZSBjYWxsIHRvIGRyYWluIGFueSByZW1haW5pbmcgaW50ZXJuYWxseSBjYWNoZWQKCSAgYml0c3RyZWFtc+KAlG9uZQoJICBmcmFtZSBhdCBhIHRpbWXigJR1bnRpbCBNRlhfRVJSX01PUkVfREFUQSBpcyByZXR1cm5lZC4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMyMzYKCjIwMTgtMDMtMDggMTE6Mzg6NTIgLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkgIG1zZGs6IGRlYzogZml4IGxlYWtzIHdoZW4gZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzcwOAoKMjAxOC0wMy0wOCAxMTozODozMCAtMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0LmM6CgkgIG1zZGs6IG1hbmFnZSBjaGlsZCBzZXNzaW9ucyBvbiBwYXJlbnQgR3N0TXNka0NvbnRleHQKCSAgU29tZXRpbWVzIHBhcmVudCBjb250ZXh0IGlzIHJlbGVhc2VkIGJlZm9yZSBpdHMgY2hpbGRyZW4gZ2V0IHJlbGVhc2VkLgoJICBJbiB0aGlzIGNhc2UgTUZYQ2xvc2Ugb2YgcGFyZW50IHNlc3Npb24gZmFpbHMuCgkgIFRvIG1ha2Ugc3VyZSB0aGF0IGNoaWxkIHNlc3Npb25zIGFyZSBjbG9zZWQgYmVmb3JlIGNsb3NpbmcgYSBwYXJlbnQKCSAgc2Vzc2lvbiwKCSAgUGFyZW50IGNvbnRleHQgbmVlZHMgdG8gbWFuYWdlIGNoaWxkIHNlc3Npb25zIGFuZCBjbG9zZSB0aGVtIGZpcnN0IHdoZW4KCSAgaXQncyByZWxlYXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzQxMgoKMjAxOC0wMy0wOCAxMTozNzo1MiAtMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2RlYy5oOgoJICBtc2RrOiBkZWM6IHJlbW92ZSBjb2RlIHRvIG1hbmFnZSBidWZmZXJzIHdpdGggbG9ja2VkIHN1cmZhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzQxMwoKMjAxOC0wMy0wOCAxMTozNzoxMiAtMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtidWZmZXJwb29sLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0LmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0Lmg6CgkqIHN5cy9tc2RrL2dzdG1zZGt2aWRlb21lbW9yeS5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrdmlkZW9tZW1vcnkuaDoKCSAgbXNkazogbWFuYWdlIE1TREsgc3VyZmFjZXMgc2VwZXJhdGVseQoJICBDdXJyZW50bHkgYSBnc3QgYnVmZmVyIGhhcyBvbmUgbWZ4RnJhbWVTdXJmYWNlIHdoZW4gaXQncyBhbGxvY2F0ZWQgYW5kCgkgIGNhbid0IGJlIGNoYW5nZWQuCgkgIFRoaXMgaXMgYmFzZWQgb24gdGhhdCB0aGUgbGlmZSBvZiBnc3QgYnVmZmVyIGFuZCBtZnhGcmFtZVN1cmZhY2Ugd291bGQKCSAgYmUgc2FtZS4KCSAgQnV0IGl0J3Mgbm90IHRydWUuIFNvbWV0aW1lcyBldmVuIGlmIGEgZ3N0IGJ1ZmZlciBvZiBhIGZyYW1lIGlzIGZpbmlzaGVkCgkgIG9uIGRvd25zdHJlYW0sCgkgIG1meEZyYW1lc3VyZmFjZSBjb3VwbGVkIHdpdGggdGhlIGdzdCBidWZmZXIgaXMgc3RpbGwgbG9ja2VkLCB3aGljaCBtZWFucwoJICBpdCdzIHN0aWxsIGJlaW5nIHVzZWQgaW4gdGhlIGRyaXZlci4KCSAgU28gdGhpcyBwYXRjaCBkb2VzIHRoaXMuCgkgIEV2ZXJ5IHRpbWUgYSBnc3QgYnVmZmVyIGlzIGFjcXVpcmVkIGZyb20gdGhlIHBvb2wsIGl0IGNvbmZpcm1zIGlmIHRoZQoJICBzdXJmYWNlIGNvdXBsZWQgd2l0aCB0aGUgYnVmZmVyIGlzIHVubG9ja2VkLgoJICBJZiBub3QsIHJlcGxhY2UgaXQgd2l0aCBuZXcgdW5sb2NrZWQgb25lLgoJICBJbiB0aGlzIHdheSwgdXNlcihkZWNvZGVyIG9yIGVuY29kZXIpIGRvZXNuJ3QgbmVlZCB0byBtYW5hZ2UgZ3N0IGJ1ZmZlcnMKCSAgaW5jbHVkaW5nIGxvY2tlZCBzdXJmYWNlLgoJICBUbyBkbyB0aGF0LCB0aGlzIHBhdGNoIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmc6CgkgIDEuIEdzdE1zZGtDb250ZXh0CgkgIC0gTWFuYWdlcyBNU0RLIHN1cmZhY2VzIGF2YWlsYWJsZSwgdXNlZCwgbG9ja2VkIHJlc3BlY3RpdmVseSBhcyB0aGUKCSAgZm9sbG93aW5nOgoJICAxXCBzdXJmYWNlc19hdmFpbCA6IHN1cmZhY2VzIHdoaWNoIGFyZSBmcmVlIGFuZCB1bnVzZWQgYW55d2hlcmUKCSAgMlwgc3VyZmFjZXNfdXNlZCA6IHN1cmZhY2VzIGNvdXBsZWQgd2l0aCBhIGdzdCBidWZmZXIgYW5kIGJlaW5nIHVzZWQKCSAgbm93LgoJICAzXCBzdXJmYWNlc19sb2NrZWQgOiBzdXJmYWNlcyBzdGlsbCBsb2NrZWQgZXZlbiBhZnRlciB0aGUgZ3N0IGJ1ZmZlcgoJICBpcyByZWxlYXNlZC4KCSAgLSBQcm92aWRlIGFuIGFwaSB0byBnZXQgTVNESyBzdXJmYWNlIGF2YWlsYWJsZS4KCSAgLSBQcm92aWRlIGFuIGFwaSB0byByZWxlYXNlIE1TREsgc3VyZmFjZS4KCSAgMi4gR3N0TXNka1ZpZGVvTWVtb3J5CgkgIC0gR2V0cyBhIHN1cmZhY2UgYXZhaWxhYmxlIHdoZW4gaXQncyBhbGxvY2F0ZWQuCgkgIC0gUHJvdmlkZSBhbiBhcGkgdG8gZ2V0IGFuIGF2YWlsYWJsZSBzdXJmYWNlIHdpdGggbmV3IHVubG9ja2VkIG9uZS4KCSAgLSBQcm92aWRlIGFuIGFwaSB0byByZWxlYXNlIHN1cmZhY2UgaW4gdGhlIG1zZGsgdmlkZW8gbWVtb3J5LgoJICAzLiBHc3RNc2RrQnVmZmVyUG9vbAoJICAtIEluIGFjcXVpcmVfYnVmZmVyLCBldmVyeSB0aW1lIGEgZ3N0IGJ1ZmZlciBpcyBhY3F1aXJlZCwgZ2V0IG5ldwoJICBhdmFpbGFibGUgc3VyZmFjZSBmcm9tIHRoZSBsaXN0LgoJICAtIEluIHJlbGVhc2VfYnVmZmVyLCBpdCBjb25maXJtcyBpZiB0aGUgYnVmZmVyJ3Mgc3VyZmFjZSBpcyB1bmxvY2tlZCBvcgoJICBub3QuCgkgIC0gSWYgdW5sb2NrZWQsIGl0IGlzIHB1dCB0byB0aGUgYXZhaWxhYmxlIGxpc3QuCgkgIC0gSWYgc3RpbGwgbG9ja2VkLCBpdCBpcyBwdXQgdG8gdGhlIGxvY2tlZCBsaXN0LgoJICBUaGlzIGFsc28gZml4ZXMgYnVnICM3OTM1MjUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM0MTMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzUyNQoKMjAxOC0wMy0wOCAxMDoxMjoxNiArMDEwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGxhcmdlZmlsZSBzdXBwb3J0IGlmIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMxMDMKCjIwMTgtMDMtMDUgMTk6Mzc6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICB0ZXN0czogcGxheWVyOiBkaXNhYmxlIGJyb2tlbiB0ZXN0X3BsYXlfbWVkaWFfaW5mbyB0ZXN0CgkgIFVudGlsIHNvbWVvbmUgY2FuIGJlIGJvdGhlcmVkIHRvIGRlYnVnICsgZml4IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MzcyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODczNzQKCjIwMTgtMDMtMDUgMTQ6MjE6MTQgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBhbGxvdyBwYXJ0aWFsIG1hdGNoaW5nIG9uIHJhbmdlIGV4dGVuc2lvbiBwcm9maWxlCgkgIEJlc3QgdG8gcmV0dXJuIGEgdmFsaWQgcHJvZmlsZXMgcmF0aGVyIHRoYW4gbm8gcHJvZmlsZSBpZiBiaXRzdHJlYW0gdXNlcwoJICBhIG5vdCBzdGFuZGFyZCBwcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzODc2CgoyMDE4LTAyLTI2IDE3OjI2OjA3ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZTogYWRkIHN1cHBvcnQgZm9yICdGb3JtYXQgcmFuZ2UgZXh0ZW5zaW9ucyBwcm9maWxlcycKCSAgVGhvc2UgcHJvZmlsZXMgaGF2ZSBiZWVuIGludHJvZHVjZWQgaW4gdmVyc2lvbiAyIG9mIHRoZSBIRVZDIHNwZWMKCSAgKEEuMy41KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzg3NgoKMjAxOC0wMi0yNyAxMTozMDoxNSArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGgyNjVwYXJzZXI6IHBhcnNlIGV4dHJhIHByb2ZpbGUgZmllbGRzCgkgIFRob3NlIGZpZWxkcyBoYXZlIGJlZW4gaW50cm9kdWNlZCBpbiB2ZXJzaW9uIDIgYW5kIGxhdGVyIHRvIGRlZmluZSBuZXcKCSAgcHJvZmlsZXMgbGlrZSB0aGUgZm9ybWF0IHJhbmdlIGV4dGVuc2lvbnMgcHJvZmlsZXMgKEEuMy41KS4KCSAgTk9URTogVGhpcyBwYXRjaCBicmVha3MgdGhlIHBhcnNlciBBQkksIHJlYnVpbGQgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzODc2CgoyMDE4LTAzLTAxIDExOjA4OjQ0ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NXBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgaDI2NXBhcnNlcjogZGVjb3VwbGUgR3N0SDI2NVByb2ZpbGUgYW5kIEdzdEgyNjVQcm9maWxlSURDCgkgIFdlIHVzZWQgdG8gaGF2ZSB0aGUgc2FtZSBlbnVtIHRvIHJlcHJlc2VudCBIMjY1IHByb2ZpbGVzIGFuZCBpZGMgdmFsdWVzLgoJICBUaG9zZSBhcmUgbm8gbG9uZ2VyIHRoZSBzYW1lIHdpdGggZXh0ZW5zaW9uIHByb2ZpbGVzIGRlZmluZWQgZnJvbQoJICB2ZXJzaW9uIDIgb2YgdGhlIHNwZWMuCgkgIFNwbGl0IHRob3NlIGVudW1zIHNvIHRoZSBzZW1hbnRpYyBvZiBlYWNoIGlzIGNsZWFyZXIgYW5kIHdlJ2xsIGJlIGFibGUKCSAgdG8gYWRkIGV4dGVuc2lvbiBwcm9maWxlcyB0byBHc3RIMjY1UHJvZmlsZS4KCSAgQWxzbyBhZGQgZ3N0X2gyNjVfcHJvZmlsZV90aWVyX2xldmVsX2dldF9wcm9maWxlKCkgdG8gcmV0cmlldmUgdGhlCgkgIEdzdEgyNjVQcm9maWxlIGZyb20gdGhlIEdzdEgyNjVQcm9maWxlVGllckxldmVsLiBJdCB3aWxsIGJlIHVzZWQgdG8KCSAgaW1wbGVtZW50IHRoZSBkZXRlY3Rpb24gb2YgZXh0ZW5zaW9uIHByb2ZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzODc2Cgo9PT0gcmVsZWFzZSAxLjEzLjkwID09PQoKMjAxOC0wMy0wMyAyMjozOToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMy45MAoKMjAxOC0wMy0wMyAyMjozOToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2J1ZmZlcnNwbGl0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9sYXRlbmN5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4bWF0cml4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcm1hbmFnZW1lbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGUyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmRrYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXBjcGlwZWxpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbmh0dHBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsbWl4ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5oMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXByb3h5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zYmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwZWxlbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWVjb2RlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0bWxzdWJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12dWxrYW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIFVwZGF0ZSBkb2NzCgoyMDE4LTAzLTAyIDIxOjUzOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2lxYS9pcWEuYzoKCSAgaXFhOiBGaXggYnVpbGQgd2l0aCBsYXRlc3QgYWdncmVnYXRvciBBUEkgY2hhbmdlcwoKMjAxOC0wMy0wMiAxMDozNzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgUmV2ZXJ0ICJoMjY1cGFyc2U6IGVhcmx5IHNldCBzcmMgY2FwcyB3aGVuIGlucHV0IG5vdCBieXRlLXN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5M2QyOWU4MDMwMGY1NjZiN2E4ZTdkODZiZWVjYjU3OGZlMDM4MjFjLgoKMjAxOC0wMy0wMiAxMDozNzo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2U6IGVhcmx5IHNldCBzcmMgY2FwcyB3aGVuIGlucHV0IGlzIGF2YyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1YWM4ODZkODVhYWI0YjkxOWY4NGZiODBlMmQxZWYzNmRjOGU2NDdkLgoKMjAxOC0wMy0wMSAxODo0NDoxMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRzL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGVuYWJsZSBtb3JlIHdhcm5pbmdzCgoyMDE4LTAzLTAxIDE1OjI0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJKiBleHQvc2Nocm9lZGluZ2VyL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBSZW1vdmUgc2Nocm9lZGluZ2VyIHBsdWdpbgoJICBObyB1cHN0cmVhbSAod2Vic2l0ZSBkaXNhcHBlYXJlZCksIG5vIG1haW50YWluZXIsIGFuZAoJICBwcmV0dHkgbXVjaCBhIGZyaW5nZSBmb3JtYXQgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MjE1CgoyMDE4LTAzLTAxIDAwOjM0OjQwICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgUG9ydCB0byBsYXRlc3QgR3N0QWdncmVnYXRvciBzZWdtZW50IEFQSQoJICBUaGUgYWdncmVnYXRvciBzZWdtZW50IGlzIG5vdyBleHBvc2VkIG9uIHRoZSBzcmMgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NDYKCjIwMTgtMDMtMDEgMTU6Mjk6MjcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJICB3YXNhcGk6IEluY3JlYXNlIHJhbmsgdG8gcHJlZmVyIG92ZXIgZGlyZWN0c291bmRzcmMKCSAgRGlyZWN0c291bmRzcmMvc2luayBoYXZlIG11bHRpcGxlIGlzc3VlcywgbW9zdCBvZiB3aGljaCBjYW5ub3QgYmUKCSAgZml4ZWQgYXQgYWxsIGJlY2F1c2UgdGhlIEFQSSBpcyBkZXByZWNhdGVkIGFuZCBpcyBpbXBsZW1lbnRlZCBhcyBhCgkgIGNvbXBhdGliaWxpdHkgd3JhcHBlciBhcm91bmQgV0FTQVBJIHNpbmNlIFZpc3RhLgoJICBVc2VycyBhbmQgZGV2ZWxvcGVycyBzaG91bGQgbm93IHVzZSB0aGUgd2FzYXBpc3JjL3NpbmsgZWxlbWVudHMsIGFuZAoJICBmdXR1cmUgZGV2ZWxvcG1lbnQgZWZmb3J0cyBzaG91bGQgZ28gdG93YXJkcyB0aGF0LgoKMjAxOC0wMi0yOCAyMzo0NjozMiArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IGluc3RhbnRpYXRlIGFkYXB0ZXIgYXQgdGhlIGNvcnJlY3QgcGxhY2UKCjIwMTgtMDItMjggMDA6MDY6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2xhdGVuY3kueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhtYXRyaXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9ybWFuYWdlbWVudC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlMjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZka2FhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta21zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb25odHRwc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbG1peGVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcGVsZW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1lY29kZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dG1sc3Vicy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12dWxrYW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogYWRkIG5ldyBhdWRpb2xhdGVuY3kgZWxlbWVudCB0byBkb2NzIGFuZCB1cGRhdGUgZG9jcyBmb3IgZ2l0CgoyMDE4LTAyLTI4IDAwOjU2OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9sYXRlbmN5L2dzdGF1ZGlvbGF0ZW5jeS5jOgoJICBhdWRpb2xhdGVuY3k6IEZpeCBzdHJpbmcgZm9ybWF0IHNwZWNpZmllciBhbmQgdXNlIG1pY3Jvc2Vjb25kcyBldmVyeXdoZXJlCgkgIFNob3VsZCBmaXggd2FybmluZ3Mgb3IgYnVpbGQgZXJyb3JzIG9uIDMyLWJpdCBwbGF0Zm9ybXMgYW5kIG9uIFdpbmRvd3MuCgkgIEFsc28gY2xhcmlmeSBpbiBsb2dnaW5nIHRoYXQgYWxsIHRpbWVzdGFtcHMgYXJlIGluIG1pY3Jvc2Vjb25kcy4KCjIwMTgtMDItMjggMDA6NDA6MjEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2xhdGVuY3kvZ3N0YXVkaW9sYXRlbmN5LmM6CgkgIGF1ZGlvbGF0ZW5jeTogRml4IGNlcmJlcm8gYnVpbGQgZmFpbHVyZQoJICBBdmVyYWdlIGxhdGVuY3kgaXMgYSA2NC1iaXQgaW50ZWdlci4KCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLzk5NjIvCgoyMDE4LTAyLTI3IDE1OjQ3OjQwICswMTAwICBBbGljaWEgQm95YSBHYXJjw61hIDxhYm95YUBpZ2FsaWEuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBBZGQgZm9ybWF0IGV4YW1wbGUgZm9yIG9wdGlvbi1zdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzg4MQoKMjAxOC0wMi0yNiAxODozODo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9sYXRlbmN5L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9sYXRlbmN5L2dzdGF1ZGlvbGF0ZW5jeS5jOgoJKiBnc3QvYXVkaW9sYXRlbmN5L2dzdGF1ZGlvbGF0ZW5jeS5oOgoJKiBnc3QvYXVkaW9sYXRlbmN5L21lc29uLmJ1aWxkOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkgIGF1ZGlvbGF0ZW5jeTogTmV3IHBsdWdpbiBmb3IgbWVhc3VyaW5nIGF1ZGlvIGxhdGVuY3kKCSAgTWVhc3VyZXMgdGhlIGF1ZGlvIGxhdGVuY3kgYmV0d2VlbiB0aGUgc291cmNlIHBhZCBhbmQgdGhlIHNpbmsgcGFkIGJ5CgkgIG91dHB1dHRpbmcgcGVyaW9kIHRpY2tzIG9uIHRoZSBzb3VyY2UgcGFkIGFuZCBtZWFzdXJpbmcgaG93IGxvbmcgdGhleQoJICB0YWtlIHRvIGFycml2ZSBvbiB0aGUgc2luayBwYWQuCgkgIFZlcnkgdXNlZnVsIGZvciBxdWFudGlmeWluZyBsYXRlbmN5IGltcHJvdmVtZW50cyBpbiBhdWRpbyBwaXBlbGluZXMuCgkgIFRoaXMgcGx1Z2luIHdhcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGR1cmluZyBkZXZlbG9wbWVudCBvZiB0aGUKCSAgbG93LWxhdGVuY3kgZmVhdHVyZXMgb2YgdGhlIHdhc2FwaSBwbHVnaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM4MzkKCjIwMTgtMDItMjcgMTA6MDc6MTggKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSogZXh0L3R0bWwvc3VidGl0bGUuYzoKCSogZXh0L3R0bWwvc3VidGl0bGUuaDoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkgIHR0bWw6IEFkZCBzdXBwb3J0IGZvciBJTVNDIDEuMC4xIGZpbGxMaW5lR2FwIGF0dHJpYnV0ZQoJICBTdHJpY3RseSBzcGVha2luZywgdGhlIFRUTUwgc3BlYyByZXF1aXJlcyB0aGF0IHRleHQgYmFja2dyb3VuZHMgZXh0ZW5kCgkgIG9ubHkgdG8gdGhlIGZvbnQgaGVpZ2h0IG9mIHRoZSByZWxhdGVkIHRleHQsIHJhdGhlciB0aGFuIHRvIHRoZSB2ZXJ0aWNhbAoJICBkaXN0YW5jZSBiZXR3ZWVuIGxpbmVzLiBUaGUgcmVzdWx0IG9mIHRoaXMgaXMgdGhhdCB0aGVyZSB3aWxsIHR5cGljYWxseQoJICBiZSB2ZXJ0aWNhbCBnYXBzIGJldHdlZW4gbGluZSBiYWNrZ3JvdW5kcyB0aHJvdWdoIHdoaWNoIG1vdmluZyB2aWRlbyBjYW4KCSAgYmUgc2Vlbi4gU2luY2UgdGhpcyB3YXMgdW5uYWNjZXB0YWJsZSB0byBzb21lIGNvbnRlbnQgcHJvdmlkZXJzLCB2MS4wLjEKCSAgb2YgdGhlIElNU0Mgc3BlYyAod2hpY2ggcHJvZmlsZXMgVFRNTCkgYWRkcyBhIG5ldyBhdHRyaWJ1dGUsCgkgIGl0dHM6ZmlsbExpbmVHYXBbMV0sIHRoYXQgYWxsb3dzIGNvbnRlbnQgYXV0aG9ycyB0byBzcGVjaWZ5IHRoYXQgY2xpZW50cwoJICBzaG91bGQgZXh0ZW5kIHRleHQgYmFja2dyb3VuZHMgc3VjaCB0aGF0IHRoZXJlIGFyZSBubyBnYXBzIGJldHdlZW4KCSAgbGluZXMuIFRoaXMgYXR0cmlidXRlIGlzIGFsc28gZ29pbmcgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIG5leHQgcmVsZWFzZQoJICBvZiBFQlUtVFQtRC4KCSAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIGZpbGxMaW5lR2FwIHRvIHR0bWxwYXJzZSBhbmQgdHRtbHJlbmRlci4KCSAgWzFdIGh0dHBzOi8vd3d3LnczLm9yZy9UUi90dG1sLWltc2MxLjAuMS8jaXR0cy1maWxsTGluZUdhcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MDcxCgoyMDE4LTAyLTI2IDExOjIwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogcGx1Z2luczogYWRkIHNvbWUgbW9yZSBlbGVtZW50cwoJICBNYW55IHdpbGwgc3RpbGwgYmUgbWlzc2luZyBjb3JyZXNwb25kaW5nIGRvYwoJICBzZWN0aW9ucyBpbiB0aGUgc291cmNlIGNvZGUgdGhvdWdoLgoKMjAxOC0wMi0yNiAxNjowODoyOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgIHdhc2FwaTogQ2xhcmlmeSB1c2FnZSBvZiBsb3ctbGF0ZW5jeSBwcm9wZXJ0eSwgYWRkIG15c2VsZiBhcyBhdXRob3IKCSAgVGhlIGxvdy1sYXRlbmN5IHByb3BlcnR5IGlzICphbHdheXMqIHNhZmUgdG8gZW5hYmxlLCBzbyBhcHBsaWNhdGlvbnMKCSAgdGhhdCBkbyByZWFsdGltZSBjb21tdW5pY2F0aW9uIHNob3VsZCBzZXQgaXQsIGFuZCB0aGUgZWxlbWVudHMgd2lsbAoJICBhdXRvbWF0aWNhbGx5IGNvbmZpZ3VyZSBXQVNBUEkgdG8gdXNlIHRoZSBsb3dlc3QgcG9zc2libGUgZGV2aWNlCgkgIHBlcmlvZCwgYW5kIHRoZSBhdWRpb3JpbmdidWZmZXIgaW4gYXVkaW9iYXNlc2luayB3aWxsIGFsc28gYmUKCSAgY29uZmlndXJlZCBhY2NvcmRpbmdseS4KCSAgQXBwbGljYXRpb25zIGNhbiBhbHNvIHVzZSBleGNsdXNpdmUgbW9kZSBkdXJpbmcgY2FwdHVyZSBhbmQgcGxheWJhY2sKCSAgZm9yIHRoZSBsb3dlc3QgcG9zc2libGUgbGF0ZW5jeSBpZiB0aGV5IGtub3cgdGhhdCB0aGUgZGV2aWNlIHdpbGwgbm90CgkgIGJlIHVzZWQgYnkgYW55IG90aGVyIGFwcGxpY2F0aW9uLgoJICBJbiB0aGlzIG1vZGUsIHRoZSBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lIHByb3BlcnRpZXMgd2lsbCBiZQoJICBjb21wbGV0ZWx5IGlnbm9yZWQuCgoyMDE4LTAyLTI2IDE1OjU1OjE5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkgIHdhc2FwaTogQWRkIGEgcHJvcGVydHkgZm9yIHRyeWluZyB0aGUgQXVkaW9DbGllbnQzIEFQSQoJICBUaGUgQXVkaW9DbGllbnQzIEFQSSBpcyBvbmx5IGF2YWlsYWJsZSBvbiBXaW5kb3dzIDEwLCBhbmQgd2Ugd2lsbAoJICBhdXRvbWF0aWNhbGx5IGRldGVjdCB3aGVuIGl0IGlzIGF2YWlsYWJsZSBhbmQgdXNlIGl0LgoJICBIb3dldmVyLCB1c2luZyBpdCBmb3IgY2FwdHVyaW5nIGF1ZGlvIHdpdGggbG93IGxhdGVuY3kgYW5kIHdpdGhvdXQKCSAgZ2xpdGNoZXMgc2VlbXMgdG8gcmVxdWlyZSBzZXR0aW5nIHRoZSByZWFsdGltZSBwcmlvcml0eSBvZiB0aGUgZW50aXJlCgkgIHBpcGVsaW5lIHRvICJjcml0aWNhbCIsIHdoaWNoIHdlIGNhbm5vdCBkbyBmcm9tIGluc2lkZSB0aGUgZWxlbWVudC4KCSAgSGVuY2UsIHdlIGNhbiBvbmx5IGVuYWJsZSB0aGF0IGJ5IGRlZmF1bHQgZm9yIHdhc2FwaXNpbmsgc2luY2UKCSAgYXBwcyBzaG91bGQgYmUgYWJsZSB0byBzYWZlbHkgc2V0IHRoZSBsb3ctbGF0ZW5jeSBwcm9wZXJ0eSB0byBUUlVFIGlmCgkgIHRoZXkgbmVlZCBsb3ctbGF0ZW5jeSBjYXB0dXJlIG9yIHBsYXliYWNrLgoKMjAxOC0wMi0xNCAyMDoxMjowNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBTZXQgcmVhbHRpbWUgdGhyZWFkIHByaW9yaXR5IGF0IHJ1bnRpbWUKCSAgVXNlIExvYWRMaWJyYXJ5KCkgdG8gc2V0IHRoZSB0aHJlYWQgY2hhcmFjdGVyaXN0aWNzIGF0IHJ1bnRpbWUgc28gaXQKCSAgd29ya3MgYXV0b21hZ2ljYWxseSByZWdhcmRsZXNzIG9mIHdoZXJlIG9yIGhvdyB0aGUgcGx1Z2luIHdhcyBidWlsdC4KCjIwMTgtMDItMTQgMTI6MTM6MzYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0YXVkaW9jbGllbnQzLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogVXNlIElBdWRpb0NsaWVudDMgaW50ZXJmYWNlIHdoZW4gYXZhaWxhYmxlCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHJlcXVlc3QgdWx0cmEtbG93LWxhdGVuY3kgZGV2aWNlIHBlcmlvZHMgZXZlbiBpbgoJICBzaGFyZWQgbW9kZS4gSG93ZXZlciwgdGhpcyByZXF1aXJlcyBnb29kIGRyaXZlcnMgYW5kIFdpbmRvd3MgMTAsIHNvCgkgIHdlIG9ubHkgZW5hYmxlIHRoaXMgd2hlbiB3ZSBkZXRlY3QgdGhhdCB3ZSBhcmUgcnVubmluZyBvbiBXaW5kb3dzIDEwCgkgIGF0IHJ1bnRpbWUuCgkgIFlvdSBjYW4gZm9yY2libHkgZGlzYWJsZSB0aGlzIGZlYXR1cmUgb24gV2luZG93cyAxMCBieSBzZXR0aW5nCgkgIEdTVF9XQVNBUElfRElTQUJMRV9BVURJT0NMSUVOVDM9MSBpbiB0aGUgZW52aXJvbm1lbnQuCgoyMDE4LTAyLTE0IDExOjU2OjQ1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgd2FzYXBpOiBfX3V1aWRvZiBpcyBzaW1wbHkgbm90IGF2YWlsYWJsZSBpbiBDCgkgIEZpeCBjb21tZW50LCBhbmQgZG9uJ3QgdHJ5IHRvIHVzZSBpdCBhdCBhbGwuCgoyMDE4LTAyLTE0IDExOjQ3OjE0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgd2FzYXBpOiBTZXQgYSBkZWZhdWx0IGNhdGVnb3J5IGZvciB1dGlsIGZ1bmN0aW9ucwoJICBXaXRob3V0IHRoaXMsIHRoZXkgYWxsIGdvIHRvIHRoZSBkZWZhdWx0IGNhdGVnb3J5IHdoZXJlIHRoZXkgY2FuIGJlCgkgIG1pc3NlZAoKMjAxOC0wMi0xNCAwOToyNzozMSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBVc2UgYSBtYWNybyBmb3IgSFJFU1VMVCBmYWlsdXJlIHBhdGhzCgkgIFNhdmVzIGEgbG90IG9mIGJvaWxlcnBsYXRlIGFjcm9zcyBhbGwgZmlsZXMuCgoyMDE4LTAyLTIzIDE0OjA4OjMyIC0wOTAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSAgY2hlY2tzdW1zaW5rOiByZW1vdmUgc3JjIHBhZCB0ZW1wbGF0ZSBmcm9tIHNpbmsgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNzc0CgoyMDE4LTAyLTIzIDE0OjMwOjU2IC0wOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvbXNkay5jOgoJICBtc2RrOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgVGhlcmUncyB1bnVzZWQgY29kZSByZW1haW5pbmcgc2luY2UgTVNESyBidWZmZXJwb29sIHBhdGNoZXMgbGFuZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNzQxCgoyMDE4LTAyLTE2IDA5OjE3OjQwICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZXh0L3NydC9nc3RzcnRiYXNlc2luay5jOgoJKiBleHQvc3J0L2dzdHNydGJhc2VzaW5rLmg6CgkqIGV4dC9zcnQvZ3N0c3J0Y2xpZW50c2luay5jOgoJKiBleHQvc3J0L2dzdHNydHNlcnZlcnNpbmsuYzoKCSAgc3J0OiBBZGQgc3VwcG9ydCBmb3Igc3RyZWFtaGVhZGVycyB0byBzaW5rcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNTAzCgoyMDE4LTAyLTE2IDA5OjE2OjEyICswMTAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZXh0L3NydC9nc3RzcnRjbGllbnRzaW5rLmM6CgkqIGV4dC9zcnQvZ3N0c3J0c2VydmVyc2luay5jOgoJICBzcnQ6IFJlZmFjdG9yIGdzdF9zcnRfKl9zaW5rX3NlbmRfYnVmZmVyLCBleHRyYWN0IHNlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzUwMwoKMjAxOC0wMi0xNiAwOToxMjo1MSArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnQvZ3N0c3J0YmFzZXNpbmsuYzoKCSogZXh0L3NydC9nc3RzcnRjbGllbnRzaW5rLmM6CgkqIGV4dC9zcnQvZ3N0c3J0c2VydmVyc2luay5jOgoJICBzcnQ6IEFkZCBnc3Rfc3J0X2Jhc2Vfc2lua19zdG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM1MDMKCjIwMTgtMDItMTUgMTI6MDc6MzIgKzAxMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0L2dzdHNydGJhc2VzaW5rLmM6CgkqIGV4dC9zcnQvZ3N0c3J0YmFzZXNpbmsuaDoKCSAgc3J0OiBSZW1vdmUgdW51c2VkIHF1ZXVlZF9idWZmZXJzIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM1MDMKCjIwMTgtMDItMjIgMTI6MzI6NDUgLTA5MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSAgbXNka2VuYzogcmVtb3ZlIHVubmVjZXNzYXJ5IG1lbXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDc5CgoyMDE4LTAyLTIyIDEyOjMyOjIwIC0wOTAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuaDoKCSAgbXNkazogZW5jOiBTdXBwb3J0IGZvcmNlLWtleS11bml0IGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNDc5CgoyMDE4LTAyLTA3IDE2OjI5OjU5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogRXhwb3NlIGZyYW1lcmF0ZSBldmVuIGlmIGZpeGVkX2ZyYW1lX3JhdGUgZmxhZyBpc24ndCBzZXQKCSAgVGhlcmUgaXMgbm90aGluZyBpbiB0aGUgc3BlYyB0aGF0IHN0YXRlIHRoYXQgZnJhbWVyYXRlIGlzIG5vdCB2YWxpZCBpbgoJICB0aGF0IGNhc2UuIFRoaXMgYWxpZ25zIEdTdHJlYW1lciB3aXRoIEZGTVBFRyBiZWhhdmlvdXIgZm9yIHNpbWlsYXIKCSAgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzI4NAoKMjAxOC0wMi0yMSAxOTo0NTozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogc2ltcGxpZnkgR1NUX0RJU0FCTEVfR1NUX0RFQlVHIGNoZWNrIGFuZCBkb24ndCB1c2UgYWRkX2dsb2JhbF8qCgkgIGFkZF9nbG9iYWxfYXJndW1lbnRzKCkgY2FuJ3QgYmUgdXNlZCBpbiBzdWJwcm9qZWN0cy4gSXQncwoJICBlbnRpcmVseSBwb3NzaWJsZSB0aGF0IC1iYWQgaXMgYSBzdWJwcm9qZWN0IGJ1dCBnc3RyZWFtZXIKCSAgaXMgcGlja2VkIHVwIGZyb20gYW4gaW5zdGFsbGVkIGxvY2F0aW9uLCBzbyB3ZSBzaG91bGQKCSAgcmVhbGx5IHVzZSBhZGRfcHJvamVjdF9hcmd1bWVudHMoKSBpbiBib3RoIGNhc2VzLgoKMjAxOC0wMi0yMSAxMTo0MTo0MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZmFrZXZpZGVvc2luay5jOgoJICBkb2M6IEFkZCBzZWN0aW9uIGZvciBmYWtldmlkZW9zaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM2MjQKCjIwMTgtMDItMTkgMjI6MDI6MTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGZha2V2aWRlb3NpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZmFrZXZpZGVvc2luay5oOgoJKiBnc3QvZGVidWd1dGlscy9tZXNvbi5idWlsZDoKCSAgQWRkIGZha2V2aWRlb3NpbmsgZWxlbWVudAoJICBUaGlzIGlzIGEgd3JhcHBlciBhcm91bmQgZmFrZXNpbmsgdGhhdCB3aWxsIGFkdmVydGlzZSBHc3RWaWRlb01ldGEKCSAgYW5kIG90aGVyIG1ldGEgQVBJIGluIG9yZGVyIHRvIGFjaGlldmUgemVyby1jb3B5IHdoZW5ldmVyIHBvc3NpYmxlLgoJICBoaXMgbmV3IGVsZW1lbnQgaXMgdXNlZnVsIHdoZW4gZG9pbmcgcGVyZm9ybWFuY2UgdGVzdGluZyB3aXRoCgkgIHZpZGVvIHN0cmVhbSBhbmQgZG9uJ3Qgd2FudCB0aGUgc2luayBjYXBhYmlsaXR5IHRvIGNoYW5nZSB0aGUKCSAgdXBzdHJlYW0gYmVoYXZpb3VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzNjI0CgoyMDE4LTAyLTE5IDIxOjUyOjQzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9tZXNvbi5idWlsZDoKCSAgbWVzb246IFJlbW92ZSB1bnVzZWQgaGVhZGVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzYyNAoKMjAxOC0wMi0xOSAxNDo1MjozMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydC9tZXNvbi5idWlsZDoKCSAgRml4IFNSVCBMaWJyYXJ5IHBhY2thZ2UgY29uZmlnIG5hbWUKCjIwMTgtMDItMTkgMTU6NDU6MzYgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogVXNlIC5keWxpYiBzdWZmaXggaWYgZGFyd2luCgkgIEZvciBNYWMgT1MsIEdTVF9FWFRSQV9NT0RVTEVfU1VGRklYIHNob3VsZCBiZSBzZXQgYXMgJy5keWxpYicuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM1ODUKCjIwMTgtMDItMjAgMTc6MjI6MzUgLTA5MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSAgbXNkazogZW5jOiBGaXggdHlwbwoKMjAxOC0wMi0xNSAxOTowMDowNCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuaDoKCSAgbXNkazogaDI2NF9lbmM6IEVuYWJsZSBCLXB5cmFtaWQgcHJlZGljdGlvbiBzdXBwb3J0CgkgIFNpbmNlIHRoZXJlIGlzIGFscmVhZHkgYW4gImFkYXB0aXZlLUIiIG9wdGlvbiwganVzdAoJICB1c2UgYm9vbGVhbiBwcm9wZXJ0eSBmb3IgQi1weXJhbWlkIGVuYWJsaW5nLgoJICBGaXhtZTogTm90IHN1cmUgd2hldGhlciB0aGlzIGNhbiBiZSBzdXBwb3J0ZWQgaW4gdnA4IGFuZCB2cDkuCgkgIEl0IGNvdWxkIGJlIHBvc3NpYmxlIHRocm91Z2ggR1BCIChiIHdpdGhvdXQgYmFja3dhcmQgcmVmKSBidXQKCSAgY2FuJ3QgdmVyaWZ5IGN1cnJlbnRseS4gV2UgY2FuIG1vdmUgdGhpcyBhcyBjb21tb24gcHJvcGVydHkKCSAgb25jZSB2ZXJpZmllZCB3aXRoIHZwOCBhbmQgdnA5IHdpdGhvdXQgYnJlYWtpbmcgYW55IGJhY2t3YXJkCgkgIGNvbXBhdGliaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE2MzcKCjIwMTgtMDItMTUgMTc6Mjk6MTMgKzAwMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5oOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NGVuYy5jOgoJKiBzeXMvbXNkay9tc2RrLWVudW1zLmM6CgkqIHN5cy9tc2RrL21zZGstZW51bXMuaDoKCSAgbXNkazogQWRkIG1vcmUgdHVuaW5nIG9wdGlvbnMKCSAgQWRkZWQgdHVuaW5nIG9wdGlvbnMgZm9yIG1iIGxldmVsIGJpdHJhdGUgY29udHJvbCwKCSAgYWRhcHRpdmUgSS1mcmFtZSBpbnNlcnRpb24sIGFuZCBhZGFwdGl2ZSBCLWZyYW1lIGluc2VydGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYzNwoKMjAxOC0wMi0xNSAxNjozMTo1NiArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuaDoKCSAgbXNkazogaDI2NF9lbmM6IEFkZCBzbGljZSBzaXplIHR1bmluZyBvcHRpb24KCSAgQWNjb3JkaW5nIHRvIHNwZWMsIGl0IGlzIGEgZ2VuZXJhbCBwcm9wZXJ0eS4gQnV0IGJhc2VkIG9uCgkgIHRlc3RpbmcgaXQgb25seSB3b3JrcyBmb3IgaDI2NCBlbmNvZGVyLgoJICBMZXQncyBrZWVwIGl0IGFzIGgyNjQgc3BlY2lmaWMgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYzNwoKMjAxOC0wMi0xNSAxNTo1OTowOCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvTWFrZWZpbGUuYW06CgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5oOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NGVuYy5jOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSogc3lzL21zZGsvbXNkay1lbnVtcy5jOgoJKiBzeXMvbXNkay9tc2RrLWVudW1zLmg6CgkgIG1zZGs6IG1vdmUgZW51bSBkZWZpbml0aW9ucyB0byBzZXBhcnRlIGZpbGUKCSAgTW92ZSBlbnVtIHZhbHVlIGRlZmludGlvbnMgd2hpY2ggYXJlIChvciBpbiBmdXR1cmUpIHN1cHBvcnRlZAoJICBieSBtb3JlIHRoYW4gb25lIGNvZGVjIGludG8gYSBjb21tb24gZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYzNwoKMjAxOC0wMi0xNSAxNTowNToxMCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuaDoKCSAgbXNkazogZW5jb2RlcjogaDI2NDogRW5hYmxlIHRyZWxsaXMgcXVhbnRpemF0aW9uIHR1bmluZwoJICBBZGQgYSBuZXcgcHJvcGVydHkgInRyZWxsaXMiIHRvIGVuYWJsZSB0cmVsbGlzIHF1YW50aXphdGlvbi4KCSAgS2VlcGluZyB0cmVsbGlzIGFzIGEgZmxhZyB2YWx1ZSAod2hpY2ggaXMgYm9vbGVhbiBmb3IgZ3N0IHgyNjQgZW5jIGVsZW1lbnQpCgkgIHNpbmNlIGl0IGlzIHBvc3NpYmxlIHRvIGVuYWJsZS9kaXNhYmxlIHRoaXMgc2VwZXJhdGVseSBmb3IKCSAgSSxQIGFuZCBCIGZyYW1lcyB0aHJvdWdoIE1lZGlhU0RLIGV4dCBvcHRpb24gaGVhZGVycy4KCSAgVGhlIHN1YmNsYXNzIGltcGxlbWVudGF0aW9ucyBhbHdheXMgbmVlZCB0byBpbmZvcm0gYmFzZS1lbmNvZGVyCgkgIGlmIGl0IHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgRXh0ZW5kIEhlYWRlciBidWZmZXJzIChtZnhFeHRDb2RpbmdPcHRpb24yCgkgIGFuZCBtZnhFeHRDb2RpbmdPcHRpb24zKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYzNwoKMjAxOC0wMi0xNSAxMjoxOTo0OCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuaDoKCSAgbXNkazogaDI2NF9lbmM6IEFkZCBMb29rYWhlYWREb3duc2FtcGxpbmcgc3VwcG9ydAoJICBUaGlzIG9wdGlvbiBjb250cm9scyBkb3duIHNhbXBsaW5nIGluIGxvb2sgYWhlYWQgYml0cmF0ZQoJICBjb250cm9sIG1vZGUuIEFjY29yZGluZyB0byBzcGVjIGl0IGlzIG9ubHkgc3VwcG9ydGVkIGluIEFWQy4KCSAgRml4bWU6IFByb2JhYmx5IEhFVkMgYWxzbyBoYXZlIHN1cHBvcnQgZm9yIHRoaXMgaW4gcmVjZW50CgkgIE1TREsgdmVyc2lvbnMuIFdlIGNvdWxkIG1vdmUgdGhlIGVudW1lcmF0aW9uIHR5cGVzIHRvIGNvbW1vbgoJICBoZWFkZXIgdXNhYmxlIGZvciBtdWx0aXBsZSBjb2RlY3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE2MzcKCjIwMTgtMDItMTQgMTc6MDE6MzggKzAwMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5oOgoJICBtc2RrOiBlbmNvZGU6IEFkZCBtb3JlIHJhdGUgY29udHJvbCBvcHRpb25zCgkgIE1lZGlhU0RLIGhhcyBzdXBwb3J0IGZvciBhIG51bWJlciBvZiByYXRlIGNvbnRyb2wgYWxnb3JpdGhtcy4KCSAgQWRkaW5nIGFsbCBwb3NzaWJsZSBvcHRpb25zIHRvIHRoZSBwcm9wZXJ0eSByYXRlLWNvbnRyb2wuCgkgIEZpeG1lMTogSW4gY2FzZSBvZiBmYWlsdXJlLCBjdXJyZW50bHkgd2UgZG9uJ3QgaGF2ZSBhIHByb3BlciBtZXRob2QKCSAgdG8gc2hvdyB3aGljaCByYXRlLWNvbnRyb2wgaGFzIGJlZW4gZmFpbGVkLiBJdCBjb3VsZCBiZSBiZXR0ZXIKCSAgdG8gYWRkIHNvbWUgZXh0ZW5zaXZlIHZhbGlkYXRpb24gb24gRW5jUXVlcnkgb3V0cHV0IGluIGNhc2Ugb2YgZXJyb3IuCgkgIFVuZm9ydHVuYXRlbHksIG5vdCBhbGwgcmF0ZWNvbnRyb2wgbWV0aG9kcyBhcmUgc3VwcG9ydGVkIGJ5IGV2ZXJ5IGNvZGVjcwoJICBhbmQgd2UgZG9uJ3QgaGF2ZSB0aGUgZHluYW1pYyBkZXRlY3Rpb24gb2Ygc3VwcG9ydGVkIHJhdGVjb250cm9sIG1ldGhvZHMgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNjM3CgoyMDE4LTAyLTE0IDE2OjI3OjQ3ICswMDAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuaDoKCSAgbXNkazogZW5jb2RlOiBBZGQgcHJvcGVydHkgdG8gc2V0IHNsaWNlL3BhcnRpdGlvbmluZwoJICBBZGRpbmcgYSBuZXcgcHJvcGVydHkgbnVtLXNsaWNlcyB0byBzZXQgdGhlIG51bWJlciBvZgoJICBzbGljZXMvcGFydGl0aW9ucyBwZXIgZnJhbWUuIEFkZGluZyBpdCBhcyBhIGdlbmVyYWwKCSAgcHJvcGVydHkgZm9yIGFsbCBjb2RlY3MgKGV4Y2VwdCBqcGVnKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYzNwoKMjAxOC0wMi0xNCAxNDoyOTo1NyArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjVlbmMuYzoKCSAgbXNkazogZW5jb2RlcjogaDI2NTogZ2VuZXJhbGl6ZSB0aGUgYmVoYXZpb3Igb2YgImktZnJhbWVzIiBwcm9wZXJ0eQoJICBXZSBoYXZlIHRoZSBwcm9wZXJ0eSAiaS1mcmFtZXMiIHRvIHNldCB0aGUgSURSIGludGVydmFsIGluIGEKCSAgZ29wLiBVbmZvcnR1bmF0ZWx5IE1TREsgSEVWQyBlbmNvZGVyIGJlaGF2ZXMgYml0IGRpZmZlcmVudGx5CgkgIGZvciBJZHJJbnRlcnZhbCBmaWVsZCwgSWRySW50ZXZhbCA9PSAxIGluZGljYXRlIGV2ZXJ5CgkgIEktZnJhbWUgc2hvdWxkIGJlIGFuIElEUiAod2hpY2ggaXMgSWRySW50ZXJ2YWwgPT0gMCBmb3Igb3RoZXIgY29kZWNzKSwKCSAgSWRySW50ZXZhbCA9PSAyIG1lYW5zIGV2ZXJ5IG90aGVyIEktZnJhbWUgaXMgYW4gSURSCgkgICh3aGljaCBpcyBJZHJJbnRlcnZhbCA9PSAxIGZvciBvdGhlciBjb2RlY3MpIGV0Yy4KCSAgU28gd2UgZ2VuZXJhbGl6ZSB0aGUgYmVoYXZpb3VyIG9mIHByb3BlcnR5ICJpLWZyYW1lcyIgYnkKCSAgaW5jcmVtZW50aW5nIHRoZSB2YWx1ZSBieSBvbmUgaW4gZWFjaCBjYXNlIChvbmx5IGZvciBIRVZDKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYzNwoKMjAxOC0wMi0xNCAxMTo0Mjo1NSArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmg6CgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY0ZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY1ZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGttcGVnMmVuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrdnA4ZW5jLmM6CgkgIG1zZGs6IGVuY29kZXI6IHJlZ2lzdGVyIG9ubHkgdGhlIHJlcXVpcmVkIHByb3BlcnRpZXMKCSAgVGhlIGJhc2UgZW5jb2RlciBjb21tb24gcHJvcGVydGllcyBhcmUgbm90IHZhbGlkIGZvcgoJICBtanBlZyBlbmNvZGVyIHdoZXJlIHRoZXJlIGlzIG5vIG1vdGlvbiBjb21wZW5zYXRpb24gb3IgcmF0ZSBjb250cm9sLgoJICBEZWxheWluZyB0aGUgcHJvcGVydHkgaW5zdGFsbGF0aW9uIG9uIHRoZSBiYXNlIGdvYmplY3QKCSAgdW50aWxsIHRoZSBzdWJjbGFzcyBjbGFzc19pbml0IGdldCBpbnZva2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNjM3CgoyMDE4LTAyLTE4IDE0OjQ2OjUyICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJICBtc2RrOiBhZGQgbWlzc2luZyBmaWxlcyBmb3IgZGlzdCB0YXJnZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzU2MwoKMjAxOC0wMi0xOCAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jb2xvcm1hbmFnZW1lbnQvTWFrZWZpbGUuYW06CgkgIGNvbG9ybWFuYWdlbWVudDogTGluayB0byBsaWJnc3RiYXNlIGZvciBiYXNldHJhbnNmb3JtCgoyMDE4LTAyLTE4IDExOjQ5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogR0xfTElCUyBkb2VzIG5vdCBleGlzdCBhbnltb3JlIGJ1dCBYMTFfTElCUyBkb2VzIGFuZCBpcyBuZWVkZWQKCSAgSW4gY2FzZSBvZiBYMTEgd2UgaGF2ZSB0byBjYWxsIFhJbml0VGhyZWFkcygpLgoKMjAxOC0wMi0xOCAxMTozNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgY29uZmlndXJlIGNoZWNrIGZvciBnbW9kdWxlLW5vLWV4cG9ydC0yLjAKCSAgVGhpcyBpcyBuZWVkZWQgZm9yIGFsbCBjb2RlIHVzaW5nIHRoZSBnX21vZHVsZV8qKCkgQVBJLgoKMjAxOC0wMi0xNiAxNzozNjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2VicnRjOiBXZSBuZWVkIGF0IGxlYXN0IGxpYm5pY2UgMC4xLjE0CgkgIG1lc29uLmJ1aWxkIGFscmVhZHkgcmVxdWlyZWQgdGhhdCwgbGV0J3MgZG8gdGhlIHNhbWUgZm9yIGNvbmZpZ3VyZS5hYwoKMjAxOC0wMi0xNSAxOTo0NDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvYnVmZmVyc3BsaXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peG1hdHJpeC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9ybWFuYWdlbWVudC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZTI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZGthYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pcGNwaXBlbGluZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uaHR0cHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2xtaXhlcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcHJveHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNiYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltZWNvZGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZ1bGthbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIG1lc29uLmJ1aWxkOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEzLjEgPT09CgoyMDE4LTAyLTE1IDE3OjEzOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTkVXUzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMy4xCgoyMDE4LTAyLTE1IDE4OjUwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvbXBvc2l0b3IvY3Jvc3NmYWRlLmM6CgkgIERpc3QgY29tcG9zaXRvciBjcm9zc2ZhZGUgZXhhbXBsZSBhbmQgcHl0aG9ucyBzY3JpcHQgZm9yIG1lc29uIGJ1aWxkCgkgIEFuZCBhZGQgdG8gYXV0b3Rvb2xzIGJ1aWxkIHNvIGl0IGdldHMgZGlzdGVkLgoKMjAxOC0wMi0xNSAxNTowNzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTgtMDItMTUgMTQ6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2hyLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25sLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDE4LTAyLTE1IDE0OjU3OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvYnVmZmVyc3BsaXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peG1hdHJpeC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9ybWFuYWdlbWVudC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZTI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZGthYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pcGNwaXBlbGluZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uaHR0cHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsbWl4ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5oMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXByb3h5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zYmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwZWxlbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWVjb2RlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0bWxzdWJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12dWxrYW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTgtMDItMTQgMTU6NTc6NDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGFycmF5IG9mIGRldmljZXMgdXNhZ2UKCSAgV2UgbmVlZCB0byBhbGxvY2F0ZSBhY3R1YWwgRGV2aWNlIHN0cnVjdHVyZXMgc2luY2Ugd2UgYXJlIGdvaW5nCgkgIHRvIGJlIHNldHRpbmcgY2FsbGJhY2tzIHdpdGggYWRkcmVzcyB0byB0aGF0IHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjM5CgoyMDE4LTAyLTE0IDE0OjM2OjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkgIFVwZGF0ZSBPUkMgZmFsbGJhY2sgZGlzdGVkIGNvZGUKCjIwMTgtMDItMDUgMDg6NTI6NTUgKzAwMDAgIFNlYW4gRHVCb2lzIDxzZWFuQHNpb2J1ZC5jb20+CgoJKiBleHQvYW9tL2dzdGF2MWVuYy5jOgoJKiBleHQvYW9tL2dzdGF2MWVuYy5oOgoJICBhb206IEltcGxlbWVudCBjcHUtdXNlZCBpbiBhdjFlbmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTY3NAoKMjAxOC0wMi0xMyAxMToxNjoyOSArMDEwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IEZpeGVkIHNlZ2ZhdWx0IGluIHBubWVuYwoJICBUaGUgcG5tZW5jIHdhcyBub3QgbWFwcGluZyB0aGUgaW5wdXQgYnVmZmVycyBhcyB2aWRlbyBidWZmZXJzLiBCZWNhdXNlCgkgIG9mIHRoaXMsIHRoZSB2aWRlbyBmcmFtZSBzdHJpZGUgd2FzIG5vdCBiZWluZyBzZXQgYmFzZWQgb24gZnJhbWUgYnV0CgkgIGJhc2VkIG9uIHRoZSBjYXBzLCB3aGljaCBtYWtlIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhlIHN0cmlkZXMgYXJlIGEKCSAgcG93ZXIgb2YgNC4gRm9yIGlucHV0IHRoYXQgaXMgbm90IGEgcG93ZXIgb2YgNCwgdGhpcyB3b3VsZCBsZWFkIHRvIGEKCSAgU0lHU0VHVi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzQxOQoKMjAxOC0wMi0xMyAxNzozOToyNiAtMDkwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogY2hlY2sgZ3VkZXYgZGVwZW5kZW5jeSBmb3IgbXNkayBwbHVnaW4KCSAgZ3VkZXYgaXMgdGhlIGRlcGVuZGVjeSBmb3IgcmVuZGVybm9kZSBzdXBwb3J0IGluIE1lZGlhU0RLIHBsdWdpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTU5OQoKMjAxOC0wMi0xMyAxNDo0MTo1MiAtMDkwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka3ZjMWRlYy5jOgoJICBtc2RrOiB2YzFfZGVjOiBBZGQgQWR2YW5jZWQgcHJvZmlsZSAoV1ZDMSkgc3VwcG9ydAoJICBPbmx5IHN1cHBvcnRpbmcgYXNmIGhlYWRlci1mb3JtYXQgaGF2aW5nIEJEVXMgd2l0aCBzdGFydGNvZGUuCgkgIEl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRvIHN1cHBvcnQgb3RoZXIgZm9ybWF0cyB0b28sIGJ1dCBoYXZlbid0IHRlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjU4OQoKMjAxOC0wMi0xMyAxNDo0MToyMCAtMDkwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2RlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmg6CgkgIG1zZGs6IGRlYzogQWRkIG5vbi1wYWNrZXRpemVkIHN0cmVhbSBoYW5kbGluZyBzdXBwb3J0CgkgIFRoZSBnc3QtbXNkayBkZWNvZGVycyBwcmVmZXIgcGFja2V0aXplZCBzdHJlYW1zIGFzIGlucHV0CgkgIGFuZCBpbiB0aGlzIGNhc2Ugd2UgY2FuIGF2b2lkIHVubmVjZXNzYXJ5IGlucHV0IGJpdHN0cmVhbSBjb3B5CgkgIHRvIG1meEJpdHN0cmVhbS4gVGhpcyB3b3JrcyBmaW5lIGZvciBjb2RlY3MgbGlrZSBoMjY0IHdoZXJlCgkgIHdlIG9ubHkgc3VwcG9ydCBieXRlLXN0cmVhbSB3aXRoIGF1IGFsaWdubWVudC4gT3RoZXIgZm9ybWF0CgkgIGNvbnZlcnNpb25zIHNob3VsZCBiZSBkb25lIHRob3J1Z2ggcGFyc2Vycy4gQnV0IHRoaXMgd29uJ3Qgd29yawoJICBmb3IgY29kZWNzIGxpa2UgdmMxIHdoZXJlIHdlIGRvbid0IGhhdmUgYW4gYXV0b3BsdWdnZWQgcGFyc2VyLgoJICBFdmVuIHRoZSBwYXJzZXIgaXMgbm90IGNhcGFibGUgdG8gZG8gZm9ybWF0IGNvbnZlcnNpb25zLgoJICBQYWNrZXRpemluZyB0aHJvdWdoIGJhc2UgZGVjb2RlcnMgcGFyc2UoKSByb3V0aW5lIHdpbGwgYnJpbmcgYQoJICBsb3Qgb2YgdW5jZWNlc3Nhcnkgb2YgY29tcGxleGl0aWVzIGFuZCBjb2RlY3BhcnNlciBsaWJyYXJheSBkZXBlbmRlbmN5LgoJICBTbyB3ZSBqdXN0IHVzZSBhbiBpbnRlcmFsIGdzdF9hZGFwZXIgdG8ga2VlcCB0cmFjayBvZiBiaXRzdHJlYW0KCSAgd2hpY2ggaXMgbm90IGNvbnN1bWVkIGJ5IG1zZGsgZHVyaWcgQXN5bmNocm9udXNEZWNvZGluZy4KCSAgVGhpcyBhZGFwdGVyIHdpbGwgZ2V0IHVzZWQgb25seSBpZiBzdWJjbGFzcyBpbXBsZW1lbnRhdGlvbnMKCSAgc2V0IHRoZSAiaXNfcGFja2V0aXplZCIgdG8gRkFMU0UgZm9yIG1zZGsgYmFzZSBlbmNvZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNTg5CgoyMDE4LTAyLTEzIDE0OjQwOjU0IC0wOTAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNkay5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrdmMxZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2YzFkZWMuaDoKCSogc3lzL21zZGsvbWVzb24uYnVpbGQ6CgkgIG1zZGs6IEFkZCBWQzEgZGVjb2RlciAoc2ltcGxlIGFuZCBtYWluIHByb2ZpbGVzKQoJICBBZGRpbmcgU2ltcGxlIGFuZCBNYWluIHByb2ZpbGVzIGRlY29kZSBzdXBwb3J0LgoJICBDdXJyZW50bHkgbXNka3ZjMWRlYyBpcyBub3QgY2FwYWJsZSB0byBoYW5kbGUgdGhlIGNvZGVjX2RhdGEsCgkgIG9ubHkgaW5zdHJlYW0gaGVhZGVycyBhcmUgc3VwcG9ydGVkLiBBbHNvIG1zZGsgdmMxIGRlY29kZXIKCSAgZXhwZWN0aW5nIGluc3RyZWFtIHdpdGggU2VxdWVuY2UgaGVhZGVyIGFzIHBlciBTTVBURSA0MjFNIEFubmV4IEwuCgkgIE1vc3Qgb2YgdGhlIGRlY2RvZWJpbi9wbGF5YmluIHBpcGVsaW5lIHdvbid0IHdvcmsgd2l0aCB0aGUgYWJvdmUKCSAgY29uc3RyYWludHMKCSAgYmVjYXVzZSB2YzFwYXJzZSBpcyBzdGlsbCBub3QgYW4gYXV0b3BsdWcgZWxlbWVudC4KCSAgT25seSB3YXkgdG8gbWFrZSBtc2tkdmMxZGVjIHdvcmsgaXMgYnkgY29ubmVjdGluZyBhIHZjMXBhcnNlCgkgIGFzIGFuIHVwc3RyZWFtIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI1ODkKCjIwMTgtMDItMTMgMTQ6NDA6MjIgLTA5MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RrY29udGV4dC5jOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkayA6IEFkZCBSZW5kZXJOb2RlIHN1cHBvcnQKCSAgVXNlIGRybSByZW5kZXIgbm9kZSBhcyB0aGUgZmlyc3QgY2hvaWNlIG9mIGRldmljZSBub2RlIGZpbGUuCgkgIEZhbGwgYmFja3MgdG8gdXNlIGRybSBwcmltYXJ5ICgvZGV2L2RyaS9jYXJkWzAtOV0pCgkgIGlmIHRoZXJlIGlzIG5vIHJlbmRlciBub2RlIGF2YWlsYWJsZQoJICBCYXNpYyBsb2dpYyBpcyBpbmhlcml0ZWQgZnJvbSBnc3RyZWFtZXItdmFhcGksIGJ1dCB1c2luZwoJICBndWRldiBBUEkgcmF0aGVyIHRoYW4gbGlidWRldiBkaXJlY3RseS4KCSAgQWRkZWQgZ3VkZXYgbGlicmFyeSBhcyBkZXBlbmRlbmN5IGZvciBtc2RrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNTk5CgoyMDE4LTAyLTEzIDEzOjU0OjAzIC0wOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2FsbG9jYXRvci5oOgoJKiBzeXMvbXNkay9nc3Rtc2RrYWxsb2NhdG9yX2QzZC5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrdmlkZW9tZW1vcnkuYzoKCSogc3lzL21zZGsvbWVzb24uYnVpbGQ6CgkgIG1zZGs6IEF2b2lkIGJ1aWxkIGZhaWx1cmVzIG9uIFdpbmRvd3MgdW50aWwgZDNkIGFsbG9jYXRvciBpcyBpbXBsZW1lbnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNzUyCgoyMDE4LTAyLTEzIDEzOjUzOjAyIC0wOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2RlYy5jOgoJICBtc2RrZGVjOiB1c2UgdmlkZW8gbWVtb3J5IGlmIHRoZXJlJ3MgYW5vdGhlciBNU0RLIGNvbnRleHQgaW4gYSBwaXBlbGluZQoJICAxXCBJZiBkb3duc3RyZWFtJ3MgcG9vbCBpcyBNU0RLIGJ1ZmZlcnBvb2wsCgkgIDJcIElmIHRoZXJlJ3Mgc2hhcmVkIEdzdE1zZGtDb250ZXh0IGluIHRoZSBwaXBlbGluZSwKCSAgYSBkZWNvZGVyIGRlY2lkZXMgdG8gdXNlIHZpZGVvIG1lbW9yeS4KCSAgVGhpcyBwb2xpY3kgc2hvdWxkIGJlIGltcHJvdmVkIHRvIGhhbmRsZSBtb3JlIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNzUyCgoyMDE4LTAyLTEzIDEzOjUyOjE0IC0wOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2NvbnRleHQuYzoKCSogc3lzL21zZGsvZ3N0bXNka2NvbnRleHQuaDoKCSogc3lzL21zZGsvZ3N0bXNka2RlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmM6CgkgIG1zZGs6IGFkZCBhc3luYyBkZXB0aCBmcm9tIGVhY2ggbXNkayBlbGVtZW50IHRvIEdzdE1zZGtDb250ZXh0IHRvIGJlIHNoYXJlZAoJICBJbiBjYXNlIHRoYXQgcGlwZWxpbmUgaXMgbGlrZSAiLi4gISBkZWNvZGVyICEgZW5jb2RlciAhIC4uLiIgd2l0aCB1c2luZwoJICB2aWRlbyBtZW1vcnksCgkgIGRlY29kZXIgbmVlZHMgdG8ga25vdyB0aGUgYXN5bmMgZGVwdGggb2YgdGhlIGZvbGxvd2luZyBtc2RrIGVsZW1lbnQgc28KCSAgdGhhdCBpdCBjb3VsZAoJICBhbGxvY2F0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgdmlkZW8gbWVtb3J5LgoJICBPdGhlcndpc2UsIGRlY29kZXIncyBtZW1vcnkgaXMgZXhoYXVzdGVkIHdoaWxlIHByb2Nlc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTM6NTE6MTggLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuaDoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmg6CgkgIG1zZGtkZWMvZW5jOiBxdWVyeSBHc3RDb250ZXh0IHRvIHNoYXJlIEdzdE1zZGtDb250ZXh0CgkgIEhvdyB0byBzaGFyZS9jcmVhdGUgR3N0TXNka2NvbnRleHQgaXMgdGhlIGZvbGxvd2luZzoKCSAgLSBTZWFyY2ggR3N0TXNka0NvbnRleHQgaWYgdGhlcmUncyBpbiB0aGUgcGlwZWxpbmUuCgkgIC0gSWYgZm91bmQsIGNoZWNrIGlmIGl0J3MgZGVjb2RlciwgZW5jb2RlciBvciB2cHAgYnkgam9iIHR5cGUuCgkgIC0gSWYgaXQncyBzYW1lIGpvYiB0eXBlLCBpdCBjcmVhdGVzIGFub3RoZXIgaW5zdGFuY2Ugb2YKCSAgR3N0TXNka0NvbnRleHQKCSAgd2l0aCBqb2luZWQtc2Vzc2lvbi4KCSAgLSBPdGhlcndpc2UganVzdCB1c2UgdGhlIHNoYXJlZCBHc3RNc2RrQ29udGV4dC4KCSAgLSBJZiBub3QgZm91bmQsIGp1c3QgY3JlYXRlcyBuZXcgaW5zdGFuY2Ugb2YgR3N0TXNka0NvbnRleHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTM6NTA6NDggLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrY29udGV4dC5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrY29udGV4dC5oOgoJKiBzeXMvbXNkay9nc3Rtc2RrY29udGV4dHV0aWwuYzoKCSogc3lzL21zZGsvZ3N0bXNka2NvbnRleHR1dGlsLmg6CgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJICBtc2RrOiBjb250ZXh0OiBhZGQgam9iIHR5cGUgdG8gZmlndXJlIG91dCBpZiBqb2luaW5nIHNlc3Npb24gaXMgbmVjZXNzYXJ5CgkgIEFjY29yZGluZyB0byB0aGUgZHJpdmVyJ3MgaW5zdHJ1Y3Rpb24sIGlmIHRoZXJlIGFyZSB0d28gb3IgbW9yZSBlbmNvZGVycwoJICBvciBkZWNvZGVycyBpbiBhIHByb2Nlc3MsIHRoZSBzZXNzaW9uIHNob3VsZCBiZSBqb2luZWQgYnkKCSAgTUZYSm9pblNlc3Npb24uCgkgIFRvIGFjaGlldmUgdGhpcyBzdWNjZXNzZnVsbHkgYnkgR3N0Q29udGV4dCwgdGhpcyBwYXRjaCBhZGRzIGpvYiB0eXBlCgkgIHNwZWNpZmllZCBpZiBpdCdzIGVuY29kZXIsIGRlY29kZXIgb3IgdnBwLgoJICBJZiBhIG1zZGsgZWxlbWVudCBnZXRzIHRvIGtub3cgaWYgam9pbmluZyBzZXNzaW9uIGlzIG5lZWRlZCBieSB0aGUKCSAgc2hhcmVkIGNvbnRleHQsCgkgIGl0IHNob3VsZCBjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBvZiBHc3RDb250ZXh0IHdpdGggam9pbmVkIHNlc3Npb24sCgkgIHdoaWNoCgkgIGlzIG5vdCBzaGFyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTM6NTA6MDggLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNka2NvbnRleHR1dGlsLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0dXRpbC5oOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkazogYWRkcyB1dGlsIGZ1bmN0aW9ucyB0byBoYW5kbGUgR3N0Q29udGV4dAoJICBUbyBzaGFyZSBHc3RNc2RrQ29udGV4dCB3aXRoIGVhY2ggbXNkayBlbGVtZW50LAoJICBpdCB3aWxsIGJlIHVzaW5nIEdzdENvbnRleHQuCgkgIE1vc3QgY29tbW9uIGNvZGUgaXMgZnJvbSBnc3RyZWFtZXItdmFhcGkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTM6NDk6MjggLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuaDoKCSAgbXNka2RlYzogdXNlIGJ1ZmZlcnBvb2wKCSAgMVwgSW4gZGVjaWRlX2FsbG9jYXRpb24sIGl0IG1ha2VzIGl0cyBvd24gbXNkayBidWZmZXJwb29sLgoJICAtIElmIGRvd25zdHJlYW0gc3VwcG9ydHMgdmlkZW8gbWV0YSwgaXQganVzdCByZXBsYWNlIGl0IHdpdGggdGhlIG1zZGsKCSAgYnVmZmVycG9vbC4KCSAgLSBJZiBub3QsIGl0IHVzZXMgdGhlIG1zZGsgYnVmZmVycG9vbCBhcyBhIHNpZGUgcG9vbCwgd2hpY2ggd2lsbCBiZQoJICBkZWNvZGVkIGludG8uCgkgIGFuZCB3aWxsIGNvcHkgaXQgdG8gZG93bnN0cmVhbSdzIGJ1ZmZlcnBvb2wuCgkgIDJcIERlY2lkZSBpZiB1c2luZyB2aWRlbyBtZW1vcnkgb3Igc3lzdGVtIG1lbW9yeS4KCSAgLSBUaGlzIGlzIG5vdCBjb21wbGV0ZWQgaW4gdGhpcyBwYXRjaC4KCSAgLSBJdCBtaWdodCBiZSBkZWNpZGVkIGluIHVwZGF0ZV9zcmNfY2Fwcy4KCSAgLSBCdXQgdGVzdGVkIGZvciBib3RoIHN5c3RlbSBtZW1vcnkgYW5kIHZpZGVvIG1lbW9yeSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDc1MgoKMjAxOC0wMi0xMyAxMzo0ODozMiAtMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5oOgoJKiBzeXMvbXNkay9tc2RrLmM6CgkqIHN5cy9tc2RrL21zZGsuaDoKCSAgbXNka2VuYzogdXNlIGJ1ZmZlcnBvb2wKCSAgMVwgUHJvcG9zZXMgbXNkayBidWZmZXJwb29sIHRvIHVwc3RyZWFtLgoJICAtIElmIHVwc3RyZWFtIGhhcyBhY2NlcHRlZCB0aGUgcHJvcG9zZWQgbXNkayBidWZmZXJwb29sLAoJICBlbmNvZGVyIGNhbiBnZXQgbXNkayBzdXJmYWNlIGZyb20gdGhlIGJ1ZmZlciBkaXJlY3RseS4KCSAgLSBJZiBub3QsIGVuY29kZXIgZ2V0IG1zZGsgc3VyZmFjZSBpdHMgb3duIG1zZGsgYnVmZmVycG9vbAoJICBhbmQgY29weSBmcm9tIHVwc3RyZWFtJ3MgZnJhbWUgdG8gdGhlIHN1cmZhY2UuCgkgIDJcIFJlcGxhY2UgYXJyYXlzIG9mIHN1cmZhY2VzIHdpdGggbXNkayBidWZmZXJwb29sLgoJICAzXCBJbiBjYXNlIG9mIHVzaW5nIFZQUCwgdGhlcmUgc2hvdWxkIGJlIGFub3RoZXIgbXNkayBidWZmZXJwb29sCgkgIHdpdGggTlYxMiBpbmZvIHNvIHRoYXQgaXQgY291bGQgY29udmVydCBmaXJzdCBhbmQgZW5jb2RlLgoJICBDYWxscyBnc3RfbXNka19zZXRfZnJhbWVfYWxsb2NhdG9yIGFuZCB1c2VzIHZpZGVvIG1lbW9yeSBvbmx5IG9uIGxpbnV4LgoJICBhbmQgdXNlcyBzeXN0ZW0gbWVtb3J5IG9uIFdpbmRvd3MgdW50aWwgZDNkIGFsbG9jYXRvciBpcyBpbXBsZW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDc1MgoKMjAxOC0wMi0xMyAxMzo0NDowOCAtMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RrYnVmZmVycG9vbC5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrYnVmZmVycG9vbC5oOgoJKiBzeXMvbXNkay9nc3Rtc2Rrc3lzdGVtbWVtb3J5LmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtzeXN0ZW1tZW1vcnkuaDoKCSogc3lzL21zZGsvZ3N0bXNka3ZpZGVvbWVtb3J5LmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2aWRlb21lbW9yeS5oOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkazogc3VwcG9ydHMgYnVmZmVycG9vbAoJICBJbXBsZW1lbnRzIDIgbWVtb3J5IGFsbG9jYXRvcnM6CgkgIDFcIEdzdE1zZGtTeXN0ZW1BbGxvY2F0b3I6IFRoaXMgd2lsbCBhbGxvY2F0ZSBzeXN0ZW0gbWVtb3J5LgoJICAyXCBHc3RNc2RrVmlkZW9BbGxvY2F0b3I6IFRoaXMgd2lsbCBhbGxvY2F0ZSBkZXZpY2UgbWVtb3J5IGRlcGVuZGluZwoJICBvbiB0aGUgcGxhdGZvcm0uIChlZy4gVkFTdXJmYWNlKQoJICBDdXJyZW50bHkgR3N0TXNka0J1ZmZlclBvb2wgdXNlcyB2aWRlbyBhbGxvY2F0b3IgY3VycmVudGx5IGJ5IGRlZmF1bHQKCSAgb25seSBvbiBsaW51eC4gT24gV2luZG93cywgd2Ugc2hvdWxkIHVzZSBzeXN0ZW0gbWVtb3J5IHVudGlsIGQzZAoJICBhbGxvY2F0b3IKCSAgaXMgaW1wbGVtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTI6NDM6NDIgLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNka2FsbG9jYXRvci5oOgoJKiBzeXMvbXNkay9nc3Rtc2RrYWxsb2NhdG9yX2xpYnZhLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0LmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtjb250ZXh0Lmg6CgkqIHN5cy9tc2RrL21lc29uLmJ1aWxkOgoJICBtc2RrOiBhZGRzIGZyYW1lIGFsbG9jYXRvciB1c2luZyBsaWJ2YQoJICBJbXBsZW1lbnRzIG1zZGsgZnJhbWUgYWxsb2NhdG9yIHdoaWNoIGlzIHJlcXVpcmVkIGZyb20gdGhlIGRyaXZlci4KCSAgQWxzbyBtYWtlcyB0aGVzZSBmdW5jdGlvbnMgZ2xvYmFsIHNvIHRoYXQgR3N0TXNka0FsbG9jYXRvciBjb3VsZCB1c2UKCSAgdGhlIGFsbG9jYXRlZCB2aWRlbyBtZW1vcnkgbGF0ZXIgYW5kIGNvdXBsZSB3aXRoIEdzdE1zZGtNZW1vcnkuCgkgIEdzdE1zZGtDb250ZXh0IGtlZXBzIGFsbG9jYXRpb24gaW5mb3JtYXRpb24gc3VjaCBhcyBtZnhGcmFtZUFsbG9jUmVxdWVzdAoJICBhbmQgbWZ4RnJhbWVBbGxvY1Jlc3BvbnNlIGFmdGVyIGFsbG9jYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTI6NDM6MDAgLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkgIG1zZGtkZWM6IGZpeCB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTI6NDE6MjggLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNka2NvbnRleHQuYzoKCSogc3lzL21zZGsvZ3N0bXNka2NvbnRleHQuaDoKCSogc3lzL21zZGsvZ3N0bXNka2RlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmg6CgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5oOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NWRlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NWVuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrdnA4ZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2cDhlbmMuYzoKCSogc3lzL21zZGsvbWVzb24uYnVpbGQ6CgkqIHN5cy9tc2RrL21zZGsuaDoKCSogc3lzL21zZGsvbXNka19kM2QuYzoKCSogc3lzL21zZGsvbXNka19saWJ2YS5jOgoJICBtc2RrOiBpbXBsZW1lbnRzIEdzdE1zZGtDb250ZXh0LgoJICBNYWtlcyBHc3RNc2RrQ29udGV4dCB0byBiZSBhIGRlc2NlbmRhbnQgb2YgR3N0T2JqZWN0IHNvIHRoYXQKCSAgd2UgY291bGQgdHJhY2sgdGhlIGxpZmUtY3ljbGUgb2YgdGhlIHNlc3Npb24gb2YgdGhlIGRyaXZlci4KCSAgQWxzbyByZXBsYWNlcyBNc2RrQ29udGV4dCB3aXRoIHRoaXMgb25lLgoJICBLZWVwcyBtc2RrX2QzZC5jIGFsaXZlIGZvciB0aGUgZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNzUyCgoyMDE4LTAyLTEzIDEyOjM5OjQ0IC0wOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvbXNka19saWJ2YS5jOgoJKiBzeXMvbXNkay9tc2RrX2xpYnZhLmg6CgkgIG1zZGs6IGxpYnZhOiBhZGRzIHV0aWxpdHkgZnVuY3Rpb24gYmV0d2VlbiBtZnggYW5kIGxpYnZhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTI6Mzc6NDcgLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9tc2RrLmM6CgkqIHN5cy9tc2RrL21zZGsuaDoKCSAgbXNkazogYWRkcyBuZXcgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnNpb24gZnJvbSBnc3RyZWFtZXIgdG8gbGlibWZ4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3NTIKCjIwMTgtMDItMTMgMTI6MzY6NDYgLTA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkqIHN5cy9tc2RrL21zZGsuYzoKCSogc3lzL21zZGsvbXNkay5oOgoJICBtc2RrOiBtb3ZlIGFuZCByZW5hbWUgdGhlIGZ1bmN0aW9uIG1zZGtfdmlkZW9fYWxpZ25tZW50CgkgIE1vdmUgdGhlIG1zZGtfdmlkZW9fYWxpZ25tZW50IGZ1bmN0aW9uIGZyb20gZGVjb2RlcgoJICB0byBtc2RrLmMgYW5kIHJlbmFtZSBzbyB0aGF0IG90aGVycyBjb3VsZCBjYWxsIHRoaXMgZnVuY3Rpb24KCSAgd2l0aG91dCBkdXBsaWNhdGVkIGRlY2xhcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNzUyCgoyMDE4LTAyLTEzIDE0OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vbWVzb24uYnVpbGQ6CgkgIGF1ZGlvYWdncmVnYXRvcjogcmVtb3ZlLCBtb3ZlZCB0byAtYmFzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxMjE4CgoyMDE4LTAyLTEzIDAwOjI4OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLm9yYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBhdWRpb21peGVyOiByZW1vdmUsIG1vdmVkIHRvIC1iYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTEyMTgKCjIwMTgtMDItMTIgMTk6MzA6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcHJveHkvZ3N0cHJveHktcHJpdi5oOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzaW5rLmM6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNpbmsuaDoKCSogZ3N0L3Byb3h5L2dzdHByb3h5c3JjLmM6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNyYy5oOgoJICBwcm94eTogcmVtb3ZlIHVubmVlZGVkIG9iamVjdCBwcml2YXRlIHN0cnVjdHMKCSAgUGx1Z2luIGhlYWRlcnMgYXJlIG5vdCBpbnN0YWxsZWQuCgkgIEFsc28gbWFyayBpbnRlcm5hbCBmdW5jcyBhcyBpbnRlcm5hbC4KCjIwMTgtMDItMTIgMTg6NDg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC8uZ2l0aWdub3JlOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5oOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmg6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZXh0L3F0L2dzdHF0c3JjLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSogZXh0L3F0L3F0cGx1Z2luLnBybzoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuaDoKCSogdGVzdHMvZXhhbXBsZXMvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9DTWFrZUxpc3RzLnR4dDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9wbGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay9xbWwucXJjOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL2dyYWJxbWwucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL3FtbC5xcmM6CgkgIHF0OiByZW1vdmUgcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDk0CgoyMDE4LTAyLTEyIDE1OjQ0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSB0d28gbW9yZSB1bm5lZWRlZCBndGsgY29uZGl0aW9uYWxzCgoyMDE4LTAyLTA4IDE5OjExOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3RrdXRpbHMuYzoKCSogZXh0L2d0ay9nc3RndGt1dGlscy5oOgoJKiBleHQvZ3RrL2dzdHBsdWdpbi5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5oOgoJKiBleHQvZ3RrL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3Rrc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSAgZ3RrOiByZW1vdmUsIHBsdWdpbiBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMTctMTItMDcgMTU6NTI6MzkgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IE1ha2Ugc3VyZSBib3RoIFBUUyBhbmQgRFRTIHZhbHVlcyBhcmUgZGVmaW5lZAoJICBUaGUgaW50ZXIgcGx1Z2luIG9yaWdpbmF0ZWQgaW4gMC4xMCwgd2hpY2ggaGFkIG9ubHkgb25lIHRpbWVzdGFtcC4gQXMgYQoJICByZXN1bHQsIGR1cmluZyB0aGUgcG9ydCB0byAxLjAsIHRoZSBEVFMgd2VyZSBsZWZ0IHVuZGVmaW5lZC4gVGhpcyBjYW4gY2F1c2UKCSAgc3VidGxlIGJ1Z3Mgd2l0aCBiYXNlc3JjLCB3aGljaCBjYW4gZW5kIHVwIGluY29ycmVjdGx5IHBpY2tpbmcgRFRTIG92ZXIgUFRTCgkgIGFuZCBwcm9kdWNpbmcgb3V0cHV0IGJ1ZmZlcnMgd2l0aCBpbmNvcnJlY3QgdGltZXN0YW1wcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTM0NwoKMjAxOC0wMi0wOSAwMjowNToyMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgIHdhc2FwaXNyYzogUmUtYWxpZ24gZGV2aWNlIHBlcmlvZCBpZiBuZWNlc3NhcnkKCSAgU2FtZSBjaGFuZ2VzIGFzIGRvbmUgZm9yIHdhc2FwaXNpbmsgaW4gY2JlMmZjNDBhLiBUdXJucyBvdXQgdGhpcyBpcwoJICBzb21ldGltZXMgYWxzbyBuZWVkZWQgZm9yIGNhcHR1cmUuIFJlcG9ydGVkIGJ5IE1hdGhpZXVfRHUuCgkgIEFsc28gaW1wcm92ZSBsb2dnaW5nIGluIHRoYXQgY2FzZSBmb3IgZWFzaWVyIGRlYnVnZ2luZy4KCjIwMTgtMDItMDggMTk6MDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IG1ha2UgdmVyc2lvbiBudW1iZXJzIGludHMgYW5kIGZpeCBpbnQvc3RyaW5nIGNvbXBhcmlzb24KCSAgV0FSTklORzogVHJ5aW5nIHRvIGNvbXBhcmUgdmFsdWVzIG9mIGRpZmZlcmVudCB0eXBlcyAoc3RyLCBpbnQpLgoJICBUaGUgcmVzdWx0IG9mIHRoaXMgaXMgdW5kZWZpbmVkIGFuZCB3aWxsIGJlY29tZSBhIGhhcmQgZXJyb3IKCSAgaW4gYSBmdXR1cmUgTWVzb24gcmVsZWFzZS4KCjIwMTgtMDItMDUgMTg6MDM6MzEgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBSZXZlcnQgImdkcGRlcGF5OiBkb24ndCB1c2UgYWxsb2NhdG9yIGlmIGl0IGhhcyBjdXN0b20gYWxsb2MiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZjZjYjE2YWI4Y2VjZmU2ODM0NzNiMTczNzMyYWQwNDBlODU4YWJkNS4KCjIwMTgtMDItMDggMTU6MTk6MTIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wcm94eS9nc3Rwcm94eS5jOgoJICBwcm94eTogRml4IHBsdWdpbiBkZWZpbml0aW9uCgkgIEknbSBub3Qgc3VyZSBob3cgdGhpcyB3YXMgbWlzc2VkIGluIHJldmlldy4uLgoKMjAxOC0wMi0wOCAxNDo0NToyOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Byb3h5L01ha2VmaWxlLmFtOgoJICBwcm94eTogUmVtb3ZlIGRlYWQgY29kZSBmcm9tIE1ha2VmaWxlLmFtCgkgIFRoZXJlIGlzIG5vIGdzdHByb3h5dGVzdC5jCgoyMDE4LTAyLTA4IDE0OjQxOjA1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL21lc29uLmJ1aWxkOgoJICBtZXNvbjogRml4IHdhc2FwaSBidWlsZCBvbiBXaW5kb3dzCgkgIFdhcyBtaXNzaW5nIGRldmljZSBwcm9iZXIgYW5kIGF2cnQgKG9uIG1zdmMpCgoyMDE4LTAyLTA4IDE0OjI3OjQzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpOiBVbnByZXBhcmUgd2hlbiBzcmMvc2lua19wcmVwYXJlIGZhaWxzCgkgIHVucHJlcGFyZSgpIGlzIG5vdCBjYWxsZWQgYXV0b21hdGljYWxseSBvbiBmYWlsdXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzMjg5CgoyMDE4LTAyLTA4IDAzOjExOjEwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSAgd2FzYXBpc2luazogUmUtYWxpZ24gZGV2aWNlIHBlcmlvZCBpZiBuZWNlc3NhcnkKCSAgU29tZXRpbWVzIHRoZSBtaW5pbXVtIHBlcmlvZCBhZHZlcnRpc2VkIGJ5IGEgY2FyZCByZXN1bHRzIGluIGFuCgkgIHVuYWxpZ25lZCBidWZmZXIgc2l6ZSBlcnJvciBkdXJpbmcgaW5pdGlhbGl6YXRpb24gaW4gZXhjbHVzaXZlIG1vZGUuCgkgIEluIHRoYXQgY2FzZSwgd2UgY2FuIGZldGNoIHRoZSBhY3R1YWwgYnVmZmVyIHNpemUgaW4gZnJhbWVzIGFuZAoJICBjYWxjdWxhdGUgdGhlIHBlcmlvZCBmcm9tIHRoYXQuCgkgIFdlIGNhbid0IGRvIHRoaXMgcHJlLWVtcHRpdmVseSBiZWNhdXNlIHdlIGNhbid0IGNhbGwgR2V0QnVmZmVyU2l6ZQoJICB0aWxsIEluaXRpYWxpemUgaGFzIGJlZW4gY2FsbGVkIGF0IGxlYXN0IG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMyODkKCjIwMTgtMDItMDggMDM6MDk6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICB3YXNhcGlzaW5rOiBwcmUtbG9hZCB0aGUgYnVmZmVyIHdpdGggc2lsZW5jZQoJICBUaGlzIHJlZHVjZXMgdGhlIGNoYW5jZXMgb2Ygc3RhcnR1cCBnbGl0Y2hlcywgYW5kIGFsc28gcmVkdWNlcyB0aGUKCSAgY2hhbmNlcyB0aGF0IHdlJ2xsIGdldCBnYXJibGVkIG91dHB1dCBkdWUgdG8gZHJpdmVyIGJ1Z3MuCgkgIFJlY29tbWVuZGVkIGJ5IHRoZSBXQVNBUEkgZG9jdW1lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzI4OQoKMjAxOC0wMi0wNyAwNDo0ODo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogVHJ5IHRvIHVzZSBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lCgkgIFNvIGZhciwgd2UgaGF2ZSBiZWVuIGNvbXBsZXRlbHkgZGlzY2FyZGluZyB0aGUgdmFsdWVzIG9mIGxhdGVuY3ktdGltZQoJICBhbmQgYnVmZmVyLXRpbWUgYW5kIHRyeWluZyB0byBhbHdheXMgb3BlbiB0aGUgZGV2aWNlIGluIHRoZSBsb3dlc3QKCSAgbGF0ZW5jeSBtb2RlIHBvc3NpYmxlLiBIb3dldmVyLCBzb21ldGltZXMgdGhpcyBpcyBhIGJhZCBpZGVhOgoJICAxLiBXaGVuIHdlIHdhbnQgdG8gc2F2ZSBwb3dlci9DUFUgYW5kIGRvbid0IHdhbnQgbG93IGxhdGVuY3kKCSAgMi4gV2hlbiB0aGUgbG93ZXN0IGxhdGVuY3kgc2V0dGluZyBjYXVzZXMgZ2xpdGNoZXMKCSAgMy4gT3RoZXIgYXVkaW8tZHJpdmVyIGJ1Z3MKCSAgTm93IHdlIHdpbGwgdHJ5IHRvIGZvbGxvdyB0aGUgdXNlci1zZXQgdmFsdWVzIG9mIGxhdGVuY3ktdGltZSBhbmQKCSAgYnVmZmVyLXRpbWUgaW4gc2hhcmVkIG1vZGUsIGFuZCBvbmx5IGxhdGVuY3ktdGltZSBpbiBleGNsdXNpdmUgbW9kZSAod2UKCSAgaGF2ZSBubyBjb250cm9sIG92ZXIgdGhlIGhhcmR3YXJlIGJ1ZmZlciBzaXplLCBhbmQgdGhlcmUgaXMgbm8gdXNlIGluCgkgIHNldHRpbmcgR3N0QXVkaW9SaW5nQnVmZmVyIHNpemUgdG8gc29tZXRoaW5nIGxhcmdlcikuCgkgIFRoZSBlbGVtZW50cyB3aWxsIHN0aWxsIHRyeSB0byBvcGVuIHRoZSBkZXZpY2VzIGluIHRoZSBsb3dlc3QgbGF0ZW5jeQoJICBtb2RlIHBvc3NpYmxlIGlmIHlvdSBzZXQgdGhlICJsb3ctbGF0ZW5jeSIgcHJvcGVydHkgdG8gInRydWUiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzMjg5CgoyMDE4LTAyLTA2IDIzOjU2OjQxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IENvdmVyIG1vcmUgSFJFU1VMVCBlcnJvciBtZXNzYWdlcwoJICBUaGlzIHJlcXVpcmVzIHVzaW5nIGFsbG9jYXRlZCBzdHJpbmdzLCBidXQgaXQncyB0aGUgYmVzdCBvcHRpb24uIEZvcgoJICBpbnN0YW5jZSwgYSBjYWxsIGNvdWxkIGZhaWwgYmVjYXVzZSBDb0luaXRpYWxpemUoKSB3YXNuJ3QgY2FsbGVkLCBvcgoJICBiZWNhdXNlIHNvbWUgb3RoZXIgdGhpbmcgaW4gdGhlIHN0YWNrIGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzI4OQoKMjAxOC0wMi0wNiAyMzo0NTowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJICB3YXNhcGk6IEluY3JlYXNlIHRocmVhZCBwcmlvcml0eSB0byByZWR1Y2UgZ2xpdGNoZXMKCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IHdoZW4gcnVubmluZyBpbiBleGNsdXNpdmUgbW9kZSBiZWNhdXNlCgkgIGFueSBkZWxheXMgd2lsbCBpbW1lZGlhdGVseSBjYXVzZSBnbGl0Y2hpbmcuCgkgIFRoZSBNaW5HVyB2ZXJzaW9uIGluIENlcmJlcm8gaXMgdG9vIG9sZCwgc28gd2UgY2FuIG9ubHkgZW5hYmxlIHRoaXMgd2hlbgoJICBidWlsZGluZyB3aXRoIE1TVkMgb3Igd2hlbiBwZW9wbGUgYnVpbGQgR1N0cmVhbWVyIGZvciBNU1lTMiBvciBvdGhlcgoJICBNaW5HVy1iYXNlZCBkaXN0cmlidXRpb25zLgoJICBUbyBmb3JjZS1lbmFibGUgdGhpcyBjb2RlIHdoZW4gYnVpbGRpbmcgd2l0aCBNaW5HVywgYnVpbGQgd2l0aAoJICBDRkxBR1M9Ii1ER1NUX0ZPUkNFX1dJTl9BVlJUIC1sYXZydCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMyODkKCjIwMTgtMDItMDYgMjM6NDA6NDkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IEFsbG93IG9wZW5pbmcgZGV2aWNlcyBpbiBleGNsdXNpdmUgbW9kZQoJICBUaGlzIHByb3ZpZGVzIG11Y2ggbG93ZXIgbGF0ZW5jeSBjb21wYXJlZCB0byBvcGVuaW5nIGluIHNoYXJlZCBtb2RlLAoJICBidXQgaXQgYWxzbyBtZWFucyB0aGF0IHRoZSBkZXZpY2UgY2Fubm90IGJlIG9wZW5lZCBieSBhbnkgb3RoZXIKCSAgYXBwbGljYXRpb24uIFRoZSBhZHZhbnRhZ2UgaXMgdGhhdCB0aGUgYWNoaWV2YWJsZSBsYXRlbmN5IGlzIG11Y2gKCSAgbG93ZXIuCgkgIEluIHNoYXJlZCBtb2RlLCBXQVNBUEkncyBlbmdpbmUgcGVyaW9kIGlzIDEwbXMsIGFuZCBzbyB0aGF0IGlzIHRoZQoJICBsb3dlc3QgbGF0ZW5jeSBhY2hpZXZhYmxlLgoJICBJbiBleGNsdXNpdmUgbW9kZSwgdGhlIGxpbWl0IGlzIHRoZSBkZXZpY2UgcGVyaW9kIGl0c2VsZiwgd2hpY2ggaW4gbXkKCSAgdGVzdGluZyB3aXRoIFVTQiBEQUNzLCBvbi1ib2FyZCBQQ0kgc291bmQtY2FyZHMsIGFuZCBIRE1JIGNhcmRzIGlzCgkgIGJldHdlZW4gMm1zIGFuZCAzLjMzbXMuCgkgIFdlIHNldCBvdXIgYXVkaW9yaW5nYnVmZmVyIGxpbWl0cyB0byBtYXRjaCB0aGUgZGV2aWNlLCBzbyB0aGUKCSAgYWNoaWV2YWJsZSBzaW5rIGxhdGVuY3kgaXMgNi05bXMuIEZ1cnRoZXIgaW1wcm92ZW1lbnRzIGNhbiBiZSBtYWRlIGlmCgkgIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzI4OQoKMjAxOC0wMi0wNiAyMzozNzoxOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJICB3YXNhcGk6IFJlbmFtZSBzdHJ1Y3QgZWxlbWVudCBmb3IgZGV2aWNlIG5hbWUKCSAgV2Ugd2lsbCB1c2UgLT5kZXZpY2UgZm9yIHN0b3JpbmcgYSBwb2ludGVyIHRvIHRoZSBJTU1EZXZpY2Ugc3RydWN0dXJlCgkgIHdoaWNoIGlzIG5lZWRlZCBmb3IgZmV0Y2hpbmcgdGhlIGNhcHMgc3VwcG9ydGVkIGJ5IGRldmljZXMgaW4KCSAgZXhjbHVzaXZlIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMyODkKCjIwMTgtMDItMDggMTE6MzI6MzIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpZGV2aWNlLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpZGV2aWNlLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgd2FzYXBpOiBGaXggaW5kZW50YXRpb24gaXNzdWVzIG1pc3NlZCBieSB0aGUgY29tbWl0IGhvb2sKCSAgVGhlc2Ugd2VyZSBtaXNzZWQgYmVjYXVzZSB0aGUgcmVsZXZhbnQgY29tbWl0cyB3ZXJlIG1hZGUgb24gV2luZG93cwoJICB3aGVyZSBgaW5kZW50YCB3YXNuJ3QgaW5zdGFsbGVkLgoKMjAxOC0wMi0wOCAxNjo1NTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJICB2dWxrYW51cGxvYWQ6IGFjdHVhbGx5IGxvb3Agb3ZlciBwb3NzaWJsZSB1cGxvYWRlcnMKCSAgRml4IHNvbWUgZnVua3kgY29udHJvbCB0aGF0IHdhc24ndCB3b3JraW5nCgkgIENJRCAjMTQxNzIxOQoKMjAxOC0wMi0wOCAxNTo0ODo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSAgd2VicnRjOiBGaXggZmZlYjA5ZTQgY29uZGl0aW9uYWwKCSAgRml4ZXMgZmZlYjA5ZTRhYmU3M2QzYjllODkwOTk5NjgxNmYwMjg4ZTMwN2UyMgoJICBpZiAoc3NjYW5mKC4uLikpIHsgIC8vICE9IDAKCSAgZXJyb3I7CgkgIH0KCSAgSXMgbm90IGNvcnJlY3Qgd2hlcmUgIT0gMCBpbmRpY2F0ZXMgc29tZSBraW5kIG9mIHN1Y2Nlc3MuCgkgIENoZWNrIGluc3RlYWQgdGhhdCB0aGUgY29ycmVjdCBudW1iZXIgb2YgZWxlbWVudHMgd2VyZSBzbHVycGVkLgoKMjAxOC0wMi0wOCAxNTo0NzozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSAgd2VicnRjOiBjaGFuZ2UgZGVhZCBjb2RlIHRvIGFuIGFzc2VydAoJICBDSUQgIzE0MjkxNDAKCjIwMTgtMDItMDggMTU6Mjk6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICBkdGxzOiBhZGQgbWVzb24gZGVmaW5pdGlvbiBmb3IgcmVjZW50bHkgYWRkZWQgdGVzdAoKMjAxOC0wMi0wOCAxNToyNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNiaW4uYzoKCSAgd2VicnRjOiBiYWlsIG9uIGludmFsaWQgcnRwYmluIG5hbWVzCgkgIElmIHdlIGZhaWwgcGFyc2luZyBydHBiaW4gcGFkIG5hbWVzLCBzb21lb25lIGhhcyBzY3Jld2VkIHVwIHNvIGNyaXRpY2FsCgkgIGFuZCByZXR1cm4uCgkgIENJRCAjMTQyOTE0MgoKMjAxNi0wMi0wNCAwMDowODo1NyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9wcm94eS9NYWtlZmlsZS5hbToKCSogZ3N0L3Byb3h5L2dzdHByb3h5LXByaXYuaDoKCSogZ3N0L3Byb3h5L2dzdHByb3h5LmM6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNpbmsuYzoKCSogZ3N0L3Byb3h5L2dzdHByb3h5c2luay5oOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzcmMuYzoKCSogZ3N0L3Byb3h5L2dzdHByb3h5c3JjLmg6CgkqIGdzdC9wcm94eS9tZXNvbi5idWlsZDoKCSAgQWRkIG5ldyAncHJveHknIGVsZW1lbnQgdG8gc3RyZWFtIGRhdGEgYmV0d2VlbiBwaXBlbGluZXMKCSAgVGhpcyBrZWVwLWl0LXNpbXBsZSBwbHVnaW4gaXMgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8gcGlwZSBhcmJpdHJhcnkKCSAgZGF0YSB0byBhIGRpZmZlcmVudCBwaXBlbGluZSB3aXRoaW4gdGhlIHNhbWUgcHJvY2Vzcy4gU29tZSBhZHZhbnRhZ2VzCgkgIG92ZXIgYXBwc2luay9hcHBzcmMsIHRoZSBpbnRlciBlbGVtZW50cywgZXRjOgoJICAqIEVhc2Ugb2YgdXNlLiBCdWZmZXJzLCBldmVudHMsIGFuZCBjYXBzIGFyZSB0cmFuc21pdHRlZCBhcy1pcyB3aXRob3V0CgkgIGNvcHlpbmcgb3Igc2VyaWFsaXphdGlvbi4KCSAgKiBFbmFibGVzIHplcm9jb3B5IChlc3BlY2lhbGx5IERNQUJVRikgdHJhbnNwYXJlbnRseSB3aXRob3V0IGFueQoJICBzcGVjaWFsLWNhc2luZy4KCSAgKiBFbmFibGVzIHVzYWdlIHdpdGggc2lua3Mgb3IgZWxlbWVudHMgdGhhdCBhcmUgdW5yZWxpYWJsZSBhbmQgbWF5CgkgIHRocm93IGVycm9ycyBhbmQgbmVlZCByZS1pbml0aWFsaXphdGlvbiwgc3VjaCBhcyBhIG5ldHdvcmsgc2luaywgYQoJICBVU0IgZGV2aWNlIHNpbmsgKHY0bDIpLCBldGMuCgkgICogVHJhbnNtaXRzIGFyYml0cmFyeSBkYXRhLCBub3QganVzdCBhdWRpby92aWRlby9zdWJzCgkgICogQ2FuIGVhc2lseSBpbXBsZW1lbnQgMSBwcm9kdWNlciBwaXBlbGluZSAtPiBOIGR5bmFtaWMgY29uc3VtZXIKCSAgcGlwZWxpbmVzIHdpdGhpbiBhIHNpbmdsZSBwcm9jZXNzIHdoZW4gY29tYmluZWQgd2l0aCB0aGUgYHRlZWAKCSAgZWxlbWVudC4KCSAgQWxsIHF1ZXJpZXMsIGV2ZW50cywgYnVmZmVycywgYW5kIGJ1ZmZlciBsaXN0cyBhcmUgcHJveGllZC4gU3RhdGUKCSAgY2hhbmdlcywgY2xvY2tzLCBhbmQgYmFzZSB0aW1lcyBmb3IgdGhlIHR3byBwaXBlbGluZXMgYXJlIGluZGVwZW5kZW50CgkgIHNpbmNlIHRoZSB1cHN0cmVhbSBhbmQgZG93bnN0cmVhbXMgY29udGludWUgdG8gYmUgZGlmZmVyZW50IHBpcGVsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODIwMAoKMjAxOC0wMi0wNyAyMDoxNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxdDogZG9uJ3QgI2luY2x1ZGUgcGxhdGZvcm0gc3BlY2lmaWMgZ3N0Z2xjb250ZXh0XyouaCBoZWFkZXJzCgkgIFRoZXkgYXJlbid0IHB1YmxpYyBoZWFkZXJzCgoyMDE4LTAyLTA2IDExOjM2OjI3ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvbWVzb24uYnVpbGQ6CgkgIG9wZW5jdjogZml4IE9QRU5DVl9QQVRIX05BTUUgd2hlbiB1c2luZyBtZXNvbgoJICBNZXNvbiB3YXMgY2hlY2tpbmcgZm9yICRwcmVmaXgvT3BlbkNWIGJ1dCB3YXMgdGhlbiBkZWZpbmluZwoJICBPUEVOQ1ZfUEFUSF9OQU1FIHdpdGggJ09wZW5DdicgcmF0aGVyIHRoYW4gJ09wZW5DVicuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMyMTIKCjIwMTgtMDItMDUgMDg6NTM6MjAgKzAwMDAgIFNlYW4gRHVCb2lzIDxzZWFuQHNpb2J1ZC5jb20+CgoJKiBleHQvYW9tL2dzdGF2MWVuYy5jOgoJICBhb206IERyb3AgcG9pbnRsZXNzIGNhc3QgZnJvbSBhdjFlbmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTY3NAoKMjAxOC0wMi0wMiAwNjo1NjoxNyArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGV4dC9hb20vZ3N0YXYxZW5jLmM6CgkqIGV4dC9hb20vZ3N0YXYxZW5jLmg6CgkgIGFvbTogRml4IGFsbCBkZWZpbml0ZSBsZWFrcyBpbiBhdjFlbmMKCSAgVHJhY2sgaWYgdGhlIGVuY29kZXIgaGFzIGJlZW4gaW5pdGVkLCBhbmQgY2xlYW51cCBpZiBuZWVkZWQuIEFsc28gdW5yZWYKCSAgaW5wdXRfc3RhdGUgaWYgaGFzIGJlZW4gc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE2NzQKCjIwMTgtMDItMDIgMDU6NDM6MjAgKzAwMDAgIFNlYW4gRHVCb2lzIDxzZWFuQHNpb2J1ZC5jb20+CgoJKiBleHQvYW9tL2dzdGF2MWVuYy5jOgoJKiBleHQvYW9tL2dzdGF2MWVuYy5oOgoJICBhb206IENvbnNpc3RlbnQgbmFtaW5nIGJldHdlZW4gYXYxZGVjIGFuZCBhdjFlbmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTY3NAoKMjAxOC0wMS0zMSAwNzozNDozMiArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGV4dC9hb20vZ3N0YXYxZGVjLmM6CgkgIGFvbTogSW1wbGVtZW50IGZsdXNoIGZvciBhdjFkZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTY3NAoKMjAxOC0wMi0wNCAxMjoxODowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiB1c2UgLWZuby1zdHJpY3QtYWxpYXNpbmcgd2hlcmUgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkxODMKCjIwMTgtMDItMDUgMTc6MDA6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdGxzLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciB0aGUgZHRsc3tlbmMsZGVjfSBlbGVtZW50cwoKMjAxOC0wMi0wNSAxNjo1Nzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzOiBkcm9wIHVwc3RyZWFtIHNlZ21lbnQgYW5kIHN0cmVhbS1zdGFydCBldmVudHMKCSAgRml4ZXMgdGVzdHMgd2l0aCBHc3RIYXJuZXNzCgkgIFdlIHdpbGwgcHVzaCBvdXIgb3duIGZyb20gdGhlIHNyY3BhZCB0YXNrLgoKMjAxOC0wMi0wNSAxNzo0MToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogZG9uJ3QgbGVhayB0aGUgc3lzdGVtIGNsb2NrCgkgIE9idGFpbiBhbmQgcmVsZWFzZSBpdCBhcyBuZWVkZWQuCgoyMDE4LTAyLTA1IDE2OjE2OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IGZpeCB0eXBvIGluIGlzLWNsaWVudCBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxNy0wNy0wNyAxNzozMjozMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWplY3Qgc2VnbWVudCBzZWVrcwoJICBXaGlsZSAjNzgyMTQwIGNhbiBzdGF5IG9wZW4gZm9yIGFjdHVhbGx5IGhhbmRsaW5nIHRoZXNlLAoJICB0aGUgZmFjdCBpcyBjdXJyZW50bHkgYWRhcHRpdmVkZW11eCBkb2VzIG5vdCBoYW5kbGUgc2VnbWVudAoJICBzZWVrcywgYW5kIGFzIHN1Y2ggc2hvdWxkIG5vdCBhY2NlcHQgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDY1NQoKMjAxNy0wMS0zMSAyMDo1Njo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC93ZWJydGMvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJydGMvZndkLmg6CgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjLmM6CgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjYmluLmM6CgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjYmluLmg6CgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjaWNlLmM6CgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjaWNlLmg6CgkqIGV4dC93ZWJydGMvZ3N0d2VicnRjc3RhdHMuYzoKCSogZXh0L3dlYnJ0Yy9nc3R3ZWJydGNzdGF0cy5oOgoJKiBleHQvd2VicnRjL2ljZXN0cmVhbS5jOgoJKiBleHQvd2VicnRjL2ljZXN0cmVhbS5oOgoJKiBleHQvd2VicnRjL21lc29uLmJ1aWxkOgoJKiBleHQvd2VicnRjL25pY2V0cmFuc3BvcnQuYzoKCSogZXh0L3dlYnJ0Yy9uaWNldHJhbnNwb3J0Lmg6CgkqIGV4dC93ZWJydGMvdHJhbnNwb3J0cmVjZWl2ZWJpbi5jOgoJKiBleHQvd2VicnRjL3RyYW5zcG9ydHJlY2VpdmViaW4uaDoKCSogZXh0L3dlYnJ0Yy90cmFuc3BvcnRzZW5kYmluLmM6CgkqIGV4dC93ZWJydGMvdHJhbnNwb3J0c2VuZGJpbi5oOgoJKiBleHQvd2VicnRjL3RyYW5zcG9ydHN0cmVhbS5jOgoJKiBleHQvd2VicnRjL3RyYW5zcG9ydHN0cmVhbS5oOgoJKiBleHQvd2VicnRjL3V0aWxzLmM6CgkqIGV4dC93ZWJydGMvdXRpbHMuaDoKCSogZXh0L3dlYnJ0Yy93ZWJydGNzZHAuYzoKCSogZXh0L3dlYnJ0Yy93ZWJydGNzZHAuaDoKCSogZXh0L3dlYnJ0Yy93ZWJydGN0cmFuc2NlaXZlci5jOgoJKiBleHQvd2VicnRjL3dlYnJ0Y3RyYW5zY2VpdmVyLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL2R0bHN0cmFuc3BvcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9kdGxzdHJhbnNwb3J0Lmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvaWNldHJhbnNwb3J0LmM6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvaWNldHJhbnNwb3J0Lmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRjc2Vzc2lvbmRlc2NyaXB0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRjc2Vzc2lvbmRlc2NyaXB0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRwcmVjZWl2ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy9ydHByZWNlaXZlci5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3J0cHNlbmRlci5jOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3J0cHNlbmRlci5oOgoJKiBnc3QtbGlicy9nc3Qvd2VicnRjL3J0cHRyYW5zY2VpdmVyLmM6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvcnRwdHJhbnNjZWl2ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy93ZWJydGMuaDoKCSogZ3N0LWxpYnMvZ3N0L3dlYnJ0Yy93ZWJydGNfZndkLmg6CgkqIGdzdC1saWJzL2dzdC93ZWJydGMvd2VicnRjX21rZW51bS5weToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdlYnJ0Yy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci13ZWJydGMucGMuaW46CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dlYnJ0Y2Jpbi5jOgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy93ZWJydGMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3dlYnJ0Yy9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvd2VicnRjL3dlYnJ0Yy5jOgoJKiB0ZXN0cy9leGFtcGxlcy93ZWJydGMvd2VicnRjYmlkaXJlY3Rpb25hbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy93ZWJydGMvd2VicnRjc3dhcC5jOgoJICB3ZWJydGNiaW46IGFuIGVsZW1lbnQgdGhhdCBoYW5kbGVzIHRoZSB0cmFuc3BvcnQgYXNwZWN0cyBvZiB3ZWJydGMgY29ubmVjdGlvbnMKCSAgU0RQJ3MgYXJlIGdlbmVyYXRlZCBhbmQgY29uc3VtZWQgYWNjb3JkaW5nIHRvIHRoZSBXM0MgUGVlckNvbm5lY3Rpb24gQVBJCgkgIGF2YWlsYWJsZSBmcm9tIGh0dHBzOi8vd3d3LnczLm9yZy9UUi93ZWJydGMvCgkgIFRoZSBTRFAgaXMgZWl0aGVyIGNyZWF0ZWQgaW5pdGlhbGx5IGZyb20gdGhlIGNvbm5lY3RlZAoJICBzaW5rIHBhZHMvYXR0YWNoZWQgdHJhbnNjZWl2ZXJzIGFzIGluIHRoZSBjYXNlIG9mIGdlbmVyYXRpbmcgYW4gb2ZmZXIgb3IKCSAgaW50ZXJzZWN0ZWQgd2l0aCB0aGUgY29ubmVjdGVkIHNpbmsgcGFkcy9hdHRhY2hlZCB0cmFuc2NlaXZlcnMgYXMgaW4KCSAgdGhlIGNhc2UgZm9yIGNyZWF0aW5nIGFuIGFuc3dlci4gIEluIGJvdGggY2FzZXMsIHRoZSBydHAgcGF5bG9hZGVkIHN0cmVhbXMKCSAgc2VudCBieSB0aGUgcGVlciBhcmUgZXhwb3NlZCBhcyBzZXBhcmF0ZSBzcmMgcGFkcy4KCSAgVGhlIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIHRyaWNrbGUgSUNFLCBSVENQIG11eGluZywgcmVkdWNlZCBzaXplIFJUQ1AuCgkgIFdpdGggY29udHJpYnV0aW9ucyBmcm9tOgoJICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgkgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoJICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNTIzCgoyMDE4LTAxLTE2IDIwOjUzOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHM6IHJlbW92ZSByZWxpYW5jZSBvbiBhIGRlZmF1bHQgR01haW5Db250ZXh0L0xvb3AKCSAgQnkgcmVtb3ZpbmcgdGhlIGluZGlyZWN0aW9uIHRvIHRoZSBtYWluIGxvb3AgY29tcGxldGVseSB3aGVuIHJlY2VpdmluZwoJICB0aGUgcGVlciBjZXJ0aWZpY2F0ZS4gRm9yIHJlZmVyZW5jZSwgdGhlIG9uLWRlY29kZXIta2V5IHNpZ25hbCBkb2VzIG5vdAoJICBoYXZlIGEgcmVkaXJlY3Rpb24uCgoyMDE4LTAxLTMxIDEzOjIxOjU4IC0wNTAwICBPbWFyIEFra2lsYSA8b21hci5ha2tpbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uYzoKCSAgbmV0c2ltOiBmaXggZm9ybWF0IGVycm9ycyBmb3IgZGlmZmVyZW50IHBsYXRmb3JtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkzMDczCgoyMDE4LTAxLTMxIDE2OjEwOjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBvcGVuZ2wgYXBpIGNvbmRpdGlvbmFsCgkgIEZpeGVzIGJ1aWxkIG9mIG9wZW5nbG1peGVycyBwbHVnaW4gZHVlIHRvIG1pc21hdGNoIGJldHdlZW4KCSAgYnVpbGQgc3lzdGVtIGNvbmRpdGlvbmFsIFVTRV9PUEVOR0wgYW5kIGRlZmluZSBpbiBnc3RnbGNvbmZpZy5oCgoyMDE4LTAxLTMxIDEzOjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogZml4IE9wZW5HTCBBUEkgZGV0ZWN0aW9uCgkgIEFuZCBkb24ndCBidWlsZCBnbCBtb3NhaWMgZWxlbWVudCB1bmNvbmRpdGlvbmFsbHkuCgoyMDE4LTAxLTMxIDEzOjAyOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IGZpeCBidWlsZCBpZiBPcGVuR0wgc3VwcG9ydCBpcyBub3QgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTMwMzkKCjIwMTgtMDEtMjkgMTI6NTM6NTEgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBnZHBkZXBheTogZG9uJ3QgdXNlIGFsbG9jYXRvciBpZiBpdCBoYXMgY3VzdG9tIGFsbG9jCgkgIGdkcGRlcGF5IGVsZW1lbnQgdXNlcyB0aGUgZGVjaWRlX2FsbG9jYXRpb24gdG8gZmV0Y2ggdGhlIGRvd25zdHJlYW0KCSAgYWxsb2NhdG9yLiBOb25ldGhlbGVzcyBpdCBpcyBwb3NzaWJsZSB0aGF0IGFsbG9jYXRlIHVzZXMgYSBjdXN0b20KCSAgYWxsb2MgZnVuY3Rpb24sIHdoaWNoIGlzIG5vdCB1c2FibGUgYnkgZ2RwZGVwYXksIGNyYXNoaW5nIGxhdGVyIHRoZQoJICBhcHBsaWNhdGlvbiB3aGVuIHRoZSBhbGxvY2F0ZXIgYnVmZmVyIGlzIE5VTEwuCgkgIFRoaXMgcGF0Y2ggY2hlY2tzIGZvciB0aGUgYWxsb2NhdG9yIGZsYWdzIGFuZCByZXNldCBpdCBpZiB0aGUKCSAgYWxsb2NhdG9yIGhhcyBhIGN1c3RvbSBhbGxvYyBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTQ3NgoKMjAxOC0wMS0yOSAxMjo1MDozNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGdkcGRlcGF5OiBkb24ndCBhbGxvY2F0aW9uIHF1ZXJ5IGlmIGNhcHMgYXJlbid0IGZpeGVkCgkgIFdoZW4gcXVlcnlpbmcgZG93bnN0cmVhbSBmb3IgYWxsb2NhdGlvbiwgYW5kIHRoZSBzb3VyY2UgY2FwcyBoYXNuJ3QKCSAgc2V0IGl0cyBjYXBzLCB1c2luZyBBTlkgYnkgZGVmYXVsdCwgaXQgcmFpc2VzIGEgY3JpdGljYWwgbWVzc2FnZSBpbgoJICBjb25zb2xlOgoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzOiBhc3NlcnRpb24gJ2dzdF9jYXBzX2lzX2ZpeGVkIChjYXBzKScgZmFpbGVkCgkgIFRoaXMgcGF0Y2ggYmFpbHMgb3V0IGRlY2lkZV9hbGxvY2F0aW9uKCkgaWYgdGhlIGNhcHMgYXJlbid0IGZpeGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5NDc2CgoyMDE4LTAxLTMxIDAzOjUxOjQ3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpOiBDb3JyZWN0bHkgc2V0IHJpbmdidWZmZXIgc2Vnc2l6ZS9zZWd0b3RhbAoJICBUaGlzIHdpbGwgc2V0IHRoZSBhY3R1YWwtbGF0ZW5jeS10aW1lIGFuZCBhY3R1YWwtYnVmZmVyLXRpbWUgb2YgdGhlIHNpbmsKCSAgYW5kIHNvdXJjZS4KCSAgV2UgY29tcGxldGVseSBpZ25vcmUgdGhlIGxhdGVuY3ktdGltZS9idWZmZXItdGltZSB2YWx1ZXMgc2V0CgkgIG9uIHRoZSBlbGVtZW50IGJlY2F1c2UgV0FTQVBJIGlzIGhhcHBpZXN0IHdoZW4gaXQgaXMgcmVhZGluZy93cml0aW5nIGF0CgkgIHRoZSBkZWZhdWx0IHBlcmlvZC4gSW1wcm92aW5nIHRoaXMgd2lsbCBsaWtlbHkgcmVxdWlyZSB0aGUgdXNlIG9mIHRoZQoJICBJQXVkaW9DbGllbnQzIGludGVyZmFjZXMgd2hpY2ggYXJlIG5vdCBhdmFpbGFibGUgaW4gTWluR1cgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyODk3CgoyMDE4LTAxLTI1IDAwOjUxOjIyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaWRldmljZS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaWRldmljZS5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogSW1wbGVtZW50IGEgZGV2aWNlIHByb3ZpZGVyIGZvciBwcm9iaW5nCgkgIEN1cnJlbnRseSBvbmx5IGRvZXMgcHJvYmluZyBhbmQgZG9lcyBub3QgaGFuZGxlIG1lc3NhZ2VzIGZyb20KCSAgZW5kcG9pbnRzL2RldmljZXMuIEluIHRoZSBmdXR1cmUgd2Ugd2FudCB0byBkbyBwcm9wZXIgbW9uaXRvcmluZyB3aGljaAoJICBpcyB3ZWxsLXN1cHBvcnRlZCBpbiBXQVNBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTI4OTcKCjIwMTgtMDEtMjQgMDg6MjA6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGk6IEltcGxlbWVudCBzdXBwb3J0IGZvciA+MiBjaGFubmVscwoJICBXZSBuZWVkIHRvIHBhcnNlIHRoZSBXQVZFRk9STUFURVhURU5TSUJMRSBzdHJ1Y3R1cmUsIGZpZ3VyZSBvdXQgd2hhdAoJICBwb3NpdGlvbnMgdGhlIGNoYW5uZWxzIGhhdmUgKGlmIHRoZXkgYXJlIHBvc2l0aW9uYWwpLCBhbmQgcmVvcmRlciB0aGVtCgkgIGFzIG5lY2Vzc2FyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mjg5NwoKMjAxOC0wMS0zMCAyMDozNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXNlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIHdoZXJlIHN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MTgzCgoyMDE4LTAxLTMwIDExOjM0OjU4IC0wOTAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogdnA4OiBGaXggcmFuZ2UgZGVjb2RlciBpbml0CgkgIEFjY29yZGluZyB0byB0aGUgdnA4IHNwZWMsIHRoZSBmaXJzdCBwYXJ0aXRpb24gKHNpemUgY2FuIGJlIGRlcml2ZWQgZnJvbQoJICB0aGUgZnJhbWUgaGVhZGVyKSBzaG91bGQgaGF2ZSBhbGwgY29tcHJlc3NlZCBoZWFkZXIgaW5mb3JtYXRpb24gYW5kIHdlCgkgIGltcGxlbWVudGVkIGdzdCBjb2RlY3BhcnNlciBiYXNlZCBvbiB0aGF0LiBCdXQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHRoZQoJICBjYXNlIHdpdGggc29tZSBvZiB0aGUgc3RyZWFtcyAoIzc5Mjc3MykgYW5kIGxpYnZweAoJICB3b3JrcyBmaW5lIGJlY2F1c2UgaXQgdXNlcyB0aGUgd2hvbGUgZnJhbWUgc2l6ZSAobm90IHRoZSBmaXJzdCBwYXJ0aXRpb24KCSAgc2l6ZSkgdG8gaW5pdGlhbGl6ZSB0aGUgYm9vbCBkZWNvZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNzczCgoyMDE4LTAxLTIyIDE2OjIxOjI3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogTWFrZSByZW5kZXIgcmVjdGFuZ2xlIHByb3BlcnR5IGNvbnRyb2xsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNzk4CgoyMDE2LTEwLTAzIDEzOjExOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBmaXggdmVydGV4X2J1ZmZlciBsZWFrCgkgIFdlIGNhbGwgdGhlIGJhc2UgY2xhc3MgZmlyc3QgYXMgdGhpcyB3aWxsIHJlbW92ZSB0aGUgcGFkIGZyb20KCSAgdGhlIGFnZ3JlZ2F0b3IsIHRodXMgc3RvcHBpbmcgbWlzYyBjYWxsYmFja3MgZnJvbSBiZWluZyBjYWxsZWQsCgkgIG9uZSBvZiB3aGljaCAocHJvY2Vzc190ZXh0dXJlcykgd2lsbCByZWNyZWF0ZSB0aGUgdmVydGV4X2J1ZmZlcgoJICBpZiBpdCBpcyBkZXN0cm95ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg3MwoKMjAxOC0wMS0yNiAxNjoyNTozMyArMDEwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBlbnVtcy5oOgoJKiBleHQvc3J0cC9tZXNvbi5idWlsZDoKCSogZXh0L3NydHAvc3J0cF9ta2VudW0ucHk6CgkgIHNydHA6IFN1cHBvcnQgbGlic3J0cDIKCSAgRm9yIGxpYnNydHAgMSwgYWRkIGRlZmluZXMgdGhhdCB0cmFuc2xhdGUgdGhlIG5ldyBuYW1lc3BhY2VkIGlkZW50aWZpZXJzCgkgIHRvIHRoZSBvbGQgdW5uYW1lc3BhY2VkIG9uZXMuIEFsc28gbW92ZSB0aGUgY29kZSBmb3Igc2V0dGluZyBhbmQgZ2V0dGluZwoJICBhIHN0cmVhbSdzIFJPQyBpbnRvIHR3byBjb21wYXQgZnVuY3Rpb25zIHRoYXQgbWF0Y2ggbGlic3J0cDIncyBBUEkuCgkgIEl0IHNlZW1zIHRoYXQgbGlic3J0cDIgcHJvcGVybHkgc3VwcG9ydHMgY2hhbmdpbmcgdGhlIFJPQyB3aXRob3V0IGhhdmluZwoJICB0byB0b3VjaCB0aGUgc2VxdWVuY2UgbnVtYmVycyBhZnRlcndhcmRzLCBnaXZlbiB0aGF0IHNydHBfc2V0X3N0cmVhbV9yb2MKCSAgc2V0cyBhIHBlbmRpbmdfcm9jIGZpZWxkLCBzbyB0aGUgZW50aXJlIHJvY19jaGFuZ2VkIGRhbmNlIHNob3VsZCBub3QgYmUKCSAgbmVlZGVkIGFueW1vcmUuIFRoZSBjb21wYXQgZnVuY3Rpb25zIGZvciBsaWJzcnRwIDEganVzdCBjb250YWluIG91cgoJICBwcmVleGlzdGluZyBoYWNrcywgaG93ZXZlciwgc28gaXQncyBzdGlsbCBuZWVkZWQgdGhlcmUuCgkgIGxpYnNydHAyIGhhcyBubyBtZWFucyBvZiBkaXNjb3ZlcmluZyB0aGUgc3RyZWFtcyBpbiB0aGUgc2Vzc2lvbiwgc28gdG8KCSAgY3JlYXRlIHRoZSBzdGF0cyBzdHJ1Y3R1cmUgd2UgbmVlZCB0byBpdGVyYXRlIG92ZXIgb3VyIG93biBzZXQgb2YgU1NSQ3MuCgkgIEZvciB0aGlzIHdlIGFsc28gbmVlZCB0byByZS1hZGQgdGhlIHByZXZpb3VzbHkgcmVtb3ZlZCBzc3Jjc19zZXQgdG8gdGhlCgkgIGVuY29kZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY5MDEKCjIwMTgtMDEtMjggMTQ6Mjg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZG9uJ3QgY3Jhc2ggaWYgdGhlcmUncyBzdHJlYW1oZWFkZXIgZmllbGQgaW4gdGhlIGNhcHMKCSAgRml4IHJlZ3Jlc3Npb24gd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggbmV3IGZsdm11eCB3aGljaCB3YXMKCSAgcG9ydGVkIHRvIEdzdEFnZ3JlZ2F0b3IsIGFuZCB3aGljaCBzZW5kcyBwbGFpbiB2aWRlby94LWZsdiBjYXBzCgkgIGJlZm9yZSBzZW5kaW5nIGZ1bGwgY2FwcyB0aGF0IGluY2x1ZGUgc3RyZWFtaGVhZGVycy4KCjIwMTctMTItMTMgMTM6NDM6MzAgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogZW5hYmxlIGF1dG9mb2N1cyBjYWxsYmFjawoJICBJdCBzaG91bGQgYmUgZW5hYmxlZCB0byBzZXQgYXV0b2ZvY3VzIHByb3Blcmx5LCBidXQKCSAgaXQgc2VlbXMgdG8gYmUgY29tbWVudGVkIG91dCBtaXN0YWtlbmx5IGZyb20gdGhlIGZpcnN0IGNvbW1pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDk0NQoKMjAxOC0wMS0yNiAwNjowMTozNSArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGV4dC9hb20vZ3N0YXYxZGVjLmM6CgkqIGV4dC9hb20vZ3N0YXYxZGVjLmg6CgkqIGV4dC9hb20vZ3N0YXYxZW5jLmM6CgkqIGV4dC9hb20vZ3N0YXYxZW5jLmg6CgkgIGFvbTogQWRkIGRpcmVjdCBjYXN0cyBmb3IgR3N0QVYxRW5jIGFuZCBHc3RBVjFEZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTY3NAoKMjAxOC0wMS0yNiAwNToyMDo1NSArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGV4dC9hb20vZ3N0YXYxZGVjLmM6CgkqIGV4dC9hb20vZ3N0YXYxZW5jLmM6CgkgIGFvbTogRGVhZGxpbmUgd2FzIHJlbW92ZWQgZnJvbSBBVjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTY3NAoKMjAxNy0xMi0zMSAwNzo0Nzo0NyArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGV4dC9hb20vZ3N0YXYxZGVjLmM6CgkgIGFvbTogRml4IGxlYWsgaW4gYXYxZGVjCgkgIEFPTSBEZWNvZGVyIHdhc24ndCBiZWluZyBkZXN0cm95ZWQgaW4gc3RvcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNjc0CgoyMDE4LTAxLTE0IDIyOjIyOjA3ICswMDAwICBTZWFuIER1Qm9pcyA8c2VhbkBzaW9idWQuY29tPgoKCSogZXh0L2FvbS9nc3RhdjFlbmMuYzoKCSAgYW9tOiBQdXQgYXYxZW5jIGNvbmZpZyBkZWJ1Z2dpbmcgdW5kZXIgZ3N0X2F2MV9lbmNfZGVidWcgbmFtZXNwYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE2NzQKCjIwMTgtMDEtMjUgMjE6MjM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCBtaXNzaW5nIFwgaW4gbXVsdGktbGluZSAjZGVmaW5lCgoyMDE4LTAxLTIyIDE0OjA2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRkZXZpY2UuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kZGV2aWNlLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBBZGQgc3VwcG9ydCBmb3IgYSBEZXZpY2VQcm92aWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNzgyCgoyMDE4LTAxLTI0IDA4OjIwOjEzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgIHdhc2FwaTogRml4IHNvbWUgbGVha3MsIGJ1Z3MsIGFuZCBjb21waWxlciB3YXJuaW5ncwoJICBBbHNvIGltcHJvdmUgbG9nZ2luZy4KCjIwMTctMTEtMDYgMTI6Mzk6MzIgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2ezQsNX1wYXJzZTogZXhwb3NlIGNocm9tYSBmb3JtYXQgYW5kIGJpdCBkZXB0aCBpbiBjYXBzCgkgIFRoaXMgaW5mb3JtYXRpb24gY291bGQgYmUgdXNlZCBmb3IgZXhhbXBsZSB0byBwaWNrIGEgZGVjb2RlciBzdXBwb3J0aW5nCgkgIGEgc3BlY2lmaWMgY2hyb21hIGFuZC9vciBiaXQgZGVwdGgsIGxpa2UgNDoyOjIgMTAgYml0cy4KCSAgSXQgY2FuIGFsc28gYmUgdXNlZCB0byBpbmZvcm0gZWFybGllciBkZWNvZGVyIGFib3V0IHRoZSBmb3JtYXQgaXQgaXMKCSAgYWJvdXQgdG8gZGVjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMDM5CgoyMDE3LTA0LTE2IDE2OjA4OjI3ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmg6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuYzoKCSAgbnZlbmM6IGFkZCAiZ29wLXNpemUiIHByb3BlcnR5CgkgIFRoaXMgYWxzbyBjaGFuZ2VzIHRoZSBkZWZhdWx0IGdvcCBzaXplIGZyb20gMzAgdG8gNzUgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDEwCgoyMDE4LTAxLTI0IDEwOjIxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogbWFyayBwcm9wZXJ0aWVzIHRoYXQgY2FuIGJlIGNoYW5nZWQgYXQgcnVudGltZSBhY2NvcmRpbmdseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDEwCgoyMDE3LTA0LTE3IDEzOjU4OjUzICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBnbWFpbC5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuaDoKCSAgbnZlbmM6IEFkZCBzdXBwb3J0IGZvciBkeW5hbWljIGJpdHJhdGUvcHJlc2V0IHJlY29uZmlndXJhdGlvbgoJICBVc2VmdWwgZm9yIGR5bmFtaWNhbGx5IHVwZGF0aW5nIGJpdHJhdGUgaW4gbGl2ZSBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0MTAKCjIwMTctMDQtMTQgMTU6MzA6NDQgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQGdtYWlsLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IEFkZCBzdXBwb3J0IGZvciBJNDIwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0MTAKCjIwMTctMTItMjEgMTg6MzM6NDkgKzA4MDAgIEp1biBYaWUgPGp1bi54aWVAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJICBuZXRzaW06IGZpeCBtaXNsZWFkaW5nIHBhY2tldCBkZWxheSBsb2cKCSAgcGFja2V0IGRlbGF5IHRpbWUgc2hhbGwgYmUgY2FsY3VsYXRlZCBieSByZWFkeV90aW1lIG1pbnVzIGN1cnJlbnQgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxODM4CgoyMDE3LTEyLTI4IDEyOjE1OjIxICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9ycGFkOiBpbXBsZW1lbnQgc2tpcF9idWZmZXIKCSAgU2tpcCBidWZmZXJzIGZyb20gc291cmNlcyB3aXRoIGEgZnJhbWVyYXRlIGhpZ2hlciB0aGFuIHRoZSBvdXRwdXQKCSAgZnJhbWVyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxOTI4CgoyMDE4LTAxLTIzIDE0OjQ5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IGRvbid0IGNyYXNoIGlmIHRoZXJlIGFyZSBubyBkZWNrbGluayBkZXZpY2VzCgkgIEZpeGVzIGdlbmVyaWMvc3RhdGVzIGNoZWNrLgoKMjAxOC0wMS0yMyAxMDoyNzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBkb24ndCBsaW1pdCBudW1iZXIgb2YgZGV2aWNlcyB0byAxNgoJICBUaGVyZSBpcyBubyBmaXhlZCBsaW1pdGF0aW9uIGZvciB0aGUgbnVtYmVyIG9mIGRldmljZXMgb24gdGhlCgkgIGRlY2tsaW5rIEFQSSBzaWRlIGFjY29yZGluZyB0byBCbGFja01hZ2ljLiBNYW55IFBDIG1vdGhlcmJvYXJkcwoJICBhcmUgYWJsZSBzdXBwb3J0IDYgZGVja2xpbmsgY2FyZHMgZWFjaCB3aXRoIHVwIHRvIDggaW5wdXRzIHNvCgkgIGEgbGltaXQgb2YgMTYgbWlnaHQgd2VsbCBiZSB0b28gbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MjM5CgoyMDE4LTAxLTIzIDA5OjAxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIFVwZGF0ZSBmb3IgcmVuYW1lZCBhZ2dyZWdhdG9yIHBhZCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTIwNAoKMjAxOC0wMS0yMiAxODo1MzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVvc246IGN1cmw6IGFsc28gY2hlY2sgZm9yIGFuZCB1c2UgbGlic3NoMiBpZiBhdmFpbGFibGUKCjIwMTgtMDEtMjIgMTM6NDQ6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBEb24ndCBkeW5hbWljYWxseSBsb2FkIG9uZSBEaXJlY3RTb3VuZCBzeW1ib2wgYXQgcnVudGltZQoJICBKdXN0IGxpbmsgc3RhdGljYWxseSB0byBpdCwgbGlrZSBmb3IgYWxsIG90aGVyIERpcmVjdFNvdW5kIHN5bWJvbHMuCgoyMDE4LTAxLTIxIDA5OjAyOjMwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJICB3YXNhcGk6IFJld3JpdGUgbW9zdCBvZiB0aGUgY29kZSB0byBtYWtlIGl0IHdvcmsKCSAgQm90aCB0aGUgc291cmNlIGFuZCB0aGUgc2luayBlbGVtZW50cyB3ZXJlIGJyb2tlbiBpbiBhIG51bWJlciBvZiB3YXlzOgoJICAqIHByZXBhcmUoKSB3YXMgYXNzdW1pbmcgdGhhdCB0aGUgZm9ybWF0IHdhcyBhbHdheXMgUzE2TEUgMmNoIDQ0LjFLSHouCgkgIFdlIG5vdyBwcm9iZSB0aGUgcHJlZmVycmVkIGZvcm1hdCB3aXRoIEdldE1peEZvcm1hdCgpLgoJICAqIERldmljZSBpbml0aWFsaXphdGlvbiB3YXMgZG9uZSB3aXRoIHRoZSB3cm9uZyBidWZmZXIgc2l6ZQoJICAoYnVmZmVyX3RpbWUgaXMgaW4gbWljcm9zZWNvbmRzLCBub3QgbmFub3NlY29uZHMpLgoJICAqIHNpbmtfd3JpdGUoKSBhbmQgc3JjX3JlYWQoKSB3ZXJlIGp1c3QgcGxhaW4gd3JvbmcgYW5kIHdvdWxkIG5ldmVyCgkgIHdyaXRlIG9yIHJlYWQgYW55dGhpbmcgdXNlZnVsLgoJICAqIFNvbWUgZnVuY3Rpb25zIGluIHByZXBhcmUoKSB3ZXJlIGFsd2F5cyByZXR1cm5pbmcgRkFMU0Ugd2hpY2ggbWVhbnQKCSAgdHJ5aW5nIHRvIHVzZSB0aGUgZWxlbWVudHMgd291bGQgKmFsd2F5cyogZmFpbC4KCSAgKiBnZXRfY2FwcygpIGFuZCBkZWxheSgpIHdlcmUgbm90IGltcGxlbWVudGVkIGF0IGFsbC4KCSAgVE9ETzogc3VwcG9ydCBmb3IgPjIgY2hhbm5lbHMKCSAgVE9ETzogcHJvLWF1ZGlvIGxvdy1sYXRlbmN5CgkgIFRPRE86IFNQRElGIGFuZCBvdGhlciBlbmNvZGVkIHBhc3N0aHJvdWdocwoJICBUaHJlZSBuZXcgcHJvcGVydGllcyBhcmUgbm93IGltcGxlbWVudGVkOiByb2xlLCBtdXRlLCBhbmQgZGV2aWNlLgoJICAqICdyb2xlJyBkZXNpZ25hdGVzIHRoZSBzdHJlYW0gcm9sZSBvZiB0aGUgaW5pdGlhbGl6ZWQgZGV2aWNlLCBzZWU6CgkgIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL2RkMzcwODQyKHY9dnMuODUpLmFzcHgKCSAgKiAnZGV2aWNlJyBpcyBhIHN5c3RlbS13aWRlIEdVSURlc3F1ZSBzdHJpbmcgZm9yIGEgc3BlY2lmaWMgZGV2aWNlLgoJICAqICdtdXRlJyBpcyBhIHNpbmsgcHJvcGVydHkgYW5kIHNpbXBseSBtdXRlcyBpdC4KCSAgT24gbXkgV2luZG93cyA4LjEgc3lzdGVtLCB0aGUgbG93ZXN0IGxhdGVuY3kgdGhhdCB3b3JrcyBpczoKCSAgd2FzYXBpc3JjIGJ1ZmZlci10aW1lPTIwMDAwCgkgIHdhc2FwaXNpbmsgYnVmZmVyLXRpbWU9MTAwMDAKCSAgYWthLCAyMG1zIGFuZCAxMG1zIHJlc3BlY3RpdmVseS4gVGhlc2UgdmFsdWVzIGFyZSBjbG9zZSB0byB0aGUgbG93ZXN0CgkgIHBvc3NpYmxlIHdpdGggdGhlIElBdWRpb0NsaWVudCBpbnRlcmZhY2UuIEZ1cnRoZXIgaW1wcm92ZW1lbnRzIHJlcXVpcmUKCSAgcG9ydGluZyB0byBJQXVkaW9DbGllbnQyIG9yIElBdWRpb0NsaWVudDMuCgkgIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL3dpbmRvd3MtaGFyZHdhcmUvZHJpdmVycy9hdWRpby9sb3ctbGF0ZW5jeS1hdWRpbwoKMjAxOC0wMS0yMCAxNTo0OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBza2lwIGNoZWNrcyBpZiB3ZSBkb24ndCBoYXZlIGVuY29kZXJzIGZvciB0aGUgZGVmYXVsdCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzg2MwoKMjAxOC0wMS0xNyAxMjowNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9pcGNwaXBlbGluZS5jOgoJICB0ZXN0czogaXBjcGlwZWxpbmU6IGZpeCBzdHJ1Y3QgaW5pdGlhbGlzYXRpb24gd2FybmluZ3Mgd2l0aCBjbGFuZwoJICBVc2UgaW5pdCBtYWNyb3MgdG8gYXZvaWQgZ3N0LWluZGVudCBtYWtpbmcgYSBtZXNzIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3OTgwCgoyMDE4LTAxLTE2IDExOjM1OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLnVpOgoJICB0ZXN0czogcmVtb3ZlIHRlc3QgdGhhdCdzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDEueAoKMjAxOC0wMS0wMyAxMDoyNjo0OSArMDgwMCAgSnVuIFhpZSA8anVuLnhpZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBtZW1vcnkgbGVhayB3aGlsZSB1cGRhdGluZyBtYXN0ZXIgcGxheWxpc3QKCSAgbmV3X21hc3RlciBuZWVkcyB0byBiZSBmcmVlZCBpZiBjdXJyZW50IHBsYXlsaXN0IGlzIG5vdCBhIG1hc3RlciBwbGF5bGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMTQ2CgoyMDE4LTAxLTE1IDIwOjAxOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IGZpeCBpbnZlcnRlZCBib29sZWFuIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMzMAoKMjAxOC0wMS0xMSAxMTo0OTowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgY2hlY2s6IFVwZGF0ZSBnaXRpZ25vcmUKCjIwMTgtMDEtMTEgMTE6NDE6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBSZW1vdmUgdXNlbGVzcyBjaGVjawoJICBBbnkgbW9kaWZpY2F0aW9uIG9mIHJldCBpbiB0aGF0ICJ3aGlsZSAocmV0ID09IEdTVF9GTE9XX09LKSIgbG9vcCB3aWxsCgkgIGJyZWFrIChhbmQgY2F1c2UgaXQgdG8gc3RvcCB0aGUgaXRlcmF0aW9uKS4KCSAgQ0lEICMxNDI3MDk1CgoyMDE4LTAxLTExIDExOjMzOjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBSZWZhY3RvcmluZyBmb3IgcmVhZGFiaWxpdHkgYW5kIGxlYWsgZml4aW5nCgkgIEluc3RlYWQgb2YgYSBtYXNzaXZlIGlmL2Vsc2UvaWYvZWxzZS9pZi9lbHNlLy4uLjoKCSAgKiBVc2UgYSBjb21tb24gY2xlYW51cCBwYXRoIGZvciBhbGxvY2F0ZWQgaXRlbXMganVzdCBiZWZvcmUgbGVhdmluZwoJICB0aGUgZnVuY3Rpb24gKHdoaWNoIHdpbGwgYmUgZnJlZS1kIG9ubHkgaWYgd2UncmUgbm90IGRlYWxpbmcgd2l0aAoJICBhIGRlbGF5ZWQgU1BVKS4KCSAgKiAiZ290byIgdGhhdCBjbGVhbnVwIHBhdGggd2hlcmV2ZXIgbmVlZGVkCgkgIENJRCAjMTQyNzA5NgoJICBDSUQgIzE0MjcxMTQKCjIwMTgtMDEtMTEgMTE6Mjk6MzggKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNkay5jOgoJICBtc2RrOiBjaGFuZ2UgcGx1Z2luJ3MgZGVzY3JpcHRpb24KCSAgVGhlcmUgYXJlIG5vdCBvbmx5IGVuY29kZXJzIG5vd2FkYXlzLCB0aGVyZSBhcmUgZGVjb2RlcnMgdG9vIGFuZCBhCgkgIHBvc3Rwcm9jZXNzb3IgaW4gdGhlIGZ1dHVyZS4KCjIwMTgtMDEtMTAgMTg6MjQ6MDcgLTA5MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGsuYzoKCSAgbXNkazogaW5pdCB0aGUgZGVidWcgY2F0ZWdvcnkgZm9yIG1wZWcyZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTIyNjAKCjIwMTgtMDEtMTAgMTA6NDA6MjQgLTA5MDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RrLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGttcGVnMmRlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrbXBlZzJkZWMuaDoKCSogc3lzL21zZGsvbWVzb24uYnVpbGQ6CgkgIG1zZGs6IEFkZCBtcGVnMiBkZWNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTIyNjAKCjIwMTgtMDEtMDkgMTg6MTE6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNydDogVGhlIHBrZ2NvbmZpZyBpcyAic3J0Iiwgbm90ICJsaWJzcnQiCgkgIEFsc28sIGFsd2F5cyB1c2UgdGhlIHBrZ2NvbmZpZyBmaWxlIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrCgoyMDE4LTAxLTA5IDE4OjEwOjA0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydC9nc3RzcnRzZXJ2ZXJzcmMuYzoKCSogZXh0L3NydC9nc3RzcnRzZXJ2ZXJzcmMuaDoKCSAgc3J0OiBJbmNsdWRlIHNydC5oIGluc2lkZSBvYmplY3QgaGVhZGVyCgkgIE90aGVyd2lzZSwgbmV3ZXIgR0NDIGNvbXBsYWlucyBhYm91dCBub3cgaGF2aW5nIHNvY2thZGRyIGRlZmluZWQgaW4KCSAgdGhlIGhlYWRlci4KCjIwMTgtMDEtMDcgMTQ6NDU6MzcgKzAwMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IGRvYyB1cGRhdGUgZm9yIHNldF9zdWJ0aXRsZV91cmkoKQoJICBBIGNhbGwgdG8gdGhpcyBmdW5jdGlvbiB3aXRob3V0IGVuYWJsaW5nIHRoZSBzdWJ0aXRsZSB0cmFjayBoYXMgbm8gZWZmZWN0LgoKMjAxNy0xMi0yOSAxNToxNDo1NCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEV4dHJhcG9sYXRlIHN0cmVhbS9odyByZWZlcmVuY2UgdGltZXN0YW1wcyB3aGVuIHZpZGVvIGZyYW1lIGlzIG1pc3NpbmcKCSAgU29tZXRpbWVzIHdlIG1pZ2h0IGdldCBhbiBhdWRpbyBwYWNrZXQgd2l0aG91dCBhIGNvcnJlc3BvbmRpbmcgdmlkZW8KCSAgZnJhbWUuIEluIHRoZXNlIGNhc2VzLCB0aGUgc3RyZWFtIGFuZCBoYXJkd2FyZSByZWZlcmVuY2UgdGltZXN0YW1wcwoJICB3b3VsZCBiZSBtaXNzaW5nLCBiZWNhdXNlIHRoZXkncmUgY2FsbGVkIG9uIHRoZSB2aWRlbyBmcmFtZS4gSW5zdGVhZCBvZgoJICBwb3RlbnRpYWxseSBicmVha2luZyBzdHVmZiBkb3duc3RyZWFtIHRoYXQgbWlnaHQgZGVwZW5kIG9uIHRoZXNlLCB3ZSBub3cKCSAgZXh0cmFwb2xhdGUgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjA0MgoKMjAxNy0wNC0yNiAxOTowNToyMSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IERldGVjdCBnYXBzIG9uIGluY29taW5nIHN0cmVhbSB0aW1lcywgaXNzdWUgd2FybmluZ3MKCSAgV2hlbiB3ZSByZWNlaXZlIGEgdmlkZW8gb3IgYXVkaW8gYnVmZmVyLCB3ZSBjYWxjdWxhdGUgdGhlIG5leHQgc3RyZWFtCgkgIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgc3RyZWFtIHRpbWUgKyBidWZmZXIgZHVyYXRpb24uIElmIHRoZSBuZXh0CgkgIGJ1ZmZlcidzIHN0cmVhbSB0aW1lIGlzIGFmdGVyIHRoYXQsIHdlIGlzc3VlIGEgd2FybmluZy4KCSAgVGhpcyBoYXBwZW5zIGJlY2F1c2UgdGhlIHN0cmVhbSB0aW1lIGluY29taW5nIGZyb20gRGVja2xpbmsgc2hvdWxkIGJlCgkgIHJlYWxseSBjb25zdGFudCBhbmQgd2l0aG91dCBnYXBzLiBJZiB0aGVyZSBpcyBhIGdhcCwgaXQgbWVhbnMgdGhhdAoJICBzb21ldGhpbmcgd2VudCB3cm9uZywgZS5nLiB0aGUgaW50ZXJuYWwgYnVmZmVyIHBvb2wgaXMgZW1wdHkgKHRvbyBtYW55CgkgIGJ1ZmZlcnMgcXVldWVkIHVwIGRvd25zdHJlYW0pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNzc2CgoyMDE4LTAxLTA0IDE1OjQxOjUxICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBSZXZlcnQgIldJUDogUmV2ZXJ0ICJSZXZlcnQgImRlY2tsaW5rOiBEZXRlY3QgZ2FwcyBvbiBpbmNvbWluZyBzdHJlYW0gdGltZXMsIGlzc3VlIHdhcm5pbmdzIiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGRjZWViNWNjZDZlNDZhNjFlM2JiZTc5ZWZhNDUyNzU1MDRmYTUwMC4KCjIwMTgtMDEtMDQgMTU6NDE6NTAgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0aml0dGVyZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0aml0dGVyZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvbWVzb24uYnVpbGQ6CgkgIFJldmVydCAiV0lQOiBSZXZlcnQgIlJldmVydCAiZGVidWd1dGlsczogQWRkZWQgbmV3IGppdHRlcmVyIGVsZW1lbnQiIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhNDAxY2I5YTYxZjIxYzJmYmM4MDNlYjNmMDk4YTllMjQ5NmVkYzA2LgoKMjAxOC0wMS0wNCAxNTo0MTo0OSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICBSZXZlcnQgIldJUDogUmV2ZXJ0ICJSZXZlcnQgInRpbWVjb2Rlc3RhbXBlcjogTFRDIGZyb20gYXVkaW8iIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMGJlMDVkYzcwNTljYzk3ZGNlYjcwYTQ4Y2E5Y2FkNGVlMmVkY2U2LgoKMjAxOC0wMS0wNCAxNTo0MTo0OCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGVzdGFtcGVyLmM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuaDoKCSAgUmV2ZXJ0ICJXSVA6IFJldmVydCAiUmV2ZXJ0ICJ0aW1lY29kZXN0YW1wZXI6IE1vZGlmeSBsdGMtYWRkIHRvIHRjLWFkZCIiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJmOWRhMGFiNTllZjQyMzFlOWM4NTBhZmIwODlkOTIwZTlkMjU2MDkuCgoyMDE4LTAxLTA0IDE1OjQxOjQ0ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgUmV2ZXJ0ICJkZWNrbGlua2F1ZGlvc3JjOiBFeHRyYXBvbGF0ZSBzdHJlYW0vaHcgcmVmZXJlbmNlIHRpbWVzdGFtcHMgd2hlbiB2aWRlbyBmcmFtZSBpcyBtaXNzaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZhZjg2MzkxNmE3YmYzYmZlMzE5NzBmZGMyZGQyZDQyZWEzZjk2OTAuCgoyMDE3LTEyLTI5IDE1OjE0OjU0ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbmthdWRpb3NyYzogRXh0cmFwb2xhdGUgc3RyZWFtL2h3IHJlZmVyZW5jZSB0aW1lc3RhbXBzIHdoZW4gdmlkZW8gZnJhbWUgaXMgbWlzc2luZwoJICBTb21ldGltZXMgd2UgbWlnaHQgZ2V0IGFuIGF1ZGlvIHBhY2tldCB3aXRob3V0IGEgY29ycmVzcG9uZGluZyB2aWRlbwoJICBmcmFtZS4gSW4gdGhlc2UgY2FzZXMsIHRoZSBzdHJlYW0gYW5kIGhhcmR3YXJlIHJlZmVyZW5jZSB0aW1lc3RhbXBzCgkgIHdvdWxkIGJlIG1pc3NpbmcsIGJlY2F1c2UgdGhleSdyZSBjYWxsZWQgb24gdGhlIHZpZGVvIGZyYW1lLiBJbnN0ZWFkIG9mCgkgIHBvdGVudGlhbGx5IGJyZWFraW5nIHN0dWZmIGRvd25zdHJlYW0gdGhhdCBtaWdodCBkZXBlbmQgb24gdGhlc2UsIHdlIG5vdwoJICBleHRyYXBvbGF0ZSB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMDQyCgoyMDE3LTExLTA3IDIxOjE0OjE4ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICBXSVA6IFJldmVydCAiUmV2ZXJ0ICJ0aW1lY29kZXN0YW1wZXI6IE1vZGlmeSBsdGMtYWRkIHRvIHRjLWFkZCIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDU0MjZkOTI5ODQzMWMxNDk4MDdmYjQzNWNkMWQ2MzJlOWZkMDYxZi4KCjIwMTctMTEtMDcgMjE6MTQ6MTUgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGVzdGFtcGVyLmM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuaDoKCSAgV0lQOiBSZXZlcnQgIlJldmVydCAidGltZWNvZGVzdGFtcGVyOiBMVEMgZnJvbSBhdWRpbyIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTk5OGNjZjFmYmQ1ODZlZjFkYzRiMWU3MjU2YmFkN2FmODEzNmYxMy4KCjIwMTctMTEtMDcgMjE6MTQ6MDEgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0aml0dGVyZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0aml0dGVyZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvbWVzb24uYnVpbGQ6CgkgIFdJUDogUmV2ZXJ0ICJSZXZlcnQgImRlYnVndXRpbHM6IEFkZGVkIG5ldyBqaXR0ZXJlciBlbGVtZW50IiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjY2MxNjI0ZDA5N2NiZmRhZjlmOTk1MjZjMDMzYzY0MmM4NjM0MDBjLgoKMjAxNy0xMS0wNyAyMToxMzo1NyArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgV0lQOiBSZXZlcnQgIlJldmVydCAiZGVja2xpbms6IERldGVjdCBnYXBzIG9uIGluY29taW5nIHN0cmVhbSB0aW1lcywgaXNzdWUgd2FybmluZ3MiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA3ODE5YWZkYTQ2MWY1ZTRkNzdjOWJlOWY0ODRhN2FhZTNjNWVjOGMuCgoyMDE4LTAxLTAzIDE2OjA3OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFJlbW92ZSB1c2VsZXNzIGNoZWNrCgkgIFdlIGFyZSBzdXJlIHRvIGhhdmUgYSBmcmFtZSBhdCB0aGlzIHBvaW50CgkgIENJRCAjMTQyNzEzOAoKMjAxOC0wMS0wMyAxNToxNToyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luazIuYzoKCSAgaGxzc2luazI6IFJlbW92ZSB1c2VsZXNzIGlmIHN0YXRlbWVudAoJICBtZXNzYWdlIHdpbGwgYWx3YXlzIGJlIHByZXNlbnQKCSAgQ0lEICMxNDA5ODUzCgoyMDE4LTAxLTAzIDEyOjE1OjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBGaXggbWVtb3J5IGxlYWsgaW4gZXJyb3IgY2FzZXMKCSAgQ0lEICMxNDI3MDk2CgkgIENJRCAjMTQyNzExNAoKMjAxOC0wMS0wMiAyMDo1MToyNSArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydC9nc3RzcnQuaDoKCSogZXh0L3NydC9nc3RzcnRiYXNlc2luay5jOgoJKiBleHQvc3J0L2dzdHNydGJhc2VzcmMuYzoKCSogZXh0L3NydC9nc3RzcnRjbGllbnRzcmMuYzoKCSogZXh0L3NydC9nc3RzcnRzZXJ2ZXJzaW5rLmg6CgkqIGV4dC9zcnQvZ3N0c3J0c2VydmVyc3JjLmg6CgkgIHNydDogUmVtb3ZlIHBsYXRmb3JtIGRlcGVuZGVudCBzb2NrZXQgaGVhZGVycwoJICBTUlQgbW9kdWxlcyBlbnRydXN0IGBnbmV0d29ya2luZy5oYCB3aXRoIGZpbmRpbmcgcmlnaHQgaGVhZGVycwoJICBmb3IgdGhlIHBsYXRmb3Jtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MjEyMwoKMjAxOC0wMS0wMiAxNToyMzowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSAgbmFsdXRpbHM6IEZpeCBFeHBvbmVudGlhbC1Hb2xvbWIgJ3VlJyBwYXJzaW5nCgkgIFRoZSBhbGdvcml0aG0gd2UgdXNlIG9ubHkgc3VwcG9ydHMgdXAgdG8gYSBtYXhpbXVtIGV4cG9uZW50IG9mIDMxCgkgIChmb3IgYSBtYXhpbXVtIHJlc3VsdGluZyBvZiAyKiozMiAtMSkKCSAgQ0lEICMxNDI3MDk3CgoyMDE4LTAxLTAyIDExOjQzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L21lc29uLmJ1aWxkOgoJICBvcGVuY3Y6IGFsbG93IGFsbCBmdXR1cmUgMy40LnggdmVyc2lvbnMKCSAgRml4LXVwIGZvciBwcmV2aW91cyBwYXRjaCB3aGljaCBJIG1vZGlmaWVkIGluY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyMTE0CgoyMDE4LTAxLTAyIDEwOjEyOjExICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9tZXNvbi5idWlsZDoKCSAgb3BlbmN2OiBhbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IDMuNC54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTIxMTQKCjIwMTctMTItMjcgMTM6MDg6MTggKzAwMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IHRyYW5zZmVyIG93bmVyc2hpcCBvZiBpbmZvIHByb3BlcnRpZXMKCSAgVGhlIHByZXZpb3VzIGNvZGUgd291bGQgZW1pdCBHT2JqZWN0IGNyaXRpY2FsIHdhcm5pbmdzIHdoZW4gdGhlIGluZm8gcHJvcGVydGllcwoJICBhcmUgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTk4MgoKMjAxNy0xMi0yNiAwOTo1NDoxOCArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwOiBnZXQgc3NyYyBmb3IgQXBwbGljYXRpb24tRGVmaW5lZCBSVENQIFBhY2tldAoJICBBcHBsaWNhdGlvbi1kZWZpbmVkIFJUQ1AoMjA0KSBwYWNrZXRzIGFsc28gaGF2ZSBhIHNzcmMgaW4gdGhlaXIgaGVhZGVyLgoJICBUbyBmaW5kIGEgdmFsaWQgc3RyZWFtIGZyb20gdGhlIHBhY2tldCwgdGhlIHNzcmMgc2hvdWxkIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE5NTUKCjIwMTctMTItMjYgMTM6NTI6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHNraXAgdHJhbnNsYXRpb25zIGlmIGdldHRleHQgaXMgbm90IGF2YWlsYWJsZQoKMjAxNy0xMi0yNCAxMTozNjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLnBjLmluOgoJICBGaXggdHlwbyBpbiBnc3RyZWFtZXItYmFkLWF1ZGlvLTEuMC5wYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxOTEwCgoyMDE3LTEyLTIzIDEyOjUzOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogbG9jYWwgbGlicyBzaG91bGQgY29tZSBmaXJzdCBpbiBNYWtlZmlsZS5hbQoJICBBbmQga2VlcCBjb25zaXN0ZW50IG9yZGVyIGluIENGTEFHUyBhbmQgTElCUy4KCjIwMTctMTItMjMgMTI6Mjk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFycmFuZ2UgZm9yIGZpbmRpbmcgaGVhZGVycyBhbmQgbGlicyB0aGF0IGhhdmUgbW92ZWQgdG8gLWJhc2UKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC1wbHVnaW5zLWJhZC9leHQvZ2wvZ3N0b3BlbmdsLmM6NDc6MDoKCSAgLi4vLi4vLi4vZ3N0LXBsdWdpbnMtYmFkL2V4dC9nbC9nc3RnbG1peGVyYmluLmg6MjU6Mjk6IGZhdGFsIGVycm9yOiBnc3QvdmlkZW8vdmlkZW8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKMjAxNy0xMi0xOSAyMzoxMzozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBEb24ndCBmb3J3YXJkIGFsbCBxdWVyaWVzCgkgIFRoaXMgZml4ZXMgaXNzdWVzIHdoZXJlIHdhdnBhcnNlIHdvdWxkIHF1ZXJ5IHRoZSBmaWxlIHNpemUgdXBzdHJlYW0KCSAgYW5kIGFzc2VydCBiZWNhdXNlIHRoZSBmaWxlIHNpemUgaXMgd2F5IHNtYWxsZXIgdGhlbiB3aGF0IHRoZSBXQVZFCgkgIGhlYWRlciBzYXlzLiBUaGlzIHBhdGNoIGRpc2FibGUgb3IgY2FuZSBhIGhhbmRmdWwgb2YgcXVlcmllcyB0aGF0CgkgIG1ha2Ugbm8gc2Vuc2UgdG8gZm9yd2FyZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTgxMQoKMjAxNy0xMi0yMCAxNTowMjozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBEb24ndCBsZWFrIHBhZHMKCSAgYWxsIGF1ZGlvYWdncmVnYXRvciBzdWJjbGFzc2VzIHdlcmUgbGVha2luZyB0aGUgZmlyc3Qgc2luayBwYWQgOikKCjIwMTctMTItMjAgMTU6MDE6MTYgKzA4MDAgIEp1biBYaWUgPGp1bi54aWVAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBwZW5kaW5nX3NlZ21lbnQgbG9nCgkgIHBlbmRpbmdfc2VnbWVudCBzaGFsbCBiZSBsb2dnZWQgYXMgR1NUX1BUUl9GT1JNQVQsIGl0J3MgYW4gZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTgxMwoKMjAxNy0xMi0xOSAxNzozNTozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBCbG9jayBpbiBwcmVyb2xsX3dhaXQgb24gdW5sb2NrCgkgIFRoZSBjb3JyZWN0IGJlaGF2aW91ciBvZiBhbnl0aGluZyBzdHVjayBpbiB0aGUgLT5yZW5kZXIoKSBmdW5jdGlvbgoJICBiZXR3ZWVuIC0+dW5sb2NrKCkgYW5kIC0+dW5sb2NrX3N0b3AoKSBpcyB0byBjYWxsCgkgIGdzdF9iYXNlX3Npbmtfd2FpdF9wcmVyb2xsKCkgYW5kIG9ubHkgcmV0dXJuIGFuIGVycm9yIGlmIHRoaXMgcmV0dXJucyBhbgoJICBlcnJvciwgb3RoZXJ3aXNlLCBpdCBtdXN0IGNvbnRpbnVlIHdoZXJlIGl0IGxlZnQgb2ZmIQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0OTUwCgoyMDE3LTA3LTIyIDIwOjMyOjIwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogaW1wbGVtZW50IGlucHV0IGNvbnZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjM0NAoKMjAxNi0wNy0wNyAyMDo0MDoyMiArMDIwMCAgTWFyY2luIExld2FuZG93c2tpIDxtYXJjaW5AcmFkaW9raXQub3JnPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNtaHNpbms6IENoZWNrIHJldHVybiB2YWx1ZXMgb2YgZnVuY3Rpb25zIHdvcmtpbmcgb24gbWVtb3J5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg1MzAKCjIwMTctMTItMTkgMjE6MzU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBkb24ndCBpbmNsdWRlIHByaXZhdGUgY29jb2EgZ2wgaGVhZGVyCgoyMDE3LTEyLTE5IDE2OjIyOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGsgZXhhbXBsZTogRml4IGNmbGFncyBpbiBNYWtlZmlsZS5hbQoKMjAxNy0xMi0xOSAxOToyMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZ2w6IGVuYWJsZSBvcGVuZ2xtaXhlcnMgcGx1Z2luIGluIGF1dG90b29scyBhZ2FpbiB0b28KCjIwMTctMTItMTkgMTc6NTY6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIGFmdGVyIGdsIG1vdmUgdG8gLWJhc2UKCjIwMTctMTItMTkgMTc6MzQ6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBnbDogZml4IGJ1aWxkIG9mIG9wZW5nbG1peGVycyBwbHVnaW4KCjIwMTctMTItMTkgMTU6MTQ6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBkZXBlbmRlbmN5IHR5cGUgbmFtZSB0byBjaGVjayBmb3IKCjIwMTctMTItMTkgMTU6MDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGZpeCBidWlsZCB3aXRoIEdzdEdMIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSBhcyBzdWJwcm9qZWN0CgkgIC0gdXNlIHJpZ2h0IGZhbGxiYWNrIHZhcmlhYmxlCgkgIC0gZ2V0IHBsYXRmb3JtL3dpbnN5cyB2YXJpYWJsZXMgZnJvbSBzdWJwcm9qZWN0IGluc3RlYWQgb2YgcGtnLWNvbmZpZwoJICBXaXRoIGNvbnRyaWJ1dGlvbnMgZnJvbSBUaGliYXVsdCBTYXVuaWVyLgoKMjAxNy0xMi0xOSAxMzowMzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBkb24ndCBpbmNsdWRlIHVuaW5zdGFsbGVkIGhlYWRlcgoKMjAxNy0xMi0xMyAwMTowNTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWxsb2NhdG9ycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FsbG9jYXRvcnMvYmFkYWxsb2NhdG9ycy5oOgoJKiBnc3QtbGlicy9nc3QvYWxsb2NhdG9ycy9nc3RwaHlzbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9hbGxvY2F0b3JzL2dzdHBoeXNtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2FsbG9jYXRvcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tZXNvbi5idWlsZDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hbGxvY2F0b3JzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hbGxvY2F0b3JzLnBjLmluOgoJICBhbGxvY2F0b3JzYmFkOiBwaHlzbWVtIG1vdmVkIHRvIC1iYXNlCgoyMDE3LTEyLTE3IDIwOjU0OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvbWVzb24uYnVpbGQ6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogbWVzb24uYnVpbGQ6CgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvbnZkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9udmVuYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ2w6IHVwZGF0ZSBwbHVnaW5zIHRvIHVzZSBHc3RHTCBmcm9tIC1iYXNlCgoyMDE3LTEyLTExIDE0OjIwOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmg6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmg6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uaDoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZXh0L2dsL21lc29uLmJ1aWxkOgoJICBnbDogbW9zdCBvZiBvcGVuZ2wgcGx1Z2luIGhhcyBtb3ZlZCB0byAtYmFzZSwga2VlcCBtaXhlciBiaXRzIGluIC1iYWQgZm9yIG5vdwoJICBTaW5jZSB0aGV5IHJlbHkgb24gR3N0VmlkZW9BZ2dyZWdhdG9yLgoJICBGaXggZGV0ZWN0aW9uIG9mIHRoaW5ncyBhZ2FpbiwgYW5kIE1lc29uCgoyMDE3LTEyLTExIDEyOjU5OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsZGlzcGxheV9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9SRUFETUU6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9ibGVuZGluZy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2J1ZmZlcnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2VnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZml4ZWRmdW5jdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3F1ZXJ5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy92YW8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2VudW1zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29uZmlnLmgubWVzb246CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0X3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZ1bmNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xwaXhlbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHNfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL2dsZXNfdmVyc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsZGlzcGxheV92aXZfZmIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3Zpdi1mYi9nc3RnbGRpc3BsYXlfdml2X2ZiLmg6CgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2x3aW5kb3dfdml2X2ZiX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsd2luZG93X3Zpdl9mYl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvd2luMzJfbWVzc2FnZV9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL3dpbjMyX21lc3NhZ2Vfc291cmNlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3hjYl9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94Y2JfZXZlbnRfc291cmNlLmg6CgkqIGdzdC1saWJzL2dzdC9tZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL21lc29uLmJ1aWxkOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGhlYWRlcnMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1hdHJpeC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xxdWVyeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2hhZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xzbC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2xzdGFnZS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuY2JwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2dlbmVyaWMuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbXZpZXd3aWRnZXQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbXZpZXd3aWRnZXQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGsuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvQXN5bmNRdWV1ZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9jb2NvYV91dGlscy5tbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGwuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSAgZ2w6IHJlbW92ZSBHU3RyZWFtZXIgT3BlbkdMIGludGVncmF0aW9uIGxpYnJhcnkgYW5kIG1vdmUgdG8gLWJhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA5NAoKMjAxNy0xMi0xOCAxNjo1NDoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBBZGQgV2luZG93cy9PU1ggcGF0aCBzdXBwb3J0CgkgIFRoaXMgaXMgdG8gbWltaWMgTFYyIGFuZCB3aGF0IGlzIGNvbW1vbmx5IGRvY3VtZW50ZWQgb3ZlciB0aGUKCSAgd2ViLiBXZSBhbHNvIGNvbXBsZXRlbHkgdHJhY2sgdGhlc2UgZGlyZWN0b3JpZXMgd2hlbiB1cGRhdGluZwoJICB0aGUgY2FjaGUgbm93LiBVbmxpa2UgTFYyLCB0aGUgcGx1Z2lucyBhcmUgZmxhdCBpbiB0aGUgcGx1Z2luCgkgIGRpcmVjdG9yaWVzLCBzbyBubyBuZWVkIGZvciB0aGUgcmVjdXJzaXZlIGxvb2t1cC4gVGhpcyBhbHNvIGZpeGVzCgkgIHN1cHBvcnQgZm9yIEZlZG9yYSBhbmQgb3RoZXIgYXJjaGl0ZWN0dXJlIHVzaW5nIGxpYjY0IGFzIGEgbGliZGlyLgoKMjAxNy0xMi0xOCAxNjowOTo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2xhZHNwYS9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogRW5hYmxlIGxhZHNwYSBwbHVnaW5zIGNvbXBpbGF0aW9uCgoyMDE3LTEyLTE4IDE0OjQyOjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IFRyeSBhbmQgcmVmbGVjdCBiZXR0ZXIgbGlsdiBkZWZhdWx0IHBhdGgKCSAgV2hpbGUga2VlcGluZyBpdCBzaW1wbGUsIHRoaXMgcGF0Y2ggdHJpZXMgYW5kIG1pbWljIGxpbHYgZGVmYXVsdCBwYXRoLgoJICBJdCBkb2VzIG5vdCBtYXR0ZXIgaWYgc29tZSBwYXRoIGFyZSBkdXBsaWNhdGVkIGR1ZSB0byBzeW1saW5rIGJlY2F1c2UgaW4KCSAgdGhlIGVuZCBpdCdzIGxpbHYgdGhhdCB3aWxsIHdhbGsgdGhlc2UgcGF0aHMuIFRoZSB3b3JzdCBjYXNlIGlzIHRoYXQgd2UKCSAgdXBkYXRlIG91ciBjYWNoZSBtb3JlIG9mdGVuIHRoZW4gc3RyaWN0bHkgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzE3CgoyMDE3LTEyLTE4IDEyOjExOjIxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IFJlY3Vyc2l2ZWx5IG1vbml0b3IgdGhlIGx2MiBwbHVnaW4gcGF0aAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgbm90IHVwZGF0ZSB0aGUgY2FjaGUgd2hlbiBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE3MTcKCjIwMTctMTItMTkgMDE6MTY6MzUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QvcHJveHkvTWFrZWZpbGUuYW06CgkqIGdzdC9wcm94eS9nc3Rwcm94eS5jOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzaW5rLXByaXYuaDoKCSogZ3N0L3Byb3h5L2dzdHByb3h5c2luay5jOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzaW5rLmg6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNyYy1wcml2Lmg6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNyYy5jOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzcmMuaDoKCSogZ3N0L3Byb3h5L21lc29uLmJ1aWxkOgoJICBSZXZlcnQgIk5ldyBlbGVtZW50ICdwcm94eScgdG8gc2VuZCBkYXRhIHRvIGluLXByb2Nlc3MgcGlwZWxpbmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhhMDU2YWYwNWUyM2FkNWI4MWNkMWRjMjY5OWFlMjBhYmNmOWI5MWEuCgkgIEFjY2lkZW50YWxseSBwdXNoZWQgdGhpcyBlbGVtZW50LCBvb3BzISBQcm9ncmVzcyBvbiB0aGlzIGVsZW1lbnQgaXMKCSAgYmVpbmcgdHJhY2tlZCBhdDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODIwMAoKMjAxNy0xMi0xOSAwMToxNDowMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBVc2UgY2RhdGEuc2V0X3F1b3RlZCBhbmQgc2V0IExJQkRJUiBjb3JyZWN0bHkKCSAgTElCRElSIG11c3QgaW5jbHVkZSB0aGUgcHJlZml4LiBBbHNvIHVzZSBzZXRfcXVvdGVkIGluc3RlYWQgb2YKCSAgbWFudWFsbHkgcXVvdGluZyBiZWNhdXNlIGl0J3MgY2xlYXJlciB3aGF0IHRoZSBpbnRlbnRpb24gaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE3NTEKCjIwMTctMDktMjYgMjA6MTI6MjQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QvcHJveHkvTWFrZWZpbGUuYW06CgkqIGdzdC9wcm94eS9nc3Rwcm94eS5jOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzaW5rLXByaXYuaDoKCSogZ3N0L3Byb3h5L2dzdHByb3h5c2luay5jOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzaW5rLmg6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNyYy1wcml2Lmg6CgkqIGdzdC9wcm94eS9nc3Rwcm94eXNyYy5jOgoJKiBnc3QvcHJveHkvZ3N0cHJveHlzcmMuaDoKCSogZ3N0L3Byb3h5L21lc29uLmJ1aWxkOgoJICBOZXcgZWxlbWVudCAncHJveHknIHRvIHNlbmQgZGF0YSB0byBpbi1wcm9jZXNzIHBpcGVsaW5lcwoJICBUaGlzIHBsdWdpbiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBwaXBlIGFyYml0cmFyeSBkYXRhIHRvCgkgIGEgZGlmZmVyZW50IHBpcGVsaW5lIHdpdGhpbiB0aGUgc2FtZSBwcm9jZXNzLiBCdWZmZXJzLCBldmVudHMsIGFuZCBjYXBzCgkgIGFyZSB0cmFuc21pdHRlZCBhcy1pcyB3aXRob3V0IGNvcHlpbmcgb3IgbWFuaXB1bGF0aW9uLgoKMjAxNy0xMi0xOCAxMTozNDoxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2x2Mi9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogRW5hYmxlIGJ1aWxkaW5nIExWMgoJICBOb3RlIHRoYXQgSSBvbmx5IHN1cHBvcnQgbGlsdiAwLjIyKyBmb3Igbm93LCBiZWNhdXNlIGl0J3Mgc2ltcGxlIGFuZCBvbGQKCSAgZW5vdWdoLiBJZiBhbnlvbmUgbmVlZHMgdG8gdXNlIHRoZSAwLjE2IHN1cHBvcnQgaXQgd2lsbCBuZWVkIHRvIGJlCgkgIGFkZGVkLgoKMjAxNy0xMi0xOCAyMDozOTowNyArMDgwMCAgSnVuIFhpZSA8anVuLnhpZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGxvZyBpbnRlZ2VyIGZvcm1hdAoJICByYW5nZV9zdGFydC9yYW5nZV9lbmQgc2hhbGwgYmUgbG9nZ2VkIGFzIEdfR0lOVDY0X0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzM1CgoyMDE3LTEyLTE0IDE1OjE4OjM4ICswODAwICBKdW4gWGllIDxqdW4ueGllQHNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcGFyc2UgeHM6ZGF0ZVRpbWUncyB0aW1lem9uZSBpbmRpY2F0b3IKCSAgVGhlIGxleGljYWwgZm9ybSBvZiB4czpkYXRlVGltZSBpcyBZWVlZLU1NLUREVGhoOm1tOnNzW1p8KCt8LSloaDptbV0KCSAgdGltZXpvbmUgaW5kaWNhdG9yICgrfC0paGg6bW1dIG5lZWRzIHRvIGJlIHBhcnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTYwMgoKMjAxNy0xMi0xNiAxMDo0NDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkgIHBsYXllcjogRml4LXVwIHNldF9zZWVrX2FjY3VyYXRlKCkgY29uZmlndXJhdGlvbiB0byB0YWtlIGEgcGxheWVyIGNvbmZpZyBpbnN0ZWFkIG9mIGEgcGxheWVyIGluc3RhbmNlCgoyMDE3LTEyLTE2IDEwOjIyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSAgcGxheWVyOiBDb25zaXN0ZW50bHkgdXNlIEdzdFZpZGVvTXVsdGl2aWV3RnJhbWVQYWNraW5nIGluc3RlYWQgb2YgTW9kZQoJICBUaGUgbGF0dGVyIG5lZWRzIGFkZGl0aW9uYWwgbWV0YWRhdGEsIGFuZCB0aGUgZm9ybWVyIHdhcyBhbHJlYWR5IHVzZWQKCSAgZXZlcnl3aGVyZSBleGNlcHQgZm9yIHRoZSBmdW5jdGlvbnM6IGluIHByb3BlcnRpZXMgaW4gcGxheWJpbiBpdHNlbGYuCgoyMDE3LTEyLTE1IDE3OjM4OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2FvbS9nc3RhdjFlbmMuYzoKCSAgYXYxZW5jOiBBZGQgZGVidWdnaW5nIG9mIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MKCSAgSW4gcHJlcGFyYXRpb24gb2YgbWFraW5nIHN1Y2ggcHJvcGVydGllcyBjb25maWd1cmFibGUKCSAgdmlhIGdvYmplY3QgcHJvcGVydGllcy4KCjIwMTctMTItMTUgMTc6Mzc6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYW9tL2dzdGF2MWVuYy5jOgoJICBhdjFlbmM6IFJlbW92ZSBnX3ByaW50IGZvciBlcnJvcnMKCSAgQW5kIHVzZSBzdGFuZGFyZCBkZWJ1Z2dpbmcgc3lzdGVtIGZvciBpdAoKMjAxNy0wNi0yNyAyMjo1MDo0MSArMDAwMCAgU2VhbiBEdUJvaXMgPHNlYW5Ac2lvYnVkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW9tL01ha2VmaWxlLmFtOgoJKiBleHQvYW9tL2dzdGFvbS5jOgoJKiBleHQvYW9tL2dzdGFvbS5oOgoJKiBleHQvYW9tL2dzdGF2MWRlYy5jOgoJKiBleHQvYW9tL2dzdGF2MWRlYy5oOgoJKiBleHQvYW9tL2dzdGF2MWVuYy5jOgoJKiBleHQvYW9tL2dzdGF2MWVuYy5oOgoJKiBleHQvYW9tL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIEFkZCBhb20gcGx1Z2luIHdpdGggYXYxZW5jIGFuZCBhdjFkZWMgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MTYwCgoyMDE3LTEyLTE0IDEzOjMxOjMzIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGhhbmRkZXRlY3Q6IGZpeCB0eXBvIGluIGV4YW1wbGUgbGF1bmNoIGxpbmUKCjIwMTctMTEtMjIgMTQ6Mjk6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogU3RhcnQgYXVkaW8gcHJlLXJvbGxpbmcgaWYgdGhlIG91dHB1dCBpcyBub3Qgc3RhcnRlZCB5ZXQgaW4gcmVuZGVyKCkKCSAgVGhpcyBzZWVtcyB0byBhbGxvdyB0byBzY2hlZHVsZSBhdWRpbyBzYW1wbGVzIGNvcnJlY3RseSBhdCB0aGVpciByaWdodAoJICB0aW1lcyBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMTE0CgoyMDE3LTEyLTA2IDIwOjM2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IE9ubHkgc3RhcnQgaWYgYm90aCBzaW5rcyBhcmUgc2V0IHRvIFBMQVlJTkcgYWxyZWFkeQoJICBOb3Qgb25seSBpZiB0aGUgdmlkZW8gc2luayBpcyBzZXQgdG8gUExBWUlORyBzbyBmYXIuIEFsc28gZ2l2ZSBtb3JlCgkgIHVzZWZ1bCBkZWJ1ZyBvdXRwdXQgYWJvdXQgd2h5IHdlIGRvbid0IHN0YXJ0LCBhbmQgZG9uJ3Qgc3RhcnQgaWYgYWxyZWFkeQoJICBzdGFydGVkLgoJICBBbHNvIHJlZmFjdG9yIHRoZSBmdW5jdGlvbiB0byBlYXJseS1yZXR1cm4gaW5zdGVhZCBvZiBoYXZpbmcgYSBodWdlCgkgIGlmLWVsc2UgYmxvY2sgb3ZlciB0aGUgd2hvbGUgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAxMTQKCjIwMTctMTItMDYgMTk6NDI6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogSW5jbHVkZSBmaW5hbCBmbG93IHJldHVybiBpbiBkZWJ1ZyBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDExNAoKMjAxNy0xMS0yNyAxNzo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBDaGVjayBhbHNvIGFnYWluc3QgdGhlIGNsb2NrIGlmIHdlIHJ1biBhaGVhZCBvZiB0aGUgY2xvY2sgdG9vIG11Y2gKCSAgVGhlIGJ1ZmZlciBsZXZlbCBhcyByZXBvcnRlZCBieSB0aGUgRGVja2xpbmsgZHJpdmVyIGlzIGNvbXBsZXRlbHkKCSAgdW5yZWxpYWJsZSwgYW5kIHdlIGNvdWxkIG90aGVyd2lzZSBlYXNpbHkgcnVuIGFoZWFkID4xcyBpZiB3ZSdyZQoJICB1bmx1Y2t5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMTE0CgoyMDE3LTExLTIyIDE2OjM3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmg6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBJbXBsZW1lbnQgcmVzYW1wbGluZy9idWZmZXIgcmV2ZXJzaW5nIGZvciB0cmljay1tb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMTE0CgoyMDE3LTExLTA4IDE5OjMxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmthdWRpb3Npbms6IFJlLWltcGxlbWVudCBhcm91bmQgR3N0QmFzZVNpbmsgaW5zdGVhZCBvZiBHc3RBdWRpb0Jhc2VTaW5rCgkgIFRoZSBEZWNrbGluayBhbmQgR3N0QXVkaW9CYXNlU2luayBBUElzIGRvbid0IGZpdCB2ZXJ5IHdlbGwgdG9nZXRoZXIsCgkgIHdoaWNoIGNhdXNlcyB2YXJpb3VzIHByb2JsZW1zIGR1ZSB0byBpbmFjY3VyYWNpZXMgaW4gdGhlIGNsb2NrCgkgIGNhbGN1bGF0aW9ucyBhbmQgdGhlIGFjdHVhbCByaW5nYnVmZmVyIGFuZCBHU3RyZWFtZXIncyBjb3B5IGdldHRpbmcgb2YKCSAgc3luYy4KCSAgUHJvYmxlbXMgYXJlIGF1ZGlvIGRyb3Atb3V0cyBhbmQgQS9WIHN5bmMgZ2V0dGluZyB3cm9uZyBhZnRlcgoJICBwYXVzaW5nL3NlZWtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAxMTQKCjIwMTctMTItMTQgMTQ6NDk6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZThjN2E3MSB0byAzZmEyYzllCgoyMDE3LTEyLTEyIDA4OjQwOjMzICswMTAwICBKb3NlcCBUb3JyYSA8anRvcnJhQG9ibG9uZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGEgd2FybmluZyB3aGVuIGJ1aWxkaW5nIGluIE1hY09TIDEwLjEyCgkgIHZ0ZW5jLmM6NTY0OjIwOiBlcnJvcjogaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZXMgcGFzc2luZyAnR3N0VlRFbmMgKicgKGFrYSAnc3RydWN0IF9Hc3RWVEVuYyAqJykKCSAgdG8gcGFyYW1ldGVyIG9mIHR5cGUgJ0dzdFZpZGVvRW5jb2RlciAqJyAoYWthICdzdHJ1Y3QgX0dzdFZpZGVvRW5jb2RlciAqJykKCjIwMTctMTItMTIgMDg6MzE6NDcgKzAxMDAgIEpvc2VwIFRvcnJhIDxqdG9ycmFAb2Jsb25nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBjb2NvYTogZml4IGEgd2FybmluZyB3aGVuIGJ1aWxkaW5nIGluIE1hY09TIDEwLjEyCgkgIGdzdGdsd2luZG93X2NvY29hLm06MTg2OjYwOiBlcnJvcjogaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZXMgc2VuZGluZyAnR3N0R0xDb250ZXh0Q29jb2EgKicKCSAgKGFrYSAnc3RydWN0IF9Hc3RHTENvbnRleHRDb2NvYSAqJykgdG8gcGFyYW1ldGVyIG9mIHR5cGUgJ0dzdEdMQ29udGV4dCAqJyAoYWthICdzdHJ1Y3QgX0dzdEdMQ29udGV4dCAqJykKCjIwMTctMTItMDggMTQ6NDY6MzUgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5jOgoJICBnbDogZGlzcGxheTogZGVtb3RlIGVycm9yIGxldmVsIGF0IGRpc3BsYXkgY3JlYXRpb24gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTM5MQoKMjAxNy0xMS0xMCAxNTo1Njo0MCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdGltZWNvZGUvZ3N0YXZ3YWl0LmM6CgkqIGdzdC90aW1lY29kZS9nc3RhdndhaXQuaDoKCSAgYXZ3YWl0OiBBZGRlZCAiYXZ3YWl0LXN0YXR1cyIgZWxlbWVudCBtZXNzYWdlCgkgICJhdndhaXQtc3RhdHVzIiBpcyBwb3N0ZWQgd2hlbiBhdndhaXQgc3RhcnRzIG9yIHN0b3BzIHBhc3NpbmcgdGhyb3VnaAoJICBkYXRhIChlLmcuIGJlY2F1c2UgdGFyZ2V0LXRpbWVjb2RlIGFuZCBlbmQtdGltZWNvZGUgcmVzcGVjdGl2ZWx5IGhhdmUKCSAgYmVlbiByZWFjaGVkKS4gVGhlIGF0dGFjaGVkIHN0cnVjdHVyZSBpbmNsdWRlcyBhICJkcm9wcGluZyIgYm9vbGVhbiAoc2V0CgkgIHRvIFRSVUUgaWYgd2UgYXJlIGN1cnJlbnRseSBkcm9wcGluZyBkYXRhLCBGQUxTRSBvdGhlcndpc2UpLCBhbmQgYQoJICAicnVubmluZy10aW1lIiBHU1RfQ0xPQ0tfVElNRSB3aGljaCBjb250YWlucyB0aGUgcnVubmluZyB0aW1lIG9mIHRoZQoJICBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAxNzAKCjIwMTctMTAtMTYgMTk6NTE6MzYgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXVAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkqIHRlc3RzL2NoZWNrL21lZGlhL2Rvd25sb2FkLW1lZGlhOgoJKiB0ZXN0cy9jaGVjay9tZWRpYS9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uIHRlc3Q6IEVuYWJsZSBsaWJzIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODkwNjQKCjIwMTctMTItMDggMTM6NTQ6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby5wYy5pbjoKCSAgcGtnY29uZmlnOiBNb3ZlIGZpeGVzIGZvciBtb3ZlIG9mIGFnZ3JlZ2F0b3IgdG8gY29yZQoKMjAxNy0xMi0wNyAxOToxNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNjI4CgoyMDE3LTEyLTA3IDExOjAyOjAyICswOTAwICBTZXVuZ2hhIFlhbmcgPHB1ZGRpbmc4NzU3QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnQvZ3N0c3J0LmM6CgkgIHNydDogUG9zdCBlcnJvciBtZXNzYWdlIGZvciBOVUxMIGhvc3QKCSAgLi4uIGluc3RlYWQgb2YgY3Jhc2ggd2l0aG91dCBhbnkgaW5mb3JtYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMyOQoKMjAxNy0xMi0wNiAyMDo1MDozMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZpeCBtZW1vcnkgbGVhayBvZiBzaG0gYWxsb2NhdG9yCgkgIFRoaXMgZml4ZXMgY29uZmxpY3QgcmVzb2x1dGlvbiBlcnJvciBpbnRyb2R1Y2VkIGluIGNvbW1pdDoKCSAgODE2ZDExNTMxN2M1MjJjODcyOTcxMDlkZTc4MWM2M2IxNjE0NjQ5MwoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwNDIKCjIwMTctMTEtMDEgMTg6MDU6MjYgKzA5MDAgIFNoaW55YSBTYWl0byA8c3NhaXRvQGlnZWwuY28uanA+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogRml4IG1lbW9yeSBsZWFrIG9mIHNobSBhbGxvY2F0b3IuCgkgIGdzdF9hbGxvY2F0b3JfZmluZCgpIG5lZWRzIGdzdF9vYmplY3RfdW5yZWYoKSBhZnRlciB1c2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDA0MgoKMjAxNy0xMS0yNSAxNTozNTowNSArMDgwMCAgSnVuIFhpZSA8anVuLnhpZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBjb3JlZHVtcCBpc3N1ZSB3aXRoIGV4dGVybmFsIEFkYXB0YXRpb25TZXQKCSAgZml4IHdyb25nIEFkYXB0YXRpb25TZXQgbGlzdCBpdGVyYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwODEyCgoyMDE3LTExLTI1IDIyOjI0OjM5ICswOTAwICBIb3NhbmcgTGVlIDxob3NhbmcxMC5sZWVAbGdlLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBtM3U4OiBQYXJzZSBhbmQgdXNlIEFWRVJBR0UtQkFORFdJRFRIIGF0dHJpYnV0ZSBpZiBhdmFpbGFibGUKCSAgVGhlIEFWRVJBR0UtQkFORFdJRFRIIGF0dHJpYnV0ZSBpbiB0aGUgRVhULVgtU1RSRUFNLUlORiB0YWcgcmVwcmVzZW50cwoJICB0aGUgYXZlcmFnZSBzZWdtZW50IGJpdCByYXRlIG9mIHRoZSBWYXJpYW50IFN0cmVhbSwgd2hpbGUgdGhlIEJBTkRXSURUSAoJICBhdHRyaWJ1dGUgcmVwcmVzZW50cyB0aGUgcGVhayBzZWdtZW50IGJpdCByYXRlIG9mIHRoZSBWYXJpYW50IFN0cmVhbS4KCSAgKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1wYW50b3MtaHR0cC1saXZlLXN0cmVhbWluZy0yMyNzZWN0aW9uLTQuMy40LjIpCgkgIFVzaW5nIHRoZSBhdmVyYWdlIGJpdCByYXRlIGluc3RlYWQgb2YgdGhlIHBlYWsgYml0IHJhdGUgZm9yIHZhcmlhbnQgc3dpdGNoaW5nCgkgIGlzIG1vcmUgZWZmaWNpZW50IGFuZCBhcHByb3ByaWF0ZS4gU29tZXRpbWVzIGR1ZSB0byBWQlIgZW5jb2RpbmcsCgkgIHRoZSBCQU5EV0lEVEggbWF5IHJlcHJlc2VudCBhIHZhbHVlIHdheSBhYm92ZSB0aGUgYXZlcmFnZSBiaXQgcmF0ZSwKCSAgd2hpY2ggY291bGQgcmVzdWx0IHRvIHBsYXllcnMgbm90IHN3aXRjaGluZyB0byB0aGF0IHZhcmlhbnQgc3RyZWFtCgkgIGFsdGhvdWdoIG5ldHdvcmsgYmFuZHdpZHRoIGlzIHN1ZmZpY2llbnRseSBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA4MjEKCjIwMTctMTEtMjYgMTE6NDY6MDYgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvYXVkaW9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvbWl4bWF0cml4L3Rlc3QtYXVkaW9taXhtYXRyaXguYzoKCSAgZXhhbXBsZXM6IGF1ZGlvbWl4bWF0cml4OiBSZW1vdmUgdW51c2VkIHBhcnQKCSAgbWF0cml4LXZhbHVlLWFycmF5IHByb3BlcnR5IGlzIHJlbW92ZWQgc2luY2UKCSAgMTg5MTdkZTk1NjJkMGQzM2NmODBjYTY4YzA3MWVlZTM1NzJkNDQ4MyBjb21taXQgYXBwbGllZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwODM2CgoyMDE3LTEyLTA0IDExOjUyOjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRml4IENyb3BNZXRhIHN1cHBvcnQKCSAgV2UgY29weSB0aGUgbWV0YSdzIGZyb20gdGhlIG9yaWdpbmFsIGJ1ZmZlciB0byB0aGUgd3JhcHBlciBvciBjb3BpZWQKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNDczCgoyMDE3LTEyLTAxIDE2OjUzOjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRW5mb3JjZSBwaXhlbCBhc3BlY3QgcmF0aW8gd2hlbiB3ZSBjYW5ub3Qgc2NhbGUKCSAgV2hlbiB3ZSBjYW5ub3Qgc2NhbGUsIHdlIG5lZWQgdG8gZW5mb3JjZSB0aGUgcGl4ZWwgYXNwZWN0IHJhdGlvLgoJICBUaGlzIHdhcyBwYXJ0bHkgaW1wbGVtZW50ZWQgaW4gdGhlIHByZXZpb3VzIHBhdGNoLiBEb2luZyB0aGlzCgkgIHNpbXBsaWZ5IHNvbWUgb2YgdGhlIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1OTkKCjIwMTctMTEtMjIgMTA6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFdhaXQgdW50aWwgc2NoZWR1bGVkIHBsYXliYWNrIGlzIGFjdHVhbGx5IHN0b3BwZWQgYmVmb3JlIGNvbnRpbnVpbmcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0ICJzdGFydCIgYWdhaW4sIGp1c3QgdG8gZ2V0IGZpbmFsbHkgc3RvcHBlZCBhbmQgdGhlbgoJICBnZXR0aW5nIGVycm9ycyBhbGwgb3ZlciB0aGUgcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAxMTQKCjIwMTctMTItMDYgMTk6MTU6NDAgKzA5MDAgIFNldW5naGEgWWFuZyA8cHVkZGluZzg3NTdAZ21haWwuY29tPgoKCSogZXh0L3NydC9nc3RzcnQuYzoKCSAgc3J0OiBGaXggd2FybmluZyBlcnJvcgoJICBnc3RzcnQuYzogSW4gZnVuY3Rpb24g4oCYZ3N0X3NydF9jbGllbnRfY29ubmVjdF9mdWxs4oCZOgoJICBnc3RzcnQuYzoxNTE6NjogZXJyb3I6IOKAmHNvY2vigJkgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGlmIChzb2NrICE9IFNSVF9JTlZBTElEX1NPQ0spIHsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTMwMgoKMjAxNy0xMi0wMSAxMzowMjoxMiArMDAwMCAgVXJzdWxhIE1hcGxlaHVyc3QgPHVyc3VsYUBrYW5nYXRyb25peC5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogd2hlbiBmbHVzaGluZywgYmV0dGVyIGhhbmRsZSBJbGxlZ2FsU3RhdGVFeGNlcHRpb24gcmVjZWl2ZWQgZnJvbSBnZXRPdXRwdXRCdWZmZXIKCSAgMS4gU2ltaWxhciB0byA4ODBmM2Q4LCBkb24ndCBjb25zaWRlciBub3QgZ2V0dGluZyBhbiBvdXRwdXQgYnVmZmVyIGFzCgkgIGFuIGVycm9yIGR1cmluZyBmbHVzaGluZy4gSSd2ZSBzZWVuIHRoZSBmb2xsb3dpbmcgc29tZXRpbWVzIHdoZW4KCSAgZW5jb2Rpbmc6CgkgIFcgR1N0cmVhbWVyK2FtY3ZpZGVvZW5jOiBqYXZhLmxhbmcuSWxsZWdhbFN0YXRlRXhjZXB0aW9uCgkgIFcgR1N0cmVhbWVyK2FtY3ZpZGVvZW5jOiAgICAgICAgIGF0IGFuZHJvaWQubWVkaWEuTWVkaWFDb2RlYy5nZXRCdWZmZXIoTmF0aXZlIE1ldGhvZCkKCSAgVyBHU3RyZWFtZXIrYW1jdmlkZW9lbmM6ICAgICAgICAgYXQgYW5kcm9pZC5tZWRpYS5NZWRpYUNvZGVjLmdldE91dHB1dEJ1ZmZlcihNZWRpYUNvZGVjLmphdmE6Mjg4NikKCSAgMi4gRm9yIGFtY3ZpZGVvZGVjL2VuYywgY2FsbCBfZmluZF9uZWFyZXN0X2ZyYW1lICh3aGljaCBncmFicyBhIGZyZXNoCgkgIHJlZmVyZW5jZSBvbiBhIEdzdFZpZGVvQ29kZWNGcmFtZSkgYWZ0ZXIgd2UgaGF2ZSBhbiBvdXRwdXQgYnVmZmVyLAoJICBzbyBhcyB0byBub3QgbGVhayB0aGUgcmVmZXJlbmNlLCBpbiBjYXNlIGdldHRpbmcgYW4gb3V0cHV0IGJ1ZmZlcgoJICBmYWlscy4KCSAgT3RoZXJ3aXNlLCBpZiB3ZSBnZXQgYW4gZXJyb3IgZ3JhYmJpbmcgdGhlIG91dHB1dCBidWZmZXIsIHdlIGxlYWsKCSAgdGhlIHJlZmVyZW5jZSB0byB0aGUgZnJhbWUuIFRoaXMgY2FuIGNhdXNlIGlzc3VlcyB3aXRoIGEKCSAgdjRsMmJ1ZmZlcnBvb2wgZmVlZGluZyB0aGUgZW5jb2RlciBub3QgYmVpbmcgYWJsZSB0byBjbGVhbiBpdHNlbGYKCSAgdXAgcHJvcGVybHkgZHVlIHRvIGJ1ZmZlcnMgc3RpbGwgYmVpbmcgbWFya2VkIGFzIGluLXVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTI1OAoKMjAxNy0xMi0wNSAxMDozNzo0MCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZDogZml4IHdyb25nIGVudW0KCSAgV2hlbiBjb21waWxpbmcgd2l0aCBjbGFuZywgYW4gZW51bSBjb252ZXJzaW9uIGVycm9yIGlzIHRyaWdnZXJlZAoJICBzaW5jZSBHc3RWaWRlb0ZyYW1lRmxhZ3MgYXJlIG5vdCBHc3RWaWRlb0ZsYWdzLgoJICBUaGlzIHBhdGNoIHNldHMgR1NUX1ZJREVPX0ZSQU1FX0ZMQUdfTk9ORSB0byB0aGUgYWRkZWQgdmlkZW8gbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTI1MQoKMjAxNy0xMi0wMyAxMToyMjowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkgIGRvY3M6IGFnZ3JlZ2F0b3IgaGFzIG1vdmVkIHRvIGJhc2UKCjIwMTctMTItMDIgMTk6Mjg6MzAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkOiBBZGQgbWlzc2luZyBpZmRlZiBmb3IgZG1hYnVmIGFuZCBlZ2wKCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQgZm9yIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1cHBvcnQgb25lIG9yIHRoZSBvdGhlci4KCjIwMTctMTItMDIgMTU6MjU6MzggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBQcmVmZXIgd2F5bGFuZCBvdmVyIFgxMQoJICBBcyBtb3N0IFdheWxhbmQgY29tcG9zaXRvcnMgc3VwcG9ydHMgWFdheWxhbmQsIFgxMSBiYWNrZW5kIGdldAoJICBzZWxlY3RlZC4gVGhpcyBhbHNvIHJlYWxpZ24gYmV0dGVyIEdTdHJlYW1lciBkZWNpc2lvbiB0byB3aGF0CgkgIGhhcHBlbnMgd2l0aCBHVEsgYW5kIG90aGVyIHN0YWNrIG91dCB0aGVyZS4KCjIwMTctMTItMDIgMTU6MjU6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBBZGQgbWlzc2luZyBHTCBBUEkgdG8gdGhlIGRvYwoKMjAxNy0wMS0xMCAxOToyMzo1OCAtMDYwMCAgTWF0dCBGaXNjaGVyIDxtYXR0LmZpc2NoZXJAZ2FybWluLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmg6CgkgIGdsZG93bmxvYWQ6IEFkZCBkbWFidWYgZXhwb3J0aW5nCgkgIFRoaXMgcGF0Y2ggYWRkcyBjb2RlIHRvIGdsZG93bmxvYWQgdG8gZXhwb3J0IHRoZSBpbWFnZSBhcyBhCgkgIGRtYWJ1ZiBpZiByZXF1ZXN0ZWQuICBUaGUgZWxlbWVudCBub3cgZXhwb3NlcyBtZW1vcnk6RE1BQnVmIGFzCgkgIGEgY2FwIGZlYXR1cmUsIGFuZCBpZiBpdCBpcyBzZWxlY3RlZCwgdGhlIGVsZW1lbnQgZXhwb3J0cyB0aGUKCSAgdGV4dHVyZSB0byBhbiBFR0wgaW1hZ2UgYW5kIHRoZW4gYSBkbWFidWYuIEl0IGFsc28gaW1wbGVtZW50cyBhCgkgIGZhbGxiYWNrIHRvIHN5c3RlbSBtZW1vcnkgZG93bmxvYWQgaW4gY2FzZSB0aGUgZXhwb3J0YXRpb24gZmFpbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTI3CgoyMDE3LTEyLTAyIDE2OjAxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL21lc29uLmJ1aWxkOgoJKiBleHQvaXFhL01ha2VmaWxlLmFtOgoJKiBleHQvaXFhL21lc29uLmJ1aWxkOgoJKiBleHQvb3Blbm1wdC9NYWtlZmlsZS5hbToKCSogZXh0L3dpbGRtaWRpL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9jb21wb3NpdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvY29tcG9zaXRvci9tZXNvbi5idWlsZDoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9tZXNvbi5idWlsZDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgUmVtb3ZlIEdzdEFnZ3JlZ2F0b3IgZnJvbSAtYmFkLCBtb3ZlZCB0byBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkwMTAKCjIwMTctMTItMDEgMTE6NTk6MDEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBBZGQgZGlzcGxheS13aWR0aC9oZWlnaHQgcHJvcGVydGllcwoJICBUaGlzIGlzIHRvIGJlIHVzZWQgd2l0aCBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZSgpCgkgIHNvIHRoZSBhcHBsaWNhdGlvbiBjYW4gY2FsY3VsYXRlIGEgcmVjdGFuZ2xlIHRoYXQgZml0cyBpbnNpZGUKCSAgdGhlIGRpc3BsYXkuIFRoZSBwcm9wZXJ0eSBjaGFuZ2VzIGFyZSBub3RpZnkgaW4gYSB3YXkgdGhhdCB5b3UKCSAgY2FuIHdhdGNoIGVpdGhlciBub3RpZnk6OmRpc3BsYXktd2lkdGggb3Igbm90aWZ5OjpkaXNwbGF5LWhlaWdodAoJICBhbmQgYm90aCB3aWxsIGJlIHVwLXRvLWRhdGEgd2hlbiB0aGlzIGlzIGNhbGxlZCBiYWNrLiBCZWZvcmUgdGhlCgkgIGVsZW1lbnQgaXMgc3RhcnRlZCwgdGhlIHNpemUgd2lsbCBiZSAweDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1OTkKCjIwMTctMDktMTQgMTg6MTI6MTggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogc3VwcG9ydCB2aWRlb292ZXJsYXkgaW50ZXJmYWNlCgkgIEltcGxlbWVudCB2aWRlb292ZXJsYXkgaW50ZXJmYWNlIGluIGttc3NpbmssIGRpdmlkZWQgaW50byB0d28gY2FzZXM6CgkgIHdoZW4gZHJpdmVyIHN1cHBvcnRzIHNjYWxlLCB0aGVuIHdlIGRvIHJlZnJlc2ggaW4gc2hvd19mcmFtZSgpOyBpZgoJICBub3QsIHNlbmQgYSByZWNvbmZpZ3VyZSBldmVudCB0byB1cHN0cmVhbSBhbmQgcmUtbmVnb3RpYXRlLCB1c2luZyB0aGUKCSAgbmV3IHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1OTkKCjIwMTctMDktMTIgMTU6NDY6MDEgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBhZGQgY2FuLXNjYWxlIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1OTkKCjIwMTctMTEtMjcgMjA6MDU6MjkgKzA4MDAgIEp1biBYaWUgPGp1bi54aWVAc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgZHVwbGljYXRlZCBjb2RlCgkgIHJlbW92ZSBkdXBsaWNhdGVkIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDg5NQoKMjAxNy0xMS0yNyAyMToyNzoyMyArMDgwMCAgSnVuIFhpZSA8anVuLnhpZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBHUHRyQXJyYXkgaW4gR3N0QWN0aXZlU3RyZWFtIGlzIGxlYWtlZCBpbiBzb21lIGNhc2VzLgoJICBnc3RfbXBkcGFyc2VyX2ZyZWVfYWN0aXZlX3N0cmVhbSBzaGFsbCBiZSBpbnZva2VkIHRvIGZyZWUgR3N0QWN0aXZlU3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA4OTkKCjIwMTctMTEtMjggMTM6NDQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkb24ndCBnZW5lcmF0ZSBvciBpbnN0YWxsIHBrZy1jb25maWcgZmlsZSBmb3IgZ3N0cmVhbWVyLXdheWxhbmQKCSAgd2hpY2ggaXMgbm90IGZvciBwdWJsaWMgY29uc3VtcHRpb24gY3VycmVudGx5IChoZWFkZXJzIG5vdCBpbnN0YWxsZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwOTEyCgoyMDE3LTExLTI3IDIwOjExOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNmNGFhOTYgdG8gZThjN2E3MQoKMjAxNy0xMS0yNyAxNDo0NDo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXI6IHVzZSBwdWJsaWMgR3N0R0xDb250ZXh0IGluc3RlYWQgb2YgQ29jb2Etc3BlY2lmaWMgb25lCgkgIEFsbG93cyBrZWVwaW5nIHRoZSBHc3RHTENBT3BlbkdMTGF5ZXIgcHVibGljIGJ1dCBub3QgdGhlIHdpbnN5cy1zcGVjaWZpYwoJICBjb250ZXh0L2Rpc3BsYXkvd2luZG93LgoKMjAxNy0xMS0yNyAxNDo0NDoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsZGlzcGxheV9jb2NvYS5oOgoJICBSZXZlcnQgImdsOiBjb2NvYTogc3ByaW5rbGUgc29tZSBHU1RfRVhQT1JUIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk0ZDc5OGMzMzM3MDEzYmQ5MDJjMGZkMGE2NmY3ZjY4NDIyNDNlZWIuCgkgIGNvY29hYyBoZWFkZXJzIGRvbid0IG5lZWQgdG8gYmUgcHVibGljIGFzIGFsbCB0aGUgZnVuY3Rpb25hbGl0eSBjYW4gYmUKCSAgcHJvdmlkZWQgYnkgdGhlIGJhc2UgY2xhc3MKCjIwMTctMTEtMjYgMjI6MzY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLmg6CgkgIGdsOiBjb2NvYTogc3ByaW5rbGUgc29tZSBHU1RfRVhQT1JUCgkgIFVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmUgeDg2XzY0OgoJICAiX2dzdF9nbF9jb250ZXh0X2NvY29hX2dldF90eXBlIiwgcmVmZXJlbmNlZCBmcm9tOgoJICBfX2NyZWF0ZV9sYXllciBpbiBsaWJnc3RvcGVuZ2xfbGEtY2FvcGVuZ2xsYXllcnNpbmsubwoJICBNaWdodCBuZWVkIHNvbWUgbW9yZSBpbiBvdGhlciBoZWFkZXJzLCBidXQgZmlyc3QgbmVlZCB0bwoJICBjbGFyaWZ5IHdoYXQgZXhhY3RseSBzaG91bGQgYmUgZXhwb3J0ZWQsIHRoZXJlIGFyZSBzb21lCgkgIGluY29uc2lzdGVuY2llcyAoaW5zdGFsbGVkIGhlYWRlciBmaWxlcyB2cy4gZnVuY3MgaW4gZG9jcykuCgoyMDE3LTExLTI2IDE4OjM1OjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGF1dG90b29sczogcmVtb3ZlIGNoZWNrLWV4cG9ydHMgdGFyZ2V0IGRlcCB3aGljaCBubyBsb25nZXIgZXhpc3RzCgoyMDE3LTExLTI2IDE2OjMyOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0YWRhcHRpdmVkZW11eC5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYWRhdWRpby5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYWRiYXNlLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZHZpZGVvLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhc2VjYW1lcmFiaW5zcmMuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGluc2VydGJpbi5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rpc29mZi5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RtcGVndHMuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdHVyaWRvd25sb2FkZXIuZGVmOgoJICB3aW4zMjogcmVtb3ZlIC5kZWYgZmlsZSB3aXRoIGV4cG9ydHMKCSAgVGhleSdyZSBubyBsb25nZXIgbmVlZGVkLCBzeW1ib2wgZXhwb3J0aW5nIGlzIG5vdyBleHBsaWNpdAoJICB2aWEgR1NUX0VYUE9SVCBpbiBhbGwgY2FzZXMgKGF1dG90b29scywgbWVzb24sIGluY2wuIE1TVkMpLgoKMjAxNy0xMS0yNiAxNjoyNTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiBzdG9wIGNvbnRyb2xsaW5nIHN5bWJvbCB2aXNpYmlsaXR5IHdpdGggLWV4cG9ydC1zeW1ib2xzLXJlZ2V4CgkgIEluc3RlYWQsIHVzZSAtZnZpc2liaWxpdHk9aGlkZGVuIGFuZCBleHBsaWNpdCBleHBvcnRzIHZpYSBHU1RfRVhQT1JULgoJICBUaGlzIHNob3VsZCByZXN1bHQgaW4gY29uc2lzdGVudCBiZWhhdmlvdXIgZm9yIHRoZSBhdXRvdG9vbHMgYW5kCgkgIE1lc29uIGJ1aWxkcy4KCjIwMTctMTEtMjYgMTY6MDc6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IHJlbW92ZSBBUEkgdGhhdCB3YXMgZGVwcmVjYXRlZCA1IHllYXJzIGFnbwoJICBMaWJyYXJpZXMgaW4gLWJhZCBhcmUgbm90IGNvdmVyZWQgYnkgb3VyIEFQSS9BQkkgc3RhYmlsaXR5CgkgIGd1YXJhbnRlZXMsIGFuZCB0byB0aGUgYmVzdCBvZiBvdXIga25vd2xlZGdlIGV2ZXJ5b25lIHVzaW5nCgkgIHRoaXMgQVBJIGhhcyBtb3ZlZCB0byB0aGUgcmVwbGFjZW1lbnQgQVBJcyBhZ2VzIGFnby4KCjIwMTctMTEtMjUgMjA6MDY6NTcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgcHJvdG90eXBlIGZvciBnc3Rfd2F5YW5kX3Bvb2xfZ2V0X3R5cGUoKQoKMjAxNy0xMS0yMiAyMjoyNzowNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFJvbGxiYWNrIHZpZGVvIGluZm8gY2hhbmdlcyB3aGVuIGNvcHlpbmcKCSAgV2UgY2hhbmdlIHRoZSB2aWRlbyBpbmZvIGJhc2Ugb24gdGhlIHJlY2VpdmVkIGJ1ZmZlci4gV2UgbmVlZCB0bwoJICByb2xsYmFjayB0aGVzZSBjaGFuZ2VzIHdoZW5ldmVyIHdlIHdhbnQgdG8gY29weSBpbnRvIG91ciBpbnRlcm5hbAoJICBwb29sIG9mIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwNTcKCjIwMTctMTEtMjEgMjM6MTg6MjQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIHdheWxhbmRzaW5rOiBWYWxpZGF0ZSBzdHJpZGVzIGFuZCBvZmZzZXQgd2hlbiB1c2luZyBGRCBhcyBTSE0KCSAgQXMgU0hNIGludGVyZmFjZSBvbmx5IHN1cHBvcnQgMSBzdHJpZGUsIGFuZCAxIG9mZnNldCwgd2UgbmVlZCB0bwoJICBtYWtlIHN1cmUgdGhhdCB0aGVyZSBpcyBubyBwYWRkaW5nIGJldHdlZW4gcGxhbmVzIGZvciBwbGFuYXIgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDA1NwoKMjAxNy0xMS0yMSAyMzoxNzoxNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFVwZGF0ZSB2aWRlbyBpbmZvIHNpemUgdG8gYnVmZmVyIHNpemUKCSAgV2Ugd2hlcmUgc2V0dGluZyB0aGUgc2l6ZSB0byB0aGUgZmlyc3QgbWVtb3J5IHNpemUsIHRoaXMgbWF5IGJlCgkgIHRvbyBzbWFsbCBpbiBjYXNlIHdlIHJlY2VpdmVkIGEgYnVmZmVyIHdpdGggbXVsdGlwbGUgbWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMDU3CgoyMDE3LTExLTIxIDIzOjEyOjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWxsb2NhdGUgb25seSB3aGF0J3MgbmVlZGVkIHdoZW4gY29weWluZwoJICBUaGVyZSB3YXMgdGhpcyByZWdyZXNzaW9uIHRoYXQgd2UnZCBiZSB1c2luZyB0aGUgdXBkYXRlZCB2aWRlbwoJICBpbmZvIHNpemUgaW5zdGVhZCBvZiBkZWZhdWx0IHNpemUgd2hlbiBpbml0aWFsaXppbmcgdGhlIHBvb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwNTcKCjIwMTctMTEtMjEgMjM6MTE6MDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBPbmx5IHRyeSBTSE0gZm9yIHNpbmdsZSBtZW1vcnkgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAwNTcKCjIwMTctMTEtMjEgMjM6MTA6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdsd2luZG93OiBPbmx5IHVwZGF0ZSB2aWRlbyBpbmZvIG9uIG5ldyByZW5kZXIKCSAgVGhlIHNpbmstPnZpZGVvX2luZm8gbWlnaHQgbm90IHJlZmxlY3QgdGhlIGN1cnJlbnQgYnVmZmVyCgkgIHdoZW4gZXhwb3NlIGlzIGJlaW5nIGNhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDA1NwoKMjAxNy0xMS0yMCAyMTowOToyOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IERpc2FibGUgdmlkZW8tYWxpZ25tZW50IGZyb20gdGhlIHBvb2wKCSAgVGhlIFNITSBpbnRlcmZhY2UgZG9lcyBub3QgYWxsb3cgcGFzc2luZyBhcmJpdHJhcnkgc3RyaWRlcyBhbmQgb2Zmc2V0cywKCSAgZm9yIHRoaXMgcmVhc29uLCB3ZSBzaW1wbHkgZGlzYWJsZSB0aGlzIGZlYXR1cmUgZnJvbSB0aGUgcHJvcG9zZWQgcG9vbC4KCSAgVGhpcyBmaXhlcyB2aWRlbyBhcnRpZmFjdCBzZWVuIHdoZW4gdXNpbmcgdGhlIEZGTVBFRyBiYXNlZCB2aWRlbwoJICBkZWNvZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMDU3CgoyMDE2LTEwLTI0IDIzOjAyOjM4ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggdW5pbml0aWFsaXplZC13YXJuaW5nCgoyMDE2LTAxLTI5IDExOjQ2OjUyICswMTAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGRlYnVnIGxvZyBmb3IgbW9yZSBhbm5leGVzIHdoZW4gcGx1c3R5cGUKCjIwMTctMTEtMjUgMTM6MTA6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBEb24ndCBsZWFrIG11dGV4CgoyMDE3LTExLTI1IDEyOjQ4OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IGxlYWsgc3RyaW5nCgkgIFRoZSByZXN1bHQgb2YgZ3N0X3ZpZGVvX2NvbG9yaW1ldHJ5X3RvX3N0cmluZyAoKSBuZWVkcyB0byBiZSBmcmVlJ2QKCjIwMTctMTEtMjUgMTE6Mjc6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJICBuZXRzaW06IHNpbXBsaWZ5IGdldHRpbmcgYnVmZmVyIHNpemUgaW4gYml0cwoKMjAxNy0xMC0xMCAxNTo0NTo0NyArMDIwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgbWVzb24uYnVpbGQ6IHVzZSBqb2luX3BhdGhzKCkgb24gcHJlZml4CgkgIFNvIHRoYXQgIi8iIGFyZSBjb3JyZWN0IG9uIFdpbmRvd3MgYW5kIHRoZSBwYXRocyBpbgoJICB0aGUgLnBjIGZpbGVzIGFyZSBsaWtlIEM6L3NvbWUvd2hlcmUgYW5kIG5vdAoJICBDOlxzb21lXHdoZXJlLgoKMjAxNy0xMS0yNSAxMToxNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogaWdub3JlIHdheWxhbmRzaW5rIGluIHN0YXRlIGNoYW5nZSB0ZXN0CgkgICJVbmV4cGVjdGVkIGNyaXRpY2FsL3dhcm5pbmc6IFdheWxhbmQgY29tcG9zaXRvciBpcyBtaXNzaW5nCgkgIHRoZSBhYmlsaXR5IHRvIHNjYWxlLCB2aWRlbyBkaXNwbGF5IG1heSBub3Qgd29yayBwcm9wZXJseS4iCgoyMDE2LTExLTAxIDE2OjAzOjAwICswMTAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5oOgoJICBuZXRzaW06IGFkZCAiYWxsb3ctcmVvcmRlcmluZyIgcHJvcGVydHkKCSAgUmVvcmRlcmluZyBvZiBwYWNrZXRzIGlzIG5vdCB2ZXJ5IGNvbW1vbiBpbiBuZXR3b3JrcywgYW5kIHRoZSBkZWxheQoJICBmdW5jdGlvbnMgd2lsbCBhbHdheXMgaW50cm9kdWNlIHJlb3JkZXJpbmcgaWYgZGVsYXkgPiBwYWNrZXQtc3BhY2luZywKCSAgc28gYnkgc2V0dGluZyBhbGxvdy1yZW9yZGVyaW5nIHRvIEZBTFNFIHlvdSBndWFyYW50ZWUgdGhhdCB0aGUgcGFja2V0cwoJICBhcmUgaW4gb3JkZXIsIHdoaWxlIGF0IHRoZSBzYW1lIHRpbWUgaW50cm9kdWNpbmcgZGVsYXkvaml0dGVyIHRvIHRoZW0uCgoyMDE2LTEwLTAzIDE4OjQzOjI0ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmM6CgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmg6CgkgIG5ldHNpbTogQWRkIGdhbW1hIGRpc3RyaWJ1dGlvbiBmb3IgZGVsYXkKCSAgVGhpcyBzaW11bGF0ZXMgdGhlIGRlbGF5IG9uIHdpZmkgbmV0d29ya3MgYmV0dGVyLgoKMjAxNi0wOC0wMiAxMzo0NTo1NCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJICBuZXRzaW06IENoYW5nZSBtYXgtZGVsYXkgdG8gYmUgaW5jbHVzaXZlCgkgIEl0IGlzIG1vcmUgaW50dWl0aXZlIGZvciB0aGUgdXNlciB0aGF0IGluIG9yZGVyIHRvIGFjaGVpdmUgYSBjb25zdGFudAoJICBkZWxheSBtaW4tZGVsYXkgYW5kIG1heC1kZWxheSBhcmUgZXF1YWwuCgoyMDE2LTA4LTAxIDIwOjI3OjAzICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGdzdC9uZXRzaW0vTWFrZWZpbGUuYW06CgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmM6CgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmg6CgkqIGdzdC9uZXRzaW0vbWVzb24uYnVpbGQ6CgkgIG5ldHNpbTogQWRkICJkZWxheS1kaXN0cmlidXRpb24iIHByb3BlcnR5IHBsdXMgbm9ybWFsIGRpc3RyaWJ1dGlvbgoJICBCeSB1c2luZyB0aGUgcHJvcGVydHkgImRlbGF5LWRpc3RyaWJ1dGlvbiIgdGhlIHVzZXIgY2FuIGNvbnRyb2wgaG93IHRoZQoJICBkZWxheSBhcHBsaWVkIHRvIGRlbGF5ZWQgcGFja2V0cyBpcyBkaXN0cmlidXRlZC4gVGhpcyBpcyBlaXRoZXIgdGhlCgkgIHVuaWZvcm0gZGlzdHJpYnV0aW9uIChhcyBiZWZvcmUpIG9yIHRoZSBub3JtYWwgZGlzdHJpYnV0aW9uLgoJICAibWluLWRlbGF5IiBhbmQgIm1heC1kZWxheSIgY29udHJvbCBib3RoIGRpc3RyaWJ1dGlvbnMuIEZvciB0aGUgbm9ybWFsCgkgIGRpc3RyaWJ1dGlvbiBpdCBkZWZpbmVzIHRoZSBib3VuZHMgb2YgdGhlIDk1JSBjb25maWRlbmNlIGludGVydmFsLgoKMjAxNy0xMS0yMyAxMzo0Nzo0OCArMDEwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uYzoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uaDoKCSAgbmV0c2ltOiBhZGQgdG9rZW4gYnVja2V0IGFsZ29yaXRobSBmb3Igc2ltdWxhdGluZyBuZXR3b3JrIGNvbmdlc3Rpb24KCjIwMTctMTEtMjMgMTM6NDg6MzIgKzAxMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmM6CgkgIG5ldHNpbTogY2hhbmdlIHByb3BlcnR5IGVudW1zIHRvIFBST1BfKiBhbmQgZml4IGluZGVudGF0aW9uCgoyMDE3LTExLTI0IDIyOjA5OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uYzoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uaDoKCSAgbmV0c2ltOiByZW1vdmUgcHJpdmF0ZSBzdHJ1Y3QgYW5kIHBhZGRpbmcKCSAgVGhlcmUncyBubyBuZWVkIGZvciB0aGVzZSB0aGluZ3MsIHNpbmNlIHRoZSBwbHVnaW4gaGVhZGVycwoJICBhcmUgbm90IHB1YmxpYywgYW5kIGFsbCB0aGUgZXh0cmEgLT5wcml2LT4ganVzdCBjbHV0dGVyIHRoZQoJICBjb2RlLgoKMjAxNy0xMS0yNSAwOTo0MTowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBIYW5kbGUgYml0cmF0ZSA+IDIqKjMxCgkgIE9uIHZlcnktaGlnaCBjb25uZWN0aW9uLCB3ZSBjb3VsZCBxdWl0ZSB3ZWxsIGV4Y2VlZCB0aGF0LiBJbnN0ZWFkIHVzZQoJICBnaW50NjQgZm9yIG1heC1iaXRyYXRlLgoKMjAxNy0xMS0yNCAxNzowNjoyMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIHNkbHNoYXJlOiBEZXN0cm95IEdMIGJhY2tlbmQgYnVmZmVyIGJlZm9yZSB0aGUgR0wgQ29udGV4dAoJICBUaGlzIHdhcyBvdGhlcndpc2UgbGVhZGluZyB0byBhIGRlYWRsb2NrIGluIHRoZSBHTCBsaWJyYXJ5LgoKMjAxNy0xMS0yNCAxNjo1ODoyMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlMi5jOgoJICBzZGxzaGFyZTI6IEZpeCByYWNlIGNvbmRpdGlvbnMKCSAgVGhlIGNsaWVudC1kcmF3IGNhbGxiYWNrIGlzIHJ1bm5pbmcgb24gdGhlIEdMIFRocmVhZCwgd2hpY2ggd2lsbAoJICBiZSByZXF1aXJlZCB0byBtYXAgdGhlIGJ1ZmZlci4gTWFwIGVhcmx5LCBhbmQgcGFzcyB0aGUgbWFwcGVkCgkgIGZyYW1lIGluc3RlYWQuIE9uIHRvcCBvZiB0aGF0LCBtYWtlIHN1cmUgdG8gc2lnbmFsIGFueSBwZW5kaW5nCgkgIGRyYXcgYmVmb3JlIHRyeWluZyB0byBwdXNoIEVPUywgYXMgc29tZSBwYWQgbG9ja3MgbWlnaHQgYmUgdGFrZW4uCgkgIFRoaXMgaXMgdGhlIGNvc3Qgb2YgdXNpbmcgdGhlIHNhbWUgdGhyZWFkIHRvIGNvbnRyb2wgR1N0cmVhbWVyIGFuZAoJICB0byByZW5kZXIgR0wuCgoyMDE3LTExLTI0IDE2OjU4OjAxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSAgbWVzb246IEJ1aWxkIGdsL3NkbCBleGFtcGxlcwoKMjAxNy0xMS0yNCAxNTo0ODoxOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBQbGF5b3V0IGV4YW1wbGUgaGFzIG5vdCBHTCBkZXBzCgoyMDE3LTExLTI0IDE1OjE5OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBtaXNzaW5nIGV4YW1wbGVzIGRpcmVjdG9yeQoJICBUaGlzIHdpbGwgbWFrZSBpdCBtb3JlIHZpc2libGUgd2hhdCBpcyBtaXNzaW5nIGluIG1lc29uLgoKMjAxNy0xMS0yNCAxNToxNzowMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBCdWlsZCBwbGF5b3V0IGV4YW1wbGUKCjIwMTctMTEtMjIgMTQ6MzU6MzEgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBlYXJseSBzZXQgc3JjIGNhcHMgd2hlbiBpbnB1dCBub3QgYnl0ZS1zdHJlYW0KCSAgV2hlbiBpbnB1dCBpcyBub3QgaW4gYnl0ZS1zdHJlYW0gZm9ybWF0IHRoZXJlIGlzIG5vIG5lZWQgdG8gd2FpdCBmb3IgdGhlIGZpcnN0CgkgIGJ1ZmZlciBiZWZvcmUgc2V0dGluZyBzcmMgY2Fwcy4gV2UgYWxyZWFkeSBoYXZlIGFsbCB0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUKCSAgaW5wdXQgY29kZWNfZGF0YS4KCSAgVGhpcyBhbGxvdyB1cyB0byBhbHJlYWR5IGNvbmZpZ3VyZSBkb3duc3RyZWFtIGVsZW1lbnRzIGFsbG93aW5nIHRoZW0sCgkgIGZvciBleGFtcGxlLCB0byBhbHJlYWR5IGFsbG9jYXRlIHRoZWlyIGludGVybmFsIGJ1ZmZlcnMgYXMgdGhleSBrbm93CgkgIHRoZSBmb3JtYXQgb2YgdGhlIGlucHV0IHRoZXkgYXJlIGFib3V0IHRvIHJlY2VpdmUuCgkgIFNhbWUgY2hhbmdlIGFzIHRoZSBvbmUgSSBqdXN0IGRpZCBpbiBoMjY0cGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3MDkKCjIwMTctMTEtMjIgMTQ6MzU6MzEgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBlYXJseSBzZXQgc3JjIGNhcHMgd2hlbiBpbnB1dCBpcyBhdmMKCSAgV2hlbiBpbnB1dCBpcyBpbiBBVkMgZm9ybWF0IHRoZXJlIGlzIG5vIG5lZWQgdG8gd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlcgoJICBiZWZvcmUgc2V0dGluZyBzcmMgY2Fwcy4gV2UgYWxyZWFkeSBoYXZlIGFsbCB0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUKCSAgaW5wdXQgY29kZWNfZGF0YS4KCSAgVGhpcyBhbGxvdyB1cyB0byBhbHJlYWR5IGNvbmZpZ3VyZSBkb3duc3RyZWFtIGVsZW1lbnRzIGFsbG93aW5nIHRoZW0sCgkgIGZvciBleGFtcGxlLCB0byBhbHJlYWR5IGFsbG9jYXRlIHRoZWlyIGludGVybmFsIGJ1ZmZlcnMgYXMgdGhleSBrbm93CgkgIHRoZSBmb3JtYXQgb2YgdGhlIGlucHV0IHRoZXkgYXJlIGFib3V0IHRvIHJlY2VpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3MDkKCjIwMTctMTEtMjQgMDg6MDY6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBDaGVjayByZXR1cm4gdmFsdWVzIG9mIGFsbCB4dV9xdWVyeSBjYWxscwoJICBBbmQgdXNlIHdhcm5pbmdzL3JldHVybnMgbGlrZSBmb3Igb3RoZXIgY2FsbHMKCSAgQ0lEICMxMzczNDE0CgkgIENJRCAjMTM3MzQxNwoKMjAxNy0xMS0yNCAwODowMDoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBGaXggcG9zc2liaWxpdHkgb2YgTlVMTCB2YXJpYWJsZQoJICBJdCdzIHF1aXRlIHVubGlrZWx5IHNpbmNlIGl0J3MgaW5pdGlhbGl6ZWQgaW4gaW5zdGFuY2UgaW5pdGlhbGl6YXRpb24uCgkgIENJRCAjMTQxNzcyMQoKMjAxNy0xMS0yNCAwNzo1Nzo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0c3JjLmM6CgkgIGRjMTM5NHNyYzogUmVtb3ZlIGxvZ2ljYWxseSBkZWFkIGNvZGUKCSAgYnVmZmVyIHdvdWxkIGFsd2F5cyBiZSBOVUxMIGluIHRoZSBlcnJvciBjYXNlLiBTaW1wbGlmeSBhbmQganVzdAoJICByZXR1cm4gR1NUX0ZMT1dfRVJST1IKCSAgQ0lEICMxNDE3MjE2CgoyMDE3LTExLTIzIDIzOjAxOjUyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2xkaXNwbGF5X3Zpdl9mYi5jOgoJICB2aXYtZmI6IERvbid0IGRlc3Ryb3kgdGhlIG5hdGl2ZSBGQiBkaXNwbGF5CgkgIEl0IGNhdXNlcyBjcmFzaGVzIGluIGFwcGxpY2F0aW9ucyBiZWNhdXNlIHRoZSByZXN1bHQgb2YKCSAgZmJHZXREaXNwbGF5KCkgbWlnaHQgYmUgaW4gdXNlIGVsc2V3aGVyZSBpbiB0aGUgYXBwbGljYXRpb24KCSAgYW5kIFZpdmFudGUgZG9lc24ndCBzZWVtIHRvIGRvIGFueSByZWZjb3VudGluZwoKMjAxNy0xMS0yMyAyMjo1ODo0MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2xkaXNwbGF5X3Zpdl9mYi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsZGlzcGxheV92aXZfZmIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3Zpdi1mYi9nc3RnbHdpbmRvd192aXZfZmJfZWdsLmM6CgkgIFJldmVydCAiZ2w6IFVzZSBHc3RHTERpc3BsYXlFR0wgZGlyZWN0bHkgaW5zdGVhZCBvZiBjcmVhdGluZyBhIEdzdEdMRGlzcGxheVZJVkZiIHN1YmNsYXNzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ3ZmQ0ZDM5MWU3NzVjMTFmNTI5NzA1YmIwZjQ1N2E5ZDI1YmE1ZTcuCgkgIFRoaXMgcGF0Y2ggaXMgaW5jb3JyZWN0LiBJdCBkb2Vzbid0IGFjdHVhbGx5IGNvbXBpbGUsIGFuZCBjYXVzZXMgYSBjcmFzaAoJICBiZWNhdXNlIHRoZSB2aXYtZmIgd2luZG93IGltcGxlbWVudGF0aW9uIG5lZWRzIGEgbmF0aXZlIEVHTCBoYW5kbGUKCSAgdG8gcGFzcyB0byBmYkNyZWF0ZVdpbmRvdywgYnV0IHRoZSBHc3RHTERpc3BsYXlFR0wgaGFuZGxlaXMgYWN0dWFsbHkKCSAgYW4gRUdMRGlzcGxheSBub3cgKGFuZCBnZXRzIGNhc3QgdG8gdGhlIHdyb25nIHR5cGUpCgoyMDE3LTExLTI0IDAxOjM3OjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL21haW4uY3BwOgoJICAzZHZpZGVvIGV4YW1wbGU6IENvcnJlY3QgdmlkZW8gb3ZlcmxheSBmb3IgSGlEUEkKCSAgVXNlIHRoZSBHVEsgc2NhbGluZyBmYWN0b3IgdG8gc2NhbGUgdGhlIHZpZGVvIGFsbG9jYXRpb24KCSAgc28gdmlkZW8gZGlzcGxheXMgY29ycmVjdGx5IG9uIGhpLWRwaSBzY3JlZW5zCgoyMDE3LTExLTIzIDExOjE1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBtZXNvbjogcmVtb3ZlIG91dGRhdGVkIGNvbW1lbnQgaW4gYnVpbGQgZmlsZQoKMjAxNy0xMS0yMyAxMjozODoxMSArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuYzoKCSAgbXNka2RlYzoga2VlcCBkcmFpbmluZyBldmVuIGlmIGEgZmluaXNoX3Rhc2sgZmFpbHMKCSAgU2hvdWxkIGNvbnRpbnVlIGRyYWluaW5nIHNvIHRoYXQgaXQgY291bGQgdHJ5IHRvCgkgIGRpc2NhcmQgdGhlIHJlc3Qgb2YgcGVuZGluZyBmcmFtZXMgZXZlbiBpZiBhIGZpbmlzaF90YXNrIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwMzEyCgoyMDE3LTExLTEwIDEzOjMyOjE3IC0wNjAwICBNYXJpbyBBbGZyZWRvIENhcnJpbGxvIEFyZXZhbG8gPG1hcmlvLmFsZnJlZG8uYy5hcmV2YWxvQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBVcGRhdGUgdmVyc2lvbiBmb3IgYnVpbGRpbmcgcGx1Z2lucwoJICBUaGlzIGNvbW1pdCBhbGxvd3MgdG8gYnVpbGQgdGhlIE9wZW5DViBwbHVnaW4gd2l0aCBPcGVuQ1YgPj0gMi4zLjAgdG8gPCAzLjQuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDE5MgoKMjAxNy0xMS0yMyAwODoxNDowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBGaXggcHJldmlvdXMgY29tbWl0CgkgIHN0cmxlbiBvbiBzdHJpbmdzIChhbmQgbm90IHNpemVvZikgKnNpZ2gqCgoyMDE3LTExLTIzIDA4OjEyOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IEZpeCBzb2NrX2FkZHIgdXNhZ2UgKGZvciByZWFsKQoJICBJdCB3YXMgZ3JlYXQgY2hlY2tpbmcgdGhhdCB0aGUgc3RyaW5nIHdhcyBub3QgdG9vIGJpZyAuLi4gYnV0CgkgIGl0J3MgYmV0dGVyIGlmIHdlIGFjdHVhbGx5IGNvcHkgdGhlIHByb3BlciBhbW91bnQgb2YgYnl0ZXMgOikKCSAgQ0lEICMyMDYwMDQKCjIwMTctMTEtMjMgMDg6MDk6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVjb21tLmM6CgkgIGlwY3BpcGVsaW5lOiBEb24ndCBsZWFrIHN0cnVjdHVyZQoJICBDSUQgIzE0MTYxMzEKCjIwMTctMTEtMjMgMDg6MDU6NDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVjb21tLmM6CgkgIGlwY3BpcGVsaW5lOiBTaW1wbGlmeSB1c2FnZSBvZiBnX2NvbmRfd2FpdF91bnRpbCgpCgkgIEl0IHdpbGwgcmV0dXJuIEZBTFNFIGlmIGEgdGltZW91dCBoYXBwZW5lZC4gU28gZG9uJ3QgY2hlY2sgaWYgd2UKCSAgdGltZWQgb3V0IGFmdGVyd2FyZHMsIGp1c3QgdXNlIHRoZSByZXR1cm4gdmFsdWUuCgkgIENJRCAjMTQxNjM0NwoKMjAxNy0xMS0yMyAwODowMjo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZXNpbmsuYzoKCSAgaXBjcGlwZWxpbmU6IENoZWNrIHRoZSBwcm9wZXIgdmFsdWUKCSAgVGhlIGNvZGUgaXMgbWVhbnQgdG8gY2hlY2sgdGhlICpwZWVyKiBzdGF0ZSBjaGFuZ2UgcmV0dXJuIHZhbHVlCgkgIChhbmQgbm90IHRoZSBzaW5rJ3Mgb25lKS4KCSAgQ0lEICMxNDE2MTI4CgoyMDE3LTExLTIyIDE3OjM3OjAyICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA3MTYKCjIwMTctMTEtMjIgMTY6NTM6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNyYy5jOgoJICBjdXJsaHR0cHNyYzogRG9uJ3QgbGVhayBzdHJ1Y3R1cmUKCSAgQ0lEICMxNDE1NzE2CgoyMDE3LTExLTA2IDIxOjA3OjUxICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSBrbGFzcy0+c2lua3BhZHNfdHlwZQoJICBUaGlzIHBvc2VkIHByb2JsZW1zIGZvciB0aGUgcHl0aG9uIGJpbmRpbmdzIChhbmQgcG9zc2libHkgb3RoZXJzKS4KCSAgSW5zdGVhZCwgc3ViY2xhc3NlcyBub3cgdXNlIGFkZF9wYWRfdGVtcGxhdGVfd2l0aF9ndHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTk4NgoKMjAxNy0xMS0yMCAxNzo1NDo1NCArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IHB1dCBkb3duc3RyZWFtIGNhcHMgZmlyc3QgaWYgcG9zc2libGUgb24gc2luayBjYXBzCgkgIFRyeSBwcmlvcml0aXppbmcgZG93bnN0cmVhbSdzIGNhcHMgb3ZlciB1cHN0cmVhbSdzIGlmIHBvc3NpYmxlIHNvIHRoZQoJICBwYXJzZXIgY2FuIGNvbmZpZ3VyZWQgaW4gInBhc3N0aHJvdWdoIiBpZiBwb3NzaWJsZSBhbmQgc2F2ZSBpdCBmcm9tCgkgIGRvaW5nIHVzZWxlc3MgY29udmVyc2lvbnMuCgkgIEV4YWN0IHNhbWUgY2hhbmdlIGFzIHRoZSBvbmUgSSBqdXN0IGRpZCBpbiBoMjY0cGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTA2MjgKCjIwMTctMTEtMjAgMTc6NTQ6NTQgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHV0IGRvd25zdHJlYW0gY2FwcyBmaXJzdCBpZiBwb3NzaWJsZSBvbiBzaW5rIGNhcHMKCSAgVHJ5IHByaW9yaXRpemluZyBkb3duc3RyZWFtJ3MgY2FwcyBvdmVyIHVwc3RyZWFtJ3MgaWYgcG9zc2libGUgc28gdGhlCgkgIHBhcnNlciBjYW4gY29uZmlndXJlZCBpbiAicGFzc3Rocm91Z2giIGlmIHBvc3NpYmxlIGFuZCBzYXZlIGl0IGZyb20KCSAgZG9pbmcgdXNlbGVzcyBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDYyOAoKMjAxNy0xMS0yMiAxMTozMzo1NCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuYzoKCSAgbXNka2RlYzogZml4IGJ1ZmZlciBsZWFrcyBkdXJpbmcgZHJhaW4gYW5kIGEgbGVhayBvZiB2aWRlb2J1ZmZlcnBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDMxMgoKMjAxNy0xMS0yMSAxNDo1NzowMyArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5oOgoJICBtc2RrZW5jOiBoYW5kbGUgdGhlIE1PUkVfREFUQSBjYXNlCgkgIElmIHRoZSBkcml2ZXIgcmVxdWlyZXMgbW9yZSBkYXRhLCBqdXN0IHVucmVmIHRoZSBmcmFtZSBhdCB0aGUgbW9tZW50CgkgIHRoZW4gcmV0cmVpdmUvZmluaXNoIHRoZSBmcmFtZSBhZnRlciBlbmNvZGluZyBpcyBmaW5pc2hlZC4KCSAgVGhpcyBhbHNvIGZpeGVzIGEgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAzMTIKCjIwMTctMTEtMjIgMTA6MzA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogUHJpbnQgIlN0YXJ0aW5nIiBpbnN0ZWFkIG9mICJTdG9wcGluZyIgd2hlbiBzdGFydGluZwoKMjAxNy0xMS0xNyAxNzowOToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZGVjL2dzdG52ZGVjLmM6CgkgIG52ZGVjOiBpbXBsZW1lbnQgZmx1c2gvZHJhaW4KCSAgRml4ZXMgb3V0cHV0dGVkIGZyYW1lIHNlcXVlbmNlIHdoZW4gcGVyZm9ybWluZyBhIHNlZWsKCSAgaS5lLiB3aGVuIHNlZWtpbmcgYmFja3dhcmRzLCB0aGUgZmlyc3QgZnJhbWUgYWZ0ZXIgdGhlIHNlZWsgd2FzIGEgZnJhbWUKCSAgZnJvbSB0aGUgZnV0dXJlLiAgVGhpcyB3b3VsZCByZXN1bHQgaW4gR3N0VmlkZW9EZWNvZGVyIGVzc2VudGlhbGx5CgkgIG1hcmtpbmcgYWxsIHRoZSB0aW1lc3RhbXBzIGFzIGVzc2VudGlhbGx5IGJvZ3VzIGFuZCB0aGUgYmFzZSBjbGFzcyB3b3VsZAoJICBhdHRlbXB0IHRvIGNvbXBlbnNhdGUuICBBIHZpc2libGUgaW5kaWNhdGlvbiBvZiB0aGlzIHdhcyAnZGVjcmVhc2luZyB0aW1lc3RhbXAnCgkgIHdhcm5pbmcgYWZ0ZXIgYSBzZWVrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkwNDc4CgoyMDE3LTExLTIxIDIwOjU2OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvbWVzb24uYnVpbGQ6CgkgIGN1cmw6IGZpeCBtZXNvbiBidWlsZAoJICBJbmNsdWRlIGxpYnNkaXIgc28gb3VyIGkxOG4gaGVhZGVyIHRoZXJlIGlzIGZvdW5kLgoKMjAxNy0xMS0yMSAxMjowMzozOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IEFkZCBSYXNwYmVycnkgUGkgKHZjNCkgc3VwcG9ydAoKMjAxNy0xMS0yMSAxNjo0MzowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgZGUyNjU6IERvbid0IGxlYWsgQ29kZWNTdGF0ZQoJICBVbnJlZiBpdCBpbiBlcnJvciBjYXNlCgkgIENJRCAjMTQxNzIyMAoKMjAxNy0xMS0yMSAxNjozOToxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSAgdnVsa2FuOiBGaXggb3V0LW9mLWJvdW5kIHJlYWQKCSAgR19OX0VMRU1FTlRTIGlzIHRoZSAqbnVtYmVyKiBvZiBlbnRyaWVzLCBub3QgdGhlIG1heGltdW0gZW50cnkgbnVtYmVyCgkgIENJRCAjMTQxNzIxNQoKMjAxNy0xMS0yMSAxNjozMDozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc3JjLmM6CgkgIGN1cmxodHRwc3JjOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgbm8gVVJJIHdhcyBzZXQKCSAgTGlrZSBmb3Igb3RoZXIgc291cmNlcwoKMjAxNy0xMS0yMSAxNjozMDoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSAgY3VybDogQWRkIGkxOG4KCjIwMTctMTEtMjEgMTU6NDg6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcnRwLmM6CgkgIHRlc3RzL3NydHA6IEJ1bXAgdXAgdGltZW91dCB0byAzbWlucyBmb3IgdGVzdGNhc2UKCSAgVGhpcyBpbnZvbHZlcyBnZW5lcmF0aW5nIGFuZCBwcm9jZXNzaW5nIDY1NTM2IHBhY2tldHMsIGxldCdzIGdpdmUgaXQKCSAgdGltZSB0byBhY3R1YWxseSBjb21wbGV0ZSB0aGF0LgoJICBBbmQgYSBiaXQgb2YgZGVidWcgdG8gdHJhY2sgd2hhdCdzIGdvaW5nIG9uLgoKMjAxNy0xMS0yMSAxNTozMzo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBIYW5kbGUgaW52YWxpZCBYTUwKCSAgTm90aGluZyBndWFyYW50ZWVzIHRoZSBtYW5pZmVzdCBpcyB2YWxpZCBhbmQgd2lsbCByZXR1cm4gYSByb290IG5vZGUKCjIwMTctMTEtMjEgMTU6MzM6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNyYy5jOgoJICBjdXJsaHR0cHNyYzogRml4IHJldHVybiB2YWx1ZQoJICBUaGUgZnVuY3Rpb24gcmV0dXJucyBhIGdjaGFyICogKGFuZCBub3QgYSBib29sZWFuKQoKMjAxNy0xMS0yMSAxNTozMTowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc3JjLmM6CgkgIGN1cmxodHRwc3JjOiBEb24ndCBzd2l0Y2ggdG8gUEFVU0VEIGlmIG5vdCBVUkkgd2FzIHNwZWNpZmllZAoJICBMaWtlIGZvciBvdGhlciBzb3VyY2VzCgoyMDE3LTExLTIwIDE3OjA2OjA3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgYWxsOiBGaXggbGVmdC1zaGlmdCB1bmRlZmluZWQgYmVoYXZpb3VyCgkgIENhc3QgdG8gdGhlIHRhcmdldCB0eXBlIGJlZm9yZSBzaGlmdGluZyAob3IgdXNlIG1hY3JvIGlmIGF2YWlsYWJsZSkKCjIwMTctMTAtMzEgMTA6MDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuaDoKCSAgbXNka2gyNjRlbmM6IEltcGxlbWVudCBmcmFtZS1wYWNraW5nIFNFSSBpbnNlcnRpb24gZm9yIHNpZGUtYnktc2lkZSBhbmQgdG9wLWJvdHRvbQoJICBJZGVhbGx5IHRoaXMgd291bGQgYmUgc3VwcG9ydGVkIGRpcmVjdGx5IGluIHRoZSBJbnRlbCBNZWRpYVNESyBidXQKCSAgdGhhdCdzIG5vdCB0aGUgY2FzZSBub3dhZGF5cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDkyMAoKMjAxNy0xMS0xNyAxNzo0OToxNiArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuYzoKCSogc3lzL21zZGsvbXNkay5jOgoJICBtc2RrZW5jOiBGaXggaGFuZGxpbmcgb2YgWVVZMiwgVVlWWSwgQkdSQSBzdXJmYWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5ODQ3CgoyMDE3LTExLTE2IDExOjMyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmg6CgkqIHN5cy9tc2RrL21zZGsuYzoKCSAgbXNka2VuYzogQWRkIHN1cHBvcnQgZm9yIFlWMTIsIFlVWTIsIFVZVlkgYW5kIEJHUkEKCSAgQnkgZG9pbmcgY29udmVyc2lvbiB3aXRoIFZQUCB0byBOVjEyIGJlZm9yZSB0aGUgYWN0dWFsIGVuY29kaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5ODQ3CgoyMDE3LTExLTA5IDEyOjM2OjQ0ICswODAwICBKdW4gWGllIDxqdW4ueGllQHNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IG1lbW9yeSBsZWFrIGNhdXNlZCBieSBkb3VibGUgYnVmZmVyIG1hcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5OTk5CgoyMDE3LTExLTEzIDIzOjAxOjU4ICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0L2dzdHNydC5jOgoJKiBleHQvc3J0L2dzdHNydC5oOgoJKiBleHQvc3J0L2dzdHNydGJhc2VzaW5rLmM6CgkqIGV4dC9zcnQvZ3N0c3J0YmFzZXNpbmsuaDoKCSogZXh0L3NydC9nc3RzcnRiYXNlc3JjLmM6CgkqIGV4dC9zcnQvZ3N0c3J0YmFzZXNyYy5oOgoJKiBleHQvc3J0L2dzdHNydGNsaWVudHNpbmsuYzoKCSogZXh0L3NydC9nc3RzcnRjbGllbnRzcmMuYzoKCSogZXh0L3NydC9nc3RzcnRzZXJ2ZXJzaW5rLmM6CgkqIGV4dC9zcnQvZ3N0c3J0c2VydmVyc3JjLmM6CgkgIHNydDogYWRkIHBhc3NwaHJhc2UgYW5kIGtleSBsZW5ndGggcHJvcGVydGllcwoJICBGb3Igc3RyZWFtIGVuY3J5cHRpb24sIGJvdGggYHBhc3NwaHJhc2VgIGFuZCBga2V5LWxlbmd0aGAKCSAgcHJvcGVydGllcyBhcmUgcmVxdWlyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAzMTUKCjIwMTctMTEtMTQgMTg6MTM6NTQgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L3RpbWVjb2RlL2dzdGF2d2FpdC5jOgoJICBhdndhaXQ6IERlc2VyaWFsaXNlZCB0aW1lY29kZXMgc2V0IGFmdGVyIGNhcHMgZXZlbnQgbm93IGdldCBjb3JyZWN0IGZyYW1lcmF0ZQoJICBBIGRlc2VyaWFsaXNlZCB0aW1lY29kZSBoYXMgYSBmcmFtZXJhdGUgb2YgMC8xIGJ5IGRlZmF1bHQuIFRoYXQgYnJlYWtzCgkgIGl0IHdoZW4gY29tcGFyaW5nIHRoZSBmcmFtZXMgZmllbGQgd2l0aCBhbm90aGVyIHRpbWVjb2RlIChpbmNvbWluZyBmcm9tCgkgIHRoZSBmcmFtZSkuIFdlIHdlcmUgc2V0dGluZyB0aGUgZnJhbWVyYXRlIHdoZW4gcmVjZWl2aW5nIHRoZSBjYXBzIGV2ZW50LAoJICBidXQgbm90IHdoZW4gc2V0dGluZyB0aGUgdGltZWNvZGUgaW4gc2V0X3Byb3BlcnR5LCBzbyBpdCB3YXMgYnJva2VuIGZvcgoJICB0aW1lY29kZXMgc2V0IGFmdGVyIHRoZSBjYXBzIGV2ZW50LgoJICBBbHNvIGNoZWNraW5nIGlmIHRoZSBmcHNfbiB3ZSBnb3QgZnJvbSB0aGUgY2FwcyBldmVudCBpcyAhPSAwIGJlZm9yZQoJICBzZXR0aW5nIGl0IC0gYWxzbyBhdCB0aGUgY2FwcyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5MDMzNAoKMjAxNy0xMS0xMCAxNzoyMTo0MyArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdGltZWNvZGUvZ3N0YXZ3YWl0LmM6CgkgIHRpbWVjb2RlOiBGaXggaW5jb3JyZWN0IHdvcmRpbmcgaW4gZXJyb3IgbWVzc2FnZQoKMjAxNy0xMS0xMCAxNzoxODo0NSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdGltZWNvZGUvZ3N0YXZ3YWl0LmM6CgkqIGdzdC90aW1lY29kZS9nc3RhdndhaXQuaDoKCSAgYXZ3YWl0OiBCZXR0ZXIgaGFuZGxpbmcgb2YgZGVzZXJpYWxpc2VkIHRpbWVjb2RlIGZyYW1lcmF0ZXMKCSAgTm93IHRoYXQgdGltZWNvZGVzIHN1cHBvcnQgcHJvcGVyIHNlcmlhbGlzYXRpb24gLyBkZXNlcmlhbGlzYXRpb24sIGEKCSAgdGltZWNvZGUgbWlnaHQgaGF2ZSBhbiBpbnZhbGlkIGZwc19uIC8gZnBzX2QgZXZlbiB3aXRob3V0IHVzaW5nIHRoZQoJICB0YXJnZXQtdGltZS1jb2RlLXN0cmluZyBwcm9wZXJ0eS4gRGV0ZWN0IHRob3NlIGNhc2VzIGFuZCBzZXQgZnBzX24vZnBzX2QKCSAgcHJvcGVybHkuCgoyMDE3LTExLTA5IDEyOjA4OjM1ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IFJlbW92ZSB1bnVzZWQgImJmbGFncyIgdmFyaWFibGUKCSAgV2UgYXJlIGlnbm9yaW5nIGFsbCBpdHMgZmxhZ3MgYW55d2F5LCBzbyBsZXQncyByZW1vdmUgaXQgYWx0b2dldGhlci4KCjIwMTctMTEtMDkgMTE6NDQ6MTcgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogSWdub3JlIHNvbWUgZHJpdmVyLXNldCB0aW1lY29kZSBmbGFncwoJICBUaGUgImZpZWxkcyIgZmxhZyBpcyBpZ25vcmVkIGJlY2F1c2UgY3VycmVudGx5IEdTdHJlYW1lciBkb2Vzbid0IHN1cHBvcnQKCSAgaGF2aW5nIG9ubHkgdG9wIG9yIG9ubHkgYm90dG9tIGZpZWxkcyBpbnNpZGUgYSBmcmFtZS4gVGhlICJkcm9wIGZyYW1lIgoJICBmbGFnIGlzIGlnbm9yZWQgYmVjYXVzZSBzb21lIG9jY3VycmVuY2VzIGhhdmUgYmVlbiBzcG90dGVkIHdoZXJlIGl0CgkgIHdhc24ndCBzZXQgd2hpbGUgaXQgc2hvdWxkIGhhdmUgYmVlbi4gSW4gcHJhY3RpY2UsIHdoZW4gd2UgaGF2ZSAyOS45NyBvcgoJICA1OS45NCBGUFMsIGl0J3MgYWx3YXlzIGRyb3AtZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03OTAxMTIKCjIwMTctMTEtMDkgMDA6MTY6MjEgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IERvbid0IGNyYXNoIHdoZW4gZ2V0dGluZyBodyBzZXJpYWwgbnVtYmVyIGRvZXNuJ3QgcmV0dXJuIE9LCgkgIElmIHRoZSByZXR1cm4gdmFsdWUgaXNuJ3QgT0ssIGl0IG1lYW5zIHdlIG1pZ2h0IGJlIGdldHRpbmcgZGF0YSB0aGF0CgkgIHBvaW50cyB0byBhbiBpbnZhbGlkIG1lbW9yeSBhZGRyZXNzLiBUaGF0IHNob3VsZG4ndCBtYWtlIHVzIGNyYXNoLgoKMjAxNy0wNy0zMSAxNDozODozNCArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3NydC9NYWtlZmlsZS5hbToKCSogZXh0L3NydC9nc3RzcnQuYzoKCSogZXh0L3NydC9nc3RzcnQuaDoKCSogZXh0L3NydC9nc3RzcnRiYXNlc2luay5jOgoJKiBleHQvc3J0L2dzdHNydGJhc2VzaW5rLmg6CgkqIGV4dC9zcnQvZ3N0c3J0YmFzZXNyYy5jOgoJKiBleHQvc3J0L2dzdHNydGJhc2VzcmMuaDoKCSogZXh0L3NydC9nc3RzcnRjbGllbnRzaW5rLmM6CgkqIGV4dC9zcnQvZ3N0c3J0Y2xpZW50c2luay5oOgoJKiBleHQvc3J0L2dzdHNydGNsaWVudHNyYy5jOgoJKiBleHQvc3J0L2dzdHNydGNsaWVudHNyYy5oOgoJKiBleHQvc3J0L2dzdHNydHNlcnZlcnNpbmsuYzoKCSogZXh0L3NydC9nc3RzcnRzZXJ2ZXJzaW5rLmg6CgkqIGV4dC9zcnQvZ3N0c3J0c2VydmVyc3JjLmM6CgkqIGV4dC9zcnQvZ3N0c3J0c2VydmVyc3JjLmg6CgkqIGV4dC9zcnQvbWVzb24uYnVpbGQ6CgkgIHNydDogSW50cm9kdWNlIFNSVCBzb3VyY2UgYW5kIHNpbmsKCSAgU1JUWzBdIGlzIGFuIG9wZW4gc291cmNlIHRyYW5zcG9ydCB0ZWNobm9sb2d5WzFdIHRoYXQgb3B0aW1pemVzCgkgIHN0cmVhbWluZyBwZXJmb3JtYW5jZSBhY3Jvc3MgdW5wcmVkaWN0YWJsZSBuZXR3b3Jrcy4KCSAgQWx0aG91Z2ggU1JUIGlzIGJhc2VkIG9uIFVEUCwgaXQgd29ya3MgbGlrZSBjb25uZWN0aW9uLW9yaWVudGVkCgkgIHByb3RvY29sLiBIb3dldmVyLCBpdCBkb2Vzbid0IG1lYW4gdGhhdCB0aGUgU1JUIHNlcnZlciBvciBjbGllbnQKCSAgaXMgbmVjZXNzYXJpbHkgdG8gbGluayB0byBhIHJlY2VpdmVyIG9yIGEgc2VuZGVyIHNvLCBoZXJlLCB0aGUKCSAgcGFpcnMgb2Ygc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzIGFyZSBpbnRyb2R1Y2VkLgoJICAtIHNydHNlcnZlcnNpbms6IFNSVCBzZXJ2ZXIgdG8gZmVlZCBTUlQgc3RyZWFtCgkgIC0gc3J0Y2xpZW50c3JjOiAgU1JUIGNsaWVudCB0byBnZXQgU1JUIHN0cmVhbSBmcm9tIHNydHNlcnZlcnNpbmsKCSAgLSBzcnRjbGllbnRzaW5rOiBTUlQgY2xpZW50IHRvIHNlbmQgU1JUIHN0cmVhbQoJICAtIHNydHNlcnZlcnNyYzogIFNSVCBzZXJ2ZXIgdG8gbGlzdGVuIGZyb20gc3J0Y2xpZW50c2luawoJICBbMF0gaHR0cHM6Ly9naXRodWIuY29tL0hhaXZpc2lvbi9zcnQKCSAgWzFdIGh0dHA6Ly93d3cuc3J0YWxsaWFuY2Uub3JnLwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NzMwCgoyMDE3LTExLTA3IDIxOjEyOjQyICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBSZXZlcnQgImRlY2tsaW5rOiBEZXRlY3QgZ2FwcyBvbiBpbmNvbWluZyBzdHJlYW0gdGltZXMsIGlzc3VlIHdhcm5pbmdzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGMxMjk0ZTEwZjk5YWRmMDRhMTA0Mzk3ZGE3MzU5MDQ2MzQ0MDA0NjQuCgkgIFdhcyBub3QgcmVhZHkgdG8gYmUgcHVzaGVkIHlldC4KCjIwMTctMTEtMDcgMjE6MTI6MzYgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0aml0dGVyZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0aml0dGVyZXIuaDoKCSogZ3N0L2RlYnVndXRpbHMvbWVzb24uYnVpbGQ6CgkgIFJldmVydCAiZGVidWd1dGlsczogQWRkZWQgbmV3IGppdHRlcmVyIGVsZW1lbnQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTk1MjU0ZjIxYjE1NzAyZDk1ZDVhN2NmNmU0M2QyOWY5YzE3OWY0My4KCSAgV2FzIG5vdCByZWFkeSB0byBiZSBwdXNoZWQgeWV0LgoKMjAxNy0xMS0wNyAyMToxMjozMiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICBSZXZlcnQgInRpbWVjb2Rlc3RhbXBlcjogTFRDIGZyb20gYXVkaW8iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzAxYWZhYjlmN2ZhN2U4MjJkZWEzOGUzNThlOTIxNjNlOGQzNjI4Mi4KCSAgV2FzIG5vdCByZWFkeSB0byBiZSBwdXNoZWQgeWV0CgoyMDE3LTExLTA3IDIxOjEyOjI1ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICBSZXZlcnQgInRpbWVjb2Rlc3RhbXBlcjogTW9kaWZ5IGx0Yy1hZGQgdG8gdGMtYWRkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1NTI5ODFiNzk1YTAyNGQyNmJmNTA5ODkzZDU1OTcwYzIyOTRjMDQuCgkgIFdhcyBub3QgcmVhZHkgdG8gYmUgcHVzaGVkIHlldAoKMjAxNy0xMS0wNyAyMTowMzoyMiArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdGltZWNvZGUvZ3N0YXZ3YWl0LmM6CgkgIGF2d2FpdDogRml4IGNyYXNoIHdoZW4gZXhwbGljaXRseSBzZXR0aW5nIGVuZF90YyB0byBOVUxMCgkgIElmIGVuZF90YyBpcyBOVUxMLCBpdCBtZWFucyB0aGF0IHdlIGRvbid0IHdhbnQgYXZ3YWl0IHRvIHN0b3AgYXQgYW55CgkgIHRpbWVjb2RlLiBXaGVuIGV4cGxpY2l0bHkgc2V0dGluZyBlbmRfdGMgdG8gTlVMTCwgdGhlcmUgaXMgbm8gcG9pbnQgaW4KCSAgY29tcGFyaW5nIGVuZF90YyB3aXRoIHN0YXJ0X3RjICh0byBzZWUgaWYgd2UnbGwgcmVqZWN0IGVuZF90YyBmb3IgYmVpbmcKCSAgYmVmb3JlIHN0YXJ0X3RjKSwgc28gdGhlIGNoZWNrIGluIHF1ZXN0aW9uIGlzIGNvbXBsZXRlbHkgZGlzYWJsZWQKCSAgaW5zdGVhZCBvZiBsZXR0aW5nIGl0IGNyYXNoLgoKMjAxNy0xMC0wMiAxODozOTo0OSArMDIwMCAgR2VvcmcgTGlwcGl0c2NoIDxnbGlwcGl0c2NoQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5jOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGVzdGFtcGVyLmg6CgkgIHRpbWVjb2Rlc3RhbXBlcjogTW9kaWZ5IGx0Yy1hZGQgdG8gdGMtYWRkCgkgIEl0IGlzIG1vcmUgZ2VuZXJhbCBub3cgYW5kIGFsc28gYWRkcyBUQyB0byBpbnRlcm5hbCBjb3VudGVyCgoyMDE3LTA2LTEzIDEzOjE5OjE5ICswMzAwICBHZW9yZyBMaXBwaXRzY2ggPGdsaXBwaXRzY2hAdG9vbHNvbmFpci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICB0aW1lY29kZXN0YW1wZXI6IExUQyBmcm9tIGF1ZGlvCgkgIEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIGxpbmVhciB0aW1lIGNvZGUgZnJvbQoJICBhbiBhdWRpbyBzb3VyY2UgdXNpbmcgbGlibHRjCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS94NDIvbGlibHRjCgkgIFRoZSB1c2VyIGNhbiBub3cgY2hvb3NlIGJldHdlZW4gMyBkaWZmZXJlbnQgYW5kIGluZGVwZW5kZW50bHkKCSAgcnVubmluZyB0aW1lY29kZSBzb3VyY2VzLiBUaGUgb2xkIG92ZXJyaWRlLWV4aXN0aW5nIHByb3BlcnR5CgkgIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IHRpbWVjb2RlLXNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDI5NQoKMjAxNy0wOS0wNiAxMzoxNjoyMSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RqaXR0ZXJlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RqaXR0ZXJlci5oOgoJKiBnc3QvZGVidWd1dGlscy9tZXNvbi5idWlsZDoKCSAgZGVidWd1dGlsczogQWRkZWQgbmV3IGppdHRlcmVyIGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGNhbiBiZSBjb25maWd1cmVkIHRvIGFkZCBqaXR0ZXIgYW5kL29yIGRyaWZ0IHRvIGluY29taW5nCgkgIGJ1ZmZlcnMnIFBUUywgRFRTLCBvciBib3RoLiBBbXBsaXR1ZGUgYW5kIGF2ZXJhZ2Ugb2Ygaml0dGVyIGFuZCBkcmlmdAoJICBhcmUgY29uZmlndXJhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MzU4CgoyMDE3LTA0LTI2IDE5OjA1OjIxICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogRGV0ZWN0IGdhcHMgb24gaW5jb21pbmcgc3RyZWFtIHRpbWVzLCBpc3N1ZSB3YXJuaW5ncwoJICBXaGVuIHdlIHJlY2VpdmUgYSB2aWRlbyBvciBhdWRpbyBidWZmZXIsIHdlIGNhbGN1bGF0ZSB0aGUgbmV4dCBzdHJlYW0KCSAgdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdHJlYW0gdGltZSArIGJ1ZmZlciBkdXJhdGlvbi4gSWYgdGhlIG5leHQKCSAgYnVmZmVyJ3Mgc3RyZWFtIHRpbWUgaXMgYWZ0ZXIgdGhhdCwgd2UgaXNzdWUgYSB3YXJuaW5nLgoJICBUaGlzIGhhcHBlbnMgYmVjYXVzZSB0aGUgc3RyZWFtIHRpbWUgaW5jb21pbmcgZnJvbSBEZWNrbGluayBzaG91bGQgYmUKCSAgcmVhbGx5IGNvbnN0YW50IGFuZCB3aXRob3V0IGdhcHMuIElmIHRoZXJlIGlzIGEgZ2FwLCBpdCBtZWFucyB0aGF0CgkgIHNvbWV0aGluZyB3ZW50IHdyb25nLCBlLmcuIHRoZSBpbnRlcm5hbCBidWZmZXIgcG9vbCBpcyBlbXB0eSAodG9vIG1hbnkKCSAgYnVmZmVycyBxdWV1ZWQgdXAgZG93bnN0cmVhbSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE3NzYKCjIwMTctMTEtMDcgMTU6MjE6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2hhZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsL3Rlc3RzOiBhZGQgc29tZSBzaW1wbGUgc2hhZGVyIHRlc3RpbmcKCSAgTWFraW5nIHN1cmUgdGhhdCB0aGUgZGVmYXVsdCBzaGFkZXJzIGNvbXBpbGUgYW5kIGFyZSB1c2FibGUKCjIwMTctMTEtMDcgMTI6Mzk6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBndWFyZCBzdG9wIGluIGdsIHRocmVhZAoJICBTbyB3ZSBkb24ndCByZXN1bHQgaW4gYSBjcml0aWNhbCB3aGVuIHdlJ3ZlIG5ldmVyIGNyZWF0ZWQgdGhlIEdMIGNvbnRleHQ6CgkgIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQ6IGFzc2VydGlvbiAnR1NUX0lTX0dMX0NPTlRFWFQgKGNvbnRleHQpJyBmYWlsZWQKCjIwMTctMTEtMDcgMDA6MDc6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBhY3R1YWxseSBpbmRpY2F0ZSBzdGFydCBpbnRlcm5hbGx5CgkgIE90aGVyd2lzZSB3aGVuIHdlIHN0b3AsIHRoZSBuZWNlc3Nhcnkgc3RvcCBmdW5jdGlvbnMgd2lsbCBub3QgYmUgY2FsbGVkCgkgIGFuZCB0aGluZ3MgbWF5IGJlIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODI4MAoKMjAxNy0xMS0wNiAyMzoxOToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGZyZWUgaW4gdGhlIEdMIHRocmVhZCBvbiBzdG9wCgkgIENhbGxpbmcgR0wgZnVuY3Rpb25zIG5vdCBvbiB0aGUgR0wgdGhyZWFkIG1heSBjcmFzaCBpbiBzb21lIEdMCgkgIGltcGxlbWVudGF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTY2NQoKMjAxNy0xMS0wMyAxMDo1NToyOCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL2dzdG1zZGt2cDhkZWMuYzoKCSAgbXNkazogZml4IHRvIGJ1aWxkIG1zZGt2cDhkZWMgd2l0aCBtZnhfZGlzcGF0Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTc1MQoKMjAxNy0xMS0wNCAwNzo0OToyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBGaXggc29ja2FkZHJfdW4gdXNhZ2UKCSAgVGhlIHN1bl9wYXRoIGZpZWxkIG5lZWRzIHRvIGJlIE5VTEwtdGVybWluYXRlZAoJICBDSUQgIzIwNjAwNAoKMjAxNy0xMS0wMiAxODozMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGRvYyBibHVyYiBmb3IgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2lzX2VvcygpCgoyMDE3LTExLTAyIDE2OjA1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhbHNvIHJlbW92ZSBub3ctdW51c2VkIFBhZEZvcmVhY2hGdW5jIGRlY2xhcmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU2NzkKCjIwMTctMDgtMDIgMTI6MDg6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZGJhc2UuZGVmOgoJICBhZ2dyZWdhdG9yOiBSZW1vdmUgcGFkIGl0ZXJhdG9yIGZ1bmN0aW9uCgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfZm9yZWFjaF9zaW5rX3BhZCgpIGZyb20gY29yZSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1Njc5CgoyMDE3LTExLTAyIDEyOjQ2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9lbGVtZW50X2ZvcmVhY2hfc2lua19wYWQoKQoJICBJbnN0ZWFkIG9mIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKSB3aGljaCB3aWxsCgkgIHNvb24gYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTY3OQoKMjAxNy0xMS0wMiAxMjo0NjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9lbGVtZW50X2ZvcmVhY2hfc2lua19wYWQoKQoJICBJbnN0ZWFkIG9mIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKSB3aGljaCB3aWxsCgkgIHNvb24gYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTY3OQoKMjAxNy0xMS0wMiAxMjo1Njo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGFkZCBDQVNUIG1hY3JvcwoKMjAxNy0xMS0wMiAxMjo0NjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9lbGVtZW50X2ZvcmVhY2hfc2lua19wYWQoKQoJICBJbnN0ZWFkIG9mIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKSB3aGljaCB3aWxsCgkgIHNvb24gYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTY3OQoKMjAxNy0xMS0wMiAxMjoxNzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IHVzZSBuZXcgZ3N0X2VsZW1lbnRfZm9yZWFjaF9zaW5rX3BhZCgpCgkgIEluc3RlYWQgb2YgZ3N0X2FnZ3JlZ2F0b3JfaXRlcmF0ZV9zaW5rcGFkcygpIHdoaWNoIHdpbGwKCSAgc29vbiBiZSByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1Njc5CgoyMDE3LTExLTAyIDExOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkcm9wIEFCSSBjb21wYXQgaW4gcGFkZGluZyBmb3IgbmV3IHN0cnVjdCBtZW1iZXIKCSAgRG9uJ3QgcmVhbGx5IGhhdmUgdG8gZG8gdGhhdCB3aGlsZSBpdCdzIGluIC1iYWQgYW5kIG1vc3QgdXNlcnMKCSAgYXJlIGluLXRyZWUgYW55d2F5LgoKMjAxNy0xMC0yMyAyMjowMzoyMiArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuaDoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBtYWtlIGNsYXNzIHBhZGRpbmcgbGFyZ2VyCgoyMDE3LTExLTAxIDE1OjE4OjA4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgbW9yZSBjb21tZW50cwoKMjAxNy0xMC0zMCAxNTowNjozMiArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RrLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2cDhkZWMuYzoKCSogc3lzL21zZGsvZ3N0bXNka3ZwOGRlYy5oOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkazogYWRkcyBtc2RrdnA4ZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODk3NTEKCjIwMTctMTAtMzAgMTg6MTc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NWRlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NWVuYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrbWpwZWdkZWMuYzoKCSogc3lzL21zZGsvZ3N0bXNka21qcGVnZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2cDhlbmMuYzoKCSogc3lzL21zZGsvbXNkay5oOgoJICBtc2RrOiBBbGxvdyBidWlsZGluZyBhZ2FpbnN0IG1meF9kaXNwYXRjaGVyCgkgIEUuZy4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbHUtemVyby9tZnhfZGlzcGF0Y2gKCjIwMTctMDktMjIgMTQ6Mjc6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBkZXN0cm95IGFuZCBjcmVhdGUgdGhlIEdMIGNvbnRleHQgb24gc3RhcnQoKS9zdG9wKCkKCSAgUmVtb3ZlcyBhIHJlZmVyZW5jZSBjb3VudCBsb29wCgoyMDE3LTEwLTIzIDEwOjQyOjUxICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBmbHVzaCBkZWNvZGVyIG9uIHN0b3AKCSAgZml4IGEgbWVtb3J5IGxlYWsgaWYgdGhlIGRlY29kZXIgc2h1dCBkb3duIGJlZm9yZSBFT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzMxMQoKMjAxNy0xMC0yMyAxMDo0MDo0MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZmx1c2ggZW5jb2RlciBvbiBzdG9wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODczMTEKCjIwMTctMTAtMjggMjE6MzQ6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2wvc2hhZGVyOiBhbGxvdyBzZXR0aW5nIG5vbi1zcXVhcmUgbWF0cmljZXMgYXMgdW5pZm9ybXMgb24gZ2xlcyBwbGF0Zm9ybXMKCSAgSXQgaXMgcG9zc2libGUgd2l0aCBHTEVTMwoKMjAxNy0xMC0yOCAxODozMzo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHF1ZXJ5LmM6CgkgIGdsL3F1ZXJ5OiBzcGxpdCB0ZXN0cyBhbmQgZml4IHNvbWUgY29ycmVzcG9uZGluZyBpc3N1ZXMgaW4gdXNhZ2UKCjIwMTctMTAtMTQgMTM6MjI6MTggLTA3MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCByZXBsYWNlZCBmbGFnIHRvIG5vdCBlcnJvciBvdXQgb24gYml0cmF0ZSBjaGFuZ2UKCSAgV2hlbiBzd2l0Y2hpbmcgYml0cmF0ZXMgd2Ugc2V0IHRoZSBvbGQgc3RyZWFtcyBhcyBjYW5jZWxsZWQsIGJ1dCBpdAoJICBjb3VsZCBhbHNvIGJlIGNvbmZ1c2VkIHdpdGggYSBjYW5jZWwgZHVlIHRvIG90aGVyIHJlYXNvbnMgKGFzIGFuIGVycm9yKQoJICBhbmQgaXQgd291bGQgbGVhZCB0aGUgZWxlbWVudCB0byBzdG9wIHRoZSBwaXBlbGluZSBtaXN0YW5rZWx5LiBUaGlzCgkgIHdvdWxkIGhhcHBlbiB3aGVuIHRoZSBzdHJlYW0gYmVpbmcgcmVwbGFjZWQgd2FzIHdhaXRpbmcgZm9yIGEgbWFuaWZlc3QKCSAgdXBkYXRlIG9uIGxpdmUuIFNzIG1ha2UgaXQgc3VyZSB0aGF0IHdlIGFyZSBzdG9wcGluZyBmb3Igc3dpdGNoaW5nCgkgIGJpdHJhdGVzIHRvIGF2b2lkIGVycm9yaW5nIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTQ1NwoKMjAxNy0xMC0yNSAxNjoxMTo1OCArMDIwMCAgRmxvcmVudCBUaGnDqXJ5IDxmbG9yZW50LnRoaWVyeUB1YmljYXN0LmV1PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBmZGstYWFjIHZlcnNpb24gY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTQ3MQoKMjAxNy0xMC0yNSAxNDozNToxMiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmRrYWFjL21lc29uLmJ1aWxkOgoJICBmZGthYWNlbmM6IGNoZWNrIGZkay1hYWMgdmVyc2lvbiBpbiBtZXNvbi5idWlsZAoJICBjb25maWd1cmUuYWMgdXNlZCB0byBzZXQgLURIQVZFX0ZES19BQUNfMF8xXzQgLCB3aGljaCBlbmFibGVzCgkgIDcuMSBzdXBwb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg5NDcxCgoyMDE3LTEwLTI0IDE2OjE3OjI4ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC90aW1lY29kZS9nc3RhdndhaXQuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdGF2d2FpdC5oOgoJICBhdndhaXQ6IEFkZGVkIGVuZC10aW1lY29kZSBwcm9wZXJ0eQoJICBhdndhaXQgY2FuIG5vdyBiZSBjb25maWd1cmVkIHRvIHN0b3Agd2hlbiBhIGdpdmVuIHRpbWVjb2RlIGhhcyBiZWVuCgkgIHJlYWNoZWQuIEl0IHdpbGwgc3RhcnQgYXQgdGhlIHRpbWVjb2RlIGluZGljYXRlZCB3aXRoIHN0YXJ0LXRpbWVjb2RlIGFuZAoJICBlbmQgYXQgdGhlIHRpbWVjb2RlIGluZGljYXRlZCB3aXRoIGVuZC10aW1lY29kZS4gSWYgZW5kLXRpbWVjb2RlIGlzCgkgIE5VTEwgKGRlZmF1bHQpLCB0aGUgcHJldmlvdXMgZnVuY3Rpb25hbGl0eSBpcyBwcmVzZXJ2ZWQ6IGtlZXAgZ29pbmcgYW5kCgkgIG5vdCBlbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODk0MDMKCjIwMTctMTAtMjMgMTE6NTI6MzggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogY29tbWVudCBhbmQgbG9nZ2luZyBjbGVhbnVwcyBmb3IgYXVkaW9taXhlciBhbmQgYWdncmVnYXRvcgoJICBSZW1vdmUgc29tZSByZWZlcmVuY2VzIHRvICdjb2xsZWN0cGFkcycuIExvZ3MgcGFkcyB0aHJvdWdoIHRoZSBvYmplY3QgdmFyaWFudHMuCgkgIEFkZCBzb21lIG1vcmUgY29tbWVudHMuIFJlbW92ZSBhIGxlZnQgb3ZlciBjb21tZW50LgoKMjAxNy0xMC0yMiAxOTo0MzoxNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggdHlwZSBmb3IgbGF0ZW5jeSBwcm9wZXJ0eSAoaW50NjQgLT4gR1N0Q2xvY2tUaW1lKQoJICBUaGUgdmFsdWUgaXMgdXNlZCBhcyBHc3RDbG9ja1RpZW0gaW4gdGhlIGNvZGUuIEFkYXB0IHRoZSBoYWNrXkheSF5IXkhjb2RlCgkgIGluIGxpdmUtYWRkZXIuCgoyMDE3LTA3LTEzIDE5OjA5OjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IEFjY2VwdCBidWZmZXIgd2l0aCBubyBkYXRhLCBidXQgZHVyYXRpb24gYW5kIGdhcCBmbGFnCgkgIFRoZXNlIGFyZSBwcm9kdWNlZCBmcm9tIEdBUCBldmVudHMgYnkgdGhlIGJhc2UgY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ4NDYKCjIwMTctMDctMTMgMTk6MDM6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IHRha2UgZmx1c2ggbG9jayBmcm9tIG91dHB1dCB0aHJlYWQKCSAgSW5zdGVhZCBqdXN0IHRha2UgaXQgaW4gdGhlIGNoYWluIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0OTExCgoyMDE3LTA3LTEzIDE4OjM4OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBibG9jayBpZiBhZGRpbmcgdG8gdGhlIHRhaWwgb2YgdGhlIHF1ZXVlCgkgIElmIHdlJ3JlIGFkZGluZyB0byB0aGUgdGFpbCBvZiB0aGUgcXVldWUsIGl0J3MgYmVjYXVzZSB3ZSdyZSBjb252ZXJ0aW5nCgkgIGEgZ2FwIGV2ZW50LCBzbyBkb24ndCBibG9jayB0aGVyZSBpdCBtZWFucyB3ZSdyZSBjYWxsaW5nIGZyb20gdGhlIG91dHB1dAoJICB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ5MTEKCjIwMTctMTAtMjAgMTE6NDQ6NTAgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9tZXNvbi5idWlsZDoKCSAgb3BlbmpwZWc6IFJlbW92ZSBjb21wYXRpYmlsaXR5IHdpdGggb3BlbmpwZWcgMi4wCgkgIEV2ZXJ5b25lIHNlZW1zIHRvIGJlIHNoaXBwaW5nIDIuMSBhcyB0aGUgb2xkZXN0IHYyIHZlcnNpb24sIGV2ZW4gZGViaWFuCgkgIG9sZHN0YWJsZSAoamVzc2llKS4KCSAgQWxzbyByZW1vdmUgYW4gdW5uZWVkZWQgKGRlYnVnPykgI2luY2x1ZGUgPHN0ZGlvLmg+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NzAzCgoyMDE3LTEwLTE5IDE2OjM2OjE3ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuaDoKCSogZXh0L29wZW5qcGVnL21lc29uLmJ1aWxkOgoJICBvcGVuanBlZzogU3VwcG9ydCBidWlsZGluZyB3aXRoIG9wZW5qcGVnIDIuMywgc2ltcGxlcgoJICBPcGVuSlBFRyAyLjMgaW5zdGFsbHMgaXRzIGhlYWRlcnMgdG8gL3Vzci9pbmNsdWRlL29wZW5qcGVnLTIuMy4gSG93ZXZlciwKCSAgc2luY2UgbGlib3BlbmpwMi5wYyBzZWVtcyB0byBwcm92aWRlIHRoZSByaWdodCBpbmNsdWRlZGlyIENGTEFHUyBhdAoJICBsZWFzdCBzaW5jZSB2ZXJzaW9uIDIuMSwgaW5zdGVhZCBvZiBhZGRpbmcgeWV0IGFub3RoZXIgdmVyc2lvbiBjaGVjaywKCSAganVzdCByZW1vdmUgdGhlIHN1YmRpciBhbmQgdGhlIGNoZWNrIGZvciAyLjIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg3MDMKCjIwMTctMTAtMTkgMTY6MjY6NDUgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5oOgoJKiBleHQvb3BlbmpwZWcvbWVzb24uYnVpbGQ6CgkgIFJldmVydCAib3BlbmpwZWc6IFN1cHBvcnQgYnVpbGRpbmcgd2l0aCBvcGVuanBlZyAyLjMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWY0ZDZiOTNlNjA3OGI3MDU2YzUxYTkyOGY1NjIwYjEzZTU1ZTMyMy4KCSAgQSBiZXR0ZXIgZml4IGZvbGxvd3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg3MDMKCjIwMTctMTAtMjAgMTA6MzI6MjMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvaXBjcGlwZWxpbmUuYzoKCSAgaXBjcGlwZWxpbmU6IHdvcmsgYXJvdW5kIGdjYyBidWcgaW4gc3RydWN0IGluaXRpYWxpemVycwoJICBVbmZvcnR1bmF0ZWx5IHdlIG5lZWQgdG8gdXNlIGFuIGV4dHJhIHNldCBvZiBwYXJlbnRoZXNpcyBmb3IgZWFjaCBkYXRhIGxldmVsLgoJICBGb3IgZGV0YWlscyBzZWU6CgkgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUzMTE5CgkgIEFmZmVjdGVkIHZlcnNpb25zIGFyZSBlLmcuCgkgIGdjYyAoVWJ1bnR1IDQuOC40LTJ1YnVudHUxfjE0LjA0LjMpIDQuOC40CgkgIHdoaWNoIGlzIHRoZSBkZWZhdWx0IG9uIHVidW50dS10cnVzdHkuIEkgbG9va3MgbGlrZSB0aGUgZml4IHdhcyBuZXZlcgoJICBiYWNrcG9ydGVkLgoKMjAxNy0wOS0yNyAxMTozNzoyNiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIGZpbmlzaCBlbmNvZGluZyBhbmQgY2xlYW4gYnVmZmVycyBxdWV1ZSBvbiBmbHVzaC4gVGhpcyBhdm9pZCBhIG1lbW9yeSBsZWFrCgkgIGlmIHRoZSBlbGVtZW50IHNodXRzIGRvd24gYmVmb3JlIEVPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MzExCgoyMDE3LTEwLTAxIDE5OjA0OjE1ICswMjAwICBKw6lyw7RtZSBMYWhldXJ0ZSA8amVyb21lQGplcm9tZWxhaGV1cnRlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGRpc3BsYXlfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay9tYWluLm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBVc2UgdmFsdWUgaW5zdGVhZCBvZiB2ZXJzaW9uIG1hY3JvIHdoZW4gdGVzdGluZyBmb3IgbWFjIE9TIHZlcnNpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODQwNAoKMjAxNy0xMC0xOSAxNjowMTo0NiArMDIwMCAgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQGRyZWFtYm94Lmd1cnU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvbG9ybWFuYWdlbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L2NvbG9ybWFuYWdlbWVudC9nc3Rjb2xvcm1hbmFnZW1lbnQuYzoKCSogZXh0L2NvbG9ybWFuYWdlbWVudC9nc3RsY21zLmM6CgkqIGV4dC9jb2xvcm1hbmFnZW1lbnQvZ3N0bGNtcy5oOgoJICBsY21zOiBBZGQgTENNUyBJQ0MgY29sb3IgY29ycmVjdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5MjcKCjIwMTctMDktMjcgMDk6MTc6MDcgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGpzdGVmZmVuc0BtYWtlLnR2PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIG0zdTg6IFJlZmluZSBzZXF1ZW5jZSB1cGRhdGUgZGVidWcgbWVzc2FnZXMKCSAgQWN0dWFsbHkgZ2l2ZSBzb21lIGRldGFpbHMgYWJvdXQgd2h5IGl0IGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODQxNwoKMjAxNy0wOS0yNyAwOToyNzoxMiArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgbTN1ODogRG9uJ3QgdHJ5IHRvIG1hdGNoIFVSSXMgd2hlbiB3ZSBoYXZlIG1lZGlhIHNlcXVlbmNlcwoJICBJdCBpcyBsZWdhbCBmb3IgYSBzdHJlYW0gdG8gcmV1c2Ugc2VnbWVudHMgKG1hcmtpbmcgZGlzY29udGludWl0aWVzIGFzCgkgIG5lZWRlZCkuIFVwbHluayBkZWxpdmVycyBzdWNoIHBsYXlsaXN0cyBmb3IgdGhlaXIgcGxhY2Vob2xkZXIgbG9vcHMuCgkgIExlYXZlIHRoZSBVUkkgc2Nhbm5pbmcgaW4gcGxhY2UgZm9yIHBsYXlsaXN0cyB3aGljaCBoYXZlIG5vCgkgIEVYVC1YLU1FRElBLVNFUVVFTkNFIHRhZy4gVGhpcyBzaG91bGQgYmUgaGFybWxlc3Mgc2luY2UgdGhlIHNwZWMKCSAgcmVxdWlyZXMgdGhlc2UgcGxheWxpc3RzIHRvIG5vdCBiZSBtaXNzaW5nIHNlZ21lbnRzIChSRkM4MjE2IDYuMi4yKSwKCSAgc28gd2Ugc2hvdWxkIGJlIGFsd2F5cyBtYXRjaGluZyBvbiB0aGUgZmlyc3Qgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODQxNwoKMjAxNy0wOS0yNyAwOTozOTowMiArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgbTN1ODogSWdub3JlIGVtcHR5IHBsYXlsaXN0cyBpbiBjaGVja19tZWRpYV9zZXFudW1zCgkgIExldCB0aGVzZSBlcnJvciBpbiB0aGUgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGNoZWNrIGluIGdzdF9tM3U4X3VwZGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODQxNwoKMjAxNy0wOS0xNSAwODo1NzowMyArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8anN0ZWZmZW5zQG1ha2UudHY+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgbTN1ODogU3BsaXQgZ3N0X20zdThfdXBkYXRlX2NoZWNrX2NvbnNpc3RlbnRfbWVkaWFfc2VxbnVtcwoJICBUaGUgZnVuY3Rpb24gd2FzIGJhc2ljYWxseSBvbmUgYmlnIGlmLWVsc2UuIE1vdmUgdGhlIGJyYW5jaCB0byB0aGUKCSAgb25lIGNhbGxlci4KCSAgQ3VycmVudGx5LCBpdCdzIG5ldmVyIGNhbGxlZCB3aXRoIHByZXZpb3VzX2ZpbGVzID09IE5VTEwuIEFzc2VydCB0aGF0CgkgIHRoaXMgY29udGludWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NDE3CgoyMDE3LTA5LTE1IDA4OjQyOjQ5ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBtM3U4OiBTaW1wbGlmeSBjb250cm9sIGZsb3cgZm9yIHNlcXVlbmNlIHVwZGF0ZQoJICBTcGxpdCB0aGUgdGFpbCBmcm9tIHRoZSByZXN0IG9mIHRoZSBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NDE3CgoyMDE3LTEwLTA0IDEzOjUzOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogQWRkIHJlYWQtb25seSBwcm9wZXJ0eSB0byByZWFkIHRoZSBkZXZpY2Ugc2VyaWFsIG51bWJlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NTEwCgoyMDE3LTEwLTE3IDA4OjAzOjAyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZXZpZXcgY29kZSByZWxhdGVkIHRvIHRpbWUgbGV2ZWwKCSAgQWRkIGEgY29tbWVudCBmb3Igd2hlbiB0aGUgc3RhdGUgbWF0dGVycy4gVXNlIGEgbG9jYWwgdmFyIGZvciBwcml2IGluCgkgIHVwZGF0ZV90aW1lX2xldmVsKCkgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4gTW92ZSB0aGUgb3VyX2xhdGVuY3kgbG9jYWwKCSAgdmFyIGJlbG93IHRoZSBxdWVyeSByZXN1bHRzIGNoZWNrcy4KCjIwMTctMTAtMTcgMDc6NTE6NTEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGluaXQgbGF0ZW5jeSB2YWx1ZXMgd2l0aCAwIGluc3RlYWQgb2YgRkFMU0UKCjIwMTctMTAtMDkgMTg6MDg6NDcgKzAyMDAgIE1pY2hhxYIgR8Ozcm55IDxtZ29ybnlAZ2VudG9vLm9yZz4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIG9wZW5jdjogU3VwcG9ydCBzbW9vdGhpbmcgb25seSBwYXJ0IG9mIHRoZSBpbWFnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NTY3CgoyMDE3LTEwLTExIDIyOjAzOjI0ICswMjAwICBNaWNoYcWCIEfDs3JueSA8bWdvcm55QGdlbnRvby5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJICBvcGVuY3Y6IEFkZCAna2VybmVsJyBwcmVmaXggdG8gd2lkdGgvaGVpZ2h0CgkgIFJlbmFtZSB3aWR0aCB0byBrZXJuZWwtd2lkdGgsIGFuZCBoZWlnaHQgdG8ga2VybmVsLWhlaWdodCB0byBhdm9pZAoJICBhbWJpZ3VpdHkgaW4gdGhlIG5hbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg1NjcKCjIwMTctMTAtMTYgMTA6NDM6MjggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuaDoKCSogZXh0L29wZW5qcGVnL21lc29uLmJ1aWxkOgoJICBvcGVuanBlZzogU3VwcG9ydCBidWlsZGluZyB3aXRoIG9wZW5qcGVnIDIuMwoJICBBbmQgYXZvaWQgZmFpbGxpbmcgdGhlIGJ1aWxkIGVhY2ggdGltZSBvcGVuanBlZyByZWxlYXNlcyBhIG5ldyB2ZXJzaW9uLgoKMjAxNy0xMC0xNSAyMDo0NjowOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogY29kZSBjbGVhbnVwIGZvciBldmVudCBhbmQgcXVlcnkgZnVuYwoJICBPbmx5IGxvb2sgdXAga2xhc3MgZm9yIG5vbiBzZXJpYWxpemVkIGV2ZW50cy9xdWVyaWVzLiBGb3IgZXZlbnRzIHJlbW92ZQoJICBzdXBlcmZsdW91cyBhc3NpZ25tZW50IGZvciB0aGUgcmV0dXJuIHZhbHVlIGluIHRoZSBmbHVzaGluZyBjYXNlLgoKMjAxNy0xMC0xNSAxNzo0Njo0NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogc2ltcGxpZnkgcGFkX2V2ZW50X2Z1bmMgZm9yIEZMVVNIX1NUT1AgZXZlbnRzCgkgIFdlIHdhbnQgdG8gc2tpcCBzZXJpYWxpemF0aW9uIGZvciBGTFVTSF9TVE9QIGV2ZW50cyAoYXBwYXJlbnRseSkuIFdlIGNhbgoJICBzaW1wbGlmeSB0aGUgY29kZSB0byBhZGQgaXQgdG8gdGhlIHRvcC1sZXZlbCBjb25kaXRpb25zLiBUaGVyZSB3YXMgbm90aGluZwoJICBkb25lIGluIHRoZSBmaXJzdCBjb2RlIHBhdGggaWYgdGhlIGV2ZW50IHdhcyBGTFVTSF9TVE9QLgoKMjAxNy0xMC0xNSAxNjo1NzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZHJvcCBzcGVjaWFsIGNhc2luZyBmb3IgZW9zCgkgIEp1c3QgcXVldWUgaXQgbGlrZSBhbnkgb3RoZXIgc2VyaWFsaXplZCBldmVudC4gVGhpcyB3YXkgd2UgZG9uJ3QgbmVlZCB0bwoJICBjaGVjayBpZiB0aGVyZSBzdGlsbCBhcmUgYnVmZmVycyBpbiB0aGUgcXVldWUuCgkgIFZhbGlkYXRlZCB3aXRoIHRoZSB0ZXN0cyBhbmQgZ3N0LWxhdW5jaC0xLjAgcGlwZWxpbmVzLgoKMjAxNy0xMC0xNSAxNjo1MToyMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGEgZG9jLWJsb2IgZm9yIHRoZSBldmVudF9mdW5jCgoyMDE3LTEwLTE1IDE2OjQ4OjIxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW5hbWUgYSBsb2NhbCB2YXJpYWJsZQoJICBUaGUgdmFyaWFibGUgdHJhY2tzIHdoZXRlciB0aGUgcXVldWUgaXMgbm90IGVtcHR5LCBidXQgbnVtX2J1ZmZlcnM9PTAuIFRoYXQKCSAgbWVhbnMgd2UgaGF2ZSBldmVudHMgb3IgcXVlcmllcyB0byBwcm9jZXNzLiBSZW5hbWUgYWNjb3JkaW5nbHkuCgoyMDE3LTEwLTE1IDEyOjE3OjQyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgY29tbWVudGVkIGNvZGUKCSAgVGhlIFNFR01FTlRfRE9ORSBldmVudCBkb2VzIG5vdCByZXF1aXJlIGFueSBzcGVjaWFsIHRyZWF0bWVudC4gVGhpcyBpcwoJICBjb21tZW50ZWQgb3V0IGluIDZlZmMxMDZhNjcuCgoyMDE3LTEwLTE1IDEyOjE0OjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBtb3ZlIHRoZSBjb21tZW50IGZvciB0aGUgbG9ja3MgdG8gdGhlIGxvY2sgbWFjcm9zCgkgIExvb2tzIGxpa2Ugc29tZSBjb2RlIHdhcyBpbnNlcnRlZCBhZnRlcndhcmRzLgoKMjAxNy0xMC0xNSAxMDo0NDo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogaW1wcm92ZSBzZWN0aW9uIGRvY3MKCSAgTWVudGlvbiBob3cgZGF0YSBlbmRzIHVwIGluIHRoZSBxdWV1ZXMuIERvY3VtZW50IHRoZSByZWxhdGlvbiBvZiB0aGUgcGFkCgkgIGZ1bmN0aW9ucyBhbmQgdGhlIGNsYXNzIHZtZXRob2RzIHRvIGdldCBldmVudHMgYW5kIHF1ZXJpZXMuCgoyMDE3LTEwLTE1IDEwOjI5OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IGltcHJvdmUgcmVhZGFiaWxpdHkgaW4gb2Zmc2V0IGNhbGN1bGF0aW9uCgkgIERvbid0IHJldXNlIHRoZSBvZmZzZXQgdmFyaWFibGVzIHdpbGwgY29udGFpbiBhIHNhbXBsZSBvZmZzZXQgZm9yIGFuCgkgIGludGVybWVkaWF0ZSB0aW1lIHZhbHVlLiBJbnN0ZWFkIGFkZCBhIHNlZ21lbnRfcG9zIHZhcmlhYmxlIG9mIHR5cGUKCSAgR3N0Q2xvY2tUaW1lIGZvciB0aGlzLiBVc2UgVGhlIGNsb2NrLXRpbWUgbWFjcm9zIHRvIGNoZWNrIGlmIHdlIGdvdAoJICBhIHZhbGlkIHRpbWUuCgoyMDE3LTEwLTE0IDE4OjE4OjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCB0d28gbW9yZSB0ZXN0cyBmb3IgYSBzZXF1ZW5jZSBvZiBkYXRhCgkgIFRoaXMgdmVyaWZpZXMgdGhhdCB3ZSBoYW5kbGUgZXZlbnRzIGFuZCBxdWVyaWVzIGF0IHRoZSBoZWFkIG9mIHRoZSBxdWV1ZSBhbmQKCSAgdGhlbiBidWZmZXJzLgoKMjAxNy0xMC0xNCAxMzoyNjowMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZWZhY3RvciB0aGUgdGVzdCBoZWxwZXIKCSAgTWFrZSB0aGUgdGVzdCBoZWxwZXJzIHVzZSBhIHF1ZXVlLiBUaGlzIGxldHMgdXMgYWxzbyB0ZXN0IHNlcXVlbmNlcyBvZiBldmVudHMsCgkgIHF1ZXJpZXMgYW5kIGRhdGEuCgoyMDE3LTEwLTE0IDEyOjA4OjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHRlc3QgY2xlYW51cAoJICBSZW1vdmUgZ3N0X2luaXQoKSBmcm9tIGEgZmV3IHRlc3RzLiBVc2UgX09CSkVDVCB2YXJpYW50cyBpbiBsb2dnaW5nLiBSZW1vdmUKCSAgYXJiaXRyYXJ5IGV4dHJhIGJsYW5rIGxpbmVzLiBNYWtlIHB1c2hfZXZlbnQoKSBtb3JlIGxpa2UgcHVzaF9idWZmZXIoKSAtIHNldAoJICB0aGUgZXZlbnQgdG8gTlVMTCBhbmQgYWRkIGNsZWFudXAgdG8gX2NoYWluX2RhdGFfY2xlYXIoKS4KCjIwMTctMTAtMDUgMjA6NDg6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogbW92ZSBjb21tZW50IHRvIHRoZSBwbGFjZSBpdCBpcyBtZWFudCB0byBiZQoJICBUaGlzIHByb2JhYmx5IGdvdCBzaGlmdGVkIGFmdGVyIHNvbWUgY2hhbmdlcy4KCjIwMTctMTAtMDcgMTQ6NTc6NDQgKzA1MzAgIFBvbm5hbSBTcmluaXZhcyA8cC5zcmluaXZhc0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZiYXNlZW5jOiBGaXggTWVtb3J5IGxlYWsgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4MjQzCgoyMDE3LTEwLTEzIDEyOjI1OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0cGx1Z2luLnBybzoKCSAgcXQ6IHVwZGF0ZSBxbWFrZSAucHJvIGZpbGUKCSAgVXBkYXRlIGZvciByZW5hbWluZyBvZiBwbHVnaW4gZmlsZSwgYW5kIGFkZCBzb21lCgkgIG1pc3Npbmcgc291cmNlIGZpbGVzLgoKMjAxNy0xMC0xMyAxMTo0NjowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgR3N0Rmxvd1JldHVybiBmb3IgZmxvdyByZXR1cm5zCgoyMDE3LTEwLTEwIDE4OjAzOjE1ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogUHJpbnQgb25lICJkcm9wcGVkIE4gb2xkIGZyYW1lcyIgbWVzc2FnZSwgbm90IG9uZSBwZXIgZnJhbWUKCSAgSWYgd2UgZHJvcCBtYW55IGZyYW1lcyBhdCBvbmNlLCBwcmludGluZyBvbmUgbWVzc2FnZSBwZXIgdmlkZW8gZnJhbWUgYW5kCgkgIG9uZSBwZXIgYXVkaW8gcGFja2V0IHdvdWxkIGNhdXNlIGEgbG90IG9mIGRpc2sgSU8uIEp1c3QgcHJpbnQgYSB0b3RhbCBhdAoJICB0aGUgZW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NzgwCgoyMDE3LTEwLTA2IDE1OjA3OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRml4IGNyYXNoIG9uIE5VTEwgZG1hYnVmIGFsbG9jYXRvciBwb2ludGVyCgkgIE5vdyB0aGF0IHdlIGFyZSBkb2luZyBsYXp5IGFsbG9jYXRpb24sIHdlIG1heSBlbmR1cCBjYWxsaW5nIF9zdG9wKCkKCSAgYmVmb3JlIHRoZSBhbGxvY2F0b3Igd2FzIGNyZWF0ZWQuIEFzIGEgc2lkZSBlZmZlY3QsIHdlIG5lZWQgdG8gbnVsLWNoZWNrCgkgIHRoZSBwb2ludGVyIGJlZm9yZSBjYWxsaW5nIGl0J3MgbWV0aG9kIChfY2xlYXJfY2FjaGUoKSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc1OTMKCjIwMTctMTAtMDQgMTY6Mjk6NTIgKzA1MzAgIFBvbm5hbSBTcmluaXZhcyA8cC5zcmluaXZhc0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBtZW1vcnkgbGVhayBpbiBlcnJvciBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODg1MDgKCjIwMTctMTAtMDUgMTc6Mjg6MzAgLTA3MDAgIFUuIEFydGllIEVvZmYgPHVsbHlzc2VzLmEuZW9mZkBpbnRlbC5jb20+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJICBrbXM6IEZpeCBjb21waWxhdGlvbiBlcnJvciB3aGVuIGxpYmRybSA8IDIuNC42OAoJICBEUk1fUkRXUiB3YXMgbm90IGRlZmluZWQgdW50aWwgbGliZHJtIDIuNC42OC4gIEhvd2V2ZXIsCgkgIGluIGNvbmZpZ3VyZS5hYyB3ZSBvbmx5IHJlcXVpcmUgbGliZHJtID49IDIuNC41NS4KCSAgU2VlbXMgc2lsbHkgdG8gdG8gYnVtcCBtaW5pbXVtIGxpYmRybSB2ZXJzaW9uIGZvciBhIHNpbXBsZQoJICBkZWZpbmUuICBUaHVzLCBkZWZpbmUgRFJNX1JEV1IgaWYgaXQncyBub3QgZGVmaW5lZC4KCSAgVGhpcyBmaXhlcyBjb21waWxhdGlvbiBlcnJvciBpbnRyb2R1Y2VkIGluOgoJICBjb21taXQgOTIyMDMxYjBmOThiZjVjN2IwMWY0NDMxZDFjMDg2MTdmNjU4NjVmNwoJICBBdXRob3I6IE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCSAgRGF0ZTogICBUdWUgU2VwIDEyIDEyOjA3OjEzIDIwMTcgLTA0MDAKCSAga21zOiBFeHBvcnQgRE1BQnVmIGZyb20gRHVtYiBidWZmZXIgd2hlbiBwb3NzaWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTkzCgkgIFNpZ25lZC1vZmYtYnk6IFUuIEFydGllIEVvZmYgPHVsbHlzc2VzLmEuZW9mZkBpbnRlbC5jb20+CgoyMDE3LTEwLTA1IDE1OjQ2OjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJICBrbXNhbGxvY2F0b3I6IFVwZGF0ZSBHc3RWaWRlb0luZm8uc2l6ZSB3aGVuIGV4dHJhcG9sYXRpbmcKCSAgV2hlbiB3ZSBndWVzcyB0aGUgc3RyaWRlcywgd2UgbmVlZCB0byBhbHNvIHVwZGF0ZSB0aGUgR3N0VmlkZW9JbmZvLnNpemUKCSAgb3RoZXJ3aXNlIHRoZSBtZW1vcnkgc2l6ZSB3aWxsIGJlIHNldCB0byBzb21ldGhpbmcgc21hbGxlciB0aGVuIG5lZWRlZC4KCSAgVGhpcyB3YXMgY2F1c2luZyBjcmFzaCB3aXRoIHRoZSBETUFCdWYgZXhwb3J0YXRpb24sIHNpbmNlIHdlIHdvdWxkIG5vdAoJICBtbWFwKCkgYSBsYXJnZSBlbm91Z2ggYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTkzCgoyMDE3LTA5LTEyIDEyOjA3OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5oOgoJKiBzeXMva21zL2dzdGttc2J1ZmZlcnBvb2wuYzoKCSogc3lzL2ttcy9nc3RrbXNidWZmZXJwb29sLmg6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXM6IEV4cG9ydCBETUFCdWYgZnJvbSBEdW1iIGJ1ZmZlciB3aGVuIHBvc3NpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc1OTMKCjIwMTctMDktMTIgMTA6MzY6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmg6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogTW92ZSB0aGUgbWVtIGNhY2hlIGludG8gdGhlIGFsbG9jYXRvcgoJICBObyBmdW5jdGlvbmFsIGNoYW5nZSwgdGhlIGNhY2hlIHdpbGwgYmUgbGF0ZXIgcmV1c2VkIGJ5IHRoZSBidWZmZXIKCSAgcG9vbCB0byBrZWVwIHRyYWNrIG9mIHRoZSBrbXNzaW5rIG1lbW9yeSB3aGVuIGV4cG9ydGluZyBkbWFidWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc1OTMKCjIwMTctMDktMTEgMTY6MzI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zYnVmZmVycG9vbC5jOgoJICBrbXNidWZmZXJwb29sOiBEb24ndCBjaGVjayBhbGxvY2F0b3IgcG9pbnRlciB0d2ljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTkzCgoyMDE3LTA5LTExIDE2OjMyOjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2J1ZmZlcnBvb2wuYzoKCSAga21zYnVmZmVycG9vbDogUmVtb3ZlZCB1bnVzZWQgbWVtYmVyIGZkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc1OTMKCjIwMTctMDktMTEgMTU6MDA6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogQ2hlY2sgaWYgd2UgY2FuIHByaW1lIGV4cG9ydAoJICBUaGlzIHdpbGwgYmUgdXNlZCBsYXRlciB0byBkZWNpZGUgaWYgYSBETUFCdWYgYWxsb2NhdG9yIHNob3VsZCBiZQoJICBleHBvc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTkzCgoyMDE3LTEwLTA1IDE3OjU0OjM0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IHJlbW92ZSBidWZmZXIhPU5VTEwgY2hlY2sKCSAgQWNvcmRpbmcgdG8gdGhlIGxvZ2ljIHRoaXMgY2Fubm90IGhhcHBlbiAod2UgYWxyZWFkeSBjaGVjayB0aGlzIGJlZm9yZSkuIFNvCgkgIGFkZCBhIGFzc2VydCBsaWtlIHdlIGRvIGFib3ZlIGFuZCByZW1vdmUgdGhlIGNoZWNrLiBUaGlzIG1ha2UgaXQgY2xlYXJlciB0aGF0CgkgIHdlIGNoZWNrIGZvciB0aGUgb2Zmc2V0IHJhbmdlLgoJICBBbHNvIHJlbW92ZSBhIGRlYWQgYXNzaWdubWVudCBzaW5jZSB3ZSByZWFzc2lnbiB0aGlzIGEgZmV3IGxpbmVzIGJlbG93LgoKMjAxNy0xMC0wNSAxNzo1MjozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWF0b3I6IHVwZGF0ZSBkb2NzCgkgIFJlbW92ZSB3cm90ZSByZWZlcmVuY2VzIHRvIGNvbGxlY3RwYWRzLiBEb2N1bWVudCB0aGUgdW5pdHMuCgoyMDE3LTEwLTA0IDE0OjI5OjIwICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvaXNvZmYvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogcmVtb3ZlIHZzX21vZHVsZV9kZWZzCgkgIFRoZSBHU1RfRVhQT1JUIHNob3VsZCBoYW5kbGUgaXQuCgoyMDE3LTEwLTA1IDE0OjMwOjQzICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL21lc29uLmJ1aWxkOgoJICBtZXNvbjogRml4IG5hbWVzcGFjZSBhbmQgYWRkIHNvbWUgbWlzc2luZyBhcmdzIGluIHRoZSBnaXIgZ2VuZXJhdGlvbgoKMjAxNy0xMC0wNSAwODoxMToyOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBwYXNzIGJsb2Nrc2l6ZSB0byBtaXhfYnVmZmVyKCkKCSAgTm8gbmVlZCB0byByZWNhbGMgdGhlIHZhbHVlIHR3aWNlIHBlciBydW4uIEVzdGFibGlzaGVzIHRoYXQgaXQgaXMgdGhlIHNhbWUKCSAgdmFsdWUuCgoyMDE3LTEwLTA1IDA4OjEyOjQ1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IHJlbmFtZSBfZmlsbF9idWZmZXIoKSB0byBfcXVldWVfbmV3X2J1ZmZlcigpCgkgIEl0IGRvZXMgbm90IGZpbGwgYSBidWZmZXIuIFJlbmFtZSBpdCBhbmQgYWRkIGEgc2hvcnQgY29tbWVudC4KCjIwMTctMTAtMDMgMTI6MzY6MTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGNsZWFudXAgZXZlbnQgZm9yd2FyZGluZwoJICBEb24ndCBjb3B5IHRoZSB3aG9sZSBldmVudCBzdHJ1Y3QuIFNldCB0aGUgaW5wdXQgcGFyYW1zIHdoZW4gd2UgY2FsbCB0aGUKCSAgZm9yd2FyZGluZyBoZWxwZXIuIEluaXRpYWxpemUgdGhlIGludGVybmFsIGZpZWxkcyBhbmQgcmV0dXJuIHZhbHVlcyBpbiB0aGUKCSAgaGVscGVyLgoKMjAxNy0xMC0wMyAxMjowODo0MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogc2ltcGxpZnkgc3JjX2V2ZW50CgkgIEF2b2lkIGV4dHJhIHJlZi91bnJlZiwgd2UgaGF2ZSBhIHJlZiBhbmQgZG9fc2VlayB1bnJlZnMuIEp1c3QgcmV0dXJuIHRoZSByZXN1bHQKCSAgYXMgd2UgaGF2ZS4gVGhpcyBsZXRzIHVzIHJlbW92ZSB0aGUgbG9jYWwgdmFyIHBsdXMgdGhlIGxhYmVsLgoKMjAxNy0xMC0wNCAxMDowMDo0OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1lc29uOiBEZWZpbmUgR1NUX1VTRV9VTlNUQUJMRV9BUEkgaW4gdGhlIGJ1aWxkIHN5c3RlbQoJICBUaGlzIHdheSBtZXNvbiBhbmQgYXV0b3Rvb2xzIGJvdGggZG8gdGhlIHNhbWUgdGhpbmcgYW5kIHdlIGRvbid0IG5lZWQgdG8KCSAgbW9kaWZ5IHRoZSBjb2RlIGFmdGVyIGFsbC4KCjIwMTctMTAtMDMgMTU6MjY6MzQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgRml4IGF1dG90b29scyBidWlsZCBicm9rZW4gYnkgMjVkZWUyZjJjYjIxZDNmZGQKCSAgQnVpbGQgZmFpbHMgb24gR1NUX1VTRV9VTlNUQUJMRV9BUEkgYmVpbmcgcmVkZWZpbmVkCgoyMDE3LTEwLTAyIDE0OjI4OjI2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICBVc2UgcHJvcGVyIEd0a0RvYyBub3RhdGlvbiBmb3IgTlVMTC9GQUxTRS9UUlVFCgoyMDE3LTA5LTI2IDE2OjQ2OjEwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogZml4IHR5cG9zCgoyMDE3LTEwLTAzIDE3OjE2OjE1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tZXNvbi5idWlsZDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQnVpbGQgdHNwYXJzZXIgZXhhbXBsZQoKMjAxNy0xMC0wMyAxNzoxNDo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICB0c3BhcnNlczogRGVmaW5lIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIFRoaXMgZXhhbXBsZSBpcyBlbnRpcmVseSBiYXNlZCBvbiB1bnN0YWJsZSBBUEksIHRoaXMgYXZvaWRzIHRoZSBleHBlY3RlZAoJICBjb21waWxhdGlvbiB3YXJuaW5nLgoKMjAxNy0xMC0wMiAxMjozNTo0OCAtMDcwMCAgQ2Fzc2FuZHJhIFJvbW1lbCA8Y2Fzc2FuZHJhLnJvbW1lbEBnbWFpbC5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2xkaXNwbGF5X3Zpdl9mYi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsZGlzcGxheV92aXZfZmIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3Zpdi1mYi9nc3RnbHdpbmRvd192aXZfZmJfZWdsLmM6CgkgIGdsOiBVc2UgR3N0R0xEaXNwbGF5RUdMIGRpcmVjdGx5IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBHc3RHTERpc3BsYXlWSVZGYiBzdWJjbGFzcwoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3Qgd2l0aG91dCBhbnkgZnVuY3Rpb25hbCBjaGFuZ2VzIGFwYXJ0IGZyb20KCSAgbm90IGNsb3NpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbi4gQ2xvc2luZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGlzCgkgIG5vdCBzYWZlIHRvIGRvIGFzIGl0IGlzIHNoYXJlZCBiZXR3ZWVuIGFsbCBvdGhlciBjb2RlIGluIHRoZSBzYW1lCgkgIHByb2Nlc3MgYW5kIG5vIHJlZmVyZW5jZSBjb3VudGluZyBvciBhbnl0aGluZyBoYXBwZW5zIGF0IHRoZSBwbGF0Zm9ybQoJICBsYXllci4KCjIwMTctMTAtMDIgMTY6NTc6MjEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogcmVkdWNlIHZhcmlhYmxlIHNjb3BlCgkgIFRoaXMgaXMgYSBub24tZnVuY3Rpb25hbCBjaGFuZ2UgdGhhdCBtYWtlcyB0aGUgY29kZSBtb3JlIGFsaWtlIHRvIHRoZSBwcmV2aW91cwoJICBjaGVjay4gSSBzaG91bGQgYmUgbW9yZSBvYnZpb3VzIHdoZW4gd2UgZHJvcCBhIGJ1ZmZlci4KCjIwMTctMTAtMDIgMDk6NDA6NTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogdXBkYXRlIGNvbW1lbnQgZm9yIGFnZ3JlZ2F0ZQoJICBSZXBsYWNlIGNvbGxlY3QtcGFkcyBsZWZ0LW92ZXIuIFJlbW92ZSBmaXJzdCBwYXJhZ3JhcGgsIHdlJ3JlIG5vdCBkb2luZyB0aGlzLgoJICBSZW1vdmUgMyksIDQpIHNpbmNlIHRoaXMgaXMgbm90IHBlciBwYWQuCgoyMDE3LTEwLTAyIDE2OjIyOjI2ICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2xjb250ZXh0X2VnbDogQWRkIGdzdGdsd2luZG93IGhlYWRlcgoJICBPdGhlcndpc2UsIGNvbXBpbGVyIGNvbXBsYWlucyBpbXBsaWNpdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiB3YXJuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NDEzCgoyMDE3LTA5LTEyIDE2OjQzOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvYnVmZmVyc3BsaXQvZ3N0YXVkaW9idWZmZXJzcGxpdC5jOgoJICBhdWRpb2J1ZmZlcnNwbGl0OiBEcmFpbiBwZW5kaW5nIHNhbXBsZXMgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc1NjAKCjIwMTctMDktMTIgMTY6NDE6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXJzcGxpdC9nc3RhdWRpb2J1ZmZlcnNwbGl0LmM6CgkqIGdzdC9hdWRpb2J1ZmZlcnNwbGl0L2dzdGF1ZGlvYnVmZmVyc3BsaXQuaDoKCSAgYXVkaW9idWZmZXJzcGxpdDogVXNlIG5ldyBHc3RBdWRpb1N0cmVhbUFsaWduIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NTYwCgoyMDE3LTA5LTI4IDE2OjIwOjUzICswNTMwICBQb25uYW0gU3Jpbml2YXMgPHAuc3Jpbml2YXNAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IFVubWFwIHZpZGVvIGZyYW1lIGluIGVycm9yIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODE5NAoKMjAxNy0wOS0yOCAxMzo1NToxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpby92aWRlb3NyYzogUHV0IGhhcmR3YXJlIHJlZmVyZW5jZSB0aW1lc3RhbXAgaW4gYSByZWZlcmVuY2UgdGltZXN0YW1wIG1ldGEKCSAgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIGtub3cgb24gbXVsdGktY2hhbm5lbCBjYXJkcyB3aGljaCBmcmFtZXMgZnJvbQoJICBkaWZmZXJlbnQgY2hhbm5lbHMgd2VyZSBjYXB0dXJlZCBhdCB0aGUgc2FtZSB0aW1lLgoKMjAxNy0wOS0yNSAxNzoyMDo1OCArMDUzMCAgUG9ubmFtIFNyaW5pdmFzIDxwLnNyaW5pdmFzQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogVW5tYXAgdmlkZW8gZnJhbWUgaW4gZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4MTI3CgoyMDE3LTA5LTIxIDE4OjEzOjE5ICswNTMwICBQb25uYW0gU3Jpbml2YXMgPHAuc3Jpbml2YXNAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmM6CgkgIHdlYnBlbmM6IFVubWFwIHZpZGVvIGZyYW1lIGluIGZhaWxlZCBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc5ODUKCjIwMTctMDktMjIgMDg6MTA6NDQgKzAxMDAgIEphbWVzIFN0ZXZlbnNvbiA8amFtZXNAc3Rldi5vcmc+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCB0d28gbWVtb3J5IGxlYWtzIG9uIGVycm9yIGNvbmRpdGlvbnMKCSAgQm90aCB0aGUgc2lua19jaGFpbiBhbmQgc2lua19jaGFpbl9saXN0IHdpbGwgbmVpdGhlciBwYXNzCgkgIG9yIGZyZWUgdGhlIGJ1ZmZlciBpZiB0aGUgaW50ZXJuYWwgc3JjIHBhZCBkb2Vzbid0IGV4aXN0IHlldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4ODAzNQoKMjAxNy0wOS0yMSAxNDo0MDowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBGcmVlIHRoZSBjb3JyZWN0IG1lbW9yeSBpbiBvdXIgb3duIGJ1ZmZlciBwb29sCgkgIFRoZSBidWZmZXIgaXRzZWxmIGlzIDEyOCBieXRlcyBpbnRvIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IGFyZWEsIHRvIGJlCgkgIGFibGUgdG8gc3RvcmUgdGhlIHNpemUgYW5kIG90aGVyIG1ldGFkYXRhIGJlZm9yZSBpdC4gRnJlZWluZyB0aGUgYnVmZmVyCgkgIGRpcmVjdGx5IHdpbGwgbWFrZSBtYWxsb2MgbW9kZXJhdGVseSB1bmhhcHB5LgoKMjAxNy0wOS0yMSAxMTo0NjoyMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0cy9jaGVjazogZGlzYWJsZSBhbGwgaXBjcGlwZWxpbmUgdGVzdHMgdW50aWwgSSBmaW5kIGEgd2F5IHRvIG1ha2UgdGhlbSBydW4gcmVsaWFibHkKCjIwMTctMDktMjAgMjA6MDA6MDMgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVtaXhlcjogbmVlZCByZWNvbmZpZ3VyZSBvdXRwdXQgZ2Vtb3RyeSBhZnRlciBjYXBzIHJlbmVnb3RpYXRlZAoKMjAxNy0wOS0yMSAxMTo1OToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIFJldmVydCAiZ2x2aWRlb21peGVyOiBuZWVkIHVwZGF0ZSBvdXRwdXQgZ2VvbWV0cnkgYWZ0ZXIgc3JjIGNhcHMgcmVjb25maWd1cmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDZlNTM4ZGM1NjUxZmIwM2M4NWQ3Yzc2MTRiY2Y2YzY4OWYyZGIyZi4KCjIwMTctMDktMTggMTU6NDI6MDAgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IG5lZWQgdXBkYXRlIG91dHB1dCBnZW9tZXRyeSBhZnRlciBzcmMgY2FwcyByZWNvbmZpZ3VyZQoJICBOZWVkIHVwZGF0ZSBvdXRwdXQgZ2VvbWV0cnkgd2hlbiBzaW5rIGNhcHMgY2hhbmdlZCBhbmQgdXNlCgkgIGdzdF9zdHJ1Y3R1cmVfc2V0IHRvIHVwZGF0ZSBjYXBzIGlmIHN0cnVjdHVyZSBpcyBmaXhlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3ODIwCgoyMDE3LTA5LTE5IDE1OjM3OjQyICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC90dG1scGFyc2UuYzoKCSAgdHRtbHBhcnNlOiBFbnN1cmUgZGVmYXVsdCBzaG93QmFja2dyb3VuZCBiZWhhdmlvdXIgaXMgZW5hY3RlZAoJICBFbnN1cmUgdGhhdCByZWdpb24gYmFja2dyb3VuZHMgYXJlIGFsd2F5cyBzaG93IHdoZW4gdHRzOnNob3dCYWNrZ3JvdW5kCgkgIGlzIG5vdCBleHBsaWNpdGx5IHNldCwgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBkZWZhdWx0IGJlaGF2b3VyIGdpdmVuIGluCgkgIHRoZSBUVE1MIHNwZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc5NDIKCjIwMTctMDktMTkgMTc6MTg6NDggLTA3MDAgIFBlci1FcmlrIEJyb2RpbiA8cGVyLWVyaWsuYnJvZGluQGVyaWNzc29uLmNvbT4KCgkqIHN5cy9udmRlYy9nc3RudmRlYy5jOgoJICBudmRlYzogQ29ycmVjdGx5IHNldCB0aGUgZGlzY29udGludWl0eSBmbGFnCgkgIEluc3RlYWQgb2YgY2xlYXJpbmcgdGhlICJ2YWxpZCB0aW1lc3RhbXAiIGZsYWcsIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBhCgkgIHRpbWVzdGFtcCBtaXNtYXRjaCBhZnRlciBhIGRpc2NvbnRpbnVpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODc5MjYKCjIwMTctMDktMTEgMTY6MDA6MjQgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2x3aW5kb3dfdml2X2ZiX2VnbC5jOgoJICBnbC92aXYtZmI6IHRyYW5zZm9ybSBzY3JlZW4gY29vcmRpbmF0ZSB0byB2aWV3cG9ydCBjb29yZGluYXRlCgkgIEluIHkgZGlyZWN0aW9uLCBzY3JlZW4gY29vcmRpbmF0ZSBhcmUgb3Bwb3NpdGUgdG8gdmlld3BvcnQgY29vcmRpbmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzM5NAoKMjAxNy0wOS0xMSAxNToxMjo1MyArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3Zpdi1mYi9nc3RnbHdpbmRvd192aXZfZmJfZWdsLmM6CgkgIGdsL3Zpdi1mYjogZml4IHdyb25nIHBvcyAoeCx5KSBjYWxjdWxhdGUgaW4gcXVldWVfcmVzaXplCgkgIHF1ZXVlX3Jlc2l6ZSB2aWV3cG9ydCBjb29yZGluYXRlIGNhbGN1bGF0ZSBpcyB3cm9uZyBhbmQKCSAgZm9yY2UgcXVldWVfcmVzaXplIHdoZW4gZG8gX3NldF9yZW5kZXJfcmVjdGFuZ2xlIGluIGNhc2UKCSAgdXNlciBpbnB1dCBwb3MgY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3Mzk0CgoyMDE3LTA5LTExIDE2OjExOjE5ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGV4cG9zZSBzaG91bGQgZG8gcmVkaXNwbGF5IGFsbCB0aGUgdGltZQoJICB3aGVuIHVzaW5nIGludGVybmFsIHdpbmRvdywgd2luZG93IHJlc2l6ZSBzaG91bGQgd29yawoJICB3aGVuIHBhdXNlIHN0YXRlLCBidXQgZXhwb3NlIG9ubHkgZG8gcmVkaXNwbGF5IHdoZW4KCSAgd2luZG93X2lkIGlzIHZhbGlkLiBTbyBleHBvc2Ugc2hvdWxkIGRvIHJlZGlzcGxheSBhbGwKCSAgdGhlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODczOTQKCjIwMTctMDktMTcgMjE6MDU6MDMgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogZml4IHR5cG8gaW4gY29tbWVudAoKMjAxNy0wOS0xNyAxMjozNzowMyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVnaXN0ZXIgZnVuYyBmb3IgZG9fZXZlbnRzX2FuZF9xdWVyaWVzCgkgIFRoaXMgZml4ZXMgbG9nZ2luZyB0aGUgZnVuYyBwdHIgZnJvbSBfaXRlcmF0ZV9zaW5rcGFkcygpLgoKMjAxNy0wOS0xNyAxMjozMDozNyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogb25seSBzZXQgY2xpcHBlZF9idWZmZXIgdG8gTlVMTCBpZiBuZWVkZWQKCjIwMTctMDktMTcgMTI6MjU6MzcgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbmFtZSBjaGVja19ldmVudHMKCSAgVGhpcyBmdW5jdGlvbiBhbHNvIGhhbmRsZXMgcXVlcmllcy4gVXBkYXRlIHRoZSBjb2RlIHRvIGxvb3AgdW50aWwgYWxsIGV2ZW50cyBhbmQKCSAgcXVldXJpZXMgYXJlIGhhbmRsZWQuCgoyMDE3LTA5LTE3IDEyOjI0OjU0IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgYSBmZXcgbW9yZSBjb21tZW50cyB0byBQYWRQcml2YXRlIHN0cnVjdAoKMjAxNy0wOS0xNyAxMTozOToxMiAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVuYW1lIGJ1ZmZlcnMgZmllbGQgdG8gZGF0YQoJICBUaGUgcXVldWUgc3RvcmVzIGJ1ZmZlcnMsIGV2ZW50cyBhbmQgcXVlcmllcy4KCjIwMTctMDktMTcgMTA6MTg6NTYgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogZG9jdW1lbnRhaW9uIGZpeGVzCgkgIEZpeCB0eXBvcyBhbmQgcmVtb3ZlIHBhcmFtcyBkb2NzLCB3aGVyZSB0aGUgcGFyYW0gd2FzIG1vdmVkLgoKMjAxNy0wOS0xMCAyMDo1NTowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IHNpbXBsaWZ5IGF1ZGlvbWl4ZXIgdGVzdAoJICBVc2UgX2xpbmtfbWFueSgpIGFuZCByZXVzZSBhIGhlbHBlciB0byByZWR1Y2UgdGhlIHRlc3QgY29kZS4KCjIwMTctMDktMTUgMjA6MzQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggY2FwcyBsZWFrIGluIGVycm9yIGNvZGUgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NzM2CgoyMDE3LTA5LTE1IDE1OjA0OjAyICswMjAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IGludHJvZHVjZSBoZWxwZXIgbWV0aG9kIHRvIHJlbW92ZSBzZWVrIHNvdXJjZQoJICB0aGlzIGluY2lkZW50YWxseSBmaXhlcyBhIG1pc3NpbmcgZ19zb3VyY2VfZGVzdHJveSgpIGNhbGwgaW4gX21haW4oKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3NzI3CgoyMDE3LTA5LTE1IDE0OjU4OjU2ICswMjAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IHJlbW92ZSBkdXBsaWNhdGUgc3RhdGVfcmV0IGNoZWNrIGluIHBsYXkgaW50ZXJuYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzcyNwoKMjAxNy0wOS0wNiAwNzo1OTo1NiArMDAwMCAgSm9jaGVuIEhlbm5lYmVyZyA8amhAaGVubmViZXJnLXN5c3RlbWRlc2lnbi5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHFtbGdsc2luazogRXhwb3NlIGl0ZW1Jbml0aWFsaXplZCBhcyBwcm9wZXJ0eQoJICBJbnN0ZWFkIG9mIGp1c3Qgc2lnbmFsbGluZyB3aGVuIHJlYWR5IGV4cG9zaW5nIHRoZSBzdGF0ZQoJICBhcyBhIHByb3BlcnR5IGFsbG93cyB1cyB0byBiaW5kIGF0IGFueSB0aW1lIGlmIHBsYXllciBpcwoJICBsb2FkZWQgYXN5bmMuCgoyMDE3LTA5LTA4IDEwOjE2OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRG9uJ3QgbGVhayB0aGUgZHVtYiBidWZmZXIgb24gZHJhaW4KCjIwMTctMDktMDggMDk6Mjg6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBEb24ndCBhc3N1bWUgYnVmZmVyIHBvb2wgd29uJ3QgdG91Y2ggYnVmIHBvaW50ZXIKCSAgSnVzdCBmb3IgZXh0cmEgc2FmZXR5LCBsZXQncyBub3QgYXNzdW1lIHRoYXQgZ3N0X2J1ZmZlcl9wb29sX2FjcXVpcmUoKQoJICB3b24ndCBldmVyIHRvdWNoIHRoZSBidWYgcG9pbnRlci4KCjIwMTctMDktMDggMTQ6NTc6MDYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2ttcy9nc3RrbXNidWZmZXJwb29sLmM6CgkgIGttczogZml4IGNyYXNoIGlmIGJvIGFsbG9jYXRpb24gZmFpbGVkIHdoZW4gY29weWluZyB0byBkdW1iIGJ1ZmZlcgoJICBJZiBibyBhbGxvY2F0aW9uIGZhaWxlZCB3ZSBkZXN0cm95IHRoZSBidWZmZXIgYW5kIHJldHVybiBHU1RfRkxPV19FUlJPUiwKCSAgYnV0IHRoZSBAYnVmZmVyIHBvaW50ZXIgd2FzIHN0aWxsIHBvaW50aW5nIHRvIHRoZSBhZGRyZXNzIG9mIHRoZQoJICBkZXN0cm95ZWQgYnVmZmVyLiBnc3Rfa21zX3NpbmtfY29weV90b19kdW1iX2J1ZmZlcigpIHdhcyB0aGVuIHRyeWluZyB0bwoJICB1bnJlZiBpdCB3aGVuIGJhaWxpbmcgb3V0IGNhdXNpbmcgYSBjcmFzaC4KCSAgTGVhdmUgQGJ1ZmZlciB1bnRvdWNoZWQgaWYgYWxsb2NhdGlvbiBmYWlsZWQgdG8gZml4IHRoZSBjcmFzaC4KCSAgQWxzbyByZW1vdmUgdGhlIGNoZWNrIG9uICpidWZmZXIgYmVpbmcgbm90IE5VTEwgYXMgZ3N0X2J1ZmZlcl9uZXcoKQoJICB3aWxsIGFib3J0IGlmIGl0IGZhaWxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzQ0MgoKMjAxNy0wOS0wNyAwOTozOToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9xdHBsdWdpbi5wcm86CgkgIHF0OiBmaXggYnVpbGQgd2l0aCBxbWFrZQoJICBNb3ZlIHRoZSBwYWNrYWdlIGRlZmluZXMgZm9yIEdTVF9QTFVHSU5fREVGSU5FIGZyb20gdGhlCgkgIGNvbW1hbmQgbGluZSBpbnRvIHRoZSBzb3VyY2UgZmlsZSB0byBhdm9pZCBxdW90aW5nIGlzc3VlcwoJICAoLURQQUNLQUdFX05BTUU9ImZvbyIgbWVhbnMgdGhlIHF1b3RlcyB3b24ndCBhY3R1YWxseSBtYWtlCgkgIGl0IHRvIHRoZSBjb21waWxlciBhbmQgdGhlbiBpdCBubyBsb25nZXIgZ2V0cyBhIHN0cmluZyBjb25zdGFudCkuCgoyMDE3LTA5LTA2IDE2OjA0OjQ5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBQYXNzIHRoZSBWaWRlb0luZm8gdG8gZ3N0X3ZpZGVvX2luZm9fZnJvbV9jYXBzCgkgIEZpeGluZyB0aGUgYnVpbGQKCjIwMTctMDktMDUgMTY6MjA6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAgUmVxdWVzdCBtaW5pbXVtIGJ1ZmZlciBldmVuIGlmIG5lZWRfcG9vbCBpcyBGQUxTRQoJICBXaGVuIHRlZSBpcyB1c2VkLCBpdCB3aWxsIG5vdCByZXF1ZXN0IGEgcG9vbCwgYnV0IHN0aWxsIGl0IHdhbnRzIHRvCgkgIGtub3cgaG93IG1hbnkgYnVmZmVycyBhcmUgcmVxdWlyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA3NTgKCjIwMTctMDktMDUgMTU6MDc6MDMgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGZpeCBjb21waWxhdGlvbiB3aXRoIE9wZW5TU0wgMS4xLjAKCSAgT3BlblNTTCAxLjEuMCBubyBsb25nZXIgYWxsb3dzIHN0YWNrLWFsbG9jYXRlZCBzdHJ1Y3R1cmVzOwoJICBpdCBoaWRlcyB0aGUgaW1wbGVtZW50YXRpb24gYmVoaW5kIHR5cGVkZWZzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODczMDkKCjIwMTctMDktMDUgMTQ6MjY6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgY2hlY2s6IEZpeCB1c2FnZSBvZiBkdWFsIHByb2JlcwoJICBVc2luZyB0d28gKG9yIG1vcmUpIHByb2JlcyBvbiB0aGUgc2FtZSBwYWQgd2hlcmUgb25lIG9mIHRoZSBwcm9iZQoJICByZXR1cm5zIEhBTkRMRUQgb3IgRFJPUCBpcyB0cmlja3kgc2luY2UgdGhlIG90aGVyIHByb2JlcyBtaWdodAoJICBub3QgYmUgY2FsbGVkLgoJICBJbnN0ZWFkIHVzZSByZWd1bGFyIHByb2JlcyBhbmQgYSBwcm9wZXIgcGFkICh0aGUgc2lua3BhZCBhbHJlYWR5IGV4aXN0ZWQsCgkgIGl0IG9ubHkgcmVxdWlyZWQgdG8gYmUgYWN0aXZhdGVkIGFuZCBoYXZlIGEgZHVtbXkgY2hhaW4gZnVuY3Rpb24gZm9yCgkgIHRoZSBldmVudHMvYnVmZmVycyB0byBiZSByZWNlaXZlZC9oYW5kbGVkIHByb3Blcmx5KQoKMjAxNy0wOC0zMSAxODo1NjozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1zZW5zb3IuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbWM6IGFjdHVhbGx5IHVzZSB0aGUgcHJvdmlkZWQgYXBwbGljYXRpb24gY2xhc3MgbG9hZGVyCgkgIEZvciB0aGUgY2FtZXJhIGFuZCBzZW5zb3IKCSAgRml4ZXMgYSBjb3VwbGUgb2YgQ2xhc3NOb3RGb3VuZCBqYXZhIGV4Y2VwdGlvbnMgd2hlbiBpbml0aWFsaXppbmcgR1N0cmVhbWVyCgkgIG9mZiB0aGUgbWFpbiB0aHJlYWQuCgoyMDE3LTA5LTA1IDE2OjE0OjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5jOgoJICBnbC93YXlsYW5kOiBjYWxsIGVnbFRlcm1pbmF0ZSgpIGJlZm9yZSB3bF9kaXNwbGF5X2Rpc2Nvbm5lY3QoKQoJICBDYWxsaW5nIHRoZXNlIHR3byBmdW5jdGlvbnMgaW4gdGhlIHdyb25nIG9yZGVyIHdpbGwgcmVzdWx0IGluCgkgIHVzZS1hZnRlci1mcmVlIGluc2lkZSB3YXlsYW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg3MjkzCgoyMDE3LTA5LTAxIDE1OjAwOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGd0a2dsc2luazogZXhwb3NlIHRoZSBjcmVhdGVkIGRpc3BsYXkgYW5kIGNvbnRleHQgY29ycmVjdGx5CgkgIDEuIFByb3BhZ2F0ZSB0aGUgR3N0R0xEaXNwbGF5IHdlIGNyZWF0ZQoJICAyLiBBZGQgdGhlIGNyZWF0ZWQgR3N0R0xDb250ZXh0IHRvIHRoZSBwcm9wYWdhdGVkIEdzdEdMRGlzcGxheQoJICBPdGhlcndpc2Ugd2l0aCBtdWx0aS1icmFuY2ggR0wgcGlwZWxpbmVzIGludm9sdmluZyBndGtnbHNpbmssIHRoaW5ncwoJICB3aWxsIGZhbGwgYXBhcnQgYW5kIGVycm9ycyB3aWxsIGJlIGdlbmFyYXRlZCBzb21ld2hlcmUuCgoyMDE3LTA5LTA1IDEwOjU2OjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjZW5jOiBGaXggdHlwbyBpbiBkb2NzCgoyMDE3LTA5LTA1IDA5OjUxOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9saWJkZTI2NS9NYWtlZmlsZS5hbToKCSAgcGx1Z2luOiBSZW5hbWUgbGliZGUyNjUgdG8gZGUyNjUgZm9yIGNvbnNpc3RlbmN5CgkgIEFuZCBhdm9pZHMgaXQgYmVpbmcgYmxhY2tsaXN0ZWQKCjIwMTctMDktMDQgMTY6MTM6NDEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IE1ha2VmaWxlLmFtOiBhZGQgaXBjcGlwZWxpbmUgaW4gU1VCRElSUyBpZiBlbmFibGVkCgoyMDE3LTA5LTA0IDE2OjAwOjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2lwY3BpcGVsaW5lL2dzdGlwY3BpcGVsaW5lY29tbS5jOgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVjb21tLmg6CgkqIHN5cy9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZXNpbmsuYzoKCSogc3lzL2lwY3BpcGVsaW5lL2dzdGlwY3BpcGVsaW5lc3JjLmM6CgkgIGlwY3BpcGVsaW5lOiBjbGVhbnVwIGhlYWRlciBpbmNsdWRlcwoJICBXZSBhcmUgb25seSB1c2luZyByZWFkKCksIHdyaXRlKCksIG1lbWNweSgpLCBzdHJsZW4oKSBhbmQgZXJybm8KCSAgaW4gaXBjcGlwZWxpbmVjb21tLmMuIEV2ZXJ5dGhpbmcgZWxzZSBpcyBnbGliL2dzdHJlYW1lci4KCjIwMTctMDktMDQgMTU6NTI6MDMgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVjb21tLmM6CgkqIHN5cy9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZWNvbW0uaDoKCSAgaXBjcGlwZWxpbmU6IHVzZSBHc3RQb2xsIGluc3RlYWQgb2Ygc2VsZWN0KCkgdG8gd2F0Y2ggZm9yIHNvY2tldCBhY3Rpdml0eQoJICAuLi4gYW5kIG1ha2UgdGhhdCBjb2RlIG1vcmUgcmVhZGFibGUgaW4gdGhlIHByb2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NzIwOAoKMjAxNy0wOS0wNCAxMDozOTo1OCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2lwY3BpcGVsaW5lL2lwYy1wbGF5LmM6CgkgIGV4YW1wbGVzOiBpcGNwaXBlbGluZTogZ2V0IHJpZCBvZiB5ZXQgYW5vdGhlciB1c2Ugb2YgU09DS19OT05CTE9DSwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2NzYzCgoyMDE3LTA5LTA0IDA4OjMwOjU4ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9tZXNvbi5idWlsZDoKCSAgb3BlbmN2OiBhbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IDMuMy4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODcyMzQKCjIwMTctMDktMDEgMTU6NTY6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJICBxdDogT25seSBpbmNsdWRlIHF0Z3VpLWNvbmZpZy5oIG9uIHF0ID49IDUuOS4wCgkgIFRoZSBmaWxlIGRvZXMgbm90IGV4aXN0IGluIHByZXZpb3VzIHZlcnNpb25zCgoyMDE3LTA4LTMwIDA4OjM3OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWFrZSBqcDJrIGhhbmRsaW5nIG1vcmUgcm9idXN0IGFuZCBlZmZpY2llbnQKCSAgKiBBdm9pZCBjb3B5aW5nIHRoZSBwZW5kaW5nIGRhdGEgYW5kIGluc3RlYWQgY3JlYXRlIGEgYnVmZmVyIGRpcmVjdGx5IGZyb20KCSAgdGhhdCBkYXRhIHdpdGggdGhlIGFwcHJvcHJpYXRlIG9mZnNldC4KCSAgKiBMb2NhdGUgdGhlIGpwMmsgbWFnaWMgdG8gZGV0ZXJtaW5lIHRoZSBleGFjdCBsb2NhdGlvbiBvZiB0aGUgKGZpcnN0KSBmcmFtZQoJICBkYXRhIGluc3RlYWQgb2YgYXNzdW1pbmcgdGhhdCB0aGUgaGVhZGVyIGlzIG9mIGFuIGV4cGVjdGVkIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjExMQoKMjAxNy0wOC0yOSAxMToxNDo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEhhbmRsZSBxdWlyayBpbiBqcDJrIGVzIGhlYWRlciBoYW5kbGluZwoJICBUaGUganAyayBzcGVjaWZpY2F0aW9uIChJVFUtVCBULjgwMCkgc3BlY2lmaWVzIHRoYXQgdGhlICdicmF0JyBib3gKCSAgaGFzIHR3byBmaWVsZHMgYW5kIHRoZSBzZWNvbmQgb25lIChBVUYyKSBjYW4gYmUgc2V0IHRvIDAgZm9yIHByb2dyZXNzaXZlCgkgIHN0cmVhbXMuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIG1wZWctdHMgc3BlY2lmaWNhdGlvbiAoSVRVLVQgSC4yMjIuMCAwNi8yMDEyKQoJICBzYXlzIHRoYXQgdGhlIEFVRjIgZmllbGQgaXMgb25seSBwcmVzZW50IGlmIHRoZSBzdHJlYW0gaXMgaW50ZXJsYWNlZAoJICBJbiBvcmRlciB0byBjb3BlIHdpdGggYm90aCBzaXR1YXRpb24sIGFjY2VwdCB0aG9zZSBuZXh0IDMyYml0IGlmIHRoZQoJICBzdHJlYW0gaXMgbWFya2VkIGFzIHByb2dyZXNzaXZlIGFuZCB0aG9zZSBiaXRzIGNvbnRhaW4gMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MTExCgoyMDE3LTA4LTMxIDE1OjA3OjQ1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvaXBjcGlwZWxpbmUvaXBjLXBsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvaXBjcGlwZWxpbmUvaXBjcGlwZWxpbmUxLmM6CgkgIGV4YW1wbGVzOiBpcGNwaXBlbGluZTogZG8gbm90IHVzZSB0aGUgbGludXgtc3BlY2lmaWMgU09DS19OT05CTE9DSyBmbGFnCgkgIFVzZSBmY250bCgpIGluc3RlYWQgdG8gc2V0IE9fTk9OQkxPQ0ssIHdoaWNoIGlzIHBvcnRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2NzYzCgoyMDE3LTA4LTMxIDE0OjU3OjM0ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2lwY3BpcGVsaW5lLmM6CgkgIHRlc3RzOiBpcGNwaXBlbGluZTogcHJvdmlkZSBwaXBlMigpIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY3NjMKCjIwMTctMDgtMzEgMTQ6NDA6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsLmg6CgkgIHF0OiB0aGUgZGVmaW5lcyBmb3IgUVRfT1BFTkdMX0VTXzIgaGF2ZSBtb3ZlZAoJICBVcGRhdGUgdGhlIGluY2x1ZGVzIHRvIGFjY291bnQgZm9yIHRoYXQKCjIwMTctMDQtMjYgMTM6NTA6NDEgKzAyMDAgIEpvY2hlbiBIZW5uZWJlcmcgPGpoQGhlbm5lYmVyZy1zeXN0ZW1kZXNpZ24uY29tPgoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJICBxdDogZW5zdXJlIEdMX0RSQVdfRlJBTUVCVUZGRVIKCjIwMTctMDgtMzAgMTg6MTE6MjcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvaXBjcGlwZWxpbmUuYzoKCSAgdGVzdHM6IGlwY3BpcGVsaW5lOiBtYWtlIHRoZSBzdGF0ZV9jaGFuZ2VzIHRlc3QgbW9yZSBkZXRlcm1pbmlzdGljCgkgIFdhdGNoaW5nIHRoZSBTVEFURV9DSEFOR0VEIG1lc3NhZ2VzIGlzIHdheSBtb3JlIGRldGVybWluaXN0aWMgdGhhbgoJICBwb2xsaW5nIHRoZSBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjAwNgoKMjAxNy0wOC0zMCAxNjozNzoyMSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9pcGNwaXBlbGluZS5jOgoJICB0ZXN0czogaXBjcGlwZWxpbmU6IGZpeCBicm9rZW4gZXhjbHVzaXZpdHkgY2hlY2tzCgkgIEluIG1vc3QgY2FzZXMgd2Ugd2FudCB0byBzdG9wIHRoZSBwaXBlbGluZSBqdXN0IG9uY2UsIGJ1dCB3ZSBoYXZlCgkgIHRvIGRvIHRoaXMgZnJvbSBjb2RlIHRoYXQgcnVucyBpbiB0aGUgc3RyZWFtaW5nIHRocmVhZHMgYW5kIGluIGNhc2UKCSAgd2UgaGF2ZSBtdWx0aXBsZSBzdHJlYW1zLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGRvIHRoaXMgb25seQoJICBvbmNlLiBUaGUgcHJldmlvdXMgY2hlY2tzIHdlcmUgYnJva2VuLCB0aGlzIHNob3VsZCBmaXggaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYwMDYKCjIwMTctMDgtMzAgMTQ6Mzc6MzIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvaXBjcGlwZWxpbmUuYzoKCSAgdGVzdHM6IGlwY3BpcGVsaW5lOiBhdHRlbXB0IHRvIG1ha2UgdGFncyB0ZXN0IG1vcmUgZGV0ZXJtaW5pc3RpYwoJICBJbnN0ZWFkIG9mIHVzaW5nIGEgdGltZW91dCBhbmQgcHVzaGluZyB0aGUgdGFncyBmcm9tIGFuIG91dHNpZGUKCSAgdGhyZWFkLCB1c2UgYSBwYWQgcHJvYmUgYW5kIHB1c2ggdGhlbSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MDA2CgoyMDE3LTA4LTMwIDE1OjE4OjU4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbWFpbi5jcHA6CgkgIGV4YW1wbGVzL2dsL2d0azogYnVpbGQgZml4IGZvciB0aGUgM2R2aWRlbyBleGFtcGxlIG9uIG1hY09TCgoyMDE3LTA4LTMwIDE1OjE2OjM5ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJICBleGFtcGxlcy9nbC9ndGs6IGZpeCBvdmVybGF5IGhhbmRsaW5nIGZvciBtYWNPUwoJICBUaGUgR1RLKyB3aW5kb3cgcmVxdWlyZXMgYSBOU1ZpZXcgc3ViLXZpZXcsIG5vdCBhbiBOU1dpbmRvdy4KCjIwMTctMDgtMjkgMTY6NTI6MDcgLTA3MDAgIFBlci1FcmlrIEJyb2RpbiA8cGVyLWVyaWsuYnJvZGluQGVyaWNzc29uLmNvbT4KCgkqIHN5cy9udmRlYy9nc3RudmRlYy5jOgoJICBudmRlYzogZml4IGJ1aWxkIGFmdGVyIEdML2dsLmggbm8gbG9uZ2VyIGluY2x1ZGVkCgkgIEdMIGhlYWRlcnMgYXJlIG5vIGxvbmdlciBpbmNsdWRlZCBpbiBwdWJsaWMgZ3N0Z2wgaGVhZGVycywgZXhjZXB0IGZvcgoJICBnc3RnbGZ1bmNzLmggc28gbWFrZSBzdXJlIHRvIGluY2x1ZGUgdGhhdCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODY5OTMKCjIwMTctMDgtMjkgMTA6Mzc6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm9wZXJseSBlcnJvciBvdXQgb24ganAyayBwYXJzaW5nIGVycm9ycwoJICBBdm9pZHMgY3Jhc2hlcyBsYXRlciBvbiB3aGVyZSB3ZSBhc3N1bWUgYnVmZmVyIGV4aXN0cwoKMjAxNy0wOC0yOCAxMjo1NjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NnbG1lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBnbDogZml4IGJ1aWxkIGZvciBpb3Mvd2luMzIvYW5kcm9pZCBhZnRlciAyZmQ4NGE2YwoJICBTb21lIG1pc3NpbmcgR0wgaW5jbHVkZXMuCgoyMDE3LTA4LTI2IDEzOjA4OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2lzb2ZmL2dzdGlzb2ZmLmM6CgkgIGlzb2ZmOiBtYWtlIGRlYnVnIGNhdGVnb3J5IHByaXZhdGUKCSAgT3RoZXJ3aXNlIGl0IHNob3dzIHVwIGluIC5kZWYgZmlsZSBpbiBhdXRvdG9vbHMgYnVpbGQuCgoyMDE3LTA4LTI2IDEyOjAzOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBmaXggYnVpbGQgZm9yIGlzb2ZmIGxpYiBhZGRpdGlvbgoKMjAxNy0wOC0yNiAxMjowMjo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pc29mZi9nc3Rpc29mZi5oOgoJICBpc29mZjogZXhwb3J0IHN5bWJvbHMKCjIwMTctMDUtMTcgMjI6MDk6NDggKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NmcmFnbWVudHBhcnNlci5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2ZyYWdtZW50cGFyc2VyLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBVc2UgaXNvZmYgdG8gcGFyc2UgdGZ4ZC90ZnJmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc4MjUKCjIwMTctMDctMDIgMTQ6Mjc6MzMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2lzb2ZmL2dzdGlzb2ZmLmM6CgkqIGdzdC1saWJzL2dzdC9pc29mZi9nc3Rpc29mZi5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2lzb2ZmLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaXNvZmYuaDoKCSAgaXNvZmY6IEFkZCBwYXJzaW5nIG1zcyBzcGVjaWZpYyB0ZnJmIGFuZCB0ZnhkIGJveGVzCgkgIFRoaXMgY29kZSBpcyBpbXBvcnRlZCBmcm9tIG1zc2RlbXV4J3MgdGZ4ZC90ZnJmIHBhcnNpbmcgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzgyNQoKMjAxNy0wNi0wMiAyMzoxOTozNiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaXNvZmYvZ3N0aXNvZmYuYzoKCSogZ3N0LWxpYnMvZ3N0L2lzb2ZmL2dzdGlzb2ZmLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaXNvZmYuYzoKCSogdGVzdHMvY2hlY2svbGlicy9pc29mZi5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0aXNvZmYuZGVmOgoJICBpc29mZjogQWRkIHBhcnNpbmcgbW9vdiBhbmQgdGZkdAoJICBUbyBleHRyYWN0IGlzb2JtZmYgbGV2ZWwgdGltZXN0YW1wLCBtb292IGFuZCB0ZmR0IHBhcnNpbmcgaXMgcmVxdWlyZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc4MjUKCjIwMTctMDUtMjUgMTg6MTQ6MDkgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pc29mZi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2lzb2ZmL2dzdGlzb2ZmLmM6CgkqIGdzdC1saWJzL2dzdC9pc29mZi9nc3Rpc29mZi5oOgoJKiBnc3QtbGlicy9nc3QvaXNvZmYvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvaXNvZmYuYzoKCSogdGVzdHMvY2hlY2svbGlicy9pc29mZi5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0aXNvZmYuZGVmOgoJICBpc29mZjogTW92ZSBpc29mZiB0byBnc3QtbGlicwoJICBBbHNvIHJlbmFtZSB1bml0IHRlc3QgZGFzaF9pc29mZiB0byBpc29mZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3ODI1CgoyMDE3LTA4LTI1IDIwOjM3OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIGdsOiBpbnN0YWxsIG5ldyBnbGZ1bmNzLmggaGVhZGVyCgoyMDE3LTA4LTI1IDE5OjMzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2lwY3BpcGVsaW5lLmM6CgkgIHRlc3RzOiBpcGNwaXBlbGluZTogc2tpcCBicm9rZW4gdGVzdHMKCSAgVGhlc2UgZmFpbCBvbiB0aGUgYnVpbGQgYm90cy4gQmxhY2tsaXN0IHVudGlsIHNvbWVvbmUKCSAgaW52ZXN0aWdhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MDA2CgoyMDE3LTA4LTI0IDEzOjQzOjE4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgdGVzdHMvcGxheWVyOiBjaGVjayBmb3IgbWVkaWEtaW5mby11cGRhdGVkIGJlZm9yZSBkdXJhdGlvbi1jaGFuZ2VkCgkgIFRoZSBtZWRpYS1pbmZvLXVwZGF0ZWQgc2lnbmFsIGlzIG5vdyBlbWl0dGVkIGJlZm9yZSBkdXJhdGlvbi1jaGFuZ2VkIHNpbmNlCgkgIGNvbW1pdCA4YTI5ZGE4MDIzNjA0YTE0MTlhYzVmMmNhZTdmMTY1MTk4ZDZmYmJmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MjAxCgoyMDE3LTA4LTI0IDE4OjAwOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogemVybyBvdXQgc2Vzc2lvbiBtZW1iZXIgb24gZGVhbGxvYwoJICBGaXhlcyBhIHVzZXItYWZ0ZXItZnJlZSByZXRyaWV2aW5nIHN0YXRzIGZyb20gX2dldF9wcm9wZXJ0eSgpCgoyMDE3LTA4LTI0IDAxOjE4OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY2hlY2tzOiBmaXggYnVpbGQKCjIwMTctMDgtMjMgMTY6MzY6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgZ2wvbWVzb246IGFkZCBidWlsZCBmb3IgdGhlIHZpdmFudGUgZmIgYmFja2VuZAoKMjAxNy0wOC0yMyAxNjozNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FsbG9jYXRvcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGJ1aWxkIGFsbG9jYXRvcnMgbGlicmFyeQoKMjAxNy0wOC0yMyAxNjozMjo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBnbC9tZXNvbjogZGV0ZWN0IHZhbGlkIGNvbmZpZ3VyYXRpb24gZnJvbSBlbmFibGVkIGFwaXMvcGxhdGZvcm0vd2luc3lzCgoyMDE3LTA4LTIzIDE2OjIzOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIGdsL2J1aWxkOiBhbHNvIGNoZWNrIGZvciB0aGUgR0wvZ2wuaCBoZWFkZXIKCSAgSW4gb3JkZXIgdG8gc3VjY2Vzc2Z1bGx5IGJ1aWxkIGFnYWluc3QgYSBkZXRlY3RlZCBsaWJHTCBsaWJyYXJ5IHdlIGFsc28gbmVlZCBoZWFkZXJzCgoyMDE3LTA4LTE3IDEzOjQ2OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdXRpbHMuYzoKCSogZXh0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHNfcHJpdmF0ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWF0cml4LmM6CgkgIGdsdXRpbHM6IGZpeCBtYXRyaXggb3BlcmF0aW9ucyBldmVyeXdoZXJlCgkgIC0gY29ycmVjdCB0aGUgbWF0cml4IG11bHRpcGxpY2F0aW9uCgkgIC0gVXNlIGNvbHVtbi1tYWpvciBtYXRyaWNlcwoJICAtIHJldmVyc2Ugb3JkZXIgb2YgbWF0cml4IG11bHRpcGxpY2F0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1OTgwCgoyMDE3LTA4LTE3IDEzOjQyOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBkcmF3IHdpdGggR0xfVFJJQU5HTEVTCgkgIERyYXdpbmcgNSB2ZXJ0aWNlcyB3aXRoIEdMX1RSSUFOR0xFX1NUUklQIHdpbGwgZHJhdyBhbiBleHRyYSB1bm5lZWRlZAoJICB0cmlhbmdsZS4KCjIwMTctMDgtMjIgMTY6MTY6NDQgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuaDoKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIGFmdGVyIGNvbW1pdCAyZmQ4NGE2YwoKMjAxNy0wOC0yMiAxNjoxNjoyNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkgIGdsL2NvY29hOiBmaXggYnVpbGQgYWZ0ZXIgY29tbWl0IDJmZDg0YTZjCgoyMDE3LTA4LTIyIDEyOjM5OjQzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqaXNvcmNlQG9ibG9uZy5jb20+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkgIHF0OiBmaXggYnJva2VuIGJ1aWxkIGR1ZSB0byBjb21taXQgMmZkODRhNmMgZm9yIGdzdGdsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3NzkKCjIwMTctMDgtMjIgMTI6Mzk6NDMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGppc29yY2VAb2Jsb25nLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbDogZml4IGJyb2tlbiBidWlsZCBkdWUgdG8gcHJldmlvdXMgY29tbWl0IDJmZDg0YTZjCgkgIENhbiByZXByb2R1Y2UgYWZ0ZXIgaW5zdGFsbGluZyBsaWJncmFwaGVuZS1kZXYKCSAgQWxzbyBmaXhlcyBjYW9wZW5nbGxheWVyc2luay5oIHRvIGFudGljaXBhdGUgYnVpbGQgZXJyb3Igb24gb3N4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0Nzc5CgoyMDE3LTA3LTA3IDE2OjE1OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqaXNvcmNlQG9ibG9uZy5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZ1bmNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGhlYWRlcnMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsOiBkbyBub3QgaW5jbHVkZSBHTCBoZWFkZXJzIGluIHB1YmxpYyBnc3RnbCBoZWFkZXJzCgkgIEV4Y2VwdCBmb3IgZ3N0L2dsL2dzdGdsZnVuY3MuaAoJICBJdCBpcyB1cCB0byB0aGUgY2xpZW50IGFwcCB0byBpbmNsdWRlIHRoZXNlIGhlYWRlcnMuCgkgIEl0IGlzIGNvaGVyZW50IHdpdGggdGhlIGZhY3QgdGhhdCBnc3RyZWFtZXItZ2wucGMgZG9lcyBub3QKCSAgcmVxdWlyZSBhbnkgZWdsLnBjL2dsZXMucGMuIEkuZS4gaXQgaXMgdGhlIHJlc3BvbnNhYmlsaXR5CgkgIG9mIHRoZSBhcHAgdG8gc2VhcmNoIHRoZXNlIGhlYWRlcnMgd2l0aGluIGl0cyBidWlsZCBzZXR1cC4KCSAgRm9yIGV4YW1wbGUgZ3N0cmVhbWVyLXZhYXBpIGluY2x1ZGVzIGV4cGxpY2l0bHkgRUdML2VnbC5oCgkgIGFuZCBzZWFyY2ggZm9yIGl0IGluIGl0cyBjb25maWd1cmUuYWMuCgkgIEZvciBleGFtcGxlIHdpdGggdGhpcyBwYXRjaCwgaWYgYW4gYXBwIGluY2x1ZGVzIHRoZSBoZWFkZXJzCgkgIGdzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oCgkgIGdzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oCgkgIGdzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaAoJICBpdCB3aWxsICpubyBsb25nZXIqIGF1dG9tYXRpY2FsbHkgaW5jbHVkZSBFR0wvZWdsLmggYW5kIEdMRVMyL2dsMi5oLgoJICBXaGljaCBpcyBnb29kIGJlY2F1c2UgdGhlIGFwcCBtaWdodCB3YW50IHRvIHVzZSB0aGUgZ3N0Z2wgYXBpIG9ubHkKCSAgd2l0aG91dCB0aGUgbmVlZCB0byBib3RoZXIgYWJvdXQgZ2wgaGVhZGVycy4KCSAgQWxzbyBhZGRlZCBhIHRlc3Q6IGNkIHRlc3RzL2NoZWNrICYmIG1ha2UgbGlicy9nc3RnbGhlYWRlcnMuY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDc3OQoKMjAxNy0wOC0yMSAwNjo0OTowMiAtMDcwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50Lmg6CgkgIGdsZG93bmxvYWQ6IE1pY3JvLW9wdGltaXNhdGlvbi4gRG9uJ3QgY2hlY2sgb3V0cHV0IGNhcHMgb24gZXZlcnkgYnVmZmVyCgkgIFRoZSBvdXRwdXQgY2FwcyB3aWxsIG9ubHkgY2hhbmdlIG9uIGEgc2V0X2NhcHMoKSBjYWxsLCBzbyBjaGVjayBpZgoJICB0aGV5IGNvbnRhaW4gdGhlIFN5c3RlbU1lbW9yeSBmZWF0dXJlIHRoZW4gYW5kIHNhdmUgc29tZQoJICBwZXItYnVmZmVyIENQVS4KCjIwMTctMDgtMTcgMTI6MjM6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjkwNDZiOCB0byAzZjRhYTk2CgoyMDE3LTA4LTE2IDEzOjU5OjAxICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqc3RlZmZlbnNAbWFrZS50dj4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICBzeXM6IENvbnZlcnQgc291cmNlIGZpbGVzIHRvIFVURi04CgkgIE90aGVyd2lzZSB3ZSBoYXZlIHByb2JsZW1zIHdpdGggdGhlIG5ldyBndGstZG9jCgkgIHBvcnRlZCB0byBweXRob24uIEJ1dCBpdCdzIGEgZ29vZCB0aGluZyB0byBkbwoJICBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYzNjQKCjIwMTctMDgtMTQgMTQ6MDk6MzMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IG5vdGlmeSBvZiBtZWRpYS1pbmZvIHVwZGF0ZSBhZnRlciBkdXJhdGlvbiBjaGFuZ2UKCSAgVGhpcyBpcyBhIGZvbGxvdy11cCBvZiA5OGIwODAyYTk4MWVhYjA1ZTYxMDYzOGJmNTQyMmEwOGEzNzhhNjhhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYyMDEKCjIwMTctMDgtMTUgMTA6Mjc6MDMgKzA5MzAgIERhdmUgSm9obnN0b25lIDxkYXZlQGRpZ2l0cy50dj4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciBEZWNrbGluayBoYXJkd2FyZSBrZXlpbmcKCSAgQWRkIHR3byBwcm9wZXJ0aWVzIChrZXllci1tb2RlIGFuZCBrZXllci1sZXZlbCkgdG8gY29udHJvbCB0aGUgYnVpbHQtaW4gaGFyZHdhcmUga2V5ZXIgb2YgRGVja2xpbmsgY2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM2NjAKCjIwMTctMDgtMTQgMjE6MzM6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogc3RhcnQvc3RvcCB0aGUgbWFuaWZlc3QgdXBkYXRlIGxvb3Agb24gbGl2ZW5lc3Mgb3IgcGVyaW9kaWMgdXBkYXRlIGNoYW5nZXMKCSAgU2NlbmFyaW86CgkgIEEgbWFuaWZlc3Qgc3RhcnRzIG91dCBpbiBsaXZlIG1vZGUgYnV0IHRoZW4gdGhlIHJlY29yZGluZyBpcyBmaW5hbGl6ZWQKCSAgYW5kIGEgc3Vic2VxdWVudCB1cGRhdGUgY2hhbmdlcyB0aGUgc3RhdGUgdG8gYSBub24tbGl2ZSBtYW5pZmVzdCB3aGVuCgkgIHRoZSBzZXJ2ZXIgaGFzIGZpbmlzaGVkIHJlY29yZGluZy90cmFuc2NvZGluZy93aGF0ZXZlciB3aXRoIHRoZSBmdWxsCgkgIGxpc3Qgb2YgZnJhZ21lbnRzLgoJICBXaXRob3V0IHRoaXMgcGF0Y2gsIHRoZSBtYW5pZmVzdCB1cGRhdGUgdGFzayBpcyBuZXZlciBzdG9wcGVkIG9uIHRoZQoJICBsaXZlLT5ub24tbGl2ZSB0cmFuc2l0aW9uIGFuZCB3aWxsIGJ1c3kgbG9vcCwgYnVybmluZyB0aHJvdWdoIG9uZSBDUFUKCSAgY29yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjI3NQoKMjAxNy0wOC0xNCAxNjozMzo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmpwZWcvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBGaXggYnVpbGQgd2l0aCBvcGVuanBlZz49Mi4yCgkgIDIuMiBpbXBsaWVzIEhBVkVfMl8xCgoyMDE3LTA1LTIxIDE2OjAxOjE0ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHFtbGdsc2luazogQWRkIGl0ZW1Jbml0aWFsaXplZCBzaWduYWwgdG8gUU1MIGl0ZW0KCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGF1dG9wbGF5IGZvciBleGFtcGxlLiBXaXRoIGF1dG9wbGF5LCBpdCBpcyBuZWNlc3NhcnkgdG8KCSAgd2FpdCB1bnRpbCB0aGUgc2NlbmUgZ3JhcGggaXMgZnVsbHkgc2V0IHVwLiBUaGlzIHNpZ25hbCBpcyBlbWl0dGVkIG9uY2UgdGhlCgkgIFFNTCBpdGVtIG5vZGUgaXMgcmVhZHkuIFNvLCBpbnNpZGUgYSBjb25uZWN0ZWQgc2xvdCwgdGhlIHBpcGVsaW5lJ3Mgc3RhdGUKCSAgY2FuIGJlIHNldCB0byBQTEFZSU5HIHRvIGF1dG9tYXRpY2FsbHkgc3RhcnQgcGxheWJhY2sgYXMgc29vbiBhcyB0aGUgUU1MCgkgIHNjcmlwdCBpcyBsb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYyNDYKCjIwMTctMDgtMTQgMTI6MTI6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2x3aW5kb3dfdml2X2ZiX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbDogZml4IGJ1aWxkCgkgIEluY2x1ZGUgcHJpdmF0ZSBoZWFkZXJzIGZvciBwYXJlbnQgY2xhc3MgZGVidWcgY2F0ZWdvcmllcy4KCjIwMTctMDgtMTQgMTA6MTE6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0X3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3ByaXZhdGUuaDoKCSAgZ2w6IGFkZCBtaXNzaW5nIG5ldyBoZWFkZXIgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjE3MAoKMjAxNy0wOC0xNCAwOTozMzozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbDogbWFrZSBzb21lIGRlYnVnIGNhdGVnb3JpZXMgcHJpdmF0ZQoJICBUaGV5IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUgcHVibGljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MTcwCgoyMDE3LTA4LTEyIDE2OjA4OjAyICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBwcm9wYWdhdGUgdXBkYXRlZCBkdXJhdGlvbiB0byBtZWRpYV9pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYyMDEKCjIwMTctMDgtMTMgMjE6MTc6MTggKzAyMDAgIENsZW1lbnMgTGFuZyA8Y2FsQG1hY3BvcnRzLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmg6CgkqIGV4dC9vcGVuanBlZy9tZXNvbi5idWlsZDoKCSAgb3BlbmpwZWc6IEZpeCBidWlsZCBhZ2FpbnN0IG9wZW5qcGVnIDIuMgoJICBPcGVuSlBFRyAyLjIgaGFzIHNvbWUgQVBJIGNoYW5nZXMgYW5kIHRodXMgc2hpcHMgaXRzIGhlYWRlcnMgaW4gYSBuZXcKCSAgaW5jbHVkZSBwYXRoLiBBZGQgYSBjb25maWd1cmUgY2hlY2sgKHRvIGJvdGggbWVzb24gYW5kIGF1dG9jb25mKSB0bwoJICBkZXRlY3QgdGhlIG5ld2VyIHZlcnNpb24gb2YgT3BlbkpQRUcgYW5kIGFkZCBjb25kaXRpb25hbCBpbmNsdWRlcy4KCSAgRml4IHRoZSBhdXRvY29uZiB0ZXN0IGZvciBPcGVuSlBFRyAyLjEsIHdoaWNoIGNoZWNrZWQgZm9yIEhBVkVfT1BFTkpQRUcsCgkgIHdoaWNoIHdhcyBhbHdheXMgc2V0IGV2ZW4gZm9yIDIuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjI1MAoKMjAxNy0wOC0xMSAxODozODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3hjYl9ldmVudF9zb3VyY2UuYzoKCSAgZ2w6IGRvbid0IGV4cG9ydCBzeW1ib2xzIHRoYXQgYXJlIG5vdCBzdXBwb3NlZCB0byBiZSBwdWJsaWMKCSAgTWFrZSBhIGJ1bmNoIG9mIHN5bWJvbHMgcHJpdmF0ZSB0aGF0IGFyZSBjdXJyZW50bHkgbGVha2VkCgkgIGFjY2lkZW50YWxseSBiZWNhdXNlIHRoZXkgaGF2ZSBhIGdzdF8qIHByZWZpeCBhbmQgYXJlIHVzZWQKCSAgaW50ZXJuYWxseS4gV2UgbWFyayB0aG9zZSB3ZSBjYW4ndCBtYWtlIHN0YXRpYyB3aXRoCgkgIEdfR05VQ19JTlRFUk5BTCBzbyB0aGF0IHRoZXkgZ2V0IGhpZGRlbiB3aXRoIHRoZSBhdXRvdG9vbHMKCSAgYnVpbGQgYXMgd2VsbCAoYWx0aG91Z2ggd2UgY291bGQganVzdCBwYXNzIC1mdmlzaWJpbGl0eT1oaWRkZW4KCSAgdGhlcmUgdG9vKS4KCjIwMTctMDgtMTEgMTQ6NTU6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsOiBzcHJpbmtsZSBtb3JlIEdTVF9FWFBPUlQKCjIwMTctMDgtMTEgMTQ6Mzk6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0bXBlZ3RzLmRlZjoKCSAgbXBlZ3RzOiBtYWtlIGFjY2lkZW50YWxseSBleHBvcnRlZCBkZWJ1ZyBjYXRlZ29yeSBzeW1ib2wgcHJpdmF0ZQoJICBXYXMgbmV2ZXIgaW4gaGVhZGVyIGZpbGVzLCB3YXMganVzdCBleHBvcnRlZCBieSBhY2NpZGVudCBiZWNhdXNlCgkgIG9mIHRoZSBnc3RfIHByZWZpeCBvZiB0aGUgdmFyaWFibGUgbmFtZS4KCjIwMTctMDgtMTEgMTQ6MjE6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgY29kZWNwYXJzZXJzOiBtYWtlIGRlYnVnIGNhdGVnb3JpZXMgc3RhdGljCgkgIFRoZXkncmUgb25seSB1c2VkIGludGVybmFsbHkuIFRoZSBWUDkgcGFyc2VyJ3MgZGVidWcKCSAgY2F0ZWdvcnkgc3ltYm9sIHdhcyBhY2NpZGVudGFsbHkgZXhwb3J0ZWQuCgoyMDE3LTA4LTA5IDE0OjU1OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IEFkZCBidXMtaWQgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjExMgoKMjAxNy0wOC0xMSAxMzo1OTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogaGlkZSBzeW1ib2xzIGJ5IGRlZmF1bHQgdW5sZXNzIGV4cGxpY2l0bHkgZXhwb3J0ZWQKCjIwMTctMDgtMTAgMjM6MjU6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRHJvcCBjdXJyZW50IGZyYW1lIGlmIHBhc3NpbmcgaXQgdG8gdGhlIGRlY29kZXIgY2F1c2VkIGFuIGVycm9yCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGdldCBpdCBhZ2FpbiBsYXRlciBmb3Igb3V0cHV0LCBob3dldmVyIHRoaXMgZnJhbWUgd2lsbAoJICBuZXZlciBhY3R1YWxseSBiZSBvdXRwdXQgc28gd2Ugd2lsbCBzaGlmdCB0aW1lc3RhbXBzLgoJICBUaGlzIGlzIGVzcGVjaWFsbHkgYmFkIGlmIHdlJ3JlIGhhbmRsaW5nIGEgbGl2ZSBzdHJlYW0gd2hlcmUgdGhlIGZpcnN0CgkgIGZyYW1lcyBhcmUgbm90IGtleWZyYW1lcy4gV2Ugd291bGQgb3V0cHV0IHRoZSBrZXlmcmFtZSB3aXRoIHRoZQoJICB0aW1lc3RhbXAgb2YgdGhlIGZpcnN0IGZyYW1lLCBhbmQgZXZlcnl0aGluZyB3b3VsZCBiZSB0b28gbGF0ZSB3aGVuCgkgIGFycml2aW5nIGluIHRoZSBzaW5rLgoKMjAxNy0wOC0xMCAyMzoyMTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBEb24ndCB1bnJlZiBOVUxMIGZyYW1lIG9uIEVPUyBkZWNvZGluZyBlcnJvcgoKMjAxNy0wOC0xMCAxNzowMDozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZnZjMzogVXNlIGNvcnJlY3Qgd3JhcHBpbmcgYnl0ZSB2YWx1ZQoKMjAxNy0wOC0xMCAwMTo0ODoxOCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBjb2xvcmltZXRyeSBmcm9tIGZpbmRfYmVzdF9mb3JtYXQuCgkgIFRoaXMgaW5jcmVhc2VzIHRoZSBjaGFuY2VzIHRoYXQgd2Ugd29uJ3QgbmVlZCB0byBkbyBhbnkgY29udmVyc2lvbgoJICBmb3IgYSBnaXZlbiBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYwNzgKCjIwMTctMDgtMTAgMDE6NDU6NTMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBpbXByb3ZlIGZpbmRfYmVzdF9mb3JtYXQgaGV1cmlzdGljLgoJICBUaGUgZ29hbCBoZXJlIGlzIHRvIG1pbmltaXplIHRoZSB3b3JrIG5lZWRlZCB0byBicmluZyBhbGwgaW1hZ2VzCgkgIHRvIGEgY29tbW9uIGZvcm1hdC4gQSBiZXR0ZXIgY3JpdGVyaWEgdGhhbiB0aGUgbnVtYmVyIG9mIHBhZHMKCSAgd2l0aCBhIGdpdmVuIGZvcm1hdCBpcyB0aGUgbnVtYmVyIG9mIHBpeGVscyB3aXRoIGEgZ2l2ZW4gZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2MDc4CgoyMDE3LTA4LTEwIDAxOjQzOjE1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IGltcHJvdmUgY29udmVyc2lvbiBkZWJ1Z2dpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NjA3OAoKMjAxNy0wOC0xMCAwOTowOToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmg6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgZ2wsIHdheWxhbmQ6IG1hcmsgbW9yZSBkZWNsYXJlZCBmdW5jdGlvbnMgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA4LTEwIDA5OjA3OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL21lc29uLmJ1aWxkOgoJICB0ZXN0czogZXhwb3J0IHN5bWJvbHMgb2YgcGFyc2VyIHRlc3RzIGhlbHBlciBsaWIgYW5kIG1ha2UgaXQgc3RhdGljCgkgIEFuZCBvbmx5IG1ha2UgdGhlIHRlc3RzIHRoYXQgdXNlIGl0IGxpbmsgYWdhaW5zdCB0aGUgaGVscGVyIGxpYi4KCjIwMTctMDgtMDkgMTQ6NTk6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBGcmVlIGRldm5hbWUgYmVmb3JlIHNldHRpbmcgaXQKCSAgVGhpcyBhdm9pZHMgbGVha2luZyB0aGUgZGV2bmFtZSBpZiB0aGUgcHJvcGVydHkgaXMgc2V0IHR3aWNlLgoKMjAxNy0wNy0wNSAyMDo1NToxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgoKMjAxNy0wOC0wOSAxNToxMDo1NiArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuaDoKCSAgY3VybGh0dHBzcmM6IHNldCBodHRwLXZlcnNpb24gZGVmYXVsdCBpZiBjdXJsIGRvZXMgbm90IGhhdmUgSFRUUDIgZmVhdHVyZSBwcmVzZW50CgkgIElmIHRoZSB2ZXJzaW9uIG9mIHRoZSBjdXJsIGxpYnJhcnkgaXMgcmVjZW50IGVub3VnaCB0byBhbGxvdyBzdXBwb3J0CgkgIGZvciBIVFRQMiAoaS5lLiBDVVJMX1ZFUlNJT05fSFRUUDIgaXMgZGVmaW5lZCkgYnV0IGRvZXMgbm90IGFjdHVhbGx5CgkgIGhhdmUgdGhhdCBmZWF0dXJlIGVuYWJsZWQsIHRoZSBjYWxsIHRvCgkgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoKSB1c2VzIGFuIGluY29ycmVjdCBkZWZhdWx0IHZhbHVlIGZvcgoJICB0aGUgImh0dHAtdmVyc2lvbiIgcHJvcGVydHkuIFRoZSBkZWZhdWx0IHNob3VsZCBiZSAxLjEgaWYgSFRUUDIgaXMKCSAgbm90IHN1cHBvcnRlZCBieSBsaWJjdXJsIG9yIGlmIG5vdCBlbmFibGVkIGJ5IGxpYmN1cmwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYwNDkKCjIwMTctMDgtMDkgMTE6MjY6MzcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGFzc3VtZSAyNSBmcHMgZm9yIHVua25vd24gZnJhbWVyYXRlCgkgIFRoaXMgaXMgYmV0dGVyIHRoYW4gcmVwb3J0aW5nIG5vIGxhdGVuY3kgYXQKCSAgYWxsIGFuZCB0aGVuIGxhdGVyIGZhaWxpbmcgaW4gbGl2ZSBwaXBlbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYwMzYKCjIwMTctMDgtMDMgMTE6MTY6MjAgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogc3VwcG9ydCB2bGFuIDgwMi4xcQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1Nzc4CgoyMDE3LTA4LTAzIDA4OjQyOjE0IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IFN1cHBvcnQgcGNhcCB3aXRoIG5hbm9zZWNvbmQgdGltZXN0YW1wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1NzcwCgoyMDE3LTA4LTAyIDE4OjE3OjA4ICswMTAwICBUb20gQmFpbGV5IDx0b20uYmFpbGV5QHlvdXZpZXcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggbGVhayBvZiBwYWQgcHJvYmVzIGluIEdzdEFkYXB0aXZlRGVtdXhTdHJlYW0KCSAgVGhpcyBjb21taXQgZW5zdXJlcyB0aGF0IHRoZSBpZGxlIHByb2JlIHdoaWNoIEdzdEFkYXB0aXZlRGVtdXhTdHJlYW0KCSAgYWRkcyB0byB0aGUgdXBzdHJlYW0gc291cmNlIHBhZCBpcyByZW1vdmVkIGFmdGVyIHVzZS4gUHJldmlvdXNseSBhIG5ldwoJICBwcm9iZSB3YXMgYWRkZWQgdG8gdGhlIHBhZCB3aGVuZXZlciBhIGZyYWdtZW50IHdhcyBkb3dubG9hZGVkLCBtZWFuaW5nCgkgIHRoZSBudW1iZXIgb2YgcGFkIHByb2JlIGNhbGxiYWNrcyBiZWluZyBleGVjdXRlZCBpbmNyZWFzZWQgY29udGludWFsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU5NTcKCjIwMTctMDgtMDcgMTQ6MjU6MjYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGZpeCBmbHVzaGluZyBzZWVrCgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgYnJva2VuLCBiZWNhdXNlIGEgZmx1c2hpbmcgc2VlayBjYXVzZXMgdW5sb2NrKCkKCSAgdG8gYmUgY2FsbGVkIGFuZCBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgdW5sb2NrKCkgd2UgY2xvc2UgdGhlCgkgIHNvY2tldCwgc28gdGhlIHNlZWsgZXJyb3JzIG91dC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSByZS1jb25uZWN0aW5nIGJlZm9yZSB0aGUgc2Vlay4KCSAgVW5mb3J0dW5hdGVseSwgYSBzZWVrIGRvZXMgbm90IHdvcmsgcHJvcGVybHkgcmlnaHQgYWZ0ZXIKCSAgcmUtY29ubmVjdGluZywgc28gYSBzbWFsbCBoYWNrIGlzIGFsc28gaW4gcGxhY2U6IHdlIHJlYWQgMSBidWZmZXIKCSAgYmVmb3JlIHNlZWtpbmcgdG8gYWxsb3cgbGlicnRtcCB0byBkbyBpdHMgcHJvY2Vzc2luZyBpbiBSVE1QX1JlYWQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1OTQxCgoyMDE3LTA4LTA3IDE0OjA1OjE0ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiByZW1vdmUgdW51c2VkIG1hY3JvCgoyMDE3LTA4LTA4IDA5OjIwOjAwICswMDAwICBkYXZlY3JhaWdAdW5iYWxhbmNlZGF1ZGlvLmNvbSA8ZGF2ZWNyYWlnQHVuYmFsYW5jZWRhdWRpby5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFN0b3AgcHJlcGFyZWQgc3RyZWFtcyBhcyB3ZWxsIGFzIHJ1bm5pbmcgc3RyZWFtcwoJICBUaGVyZSBjYW4gYmUgdHdpY2UgYXMgbWFueSBzdHJlYW0gdGFza3MgcnVubmluZyBhcyB0aGVyZSBhcmUgb3V0cHV0CgkgIHBhZHMgZm9yIHBsYXliYWNrIG9mIHZhcmlhbnQgSExTIHBsYXlsaXN0cy4gSGFsZiBvZiB0aGVtIGFyZSB0aGUKCSAgY3VycmVudCBwYWRzLCBhbmQgdGhlIG90aGVyIGhhbGYgYXJlIHRoZSBwYWRzIHRoYXQgYXJlIGFib3V0IHRvIGJlCgkgIHN3aXRjaGVkIHRvIGR1ZSB0byBhIGJpdHJhdGUgY2hhbmdlLgoJICBUaGUgb2xkIGNvZGUgb25seSBzdG9wcGVkIHRoZSBjdXJyZW50IHN0cmVhbXMgd2hpY2ggY291bGQgcmVzdWx0CgkgIGluIGEgZGVhZGxvY2sgb24gc3RvcHBpbmcgdGhlIHBpcGVsaW5lLiBUaGUgY2hhbmdlcyBmb3JjZSBzdG9wcGluZwoJICBhbmQgam9pbmluZyBvZiBhbnkgcHJlcGFyZWQgc3RyZWFtcyB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU5ODcKCjIwMTctMDgtMDcgMTY6NDE6MjcgKzAxMDAgIFNhbSBIdXJzdCA8U2FtLkh1cnN0QGJiYy5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc3JjLmM6CgkgIGN1cmxodHRwc3JjOiBEb2VzIHZlcnNpb24gc2V0IGZhaWwgYmVjYXVzZSBvZiBIVFRQMgoJICBDaGVjayB0byBzZWUgaWYgc2V0dGluZyBDVVJMX0hUVFBfVkVSU0lPTl8yXzAgZmFpbGVkIGR1ZSB0byBsYWNrIG9mIEhUVFAvMgoJICBzdXBwb3J0IG9yIHNvbWUgYmlnZ2VyIHVuZGVybHlpbmcgbGliY3VybCBmYWlsdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU4NzgKCjIwMTctMDgtMDcgMTA6MjU6MTcgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZGVmYXVsdHMuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuaDoKCSAgY3VybGh0dHBzcmM6IHNldCBodHRwLXZlcnNpb24gY2xhc3MgcHJvcGVydHkgYXMgZW51bQoJICBUaGlzIG1hdGNoZXMgYmV0dGVyIHdpdGggdGhlIHByZWZlcnJlZF9odHRwX3ZlcnNpb24gd2hpY2ggd2FzIGFscmVhZHkgZGVjbGFyZWQKCSAgYXMgZW51bS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTg3OAoKMjAxNy0wOC0wOCAxMTowNToxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkgIHBsYXllcjogQ29uc3RpZnkgdGhlIGNvbmZpZyBhcmd1bWVudCB0byBnc3RfcGxheWVyX2dldF92aWRlb19zbmFwc2hvdCgpCgkgIFRoaXMgc3RydWN0dXJlIGlzIG9ubHkgZXZlciByZWFkIGZyb20uCgoyMDE3LTA4LTA3IDE2OjAwOjE2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIFJldmVydCAia21zc2luazogc3VwcG9ydCB2aWRlb292ZXJsYXkgaW50ZXJmYWNlIgoJICBUaGlzIGlzIGNhdXNpbmcgaGFyZCBmYWlsdXJlIGZvciBub24tc3F1YXJlZCBwaXhlbC4gVGhlIGZpeCBpc24ndAoJICB0cml2aWFsIHNvIHRha2luZyBvZmZsaW5lIGJ5IHJldmVydGluZy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkYjA3ZjQ1MDdkYWQ2NTYxZmM3ZTkzMjA2MjRhYTdmMGYwZTEwYjM2LgoKMjAxNy0wOC0wNCAxMTowODoxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCBtaXggdXAgd2lkdGggYW5kIGhlaWdodAoJICBDSUQgMTQxNjEyOQoKMjAxNy0wOC0wMyAyMDoyMToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NvbXBvc2l0b3IvY3Jvc3NmYWRlLmM6CgkgIGV4YW1wbGVzOiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBjb21wb3NpdG9yIGNyb3NzZmFkZSBleGFtcGxlCgkgIHdhcm5pbmc6IGNvbnRyb2wgcmVhY2hlcyBlbmQgb2Ygbm9uLXZvaWQgZnVuY3Rpb24KCjIwMTctMDgtMDMgMjA6MTc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTctMDgtMDMgMjA6MTQ6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0Lmg6CgkgIGNvbXBvc2l0b3I6IHVwZGF0ZSBkaXN0ZWQgb3JjIGZhbGxiYWNrIGZpbGVzCgoyMDE3LTA3LTExIDIyOjA0OjU1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NvbXBvc2l0b3IvY3Jvc3NmYWRlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NvbXBvc2l0b3IvbWVzb24uYnVpbGQ6CgkqIHRlc3RzL2V4YW1wbGVzL21lc29uLmJ1aWxkOgoJKiB0ZXN0cy9tZXNvbi5idWlsZDoKCSAgdGVzdHM6IGV4YW1wbGVzOiBBZGQgYSBzaW1wbGUgY3Jvc3NmYWRlIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDgyNwoKMjAxNy0wNy0wNiAxNDoyNjoyMSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkgIGNvbXBvc2l0b3I6IEFkZCBzdXBwb3J0IGZvciBjcm9zc2ZhZGUgYmxlbmRpbmcKCSAgQ3Jvc3NmYWRpbmcgaXMgYSBiaXQgbW9yZSBjb21wbGV4IHRoYW4ganVzdCBoYXZpbmcgdHdvIHBhZHMgd2l0aCB0aGUKCSAgcmlnaHQga2V5ZnJhbWVzIGFzIHRoZSBibGVuZGluZyBpcyBub3QgZXhhY3RseSB0aGUgc2FtZS4KCSAgVGhlIGRpZmZlcmVuY2UgaXMgaW4gdGhlIHdheSB3ZSBjb21wdXRlIHRoZSBhbHBoYSBjaGFubmVsLCBpbiB0aGUgY2FzZQoJICBvZiBjcm9zc2ZhZGluZywgd2UgaGF2ZSB0byBjb21wdXRlIGFuIGFkZGl0aXZlIG9wZXJhdGlvbiBiZXR3ZWVuCgkgIHRoZSBkZXN0aW5hdGlvbiBhbmQgdGhlIHNvdXJjZSAoZmFjdG9yZWQgYnkgdGhlIGFscGhhIHByb3BlcnR5IG9mIGJvdGgKCSAgdGhlIGlucHV0IHBhZCBhbHBoYSBwcm9wZXJ0eSBhbmQgdGhlIGNyb3NzZmFkaW5nIHJhdGlvKSBiYXNpY2FsbHkgc28KCSAgdGhhdCB0aGUgY3Jvc3NmYWRlIHJlc3VsdCBvZiAyIG9wYXF1ZSBmcmFtZXMgaXMgYWxzbyBmdWxseSBvcGFxdWUgYXQgYW55CgkgIHRpbWUgaW4gdGhlIGNyb3NzZmFkaW5nIHByb2Nlc3MsIGF2b2lkIGJsZWVkaW5nIHRocm91Z2ggdGhlIGxheWVyCgkgIGJsZW5kaW5nLgoJICBTb21lIHJhdGlvbm5hbCBjYW4gYmUgZm91bmQgaW4gaHR0cHM6Ly9waGFicmljYXRvci5mcmVlZGVza3RvcC5vcmcvVDc3NzMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ4MjcKCjIwMTctMDctMjAgMTY6MTc6MTYgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2xpYmRlMjY1L2dzdGxpYmRlMjY1LmM6CgkgIGRlMjY1OiBGaXggcGx1Z2luIG5hbWUgdG8gbWF0Y2ggbmV3IHBsdWdpbiBuYW1pbmcgY29udmVudGlvbgoKMjAxNy0wNy0xNCAwOTo1NDo0MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IERvIG5vdCBkZXJlZmVyZW5jZSBhIE5VTEwgcG9pbnRlcgoKMjAxNy0wOC0wMiAxODo0Mzo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50YXRpb24KCjIwMTctMDgtMDIgMTA6NDY6NDYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVjb21tLmM6CgkgIGlwY3BpcGVsaW5lOiBkb24ndCB1c2UgZ19zdGVhbF9wb2ludGVyOyBpdCdzIG5vdCBpbiB0aGUgY3VycmVudCByZXF1aXJlZCB2ZXJzaW9uIG9mIEdMaWIKCSAgV2UgZGVwZW5kIG9uIEdMaWIgMi40MCwgZ19zdGVhbF9wb2ludGVyIHdhcyBpbnRyb2R1Y2VkIGluIDIuNDQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU2OTgKCjIwMTctMDgtMDEgMTc6MDc6NTkgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pcGNwaXBlbGluZS9tZXNvbi5idWlsZDoKCSogZ3N0L21lc29uLmJ1aWxkOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9pcGNwaXBlbGluZS9NYWtlZmlsZS5hbToKCSogc3lzL2lwY3BpcGVsaW5lL2dzdGlwY3BpcGVsaW5lLmM6CgkqIHN5cy9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZWNvbW0uYzoKCSogc3lzL2lwY3BpcGVsaW5lL2dzdGlwY3BpcGVsaW5lY29tbS5oOgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVzaW5rLmM6CgkqIHN5cy9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZXNpbmsuaDoKCSogc3lzL2lwY3BpcGVsaW5lL2dzdGlwY3BpcGVsaW5lc3JjLmM6CgkqIHN5cy9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZXNyYy5oOgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjc2xhdmVwaXBlbGluZS5jOgoJKiBzeXMvaXBjcGlwZWxpbmUvZ3N0aXBjc2xhdmVwaXBlbGluZS5oOgoJKiBzeXMvaXBjcGlwZWxpbmUvbWVzb24uYnVpbGQ6CgkqIHN5cy9pcGNwaXBlbGluZS9wcm90b2NvbC50eHQ6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGlwY3BpcGVsaW5lOiBtb3ZlIHRvIHN5cy8gYW5kIG1ha2UgaXQgZGVwZW5kZW50IG9uIHBsYXRmb3JtIHN1cHBvcnQgZm9yIHVuaXggc29ja2V0cwoKMjAxNy0wOC0wMSAxMDoxNToxMyAtMDQwMCAgR2VvcmcgTGlwcGl0c2NoIDxnbGlwcGl0c2NoQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbmtzcmM6IFJhaXNlIGxpbWl0IG9mIGRldmljZXMgdG8gMTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTY5NAoKMjAxNy0wOC0wMSAxMzoyNjozOCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pcGNwaXBlbGluZS9tZXNvbi5idWlsZDoKCSogZ3N0L21lc29uLmJ1aWxkOgoJICBtZXNvbjogZW5hYmxlIGJ1aWxkaW5nIHRoZSBpcGNwaXBlbGluZSBwbHVnaW4KCjIwMTctMDctMDUgMTY6NTY6MjQgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pcGNwaXBlbGluZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvaXBjcGlwZWxpbmUvaXBjLXBsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvaXBjcGlwZWxpbmUvaXBjcGlwZWxpbmUxLmM6CgkgIHRlc3RzL2V4YW1wbGVzOiBhZGQgbWFudWFsIHRlc3RzL2V4YW1wbGVzIGZvciB0aGUgaXBjcGlwZWxpbmUgZWxlbWVudHMKCSAgaXBjcGlwZWxpbmUxIGlzIGEgdmVyeSBzaW1wbGUgdGVzdCB0aGF0IHNob3dzIGEgc2hvcnQgdmlkZW90ZXN0c3JjIGZyYWdtZW50LgoJICBpcGMtcGxheSBpcyBhIGNsb25lIG9mIGdzdC1wbGF5IHRoYXQgc3BsaXRzIHRoZSBwaXBlbGluZSBpbiB0d28KCSAgcHJvY2Vzc2VzLCBydW5uaW5nIHRoZSBzb3VyY2UgJiBkZW11eGVyIG9uIHRoZSBtYXN0ZXIgcHJvY2VzcwoJICBhbmQgdGhlIGRlY29kZXJzICYgc2lua3Mgb24gdGhlIHNsYXZlLgoKMjAxNy0wNy0wNSAxNjo1Mzo0OCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvaXBjcGlwZWxpbmUuYzoKCSogdGVzdHMvZmlsZXMvc2luZS53YXY6CgkqIHRlc3RzL2ZpbGVzL3Rlc3QudHM6CgkgIHRlc3RzL2NoZWNrOiBhZGQgYXV0b21hdGljIHVuaXQgdGVzdCBzdWl0ZSBmb3IgdGhlIGlwY3BpcGVsaW5lIGVsZW1lbnRzCgkgIEFsbCB0ZXN0cyBydW4gd2l0aGluIGEgY29tbW9uIGZyYW1ld29yayBmb3Igc3BsaXR0aW5nIHByb2Nlc3NlcwoJICBhbmQgbWFraW5nIHRoZW0gaW50ZXJyYWN0IHByb3Blcmx5IHdpdGggdGhlIGdzdCBjaGVjayBzeXN0ZW0uCgoyMDE3LTA3LTA1IDE2OjUwOjIyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXBjcGlwZWxpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZS5jOgoJKiBnc3QvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVjb21tLmM6CgkqIGdzdC9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZWNvbW0uaDoKCSogZ3N0L2lwY3BpcGVsaW5lL2dzdGlwY3BpcGVsaW5lc2luay5jOgoJKiBnc3QvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVzaW5rLmg6CgkqIGdzdC9pcGNwaXBlbGluZS9nc3RpcGNwaXBlbGluZXNyYy5jOgoJKiBnc3QvaXBjcGlwZWxpbmUvZ3N0aXBjcGlwZWxpbmVzcmMuaDoKCSogZ3N0L2lwY3BpcGVsaW5lL2dzdGlwY3NsYXZlcGlwZWxpbmUuYzoKCSogZ3N0L2lwY3BpcGVsaW5lL2dzdGlwY3NsYXZlcGlwZWxpbmUuaDoKCSogZ3N0L2lwY3BpcGVsaW5lL3Byb3RvY29sLnR4dDoKCSAgaXBjcGlwZWxpbmU6IGludHJvZHVjZSBuZXcgcGx1Z2luIGZvciBpbnRlci1wcm9jZXNzIHBpcGVsaW5lcwoJICBUaGVzZSBlbGVtZW50cyBhbGxvdyBzcGxpdHRpbmcgYSBwaXBlbGluZSBhY3Jvc3Mgc2V2ZXJhbCBwcm9jZXNzZXMsCgkgIHdpdGggY29tbXVuaWNhdGlvbiBkb25lIGJ5IHRoZSBpcGNwaXBlbGluZXNpbmsgYW5kIGlwY3BpcGVsaW5lc3JjCgkgIGVsZW1lbnRzLiBUaGUgbWFpbiB1c2UgY2FzZSBpcyB0byBzcGxpdCBhIHBsYXliYWNrIHBpcGVsaW5lIGludG8KCSAgYSBwcm9jZXNzIHRoYXQgcnVucyBuZXR3b3JraW5nLCBwYXJzZXIgJiBkZW11eGVyIGFuZCBhbm90aGVyIHByb2Nlc3MKCSAgdGhhdCBydW5zIHRoZSBkZWNvZGVyICYgc2luaywgZm9yIHNlY3VyaXR5IHJlYXNvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMTQKCjIwMTctMDgtMDEgMTA6MjE6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGppc29yY2VAb2Jsb25nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSAgZ2w6IHJldHVybiBOVUxMIG1lbSBpZiBlZ2xDcmVhdGVJbWFnZSBmYWlsZWQKCSAgRm91bmQgb24gcnBpIHdoZW4gZ3B1X21lbSBpcyB0b28gbG93IHNvIHRoZXJlIGlzIG5vdCBlbm91Z2ggbWVtb3J5IHRvCgkgIGNyZWF0ZSB0aGUgZWdsaW1hZ2UuIEJ1dCBzdGlsbCBnc3RfYnVmZmVyX3Bvb2xfYWNxdWlyZV9idWZmZXIgc3VjY2VlZGVkLgoJICBBbmQgaXQgbGVhZHMgdG8gYSBDUklUSUNBTCBhc3NlcnQ6CgkgIGdzdF9lZ2xfaW1hZ2VfZ2V0X2ltYWdlOiBhc3NlcnRpb24gJ0dTVF9JU19FR0xfSU1BR0UgKGltYWdlKScgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODU1MTgKCjIwMTctMDYtMjAgMTM6MTE6MjcgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogc3VwcG9ydCB2aWRlb292ZXJsYXkgaW50ZXJmYWNlCgkgIEltcGxlbWVudCB2aWRlb292ZXJsYXkgaW50ZXJmYWNlIGluIGttc3NpbmssIGRpdmlkZWQgaW50byB0d28gY2FzZXM6CgkgIHdoZW4gZHJpdmVyIHN1cHBvcnRzIHNjYWxlLCB0aGVuIHdlIGRvIHJlZnJlc2ggaW4gc2hvd19mcmFtZSgpOyBpZgoJICBub3QsIHNlbmQgYSByZWNvbmZpZ3VyZSBldmVudCB0byB1cHN0cmVhbSBhbmQgcmUtbmVnb3RpYXRlLCB1c2luZyB0aGUKCSAgbmV3IHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1OTkKCjIwMTctMDctMzAgMTI6MTc6NTcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGxvZyBhbGwgZXZlbnRzCgkgIFdlIGFscmVhZHkgbG9nIGEgZmV3IGV2ZW50cyBleHBsaWNpdGx5LCBqdXN0IGxvZyB0aGVtIGFsbCB3aXRoIG1vcmUgZGV0YWlsLgoKMjAxNy0wNy0yOSAxNjo1NDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogZml4IGhlYWRlciBmb3JtYXR0aW5nCgoyMDE3LTA3LTI4IDE2OjU4OjM4ICswMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2w6IGRvY3VtZW50IG1pc3NpbmcgR3N0R0xTaGFkZXIgZnVuY3Rpb25zCgoyMDE3LTA3LTI4IDExOjAwOjEyICswMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsL2RvY3M6IHNvbWUgZG9jdW1lbnRhdGlvbiB1cGRhdGVzCgkgIEFkZCBzb21lIG1pc3NpbmcvaW5jb21wbGV0ZSBkb2NzCgoyMDE3LTA3LTI2IDE5OjA0OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvZG9jczogY29ycmVjdGx5IG5hbWUgb3VyIG9iamVjdHMgaW4gdGhlIGRvY3VtZW50YXRpb24gR3N0R2wgLT4gR3N0R0wKCjIwMTctMDctMjYgMTk6MDM6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5oOgoJICBnbC9kb2NzOiBkb2N1bWVudCBHc3RHTEZvcm1hdCBlbnVtCgoyMDE3LTA3LTI2IDE3OjIyOjMxIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJscXVldWUuYzoKCSAgY3VybDogY3VybHF1ZXVlOiBhZGQgc3ltYm9sIG5hbWUgdG8gYXZvaWQgY29uZnVzaW5nIGd0a2RvYwoKMjAxNy0wNy0yNiAxNjo1MTo1MCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSAgY3VybGh0dHBzcmM6IGRvIG5vdCBjaGVjayBmb3IgTlVMTCBiZWZvcmUgZ19mcmVlKCkKCSAgZ19mcmVlKCkgaXMgTlVMTC1zYWZlLgoKMjAxNy0wNy0yNiAxNzowNjoxNyArMDEwMCAgU2FtIEh1cnN0IDxTYW0uSHVyc3RAYmJjLmNvLnVrPgoKCSogZXh0L2N1cmwvY3VybHRhc2suaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHF1ZXVlLmM6CgkgIGN1cmxodHRwc3JjOiBGaXggZmxhZ2dlZCBDb3Zlcml0eSBlcnJvcnMKCSAgRml4ZXMgQ0lEcyAxNDE1NzA3IC0gMTQxNTcxNwoKMjAxNy0wNy0yNiAxNzo0MzoxOSArMDEwMCAgU2FtIEh1cnN0IDxTYW0uSHVyc3RAYmJjLmNvLnVrPgoKCSogZXh0L2N1cmwvY3VybHRhc2suaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGRlZmF1bHRzLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc3JjLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc3JjLmg6CgkgIGN1cmw6IFJlb3JnYW5pc2UgaGVhZGVyIGZpbGVzIHRvIGZpeCBtYWNPUyBidWlsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI2MQoKMjAxNy0wNy0yMyAxMzoyNjoyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiB1c2UgbG9jYWwgdmFyCgkgIEluc3RlYWQgb2YgdGhlIHNlbGYtPnByaXYtPiBkZXJlZiB1c2UgdGhlIGxvY2FsIHZhciB3ZSBjcmVhdGVkIGFscmVhZHkuCgoyMDE3LTA3LTI2IDA5OjE5OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzcmMuYzoKCSAgY3VybGh0dHBzcmM6IEZpeCBjb21waWxhdGlvbiB3aXRob3V0IGRlYnVnZ2luZyBzeXN0ZW0gZW5hYmxlZAoKMjAxNy0wNy0yNSAxNToyMzo1NyArMDEwMCAgU2FtIEh1cnN0IDxTYW0uSHVyc3RAYmJjLmNvLnVrPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2N1cmx0YXNrLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxkZWZhdWx0cy5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNyYy5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNyYy5oOgoJKiBleHQvY3VybC9nc3RjdXJscXVldWUuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHF1ZXVlLmg6CgkqIGV4dC9jdXJsL21lc29uLmJ1aWxkOgoJICBjdXJsOiBBZGQgY3VybGh0dHBzcmMgZWxlbWVudAoJICBNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYmJjL2dzdC1jdXJsaHR0cHNyYyBjb21taXQKCSAgZjhhYWJjZmM1YzUwYTQ0ZjMzNjJkZTgzMTM3N2Q2ZTg2ZGNkMmQ0OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjYxCgoyMDE3LTA3LTE3IDE2OjA3OjIxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkgIGttc2FsbG9jYXRvcjogYWRkIGRyaXZlciBwaXRjaCBzdXBwb3J0IGZvciBwbGFuYXIgZm9ybWF0cwoJICBXZSB1c2VkIHRvIHRvIGhhbmRsZSB0aGUgZHJpdmVyIHBpdGNoIG9ubHkgZm9yIHNpbmdsZSBwbGFuIHZpZGVvIGZvcm1hdC4KCSAgQWRkIHN1cHBvcnQgZm9yIG11bHRpIHBsYW5lcyBmb3JtYXQgYnkgcmUtdXNpbmcgdGhlIGV4dHJhcG9sYXRlIGZ1bmN0aW9uCgkgIGZyb20gdGhlIHY0bDIgZWxlbWVudC4KCSAgQWxzbyB1c2UgdGhpcyBwaXRjaCB0byBjYWxjdWxhdGUgdGhlIHByb3BlciBvZmZzZXRzLgoJICBQcmV2ZW50IERSTSBkcml2ZXJzIHRvIHBpY2sgYSBzbG93IHBhdGggaWYgdGhlIHBpdGNoZXMvb2Zmc2V0cyBkb24ndAoJICBtYXRjaCB0aGUgb25lcyBpdCByZXBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTAyOQoKMjAxNy0wNy0xNyAxNTo1ODo1NyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJICBrbXNhbGxvY2F0b3I6IGlubGluZSBnc3Rfa21zX2FsbG9jYXRvcl9hbGxvY19lbXB0eSgpCgkgIE5vIHNlbWFudGljIGNoYW5nZSwganVzdCByZW5hbWVkIHRoZSAndG1wJyB2YXJpYWJsZSB0byBhIG1vcmUgbWVhbmluZ2Z1bAoJICBuYW1lIGFuZCB0byB1c2UgdGhlIHNhbWUgc3RydWN0dXJlIGFzIGluIGdzdF9rbXNfYWxsb2NhdG9yX2JvX2FsbG9jKCkuCgkgIE5lZWRlZCBhcyBJJ20gZ29pbmcgdG8gbW92ZSB0aGUgZ3N0X21lbW9yeV9pbml0KCkgY2FsbCBhZnRlciB0aGUKCSAgYWxsb2NhdGlvbiBvZiB0aGUgRFVNQiBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUwMjkKCjIwMTctMDctMjUgMTA6MDM6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MgNC44LjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTM2NwoKMjAxNy0wNy0yNCAxODozODo1NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIHRoZSBHQVAgZXZlbnQgZnJvbSB0aGUgcXVldWUgYmVmb3JlIHF1ZXVlaW5nIHVwIHRoZSBHQVAgYnVmZmVyCgkgIE90aGVyd2lzZSBjaGVja19ldmVudHMoKSB3aWxsIG5vdCByZW1vdmUgdGhlIEdBUCBldmVudCAoYXMgdGhlIHF1ZXVlCgkgIHRhaWwgaXMgbm90IHRoZSBldmVudCBhbnltb3JlIGJ1dCB0aGUgR0FQIGJ1ZmZlciksIHRoZW4gdGhlIEdBUCBidWZmZXIKCSAgaXMgaGFuZGxlZCwgdGhlbiB0aGUgR0FQIGV2ZW50IGlzIGhhbmRsZWQgYWdhaW4sIC4uLiBmb3JldmVyLgoKMjAxNy0wNy0yNCAxNzowMDowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENvcnJlY3RseSBjb25zaWRlciBmcmFtZSByZW9yZGVyaW5nIGZvciB0aW1lY29kZSBjYWxjdWxhdGlvbgoKMjAxNy0wNy0yNCAxNjo1NDoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVzZSBtYXRlcmlhbCB0cmFjayBlZGl0IHJhdGUgZm9yIGNvbXBvbmVudCBQVFMgb2Zmc2V0dGluZwoKMjAxNy0wNy0yNCAxNjo0OToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogT3V0cHV0IHRpbWVjb2RlcyBmb3IgdmlkZW8gc3RyZWFtcwoKMjAxNy0wNy0yNCAxNjoyMTozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogS2VlcCB0cmFjayBvZiBjb21wb25lbnQgc3RhcnQgcG9zaXRpb25zIGFuZCBtYXRlcmlhbCB0cmFjayBwb3NpdGlvbnMKCSAgVGhpcyBhbGxvd3MgdXMgdG8ga25vdyBleGFjdGx5IHdoZXJlIGluIHRoZSBtYXRlcmlhbCB0cmFjayB3ZSBhcmUsIGFuZAoJICBob3cgdG8gY29udmVydCBmcm9tIGEgUFRTIGZvciBhIHNvdXJjZSB0cmFjayB0byB0aGUgYWN0dWFsIFBUUyBvZiB0aGUKCSAgbWF0ZXJpYWwgdHJhY2sgKGkuZS4gYnkgYWRkaW5nIHRoZSBjb21wb25lbnQgc3RhcnQgcG9zaXRpb24pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg1MTE5CgoyMDE3LTA3LTIxIDEyOjI4OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgdHNtdXg6IEZpeCBtYWtlIGRpc3RjaGVjawoKMjAxNy0wNy0yMSAwODo0Mzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsOiBmaXggZy1pIGFubm90YXRpb25zIGZvciBnbGZyYW1lYnVmZmVyCgkgIGdzdGdsZnJhbWVidWZmZXIuYzoxNzY6IEVycm9yOiBHc3RHTDogYW5ub3RhdGlvbnMgbm90IHN1cHBvcnRlZCBmb3IgdGFnICJTaW5jZToiLgoKMjAxNy0wNy0yMSAwOTozMzo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbWVzb24uYnVpbGQ6CgkgIHRzbXV4OiBBZGQgbXBlZ3RzbXV4X2pwZWcyMDAwLmMgdG8gbWVzb24uYnVpbGQKCjIwMTctMDctMjEgMDk6Mjc6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIHRzbXV4OiBTdG9yZSBQRVMgcGF5bG9hZCBzaXplIGluIGEgMzIgYml0IGludGVnZXIKCSAgV2hpbGUgdGhlIHNpemUgaW4gdGhlIHBhY2tldCBpcyBvbmx5IDE2IGJpdHMsIHdlIG5lZWQgdG8gaGFuZGxlIGJpZ2dlcgoJICBzaXplcyB3aXRob3V0IG92ZXJmbG93aW5nLiBGb3IgdmlkZW8gc3RyZWFtcyB0aGlzIGNhbiBoYXBwZW4sIDAgaXMKCSAgd3JpdHRlbiB0byB0aGUgc3RyZWFtIGluc3RlYWQuCgkgIFRoaXMgZml4ZXMgbXV4aW5nIG9mIGJ1ZmZlcnMgPj0gMioqMTYuCgoyMDE3LTA3LTE5IDEwOjE0OjIxIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9qcGVnMjAwMC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9qcGVnMjAwMC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkgIHRzbXV4L3RzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBKUEVHMjAwMAoJICBCYXNlZCBvbiBwYXRjaGVzIGJ5IE1pbG9zIFNlbGVjZW5pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzIzCgoyMDE3LTA3LTIwIDEwOjI5OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9tZXNvbi5idWlsZDoKCSAgZDNkc2lua3dyYXBwZXI6IE1ha2UgdGhlIERMTCBuYW1lIG1hdGNoIHRoZSBwbHVnaW4gbmFtZQoJICBPdGhlcndpc2UsIHNpbmNlIDEuMTIsIHRoZSBwbHVnaW4gZ2V0cyBibGFja2xpc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NTE2OAoKMjAxNy0wNy0yMCAxODowOToxNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEZpeCBidWlsZGluZyB3aXRoIE1TWVMyJ3MgTWluR1cKCSAgUmVwb3J0ZWQgYW5kIHRlc3RlZCBieSBQaGlsaXBwZSBSZW5vbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDk0MwoKMjAxNy0wNy0yMCAxODo1MTo1MyArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvc2htL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZml4IHBvdGVudGlhbGx5IHVuZGVmaW5lZCBzaG1fZGVwcyB2YXJpYWJsZQoKMjAxNy0wNy0yMCAxODo0MzoxMSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL21lc29uLmJ1aWxkOgoJICBtZXNvbjogbWFrZSBzbW9vdGhzdHJlYW1pbmcgZGVwZW5kIG9uIGdpbwoKMjAxNy0wNy0yMCAxNzo0OTo1OSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBzcGVjaWZ5IGZhbGxiYWNrIGZvciBsaWJnbW9kdWxlX2RlcAoJICBGaXhlcyBidWlsZCB3aXRoIGdsaWIgYnVpbHQgYXMgYSBzdWJwcm9qZWN0LgoKMjAxNy0wNy0xOSAwNDoxOTozNCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggZm9ybWF0IHNwZWNpZmllciB3YXJuaW5ncyBpbiBsb2dnaW5nIHYyCgkgIEhSRVNVTFQgaXMgdW5zaWduZWQgbG9uZyBvbiBXaW5kb3dzLCBidXQgdGhlIERlY2tsaW5rIGhlYWRlcnMgZGVmaW5lCgkgIGl0IHRvICdpbnQnIG9uIExpbnV4LiBDb25mdXNpbmdseSwgdGhlIGRlZmluZXMgdGhhdCB0YWxrIGFib3V0IHRoZQoJICBwb3NzaWJsZSByZXR1cm4gdmFsdWVzIGZvciBpdCB1c2UgbG9uZyBjb25zdGFudHMuIFRoZSBlYXN5IGZpeCB3b3VsZAoJICBiZSB0byBjaGFuZ2UgdGhlIGxpbnV4L0xpbnV4Q09NLmggaGVhZGVyLCBidXQgdGhhdCdzIGNvcGllZCBmcm9tIHRoZQoJICBkZWNrbGluayBTREsuCgkgIENoYW5nZSB0aGUgbG9nZ2luZyB0byBhbHdheXMgdXBjYXN0IHRvIHVuc2lnbmVkIGxvbmcgd2hpbGUgcHJpbnRpbmcKCSAgSFJFU1VMVCBmb3IgY29uc2lzdGVuY3kgYWNyb3NzIHBsYXRmb3Jtcy4KCjIwMTctMDctMTkgMDQ6MTQ6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogRml4IENJIGZhaWx1cmUgZHVlIHRvIG1pc3NpbmcgV0lOQVBJIGRlZmluaXRpb24KCSAgV0lOQVBJIGlzIGZvciB0aGUgd2luZG93cyBjYWxsaW5nIGNvbnZlbnRpb24gdG8gdXNlLCBhbmQgc2hvdWxkIGV4cGFuZAoJICB0byBub3RoaW5nIG9uIExpbnV4LgoJICBodHRwczovL2J1aWxkLmdub21lLm9yZy9jb250aW51b3VzL2J1aWxkbWFzdGVyL2J1aWxkcy8yMDE3LzA3LzE4Lzc2L2J1aWxkL2xvZy1nc3QtcGx1Z2lucy1iYWQudHh0CgoyMDE3LTA3LTE5IDAyOjIxOjQyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggZm9ybWF0IHNwZWNpZmllciB3YXJuaW5ncyBpbiBsb2dnaW5nCgkgIGdzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOjQyNTo3OiB3YXJuaW5nOiBmb3JtYXQgJyV4JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3Vuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdIUkVTVUxUIHtha2EgbG9uZyBpbnR9JyBbLVdmb3JtYXRdCgkgIFthbmQgc28gb25dCgoyMDE3LTA3LTE5IDAyOjE5OjQ3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGJ1aWxkIG9uIG1pbmd3MzIgYnkgYWRkaW5nIG1pc3NpbmcgV0lOQVBJCgkgIGdzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoxNTU6MTk6IGVycm9yOiBjb25mbGljdGluZyB0eXBlIGF0dHJpYnV0ZXMgc3BlY2lmaWVkIGZvciAndmlydHVhbCBIUkVTVUxUIEdTdHJlYW1lckF1ZGlvT3V0cHV0Q2FsbGJhY2s6OlF1ZXJ5SW50ZXJmYWNlKGNvbnN0IElJRCYsIHZvaWQqKiknCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdmFyL2xpYi9qZW5raW5zL3dvcmtzcGFjZS9jZXJiZXJvLWNyb3NzLW1pbmd3MzIvd29ya2Rpci9taW5ndy93MzIvYmluLy4uL2xpYi9nY2MvaTY4Ni13NjQtbWluZ3czMi80LjcuMy8uLi8uLi8uLi8uLi9pNjg2LXc2NC1taW5ndzMyL2luY2x1ZGUvb2JqYmFzZS5oOjE1MzowLAoJICBmcm9tIC92YXIvbGliL2plbmtpbnMvd29ya3NwYWNlL2NlcmJlcm8tY3Jvc3MtbWluZ3czMi93b3JrZGlyL21pbmd3L3czMi9iaW4vLi4vbGliL2djYy9pNjg2LXc2NC1taW5ndzMyLzQuNy4zLy4uLy4uLy4uLy4uL2k2ODYtdzY0LW1pbmd3MzIvaW5jbHVkZS9vbGUyLmg6MTYsCgkgIGZyb20gL3Zhci9saWIvamVua2lucy93b3Jrc3BhY2UvY2VyYmVyby1jcm9zcy1taW5ndzMyL3dvcmtkaXIvbWluZ3cvdzMyL2Jpbi8uLi9saWIvZ2NjL2k2ODYtdzY0LW1pbmd3MzIvNC43LjMvLi4vLi4vLi4vLi4vaTY4Ni13NjQtbWluZ3czMi9pbmNsdWRlL3dpbmRvd3MuaDo5NCwKCSAgZnJvbSAvdmFyL2xpYi9qZW5raW5zL3dvcmtzcGFjZS9jZXJiZXJvLWNyb3NzLW1pbmd3MzIvd29ya2Rpci9taW5ndy93MzIvYmluLy4uL2xpYi9nY2MvaTY4Ni13NjQtbWluZ3czMi80LjcuMy8uLi8uLi8uLi8uLi9pNjg2LXc2NC1taW5ndzMyL2luY2x1ZGUvcnBjLmg6MTYsCgkgIGZyb20gd2luL0RlY2tMaW5rQVBJLmg6MjcsCgkgIGZyb20gZ3N0ZGVja2xpbmsuaDozNSwKCSAgZnJvbSBnc3RkZWNrbGlua2F1ZGlvc2luay5oOjI3LAoJICBmcm9tIGdzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoyNToKCSAgL3Zhci9saWIvamVua2lucy93b3Jrc3BhY2UvY2VyYmVyby1jcm9zcy1taW5ndzMyL3dvcmtkaXIvbWluZ3cvdzMyL2Jpbi8uLi9saWIvZ2NjL2k2ODYtdzY0LW1pbmd3MzIvNC43LjMvLi4vLi4vLi4vLi4vaTY4Ni13NjQtbWluZ3czMi9pbmNsdWRlL3Vua253bi5oOjY3OjI1OiBlcnJvcjogICBvdmVycmlkaW5nICd2aXJ0dWFsIEhSRVNVTFQgSVVua25vd246OlF1ZXJ5SW50ZXJmYWNlKGNvbnN0IElJRCYsIHZvaWQqKiknCgkgIChhbmQgbWFueSBtb3JlKQoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL2NlcmJlcm8tY3Jvc3MtbWluZ3czMi82NDA3L2NvbnNvbGUKCjIwMTctMDctMTggMTI6NDY6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW86IG1hcmsgc3ltYm9scyBleHBsaWNpdGx5IGZvciBleHBvcnQgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA3LTE4IDEyOjQ1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBtYXJrIHN5bWJvbHMgZXhwbGljaXRseSBmb3IgZXhwb3J0IHdpdGggR1NUX0VYUE9SVAoKMjAxNy0wNy0xOCAxMjo0MzoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLWctbWFpbi1jb250ZXh0LXNpZ25hbC1kaXNwYXRjaGVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSAgcGxheWVyOiBtYXJrIHN5bWJvbHMgZXhwbGljaXRseSBmb3IgZXhwb3J0IHdpdGggR1NUX0VYUE9SVAoKMjAxNy0wNy0xOCAwMToxNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJICBvcGVuY3Y6IG1hcmsgc3ltYm9scyBleHBsaWNpdGx5IGZvciBleHBvcnQgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA3LTE4IDAxOjEwOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHNfZW51bS5weToKCSAgbXBlZ3RzOiBtYXJrIHN5bWJvbHMgZXhwbGljaXRseSBmb3IgZXhwb3J0IHdpdGggR1NUX0VYUE9SVAoKMjAxNy0wNy0xOCAwMDo0OTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL2J1aWxkX21rZW51bS5weToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IG1hcmsgc3ltYm9scyBleHBsaWNpdGx5IGZvciBleHBvcnQgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA3LTE4IDAwOjIzOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgaW5zZXJ0YmluOiBtYXJrIHN5bWJvbHMgZXhwbGljaXRseSBmb3IgZXhwb3J0IHdpdGggR1NUX0VYUE9SVAoKMjAxNy0wNS0yMCAxMzoxOTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1hcmsgc3ltYm9scyBleHBsaWNpdGx5IGZvciBleHBvcnQgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA3LTE4IDAwOjMxOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IG1hcmsgc3ltYm9scyBleHBsaWNpdGx5IGZvciBleHBvcnQgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA3LTE4IDAwOjMwOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBtYXJrIHN5bWJvbHMgZXhwbGljaXRseSBmb3IgZXhwb3J0IHdpdGggR1NUX0VYUE9SVAoKMjAxNy0wNy0xOCAwMDoyOTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdG5vbnN0cmVhbWF1ZGlvZGVjb2Rlci5oOgoJICBhdWRpbzogbWFyayBzeW1ib2xzIGV4cGxpY2l0bHkgZm9yIGV4cG9ydCB3aXRoIEdTVF9FWFBPUlQKCjIwMTctMDctMTggMDA6Mjc6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWxsb2NhdG9ycy9nc3RwaHlzbWVtb3J5Lmg6CgkgIGFsbG9jYXRvcnM6IG1hcmsgc3ltYm9scyBleHBsaWNpdGx5IGZvciBleHBvcnQgd2l0aCBHU1RfRVhQT1JUCgoyMDE3LTA3LTE4IDAwOjI2OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBtYXJrIHN5bWJvbHMgZXhwbGljaXRseSBmb3IgZXhwb3J0IHdpdGggR1NUX0VYUE9SVAoKMjAxNy0wNy0xMCAxNjozOTo0OSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSAgd2VidnR0ZW5jOiBDaGFuZ2Ugc3JjIHBhZCB0ZW1wbGF0ZSB0byBhcHBsaWNhdGlvbi94LXN1YnRpdGxlLXZ0dAoJICBVc2UgY29uc2lzdGVudCBtaW1lLXR5cGUgd2l0aCBzdWJwYXJzZSBlbGVtZW50IGZvciB3ZWJ2dHQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3MTUKCjIwMTctMDctMDkgMTQ6MzQ6MjEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQWRkIHN1cHBvcnQgd2VidnR0IHN1YnRpdGxlIHN0cmVhbQoJICBFbmFibGUgZXhwb3Npbmcgd2VidnR0IHN1YnRpdGxlIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ3MTUKCjIwMTctMDctMTggMDA6NTI6MDMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IHNldCBHU1RfUEFSQU1fTVVUQUJMRV9QTEFZSU5HIGZvciBiaXRyYXRlL21heC1iaXRyYXRlIHByb3BlcnRpZXMKCSAgVGhpcyB3YXkgaXMgZG9jdW1lbnRlZCB0aGF0IHRoZXNlIHByb3BlcnRpZXMgY2FuIGJlIGNoYW5nZWQgaW4gYW55IHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ5ODgKCjIwMTctMDctMTggMDA6NDk6MTIgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkgIG9wZW5oMjY0ZW5jOiBhbGxvdyB0byBkeW5hbWljYWxseSBjaGFuZ2UgYml0cmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0OTg4CgoyMDE3LTA3LTE4IDAwOjM2OjI3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBmaXggaW5kZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDk4OAoKMjAxNy0wNy0xNyAxOToyOTozOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogYWRkIGV4dC9nc2V0dGluZ3MgdG8gdGhlIGNydWZ0IGxpc3QKCjIwMTctMDctMTEgMTA6MDk6MDIgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJICBqcGVnMjAwMHBhcnNlOiBzdXBwb3J0IDItY29tcG9uZW50IGltYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0Nzk3CgoyMDE3LTA2LTI0IDExOjE4OjA2IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAganBlZzIwMDBwYXJzZTogaW5pdGlhbCBzdXBwb3J0IGZvciBKUDIgZm9ybWF0CgkgIFRoaXMgaXMgYSBzaW1wbGUgd2F5IG9mIHN1cHBvcnRpbmcgSlAyIDogd2UgdHJlYXQgaXMgYXMgSlBDLCBhbmQgdGhyb3cKCSAgYXdheSBoZWFkZXIgaW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzU0NgoKMjAxNy0wNy0wNiAxNToxNDo1NyAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkgIGpwZWcyMDAwcGFyc2U6IFBhcnNlIGNvbG9yaW1ldHJ5LCBpbnRlcmxhY2UtbW9kZSwgZmllbGQtb3JkZXIsIG11bHRpdmlldy1tb2RlIGFuZCBjaHJvbWEtc2l0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzIzCgoyMDE3LTA3LTEzIDEzOjE3OjU3ICswNTMwICBTYXR5YSBQcmFrYXNoIEd1cHRhIDxzcC5ndXB0YUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIGdzbTogdW5tYXAgb3V0cHV0IGJ1ZmZlciB3aGVuIGRvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDg4NwoKMjAxNy0wNy0xNyAwODowNjoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEZpeCBHTEVTMiBjaGVjawoJICBPbiBzeXN0ZW1zIHdpdGhvdXQgcGtnLWNvbmZpZywgd2UgaGF2ZSB0aGUgdGhlIGxpYnJhcnkgcHJlc2VudCBidXQKCSAgbm90IHRoZSBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODUwMTAKCjIwMTctMDctMTUgMTc6MjU6MzYgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2x3aW5kb3dfY29jb2E6IGZpeCB2aWRlbyBvdmVybGF5IHN1cHBvcnQKCSAgTWFrZSBzdXJlIHRoZSB3aW5kb3cgaGFuZGxlIGlzIGNvbmZpZ3VyZWQgYWZ0ZXIgdGhlIE5TV2luZG93IHdhcyBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDYyCgoyMDE3LTA3LTE2IDAxOjE3OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYToga2VlcCByZWZzIG92ZXIgYXN5bmMgb3BlcmF0aW9ucwoJICBBdm9pZHMgZGVyZWZlcmVuY2luZyBkZWFkIG9iamVjdHMKCSAgV2hhdCBoYXBwZW5zIGluIHRoZSBhdXRvdmlkZW9zaW5rIGNhc2UgaXMgdGhhdCBjb250ZXh0IDEgaXMgY3JlYXRlZCBhbmQKCSAgZGVzdHJveWVkIGJlZm9yZSBhbGwgdGhlIGFzeW5jIG9wZXJhdGlvbnMgaGFlIGV4ZWN1dGVkIG9uIHRoZSBhc3NvY2lhdGVkCgkgIHdpbmRvdy4gIFdoZW4gdGhlIGRlbGF5ZWQgb3BlcmF0aW9ucyBleGVjdXRlLCB0aGV5IHRoZW4gcmVmZXJlbmNlIGRlYWQKCSAgb2JqZWN0cyBhbmQgY3Jhc2guCgkgIFdlIGZpeCB0aGlzIGJ5IGtlZXBpbmcgcmVmcyBvdmVyIGFsbCBhc3luYyBvcGVyYXRpb25zIHNvIHRoZSBvYmplY3QKCSAgY2Fubm90IGJlIGRlbGV0ZWQgd2hpbGUgYXN5bmMgb3BlcmF0aW9ucyBhcmUgaW4gZmxpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMzc5CgoyMDE3LTA3LTE1IDAxOjI0OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBpbXBsZW1lbnQgc2V0X3JlbmRlcl9yZWN0YW5nbGUgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyOTU5CgoyMDE3LTA3LTE1IDIxOjI4OjM4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogYXVkaW9taXhlcjogc2V0IGFsbCBwcm9wZXJ0aWVzIGF0IG9uY2UKCjIwMTctMDctMTUgMTk6MzM6MjEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBhdWRpb21peGVyOiB1c2UgdGhlIGJ1ZmZlciBoZWxwZXIgZm9yIG90aGVyIHRlc3RzIHRvbwoKMjAxNy0wNy0xNSAxMjo1MjozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiBwby9tZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCB0cmFuc2xhdGlvbnMKCjIwMTctMDYtMjkgMTQ6MzU6NDAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2Yjogc3JjOiBjb25zb2xpZGF0ZSB0dW5pbmcgc3RhdHMgZ2F0aGVyaW5nCgkgIEFkZGl0aW9uYWxseTogZHJvcCB1bm5lZWRlZCBmZV9mZCB2YXJpYWJsZS4KCjIwMTctMDctMTQgMTM6NTQ6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGRvY3VtZW50IGNhcHMgbmVnb3RpYXRpb24gcmFjaW5lc3MKCSAgVW50aWwgd2UgbGFuZCBjb252ZXJzaW9uIHN1cHBvcnQgaW4gYXVkaW9hZ2dyZWdhdG9yICgjNzczNzYyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzkxNQoKMjAxNy0wNy0xNCAxNDoxNDozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgYXV0b3Rvb2xzIHN1cHBvcnQgb24gV2luZG93cwoJICBBbHNvIGFkZCBhIG1pc3Npbmcgd2luZG93cyBmaWxlIHRvIEVYVFJBX0RJU1QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDk0MwoKMjAxNy0wNy0wNyAxNjozMzo0MiArMDEwMCAgSnVsaWVuIElzb3JjZSA8amlzb3JjZUBvYmxvbmcuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBtaXNzaW5nIEdMX0NGTEFHUyBpbiBnc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW4KCSAgQWxyZWFkeSBwcmVzZW50IGluIGdzdHJlYW1lci1nbC5wYy5pbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0Nzc5CgoyMDE3LTA3LTE0IDA4OjA5OjI1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBhZGQgYSBoZWxwZXIgZm9yIGJ1ZmZlciBjcmVhdGlvbgoJICBUaGlzIG1ha2VzIHRoZSB0ZXN0IHNldHVwIGVhc2llciB0byByZWFkLgoKMjAxNy0wNy0xMyAyMjowMDo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIGR1cGxpY2F0ZWQgY29kZSBmcmFnbWVudAoJICBUaGlzIGNvZGUgYWxyZWFkeSBydW5zIGFib3ZlIHdoZW4gKGV2ZW50IHx8IHF1ZXJ5KS4KCjIwMTctMDctMTMgMjE6NTU6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogY29kZSBjbGVhbnVwcwoJICBGaXggY29tbWVudCB0eXBvcywgc29tZSBjb3B5J24ncGFzdGUgaW4gbG9nZ2luZy4gQWRkIG1vcmUgZG9jIGNvbW1lbnRzLgoKMjAxNy0wNy0xMyAyMTo1NDo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogdXNlIHRlc3QgaGVscGVyIG9uY2UgbW9yZQoKMjAxNy0wNy0xMyAxMjo1NzoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogV29ya2Fyb3VuZCBmb3IgbGl2ZSBzZWVrIHJhbmdlcyB3aGVuIGFkdmFuY2luZwoJICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3IgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkKCSAgZjQxOTBhNDljMDRmMWQ1ZDE3NGNlYmJhMGJjOWEwM2E3ZWM3MjFjMgoJICAoIGFkYXB0aXZlZGVtdXg6IENoZWNrIGxpdmUgc2Vla2luZyByYW5nZSBtb3JlIG9mdGVuICkKCSAgVGhlIGdvYWwgb2YgdGhlIHByZXZpb3VzIGNvbW1pdCB3YXMgdG8gYmUgYWJsZSB0byBjb3BlIHdpdGggbm9uLTEuMAoJICByYXRlcyBvbiBsaXZlIHN0cmVhbXMgd2hpY2ggaGF2ZSBhICJzZWVraW5nIHdpbmRvdyIgKGkuZS4gdGhlIHNlcnZlcgoJICBrZWVwcyBhcm91bmQgcXVpdGUgYSBiaXQgb2YgdGhlIGxpdmUgc3RyZWFtIHNvIHlvdSBjYW4gc2VlayBiYWNrIGludG8KCSAgaXQpLgoJICBXaXRob3V0IHRoYXQgY29tbWl0LCB0d28gZGlmZmVyZW50IGtpbmQgb2YgaXNzdWVzIHdvdWxkIGhhcHBlbjoKCSAgKiBXaGVuIGRvaW5nIHJldmVyc2UgcGxheWJhY2ssIHlvdSB3b3VsZCBuZXZlciBjaGVjayB3aGV0aGVyIHlvdQoJICBhcmUgb3V0c2lkZSBvZiB0aGUgc2Vla2FibGUgcmVnaW9uLiBBbmQgd291bGQgdGhlbiBjb250aW51b3VzbHkKCSAgdHJ5IHRvIGRvd25sb2FkIGZyYWdtZW50cyB0aGF0IGFyZSBubyBsb25nZXIgcHJlc2VudC4KCSAgKiBXaGVuIGRvaW5nIGZhc3QgZm9yd2FyZCwgeW91IHdvdWxkIGVuZCB1cCByZXF1ZXN0aW5nIGZyYWdtZW50cwoJICB3aGljaCBhcmUgbm90IHByZXNlbnQgeWV0LgoJICBJbiBvcmRlciB0byBkZXRlcm1pbmUgd2hldGhlciBvbmUgd2FzICpyZWFsbHkqIG91dHNpZGUgb2YgdGhlIHNlZWthYmxlCgkgIHdpbmRvdywgd2UgY2hlY2sgd2hldGhlciB0aGUgY3VycmVudCBzdHJlYW0gcG9zaXRpb24gaXMgc3RpbGwKCSAgd2l0aGluIHRoZSBzZWVrYWJsZSByZWdpb24uCgkgIFRoZSAqcHJvYmxlbSogdGhvdWdoIHdpdGggdGhhdCBjb21taXQgaXMgdGhhdCBpdCBhc3N1bWVzIHRoYXQgc3ViY2xhc3NlcwoJICB3aWxsIHJldHVybiBjb250aW51b3VzbHkgdXBkYXRlZCBzZWVraW5nIHJhbmdlcyAoaS5lLiBkZXBlbmRlbnQgb24gdGhlCgkgIGN1cnJlbnQgdGltZSksIHdoaWNoIGlzICpOT1QqIHRoZSBjYXNlLgoJICBGb3IgZXhhbXBsZToKCSAgKiBkYXNoZGVtdXggZG9lcyB1c2UgdGhlIGN1cnJlbnQgVVRDIHRvIGRldGVybWluZSB0aGUgc2Vla2FibGUgcmVnaW9uCgkgICogaGxzZGVtdXggdXNlcyB0aGUgdmFsdWVzIGZyb20gdGhlIGxhc3QgdXBkYXRlZCBtYW5pZmVzdAoJICBUaGVyZWZvcmUgaWYgb25lIGRvd25sb2FkcyBmcmFnbWVudHMgZmFzdGVyIHRoYW4gcmVhbHRpbWUsIGZvciBITFMKCSAgd2Ugd291bGQgZW5kIHVwIGF0IHRoZSBlbmQgb2YgdGhlIGxhc3QgbWFuaWZlc3Qgc2Vla2FibGUgcmFuZ2UsIGFuZAoJICB0aGUgcHJldmlvdXMgY29tbWl0IHdvdWxkIGNvbnNpZGVyIHRoZSBzdHJlYW0gYXMgYmVpbmcgZW5kZWQuLi4gd2hpY2gKCSAgaXMgbm90IHRoZSBjYXNlLgoJICBJbiB0aGUgbG9uZyBydW4sIHdlIG5lZWQgdG8gZmlndXJlIG91dCBhIHdheSB0byBjb3BlIHdpdGggbm9uLTEuMAoJICByYXRlcyBvbiBsaXZlIHN0cmVhbXMgZm9yIGFsbCB0eXBlcyBvZiBzdHJlYW0gKGluY2x1ZGluZyBITFMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDc1CgoyMDE3LTA1LTI5IDIyOjQ3OjEwIC0wNzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVwZGF0ZSBtYW5pZmVzdCBzdHJlYW1zIGNvcnJlY3RseSBpZiBwYWRzIGFyZW4ndCBleHBvc2VkCgkgIEluIHNvbWUgY2FzZXMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgbmVlZCB0byB1cGRhdGUgdGhlIG1hbmlmZXN0IGJlZm9yZQoJICBwYWRzIGhhdmUgYmVlbiBleHBvc2VkIGF0IGFsbC4gSWYgdGhlcmUgYXJlIG5vIGN1cnJlbnQgcGFkcywganVzdCBleHBvc2UKCSAgdGhlIG5leHQgcHJlcGFyZWQgc3RyZWFtcy4gVGhpcyBkb2Vzbid0IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIG1hbmlmZXN0CgkgIHVwZGF0ZSB3b3VsZCBoYXBwZW4gd2hpbGUgYSBsaXZlIHN0cmVhbXMgaXMgY2hhbmdpbmcgcGVyaW9kcywgd2hpY2ggaXMgYQoJICB0eXBlIG9mIHVzZSBjYXNlIHRoYXQgd2UncmUgdW5hd2FyZSBvZiByZWFsIHVzYWdlcyB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMwMjgKCjIwMTctMDUtMTMgMTU6MTc6NTcgLTA3MDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBzbWFsbCByZWZhY3RvciB0byBhdm9pZCByZXBlYXRlZCBjb2RlCgkgIE1vdmUgc2VnbWVudCBldmVudCB1cGRhdGUgdG8gYSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTU5CgoyMDE3LTA1LTA5IDExOjQxOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBIYW5kbGUgcHJlcGFyZWQgc3RyZWFtcyBvbiBzZWVrcwoJICBUaGlzIGlzIGEgcmFjZSB0aGF0IHdhcyBleHBvc2VkIGJ5IHRoZSB7aGxzfGRhc2h9LnNjcnViX2ZvcndhcmRfc2Vla2luZwoJICB2YWxpZGF0ZSB0ZXN0LgoJICBUaGUgInJhY2UiIGlzIHRoYXQgYSBzdWJjbGFzcyBtaWdodCB3YW50IHRvIGNoYW5nZSBmb3JtYXQsIGNhdXNpbmcKCSAgYSBuZXcgc3RyZWFtIHRvIGJlIGNyZWF0ZWQgKGJ1dCBub3QgZXhwb3NlZC9zd2l0Y2hlZCB5ZXQpIGFuZCBwdXQgb24gdGhlCgkgIHByZXBhcmVkX3N0cmVhbXMgbGlzdC4gVGhhdCBzdHJlYW0gd2lsbCBoYXZlIHZhbHVlcyAoaW5jbHVkaW5nIHBlbmRpbmcKCSAgc2VnbWVudCkgZnJvbSB0aGUgcHJlLXNlZWsgc3RhdGUuCgkgIEJlZm9yZSB0aGUgc3RyZWFtIGlzIGV4cG9zZWQvc3dpdGNoZWQsIGEgbmV3IHNlZWsgY29tZXMgaW4gYW5kIHRoZSBzdHJlYW0KCSAgdmFsdWVzIGdldCB1cGRhdGVkIC4uLiBidXQgdGhlIG9uZXMgdGhhdCB3aWxsIGJlIGNoYW5nZWQgZG9uJ3QgZ2V0IHVwZGF0ZWQKCSAgY2F1c2luZyB0aGVtIHRvIHB1c2ggb3V0IHdyb25nIHNlZ21lbnRzIG9uY2UgdGhleSBhcmUgZXhwb3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzE1OQoKMjAxNy0wNy0xMiAxNToyOTozMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcXQ6IFVzZSBhIHByb3h5IG9iamVjdCBmb3IgYWNjZXNzIHRvIHRoZSBRTUwgd2lkZ2V0CgkgIFFNTCBjYW4gZGVzdHJveSB0aGUgdmlkZW8gd2lkZ2V0IGF0IGFueSB0aW1lLCBsZWF2aW5nCgkgIHVzIHdpdGggYSBkYW5nbGluZyBwb2ludGVyLiBVc2UgYSBsb2NrIGFuZCBhIHByb3h5CgkgIG9iamVjdCB0byBjb3BlIHdpdGggdGhhdCwgYW5kIGJsb2NrIGluIHRoZSB3aWRnZXQKCSAgZGVzdHJ1Y3RvciBpZiB0aGVyZSBhcmUgb25nb2luZyBjYWxscyBpbnRvIHRoZSB3aWRnZXQuCgoyMDE3LTA3LTA2IDIxOjA5OjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogUmVtb3ZlIGhhcmQtY29kZWQgcGFkIHRlbXBsYXRlcwoJICBBZGQgYSBmdW5jdGlvbiB0byBpbnN0YWxsIHRoZSBkZWZhdWx0IFJHQkEgcGFkIHRlbXBsYXRlcywKCSAgYnV0IGRvbid0IG1ha2UgdGhlbSByZXF1aXJlZCBzbyB0aGF0IHRoZXJlIGNhbiBiZQoJICBHc3RHTEZpbHRlciBzdWItY2xhc3NlcyB3aXRoIGRpZmZlcmVudCBpbnB1dC9vdXRwdXQKCSAgY2FwcyBpZiB0aGV5IHdhbnQuIFJlbW92ZSB0aGUgaGFyZC1jb2RlZCBSR0JBIHJlc3RyaWN0aW9uIGluCgkgIHRoZSBzZXRfY2Fwc19mZWF0dXJlcyBjYWxsLCBhcyBpdCB3aWxsIGJlIHRha2VuIGNhcmUKCSAgb2YgYnkgaW50ZXJzZWN0aW5nIHdpdGggdGhlIHBhZCB0ZW1wbGF0ZXMuCgkgIFVwZGF0ZSBhbGwgdGhlIHN1Yi1jbGFzc2VzIHRvIG1hdGNoCgoyMDE3LTA3LTA3IDE0OjQxOjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRG9uJ3QgdGhyb3cgYXNzZXJ0aW9ucyBvbiBpbnZhbGlkIGFsbG9jYXRpb24gcXVlcnkKCSAgYmFzZXNyYyBjYW4gc2VuZCBhbiBhbGxvY2F0aW9uIHF1ZXJ5IHdpdGggbm8gY2FwcywgaW4gd2hpY2gKCSAgY2FzZSB3ZSBzaG91bGQganVzdCBmYWlsIGl0IHdpdGhvdXQgdGhyb3dpbmcgYXNzZXJ0aW9ucy4KCjIwMTctMDctMTEgMjA6NTQ6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDcmVhdGUgaW5kZXggdGFibGUgYXJyYXlzIHdpdGggYSBiaWcgZW5vdWdoIHNpemUKCjIwMTctMDctMTEgMjA6NTM6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbml0aWFsaXplIGluZGV4IHRhYmxlIGVudHJpZXMgY29tcGxldGVseSBpbiBhbGwgY2FzZXMKCSAgV2hlbiBzZWVraW5nIGJhY2t3YXJkcyBpbnRvIGEgcHJldmlvdXNseSB1bnNlZW4gbG9jYXRpb24sIHdlIHdvdWxkbid0CgkgIGZ1bGx5IGluaXRpYWxpemUgdGhlbSBhbmQgcGxheWJhY2sgd291bGQgZmFpbCBsYXRlci4KCjIwMTctMDctMTEgMTI6NDM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSAgb3BlbmV4cjogSGVhZGVyIGFyZSBub3QgQysrMTEsIGZvcmNlIEMrKzk4CgoyMDE3LTA1LTEyIDE0OjM5OjU0ICswMjAwICBHZW9yZyBMaXBwaXRzY2ggPGdsaXBwaXRzY2hAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgY3VzdG9tIG1lbW9yeSBhbGxvY2F0b3IKCSAgVGhlIGRlZmF1bHQgbWVtb3J5IGFsbG9jYXRvciBvZiB0aGUgZGVja2xpbmsgbGlicmFyeSBhbGxvY2F0ZXMKCSAgYSBmaXhlZCBwb29sIG9mIGJ1ZmZlcnMsIGFuZCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaXMgdW5rbm93bi4KCSAgVGhpcyBtYWtlcyBpdCBpbXBvc3NpYmxlIGRvIHVzZWZ1bCBxdWV1aW5nIGRvd25zdHJlYW0uIFRoZSBuZXcKCSAgbWVtb3J5IGFsbG9jYXRvciBjYW4gY3JlYXRlIGFuIHVubGltaXRlZCBudW1iZXIgb2YgYnVmZmVycywKCSAgZ2l2aW5nIGFsbCBxdWV1aW5nIGZlYXR1cmVzIG9uZSB3b3VsZCBleHBlY3QgZnJvbSBhIGxpdmUgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNTU2CgoyMDE3LTA3LTEwIDE3OjM1OjMyICswMjAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IFByb3Blcmx5IHBhc3MgcExvY2tlZEJ1ZmZlciBieSByZWZlcmVuY2Ugd2hlbiBjYWxsaW5nIElEaXJlY3RTb3VuZENhcHR1cmVCdWZmZXJfTG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NzU1CgoyMDE3LTA3LTEwIDIxOjA4OjA5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBtb3JlIHRlc3QgY2xlYW51cHMKCSAgUG9ydCBvdmVyIHRoZSB0ZXN0IGhlbHBlcnMgZnJvbSB0aGUgYWRkZXIgdGVzdHMuCgoyMDE3LTA3LTEwIDIwOjE2OjEwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiByZWZhY3RvciB0ZXN0CgkgIEFwcGx5IGNsZWFudXBzIGZyb20gdGhlIGFkZGVyIHRlc3RzLiBVc2UgYSBmaXh0dXJlIGZvciBjb21tb24gY29kZS4KCjIwMTctMDctMDUgMTE6MDc6MDUgKzAzMDAgIEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi94Y2IvTWFrZWZpbGUuYW06CgkgIHZ1bGthbjogVXNlIHRoZSBnZW5lcmF0ZWQgdmVyc2lvbiBvZiB2a2NvbmZpZy5oCgkgIEJ1aWxkIGZhaWxzIGluIGV4dC92dWxrYW4veGNiIGFuZCBleHQvdnVsa2FuL3dheWxhbmQgd2hlbjoKCSAgKiBidWlsZGluZyBmcm9tIHRhcmJhbGwKCSAgKiBidWlsZGluZyBvdXQtb2YtdHJlZQoJICAqIE9ubHkgb25lIFdTSSBpbnRlZ3JhdGlvbiAoeGNiIG9yIHdheWxhbmQpIGlzIGVuYWJsZWQgYnkgY29uZmlndXJlLmFjCgkgIFRoaXMgaXMgYmVjYXVzZSB2a2NvbmZpZy5oIGZyb20gc291cmNlIGRpcmVjdG9yeSBnZXRzIHVzZWQgaW5zdGVhZAoJICBvZiB0aGUgZ2VuZXJhdGVkIG9uZS4KCSAgQWRkIHRoZSBjb3JyZWN0IGJ1aWxkIGRpcmVjdG9yeSB0byAiLUkiLiBVc2UgYW5nbGUgYnJhY2tldAoJICBpbmNsdWRlIGluIHZrYXBpLmggc28gdGhhdCBpdCBhY3R1YWxseSBsb29rcyBpbiB0aGUgaW5jbHVkZSBzZWFyY2gKCSAgcGF0aCBpbnN0ZWFkIG9mIGRlZmF1bHRpbmcgdG8gdGhlIHNhbWUgKHNvdXJjZSB0cmVlKSBkaXJlY3RvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1MzkKCjIwMTctMDctMDUgMTE6MDA6NDIgKzAzMDAgIEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJICB2a2Rpc3BsYXk6IFVzZSBpZmRlZiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgZGVmaW5lcwoJICBWS19LSFJfKl9TVVJGQUNFX0VYVEVOU0lPTl9OQU1FIGFyZSBvbmx5IGF2YWlsYWJsZSB3aGVuIGNvcnJlc3BvbmRpbmcKCSAgV1NJIGlzIGVuYWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQ1MzkKCjIwMTctMDctMTAgMTM6Mjc6NDAgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGluaXRpYWxpemUgdmFyaWFibGUKCSAgT3RoZXJ3aXNlIGNsYW5nIGNvbXBsYWluczoKCSAgZ3N0a21zc2luay5jOjExOTI6Nzogd2FybmluZzogdmFyaWFibGUgJ2J1ZicgaXMgdXNlZCB1bmluaXRpYWxpemVkCgkgIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIHRydWUgWy1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE3LTA2LTEyIDIzOjM2OjA1IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IHN1cHBvcnQgZ3JheXNjYWxlIHdpdGggYWxwaGEgY2hhbm5lbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNTkxCgoyMDE3LTA2LTEyIDA5OjQ3OjQ5IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAganBlZzIwMDBwYXJzZTogYWxsb3cgcGFyc2luZyB3aGVuIGN1cnJlbnQgY2FwcyBhcmUgbnVsbAoJICBJbiB0aGlzIGNhc2UsIHdlIGFzc3VtZSB0aGF0IHRoZSBmb3JtYXQgaXMganBjLCBhbmQgd2UgaW5mZXIgdGhlIGNvbG9yCgkgIHNwYWNlIGZyb20gdGhlIG51bWJlciBvZiBjb21wb25lbnRzLiBUaGlzIGFsbG93cyB0aGUgcGFyc2VyIHRvIHByb2Nlc3MgYQoJICBqcGMgZGlzayBmaWxlIGNvbWluZyBmcm9tIGEgZmlsZXNyYyBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMjkxCgoyMDE3LTA3LTAyIDExOjU1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlZ21lbnQgc2VlayBmbGFnIGlzIG5vdCByZWxldmFudCB3aGVuIGNoZWNraW5nIGZvciBFT1MKCSAgSXQgaXMgb25seSByZWxldmFudCBpbiBkZWNpZGluZyB3aGV0aGVyIG9yIG5vdCBzZW5kIFNFR01FTlRfRE9ORS4KCSAgSW4gdGhpcyBjYXNlLCBub3QgZGV0ZWN0aW5nIEVPUyBsZWFkcyB0byBhIGJ1c3kgbG9vcCB3aGVuIGVuY291bnRlcmluZwoJICB0aGUgb3JpZ2luYWxseSByZWNvcmRlZCBlbmQtb2YtZmlsZSBvZiBhIGZpbGUgdGhhdCBpcyBzdGlsbCBncm93aW5nLgoKMjAxNy0wNy0wNyAxNzoyMDozOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBSZXZlcnQgImFkYXB0aXZlZGVtdXg6IEFsbG93IGFwcGxpY2F0aW9uIHRvIGZvcmNlIEVPUyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4YTA3MGNmOWFmZjhhMTIyYjFhNTI1OTc0NDFiYWI2MWMwNDc2ZWY5LgoKMjAxNy0wNy0wNyAxMjoxMzoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5oOgoJICBrbXNzaW5rOiBUcmFjayBjYWNoZWQga21zbWVtIGFuZCBjbGVhciB0aGVtIG9uIGRyYWluCgkgIEluIHRoaXMgcGF0Y2ggd2Uga2VlcCB0cmFjayBvZiB0aGUgY2FjaGVkIGttc21lbSBpbiBhIHdheQoJICB0aGF0IHdlIGNhbiBjbGVhciB0aGUgY2FjaGUgZHVyaW5nIHRoZSBkcmFpbiBwcm9jZXNzLiBUaGlzCgkgIHJlbGVhc2UgdGhlIGZyYW1lYnVmZmVyIGJlZm9yZSB3YWl0aW5nIGZvciB0aGUgbmV4dCB2YmxhbmssCgkgIGhlbmNlIGFkZCBzdXBwb3J0IGZvciBEUk0gZHJpdmVyIChsaWtlIEludGVsIG9uZSkgdGhhdCByZWxlYXNlCgkgIHRoZSBhc3NvY2lhdGVkIERNQUJ1ZiByZWZlcmVuY2UgYXN5bmNocm9ub3VzbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI3NzQKCjIwMTctMDctMDcgMTI6MTI6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBNb3ZlIGttc21lbSBjYWNoZSBjb2RlIGhpZ2hlcgoJICBUaGlzIHdpbGwgYmUgbmVlZGVkIGFzIHRoaXMgQVBJIHdpbGwgYmUgdXNlZCBlbHNld2hlcmUgdG8gY2xlYXIKCSAgdGhlIGNhY2hlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNzc0CgoyMDE3LTA1LTE4IDExOjU0OjMxICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogZHJvcCBsYXN0IHJlbmRlcmVkIGJ1ZmZlciBvbiBBTExPQ0FUSU9OIGFuZCBEUkFJTiBxdWVyaWVzCgkgIGttc3Npbmsga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlIGxhc3QgcmVuZGVyZWQgYnVmZmVyLiBJZiB0aGlzIGJ1ZmZlcgoJICByZWZlcnMgdG8gYW4gdXBzdHJlYW0gYnVmZmVyLCBpdCBzaG91bGQgYmUgc2hvdWxkIGJlIHJlbGVhc2VkIG9uIERSQUlOCgkgIGFuZCBBTExPQ0FUSU9OIHF1ZXJpZXMgc28gYWxsIHVwc3RyZWFtIGJ1ZmZlcnMgY2FuIGJlIHJldHVybmVkIHRvIHRoZQoJICBwb29sIGlmIG5lZWRlZC4gQXMgdGhlIGJ1ZmZlciBtYXkgYmUgdXNlZCBmb3Igc2Nhbm91dCwgd2UgY29weSB0aGlzCgkgIGJ1ZmZlciBpbnRvIGEgZHVtYiBidWZmZXIgcHJpb3IgdG8gbGV0IGl0IGdvLgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mjc3NAoKMjAxNy0wNy0wNiAxNzoyMDo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSAga21zc2luazogRG9uJ3QgbGVhayBHRU0gcHJpbWVkIGZyb20gRE1BQnVmCgkgIFRoaXMgb3RoZXJ3aXNlIGJyZWFrcyBETUFCdWYgcmVjbGFpbWluZy4gVGhpcyBpcyBub3QgdmlzaWJsZSBmcm9tCgkgIHVzZXJzcGFjZSwgYnV0IGluc2lkZSB0aGUga2VybmVsLCB0aGUgRFJNIGRyaXZlciB3aWxsIGhvbGQgYSByZWYgdG8gdGhlCgkgIERNQUJ1ZiBvYmplY3QuIFdpdGggYSBWNEwyIGRyaXZlciBhbGxvY2F0aW5nIHRob3NlIERNQUJ1ZiwgaXQgdGhlbgoJICBwcmV2ZW50IGNoYW5naW5nIHRoZSByZXNvbHV0aW9uIGFuZCByZS1hbGxvY2F0aW9uIG5ldyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNzc0CgoyMDE3LTA3LTA1IDE2OjUxOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRmFjdG9yIG91dCBjb3B5aW5nIHRvIGR1bXAgYnVmZmVyCgkgIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGNvcHkgYW55IHVwc3RyZWFtIG1lbW9yeSBpbiBvcmRlciB0byByZXR1cm4gaXQgb24KCSAgcmVzb2x1dGlvbiBjaGFuZ2UsIGFsbG9jYXRpb24gcXVlcnkgb3IgZHJhaW4gcXVlcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI3NzQKCjIwMTctMDctMDMgMTU6Mjg6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxsb3cgYXBwbGljYXRpb24gdG8gZm9yY2UgRU9TCgkgIEFkYXB0aXZlIGRlbXV4ZXJzIGFyZSBzcGVjaWFsIGRlbXV4ZXJzIHRoYXQgcnVucyB0aGVpciBvd24gc291cmNlcwoJICBpbnRlcm5hbGx5LiBJbiB0aGlzIHBhdGNoIHdlIGZsYWcgdGhlIGRlbXV4ZXIgYXMgYmVpbmcgYSBzb3VyY2UgaW4gb3JkZXIKCSAgdG8gcmVjZWl2ZSB0aGUgZG93bnN0cmVhbSBldmVudHMuIFdlIHRoZW4gaGFuZGxlIHRoZSBFT1MgZXZlbnQgYnkKCSAgcmVzZXR0aW5nIHRoZSBpbnRlcm5hbCBzdGF0ZSBhbmQgcHVzaGluZyBFT1Mgb24gYWxsIHBhZHMuIFRoaXMgaGFuZGxpbmcKCSAgaXMgZG9uZSBhc3luY2hyb25vdXNseSB0byBhdm9pZCBibG9ja2luZyB1c2VyIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg2OAoKMjAxNy0wNy0wNyAxNzowNzozMSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBTZXQgcHl0aG9uMyBiZWZvcmUgcGx1Z2luIHN1YmRpcigpcwoJICBJdCdzIHVzZWQgYnkgdGhlIG1zZGsgcGx1Z2luCgoyMDE3LTA3LTA3IDIwOjIwOjM1ICswOTAwICBZYXN1c2hpIFNIT0pJIDx5YXNoaUBhdG1hcmstdGVjaG5vLmNvbT4KCgkqIGV4dC9nc20vbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZGVkIG1lc29uLmJ1aWxkIGZvciBnc20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDY0NgoKMjAxNy0wNy0wNyAxMjoyODoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9tc2RrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogbXNkazogdXNlIHB5dGhvbjMgZnJvbSBweXRob24zIG1vZHVsZQoKMjAxNy0wNy0wNyAxMTo1OTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZmluZCBweXRob24zIHZpYSBweXRob24zIG1vZHVsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMTk4CgoyMDE3LTA0LTEzIDIyOjExOjU1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEludmFsaWRhdGUgcGFkJ3MgdGFpbCBwb3NpdGlvbiAuLi4KCSAgd2hlbiBkZXF1ZXVpbmcgYSBzZWdtZW50IGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0NTkzCgoyMDE3LTA3LTA2IDA5OjM3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIFJldmVydCAib3BlbmpwZWdkZWM6IHN1cHBvcnQgZ3JheXNjYWxlIHdpdGggYWxwaGEgY2hhbm5lbCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxODgzYWMyNmI3ZDAyNzI0YzExZDRmNGJhZDg2OThjNDg3M2I0NDNkLgoJICBUaGlzIGJyZWFrcyB0aGUgYnVpbGQgb24gb2xkZXIgdmVyc2lvbnMgb2Ygb3BlbmpwZWc6CgkgIGdzdG9wZW5qcGVnZGVjLmM6NzUyOjMwOiBlcnJvcjog4oCYb3BqX2ltYWdlX2NvbXBfdCB7YWthIHN0cnVjdCBvcGpfaW1hZ2VfY29tcH3igJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhhbHBoYeKAmQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNTkxCgoyMDE3LTA2LTEyIDIzOjM2OjA1IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IHN1cHBvcnQgZ3JheXNjYWxlIHdpdGggYWxwaGEgY2hhbm5lbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNTkxCgoyMDE3LTA0LTExIDAxOjE4OjUxICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGdhcHMgYXQgZW5kIG9mIHN0cmVhbXMuCgkgIFdoZW4gdGhlIHBhZCBoYXMgcmVjZWl2ZWQgRU9TLCBpdHMgYnVmZmVyIG1heSBzdGlsbCBiZSBtaXhlZAoJICBhbnkgbnVtYmVyIG9mIHRpbWVzLCB3aGVuIHRoZSBwYWQncyBmcmFtZXJhdGUgaXMgaW5mZXJpb3IKCSAgdG8gdGhlIG91dHB1dCBmcmFtZXJhdGUuCgkgIFRoaXMgd2FzIGludHJvZHVjZWQgYnkgbXkgcGF0Y2ggaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mjk2MiwgdGhpcyBwYXRjaAoJICBhbHNvIGNvcnJlY3RseSBhZGRyZXNzZXMgdGhlIGluaXRpYWwgaXNzdWUuCgoyMDE3LTA3LTA1IDE3OjA0OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRm9yIGludHJhLW9ubHkgc3RyZWFtcywgYWx3YXlzIG91dHB1dCBEVFM9UFRTCgoyMDE3LTA3LTA1IDE1OjQ4OjU3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGludGVnZXIgb3ZlcmZsb3cgaW4gcGFydGl0aW9uIHBvc2l0aW9uIGNvbXBhcmlzb24gZnVuY3Rpb24KCjIwMTctMDctMDUgMTU6MTE6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBQcmludCBQVFMgYW5kIERUUyBpbiBkZWJ1ZyBvdXRwdXQgd2hlbiBwdXNoaW5nIGJ1ZmZlcnMKCjIwMTctMDctMDUgMTM6NTk6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBTZXQgZmllbGQtb3JkZXIgY29ycmVjdGx5IGZvciBpbnRlcmxhY2VkIHZpZGVvCgoyMDE3LTA3LTA1IDEzOjUyOjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogVXNlIGRpc3BsYXkgd2lkdGgvaGVpZ2h0IGluc3RlYWQgb2Ygc3RvcmVkIHdpZHRoL2hlaWdodAoJICBTdG9yZWQgdmFsdWVzIGNvbnRhaW4gcGFkZGluZyBhbmQgYWxpZ25tZW50LCBhbmQgc2hvdWxkIG9ubHkgYmUgdXNlZCBhcwoJICBmYWxsYmFjayBpZiBuZWl0aGVyIGRpc3BsYXkgdmFsdWVzIG5vciBzYW1wbGVkIHZhbHVlcyBleGlzdC4KCjIwMTctMDctMDUgMDA6NDg6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCBpbmNsdWRlIGFueSBLTFYgcGFja2V0cyBiZXR3ZWVuIGhlYWRlciBtZXRhZGF0YSBhbmQgaW5kZXggdGFibGUgc2VnbWVudHMgaW4gY2FsY3VsYXRpb25zCgkgIE1pbm9yIGZpeHVwIG9mIGxhc3QgY29tbWl0LgoKMjAxNy0wNy0wNCAyMDowMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFsbG93IGZpbGxlciBhbmQgb3RoZXIgS0xWIHBhY2tldHMgYmV0d2VlbiBpbmRleCB0YWJsZSBzZWdtZW50cwoJICBXaGlsZSBvbmx5IGZpbGxlciBwYWNrZXRzIHNob3VsZCBiZSBhbGxvd2VkLCBmb3IgZ29vZCBtZWFzdXJlIGFsc28gc2tpcAoJICBhbnkgb3RoZXIgS0xWIHBhY2tldHMgaW4gdGhlIHJhbmdlIHdoZXJlIHRoZXJlIGNvdWxkIGJlIGluZGV4IHRhYmxlCgkgIHNlZ21lbnRzLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgb2YgcGFydGl0aW9ucyB3aXRoIG11bHRpcGxlIGluZGV4IHRhYmxlIHNlZ21lbnRzLAoJICB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgZmlsbGVyIHBhY2tldCwgb3Igb3RoZXIgcGFja2V0cy4KCjIwMTctMDctMDQgMTU6Mjg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmbGVzaCBvdXQgZG9jdW1lbnRhdGlvbiBmb3IgR1NUX0gyNjRfUEFSU0VSX05PX05BTF9FTkQKCjIwMTctMDctMDMgMTA6MTE6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdHRtbC9NYWtlZmlsZS5hbToKCSAgdHRtbDogZml4IGxpbmtpbmcgdG8gbGliZ3N0dmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDQzOQoKMjAxNy0wNy0wMSAyMDoyMzoyNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4ICInYWdnY2xhc3MnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiIKCjIwMTYtMDMtMDkgMjI6MDE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBhZGQgR1NUX0NBUFNfRkVBVFVSRV9NRU1PUllfRE1BQlVGCgkgIEluc2VydCBiZWZvcmUgU3lzdGVtTWVtb3J5IHRvIGFkdmljZSB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGl0IGlzCgkgIHByZWZlcmFibGUgZm9yIHRoZW0gdG8gcHVzaCBkbWFidWYgd2l0aCB0aGUgY2FwcyBmZWF0dXJlLgoJICBFeGFtcGxlczoKCSAgLyogRGlzY2FyZCBtZW1vcnk6RE1BQnVmIGNhcHMgZmVhdHVyZSAqLwoJICBHU1RfR0xfUExBVEZPUk09ZWdsIEdTVF9HTF9BUEk9Z2xlczIgR1NUX0dMX1dJTkRPVz14MTEgZ3N0LWxhdW5jaC0xLjAgXAoJICBmaWxlc3JjIGxvY2F0aW9uPXRlc3QubXA0ICEgcXRkZW11eCAhIGgyNjRwYXJzZSAhIHZhYXBpaDI2NGRlYyAhIFwKCSAgY2Fwc2ZpbHRlciBjYXBzPSJ2aWRlby94LXJhdyhtZW1vcnk6U3lzdGVtTWVtb3J5KSIgISBnbGltYWdlc2luawoJICAvKiBGb3JjZSBtZW1vcnk6RE1BQnVmIGNhcHMgZmVhdHVyZS4gKi8KCSAgR1NUX0dMX1BMQVRGT1JNPWVnbCBHU1RfR0xfQVBJPWdsZXMyIEdTVF9HTF9XSU5ET1c9eDExIGdzdC1sYXVuY2gtMS4wIFwKCSAgZmlsZXNyYyBsb2NhdGlvbj10ZXN0Lm1wNCAhIHF0ZGVtdXggISBoMjY0cGFyc2UgISB2YWFwaWgyNjRkZWMgISBcCgkgIGNhcHNmaWx0ZXIgY2Fwcz0idmlkZW8veC1yYXcobWVtb3J5OkRNQUJ1ZikiICEgZ2xpbWFnZXNpbmsKCSAgLyogQXV0byBzZWxlY3QgbWVtb3J5OkRNQUJ1ZiBjYXBzIGZlYXR1cmUuICAqLwoJICBHU1RfR0xfUExBVEZPUk09ZWdsIEdTVF9HTF9BUEk9Z2xlczIgR1NUX0dMX1dJTkRPVz14MTEgZ3N0LWxhdW5jaC0xLjAgXAoJICBmaWxlc3JjIGxvY2F0aW9uPXRlc3QubXA0ICEgcXRkZW11eCAhIGgyNjRwYXJzZSAhIHZhYXBpaDI2NGRlYyAhIFwKCSAgZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDY0OQoKMjAxNy0wNi0yOCAxNDo0NToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiByZXNldCBnbC0+RHJhd0J1ZmZlciB0byB0aGUgbmVjZXNzYXJ5IHZhbHVlcwoJICBHTF9DT0xPUl9BVFRBQ0hNRU5UMCB3aGVuIGEgZnJhbWVidWZmZXIgaXMgYm91bmQKCSAgR0xfQkFDSyBpZiBubyBmcmFtZWJ1ZmZlciBpcyBib3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MjEwCgoyMDE3LTA2LTI4IDEyOjE3OjM3ICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZXNldCB0aGUgZHJhdyBidWZmZXIgdG8gR0xfQkFDSwoJICBUaGUgZHJhdyBidWZmZXIgc2hvdWxkIGJlIHJlc2V0IHRvIEdMX0JBQ0sgc2luY2UgdGhlIGZyYW1lYnVmZmVyIGlzIGFscmVhZHkKCSAgdW5ib3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDIxMAoKMjAxNy0wNi0yOCAxNjoxNzo0MSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBzcmM6IHVzZSBjb3JyZWN0IHVuaXQgaW4gdHVuaW5nLXRpbWVvdXQgcHJvcCBkZXNjcmlwdGlvbgoJICBNaWxsaXNlY29uZHMgd2FzIHdyb25nIGFuZCBtYWRlIHVzZSBvZiB0aGlzIHRpbWVvdXQgcXVpdGUKCSAgY29uZnVzaW5nLiBUaGUgY29kZSB1c2VzIHRoZSB2YWx1ZSBhcyBtaWNyb3NlbmNvbmRzIHNvCgkgIGFueSBtZWFuaW5nZnVsIG51bWJlciB3YXMgb2ZmIGJ5IG9yZGVycyBvZiBtYWduaXR1ZGUuCgoyMDE3LTA2LTIzIDE2OjE4OjQ5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogQWxsb3cgdXNpbmcgZ2xpYiBhcyBhIHN1YnByb2plY3QKCjIwMTctMDYtMjAgMTM6NDQ6NDcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEbyBub3QgdXNlIHBhdGggc2VwYXJhdG9yIGluIHRlc3QgbmFtZXMKCSAgQXZvaWRpbmcgd2FybmluZ3MgbGlrZToKCSAgV0FSTklORzogVGFyZ2V0ICJlbGVtZW50cy9hdWRpb2FtcGxpZnkiIGhhcyBhIHBhdGggc2VwYXJhdG9yIGluIGl0cyBuYW1lLgoKMjAxNy0wNi0yNyAxODo0NzozNyAtMDcwMCAgUGVyLUVyaWsgQnJvZGluIDxwZXItZXJpay5icm9kaW5AZXJpY3Nzb24uY29tPgoKCSogc3lzL252ZGVjL2dzdG52ZGVjLmM6CgkgIG52ZGVjOiBVc2UgcWRhdGEgb24gbWVtb3J5IGluc3RlYWQgb2YgYnVmZmVyIG1ldGEKCSAgVXNpbmcgYSBtZXRhIGNhbiBiZSBwcm9ibGVtYXRpYyBzaW5jZSB0aGUgbWVtb3J5IGNvbnRhaW5lZCBpbiB0aGUgYnVmZmVyCgkgIGNhbiBiZSB0cmFuc2ZlcnJlZCB0byBhIG5ldyBidWZmZXIgaW4gd2hpY2ggY2FzZSB0aGUgbWV0YSB3b3VsZCBiZSBsb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MjM1CgoyMDE3LTA2LTI3IDE1OjQxOjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW5jbHVkZSBkdXJhdGlvbiBpbiByZXNwb25zZSB0byBTRUVLSU5HIHF1ZXJ5CgoyMDE3LTA2LTI3IDE1OjAxOjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBXcml0ZSB0ZW1wb3JhbCBvZmZzZXQgYW5kIGNvcnJlY3Qga2V5ZnJhbWUgb2Zmc2V0IGludG8gaW5kZXggdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAyNwoKMjAxNy0wNi0yNyAxMDo0Nzo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBUYWtlIHRlbXBvcmFsIHJlb3JkZXJpbmcgZnJvbSB0aGUgaW5kZXggdGFibGUgaW50byBhY2NvdW50CgkgIFRoaXMgaXMgbmVlZGVkIHRvIGtub3cgdGhlIFBUUywgd2l0aG91dCB0aGF0IHdlIG9ubHkga25vdyB0aGUgRFRTIGFuZAoJICB1c2luZyB0aGF0IGFsc28gZm9yIHRoZSBQVFMgaXMgd3JvbmcgdW5sZXNzIHdlIGhhdmUgYW4gaW50cmEtb25seSBjb2RlYy4KCSAgSWYgd2UgY2FuJ3QgZ2V0IHRoZSB0ZW1wb3JhbCByZW9yZGVyaW5nIGZyb20gdGhlIGluZGV4IHRhYmxlLCBkb24ndCBzZXQKCSAgYW55IFBUUyBmb3Igbm9uLWludHJhLW9ubHkgY29kZWNzIGFuZCBsZXQgZGVjb2RlcnMgZmlndXJlIG91dCBzb21ldGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODQwMjcKCjIwMTctMDUtMDIgMTc6MjE6NDMgLTA3MDAgIFBlci1FcmlrIEJyb2RpbiA8cGVyLWVyaWsuYnJvZGluQGVyaWNzc29uLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbnZkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9udmRlYy9nc3RudmRlYy5jOgoJKiBzeXMvbnZkZWMvZ3N0bnZkZWMuaDoKCSogc3lzL252ZGVjL3BsdWdpbi5jOgoJICBudmRlYzogTmV3IHBsdWdpbiBmb3IgTlZJRElBIGhhcmR3YXJlIHZpZGVvIGRlY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNTM3CgoyMDE3LTA2LTE5IDIwOjM1OjMwICswOTAwICBFdW5oYWUgQ2hvaSA8ZXVuaGFlMS5jaG9pQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgZ19yZXR1cm5faWZfZmFpbCgpCgkgIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgYW5kIHNob3VsZCBiZSBhIGdfYXNzZXJ0KCkKCSAgaWYgaXQncyBhIHdvcnJ5LiBGaXhlcyB3YXJuaW5ncyBmcm9tIHNvdXJjZSBjb2RlCgkgIGNoZWNrZXJzIGFib3V0IHBvc3NpYmxlIGNhcHMgbGVha3MgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mzk1NQoKMjAxNy0wNi0yNiAwOTo1MjoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZml4IHdpdGgtcGFja2FnZS1uYW1lIG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg0MDgyCgoyMDE3LTA2LTIyIDE2OjQwOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IEVuYWJsZSBuZXRzaW0gdW5pdCB0ZXN0CgoyMDE3LTA2LTIyIDE0OjIxOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9uZXRzaW0vbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgbmV0c2ltIHBsdWdpbgoKMjAxNy0wNi0yMiAxMDozNDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBtZXNvbjogUmUtYWRkIHBrZy1jb25maWcgc3VwcG9ydCBmb3IgYmNtX2hvc3QKCSAgTm93IHdlIGp1c3QgZmFsbGJhY2sgdG8gZmluZF9saWJyYXJ5IGZvciBSYXNiaWFuIGplc3N5IGFuZCBvbGRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAyNgoKMjAxNy0wNi0yMSAxNToxNTozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBFbmFibGUgc2htIHVuaXQgdGVzdAoKMjAxNy0wNi0yMSAxMzo0NTowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvc2htL21lc29uLmJ1aWxkOgoJICBtZXNvbjogRW5hYmxlIGJ1aWxkaW5nIHNobSBwbHVnaW4KCjIwMTctMDYtMjEgMTM6NDI6MzEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBTaG91bGQgbm90IHVzZSBnbGliIHR5cGUgd2l0aG91dCBpZmRlZgoJICBUaGUgc2htcGlwZSBzaG91bGQgYnVpbGQgd2l0aG91dCBHTElCLgoKMjAxNy0wNi0yMSAxMToxODo0MyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIGdsOiBtZXNvbjogdXNlIGNjLmZpbmRfbGlicmFyeSgpIHRvIGRldGVjdCAnYmNtX2hvc3QnCgkgIE9uIHRoZSByYXNwYmVycnkgcGkgbm8gcGtnLWNvbmZpZyBmaWxlIGlzIHByb3ZpZGVkIGZvciB0aGUgYmNtX2hvc3QKCSAgbGlicmFyeS4gV2UgYXJlIHVzaW5nIEFDX0NIRUNLX0xJQiB0byBkZXRlY3QgdGhpcyBsaWIgd2l0aCBhdXRvdG9vbHMsCgkgIGNjLmZpbmRfbGlicmFyeSgpIGxpYnJhcnkgaXMgYSBjbG9zZXIgbWVzb24gZXF1aXZhbGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDAyNgoKMjAxNy0wNi0yMiAwMTowMTo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIC0td2l0aC1tb2MvdWljL3JjYyBvcHRpb25zCgkgIEZvciBjcm9zcy1jb21waWxpbmcsIGl0J3MgZWFzaWVyIHRvIGJlIGFibGUgdG8gc3BlY2lmeSB0aGUKCSAgYWN0dWFsIHBhdGhzIHRvIHRoZSB0b29scwoKMjAxNy0wNi0yMiAwMTowMTo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL0NNYWtlTGlzdHMudHh0OgoJICBxbWxzaW5rIGV4YW1wbGU6IEFkZCBDTWFrZUxpc3RzLnR4dAoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHVzaW5nIGNtYWtlIGluc3RlYWQgb2YgcW1ha2UKCjIwMTctMDYtMjIgMDE6MDE6NDAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcXQ6IFJlbW92ZSBtaXNsZWFkaW5nIHJlZmVyZW5jZSB0byBHVEsgaW4gcXRpdGVtLmNjCgoyMDE3LTA2LTIwIDE5OjE5OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbC9jb2NvYTogUHV0IGdzdGdsd2luZG93X2NvY29hLmggaW50byBub2luc3RfSEVBREVSUyBhZ2FpbgoJICBBbmQgcmVtb3ZlIGdzdGdsZGlzcGxheV9jb2NvYS5oIGluc3RlYWQsIHdoaWNoIGdvdCBtb3ZlZCB0byB0aGUKCSAgaW5zdGFsbGVkIGhlYWRlcnMgZWFybGllci4KCjIwMTctMDYtMTkgMjE6NTk6MjkgKzA5MDAgIEV1bmhhZSBDaG9pIDxldW5oYWUxLmNob2lAc2Ftc3VuZy5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRpcmVjdGZiOiBmaXggY2FwcyBsZWFrCgkgIGFkZCB1bnJlZiBpbiBjYXNlIG9mIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM5NjEKCjIwMTctMDYtMTYgMTg6MDg6MzkgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoICYgYWRhcHRpdmVkZW11eDogbW92ZSBpdGVyYXRvciB2YXJpYWJsZSBkZWNsYXJhdGlvbiBvdXQgb2YgYGZvcmAKCSAgVGhpcyBpcyBhIGM5OS1pc20gdGhhdCBnY2MgNC44LjUgZXJyb3JzIG9uIHVubGVzcyAtc3RkPWM5OSBpcwoJICBzcGVjaWZpZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODM4NjgKCjIwMTctMDYtMTYgMDk6NDM6MzUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2Yjogc3JjOiBmaXggdXNlIG9mIHdyb25nIGFycmF5IGluZGV4IGZvciB0dW5lIHNpZ25hbAoJICBFcnJvbmVvdXMgdmFsdWUgbWFkZSAiVFVORSIgb3ZlcndyaXRlICJUVU5OSU5HX0ZBSUwiIC4uLi4KCjIwMTctMDYtMTUgMTc6MDg6MTkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2Yjogc3JjOiBpc3N1ZSB3YXJuaW5nIG9uIGZhaWxlZCBkZWxzeXMtdnMtcGFyYW1ldGVyIGlzc3VlcwoJICBBaWRzIGluIHVuZGVyc3RhbmRpbmcgbWlzc2VzIHdpdGggdGhlIGRlbHN5cyBhdXRvLWRldGVjdGlvbiBsb2dpYwoKMjAxNy0wNi0xNSAxNDoxMzoxNCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEbyBub3QgdHJ5IHRvIHNlcmlhbGl6ZSB1bnJlc29sdmVkIG1ldGFkYXRhcwoJICBXaGVuIHJldHJpZXZpbmcgdGhlIGBteGZkZW11eC5zdHJ1Y3R1cmVgIHByb3BlcnR5LCBpdCBsZWFkcyB0byBhbgoJICBhc3NlcnRpb24gYXMgbWV0YWRhdGFzIG5lZWQgdG8gYmUgcmVzb2x2ZWQgZm9yIHRoZSBjYWxsIHRvCgkgIG14Zl9tZXRhZGF0YV9iYXNlX3RvX3N0cnVjdHVyZSB0byBiZSB2YWxpZC4KCjIwMTctMDYtMTIgMjI6Mjk6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCBEaXJlY3RWSVYgdXBsb2FkZXIgZm9yIGZvcm1hdHMgd2l0aCBhIHNpbmdsZSBwbGFuZQoJICBXZSBoYXZlIHRvIHBhc3MgdGhlICJoZWlnaHQiIGFzIGhlaWdodCA9IHZtZXRhLT5vZmZzZXRbMV0gLyB3aWR0aCB0byB0aGUKCSAgQVBJLCB3aGljaCBvZiBjb3Vyc2UgZG9lcyBub3Qgd29yayB3ZWxsIGZvciBmb3JtYXRzIHdpdGggb25seSBhIHNpbmdsZQoJICBwbGFuZS4gVXNlIHRoZSB3aG9sZSBtZW1vcnkgc2l6ZSBpbnN0ZWFkIG9mIHRoZSBvZmZzZXQgaW4gdGhhdCBjYXNlLgoKMjAxNy0wNi0xMCAwNzo1Njo0OCAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBmaXggZGlzcGxheSBhcnRpZmFjdHMgZm9yIFJHQiA4LWJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNjI2CgoyMDE3LTA2LTA3IDE2OjE3OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZzogZ3VhcmQgYWdhaW5zdCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3Mgb24gY3JhZnRlZCBmaWxlcwoKMjAxNy0wNi0wNSAxNTozMTo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuYzoKCSAganBlZzIwMDBzYW1wbGluZzogZml4IGNyaXRpY2FsIHdoZW4gc2FtcGxpbmcgaXMgbWlzc2luZyBmcm9tIGNhcHMKCSAgVGhpcyBjYW4gaGFwcGVuIHdpdGggcmVhbCBmaWxlcwoKMjAxNy0wNi0wNyAxNjo1ODoyMyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9tZXNvbi5idWlsZDoKCSAgbWVzb246IEZpeCBidWlsZGluZy9ydW5uaW5nIHRlc3RzIG91dHNpZGUgZ3N0LWJ1aWxkCgoyMDE3LTA1LTE4IDIyOjAyOjM4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svbWVzb24uYnVpbGQ6CgkqIHRlc3RzL21lc29uLmJ1aWxkOgoJICB0ZXN0czogc3RhcnQgcG9ydGluZyB0byBtZXNvbgoJICBJbmNvbXBsZXRlIHBvcnQsIHRvIGdldCB0aGUgYmFsbCByb2xsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI5NjIKCjIwMTctMDUtMTggMTA6MzY6NTAgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJICBtc2RrOiBlbmM6IHNldCBwdHMgYW5kIGR0cywgZml4IGludmVydGVkIHN5bmNfcG9pbnQgZmxhZwoJICBTZXQgdGhlIHB0cyBhbmQgZHRzIG9uIHRoZSBmcmFtZSB0aGF0IHdlIHJlY2VpdmUgZnJvbSB0aGUgbXNkay4KCSAgQWxzbyBmaXggdGhlIGludmVydGVkIGxvZ2ljIGluIHNldHRpbmcgc3luYyBwb2ludHMsIHByZXZpb3VzbHkgd2UKCSAgd2VyZSBtYXJraW5nIGFsbCBmcmFtZXMgYXMgc3luYyBwb2ludHMgZXhjZXB0IElEUnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI4MDEKCjIwMTctMDUtMjkgMTI6MjI6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9tZXNvbi5idWlsZDoKCSAgZ2w6IEFkZCBkZXBlbmRlbmN5IHRvIGdzdGFsbG9jYXRvcnMKCjIwMTctMDYtMDcgMTc6NTA6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IE1ha2UgdGltZXN0YW1wIHJlZmVyZW5jZSBzcGVjaWZpZXIgZHJpdmVyIHNwZWNpZmljCgoyMDE3LTA1LTEyIDE1OjI4OjQ2IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkgIGpwZWcyMDAwcGFyc2U6IHBhcnNlIFJTSVogY2FwYWJpbGl0aWVzIGFuZCBwdXQgcHJvZmlsZS9sZXZlbCBpbnRvIHRoZSBjYXBzCgkgIFRoZSBSU0laIGNhcGFiaWxpdGllcyB0YWcgc3RvcmVzIHRoZSBKUEVHIDIwMDAgcHJvZmlsZS4gSW4gdGhlIGNhc2Ugb2YKCSAgYnJvYWRjYXN0IHByb2ZpbGVzLCBpdCBhbHNvIHN0b3JlcyB0aGUgYnJvYWRjYXN0IG1haW4gbGV2ZWwsIHdoaWNoCgkgIHNwZWNpZmllcyB0aGUgYml0IHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIzMzcKCjIwMTctMDYtMDQgMjA6MjM6MzYgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBDbGVhciAiY2FuY2VsbGVkIiBvbiB1cmlkb3dubG9hZGVyIGJlZm9yZSBwcm9jZXNzaW5nIG1hbmlmZXN0CgkgIFByZXZpb3VzIGNvbW1pdCBsZXQgZGVtdXggY2FsbCBnc3RfdXJpX2Rvd25sb2FkZXJfY2FuY2VsKCkgb24gX2RlbXV4X3Jlc2V0KCkuCgkgIE5vdGUgdGhhdCwgX2RlbXV4X3Jlc2V0KCkgY2FsbGVkIGR1cmluZyBQQVVTRURfVE9fUkVBRFkgYW5kIFJFQURZX1RPX1BBVVNFRC4KCSAgQW5kLCBpdCB3aWxsIHNldCAiY2FuY2VsbGVkIiBvbiB1cmlkb3dubG9hZGVyIHdoaWNoIGJsb2NrcyB0aGUgdXNlIG9mCgkgIHVyaWRvd25sb2FkZXIuIFRoZSBpc3N1ZSBpcyB0aGF0LCBzdWJjbGFzcyBjYW4gdXNlIHRoZSB1cmlkb3dubG9hZGVyIG5vdCBvbmx5CgkgIGxpdmUgc3RyZWFtaW5nIGZvciBtYW5pZmVzdCB1cGRhdGUsIGJ1dCBhbHNvIGZvciBmZXRjaGluZyBhbm90aGVyIG1hbmlmZXN0cwoJICBzdWNoIGFzIHZhcmlhbnQgYW5kIHJlbmRpdGlvbiBtM3U4IG9mIGhscyBzdHJlYW1pbmcuIFNvIHRvIHVuYmxvY2sgaXQsCgkgIGRlbXV4IHNob3VsZCBjbGVhciAiY2FuY2VsbGVkIiBiZWZvcmUgcHJvY2Vzc2luZyBpbml0aWFsIG1hbmlmZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzNDAxCgoyMDE3LTA2LTA2IDE0OjU4OjU1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IEZpeCBwcm9wZXJ0eSBoYW5kbGluZwoJICBVc2FnZSBvZiBHc3RWYWx1ZUFycmF5IHdhcyB3cm9uZyBhbmQgZnJhbWUtc3RyaWRlIGRvZXMgbm90IGV4aXN0IGluCgkgIHJhd3ZpZGVvcGFyc2UKCjIwMTctMDUtMjUgMTU6MTA6MzIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IEFkZCB4aWxpbnhfZHJtIHRvIHRoZSBsaXN0IG9mIGRyaXZlcnMKCSAgVGhpcyBwcmV2ZW50IGhhdmluZyB0byBzZXQgdGhlIGRyaXZlci1uYW1lIGV4cGxpY2l0bHkgd2hlbiBydW5uaW5nIG9uCgkgIFp5bnEgVWx0cmFTY2FsZSsgYm9hcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMTg4CgoyMDE3LTA2LTAxIDE2OjAwOjUwICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZW5kaWFubmVzcyBmaXgKCSAgQWxzbyBzd2FwIHRoZSBsaW5rdHlwZSBhZnRlciB3ZSBkZXRlY3RlZCB0aGF0IHdlIG5lZWQgdG8gZG8KCSAgYnl0ZXN3YXBwaW5nLiBGaXhlcyBhIHByb2JsZW0gd2l0aCByZWFkaW5nIHBjYXAgZmlsZXMgZ2VuZXJhdGVkCgkgIG9uIGEgbWFjaGluZSB3aXRoIGRpZmZlcmVudCBlbmRpYW5uZXNzLgoKMjAxNy0wNS0zMSAwMjo0NjowMSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWxlYXNlIHRoZSBtYW5pZmVzdCBsb2NrIC4uLgoJICBiZWZvcmUgYnJvYWRjYXN0aW5nIHByZXJvbGwuCgkgIFRoZSBkZWFkbG9jayB3YXMgYXMgZm9sbG93czoKCSAgLT4gVGhlIHN1YmNsYXNzIHB1c2hlcyBhIGJ1ZmZlciBvbiBhIG5ld2x5LWNyZWF0ZWQgc3RyZWFtIGluIFQxCgkgIC0+IFdlIHRha2UgdGhlIHByZXJvbGwgbG9jayBpbiBUMSwgdG8gaGFuZGxlX3ByZXJvbGwKCSAgLT4gVGhlIGRlbXV4ZXIgaXMgc3RvcHBlZCBpbiBUMiwgd2UgdGFrZSB0aGUgTUFOSUZFU1RfTE9DSwoJICAtPiBUMSBzdGFydHMgYmxvY2tpbmcgYmVjYXVzZSBpdCByZWNlaXZlZCBhIHJlY29uZmlndXJlIGV2ZW50CgkgIGFuZCBuZWVkcyB0byB0YWtlIHRoZSBNQU5JRkVTVF9MT0NLCgkgIC0+IFQyIGRlYWRsb2NrcyBiZWNhdXNlIGl0IG5vdyB3YW50cyB0aGUgcHJlcm9sbF9sb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMjU1CgoyMDE3LTA1LTMwIDE1OjI3OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGEgZGVmYXVsdCBwcmVzZW50YXRpb24gZGVsYXkKCSAgSGF2ZSBhIGZhbGxiYWNrIHByZXNlbnRhdGlvbiBkZWxheSBpcyBncmVhdCAoaWYgbm90IHByZXNlbnQgaW4gdGhlCgkgIG1hbmlmZXN0KSwgaGF2aW5nIGFuIGFjdHVhbCBkZWZhdWx0IHZhbHVlIGlzIGJldHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzI0NAoKMjAxNy0wNS0yOSAyMjoyODoyMSAtMDcwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCBlcmFzZSBkYXRhIHdoaWxlIHVwZGF0ZXMtbG9vcCBpcyBydW5uaW5nCgkgIE1ha2Ugc3VyZSB0aGUgbWFuaWZlc3QgdXBkYXRlIGxvb3AgaXMgc3RvcHBlZCBiZWZvcmUgcHJvY2VlZGluZyB3aXRoIHRoZQoJICByZXNldHRpbmcgb2YgdGhlIG1hbmlmZXN0IGRhdGEuIE90aGVyd2lzZSwgdGhlIHVwZGF0ZXMgbG9vcCB3aWxsIHRyeSB0bwoJICB1c2UgaXQgYW5kIGl0IGxlYWRzIHRvIGEgc2VnZmF1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzAyOAoKMjAxNy0wNS0yOSAyMjoyNjowOSAtMDcwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiByZW1vdmUgZHVwbGljYXRlIGZyZWUgb2YgY2xpZW50IGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzAyOAoKMjAxNy0wNi0wMSAwMToxNTowNSArMDAwMCAgSmVyZW15IEhpYXR0IDxqZXJlbXlAYnJpbGxpYW50LnRlY2g+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiBGaXggR1ZhbHVlIGxlYWsgaW4gZ3N0X2dsX3ZhbHVlX3NldF90ZXh0dXJlX3RhcmdldF9mcm9tX21hc2soKQoKMjAxNy0wNS0zMSAwMzoxNDowNCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtYWtlIHN1cmUgdG8gZnJlZSBhbGwgIm9sZCBzdHJlYW1zIgoJICBBcyB3ZSByZWxlYXNlIHRoZSBNQU5JRkVTVF9MT0NLIGluIHN0b3BfdGFza3MsCgkgIGRlbXV4LT5wcml2LT5vbGRfc3RyZWFtcyBjYW4gYmUgc2V0LCB3ZSBuZWVkIHRvIGZyZWUgdGhlc2UKCSAgb3RoZXJ3aXNlIHdlIG1heSBlbmQgdXAgdHJ5aW5nIHRvIGRpc3Bvc2UgZWxlbWVudHMgaW4gdGhlCgkgIFJFQURZIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMjU2CgoyMDE3LTA1LTE2IDE3OjI5OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBiZSB0b28gYWdncmVzc2l2ZSB3aXRoIHNlZWsgcmFuZ2VzCgkgIFdoZW4gYW4gYWNjdXJhdGUgc2VlayBpcyByZXF1ZXN0ZWQgb24gYSBsaXZlIHN0cmVhbSwgb25seSByZXF1ZXN0cyB0aGUKCSAgZXhhY3QgdmFsdWUgZm9yIHRoZSAic3RhcnRpbmcgcG9zaXRpb24iIChpLmUuIHN0YXJ0IGluIGZvcndhcmQgcGxheWJhY2sKCSAgYW5kIHN0b3AgaW4gcmV2ZXJzZSBwbGF5YmFjaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI2OTgKCjIwMTctMDUtMzEgMTA6NTg6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgd3JvbmcgYXNzZXJ0aW9uCgkgIFRoaXMgaXMgd3JvbmcgYmVjYXVzZToKCSAgKiBJZiB0aGUgcmF0ZSBpcyBuZWdhdGl2ZSB3ZSBzaG91bGQgY2hlY2sgZm9yIHRoZSAqcHJldmlvdXMqIHBlcmlvZAoJICAqIGFkYXB0aXZlZGVtdXggYWxyZWFkeSBkb2VzIHRoZSBwcm9wZXIgY2hlY2tzIGJlZm9yZSBjYWxsaW5nIHRoaXMKCSAgbWV0aG9kCgoyMDE3LTA1LTI2IDE3OjU1OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkgIHR0bWw6IFNpbXBsaWZ5IGNvZGUKCSAgbjIgY2FuIG5ldmVyIGJlIE5VTEwgc2luY2U6CgkgICogaXQncyBpbiBhICJ3aGlsZSAobjEgJiYgbjIpIiBibG9jawoJICAqIGFuZCBpdCdzIG5vdCBtb2RpZmllZCBiZWZvcmUKCSAgQ0lEICMxNDA1ODY4CgoyMDE3LTA1LTI2IDE3OjQ0OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdG5vbnN0cmVhbWF1ZGlvZGVjb2Rlci5jOgoJICBub25zdHJlYW1hdWRpbzogQXZvaWQgdXNpbmcgd3JvbmcgdmFyaWFibGUKCSAgQW5kIHRvIG1ha2UgdGhhdCAxMDAlIG9idmlvdXMsIG9ubHkgdXNlIHZhcmlhYmxlcyBkZWNsYXJlZCB3aXRoaW4gdGhlCgkgIHN3aXRjaCBjYXNlcyBpbnN0ZWFkIG9mIGZ1bmN0aW9uLXdpZGUgb25lcy4KCSAgQWxzbyByZW1vdmUgdXNlbGVzcyBvbmUtdGltZS11c2Utb25seSB2YXJpYWJsZS4KCSAgQ0lEICMxNDA5ODU3CgoyMDE3LTA1LTI2IDE3OjQxOjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdG5vbnN0cmVhbWF1ZGlvZGVjb2Rlci5jOgoJICBub25zdHJlYW1hdWRpbzogQXZvaWQgdXNpbmcgdW4taW5pdGlhbGl6ZWQgdmFsdWUKCSAgV2Ugd291bGQgZW5kIHVwIHdpdGggY3VyX3Bvc2l0aW9uIG5vdCBzZXQgYnV0IHByb2NlZWQgYmVpbmcgYXQgaXRzCgkgIGRlZmF1bHQgdmFsdWUgb2YgVFJVRS4gSW5zdGVhZCwgcHJvcGVybHkgc2V0IHByb2NlZWQgdG8gRkFMU0UKCSAgQ0lEICMxNDA5ODU1CgoyMDE3LTA1LTI2IDE3OjMwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggZGVidWdnaW5nIG1lc3NhZ2UKCSAgR3N0U2VnbWVudCBwb3NpdGlvbiBpcyBhIGd1aW50NjQgYW5kIG5vdCBhIGdpbnQ2NAoJICBDSUQgIzE0MDk5MTAKCjIwMTctMDUtMjUgMDk6NDg6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IENoZWNrIGxpdmUgc2Vla2luZyByYW5nZSBtb3JlIG9mdGVuCgkgIFRoZSBsaXZlIHNlZWtpbmcgcmFuZ2Ugd2FzIG9ubHkgY2hlY2tlZCB3aGVuIGRvaW5nIGFjdHVhbCBzZWVrcy4gVGhpcyB3YXMKCSAgYXNzdW1pbmcgdGhhdCB0aGUgcmF0ZSB3b3VsZCBhbHdheXMgYmUgMS4wIChpLmUuIHRoZSBwbGF5YmFjayB3b3VsZAoJICBhZHZhbmNlIGluIHJlYWx0aW1lLCBhbmQgdGhlcmVmb3JlIGZyYWdtZW50cyB3b3VsZCBhbHdheXMgYmUgYXZhaWxhYmxlCgkgIHNpbmNlIHRoZSBzZWVraW5nIHdpbmRvdyBtb3ZlcyBhdCB0aGUgc2FtZSByYXRlKS4KCSAgV2l0aCBub24tMS4wIHJhdGVzLCB0aGlzIG5vIGxvbmdlciBiZWNvbWVzIHZhbGlkLCBhbmQgdGhlcmVmb3JlIHdlIG5lZWQKCSAgdG8gY2hlY2sgd2hldGhlciB3ZSBhcmUgc3RpbGwgd2l0aGluIHRoZSBsaXZlIHNlZWtpbmcgcmFuZ2Ugd2hlbiBhZHZhbmNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODMwNzUKCjIwMTctMDUtMjUgMTY6NDI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERvbid0IGNyZWF0ZSBpbnZhbGlkIGV2ZW50CgkgIHRhZ3MgY291bGQgcG90ZW50aWFsbHkgYmUgTlVMTAoKMjAxNi0xMi0wMiAxNzo1MTo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXRyeSBkb3dubG9hZCBNQVhfRE9XTkxPQURfUkVUUllfQ09VTlQgdGltZXMgYmVmb3JlIGVycm9yaW5nCgkgIFdoYXQgd2Ugd2FudCBpcyB0byByZXRyeSBkb3dubG9hZGluZyB0aGUgZnJhZ21lbnQgb24gNHh4LzV4eCBlcnJvcnMKCSAgaG93ZXZlciByZXR1cm5pbmcgRU9TIHdpbGwgY2F1c2Ugd2FpdGluZyBmb3IgYSBtYW5pZmVzdCB1cGRhdGUgZm9yIGxpdmUKCSAgKHdoaWNoIG1heSBiZSBhIHJlYWxseSBsb25nIHRpbWUpIG9yIHN0b3AgZXZlcnl0aGluZyBmb3Igbm9uLWxpdmUuCgkgIENoYW5nZSB0aGF0IHRvIG9ubHkgcmV0dXJuIEVPUy9FUlJPUiBvbmNlIHdlJ3ZlIHJlYWNoZWQgdGhlIGVycm9yIGxpbWl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NjA5CgoyMDE3LTA1LTI1IDEzOjA2OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsOiBGaXggaW5kZW50YXRpb24KCjIwMTctMDUtMjUgMTM6MDU6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiAjZGVmaW5lIEdMX1JFQURfRlJBTUVCVUZGRVIgLyBHTF9EUkFXX0ZSQU1FQlVGRkVSIGlmIG5vdCBkZWZpbmVkIHlldAoJICBKdXN0IGxpa2Ugd2UgZG8gZWxzZXdoZXJlIGFscmVhZHkuCgoyMDE3LTA1LTI1IDExOjA1OjQ3ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSAgZ2xmb3JtYXQ6IGZpeCB0aGUgdXNhZ2Ugb2YgR1NUX0dMX1JHQjU2NQoJICBHTF9SR0I1NjUgaXMgc2l6ZWQgaW50ZXJuYWwgZ2xmb3JtYXQsIHRoZSBjb3JyZXNwb25kaW5nIGdsZm9ybWF0CgkgIHNob3VsZCBiZSBHTF9SR0IgYW5kIHR5cGUgaXMgR0xfVU5TSUdORURfU0hPUlRfNTY1LiBPdGhlcndpc2Ugd2lsbAoJICByZXR1cm4gR0xfSU5WQUxJRF9FTlVNIHdoZW4gY3JlYXRpbmcgdGV4dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MzA2NgoKMjAxNy0wNS0yNSAxMDowOTowNCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsZnJhbWVidWZmZXI6IGNoZWNrIGZyYW1lIGJ1ZmZlciBzdGF0dXMgbmVlZCB1c2Ugc3BlY2lmaWMgZmJvIHRhcmdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgzMDY1CgoyMDE3LTA1LTI0IDExOjQ3OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5tcHQvZ3N0b3Blbm1wdGRlYy5jOgoJICBvcGVubXB0OiBGaXggY29tcGlsYXRpb24gd2l0aCAwLjIuNzM4NiBhcyBpbiBEZWJpYW4KCSAgVGhlIE9QRU5NUFRfQVBJX1ZFUlNJT05fQVRfTEVBU1QgbWFjcm8gZG9lcyBub3QgZXhpc3QuCgoyMDE3LTA1LTIyIDIzOjA2OjAxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogTWFrZSBhdWRpb21peGVyIHRlc3RfY2xpcCB2ZXJpZnkgdGhlIHJlc3VsdGluZyB0aW1lc3RhbXBzIHRvbwoKMjAxNy0wNS0yMyAwMDo1Mzo1NyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvY2VzcyBzZXJpYWxpemVkIHF1ZXJpZXMgdGhyb3VnaCB0aGUgcXVldWUKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhleSByZWFsbHkgZ2V0IHByb2Nlc3NlZCBpbiBvcmRlciB3aXRoCgkgIGJ1ZmZlcnMuIEp1c3Qgd2FpdGluZyBmb3IgdGhlIHF1ZXVlIHRvIGJlIGVtcHR5IGlzIHNvbWV0aW1lcyBub3QKCSAgZW5vdWdoIGFzIHRoZSBidWZmZXJzIGFyZSBkcm9wcGVkIGZyb20gdGhlIHBhZCBiZWZvcmUgdGhlIHJlc3VsdCBpcwoJICBwdXNoZWQgdG8gdGhlIG5leHQgZWxlbWVudCwgc29tZXRpbWVzIHJlc3VsdGluZyBpbiBzdXJwcmlzaW5nCgkgIHJlLW9yZGVyaW5nLgoKMjAxNy0wNS0yMyAwMDo1MzoyMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU2V0IGZsb3cgdG8gRkxVU0hJTkcgb24gcGFkIHN0b3AKCSAgRml4ZXMgYSByYXJlIHJhY2Ugd2hlcmUgdGhlIHBhZCBpcyBiZWluZyBzdG9wcGVkIHdoaWxlIGRvaW5nIGEgcXVlcnkuCgoyMDE3LTA1LTIzIDAwOjUyOjI3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBhdWRpb2ludGVybGVhdmU6IFJlbW92ZSBkcmFpbiB3aXRoIG1hbnVhbCBjbG9jawoJICBOb3cgdGhhdCB0aGUgcXVlcmllcyBnbyBvbnRvIHRoZSBxdWV1ZSwgeW91IG1heSBuZWVkIHRvIHB1bGwgdGhlIGNyYW5rCgkgIGluIG9yZGVyIGZvciB0aGVtIHRvIGJlIHByb2Nlc3NlZCwgbWFraW5nIHRoaXMgdGVzdCBkaWZmaWN1bHQuCgoyMDE3LTA1LTIzIDA5OjU3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVxdWlyZSB3aWxkbWlkaSA+PSAwLjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODU3NgoKMjAxNy0wNS0yMyAwOToxNzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93aWxkbWlkaS9nc3R3aWxkbWlkaWRlYy5jOgoJICB3aWxkbWlkaTogaW5jbHVkZSBzdGRpbnQuaCBmb3IgaW50OF90CgoyMDE3LTA1LTIzIDA4OjQyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZGF1ZGlvLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSAuZGVmIGZpbGUgZm9yIG5ldyBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg1NzYKCjIwMTctMDUtMjIgMTU6NTI6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC93aWxkbWlkaS9nc3R3aWxkbWlkaWRlYy5jOgoJICB3aWxkbWlkaWRlYzogZXhwbGljaXRseSBjYXN0IGJ1ZmZlciBkYXRhIHRvIGludDggaW4gX2RlY29kZSgpCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgaW50cm9kdWNlZCBpbiBjb21taXQgZmYzMmE0Mjk3OgoJICBnc3R3aWxkbWlkaWRlYy5jOjYzNzo0NzogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYV2lsZE1pZGlfR2V0T3V0cHV04oCZIGRpZmZlciBpbiBzaWduZWRuZXNzCgkgIFdpbGRNaWRpX0dldE91dHB1dCAod2lsZG1pZGlfZGVjLT5zb25nLCAoY2hhciAqKSAoaW5mby5kYXRhKSwgaW5mby5zaXplKTsKCSAgXgoJICB3aWxkbWlkaV9saWIuaDoxMDY6MTU6IG5vdGU6IGV4cGVjdGVkIOKAmGludDhfdCAqIHtha2Egc2lnbmVkIGNoYXIgKn3igJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYY2hhciAq4oCZCgkgIFdNX1NZTUJPTCBpbnQgV2lsZE1pZGlfR2V0T3V0cHV0IChtaWRpICpoYW5kbGUsIGludDhfdCAqYnVmZmVyLCB1aW50MzJfdCBzaXplKTsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODU3NgoKMjAxNi0wNy0yNyAwMjoyMjoyNiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubXB0L01ha2VmaWxlLmFtOgoJKiBleHQvb3Blbm1wdC9nc3RvcGVubXB0ZGVjLmM6CgkqIGV4dC9vcGVubXB0L2dzdG9wZW5tcHRkZWMuaDoKCSogZXh0L29wZW5tcHQvcGx1Z2luLmM6CgkgIG9wZW5tcHQ6IEFkZCBvcGVubXB0ZGVjIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODU3NgoKMjAxNy0wMy0wOCAyMjoxNzo0MSArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvd2lsZG1pZGkvTWFrZWZpbGUuYW06CgkqIGV4dC93aWxkbWlkaS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvd2lsZG1pZGkvZ3N0d2lsZG1pZGkuaDoKCSogZXh0L3dpbGRtaWRpL2dzdHdpbGRtaWRpZGVjLmM6CgkqIGV4dC93aWxkbWlkaS9nc3R3aWxkbWlkaWRlYy5oOgoJICB3aWxkbWlkaTogUG9ydCB0byAxLjAgb24gdG9wIG9mIHRoZSBub25zdHJlYW1hdWRpb2RlY29kZXIgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NTc2CgoyMDE2LTA3LTI3IDAxOjQxOjIwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3Rub25zdHJlYW1hdWRpb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdG5vbnN0cmVhbWF1ZGlvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vbWVzb24uYnVpbGQ6CgkgIGF1ZGlvOiBBZGQgbm9uc3RyZWFtYXVkaW9kZWNvZGVyIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODU3NgoKMjAxNy0wNS0yMiAxMzo0NjozNiArMDIwMCAgQW5kZXJzIEpvbnNzb24gPGFuZGVycy5qb25zc29uQG5vcnNqb3ZhbGxlbi5zZT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBGaXggdHlwbyAob2NjdXJlZC0+b2NjdXJyZWQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI5NDcKCjIwMTctMDUtMjEgMTg6MDM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlnLmgubWVzb246CgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogZG9uJ3QgbmVlZCBjb25maWcuaC5tZXNvbiBhbnkgbG9uZ2VyCgoyMDE3LTA1LTIwIDE5OjAwOjIzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb2FnZ3JlZ2F0ZTogRG9uJ3QgaG9sZCBvYmplY3QgbG9ja3MgYWNyb3NzIGNhbGxzIHRvIGFnZ3JlZ2F0ZV9vbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4Mjg3OAoKMjAxNi0xMS0xOCAxNDo0NDoxNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVxdWVzdCBwYWQgdGVtcGxhdGVzIHdoaWNoIGFyZSBub3QgcmVxdWVzdCBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjkyMAoKMjAxNi0xMS0xOCAxNDo0MTo1NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgcmVzdHJpY3Qgc2luayBwYWQgbmFtZXMKCSAgU2luayBwYWRzIGNvdWxkIGhhdmUgb3RoZXIgbmFtZXMgdGhhbiBzaW5rXyV1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI5MjAKCjIwMTctMDUtMjEgMTg6MzE6NTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmg6CgkgIGdsYmFzZW1peGVyOiBSZW1vdmUgdW51c2VkIG5lZ290aWF0ZWQgbWVtYmVyCgkgIFRoaXMgaXMgbm93IGFsbCBoYW5kbGVkIGluIEdzdEFnZ3JlZ2F0b3IsIHNvIHRoaXMgY29kZSBpcyBub3QKCSAgY2FsbGVkIGFueW1vcmUuCgoyMDE3LTA1LTIxIDE1OjQ0OjAyICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERlY2xhcmUgdGhhdCBpdCBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBvbiBpbnB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyOTE4CgoyMDE3LTA1LTIxIDE1OjMwOjEwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsKm1peGVyOiBVc2UgcHJvcG9zZV9hbGxvY2F0aW9uIGZyb20gdGhlIEdzdEFnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyOTE4CgoyMDE3LTA1LTIxIDE1OjE5OjE3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IEltcGxlbWVudCBwcm9wb3NlIGFsbG9jYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjkxOAoKMjAxNy0wNS0yMSAxNDozNDoxMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2hlY2sgZm9yIHRoZSByZXN1bHQgb2YgY2FwcyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjkxOAoKMjAxNy0wNS0yMSAxNDoyODowMCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2FwcyBldmVudCBhbHdheXMgZ29lcyB0byB0aGUgYWdncmVnYXRlIHRocmVhZAoJICBTbyBubyBuZWVkIHRvIGNoZWNrIGl0IGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI5MTgKCjIwMTctMDUtMDkgMjM6NTk6MDQgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3Zpdi1mYjogRml4IHVzZXItY2hvaWNlIHN0cmluZyBjb21wYXJpc29ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyOTIxCgoyMDE3LTA1LTIxIDE1OjI2OjEyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSAgcW1sZ2xzaW5rOiBBZGQgZHVtbXkgdGV4dHVyZSB0aGF0IGlzIHNob3duIGFzIHBsYWNlaG9sZGVyIGZvciBOVUxMIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjkxNwoKMjAxNy0wNS0yMSAxNToxNTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYWRiYXNlLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSAuZGVmIGZpbGUgZm9yIG5ldyBleHBvcnRzCgoyMDE3LTA1LTIwIDE4OjEwOjI5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBub3JtYWwgdmlkZW8gcG9vbCBhcyBhIGZhbGxiYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1MjkKCjIwMTctMDUtMjAgMTc6NTk6MTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogVXNlIGRvd25zdHJlYW0gYWxsb2NhdG9yIGFuZCBwYXJhbXMgaWYgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1MjkKCjIwMTctMDUtMjAgMTc6MzU6NDMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsYmFzZW1peGVyOiBSZW1vdmUgb3duIGRlY2lkZV9hbGxvY2F0aW9uLCB1c2UgR3N0QWdncmVnYXRvcidzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1MjkKCjIwMTctMDUtMjAgMTc6MzA6MDYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSAgZ2xiYXNlbWl4ZXI6IFVzZSBhZ2dyZWdhdG9yIGZvciBhbGxvY2F0aW9uIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1MjkKCjIwMTctMDUtMjAgMTc6MjU6MTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBHZXQgdGhlIGJ1ZmZlciBmcm9tIHRoZSBwb29sIGlmIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTI5CgoyMDE3LTA1LTIwIDE2OjU4OjU0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBkb3duc3RyZWFtIGFsbG9jYXRpb24gcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjUyOQoKMjAxNy0wNS0yMSAxMjo0MTo1MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZXR1cm4gdG8gcGFyZW50IG9uIHJlY29uZmlndXJlCgkgIFRoZSBjYXBzIG5lZ290aWF0aW9uIGlzIG5vdyBpbiB0aGUgcGFyZW50LCBzbyBuZWVkIHRvIHJldHVybiB0aGVyZQoJICBpZiBhIHJlY29uZmlndXJhdGlvbiBpcyBuZWVkZWQsIG90aGVyd2lzZSBpdCB3aWxsIGxvb3BzIGZvcmV2ZXIuCgoyMDE3LTA1LTIxIDExOjQ0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2w6IHgxMTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTctMDUtMjEgMTI6MDM6MDEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2x3aW5kb3dfdml2X2ZiX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2xjb250ZXh0OiBhZGQgcHVibGljIHN3YXBfYnVmZmVycyBmdW5jdGlvbgoJICBUaGF0IHNpbXBseSBjYWxscyB0aGUgaW1wbGVtZW50YXRpb24KCjIwMTctMDUtMjEgMTA6NTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvY3ViZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9jdWJleXV2LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL2RvdWJsZWN1YmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvcmVjb3JkZ3JhcGhpYy52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvLzNkdmlkZW8udmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvZmlsdGVybm92aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L2ZpbHRlcnZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3BpeGJ1ZmRyb3AvcGl4YnVmZHJvcC52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvc3dpdGNodmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS52Y3Byb2o6CgkgIGV4YW1wbGVzOiBnbDogcmVtb3ZlIGFuY2llbnQgYml0cm90dGVuIC52Y3Byb2ogZmlsZXMKCjIwMTctMDUtMjAgMTY6MjI6MTAgKzAwMDAgIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggZGVidWcgbWVzc2FnZSBwcmludGYgZm9ybWF0CgkgIE1hdGNoIGdzaXplIHRvIEdfR1NJWkVfRk9STUFUIGluIHRoZSBkZWJ1ZyBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyODczCgoyMDE3LTA1LTIwIDE3OjA0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZGF1ZGlvLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSAuZGVmIGZpbGUgZm9yIEFQSSByZW1vdmFsCgoyMDE3LTA1LTIwIDE3OjQ3OjA0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJICBhdWRpb2ludGVybGVhdmU6IFRha2Ugb2JqZWN0IGxvY2sgd2hpbGUgbW9kaWZ5aW5nIGNoYW5uZWwgY291bnQKCjIwMTctMDUtMjAgMTU6NTY6MTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIHVudXNlZCBHU1RfRkxPV19OT1RfSEFORExFRAoKMjAxNy0wNS0yMCAxNDoyNDo1NyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgc2ltcGxlIHN1cHBvcnQgZm9yIGNhcHMgaGFuZGxpbmcKCSAgTW9kZWxsZWQgb2ZmIHRoZSB2aWRlb2FnZ3JlZ2F0b3IgY2FwcyBoYW5kbGluZyBhcyB0aGF0IHNlZW1zIHRoZSBtb3N0CgkgIG1hdHVyZSBhZ2dyZWd0b3ItdXNpbmcgaW1wbGVtZW50YXRpb24gdGhhdCBoYXMgY2FwcyBoYW5kbGluZyB0aGVyZSBpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjkzMQoKMjAxNy0wNS0yMCAxMzoxMDo1MyArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXNldCB1cHN0cmVhbSBsYXRlbmN5IG9uIGZpcnN0IGJ1ZmZlcgoJICBJbiB0aGUgY2FzZSBhbiBhZ2dyZWdhdG9yIGlzIGNyZWF0ZWQgYW5kIHBhZHMgYXJlIHJlcXVlc3RlZCBidXQgb25seQoJICBsaW5rZWQgbGF0ZXIsIHdlIGVuZCB1cCBuZXZlciB1cGRhdGluZyB0aGUgdXBzdHJlYW0gbGF0ZW5jeS4KCSAgVGhpcyB3YXMgYmVjYXVzZSBsYXRlbmN5IHF1ZXJpZXMgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkIHN1Y2NlZWQsCgkgIHNvIHdlIG5ldmVyIGRpZCBhIG5ldyBxdWVyeSBvbmNlIGEgbGl2ZSBzb3VyY2UgaGFzIGJlZW4gbGlua2VkLCBzbyB0aGUKCSAgdGhyZWFkIHdhcyBuZXZlciBzdGFydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NTQ4CgoyMDE3LTA0LTA0IDExOjI1OjQzICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkZWxheSB1c2luZyBuZXcgY2FwcyBmcm9tIGEgc2luayBwYWQgdW50aWwgdGhlIG5leHQgYnVmZmVyIGluIHRoZSBxdWV1ZSBpcyB0YWtlbgoJICBXaGVuIGNhcHMgY2hhbmdlcyB3aGlsZSBzdHJlYW1pbmcsIHRoZSBuZXcgY2FwcyB3YXMgZ2V0dGluZyBwcm9jZXNzZWQKCSAgaW1tZWRpYXRlbHkgaW4gdmlkZW9hZ2dyZWdhdG9yLCBidXQgdGhlIG5leHQgYnVmZmVyIGluIHRoZSBxdWV1ZSB0aGF0CgkgIGNvcnJlc3BvbmRzIHRvIHRoaXMgbmV3IGNhcHMgd2FzIG5vdCBuZWNlc3NhcmlseSBiZWluZyB1c2VkIGltbWVkaWF0ZWx5LAoJICB3aGljaCByZXN1bHRlZCBzb21ldGltZXMgaW4gdXNpbmcgYW4gb2xkIGJ1ZmZlciB3aXRoIG5ldyBjYXBzLiBPZiBjb3Vyc2UKCSAgdGhlcmUgdXNlZCB0byBiZSBhIHNlcGFyYXRlIGJ1ZmZlcl92aW5mbyBmb3IgbWFwcGluZyB0aGUgYnVmZmVyIHdpdGggaXRzCgkgIG93biBjYXBzLCBidXQgaW4gY29tcG9zaXRvciB0aGUgR3N0VmlkZW9Db252ZXJ0ZXIgd2FzIHN0aWxsIHVzaW5nIHdyb25nCgkgIGluZm8gYW5kIHJlc3VsdGVkIGluIGludmFsaWQgcmVhZHMgYW5kIGNvcnJ1cHQgb3V0cHV0LgoJICBUaGlzIGFwcHJvYWNoIGhlcmUgaXMgbW9yZSBzYWZlLiBXZSBkZWxheSB1c2luZyB0aGUgbmV3IGNhcHMKCSAgdW50aWwgd2UgYWN0dWFsbHkgc2VsZWN0IHRoZSBuZXh0IGJ1ZmZlciBpbiB0aGUgcXVldWUgZm9yIHVzZS4KCSAgVGhpcyB3YXkgd2UgYWxzbyBlbGltaW5hdGUgdGhlIG5lZWQgZm9yIGJ1ZmZlcl92aW5mbywgc2luY2UgdGhlCgkgIHBhZC0+aW5mbyBpcyBhbHdheXMgaW4gc3luYyB3aXRoIHRoZSBmb3JtYXQgb2YgdGhlIHNlbGVjdGVkIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDY4MgoKMjAxNi0wNS0xNCAxNTo1MjozNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWx3YXlzIGhhbmRsZSBzeW5jJ2VkIGV2ZW50cyBvbiBvdXRwdXQgdGhyZWFkCgkgIEhhdmluZyBhbGwgc3luY2hyb25pemVkIGV2ZW50cyBhbHdheXMgYmUgaGFuZGxlZCBvbiB0aGUgb3V0cHV0CgkgIHRocmVhZCBzaG91bGQgbWFrZSBzeW5jaHJvbml6YXRpb24gZWFzaWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNjczCgoyMDE2LTA3LTA2IDE2OjM5OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogRGVsYXkgY2xpcHBpbmcgdG8gb3V0cHV0IHRocmVhZAoJICBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIHN5bmNocm9uaXplZCBldmVudHMgbGlrZSBjYXBzIG9yIHNlZ21lbnRzCgkgIG1heSBvbmx5IGJlIHByb2Nlc3NlZCBvbiB0aGUgb3V0cHV0IHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTY3MwoKMjAxNi0wNy0wNyAxNjoxMzo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTWFrZSBwYWQgZW9zIGFzIHNvb24gYXMgYWxsIGJ1ZmZlcnMgYXJlIHByb2Nlc3NlZCwgZG9udCB3YXkgZm9yIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNjczCgoyMDE2LTA3LTA3IDExOjQ3OjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBPbmx5IGNvdW50IGJ1ZmZlcnMgd2hlbiBkZWNsYXJpbmcgcXVldWUgZnVsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNjczCgoyMDE2LTA3LTA2IDE3OjI4OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogVGVzdCBjYXBzIHVzaW5nIHF1ZXJ5CgkgIFNlbmRpbmcgYW4gZXZlbnQgY2FuIGFjY2VwdGVkIGV2ZW50IGlmIHRoZSBjYXBzIHdlcmUgcmVqZWN0ZWQKCSAgYmVjYXVzZSB0aGUgZXZlbnQgY291bGQgYmUgcXVldWVkIGFuZCBwcm9jZXNzZWQgbGF0ZXIuCgkgIEFsc28gc2VuZCBhIGRyYWluIHF1ZXJ5IGluIHRoZSBjYXBzIHRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgdGhlCgkgIGV2ZW50IGhhcyBiZWVuIHByb2Nlc3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTY3MwoKMjAxNi0wNy0wNiAxNjo0MTo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IFNpbXBsaWZ5IGNsaXAgZnVuY3Rpb24KCSAgVGhlIHJldHVybiB2YWx1ZSB3YXMgaWdub3JlZCBhbnl3YXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTY3MwoKMjAxNi0wNS0xNSAxNjowNDo1OCArMDMwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogT25seSBkZWNsYXJlIGZpcnN0IGJ1ZmZlciBvbiBhY3R1YWwgYnVmZmVyCgkgIFRoZSBmdW5jdGlvbiBuZWVkcyB0byBiZSB1bmxvY2tlZCBpZiBhbnkgZGF0YSBpcyByZWNlaXZlZCwgYnV0IG9ubHkKCSAgZW5kIHRoZSBmaXJzdCBidWZmZXIgcHJvY2Vzc2luZyBvbiBhbiBhY3R1YWwgYnVmZmVyLCBzeW5jaHJvbml6ZWQgZXZlbnRzCgkgIGRvbid0IG1hdHRlciBvbiB0aGUgZmlyc3QgYnVmZmVyIHByb2Nlc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE2NzMKCjIwMTctMDUtMDkgMjA6MjA6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNldCBpbml0aWFsIHBvc2l0aW9uIG9uIGZpcnN0IGJ1ZmZlcgoJICBTZXQgdGhlIGluaXRpYWwgcG9zaXRpb24gb24gdGhlIGZpcnN0IGJ1ZmZlciwgb3RoZXJ3aXNlIHRoZSBxdWV1ZQoJICB3aWxsIGdyb3cgd2l0aG91dCBsaW1pdHMgYmVmb3JlIHRoZSBvdXRwdXQgdGhyZWFkIGlzIHN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE2NzMKCjIwMTctMDUtMDkgMjA6MDY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlc2V0IHRoZSBwYWQncyBmaXJzdCBidWZmZXIgZmxhZyB3aXRoIHRoZSByZXN0CgkgIFRoZXJlIGlzIG5vdCByZWFzb24gdG8gaGF2ZSBzZXBhcmF0ZSBjb2RlIHRvIHJlc2V0IHRoaXMgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNjczCgoyMDE3LTA1LTA5IDIwOjA1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXNldCBwYWQgb24gaW5pdAoJICBGYWN0b3Igb3V0IHRoZSBwYWQgcmVzZXQgY29kZSBmcm9tIHRoZSBmbHVzaGluZyBhbmQgdXNlIGl0IG9uIGluaXQgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNjczCgoyMDE3LTA1LTA5IDIwOjEzOjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggaW5kZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTY3MwoKMjAxNy0wMi0yMyAxNTo0MjowOCAtMDgwMCAgZnZhbnppbGUgPGZyYW5rQGZ2YW56aWxlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBrZWVwIGEgcmVmIHRvIHRoZSBhY3RpdmUgdGhyZWFkCgkgIFdpdGggdGhlIG1hY09TL2lPUyBpbXBsZW1lbnRhdGlvbnMsIHRoZSBhY3RpdmUgdGhyZWFkIGNhbiBjaGFuZ2UKCSAgbXVsdGlwbGUgdGltZXMgb3ZlciB0aGUgbGlmZSBvZiBhIHBpcGVsaW5lIHdoaWNoIHdvdWxkIGV4cG9zZSBhIHJhY2UgaW4KCSAgdGhlIHRocmVhZCB0cmFja2luZy4KCSAgRml4IGJ5IHRha2luZyBhIHJlZiBvbiB0aGUgYWN0aXZlIHRocmVhZCB3aGlsZSB0aGUgY29udGV4dCBpcyBhY3RpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkyMDIKCjIwMTctMDUtMjAgMTU6MDQ6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkgIG1lc29uOiBhZGQgb3B0aW9ucyB0byBzZXQgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjE3MgoKMjAxNy0wNS0yMCAxMjozNDoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPGp0b3JyYUBvYmxvbmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rL21haW4ubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGV4YW1wbGVzOiBmaXggbWFjT1MgOS4xMiBkZXByZWNhdGlvbiB3YXJuaW5ncwoJICBBZGQgI2RlZmluZXMgdG8gYWxsb3cgb2xkZXIgdmVyc2lvbnMgb2YgbWFjT1MgdG8gdXNlIHRoZSBuZXcgY29uc3RhbnQgbmFtZXMuCgoyMDE3LTA1LTIwIDEyOjE5OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8anRvcnJhQG9ibG9uZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLm06CgkgIGNvY29hOiBmaXggYSByZWNlbnRseSBpbnRyb2R1Y2VkIHR5cG8KCSAgRml4ZXMgZ3N0Z2xkaXNwbGF5X2NvY29hLm06MTc1OjI2OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnc2luZ2xldG9uZScuCgoyMDE3LTA1LTIwIDEyOjE2OjUwICswMjAwICBKb3NlcCBUb3JyYSA8anRvcnJhQG9ibG9uZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBjb2NvYTogZml4IG1hY09TIDEwLjEyIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIEFkZCAjZGVmaW5lcyB0byBhbGxvdyBvbGRlciB2ZXJzaW9ucyBvZiBtYWNPUyB0byB1c2UgdGhlIG5ldyBjb25zdGFudCBuYW1lcy4KCjIwMTctMDQtMTcgMTQ6NDM6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVc2UgY29ycmVjdCAoc3ViKSBmcmFnbWVudCBzdGFydCB3aGVuIGNsaXBwaW5nIGNodW5rIHNpemUKCSAgSWYgd2UgZGlkbid0IGRvd25sb2FkIGFueXRoaW5nIHlldCwgd2Ugc2hvdWxkbid0IHVzZSBmcmFnbWVudC5zdGFydCBidXQKCSAgdGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IHNpZHggZW50cnkuCgoyMDE3LTA0LTE3IDE0OjI1OjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBzdXJlIHRvIHBhc3MgdGhlIG5leHQgYnVmZmVyIGFmdGVyIGEgc2VlayB3aXRoIERJU0NPTlQgZmxhZwoJICBXaGVuIHdlIG1hbnVhbGx5IHNlZWsgZm9yIHNraXBwaW5nIGFoZWFkIGluIGtleXVuaXQtb25seSB0cmlja21vZGUsIHdlCgkgIGhhdmUgdG8gZW5mb3JjZSB0aGF0IG91cnNlbHZlcyBhcyBhZGFwdGl2ZWRlbXV4IGRvZXMgbm90IGtub3cgYWJvdXQgdGhlCgkgIHNlZWtzLgoKMjAxNy0wNC0xNSAxMTo1NTozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEVuc3VyZSB0aGF0IHdlIG5ldmVyIGV2ZXIgZG93bmxvYWQgb3ZlciB0aGUgY3VycmVudCBTSURYIGVudHJ5CgkgIEV2ZW4gaWYgZG93bmxvYWRpbmcgbW9yZSB0aGFuIG5lZWRlZCB0byB0cnkgdG8gZ2V0IHRoZSBtb29mIGFuZCBmaXJzdAoJICBrZXlmcmFtZSBib3RoIHRvZ2V0aGVyLgoKMjAxNy0wNC0xMyAyMjo0OToyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFRha2UgU0lEWCBlbnRyeSB0aW1lc3RhbXAvZHVyYXRpb24gaW50byBhY2NvdW50IGZvciBrZXl1bml0LW9ubHkgbW9kZQoJICBBbmQgbm90IHRoZSB3aG9sZSBzZWdtZW50J3MgdGltZXN0YW1wL2R1cmF0aW9uCgoyMDE3LTA0LTEzIDE3OjEyOjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUmVzZXQgcGFyc2luZyBzdGF0ZSBjb3JyZWN0bHkgaW4gdmFyaW91cyBwbGFjZXMKCjIwMTctMDQtMTMgMTQ6NTE6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBSZXNldCBwcmV2aW91cyB0YXJnZXRfdGltZSB3aGVuIHNlZWtpbmcKCjIwMTctMDQtMDMgMTY6NDc6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogU21vb3RoIG91dCBza2lwIGRpc3RhbmNlcyBpbiBrZXlmcmFtZS1vbmx5IHRyaWNrIG1vZGVzCgkgIFRoaXMgZW5zdXJlcyBzbW9vdGhlciBwbGF5YmFjay4gSXQgbG9va3Mgd2VpcmQgaWYgd2UgZmlyc3QgZG8gYSBiaWcKCSAganVtcCwgdGhlbiBwbGF5IGEgY291cGxlIG9mIGNvbnNlY3V0aXZlIGZyYW1lcywganVzdCB0byBhZ2FpbiBza2lwIGFoZWFkCgkgIHF1aXRlIGEgYml0IGJlY2F1c2Ugd2UgcmFuIGxhdGUgYWdhaW4uCgoyMDE3LTA0LTAzIDE1OjUxOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFRha2UgY29uZmlndXJlIG1heCBiaXRyYXRlL2ZyYW1lcmF0ZSBpbnRvIGFjY291bnQgZm9yIGtleWZyYW1lIHNraXBwaW5nCgkgIEFuZCBieSBkZWZhdWx0IG9ubHkgcHJvZHVjZSB1cCB0byAxMCBmcHMuCgoyMDE3LTA0LTAzIDE1OjQ4OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVHJ5IGhhcmRlciB0byBub3QgcnVuIGludG8gYSBsb29wIG92ZXIgdGhlIHNhbWUgZnJhZ21lbnQgb3ZlciBhbmQgb3ZlcgoJICBXaGlsZSBzdGlsbCBtYWtpbmcgc3VyZSB0byBub3QganVtcCBhaGVhZCBvbmUgZnJhZ21lbnQgZnVydGhlciB0aGFuCgkgIG5lZWRlZC4KCjIwMTctMDMtMTUgMTc6NDc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBBZGQgc29tZSBkZWJ1ZyBvdXRwdXQgdG8gdGhlIHRhcmdldCB0aW1lIHNlbGVjdGlvbgoKMjAxNy0wMy0yOCAxNDoxMjoxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVzZSB0aGUgY3VycmVudCBjbG9jayBydW5uaW5nIHRpbWUgaW4gYWRkaXRpb24gdG8gdGhlIFFvUyBlYXJsaWVzdCB0aW1lCgoyMDE3LTAzLTI3IDE3OjUyOjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG93bmxvYWQga2V5ZnJhbWVzIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24gaWYgd2UncmUgZmFyIGVub3VnaCBhaGVhZAoJICBGYXIgZW5vdWdoIGhlcmUgbWVhbnMgbW9yZSB0aGFuIDUwMG1zIG9yIDQgdGltZXMgdGhlIGF2ZXJhZ2Uga2V5ZnJhbWUKCSAgZG93bmxvYWQgdGltZS4gVGhlcmUgaXMgbm8gbmVlZCB0byBqdW1wIGFoZWFkIGJ5IG9uZSBhdmVyYWdlIGtleWZyYW1lCgkgIGRvd25sb2FkIHRpbWUgaW4gdGhpcyBjYXNlLgoJICBUaGlzIG1ha2VzIHBsYXliYWNrIHNtb290aCBpZiB0aGUgbmV0d29yayBpcyBmYXN0IGVub3VnaC4KCjIwMTctMDMtMjIgMTI6MDU6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggc3luYyBzYW1wbGUgc2VsZWN0aW9uIGJhc2VkIG9uIHRhcmdldCB0aW1lIGluIHJldmVyc2UgcGxheWJhY2sgbW9kZQoKMjAxNy0wMy0yMiAxMToyMTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBTbmFwLXNlZWsgZm9yIHNraXBwaW5nIGFoZWFkIGFuZCB1c2UgYWN0dWFsIGtleWZyYW1lIGRpc3RhbmNlIGluIHRoZSBjdXJyZW50IGZyYWdtZW50IGlmIGFwcGxpY2FibGUKCjIwMTctMDMtMTUgMTY6NDc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEb24ndCBhZGp1c3QgZm9yIGZyYWdtZW50IGR1cmF0aW9uIHR3aWNlIHdoZW4gc2Vla2luZyBhaGVhZCBpbiBLRVlVTklUUyBtb2RlCgoyMDE3LTAzLTE1IDE2OjQ2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWRkIGN1cnJlbnQgZnJhZ21lbnQgZHVyYXRpb24gaW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlIHRvIHRoZSBwb3NpdGlvbgoJICBXZSBwbGF5IGZyb20gdGhlIGVuZCBvZiB0aGUgZnJhZ21lbnQgdG8gdGhlIGJlZ2lubmluZywgbm90IGZyb20gdGhlCgkgIGJlZ2lubmluZyBiYWNrd2FyZHMuCgoyMDE3LTAzLTE1IDE2OjQ1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTmV2ZXIgdGFrZSBtb3JlIHRoYW4gdGhlIGN1cnJlbnQgZnJhZ21lbnQgZHVyYXRpb24gZm9yIGVzdGltYXRpb25zIGluc2lkZSB0aGUgZnJhZ21lbnQKCSAgVGFraW5nIHRoZSBhdmVyYWdlIG1pZ2h0IGdpdmUgdXMgZnJvbSByZXN1bHRzLgoKMjAxNy0wMy0wNiAxNDoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IERvbid0IGluY3JlYXNlIGN1cnJlbnQgcG9zaXRpb24gaWYgd2UganVzdCBkb3dubG9hZGVkIHRoZSBtb29mIGluIEtFWVVOSVQgbW9kZQoKMjAxNy0wMS0xMiAxNTo1NDozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBJbXByb3ZlIGtleS11bml0IHRyaWNrIG1vZGUgZG93bmxvYWRpbmcKCSAgV2hlbiBkZWFsaW5nIHdpdGgga2V5LXVuaXQgdHJpY2sgbW9kZSBkb3dubG9hZHMsIHRoZSBnb2FsIGlzIHRvCgkgIHByb3ZpZGUgdGhlIGJlc3QgIlF1YWxpdHkgb2YgRXhwZXJpZW5jZSIuIFRoaXMgaXMgYWNoaWV2ZWQgYnk6CgkgIDEpIG1heGltaXppbmcgdGhlIG51bWJlciBvZiBmcmFtZXMgZGlzcGxheWVkIHBlciBzZWNvbmQKCSAgMikgYXZvaWRpbmcgInN0YWxsaW5nIiBhcyBtdWNoIGFzIHBvc3NpYmxlIChpLmUuIG5vdCBkb3dubG9hZGluZyBhbmQKCSAgZGVjb2RpbmcgZnJhbWVzIGZhc3QgZW5vdWdoKQoJICBUaGlzIGltcGxlbWVudGF0aW9uIGFjaGl2ZXMgdGhpcyBieToKCSAgMSkgS25vd2luZyB2ZXJ5IHByZWNpc2VseSB0aGUgY3VycmVudCBrZXlmcmFtZSBiZWluZyBkb3dubG9hZCAoaS5lCgkgIG1vcmUgYWNjdXJhdGUgdGhhbiBhdCB0aGUgZnJhZ21lbnQgbGV2ZWwgd2hpY2ggbWlnaHQgY29udGFpbiBtb3JlCgkgIHRoYW4gb25lIGtleWZyYW0pLiBUaGlzIGlzIHRoZSBuZXcgImFjdHVhbF9wb3NpdGlvbiIgdmFyaWFibGUKCSAgaW50cm9kdWNlZCBieSB0aGlzIGNvbW1pdAoJICAyKSBLbm93aW5nIHRoZSBwb3NpdGlvbiBvZiBkb3duc3RyZWFtIChwcm92aWRlZCBieSBRb1MgYW5kIHN0b3JlZAoJICBpbiB0aGUgYWRhcHRpdmVkZW11eHN0cmVhbSBxb3NfZWFybGllc3RfdGltZSB2YXJpYWJsZSkKCSAgMykgS25vd2luZyBob3cgbG9uZyBpdCB0YWtlcyB0byByZXF1ZXN0IGFuZCBmdWxseSBkb3dubG9hZCBhIGtleWZyYW1lCgkgICh0aGUgYXZlcmFnZV9kb3dubG9hZF90aW1lIHZhcmlhYmxlKQoJICBUYWtpbmcgdGhvc2UgMyB2YXJpYWJsZXMgaW50byBhY2NvdW50LCB3aGVuZXZlciBhIGtleWZyYW1lIGhhcyBiZWVuCgkgIHB1c2hlZCBkb3duc3RyZWFtIHdlIGNhbGN1bGF0ZSBhICJ0YXJnZXQgdGltZSIgKHRhcmdldF90aW1lIHZhcmlhYmxlKQoJICB3aGljaCBpcyB0aGUgaWRlYWwgbmV4dCBrZXlmcmFtZSB0aW1lIHRvIHJlcXVlc3Qgc28gdGhhdDoKCSAgMSkgSXQgd2lsbCBiZSByZXF1ZXN0ZWQvZG93bmxvYWRlZC9kZW11eGVkL2RlY29kZWQgaW4gdGltZSB0byBiZQoJICBkaXNwbGF5ZWQgd2l0aG91dCBiZWluZyB0b28gbGF0ZQoJICAyKSBJdCB3aWxsIG5vdCBiZSB0b28gZmFyIGFoZWFkIHRoYXQgaXQgd291bGQgY2F1c2UgdG9vIGZldyBmcmFtZXMKCSAgcGVyIHNlY29uZCB0byBiZSBkaXNwbGF5ZWQuCgkgIEhvdyBmYXIgYWhlYWQgd2Ugd2lsbCByZXF1ZXN0IGlzIGludmVyc2lseSBwcm9wb3J0aW9uYWwgdG8gaG93IGNsb3NlCgkgIHRoZSBhY3R1YWwgcG9zaXRpb24gKGFjdHVhbF9wb3NpdGlvbikgaXMgZnJvbSB0aGUgZG93bnN0cmVhbQoJICBwb3NpdGlvbiAocW9zX2VhcmxpZXN0X3RpbWUpLiBUaGUgbW9yZSBpcyBidWZmZXJlZCBiZXR3ZWVuIHRoZSBzb3VyY2UKCSAgYW5kIHRoZSBzaW5rLCB0aGUgImNsb3NlciIgdGhlIHRhcmdldCB0aW1lIHdpbGwgYmUsIGFuZCB0aGVyZWZvcmUKCSAgdGhlIG1vcmUgZnJhbWVzIHBlciBzZWNvbmRzIHdpbGwgYmUgZGlzcGxheWVkICh1cCB0byB0aGUgbGltaXQKCSAgb2Yga2V5ZnJhbWVzX3Blcl9zZWNvbmQgKiBhYnNvbHV0ZV9yYXRlKS4KCjIwMTctMDEtMTEgMTc6MTE6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogU3RvcmUgYXZlcmFnZSBkb3dubG9hZCB0aW1lCgkgIFRoaXMgd2lsbCBiZSB1c2VkIHRvIGJvdW5kIHRoZSBkb3dubG9hZCByYXRlIHdoZW4gd29ya2luZyBpbgoJICBrZXlmcmFtZS1vbmx5IHRyaWNrIG1vZGUKCjIwMTctMDEtMTEgMTc6MDg6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQWRkIHZhcmlvdXMgY29tbWVudHMgdG8gdGhlIGNvZGUKCjIwMTYtMTEtMTUgMDg6MTM6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogU3RvcmUgUW9TIHRpbWUKCSAgQWxsb3dzIHN1YmNsYXNzZXMgdG8ga25vdyB3aGVyZSBkb3duc3RyZWFtIGlzIGFuZCBtYWtlIGRlY2lzaW9ucwoJICBiYXNlZCB1cG9uIHRoYXQKCjIwMTYtMDktMDEgMTc6NDc6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogQ29sbGVjdCBrZXl1bml0IGRpc3RhbmNlIGFuZCBzaXplIHN0YXRpc3RpY3MKCjIwMTYtMTEtMDcgMTI6MjI6MDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEaXNhYmxlIGJpdHJhdGUgc3dpdGNoaW5nIGluIGtleS11bml0IHRyaWNrIG1vZGUKCSAgVGhpcyBjcmVhdGVzIHRvbyBtdWNoIGhhdm9jIGZvciBub3cKCjIwMTYtMTAtMzEgMTA6MDg6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVc2UgbmV3IGFkYXB0aXZlZGVtdXggdHJpY2ttb2RlIG1hY3JvCgkgIFJlZHVjZXMgdGhlIGxpbmVzIG9mIGNvZGUsIGFuZCBtYWtlcyBpdCBhIGJpdCBtb3JlIHJlYWRhYmxlCgoyMDE2LTEwLTMxIDEwOjA4OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBBZGQgYSBtYWNybyB0byBrbm93IGlmIHdlIGFyZSBpbiB0cmlja21vZGUta2V5dW5pdAoJICBSZWR1Y2VzIHRoZSBhbW91bnQgb2YgbGluZXMgb2YgY29kZSBpbiBzdWJjbGFzc2VzCgoyMDE3LTA1LTE4IDE1OjU3OjIyICswMjAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRzcmM6IEFwcGx5IHRpbWVzdGFtcHMgdG8gb3V0Z29pbmcgYXV4IGJ1ZmZlcnMKCSAgV2hlbiBleHRyYWN0aW5nIGFuIGF1eCBidWZmZXIgZnJvbSBhbiBNSlBHIGNhcnJpZXIsIGF0CgkgICpsZWFzdCogcHV0IHRoZSBvcmlnaW5hbCB0aW1lc3RhbXAgb24gaXQsIGV2ZW4gaWYgd2UKCSAgZmFpbCB0byBhcHBseSBhbnkgb3RoZXIgdGltZXN0YW1wICh3aGljaCB3ZSBhbHdheXMgZG8KCSAgYXQgdGhlIG1vbWVudCwgYmVjYXVzZSB0aGUgdGltZXN0YW1wIGNhbGN1bGF0aW5nIGNvZGUKCSAgd2FzIG5ldmVyIGZpbmlzaGVkKS4gQXBwbHkgYSBEVFMgdXNpbmcgdGhlIGNhbWVyYQoJICBzdXBwbGllZCBkZWxheSB2YWx1ZSBhcyB3ZWxsLCBhc3N1bWluZyB0aGF0IHRoZXJlJ3MKCSAgbm8gcmUtb3JkZXJpbmcgZ29pbmcgb24gKHRoZXJlIGlzbid0IGluIHRoZSBDOTIwLAoJICB3aGljaCBpcyByZWFsbHkgdGhlIG9ubHkgZXh0YW50IGNhbWVyYSBkb2luZyB0aGlzCgkgIHN0dWZmKSBhbmQgYSB3YXJuaW5nIGlmIHRoYXQgdHVybnMgb3V0IG5vdCB0byBiZSB0cnVlLgoKMjAxNy0wNS0xOCAxNToyMzoxNCArMDMwMCAgU2ltb24gSGltbWVsYmF1ZXIgPHNoaW1tZWxiYXVlckB0b29sc29uYWlyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IFVzZSBHU1RfR0xfSEFWRV9QTEFURk9STV9DR0wgaW5zdGVhZCBvZiBHU1RfR0xfSEFWRV9QTEFURk9STV9DT0NPQQoJICBUaGUgbGF0dGVyIGlzIG5vdCB1c2VkL2F2YWlsYWJsZSBhbnltb3JlIHNpbmNlIHllYXJzLiBBbHNvIGZpeCBhIHR5cG8KCSAgaW4gdGhlIGluY2x1ZGUgcGF0aCBmb3IgdGhlIENvY29hIEdMIGRpc3BsYXkgaGVhZGVyLgoKMjAxNy0wNS0wNyAxOTo1MDowMCArMDAwMCAgRG1pdHJ5IFpoYWRpbmV0cyA8ZHpoYWRpbmV0c0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICBtb3Rpb25jZWxsczogZGVsYXkgbW90aW9ubWFza2Nvb3JkcyB1bnRpbCBjYXBzIGFycml2ZQoJICBtb3Rpb25tYXNrY29vcmRzIGlzIG5vdCBhcHBsaWVkIG9uIHN0YXJ0IGJlY2F1c2UgdGhlIGluZm9ybWF0aW9uCgkgIGFib3V0IHJlc29sdXRpb24gaXNuJ3QgYXZhaWxhYmxlIHVudGlsIGNhcHMgYXJyaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NjY2CgoyMDE3LTA1LTE4IDE0OjM0OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogVW5yZWYgZG93bnN0cmVhbSBjYXBzIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI3NzEKCjIwMTctMDUtMTggMTA6NTg6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdHRtbC9nc3R0dG1scGx1Z2luLmM6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL21zZGsvZ3N0bXNkay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgRml4IHVwIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHNvbWUgcGx1Z2lucwoKMjAxNy0wNS0xOCAxMDo1Mzo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogZml4IHR5cG8gaW4gcGx1Z2luIGRlc2NyaXB0aW9uCgoyMDE3LTA1LTE4IDExOjQyOjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggY2FsY3VsYXRpb24gb2YgY29kZWNfZGF0YSBidWZmZXIgc2l6ZQoKMjAxNy0wNS0xNyAxNjoyNjozOCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkgIGdsZm9ybWF0OiBBZGQgbWlzc2luZyBHU1RfR0xfUkdCNTY1IGluIHNvbWUgc3dpdGNoIHN0YXRlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyNzM2CgoyMDE3LTA1LTE3IDE3OjM4OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBjb2NvYTogSW5zdGFsbCBnc3RnbGRpc3BsYXlfY29jb2EuaAoJICBJdCdzIG5lZWRlZCBieSBlLmcuIHFtbGdsc2luay4KCjIwMTctMDUtMTUgMjA6MzE6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcnBvb2wuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvdmtkaXNwbGF5X3dheWxhbmQuYzoKCSogZXh0L3Z1bGthbi93YXlsYW5kL3Zrd2luZG93X3dheWxhbmQuYzoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsZGlzcGxheV92aXZfZmIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3Zpdi1mYi9nc3RnbHdpbmRvd192aXZfZmJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSogc3lzL2ttcy9nc3RrbXNidWZmZXJwb29sLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJICBnc3Q6IENsZWFyIGZsb2F0aW5nIGZsYWcgaW4gY29uc3RydWN0b3Igb2YgYWxsIEdzdE9iamVjdCBzdWJjbGFzc2VzIHRoYXQgYXJlIG5vdCBvd25lZCBieSBhbnkgcGFyZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwNjIKCjIwMTctMDUtMTUgMTQ6MjM6NDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogU2luayB0aGUgY2xvY2sgcmVmZXJlbmNlIGluIHRoZSBjb25zdHJ1Y3RvcgoJICBUaGlzIGlzIG5vdyBuZWVkZWQgYXMgR3N0Q2xvY2sgZG9lcyBub3QgZG8gdGhhdCBpbnRlcm5hbGx5IGFueW1vcmUsCgkgIGJlY2F1c2UgdGhhdCBicm9rZSBiaW5kaW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzA2MgoKMjAxNy0wNS0xNyAxMDo1ODowNSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHFtbDogQWRkIEVHTCBwbGF0Zm9ybSBzdXBwb3J0IGZvciB4MTEgYmFja2VuZAoJICBBZGQgc3VwcG9ydCBmb3IgRUdMIHBsYXRmb3JtIHdoZW4geDExIGlzIGF2YWlsYWJsZS4gVGhpcyBjYW4gd29yawoJICBlLmcuIG9uIGlteDYgcGxhdGZvcm0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI3MTgKCjIwMTctMDUtMTYgMTQ6MDU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZy5oLm1lc29uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9iczJiL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mZGthYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2lxYS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJkZTI2NS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5oMjY0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubmkyL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3R0bWwvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9NYWtlZmlsZS5hbToKCSogZXh0L3dpbGRtaWRpL01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlcnNwbGl0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meGJhZC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbmV0c2ltL01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90aW1lY29kZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJKiBzeXMva21zL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL252ZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy90aW55YWxzYS9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgUmVtb3ZlIHBsdWdpbiBzcGVjaWZpYyBzdGF0aWMgYnVpbGQgb3B0aW9uCgkgIFN0YXRpYyBhbmQgZHluYW1pYyBwbHVnaW5zIG5vdyBoYXZlIHRoZSBzYW1lIGludGVyZmFjZS4gVGhlIHN0YW5kYXJkCgkgIC0tZW5hYmxlLXN0YXRpYy8tLWVuYWJsZS1zaGFyZWQgdG9nZ2xlIGFyZSBzdWZmaWNpZW50LgoKMjAxNy0wNS0xNiAyMzoyMDo0NCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBJbml0aWFsaXplIHNpZHhfcG9zaXRpb24gdG8gR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBJZiBhIG1hbmlmZXN0IGhhcyBub24temVybyBwcmVzZW50YXRpb24gdGltZSBvZmZzZXQKCSAgKGkuZS4sIGVhcmxpZXN0IHByZXNlbnRhdGlvbiB0aW1lIHNwZWNpZmllZCBieSBzaWR4IGJveCBpcyBub3QgemVybyksCgkgIHRoZSBpbml0aWFsIHNpZHggcG9zaXRpb24gc2hvdWxkbid0IGJlIHplcm8uIFNpbmNlIHdlIGNhbm5vdCBkZWZpbmUKCSAgZXhhY3Qgc2lkeCBwb3NpdGlvbiB1bnRpbCBwYXJzaW5nIHNpZHggYm94LCBzZXQgdGhlIHZhbHVlIHRvIHVua25vd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODI2OTMKCjIwMTctMDUtMTUgMTg6MTA6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEhhbmRsZSBzdG9wX3R5cGU6U0VULCBzdG9wOk5PTkUKCSAgU2VlayB2YWx1ZXMgb2YgdHlwZSBHU1RfU0VFS19UWVBFX1NFVCB3aXRoIHZhbHVlcyBvZiBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIGFyZSBwZXJmZWN0bHkgdmFsaWQgKHdlIGVzc2VudGlhbGx5IGRvbid0IG1vZGlmeSB0aGUgZXhpc3RpbmcgcG9zaXRpb24pCgoyMDE3LTA1LTE1IDE2OjM3OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IENvcHkgbWluKGdzdHJlYW1lcl9zdHJpZGUsIGRlY2tsaW5rX3N0cmlkZSkgcGVyIGxpbmUKCSAgSW5zdGVhZCBvZiBqdXN0IGJwcCAqIHdpZHRoLCB3aGljaCBtaWdodCBiZSBtb3JlIHRoYW4gd2UgY2FuIGNvcHkuCgoyMDE3LTA1LTE1IDEyOjAwOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBNYWtlIHJlZmVyZW5jZSBjb3VudGluZyBvZiBhdHRhY2goKSBjb25zaXN0ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5OTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjk2MAoKMjAxNy0wNS0xMiAxMDowMDo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGZpeCBjYXBzIGxlYWsgaW4gcmVuZWdvdGlhdGlvbgoKMjAxNy0wNS0xMiAxMDowMToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIGxlYWsgaW4gcmVuZWdvdGlhdGlvbgoKMjAxNy0wNS0wOSAxMDozMjowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAganBlZzIwMDBwYXJzZTogZml4IG5lZ290aWF0aW9uIHdpdGggajJjIGFuZCBqcGMgYm90aCBhbGxvd2VkIHVwc3RyZWFtCgkgIElmIHVwc3RyZWFtIHN1cHBvcnRzIGJvdGgsIGJ1dCBkb3duc3RyZWFtIHN1cHBvcnRzIG9ubHkganBjLCBqMmMKCSAgd291bGQgaGF2ZSBiZWVuIHNlbGVjdGVkIGFzIHRoZSBmaXJzdCBpbiB0aGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjIyMQoKMjAxNy0wNC0xOSAxMzo0Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzcGx1Z2luLmM6CgkqIGV4dC9obHMvZ3N0aGxzc2luazIuYzoKCSogZXh0L2hscy9nc3RobHNzaW5rMi5oOgoJKiBleHQvaGxzL21lc29uLmJ1aWxkOgoJICBobHNzaW5rMjogTmV3IEhMUyBzaW5rIGVsZW1lbnQgYmFzZWQgb24gc3BsaXRtdXhzaW5rCgkgIFRoaXMgZW1iZWRzIHRoZSBtdXhlciBpbnNpZGUgdGhlIHNpbmsgYW5kIGFjY2VwdHMgZWxlbWVudGFyeSBzdHJlYW1zCgkgIHdoaWxlIHRoZSBvbGQgSExTIHNpbmsgcmVxdWlyZWQgdGhlIG11eGVyIG91dHNpZGUuIEFwYXJ0IGZyb20gdGhhdCB0aGUKCSAgaW50ZXJmYWNlIGlzIHRoZSBzYW1lIGFzIGJlZm9yZS4KCSAgQ3VycmVudGx5IG9ubHkgbXBlZ3RzbXV4IGlzIHN1cHBvcnRlZCwgYnV0IHN1cHBvcnQgZm9yIG90aGVyIG11eGVycyBpcwoJICBqdXN0IGEgbWF0dGVyIG9mIGFkZGluZyBhIHByb3BlcnR5LgoJICBUaGUgYWR2YW50YWdlIG9mIHRoZSBuZXcgc2luayBpcyB0aGF0IGl0IHJlZHVjZXMgY29tcGxleGl0eSBhIGxvdCBhbmQKCSAgcHJvcGVybHkgaGFuZGxlcyBwcmUtZW5jb2RlZCBzdHJlYW1zIHdpdGggYXBwcm9wcmlhdGVseSBzcGFjZWQKCSAga2V5ZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNDk2CgoyMDE3LTAyLTI1IDEyOjM3OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW8vYXVkaW9zcmM6IEFkZCBHc3RSZWZlcmVuY2VUaW1lc3RhbXBNZXRhIHdpdGggdGhlIHN0cmVhbSB0aW1lIHRvIGVhY2ggYnVmZmVyCgkgIFRoaXMgaXMgYmFzaWNhbGx5IGEgZnJhbWUgY291bnRlciBwcm92aWRlZCBieSB0aGUgZHJpdmVyIGFuZCBpdCdzCgkgIGFkdmFuY2luZyBhdCB0aGUgc3BlZWQgb2YgdGhlIEhETUkvU0RJIGlucHV0LiBIYXZpbmcgdGhpcyBhdmFpbGFibGUgb24KCSAgZWFjaCBidWZmZXIgYWxsb3dzIHRvIGtub3cgd2hhdCBjb25zdGFudC1mcmFtZXJhdGUtYmFzZWQgdGltZXN0YW1wIGVhY2gKCSAgZnJhbWUgaXMgY29ycmVzcG9uZGluZyB0byBhbmQgY2FuIGJlIHVzZWQgZS5nLiB0byB3cml0ZSBvdXQgZmlsZXMKCSAgYWNjb3JkaW5nbHkgd2l0aG91dCBoYXZpbmcgdGhlIGxvY2FsIHBpcGVsaW5lIGNsb2NrIHRpbWVzdGFtcHMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTIxMwoKMjAxNy0wNS0xMiAxMTozNTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IENvbnNpc3RlbnRseSBwYXNzIHN0cmVhbV90aW1lIGFuZCBzdHJlYW1fZHVyYXRpb24gdG8gYXVkaW8vdmlkZW8gc3JjCgkgIEl0J3MgdGhlIHNhbWUgdmFsdWUgbm93LCBwYXNzIGl0IGNvbnNpc3RlbnRseS4KCjIwMTctMDUtMDkgMTY6MDY6MTAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IFVzZSBhIEdzdENsb2NrSUQgdG8gd2FpdCBpbnN0ZWFkIG9mIFNsZWVwKCkKCSAgVGhlIG1haW4gYWR2YW50YWdlIGlzIHRoYXQgb3VyIHNsZWVwcyBjYW4gYmUgaW50ZXJydXB0ZWQgaW4gY2FzZSBvZgoJICBhbiBzcmNfcmVzZXQoKS4gRWFybGllciwgd2Ugd291bGQgbmVlZCB0byB3YWl0IGZvciBhIHJlYWQgdG8gY29tcGxldGUKCSAgYmVmb3JlIHdlIGNvdWxkIGRvIGEgcmVzZXQsIHdoaWNoIGNvdWxkIHRha2UgYSBsb25nIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEyNDkKCjIwMTctMDUtMTEgMTg6Mzk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXJzcGxpdC9nc3RhdWRpb2J1ZmZlcnNwbGl0LmM6CgkgIGF1ZGlvYnVmZmVyc3BsaXQ6IEFsbG93IGNoYW5naW5nIHRoZSBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uIGF0IGFueSB0aW1lCgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgb25seSBhbGxvd2VkIGJlZm9yZSB0aGUgQ0FQUyBldmVudCBhcnJpdmVkLgoKMjAxNy0wNS0wOSAxNToxMzoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9tZXNvbi5idWlsZDoKCSAgb3BlbmN2L21lc29uOiBBbGxvdyAzLjIuMAoJICBUaGlzIHdhcyBhbHJlYWR5IGFkZGVkIGFuZCB0ZXN0ZWQgaW4gYXV0b2NvbmYuCgoyMDE3LTA1LTExIDIwOjA1OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb25maWcuaC5tZXNvbjoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBidWlsZC9nbC9tZXNvbjogY2hlY2sgZm9yIEdMRVMzL2dsM2V4dC5oIGV4aXN0ZW5jZQoJICA3OTFlNzUyMmViY2I3NWJlYjMxZmNhY2UyNzFkZWUxMzQyZDM1MDVkIGZvciBtZXNvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxODg1CgoyMDE3LTA1LTExIDEwOjI5OjU4ICswMjAwICBKZW5zIEdlb3JnIDxtYWlsQGplbnNnZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBidWlsZDogQ2hlY2sgZm9yIEdMRVMzL2dsM2V4dC5oIGV4aXN0ZW5jZQoJICBTb21lIE9wZW5HTCBkcml2ZXJzIGRvIG5vdCBzaGlwIHRoaXMgYnV0IHVzZSBHTEVTMi9nbDJleHQuaCBpbnN0ZWFkLgoJICBUaGlzIGlzIGFsc28gaW4gbGluZSB3aXRoIEtocm9ub3MncyByZWNvbW1lbmRhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTg4NQoKMjAxNy0wNS0xMCAyMjoyOToxMCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkazogRGVjbGFyZSBsaWJtZnguYSBhcyBhIEMrKyBzdGF0aWMgbGlicmFyeQoJICBUaGlzIGxldHMgbWVzb24ga25vdyB0aGF0IHRoZSBvdmVyYWxsIHBsdWdpbiBuZWVkcyBidWlsdCB3aXRoIEMrKwoJICBsaW5raW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNTYxCgoyMDE3LTA1LTEwIDE1OjU5OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEFsd2F5cyB1c2UgdGhlIHZpZGVvIHN0cmVhbSB0aW1lIGZvciBhdWRpbyB0b28KCSAgVGhlIGF1ZGlvIHBhY2tldCB0aW1lcyBjYW4gYmUgY29tcGxldGVseSB1bnJlbGF0ZWQgdG8gdGhlIHZpZGVvIHN0cmVhbQoJICB0aW1lLCBkZXBlbmRpbmcgb24gdGhlIGNhcmQuIFdoaWxlIHRoaXMgbG9va3MgbGlrZSBhIGJ1ZyBpbiB0aGUgZHJpdmVyLAoJICBqdXN0IGFsd2F5cyB1c2luZyB0aGUgdmlkZW8gc3RyZWFtIHRpbWUgKHdoaWNoIGlzIGNvcnJlY3QpIHdvcmtzIGFzIGEKCSAgd29ya2Fyb3VuZCBmb3Igbm93LgoKMjAxNy0wNS0wOSAxNTowNjo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9tZXNvbi5idWlsZDoKCSAgb3BlbmN2L21lc29uOiBFbnN1cmUgdmFyaWFibGUgb3BlbmN2X2ZvdW5kIGlzIHNldAoJICBJZiB0aGUgcmVxdWlyZWQgdmVyc2lvbiBpcyBub3Qgc2F0aXNmaWVkLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzCgkgIHZhcmlhYmxlIGlzIHNldCwgb3RoZXJ3aXNlIGJ1aWxkIHdpbGwgZmFpbC4KCjIwMTctMDUtMDkgMTM6MTY6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcGVuY3YvbWVzb24uYnVpbGQ6CgkqIGV4dC93ZWJydGNkc3AvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJICBCdW1wIGFuZCB1cGRhdGUgZm9yIG1lc29uIDAuNDAuMQoJICBUaGlzIHBhdGNoIGJ1bXBzIHRoZSByZXF1aXJlZCBtZXNvbiB0byAwLjQwLjEgYXMgZ3N0cmVhbWVyIGNvcmUganVzdAoJICBkaWQsIGFuZCBjbGVhbnVwIHNvbWUgY29kZSB0byB1c2UgYSBmZWF0dXJlIGZyb20gMC4zNyB0aGF0IGFsbG93CgkgIHNwZWNpZnlpbmcgdmVyc2lvbiByYW5nZSB3aGVuIGNoZWNraW5nIGRlcGVuZGVuY3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA2NTQKCjIwMTctMDUtMDUgMTE6MDU6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZG8gbm90IGRyb3AgcHJlc2tpcCBhbmQgZ2FpbiBmcm9tIE9wdXNIZWFkIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjc1CgoyMDE3LTA1LTA5IDA5OjQ3OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJICBxbWxnbDogTWFrZSB0aGUgcGx1Z2luIG5hbWUgbWF0Y2ggdGhlIHB1Z2luIGZpbGUgbmFtZQoKMjAxNy0wNS0wOSAwOTo0MzowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBNYWtlIHRoZSBwbHVnaW4gbmFtZSBtYXRjaCB0aGUgcGx1Z2luIGxpYnJhcnkgbmFtZQoKMjAxNy0wNS0wOSAwOTo0MToxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbjogTWFrZSB0aGUgcGx1Z2luIG5hbWUgbWF0Y2ggdGhlIHBsdWdpbiBsaWJyYXJ5CgoyMDE3LTA1LTA5IDExOjI1OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBPbmx5IHVzZSBnbERyYXdCdWZmZXIgaWYgYXZhaWxhYmxlCgkgIE90aGVyd2lzZSBmYWxsIGJhY2sgdG8gZ2xEcmF3QnVmZmVycy4gQWxzbyBjaGVjayBpZiBnbFJlYWRCdWZmZXIgZXhpc3RzCgkgIGJlZm9yZSB1c2luZyBpdC4KCSAgZ2xEcmF3QnVmZmVyIGRvZXMgbm90IGV4aXN0IGZvciBHTEVTLCBvbmx5IGdsRHJhd0J1ZmZlcnMgZG9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjM3NgoKMjAxNy0wNS0wOCAxNTozNDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogSGFuZGxlIG1vcmUgbGl2ZSBzZWVraW5nIHVzZS1jYXNlcwoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGUgZm9sbG93aW5nIGFzc3VtcHRpb25zIHdpdGggbGl2ZSBzZWVraW5nOgoJICAxKSBzdGFydCB3YXMgYWx3YXlzIHZhbGlkIGFuZCBvZiB0eXBlIEdTVF9TRUVLX1RZUEVfU0VUCgkgIDIpIGRpcmVjdGlvbiB3YXMgYWx3YXlzIGZvcndhcmQKCSAgMykgc3RvcCBzaG91bGQgYmUgb2Zmc2V0dGVkIHdoZW4gaGFuZGxpbmcgbm9uLWFjY3VyYXRlIHNlZWtzIGJlZm9yZQoJICB0aGUgcmFuZ2Ugc3RhcnQgcG9zaXRpb24uCgkgIEluIG9yZGVyIHRvIGhhbmRsZSBtb3JlIGxpdmUgc2Vla2luZyB1c2UtY2FzZXMgKGluY2x1ZGluZyByZXZlcnNlIHBsYXliYWNrKSwKCSAgb25seSBkbyBub24tYWNjdXJhdGUgc3RhcnQvc3RvcCB2YWx1ZSBjbGFtcGluZyBmb3IgR1NUX1NFRUtfVFlQRV9TRVQgdmFsdWVzLgoJICBBbHNvIGFkZCBhIGJpdCBtb3JlIGRlYnVnZ2luZyBsaW5lcyBmb3IgaXNzdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIzMzAKCjIwMTctMDUtMDUgMTg6MjU6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEltcGxlbWVudCBHU1RfU0VFS19UWVBFX0VORCB1c2FnZSBmb3IgbGl2ZQoJICBXaGVuIGRlYWxpbmcgd2l0aCBsaXZlIHN0cmVhbXMsIHdlIGNhbid0IHJlbHkgb24gR3N0U2VnbWVudCBjYWxjdWxhdGlvbgoJICBzaW5jZSBpdCB1c2VzIHRoZSBzZWdtZW50IGR1cmF0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgYWJzb2x1dGUgdmFsdWVzLgoJICBCdXQgc2luY2Ugd2UgYXJlIGRlYWxpbmcgd2l0aCBsaXZlICphbmQqIHdlIGtub3cgdGhlIHJhbmdlcywgd2UgY2FuCgkgIGNvbXB1dGUgdGhlIGFic29sdXRlIHNlZWtpbmcgdmFsdWVzIHVzaW5nIHRoZSByYW5nZSBzdG9wIChpLmUuICJub3ciKQoJICBhcyB0aGUgRU5EIHBvc2l0aW9uLgoJICBBbGxvd3Mgc2Vla2luZyBiYWNrIHRvICJsaXZlIiBieSB1c2luZyBzdGFydF90eXBlOkdTVF9TRUVLX1RZUEVfRU5ECgkgIGFuZCBzdGFydDowCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODIyMjgKCjIwMTctMDUtMDggMTE6MDE6MzkgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBJZ25vcmUgbXN2YyB3YXJuaW5ncyBpbiBDKysgYXMgd2VsbAoJICBXZSB3ZXJlIG9ubHkgaWdub3JpbmcgdGhlIGxpc3RlZCBtc3ZjIHdhcm5pbmdzIGZvciBDIGxhbmd1YWdlCgkgIGZpbGVzIGFuZCBub3QgQysrLiBUaGlzIHdhcyB3b3JraW5nIGJ5IHRoZSBjb2luY2lkZW5jZSB0aGF0IHdlIGRpZAoJICBub3QgaGF2ZSBhbnkgaW5zdGFuY2VzIG9mIHRoZXNlIHdhcm5pbmdzIGluIEMrKyBmaWxlcy4gTGF0ZWx5IHRoZQoJICBidWlsZCBvZiBkZWNrbGluayBoYXMgYmVlbiBmaXhlZCBvbiB3aW5kb3dzLCBhbmQgaXQgaGFzIGFuCgkgIGluc3RhbmNlIG9mIG9uZSBvZiB0aGVzZSB3YXJuaW5ncyBpbiBhIEMrKyBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMzQ1CgoyMDE3LTA1LTAzIDIyOjUwOjI3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBVc2UgbGF0ZW5jeS10aW1lIGFuZCBidWZmZXItdGltZSBzZXR0aW5ncwoJICBFYXJsaWVyLCB0aGUgcGx1Z2luIHdhcyBpZ25vcmluZyB0aG9zZSBzZXR0aW5ncyBhbmQgYmxpbmRseSBzZXR0aW5nCgkgIGJ1ZmZlci10aW1lIHRvIDIgc2Vjb25kcyBhbmQgbGF0ZW5jeS10aW1lIHRvIDIwMG1zLCB3aGljaCBmb3JjZWQgYWxsCgkgIHBpcGVsaW5lcyB0byBoYXZlIGEgbWluaW11bSBsYXRlbmN5IG9mIDIwMG1zICsgc2luayBsYXRlbmN5LgoJICBUaGUgdmFsdWVzIG9mIHNlZ3NpemUgYW5kIHNlZ3RvdGFsIHdlcmUgYWxzbyBub3QgZGVyaXZlZCBjb3JyZWN0bHkuCgkgIE5vdyB3ZSBvYmV5IHRoZXNlIHZhbHVlcywgYW5kIHlvdSBjYW4gZ2V0IGNsb3NlIHRvIHRoZSBwcmV2aW91cwoJICBiZWhhdmlvdXIgYnkgc2V0dGluZyBidWZmZXItdGltZSBhbmQgbGF0ZW5jeS10aW1lIG1hbnVhbGx5LiBOb3RlIHRoYXQKCSAgdGhleSBhcmUgc2V0IGluIG1pY3Jvc2Vjb25kcy4KCSAgQXMgYSBjb25zZXF1ZW5jZSwgd2hlbiB3ZSBoYXZlbid0IHJlY2VpdmVkIGVub3VnaCBkYXRhIGZyb20gdGhlCgkgIGRldmljZSwgd2Ugbm93IHNsZWVwIGZvciBhIHRpbWUgcHJvcG9ydGlvbmFsIHRvIHRoZSBkYXRhIHJlbWFpbmluZy4KCSAgSG93ZXZlciwgRGlyZWN0c291bmQgaXMgYSBkZXByZWNhdGVkIEFQSSBzbyBpdCBtYWludGFpbnMgaXRzIG93bgoJICBzb2Z0d2FyZSByaW5nYnVmZmVyIHdoaWNoIHVwZGF0ZXMgYXQgYXJiaXRyYXJ5IGludGVydmFscy4gSGVuY2Ugd2UKCSAgbWlnaHQgaGF2ZSB0byB3YWl0IGEgZnVsbCBzZWdzaXplIHRvIGdldCB0aGUgbGFzdCAxMCUgb2YgZGF0YS4gVG8KCSAgYXZvaWQgdGlnaHQgbG9vcHMsIHdlIGNsYW1wIG91ciBzbGVlcCBmbG9vciBhdCAxMG1zLgoJICBJbiBteSB0ZXN0aW5nLCB0aGlzIGtlZXBzIHRoZSB3YWtldXBzIG5vdC10b28taGlnaCAocHJvcG9ydGlvbmFsIHRvCgkgIHRoZSBsYXRlbmN5LXRpbWUgc2V0IG9uIHRoZSBzb3VyY2UpLiBGdXJ0aGVyIGltcHJvdmVtZW50cyBzaG91bGQgYmUKCSAgbWFkZSBieSBmaXhpbmcgdGhlIFdBU0FQSSBhdWRpbyBzb3VyY2UgcGx1Z2luIGluc3RlYWQgb2YgdGhpcy4KCSAgRGlyZWN0c291bmQgaXMgZGVwcmVjYXRlZCBhbmQgYXMgdGhlIGNvbW1lbnRzIGV4cGxhaW4sIGl0IGlzCgkgIGltcG9zc2libGUgdG8gZ2V0IGxvdyBsYXRlbmN5LCBkZWNlbnQgcXVhbGl0eSwgb3IgZ29vZCBwZXJmb3JtYW5jZQoJICBmcm9tIGl0LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEyNDkKCjIwMTctMDUtMDcgMTE6NDc6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZml4IHdob2xlIGV4YW1wbGUgbGF1bmNoIGxpbmUgYWN0dWFsbHkKCjIwMTctMDUtMDcgMTE6NDE6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogcmVtb3ZlIGV4dHJhbmVvdXMgXCBmcm9tIGV4YW1wbGUgbGF1bmNoIGxpbmUgaW4gZG9jcwoKMjAxNy0wNS0wNSAxODoyMjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxsb3cgbGl2ZSBzZWVraW5nIHJhbmdlIHRvIGdvIGJhY2sgdG8gIm5vdyIKCSAgVGhlIGFsbG93ZWQgbGl2ZSBzZWVrIHJhbmdlcyByZXR1cm5lZCBieSBzdWJjbGFzc2VzIGFyZSAiaW5jbHVzaXZlIiwgdGhhdCBpcwoJICB0byBzYXkgdGhhdCB0aGUgInJhbmdlX3N0b3AiIHZhbHVlIHRoZXkgcmV0dXJuIGlzIHRoZSBoaWdoZXN0IGFjY2VwdGFibGUgcG9zaXRpb24KCSAgb25lIGNhbiBzZWVrIHRvIChpLmUuICJub3ciKS4KCSAgQWxsb3cgc2Vla2luZyB0byBleGFjdGx5IHRoYXQgdmFsdWUKCjIwMTctMDUtMDUgMTg6NTI6MjQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBSZXZlcnQgImRlY2tsaW5rOiBGaXggZGVidWcgbG9nZ2luZyB3YXJuaW5ncyBvbiBXaW5kb3dzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg0NTgzMjI2M2JhNmI5ZTEzNWIyM2U5YTI5YzlkMTA5Y2IyZWU5YzQuCgkgIFRoZSBjb21taXQgYnJva2UgY3Jvc3MtbWluZ3cgQ0k6CgkgIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC9qb2IvR1N0cmVhbWVyLW1hc3Rlci84NjU5L2NvbnNvbGUKCSAgSXQgc2VlbXMgdGhhdCBjcm9zcy1taW5ndyBvbiBBdXRvdG9vbHMgYW5kIG5hdGl2ZS1taW5ndyBvbiBNZXNvbgoJICBkaXNhZ3JlZSBhYm91dCB0aGUgc2l6ZSBvZiBIUkVTVUxULiBSZXZlcnQgZm9yIG5vdyB0aWxsIEkgY2FuCgkgIGludmVzdGlnYXRlIHRoZSBNZXNvbiBzaWRlIG9mIHRoaW5ncyBzb21lIG1vcmUuCgoyMDE3LTA1LTA1IDA0OjMwOjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL21lc29uLmJ1aWxkOgoJICBkZWNrbGluazogRml4IGxpbmtpbmcgb24gTWluR1cKCSAgTWluR1cgZG9lcyBub3QgcHJvdmlkZSBjb21zdXBwLmxpYiwgc28gdGhlcmUncyBubyBpbXBsZW1lbnRhdGlvbiBvZgoJICBfY29tX3V0aWw6OkNvbnZlcnRCU1RSVG9TdHJpbmcuIFVzZSBhIGZhbGxiYWNrIGltcGxlbWVudGF0aW9uIHRoYXQKCSAgdXNlcyB3Y3N0b21icygpIGluc3RlYWQuCgkgIE9uIE1pbkdXIHdlIGFsc28gdHJ1bmNhdGUgdGhlIG5hbWUgdG8gMTAwIGNoYXJzIHdoaWNoIHNob3VsZCBiZSBmaW5lLgoKMjAxNy0wNS0wNSAwNDowMjoyOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBGaXggYnVpbGRpbmcgb24gV2luZG93cwoJICBCU1RSIGlzIGFscmVhZHkgYSBwb2ludGVyIHRvIGEgc3RyaW5nCgoyMDE3LTA1LTA1IDAzOjU5OjQ1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBkZWJ1ZyBsb2dnaW5nIHdhcm5pbmdzIG9uIFdpbmRvd3MKCSAgSFJFU1VMVCBpcyB1bnNpZ25lZCBsb25nIGludCwgbm90IHVuc2lnbmVkIGludAoKMjAxNy0wNS0wNSAwNDowMTozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL21lc29uLmJ1aWxkOgoJICBtZXNvbjogRml4IGRlY2tsaW5rIGJ1aWxkaW5nIG9uIFdpbmRvd3MKCSAgTmVlZHMgY29tc3VwcHcsIGFuZCBkb2VzIG5vdCBuZWVkIGxpYmRsIG9yIHB0aHJlYWQuCgoyMDE3LTA1LTA0IDE4OjU5OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBtZXNvbi5idWlsZDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xMi4wID09PQoKMjAxNy0wNS0wNCAxNTozOTowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta21zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwZWxlbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogbWVzb24uYnVpbGQ6CgkgIFJlbGVhc2UgMS4xMi4wCgoyMDE3LTA1LTA0IDE1OjEwOjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9mdXIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wNS0wNCAxMzo0NzozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2t5LnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDUtMDMgMjE6MTM6MzggKzA4MDAgIFRpbmctV2VpIExhbiA8bGFudHdAc3JjLmdub21lLm9yZz4KCgkqIGV4dC9obHMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBobHM6IGxpYm0gaXMgcmVxdWlyZWQgYmVjYXVzZSBtM3U4LmMgdXNlcyBtYXRoLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjExOQoKMjAxNy0wNS0wMyAxMzoyMTo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPGp0b3JyYUBvYmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdDogZHJvcCB0aGUgcXRraXR2aWRlb3NyYyBlbGVtZW50CgkgIFRoZSBRVEtpdCBmcmFtZXdvcmsgaGFkIGJlZW4gZGVwcmVjYXRlZCBmb3IgbG9uZyBpbiBmYXZvdXIgb2YgQVZGdW5kYXRpb24KCSAgZnJhbWV3b3JrIGFuZCB3ZSBhbHJlYWR5IGhhdmUgYXZmdmlkZW9zcmMgdGhhdCBwcm92aWRlcyB0aGUgc2FtZQoJICBmdW5jdGlvbmFsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgyMDc4CgoyMDE3LTA0LTA3IDE3OjEzOjUyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IGZpeCBkb2Mgc3RyaW5nIG9mIGVjaG8tY2FuY2VsIHByb3BlcnR5CgkgIElmIHRoZSBlY2hvIHByb2JlIGVsZW1lbnQgaXMgbm90IGZvdW5kLCBpbml0aWFsaXphdGlvbiBhY3R1YWxseSBmYWlscwoJICBpbnN0ZWFkIG9mIHNpbGVudGx5IHdvcmtpbmcgd2l0aCBlY2hvLWNhbmNlbCBkaXNhYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDk3NgoKMjAxNy0wNS0wMiAxMzoyNDozMCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBwYXNzdGhyb3VnaCBjb21wb3NpdGlvbiBjYXBzIGZlYXR1cmVzIGluIGRpcmVjdHZpdiB1cGxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MjA0NgoKMjAxNy0wNC0yNyAyMToyMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBsaW5rIHByb2JsZW0gb24gY2VudG9zNwoJICBBbmQgcHV0IExJQlMgYmVmb3JlIC1sZ3N0Zm9vIGluIGFkYXB0aXZlZGVtdXggTWFrZWZpbGUuYW0KCj09PSByZWxlYXNlIDEuMTEuOTEgPT09CgoyMDE3LTA0LTI3IDE3OjMwOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcGVsZW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0bWxzdWJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Y2RzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIG1lc29uLmJ1aWxkOgoJICBSZWxlYXNlIDEuMTEuOTEKCjIwMTctMDQtMjcgMTY6MDM6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2Z1ci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTA0LTI3IDE1OjI4OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZnVyLnBvOgoJKiBwby9reS5wbzoKCSogcG8vc3YucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE3LTA0LTI2IDE3OjQ2OjEwICswODAwICBzaGFraW4gY2hvdSA8c2hha2luQG91dGxvb2suY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZGVjL2VuYzogQ29ycmVjdGx5IGNoZWNrIGZvciBubyBQVFMgb24gaW5wdXQgYnVmZmVycwoJICBNZWRpYUNvZGVjIGdpdmVzIHVzIGEgcHJlc2VudGF0aW9uIHRpbWVzdGFtcCBvZiAwIGlmIGl0IGRvZXMgbm90IGtub3cKCSAgYW55dGhpbmcsIGJ1dCBHU3RyZWFtZXIgZ2l2ZXMgdXMgR1NUX0NMT0NLX1RJTUVfTk9ORS4gRG9uJ3QgbWl4IHVwIHRoZXNlCgkgIHR3by4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDE5MAoKMjAxNy0wNC0yNSAxNToxNToxMyArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkgIHR0bWxwYXJzZTogQ29uc29saWRhdGUgYWRqYWNlbnQgY28tc3R5bGVkIGlubGluZSBlbGVtZW50cwoJICBBIGNvbW1vbiBzdWJ0aXRsaW5nIHVzZSBjYXNlIGlzIGxpdmUtZ2VuZXJhdGVkIHN1YnRpdGxlcywgaW4gd2hpY2ggZWFjaAoJICBuZXcgd29yZCBpcyBjb250YWluZWQgaW4gaXRzIG93biBzcGFuLCBhbmQgdGhlIHNwYW5zIGFyZSBkaXNwbGF5ZWQKCSAgc2VxdWVudGlhbGx5LCB3aXRoIHRoZSBlZmZlY3QgdGhhdCBsaW5lcyBvZiBkaXNwbGF5ZWQgc3VidGl0bGVzIGFyZQoJICBidWlsdCB1cCB3b3JkLWJ5LXdvcmQuCgkgIFRoaXMgY2FuLCBob3dldmVyLCBjYXVzZSBwcm9ibGVtcyB3aGVuIHRoZSBudW1iZXIgb2Ygd29yZHMgaW4gYSBibG9jayBpcwoJICBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiBhbGxvd2VkIEdzdE1lbW9yeXMgaW4gYSBHc3RCdWZmZXIuCgkgIFNpbmNlIGluIHRoaXMgdXNlIGNhc2UgZWFjaCBzcGFuIHdpbGwgaGF2ZSB0aGUgc2FtZSBzdHlsaW5nIGFzIGFkamFjZW50CgkgIHNwYW5zLCB3ZSBjYW4gam9pbiBhZGphY2VudCBzcGFucyAoYW5kIG90aGVyIGlubGluZSBlbGVtZW50cywgc3VjaCBhcwoJICBicmVha3MpIGludG8gYSBzaW5nbGUgZWxlbWVudCBjb250YWluaW5nIHRoZSBjb25jYXRlbmF0ZWQgdGV4dCBvZiBlYWNoLAoJICB0aHVzIGF2b2lkaW5nIHRoZSBsaW1pdCBvZiBHc3RNZW1vcnlzIGluIGEgR3N0QnVmZmVyIGFuZCBhbHNvIHJlZHVjaW5nCgkgIHRoZSBhbW91bnQgb2Ygc3R5bGluZy9sYXlvdXQgbWV0YWRhdGEgdGhhdCBpcyBhdHRhY2hlZCB0byBlYWNoIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTcyNQoKMjAxNy0wNC0yNSAxNTozMzozOCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkgIHR0bWxwYXJzZTogRG9uJ3QgYWRkIEdzdE1lbW9yeXMgdG8gYSBHc3RCdWZmZXIgdGhhdCBpcyBmdWxsCgkgIFRoZSBwYXJzZXIgc3RvcmVzIHRoZSB0ZXh0IGZyb20gZWFjaCBpbmxpbmUgZWxlbWVudCBvZiBhIHNjZW5lIGluIGl0cwoJICBvd24gR3N0TWVtb3J5LCB3aGljaCBpcyBpbnNlcnRlZCBpbiB0aGUgR3N0QnVmZmVyIGNvbnRhaW5pbmcgdGhlIHNjZW5lCgkgIGRhdGEuIEhvd2V2ZXIsIEdzdEJ1ZmZlcnMgY2FuIGNvbnRhaW4gb25seSBhIGxpbWl0ZWQgbnVtYmVyIG9mCgkgIEdzdE1lbW9yeXMuIFRoZXJlZm9yZSwgZG9uJ3QgYWRkIG1vcmUgdGhhbiB0aGUgbWF4aW11bSBudW1iZXIgb2YKCSAgR3N0TWVtb3J5cyB0byBlYWNoIGJ1ZmZlciwgYW5kIHdhcm4gaWYgdGhpcyBpcyBhdHRlbXB0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE3MjUKCjIwMTctMDQtMjUgMTU6MTA6MjIgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL3R0bWxwYXJzZS5jOgoJICB0dG1scGFyc2U6IFN0b3JlIG5ld2xpbmUgYXMgdGV4dCBvZiBiciBlbGVtZW50CgkgIFdoZW4gcGFyc2luZyA8YnI+IGVsZW1lbnRzLCBzdG9yZSBhbiBhY3R1YWwgbmV3bGluZSBpbiB0aGUgdGV4dCBmaWVsZCBvZgoJICB0aGUgY3JlYXRlZCBUdG1sRWxlbWVudC4gVGhleSB0aGVuIGRvbid0IG5lZWQgdG8gYmUgdHJlYXRlZCBhcyBhCgkgIHNlcGFyYXRlIGNhc2UgZnJvbSBhbm9uLXNwYW4gZWxlbWVudHMgd2hlbiBiZWluZyBwcm9jZXNzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE3MjUKCjIwMTctMDQtMjUgMTA6MTc6NDkgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL3R0bWxwYXJzZS5jOgoJICB0dG1scGFyc2U6IFJlcGxhY2UgcmVwZWF0ZWQgd2FybmluZyBjb2RlIHdpdGggYSBmdW5jdGlvbi4KCSAgRW5jYXBzdWxhdGVzIGluIGEgZnVuY3Rpb24gdGhlIGNvZGUgdGhhdCB3YXJucyBvZiBhbiBpbGxlZ2FsbHkKCSAgcG9zaXRpb25lZCBlbGVtZW50LCByYXRoZXIgdGhhbiByZXBlYXRpbmcgdGhlIHNhbWUgY29kZSBtdWx0aXBsZSB0aW1lcy4KCSAgQWxzbyBmcmVlcyBhIHN0cmluZyBhbGxvY2F0ZWQgYnkgdHRtbF9nZXRfZWxlbWVudF90eXBlX3N0cmluZywgd2hpY2ggd2FzCgkgIHByZXZpb3VzbHkgYmVpbmcgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNzI1CgoyMDE3LTA0LTI0IDExOjM0OjQxICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC90dG1scGFyc2UuYzoKCSAgdHRtbHBhcnNlOiBSZW1vdmUgcmVkdW5kYW50IHRleHRfaW5kZXggZmllbGQgb2YgVHRtbEVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTcyNQoKMjAxNy0wNC0yNSAxMDowNDo1MCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkgIHR0bWxwYXJzZTogRG9uJ3QgbGVhayBUdG1sRWxlbWVudHMgd2hlbiBkZWxldGluZyBHTm9kZXMvdHJlZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE3MjUKCjIwMTctMDQtMjUgMTM6MjI6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZwoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXNzX2RlbXV4X3JlcXVpcmVzX3BlcmlvZGljYWxfcGxheWxpc3RfdXBkYXRl4oCZOgoJICAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOjcyOToxNjogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhtc3NkZW11eOKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCgkgIEdzdE1zc0RlbXV4ICptc3NkZW11eCA9IEdTVF9NU1NfREVNVVhfQ0FTVCAoZGVtdXgpOwoJICBefn5+fn5+fgoJICBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKMjAxNy0wNC0wNyAxNjozMzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBzZXBhcmF0ZSBtYW5pZmVzdCB1cGRhdGUgdGFzayBmcm9tIGRvd25sb2FkIHRhc2tzCgkgIFJhdGlvbmFsZSBpcyB0byBhbGxvdyB0aGUgbWFuaWZlc3QgdXBkYXRlIHRhc2sgdG8gY29udGludWUgcnVubmluZyB3aGlsZQoJICBzZWVrcyBhcmUgb2NjdXJyaW5nLiAgT3RoZXJ3aXNlLCBpZiB0aGUgdXNlciByZWxpYWJseSBwZXJmb3JtcyBhIHNlZWsKCSAgYmVmb3JlIHRoZSBtYW5pZmVzdCBpcyB1cGRhdGVkLCB0aGVuIGFzIHRoZSBtYW5pZmVzdCB0YXNrIGlzIHJlc2V0IG9uCgkgIHNlZWtzIChhbmQgdGh1cyB0aGUgdGltZSB0byB3YWl0IGJldHdlZW4gbWFuaWZlc3QgdXBkYXRlcyksIHRoZSBtYW5pZmVzdAoJICB3b3VsZCBuZXZlciBiZSB1cGRhdGVkLgoJICBUaGlzIGZpeCBtYWtlcyB0aGUgbWFuaWZlc3QgdXBkYXRlIHRhc2sgZnJlZS1ydW5uaW5nIGFuZCBjb250aW5vdXNseQoJICB1cGRhdGUgZXZlbiBkdXJpbmcgc2Vla3MuCgoyMDE3LTA0LTA3IDE0OjQyOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzOiBhbHdheXMgcGVyaW9kaWNhbGx5IHVwZGF0ZSB0aGUgbWFuaWZlc3QgdGFraW5nIHRoZSBuZXcgZnJhZ21lbnRzCgkgIFdpdGhvdXQgdGhpcywgZm9yIHN0cmVhbXMgd2hlcmUgdGhlIGNvbnRlbnQgaXMgc3RvcmVkIGluZGVmaW5pdGVseSBhbmQKCSAgY2FuIGJlIHNlZWtlZCBvbiwgdGhlIGR1cmF0aW9uIHdvdWxkIG5ldmVyIGluY3JlYXNlIHdoZW4gaW4gcGF1c2VkIG9yLAoJICB1bnRpbCB3ZSByZWFjaGVkIG5lYXIgdGhlIGVuZCBvZiB0aGUgY3VycmVudGx5IGFkdmVydGlzZWQgc3RyZWFtICh3aGVyZQoJICB0aGUgaW50ZXJuYWwgZnJhZ21lbnQgcGFyc2VyIHdvdWxkIHNlZSBkZXNjcmlwdGlvbnMgb2YgbmV3IGZyYWdtZW50cykuCgoyMDE3LTA0LTI0IDIwOjI4OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MGFlZWY2IHRvIDQ4YTVkODUKCjIwMTctMDQtMjEgMjE6Mjk6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBBZGQgbXNtIHRvIHRoZSBsaXN0IG9mIGRyaXZlcnMKCSAgVGhpcyBwcmV2ZW50IGhhdmluZyB0byBzZXQgdGhlIGRyaXZlci1uYW1lIGV4cGxpY2l0bHkgd2hlbiBydW5uaW5nIG9uCgkgIFF1YWxjb21tL01TTSBib2FyZHMuCgoyMDE3LTA0LTIwIDE0OjQzOjQ1ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC90dG1scGFyc2UuYzoKCSAgdHRtbHBhcnNlOiBDb252ZXJ0IHRhYnMgdG8gc3BhY2VzIGluIGlucHV0CgkgIFRoZSBUVE1MIHNwZWMgaGFzIGFuIGlzc3VlIGluIHdoaWNoIHRhYiAoVSswMDA5KSBjaGFyYWN0ZXJzIHRoYXQgYXJlCgkgIGZpcnN0IGluIGEgc2VxdWVuY2Ugb2Ygd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGFyZSBub3Qgc3VwcHJlc3NlZCBhdCB0aGUKCSAgc3RhcnQgYW5kIGVuZCBvZiBsaW5lIGFyZWFzLiBUaGlzIGlzc3VlIHdhcyByZXBvcnRlZCBpbiBbMV0gYW5kIHRoZQoJICBlZGl0b3Igb2YgdGhlIFRUTUwgc3BlY3MgY29uZmlybWVkIHRoYXQgdGhpcyB3YXMgbm90IHRoZSBpbnRlbnRpb24KCSAgYmVoaW5kIHRoZSBzcGVjLgoJICBUaGUgZWRpdG9yIGhhcyBjcmVhdGVkIGFuIGlzc3VlIHRvIGZpeCB0aGlzIGluIGJvdGggdGhlIFRUTUwxIGFuZCBUVE1MMgoJICBzcGVjcyBbMl0sIGdpdmluZyBhIHByb3Bvc2FsIG9mIHdoYXQgdGhlIHNwZWMgc2hvdWxkIHNheS4gVGhpcyBwYXRjaAoJICB1cGRhdGVzIHR0bWxwYXJzZSB0byBpbXBsZW1lbnQgdGhlIGludGVuZGVkIGJlaGF2aW91ciBhcyBwcm9wb3NlZCwgaW4KCSAgd2hpY2ggdGFicyBpbiB0aGUgaW5wdXQgYXJlIGNvbnZlcnRlZCB0byBzcGFjZXMgYmVmb3JlIHByb2Nlc3NpbmcuCgkgIFsxXSBodHRwczovL2dpdGh1Yi5jb20vdzNjL2ltc2MvaXNzdWVzLzIyNAoJICBbMl0gaHR0cHM6Ly9naXRodWIuY29tL3czYy90dG1sMS9pc3N1ZXMvMjM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE1MzkKCjIwMTctMDQtMjAgMTA6MjQ6MzAgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL3R0bWxwYXJzZS5jOgoJICB0dG1scGFyc2U6IEZpeCBwb3RlbnRpYWwgcmVzb3VyY2UgbGVhayBpZGVudGlmaWVkIGJ5IGNvdmVyaXR5LgoJICBJZiBtdWx0aXBsZSBzdHlsZXMvcmVnaW9ucyB3aXRoIHRoZSBzYW1lIElEIGFyZSBwcmVzZW50IGluIHRoZSBpbnB1dAoJICAod2hpY2ggaXMgbm90IGFsbG93ZWQgaW4gVFRNTCksIHVzZSB0aGUgbGFzdCBhbmQgZ2l2ZSBhIHdhcm5pbmcuCgkgIEZpeGVzIENJRCAjMTQwNTEzNC4KCjIwMTctMDQtMjAgMTA6MjI6NDkgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSAgdHRtbHJlbmRlcjogRml4IHBvdGVudGlhbCByZXNvdXJjZSBsZWFrIGlkZW50aWZpZWQgYnkgY292ZXJpdHkKCSAgRml4ZXMgQ0lEICMxNDA1MTMzLgoKMjAxNy0wNC0xOSAxOTowODo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBSZXZlcnQgImRlY2tsaW5rdmlkZW8vYXVkaW9zcmM6IEFkZCBHc3RSZWZlcmVuY2VUaW1lc3RhbXBNZXRhIHdpdGggdGhlIHN0cmVhbSB0aW1lIHRvIGVhY2ggYnVmZmVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ1Njg0ZDViMTQ1YTNlYjBlMjM0NzZmMTg2NjlkMWZmYTU1MmM1ZGUuCgkgIFRoaXMgc2hvdWxkbid0IGhhdmUgYmVlbiBtZXJnZWQgYmVmb3JlIDEuMTIuCgoyMDE3LTAyLTI1IDEyOjM3OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW8vYXVkaW9zcmM6IEFkZCBHc3RSZWZlcmVuY2VUaW1lc3RhbXBNZXRhIHdpdGggdGhlIHN0cmVhbSB0aW1lIHRvIGVhY2ggYnVmZmVyCgkgIFRoaXMgaXMgYmFzaWNhbGx5IGEgZnJhbWUgY291bnRlciBwcm92aWRlZCBieSB0aGUgZHJpdmVyIGFuZCBpdCdzCgkgIGFkdmFuY2luZyBhdCB0aGUgc3BlZWQgb2YgdGhlIEhETUkvU0RJIGlucHV0LiBIYXZpbmcgdGhpcyBhdmFpbGFibGUgb24KCSAgZWFjaCBidWZmZXIgYWxsb3dzIHRvIGtub3cgd2hhdCBjb25zdGFudC1mcmFtZXJhdGUtYmFzZWQgdGltZXN0YW1wIGVhY2gKCSAgZnJhbWUgaXMgY29ycmVzcG9uZGluZyB0byBhbmQgY2FuIGJlIHVzZWQgZS5nLiB0byB3cml0ZSBvdXQgZmlsZXMKCSAgYWNjb3JkaW5nbHkgd2l0aG91dCBoYXZpbmcgdGhlIGxvY2FsIHBpcGVsaW5lIGNsb2NrIHRpbWVzdGFtcHMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTIxMwoKMjAxNy0wNC0xOSAxNjowNjo1MiArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJICB0dG1scmVuZGVyOiBGaXggcG90ZW50aWFsIHByb2JsZW0gaWRlbnRpZmllZCBieSBjbGFuZwoJICBDbGFuZydzIHN0YXRpYyBhbmFseXNlciBmb3VuZCBwb3RlbnRpYWwgY29kZSBwYXRocyBpbiB3aGljaCB2YXJpYWJsZXMKCSAgd2VyZSBiZWluZyB1c2VkIGluIGNvbXBhcmlzb25zIHdoZW4gdW5pbml0aWFsaXNlZC4gRml4IGJ5IHByb3Blcmx5CgkgIGhhbmRsaW5nIG91dC1vZi1yYW5nZSB2YWx1ZSByZXR1cm5lZCBieSBnc3RfdHRtbF9nZXRfZWxlbWVudF9pbmRleC4KCjIwMTctMDQtMTkgMTQ6MDc6MDYgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL3R0bWxwYXJzZS5jOgoJICB0dG1scGFyc2U6IEZpeCBwb3RlbnRpYWwgTlVMTCBkZXJlZmVyZW5jZSBpZGVudGlmaWVkIGJ5IGNvdmVyaXR5CgkgIEhvcGVmdWxseSBmaXhlcyBDSUQgIzE0MDUxMzEuCgoyMDE3LTA0LTE5IDE0OjAwOjQ3ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmM6CgkgIHR0bWxyZW5kZXI6IEZpeCBpbnRlZ2VyIGhhbmRsaW5nIGlzc3VlIGlkZW50aWZpZWQgYnkgY292ZXJpdHkKCSAgRml4ZXMgQ0lEICMxNDA1MTMyLgoKMjAxNy0wNC0xOSAxMjozNjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogUmVtb3ZlIHNvbWUgdW51c2VkIHN0cnVjdCBmaWVsZHMKCjIwMTctMDQtMTcgMTk6MjU6NDkgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQGdtYWlsLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IFN0b3AgYml0c3RyZWFtIHRocmVhZCBpbiA6OnN0b3AoKQoJICBPdGhlcndpc2Ugd2UgYXJlIGxpa2VseSB0byBjcmFzaCBpZiBFT1MgZGlkbid0IGhhcHBlbiB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0MTAKCjIwMTctMDQtMTQgMTM6NTg6MjEgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQGdtYWlsLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IFVwZGF0ZSB0byB0aGUgY3VycmVudCBnc3RyZWFtZXItZ2wgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0MTAKCjIwMTctMDQtMTQgMTM6NTc6MTkgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbnZlbmM6IEFkZCBzdXBwb3J0IGZvciB0aGUgQ3VkYSA4LjAgU0RLCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODE0MTAKCjIwMTctMDQtMTIgMjA6MDE6NDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFJld3JpdGUgSVNPQk1GRiAmIFNJRFggaGFuZGxpbmcKCSAgVGhlIHByZXZpb3VzIGNvZGUgd2FzIGhhbmRsaW5nIGJvdGggYXMgc2VwYXJhdGUgc3RlcHMgYW5kIHRoZW4gdHJpZWQgdG8KCSAgY29tYmluZSB0aGUgcmVzdWx0cywgYnV0IHRoaXMgcmVzdWx0ZWQgaW4gYWxsIGtpbmRzIG9mIGJ1Z3Mgd2hpY2ggc2hvd2VkCgkgIHRoZW1zZWx2ZXMgYXMgZmFpbHVyZXMgZHVyaW5nIHNlZWtpbmcgYW5kIG9mZnNldCB0cmFja2luZyBnZXR0aW5nIHdyb25nLgoJICBUaGlzIGFsc28gc2hvd2VkIGl0c2VsZiB3aXRoIGdzdC12YWxpZGF0ZSBvbiB0aGUgc2FtcGxlIHN0cmVhbS4KCSAgVGhlIHJld3JpdHRlbiBjb2RlIG5vdyBwYXJzZXMgZXZlcnl0aGluZyBpbiBvbmUgZ28gYW5kIHRyYWNrcyB0aGUKCSAgY3VycmVudCBvZmZzZXQgb25seSBvbmNlLCBhbmQgYXMgYSBzaWRlIGVmZmVjdCBzaW1wbGlmaWVzIHRoZSBjb2RlIGEKCSAgbG90LgoJICBBbHNvIGFkZGVkIGlzIGRldGVjdGlvbiBvZiBTSURYIHRoYXQgcG9pbnQgdG8gb3RoZXIgU0lEWCBpbnN0ZWFkIG9mCgkgIGFjdHVhbCBtZWRpYSBzZWdtZW50cywgZS5nLiB3aXRoIHRoaXMgc3RyZWFtOgoJICBodHRwOi8vZGFzaC5ha2FtYWl6ZWQubmV0L2Rhc2gyNjQvVGVzdENhc2VzLzFhL3NvbnkvU05FX0RBU0hfU0RfQ0FTRTFBX1JFVklTRUQubXBkCgkgIFN1cHBvcnQgZm9yIHRoaXMgd2lsbCBoYXZlIHRvIGJlIGFkZGVkIGF0IHNvbWUgcG9pbnQgYnV0IHRoYXQgc2hvdWxkCgkgIGFsc28gYmUgZWFzaWVyIHdpdGggdGhlIHJld3JpdHRlbiBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMjMzCgoyMDE3LTA0LTE1IDE4OjE3OjI5IC0wNzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoX21wZDogYWRkIHNvbWUgaW5oZXJpdGFuY2UgdGVzdHMKCSAgVGVzdHMgcmVnYXJkaW5nIGluaGVyaXRhbmNlIG9mIHNlZ21lbnQgdGVtcGxhdGUgYXR0cmlidXRlcwoKMjAxNy0wNC0xMiAxNjo1ODoxMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEbyBzYW5pdHkgY2hlY2sgb2YgU2VnbWVudCBCYXNlIEluZm9ybWF0aW9uIG9ubHkgYXQgUmVwZXNlbnRhdGlvbiBsZXZlbAoJICBTcGVjIDUuMy45LjIgaXMgc2F5aW5nIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgZHVyYXRpb24gYW5kIFNlZ21lbnRUaW1lbGluZQoJICBvbmx5IGZvciBSZXByZXNlbnRhdGlvbiBsZXZlbC4gT3RoZXIgbGV2ZWwgc3VjaCBhcyBQZXJpb2Qgb3IgQWRhcHRhdGlvblNldAoJICBtaWdodCBub3QgaGF2ZSB0aGUgYXR0cmlidXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDU3MAoKMjAxNy0wMy0yNyAxMDowNjozMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBBbGxvdyBpbmhlcml0IFNlZ21lbnR7QmFzZSxUZW1wbGF0ZX0gZnJvbSBQZXJpb2QKCSAgU2ltaWxhciB0byBTZWdtZW50TGlzdCwgUmVwcmVzZW50YXRpb24gY2FuIGluaGVyaXQgU2VnbWVudHtCYXNlLFRlbXBsYXRlfQoJICBmcm9tIFBlcmlvZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNTcwCgoyMDE3LTA0LTE0IDE4OjE2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBob2xkIGxvY2tzIHdoZW4gcHVzaGluZyBGTFVTSF9TVEFSVAoJICBTb21lIGFjdGlvbnMgKFFvcywgcmVjb25maWd1cmUsIC4uLikgbWlnaHQgdGFrZSBwbGFjZSBiZWZvcmUgd2UgZmluaXNoIHB1c2hpbmcgb3V0IGZsdXNoX3N0YXJ0LgoJICBPbmUgcHJvYmxlbSB3b3VsZCBiZSB0aGF0OgoJICAxKSBUaGUgUU9TIGhhbmRsaW5nIGluIGFkYXB0aXZlZGVtdXggdGFrZXMgdGhlIE1BTklGRVNUIExPQ0sKCSAgVGhhdCBRT1MgZXZlbnQgY29tZXMgZnJvbSBiYXNlc2luayB3aXRoIGl0cyBQUkVST0xMX0xPQ0sgdGFrZW4KCSAgMikgRkxVU0hfU1RBUlQgaXMgc2VudCBmcm9tIGFkYXB0aXZlZGVtdXggd2l0aCB0aGUgTUFOSUZFU1RfTE9DSyB0YWtlbiBhbmQgdGhlIGJhc2VzaW5rIGZsdXNoaW5nIGhhbmRsZXIgbmVlZHMgdG8gdGFrZSB0aGUgUFJFUk9MTF9MT0NLCgkgID0+IGRlYWRsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEzMjAKCjIwMTctMDQtMTMgMTM6Mjc6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBzZWdtZW50IGNyZWF0aW9uL2FkYXB0YXRpb24gc29tZSBtb3JlCgkgIFRha2UgaW50byBhY2NvdW50IHRoZSBzZWdtZW50IHN0b3AgYW5kIHRoZSBuZWdhdGl2ZSByYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMjY3CgoyMDE3LTA0LTE0IDAxOjU2OjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogRml4IGNlbGwgc3RyaW5nIGdlbmVyYXRpb24KCSAgQWxsb3cgMSBleHRyYSBjaGFyIGluIHRoZSB0bXAgYnVmZmVyIHdoZXJlIHRoZSBtb3Rpb24gY2VsbAoJICBzbmlwcGV0cyBhcmUgZ2VuZXJhdGVkLCBzbyB0aGF0IGl0IGRvZXNuJ3QgbGVhdmUgb2ZmIGEgY29tbWEKCSAgd2hlbiBkZWFsaW5nIHdpdGggY2VsbHMgdGhhdCBoYXZlIDIgbnVtZXJhbHMgaW4gYm90aCBpbmRpY2VzCgoyMDE3LTA0LTEzIDExOjMzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdHRtbC9nc3R0dG1scGx1Z2luLmM6CgkgIHR0bWw6IGJ1aWxkLCBidXQgZG9uJ3QgYXV0b3BsdWcgdW5sZXNzIEdTVF9UVE1MX0FVVE9QTFVHIGVudiB2YXIgaXMgc2V0CgkgIERvbid0IGhpZGUgYnVpbGQgYmVoaW5kIC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4gT3VyIGdvYWwgaXMgdG8gbm90CgkgIGF1dG9wbHVnIGl0IGZvciBub3csIHNvIGxldCdzIGp1c3QgYWx3YXlzIGJ1aWxkIGl0IGlmIHRoZSBkZXBlbmRlbmNpZXMKCSAgYXJlIHRoZXJlIGFuZCBoaWRlIGF1dG9wbHVnZ2luZyBlbmFibGVtZW50IGJlaGluZCBhbiBlbnYgdmFyLgoKMjAxNi0xMC0xOSAxNDo1NjowNiArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogaWYgdGhlIHBsYW5lIGNhbiBub3Qgc2NhbGUsIHJldHJ5IHdpdGhvdXQgc2NhbGluZyBhbmQgcmVtZW1iZXIKCSAgUmV0cnkgdGhlIGRybU1vZGVTZXRQbGFuZSBjYWxsIHdpdGhvdXQgc2NhbGluZyBpZiB0aGUgZmlyc3QgdHJ5IGZhaWxzLAoJICBhbmQgcmVtZW1iZXIgbm90IHRvIHNjYWxlIGFueW1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODExODgKCjIwMTctMDQtMTIgMjA6MDk6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBGaXggaXNzdWUgd2hlbiBtYW5pZmVzdCB1cGRhdGUgc2V0cyBzbG93IHN0YXJ0IHdpdGhvdXQgcGFzc2luZyBuZWNlc3NhcnkgaGVhZGVyICYgY2FwcyBjaGFuZ2VzIGRvd25zdHJlYW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzlmYmYzNDU5YTcxOWIyYzY4YmE2OWRkYWJkMzczZWE5YmY4MDRhMi4KCSAgVGhlIHJlcHJlc2VudGF0aW9uIElEIGNvbXBhcmlzaW9uIGhlcmUgd2FzIHdyb25nIGFuZCB0cmlnZ2VyaW5nIGFsd2F5cwoJICBpZiB0aGUgSUQgZGlkICpub3QqIGNoYW5nZSwgY2F1c2luZyBuZWVkbGVzcyByZWRvd25sb2FkaW5nIG9mIHRoZQoJICBoZWFkZXIuIFRoZSBzYW1wbGUgc3RyZWFtIHByb3ZpZGVkIGluIHRoZSBidWcgZG9lcyBub3QgZXhpc3QgYW55bW9yZS4KCjIwMTctMDMtMDggMTU6MDE6MTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NHNyYy5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9pcWEvaXFhLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3R0bWwvZ3N0dHRtbHBhcnNlLmM6CgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSogZXh0L3R0bWwvc3VidGl0bGUuYzoKCSogZXh0L3R0bWwvc3VidGl0bGVtZXRhLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92dWxrYW4vZ3N0dnVsa2FuLmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcnBvb2wuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93aWxkbWlkaS9nc3R3aWxkbWlkaS5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItZy1tYWluLWNvbnRleHQtc2lnbmFsLWRpc3BhdGNoZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4bWF0cml4L2dzdGF1ZGlvbWl4bWF0cml4LmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RlcnJvcmlnbm9yZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC90aW1lY29kZS9nc3RhdndhaXQuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoc3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGRvY3M6IFBvcnQgYWxsIGRvY3N0cmluZyB0byBndGstZG9jIG1hcmtkb3duCgoyMDE3LTAzLTI3IDE1OjI5OjE2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3ZpZGVvcGFyc2U6IHZpZGVvcGFyc2Ugbm93IHVzZXMgR3N0VmFsdWVBcnJheSBhbmQgbm90IEdWYWx1ZUFycmF5CgoyMDE3LTA0LTEyIDA5OjM1OjE2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmg6CgkgIGRvY3M6IFN0b3AgbGlua2luZyB0byBpbmV4aXN0YW50IHN5bWJvbHMKCjIwMTctMDQtMTIgMTI6MDY6NTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBNYWtlIGluc3RhbmNlIHZhciBuYW1lIG1hdGNoICBiZXR3ZWVuIC5jIGFuZCAuaAoJICBNYWtpbmcgR0kgaGFwcHkKCjIwMTctMDQtMTIgMTM6MTc6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIFJldmVydCAiZGlyZWN0c291bmRzcmM6IENvcnJlY3RseSBjYWxjdWxhdGUgc2Vnc2l6ZSBhbmQgc2VndG90YWwiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQyNTZkOTkwOGUyOTJmNmM1OTNiZjQ1ZTY5MzU0ZjZiNjEzY2M4Yi4KCSAgSXQgd2FzIGNvbmZpZ3VyaW5nIHRoZSBwZXJpb2QvYnVmZmVyIHNpemUgaW4gYSB3YXkgdGhhdCBvZnRlbiBjYXVzZXMKCSAgZHJvcC1vdXRzIG9yIGNvbXBsZXRlIHVuZGVycnVucy4gTmVlZHMgZnVydGhlciBpbnZlc3RpZ2F0aW9uLgoKMjAxNy0wNC0xMiAxMDo1NDoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEZpeCBsZWFrCgkgIFRoZSBlcnJvcjogbG9jYXRpb24gdGFrZXMgY2FyZSBvZiBmcmVlaW5nIG5ld19yZXByZXNlbnRhdGlvbgoJICBDSUQgIzE0MDUwMjcKCjIwMTctMDQtMTIgMTA6NTQ6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBSdW4gZ3N0LWluZGVudAoKMjAxNy0wNC0xMSAxNTo0NjoxOSArMDMwMCAgQ2xhdWRpbyBTYWF2ZWRyYSA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgbWlzc2luZyBnc3RnbHJlbmRlcmJ1ZmZlci5oIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMTc5CgoyMDE3LTA0LTExIDA5OjQyOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZGVja2xpbms6IGZpeCBtZXNvbiBjb25maWd1cmUgZXJyb3Igb24gbWFjT1MKCSAgIm1lc29uIGVuY291bnRlcmVkIGFuIGVycm9yIGluIGZpbGUKCSAgc3lzL2RlY2tsaW5rL21lc29uLmJ1aWxkLCBsaW5lIDMzLCBjb2x1bW4gMjoKCSAgSW52YWxpZCB1c2Ugb2YgYWRkaXRpb246IG11c3QgYmUgc3RyLCBub3QgbGlzdCIKCSAgQWxzbyByZW1vdmUgbm9uc2Vuc2ljYWwgbGlua2VyIGZsYWdzIG9uIHdpbmRvd3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODExNTYKCjIwMTYtMTItMzAgMTQ6MDU6MzAgLTA1MDAgIEZhYmlhbiBPcmNjb24gPGNmb2NoLmZhYmlhbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkgIGZhY2VvdmVybGF5OiBQb3J0IHRvIEdTdHJlYW1lciAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDAxMQoKMjAxNy0wNC0wNSAxNjowMzowOCAtMDUwMCAgRmFiaWFuIE9yY2NvbiA8Y2ZvY2guZmFiaWFuQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkqIGdzdC9mYWNlb3ZlcmxheS9tZXNvbi5idWlsZDoKCSogZ3N0L21lc29uLmJ1aWxkOgoJICBmYWNlb3ZlcmxheTogUmV2ZXJ0IGRlbGV0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQwMTEKCjIwMTctMDMtMDMgMDk6MDg6MDYgKzAxMDAgIErDvHJnZW4gU2FjaHMgPGp1ZXJnZW4uc2FjaHNAbWV0ei1jZS5kZT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXgvbXBkcGFyc2VyOiBGaXggd3JvbmcgZmFsc2Ugc2FuaXR5IGNoZWNrIGZvciBtYW5pZmVzdHMgd2l0aCBuZXN0ZWQgU2VnbWVudFRlbXBsYXRlIG5vZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgyMzcKCjIwMTctMDQtMTAgMjM6NDk6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM5YWMyZjUgdG8gNjBhZWVmNgoKMjAxNy0wNC0xMCAxODo0NjowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEhhbmRsZSBjdXJyZW50IFNJRFggYmVmb3JlIGN1cnJlbnQgcG9zaXRpb24gaW4gbm9ybWFsIG1vZGUgbGlrZSBpbiBrZXl1bml0LW9ubHkgdHJpY2sgbW9kZQoJICBPdGhlcndpc2Ugd2UnbGwgZ2V0IGludG8gYW4gaW5maW5pdGUgbG9vcCBoZXJlLiBOb3cgdGhpcyBpcyBzdGlsbCBub3QKCSAgY29ycmVjdCBhbmQgd2lsbCBjYXVzZSBhIGNsZWFuIGVycm9yLCBidXQgYXQgbGVhc3QgaXQgd29uJ3QgaGFuZyBmb3JldmVyCgkgIGFueW1vcmUuCgoyMDE3LTA0LTA3IDEyOjE5OjI3IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbmZpZy5oLm1lc29uOgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBnbDogc2V0IGRlZmF1bHQgdmFsdWUgb2YgMCBmb3IgZ2xjb25mIHZhcnMKCSAgbWVzb24ncyBjb25maWd1cmVfZmlsZSBlbWl0cyBvbmx5IGEgY29tbWVudCBsaWtlIC8qICN1bmRlZiAuLi4gKi8KCSAgZm9yIHZhbHVlcyB3aGljaCBhcmUgdW5zZXQgaW4gdGhlIGNvbmZpZ3VyYXRpb25fZGF0YS4gRm9yCgkgIGdzdGdsY29uZmlnLmgsIHRoaXMgZGlmZmVycyBmcm9tIHRoZSBhdXRvdG9vbHMgYnVpbGQgd2hlcmUgdGhlCgkgIHByZXByb2Nlc3NvciBkZWZpbml0aW9ucyBhcmUgYWx3YXlzIGVpdGhlciAwIG9yIDEuIFNvIGxvb3Agb3ZlciBhCgkgIGxpc3Qgb2YgdmFyaWFibGVzIHRvIHNldCB0byB6ZXJvIGFzIGRlZmF1bHQuCgkgIEFsc28gc3luYyB1cCB0aGUgZ3N0Z2xjb25maWcuaC5tZXNvbiBmaWxlIHdpdGggdGhlIGFkZGl0aW9uYWwKCSAgbWFjcm9zIGRlZmluZWQgYnkgdGhlIGF1dG90b29scyBidWlsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTA0MwoKMjAxNy0wNC0wNyAxMDoxOTo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGdzdGFnZ3JlZ2F0b3I6IGZpeCBldmVudCB1c2UgYWZ0ZXIgZnJlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMDE3CgoyMDE3LTA0LTA3IDEwOjM5OjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogZml4IGluZGV4IGVudHJ5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTAyMwoKMjAxNy0wNC0wNyAxMDozNjozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSAgdGVzdHM6IGZpeCBsZWFrIGluIHZpZGVvZnJhbWUtYXVkaW9sZXZlbCB0ZXN0CgkgIGFsc28gYWRkIGJyYWNlcyBmb3IgdGhlIGVsc2UgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMDIyCgoyMDE3LTA0LTA3IDEwOjMwOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbGNvbnRleHQ6IGZpeCBkaXNwbGF5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTAxOQoKMjAxNy0wNC0wNyAxMDoyNDoxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogZml4IGxpc3QgbGVhawoJICBXaW5kb3dzIGFyZW4ndCBhbHdheXMgcmVtb3ZlZCBpbiB0aW1lLCBhbmQgaXQgdHVybnMgb3V0IHRvIGJlCgkgIHZlcnksIHZlcnkgaGFyZCB0byByZW1vdmUgYSB3aW5kb3cgaW4gYSB3YXkgdGhhdCdzIG5vdCByYWN5IGFuZAoJICBub3QgZGVhZGxvY2t5LiBTaW5jZSB0aGUgd2luZG93IGl0c2VsZiBkb2Vzbid0IGxlYWssIGZyZWVpbmcKCSAgdGhlIGxpc3Qgb24gb2JqZWN0IGRlc3RydWN0aW9uIGlzIGVub3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTAxOAoKMjAxNy0wNC0wNyAxMDo0Mzo1MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGxhbmd1YWdlIGRlc2NyaXB0b3IKCSAgQWxzbyBhZGQgYSBjb3VwbGUgc2FuaXR5IGFzc2VydHMvcmV0dXJucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxMDI0CgoyMDE3LTAzLTI3IDA5OjU2OjMyICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IFJlcG9ydCBlcnJvciBpZiBSZXByZXNlbnRhdGlvbiBpcyBpbnZhbGlkCgkgIFNwZWMgIjUuMy41IFJlcHJlc2VudGF0aW9uIiBpcyBzYXlpbmcgdGhhdAoJICBpZCBhbmQgYmFuZHdpZHRoIGF0dHJpYnV0ZXMgYXJlIG1hbmRhdG9yeSBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA1NjkKCjIwMTctMDMtMjQgMTU6MDQ6MjEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBSZXRyeSBkb3dubG9hZGluZyBhIGZyYWdtZW50IGltbWVkaWF0ZWx5IGlmIGFueSBpbiBsaXZlIHN0cmVhbWluZwoJICBBdCB0aGUgbW9tZW50IHRoYXQgZGVtdXggaXMgd2FpdGluZyBtYW5pZmVzdCB1cGRhdGUsIHRoZSB0YXJnZXQgc2VxdWVuY2UKCSAgb2YgZnJhZ21lbnQgd2FzIGFkdmFuY2VkIGFscmVhZHkuIFNvLCBjaGVja2luZyBzdHJlYW1faGFzX25leHRfZnJhZ21lbnQoKQoJICBtZWFucyBsb29raW5nIGZvciB0aGUgbmV4dCBmcmFnbWVudCBvZiB0YXJnZXQgZnJhZ21lbnQuCgkgIFRoaXMgbWlnaHQgY2F1c2UgdW5leHBlY3RlZCBidWZmZXJpbmcgaWYgZWFjaCBmcmFnbWVudCBoYXMKCSAgbGFyZ2UgZHVyYXRpb24gYW5kIG1hbmlmZXN0IGlzIGxpc3Rpbmcgb25seSBsaW1pdGVkIG51bWJlciBvZiBmcmFnbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0OTQKCjIwMTctMDMtMjQgMDg6MTY6MzUgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IFNFRUsgb2YgbXVsdGktcGVyaW9kIE9uLURlbWFuZCBwcm9maWxlCgkgIEZvciBlYWNoIHBlcmlvZCwgbWVkaWEgcHJlc2VudGF0aW9uIGlzIHRoZSByZWxhdGl2ZSB0byB0aGUKCSAgcGVyaW9kLXN0YXJ0IHRpbWUuIFNvIFNJRFggc2VlayBwb3NpdGlvbiBzaG91bGQgYmUgdGFyZ2V0IHNlZWsKCSAgcG9zaXRpb24gbWludXMgcGVyaW9kLXN0YXJ0LiBBbHNvLCBpZiBwcmVzZW50YXRpb25UaW1lT2Zmc2V0CgkgIGlzIGRlZmluZWQsIHRoZSB2YWx1ZSBzaG91bGQgYmUgY29tcGVuc2F0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDM5NwoKMjAxNy0wNC0wNCAxMTo0Nzo1NSArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHBhcnNlLmM6CgkgIHR0bWxwYXJzZTogcHVzaCBzZWdtZW50IGV2ZW50cyBkb3duc3RyZWFtCgkgIFdpdGhvdXQgdGhpcywgc3VidGl0bGVzIHdpbGwgc3RvcCBhZnRlciBzZWVraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwODk3CgoyMDE3LTA0LTA3IDEwOjE2OjQ2ICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC90dG1scGFyc2UuYzoKCSAgdHRtbHBhcnNlOiBkb24ndCBmaWx0ZXIgb3V0IHVudGltZWQgd2hpdGVzcGFjZQoJICBTaWduaWZpY2FudCB3aGl0ZXNwYWNlIGluIGVsZW1lbnRzIHRoYXQgZG9uJ3QgaGF2ZSBiZWdpbi9lbmQgdmFsdWVzCgkgIHNob3VsZCBpbmhlcml0IHRpbWluZyBmcm9tIGl0cyBwYXJlbnQsIG9yIGlmIG5vIGl0cyBwYXJlbnRzIGhhdmUgbm8KCSAgdGltaW5nLCBmcm9tIHRoZSBkb2N1bWVudCdzIFJvb3QgVGVtcG9yYWwgRXh0ZW50LiBDdXJyZW50bHksIHN1Y2gKCSAgd2hpdGVzcGFjZSBpcyByZW1vdmVkLCB3aGljaCBpcyBub3Qgc3BlYy1jb21wbGlhbnQuIEZpeCB0aGlzIGJ5CgkgIHJldGFpbmluZyB3aGl0ZXNwYWNlIGluIGNvbnRlbnQgbm9kZXMsIGFuZCBhc3NpZ25pbmcgYSBSb290IFRlbXBvcmFsCgkgIEV4dGVudCBvZiAyNCBob3VycyB0byBhbnkgc2lnbmlmaWNhbnQgd2hpdGVzcGFjZSB3aG9zZSBwYXJlbnRzIGhhdmUgbm8KCSAgYXNzb2NpYXRlZCB0aW1pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEwMjcKCjIwMTctMDMtMjIgMTA6NDE6NDQgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxwYXJzZS5jOgoJICB0dG1scGFyc2U6IGRvbid0IGxlYWsgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQwMgoKMjAxNy0wMy0yMiAxMDozNTozOCArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJICB0dG1scmVuZGVyOiBpbXByb3ZlIGZ1bmN0aW9uIGNvbW1lbnRzL2Rlc2NyaXB0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNDAyCgoyMDE3LTAzLTIyIDEwOjMwOjQ3ICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmM6CgkgIHR0bWxyZW5kZXI6IHJlbG9jYXRlIHR5cGUgZGVmaW5pdGlvbnMgdG8gaGVhZCBvZiBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0MDIKCjIwMTctMDMtMjIgMTA6MjE6MjggKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSogZXh0L3R0bWwvc3VidGl0bGUuYzoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkgIHR0bWw6IGNvcnJlY3RseSBpbXBsZW1lbnQgbGluZUhlaWdodCBiZWhhdmlvdXIKCSAgVGhlIHNwZWNpZmllZCBiZWhhdmlvdXIgaW4gVFRNTCB3aGVuIGxpbmVIZWlnaHQgaXMgIm5vcm1hbCIgaXMgZGlmZmVyZW50CgkgIGZyb20gdGhlIGJlaGF2aW91ciB3aGVuIGEgcGVyY2VudGFnZSBpcyBnaXZlbi4gSW4gdGhlIGZvcm1lciBjYXNlLCB0aGUKCSAgbGluZSBoZWlnaHQgaXMgYSBwZXJjZW50YWdlICh0aGUgVFRNTCBzcGVjIHJlY29tbWVuZHMgMTI1JSkgb2YgdGhlIGxhcmdlc3QKCSAgZm9udCBzaXplIHRoYXQgaXMgYXBwbGllZCB0byB0aGUgc3BhbnMgd2l0aGluIHRoZSBibG9jazsgaW4gdGhlIGxhdHRlcgoJICBjYXNlLCB0aGUgbGluZSBoZWlnaHQgaXMgdGhlIGdpdmVuIHBlcmNlbnRhZ2Ugb2YgdGhlIGZvbnQgc2l6ZSB0aGF0IGlzCgkgIGFwcGxpZWQgdG8gdGhlIGJsb2NrIGl0c2VsZi4KCSAgVGhlIGNvZGUgZG9lc24ndCBjb3JyZWN0bHkgaW1wbGVtZW50IHRoaXMgYmVoYXZpb3VyOyB0aGlzIHBhdGNoIGZpeGVzCgkgIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0MDIKCjIwMTctMDMtMjIgMDk6MjE6MDkgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5oOgoJICB0dG1scmVuZGVyOiBhcHBseSBjb3JyZWN0IGxpbmUgaGVpZ2h0IHRvIGJsb2NrcyB3aXRoIG11bHRpcGxlIHRleHQgc2l6ZXMKCSAgSW4gVFRNTCwgdGhlIGhlaWdodCBvZiBldmVyeSBsaW5lIGluIGEgYmxvY2sgaXMgZGV0ZXJtaW5lZCBieSBsaW5lSGVpZ2h0CgkgIGFuZCBmb250U2l6ZSBzdHlsZSBhdHRyaWJ1dGVzLCBhbmQgc2hvdWxkIGJlIHRoZSBzYW1lIGZvciBlYWNoIGxpbmUgaW4KCSAgdGhhdCBibG9jaywgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGRpZmZlcmVudCBzaXplZCB0ZXh0IGFwcGVhcnMgb24KCSAgZGlmZmVyZW50IGxpbmVzLiBDdXJyZW50bHksIGEgc2luZ2xlIFBhbmdvTGF5b3V0IGlzIHVzZWQgdG8gbGF5IG91dCBhbGwKCSAgdGhlIHRleHQgaW4gYSBibG9jazsgaG93ZXZlciwgcGFuZ28gd2lsbCB2YXJ5IHRoZSBsaW5lIGhlaWdodCBpbiBhCgkgIGxheW91dCBkZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGV4dCB1c2VkIGluIGVhY2ggbGluZSwgd2hpY2ggaXMgbm90CgkgIGNvbXBsaWFudCB3aXRoIFRUTUwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdHRtbHJlbmRlciBsYXkgb3V0IHRoZSBsaW5lcyBpbiBhIGJsb2NrIGl0c2VsZiwgcmF0aGVyCgkgIHRoYW4gdXNpbmcgYSBQYW5nb0xheW91dCB0byBkbyB0aGUgd29yay4gVGhlIGNvZGUgc3RpbGwgdXNlcyBhCgkgIFBhbmdvTGF5b3V0IHRvIHJlbmRlciB0aGUgdGV4dCBvZiBlYWNoIGVsZW1lbnQsIGJ1dCB0aGUgb3ZlcmFsbCBsYXlvdXQKCSAgb2YgdGhlIHRleHQgaW4gYSBibG9jayBpcyBub3cgY29udHJvbGxlZCBieSB0dG1scmVuZGVyIGl0c2VsZi4gQnkgZG9pbmcKCSAgdGhpcywgdHRtbHJlbmRlciBpcyBhYmxlIHRvIGVuc3VyZSB0aGF0IHRoZSBoZWlnaHQgb2YgZWFjaCBsaW5lIGluIGEKCSAgYmxvY2sgaXMgY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQwMgoKMjAxNy0wMy0yMSAxNTowNToxOCArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJICB0dG1scmVuZGVyOiBhZGQgZmFjaWxpdHkgdG8gc3RpdGNoIGltYWdlcyBpbiBib3RoIGRpcmVjdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQwMgoKMjAxNy0wMy0yMSAxNDozOTozOSArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJICB0dG1scmVuZGVyOiBleHRlbmQgVW5pZmllZEVsZW1lbnQgdHlwZSB0byBpbmNsdWRlIGZvbnQgbWV0cmljcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNDAyCgoyMDE3LTAzLTIxIDE0OjExOjQyICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmM6CgkgIHR0bWxyZW5kZXI6IGV4dGVuZCBVbmlmaWVkQmxvY2sgdHlwZQoJICBJbmNsdWRlIGEgcmVmZXJlbmNlIHRvIHRoZSBHc3RTdWJ0aXRsZVN0eWxlU2V0IG9mIHRoZSByZXByZXNlbnRlZCBibG9jawoJICBhbmQgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgY29uY2F0ZW5hdGVkIHRleHQgZnJvbSBhbGwgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODA0MDIKCjIwMTctMDMtMjEgMTM6NTA6MTIgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSogZXh0L3R0bWwvc3VidGl0bGUuYzoKCSogZXh0L3R0bWwvc3VidGl0bGUuaDoKCSAgdHRtbDogYWRkIHJlZmNvdW50aW5nIHRvIEdzdFN1YnRpdGxlU3RseWVTZXQgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNDAyCgoyMDE3LTAzLTIxIDEyOjE1OjUwICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmM6CgkgIHR0bWxyZW5kZXI6IHJlbmFtZSBUZXh0UmFuZ2UgdHlwZSBhbmQgaXRzIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQwMgoKMjAxNy0wMy0yMSAxMjoxMjoyOCArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmg6CgkgIHR0bWxyZW5kZXI6IHN0b3JlIFBhbmdvTGF5b3V0IGluIG9iamVjdCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNDAyCgoyMDE3LTAzLTIxIDExOjI4OjMxICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmM6CgkgIHR0bWxyZW5kZXI6IHB1dCBhbGwgZnVuY3Rpb25zIGluIGdzdF90dG1sX3JlbmRlciBuYW1lc3BhY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDQwMgoKMjAxNy0wNC0wOCAyMToyODo1OCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJICBnbDogUmVtb3ZlIGR1cGxpY2F0ZSB0eXBlZGVmIG9mIEdzdEdMRnJhbWVidWZmZXJDbGFzcwoJICBUaGUgR3N0R0xGcmFtZWJ1ZmZlckNsYXNzIHN0cnVjdCBpcyB0eXBlZGVmZmVkIGluCgkgIGdzdGdsX2Z3ZC5oLCBhbmQgaGF2aW5nIGEgZHVwbGljYXRlIGVsc2V3aGVyZSBpcwoJICBicmVha2luZyB0aGUgY2VyYmVybyBidWlsZCBvbiBteSBPU1ggbWFjaGluZSwKCSAgZXZlbiB0aG91Z2ggaXQgc2VlbXMgdG8gYmUgd29ya2luZyBpbiBDSS4KCjIwMTctMDQtMDggMTA6MDg6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICB0ZXN0czogZGFzaDogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ19vYmplY3RfbmV3digpCgoyMDE3LTA0LTA3IDE4OjQ5OjUyICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gbm90IG1peCB0aGUgc2FtZSBidWZmZXIgdHdpY2Ugd2hlbiBFT1MuCgkgIFdoZW4gZW50ZXJpbmcgdGhpcyBjb2RlIHBhdGgsIHdlIGtub3cgdGhhdDoKCSAgV2UgcmVjZWl2ZWQgRU9TIG9uIHRoaXMgcGFkLgoJICBXZSBjb25zdW1lZCBhbGwgaXRzIGJ1ZmZlcnMuCgkgIEluIGFueSBjYXNlLCB3ZSB3YW50IHRvIHJlcGxhY2UgdmFnZ3BhZC0+YnVmZmVyIHdpdGggTlVMTCwKCSAgb3RoZXJ3aXNlIHdlIHdpbGwgZW5kIHVwIG1peGluZyB0aGUgc2FtZSBidWZmZXIgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEwMzcKCj09PSByZWxlYXNlIDEuMTEuOTAgPT09CgoyMDE3LTA0LTA3IDE2OjMyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGNkc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBtZXNvbi5idWlsZDoKCSAgUmVsZWFzZSAxLjExLjkwCgoyMDE3LTA0LTA3IDE1OjMxOjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTctMDQtMDcgMTU6MDY6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9odS5wbzoKCSogcG8va3kucG86CgkqIHBvL3N2LnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wNC0wNyAxNDo0NDo1NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3R1cmlkb3dubG9hZGVyLmRlZjoKCSAgd2luMzI6IFVwZGF0ZSBsaWJnc3R1cmlkb3dubG9hZGVyLmRlZgoKMjAxNy0wNC0wNyAxNjozMjo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgc29tZSByZWFzb25zIG9uIHdhcm5pbmcgcmVwb3J0aW5nCgoyMDE3LTA0LTA2IDE2OjEzOjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQ29ycmVjdGx5IGNhbGN1bGF0ZSBzZWdzaXplIGFuZCBzZWd0b3RhbAoJICBzZWdzaXplIHNob3VsZCBiZSBiYXNlZCBvbiBsYXRlbmN5LXRpbWUsIGFuZCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgdGhlCgkgIGZyYW1lIHNpemUuIHNlZ3RvdGFsIHNob3VsZCBiZSBiYXNlZCBvbiBidWZmZXItdGltZSBhbmQgc2Vnc2l6ZS4KCSAgVGhpcyBwcmV2ZW50cyBlcnJvcnMgY2F1c2VkIGJ5IG91dHB1dHRpbmcgYnVmZmVycyB0aGF0IGFyZSBub3QgYQoJICBtdWx0aXBsZSBvZiB0aGUgZnJhbWUgc2l6ZSwgYW5kIGFjdHVhbGx5IG1ha2VzIHRoZSBidWZmZXItdGltZSBhbmQKCSAgbGF0ZW5jeS10aW1lIHByb3BlcnRpZXMgZG8gd2hhdCB0aGV5J3JlIHN1cHBvc2VkIHRvIGRvLgoKMjAxNy0wMy0xNyAxMjo1ODowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogVXNlIGEgR1dlYWtSZWYgdG8gdGhlIHBhcmVudCB0byBwcmV2ZW50IGEgcmVmZXJlbmNlIGN5Y2xlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAxNDAKCjIwMTUtMTItMDkgMTM6MTk6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogc2V0IHVyaWRvd25sb2FkZXIncyBwYXJlbnQKCSAgQWxsb3dzIGludGVybmFsIGh0dHAgc291cmNlIHRvIHJlcXVlc3QgY29udGV4dHMgYW5kIHNoYXJlIGNvb2tpZXMKCSAgd2l0aCB0aGUgcGlwZWxpbmUgaW4gY2FzZSB0aGUgc2VydmVyIGltcG9zZXMgYW55IHJlc3RyaWN0aW9uIGJhc2VkCgkgIG9uIGNvb2tpZXMuCgoyMDE1LTEyLTA5IDEzOjEyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogYWRkIG5ldyBnc3RfdXJpX2Rvd25sb2FkZXJfc2V0X3BhcmVudAoJICBJZiBzZXQsIHRoZSBwYXJlbnQgaXMgdXNlZCB0byBwcm94eSBuZWVkLWNvbnRleHQgbWVzc2FnZXMgZnJvbQoJICB1cmlkb3dubG9hZGVyJ3MgaHR0cCBzb3VyY2UgaW4gb3JkZXIgdG8gZ2V0IGNvb2tpZXMvaGVhZGVycwoJICBmcm9tIHRoZSBwaXBlbGluZS4KCSAgQmFzZWQgb24gYSBwYXRjaCBmcm9tIFBoaWxpcHBlIE5vcm1hbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjMxNAoKMjAxNy0wNC0wMSAxNzowMDo0NyArMDIwMCAgSm9zZXAgVG9ycmEgPGp0b3JyYUBvYmxvbmcuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgZXhhbXBsZXM6IGFkZCBhdWRpb21peG1hdHJpeCB0ZXN0IHRvIC5naXRpZ25vcmUKCjIwMTctMDQtMDEgMTY6NDk6MTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxqdG9ycmFAb2Jsb25nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbHdpbmRvdy9jb2NvYTogZml4IHdhcm5pbmdzIHJlcG9ydGVkIGJ5IFhDb2RlIDguMS4wCgkgIGdzdGdsd2luZG93X2NvY29hLm06MzQ1OjE2OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICd3aW5kb3cnIFstV2Vycm9yLC1XdW51c2VkLXZhcmlhYmxlXQoJICBHc3RHTFdpbmRvdyAqd2luZG93ID0gR1NUX0dMX1dJTkRPVyAod2luZG93X2NvY29hKTsKCSAgXgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjQ0NToxMTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnZXh0ZXJuYWxfdmlldycgWy1XZXJyb3IsLVd1bnVzZWQtdmFyaWFibGVdCgkgIE5TVmlldyAqZXh0ZXJuYWxfdmlldyA9IChfX2JyaWRnZSBOU1ZpZXcgKilwcml2LT5leHRlcm5hbF92aWV3OwoJICBeCgoyMDE3LTAzLTMxIDIzOjQwOjA1ICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAaGFsby5nZW4ubno+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBkb24ndCBvdmVyZmxvdyBjaGFubmVsIG1hcCB3aXRoID42NCBjaGFubmVscwoJICBXaGVuIHRoZXJlIGFyZSBtb3JlIHRoYW4gNjQgY2hhbm5lbHMsIHdlIGRvbid0IHdhbnQgdG8gZXhjZWVkIHRoZQoJICBib3VuZHMgb2YgdGhlIG9yZGVyaW5nX21hcCBidWZmZXIsIGFuZCBpbiB0aGVzZSBjYXNlcyB3ZSBkb24ndCB3YW50IHRvCgkgIHJlbWFwIGF0IGFsbC4gSGVyZSB3ZSBhdm9pZCBkb2luZyB0aGF0LgoJICBCYXNlZCBvbiBhIHBhdGNoIG9yaWdpbmFsbHkgZm9yIHBsdWdpbnMtZ29vZC9pbnRlcmxlYXZlIGluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03ODAzMzEKCjIwMTctMDMtMjkgMjM6NDU6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkgIGdsZGlzcGxheTogRml4IGFzc2VydCBjYXVzZWQgYnkgbWlzc2luZyBkZWJ1ZyBjYXRlZ29yeQoKMjAxNy0wMy0yOSAyMzozNjo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L21wbGV4L21lc29uLmJ1aWxkOgoJICBtZXNvbjogRml4IG1wbGV4IHBsdWdpbiBmaWxlIG5hbWUKCSAgTWVzb24gd2FzIGNyZWF0aW5nIGxpYmdzdG1wbGV4Mi5zbyB3aGljaCBkaWRuJ3QgbWF0Y2ggdGhlIHBsdWdpbiBuYW1lCgkgICdtcGxleCcuCgoyMDE3LTAzLTI3IDE4OjE0OjU0ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNlY2hvcHJvYmUuY3BwOgoJICB3ZWJydGNlY2hvcHJvYmU6IHJldHVybiBmcm9tIF9yZWFkKCkgZWFybHkgaWYgdGhlIHByb2JlIGlzIG5vdCBjb25maWd1cmVkIHlldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwNjQyCgoyMDE3LTAzLTI4IDE2OjA0OjE1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHR5cG8gaW4gaW1wbGVtZW50YXRpb24gbm90ZXMKCSAgcy9lbnZlbG9wcGUvZW52ZWxvcGUKCjIwMTctMDMtMjcgMjE6MTU6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3dlYnJ0Y2RzcC9tZXNvbi5idWlsZDoKCSAgd2VicnRjZHNwOiBBZGQgc3VwcG9ydCB0byBidWlsZCB3aXRoIG1lc29uCgoyMDE3LTAyLTIzIDE2OjEyOjM4ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0Y2RzcDogZXhwb3NlIHZvaWNlIGFjdGl2aXR5IGRldGVjdGlvbi4KCSAgVGhlIGVsZW1lbnQgbm93IGV4cG9zZXMgcHJvcGVydGllcyB0byBlbmFibGUgYW5kIGNvbmZpZ3VyZQoJICB2b2ljZSBhY3Rpdml0eSBkZXRlY3Rpb24sIGFuZCBwb3N0cyAidm9pY2UtYWN0aXZpdHkiIG1lc3NhZ2VzCgkgIHdoZW4gdGhlIHJldHVybiB2YWx1ZSBvZiBzdHJlYW1faGFzX3ZvaWNlICgpIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkxMzgKCjIwMTctMDMtMjcgMTU6MTA6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peG1hdHJpeC9nc3RhdWRpb21peG1hdHJpeC5jOgoJICBhdWRpb21peG1hdHJpeDogRG9uJ3QgY3Jhc2ggaWYgbWF0cml4IGlzIHVuc2V0CgkgIEZpeCBhIGNyYXNoIGZmIG9uZSBzZXQgaW5fY2hhbm5lbHMvb3V0X2NoYW5uZWxzIHRvIG5vbi16ZXJvLCBhbmQgdGhlbgoJICBnZXQgdGhlIG1hdHJpeCBwcm9wZXJ0eS4KCjIwMTctMDMtMjcgMTM6MzQ6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peG1hdHJpeC9nc3RhdWRpb21peG1hdHJpeC5jOgoJICBhdWRpb21peG1hdHJpeDogUmVtb3ZlIHByb3BlcnR5IG1hdHJpeC12YWx1ZS1hcnJheQoJICBUaGlzIGR1cGxpY2F0ZWQgcHJvcGVydHkgaXMgbm8gbG9uZ2VyIG5lZWRlZCBhcyB0aGVyZSBpcyBub3cgQVBJIHRvCgkgIGFsbG93IGJpbmRpbmdzIGFjY2VzcyBHU1RfVFlQRV9BUlJBWSAoc2VlIGdzdF91dGlsX2dldC9zZXQvb2JqZWN0X2FycmF5KS4KCSAgQWRkaXRpb25uYWxseSwgUHl0aG9uIGhhcyBwcm9wZXIgb3ZlcnJpZGVzIHdoaWNoIHdpbGwgbWFrZSB0aGlzIGxvb2tzCgkgIGxpa2UgUHl0aG9uLiBBIDJ4MiBtYXRyaXggd291bGQgYmUgc2V0IHRoaXMgd2F5OgoJICBlbGVtZW50ID0gbWF0cml4ID0gR3N0LlZhbHVlQXJyYXkoR3N0LlZhbHVlQXJyYXkoWzEuMCwgLTEuMF0pLAoJICBHc3QuVmFsdWVBcnJheShbMS4wLCAtMS4wKSkKCSAgTm90aWNlIHRoYXQgeW91IG5lZWQgdG8gImNhc3QiIGVhY2ggYXJyYXlzIHRvIEdzdC5WYWx1ZUFycmF5LCBvdGhlcndpc2UKCSAgdGhlcmUgaXMgYW4gYW1iaWd1aXR5IGJldHdlZW4gR3N0LlZhbHVlQXJyYXkgYW5kIEdzdC5WYWx1ZUxpc3QgbGlzdCB0eXBlLgoJICBGb3J0dW5hdGx5LCBHc3QuVmFsdWVBcnJheSBpbXBsZW1lbnRzIHRoZSBTZXF1ZW5jZSBpbnRlcmZhY2UsIHNvIGl0IGNhbgoJICBiZSBpbmRleGVkIGxpa2Ugbm9ybWFsIHB5dGhvbiBtYXRyaXguCgoyMDE3LTAzLTAxIDIwOjUxOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBvbmx5IGFkZCBsaXZlIGZyYWdtZW50cyBhZnRlciBtYW5pZmVzdCBmcmFnbWVudHMKCSAgQSBsaXZlIG1hbmlmZXN0IG1heSBoYXZlIGEgc2V0ICg+IExvb2tBaGVhZEZyYWdtZW50Q291bnQpIG9mIGZyYWdtZW50cwoJICB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHNlcnZlZCBhbmQgYXJlIHN0b3JlZCBvbiB0aGUgc2VydmVyLCBtYXliZQoJICBpbmRlZmluaXRlbHkuICBBZGRpbmcgdGhlIHBhcnNlZCBsaXZlIGZyYWdtZW50cyBhZnRlciB0aGUgbWFuaWZlc3QKCSAgZnJhZ21lbnRzIGJyZWFrcyBkdXJhdGlvbiByZXBvcnRpbmcgYW5kIHRoZSBzZWVrYWJsZSByYW5nZS4KCSAgRml4IGJ5IG9ubHkgYWRkaW5nIHBhcnNlZCBmcmFnbWVudHMgb3V0c2lkZSB0aGUgbGlzdCBvZiBmcmFnbWVudHMgd2hpY2gKCSAgYXNzdW1lcyB0aGF0IHRoZSBmcmFnbWVudCBsaXN0IGluIHRoZSBtYW5pZmVzdCBpcyBhY2N1cmF0ZSBlbm91Z2ggdG8gbm90CgkgIHN0cmF5IHRvbyBmYXIgb2ZmIHdoYXQncyBpbiB0aGUgcmV0cmlldmVkIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk0NDcKCjIwMTctMDMtMjQgMTU6NDM6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9rYXRlL21lc29uLmJ1aWxkOgoJKiBleHQvbXBlZzJlbmMvbWVzb24uYnVpbGQ6CgkqIGV4dC9tcGxleC9tZXNvbi5idWlsZDoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZSBwYXRoIGZvciBnc3QvZ2xpYi1jb21wYXQtcHJpdmUuaAoJICBUaGlzIGZpeGVzIGJ1aWxkIGZhaWx1cmUgaW4gbXBsZXggYW5kIG1wZWcyZW5jIHBsdWdpbnMgYW5kIG1vc3QgbGlrZWx5CgkgIGluIGthdGUgcGx1Z2luICh1bnRlc3RlZCkuCgoyMDE3LTAzLTI0IDE0OjI1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBVc2UgR3N0UXVldWVBcnJheSBpbnN0ZWFkIG9mIEdRdWV1ZQoJICBMZXQncyBzYXZlIHR3byBhbGxvY2F0aW9ucyBhbmQgZnJlZXMgcGVyIGZyYW1lLgoKMjAxNy0wMy0yMyAwMjo0ODoxMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvbXBlZzJlbmMvbWVzb24uYnVpbGQ6CgkqIGV4dC9tcGxleC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBCdWlsZCBtcGVnMmVuYyBhbmQgbXBsZXggd2hlbiBhdmFpbGFibGUKCjIwMTctMDMtMjIgMTc6Mzg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MgNwoJICBnc3RrbXNzaW5rLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9rbXNfc2lua19nZXRfaW5wdXRfYnVmZmVy4oCZOgoJICBnc3RrbXNzaW5rLmM6MTEwMjoyOTogZXJyb3I6IOKAmG1lbXNbMF3igJkgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgkgIGttc21lbSA9IChHc3RLTVNNZW1vcnkgKikgZ2V0X2NhY2hlZF9rbXNtZW0gKG1lbXNbMF0pOwoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCjIwMTctMDMtMjMgMDA6NDk6NDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBzZW5kIEVPUyBvbiBwYWRzIHdoZW4gdGhlcmUncyBhIHBlbmRpbmcgc3dpdGNoCgkgIFdoZW4gdGhlcmUgYXJlIG5ldyBwYWRzIHBlbmRpbmcgZm9yIGEgYml0cmF0ZSBzd2l0Y2gsIGRvbid0IGFsbG93CgkgIEVPUyB0aHJvdWdoIGZyb20gdGhlIG9sZCBzdHJlYW1zLiBJdCB3aWxsIGJlIHNlbnQgd2hlbiB0aGUgbmV3IHBhZHMgYXJlCgkgIHJlYWR5LCBqdXN0IGJlZm9yZSB0aGUgb2xkIHN0cmVhbXMgYXJlIHJlbW92ZWQuCgkgIFRoaXMgZml4ZXMgcmFjeSBiaXRyYXRlIHN3aXRjaGluZyB3aXRoIGhsc2RlbXV4IGluIHVyaXNvdXJjZWJpbgoJICB3aGVyZSBvbGQgcGFkcyBFT1MgYmVmb3JlIG5ldyBwYWRzIGFwcGVhciBhbmQgdGhlIGVudGlyZSBwaXBlbGluZSBjYW4KCSAgRU9TIGlmIHRob3NlIHByb3BhZ2F0ZSBmYXN0IGVub3VnaAoKMjAxNy0wMy0yMiAyMDoxMDo1NyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IE1ha2UgdXNlIG9mIEdzdFN0cmVhbXMgQVBJIHdpdGggcGxheWJpbjMKCSAgQWxsb3cgdXNlIG9mIHBsYXliaW4zIGFuZCBHc3RTdHJlYW1zIEFQSSBieSBzZXR0aW5nCgkgIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAiR1NUX1BMQVlFUl9VU0VfUExBWUJJTjMiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU0ODcKCjIwMTctMDMtMjEgMTg6MTY6NTIgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2VvcmcubGlwcGl0c2NoQGdteC5hdD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIHJlYWQtb25seSAic2lnbmFsIiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMzY3CgoyMDE3LTAzLTIyIDEzOjIyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvYnVmZmVyc3BsaXQvZ3N0YXVkaW9idWZmZXJzcGxpdC5jOgoJICBhdWRpb2J1ZmZlcnNwbGl0OiBJbnN0YWxsIHNyY3BhZCBxdWVyeSBmdW5jdGlvbiBvbiB0aGUgc3JjcGFkLCBub3QgdGhlIHNpbmtwYWQKCjIwMTctMDMtMjIgMTI6MDQ6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlLCBpZiBzZWVraW5nIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSBmcmFnbWVudCwgc3RhcnQgd2l0aCB0aGUgcHJldmlvdXMgb25lIGluc3RlYWQKCSAgVGhlcmUncyBubyBwb2ludCB0byBzdGFydCBkb3dubG9hZGluZyBhIGZyYWdtZW50IGp1c3QgdG8gb3V0cHV0IDFucy4KCjIwMTctMDMtMjEgMjA6Mzc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgU05BUF9ORUFSRVNUIHNlZWtzCgoyMDE3LTAzLTIxIDIwOjM2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG9uJ3QgdXNlIEFCUygpIGZvciBjYWxjdWxhdGluZyBkaWZmZXJlbmNlcwoJICBXZSBrbm93IHdoaWNoIG51bWJlciBpcyBiaWdnZXIuCgoyMDE3LTAzLTIxIDIwOjI3OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogT25seSBzbmFwIHNlZWtzIGZvcndhcmRzIGlmIHRoZSBzZWVrIHBvc2l0aW9uIGRvZXMgbm90IGhhcHBlbiB0byBiZSB0aGUgZXhhY3Qgc2VnbWVudCBwb3NpdGlvbgoKMjAxNy0wMy0yMSAyMDoxNDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFVzZSBnc3RfbXBkcGFyc2VyX2dldF9zZWdtZW50X2VuZF90aW1lKCkgZGlyZWN0bHkgaW5zdGVhZCBvZiBjYWxjdWxhdGluZyBpdCBhZ2FpbgoJICBJdCBkb2VzIHRoZSBleGFjdCBzYW1lIGNhbGN1bGF0aW9ucy4KCjIwMTctMDMtMDYgMTk6NDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBSZWZhY3RvciB0byBnZXQgcmlkIG9mIG9uZSBsZXZlbCBvZiBpbmRlbnRhdGlvbiBpbiBzZWVraW5nIGNvZGUKCSAgQWxzbyBnbyBvdXQgb2YgdGhlIHNlZ21lbnQgc2VhcmNoaW5nIGxvb3Agb25jZSBzZWdtZW50LT5zdGFydCA+IHRzLgoJICBXZSdyZSBub3QgZ29pbmcgdG8gZmluZCBhbnkgZWFybGllciBzZWdtZW50IGFueW1vcmUuCgoyMDE3LTAzLTIxIDE2OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHNuYXAgU0lEWCBzZWVraW5nIGFuZCByZXBvcnQgaWYgd2UncmUgZ29pbmcgb3V0c2lkZSB0aGUgaW5kZXgKCSAgSW5zdGVhZCBvZiBqdXN0IGdvaW5nIHRvIHRoZSBmaXJzdCBvciBsYXN0IGZyYWdtZW50LCByZXBvcnQgaWYgd2UncmUKCSAgZ29pbmcgb3V0c2lkZSB0aGUgaW5kZXguIFRoaXMgc2hvdWxkIG5ldmVyIGhhcHBlbiB1bmxlc3MgdGhlcmUncyBhIGJ1ZwoJICBvciB0aGUgc3RyZWFtIGlzIGJyb2tlbi4KCSAgQWxsb3cgc29tZSBwb3NzaWJpbGl0eSBmb3IgaW5hY2N1cmFjaWVzIGhlcmUgdGhvdWdoLgoKMjAxNy0wMy0yMSAxMDoyMDo0OSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBkdmI6IGNhbXV0aWxzOiBkcm9wIG1hY3JvIGRpc2FibGluZyBnbGliIGRlcHJlY2F0aW9uIHdhcm5pbmdzCgkgIE5vIGxvbmdlciBuZWVkZWQuCgoyMDE3LTAzLTIwIDE1OjE5OjA4IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGRlY2xhcmUgZGVwZW5kZW5jeSBmcm9tIGdsIG9uIGFsbG9jYXRvcnMKCSAgbGliZ3N0Z2wgaGFzIGEgZGVwZW5kZW5jeSBvbiBsaWJnc3RhbGxvY2F0b3JzIHN0YXJ0aW5nIHdpdGg6CgkgIGVkMWU0YzEgZ2x1cGxvYWQ6IEFkZCBzdXBwb3J0IGZvciBWaXZhbnRlIERpcmVjdFRleHR1cmUgdXBsb2FkcwoJICBUaGUgZGVwZW5kZW5jeSB3YXNuJ3Qgc3RhdGVkIGluIHRoZSBNYWtlZmlsZSwgc28gdGhlIGJ1aWxkIGNvdWxkCgkgIG9jY2FzaW9uYWxseSBmYWlsIGlmIHlvdSBnb3QgdW5sdWNreSB3aXRoIHRoZSBvcmRlcmluZyBvZiBidWlsZAoJICBzdGVwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDMzMAoKMjAxNy0wMy0yMCAxOTo1NzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgIGR2YjogZml4IGRpc3RjaGVjawoJICBBcHBhcmVudGx5IGF1dG9tYWtlIGF1dG9tYXRpY2FsbHkgZGlzdHMgUkVBRE1FIGZpbGVzLAoJICBidXQgY2FuJ3QgaGFuZGxlIHdoZW4gdGhleSBkaXNhcHBlYXIuCgoyMDE3LTAzLTIwIDE3OjE1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9kZW1vLW1wMy5jOgoJKiBzY3JpcHRzL2F1dG9wbHVnaW5zLnNoOgoJKiBzeXMvZHZiL1JFQURNRToKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXBkYXRlIGZvciAnbWFkJyBtcDMgZGVjb2RlciByZW1vdmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYxNDAKCjIwMTctMDMtMTcgMTU6MzQ6MzMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIG0zdTg6IEZpeCBwYXJzaW5nIEVYVC1YLURJU0NPTlRJTlVJVFkKCSAgRVhULVgtRElTQ09OVElOVUlUWSB0YWcgc2hvdWxkIGhhdmUgbm8gdHJhaWxpbmcgIjoiIGNoYXJhY3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgwMTc5CgoyMDE3LTAzLTE3IDE2OjQ3OjA3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBtM3U4OiBSZWxlYXNlIG0zdTggbG9jayBpZiBjb25zaXN0ZW50IGNoZWNraW5nIGZhaWxlZAoJICBUbyBmaXggZGVhZGxvY2sgZHVyaW5nIGxpdmUgbTN1OCB1cGRhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDE4MAoKMjAxNy0wMy0xNiAxMjozNTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEp1c3QgcmVzZXQgU0lEWCBwYXJzZXIgaWYgdGhlIGluZGV4IGlzIGludmFsaWQgZm9yIHRoZSBjdXJyZW50IHNlZ21lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDEwOAoKMjAxNi0xMi0yMyAxMTowNzowMCArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJKiBleHQvdHRtbC90dG1scGFyc2UuYzoKCSAgdHRtbDogUmVwbGFjZSBhc3NlcnRpb25zCgkgIFJlbW92ZSBhc3NlcnRpb25zIGFuZCByZXBsYWNlLCB3aGVyZSBuZWNlc3NhcnksIHdpdGggY29kZSB0aGF0IGhhbmRsZXMKCSAgdGhlIGVycm9yIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NDM2CgoyMDE3LTAzLTE1IDEzOjI0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogSWYgYSBTSURYIHNlZWsgZmFpbGVkIGFsdGhvdWdoIHdlJ3JlIGluIHRoZSBjb3JyZWN0IHNlZ21lbnQsIGRpc2FibGUgdGhlIFNJRFggdXNhZ2UgZm9yIHRoaXMgc2VnbWVudAoJICBUaGUgU0lEWCBhcHBhcmVudGx5IGRvZXMgbm90IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQKCSAgc2VnbWVudCwgc28gYmV0dGVyIHN0b3AgdXNpbmcgaXQgaW5zdGVhZCBvZiB1c2luZyBpbmNvcnJlY3QgdmFsdWVzLgoKMjAxNy0wMy0xNSAxMzoyNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBLZWVwIHRyYWNrIG9mIHRoZSBQVFMsIG5vdCB0aGUgU0lEWCBpbmRleCBwb3NpdGlvbiBiZXR3ZWVuIHJlcHJlc2VudGF0aW9ucwoJICBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdCB0aGUgaW5kZXggcG9zaXRpb25zIGFyZSB0aGUgc2FtZSBiZXR3ZWVuCgkgIHJlcHJlc2VudGF0aW9ucywgYW5kIGFzc3VtaW5nIHRoaXMgZWFzaWx5IGNhdXNlcyB1cyB0byBnZXQgaW50byBpbnZhbGlkCgkgIGluZGV4IHBvc2l0aW9ucy4KCjIwMTctMDMtMTUgMTM6MjE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJICBkYXNoZGVtdXg6IFdoZW4gY2xlYXJpbmcgdGhlIHNpZHggcGFyc2VyLCByZXNldCBhbGwgc3RhdGUKCSAgQW5kIGVzcGVjaWFsbHkgZG9uJ3Qga2VlcCBlbnRyeSBjb3VudCBhbmQgaW5kZXggYXJvdW5kLCB3ZSBoYXZlIG5vCgkgIGVudHJpZXMgYW55bW9yZSBhZnRlciBjbGVhcmluZy4KCjIwMTctMDMtMTUgMTA6MTc6NTkgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRHJhaW4gYnVmZmVyIGF0IHRoZSBlbmQgb2Ygc3ViZnJhZ21lbnQKCSAgU29tZSBvZiBzdHJlYW1zIHN1Y2ggYXMgYmVsb3cgaGF2ZSB0YWlsaW5nIGJveGVzIGF0IHRoZSBlbmQgb2Ygc3ViZnJhZ21lbnQuCgkgIGh0dHA6Ly9kYXNoLmFrYW1haXplZC5uZXQvZGFzaDI2NC9UZXN0Q2FzZXMvMWEvbmV0ZmxpeC9leE1QRF9CSVBfVEMxLm1wZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MjAwCgoyMDE3LTAzLTE1IDA5OjI0OjM5ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IERvIG5vdCBhZHZhY2Ugc3ViZnJhZ21lbnQgYWZ0ZXIgcGVuZGluZyBTSURYIHNlZWsgZG9uZQoJICBJZiBhIE1QRCBpcyBPbi1EZW1hbmQgcHJvZmlsZSBhbmQgbm8gaW5kZXggZGVzY3JpYmVkLCBkZW11eCB3aWxsIHRlcm1pbmF0ZQoJICBkb3dubG9hZCBsb29wIGFmdGVyIHBhcnNpbmcgaW5iYW5kIFNJRFggd2l0aCBmbG93IHJldHVybiBjdXN0b20tc3VjY2Vzcy4KCSAgQXQgdGhpcyBtb21lbnQsIFNJRFggaW5kZXggaXMgZXhjYXQgdGFyZ2V0IHBvc2l0aW9uLCBidXQgZmluaXNoX2ZyYWdtZW50KCkKCSAgbWlnaHQgY2F1c2UgcmUtYWR2YW5jaW5nIHN1YmZyYWdtZW50IGRlcGVuZGluZyBvbiBNUEQgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MjAwCgoyMDE3LTAzLTE0IDE5OjQ3OjE3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFJlc2V0IFNJRFggcmVsYXRlZCB2YXJpYWJsZXMgcGVyIGZyYWdtZW50CgkgIFNJRFgncyBiYXNlIG9mZnNldCAoaS5lLiwgYnl0ZSBvZmZzZXQgb2YgU0lEWCArIHNpZHguZmlyc3Rfb2Zmc2V0KQoJICBtb3N0bHkgdmFyeSBhcyBwZXIgZnJhZ21lbnQuIEFsc28sIHRhcmdldCBTSURYIGluZGV4IG11c3QgYmUgemVybyBmb3IgdGhlCgkgIG5ldyBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjIwMAoKMjAxNy0wMy0xNCAyMDoxNTozMSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBUd28gZGVwdGggc2Vla2luZyBmb3IgT24tRGVtYW5kIHByb2ZpbGUKCSAgVHJ5IHRvIGZpbmQgZnJhZ21lbnQgdXNpbmcgTVBEIGZpcnN0LCB0aGVuIGRvIHJlZmluZW1lbnQgdG8gZmluZAoJICB0YXJnZXQgc3ViZnJhbWduZXQgdXNpbmcgU0lEWCBpZiBwb3NzaWJsZS4gTm90ZSB0aGF0LCBpZiB0YXJnZXQgZnJhZ21lbnQKCSAgd2FzIG1vdmVkIGZyb20gdGhlIHByZXZpb3VzbHkgYWN0aXZhdGVkIG9uZSwgd2Ugc2hvdWxkIGFzc3VtZSB0aGF0CgkgIHRoZSBsYXN0IFNJRFggaXMgaW52YWxpZCBmb3IgbmV3IGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MjAwCgoyMDE3LTAzLTE0IDE5OjQxOjU2ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEV4Y2VwdGlvbiBoYW5kbGUgaW4gX3NpZHhfc2VlaygpCgkgIElmIHRhcmdldCBzZWVrIHBvc2l0aW9uIGlzIG91dHNpZGUgb2YgdGhlIHJhbmdlIG9mIHNpZHggZW50cmllcywKCSAgYmluYXJ5IHNlYXJjaCByZXR1cm5zIE5VTEwgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjIwMAoKMjAxNy0wMy0xNCAxOToyNzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFkZCBhc3NlcnRpb24gZm9yIHByZXZlbnRpbmcgb2YgYWNjZXNzIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHNpZHggZW50cmllcyBhcnJheQoJICBCZXR0ZXIgY3Jhc2ggY2xlYW5seSBoZXJlIHRoYW4gcmVhZGluZyBzb21lIHJhbmRvbSBudW1iZXJzIGZyb20gbWVtb3J5LgoKMjAxNy0wMy0xNCAxNDoxODoxNyAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSAgZ2wvZm9ybWF0OiBjb3JyZWN0IHJldHVybiBlbnVtcyBpbiBnc3RfZ2xfZm9ybWF0X2Zyb21fdmlkZW9faW5mbwoJICBJbiBjb21taXQKCSAgPiA5NTZjNGQwIGdsL2Zvcm1hdDogdXNlIG91ciBvd24gR0wgZm9ybWF0IGVudW0ncyBpbnN0ZWFkIG9mIGdzdHZpZGVvJ3MKCSAgdGhlIG5hbWUgYW5kIHJldHVybiB0eXBlIG9mIGdzdF9nbF9mb3JtYXRfZnJvbV92aWRlb19pbmZvIGNoYW5nZWQsCgkgIGJ1dCBzb21lIHJldHVybnMgb2YgdGhlIG9sZCB0eXBlIHdlcmUgbWlzc2VkLiBIZXJlIHRoZXkgYXJlCgkgIHVwZGF0ZWQgdG8gdGhlIGNvcnJlY3QgdHlwZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MDA2NAoKMjAxNy0wMy0xNCAxNjo0NjoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NydHAuYzoKCSAgc3J0cCB0ZXN0OiBSZW1vdmUgZGVwcmVjYXRpb24gZGlzYWJsaW5nCgkgIE5vIGRlcHJlY2F0ZWQgQVBJcyBhcmUgdXNlZC4KCjIwMTctMDMtMDcgMjE6NTY6MDMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWR2YW5jZSBzdWJmcmFnbWVudCBvbmx5IGlmIGFueSBleGlzdAoJICBTSURYIGJhc2VkIHBsYXliYWNrIGlzIG5vdCByZXN0cmljdGVkIHRvIFNlZ21lbnRCYXNlLCBidXQgaXQgcG9zc2libGUKCSAgd2l0aCBTZWdtZW50TGlzdC9TZWdtZW50VGVtcGxhdGUuIEluIHRoZSBsYXR0ZXIgY2FzZSwgZWFjaCBmcmFnbWVudAoJICBoYXMgaXRzIG93biBTSURYIGJveCBhbmQgbWlnaHQgYmUgc3ViZGl2aWRlZCBpbnRvIHN1YmZyYWdtZW50LgoJICBTbywgZGVtdXggc2hvdWxkIG5vdCBhc3N1bWUgdGhhdCB0aGUgZW5kIG9mIHN1YmZyYWdtZW50IGlzIHRoZSBlbmQKCSAgb2Ygc3RyZWFtLiBNb3Jlb3Zlciwgc2hvdWxkIHRyeSBhZHZhbmNlIHN1YmZyYWdtZW50IG9ubHkgaWYgdGhlcmUKCSAgYXJlIHJlbWFpbmluZyBzdWJmcmFnbWVudHMuCgkgIFdpdGggYWRkaXRpb25hbCBmaXhlcyBieSBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MjAwCgoyMDE3LTAzLTEzIDE2OjA2OjUzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGFkanVzdCBtZW1vcnkgb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciBkbWFidWYgYnVmZmVycwoJICBUaGUgZGF0YSBpbiB0aGUgZG1hYnVmIGZkIG1heSBub3Qgc3RhcnQgZnJvbSBieXRlIDAsIHRoZXJlZm9yZQoJICB3ZSBuZWVkIHRvIGluZm9ybSBEUk0gYWJvdXQgdGhpcyBhZGRpdGlvbmFsIG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTc5MAoKMjAxNy0wMy0xMyAxNTo0ODozMyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogYWRqdXN0IG1lbW9yeSBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIGRtYWJ1ZiBidWZmZXJzCgkgIFRoZSBkYXRhIGluIHRoZSBkbWFidWYgZmQgbWF5IG5vdCBzdGFydCBmcm9tIGJ5dGUgMCwgdGhlcmVmb3JlCgkgIHdlIG5lZWQgdG8gaW5mb3JtIEVHTCBhYm91dCB0aGlzIGFkZGl0aW9uYWwgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NzkwCgoyMDE3LTAzLTEzIDEyOjQ2OjQ3ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xsaW51eGRtYWJ1Zi5jOgoJICB3YXlsYW5kc2luazogZml4IG1lbW9yeSBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIGRtYWJ1ZiBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzk3OTAKCjIwMTctMDMtMTQgMTY6NDk6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBSZXZlcnQgImFkYXB0aXZlZGVtdXg6IGFuc3dlciBkdXJhdGlvbiBxdWVyaWVzIGZvciBsaXZlIHN0cmVhbXMiCgkgIENvbXBsZXRlbHkgZGlzYWJsaW5nIGR1cmF0aW9uIHJlcG9ydGluZyB3aXRoIGxpdmUgc3RyZWFtcyBpcyBub3QgY29vbC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMWI2OGQ5YTY1YmE1MTJhNTJjM2EyYjI5OGZhODMwYTQ0NWViNDUxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODc5CgoyMDE3LTAzLTE0IDE0OjE1OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBHTF9BUlJBWV9CVUZGRVIgaXMgbm90IGEgcGFydCBvZiBWQU8gc3RhdGUKCSAgQXMgYSByZXN1bHQgd2UgbmVlZCB0byBiaW5kIGl0IG9uIGV2ZXJ5IGRyYXcgaW4gb3JkZXIgdG8gaGF2ZSB0aGUKCSAgY29ycmVjdCBzdGF0ZSBpbiB0aGUgR0wgc3RhdGUgbWFjaGluZS4KCjIwMTctMDMtMTQgMTE6Mzk6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJICBhcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeTogRml4IG1pc3NpbmcgdmFyaWFibGUgbmFtZSBjaGFuZ2UKCSAgOTU2YzRkMGJkZTRkNjcwN2NjYWUyYjRhZTZkZmJhODUwMGU1NTIxNyBtaXNzZWQgYSB2YXJpYWJsZSBuYW1lIGNoYW5nZS4KCSAgRml4IHRoYXQuCgoyMDE3LTAzLTEzIDE0OjI4OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvZm9ybWF0OiB1c2Ugb3VyIG93biBHTCBmb3JtYXQgZW51bSdzIGluc3RlYWQgb2YgZ3N0dmlkZW8ncwoJICBUaGV5IGNhbiBkZXNjcmliZSBpbiBtb3JlIGRldGFpbCAoc3VjaCBhcyBjb21wb25lbnQgc2l6ZXMpIHRoZSByZXF1ZXN0ZWQgZm9ybWF0LgoKMjAxNy0wMy0xMCAxNjo1Nzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBHVmFsdWUgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5ODY5CgoyMDE3LTAzLTEyIDExOjUwOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJICBBZGQgb2xkIHBsdWdpbnMgbmFtZXMgdG8gY3J1ZnQgbGlzdAoJICBUaGlzIGhlbHBzIGZpeGluZyB1bmluc3RhbGxlZCBzZXR1cC4gQWxzbyBmaXhlcyBzb21lIHBhdGggaW4gcGx1Z2luIHhtbAoJICBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNS0wOS0yMyAxNzoxMjozNCArMDIwMCAgU2FtdWVsIE1hcm95IDxzYW11ZWwubWFyb3lAYmFyY28uY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGNvbnRpbnVlIHBvbGxpbmcgYWZ0ZXIgRUlOVFIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTg1NgoKMjAxNy0wMy0wMiAxNDozNjo1NiArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBGaXggc2V0dGluZyBvZiBleHRlcm5hbCBzdWJ0aXRsZSBVUkkKCSAgZ3N0X3BsYXllcl9zZXRfdXJpX2ludGVybmFsIHNob3VsZG4ndCBmcmVlIHN1YnVyaSB3aGljaCBtYXliZSBzZXQKCSAgYnkgdXNlciB0byBsb2FkIGV4dGVybmFsIHN1YnRpdGxlIGJlZm9yZSBzdGFydCBwbGF5LiBJdCBqdXN0IG5lZWQKCSAgcmVzZXQgcGxheWJpbidzIHN1YnV0cmkgcHJvcGVydHkgdG8gTlVMTCBubyBtYXR0ZXIgaWYgdGhlcmUgd2FzIGEKCSAgcHJldmlvdXMgb25lIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTQ1MwoKMjAxNy0wMy0wOSAxMDowOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBVc2UgQVZDYXB0dXJlRGV2aWNlVHlwZUJ1aWx0SW5EdW9DYW1lcmEgaW5zdGVhZCBvZiBEdWFsQ2FtZXJhIGZvciBub3cKCSAgVGhlIGZvcm1lciBpcyBkZXByZWNhdGVkIGluIDEwLjIgYnV0IHdlIGRvbid0IHJlcXVpcmUgdGhhdCBTREsgeWV0LgoKMjAxNy0wMy0wOCAyMjoyODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEZpeCBkb2MgZ2VuZXJhdGlvbgoJICBUaGlzIHJlZ3Jlc3Npb24gd2FzIGNhdXNlZCBieSB0aGUgcmVuYW1pbmcgb2YgcGx1Z2luLXNkcCBpbnRvCgkgIHBsdWdpbi1zZHBlbGVtLiBUaGUgZG9jIHJlZmVyZW5jZSBuZWVkZWQgYW4gdXBkYXRlLiBBbHNvLCBhZGQgdGhlIG9sZAoJICB4bWwgdG8gdGhlIGNydWZ0IGZpbGUgbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNy0wMy0wNSAxNToyNzoxMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkgIGRhc2gvc21vb3Roc3RyZWFtaW5nOiBVc2UgR1NUX1BMVUdJTl9MSUJUT09MRkxBR1MKCSAgVXNlIHRoZSBmbGFncyBkZWZpbmVkIGJ5IGNvbmZpZ3VyZSBzY3JpcHQgaW5zdGVhZCBvZiBhbHdheXMgZGlzYWJsaW5nCgkgIHN0YXRpYyBwbHVnaW5zLgoKMjAxNy0wMy0wNCAxMTowMzo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHBlbGVtLnhtbDoKCSogZXh0L2ZsdWlkc3ludGgvbWVzb24uYnVpbGQ6CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0cGx1Z2luLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL21lc29uLmJ1aWxkOgoJKiBnc3Qvb252aWYvbWVzb24uYnVpbGQ6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogc3lzL2ttcy9NYWtlZmlsZS5hbToKCSogc3lzL2ttcy9tZXNvbi5idWlsZDoKCSAgUmVuYW1lIHBsdWdpbiBmaWxlc25hbWVzIHRvIG1hdGNoIHBsdWdpbiBuYW1lcwoJICAtIGxpYmdzdGd0a3Npbmsuc28gLT4gbGliZ3N0Z3RrLnNvCgkgIC0gbGliZ3N0dGVsZXRleHRkZWMuc28gLT4gbGliZ3N0dGVsZXRleC5zbwoJICAtIGxpYmdzdGNhbWVyYWJpbjIuc28gLT4gbGliZ3N0Y2FtZXJhYmluLnNvCgkgIC0gbGliZ3N0b252aWYuc28gLT4gbGliZ3N0cnRwb252aWYuc28gKG1lc29uIG9ubHkpCgkgIC0gc2RwIC0+IHNkcGVsZW0gKGF2b2lkIGNsYXNoIHdpdGggbGliZ3N0c2RwKQoJICAtIGdzdHNpcmVuIC0+IHNpcmVuCgkgIC0gbGliZ3N0a21zc2luay5zbyAtPiBsaWJnc3RrbXMuc28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTM0NAoKMjAxNy0wMy0wOCAxNTo1Mjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSAgdGltZWNvZGVzdGFtcGVyOiBPbmx5IHVucmVmIGRhaWx5IGphbSBpZiBub3QgTlVMTAoKMjAxNy0wMy0wOCAxNTo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSAgdGltZWNvZGVzdGFtcGVyOiBVbnJlZiBkYWlseSBqYW0gYWZ0ZXIgdXNhZ2UKCjIwMTctMDMtMDggMTQ6MTY6NDMgKzAxMDAgIE5pY2sgS2FsbGVuIDxuaWNra2FsbGVuQG1lLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYS9nbDogRml4IGNvbXBpbGUgaXNzdWVzIGZvciBPU1gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODMzMwoKMjAxNy0wMy0wOCAxNToxMzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL01ha2VmaWxlLmFtOgoJICBnbC9lYWdsOiBJdCdzIC1mb2JqYy1hcmMgbm90IC1mb2JqLWFyYwoKMjAxNy0wMy0wOCAxNDoyMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZnJhbWUtPmJ1ZmZlciBjYW4ndCBiZSBOVUxMIGluIHByZV9wdXNoX2ZyYW1lKCkKCSAgQ0lEIDE0MDIxMTgKCjIwMTctMDMtMDggMTc6MTE6MTcgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICB0ZXN0czogaDI2NHBhcnNlOiBmaXggZmFpbHVyZXMgZHVlIHRvIGluc2VydGlvbiBvZiBhdSBkZWxpbWl0ZXIKCSAgU2luY2UgaW5zZXJ0aW9uIG9mIGF1ZCBsYW5kZWQsIHdlIG5lZWQgdG8gY2hhbmdlIHNvbWUgdGVzdGNhc2VzCgkgIGFjY3JvZGluZyB0byB0aGUgY2hhbmdlLgoJICBOb3RlIHRoYXQgY291bnRpbmcgZnJhbWVzIGFyZSBjaGFuZ2VkIGluIHBhcnNlci5jLAoJICBkdWUgdG8gZ2VuZXJhdGVkIGZyYW1lcywgQVVELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjEzCgoyMDE3LTAzLTA4IDE3OjA5OjI4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggc29tZSBmYWlsdXJlcyBpbiB0ZXN0Y2FzZXMKCSAgTW92ZSBsb2dpYyBvZiBqdWRnZW1lbnQgd2hldGhlciBvciBub3QgdG8gaW5zZXJ0IEFVIERlbGltaXRlciBiZWZvcmUKCSAgZHJhaW5pbmcuCgkgIEJlc2lkZXMsIGF1ZF9uZWVkZWQgZmxhZyBpcyByZXNldCB0byBUUlVFIHdoZW4gc2tpcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjIxMwoKMjAxNy0wMi0wOCAxMjoyMzowOSArMDEwMCAgTmljayBLYWxsZW4gPG5pY2trYWxsZW5AbWUuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmMgc3VwcG9ydHMgcG9zaXRpb24sIGRldmljZS10eXBlLCBhbmQgb3JpZW50YXRpb24KCSAgQXZmdmlkZW9zcmMgcmVwcmVzZW50cyBhbiBpcGhvbmUgY2FtZXJhIG9yLCBvbiBtYWMsIGEgc2NyZWVuY2FwdHVyZSBzZXNzaW9uLgoJICBUaGUgb2xkIEFQSSBhbGxvd2VkIHlvdSB0byBzZWxlY3QgYW4gaW5wdXQgZGV2aWNlIGJ5IGRldmljZSBpbmRleCBvbmx5LiBUaGUgbmV3CgkgIEFQSSBhZGRzIHRoZSBhYmlsaXR5IHRvIHNlbGVjdCB0aGUgcG9zaXRpb24gKGZyb250IG9yIGJhY2sgZmFjaW5nKSBhbmQKCSAgZGV2aWNlLXR5cGUgKHdpZGUgYW5nbGUsIHRlbGVwaG90bywgZXRjLikuIEZ1cnRoZXJtb3JlLCB5b3UgY2FuIG5vdyBzcGVjaWZ5CgkgIHRoZSBvcmllbnRhdGlvbiAocG9ydHJhaXQsIGxhbmRzY2FwZSwgZXRjLikgb2YgdGhlIHZpZGVvc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MzMzCgoyMDE3LTAyLTAzIDE0OjQ2OjM5ICswMTAwICBOaWNrIEthbGxlbiA8bmlja2thbGxlbkBtZS5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGRpc3BsYXlfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGFwcGxlbWVkaWEvZ2w6IFVwZGF0ZSBjb2RlIHRvIHVzZSBBUkMKCSAgQWxsIGNvZGUgaW50ZXJhY3Rpbmcgd2l0aCBPYmplY3RpdmUtQyBvYmplY3RzIHNob3VsZCBub3cgdXNlIEF1dG9tYXRlZAoJICBSZWZlcmVuY2UgQ291bnRpbmcgcmF0aGVyIHRoYW4gbWFudWFsIG1lbW9yeSBtYW5hZ2VtZW50IG9yIEdhcmJhZ2UKCSAgQ29sbGVjdGlvbi4gQmVjYXVzZSBBUkMgcHJvaGliaXRzIEMtc3RydWN0cyBmcm9tIGNvbnRhaW5pbmcKCSAgcmVmZXJlbmNlcyB0byBPYmplY3RpdmUtQyBvYmplY3RzLCBhbGwgc3VjaCBmaWVsZHMgYXJlIG5vdyB0eXBlZAoJICAnZ3BvaW50ZXInLiBTZXR0aW5nIGFuZCBnZXR0aW5ncyBPYmplY3RpdmUtQyBmaWVsZHMgb24gc3VjaCBhCgkgIHN0cnVjdCBub3cgdXNlcyBleHBsaWNpdCBfX2JyaWRnZV8qIGNhbGxzIHRvIHRlbGwgQVJDIGFib3V0CgkgIG9iamVjdCBsaWZldGltZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc4NDcKCjIwMTctMDMtMDcgMTg6MzM6MTIgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGluc2VydCBBVSBkZWxpbWl0ZXIgb25seSBpbiBjYXNlIG9mIGJ5dGUtc3RyZWFtCgkgIEluc2VydHMgQVUgZGVsaW1ldGVyIGJ5IGRlZmF1bHQgaWYgbWlzc2luZyBhdSBkZWxpbWV0ZXIgZnJvbSB1cHN0cmVhbS4KCSAgVGhpcyBzaG91bGQgYmUgZG9uZSBvbmx5IGluIGNhc2Ugb2YgYnl0ZS1zdHJlYW0gZm9ybWF0LgoJICBOb3RlIHRoYXQ6CgkgIFdlIGhhdmUgdG8gY29tcGVuc2F0ZSBmb3IgdGhlIG5ldyBieXRlcyBhZGRlZCBmb3IgdGhlIEFVLCBvdGhlcndpc2UKCSAgaW5zZXJ0aW9uIG9mIFBQUy9TUFMgd2lsbCB1c2Ugd3Jvbmcgb2Zmc2V0cyBhbmQgb3ZlcndyaXRlIHdyb25nIGRhdGEuCgkgIEFsc28gbWFyayB0aGUgQVUgZGVsaW1pdGVyIGJsb2IgY29uc3QsIGFuZCB1c2UgZnJhbWUtPm91dF9idWZmZXIgZm9yCgkgIHN0b3JpbmcgdGhlIG91dHB1dCB0byBrZWVwIGJhc2VwYXJzZSBhc3N1bXB0aW9ucyB2YWxpZC4KCSAgT3JpZ2luYWwtUGF0Y2gtQnk6IE1pY2hhbCBMYXpvIDxtaWNoYWwubGF6b0BtZHJhZ29uLm9yZz4KCSAgSGVscGVkIGJ5IFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyMTMKCjIwMTctMDMtMDMgMTY6MjA6MTUgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVkbyBzcmMgY2FwcyBuZWdvdGlhdGlvbiBpZiBhIHNpbmsgcGFkJ3MgY2FwcyBoYXZlIGNoYW5nZWQgaW4gdGhlIG1lYW50aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3ODIKCjIwMTctMDMtMDYgMTc6NTE6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2w6IE1pc3NlZCBvbmUgYmFja3dhcmRzIGNvbXBhdCBkZWZpbmUgaW4gR1NUX0dMX1RZUEVfQ09OVEVYVAoJICBDb250aW51ZWQgZnJvbSAyOTZiNDI1MWUzMDQyZmU5NWE5Y2NlMWFkNzY3NGI3MDhiYTkyNTk5CgoyMDE3LTAyLTIxIDIwOjA4OjIxICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFRyeSB0byBmaW5kIHR5cGUgYXQgdGhlIGVuZCBvZiBhIGZyYWdtZW50CgkgIGhsc2RlbXV4IHRyaWVzIHRvIGZpbmQgdHlwZSBpZiBnaXZlbiBidWZmZXIgc2l6ZSBpcyBsYXJnZSBlbm91Z2h0IHRvCgkgIGZpbmQgdHlwZSAoY3VycmVudGx5IHRoZSB0aHJlc2hvbGQgaXMgMktCKSwgb3IgRU9TIGluIHNvbWUgY2FzZXMuCgkgIEhvd2V2ZXIsIHNpbmNlIHRoZXJlIGNhbiBiZSBzbWFsbCBieXRlIGZyYWdtZW50cyBzdWNoIGFzIFdlYlZUVCwKCSAgZGVtdXggc2hvdWxkIHRyeSB0byBmaW5kIHR5cGUgYXQgdGhlIGVuZCBvZiBhIGZyYWdtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkwMTEKCjIwMTctMDMtMDYgMDA6MzA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGxpbWl0IGJpdHJhdGUgcHJvcGVydHkgdG8gMzIwIGticHMKCSAgVGhpcyBhcHBlYXJzIHRvIGJlIHRoZSBpbnRlcm5hbCBsaW1pdCBvZiB2b2FhY2VuYywgaGlnaGVyCgkgIGJpdHJhdGVzIHdpbGwgYmUgaWdub3JlZCBhbmQgMTI4IGticHMgb3V0cHV0IHdpbGwgYmUgcHJvZHVjZWQKCSAgaW5zdGVhZC4gVGhlcmVmb3JlLCB3ZSBtaWdodCBqdXN0IGFzIHdlbGwgbGltaXQgdGhlIGFsbG93ZWQKCSAgcHJvcGVydHkgdmFsdWVzLCBzbyB0aGF0IHBlb3BsZSB3aG8gdHJ5IHRvIHNldCBoaWdoZXIgYml0cmF0ZXMKCSAgZ2V0IGEgYmlnIGZhdCB3YXJuaW5nIGluc3RlYWQgb2Ygc2lsZW50bHkgYSBtdWNoIGxvd2VyIGJpdHJhdGUuCgoyMDE3LTAzLTA0IDEyOjEyOjUyICswMTAwICBOaWNrIEthbGxlbiA8bmlja2thbGxlbkBtZS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBGaXggdmlkZW8gdGV4dHVyZSBjYWNoZSBidWlsZCBpc3N1ZSBvbiBNYWNPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MjQ3CgoyMDE3LTAyLTI2IDEwOjI0OjQ2ICswMTAwICBOaWNrIEthbGxlbiA8bmlja2thbGxlbkBtZS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBlbnN1cmUgYWxsIHRleHR1cmVzIGFyZSByZWxlYXNlZCBiZWZvcmUgdGV4dHVyZWNhY2hlIGlzIHJlbGVhc2VkCgkgIEl0IHdhcyBwcmV2aW91c2x5IHBvc3NpYmxlIGZvciB2aWRlb3RleHR1cmVjYWNoZSB0byBiZSBmaW5hbGl6ZWQgYmVmb3JlIGFsbCBvZgoJICBpdHMgdGV4dHVyZXMuIEZpbmFsaXppbmcgb3V0c3RhbmRpbmcgdGV4dHVyZXMgaW4gdGhpcyBjaXJjdW1zdGFuY2UgbGVhZHMKCSAgdG8gYSBjcmFzaC4gVGhpcyBwYXRjaCBlbnN1cmUgcmVzb3VyY2VzIGFyZSBmcmVlZCBpbiB0aGUgcHJvcGVyIG9yZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MjQ3CgoyMDE3LTAzLTA0IDExOjQ3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2w6IEZpeHVwIGZvciBsYXN0IGNvbW1pdAoKMjAxNy0wMy0wNCAxMToxNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2w6IEZpeCBiYWNrd2FyZHMgY29tcGF0IEdTVF9HTF9UWVBFXyogZnVuY3Rpb25zL21hY3JvcwoJICBUaGVzZSBoYXZlIHRvIGJlIG1hY3JvcyBpbnN0ZWFkIG9mIGlubGluZSBmdW5jdGlvbiBhcyB0aGV5IG11c3QgYmVoYXZlCgkgIG1vcmUgb3IgbGVzcyBsaWtlIGFuIGludGVnZXIgbGl0ZXJhbCwgaS5lLiBpbmNsdWRlIHRoZSBmdW5jdGlvbiBjYWxsLgoKMjAxNy0wMy0wNCAxMTowOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2x3aW5kb3dfdml2X2ZiX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsd2luZG93X3Zpdl9mYl9lZ2wuaDoKCSAgZ2wvdml2LWZiOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBzeW1ib2xzIGFuZCBtYWtlIG1hY3JvcyBtb3JlIGNvbnNpc3RlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODgyNQoKMjAxNy0wMy0wMyAxNToxNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peG1hdHJpeC9nc3RhdWRpb21peG1hdHJpeC5jOgoJICBhdWRpb21peG1hdHJpeDogRml4IG5lZ290aWF0aW9uIGluIGZpcnN0LWNoYW5uZWxzIG1vZGUgaWYgZG93bnN0cmVhbSBkb2VzIG5vdCBhbGxvdyB0aGUgc2FtZSBudW1iZXIgb2YgY2hhbm5lbHMKCjIwMTctMDItMTYgMTA6NTE6NDQgKzA5MDAgIERvbmdpbCBQYXJrIDxkb25naWwucGFya0BsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC11dGlsLmM6CgkgIGhsc2RlbXV4OiBGaXggY2hlY2tpbmcgYWRhcHRhdGlvbl9maWVsZF9jb250cm9sIGZpZWxkIHRvIHBhcnNlIHBjcgoJICBUaGUgUENSX2ZsYWcgYW5kIFBDUiB2YWx1ZSBpcyBpbiBhZGFwdGF0aW9uX2ZpZWxkLCBub3QgaW4gcGF5bG9hZC4KCSAgVGhlIE1TQiBvZiBhZGFwdGF0aW9uX2ZpZWxkX2NvbnRyb2wgaXMgdXNlZCBhcyB3aGV0aGVyIGFkYXB0YXRpb25fCgkgIGZpZWxkIGlzIGV4aXN0IG9yIG5vdC4KCSAgRm9yIHRoZSBjYXNlKFBDUiBpbiBvbmx5IGFkYXB0YXRpb25fZmllbGQgd2l0aG91dCBwYXlsb2FkKSwgd2UgbW9kaWZ5CgkgIGNoZWNraW5nIGNvbmRpdGlvbiBhYm91dCBhZGFwdGF0aW9uX2ZpZWxkX2NvbnRyb2wgZmllbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg3MzEKCjIwMTctMDItMDIgMjE6MDY6MjAgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBGaXggdmFyaW91cyBsZWFrIG9uIGhsc2RlbXV4IGFuZCBtM3U4CgkgICogZGVmYXVsdF92YXJpYW50IHNob3VsZCBiZSBmcmVlZCwgaXQgaG9sZHMgcmVmLgoJICAqIEdzdEhMU01lZGlhIGhvbGRzIEdzdE0zVTggcmVmLgoJICAqIGdzdF9tM3U4X2dldF9uZXh0X2ZyYWdtZW50KCkgaW5jcmVhc2VzIHJlZiBjb3VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODA3MwoKMjAxNy0wMi0wMiAyMTowNDozNiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIHRlc3RzOiBobHM6IEZpeCBsZWFrIG9uIHRlc3QgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MDczCgoyMDE2LTA0LTAxIDE3OjQyOjMyICswMTAwICBXb2pjaWVjaCBQcnp5YnlsIDx3b2pjaWVjaEB2aXNsYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBkZWZhdWx0IHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5CgkgIFdoZW4gTVBEQHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5IGlzIG5vdCBwcmVzZW50IGluIHRoZSBNUEQsCgkgIGRhc2hkZW11eCBjYW4gcHJvdmlkZSBkZWZhdWx0IHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5LiBIb3dldmVyCgkgIHdoZW4gYXBwbHlpbmcgZGVmYXVsdCB2YWx1ZSBvZiBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSwgdGhlIHZhbHVlCgkgIHNob3VsZCBiZSBzdWJ0cmFjdGVkIGZyb20gY3VycmVudCB0aW1lLCBub3QgYWRkZWQgdG8gaXQuIFdoZW4gc3RyZWFtcwoJICBzZXR1cCBpcyBwZXJmb3JtZWQgYW5kIGxpdmUgcG9pbnQgaXMgY2FsY3VsYXRlZCwgd2UgaGF2ZSB0byBnbyB0byB0aGUKCSAgd2FsbCBjbG9jayAoY3VycmVudCB0aW1lKSBtaW51cyBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSwgaWYgd2UgdHJpZWQKCSAgdG8gc3RhcnQgd2l0aCBjdXJyZW50IHRpbWUgcGx1cyBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSwgd2Ugd291bGQKCSAgYmUgYXNraW5nIGZvciBmdXR1cmUgc3RyZWFtLCB3aGljaCBoYXMgbm90IHlldCBiZWVuIHJlY29yZGVkLiBBbHNvCgkgIHRoZSB2YWx1ZSBuZWVkcyB0byBiZSBjb252ZXJ0ZWQgZnJvbSBtcyB0byB1cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDcyNgoKMjAxNi0wMi0wNSAxMjo0NDoyMyArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFuc3dlciBkdXJhdGlvbiBxdWVyaWVzIGZvciBsaXZlIHN0cmVhbXMKCSAgRm9yIGR1cmF0aW9uIHF1ZXJpZXMgb24gbGl2ZSBzdHJlYW1zLCBhZGFwdGl2ZWRlbXV4IGlnbm9yZXMgdGhlIHF1ZXJ5LgoJICBUaGUgcHJvYmxlbSB0aGVuIGlzIHRoYXQgdGhlIHF1ZXJ5IGlzIGFuc3dlcmVkIGJ5IHRoZSBkb3duc3RyZWFtCgkgIHF0ZGVtdXggZWxlbWVudCwgd2l0aCB0aGUgZHVyYXRpb24gb2YgdGhlIGN1cnJlbnRseSBwYXNzaW5nIGZyYWdtZW50LgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBiZWhhdmlvdXIgb2YgYWRhcHRpdmVkZW11eCB0byBhbnN3ZXIgdGhlIGR1cmF0aW9uCgkgIHF1ZXJpZXMgZm9yIGxpdmUgc3RyZWFtcywgcmV0dXJuaW5nIEdTVF9DTE9DS19USU1FX05PTkUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NzkKCjIwMTctMDItMDEgMTk6NTU6MjIgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IGFkYXB0aXZlZGVtdXgncyBfc3RyZWFtX3NlZWsoKQoJICBfc3RyZWFtX3NlZWsoKSBjYW4gYmUgY2FsbGVkIGJ5IGFkYXB0aXZlZGVtdXggd2hlbiAicmVzdGFydCBkb3dubG9hZCIgY29uZGl0aW9uLgoJICBJdCdzIG1vc3RseSBjYXVzZWQgYnkgdHJhY2sgc3dpdGNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2OTk3CgoyMDE3LTAyLTAxIDE5OjE1OjMxICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNpbXBsaWZ5IHNlZWtpbmcgY29kZSBieSB1c2luZyBtYWNybwoJICBJbXBvcnQgYW4gYWRhcHRpdmVkZW11eCdzIG1hY3JvIHRvIG1pbmltaXplIGNvZGUuCgkgIEFsc28sIHRoaXMgcGF0Y2ggY29uc2lkZXJzIEtFWV9VTklUIGFuZCBUUklDS01PREVfS0VZX1VOSVRTCgkgIGFzIHNuYXAgc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Njk5NwoKMjAxNy0wMi0wMSAxNzo0NDoyNSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBFYXJseSB0ZXJtaW5hdGUgc2Vla2luZyBpZiB3ZSBkb24ndCBuZWVkIHRvIGRvCgkgIFNvbWUgY29kZXMgYXJlIGltcG9ydGVkIGZyb20gZGFzaGRlbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY5OTcKCjIwMTYtMTAtMTAgMTY6NDE6MTUgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgRVhULVgtRElTQ09OVElOVUlUWS1TRVFVRU5DRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyODExCgoyMDE3LTAyLTI3IDE0OjU0OjQzIC0wNzAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZW11dGV4OiBGaXggZG91YmxlIG11dGV4IHVubG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5NDgwCgoyMDE3LTAzLTAxIDE1OjI5OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IEFsc28gY2F0Y2ggb3RoZXIgZXhjZXB0aW9ucyBieSByZWZlcmVuY2UgaW5zdGVhZCBvZiBieSB2YWx1ZQoJICBJdCB3b3VsZCBoYXZlIHRvIGJlIGNvcGllZCBvdGhlcndpc2UsIGFuZCBpcyBxdWl0ZSBiaWcuCgkgIENJRCAxMzczNDE5CgoyMDE3LTAzLTAxIDEyOjA4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IERvbid0IGVycm9yIG91dCBpZiBkaXNwbGF5aW5nIHRoZSBwcmVyb2xsIGZyYW1lIGZhaWxzCgkgIFRoaXMgc2VlbXMgdG8gaGFwcGVuIHNvbWV0aW1lcyBvbiBzb21lIGhhcmR3YXJlLCBhbmQgaXMgbm90IHJlYWxseQoJICBjcml0aWNhbCBhcyBsb25nIGFzIHRoZSBzY2hlZHVsaW5nIG9mIHRoZSBub3JtYWwgZnJhbWVzIHdvcmtzIGZpbmUuCgkgIE9ubHkgcG9zdCBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBjYXNlLgoKMjAxNy0wMi0yOCAxNTo1NjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBDYXRjaCBleGNlcHRpb24gYnkgcmVmZXJlbmNlIGluc3RlYWQgb2YgYnkgdmFsdWUKCSAgSXQgd291bGQgaGF2ZSB0byBiZSBjb3BpZWQgb3RoZXJ3aXNlLCBhbmQgaXMgcXVpdGUgYmlnLgoJICBDSUQgMTM3MzQxOQoKMjAxNy0wMi0yOCAxNTo1MzoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBwb3RlbnRpYWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIENJRCAxMzk5NzAwCgoyMDE3LTAyLTI4IDE1OjMxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBDb21wYXJlIG1lZGlhIHR5cGUgb2YgdGhlIGNvcnJlY3QgdmFyaWFibGUgdGhhdCBpcyBhY3R1YWxseSBzZXQKCSAgQ0lEIDEzNjQ3NTIKCjIwMTctMDItMjggMTU6MjI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogRml4IHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaWYgd2UgZmFpbCB3aXRob3V0IEdFcnJvcgoJICBXaGljaCBjYW4gaGFwcGVuIGhlcmUgaWYgd2UganVzdCBwcm9wYWdhdGUgYW4gZXJyb3IgdGhhdCBoYXBwZW5lZAoJICBlbHNld2hlcmUsIGUuZy4gRkJPIGZhaWxlZC4KCSAgQ0lEIDEzNjQ2MDQKCjIwMTctMDItMjggMTM6MDY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgZ2x2aWRlb21peGVyL2NvbXBvc2l0b3I6IENvcnJlY3RseSBlcnJvciBvdXQgaWYgY2FsY3VsYXRpbmcgREFSIGZhaWxzCgkgIENJRCAxMzIwNzAwCgoyMDE3LTAyLTI4IDEyOjUzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBJbml0aWFsaXplIG1fY2hhbmdlZF9kYXRhZmlsZSBjbGFzcyBmaWVsZAoJICBDSUQgMTE5NzcwNAoKMjAxNy0wMi0yOCAxMjo0Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUmVtb3ZlIHVzZWxlc3MgY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBpbnRlZ2VyIHdpdGggPCAwCgkgIENJRCAyMDYxODcKCjIwMTctMDItMjggMTI6MzQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IENoZWNrIHJldHVybiB2YWx1ZSBvZiBnc3RfZ2xfY29udGV4dF9jaGVja19mcmFtZWJ1ZmZlcl9zdGF0dXMoKQoJICBDSUQgMTQwMTU4OAoKMjAxNy0wMi0yOCAxMjozMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IEFkZCB2aXYtZmIgdG8gRElTVF9TVUJESVJTIHRvIGZpeCAibWFrZSBkaXN0Y2hlY2siCgoyMDE3LTAyLTI4IDEwOjUzOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHV0aWxzLmM6CgkqIGV4dC9nbC9nc3RnbHV0aWxzLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IFJlbmFtZSBnc3RfZ2xfZ2V0X2FmZmluZV90cmFuc2Zvcm1hdGlvbl9tZXRhX2FzX25kY19leHQoKSB0byBwcmV2ZW50IHN5bWJvbCBjb25mbGljdAoJICBUaGUgc2FtZSBzeW1ib2wgYWxzbyBleGlzdHMgaW4gbGliZ3N0Z2wsIGFsdGhvdWdoIG1hcmtlZCBhcyBwcml2YXRlIGFuZAoJICBpbnRlcm5hbC4gVGhpcyBoYXMgbm8gZWZmZWN0IHdoZW4gZG9pbmcgc3RhdGljIGxpbmtpbmcgYW5kIHRoZXJlJ3MgYQoJICBzeW1ib2wgY29uZmxpY3QuCgoyMDE3LTAyLTI4IDEwOjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHNfcHJpdmF0ZS5oOgoJICBnbHV0aWxzOiBNYXJrIHByaXZhdGUgZnVuY3Rpb25zIGFzIEdfR05VQ19JTlRFUk5BTAoKMjAxNy0wMi0yOCAwOToyNjoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogRml4IHdyb25nIHVzYWdlIG9mICc8PCcgb3BlcmF0b3IKCSAgRGV0ZWN0ZWQgYnkgR0NDIDcuCgkgIEFkZCBjb21tZW50cyBmb3IgY2xhcml0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzMzCgoyMDE3LTAyLTI3IDIxOjIyOjMwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhtYXRyaXgvbWVzb24uYnVpbGQ6CgkgIGF1ZGlvbWl4bWF0cmljOiBBZGQgbWlzc2luZyBsaWJtIGRlcHMgZm9yIG1lc29uCgoyMDE3LTAyLTI3IDEwOjMyOjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogSW5jbHVkZSBgaW50ZXJsYWNlLW1vZGVgIGluIGNhcHMKCSAgVGhvc2UgYXJlIHRoZSBydWxlczoKCSAgSW4gdGhlIFNQUzoKCSAgKiBpZiBmcmFtZV9tYnNfb25seV9mbGFnPTEgPT4gYWxsIGZyYW1lIHByb2dyZXNzaXZlCgkgICogaWYgZnJhbWVfbWJzX29ubHlfZmxhZz0wID0+IGZpZWxkX3BpY19mbGFnIGRlZmluZXMgaWYgZWFjaCBmcmFtZSBpcwoJICBwcm9ncmVzc2l2ZSBvciBpbnRlcmxhY2VkLCB0aHVzIHRoZSBtb2RlIGlzICdtaXhlZCcgaW4gR1N0cmVhbWVyCgkgIHRlcm1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MzA5CgoyMDE3LTAyLTE0IDExOjA5OjQ2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9pcWEvaXFhLmM6CgkgIGlxYTogUGx1ZyBhIGxlYWsgYWxsb2NhdGluZyB0d2ljZSB0aGUgc2FtZSBkYXRhCgoyMDE3LTAyLTI3IDE5OjEzOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZy1jb25maWc6IEFkZCBib3RoIHNyY2RpciBhbmQgYnVpbGRkaXIgdG8gdGhlIGluY2x1ZGUgcGF0aAoJICBKdXN0IHRoZSBidWlsZCBkaXIgaXMgbm90IGdvaW5nIHRvIHdvcmsgZm9yIHNyY2RpciE9YnVpbGRkaXIuCgoyMDE3LTAyLTI3IDIzOjQ3OjI1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBDb252ZXJ0IFBDUiB2YWx1ZXMgaW1tZWRpYXRlbHkKCSAgRG9pbmcgbGF6eSBjb252ZXJzaW9uIG9mIFBDUiB2YWx1ZXMgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHdoZW4gYSBQQ1IgZGlzY29udCBpcyBlbmNvdW50ZXJlZC4gSW5zdGVhZCwgY29udmVydCBQQ1IKCSAgdmFsdWVzIHRvIHRoZSBjb250aW51b3VzIHRpbWVzdGFtcCBkb21haW4gYXMgc29vbiBhcyB3ZQoJICBlbmNvdW50ZXIgdGhlbSBhbmQgc3RvcmUgdGhhdCBpbnN0ZWFkLgoKMjAxNy0wMi0yMiAxNDo1NTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEFkZCBzdXBwb3J0IGZvciBWaXZhbnRlIERpcmVjdFRleHR1cmUgdXBsb2FkcwoJICBUb2dldGhlciB3aXRoIHRoZSB1cGNvbWluZyBnc3RyZWFtZXItaW14IHBhdGNoLCB0aGlzIGFsbG93cyB6ZXJvY29weQoJICBiZXR3ZWVuIGlteHZwdWRlYyBhbmQgb3RoZXIgZWxlbWVudHMgYW5kIGdsaW1hZ2VzaW5rLgoJICBUaGlzIGlzIGxvc2VseSBiYXNlZCBvbiBhIHBhdGNoIGJ5IEhhaWh1YSBIdSA8YjU1NTk3QGZyZWVzY2FsZS5jb20+CgkgIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL0ZyZWVzY2FsZS9tZXRhLWZyZWVzY2FsZS9ibG9iL21hc3Rlci9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZC8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTA2NwoKMjAxNy0wMi0xNyAxOToyNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWxsb2NhdG9ycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FsbG9jYXRvcnMvYmFkYWxsb2NhdG9ycy5oOgoJKiBnc3QtbGlicy9nc3QvYWxsb2NhdG9ycy9nc3RwaHlzbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9hbGxvY2F0b3JzL2dzdHBoeXNtZW1vcnkuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hbGxvY2F0b3JzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hbGxvY2F0b3JzLnBjLmluOgoJICBhbGxvY2F0b3JzOiBBZGQgR3N0UGh5c01lbW9yeUFsbG9jYXRvciBhYnN0cmFjdGlvbgoJICBUaGlzIGNhbiBiZSB1c2VkIGluIGEgZ2VuZXJpYyB3YXkgYXMgY29tbW9uIGludGVyZmFjZSBieSBhbGwgcGxhdGZvcm1zIHRoYXQsCgkgIGluIG9uZSB3YXkgb3IgYW5vdGhlciwgcGFzcyBhcm91bmQgcGh5c2ljYWwgbWVtb3J5IGFkZHJlc3Nlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTA2NwoKMjAxNy0wMi0xNyAxNDozNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxbWw6IEFkZCBzdXBwb3J0IGZvciBWaXZhbnRlIEVHTCBGUyB3aW5kb3dpbmcgc3lzdGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg4MjUKCjIwMTctMDItMTcgMTI6MjQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsZGlzcGxheV92aXZfZmIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3Zpdi1mYi9nc3RnbGRpc3BsYXlfdml2X2ZiLmg6CgkqIGdzdC1saWJzL2dzdC9nbC92aXYtZmIvZ3N0Z2x3aW5kb3dfdml2X2ZiX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdml2LWZiL2dzdGdsd2luZG93X3Zpdl9mYl9lZ2wuaDoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBWaXZhbnRlIEVHTCBGQiB3aW5kb3dpbmcgc3lzdGVtCgkgIFRoaXMgaXMgdmVyeSBzaW1pbGFyIHRvIGhvdyBkaXNwbWFueCBvbiB0aGUgUmFzcGJlcnJ5IFBpIHdvcmtzLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEhhaWh1YSBIdSA8YjU1NTk3QGZyZWVzY2FsZS5jb20+IGZyb20KCSAgaHR0cHM6Ly9naXRodWIuY29tL0ZyZWVzY2FsZS9tZXRhLWZyZWVzY2FsZS90cmVlL21hc3Rlci9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4ODI1CgoyMDE3LTAyLTI1IDIxOjQ3OjQ3IC0wMzAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJICBVcGRhdGUgRWRnYXJkIExpbWEncyBlbWFpbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MjMwCgoyMDE3LTAyLTI1IDE0OjQzOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2F1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2F1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWRhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWRhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWR2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWR2aWRlb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcmF3cGFyc2UvdW5hbGlnbmVkYXVkaW8uaDoKCSogZ3N0L3Jhd3BhcnNlL3VuYWxpZ25lZHZpZGVvLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IE1vdmUgdG8gZ3N0LXBsdWdpbnMtYmFzZSBhbmQga2VlcCBsZWdhY3kgYXVkaW9wYXJzZS92aWRlb3BhcnNlIGhlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDU0NAoKMjAxNy0wMi0yNCAxNTo1OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogVXBkYXRlIHZlcnNpb24KCjIwMTctMDItMjQgMTU6Mzc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTEuMiA9PT0KCjIwMTctMDItMjQgMTU6MDc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgUmVsZWFzZSAxLjExLjIKCjIwMTctMDItMjQgMTI6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wMi0yNCAxMjo0NjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2t5LnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDItMjQgMDE6Mjg6MzUgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2F1ZGlvbWl4bWF0cml4L21lc29uLmJ1aWxkOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC90aW1lY29kZS9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZGVkIG1lc29uLmJ1aWxkIGZvciBhdWRpb21peG1hdHJpeCBhbmQgdGltZWNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTE1NAoKMjAxNy0wMi0yMiAxNDowOTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogVXNlIGdsQmxpdEZyYW1lYnVmZmVyKCkgaW5zdGVhZCBvZiBnbENvcHlUZXhJbWFnZTJEKCkgaWYgYXZhaWxhYmxlCgkgIGdsQmxpdEZyYW1lYnVmZmVyKCkgaXMgbmV3IEdMRVMzL0dMMyBBUEkuIFRoZXkgYXJlIHByb2JhYmx5IG9mdGVuCgkgIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIGVhY2ggb3RoZXIsIGFuZCBnbEJsaXRGcmFtZWJ1ZmZlcigpIGNhbgoJICBwb3RlbnRpYWxseSBiZSBpbXBsZW1lbnRlZCBtb3JlIGZsZXhpYmxlLiBMZXQncyB1c2UgaXQgaWYgYXZhaWxhYmxlLgoJICBBbHNvIGl0IGFjdHVhbGx5IHdvcmtzIG9uIGlteDYgd2l0aCBEaXJlY3RWSVYgdGV4dHVyZXMuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPiBmcm9tCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9GcmVlc2NhbGUvbWV0YS1mcmVlc2NhbGUvYmxvYi9tYXN0ZXIvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWQvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzkwNzAKCjIwMTctMDEtMTYgMTk6MzY6MDcgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peG1hdHJpeC9nc3RhdWRpb21peG1hdHJpeC5jOgoJKiBnc3QvYXVkaW9taXhtYXRyaXgvZ3N0YXVkaW9taXhtYXRyaXguaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F1ZGlvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdWRpb21peG1hdHJpeC90ZXN0LWF1ZGlvbWl4bWF0cml4LmM6CgkgIGF1ZGlvbWl4bWF0cml4OiBOZXcgZWxlbWVudCB0aGF0IG1peGVzIGF1ZGlvIGNoYW5uZWxzCgkgIFRoaXMgZWxlbWVudCB0cmFuc2Zvcm1zIGEgZ2l2ZW4gbnVtYmVyIG9mIGlucHV0IGNoYW5uZWxzIGludG8gYSBnaXZlbiBudW1iZXIgb2YKCSAgb3V0cHV0IGNoYW5uZWxzIGFjY29yZGluZyB0byBhIGdpdmVuIHRyYW5zZm9ybWF0aW9uIG1hdHJpeC4gVGhlIG1hdHJpeAoJICBjb2VmZmljaWVudHMgbXVzdCBiZSBiZXR3ZWVuIC0xIGFuZCAxLiBJbiB0aGUgYXV0byBtb2RlLCBpbnB1dC9vdXRwdXQgY2hhbm5lbHMKCSAgYXJlIGF1dG9tYXRpY2FsbHkgbmVnb3RpYXRlZCBhbmQgdGhlIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBpcyBhIHRydW5jYXRlZCBvcgoJICB6ZXJvLXBhZGRlZCBpZGVudGl0eSBtYXRyaXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzczNzYKCjIwMTctMDItMjIgMjI6MzE6MTcgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICB0aW1lY29kZXN0YW1wZXI6IFJlbW92ZSBjbG9jay1zb3VyY2UgcHJvcGVydHkKCSAgUmVtb3ZlIGNsb2NrLXNvdXJjZSBwcm9wZXJ0eSwgYmVjYXVzZSB0aGUgR1NUIGNsb2NrIHVzdWFsbHkgc3RhcnRzIGF0CgkgIHNvbWUgcmFuZG9tIHZhbHVlIGFuZCBpcyB0aHVzIHVzZWxzZXNzIGZvciBjcmVhdGluZyBhIHRpbWVjb2RlIGZyb20gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg3MDMKCjIwMTctMDItMjIgMjI6MzA6MTcgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICB0aW1lY29kZXN0YW1wZXI6IEZpcnN0IHRpbWVjb2RlIGZyb20gY3VycmVudCBzeXN0ZW0gdGltZQoJICBBZGQgYSBuZXcgZmxhZyB3aGljaCBhdXRvbWF0aWNhbGx5IHNldHMgdGhpcyBmaXJzdCB0aW1lY29kZSB0byB0aGUKCSAgY3VycmVudCBzeXN0ZW0gdGltZSBpbiBsb2NhbCB0aW1lIHpvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg3MDMKCjIwMTctMDItMjIgMjI6MjY6NTcgKzAxMDAgIEdlb3JnIExpcHBpdHNjaCA8Z2xpcHBpdHNjaEB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5oOgoJICB0aW1lY29kZXN0YW1wZXI6IEZpcnN0IHRpbWVjb2RlIHByb3BlcnR5CgkgIEFkZCBhbiBuZXcgcHJvcGVydHkgdG8gc3RhcnQgZnJvbSBhIGdpdmVuIHRpbWVjb2RlCgkgIGluc3RlYWQgb2YgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODcwMwoKMjAxNy0wMi0yMiAwMjoxNzozNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IGV4cG9zZSBuZXcgcHJvcGVydGllcy4KCSAgVGhpcyBnaXZlcyB0aGUgdXNlciBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgZ2FpbiBjb250cm9sCgkgIGFuZCBleHBlcmltZW50YWwgZ2FpbiBjb250cm9sIGJlaGF2aW91ci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTEwMwoKMjAxNy0wMi0xNyAxNjowOTo1MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBDaGFpbiB1cCB0byBiYXNlc3JjIHF1ZXJ5IGluc3RlYWQgb2Ygb3ZlcnJpZGUgcGFkIHF1ZXJ5IGZ1bmN0aW9uCgkgIE92ZXJyaWRpbmcgdGhlIHBhZCBxdWVyeSBmdW5jdGlvbiBjb21wbGV0ZWx5IG92ZXJyaWRlcyBhbGwgdGhlIGRlZmF1bHQKCSAgcXVlcnkgaGFuZGxpbmcgaW1wbGVtZW50ZWQgaW4gYmFzZXNyYywgaW5jbHVkaW5nIGNhcHMgZXRjLiBUaGUgY29ycmVjdAoJICB0aGluZyB0byBkbyBpcyBqdXN0IG92ZXJyaWRlIHRoZSBiYXNlc3JjIHF1ZXJ5IHZmdW5jIGFuZCB0aGVuIGNoYWluIHVwCgkgIGZvciB0aGUgcXVlcmllcyB3ZSBkb24ndCBoYW5kbGUuCgoyMDE3LTAyLTIwIDE4OjU4OjExICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9hdWRpb2J1ZmZlcnNwbGl0L2dzdGF1ZGlvYnVmZmVyc3BsaXQuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyc3BsaXQvZ3N0YXVkaW9idWZmZXJzcGxpdC5oOgoJICBhdWRpb2J1ZmZlcnNwbGl0OiBBZGQgc3RyaWN0LWJ1ZmZlci1zaXplIHByb3BlcnR5CgkgIElmIHNldCB0byBUUlVFLCBhbnkgbGFzdCBhdWRpbyBzYW1wbGVzIHRvbyBzbWFsbCB0byBmaWxsIGEgYnVmZmVyIHdpbGwKCSAgYmUgZGlzY2FyZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc5MDY0CgoyMDE3LTAxLTMwIDExOjA0OjMyICswMTAwICBGYWJpZW4gRGVzc2VubmUgPGZhYmllbi5kZXNzZW5uZUBzdC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogY29uc2lkZXIgYnVmZmVyIHNpemUgd2hlbiBjb3B5aW5nIHRvIHdsIHNobSBwb29sCgkgIFdoZW4gdGhlIHNpbmsgcmVjZWl2ZXMgYSBidWZmZXIgdGhhdCBpcyBuZWl0aGVyIGEgd2xfc2htIG9uZSBub3IgYQoJICBkbWFidWYgb25lLCB0aGlzIGJ1ZmZlciBpcyBjb3BpZWQgdG8gYW4gaW50ZXJuYWwgd2xfc2htIGJ1ZmZlciBiZWZvcmUKCSAgYmVpbmcgc2VudCB0byB0aGUgZGlzcGxheS4KCSAgSW4gdGhhdCBjYXNlLCB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIHJlY2VpdmVkIGJ1ZmZlciAod2hpY2ggbWF5IGRpZmZlcgoJICBmcm9tIHRoZSBvbmUgbmVnb3RpYXRlZCBpbiB0aGUgY2FwcykgbXVzdCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3ODQxCgoyMDE3LTAyLTE3IDIxOjI1OjIxICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBHSGFzaFRhYmxlIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODgyOAoKMjAxNy0wMi0xOCAyMDoxODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdiYXNlcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmF3dmlkZW9wYXJzZS5jOgoJICByYXdiYXNlcGFyc2U6IERyb3AgaW5jb21wbGV0ZSBmcmFtZXMgYXQgRU9TCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjY2CgkgIFRoaXMgd291bGQgaWRlYWxseSBiZSBzb2x2ZWQgaW4gYmFzZXBhcnNlIGJ1dCB0aGF0IHJlcXVpcmVzIGZ1cnRoZXIKCSAgdGhvdWdodCBhdCB0aGlzIHBvaW50LCBhbmQgaW4gdGhlIG1lYW50aW1lIGl0IHdvdWxkIGJlIGdvb2QgdG8gaGF2ZQoJICByYXdiYXNlcGFyc2Ugbm90IGFzc2VydCBvbiB0aGlzIGJ1dCBoYW5kbGUgaXQgZ3JhY2VmdWxseSBpbnN0ZWFkLgoKMjAxNy0wMi0xNiAyMDowODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBjb25maWd1cmU6IFJlbW92ZSB1bnVzZWQgTWFsaSBFR0wvZmJkZXZfd2luZG93IHN1cHBvcnQKCSAgVGhpcyBleGlzdGVkIGEgbG9uZyB0aW1lIGFnbyBidXQgdGhlcmUncyBubyBhY3R1YWwgY29kZSBmb3IgdGhpcwoJICBhbnltb3JlLgoKMjAxNy0wMi0xNSAxOTowNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLW1wZWd0cy11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBmaXggdW5pbnN0YWxsZWQgLnBjIGZpbGVzIGZvciBjb2RlY3BhcnNlcnMgKyBtcGVndHMKCSAgUmVhbGx5IG5lZWQgdG8gaW5jbHVkZSB0aGUgc3JjZGlyIGZvciBjb2RlY3BhcnNlcnMsIGFuZCBidWlsZCBkaXIKCSAgZm9yIG1wZWd0cy4KCjIwMTctMDItMTQgMjM6MDA6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBkaXN0Y2hlY2sKCSAgRG9uJ3QgdXNlIHdpbGRjYXJkcyBpbiBNYWtlZmlsZS5hbSwgYnVpbGRib3QgZG9lc24ndCBzZWVtCgkgIHRvIGxpa2UgdGhlbS4KCjIwMTctMDItMTQgMjA6MjM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSAgd2luMzI6IHJlbW92ZSBkaXN0ZWQgZW51bXR5cGVzIGZpbGVzIHdoaWNoIGFyZSBubyBsb25nZXIgdXNlZAoKMjAxNy0wMi0xNCAyMDoxOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZGlzdCBtZXNvbiBidWlsZCBmaWxlcwoJICBTaGlwIG1lc29uIGJ1aWxkIGZpbGVzIGluIHRhcmJhbGxzLCBzbyBwZW9wbGUgd2hvIHVzZSB0YXJiYWxscwoJICBpbiB0aGVpciBidWlsZHMgY2FuIHN0YXJ0IHBsYXlpbmcgd2l0aCBtZXNvbiBhbHJlYWR5LgoKMjAxNy0wMi0xNCAxMzowNDowMSArMDEwMCAgTmljayBLYWxsZW4gPG5pY2trYWxsZW5AbWUuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvaW9zZ2xtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zZ2xtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgQnVpbGRzIGZvciBNYWNPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDM0CgoyMDE3LTAyLTEwIDExOjMyOjIzICswMTAwICBOaWNrIEthbGxlbiA8bmlja2thbGxlbkBtZS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NnbG1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NnbG1lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBmcmVlIHZpZGVvdGV4dHVyZWNhY2hlIHRleHR1cmUgaW4gZ2wgdGhyZWFkCgkgIFRoZSBjYWNoZWQgdGV4dHVyZSB3YXMgdHJlYXRlZCBhcyB1c2VyX2RhdGEgcGFzc2VkIHRvIEdzdEdMQmFzZU1lbW9yeQoJICBhbmQgZnJlZWQgd2l0aCBhIEdEZXN0cm95Tm90aWZ5IGZ1bmN0aW9uLiBIb3dldmVyLCB0aGlzIGRhdGEgbXVzdAoJICBiZSB0cmVhdGVkIHNwZWNpYWxseTogaXQgbXVzdCBiZSBkZXN0cm95ZWQgaW4gdGhlIEdMIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODQzNAoKMjAxNy0wMi0xMCAxMDoyOTo0OSAtMDMwMCAgSnVhbiBQYWJsbyBVZ2FydGUgPGp1YW5wYWJsb3VnYXJ0ZUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkgIEdzdEdMU2lua0JpbjogZml4ZWQgc2luayBwcm9wZXJ0eSBsZWFrCgkgIE5vIG5lZWQgdG8ga2VlcCBhbiBleHRyYSByZWZlcmVuY2UgdG8gc2luayBzaW5jZSBhbiBpbmRpcmVjdCBvbmUgaXMgYWRkZWQgYnkgZ3N0X2Jpbl9hZGQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4NDUyCgoyMDE3LTAyLTEzIDEzOjMyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogQ2hhbmdlIGV4YW1wbGUgcGlwZWxpbmVzIHRvIHNvbWV0aGluZyB0aGF0IGFjdHVhbGx5IHdvcmtzCgkgIEVuZm9yY2UgZXhhY3RseSB0aGUgc2FtZSByYXcgdmlkZW8gZm9ybWF0IG9uIGJvdGggc2lkZXMsIGluY2x1ZGUgYQoJICB2aWRlb2NvbnZlcnQgYW5kIHF1ZXVlIGJlZm9yZSB0aGUgdmlkZW8gc2luayBhbmQgbWFrZSB0aGUgc2htIGFyZWEgYQoJICBsaXR0bGUgYml0IGJpZ2dlciBzbyB0aGF0IHRoaW5ncyBkb24ndCBnZXQgc3R1Y2suCgoyMDE3LTAyLTA5IDAxOjEyOjU2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQ29udmVydCBwcmVtYXR1cmUgRU9TIG9uIG5vbi1leHBvc2VkIHBhZHMgdG8gRVJST1IKCSAgSWYgd2UgbmVlZCB0byBzZW5kIEVPUyBvbiBhIHBhZCB0aGF0IGhhc24ndCBwcmVyb2xsZWQsIGdlbmVyYXRlCgkgIGFuIGVycm9yIG9uIHRoZSBidXMgaW5zdGVhZCwgb3RoZXJ3aXNlIHRoZSBhcHAgd2lsbCBoYXZlIG5vIGlkZWEuCgkgIEZpeGVzIHRoZSBITFMgdGVzdEZyYWdtZW50Tm90Rm91bmQgdGVzdCwgd2hpY2ggaXMgd2FpdGluZwoJICBmb3IgZWl0aGVyIEVPUyBvciBhbiBlcnJvci4KCjIwMTctMDItMDkgMDA6NTQ6MDcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBIYW5kbGUgZXJyb3JzIGZyb20gcHJlcGFyZWRfc3RyZWFtcyB0b28KCSAgQ2hlY2sgYm90aCBhY3RpdmUgYW5kIHByZXBhcmVkX3N0cmVhbXMgd2hlbiB3ZSByZWNlaXZlIGFuCgkgIGVycm9yIG9uIHRoZSBidXMsIHNvIHdlIHBvc3QgZXJyb3JzIGZvciBzdHJlYW1zIHRoYXQgYXJlCgkgIHN0aWxsIHByZS1yb2xsaW5nCgoyMDE3LTAyLTA5IDAwOjE2OjMzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBbGxvdyB0aGF0CgoyMDE3LTAyLTA4IDIyOjU5OjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSAgYWRhcHRpdmVkZW11eDogRml4IHRlc3RzIGZvciBkZWxheWVkIHBhZCBleHBvc3VyZS4KCSAgTWFrZSB0aGUgdW5pdCB0ZXN0cyBoYW5kbGUgdGhlIGZhY3QgdGhhdCBwYWRzIGRvbid0IGFwcGVhcgoJICBpbW1lZGlhdGVseS4gQmVmb3JlLCB0aGUgdGVzdCBhc3N1bWVkIHBhZHMgYXJlIGV4cG9zZWQgYmVmb3JlIHRoZQoJICBpbnRlcm5hbCBzb3VyY2UgZWxlbWVudCBpcyBjcmVhdGVkLCB3aGljaCBpcyBubyBsb25nZXIgdHJ1ZS4KCjIwMTctMDItMDcgMTk6NDQ6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBFbmNvZGVyIG91dHB1dCBpcyBnZW5lcmFsbHkgbm90IHByb3Blcmx5IHBhcnNlZAoJICBEb24ndCBjbGFpbSBpdCBpcyBhbmQgbGV0IGgyNjRwYXJzZSBhbmQgb3RoZXIgcGFyc2VycyBkbyB0aGVpciBqb2IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ3NzIKCjIwMTctMDItMDcgMTk6NDI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBTZXQgdGltZXN0YW1wcyBvbiBoZWFkZXIgYnVmZmVycyB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc3MgoKMjAxNy0wMi0wNyAxOTo0MjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IEVuY29kZWQgSDI2NCBpcyBnZW5lcmFsbHkgbm90IEFVIGFsaWduZWQKCSAgQ2xhaW1pbmcgdGhhdCBpdCBpcywgY2FuIGNhdXNlIGgyNjRwYXJzZSB0byBza2lwIHNvbWUgcGFyc2luZyBzdGVwcyBhbmQKCSAgdGhlIG91dHB1dCBzdGF5cyB1bmFsaWduZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ3NzIKCjIwMTctMDEtMTMgMjM6MTA6NTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggYml0cmF0ZSBwcmludGVkIGluIGRlYnVnCgkgIFRoZSBkb3dubG9hZCBiaXRyYXRlIGlzIGFscmVhZHkgaW4gYml0cyBwZXIgc2Vjb25kLAoJICBubyBuZWVkIHRvIG11bHRpcGx5IGl0IGJ5IDggYWdhaW4gd2hlbiBwcmludGluZyBpdAoJICBmb3IgZGVidWcuCgoyMDE3LTAxLTExIDEyOjM0OjU4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlZG8gdHlwZWZpbmQgYWZ0ZXIgc3RyaXBwaW5nIHRhZ3MKCSAgV2hlbiBzdHJpcHBpbmcgdGhlIElEMyBoZWFkZXIsIHJlZG8gdHlwZWZpbmRpbmcgc28KCSAgd2Ugc2V0IGF1ZGlvIGNhcHMgaW5zdGVhZCBvZiBzdGlsbCBzZXR0aW5nIGlkMwoJICBjYXBzIGFuZCBwbHVnZ2luZyBhIHVzZWxlc3MgaWQzZGVtdXgKCjIwMTctMDEtMDcgMTI6MTI6MDUgKzA5MDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IFByZXJvbGwgc3RyZWFtcyBiZWZvcmUgZXhwb3NpbmcgdGhlbQoJICBUbyBlbnN1cmUgdGhhdCBwYWRzIGhhdmUgY2FwcyB3aGVuIHRoZXkgYXJlIGV4cG9zZWQsIGRvCgkgIHRoZSBleHBvc2luZyB3aGVuIGFsbCBwZW5kaW5nIHN0cmVhbXMgaGF2ZSBwcmVyb2xsZWQgYW4KCSAgb3V0cHV0IGJ1ZmZlciwgYW5kIG9ubHkgdGhlbiBFT1MgYW5kIHJlbW92ZSBhbnkgb2xkIHBhZHMuCgkgIEltcHJvdmVzIHRoZSBzd2l0Y2hpbmcgc2VxdWVuY2UgYnkgbWFraW5nIGNhcHMgYXZhaWxhYmxlCgkgIGFzIHNvb24gYXMgYSBwYWQgYXBwZWFycy4KCSAgV2l0aCBmaXhlcyBmcm9tIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjU3CgoyMDE3LTAyLTAzIDE1OjM1OjE1ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBhbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IDMuMi4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzgxNDIKCjIwMTctMDItMDIgMTY6NDc6NTIgKzAxMDAgIEZhYmllbiBEZXNzZW5uZSA8ZmFiaWVuLmRlc3Nlbm5lQHN0LmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBzZXQgdmlkZW8gc3VyZmFjZSBvcGFxdWUKCSAgVW5sZXNzIHRoZSB2aWRlbyBmb3JtYXQgaGFzIGFuIGFscGhhIGNvbXBvbmVudCAoQVJHQiwgLi4uKSwgc2V0IHRoZQoJICB2aWRlb19zdXJmYWNlIG9wYXF1ZS4KCSAgSW4gdGhlIHVzdWFsIGNhc2Ugd2hlcmUgdGhlIGJsYWNrIGFyZWFfc3VyZmFjZSBoYXMgdGhlIHNhbWUgc2l6ZSBhcyB0aGUKCSAgdmlkZW9fc3VyZmFjZSAoZWc6IHJ1biBnc3QtcGxheS0xLjAgdmlkZW8ubXA0KSwgdGhpcyBtYWtlcyB0aGUgYmxhY2sKCSAgc3VyZmFjZSB0b3RhbGx5IG9jY2x1ZGVkIHdoaWNoIG1ha2VzIHdlc3RvbiBjb21wb3NpdG9yJ3MgbGlmZSBlYXNpZXIKCSAgc2luY2UgaXQgY2FuIGlnbm9yZSB0aGF0IHN1cmZhY2UuCgkgIEFsc28gdW5jb25kaXRpb25hbGx5IHNldCB0aGUgYmxhY2sgYXJlYV9zdXJmYWNlIG9wYXF1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODA3OAoKMjAxNy0wMi0wMiAxNToyNTowOSArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvdGltZWNvZGUvZ3N0YXZ3YWl0LmM6CgkgIGF2d2FpdDogRml4IHBvdGVudGlhbCBkZWFkbG9jayB3aGVuIGZsdXNoaW5nIC8gc2h1dHRpbmcgZG93biBhdWRpbwoJICBUaGUgbXV0ZXggbXVzdCBiZSB1bmxvY2tlZCBpbiB0aGUgZXJyb3IgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MDc2CgoyMDE3LTAyLTAxIDE3OjExOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFNob3cgdmlkZW8gZnJhbWVzIHN5bmNocm9ub3VzbHkgaW4gUEFVU0VECgkgIE90aGVyd2lzZSB3ZSB3aWxsIG9ubHkgc2hvdyB0aGUgcHJlcm9sbCBmcmFtZSBvbmNlIFBMQVlJTkcgaXMgcmVhY2hlZCwKCSAgd2hpY2ggaXMgcmF0aGVyIHN1Ym9wdGltYWwgZm9yIGUuZy4gc2Vla2luZyBpbiBQQVVTRUQuCgoyMDE3LTAyLTAxIDE2OjQ1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IERvIG5vdGhpbmcgaWYgc2V0X2NhcHMoKSBpcyBjYWxsZWQgd2l0aCBiYXNpY2FsbHkgdGhlIHNhbWUgY2FwcyBhZ2FpbgoJICBhbmQgZXJyb3Igb3V0IGhlcmUgYWxyZWFkeSBvdGhlcndpc2UuIFdlIGN1cnJlbnRseSBkb24ndCBzdXBwb3J0CgkgIHJlY29uZmlndXJhdGlvbiBoZXJlIGFuZCBpdCBjYW4ndCBoYXBwZW4gcmVhbGx5IGVpdGhlciB1bmxlc3MgdGhlIGF1dG8KCSAgbW9kZSBpcyBzZWxlY3RlZC4KCjIwMTctMDItMDEgMTU6MTM6MzIgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBGaXggZ2V0X2NhcHMgcmV0dXJuaW5nIEVNUFRZCgkgIElmIGdldF9jYXBzIGlzIGNhbGxlZCBiZWZvcmUgbmVnb3RpYXRpb24sIGNoYW5uZWxzX2ZvdW5kIHdpbGwgYmUgMCBhbmQKCSAgdGhlcmVmb3JlIHdvbid0IGludGVyc2VjdCB3aXRoIHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc4MDI4CgoyMDE3LTAyLTAxIDEzOjQ0OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RkZXdhcnAuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRld2FycC5oOgoJICBkZXdhcnA6IFN0b3JlIEMrKyB0eXBlcyBhcyBwb2ludGVycyBpbiBDIHN0cnVjdHMKCSAgT3RoZXJ3aXNlIHRoZSBkZXN0cnVjdG9yIHdpbGwgbmV2ZXIgYmUgY2FsbGVkLCBhbmQgd2Ugd291bGQgaGF2ZSB0byBjYWxsCgkgIHRoZSBjb25zdHJ1Y3RvcnMgbWFudWFsbHkgYXQgc29tZSBwb2ludC4uLiB3aGljaCB3ZSBuZXZlciBkaWQsIHNvCgkgIGNhbGxpbmcgcmVsZWFzZSgpIG9uIGl0IGJlZm9yZSBpdCBnb3Qgb3RoZXJ3aXNlIGluaXRpYWxpemVkIGNhdXNlZCBhCgkgIGNyYXNoLiBGb3IgZXhhbXBsZSB3aGVuIHJ1bm5pbmcgZ3N0LWluc3BlY3QtMS4wLgoKMjAxNy0wMi0wMSAxNjowNToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJICB2a3dpbmRvdzogZml4IGJ1aWxkIGVycm9yIG9uIGkzODYKCSAgVnVsa2FuIGhhbmRsZXMgYXJlIGVpdGhlciBwb2ludGVycyAoNjQtYml0KSBvciA2NC1iaXQgaW50ZWdlcgoJICBoYW5kbGVzICgzMi1iaXQpLiBDYXN0IHRoZSB0eXBlIGluIGZhaWx1cmUgY2FzZXMuCgkgIHZrd2luZG93LmM6MjI5OjU2MTogZXJyb3I6IHJldHVybiBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KCSAgdmt3aW5kb3cuYzoyMzE6MTk0OiBlcnJvcjogcmV0dXJuIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3OTc5CgoyMDE3LTAyLTAxIDE0OjQ0OjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogQWRkIHN0cmVhbS1mb3JtYXQgdG8gdGhlIEguMjY0IGNhcHMuCgkgIEguMjY0IGluIE1QRUctUFMgaXMgYWx3YXlzIGJ5dGUtc3RyZWFtCgoyMDE3LTAyLTAxIDE0OjM3OjI5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogQWRkIGV4dHJhIGxlbmd0aCBjaGVja3MgdG8gVFMgc2Nhbm5pbmcuCgkgIEFkZCBzb21lIG1pc3Npbmcgc2l6ZSBjaGVja3MgdG8gdGhlIHRpbWVzdGFtcCBzY2FubmluZwoJICBmYXN0IHBhdGguCgoyMDE3LTAyLTAxIDE0OjI1OjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIHBzZGVtdXg6IFJld3JpdGUgUFNNIHBhcnNpbmcgdXNpbmcgR3N0Qnl0ZVJlYWRlcgoJICBBdm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3dzIGFuZCBpZ25vcmUgaW52YWxpZCBQU00gcGFja2V0cyBiZXR0ZXIKCSAgYnkgdXNpbmcgR3N0Qnl0ZVJlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzk1NwoKMjAxNy0wMS0yNyAxOToyNjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9tZXNvbi5idWlsZDoKCSAgZGVja2xpbms6IEFkZCB0byB0aGUgbWVzb24gV2luZG93cyBidWlsZAoKMjAxNy0wMS0yNyAxOToyNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50YXRpb24KCjIwMTctMDEtMjcgMTk6MjM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGNvbXBpbGF0aW9uIG9uIFdpbmRvd3MgYnkgcHJvcGVybHkgdXNpbmcgQ09NIHN0cmluZ3MgdGhlcmUKCjIwMTctMDEtMjcgMTk6MTU6MjggKzAyMDAgIEF4ZWwgTWVuemVsIDxBTWVuemVsQHhpb24tbWVkaWNhbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQwoKMjAxNy0wMS0yNyAxOToxMTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogSW5jbHVkZSBzdGRpbnQuaCBmb3IgaW50MzJfdCwgZXRjIGFzIG5lZWRlZCBieSB0aGUgRGVja2xpbmsgaGVhZGVycwoKMjAxNy0wMS0yNyAxOTowOToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUEkuaDoKCSAgZGVja2xpbms6IEFkZCAiZXh0ZXJuIEMiIGZvcndhcmQgZGVjbGFyYXRpb24gZm9yIENyZWF0ZURlY2tMaW5rSXRlcmF0b3JJbnN0YW5jZSgpCgoyMDE3LTAxLTI3IDE5OjAzOjMzICswMjAwICBBeGVsIE1lbnplbCA8QU1lbnplbEB4aW9uLW1lZGljYWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IFVwZGF0ZSBXaW5kb3dzIFNESyB0byBhIG5ld2VyIHZlcnNpb24KCjIwMTctMDEtMDEgMTQ6MDY6MjggKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBIYW5kbGUgU0VFSyBldmVudCBvbmx5IG9uY2UKCSAgc2VuZF9ldmVudCgpIG9mIHBhcmVudCBjbGFzcyAoaS5lLiwgR3N0QmluQ2xhc3MpIGl0ZXJhdGVzIHNyY3BhZHMKCSAgdG8gc2VuZCBTRUVLIGV2ZW50LiBBbmQgcGVyZm9ybWluZyBpdCBwZXIgc3JjcGFkIGlzIGluZWZmaWNpZW50LgoJICBTbywgbGV0J3MgZHJvcCBkdXBsaWNhdGVkIFNFRUsgZXZlbnQgYnkgY2hlY2tpbmcgc2VxbnVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY2MTIKCjIwMTctMDEtMjcgMDg6Mzg6MjggKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICB0ZXN0czogaGxzZGVtdXg6IEZpeCBsaXZlIHN0YXJ0dXAgc2VxdWVuY2UgYW5kIHNlZWsgcmFuZ2UKCSAgVG8gc2F0aXNmeSBmb2xsd2luZyByZXN0cmljdGlvbiBvZiBITFMgc3BlYyA2LjMuMywKCSAgc2VsZWN0IHN0YXJ0dXAgZnJhZ21lbnQgc2VxdWVuY2UgdG8gNHRoIGZyb20gZW5kIG9mIHBsYXlsaXN0LgoJICBBbHNvLCBzZWVrIHJhbmdlIHNob3VsZCBleGNsdWRlIGxhc3QgdGhyZWUgZnJhZ21lbnQgaW4gcGxheWxpc3QuCgkgICJ0aGUgY2xpZW50IFNIT1VMRCBOT1QgY2hvb3NlIGEgc2VnbWVudCB3aGljaCBzdGFydHMgbGVzcyB0aGFuCgkgIHRocmVlIHRhcmdldCBkdXJhdGlvbnMgZnJvbSB0aGUgZW5kIG9mIHRoZSBQbGF5bGlzdCBmaWxlLiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzY4MgoKMjAxNy0wMS0yNyAwODo1MDoxMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBtM3U4OiBTZXQgc2VxdWVuY2UgcG9zaXRpb24gZm9yIGxpdmUKCSAgaGxzIGxpdmUgc3RhcnRzIHBsYXliYWNrIGZyb20gdGhlIGFsbG93ZWQgbGF0ZXN0IGZyYWdtZW50LAoJICBidXQgaXRzICJzZXF1ZW5jZSBwb3NpdGlvbiIgaXMgc2V0IHRvIHplcm8sIGFuZCBzbyBzdHJlYW0KCSAgdGltZSBpcyBhbHNvIHNldCB0byB6ZXJvLgoJICBUaGlzIGRvZXMgbm90IG1ha2Ugc2Vuc2UsIGJlY2F1c2UgaGxzIGxpdmUgYWxsb3dzIHNlZWtpbmcgdG8gcGFzdCBwb3NpdGlvbiwKCSAgYW5kIGl0J3MgbmVnYXRpdmUgc3RyZWFtIHRpbWUgZnJvbSBkb3duc3RyZWFtIGVsZW1lbnQncyBwb2ludCBvZiB2aWV3LgoJICBOb3RlIHRoYXQsIGFsbG93ZWQgc2Vla2FibGUgcmFuZ2UgKGFuZCBzZWVraW5nIHF1ZXJ5KSBpcwoJICBmcm9tIHRoZSBmaXJzdCBmcmFnbWVudCBvZiBwbGF5bGlzdCB0byB0aGUgYWxsb3dlZCBsYXRlc3QgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc2ODIKCjIwMTctMDEtMjQgMjE6MzI6MTMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBFeGNsdXNpb24gb2YgbGFzdCB0aHJlZSBmcmFnbWVudCBpbiBjYXNlIG9mIGxpdmUgcGxheWJhY2sKCSAgSExTIHNwZWMgNi4zLjMgaXMgc2F5aW5nIHRoYXQKCSAgInRoZSBjbGllbnQgU0hPVUxEIE5PVCBjaG9vc2UgYSBzZWdtZW50IHdoaWNoIHN0YXJ0cyBsZXNzIHRoYW4KCSAgdGhyZWUgdGFyZ2V0IGR1cmF0aW9ucyBmcm9tIHRoZSBlbmQgb2YgdGhlIFBsYXlsaXN0IGZpbGUuIgoJICBUbyBlbnN1cmUgYWJvdmUgc3RhdGVtZW50LCB0aGUgdGhpcmQgZnJhZ21lbnQgZnJvbSB0aGUgZW5kIG9mIHBsYXlsaXN0CgkgIHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIHNlZWthYmxlIHJhbmdlIGFuZCBhbHNvIGZyb20gYXZhaWxhYmxlIHN0YXJ0aW5nIGZyYWdtZW50LgoJICAoaS5lLiwgdGhlIGZvdXJ0aCBmcmFnbWVudCBmcm9tIGVuZCBvZiBwbGF5bGlzdCBpcyB0aGUgc3RhcnRpbmcgZnJhZ21lbnQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NjgyCgoyMDE3LTAxLTI0IDIwOjIxOjE5ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IENvbnNpZGVyIHRpbWVzdGFtcCBvZiB0aGUgZmlyc3QgZnJhZ21lbnQgaW4gcGxheWxpc3Qgd2hlbiBsaXZlIHNlZWtpbmcKCSAgRHVyaW5nIGxpdmUgcGxheWJhY2ssIHRoZSBmaXJzdCBmcmFnbWVudCBpbiBhIHVwZGF0ZWQKCSAgcGxheWxpc3QgY2FuIGJlIGFkdmFuY2VkIGZyb20gdGhhdCBvZiBzdGFydHVwIHBsYXlsaXN0LgoJICBNZWFud2hpbGUsIHNpbmNlIGhsc2RlbXV4IGZpbmRzIHRhcmdldCBzZWVrIHBvc2l0aW9uCgkgIGJ5IGp1c3QgYWNjdW11bGF0aW5nIGZyYWdtZW50J3MgZHVyYXRpb24sIHRoZSBiYXNlIHNob3VsZAoJICBiZSBhZGp1c3RlZCB0byB0aGUgdXBkYXRlZCBmaXJzdCBmcmFnbWVudCdzIHRpbWVzdGFtcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzY4MgoKMjAxNy0wMS0zMCAxMToxNzo1MyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCBtaW5ndyBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3OTMwCgoyMDE3LTAxLTI3IDE4OjExOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIG9uIGlPUwoKMjAxNy0wMS0yNyAxNzoyNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRml4IGNvbXBpbGF0aW9uIG9uIE9TWAoJICAxNToxODo0NyBnc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDo3NDU6NDU6IGVycm9yOiBjYW5ub3QgaW5pdGlhbGl6ZSBhIHBhcmFtZXRlciBvZiB0eXBlICdpbnQ2NF90IConIChha2EgJ2xvbmcgbG9uZyAqJykgd2l0aCBhbiBydmFsdWUgb2YgdHlwZSAnZ2ludDY0IConIChha2EgJ2xvbmcgKicpCgkgIDE1OjE4OjQ3ICAgICAgICAgICAoQk1ERGVja0xpbmtNYXhpbXVtQXVkaW9DaGFubmVscywgJnNlbGYtPmNoYW5uZWxzX2ZvdW5kKTsKCSAgMTU6MTg6NDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgMTU6MTg6NDcgLi9saW51eC9EZWNrTGlua0FQSS5oOjk3MDo4Nzogbm90ZTogcGFzc2luZyBhcmd1bWVudCB0byBwYXJhbWV0ZXIgJ3ZhbHVlJyBoZXJlCgkgIDE1OjE4OjQ3ICAgICB2aXJ0dWFsIEhSRVNVTFQgR2V0SW50ICgvKiBpbiAqLyBCTUREZWNrTGlua0F0dHJpYnV0ZUlEIGNmZ0lELCAvKiBvdXQgKi8gaW50NjRfdCAqdmFsdWUpID0gMDsKCSAgMTU6MTg6NDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgoyMDE3LTAxLTI1IDEzOjA2OjI4ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9NYWtlZmlsZS5hbToKCSogZ3N0L3RpbWVjb2RlL2dzdGF2d2FpdC5jOgoJKiBnc3QvdGltZWNvZGUvZ3N0YXZ3YWl0Lmg6CgkqIGdzdC90aW1lY29kZS9wbHVnaW4uYzoKCSAgYXZ3YWl0OiBSZW5hbWUgdGltZWNvZGV3YWl0IHRvIGF2d2FpdCwgYWRkIG1vZGVzCgkgIFJlbmFtZWQgdGltZWNvZGV3YWl0IHRvIGF2d2FpdC4gQWRkZWQgcnVubmluZy10aW1lIGFuZCB2aWRlby1maXJzdAoJICBtb2Rlcy4gRGVmYXVsdCBtb2RlIGlzIHRpbWVjb2RlICh0aGUgcHJldmlvdXMgYmVoYXZpb3VyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzc0MQoKMjAxNy0wMS0xOCAxNzo1MzowMCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBPcHRpb24gdG8gdXNlIG1heCBjaGFubmVscyBzdXBwb3J0ZWQgYnkgZGV2aWNlCgkgIFF1ZXJ5IHRoZSBkZXZpY2UgZm9yIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFubmVscyBzdXBwb3J0ZWQgYW5kIGhhdmUKCSAgYW4gb3B0aW9uIHRvIHVzZSB0aGF0LiBEZWZhdWx0IGlzIHN0aWxsIDIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc0NTgKCjIwMTctMDEtMjYgMTU6MzU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9nbGNvbnRleHRoZWxwZXIuYzoKCSAgYXBwbGVtZWRpYTogRmFpbCBjbGVhbmx5IGluc3RlYWQgb2YgY3Jhc2hpbmcgaWYgb2J0YWluaW5nIGEgR0wgZGlzcGxheSBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzc0MgoKMjAxNy0wMS0yNiAxOTo1MjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IHVzZSB0aGUgY29ycmVjdCBlbnVtIGZvciBSR0IxNi9CR1IxNiBmb3JtYXRzCgkgIHZraW1hZ2VtZW1vcnkuYzo2NDoxNDogd2FybmluZzogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0dzdFZpZGVvR0xUZXh0dXJlVHlwZScgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ1ZrRm9ybWF0JyAoYWthICdlbnVtIFZrRm9ybWF0JykgWy1XZW51bS1jb252ZXJzaW9uXQoJICByZXR1cm4gR1NUX1ZJREVPX0dMX1RFWFRVUkVfVFlQRV9SR0IxNjsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzc2MAoKMjAxNy0wMS0yNSAyMDo1NDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggY2xhbmcKCSAgZ3N0bXBlZzJlbmMuY2M6MjI0OjU6IHdhcm5pbmc6IHZhcmlhYmxlICduJyBpcyBpbmNyZW1lbnRlZCBib3RoIGluIHRoZSBsb29wIGhlYWRlciBhbmQgaW4gdGhlIGxvb3AgYm9keSBbLVdmb3ItbG9vcC1hbmFseXNpc10KCSAgbisrOwoJICBeCgkgIGdzdG1wZWcyZW5jLmNjOjIyMToyOTogbm90ZTogaW5jcmVtZW50ZWQgaGVyZQoJICBmb3IgKG4gPSAwOyBmcHNzW25dICE9IDA7IG4rKykgewoJICBeCgoyMDE3LTAxLTI1IDIwOjQ4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggY2xhbmcKCSAgZ3N0ZGVja2xpbmsuY3BwOjgyMToxMTogd2FybmluZzogdmFyaWFibGUgJ2R0YycgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoJICBpZiAobV9pbnB1dC0+dmlkZW9zcmMpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0ZGVja2xpbmsuY3BwOjgzNzo0MTogbm90ZTogdW5pbml0aWFsaXplZCB1c2Ugb2NjdXJzIGhlcmUKCSAgc3RyZWFtX3RpbWUsIHN0cmVhbV9kdXJhdGlvbiwgZHRjLCBub19zaWduYWwpOwoJICBefn4KCSAgZ3N0ZGVja2xpbmsuY3BwOjgyMTo3OiBub3RlOiByZW1vdmUgdGhlICdpZicgaWYgaXRzIGNvbmRpdGlvbiBpcyBhbHdheXMgdHJ1ZQoJICBpZiAobV9pbnB1dC0+dmlkZW9zcmMpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0ZGVja2xpbmsuY3BwOjgxMDoyOTogbm90ZTogaW5pdGlhbGl6ZSB0aGUgdmFyaWFibGUgJ2R0YycgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcKCSAgSURlY2tMaW5rVGltZWNvZGUgKmR0YzsKCSAgXgoJICA9IE5VTEwKCjIwMTctMDEtMjUgMTk6MjE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBUaGUgY29kZSByZXF1aXJlcyBhdCBsZWFzdCBDKysxMQoJICAuLi4gYW5kIGNsYW5nIHJlcXVpcmVzIHRoaXMgdG8gYmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kbGluZSB3aGlsZSBnY2MKCSAgbm93YWRheXMgZGVmYXVsdHMgdG8gQysrMTEgb3IgZXZlbiBuZXdlci4KCjIwMTctMDEtMjQgMjM6MTA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZXQgY2Fwcy90YWdzIGluIHRoZSBHc3RTdHJlYW0gb2JqZWN0IGJlZm9yZSBwdXNoaW5nIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbCBnZXQgYSBtb3JlIG9yIGxlc3MgZW1wdHkgR3N0U3RyZWFtIGFsdGhvdWdoIHdlCgkgIGFscmVhZHkga25vdyBhIGxvdCBhYm91dCBpdCBhdCB0aGlzIHBvaW50LgoKMjAxNy0wMS0yNCAxNDozOTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJICBvcGVuaDI2NDogYWRkICJxcC1taW4iIGFuZCAicXAtbWF4IiBwcm9wZXJ0aWVzCgoyMDE3LTAxLTIwIDA3OjQ1OjQzICswMTAwICBMYXJzIFdlbmRsZXIgPHBvbHlub21pYWwtY0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBpcWE6IE1vdmUgQU1fQ09ORElUSU9OQUwoSEFWRV9EU1NJTSkgb3V0c2lkZSBvZiB0aGUgaXFhIGNoZWNrIGJsb2NrCgkgIG9yIGVsc2UgY29uZmlndXJlIGZhaWxzIHdpdGgKCSAgZXJyb3I6IGNvbmRpdGlvbmFsICJIQVZFX0RTU0lNIiB3YXMgbmV2ZXIgZGVmaW5lZC4KCSAgd2hlbiBpcWEgaXMgbm90IGluc3RhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzY1MgoKMjAxNy0wMS0yMyAxMjoxMjowNiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJKiBtZXNvbl9vcHRpb25zLnR4dDoKCSAgbWVzb246IEJ1aWxkIEdJUiBmaWxlcwoKMjAxNy0wMS0yMyAxNToxMDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby5wYy5pbjoKCSAgcGtnLWNvbmZpZzogRGlyZWN0bHkgbGluayB0aGUgbGlicmFyeSB3aXRoIC1sIGluc3RlYWQgb2YgdGhlIC5sYSBmaWxlCgkgIFdoaWNoIG1pZ2h0IG5vdCBleGlzdCwgbGlrZSBvbiBtb3N0IG1vZGVybiBMaW51eCBkaXN0cmlidXRpb25zLgoKMjAxNy0wMS0yMCAxMToxMTo1MCAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZGVjLmM6CgkgIG1zZGs6IFByb3BhZ2F0ZSBHc3RGbG93UmV0dXJuIHZhbHVlcwoJICBJbiBzb21lIHBsYWNlcyBhIEdTVF9GTE9XX0ZMVVNISU5HIHJlc3VsdCB3YXMgcmV0dXJuIGFzIGEgRkFMU0UKCSAgZ2Jvb2xlYW4gYW5kIHRoZW4gcmV0dXJuZWQgZnJvbSBhIHBhcmVudCBmdW5jdGlvbiBhcwoJICBHU1RfRkxPV19FUlJPUi4gVGhpcyBwcmV2ZW50ZWQgc2Vla2luZyBmcm9tIHdvcmtpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYzNjAKCjIwMTctMDEtMjAgMTY6NDQ6NDIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9zY2Fub2JqLWJ1aWxkLnN0YW1wOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJICBmZGstYWFjOiBmaXggdmVyc2lvbiBudW1iZXIKCSAgQXMgcG9pbnRlZCBvdXQgb24gaXJjLCB0aGUgdmVyc2lvbiB3YXMgbWVuYXQgdG8gYmUgMC4xLjQuCgoyMDE3LTAxLTIwIDE0OjM0OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgbGVhayBwYWQgbmFtZSBhbmQgdGVtcGxhdGUgZm9yIE9wdXMKCSAgSXQncyBzZXQgYWdhaW4gKHRoZSBzYW1lIHdheSkgZnVydGhlciBiZWxvdywgb3ZlcndyaXRpbmcgdGhlIHByZXZpb3VzbHkKCSAgYWxsb2NhdGVkIG1lbW9yeSB3aXRob3V0IGZyZWVpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc1MzMKCjIwMTctMDEtMjAgMDc6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTZXQgc3RyZWFtIHRhZ3MgdG8gTlVMTCBhZnRlciB1bnJlZmZpbmcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHRyeSB0byB1bnJlZiB0aGVtIGEgc2Vjb25kIHRpbWUgYSBsaXR0bGUgYml0IGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NTAzCgoyMDE3LTAxLTA1IDE5OjEwOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBEZXRlY3QgbWVkaWEgc2VxdWVuY2UgbnVtYmVyIGluY29uc2lzdGVuY2llcyBhbmQgZmFpbAoJICBXaXRob3V0IGZhaWxpbmcsIHdlIHdvdWxkIHBsYXkgYmFjayByYW5kb20gcGFydHMgb2YgdGhlIHN0cmVhbSB3aGljaCBpcwoJICBhcmd1YWJseSBhIHdvcnNlIHVzZXIgZXhwZXJpZW5jZSwgYW5kIGZhaWxpbmcgaXMgYWxzbyByZWNvbW1lbmRlZCBieSB0aGUKCSAgc3BlYyBoZXJlLgoJICBBbmQgYWxzbyBoYW5kbGUgbGl2ZSBzdHJlYW1zIHdpdGhvdXQgYW55IG1lZGlhIHNlcXVlbmNlIG51bWJlcnMgYXQgYWxsCgkgIHByb3Blcmx5LCB0aGF0IGlzLCBtYWtlIHN1cmUgdGhlIHNlcXVlbmNlIG51bWJlcnMgYXJlIGluY3JlYXNpbmcgaW5zdGVhZAoJICBvZiBzdGFydGluZyBhZ2FpbiBhdCAwIGV2ZXJ5IHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU2NjUKCjIwMTctMDEtMTcgMjI6Mjc6NDYgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG8gcGVuZGluZyBzZWVrIHdoZW4gU0lEWCBpcyBmb3VuZAoJICBQYXJzaW5nIFNJRFggYm94IHdhcyBhbGxvd2VkIGV2ZW4gaWYgImluZGV4UmFuZ2UiIGF0dHJpYnV0ZSBkb2VzIG5vdCBhcHBlYXIKCSAgZm9yIE9uLURlbWFuZCBwcm9maWxlLiBIb3dldmVyLCBhY3R1YWwgc2Vla2luZyB1c2luZyBTSURYIGluZGV4IGRpZCBub3QgaGFwcGVuCgkgIHNpbmNlIGRvd25sb2FkIGxvb3Aga2VlcCB3b3JraW5nIG9uLgoJICBUbyB1c2UgU0lEWCBpbmRleCBpbiB0aGF0IGNhc2UsIGRlbXV4IHNob3VsZCB0cnkgaXQgaW4gdGhlIG5leHQgZG93bmxvYWQgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzM5NAoKMjAxNy0wMS0xNyAxMDozMzowMyArMDgwMCAgV2VpQ2h1bmdDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBGaXggaXNzdWUgd2hlbiBtYW5pZmVzdCB1cGRhdGUgc2V0cyBzbG93IHN0YXJ0IHdpdGhvdXQgcGFzc2luZyBuZWNlc3NhcnkgaGVhZGVyICYgY2FwcyBjaGFuZ2VzIGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzIwNgoKMjAxNy0wMS0xOCAxNTowMzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZW5zdXJlIGNhcHMgYXJlIHdyaXRhYmxlIGFmdGVyIGludGVyc2VjdGlvbgoJICBnc3RfY2Fwc19pbnRlcnNlY3QgKCkgbWF5IHJldHVybiBhbiBpbmNyZWFzZWQgcmVmZXJlbmNlIG9mIG9uZSBvZiB0aGUKCSAgaW5wdXQgY2Fwcy4KCSAgRml4ZXMgY3JpdGljYWwgaW4gdGhlIHNpbXBsZS1sYXVuY2gtbGluZXMgdGVzdDoKCSAgVW5leHBlY3RlZCBjcml0aWNhbC93YXJuaW5nOiBnc3RfY2Fwc19zZXRfZmVhdHVyZXM6IGFzc2VydGlvbiAnSVNfV1JJVEFCTEUgKGNhcHMpJyBmYWlsZWQKCjIwMTctMDEtMTggMTE6MDU6MjEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IEhhbmRsZSB2b2IgZGlzcGxheSByZWN0IHN0YXJ0aW5nIG9uIGFuIG9kZCBsaW5lCgkgIERWRHMgYWx3YXlzIGhhdmUgc3VicGljdHVyZXMgdGhhdCBzdGFydCBvbiBhbiBldmVuIFkKCSAgY29vcmRpbmF0ZSwgYnV0IGdzdHNwdSBkb2VzIG1vcmUgZ2VuZXJpYyB2b2JzdWJzIHRoZXNlCgkgIGRheXMsIHNvIGhhbmRsZSBvbmVzIHRoYXQgc3RhcnQgb24gYW4gb2RkIHZlcnRpY2FsIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3NDAwCgoyMDE2LTEyLTI3IDE3OjEzOjU4ICswODAwICBMeW9uIFdhbmcgPGx5b24ud2FuZ0BueHAuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEFkZCBzdXBwb3J0IGZvciBzZWxlY3RpbmcgYSBzcGVjaWZpYyB2aWRlbyBzaW5rCgkgIC0gQWRkIG92ZXJsYXkgdmlkZW8gcmVuZGVyZXIgInZpZGVvLXNpbmsiIHByb3BlcnR5LCBzbyB0aGF0IGNhbiBiZSBzZXQKCSAgLSBJbiBjcmVhdGVfdmlkZW9fc2luaywgaXQgcmV0dXJucyB2aWRlbyBzaW5rIGluc3RlYWQgb2YgYWx3YXlzIE5VTEwKCSAgLSBBZGQgbmV3IHJlbmRlcmVyX25ld193aXRoX3NpbmsoKSBBUEkgdG8gc2V0IHZpZGVvIHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjQ5MAoKMjAxNy0wMS0xNyAxMzowNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSAgcGxheWVyOiBBZGQgbWlzc2luZyBkb2N1bWVudGF0aW9uIGZvciBkZXByZWNhdGVkIGZ1bmN0aW9ucwoKMjAxNy0wMS0xMCAxNjozODoyMSArMDgwMCAgTHlvbiBXYW5nIDxseW9uLndhbmdAbnhwLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEFkZCBnZXQgdmlkZW8gc25hcHNob3QgQVBJCgkgIEFkZCBnZXQgdmlkZW8gc25hcHNob3QgQVBJOgoJICBnc3RfcGxheWVyX2dldF92aWRlb19zbmFwc2hvdCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3MDkKCjIwMTctMDEtMTIgMTY6MTQ6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBGaXggY29tcGlsYXRpb24gd2l0aCBHU1RfRElTQUJMRV9HU1RfREVCVUcKCjIwMTctMDEtMTMgMTQ6NDY6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogVXNlIHByb3BlciBpbnN0YW5jZSBuYW1lCgoyMDE3LTAxLTEzIDEyOjM5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidW1wIHZlcnNpb24KCjIwMTctMDEtMTMgMjE6MTc6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IGZpeCBidWlsZCBlcnJvciBmcm9tIGNoYW5nZSBpbiBsaWJnc3RnbAoJICBnc3RhbWN2aWRlb2RlYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2FtY192aWRlb19kZWNfc3JjX3F1ZXJ5JzoKCSAgZ3N0YW1jdmlkZW9kZWMuYzoyNDEyOjU1OiBlcnJvcjogJ3NlbGYnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQoJICBpZiAoZ3N0X2dsX2hhbmRsZV9jb250ZXh0X3F1ZXJ5ICgoR3N0RWxlbWVudCAqKSBzZWxmLCBxdWVyeSwKCjIwMTctMDEtMTMgMTI6NDk6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvZ2xjb250ZXh0aGVscGVyLmM6CgkgIGdsOiB1cGRhdGUgc3lzIGRlcGVuZGFudHMgZm9yIGZ1bmN0aW9uIHJlbW92YWxzCgkgIDQzMTVhNGI1NGQ5IGZvcmdvdCB0byBjaGFuZ2UgdGhlIGFuZHJvaWRtZWRpYS92aWRlb3Rvb2xib3gvY2FvcGVuZ2xsYXllcgoJICBzb3VyY2VzIGFzIHJlcXVpcmVkLgoKMjAxNy0wMS0xMSAxMDozNzozNCAtMDMwMCAgSnVhbiBQYWJsbyBVZ2FydGUgPHVnYXJ0ZUBlbmRsZXNzbS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogZGVmaW5lIEdMIGNvbnN0YW50cyBpZiBuZWVkZWQgaW5zdGVhZCBvZiB1c2luZyAjaWZkZWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE0NAoKMjAxNy0wMS0xMSAxMDozMjoyMyAtMDMwMCAgSnVhbiBQYWJsbyBVZ2FydGUgPHVnYXJ0ZUBlbmRsZXNzbS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ2xsaXZlc2hhZGVyLmM6CgkgIGdsL2V4YW1wbGVzL2d0azogZml4ZWQgY29tcGlsYXRpb24gb24gc3lzdGVtcyB3aXRob3V0IEdMX0dFT01FVFJZX1NIQURFUgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MTQzCgoyMDE3LTAxLTEzIDExOjA4OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiBkb2N1bWVudCBmdW5jdGlvbnMKCjIwMTctMDEtMTMgMTE6MDY6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbHV0aWxzLmM6CgkqIGV4dC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x1dGlsczogcHJpdmF0aXNlIG1hdHJpeCBtdWx0aXBsaWNhdGlvbi92aWRlb2FmZmluZXRyYW5zZm9ybWF0aW9uIHJldHJpZXZhbAoKMjAxNy0wMS0xMiAyMTozNToyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHV0aWxzLmg6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlsc19wcml2YXRlLmg6CgkgIGdsL3V0aWxzOiBhbHNvIHRha2UgY2FyZSBvZiB0aGUgbG9jYWwgR0wgY29udGV4dCBpbiBxdWVyeSBmdW5jdGlvbnMKCSAgU2ltcGxpZmllcyBhIGRlZHVwbGljYXRlcyBhIGxvdCBvZiBjb2RlIGluIGVsZW1lbnRzIHJldHJpZXZpbmcvc2V0dGluZwoJICB0aGUgbG9jYWwgT3BlbkdMIGNvbnRleHQuCgoyMDE3LTAxLTEyIDAxOjU3OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1dGlsczogcmVtb3ZlIHRyaXZpYWwgaGVscGVyIGZ1bmN0aW9uCgkgIGdzdF9nbF9jYXBzX3JlcGxhY2VfYWxsX2NhcHNfZmVhdHVyZXMoKSBpcyBvbmx5IHVzZWQgaW4gdHdvIHBsYWNlcyBhbmQgY2FuCgkgIGJlIHRyaXZpYWxseSByZXByb2R1Y2VkLgoKMjAxNy0wMS0xMSAxNjowOTozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdsL2RvY3M6IGFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQKCjIwMTctMDEtMTEgMTY6MDk6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9kb2NzOiBzb21lIHR5cGUgZml4ZXMgb2YgdHlwZSBuYW1lcwoKMjAxNy0wMS0xMiAxNjozMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKMjAxNy0wMS0xMiAxNTo1NTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9tZXNvbi5idWlsZDoKCSAgb3BlbmN2OiBGaXggYnVpbGQgd2l0aCBPcGVuQ1YgPCAzCgkgIFdlIG9ubHkgbmVlZCB0aGUgb3BlbmN2Mi9iZ3NlZ20uaHBwIGhlYWRlciBmb3IgT3BlbkNWID49IDMgYW5kIGhhdmUKCSAgY29tcGF0IGNvZGUgZm9yIG9sZGVyIHZlcnNpb25zLgoKMjAxNy0wMS0xMiAxNTozODoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90dG1sL01ha2VmaWxlLmFtOgoJICB0dG1sOiBMaW5rIHdpdGggLWxtIGZvciByb3VuZCgpCgo9PT0gcmVsZWFzZSAxLjExLjEgPT09CgoyMDE3LTAxLTEyIDE1OjM5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgUmVsZWFzZSAxLjExLjEKCjIwMTctMDEtMTIgMTQ6NDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNy0wMS0xMiAxNDozNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2hyLnBvOgoJKiBwby9pZC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTctMDEtMTAgMTU6NDU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkgIGNvZGVjcGFyc2VyczogcmVtb3ZlIHByb2JsZW1hdGljICdleHRlcm4gaW5saW5lJwoJICAnZXh0ZXJuIGlubGluZScgd2FzIGFkZGVkIGluIDJmYjc2Yzg5IGZvciBNU1ZDIChpdCB3YXMganVzdAoJICAnaW5saW5lJyBiZWZvcmUpLCBidXQgYWxsIG9mIHRoaXMgZG9lc24ndCByZWFsbHkgbWFrZSBzZW5zZSwKCSAgdGhlIGZ1bmN0aW9ucyBhcmUgbm90IGdvaW5nIHRvIGJlIGlubGluZWQgYW55d2F5LCBhbmQgd2hhdAoJICAnZXh0ZXJuIGlubGluZScgbWVhbnMgZXhhY3RseSBhbHNvIGFwcGVhcnMgdG8gZGVwZW5kIG9uIHRoZQoJICBDeHggc3RhbmRhcmQgdGFyZ2V0dGVkLiBMZXQncyBqdXN0IHJlbW92ZSB0aGUgJ2V4dGVybiBpbmxpbmUnCgkgIGVudGlyZWx5LiBBdCBsZWFzdCBnY2M2IHN0aWxsIGVtaXRzIHRoZSBleGFjdCBzYW1lIGNvZGUgYXMKCSAgYmVmb3JlIGFueXdheS4gRml4ZXMgY29tcGlsYXRpb24vbGlua2luZyB3aXRoIGdjYyA0LjggYXMKCSAgdXNlZCBvbiBMNFQgb24gdGhlIFRLMS4KCjIwMTctMDEtMTAgMDg6MjY6MDQgLTA3MDAgIE1hdHQgU3RhcGxlcyA8c3RhcGxlczI1NUBnbWFpbC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBDaGFpbiB1cCB0byBwYXJlbnQgY2xhc3MnIHNpbmsgZXZlbnQgaGFuZGxlcgoJICBDYWxsIGJhc2UgY2xhc3MncyBzaW5rX2V2ZW50IGhhbmRsZXIgYWZ0ZXIgaGFuZGxpbmcgR1NUX0VWRU5UX0ZMVVNIX1NUT1AKCSAgZXZlbnQsIHNvIHRoYXQgYmFzZSBjbGFzcyBkb2Vzbid0IGdldCBzdHVjayBpbiBhICdmbHVzaGluZycgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzA5NwoKMjAxNy0wMS0xMCAxNjoyNzoyOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogVXNlIGEgc2ltcGxlIHF1ZXVlIGluc3RlYWQgb2YgcXVldWUyCgkgIFRoZSByZWFzb24gd2UgcHJldmlvdXNseSB1c2VkIHF1ZXVlMiB3YXMgdG8gY2FsY3VsYXRlIHRoZSBkb3dubG9hZCByYXRlLAoJICBidXQgdGhhdCB3YXNuJ3QgZW50aXJlbHkgY29ycmVjdCBhbmQgd2UgdGhlcmVmb3JlIGNhbGN1bGF0ZSBpdCBiZWZvcmUKCSAgcXVldWUyLiBXZSB0aGVyZWZvcmUgbm93IGp1c3QgbmVlZCBhIHNpbXBsZSBxdWV1ZS4KCjIwMTYtMTEtMTEgMDg6NDQ6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogUmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlcwoJICBXZSBub3cgaGF2ZSBwcm9wZXJseSBub24tYmxvY2tpbmcgZG93bmxvYWQgdGltZSBjYWxjdWxhdGlvbgoKMjAxNy0wMS0xMCAxNjo1NDo0OCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuaDoKCSAgcW1sZ2xzcmM6IHVzZSBnbEJsaXRGcmFtZWJ1ZmZlciB0byBjb3B5IHRleHR1cmUgZm9yIEdMRVMzLjAKCSAgSWYgc3VwcG9ydCBnbEJsaXRGcmFtZUJ1ZmZlciwgdXNlIGl0IGZvciB0ZXh0dXJlIGNvcHkgaW5zdGVhZAoJICBvZiBnbENvcHlUZXhJbWFnZTJECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcwNzgKCjIwMTctMDEtMTAgMjA6MDc6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogdXNlIHRoZSBzYW1lIHBhcmFtZXRlciBuYW1lcyBiZXR3ZWVuIHZmdW5jcyBhbmQgZnVuY3Rpb25zIG9mIHRoZSBzYW1lIG5hbWUKCSAgU2lsZW5jZXMgR0kgd2FybmluZ3MgYWJvdXQgc3ltYm9sJ3Mgbm90IGJlaW5nIHVzZWQgZnJvbSBzb3VyY2UgY29kZQoJICBjb21tZW50IGJsb2NrCgoyMDE3LTAxLTEwIDIwOjA2OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsYmFzZW1lbW9yeTogdHlwZSBmaXggZm9yIEdzdEdMQmFzZU1lbW9yeUFsbG9jYXRvckFsbG9jRnVuY3Rpb24KCjIwMTctMDEtMTAgMjA6MDU6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBhZGQgbWlzc2luZyB0cmFuc2ZlciBhbm5vdGF0aW9ucwoKMjAxNy0wMS0xMCAyMDowNDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSAgZ2w6IGFkZCBza2lwIGFubm90YXRpb25zIHRvIG5vbi1HSSBwb3NzaWJsZSBzdHJ1Y3QgY29uc3RydWN0b3JzCgoyMDE3LTAxLTEwIDIwOjAzOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsYmFzZW1lbW9yeTogcmVtb3ZlIHVudXNlZCBhbmQgI2lmIDAnZWQgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCjIwMTctMDEtMTAgMTk6NTg6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmg6CgkgIGdsOiBhZGQgbmVjZXNzYXJ5IGdldF90eXBlKCkgZnVuY3Rpb25zIGZvciBhbGxvY2F0aW9uIHBhcmFtcyBzdHJ1Y3R1cmVzCgkgIEFsbCB1c2luZyB0aGUgZXhpc3RpbmcgR3N0R0xBbGxvY2F0aW9uUGFyYW1zIGluZnJhc3RydWN0dXJlCgoyMDE3LTAxLTEwIDE5OjU1OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBnbC9kb2NzL3NlY3Rpb25zLnR4dDogcmVtb3ZlIG5vbi1leGlzdGFudCBzeW1ib2xzCgoyMDE3LTAxLTEwIDE1OjM1OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2xkaXNwbGF5OiBzb21lIGFubm90YXRpb24gdXBkYXRlcy90eXBvIGZpeGVzCgoyMDE3LTAxLTEwIDE0OjI5OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgZ2w6IHJlbW92ZSByZWZlcmVuY2UgdG8gbm9uLWV4aXN0YW50IGhlYWRlcgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ2wuaDo1Nzo0NTogZmF0YWwgZXJyb3I6IGdzdC9nbC9nc3RnbGNvbnRyb2xiaW5kaW5ncHJveHkuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8Z3N0L2dsL2dzdGdsY29udHJvbGJpbmRpbmdwcm94eS5oPgoJICBeCgoyMDE3LTAxLTEwIDEyOjUxOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udHJvbGJpbmRpbmdwcm94eS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250cm9sYmluZGluZ3Byb3h5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgZ2w6IHJlbW92ZSBjdXN0b20gY29udHJvbCBiaW5kaW5nIHByb3h5CgkgIFVzZSB0aGUgZXhpc3RpbmcgR3N0UHJveHlDb250cm9sQmluZGluZyBpbnN0ZWFkLgoKMjAxNi0xMS0xNyAxNzoxNTo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIGdsL3BrZy1jb25maWc6IGFkZCB0aGUgY29uZmlndXJlZCBwbGF0Zm9ybS9hcGkvd2luc3lzCgkgIEFsbG93cyB1c2VycyB0byBxdWVyeSB0aGlzIGZyb20gcGtnLWNvbmZpZyBpbnN0ZWFkIG9mIHJlcXVpcmluZyB0aGVtIHRvCgkgIGNvbXBpbGUgbWluaSBwcm9ncmFtcyBjaGVja2luZyBkZWZpbmVzIGluIGdzdGdsY29uZmlnLmgKCjIwMTYtMTEtMTggMDE6MDY6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJICBnbDogcmVtb3ZlIHVubmVlZGVkIGdzdF9nbF9idWZmZXJfYWxsb2MgZnJvbSBoZWFkZXIgZmlsZQoJICBUaGVyZSdzIG5vIGltcGxlbWVudGF0aW9uIGFueW1vcmUhCgoyMDE2LTExLTE3IDE4OjAwOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmg6CgkgIGdsL2VnbDogcmVtb3ZlIHVzZSBvZiB0ZXh0dXJlIG9yaWVudGF0aW9uCgoyMDE2LTExLTE3IDE3OjUxOjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBnbC9wa2ctY29uZmlnOiBkb24ndCBhZHZlcnRpc2UgYWxsIG91ciBkZXBlbmRlbnQgbGlicmFyaWVzIGFzIGRlcHMKCSAgSWYgYW4gYXBwbGljYXRpb24vbGlicmFyeSBleHBsaWNpdGx5IG5lZWRzIGEgbGlicmFyeSwgaXQgbmVlZHMgdG8gbGluawoJICBhZ2FpbnN0IGl0IGl0c2VsZi4KCjIwMTctMDEtMDkgMTc6NTM6MzggKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5jOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGVzdGFtcGVyLmg6CgkgIHRpbWVjb2Rlc3RhbXBlcjogUG9zdCBlbGVtZW50IG1lc3NhZ2Ugd2l0aCBjdXJyZW50IHRpbWVjb2RlCgkgIHRpbWVjb2Rlc3RhbXBlciB3aWxsIHBvc3QgYW4gZWxlbWVudCBtZXNzYWdlIHdoaWNoIGNvbnRhaW5zIHRoZSBjdXJyZW50CgkgIHRpbWVjb2RlIGl0IGp1c3Qgc3RhbXBlZC4gSWYgYSB0aW1lY29kZSB3YXMgYWxyZWFkeSBmb3VuZCBhbmQgbm90CgkgIHJlcGxhY2VkLCBpdCB3aWxsIHN0aWxsIHBvc3QgaXQgaW4gYSBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3MDQ4CgoyMDE3LTAxLTA1IDE1OjQxOjA2ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IERvIG5vdCBhcHBlbmQgYSB6ZXJvIHRpbWVjb2RlIGlmIG5vbmUgaXMgZm91bmQgb24gdGhlIHNvdXJjZQoJICBJZiB0aGUgc291cmNlIGRvZXNuJ3QgZ2l2ZSB1cyB0aW1lY29kZSBpbmZvcm1hdGlvbiwgZG8gbm90IGFwcGVuZCBhIHplcm8KCSAgdGltZWNvZGUgdG8gdGhlIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjkwMAoKMjAxNy0wMS0xMCAwMTowMDoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsY29udGV4dC9lZ2w6IGRvbid0IG92ZXJ3cml0ZSBzZXQgR0Vycm9yCgkgIERvaW5nIHNvIGlzIGFuIGVycm9yIGFuZCB3aWxsIGNhdXNlIGEgZ2xpYiB3YXJuaW5nIHRvIGJlIHByaW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3MjIKCjIwMTctMDEtMDUgMjA6NDU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkZWNrbGluazogZml4IHBsdWdpbiBmaWxlbmFtZQoKMjAxNy0wMS0wNSAyMDozNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJKiBzeXMvZGVja2xpbmsvbWVzb24uYnVpbGQ6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSAgbWVzb246IGJ1aWxkIGRlY2tsaW5rIHBsdWdpbgoKMjAxNy0wMS0wNSAxMjozNDozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEbyBub3QgdXNlIGdzdHdheWxhbmQgdmFyaWFibGUgd2hlbiBub3Qgc2V0CgoyMDE3LTAxLTA1IDEyOjMxOjE0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgbWVzb246IEdlbmVyYXRlIHRoZSB3YXlsYW5kIHBjIGZpbGUgd2hlbiBuZWVkZWQKCjIwMTctMDEtMDUgMTE6MjU6MTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogcGtnY29uZmlnL21lc29uLmJ1aWxkOgoJICBtZXNvbjogRG8gbm90IHRyeSB0byB1c2UgdW5zZXQgZ3N0Z2wgaWYgZ3N0Z2wgaXMgbm90IGJ1aWx0CgoyMDE3LTAxLTA1IDE1OjA1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBPcHVzIGluIHRoZSBkZWNvZGVyCgoyMDE3LTAxLTA1IDE1OjAwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTaWxlbnRseSBza2lwIENPTE9SX0Zvcm1hdEFuZHJvaWRPcGFxdWUgd2hlbiBjb252ZXJ0aW5nIHRvIGNhcHMKCSAgVGhpcyBpcyBzcGVjaWFsIGFuZCBoYW5kbGVkIGluIHRoZSBkZWNvZGVyIHdoZW4gZG9pbmcgcmVuZGVyaW5nIHRvIGEKCSAgc3VyZmFjZS4gUHJpbnRpbmcgYSB3YXJuaW5nIGZvciB0aGlzIGlzIGp1c3QgdW5uZWNlc3Nhcnkgbm9pc2UKCjIwMTctMDEtMDQgMTY6NTE6MTAgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9tZXNvbi5idWlsZDoKCSAgbWVzb246IGdlbmVyYXRlIHBrZy1jb25maWcgLXVuaW5zdGFsbGVkIHBjIGZpbGVzCgkgIEdlbmVyYXRpbmcgdGhvc2UgZmlsZXMgaXMgdXNlZnVsIGZvciB1c2VycyBidWlsZGluZyB0aGUgR1N0cmVhbWVyIHN0YWNrCgkgIHVzaW5nIG1lc29uIGFuZCBoYXZpbmcgdG8gbGluayBpdCB0byBhbm90aGVyIHByb2plY3Qgd2hpY2ggaXMgc3RpbGwKCSAgdXNpbmcgdGhlIGF1dG90b29scy4KCSAgV2hpbGUgZG9pbmcgc28sIGZpeCBzb21lIC11bmluc3RhbGxlZCBwYyBmaWxlcyB3aGljaCB3ZXJlIHVzaW5nIGEKCSAgc3VzcGljaW91cyAncGNmaWxlZGlyJyB3aGljaCB3YXMgbmV2ZXIgcmVwbGFjZWQgb3IgZGVmaW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjgxMAoKMjAxNi0xMi0wOSAxNzo0ODo1MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBTdXBwb3J0IGJ1aWxkaW5nIHdpdGhvdXQgR3N0IGRlYnVnCgoyMDE3LTAxLTA0IDIwOjU5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cHBvcnQgZm9yIFZQOQoKMjAxNy0wMS0wMyAxODo1MzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBY3RpdmVseSByZXF1ZXN0IHRoZSBKYXZhIFZNIGZyb20gdGhlIGFwcGxpY2F0aW9uCgkgIFRoaXMgaXMgbW9yZSBjb25zaXN0ZW50IHdpdGggaG93IHdlIGFscmVhZHkgcmVxdWVzdCB0aGUgYXBwbGljYXRpb24KCSAgY2xhc3MgbG9hZGVyIGFuZCBvdGhlciBhcHBsaWNhdGlvbiByZXNvdXJjZXMgZWxzZXdoZXJlLgoKMjAxNy0wMS0wMyAxNzozMTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNy0wMS0wMyAxNzozMDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEFkZCBzdXBwb3J0IGZvciA4LzE2IGNoYW5uZWxzIHZpYSBwcm9wZXJ0eQoJICBUaGVzZSBhcmUgdW5wb3NpdGlvbmVkIGNoYW5uZWwgbGF5b3V0cy4KCjIwMTctMDEtMDMgMDk6MDI6MzYgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICBGaXggc29tZSBjYXBzIGxlYWtzIGluIHBhZCB0ZW1wbGF0ZSBjcmVhdGlvbiBjb2RlCgkgIGdzdF9wYWRfdGVtcGxhdGVfbmV3KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YKCSAgdGhlIGNhcHMgcGFzc2VkIHRvIGl0LCBzbyB3ZSBuZWVkIHRvIHVucmVmIHRoZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NzkwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3ODcKCjIwMTYtMTItMDggMTA6MjI6MjMgKzAxMDAgIEZhYmllbiBEZXNzZW5uZSA8ZmFiaWVuLmRlc3Nlbm5lQHN0LmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggZGlzcGxheSByZS1jb25uZWN0aW9uIChyZWRyYXcgcGVuZGluZykKCSAgUmVzZXQgcmVkcmF3X3BlbmRpbmcgYXQgZGlzcGxheSBkaXNjb25uZWN0aW9uLCBzbyB3ZSBjYW4gcmUtY29ubmVjdAoJICBsYXRlciBmcm9tIGEgY2xlYW4gc3RhdGUgKGF2b2lkIGVuZGxlc3MgYnVmZmVyIGRyb3BzKS4KCSAgQWRkIGEgbG9nIHRvIGluZm9ybSBvZiBkcm9wcGVkIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3OTEKCjIwMTYtMTItMTQgMTA6Mzc6MTQgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RkZXdhcnAuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRld2FycC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jcHA6CgkqIGV4dC9vcGVuY3YvbWVzb24uYnVpbGQ6CgkgIG9wZW5jdjogYWRkIGRld2FycCBwbHVnaW4KCSAgbmV3IHBsdWdpbiB0aGF0IGRld2FycCBmaXNoZXllIGltYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MDQ3CgoyMDE3LTAxLTAyIDIxOjA1OjU1ICswMTAwICBGYWJyaWNlIEJlbGxldCA8ZmFicmljZUBiZWxsZXQuaW5mbz4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NTogZml4IGEgbWlub3Igc3RyaW5nIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjcyNwoKMjAxNi0xMi0zMSAyMDo1Nzo1NCArMDEwMCAgRmFicmljZSBCZWxsZXQgPGZhYnJpY2VAYmVsbGV0LmluZm8+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGZpeCBhIHJlY29uZmlndXJlIGV2ZW50IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjcyNgoKMjAxNy0wMS0wMiAxOTo1Njo0MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogY29uZmlnLmgubWVzb246CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL3V2Y2gyNjQvbWVzb24uYnVpbGQ6CgkgIHV2Y2gyNjRzcmM6IEFkZCBtZXNvbiBidWlsZCBzdXBwb3J0CgoyMDE3LTAxLTAyIDE5OjU1OjM0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggd3JvbmcgYXJndW1lbnQgb3JkZXIgdG8gZm9yY2Uta2V5LXVuaXQgZXZlbnQKCSAgQ0lEIDEzNzM0MjEKCjIwMTctMDEtMDIgMTQ6NTI6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJICBjaGVjazogVXNlIGdzdF9jaGVja19ydW5fc3VpdGUKCSAgRW5zdXJlcyB0aGF0IHh1bml0IHJlcG9ydHMgZ2V0IGdlbmVyYXRlZCB3aGVuIHJlcXVlc3RlZAoKMjAxNy0wMS0wMiAxNzo1MDowMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IEZpeCBtaW5vciB1c2UgYWZ0ZXIgZnJlZSByZWZlcmVuY2UKCSAgSnVzdCBhIG1hdHRlciBvZiByZW9yZGVyaW5nIGEgZ19mcmVlKCkgL2FmdGVyLyBjbGVhbmluZyBvdXQgYWxsIHRoZQoJICBtZW1iZXJzLgoJICBDSUQgMTM5Njc0NgoKMjAxNS0wMy0xMSAyMTo1NDowMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogdXBkYXRlIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAxOAoKMjAxNi0xMi0yOSAxODo1Njo0MyArMDAwMCAgVXJzdWxhIE1hcGxlaHVyc3QgPHVyc3VsYUBrYW5nYXRyb25peC5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogc29tZSBmaWxlcyBhcmUgbWlzc2luZyBpbiB0aGUgcmVsZWFzZSB0YXJiYWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY1OTEKCjIwMTYtMTItMjggMTM6NTI6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogZGV0ZXJtaW5lIGludHJhIG9mIGZyYW1lIGF0IGZyYW1lIHBhcnNlIHRpbWUKCSAgLi4uIHJhdGhlciB0aGFuIHdoZW4gZGV0ZXJtaW5pbmcgd2hlbiB0byBlbmQgdGhlIGZyYW1lLgoJICBUaGUgb3Bwb3J0dW5pdHkgdG8gZG8gc28gbWlnaHQgbm90IGNvbWUgd2hlbiBmb3JjZWQgdG8gZHJhaW4sCgkgIGFuZCBpdCBzZWVtcyBuaWNlciBhbnl3YXkgdG8gZG8gc28gYXQgcGFyc2Ugd3JhcHVwIHRpbWUuCgoyMDE2LTEyLTI0IDA4OjQyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9pc29mZi5jOgoJICBkYXNoOiBEZWZpbmUgZGVidWcgY2F0ZWdvcnkgdXNlZCBpbiB0aGUgaXNvZmYgY29kZSBmb3IgdGhlIHRlc3QgdG9vIG5vdwoKMjAxNi0xMi0yNCAxNDozMToxMiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJICBkYXNoOiBJbmNsdWRlIGRlYnVnIG9mIGdzdGlzb2ZmIG9uIGRhc2hkZW11eCBjYXRlZ29yeQoJICBNb3ZlIGRlYnVnIGNhdGVnb3J5IG9mIGdzdGlzb2ZmIGZyb20gZGVmYXVsdCB0byBkYXNoZGVtdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjQ2MQoKMjAxNi0xMi0yMyAxMzoyNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb2J1ZmZlcnNwbGl0L2dzdGF1ZGlvYnVmZmVyc3BsaXQuYzoKCSAgYXVkaW9idWZmZXJzcGxpdDogRG9uJ3QgdHJ5IHRvIG91dHB1dCBhbnl0aGluZyBpZiBzYW1wbGVzX3Blcl9idWZmZXIgPT0gMAoJICBUaGlzIGhhcHBlbnMgaWYgd2UgaGFkIG5vIENBUFMgZXZlbnQgeWV0IGJ1dCBlLmcuIGdvdCBhbiBFT1MgZXZlbnQuIFdlCgkgIHdvdWxkIHRoZW4gdHJ5IHRvIG91dHB1dCBhIDAtc2l6ZWQgYnVmZmVyLCBidXQgZ2V0dGluZyB0aGF0IGZyb20gdGhlCgkgIGFkYXB0ZXIgd2lsbCBnaXZlIGFuIGFzc2VydGlvbiwgcmV0dXJuIE5VTEwgYW5kIHRoZW4gY3Jhc2guCgoyMDE2LTEyLTIzIDE1OjQxOjU3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFkZCBmaXJzdF9vZmZzZXQgb2Ygc2lkeCBib3ggdG8gYmFzZSBvZmZzZXQKCSAgc2lkeCBoYXMgImZpcnN0X29mZnNldCIgc3ludGF4IHdoaWNoIHJlcHJlc2VudHMgdGhlIGRpc3RhbmNlIGluIGJ5dGVzCgkgIGZyb20gYW5jaG9yIHBvaW50IHRvIG1lZGlhIGZyYWdtZW50LiBJZiBwcmVzZW50LCB3ZSBzaG91bGQgYWRqdXN0CgkgIHNpZHhfYmFzZV9vZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY0MzEKCjIwMTYtMTItMjMgMTU6MzE6MzQgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRW5zdXJlIHNpZHggcGFyc2luZyB3aGVuIHVwZGF0aW5nIGZyYWdtZW50IGluZm8KCSAgRml4IHNlZWsgZmFpbCB3aXRoIE9uLURlbWFuZCBwcm9maWxlIG1wZCB3aGljaCBoYXMgbm8gaW5kZXhSYW5nZSBhdHRyaWJ1dGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjQzMQoKMjAxNi0xMi0yMiAxMTo0ODowNSAtMDUwMCAgU3RlcGFuIFNhbGVuaWtvdmljaCA8c3RlcGFuLnNhbGVuaWtvdmljaEBzYXZvaXJmYWlyZWxpbnV4LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbXByb3ZlIFFQQSBjaGVjayBmb3IgY3Jvc3MgY29tcGlsYXRpb24KCSAgUHJlZml4IHRoZSAkUVBBX0lOQ0xVREVfUEFUSCB3aXRoICRQS0dfQ09ORklHX1NZU1JPT1RfRElSIGp1c3QKCSAgbGlrZSB3aGVuIGNoZWNraW5nIGZvciBvcGVuY3YgZGlyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2Mzk5CgoyMDE2LTEyLTIyIDE2OjA4OjMwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBtb3ZlIGFkYXB0ZXIgbnVtYmVyIHNldC11cCBieSB3YXkgb2YgZW52aXJvbm1lbnQgdG8gZHZic3JjCgkgIFRoaXMgbG9naWMgZGlkIG5vdCBiZWxvbmcgdG8gdGhlIGNoYW5uZWwgY29uZmlndXJhdGlvbgoJICBwYXJzZXIgKG9ubHkgdXNlZCBieSBkdmJiYXNlYmluKSBidXQgdG8gZHZic3JjLCB3aGljaAoJICBpcyB0aGUgZWxlbWVudCBkaXJlY3RseSB1c2luZyB0aGlzIHZhbHVlIGFuZCBob25vcmluZwoJICB0aGUgImFkYXB0ZXIiIHByb3BlcnR5LgoJICBBbGxvd3MgcHJldmlvdXNseSBub24td29ya2luZyBjYXNlcyBsaWtlIHRoaXMgdG8gd29yazoKCSAgR1NUX0RWQl9BREFQVEVSPTEgZ3N0LWxhdW5jaC0xLjAgZHZic3JjIGRlbHN5cz0xMSBtb2R1bGF0aW9uPTcgZnJlcXVlbmN5PTY4OTAwMDAwMCAhIGZha2VzaW5rCgoyMDE2LTEyLTIyIDEzOjQyOjU5IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBwYXJzZWNoYW5uZWxzOiByZXBsYWNlIG1pc3NsZWFkaWduIGVycm9yIG1lc3NhZ2UKCSAgUG9zc2libGUgZmFpbHVyZSBjYXNlcyBhbHNvIGluY2x1ZGUgbm90IGZpbmRpbmcgdGhlCgkgIHJlcXVlc3RlZCBjaGFubmVsLgoKMjAxNi0xMi0xMiAxNzowNTo1MyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgRFRWX1NUUkVBTV9JRCB0byB0aGUgPj0gdjggKG1pbm9yKSBncm91cAoJICBEcm9wIHJlZHVuZGFudCBjb21tZW50IHdoaWxlIGF0IGl0LgoKMjAxNi0xMi0yMSAyMzoyNDo0OCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEcmFpbiByZW1haW5pbmcgYnVmZmVyIGluIGFkYXB0ZXIKCSAgUHJldmlvdXMgcGF0Y2ggYWxsb3dzIHNpZHggYm94IHBhcnNpbmcgZnJvbSBpbmNvbWluZyBidWZmZXJzLgoJICBTaW5jZSB0aGUgaW5jb21pbmcgYnVmZmVyIGJvdW5kYXJ5IG1pZ2h0IGJlIG92ZXIgc2lkeCBib3gsCgkgIHRoZXJlIGNhbiBiZSByZW1haW5pbmcgYnVmZmVyIGluIGlzb2JtZmYgcGFyc2VyIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYzNTIKCjIwMTYtMTItMjEgMTM6MzE6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIGxlZnQtb3ZlciBmaWxlCgoyMDE2LTEyLTIxIDEyOjA1OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgY2hlY2s6IFVzZSBub24tZGVwcmVjYXRlZCBBUEkKCjIwMTYtMTItMjEgMTE6Mzg6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogQWRkIGRlcHJlY2F0ZWQgY29tcGF0aWJpbGl0eSBmdW5jdGlvbnMgZm9yIHRoZSBhdWRpby92aWRlby9zdWJ0aXRsZSBzdHJlYW0gZ2V0dGVycwoKMjAxNi0xMi0yMSAxMTozMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBNb3ZlIGF1ZGlvL3ZpZGVvL3N1YnRpdGxlIHN0cmVhbSBsaXN0IGdldHRlcnMgaW50byB0aGUgY29ycmVjdCBuYW1lc3BhY2UKCjIwMTYtMTItMjAgMTg6MjA6MDIgKzA4MDAgIEx5b24gV2FuZyA8bHlvbi53YW5nQG54cC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogQWRkIGdldCB0cmFjayBudW1iZXIgbWVkaWEgaW5mbyBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU3MAoKMjAxNi0xMi0yMSAxMTowMDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZy5oLm1lc29uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FwZXhzaW5rL0xHUEwtMy4wLnR4dDoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkqIGV4dC9zbmRpby9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5oOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSogZXh0L3dpbGRtaWRpL01ha2VmaWxlLmFtOgoJKiBleHQvd2lsZG1pZGkvUkVBRE1FOgoJKiBleHQvd2lsZG1pZGkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3dpbGRtaWRpL2dzdHdpbGRtaWRpLmg6CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL21lc29uLmJ1aWxkOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NkeGFwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSogZ3N0L2RjY3AvbWVzb24uYnVpbGQ6CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJKiBnc3QvZmFjZW92ZXJsYXkvbWVzb24uYnVpbGQ6CgkqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvZ2FtZXMvbWVzb24uYnVpbGQ6CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJKiBnc3QvaGR2cGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9tZXNvbi5idWlsZDoKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogZ3N0L21peG1hdHJpeC9tZXNvbi5idWlsZDoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9UT0RPOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSogZ3N0L212ZS9tZXNvbi5idWlsZDoKCSogZ3N0L212ZS9tdmUuaDoKCSogZ3N0L212ZS9tdmVhdWRpb2RlYy5jOgoJKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkqIGdzdC9udXZkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJKiBnc3Qvb3ZlcmxheS9tZXNvbi5idWlsZDoKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkqIGdzdC9wYXRjaGRldGVjdC9tZXNvbi5idWlsZDoKCSogZ3N0L3J0anBlZy8uZ2l0aWdub3JlOgoJKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRqcGVnL1JFQURNRToKCSogZ3N0L3J0anBlZy9SVGpwZWcuYzoKCSogZ3N0L3J0anBlZy9SVGpwZWcuaDoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSogZ3N0L3J0anBlZy9tZXNvbi5idWlsZDoKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4Lmg6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4Lmg6CgkqIGdzdC9zZGkvbWVzb24uYnVpbGQ6CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC90dGEvZ3N0dHRhLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJKiBnc3QvdHRhL21lc29uLmJ1aWxkOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5oOgoJKiBnc3QvdmJpZGVjL21lc29uLmJ1aWxkOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmg6CgkqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmM6CgkqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmg6CgkqIG1lc29uLmJ1aWxkOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL2dzdGF2Y3BsdWdpbi5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSogc3lzL2R4cjMvLmdpdGlnbm9yZToKCSogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSogc3lzL2R4cjMvZHhyM2NvbW1vbi5oOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZHhyMy9keHIzbWFyc2hhbC5saXN0OgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvYXNpLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9tYXN0ZXIuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpYXVkaW8uaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaXZpZGVvLmg6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuaDoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvZHJpMl93cy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ19kZWZzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX3R5cGVzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvcHZyMmQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzZXh0Lmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvd3NlZ2wuaDoKCSogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkqIHN5cy9xY2FtL2RhcmsuYzoKCSogc3lzL3FjYW0vZXhwb3N1cmUuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkqIHN5cy9xY2FtL3FjYW0tTGludXguYzoKCSogc3lzL3FjYW0vcWNhbS1MaW51eC5oOgoJKiBzeXMvcWNhbS9xY2FtLWxpYi5jOgoJKiBzeXMvcWNhbS9xY2FtLW9zLmM6CgkqIHN5cy9xY2FtL3FjYW0tb3MuaDoKCSogc3lzL3FjYW0vcWNhbS5oOgoJKiBzeXMvcWNhbS9xY2FtaXAuaDoKCSogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9SRUFETUU6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9SRUFETUU6CgkqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQQ2xpZW50UGxheU1pYy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BTZXJ2ZXJTZW5kTVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUENsaWVudFBsYXlNUDNTdHJlYW0uYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSAgUmVtb3ZlIHZhcmlvdXMgdW5wb3J0ZWQgcGx1Z2lucwoJICBJZiB0aGV5IHdlcmUgbm90IHBvcnRlZCBhZnRlciA0KyB5ZWFycyBpdCBzZWVtcyB1bmxpa2VseSB0aGF0IGFueWJvZHkgaXMKCSAgZXZlciBnb2luZyB0byBuZWVkIHRoZW0gYWdhaW4uIFRoZXkncmUgc3RpbGwgaW4gdGhlIEdJVCBoaXN0b3J5IGlmCgkgIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUzMAoKMjAxNi0xMi0yMSAxMzo0MToxNiArMDUzMCAgR2FyaW1hIEdhdXIgPGdhcmltYS5nQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZ3N0OiBGaXggbWVtb3J5IGxlYWtzIGluIHVzYWdlIG9mIGdzdF9lbGVtZW50X2dldF9yZXF1ZXN0X3BhZCgpIEFQSQoJICBUaGUgcmV0dXJuIHZhbHVlIGhhcyB0byBiZSB1bnJlZmZlZCBhdCBzb21lIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MzM0CgoyMDE2LTEyLTIwIDE1OjQ1OjEyIC0wNjAwICBEYW5pZWwgR2FyYmFuem8gPGRhbmllbC5nYXJiYW56b0ByaWRnZXJ1bi5jb20+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IGRpc3QgZ3N0LXByb2plY3QtbWFrZXIgc2NyaXB0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYzMTcKCjIwMTYtMTItMjAgMTE6MTY6MTEgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWx3YXlzIHBhcnNpbmcgc2lkeCBmb3IgT24tRGVtYW5kIHByb2ZpbGUKCSAgVGhlIGluZGV4UmFuZ2UgYXR0cmlidXRlIGlzIG9wdGlvbmFsIGFuZCBpZiBpdCdzIG5vdCBwcmVzZW50LCB3ZSBzaG91bGQKCSAgZXh0cmFjdCB0aGUgc2lkeCBib3ggZnJvbSBpbmNvbWluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MjAwCgoyMDE2LTEyLTE3IDE1OjU2OjA3ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmg6CgkgIGRhc2g6IFNwbGl0IGdzdF9pc29mZl9zaWR4X3BhcnNlcl9hZGRfYnVmZmVyKCkgZnVuY3Rpb24KCSAgVG8gcGFyc2luZyBzaWR4IGJveCBpdHNlbGYgd2l0aCBpc29ibWZmIHBhcnNlciwKCSAgc3BsaXQgZ3N0X2lzb2ZmX3NpZHhfcGFyc2VyX2FkZF9idWZmZXIoKSBpbnRvIHR3byBwYXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjIwMAoKMjAxNi0xMi0xOSAxMTo0MDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXgtdXRpbC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEV4dHJhY3QgSUQzIHRhZ3MsIHN0cmlwIHRoZW0gZnJvbSB0aGUgb3V0cHV0IGFuZCBwcm92aWRlIHRoZW0gYXMgdGFncwoJICBUaGV5IG9mdGVuIGRvbid0IG9ubHkgY29udGFpbiB0aGUgUENSIGluZm9ybWF0aW9uIGJ1dCBhbHNvIG90aGVyCgkgIG1ldGFkYXRhLCBsaWtlIHRpdGxlLiBHaXZlIHRoaXMgaW5mb3JtYXRpb24gdG8gdGhlIHBpcGVsaW5lLgoJICBBbHNvIHN0cmlwIHRoZSB0YWdzIGZyb20gdGhlIHN0cmVhbSBhcyB3ZSBhKSBhbHJlYWR5IHBhcnNlZCB0aGVtIG5vdyBhbmQKCSAgYikgZGVjb2RlcnMgZG9uJ3QgbGlrZSB0aGVzZSB0YWdzIHRvIGhhcHBlbiBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0KCSAgKGkuZS4gdGhlIHN0YXJ0IG9mIGVhY2ggZnJhZ21lbnQpIGFuZCB0YWdkZW11eCBvbmx5IGNhbiBzdHJpcCB0aGVtIG9mZgoJICB0aGUgYmVnaW5uaW5nIGFuZCBlbmQuCgoyMDE2LTEyLTE4IDE5OjE4OjIzICswMDAwICBHcmFoYW0gTGVnZ2V0dCA8bWluZnJpbkBzaGFycC5mbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IERvbid0IGxlYWsgYSB0YWdsaXN0IGlmIGEgdGFnbGlzdCBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjI0NAoKMjAxNi0xMi0xNyAxMzo0MjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSAgcXQ6IGltcHJvdmUgZWxlbWVudCBhbmQgcHJvcGVydHkgZGVzY3JpcHRpb25zIGEgYml0CgoyMDE2LTEyLTE2IDIyOjQ1OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBmaXggZGlzdGNoZWNrCgoyMDE2LTEyLTE2IDE5OjE1OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogcmVtb3ZlIGdlbmVyYXRpb24gb2YgcHJlLW1hZGUgY29uZmlnLmggZm9yIG1zdmMgYnVpbGRzCgkgIFRoaXMgaXMgbm8gbG9uZ2VyIG5lZWRlZCB3aXRoIHRoZSBNZXNvbiBidWlsZC4KCjIwMTYtMTItMTYgMTc6MjI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIGdlbmVyYXRlZCAuc3BlYyBmaWxlCgkgIExpa2VseSBleHRyZW1lbHkgYml0cm90dGVuLCBhbmQgd2Ugc2hvdWxkIG5vdCBzaGlwIHRoaXMgYW55d2F5LgoKMjAxNi0xMi0xNyAwMTowMDowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkgIGdsL2Zvcm1hdDogdXNlIHRoZSB1bnNpemVkIGZvcm1hdCBmb3IgUkdCIG9uIEdMRVMyCgkgIEluIEdMRVMyIEdMX1JHQjggZG9lc24ndCBleGlzdCBzbyB3ZSBjYW5ub3QgdXNlIGl0LCB1c2UgR0xfUkdCCgkgIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYxNDEKCjIwMTYtMTItMTYgMTM6MjU6NTggKzAyMDAgIERhbmllbCBTaGFoYWYgPGRhbmllbHNoQGFwYWNoZS5vcmc+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJICBtaXJyb3I6IEZpeCBkb2N1bWVudGF0aW9uIGZvciB0aGUgbWlycm9yIG1vZGUKCSAgVXNpbmcgdGhlIHdyb25nIGVudW0gdGhlcmUgY2F1c2VzIGl0IHRvIGJlIHJhbmRvbWx5IG1peGVkIHdpdGggdGhlIGRvY3MKCSAgb2YgdGhlIG90aGVyIGVudW1zLgoJICBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NDgyOTcKCjIwMTYtMTItMTYgMDA6MjI6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbC93aW5kb3c6IHJlbW92ZSB1bnVzZWQgcHJpdiB2YXJpYWJsZQoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXIvNzk4OS9jb25zb2xlCgoyMDE2LTEyLTE1IDAwOjU5OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW5kb3c6IHJlbW92ZSB1c2Ugb2YgbWFpbl9jb250ZXh0X3B1c2gvcG9wX3RocmVhZF9kZWZhdWx0KCkKCSAgTm8tb25lJ3MgdXNpbmcvZGVwZW5kaW5nIG9uIGl0IChpdCB3b3VsZCBoYXZlIGNyaXRpY2FsbGVkIGFuZCBub3Qgd29ya2VkKQoJICBhbmQgaXQncyBjYXVzaW5nIG1vcmUgcHJvYmxlbXMgdGhhbiBpdCdzIHNvbHZpbmcuICBTdG9yZSB0aGUgR01haW5Db250ZXh0CgkgIGluIHRoZSBwdWJsaWMgc3RydWN0IGluc3RlYWQgZm9yIHN1YmNsYXNzZXMgdG8gb3B0aW9uYWxseSB1c2UgaW5zdGVhZCBvZgoJICByZWx5aW5nIG9uIHRoZSBwdXNoL3BvcCBzdGF0ZSB0byBiZSBjb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTcwCgoyMDE2LTEyLTA3IDE2OjUxOjI3ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsL2VmZmVjdHM6IHVzZSBub24tUEJPIEdMTWVtb3J5IGZvciBpbnRlcm5hbCB0ZXh0dXJlcwoJICBtaWRkbGUgdGV4dHVyZXMgaW4gZ2xlZmZlY3RzIGRvIG5vdCBuZWVkIHRvIHVzZSBHc3RHTE1lbW9yeVBCTyBhcyB0aGV5CgkgIGFyZW4ndCB0cmFuc2ZlcmluZyBkYXRhIHRvL2Zyb20gdGhlIEdQVS4gVGhpcyB3aWxsIGNvc3QgdG9vIG11Y2ggRE1BCgkgIG1lbW9yeSBhbmQgY2F1c2UgcGVyZm9ybWFuY2UgaXNzdWUuIENoYW5nZSB0aGUgYWxsb2NhdG9yIHRvIHVzZSBub24tUEJPCgkgIEdzdEdMTWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MDcyCgoyMDE2LTEyLTE1IDE0OjA1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogU2V0ICJpcy1hZHRzIiB0byAxIGZvciBBRFRTIEFBQwoJICBPdGhlcndpc2UgaXQgZmFpbHMgdG8gZGVjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTAxCgoyMDE2LTEyLTE0IDE1OjUzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IFJlamVjdCBtdWx0aXZpZXcgdmlkZW8KCSAgZ2x2aWRlb21peGVyIGRvZXMgbm90IHN1cHBvcnQgaXQgY3VycmVudGx5IGFuZCBpdCBuZWVkcyBzcGVjaWFsIHN1cHBvcnQKCSAgZm9yIGhhbmRsaW5nIHRoaXMgY29ycmVjdGx5LCBhbmQgaXMgcmF0aGVyIG5vbi10cml2aWFsIHRvIGltcGxlbWVudCBmb3IKCSAgYWxsIGZvcm1hdHMuCgoyMDE2LTEyLTE0IDE1OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBSZWplY3QgbXVsdGl2aWV3IHZpZGVvCgkgIENvbXBvc2l0b3IgZG9lcyBub3Qgc3VwcG9ydCBpdCBjdXJyZW50bHkgYW5kIGl0IG5lZWRzIHNwZWNpYWwgc3VwcG9ydAoJICBmb3IgaGFuZGxpbmcgdGhpcyBjb3JyZWN0bHksIGFuZCBpcyByYXRoZXIgbm9uLXRyaXZpYWwgdG8gaW1wbGVtZW50IGZvcgoJICBhbGwgZm9ybWF0cy4KCjIwMTYtMTItMTQgMTU6MzU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIHVubG9jaygpIGlmIHNldF9pbmZvKCkgZmFpbHMKCSAgVGhlcmUgaXMgbm90IG11dGV4IGxvY2tlZCBoZXJlIHRoYXQgbmVlZHMgdG8gYmUgdW5sb2NrZWQuCgoyMDE2LTEyLTE0IDEzOjEwOjE4ICswNTMwICBHYXJpbWEgR2F1ciA8Z2FyaW1hLmdAc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICBzeXM6IEZpeCBjYXBzIG1lbW9yeSBsZWFrIGZyb20gcGFkIHRlbXBsYXRlIGNyZWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYwNzYKCjIwMTYtMTItMTQgMTM6MTA6NDYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBGb3J3YXJkIG90aGVyIG5vbi1FT1MgZXZlbnRzIGRvd25zdHJlYW0KCSAgQWxsb3cgbW9zdCBldmVudHMgdGhyb3VnaCBhcy1pcyBzbyBhdCBsZWFzdCB3ZSBkb24ndAoJICB3YXJuIGFib3V0IG1pc3Npbmcgc3RyZWFtLXN0YXJ0LiBEcm9wIHNlZ21lbnQgYW5kIGNhcHMsCgkgIGFzIHRob3NlIGFyZSBzZW50IGludGVybmFsbHkuCgoyMDE2LTEyLTEzIDIyOjM5OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogc3lzL21zZGsvbXNkay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXNzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5jOgoJICBnc3Q6IERvbid0IGRlY2xhcmUgdmFyaWFibGVzIGluc2lkZSB0aGUgZm9yIGxvb3AgaGVhZGVyCgkgIFRoaXMgaXMgYSBDOTkgZmVhdHVyZS4KCjIwMTYtMTItMTMgMjI6MjE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRG9uJ3QgZGVjbGFyZSB2YXJpYWJsZXMgaW5zaWRlIHRoZSBmb3IgbG9vcCBoZWFkZXIKCSAgVGhpcyBpcyBhIEM5OSBmZWF0dXJlLgoKMjAxNi0xMi0xMyAyMDo0Mjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRnJlZSBkZWNvZGVyIGluc3RhbmNlIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkKCSAgV2Ugb25seSBldmVyIGNsZWFuZWQgaXQgdXAgYmVmb3JlIG9uIGVycm9ycy4KCjIwMTYtMTEtMjIgMTM6NTU6MDAgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL21zZGsvTWFrZWZpbGUuYW06CgkqIHN5cy9tc2RrL2dzdG1zZGsuYzoKCSogc3lzL21zZGsvZ3N0bXNka21qcGVnZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGttanBlZ2RlYy5oOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkazogYWRkIG1qcGVnIGRlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc5MwoKMjAxNi0xMC0wNSAxNTozMjo0MyAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNkay5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrbWpwZWdlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka21qcGVnZW5jLmg6CgkqIHN5cy9tc2RrL21lc29uLmJ1aWxkOgoJICBtc2RrOiBhZGQgbWpwZWcgZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NzkzCgoyMDE2LTExLTI4IDE5OjE0OjIwIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RrLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY1ZGVjLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtoMjY1ZGVjLmg6CgkqIHN5cy9tc2RrL21lc29uLmJ1aWxkOgoJICBtc2RrOiBBZGQgSC4yNjUgZGVjb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzI2CgoyMDE2LTExLTA3IDEyOjMyOjM4IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy9tc2RrL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9nc3Rtc2RrLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtkZWMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2RlYy5oOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NGRlYy5jOgoJKiBzeXMvbXNkay9nc3Rtc2RraDI2NGRlYy5oOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSAgbXNkazogQWRkIEguMjY0IGRlY29kZXIKCSAgVGhlIGRlY29kZXIgb25seSBzdXBwb3J0cyBzeXN0ZW0gbWVtb3J5IG91dHB1dCBwcmVzZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1ODcKCjIwMTYtMTItMTIgMTU6MDk6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEF2b2lkIHVzaW5nIHVuc2V0IEdFcnJvcgoJICBnc3RfdXJpX2hhbmRsZXJfc2V0X3VyaSgpIGRvZXNuJ3QgZ3VhcmFudGVlIHRoZSBHRXJyb3Igd2lsbCBiZSBzZXQKCSAgaWYgaXQgcmV0dXJucyBGQUxTRS4KCjIwMTYtMTItMTIgMTA6NDM6NDMgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJICB0dG1scmVuZGVyOiBGaXggc2VnZmF1bHQgb24gX3JlbmRlcl90ZXh0X3JlZ2lvbigpCgkgIEZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTk2NQoKMjAxNi0xMi0xMiAxNDo0MjozOSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvdHRtbC9nc3R0dG1scGFyc2UuYzoKCSAgdHRtbHBhcnNlOiBUcmFuc2Zvcm0gY2FwcyBldmVudAoJICBGb3IgYXV0b3BsdWdnaW5nLCBkZWNvZGViaW4vcGFyc2ViaW4gcmVmZXJzIHRvIHRoZSBjYXBzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTY3CgoyMDE2LTEyLTA4IDEyOjM3OjI1ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHFtbDogRml4IGVnbCBiZWluZyBkZWluaXRpYWxpemVkIG9uIGRpc3BsYXkgY2xlYW51cAoJICBVc2UgdGhlIHdpdGhfZWdsX2Rpc3BsYXkoKSB2YXJpYW50IGluIG9yZGVyIHRvIG5vdCBkZXN0cm95IHRoZQoJICBFR0xEaXNwbGF5IG9uIGRlc3RydWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NzkzCgoyMDE2LTEyLTA4IDEyOjA3OjMxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1bmNvbmRpdGlvbmFsIHVzZSBvZiBGRUMgMi81CgkgIEl0IGlzIG5vdCBkZWZpbmVkIGZvciA8IHY1IG1pbm9yIDcKCjIwMTYtMTItMDYgMTU6NDA6MzggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGRlbGl2ZXJ5IHN5c3RlbSB0byBtaXNzaW5nIG1vZHVsYXRpb24gY2hlY2sgbWVzc2FnZQoJICBBIHR1bmluZyBvcGVyYXRpb24gY2FuIHNwYXduIG11bHRpcGxlIGNoZWNrcy4gQmVpbmcKCSAgYWJsZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlbSBtYWtlcyBkZWJ1Z2dpbmcKCSAgZWFzaWVyLgoKMjAxNi0xMi0wNSAxNjo1MToxMCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmIvcGFyc2VjaGFubmVsczogZHJvcCB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDE2LTEyLTA4IDExOjIyOjM4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRG9uJ3QgdHJ5IHRvIGNhY2hlIHRoZSBHUXVhcmsgZm9yIEdTVF9QTEFZRVJfRVJST1IKCSAgVGhpcyBpcyBwb3RlbnRpYWxseSByYWN5IChpbiB0aGUgdW5saWtlbHkgc2NlbmFyaW8gdGhhdCB3ZSBnZXQgdHdvCgkgIGZpcnN0LXRpbWUgY2FsbHMgdG8gZ3N0X3BsYXllcl9lcnJvcl9xdWFyaygpIGF0IHRoZSBzYW1lIHRpbWUpLiBUaGlzCgkgIHNob3VsZCBub3QgaW1wYWN0IGFueXRoaW5nIGluIHRlcm1zIG9mIHBlcmZvcm1hbmNlIHNpbmNlIGl0J3Mgb25seSBvbgoJICB0aGUgZXJyb3IgcGF0aC4KCSAgVGhlIGNhbGwgaXRzZWxmIGNvdWxkIGp1c3QgYmUgaW5saW5lZCBieSBtYWtpbmcgR1NUX1BMQVlFUl9FUlJPUiBiZQoJICBkZWZpbmVkIHRvIHRoZSBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZygpIGNhbGwsIGJ1dCB0aGlzIGZlZWxzIHVnbHkKCSAgZnJvbSBhbiBBUEkgcGVyc3BlY3RpdmUuCgoyMDE2LTEyLTA3IDE2OjA2OjQ4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJICBmZGthYWM6IGZpeCB0aGUgYnVpbGQgZm9yIG9sZGVyIGZka2FhYyB2ZXJzaW9ucwoJICBTdXBwb3J0IGZvciA3LjEgd2FzIGFkZGVkIGluIDAuMS4xNC4KCjIwMTYtMTItMDcgMjI6NTU6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbC9pdGVtOiBhbHNvIHVucmVmIHRoZSBkaXNwbGF5IG9uIGRlc3RydWN0aW9uCgkgIExlYWtpbmcgb2JqZWN0cyAoYW5kIGEgdGhyZWFkISkgaXMgbmV2ZXIgYSBnb29kIGlkZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3NDYKCjIwMTYtMTItMDcgMjI6NTg6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvbWFpbi5jcHA6CgkgIHRlc3RzL2V4YW1wbGVzL3FtbHNpbms6IHNjb3BlIFFBcHBsaWNhdGlvbi9FbmdpbmUKCSAgU28gdGhleSBhcmUgZGVzdHJveWVkIGJlZm9yZSBnc3RfZGVpbml0KCkgaXMgcnVuIGFuZCB0aGUgbGVha3MgdHJhY2VyCgkgIGRvZXNuJ3Qgc2hvdyBmYWxzZS1wb3NpdGl2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzU3NDYKCjIwMTYtMTItMDcgMTA6MjY6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IEZpeCBjb21waWxhdGlvbiB3aXRoIGNocm9tYXByaW50IDEuNAoJICBJdCB0YWtlcyBjb25zdCBpbnQxNl90ICogYXMgYXJndW1lbnQgbm93LCB3aGlsZSBiZWZvcmUgaXQgd2FzIHZvaWQgKi4gVG8KCSAgbWFrZSB0aGlzIHdvcmsgd2l0aCBib3RoIHZlcnNpb25zIHdpdGhvdXQgI2lmZGVmLCB3ZSBvbWl0IHRoZSBjb25zdC4KCjIwMTYtMTItMDUgMjM6Mzg6NTMgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBuZWVkbGVzcyB3cmFwcGVyIGFyb3VuZCBEVkIgQVBJJ3MgZHZiX2Rpc2VxY19tYXN0ZXJfY21kCgkgIEl0cyBvbmx5IHB1cnBvc2Ugd2FzIHRvIGhvbGQgYSB3YWl0IHRpbWUgdGhhdCB3YXMgYWx3YXlzIDAKCjIwMTYtMTItMDUgMjM6MTg6MzggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBzdXBwZXJmbHVvdXMgd2FpdCBpbiBkaXNlcWNfc2VuZF9tc2coKQoJICBJdCBpcyBhbHdheXMgemVyby4KCjIwMTYtMTItMDYgMDc6NTg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IFNhbml0eS1jaGVjayByZWN0YW5nbGUgc2l6ZXMgYSBiaXQgbW9yZSB0aG9yb3VnaAoJICBUaGUgeC95IGNvb3JkaW5hdGVzIGNvdWxkIGFscmVhZHkgYmUgYmlnZ2VyIHRoYW4gdGhlIGNvbmZpZ3VyZWQKCSAgd2lkdGgvaGVpZ2h0LCBhbmQgYWRkaW5nIHRoZSByZWN0YW5nbGUgd2lkdGgvaGVpZ2h0IGNvdWxkIGNhdXNlIGFuCgkgIG92ZXJmbG93LgoKMjAxNi0xMi0wNSAxNTo1NjozNiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdW5jb25kaXRpb25hbCB1c2Ugb2YgU1lTX0RWQkNfQU5ORVhfQwoJICBJdCBpcyBub3QgZGVmaW5lZCBmb3IgPCB2NSBtaW5vciA2CgoyMDE2LTEyLTA1IDE1OjUzOjEwIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB2YWx1ZSBmb3IgRFZCLUMgYW5uZXggQiBmaWVsZCBpbiBhZGFwdGVyIHN0cnVjdHVyZQoKMjAxNi0xMi0wNSAxODoxNzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3ZpZGVvcGFyc2U6IGZpeCB0eXBvcyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxNi0xMS0yOCAxNTo1NzozMyAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSAgZHRsczogU2V0IG9wZW5zc2wncyB0aHJlYWRpZCB0aGUgMS4wLnggd2F5CgkgIEZvciBwcmUtMS4xLnggb3BlbnNzbCwgYSBjYWxsYmFjayB0byBzZXQgdGhlIHRocmVhZCBpZCBuZWVkcyB0byBiZQoJICBwcm92aWRlZCB0byBvcGVuc3NsLiBJbiAwLjkueCB0aGUgdGhyZWFkIGlkIHdhcyBhbiB1bnNpZ25lZCBsb25nLiBJbgoJICAxLjAueCBpdCB3YXMgZXhwYW5kZWQgdG8gYmUgYWJsZSB0byBob2xkIGEgdm9pZCouIEhlcmUgd2UgY2hhbmdlIHRvIHVzZQoJICB0aGUgMS4wLnggQVBJIHNvIHRoYXQgdGhlIHRocmVhZCBpZCBjYW4gYWx3YXlzIGhvbGQgYSBHVGhyZWFkKiwgZXZlbiBvbgoJICBwbGF0Zm9ybXMgbGlrZSBtc3ZjIHg2NCB3aGVyZSB1bnNpZ25lZCBsb25nIGlzIG9ubHkgMzIgYml0cy4KCSAgQWxsIG9mIHRoaXMgaXMgc3RpbGwgI2lmZGVmJ2Qgb3V0IG9mIGV4aXN0ZW5jZSB3aGVuIGJ1aWxkaW5nIHdpdGgKCSAgb3BlbnNzbCAxLjEueCBvciBsYXRlciB3aGljaCBjaGFuZ2VkIHRoZSB0aHJlYWQgQVBJIGFnYWluLCBhbmQgZG9lcyBub3QKCSAgbmVlZCBhIHRocmVhZCBpZCBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTI5MgoKMjAxNi0xMi0wNCAxNDo0Mjo0NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBzZWdtZW50YXRpb246IFBvcnQgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYmFzZSBjbGFzcwoKMjAxNi0xMi0wMyAyMjo0MDoxMSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0Lmg6CgkgIGdyYWJjdXQ6IFBvcnQgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYmFzZSBjbGFzcwoKMjAxNi0xMi0wMyAyMjowMjoyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkgIHJldGluZXg6IFBvcnQgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYmFzZSBjbGFzcwoJICBUaGlzIGFsbG93IHJlZHVjaW5nIHNsaWdodGx5IHRoZSBjb2RlLiBJdCBhbHNvIGZpeGVzIGEgYnVnIGNhdXNlZCBieQoJICBpbi1wbGFjZSBidWZmZXIgYmVpbmcgbWFwcGVkIGFuZCBuZXZlciB1bm1hcHBlZC4KCjIwMTYtMTItMDMgMDg6MTk6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDAxNTY3NCB0byAzOWFjMmY1CgoyMDE2LTEyLTAxIDIyOjAyOjUxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3BlbmN2L21lc29uLmJ1aWxkOgoJICBvcGVuY3YvbWVzb246IGNoZWNrIHByZXNlbmNlIG9mIHJlcXVpcmVkIG9wZW5jdl9jb250cmliIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjgyMgoKMjAxNi0xMi0wMSAyMTo1NTowNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkgIGVkZ2VkZXRlY3Q6IEF2b2lkIGV4dHJhIGNvcHkgb2YgdGhlIG91dHB1dCBpbWFnZQoJICBTaW1wbHkgcHJvZHVjZSB0aGUgcmVzdWx0IGludG8gdGhlIG91dHB1dCBpbWFnZSBwcm92aWRlZCBieSB0aGUgYmFzZQoJICBjbGFzcy4gVGhpcyBhdm9pZCB1c2VsZXNzIGNvcHkuIFRoaXMgYWxzbyByZW1vdmVzIHVuY2hlY2tlZCBidWZmZXIgbWFwCgkgIGFuZCBlbnN1cmUgdGhhdCBHc3RWaWRlb01ldGEgaXMgcmVzcGVjdGVkIChmb3Igc3RyaWRlIG1vc3RseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUzNzcKCjIwMTYtMTItMDEgMjE6NTE6MzEgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkgIGVkZ2VkZXRlY3Q6IFJlbW92ZSByZWR1bmRhbnQgQ0FQUyBldmVudCBoYW5kbGVyCgkgIFRoZXJlIGlzIGFscmVhZHkgYSBjdl9zZXRfY2FwcygpIGltcGxlbWVudGVkLCBzbyBqdXN0IGRvIHRoZQoJICBlbnRpcmUgd29yayB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTM3NwoKMjAxNi0xMi0wMSAyMTo0NTo1MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJICBjdmxhcGxhY2U6IEF2b2lkIGV4dHJhIGNvcHkgb2YgdGhlIG91dHB1dCBpbWFnZQoJICBTaW1wbHkgcHJvZHVjZSB0aGUgcmVzdWx0IGludG8gdGhlIG91dHB1dCBpbWFnZSBwcm92aWRlZCBieSB0aGUgYmFzZQoJICBjbGFzcy4gVGhpcyBhdm9pZCB1c2VsZXNzIGNvcHkuIFRoaXMgYWxzbyByZW1vdmVzIHVuY2hlY2tlZCBidWZmZXIgbWFwCgkgIGFuZCBlbnN1cmUgdGhhdCBHc3RWaWRlb01ldGEgaXMgcmVzcGVjdGVkIChmb3Igc3RyaWRlIG1vc3RseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUzNzcKCjIwMTYtMTItMDEgMjE6NDM6MDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSAgY3ZsYXBsYWNlOiBSZW1vdmUgcmVkdW5kYW50IENBUFMgZXZlbnQgaGFuZGxlcgoJICBUaGVyZSBpcyBhbHJlYWR5IGEgY3Zfc2V0X2NhcHMoKSBpbXBsZW1lbnRlZCwgc28ganVzdCBkbyB0aGUKCSAgZW50aXJlIHdvcmsgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUzNzcKCjIwMTYtMTItMDEgMjE6MzY6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJICBjdnNvYmVsOiBBdm9pZCBleHRyYSBjb3B5IG9mIHRoZSBvdXRwdXQgaW1hZ2UKCSAgU2ltcGx5IHByb2R1Y2UgdGhlIHJlc3VsdCBpbnRvIHRoZSBvdXRwdXQgaW1hZ2UgcHJvdmlkZWQgYnkgdGhlIGJhc2UKCSAgY2xhc3MuIFRoaXMgYXZvaWQgdXNlbGVzcyBjb3B5LiBUaGlzIGFsc28gcmVtb3ZlcyB1bmNoZWNrZWQgYnVmZmVyIG1hcAoJICBhbmQgZW5zdXJlIHRoYXQgR3N0VmlkZW9NZXRhIGlzIHJlc3BlY3RlZCAoZm9yIHN0cmlkZSBtb3N0bHkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Mzc3CgoyMDE2LTEyLTAxIDIxOjI4OjMxIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJICBjdnNvYmVsOiBSZW1vdmUgcmVkdW5kYW50IENBUFMgZXZlbnQgaGFuZGxlcgoJICBUaGVyZSBpcyBhbHJlYWR5IGEgY3Zfc2V0X2NhcHMoKSBpbXBsZW1lbnRlZCwgc28ganVzdCBkbyB0aGUKCSAgZW50aXJlIHdvcmsgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUzNzcKCjIwMTYtMTItMDEgMjE6MTM6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBvcGVuY3Y6IFJlbW92ZSB1bmVlZGVkIGJ1ZmZlciB3cml0YWJpbGl0eSBjaGVjawoJICBXaGVuIHNldCB0byBpbl9wbGFjZSwgdGhlIEJhc2VUcmFuc2Zvcm0gY2xhc3Mgd2lsbCBndWFyYW50eSB0aGF0IGJ1ZmZlcnMKCSAgcGFzc2VkIHRvIHRyYW5zZm9ybV9pcCgpIGZ1bmN0aW9uIGFyZSB3cml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTM3OAoKMjAxNi0xMi0wMSAwOToyNDoxOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ3N0Z2x1cGxvYWQ6IHJlbGF4IEVHTCBjb250ZXh0IGNoZWNrCgkgIENoZWNrIGZvciBHU1RfR0xfUExBVEZPUk1fRUdMIGVudW0gaW5zdGVhZCBvZiB0eXBlIEdzdEdMQ29udGV4dEVHTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUxOAoKMjAxNi0xMS0zMCAwOToyMjoxNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdzdGdsY29udGV4dDogaXNfc2hhcmVkIHNob3VsZCByZXR1cm4gRkFMU0UgaWYgbm8gZ3JvdXAKCSAgSWYgYSBzdWIgY2xhc3Mgb2YgR3N0R0xDb250ZXh0IGRvZXMgbm90IGNyZWF0ZSBhIGdyb3VwCgkgIHRoZW4gaXQgY3VycmVudGx5IGNyYXNoZXM6CgkgIDAgZ19hdG9taWNfaW50X2dldCAoJnNoYXJlLT5yZWZjb3VudCkKCSAgMSBfY29udGV4dF9zaGFyZV9ncm91cF9pc19zaGFyZWQgKGNvbnRleHQtPnByaXYtPnNoYXJlZ3JvdXApCgkgIDIgZ3N0X2dsX2NvbnRleHRfaXNfc2hhcmVkCgkgIDMgX2RlZmF1bHRfc2V0X3N5bmNfZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUxOAoKMjAxNi0xMS0zMCAyMjo0MDo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3R0bWwvbWVzb24uYnVpbGQ6CgkgIG1lc29uL3R0bWw6IEFkZCBtaXNzaW5nIG1hdGggbGlicmFyeSBkZXBlbmRlbmN5CgkgIFRoaXMgY29kZSBjYWxsICdyb3VuZCcgd2hpY2ggbWF5IHJlcXVpcmUgbGlua2luZyBhZ2FpbnN0IHRoZSBtYXRoIGxpYnJhcnkKCSAgb24gc29tZSBjb21waWxlcnMuCgoyMDE2LTExLTMwIDE5OjUzOjMwICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBwb3N0IGVycm9yIG1lc3NhZ2UgaWYgc3RhcnQoKSBmYWlscwoJICBJdCBpcyBleHBlY3RlZCB0byBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGJ1cyBpZiB0aGUgZGV2aWNlIGNhbm5vdAoJICBiZSBzdGFydGVkLgoKMjAxNi0xMC0yMCAxMjozNzo0OCArMDIwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IGNvbmZpZ3VyZSBkaXNwbGF5IG1vZGUgZHVyaW5nIHNldF9jYXBzCgkgIENvbmZpZ3VyZSB0aGUgZGlzcGxheSBtb2RlIHdoZW4gc2V0dGluZyB0aGUgbmVnb3RpYXRlZCBjYXBzIGluc3RlYWQgb2YKCSAgZHVyaW5nIHNob3dpbmcgdGhlIGZpcnN0IGZyYW1lLgoJICBBIGZyYW1lYnVmZmVyIGlzIHJlcXVpcmVkIHRvIHNldCB0aGUgbW9kZS4gQWxsb2NhdGUgYSBidWZmZXIgb2JqZWN0CgkgIGFjY29yZGluZyB0byB0aGUgbmVnb3RpYXRlZCBjYXBzIGFuZCB1c2UgaXQgdG8gc2V0IHRoZSBtb2RlLiBUaGlzIGJ1ZmZlcgoJICBvYmplY3QgY2Fubm90IGJlIGZyZWVkIHVudGlsIGFub3RoZXIgcGFnZSBmbGlwIGhhcHBlbmVkIG9uIHRoZSBjcnRjCgkgIChpLmUuLCB1bnRpbCB0aGUgZmlyc3QgZnJhbWUgaXMgcmVuZGVyZWQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNDczCgkgIFNpZ25lZC1vZmYtYnk6IFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKMjAxNi0xMC0xOCAxNDo1NzoyNSArMDIwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogYWRkIHBhcmFtZXRlciBmb3JjZS1tb2Rlc2V0dGluZwoJICBUaGUgZm9yY2UtbW9kZXNldHRpbmcgcGFyYW1ldGVyIGZvcmNlcyB0aGUga21zc2luayB0byBpZ25vcmUgYWxyZWFkeQoJICBjb25maWd1cmVkIGRpc3BsYXkgbW9kZXMsIHRvIGNvbmZpZ3VyZSB0aGUgZGlzcGxheSBtb2RlIGl0c2VsZiBhbmQgdXNlCgkgIHRoZSBiYXNlIHBsYW5lIGZvciBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM0NzMKCjIwMTYtMTEtMDggMTU6Mjc6NTEgKzAxMDAgIE1pY2hhZWwgVHJldHRlciA8bS50cmV0dGVyQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGFsbG93IG9ubHkgc3VwcG9ydGVkIHJlc29sdXRpb25zCgkgIElmIHRoZSBpbnB1dCBidWZmZXJzIGhhdmUgYSBkaWZmZXJlbnQgc2l6ZSB0aGFuIHRoZSBkaXNwbGF5LCB0aGUgZnJhbWVzCgkgIHdvdWxkIGhhdmUgdG8gYmUgc2NhbGVkIG9yIHBvc2l0aW9uZWQgb24gdGhlIGRpc3BsYXkuIFRoZSBrbXNzaW5rIGNhbm5vdAoJICBkZWNpZGUgd2hpY2ggYmVoYXZpb3VyIHdvdWxkIGJlIGFwcHJvcHJpYXRlIGZvciB3aGljaCB1c2UgY2FzZS4KCSAgSW4gb3JkZXIgdG8gYXZvaWQgc2NhbGluZyBvciBwb3NpdGlvbmluZyBvZiB0aGUgaW5wdXQgc3RyZWFtLCBhbGxvdyBvbmx5CgkgIHRoZSBzdXBwb3J0ZWQgY29ubmVjdG9yIHJlc29sdXRpb25zIGluIHRoZSBzaW5rIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM0NzMKCSAgU2lnbmVkLW9mZi1ieTogVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoyMDE2LTExLTA4IDE1OjI2OjQwICswMTAwICBNaWNoYWVsIFRyZXR0ZXIgPG0udHJldHRlckBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBzZXQgbW9kZSBiYXNlZCBvbiBmcmFtZWJ1ZmZlciBjb25maWd1cmF0aW9uCgkgIERpc3BsYXlzIHVzdWFsbHkgc3VwcG9ydCBtdWx0aXBsZSBtb2Rlcy4gVGhlcmVmb3JlLCB0aGUga21zc2luayBzaG91bGQKCSAgbm90IG9ubHkgc3VwcG9ydCB0aGUgcHJlZmVycmVkIG1vZGUsIGJ1dCBhbnkgbW9kZSB0aGF0IGlzIHN1cHBvcnRlZCBieQoJICB0aGUgZGlzcGxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzQ3MwoKMjAxNi0xMC0xNCAxNjowMzowOCArMDIwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IGFkZCBtb2RlIHNldHRpbmcgYW5kIGJhc2UgcGxhbmUgcmVuZGVyaW5nCgkgIFRoZSBrbXNzaW5rIGFzc3VtZWQgdGhhdCB0aGUgbW9kZSB3YXMgYWxyZWFkeSBzZXQgYnkgYW5vdGhlciBhcHBsaWNhdGlvbgoJICBhbmQgdXNlZCBhbiBvdmVybGF5IHBsYW5lIGZvciBkaXNwbGF5aW5nIHRoZSBmcmFtZXMuCgkgIFVzZSB0aGUgcHJlZmVycmVkIG1vZGUgb2YgdGhlIG1vbml0b3IgYW5kIHJlbmRlciB0byB0aGUgYmFzZSBwbGFuZSBpZgoJICB0aGUgY3J0YyBkb2VzIG5vdCBoYXZlIGEgdmFsaWQgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzQ3MwoJICBTaWduZWQtb2ZmLWJ5OiBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCjIwMTYtMTEtMzAgMTc6MjI6MjEgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBXcml0aW5nIGZpZWxkLW9yZGVyIGludG8gdGhlIHNyYyBjYXBzCgkgIFdyaXRpbmcgdG9wLWZpZWxkLWZpcnN0IHZzIGJvdHRvbS1maWVsZC1maXJzdCBpbnRvIHRoZSBzcmMgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1NDA5CgoyMDE2LTExLTMwIDA5OjM1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IGFkZCBhZ2dyZWdhdG9yIF9nZXRfdHlwZSBmdW5jdGlvbnMgZm9yIHNpZ25hbHMgKyBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUzNzkKCjIwMTYtMTEtMzAgMTk6MjY6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSAgZ2xtZW1vcnllZ2w6IHJlbW92ZSBzcHVyaW91cyAjaWYgR1NUX0dMX0hBVkVfRE1BQlVGIGNvbmRpdGlvbnMKCSAgOGMyMTE4ODIzYjNkNDI4NDBjYzZmNDhjYmRjMGUxYjM0MmY5MGI4MCBoYWQgc29tZSBpbmNvcnJlY3QgcHJlcHJvY2Vzc29yCgkgIGNvbmRpdGlvbnMgdGhhdCBhcmVuJ3QgYWN0dWFsbHkgbmVlZGVkLiAgUmVtb3ZlIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUyNDgKCjIwMTYtMTEtMzAgMTA6NDA6NDIgKzA1MzAgIEdhcmltYSBHYXVyIDxnYXJpbWEuZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJICBnc3Q6IEZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTA3MgoKMjAxNi0xMS0yMyAxODozMDo0MCArMDEwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IGNoZWNrIHByZXNlbmNlIG9mIHJlcXVpcmVkIG9wZW5jdl9jb250cmliIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjgyMgoKMjAxNi0xMS0yNiAxNjo1MzoyNCArMDEwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogZ3N0LWxpYnMvZ3N0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jcHA6CgkgIG9wZW5jdjogYWRkIG9wZW5jdiBpbWFnZSBmb3JtYXQgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTc2CgoyMDE2LTExLTI2IDEzOjM0OjI2ICswMTAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBvcGVuY3Y6IGFjY291bnQgZm9yIHNwYXJzZS9wYWRkZWQgZm9ybWF0cyB3aGVuIGNvbnZlcnRpbmcgY2FwcyB0byBjdiBpbWFnZSB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1NzYKCjIwMTYtMTEtMjkgMjE6MDk6MTQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuY3BwOgoJICBvcGVuY3Z2aWRlb2ZpbHRlcjogRG9uJ3QgcGFyc2UgdGhlIGNhcHMgdHdpY2UKCSAgVGhlIEdzdFZpZGVvRmlsdGVyIGFscmVhZHkgcHJvdmlkZSBjYXBzIHBhcnNlZCBpbnRvIEdzdFZpZGVvSW5mby4gQXZvaWQKCSAgZG9pbmcgdGhhdCB0d2ljZSBieSBzcGxpdHRpbmcgdGhlIGhlbHBlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTI4OAoKMjAxNi0xMS0yOCAyMTo1NDo1NyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jcHA6CgkgIG9wZW5jdmZpbHRlcjogUHJvcGVybHkgcG9ydCB0byBHc3RWaWRlb0ZpbHRlcgoJICBUaGlzIGlzIGEgc3ViYmxhc3Mgb2YgVmlkZW9GaWx0ZXIgYnV0IHlldCBkb2VzIG5vdCB1c2UgYW55IG9mIGl0J3MKCSAgZmVhdHVyZXMuIFRoaXMgYWxzbyBmaXhlcyBpc3N1ZSBpbiBjYXNlIHRoZSBpbmNvbWluZyBpbWFnZXMgaGF2ZSBjdXN0b20KCSAgc3RyaWRlcyBhcyB0aGUgVmlkZW9NZXRhIGlzIG5vIGxvbmdlciBpZ25vcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1Mjg4CgoyMDE2LTExLTI5IDE1OjE4OjQzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9tZXNvbi5idWlsZDoKCSAgbXNzZGVtdXg6IGZpeCBtZXNvbiBidWlsZAoJICBGb2xsb3ctdXAgb2YgNzM3MjFhZDRlOWUyZDMyZTFjOGI2YTNiNGFhYTk4NDAxNTMwZTU4YS4KCSAgRm9yZ290IHRvIGFkZCB0aGUgZnJhZ21lbnQgcGFyc2VyIGluIHRoZSBtZXNvbiBidWlsZCBmaWxlLgoKMjAxNi0xMS0yOSAxNDo0Mzo0MSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NmcmFnbWVudHBhcnNlci5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2ZyYWdtZW50cGFyc2VyLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgbXNzZGVtdXg6IGltcHJvdmVkIGxpdmUgcGxheWJhY2sgc3VwcG9ydAoJICBXaGVuIGEgTVNTIHNlcnZlciBob3N0cyBhIGxpdmUgc3RyZWFtIHRoZSBmcmFnbWVudHMgbGlzdGVkIGluIHRoZQoJICBtYW5pZmVzdCB1c3VhbGx5IGRvbid0IGhhdmUgYWNjdXJhdGUgdGltZXN0YW1wcyBhbmQgZHVyYXRpb24sIGV4Y2VwdAoJICBmb3IgdGhlIGZpcnN0IGZyYWdtZW50LCB3aGljaCBhZGRpdGlvbmFsbHkgc3RvcmVzIHRpbWluZyBpbmZvcm1hdGlvbgoJICBmb3IgdGhlIGZldyB1cGNvbWluZyBmcmFnbWVudHMuIEluIHRoaXMgc2NlbmFyaW8gaXQgaXMgdXNlbGVzcyB0bwoJICBwZXJpb2RpY2FsbHkgZmV0Y2ggYW5kIHVwZGF0ZSB0aGUgbWFuaWZlc3QgYW5kIHRoZSBmcmFnbWVudHMgbGlzdCBjYW4KCSAgYmUgaW5jcmVtZW50YWxseSBidWlsdCBieSBwYXJzaW5nIHRoZSBmaXJzdC9jdXJyZW50IGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDM2CgoyMDE2LTExLTI5IDE1OjM1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGRlY2tsaW5rLmNwcDogSW4gbWVtYmVyIGZ1bmN0aW9uIOKAmHZpcnR1YWwgSFJFU1VMVCBHU3RyZWFtZXJEZWNrbGlua0lucHV0Q2FsbGJhY2s6OlZpZGVvSW5wdXRGcmFtZUFycml2ZWQoSURlY2tMaW5rVmlkZW9JbnB1dEZyYW1lKiwgSURlY2tMaW5rQXVkaW9JbnB1dFBhY2tldCop4oCZOgoJICBnc3RkZWNrbGluay5jcHA6NzY2OjM0OiBlcnJvcjog4oCYYmFzZV90aW1l4oCZIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQoJICBjYXB0dXJlX3RpbWUgLT0gYmFzZV90aW1lOwoJICBeCgoyMDE2LTExLTI5IDExOjA4OjE0ICswMTAwICBBbnRvbiBFbGlhc3NvbiA8YW50b25lQGF4aXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NHBhcnNlOiBpbXByb3ZlIGRvY3VtZW50YXRpb24gY29tbWVudGFyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MzA2CgoyMDE2LTExLTI5IDExOjA2OjQzICswMTAwICBBbnRvbiBFbGlhc3NvbiA8YW50b25lQGF4aXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NHBhcnNlOiBkb2NzIHNwZWxsY2hlY2sKCSAgU3BlbGwgY2hlY2tzLCBjb3JyZWN0IGNhcGl0YWxpemF0aW9uIGFuZCBzb21lIHJld29yZGluZyB0bwoJICBiZXR0ZXIgZml0IHRoZSB0ZXJtcyB1c2VkIGluIHRoZSBILjI2NCBzcGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MzA2CgoyMDE2LTExLTI4IDE2OjAyOjAzIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSAgc2Nocm86ICNpbmNsdWRlIG1hdGguaCBiZWZvcmUgc2Nocm9lZGluZ2VyIGhlYWRlcnMKCSAgVGhlIHNjaHJvZWRpbmdlciBoZWFkZXJzIHVuY29uZGl0aW9uYWxseSAjZGVmaW5lIG92ZXIgQzk5J3MgcmludCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIG1zdmMgd2hpY2ggbWVzc2VzIHVwIHRoZSBsYXRlciBpbmNsdXNpb24gb2YgbWF0aC5oLgoJICBJbmNsdWRpbmcgbWF0aC5oIGJlZm9yZSBzY2hyb2VkaW5nZXIgaGVhZGVycyBhdm9pZHMgZ2V0dGluZyBzeW50YXgKCSAgZXJyb3JzIGluIG1hdGguaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MjkzCgoyMDE2LTExLTI5IDAxOjQxOjI4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFJld29yayBvcGVuY3YgcGx1Z2luIGNoZWNrcwoJICBhKSBVc2UgZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgpIHRvIGdldCB0aGUgb3BlbmN2IHByZWZpeAoJICBiKSBQbGFjZSBhbiB1cHBlciBsaW1pdCBvbiB0aGUgb3BlbmN2IHZlcnNpb24KCSAgYykgRW5zdXJlIHRoYXQgaGVhZGVycyBhcmUgYXZhaWxhYmxlCgkgIChiKSBhbmQgKGMpIGp1c3QgY29weSB3aGF0IHRoZSBjb25maWd1cmUuYWMgY2hlY2tzIGRvLgoKMjAxNi0xMS0yOCAyMDowNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBGaXggb2ZmLWJ5LW9uZSBpbiBQTVQgcGFyc2luZwoKMjAxNi0xMS0yOCAxOTo1MjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBEb24ndCBhc3NlcnQgaWYgdGhlIGdpdmVuIHNlY3Rpb24gbGVuZ3RoIGlzIGxvbmdlciB0aGFuIHRoZSBQTVQgYWN0dWFsbHkgaXMKCSAgSW5zdGVhZCBlcnJvciBvdXQgY2xlYW5seSBhbmQganVzdCBhc3NlcnQgdGhhdCB3ZSBkaWRuJ3QgcmVhZCBtb3JlIHRoYW4KCSAgdGhlIGF2YWlsYWJsZSBkYXRhLgoKMjAxNi0xMS0yOCAxNzoxNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBDb3JyZWN0bHkgc2V0IHRvcC1maWVsZC1maXJzdC9ib3R0b20tZmllbGQtZmlyc3QKCSAgRmlyc3Qgb2YgYWxsLCBhbGwgdGhlIEhEIGFuZCBVSEQgbW9kZXMgc2hvdWxkIGJlIHRvcC1maWVsZC1maXJzdCwgYXMKCSAgYWxzbyByZXR1cm5lZCBieSB0aGUgRGVja2xpbmsgbW9kZSBpdGVyYXRvciBBUEkuCgkgIFRoZW4gd2Ugc2hvdWxkIGluY2x1ZGUgdGhlIGNhcHMgZmllbGQgImZpZWxkLW9yZGVyIiBpbiB0aGUgY2FwcyBvZiB0aGUKCSAgc291cmNlIChub3QgdGhlIHNpbmsgZHVlIHRvIG5lZ290aWF0aW9uIHByb2JsZW1zIHdpdGggb3B0aW9uYWwgZmllbGRzKS4KCSAgQW5kIGZpbmFsbHkgd2Ugc2hvdWxkIHNldCB0aGUgVEZGIGZsYWcgb24gaW50ZXJsYWNlZCBidWZmZXJzIHRoYXQgYXJlCgkgIHRvcC1maWVsZC1maXJzdC4KCjIwMTYtMTEtMjUgMTU6MDM6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmtzcmM6IEFkZCBwcm9wZXJ0eSB0byBkcm9wIGZyYW1lcyB0aGF0IGFyZSBtYXJrZWQgYXMgaGF2aW5nIG5vIGlucHV0IHNpZ25hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODUwCgoyMDE2LTExLTI1IDE0OjU3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBBZGQgcHJvcGVydHkgdG8gc2tpcCB0aGUgZmlyc3QgTiBzZWNvbmRzIG9mIGNhcHR1cmUKCSAgT24gc29tZSBoYXJkd2FyZSB0aGUgZmlyc3QgZmV3IGZyYW1lcyBhcmUgYm9ndXMgYW5kIG5vdCB2ZXJ5IHVzZWZ1bC4KCSAgVGhlaXIgdGltZXN0YW1wcyBhcmUgb2ZmLCB0aGV5IGhhdmUgbm8gdGltZWNvZGVzLCBvciB0aGVyZSBhcmUgc3B1cmlvdXMKCSAgYmxhY2sgZnJhbWVzIC8gbm8tc2lnbmFsIGZyYW1lcy4gQWZ0ZXIgYSBmZXcgZnJhbWVzIHRoaXMgc3RhYmlsaXplcwoJICB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4NTAKCjIwMTYtMTEtMjUgMTQ6MzY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBTZXQgR0FQIGZsYWcgb24gYnVmZmVycyB0aGF0IGFyZSBjYXB0dXJlZCB3aXRob3V0IHNpZ25hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODUwCgoyMDE2LTExLTI0IDE5OjE5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBLZWVwIHRyYWNrIG9mIGEgd2luZG93IG9mIGNhcHR1cmUvc3RyZWFtIHRpbWUgbWFwcGluZ3MgYW5kIGNhbGN1bGF0ZSByZWxhdGlvbnNoaXAKCSAgQmFzZWQgb24gdGhpcyB3ZSBjYWxjdWxhdGUgdGhlIGFjdHVhbCBjYXB0dXJlIHRpbWUsIHdoaWNoIHNob3VsZCBnZXQgdXMKCSAgcmlkIG9mIGFueSBjYXB0dXJpbmcgaml0dGVyIGJ5IGF2ZXJhZ2luZyBpdCBvdXQuCgkgIEFsc28gYWRkIGEgb3V0cHV0LXN0cmVhbS10aW1lIHByb3BlcnR5IHdoaWNoIGZvcmNlcyB0aGUgZWxlbWVudHMgdG8KCSAgb3V0cHV0IHRoZSBzdHJlYW0gdGltZSBkaXJlY3RseSBpbnN0ZWFkIG9mIGRvaW5nIGFueSBjb252ZXJzaW9uIHRvIHRoZQoJICBwaXBlbGluZSBjbG9jay4gVXNlIHdpdGggY2FyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg1MAoKMjAxNi0xMS0yMiAxOTozMDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmtzcmM6IFN0b3AgdXNpbmcgdGhlICJoYXJkd2FyZSIgdGltZXN0YW1wcyBhbmQgZGlyZWN0bHkgdXNlIHRoZSBwaXBlbGluZSBjbG9jawoJICBUaGUgaGFyZHdhcmUgdGltZXN0YW1wcyBoYXZlIG5vIHJlbGF0aW9uIHRvIHdoZW4gZnJhbWVzIHdlcmUgcHJvZHVjZWQsCgkgIG9ubHkgd2hlbiBmcmFtZXMgYXJyaXZlZCBzb21ld2hlcmUgaW4gdGhlIGhhcmR3YXJlLiBFc3BlY2lhbGx5IHRoZXJlIGlzCgkgIG5vIGd1YXJhbnRlZSB0aGF0IGF1ZGlvIGFuZCB2aWRlbyB3aWxsIGhhdmUgdGhlIHNhbWUgaGFyZHdhcmUgdGltZXN0YW1wcwoJICBhbHRob3VnaCB0aGV5IGJlbG9uZyB0b2dldGhlciwgYW5kIGV2ZW4gbW9yZSBpbXBvcnRhbnQ6IHRoZSByYXRlIHdpdGgKCSAgd2hpY2ggdGhlIGhhcmR3YXJlIHRpbWVzdGFtcHMgaW5jcmVhc2UgaXMgY29tcGxldGVseSB1bnJlbGF0ZWQgdG8gdGhlCgkgIHJhdGUgd2l0aCB3aGljaCB0aGUgZnJhbWVzIGFyZSBjYXB0dXJlZCEKCSAgQXMgc3VjaCB3ZSBjYW4gYXMgd2VsbCB1c2UgdGhlIHBpcGVsaW5lIGNsb2NrIGRpcmVjdGx5IGFuZCBzdG9wIGRvaW5nCgkgIGNvbXBsaWNhdGVkIGNhbGN1bGF0aW9ucy4gQWxzbyBhcyBhIHNpZGUgZWZmZWN0IHRoaXMgYWxsb3dzIG5vdyBydW5uaW5nCgkgIHdpdGhvdXQgYW55IHBpcGVsaW5lIGNsb2NrLCBieSBkaXJlY3RseSBtYWtpbmcgdXNlIG9mIHRoZSBzdHJlYW0gdGltZXMKCSAgYXMgcmVwb3J0ZWQgYnkgdGhlIGRyaXZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg1MAoKMjAxNi0xMS0yOCAxNDoyNTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdiYXNlcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkYXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkdmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICByYXdwYXJzZTogV2hpdGVzcGFjZSBjbGVhbnVwCgoyMDE2LTExLTI4IDExOjI2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSogZ3N0L2RhdGF1cmlzcmMvbWVzb24uYnVpbGQ6CgkqIGdzdC9tZXNvbi5idWlsZDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogcmVtb3ZlIHBsdWdpbiwgbW92ZWQgdG8gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTI3CgoyMDE2LTExLTI4IDEwOjQ5OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIG0zdTg6IE1hcmsgdXJpX2pvaW4oKSBmdW5jdGlvbiBhcyBzdGF0aWMKCSAgV2UgZG9uJ3QgcmVhbGx5IHdhbnQgdG8gZXhwb3J0IHRoaXMsIGVzcGVjaWFsbHkgbm90IHdpdGhvdXQgYW55CgkgIG5hbWVzcGFjaW5nLiBUaGlzIGNhbiBjYXVzZSBwcm9ibGVtcyBmb3Igc3RhdGljIGJ1aWxkcy4KCjIwMTYtMTEtMjggMTA6Mjc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiB3ZSBhY3RpdmF0ZWQgYSBwcm9ncmFtIHdpdGhvdXQgcGFkcwoJICBPdGhlcndpc2UgZGVjb2RlYmluIGFuZCBhcHBsaWNhdGlvbnMgYXJlIGdvaW5nIHRvIHdhaXQgZm9yZXZlciBmb3IgcGFkcwoJICB0byBhcHBlYXIsIHdoaWNoIGlzIG5ldmVyIGdvaW5nIHRvIGhhcHBlbi4KCSAgSGFwcGVucyBvbiB0aGlzIHN0cmVhbSwgd2hpY2ggcHJvYmFibHkganVzdCBuZWVkIHN1cHBvcnQgZm9yIGl0IGFkZGVkOgoJICBodHRwczovL3NhbXBsZXMubXBsYXllcmhxLmh1LzNEL0FWQ19jb2RlY19pbl9tMnRzX25vdF9yZWNvZ25pemVkL0FWQ19jb2RlY19ub3RfcmVjb2duaXplZF9yaWdodF92aWRlb19zYW1wbGUubTJ0cwoKMjAxNi0xMS0yOCAxNDoyMjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBtb3ZlIGdfbWFpbl9jb250ZXh0X3B1c2gvcG9wX3RocmVhZF9kZWZhdWx0KCkgdG8gcnVuKCkKCSAgQ2FsbGluZyBnX21haW5fY29udGV4dF9wdXNoX3RocmVhZCBhbmQgdGhlbiBnX21haW5fY29udGV4dF9pbnZva2UoKQoJICAodXNlZCBieSBnc3RfZ2xfd2luZG93X3NlbmRfbWVzc2FnZV9hc3luYygpKSBpbiB0aGUgc2FtZSB0aHJlYWQgd2lsbAoJICBjYXVzZSB0aGUgaW52b2tlZCBmdW5jdGlvbiB0byBydW4gaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBiZWluZyBkZWxheWVkLgoJICBUaGlzIGhhZCBpbXBsaWNhdGlvbnMgZm9yIHRoZSBjcmVhdGlvbiBvZiB0aGUgT3BlbkdMIGNvbnRleHQgbm90IHdhaXRpbmcKCSAgdW50aWwgdGhlIG1haW4gbG9vcCBoYWQgY29tcGxldGVseSBzdGFydGVkIHVwIGFuZCBhcyBhIHJlc3VsdCB3b3VsZAoJICBzb21ldGltZXMgZGVhZGxvY2sgaW4gc2hvcnQgY3JlYXRlL2Rlc3Ryb3kgc2NlbmFyaW9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTcxCgoyMDE2LTExLTI4IDE0OjE5OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IHJhY2UgYmV0d2VlbiBjcmVhdGlvbi9zaHV0ZG93bgoJICA2MjZiY2NjZmY5NmY2MjRmNTljNTIxMmIzZTIxZTQ3MjI0MDE3MWZkIHJlbW92ZWQgc29tZSBsb2NrcyB0aGF0CgkgIGFsbG93ZWQgdGhlIG1haW4gbG9vcCBxdWl0IHRvIG9jY3VyIGJlZm9yZSB0aGUgY29udGV4dCB3YXMgZnVsbHkKCSAgY3JlYXRlZC4KCSAgMjc3NmNlZjI1ZDJhOTg2NjhiNzMyNzJhZWNmZTc3ZTY4NGU2NjI3ZSBhdHRlbXB0ZWQgdG8gcmVhZGQgdGhlbSBidXQKCSAgbWlzc2VkIHRoZSBzY29wIG9mIHRoZSBxdWl0KCkgY2FsbC4KCSAgQWxzbyByZW1vdmUgdGhlIHVzZSBvZiBnX3RocmVhZF9qb2luKCkgYXMgdGhhdCdzIG5vdCBzYWZlIHRvIHVzZSB3aGVuCgkgIGl0J3MgcG9zc2libGUgdG8gbG9zZSB0aGUgbGFzdCByZWZlcmVuY2UgZnJvbSB0aGUgR0wgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTcxCgoyMDE2LTExLTI3IDEyOjQwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5jOgoJICByYXdiYXNlcGFyc2U6IEZpeCBvdXRwdXQgYnVmZmVyIHNpemUgdHJpbW1pbmcKCSAgRm9yIGZyYW1lLT5idWZmZXIsIGJhc2VwYXJzZSBpcyBkb2luZyB0aGF0IGF1dG9tYXRpY2FsbHkgZm9yIHVzLiBGb3IKCSAgZnJhbWUtPm91dHB1dF9idWZmZXIgaXQgZG9lc24ndCBhbmQgYXNzdW1lcyB0aGF0IHRoZSBzdWJjbGFzcyBpcyBhbHJlYWR5CgkgIGRvaW5nIHRoYXQuIENvbnNpc3RlbmN5IQoKMjAxNi0xMS0yNyAxMjoyMDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBGaXggc3RyaXBwaW5nIG9mIHNwYWNlIGF0IHRoZSBiZWdpbm5pbmcvZW5kIG9mIGR1cmF0aW9ucwoJICBUaGUgd2F5IGhvdyBzdHJjaHIoKSB3YXMgY2FsbGVkIGhlcmUsIGl0IGNvdWxkIGVhc2lseSByZWFkIGFmdGVyIHRoZSBlbmQKCSAgb2YgdGhlIHN0cmluZy4gVXNlIGdfYXNjaWlfaXNzcGFjZSgpIGluc3RlYWQuCgkgIERldGVjdGVkIGJ5IGFzYW4gaW4gdGhlIHVuaXQgdGVzdC4KCjIwMTYtMTEtMjcgMTE6NTY6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L21lc29uLmJ1aWxkOgoJICBvcGVuY3Y6IE1ha2UgdGhlIE9wZW5DViBwbHVnaW4gb3B0aW9uYWwgaW4gdGhlIG1lc29uIGJ1aWxkCgoyMDE2LTExLTI3IDExOjQ0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2F1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBQcm9wZXJseSBhbGlnbiByYXcgYXVkaW8vdmlkZW8gb3V0cHV0IGJ1ZmZlcnMKCSAgVGhhdCBpcywgYWxpZ25lZCB0byB0aGUgYmFzaWMgdHlwZSBmb3IgYXVkaW8gYW5kIHRvIDMyIGJ5dGVzIGZvciB2aWRlby4KCSAgRml4ZXMgY3Jhc2hlcyBpZiB0aGUgcmF3IGJ1ZmZlcnMgYXJlIHBhc3NlZCB0byBTSU1EIHByb2Nlc3NpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDI4CgoyMDE2LTExLTE1IDE2OjU3OjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvb3BlbmN2L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvbWVzb24uYnVpbGQ6CgkgIG9wZW5jdjogRW5hYmxlIGluIG1lc29uIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyMjMKCjIwMTYtMTEtMjYgMTE6MjA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0bW9kdWxlczoKCSAgY29tbW9uOiB1c2UgaHR0cHMgcHJvdG9jb2wgZm9yIGNvbW1vbiBzdWJtb2R1bGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTExMAoKMjAxNi0xMS0yNiAxMjoyODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBpZiB3ZSBnb3QgRU9TIGJlZm9yZSBoYXZpbmcgYW55IHNvdXJjZSBwYWRzCgkgIE90aGVyd2lzZSwgc2VuZGluZyBhbiBFT1MgZXZlbnQgaGFzIG5vIGVmZmVjdCBhbmQgdGhlIGFwcGxpY2F0aW9uIHdhaXRzCgkgIGZvcmV2ZXIgZm9yIHNvbWV0aGluZyB0byBoYXBwZW4uCgoyMDE2LTExLTI2IDEyOjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMTEtMjYgMTI6MTY6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBhc3NlcnRpb24gd2hlbiBlbmNvdW50ZXJpbmcgYW4gaW52YWxpZCBOQUxVCgkgIEVycm9yIG91dCBwcm9wZXJseSBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTMwCgoyMDE2LTExLTI2IDEyOjE1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggYXNzZXJ0aW9uIHdoZW4gZW5jb3VudGVyaW5nIGFuIGludmFsaWQgTkFMVQoJICBFcnJvciBvdXQgcHJvcGVybHkgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTEzMAoKMjAxNi0xMS0yNiAxMDo0NDo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBBZGQgbW9yZSBzZWN0aW9uIHNpemUgY2hlY2tzCgkgIFRoZSBzbWFsbGVzdCBzZWN0aW9uIGV2ZXIgbmVlZHMgdG8gYmUgYXQgbGVhc3QgMyBieXRlcyAoaS5lLiBqdXN0IHRoZSBzaG9ydAoJICBoZWFkZXIpLgoJICBOb24tc2hvcnQgaGVhZGVycyBuZWVkIHRvIGJlIGF0IGxlYXN0IDExIGJ5dGVzIGxvbmcgKDMgZm9yIHRoZSBtaW5pbXVtIGhlYWRlciwKCSAgNSBmb3IgdGhlIG5vbi1zaG9ydCBoZWFkZXIsIGFuZCA0IGZvciB0aGUgQ1JDKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTA0OAoKMjAxNi0xMS0yNiAxMDoyMzowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBGaXggUEFUIHBhcnNpbmcKCSAgVXNlIHRoZSBlc3RpbWF0ZWQgbnVtYmVyIG9mIHByb2dyYW1zIGZvciBwYXJzaW5nLiBBdm9pZHMgb3Zlci1yZWFkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTIwCgoyMDE2LTExLTI2IDA5OjI2OjM2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSGFuZGxlIEdTVF9TRUVLX1RZUEVfTk9ORSBzZWVrCgkgIFdoZW4gb25lIGlzIG9ubHkgdXBkYXRpbmcgdGhlICJzdG9wIiBwb3NpdGlvbiAoaS5lLiBub24tZmx1c2hpbmcgc2VlaywKCSAgd2l0aCBHU1RfU0VFS19UWVBFX05PTkUgb24gdGhlICJzdGFydCIgKG9yIHN0b3AgaW4gcmV2ZXJzZSkgcG9zaXRpb24pLAoJICB3ZSBvbmx5IG5lZWQgdG8gc3RvcmUgdGhvc2UgdmFsdWVzIGluc3RlYWQgb2YgbW92aW5nIHRoZSBjdXJyZW50IHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTI3CgoyMDE2LTExLTI1IDIzOjQ3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgZXh0OiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGNsYW5nCgkgIHdsZGlzcGxheS5jOjE3OToxNTogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZW51bSBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKHNobV9mbXQgPCAwKQoJICB+fn5+fn5+IF4gfgoJICBnc3RzZWdtZW50YXRpb24uY3BwOjQxOTo0MDogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSAnaW50JyB0byAnY2hhcicgY2hhbmdlcyB2YWx1ZSBmcm9tIDI1NSB0byAtMSBbLVdlcnJvciwtV2NvbnN0YW50LWNvbnZlcnNpb25dCgkgIGZpbHRlci0+Y3ZGRy0+aW1hZ2VEYXRhW2pdID0gMjU1OwoJICB+IF5+fgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTEyCgoyMDE2LTExLTI1IDIzOjQ0OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBSZW1vdmUgdW51c2VkIHN0YXRpYyBmdW5jdGlvbgoKMjAxNi0xMS0yNSAxNjo0Njo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZkZW11eDogRml4IHVwIGFub3RoZXIgc2l6ZSBjaGVjayBhbmQgcHJldmVudCBhbGxvY2F0aW5nIHRvbyBtdWNoIG1lbW9yeQoKMjAxNi0xMS0yNSAxNTo1OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZmRlbXV4OiBIYW5kbGUgemVyby1zaXplZCBLTFYgaXRlbXMgYmV0dGVyIGFuZCBkb24ndCBhc3NlcnQgb24gdGhlbQoKMjAxNi0xMS0yNSAxNTo1Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCB2YXJpb3VzIGxvZ2ljIGVycm9ycyBpbiBlcnJvciBoYW5kbGluZyBvZiBmb290ZXIgcGFydGl0aW9uIHBhcnNpbmcKCjIwMTYtMTEtMjUgMTU6NTM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB0cnkgcGFyc2luZyBlbXB0eSBtZXRhZGF0YSBpdGVtcwoKMjAxNi0xMS0yNSAwMTowNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEFkZCBtaXNzaW5nIE5VTEwgY2hlY2sKCjIwMTYtMTEtMjIgMTg6MDY6NTIgKzAxMDAgIEZsb3JlbnQgVGhpw6lyeSA8ZmxvcmVudC50aGllcnlAdWJpY2FzdC5ldT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkOiBmaXggZWxlbWVudCBkZXNjcmlwdGlvbiAod2FzICJPcGVuR0wgdXBsb2FkZXIiKQoKMjAxNi0xMS0yNCAxOTo0NToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkgIG14ZjogUmVtb3ZlIG14ZmRtczEuW2NoXSBmcm9tIHRoZSBidWlsZCBmb3Igbm93CgkgIEl0J3MgY29tcGxldGVseSB1bnVzZWQgY3VycmVudGx5IGJ1dCBtaWdodCBiZSB1c2VkIGluIHRoZSBmdXR1cmUuCgoyMDE2LTExLTI0IDIzOjM2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZmRlbXV4OiBBZGQgdmFyaW91cyBtaXNzaW5nIGJvdW5kcyBjaGVja3MsIE5VTEwgY2hlY2tzIGFuZCBpbnRlZ2VyIG92ZXJmbG93IHByb3RlY3Rpb24gZm9yIGVycm9yIGNhc2VzCgoyMDE2LTExLTI0IDE0OjQ4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBGcmVlIHRpbWVjb2RlcyB3aGVuIGRvbmUgd2l0aCBhIGZyYW1lCgoyMDE2LTExLTI0IDE0OjQxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5jOgoJICB0aW1lY29kZXN0YW1wZXI6IFJlbW92ZSBhbGwgZXhpc3RpbmcgdGltZWNvZGUgbWV0YXMgaWYgcmVxdWVzdGVkIHRvIG92ZXJyaWRlIGV4aXN0aW5nCgoyMDE2LTExLTI0IDExOjEyOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0c3NlY3Rpb246IERvbid0IGZyZWUgZW1wdHkgc3RyZWFtcwoJICBBbHNvIGF2b2lkcyBhIHVzZWxlc3MgYXNzZXJ0aW9uCgoyMDE2LTExLTI0IDExOjExOjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgYWRkIGV4aXN0aW5nIHZhbHVlcyB0byBncm91cAoJICBJZiB0aGUgbGFzdCB2YWx1ZSBpcyBhbHJlYWR5IGlkZW50aWNhbCwgdGhlcmUgaXMgbm8gbmVlZCBpbiBhZGRpbmcgaXQKCSAgeWV0LWFub3RoZXItdGltZQoKMjAxNi0xMS0yMyAyMDoxMzo1OSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJICBrbXNzaW5rOiBpbmNsdWRlIGRybS5oIGFmdGVyIHN0ZGxpYi5oCgkgIEFzIGRybS5oIGlzIGludGVybmFsIHRvIGxpYmRybSwgaXQgZXhwZWN0cyB0byBoYXZlIGFscmVhZHkgaW5jbHVkZWQKCSAgc3RkbGliLmguCgoyMDE2LTExLTIzIDE5OjQxOjQzICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkgIGttczogaW5jbHVkZSBzdGRsaWIuaAoJICBkcm0uaCBkb2VzIG5vdCBpbmNsdWRlIGFsbCB3aGF0IGl0IG5lZWRzIHRvIGNvbXBpbGUsIGluIHBhcnRpY3VsYXIKCSAgc3RkbGliLmggd2hpY2ggZGVmaW5lcyBzaXplX3QKCjIwMTYtMTEtMjMgMTk6MDE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBzZXQgdmFyaWFibGUganVzdCB0byBvdmVyd3JpdGUgaXQgYWdhaW4gbGF0ZXIKCSAgV2Ugc2V0IGl0IHRvIFRSVUUgaGVyZSwgYnV0IGxhdGVyIHdlIHNldCBpdCB0byBUUlVFIGFnYWluIGFueXdheSBpZiB0aGUKCSAgcGFyc2luZyBhY3R1YWxseSBzdWNjZWVkZWQgYXQgdGhpcyBwb2ludC4gTGV0J3Mga2VlcCB0aGUgc2Vjb25kIG9uZS4KCSAgQ0lEIDEzNzQzNjAuCgoyMDE2LTExLTIzIDE4OjQ1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdsZGlzcGxheTogRG9uJ3QgY29tcGFyZSBhIGd1aW50IHdpdGggPCAwCgkgIC0xIGlzIHRoZSAiaW52YWxpZCIgdmFsdWUsIGNvbXBhcmUgdG8gaXQgZGlyZWN0bHkuCgkgIENJRCAxMzk0NDkwLgoKMjAxNi0xMS0xOCAyMTowMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvYnVmZmVyc3BsaXQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlcnNwbGl0L2dzdGF1ZGlvYnVmZmVyc3BsaXQuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyc3BsaXQvZ3N0YXVkaW9idWZmZXJzcGxpdC5oOgoJKiBnc3QvYXVkaW9idWZmZXJzcGxpdC9tZXNvbi5idWlsZDoKCSogZ3N0L21lc29uLmJ1aWxkOgoJICBhdWRpb2J1ZmZlcnNwbGl0OiBOZXcgZWxlbWVudCB0aGF0IHNwbGl0cyByYXcgYXVkaW8gYnVmZmVycyBpbnRvIGVxdWFsLXNpemVkIGJ1ZmZlcnMKCSAgVGhpcyBpcyB1c2VmdWwgZS5nLiBpZiBhdWRpbyBidWZmZXJzIHNob3VsZCBiZSBleGFjdGx5IHRoZSBkdXJhdGlvbiBvZiBhCgkgIHZpZGVvIGZyYW1lLCBvciBpZiBhIGF1ZGlvIGJ1ZmZlcnMgc2hvdWxkIG5ldmVyIGJlIHRvbyBsYXJnZSBiZWNhdXNlIG9mCgkgIGxhdGVuY3kgY29uc3RyYWludHMuCgkgIFRoZSBlbGVtZW50IGlzIHRha2luZyBhIGZyYWN0aW9uYWwgYnVmZmVyIGR1cmF0aW9uLCB0byBhbGxvdyB3b3JraW5nCgkgIHdpdGggZS5nLiAxMDAxLzMwMDAwIGFzIG91dHB1dCBkdXJhdGlvbiBhbmQgaXQgYWNjdW11bGF0ZXMgcm91bmRpbmcKCSAgZXJyb3JzIGluIHRoZSBidWZmZXIgZHVyYXRpb25zIGFuZCBjb21wZW5zYXRlcyBmb3IgdGhlbSBieSBtYWtpbmcgc29tZQoJICBidWZmZXJzIG9uZSBzYW1wbGUgbGFyZ2VyIHRoYW4gdGhlIG90aGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDY4OQoKMjAxNi0xMC0xOSAxMjozOTozNiArMDIwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmg6CgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuYzoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5oOgoJKiBzeXMva21zL21lc29uLmJ1aWxkOgoJICBrbXNzaW5rOiByZW1vdmUgZGVwZW5kZW5jeSBvbiBsaWJrbXMKCSAgbGlia21zIHNob3VsZCBub3QgYmUgdXNlZCwgYmVjYXVzZSBpdCBpbXBvc2VzIGxpbWl0YXRpb25zIG9uIHRoZSBEUk0KCSAgQVBJLCBlc3BlY2lhbGx5IHJlZ2FyZGluZyBicHAgYW5kIHN0cmlkZS4gSW5zdGVhZCB0aGUgRFJNIElPQ1RMIHNob3VsZAoJICBiZSB1c2VkIGRpcmVjdGx5LgoJICBTd2l0Y2ggZnJvbSBsaWJrbXMgdG8gdGhlIElPQ1RMIGludGVyZmFjZS4gU2V0IGJwcCBhbmQgaGVpZ2h0IGZvcgoJICBmcmFtZWJ1ZmZlciBhbGxvY2F0aW9uIHRvIHByb3Blcmx5IGhhbmRsZSBwbGFuYXIgdmlkZW8gZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzQ3MwoJICBTaWduZWQtb2ZmLWJ5OiBWw61jdG9yIErDoXF1ZXogPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCjIwMTYtMTEtMjMgMTA6MzE6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJICBtaW1pYzogcmVtb3ZlIGFuY2llbnQgY29kZWMKCSAgVGhpcyB3YXMgdXNlZCBieSBNU04gbWVzc2VuZ2VyIGluIHByZWhpc3RvcmljIHRpbWVzLCBpdCdzIHNhZmUKCSAgdG8gc2F5IG5vIG9uZSBuZWVkcyBvciB3YW50cyB0aGlzIGFueSBtb3JlIHRoZXNlIGRheXMuIEZvcgoJICBkZWNvZGluZyBvbGQgcmVjb3JkaW5ncyB0aGVyZSdzIHN0aWxsIGEgZGVjb2RlciBpbiBmZm1wZWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTc2MTYKCjIwMTYtMTEtMjMgMTA6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEVuc3VyZSBjb2RlY19kYXRhIGhhcyB0aGUgcmVxdWlyZWQgc2l6ZSB3aGVuIHJlYWRpbmcgbnVtYmVyIG9mIE5BTCBhcnJheXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg5NgoKMjAxNi0xMS0yMyAxMDo1MToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRW5zdXJlIGNvZGVjX2RhdGEgaGFzIHRoZSByZXF1aXJlZCBzaXplIHdoZW4gcmVhZGluZyBudW1iZXIgb2YgU1BTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4OTYKCjIwMTYtMTEtMjMgMTc6MDQ6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbC9jb250ZXh0Z2x4OiBlcnJvciBvdXQgb24gbW9yZSBpbnZhbGlkIGRpc3BsYXkvd2luZG93IGNvbWJpbmF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODUxCgoyMDE2LTExLTIzIDE1OjU3OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogYWRkIG5lY2Vzc2FyeSBjb250ZXh0X2VnbC5oICNpbmNsdWRlcyB0byB0aGUgc291cmNlIGZpbGVzCgoyMDE2LTExLTIzIDEzOjMyOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmg6CgkgIGdsL21lbW9yeWVnbDogcmVtb3ZlIGFjY2VzcyB0byBwcml2YXRlIGhlYWRlciBnc3RnbGNvbnRleHRfZWdsLmgKCSAgSXQncyBiZWVuIHJlbW92ZWQgYW5kIHRodXMgY29tcGlsaW5nIGFueXRoaW5nIGFnYWluc3QgR3N0R0xNZW1vcnlFR0wKCSAgd291bGQgZXJyb3Igd2l0aDoKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdG9teHZpZGVvZGVjLmM6NDE6MDoKCSAgdXNyL2luY2x1ZGUvZ3N0cmVhbWVyLTEuMC9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmg6MzI6NDE6IGZhdGFsIGVycm9yOiBnc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICAjaW5jbHVkZSA8Z3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg+CgkgIF4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg4NgoKMjAxNi0xMS0yMiAxMjo1ODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlc2V0IHZhbHVlcyBiZWZvcmUgcGFyc2luZyBlYWNoIHNlY3Rpb24KCjIwMTYtMTEtMjIgMTI6NDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBNYWtlIHN1cmUgaW4gYWxsIGNhc2VzIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSBsZWZ0IGZvciByZWFkaW5nIGEgc2VjdGlvbiBzdGFydAoJICBJbiBzb21lIGNhc2VzIHdlIGVuZGVkIHVwIHBhcnNpbmcgc2VjdGlvbnMgd2l0aG91dC4KCjIwMTYtMTEtMjEgMTc6MTk6NDYgKzAxMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuY3BwOgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkgIG9wZW5jdjogZm9yd2FyZCBkZWNsYXJlIG9wZW5jdiB0eXBlcwoJICBGb3J3YXJkIGRlY2xhcmUgb3BlbmN2IHR5cGVzIHRvIGF2b2lkIGV4cG9zaW5nIHRoZW0gaW4gdGhlIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDIyMwoKMjAxNi0xMS0yMSAxMDo1MjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIGludGVyZmFjZXM6IHBob3RvZ3JhcGh5OiBjbGVhbiB1cCBoZWFkZXIgaW5kZW50YXRpb24KCjIwMTYtMTEtMjAgMTU6MTA6NDIgKzA5MDAgIFNldW5naGEgWWFuZyA8c2gueWFuZ0BsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogTW9kaWZ5IHJldHVybiBvZiB0aGUgZnVuY3Rpb24gZm9yIGxvYWRpbmcgZXh0ZXJuYWwgcmVzb3VyY2VzIHRvIHZvaWQKCSAgZ3N0X21wZF9jbGllbnRfZmV0Y2hfb25fbG9hZF9leHRlcm5hbF9yZXNvdXJjZXMoKSBuZXZlciBldmVyIHJldHVybgoJICBGQUxTRSBkdWUgdG8gbW9kaWZpZWQgZXh0ZXJuYWwgeG1sIGxvYWRpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDYzCgoyMDE2LTExLTE5IDIzOjA0OjA0ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEhhbmRsZSBpbnZhbGlkIGV4dGVybmFsIHhtbCBsaW5rIGZvciBTZWdtZW50TGlzdCBlbGVtZW50CgkgIElnbm9yZSBpbnZhbGlkIHhtbCBsaW5rIGZvciBTZWdtZW50TGlzdCBsaWtld2lzZSBleHRlcm5hbCBQZXJpb2Qgd2l0aG91dCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQ2MwoKMjAxNi0xMS0xOSAyMjozODoyMCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBIYW5kbGUgaW52YWxpZCBleHRlcm5hbCB4bWwgbGluayBmb3IgQWRhcHRhdGlvblNldCBlbGVtZW50CgkgIElnbm9yZSBpbnZhbGlkIHhtbCBsaW5rIGZvciBBZGFwdGF0aW9uU2V0IGxpa2V3aXNlIGV4dGVybmFsIFBlcmlvZCB3aXRob3V0IGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDYzCgoyMDE2LTExLTE5IDE4OjM3OjU0ICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IEhhbmRsZSBpbnZhbGlkIGV4dGVybmFsIHhtbCBsaW5rIGZvciBQZXJpb2QgZWxlbWVudAoJICBTZWN0aW9uIDUuMy4zIGluIElTTy9JRUMgMjMwMDktMToyMDE0IGRlZmluZXMgdGhhdCBpbnZhbGlkIHJlZmVyZW5jZXMKCSAgKGUuZy4sIGludmFsaWRlIFVSSSBvciBjYW5ub3QgYmUgcmVzb2x2ZWQpIHNwZWNpZmllZCBieSAiQHhsaW5rOmhyZWYiIGF0dHJpYnV0ZQoJICBzaGFsbCBiZSByZW1vdmVkLiBUaGF0IG1lYW5zLCB3ZSBzaG91bGQgcGxheSBpdCB3aXRob3V0IGVycm9yLAoJICBhbmQganVzdCBpZ25vcmUgdGhlIGNvcnJlc3BvbmRpbmcgZWxlbWVudC4KCSAgSXQncyBzaW1pbGFyIHRvICJ1cm46bXBlZzpkYXNoOnJlc29sdmUtdG8temVybzoyMDEzIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDQ2MwoKMjAxNi0xMS0xNyAxNTo0MTowMCArMDAwMCAgRGF2aWQgRXZhbnMgPGJiY3JkZGF2ZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgZ3N0cmVhbWVyLXZpZGVvIHRvIHBrZy1jb25maWcgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjI0CgoyMDE2LTExLTIwIDEyOjQwOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggbGliIGFuZCBjZmxhZ3Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCSAgcG5tOiBhZGQgbWlzc3NpbmcgY29udGludWF0aW9uIHNsYXNoIGF0IGVuZCBvZiBsaW5lCgkgIHZwOHBhcnNlcjogbm8gbmVlZCB0byBsaW5rIGNvZGVjcGFyc2VycyB0d2ljZQoJICBkYXNoX2RlbXV4LCBtc3NkZW11eCwgaGxzZGVtdXg6IGZpeCBsaWIvZmxhZ3Mgb3JkZXJpbmcgLSBsb2NhbAoJICBsaWJzIGFuZCBmbGFncyBtdXN0IGNvbWUgZmlyc3QsIHRoZW4gYmFzZSBiZWZvcmUgY29yZSBiZWZvcmUgcmVzdAoKMjAxNi0xMS0xOSAxNjoxMjowNiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggbGVhayBpbiBnc3RfZGFzaF9kZW11eF9zdHJlYW1fZnJlZQoJICBGcmVlIHBhcnNlZCBtb29mIGFuZCBzeW5jIHNhbXBsZXMgd2l0aCBfc3RyZWFtX2ZyZWUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDcwMgoKMjAxNi0xMS0xNyAxMToxOTo1NCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kOiBhdm9pZCBwcmVmaXggY2xhc2ggaW4gY29tYmluZWQgcGtnLWNvbmZpZyBjaGVjawoJICBBZGl0dGlvbmFsbHksIHJlbW92ZSBsZWZ0b3ZlciBXQVlMQU5EX0RSTV8gaW5jbHVkZSBmbGFncyB2YXIKCSAgRml4ZXMgYnVpbGRpbmcgb2YgZXh0L3dheWxhbmQvKiBicm9rZW4gYnkgZGZkODZkZTY3YThjMDRmNmQxCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM5MjcKCjIwMTYtMTEtMTcgMjA6MjE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBNYXJrIHBhZCBhcyBuZWVkaW5nIHJlY29uZmlndXJhdGlvbiBhZ2FpbiBpZiBpdCBmYWlsZWQKCSAgQW5kIHJldHVybiBGTFVTSElORyBpbnN0ZWFkIG9mIE5PVF9ORUdPVElBVEVEIG9uIGZsdXNoaW5nIHBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjMKCjIwMTYtMTEtMTcgMjA6MjA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogTWFyayBwYWQgYXMgbmVlZGluZyByZWNvbmZpZ3VyYXRpb24gYWdhaW4gaWYgaXQgZmFpbGVkCgkgIEFuZCByZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBOT1RfTkVHT1RJQVRFRCBvbiBmbHVzaGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDIwOjIwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1hcmsgcGFkIGFzIG5lZWRpbmcgcmVjb25maWd1cmF0aW9uIGFnYWluIGlmIGl0IGZhaWxlZAoJICBBbmQgcmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgTk9UX05FR09USUFURUQgb24gZmx1c2hpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xNyAyMDoxOTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90dG1sL2dzdHR0bWxyZW5kZXIuYzoKCSAgdHRtbHJlbmRlcjogTWFyayBwYWQgYXMgbmVlZGluZyByZWNvbmZpZ3VyYXRpb24gYWdhaW4gaWYgaXQgZmFpbGVkCgkgIEFuZCByZXR1cm4gRkxVU0hJTkcgaW5zdGVhZCBvZiBOT1RfTkVHT1RJQVRFRCBvbiBmbHVzaGluZyBwYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjIzCgoyMDE2LTExLTE3IDIwOjE2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYXJrIHBhZCBhcyBuZWVkaW5nIHJlY29uZmlndXJhdGlvbiBhZ2FpbiBpZiByZWNvbmZpZ3VyYXRpb24gZmFpbGVkCgkgIEFsc28gcmV0dXJuIEZMVVNISU5HIGluc3RlYWQgb2YgTk9UX05FR09USUFURUQgb24gZmx1c2hpbmcgcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyMwoKMjAxNi0xMS0xOCAxMjoyMToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgaXFhOiBBZGQgdG8gRElTVF9TVUJESVJTCgoyMDE2LTExLTE3IDE3OjE3OjIyIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkX2dsb2JhbF9hcmd1bWVudHMgLT4gYWRkX3Byb2plY3RfYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2NTYKCjIwMTYtMTEtMTcgMTA6NTQ6NDUgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB3YXlsYW5kOiB3bF9zY2FubmVyIGlzIHJlcXVpcmVkOiBmYWxzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NjM3CgoyMDE2LTExLTE3IDE1OjExOjIwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIHJlbWFpbmluZyByZWZlcmVuY2UgdG8gdmlkZW9tZWFzdXJlCgoyMDE2LTExLTE3IDE4OjIzOjA0ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt2aWRlb3NyYzogSXNzdWUgIm5vIHNpZ25hbCIgd2FybmluZ3MKCSAgV2hlbiBhIGZyYW1lIGlzIGZvdW5kIHRvIG5vdCBoYXZlIGFuIGFzc29jaWF0ZWQgaW5wdXQgc291cmNlIChjYWJsZQoJICB1bnBsdWdnZWQsIHdyb25nIG1vZGUgc2VsZWN0ZWQpLCBhbiBlbGVtZW50IHdhcm5pbmcgd2lsbCBiZSBpc3N1ZWQuIFdoZW4KCSAgdGhlIG5leHQgZnJhbWUgaW4gdGhlIHN0cmVhbSBpcyBmb3VuZCB0byBoYXZlIGFuIGlucHV0IHNvdXJjZSBzZWxlY3RlZAoJICAoZS5nLiBjYWJsZSByZXBsdWdnZWQpLCBhbiBlbGVtZW50IGluZm8gd2lsbCBiZSBpc3N1ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ2MjkKCjIwMTYtMTEtMTYgMTg6MDE6MTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvbWVzb24uYnVpbGQ6CgkgIHZpZGVvbWVhc3VyZTogUmVtb3ZlIG9sZCB1bnBvcnRlZCB2aWRlb21lYXN1cmUgcGx1Z2luIGFzIGl0IGlzIG5vdyByZXBsYWNlZCBieSBJUUEKCjIwMTYtMTEtMTYgMTY6MzA6NTAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2lxYS9pcWEuYzoKCSAgaXFhOiBFcnJvciBvdXQgd2hlbiB0cnlpbmcgdG8gY29tcGFyZSB2aWRlbyBzdHJlYW0gd2l0aCBkaWZmZXJlbnQgc2l6ZXMKCSAgV2UgZG8gbm90IGhhbmRsZSBpdCB5ZXQgYW5kIHdlIHNob3VsZCBsZXQgdGhlIHVzZXIga25vdy4KCjIwMTYtMTEtMTYgMTQ6NDY6MjQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2lxYS9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJICBpcWE6IEFkZCBtZXNvbiBidWlsZCBzdXBwb3J0CgoyMDE2LTExLTE2IDEzOjE4OjUzIC0wMzAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXFhL01ha2VmaWxlLmFtOgoJKiBleHQvaXFhL2lxYS5jOgoJKiBleHQvaXFhL2lxYS5oOgoJICBBZGRzIGEgbmV3IEltYWdlIFF1YWxpdHkgQXNzZXNzbWVudCBwbHVnaW4uCgkgIEl0IG9ubHkgb2ZmZXJzIG9uZSBtZXRyaWMgZm9yIG5vdywgImRzc2ltIiwgYXZhaWxhYmxlIGlmCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9wb3JuZWwvZHNzaW0gd2FzIGluc3RhbGxlZCBvbiB0aGUgc3lzdGVtCgkgIGF0IHRoZSB0aW1lIHRoZSBwbHVnaW4gd2FzIGNvbXBpbGVkLgoJICBUaGUgc3BlYXJtYW4gY29ycmVsYXRpb24gZm9yIGRzc2ltIGFnYWluc3QgdGhlIFRJRDIwMDggZGF0YXNldAoJICBpcyAwLjgxLCBhZ2FpbnN0IDAuNzAgZm9yIHRoZSBvbGQgc3NpbSBpbXBsZW1lbnRhdGlvbiwgYW5kCgkgIGl0IHJ1bnMgMTUgdGltZXMgZmFzdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzI0CgoyMDE2LTExLTE3IDE0OjM1OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBnbC90ZXN0czogZml4IGdsaW1hZ2VzaW5rIGVsZW1lbnQgdGVzdCBvbiBPU1gKCSAgSXQgd2FzIHN1ZmZlcmluZyBhIHJhY2Ugc3RhcnRpbmcgdXAgdGhlIHRocmVhZCB0aGF0IGNvdWxkIGNhdXNlIHRoZSBtYWluCgkgIGxvb3AgdG8gcXVpdCBiZWZvcmUgdGhlIG1haW4gbG9vcCBoYWQgc3RhcnRlZC4KCjIwMTYtMTEtMTcgMTQ6MjE6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGFwcGxlbWVkaWE6IGVycm9yIG91dCBpZiB0aGUgdXJpIHByb3BlcnR5IGlzIG5vdCBzZXQKCSAgRml4ZXM6CgkgIFRlcm1pbmF0aW5nIGFwcCBkdWUgdG8gdW5jYXVnaHQgZXhjZXB0aW9uICdOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicsIHJlYXNvbjogJyoqKiArW05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOl06IE5VTEwgY1N0cmluZwoJICBpbiB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgoyMDE2LTExLTE3IDE1OjE1OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IHdheWxhbmQ6IG1vdmUgZGVwIGNoZWNrcyB0byB0aGUgbGliCgkgIE1vdmVzIHRoZW0gY2xvc2VyIHRvIHdoZXJlIHRoZXkgYXJlIHVzZWQuICBXZSBkb24ndCB3YW50IGV2ZXJ5IGNoZWNrIGluCgkgIHRoZSBtYWluIG1lc29uLmJ1aWxkIGZpbGUuCgoyMDE2LTExLTE3IDE0OjMyOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBnbC9lZ2w6IGFkZCBtaXNzaW5nIHNvdXJjZSBmaWxlCgkgIGQ0MjE0NWU4YzFiYTNiYzA0NDU1MDZiOTJiYjdhYzA0YWU5OGY0ZGQgZGlkbid0IGFkZCB0aGUgbmVjZXNzYXJ5CgkgIG1lc29uIGJ1aWxkIGNoYW5nZXMuCgoyMDE2LTExLTE3IDAyOjQxOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkgIGdsL2VnbDogcmVtb3ZlIEVHTEltYWdlIGZ1bmN0aW9ucyBmcm9tIGVnbCBjb250ZXh0CgkgIEJ5IGFkZGluZyB0aGUgbmVjZXNzYXJ5IEdzdEVHTEltYWdlIGVudHJ5IHBvaW50cyB0byBjcmVhdGUgYSBHc3RFR0xJbWFnZQoJICBmcm9tIGEgR3N0R0xNZW1vcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1MTgKCjIwMTYtMTEtMTcgMDE6NDU6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dDogYWRkIHZmdW5jIHRvIHJldHJpZXZlIHRoZSBPcGVuR0wgcGxhdGZvcm0gdmVyc2lvbgoJICBpLmUuIHRoZSB2ZXJzaW9uIG9mIEVHTCwgR0xYLCBldGMgaW1wbGVtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1MTgKCjIwMTYtMTEtMTcgMDE6Mzg6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsL2VnbDogbW92ZSBnZXRfZXJyb3Jfc3RyaW5nKCkgaW50byBnc3RlZ2wKCSAgU28gb3RoZXJzIGNhbiB1c2UgaXQgd2l0aG91dCAjaW5jbHVkZS1pbmcgYSBwcml2YXRlIGhlYWRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTE4CgoyMDE0LTExLTI3IDE1OjUwOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSAgZGlzcGxheS9lZ2w6IGltcGxlbWVudCBnZXR0aW5nIHRoZSBFR0xEaXNwbGF5IG9mIGEgc3BlY2lmaWMgcGxhdGZvcm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDUxOAoKMjAxNi0xMS0xNiAxMzowNToxMSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2wvZWdsOiBjaGVjayB0aGUgZmVhdHVyZSBpbiB0aGUgZXh0ZW5zaW9ucyBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1MTgKCjIwMTYtMTEtMTYgMjA6NDE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IFNhbml0eS1jaGVjayB3aWR0aC9oZWlnaHQgYmVmb3JlIHVzaW5nIGl0CgkgIFdlIHdpbGwgYWxsb2NhdGUgYSBzY3JlZW4gYXJlYSBvZiB3aWR0aCpoZWlnaHQqYnBwIGJ5dGVzLCBob3dldmVyIHRoaXMKCSAgY2FsY3VsYXRpb24gY2FuIGVhc2lseSBvdmVyZmxvdyBpZiB0b28gaGlnaCB3aWR0aCBvciBoZWlnaHQgYXJlIGdpdmVuCgkgIGluc2lkZSB0aGUgc3RyZWFtLiBOb25ldGhlbGVzcyB3ZSB3b3VsZCBqdXN0IGFzc3VtZSB0aGF0IGVub3VnaCBtZW1vcnkKCSAgd2FzIGFsbG9jYXRlZCwgdHJ5IHRvIGZpbGwgaXQgYW5kIG92ZXJ3cml0ZSBhcyBtdWNoIG1lbW9yeSBhcyB3YW50ZWQuCgkgIEFsc28gYWxsb2NhdGUgdGhlIHNjcmVlbiBhcmVhIGZpbGxlZCB3aXRoIHplcm9lcyB0byBlbnN1cmUgdGhhdCB3ZSBzdGFydAoJICB3aXRoIGZ1bGwtYmxhY2sgYW5kIG5vdCBhbnkgcmFuZG9tIChvciBub3Qgc28gcmFuZG9tKSBkYXRhLgoJICBodHRwczovL3NjYXJ5YmVhc3RzZWN1cml0eS5ibG9nc3BvdC5nci8yMDE2LzExLzBkYXktcG9jLXJpc2t5LWRlc2lnbi1kZWNpc2lvbnMtaW4uaHRtbAoJICBJZGVhbGx5IHdlIHNob3VsZCBqdXN0IHJlbW92ZSB0aGlzIHBsdWdpbiBpbiBmYXZvdXIgb2YgdGhlIG9uZSBpbgoJICBnc3QtbGliYXYsIHdoaWNoIGdlbmVyYWxseSBzZWVtcyB0byBiZSBvZiBiZXR0ZXIgY29kZSBxdWFsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NTMzCgoyMDE2LTExLTE2IDE4OjUwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB0dG1sOiBIaWRlIGJlaGluZCAtLWVuYWJsZS1leHBlcmltZW50YWwKCSAgVGhlIGVsZW1lbnRzIGFyZSBhdXRvcGx1Z2dlZCBhbmQgY3VycmVudGx5IGFzc2VydCBvbiBpbnZhbGlkIHN0cmVhbXMuCgoyMDE2LTExLTE2IDE2OjQ1OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Ntb290aHdhdmUvLmdpdGlnbm9yZToKCSAgc21vb3Rod2F2ZTogUmVtb3ZlIGVtcHR5IGRpcmVjdG9yeQoKMjAxNi0xMS0xNiAxNjozMzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tZXNvbi5idWlsZDoKCSogZ3N0L3JlYWwvbWVzb24uYnVpbGQ6CgkgIHJlYWw6IFJlbW92ZSBlbXB0eSBkaXJlY3RvcnkKCjIwMTYtMTEtMTYgMTY6MTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9tcGVnMXN5cy9tZXNvbi5idWlsZDoKCSAgbXBlZzFzeXM6IFJlbW92ZSBvYnNvbGV0ZSwgZW1wdHkgZGlyZWN0b3J5IHRoYXQgb25seSBjb250YWlucyBhIG1lc29uLmJ1aWxkCgoyMDE2LTExLTE1IDE2OjIwOjEwICswMTAwICBJbXJlIEXDtnJzIDxpbXJlZUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsOiB0cmFuc2ZlciBoYW5ncyBpbiBjYXNlIGNvbm5lY3Rpb24gd2FzIGN1dCBiZXR3ZWVuIGNsaWVudCBhbmQgc2VydmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0ODUKCjIwMTYtMTEtMTYgMTc6MzA6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IGRvbid0IHVzZSB0aGUgZGVmYXVsdCBmcmFtZWJ1ZmZlcgoJICBDcmVhdGUgb3VyIG93biBpbnN0ZWFkIGFzIHRoZSBkZWZhdWx0IGZyYW1lYnVmZmVyIG1heSByZXF1aXJlIHNwZWNpYWwKCSAgZmlkZGxpbmcgKGxpa2UgaGF2aW5nIGEgdmlzaWJsZSB3aW5kb3cpIHRvIGNvcnJlY3RseSBkaXNwbGF5L2JlIHJlbmRlcmFibGUuCgkgIEZpeGVzIHRoZSByZW1haW5pbmcgR0wgbGlicmFyeSB0ZXN0cyBvbiBPUyBYCgoyMDE2LTExLTE2IDEzOjM5OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogaW1wbGVtZW50IGVtcHR5IHN3YXBfYnVmZmVycwoJICBGaXhlcyBzb21lIEdMIHRlc3RzIG9uIE9TIFguCgoyMDE2LTExLTE2IDE2OjQxOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvQlVHUzoKCSAgZ2w6IHJlbW92ZSBlbXB0eSBCVUdTIGZpbGUKCSAgV2UgdXNlIGJ1Z3ppbGxhIGZvciBidWcgdHJhY2tpbmcKCjIwMTYtMTEtMTUgMTc6NDY6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvd2F5bGFuZC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBCdWlsZCB3YXlsYW5kc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDkzCgoyMDE2LTExLTE1IDE3OjQ4OjE1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZCBpZiB3YXlsYW5kLWNsaWVudCBpcyBub3QgYXZhaWxhYmxlCgkgIFNpbXBsaWZ5IHRoZSBQS0dfQ0hFQ0tfTU9EVUxFUyByZWxhdGVkIHRvIFdheWxhbmQgdG8gYXZvaWQgdGhlIGNvbmZ1c2lvbgoJICBvZiBOT1RfRk9VTkQgY2FzZXMgd2hlbiB0aGVyZSBhcmUgMyBuZXN0ZWQgY2hlY2tzLiBHcm91cCB0aG9zZSAzIGNoZWNrcwoJICB0b2dldGhlciBzaW5jZSB0aGVyZSBhcmUgbm8gY29uZGl0aW9ucyBzcGVjaWZpYyB0byBlYWNoIG9uZS4KCSAgVGhhbmtzIHRvIGh0dHBzOi8vY2kuZ3N0cmVhbWVyLm5ldC8gZm9yIGFsZXJ0aW5nIG9mIHRoZSBwcm9ibGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczOTI3CgoyMDE2LTExLTE1IDExOjU5OjQ1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZCBpZiBsaWJkcm0gaXMgbm90IGF2YWlsYWJsZQoJICBJZiB0aGUgTk9UX0ZPVU5EIHBhcnQgb2YgdGhlIGNoZWNrIFBLR19DSEVDS19NT0RVTEVTIGlzIG5vdCB3cml0dGVuLCBpdAoJICBkZWZhdWx0cyB0byBlcnJvci4gQWRkaW5kIHRoZSBlbHNlIGNsYXVzZSBvZiB0aGlzIGNoZWNrIGFzCgkgIEhBVkVfV0FZTEFORD0ibm8iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM5MjcKCjIwMTYtMTEtMTYgMDA6MDE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbHdpbmRvdy9jb2NvYTogcmVtb3ZlIHVubmVlZGVkIHdpbmRvdyBjb2RlIGluIE5TV2luZG93CgkgIFRoaXMgaXMgYWxsIHRha2VuIGNhcmUgb2YgYnkgR3N0R0xXaW5kb3dDb2NvYS9Hc3RHTE5TVmlldyBub3cuCgoyMDE2LTExLTE1IDIyOjU2OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2x3aW5kb3cvY29jb2E6IHJlbW92ZSBvdXIgdmlldyBmcm9tIHRoZSBwYXJlbnQgd2hlbiBjbG9zaW5nCgkgIE90aGVyd2lzZSwgd2hlbiB0aGUgYXBwbGljYXRpb24gcmV1c2VzIHRoZSBzYW1lIFVJVmlldywgd2Ugd2VyZSBnZXR0aW5nCgkgIGRyYXcgbm90aWZpY2F0aW9ucyBvbiB0aGUgcHJldmlvdXMgdmlldy9sYXllcidzIHdoaWNoIHdlcmVuJ3QgdmFsaWQgYW55bW9yZQoJICBhbmQgd2VyZSByZWZlcmVuY2luZyBwb2ludGVycyB0aGF0IGhhZCBiZWVuIGZyZWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDAzCgoyMDE2LTExLTE1IDIxOjQzOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXI6IGFkZCBhIGRlYnVnIGNhdGVnb3J5CgoyMDE2LTExLTE1IDE0OjM2OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogaW50cm9kdWNlIGNoZWNrIGZvciBHTE1lbW9yeSBhbGxvY2F0b3JzCgkgIFRoZSBsYXN0IG1pc3NpbmcgcGllY2Ugb2YgRUdMSW1hZ2Ugc3VwcG9ydCBoYXMgYmVlbiBwdXNoZWQuCgoyMDE2LTExLTE0IDE3OjAyOjU0IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBGaXggc29tZSBNU1ZDIHdhcm5pbmdzIGFib3V0IGNvbnN0LW5lc3MKCSAgU29tZSBtaXNjZWxsYW5lb3VzIHdhcm5pbmdzIGFib3V0IGNvbnN0LW5lc3MsIGVpdGhlciBjYXN0aW5nIGF3YXkgY29uc3QKCSAgd2hlcmUgd2Uga25vdyBpdCdzIHNhZmUgb3IgcmVtb3ZpbmcgY29uc3Qgd2hlcmUgaXQncyBub3QgY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI5MwoKMjAxNi0xMS0xNCAxNjo1OTo0OCAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSAgQ2FzdCBhd2F5IGNvbnN0IGZyb20gR3N0TWV0YUluZm8gaW4gKl9nZXRfbWV0YV9pbmZvKCkgZnVuY3Rpb25zCgkgIE1TVkMgd2FybnMgYWJvdXQgdGhlIGNvbnN0IGluIHRoZSBpbXBsaWNpdCBhcmd1bWVudCBjb252ZXJzaW9uIGluIHRoZQoJICBjYWxscyB0byBnX29uY2VfaW5pdF97ZW50ZXIsbGVhdmV9LiBJdCdzIE9LIHNvIGV4cGxpY2l0bHkgY2FzdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI5MwoKMjAxNi0xMS0xMCAyMzowNzo1MCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBzdGFydHVwIFNFR01FTlQgc2Vla2luZyBhbmQgc2V0dGluZyBmb3IgbGl2ZQoJICBCZWNhdXNlIGZyYWdtZW50LnRpbWVzdGFtcCBpcyByZWxhdGl2ZSB2YWx1ZSB0byBwZXJpb2Rfc3RhcnQsCgkgIHN0YXJ0dXAgU0VHTUVOVCBzZWVraW5nIHNob3VsZCBiZSBwb2ludGVkIHRvICJmcmFnbWVudC50aW1lc3RhbXAgKyBwZXJpb2Rfc3RhcnQiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxOTYKCjIwMTYtMTEtMTQgMTI6MjM6MzcgKzAxMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdkaXNjcmVlbmNhcHNyYzogcmVtb3ZlIGVtcHR5IGdzdF9nZGlzY3JlZW5jYXBzcmNfc3RvcCB2ZnVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NDAwCgoyMDE2LTExLTEwIDE4OjQyOjI5ICswMTAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuY3BwOgoJKiBnc3QtbGlicy9nc3Qvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkgIG9wZW5jdjogbW92ZSBiYXNlIG9wZW5jdiBmaWx0ZXIgY2xhc3MgYW5kIHV0aWxpdGllcyB0byBnc3QtbGlicwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjIzCgoyMDE2LTExLTE0IDIzOjE1OjA1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9mYmRldi9tZXNvbi5idWlsZDoKCSogc3lzL21lc29uLmJ1aWxkOgoJICBmYmRldnNpbms6IEFkZCB0byBtZXNvbiBidWlsZAoKMjAxNi0xMS0xNCAyMzoxMToxMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMva21zL21lc29uLmJ1aWxkOgoJICBrbXNzaW5rOiBUcml2aWFsIG5hbWluZyBmaXggaW4gbWVzb24gZm9yIGNvbnNpc3RlbmN5CgoyMDE2LTExLTE0IDIxOjAzOjIwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9rbXMvbWVzb24uYnVpbGQ6CgkqIHN5cy9tZXNvbi5idWlsZDoKCSAga21zc2luazogRW5hYmxlIGluIG1lc29uIGJ1aWxkCgoyMDE2LTExLTE0IDE3OjAwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaDogRml4IGJyZWFrYWdlIGluIHVuaXQgdGVzdCBjYXVzZWQgYnkgZ3N0LWluZGVudAoKMjAxNi0xMS0xNCAyMzozMTozNyArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZF9kYXRhL3hsaW5rX2RvdWJsZV9wZXJpb2QucGVyaW9kOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZF9kYXRhL3hsaW5rX3NpbmdsZV9wZXJpb2QucGVyaW9kOgoJICBtcGRwYXJzZXI6IFN1cHBvcnQgbXVsdGlwbGUgUGVyaW9kIGVsZW1lbnRzIGluIGV4dGVybmFsIHhtbAoJICBFeHRlcm5hbCB4bWwgY291bGQgaGF2ZSBlbXB0eSwgb25lIG9yIG11bHRpcGxlIHRvcC1sZXZlbCAiUGVyaW9kIiBlbGVtZW50cy4KCSAgQmVjYXVzZSB4bWwgcGFyc2VyIGNhbm5vdCBwYXJzZSB0aGUgbXVsdGlwbGUgdG9wLWxldmVsIGVsZW1lbnRzCgkgIChpLmUuLCBubyByb290IGVsZW1lbnQpLCB3ZSBuZWVkIHRvIHdyYXAgYSB4bWwgaW4gb3JkZXIgdG8gbWFrZSByb290IGVsZW1lbnQuCgkgIFNlZSBhbHNvIElTTy9JRUMgMjMwMDktMToyMDE0IDUuMy4yLjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDM1NwoKMjAxNi0xMS0wMyAxMDo0NzowMCAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSogc3lzL21zZGsvZ3N0bXNka2VuYy5jOgoJKiBzeXMvbXNkay9tZXNvbi5idWlsZDoKCSogc3lzL21zZGsvbXNkay5jOgoJKiBzeXMvbXNkay9tc2RrLmg6CgkqIHN5cy9tc2RrL21zZGtfZDNkLmM6CgkqIHN5cy9tc2RrL21zZGtfbGlidmEuYzoKCSAgbXNkazogSW5pdGlhbCB3aW5kb3dzIGJ1aWxkIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk5MAoKMjAxNi0xMC0xMyAxNDozMDo0MyAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvbWVzb24uYnVpbGQ6CgkqIHN5cy9tc2RrL21lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkIGJ1aWxkIGZpbGVzIGZvciBtc2RrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5OTAKCjIwMTYtMDktMjcgMTQ6MjE6MzQgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjVlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka3ZwOGVuYy5jOgoJICBtc2RrOiBsb2FkIHBsdWdpbnMgaW4gaDI2NSBhbmQgdnA4IGluaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk5MAoKMjAxNi0wOS0yNyAxNDoxNzo0OSAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmM6CgkgIG1zZGs6IFdpZHRoIGFuZCBIZWlnaHQgbmVlZCB0byBiZSBpbnRlZ2VyIG11bHRpcGxlcyBvZiAzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTkwCgoyMDE2LTA5LTA5IDE1OjQzOjI1IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbXNkay9NYWtlZmlsZS5hbToKCSAgbXNkazogYWRkIHRvIGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5OTAKCjIwMTYtMDQtMDEgMTk6MjU6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxqdG9ycmFAb2Jsb25nLmNvbT4KCgkqIHN5cy9tc2RrL1JFQURNRToKCSogc3lzL21zZGsvZ3N0bXNkay5jOgoJKiBzeXMvbXNkay9nc3Rtc2RrZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGtlbmMuaDoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjRlbmMuaDoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjVlbmMuYzoKCSogc3lzL21zZGsvZ3N0bXNka2gyNjVlbmMuaDoKCSogc3lzL21zZGsvZ3N0bXNka21wZWcyZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGttcGVnMmVuYy5oOgoJKiBzeXMvbXNkay9nc3Rtc2RrdnA4ZW5jLmM6CgkqIHN5cy9tc2RrL2dzdG1zZGt2cDhlbmMuaDoKCSogc3lzL21zZGsvbXNkay5oOgoJKiBzeXMvbXNkay9tc2RrX2xpYnZhLmM6CgkgIG1zZGs6IENyZWF0ZSBwbHVnaW4gZm9yIEludGVsJ3MgTWVkaWEgU0RLCgkgIFtzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbTogZ3N0LWluZGVudCAqLmMgKi5oXQoJICBbc2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb206IGxpbmsgd2l0aCBsaWJ2YSBhdCBidWlsZCB0aW1lXQoJICBbc2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb206IHJlbW92ZSB1bnVzZWQgaW5jbHVkZXNdCgkgIFtzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbTogVXBkYXRlIFJFQURNRV0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDk5MAoKMjAxNi0xMS0xNCAxMTowODoyNCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIG1wZHBhcnNlcjogd3JhcCB1bm1vZGlmaWVkIGRhdGEgaW4gcHJvdGVjdGlvbiBldmVudAoJICBQbGF5UmVhZHkgYmVpbmcgdGhlIG9uZSBvZiB0aGUgZmV3IERSTSBmb3JtYXRzIGVuY29kaW5nIGl0cyBkYXRhIHdpdGgKCSAgYmFzZTY0IGl0IHdhcyBub3QgY29uc2lzdGVudCB0byBoYXZlIGEgc3BlY2lhbCBjYXNlIGZvciB0aGlzLiBTbyB0aGUKCSAgYmFzZTY0IGRlY29kaW5nIG9wZXJhdGlvbiBub3cgbmVlZHMgdG8gYmUgZG9uZSBieSB0aGUgcHJvdGVjdGlvbiBldmVudAoJICBjb25zdW1lciwgaWYgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTEyCgoyMDE2LTExLTE0IDExOjA2OjAwICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogd3JhcCB1bm1vZGlmaWVkIGRhdGEgaW4gcHJvdGVjdGlvbiBldmVudAoJICBQbGF5UmVhZHkgYmVpbmcgdGhlIG9uZSBvZiB0aGUgZmV3IERSTSBmb3JtYXRzIGVuY29kaW5nIGl0cyBkYXRhIHdpdGgKCSAgYmFzZTY0IGl0IHdhcyBub3QgY29uc2lzdGVudCB0byBoYXZlIGEgc3BlY2lhbCBjYXNlIGZvciB0aGlzLiBTbyB0aGUKCSAgYmFzZTY0IGRlY29kaW5nIG9wZXJhdGlvbiBub3cgbmVlZHMgdG8gYmUgZG9uZSBieSB0aGUgcHJvdGVjdGlvbiBldmVudAoJICBjb25zdW1lciwgaWYgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTEyCgoyMDE2LTExLTE0IDExOjMyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkgIGR0bHNjZXJ0aWZpY2F0ZTogRml4IGVycm9yIGNoZWNraW5nIGluIFJTQV9nZW5lcmF0ZV9rZXlfZXgoKSB1c2FnZQoJICBXYXMgYnJva2VuIGR1cmluZyB0aGUgcG9ydCBmb3IgT3BlblNTTCAxLjEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQzMjgKCjIwMTYtMTEtMTEgMTA6NTU6NTcgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICB3aW5rczogdW5kZWYgd2luZG93cyBTREsgbWFjcm9zIGJlZm9yZSByZWRlZmluaW5nIHRoZW0KCSAgUmVkZWZpbmluZyBhbiBhbHJlYWR5IGRlZmluZWQgbWFjcm8gY2F1c2VzIGEgd2FybmluZyBmcm9tIHRoZSBtc3ZjCgkgIHByZXByb2Nlc3NvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjkzCgoyMDE2LTExLTExIDEwOjU0OjUyIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBSZW1vdmUgJ3JldHVybicgZnJvbSBgdm9pZGAgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyOTMKCjIwMTYtMTEtMTEgMTA6NTE6NDkgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWd0c2RlbXV4OiBmaXggb3BlcmF0b3IgcHJlY2VkZW5jZSBpbiBTQUZFX0ZPVVJDQ19BUkdTCgkgIFR5cGUgY2FzdCBoYXMgaGlnaGVyIHByZWNlZGVuY2UgdGhhbiBiaXR3aXNlIHNoaWZ0LCBzbyB0aGUgdGhpcmQKCSAgYXJndW1lbnQgd2lsbCB0cnVuY2F0ZSB0byA4IGJpdHMgYW5kIHRoZW4gc2hpZnQgcmlnaHQgYnkgOCBiaXRzCgkgIHJlc3VsdGluZyBpbiBjb25zdGFudCB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MjkzCgoyMDE2LTExLTEyIDEwOjM4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIHdoZW4gY2hlY2tpbmcgaWYgdGhlcmUgaXMgYSBuZXh0IGZyYWdtZW50CgkgIFRoYW5rcyB0byBBbGVrc2FuZHIgPHR1bWFsZWtzYW5kckB5YW5kZXgudWE+IGZvciByZXBvcnRpbmcgYW5kCgkgIHN1Z2dlc3RpbmcgdGhlIGZpeC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDI4NwoKMjAxNi0xMC0yNiAyMjozNjoxNyAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IGRvbid0IGFkZF9nbG9iYWxfYXJndW1lbnRzIHdoZW4gYmVpbmcgYnVpbHQgYXMgYSBzdWJwcm9qZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1NjgKCjIwMTYtMTEtMTEgMDE6MDU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIGdsOiB4MTEteGNiIGlzIG5vdCBhIHJlcXVpcmVkIGRlcGVuZGVuY3kKCSAgRG9uJ3QgZmFpbCBpZiBpdCdzIG5vdCBmb3VuZC4uCgoyMDE2LTEwLTE5IDE0OjU0OjQ0ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSAga21zc2luazogZG8gbm90IGdldCBrbXMgYm8gcGl0Y2ggZm9yIHBsYW5hciBmb3JtYXRzCgkgIFRoZSBBUEkgaXMgaWxsIGRlZmluZWQgZm9yIHBsYW5hciBmb3JtYXRzIGluIGNhc2Ugb2YgZHVtYiBCT3MsCgkgIGRvIG5vdCB1c2UgdGhlIHJlcG9ydGVkIHN0cmlkZSBpbiB0aG9zZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzQ3MwoKMjAxNi0xMC0xOCAwOToxOTowOSArMDIwMCAgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogcmVtb3ZlIGN1c3RvbSBnc3Rfa21zX3NpbmtfZ2V0X3RpbWVzCgkgIFRoZSBkZWZhdWx0IGdldF90aW1lcygpIGZ1bmN0aW9uIG9mIHRoZSBiYXNlIHNpbmsgaXMganVzdCBmaW5lLgoJICBSZW1vdmUgdGhlIGN1c3RvbSBnZXRfdGltZXMoKSBmdW5jdGlvbiwgYmVjYXVzZSB0aGUgZGVmYXVsdCBmdW5jdGlvbgoJICBhbHJlYWR5IHJlYWRzIHRoZSB0aW1lc3RhbXBzIGZyb20gdGhlIGJ1ZmZlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVHJldHRlciA8bS50cmV0dGVyQHBlbmd1dHJvbml4LmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNDczCgoyMDE2LTExLTEwIDE3OjIwOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogdXNlIHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBsaXN0IG9mIGZyYWdtZW50cyBpZiBub3QgcHJlc2VudCBpbiB0aGUgbWFuaWZlc3QKCSAgUHJvdmlkZXMgYSBtb3JlIGFjY3VyYXRlIGR1cmF0aW9uIGZvciBsaXZlIHN0cmVhbXMgdGhhdCBtYXkgYmUgbWludXRlcwoJICBvciBob3VycyBpbiBmcm9udCBvZiB0aGUgZWFybGllc3QgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxNzgKCjIwMTYtMTEtMTAgMTc6MTg6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIHNtb290aHN0cmVhbWluZzogaW1wbGVtZW50IGFkYXB0aXZlZGVtdXgncyBnZXRfbGl2ZV9zZWVrX3JhbmdlKCkKCSAgQWxsb3dzIHNlZWtpbmcgdGhyb3VnaCB0aGUgYXZhaWxhYmxlIGZyYWdtZW50cyB0aGF0IGFyZSBzdGlsbCBhdmFpbGFibGUKCSAgb24gdGhlIHNlcnZlciBhcyBzcGVjaWZpZWQgYnkgdGhlIERWUldpbmRvd0xlbmd0aCBhdHRyaWJ1dGUgaW4gdGhlCgkgIG1hbmlmZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTc4CgoyMDE2LTExLTA5IDIxOjIwOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlc2V0IHRoZSBtYW5pZmVzdCBmYWlsdXJlIGNvdW50IGFmdGVyIGEgc3VjY2Vzc2Z1bCByZXRyaWV2YWwKCSAgVGhpcyBjaGFuZ2VzIHRoZSBmYWlsdXJlIGNhc2UgdG8gcmVxdWlyZSBhIGNvbnNlY3V0aXZlIG51bWJlciBvZgoJICBmYWlsdXJlcyByYXRoZXIgdGhhbiBiZWluZyBzcHJlYWQgb3V0IG92ZXIgdGhlIGVudGlyZSBzdHJlYW0uCgkgIEZpeGVzIHRoZSBjYXNlIHdoZXJlIGZldGNoaW5nIHRoZSBtYW5pZmVzdCB3YXMgaW50ZXJtaXR0ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTc3CgoyMDE2LTExLTA5IDIxOjE4OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGNhbGwgdGhlIHN1YmNsYXNzIGZvciBkdXJhdGlvbiBxdWVyaWVzIGZvciBsaXZlIHNvdXJjZXMKCSAgT3RoZXJ3aXNlLCB0aGUgZHVyYXRpb24gcXVlcnkgd2FzIGZhaWxpbmcgZm9yIGxpdmUgc291cmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTc3CgoyMDE2LTExLTA5IDIxOjE1OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlc3RhcnQgdGhlIG1hbmlmZXN0IHVwZGF0ZSB0YXNrIGFmdGVyIGEgc2VlawoJICBGb3IgZm9ybWF0cyB0aGF0IG5lZWQgdG8gdXBkYXRlIHRoZSBtYW5pZmVzdCB0byBrbm93IGFib3V0IG5ldwoJICBmcmFnbWVudHMgYXMgdGhleSdyZSBiZWluZyB3cml0dGVuIGJ5IHRoZSBzZXJ2ZXIgd291bGQgbmV2ZXIgcmVjZWl2ZSBhbgoJICB1cGRhdGVkIGZyYWdtZW50IGxpc3QgYWZ0ZXIgYSBzZWVrIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQxNzcKCjIwMTYtMTEtMDkgMTc6MTA6MjEgKzA5MDAgIERvbmdpbCBQYXJrIDxkb25naWwucGFya0BsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogZml4IHR5cG8gaW4gR3N0TXBlZ3RzRGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0MTMyCgoyMDE2LTExLTEwIDIwOjM0OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBleHQvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbC9idWlsZDogYWRkIG1pc3NpbmcgYnVpbGQgZmlsZXMKCSAgM2Y3YjU0OTg4MTg2ZGUxN2VjNGU1YjU1NjYwNzRjZmFhMzkyODE5YSB3YXMgaW5jb21wbGV0ZSA6KAoKMjAxNi0xMS0xMCAxOToxNDoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsL3V0aWxzOiBtb3ZlIGdlbl9zaGFkZXIoKSB0byB0aGUgcGx1Z2luIGFuZCByZW1vdmUgZGVsX3NoYWRlcigpCgkgIGdzdF9nbF9jb250ZXh0X2RlbF9zaGFkZXIoKSBjYW4gYmUgcmVwbGFjZWQgYnkgYSBnX29iamVjdF91bnJlZigpLgoJICBnc3RfZ2xfY29udGV4dF9nZW5fc2hhZGVyKCkgc2hvdWxkIGJlIHJlcGxhY2VkIGJ5IHVzaW5nIEdzdEdMU0xTdGFnZS4KCjIwMTYtMTAtMjYgMTY6NTM6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogcmVtb3ZlIHVudXNlZCBmaWVsZCBpbiBwdWJsaWMgc3RydWN0CgoyMDE2LTEwLTI2IDE2OjMwOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogcmVtb3ZlIGlzX3J1bm5pbmcoKSBmdW5jdGlvbgoJICBJdCBpc24ndCBuZWNlc3NhcnkgaW4gY29ycmVjdGx5IHdyaXR0ZW4gcHJvZ3JhbXMuCgoyMDE2LTExLTA4IDE3OjUwOjUxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uL2dsOiBYQ0IgY2hhbmdlcyBhbHNvIG5lZWQgeDExLXhjYiBhcyBhIGRlcGVuZGVuY3kKCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLW1lc29uLzM4MC9jb25zb2xlCgkgIFsuLi5dCgkgIGdzdC1saWJzL2dzdC9nbC94MTEveGNiX2V2ZW50X3NvdXJjZS5jOjk4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4Y2JfZ2V0X2ZpbGVfZGVzY3JpcHRvcicKCjIwMTYtMTEtMDcgMTI6MzA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IEFsbG93IHJlZ2lzdGVyaW5nIGNvZGVjcywgY2FtZXJhIG9yIHNlbnNvcnMgaWYgYW55IG9mIHRoZSBvdGhlcnMgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQwNDgKCjIwMTYtMTEtMDcgMTI6MjQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLXNlbnNvci5jOgoJICBhaHM6IERvbid0IGFzc2VydCBvbiBkZWluaXQgaWYgaW5pdGlhbGl6YXRpb24gZmFpbGVkIGJlZm9yZQoJICBJbml0aWFsaXphdGlvbiBmYWlsdXJlIGlzIGhhbmRsZWQgY29ycmVjdGx5IGJ5IGp1c3Qgbm90IHJlZ2lzdGVyaW5nIHRoZQoJICBhaHNzcmMgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDA0OAoKMjAxNi0xMS0wOCAwOTo1Mjo0OCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgZ2wveDExOiBmaXggbWVzb24gYnVpbGQKCSAgVGhlIHgxMV9ldmVudF9zb3VyY2UuW2NoXSBmaWxlcyB3ZXJlIHJlbmFtZWQgaW4KCSAgNGY2YzIyNmJkMjRhZTNlZjY2YmQ4ZjRjMTdiMDAxNDQ0YzliMGJmMS4KCjIwMTYtMTEtMDggMTU6MDQ6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkgIGV4YW1wbGVzL2dsL3F0OiBmaXggdGhlIGV4YW1wbGVzIGZvciB0aGUgdXNlIG9mIG5ld2VyIEFQSQoJICBnc3RnbCBkb2Vzbid0IHVuZG8vb3ZlcndyaXRlIHdoYXQgR0wgc3RhdGUgdGhlIGV4YW1wbGVzIGFyZSBjaGFuZ2luZwoJICBhbnltb3JlLiAgQXMgc3VjaCwgdGhlIGV4YW1wbGVzIG5lZWQgdG8gcmVzZXQgdGhlIEdMIHN0YXRlIHRoZW1zZWx2ZXMKCSAgdG8gYmUgYWJsZSB0byBwbGF5IG5pY2Ugd2l0aCBsaWJnc3RnbAoKMjAxNi0xMS0wOCAxMzozNTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsZmlsdGVyc2hhZGVyOiBleHBhbmQgdGhlIGRvY3Mgc2xpZ2h0bHkKCSAgQWRkIGFuIGV4YW1wbGUgT3BlbkdMIHNoYWRlcgoKMjAxNi0wNy0wMSAwMDozMTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogcmVtb3ZlIHRoZSBuYXZpZ2F0aW9uIHRocmVhZAoJICBUaGlzIGZ1bmN0aW9uYWxpdHkgY2FuIG5vdyBlZmZlY3RpdmVseSBiZSBpbXBsZW1lbnRlZCB3aXRoIHRoZSBkaXNwbGF5IGV2ZW50CgkgIHRocmVhZC4KCjIwMTYtMDctMDEgMDA6MDc6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3hjYl9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94Y2JfZXZlbnRfc291cmNlLmg6CgkgIGdsL3gxMTogdXNlIHhjYiBpbnN0ZWFkIG9mIGxpYlgxMQoJICAtIHhjYiBpcyBzdXBwb3NlZGx5IHRocmVhZC1zYWZlIQoJICB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luayBub3cgZG9lc24ndCBzcHVyaW91c2x5IHJlc3VsdCBpbiBhCgkgICdjYWxsIFhJbml0VGhyZWFkcygpJyBlcnJvciBob3dldmVyIGlmIGFueWJvZHkgZWxzZSBpcyB1c2luZyBYMTEsCgkgIHRoZW4gWEluaXRUaHJlYWRzKCkgc3RpbGwgbmVlZHMgdG8gYmUgY2FsbGVkIGFuZCBtdWx0aXBsZSBnbGltYWdlc2luaydzCgkgIHN0aWxsIG5lZWQgWEluaXRUaHJlYWRzKCkuCgkgIEV2ZXJ5dGhpbmcgc3RpbGwgdGFrZXMgbGliWDExIGhhbmRsZXMgYXMgdGhleSBhcmUgY29tcGF0aWJsZSB3aXRoIHRoZSB4Y2IKCSAgdmFyaWFudHMuICBVbmZvcnR1bmF0ZWx5IHdlIGNhbm5vdCBtb3ZlIGZ1bGx5IG92ZXIgdG8geGNiIGR1ZSB0byBHTFggYmVpbmcKCSAgZW50aXJlbHkgYmFzZWQgb24gWGxpYi4gIEl0J3MgYWxzbyBpbXBvc3NpYmxlIHRvIHRyYW5zZm9ybSBhIHhjYl9jb25uZWN0aW9uCgkgIHRvIGEgRGlzcGxheSB3aGljaCBtZWFucyB3ZSByZXF1aXJlIFgxMSBoYW5kbGVzLgoKMjAxNi0wNi0zMCAyMzoxMjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2xkaXNwbGF5OiBhZGQgYSBsaXN0IG9mIGdsd2luZG93J3MKCSAgV2l0aCB0aGUgZXZlbnQgdGhyZWFkIG9uIHRoZSBkaXNwbGF5LCBmb3IgYSBwYXJ0aWN1bGFyIHdpbnN5cyBldmVudAoJICB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gcmV0cmVpdmUgdGhlIHdpbmRvdyB0aGF0IHRoZSBldmVudCBtYXRjaGVzLgoKMjAxNi0wNi0zMCAyMzowNDoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsZGlzcGxheTogYWRkIGEgZGVkaWNhdGVkIGV2ZW50IHRocmVhZAoJICBXaWxsIHRha2UgdGhlIHBsYWNlIG9mIHRoZSBuYXZpZ2F0aW9uIGV2ZW50IHRocmVhZCBmb3IgZGVhbGluZyB3aXRoCgkgIHdpbnN5cyBldmVudHMuCgoyMDE2LTExLTA4IDEyOjQ0OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGRvbid0IGV4cG9zZSBPcGVuR0wgcHJvdG90eXBlcwoJICBXZSByb2xsIG91ciBvd24gdG8gYXZvaWQgZGVwZW5kaW5nIGEgY2VydGFpbiBPcGVuR0wgaGVhZGVyIHZlcnNpb24KCjIwMTYtMTEtMDggMDI6NTY6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2wvY29jb2E6IGRvbid0IGluc3RhbGwgdGhlIGdzdGdsY29udGV4dF9jb2NvYS5oIGhlYWRlcgoJICBJdCdzIG5vdCBuZWVkZWQgdG8gYmUgZXhwb3NlZAoKMjAxNi0xMS0wOCAwMjo1MjozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkgIGdsL2FuZHJvaWQ6IGRvbid0IGluc3RhbGwgdGhlIGFuZHJvaWQgd2luZG93IGhlYWRlcgoJICBJdCdzIG5vdCBuZWVkZWQKCjIwMTYtMTEtMDggMDI6NTA6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmg6CgkgIGdsOiBhZGQgcGFkZGluZyB0byBhbGwgZXhwb3NlZCB3aW5zeXMvcGxhdGZvcm0tc3BlY2lmaWMgc3RydWN0cwoKMjAxNi0xMS0wOCAwMjo0NzozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgZ2wvd2F5bGFuZDogaW5zdGFsbCB0aGUgZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaCBoZWFkZXIKCSAgQXMgaXQgaXMgdXNlZCBieSBvdGhlciBPcGVuR0wgc2lua3MgKGd0a2dsc2luaywgcW1sZ2xzaW5rKQoKMjAxNi0xMS0wOCAwMjo0NDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBnbC9lZ2w6IGRvbid0IGluc3RhbGwgdGhlIGdzdGdsY29udGV4dF9lZ2wuaCBoZWFkZXIKCSAgSXQncyBub3QgbmVlZGVkIHRvIGJlIGV4cG9zZWQgYW5kIHRoZXJlIGFyZSBubyB1c2VycyBvZiB0aGUgQVBJLgoKMjAxNi0xMS0wOCAwMjoyMToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogcmVtb3ZlIGRpc3BsYXlfaW5pdC9yZXNldAoJICBUaGV5IGFyZSBtaXJyb3JzIG9mIEdzdEdMQmFzZUZpbHRlcidzIGdsX3N0YXJ0KCkgYW5kIGdsX3N0b3AoKSB2aXJ0dWFsIG1ldGhvZHMKCSAgc28gdXNlIHRoZW0gaW5zdGVhZC4KCjIwMTYtMTEtMDcgMTQ6NDc6MjIgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZXh0L3F0L2dzdHF0c3JjLmg6CgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSogZXh0L3F0L3F0d2luZG93Lmg6CgkgIHFtbGdsc3JjOiBzb21lIGVuaGFuY2VtZW50cyBmb3IgcW1sZ2xzcmMKCSAgMS4gTmVlZCBzZXQgdXNlLWRlZmF1bHQtZmJvIHRvIHFxdWlja3dpbmRvdyBkdXJpbmcgc2V0IHByb3BlcnR5CgkgIHRvIHN1cHBvcnQgY2hhbmdlIHJlbmRlciB0YXJnZXQgb24gdGhlIGZseS4KCSAgMi4gQ2FsY3VsYXRlIHFtbGdsc3JjIHJlZnJlc2ggZnJhbWUgcmF0ZSBpbiBxdGdsd2luZG93CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQwMzUKCjIwMTYtMTEtMDQgMTE6NTY6MTMgKzA1MzAgIEdhdXJhdiBHdXB0YSA8Zy5ndXB0YUBzYW1zdW5nLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcHNpbms6IGZpeCBNZW1vcnkgbGVhayBkdWUgdG8gWGxpYiBBUEkgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzkzMgoKMjAxNi0xMS0wNCAwOTo1NjozMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogTVMgUGxheVJlYWR5IENvbnRlbnRQcm90ZWN0aW9uIHBhcnNpbmcKCSAgVGhlICJwcm8iIChQbGF5UmVhZHkgT2JqZWN0KSBlbGVtZW50IGNvbnRlbnRzIGFyZSBub3cgYmFzZTY0LWRlY29kZWQKCSAgYW5kIHByb3Blcmx5IHN0b3JlZCBpbiBQcm90ZWN0aW9uIGV2ZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzkzNgoKMjAxNi0xMS0wNCAxNjoyNjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGdzdDogRml4IG1vcmUgbWVudGlvbnMgb2YgaW50ZXJsYWNlZC1tb2RlIHRvIHNheSBpbnRlcmxhY2UtbW9kZQoKMjAxNi0xMS0wNCAxMzo0MzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kOiBvbmx5IHVzZSBsaWJkcm0gaGVhZGVycywgZG9uJ3QgbGluayB0byB0aGUgbGliCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM5MjcKCjIwMTYtMTEtMDQgMDk6MjY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9rbXMvTWFrZWZpbGUuYW06CgkgIGttczogcmVuYW1lIHZhcmlhYmxlIHVzZWQKCSAgU2luY2UgdGhpcyBpbmNsdWRlcyBrbXMuCgoyMDE2LTExLTA0IDAwOjUyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJICB3YXlsYW5kOiBpbmNsdWRlIGRybV9mb3VyY2MuaCBwcm9wZXJseSBhbmQgZml4IGJ1aWxkCgoyMDE2LTExLTA0IDAwOjQ0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQ6IGZpeCBjZmxhZ3MvbGlicyBvcmRlcgoKMjAxNi0xMS0wNCAwOTo1MTozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL21lc29uLmJ1aWxkOgoJICB2dWxrYW46IEFkZCBtaXNzaW5nIGZpbGVzIHRvIG1lc29uIGJ1aWxkCgoyMDE2LTA5LTI5IDE2OjMwOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsbGludXhkbWFidWYuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgd2F5bGFuZHNpbms6IFJld29yayBkbWFidWYgc3VwcG9ydAoJICBTaW1wbGlmeSBhbmQgZml4IHNvbWUgb2YgdGhlIHNob3dfZnJhbWUgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTUKCjIwMTYtMDktMjIgMTE6MTA6NDcgKzAyMDAgIEZhYmllbiBEZXNzZW5uZSA8ZmFiaWVuLmRlc3Nlbm5lQHN0LmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsbGludXhkbWFidWYuYzoKCSogZXh0L3dheWxhbmQvd2xsaW51eGRtYWJ1Zi5oOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSAgd2F5bGFuZHNpbms6IHN1cHBvcnQgbGludXggZG1hYnVmIHByb3RvY29sCgkgIFN1cHBvcnQgdGhlIHdheWxhbmQgendwX2xpbnV4X2RtYWJ1Zl91bnN0YWJsZV92MSBwcm90b2NvbC4KCSAgU0hNIGZvcm1hdHMgYW5kIERNQUJ1ZiBmb3JtYXRzIGFyZSBleHBvc2VkIGRpZmZlcmVudGx5IGluIGNhcHM6IHRoZQoJICBETUFCdWYgZm9ybWF0cyBhcmUgZmxhZ2dlZCB3aXRoIEdTVF9DQVBTX0ZFQVRVUkVfTUVNT1JZX0RNQUJVRi4KCSAgTm8gYnVmZmVyIHBvb2wgaXMgcHJvcG9zZWQgZm9yIERNQUJ1ZiBidWZmZXJzLCBpdCBpcyB0aGUgdXBzdHJlYW0KCSAgZWxlbWVudCByZXNwb25zaWJpbGl0eSB0byBwcm92aWRlIHdpdGggc3VjaCBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTU1CgoyMDE2LTA5LTI5IDE0OjM0OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICB3YXlsYW5kc2luazogQWxsb3cgYW55IGtpbmQgb2YgRkQgZm9yIHNobSBtZW1vcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE1NQoKMjAxNi0xMS0wMyAxNzozNDo1NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3R0bWwvbWVzb24uYnVpbGQ6CgkgIHR0bWw6IGJ1bXAgbmVlZGVkIGxpYnhtbDIgdmVyc2lvbgoJICB0dG1sIHdhcyByZWNlbnRseSBhZGRlZCBidXQgaXQgd29uJ3QgY29tcGlsZSB1bmxlc3MgbGlieG1sMiB2ZXJzaW9uIDIuOS4yCgkgIG9yIGxhdGVyIGlzIGF2YWlsYWJsZS4gSW4gdGhhdCB2ZXJzaW9uIHRoZSBmaXJzdCBwYXJhbWV0ZXIgb2YgeG1sR2V0UHJvcAoJICBzd2l0Y2hlZCB0byBiZWluZyBhIGNvbnN0LiBJbiBwcmV2aW91cyB2ZXJzaW9ucyB0aGUgY29tcGlsZXIgY29tcGxhaW5zCgkgIGFib3V0IHBhc3NpbmcgYSBjb25zdCB2YWx1ZSB0byBhIG5vbiBjb25zdCBhcmd1bWVudC4KCjIwMTYtMTEtMDMgMDg6MzE6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVjazogQWRkIG5ldyB0ZXN0IHRvIC5naXRpZ25vcmUKCjIwMTYtMTEtMDMgMTg6MTk6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBGaXggaW52ZXJ0ZWQgcHJlY29uZGl0aW9uCgkgIEEgR0Vycm9yIGFyZ3VtZW50IG11c3QgZWl0aGVyIGJlIG51bGwgb3IgcG9pbnQgdG8gYSBOVUxMIEdFcnJvci4KCSAgaHR0cHM6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL2dsaWIvc3RhYmxlL2dsaWItRXJyb3ItUmVwb3J0aW5nLmh0bWwKCjIwMTYtMDktMDEgMjA6MDQ6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogVXNlIHRoZSB0cmFzaCBsaXN0IHRvIGZyZWUgcmVzb3VyY2VzIGFmdGVyIHRoZXkndmUgYmVlbiB1c2VkCgkgIFRoaXMgYWxsb3dzIGZ1cnRoZXIgcGFyYWxsZWxpc20gYW5kIHJlbW92ZXMgYSBkZXZpY2Ugd2FpdCBmcm9tIHRoZSBlbmQgb2YKCSAgdGhlIHJlbmRlciBjb2RlLgoKMjAxNi0wOS0wMSAxOTo1Mjo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrdHJhc2guYzoKCSogZXh0L3Z1bGthbi92a3RyYXNoLmg6CgkgIHZ1bGthbjogYWRkIGEgdHJhc2ggb2JqZWN0CgkgIFRoaXMgYWxsb3dzIHB1c2hpbmcgdGhlIGRlc3RydWN0aW9uIG9mIHZ1bGthbiByZXNvdXJjZXMgYWZ0ZXIgdGhlIHNpZ25hbGxpbmcKCSAgb2YgYW4gdnVsa2FuIGV2ZW50LiAgVGhlIGV2ZW50IGZhY2lsaXRhdGVzIGtub3dpbmcgd2hlbiBhIHNwZWNpZmljIHBvaW50IGluIHRoZQoJICB2dWxrYW4gcXVldWUgaGFzIGJlZW4gcmVhY2hlZC4gIE9ubHkgYWZ0ZXIgdGhlIGV2ZW50IGhhcyBiZWVuIHNpZ25hbGVkIGNhbgoJICB2dWxrYW4gcmVzb3VyY2VzIGJlIGZyZWVkIGFuZC9vciByZXVzZWQuCgoyMDE2LTA5LTAxIDE5OjUxOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtmZW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZrZmVuY2UuaDoKCSAgdnVsa2FuOiBhZGQgYSBzaW1wbGUgcmVmY291bnRhYmxlIGZlbmNlIHdyYXBwZXIKCjIwMTYtMTEtMDMgMTY6MTQ6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbC9naTogc29tZSBhbm5vdGF0aW9uIHVwZGF0ZXMgZm9yIGNhbGxlZCBmdW5jdGlvbnMKCSAgV2l0aCBzY29wZSwgY2xvc3VyZSwgZGVzdHJveSBhbm5vdGF0aW9ucwoKMjAxNi0xMS0wMyAxNjoxMjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbC9naTogYWxzbyBpbmNsdWRlIEdzdFZpZGVvCgkgIFJlbW92ZXMgYWxsIHRoZSB1bmtub3duIHR5cGUgR3N0VmlkZW8qIHdhcm5pbmdzIHdoaWxlIGJ1aWxkaW5nIHRoZSBHSVIKCSAgZmlsZS4KCjIwMTYtMTAtMjcgMTY6MTk6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZV9wcml2YXRlLmg6CgkgIGdsZmVhdHVyZTogbW92ZSBpbnRlcm5hbCBmdW5jdGlvbnMgaW50byBhIHByaXZhdGUgaGVhZGVyCgkgIERvbid0IGV4cG9zZSB0aGVtIHRvIHRoZSBvdXRzaWRlIHdvcmxkCgoyMDE2LTEwLTA1IDEyOjE5OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9nbGNvbnRleHRoZWxwZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUyLmM6CgkgIGdsOiBHU1RfR0xfVFlQRSAtPiBHU1RfVFlQRV9HTAoJICBTb21lIGRlcHJlY2F0ZWQgc3ltYm9scyBhcmUga2VwdCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCjIwMTYtMTEtMDMgMTI6MDM6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2wvZG9jczogbWFzc2l2ZSB1cGRhdGUKCSAgLSBhZGQgU2luY2U6IG1hcmtlcnMgd2hlcmUgbmVjZXNzYXJ5LgoJICAtIGRvY3VtZW50IHN0cnVjdHMKCSAgLSBhZGQgZG9jdW1lbnRhdGlvbiBoZWFkZXJzIGZvciBlYWNoIG1vZHVsZSAoc2hvcnRfZGVzY3JpcHRpb24sCgkgIHNlZV9hbHNvLCBldGMpCgkgIC0gcmVkdWNlIHRoZSBudW1iZXIgb2Ygd2FybmluZ3MgZ3RrLWRvYyBvdXRwdXRzCgkgIC0gZml4IHNwZWxsaW5nIG1pc3Rha2VzCgoyMDE2LTExLTAyIDIxOjIxOjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmJ1ZmZlci5jOgoJICBnbC9kb2NzOiBkb2N1bWVudCBuZXcgQVBJIGFkZGVkIGluIDEuMTAKCSAgR3N0R0xSZW5kZXJidWZmZXIKCSAgR3N0R0xGcmFtZWJ1ZmZlcgoJICBHc3RHTFF1ZXJ5CgkgIEdzdEVHTEltYWdlCgkgIEdzdEdMTWVtb3J5RUdMCgoyMDE2LTExLTAxIDE2OjEzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGdsL2RvY3M6IHVwZGF0ZSBsaXN0cyBvZiBpbmNsdWRlZCBzeW1ib2xzCgkgIGluIHRoZSBzZWN0aW9ucyBhbmQgdHlwZXMgZmlsZXMuCgkgIEFsc28gcmVtb3ZlIHNvbWUgdW5uZWVkZWQgdHlwZXMgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbiBhcyB0aGV5IGFyZW4ndAoJICBleHBvc2VkIGFzIHB1YmxpYyBBUEkKCjIwMTYtMTEtMDEgMTc6MzA6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xzbC5jOgoJICBnbHNsOiBmaXggI3ZlcnNpb24gMTUwIG5vdCB3b3JraW5nIHdpdGggcHJvZmlsZXMKCSAgVGhlIHNwZWMgYWxsb3dzIHRoZSBjb3JlL2NvbXBhdGliaWxpdHkgcHJvZmlsZXMgdG8gYmUgdXNlZAoJICB3aXRoICN2ZXJzaW9uIDE1MC4KCSAgQWxzbyB0aWdodGVuIHVwIHRoZSB0ZXN0cyB0byBjaGVjayBmb3IgZGVmYXVsdCBwcm9maWxlcyBiZWluZyBjaG9zZW4KCSAgY29ycmVjdGx5LgoKMjAxNi0xMS0wMiAyMDoxNDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3R0bWwvbWVzb24uYnVpbGQ6CgkgIHR0bWw6IEFkZCBtZXNvbi5idWlsZAoKMjAxNi0xMS0wMiAyMDoxNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mZGthYWMvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSAgZmRrYWFjOiBBZGQgbWVzb24uYnVpbGQKCjIwMTYtMTEtMDIgMTY6MTI6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWxzbyBzdG9wIHNjaGVkdWxlZCBwbGF5YmFjayB3aGVuIGdzdF9lbGVtZW50X2xvc3Rfc3RhdGUoKSBpcyBjYWxsZWQKCSAgVW5mb3J0dW5hdGVseSB0aGlzIGRvZXMgbm90IGdvIHRocm91Z2ggdGhlIG5vcm1hbCBzdGF0ZSBjaGFuZ2UKCSAgbWFjaGluZXJ5LCBzbyB3ZSBkb24ndCBnZXQgbm90aWZpZWQgYWJvdXQgdGhpcyBpbiBjaGFuZ2Vfc3RhdGUoKS4KCSAgSG93ZXZlciB3ZSBuZWVkIHRvIHN0b3Agc2NoZWR1bGVkIHBsYXliYWNrLCBzbyB0aGF0IG9uY2UgUExBWUlORyBpcwoJICByZWFjaGVkIGFnYWluIHdlIGNhbiBzdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgd2l0aCB0aGUgY29ycmVjdCB0aW1lLgoJICBXaXRob3V0IHRoaXMsIGZsdXNoaW5nIHNlZWtzIGluIFBMQVlJTkcgd2lsbCBub3Qgd29yayBjb3JyZWN0bHk6CgkgIGRlY2tsaW5rdmlkZW9zaW5rIHdpbGwgd2FpdCBiZWZvcmUgc2hvd2luZyB0aGUgbmV3IGZyYW1lcyBmb3IgdGhlIGFtb3VudAoJICBvZiB0aW1lIHRoZSBwaXBlbGluZSB3YXMgaW4gUExBWUlORyBiZWZvcmUuCgoyMDE2LTExLTAyIDE1OjAwOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogVXNlIGdzdF9jbG9ja19hZGp1c3Rfd2l0aF9jYWxpYnJhdGlvbigpIGFuZCB1bmFkanVzdF93aXRoX2NhbGlicmF0aW9uKCkKCSAgSW5zdGVhZCBvZiBoYW5kLWNyYWZ0ZWQgdmVyc2lvbnMgb2YgdGhlIHNhbWUgY2FsY3VsYXRpb24uIFRoZXNlCgkgIGNhbGN1bGF0aW9ucyBhcmUgc3RpbGwgdG9vIGNvbXBsaWNhdGVkIHRob3VnaC4KCjIwMTYtMTEtMDIgMTQ6MDQ6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsczogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggb3BlbnNzbCAxLjEgb3IgbmV3ZXIKCSAgLSBEVExTdjFfbWV0aG9kKCkgaXMgZGVwcmVjYXRlZCwgYW5kIHNpbmNlIDEuMC4yIHJlcGxhY2VkIGJ5CgkgIERUTFNfbWV0aG9kKCkuCgkgIC0gQ1JZUFRPX3NldF9sb2NraW5nX2NhbGxiYWNrKCkgYW5kIENSWVBUT19zZXRfaWRfY2FsbGJhY2soKSBhcmUKCSAgbm8tb3BzIChlbXB0eSBtYWNyb3MpIHNpbmNlIDEuMSBhbmQgYXJlIG5vdCBzdXBwb3NlZCB0byBiZSB1c2VkCgkgIGFueW1vcmUuCgkgIGdzdGR0bHNhZ2VudC5jOiBJbiBmdW5jdGlvbiDigJhnc3RfZHRsc19hZ2VudF9pbml04oCZOgoJICBnc3RkdGxzYWdlbnQuYzoxNzM6MzogZXJyb3I6IOKAmERUTFN2MV9tZXRob2TigJkgaXMgZGVwcmVjYXRlZCBbLVdlcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KCSAgcHJpdi0+c3NsX2NvbnRleHQgPSBTU0xfQ1RYX25ldyAoRFRMU3YxX21ldGhvZCAoKSk7CgkgIF5+fn4KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9vcGVuc3NsL2N0Lmg6MTM6MCwKCSAgZnJvbSAvdXNyL2luY2x1ZGUvb3BlbnNzbC9zc2wuaDo2MSwKCSAgZnJvbSBnc3RkdGxzYWdlbnQuYzo0MDoKCSAgL3Vzci9pbmNsdWRlL29wZW5zc2wvc3NsLmg6MTYxNDoxOiBub3RlOiBkZWNsYXJlZCBoZXJlCgkgIERFUFJFQ0FURURJTl8xXzFfMChfX293dXIgY29uc3QgU1NMX01FVEhPRCAqRFRMU3YxX21ldGhvZCh2b2lkKSkgLyogRFRMU3YxLjAgKi8KCSAgXgoJICBBdCB0b3AgbGV2ZWw6CgkgIGdzdGR0bHNhZ2VudC5jOjEwMzoxOiBlcnJvcjog4oCYc3NsX3RocmVhZF9pZF9mdW5jdGlvbuKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCgkgIHNzbF90aHJlYWRfaWRfZnVuY3Rpb24gKHZvaWQpCgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0ZHRsc2FnZW50LmM6NzM6MTogZXJyb3I6IOKAmHNzbF9sb2NraW5nX2Z1bmN0aW9u4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KCSAgc3NsX2xvY2tpbmdfZnVuY3Rpb24gKGdpbnQgbW9kZSwgZ2ludCBsb2NrX251bSwgY29uc3QgZ2NoYXIgKiBmaWxlLCBnaW50IGxpbmUpCgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE2LTExLTAyIDExOjIxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHdpbjMyOiBVcGRhdGUgZm9yIG5ldyBHc3RQbGF5ZXIgQVBJCgoyMDE2LTAxLTA1IDE4OjUwOjQ1ICswMTAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSAgZHg5c2NyZWVuY2Fwc3JjOiBhZGQgImN1cnNvciIgb3B0aW9uIHRvIGRyYXcgdGhlIGN1cnNvcgoJICBEcmF3aW5nIGlzIGRvbmUgdmlhIHRoZSBHREkgZHJhd2luZyBmdW5jdGlvbnMuIFRoZSBjdXJzb3IgaXMKCSAgY29udmVydGVkIHRvIGEgbW9ub2Nocm9tZSB2ZXJzaW9uIGJlZm9yZSBkcmF3aW5nLiBUaGlzIGlzIGJlY2F1c2UKCSAgdGhlIEdESSBkcmF3aW5nIGZ1bmN0aW9ucyBzZWVtIHRvIGhhdmUgdW5kZWZpbmVkIGJlaGF2aW9yIHdpdGgKCSAgY3Vyc29yIGltYWdlcyBpbmNsdWRpbmcgYW4gYWxwaGEgY2hhbm5lbC4KCSAgSSBjb3VsZCBub3QgZmluZCBhbnkgb3RoZXIgcmVsaWFibGUgd2F5IHRvIGRyYXcgdGhlc2UgYWxwaGEKCSAgY2hhbm5lbCBjdXJzb3JzIHdpdGhvdXQgcHJvZHVjaW5nIHVud2FudGVkIGFydGlmYWN0cy4gVGhlc2UgdHlwZQoJICBvZiBjdXJzb3JzIHdlcmUgaW50cm9kdWNlZCB3aXRoIFdpbmRvdyBWaXN0YSB3aGVuIHJ1biB3aXRoIGl0J3MKCSAgQWVybyB0aGVtZS4KCSAgQWxzbyBhZGp1c3QgdGhlIGN1cnNvciBjb29yZGluYXRlcyB3aGVuIGNhcHR1cmluZyBub24tcHJpbWFyeQoJICBzY3JlZW5zIHZpYSB0aGUgIm1vbml0b3IiIG9wdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDE3MgoKMjAxNi0xMS0wMiAwOTozNjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJ0ZXN0czogcmF3dmlkZW9wYXJzZTogYWRkIHRlc3QgZm9yIGZsb3cgZXJyb3IgaGFuZGxpbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjgwYjRhYzJmZmM2MzkwOGE3NDk0NGY1MDU4OWIyNjMwYmUxNjIzMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY2NgoKMjAxNi0xMC0yOCAxNjozOToxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJICBkdGxzOiBEb3duZ3JhZGUgbG9ja2luZyBkZWJ1ZwoKMjAxNi0wNi0yOSAwOTo1ODozOCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRtbHN1YnMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90dG1sL01ha2VmaWxlLmFtOgoJKiBleHQvdHRtbC9nc3R0dG1scGFyc2UuYzoKCSogZXh0L3R0bWwvZ3N0dHRtbHBhcnNlLmg6CgkqIGV4dC90dG1sL2dzdHR0bWxwbHVnaW4uYzoKCSogZXh0L3R0bWwvZ3N0dHRtbHJlbmRlci5jOgoJKiBleHQvdHRtbC9nc3R0dG1scmVuZGVyLmg6CgkqIGV4dC90dG1sL3N1YnRpdGxlLmM6CgkqIGV4dC90dG1sL3N1YnRpdGxlLmg6CgkqIGV4dC90dG1sL3N1YnRpdGxlbWV0YS5jOgoJKiBleHQvdHRtbC9zdWJ0aXRsZW1ldGEuaDoKCSogZXh0L3R0bWwvdHRtbHBhcnNlLmM6CgkqIGV4dC90dG1sL3R0bWxwYXJzZS5oOgoJICB0dG1sOiBBZGQgcGx1Z2luIHRoYXQgc3VwcG9ydHMgVFRNTCBzdWJ0aXRsZXMKCSAgQWRkIGEgcGFyc2VyICh0dG1scGFyc2UpIGFuZCByZW5kZXJlciAodHRtbHJlbmRlcikgZWxlbWVudCB0aGF0IGhhbmRsZQoJICBzdWJ0aXRsZXMgdGhhdCB1c2UgdGhlIEVCVS1UVC1EIHByb2ZpbGUgb2YgVFRNTDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyMzIKCjIwMTYtMTAtMjkgMTE6MzM6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXd2aWRlb3BhcnNlLmM6CgkgIHRlc3RzOiByYXd2aWRlb3BhcnNlOiBhZGQgdGVzdCBmb3IgZmxvdyBlcnJvciBoYW5kbGluZwoJICBBbHNvIG5lZWRzIGZpeGVzIGluIGJhc2VwYXJzZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY2NgoKMjAxNi0xMS0wMSAxODoxMDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXBkYXRlIHZlcnNpb24KCjIwMTYtMTAtMjYgMTY6Mjg6MTAgKzA4MDAgIEx5b24gV2FuZyA8bHlvbi53YW5nQG54cC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBBZGQgY29uZmlndXJhdGlvbiBmb3IgZW5hYmxpbmcgYWNjdXJhdGUgc2Vla3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzUyMQoKMjAxNi0xMC0yMSAxNDowMToxMSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IElnbm9yZSBjaGFubmVsLW1hc2sgd2hlbiBjaGVja2luZyBzZXRfY2FwcyBjb21wYXRpYmlsaXR5CgkgIGNoYW5uZWwtbWFzayBkb2Vzbid0IG1hdHRlciBpbiBkZWNrbGlua2F1ZGlvc3JjLCBhbmQgZGlmZmVyZW5jZXMgaW4gaXQKCSAgY2FuIGNhdXNlIGNhcHMgbmVnb3RpYXRpb25zIHRvIGZhaWwgd2l0aG91dCBhIHJlYWwgcmVhc29uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMzEzCgoyMDE2LTEwLTA0IDE2OjU5OjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcnRwLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciBzcnRwIGVsZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIzNTcKCjIwMTYtMTAtMDMgMDk6NTI6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBhZGQgc3RhdHMgcmVhZG9ubHkgcHJvcGVydHksIHNpbWlsYXIgdG8gc3J0cGVuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMzU3CgoyMDE2LTA5LTI2IDE4OjAxOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBDYWNoZSBkdXJhdGlvbiBhbmQgcmV0dXJuIGNhY2hlZCBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxOTkyCgoyMDE2LTAxLTA4IDIxOjQxOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBmaXggc3RyaWRlIGluY29uc2lzdGVuY2llcyBmb3Igb2RkIHdpZHRocwoJICBDb25zaXN0ZW50bHkgdXNlIEdTVF9ST1VORF9VUF80KHdpZHRoKSBhcyBzdHJpZGUgZm9yCgkgIGJheWVyIGJ1ZmZlcnMuIEJheWVyIGRhdGEgd2lsbCB1c3VhbGx5IGNvbWUgaW4gd2lkdGhzCgkgIHRoYXQgYXJlIG11bHRpcGxlcyBvZiA0IGFueXdheSwgc28gaG9wZWZ1bGx5IHRoaXMKCSAgc2hvdWxkIG5vdCBoYXZlIGFueSBhZHZlcnNlIGltcGFjdCBvbiBhbnlvbmUgaW4KCSAgcHJhY3RpY2UuCgkgIEJlZm9yZSwgYmF5ZXIycmdiIHJlcXVpcmVkIGlucHV0IGJ1ZmZlcnMgdG8gYXJlIHNpemVkCgkgIGFjY29yZGluZ2x5LCBidXQgdGhlbiBkaWRuJ3QgYWN0dWFsbHkgcm91bmQgdXAgd2hlbgoJICBjYWxjdWxhdGluZyByb3cgb2Zmc2V0cy4gcmdiMmJheWVyIGRpZG4ndCB1c2UgYSByb3VuZGVkCgkgIHN0cmlkZSBub3IgYnVmZmVyIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMTQKCj09PSByZWxlYXNlIDEuMTEuMCA9PT0KCjIwMTYtMTEtMDEgMTg6NTM6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMTAuMCA9PT0KCjIwMTYtMTEtMDEgMTc6NTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGNkc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xMC4wCgoyMDE2LTExLTAxIDE3OjUxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMTEtMDEgMTc6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9reS5wbzoKCSogcG8vc3YucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTEwLTMxIDE5OjI2OjMxICswNjAwICBBcnRlbSBNYXJ0eW5vdmljaCA8YXJ0ZW0ubWFydHlub3ZpY2hAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDb3JyZWN0bHkgY2FzdCBtaXhlciB0byB1aW50cHRyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM3MjAKCjIwMTYtMTAtMjggMTA6MDU6MjAgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgdHJ5IHRvIGFjY2VzcyBub24tZXhpc3RhbnQgaWZyYW1lIHZhcmlhbnQKCSAgSWYgdGhlIHBsYXlsaXN0IGRvZXMgbm90IGNvbnRhaW4gYW55IGlmcmFtZSB2YXJpYW50cyB0aGVuCgkgIGRlbXV4LT5tYXN0ZXItPmlmcmFtZV92YXJpYW50cyBpcyBOVUxMLiBJZiB0aGUgcHJldmlvdXMgdmFyaWFudCBpcyBhbgoJICBpZnJhbWUgdmFyaWFudCB0aGVuIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBpZnJhbWUgdmFyaWFudCBhbmQKCSAgZGVtdXgtPm1hc3Rlci0+aWZyYW1lX3ZhcmlhbnRzLT5kYXRhIGNhbiBiZSBzYWZlbHkgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzYzNQoKMjAxNi0xMC0yMyAxMjowMjowMCArMDMwMCAgc2V6ZXJvIDxzZXplcm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBhZGQgc3VwcG9ydCBmb3IgbGlidGltaWRpdHktMC4yLngKCSAgbWlkX2lzdHJlYW1fb3Blbl9tZW0oKSBkb2Vzbid0IGFjY2VwdCBhbiBhdXRvZnJlZSBhcmd1bWVudCBhcyBvZgoJICBsaWJ0aW1pZGl0eSA+PSAwLjIuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNTAzCgoyMDE2LTEwLTI2IDE0OjUxOjAxICswMjAwICBEYWlraSBVZW5vIDxkdWVub0ByZWRoYXQuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IHBvcnQgdG8gT3BlblNTTCAxLjEuMAoJICBDaGFuZ2VzIGFyZToKCSAgLSBVc2UgdGhlIHdyYXBwZXIgZnVuY3Rpb25zIHRvIGFjY2VzcyBvcGFxdWUgZGF0YSB0eXBlcy4gIFRvIHByZXNlcnZlCgkgIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGRlZmluZSBmYWxsYmFjayBkZWZpbml0aW9ucwoJICAtIFJlbW92ZSB0aGUgdXNlIG9mIGlkaW9tICJwcXVldWVfc2l6ZShzc2wtPmQxLT5zZW50X21lc3NhZ2VzKSIsIHNpbmNlCgkgIHRoZXJlIGlzIG5vIHJlcGxhY2VtZW50CgkgIC0gVXNlIFJTQV9nZW5lcmF0ZV9rZXlfZXggaW5zdGVhZCBvZiB0aGUgZGVwcmVjYXRlZCBSU0FfZ2VuZXJhdGVfa2V5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzM1NDAKCjIwMTYtMTAtMjkgMTE6MzE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmM6CgkgIHJhd3BhcnNlOiBwYXNzIGZsb3cgcmV0dXJucyB1cHN0cmVhbQoJICByYXd2aWRlb3BhcnNlIHdvdWxkbid0IGVycm9yIG91dCBvbiBub3QtbmVnb3RpYXRlZCwKCSAgYnV0IHdvdWxkIGp1c3Qga2VlcCBvbiBnb2luZywgYmVjYXVzZSBpdCBkaWRuJ3QgcGFzcwoJICB0aGUgZmxvdyByZXR1cm4gdmFsdWUgYmFjayB0byB0aGUgcGFyZW50IGNsYXNzIGFuZAoJICB0aHVzIHVwc3RyZWFtLCBzbyB0aGUgc291cmNlIHdvdWxkbnQnIHN0b3Agc3RyZWFtaW5nLgoKMjAxNi0xMC0yOCAwNzoxNzo1NiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBBbHNvIG5lZWQgdG8gZGVmaW5lIEdTVF9FWFBPUlRTIGZvciBBdXRvdG9vbHMKCSAgVGhlIGNoYW5nZSB0byB1c2UgR1NUX0VYUE9SVCBmb3Igc3ltYm9scyB1bmRlciBXaW5kb3dzIHJlcXVpcmVzCgkgIEdTVF9FWFBPUlRTIGZvciBpbnRlcm5hbCB1c2UsIGFuZCB0aGF0IGlzIGFsc28gbmVlZGVkIHVuZGVyIEF1dG90b29scy4KCSAgVGhlIHNhbWUgdGhpbmcgaXMgZG9uZSBmb3IgZ3N0cmVhbWVyLTEuMC5kbGwgaW4gLWNvcmUuCgoyMDE2LTEwLTI4IDA2OjIzOjAyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSAgZ3N0Z2w6IFJlLWVuYWJsZSBXSU5BUEkgb24gX01TQ19WRVIKCSAgVGhlIGNhbGxpbmcgY29udmVudGlvbiBtYXkgYmUgZGVwcmVjYXRlZCwgYnV0IHdlIHN0aWxsIG5lZWQgaXQgZm9yCgkgIE9wZW5HTC4gVGhlIGJ1aWxkIGlzc3VlIHdhcyBjYXVzZWQgYnkgYW4gaW5jb3JyZWN0IHN5bnRheCBiZWluZyB1c2VkIGZvcgoJICB0aGUgV0lOQVBJIChfX3N0ZGNhbGwpIHByb3RvdHlwZSBpbiBmdW5jdGlvbiBwb2ludGVycyB3aGljaCB3YXMgYWNjZXB0ZWQKCSAgYnkgR0NDIGJ1dCBpcyByZWplY3RlZCBieSBNU1ZDLgoKMjAxNi0xMC0yNyAyMzowOTozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgSnVzdCByZW1vdmUgd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZgoJICBJdCB3YXMgYWx3YXlzIHdyb25nIHNpbmNlIHRoZSBzeW1ib2xzIGJlaW5nIGV4cG9ydGVkIGluIGdzdGdsLTEuMC5kbGwKCSAgYXJlIHBsYXRmb3JtLXNwZWNpZmljLCBhbmQgdGhlIGNoZWNrIHdlIGRvIGluIGRpc3QgY2hlY2tzIGl0IG9uIGFsbAoJICBwbGF0Zm9ybXMgKHdoaWNoIHVzdWFsbHkgbWVhbnMgTGludXgpIGFuZCB0aGUgbGlzdCBpcyBpbnN0ZWFkCgkgIExpbnV4LXNwZWNpZmljIHJpZ2h0IG5vdy4KCSAgRXZlbiBpZiB3ZSBmaXggdGhhdCwgaXQgY2FuIHN0aWxsIG5ldmVyIGJlIHJpZ2h0IGJlY2F1c2UgaXQgZGVwZW5kcyBvbgoJICB5b3VyIGNvbmZpZ3VyYXRpb24gZXZlbiBvbiBhIHNwZWNpZmljIHBsYXRmb3JtLiBGb3IgaW5zdGFuY2UsIHdoZW4gd2UKCSAgc3RhcnQgYnVpbGRpbmcgRUdMIHN1cHBvcnQgb24gV2luZG93cyB1c2luZyBBTkdMRSwgdGhlIHN5bWJvbCBsaXN0IHdpbGwKCSAgY2hhbmdlIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoYXQgaXMgZW5hYmxlZCBvciBub3QuCgkgIFdlIGFsc28gZG9uJ3QgbmVlZCB0aGlzIGFueW1vcmUgc2luY2Ugd2UgdXNlIEdTVF9FWFBPUlQgZm9yIGFsbAoJICBmdW5jdGlvbnMgZXhwb3J0ZWQgb24gV2luZG93cyBub3cuCgoyMDE2LTEwLTI3IDA5OjI1OjIwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBwbHVnaW5zOiBVc2UgZXhwbGljaXQgdHlwZSBjb252ZXJzaW9uIGZyb20gZW51bXMKCSAgTVNWQyB3YXJucyBhYm91dCB0aGlzIGJlY2F1c2UgaXQncyBhIEMrKyBjb21waWxlciwgYW5kIHRoaXMgYWN0dWFsbHkKCSAgcmVzdWx0cyBpbiB1c2VmdWwgdGhpbmdzIHN1Y2ggYXMgdGhlIGluY29ycmVjdCAnZ2Jvb2xlYW4nIHJldHVybiB2YWx1ZQoJICBmb3IgZnVuY3Rpb25zIHRoYXQgcmV0dXJuIEdzdEZsb3dSZXR1cm4sIHNvIGxldCdzIGRvIGV4cGxpY2l0CgkgIGNvbnZlcnNpb25zIHRvIHJlZHVjZSB0aGUgbm9pc2UgYW5kIGluY3JlYXNlIGl0cyBlZmZpY2FjeS4KCjIwMTYtMTAtMjcgMDk6MTE6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgRXhwbGljaXRseSBkZWZpbmUgZmxvYXQgY29uc3RhbnRzIGFzIGZsb2F0CgkgIFdpdGggTVNWQywgdGhpcyBnaXZlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmc6CgkgIHdhcm5pbmcgQzQzMDU6ICdmdW5jdGlvbic6IHRydW5jYXRpb24gZnJvbSAnZG91YmxlJyB0byAnZ2Zsb2F0JwoJICBBcHBhcmVudGx5LCBNU1ZDIGRvZXMgbm90IGZpZ3VyZSBvdXQgd2hhdCB0eXBlIHRvIHVzZSBmb3IgY29uc3RhbnRzCgkgIGJhc2VkIG9uIHRoZSBhc3NpZ25tZW50LiBUaGlzIHdhcm5pbmcgaXMgdmVyeSBzcGFtbXksIHNvIGxldCdzIHRyeSB0bwoJICBmaXggaXQuCgoyMDE2LTEwLTI3IDA5OjA4OjQxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBGaXggaW5jb3JyZWN0IHJldHVybiB0eXBlIGluIHNldmVyYWwgZnVuY3Rpb25zCgkgIEFsbCB0aGVzZSBzaG91bGQgcmV0dXJuIEdzdEZsb3dSZXR1cm4sIG5vdCBnYm9vbGVhbgoKMjAxNi0xMC0yNyAwOTowNjozMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBEb24ndCB3YXJuIGFib3V0IEM0MTQ2IHdpdGggTVNWQwoJICBUaGUgZXJyb3IgaXM6CgkgIHVuYXJ5IG1pbnVzIG9wZXJhdG9yIGFwcGxpZWQgdG8gdW5zaWduZWQgdHlwZSwgcmVzdWx0IHN0aWxsIHVuc2lnbmVkCgkgIFRoaXMgaXMgYSBjb21tb25seS1kb25lIG9wZXJhdGlvbiBpbiBnc3RyZWFtZXIgYW5kIGl0J3MgZG9uZSBvbiBwdXJwb3NlLgoJICBJdCdzIGp1c3Qgbm9pc2UuCgoyMDE2LTEwLTI3IDA4OjE3OjU4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRyb2xiaW5kaW5ncHJveHkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ3N0Z2w6IEFkZCBHU1RfRVhQT1JUIHRvIGFsbCBzeW1ib2xzIHVzZWQgb24gV2luZG93cwoJICBUaGlzIGlzIGEgcmVxdWlyZW1lbnQgZm9yIHRob3NlIHN5bWJvbHMgdG8gYmUgZXhwb3J0ZWQgaW4gZ3N0Z2wtMS4wLmRsbAoJICB3aGVuIGJ1aWxkaW5nIHdpdGggdGhlIE1TVkMgY29tcGlsZXIKCjIwMTYtMTAtMjcgMDc6Mjk6MzYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgbWVzb246IEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBXR0wgb24gV2luZG93cwoJICBDdXJyZW50bHkgb25seSB0ZXN0ZWQgd2l0aCBNU1ZDLgoKMjAxNi0xMC0yNyAwOToxMDowMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBleHQvZ2w6IERvbid0IGRlZmluZSBib29sZWFuIG9uIFdpbmRvd3Mgd2l0aCBNU1ZDCgkgIFRoZSBoZWFkZXJzIHdlIGluY2x1ZGUgYWxyZWFkeSBkZWZpbmUgYm9vbGVhbiBvbiBXaW5kb3dzIHdpdGggTVNWQywgYW5kCgkgIGl0IGxlYWRzIHRvIGEgdHlwZWRlZiByZWRlZmluaXRpb24gZXJyb3Igd2l0aCBqcGVnbGliLmggd2hpY2ggdHJpZXMgdG8KCSAgcmVkZWZpbmUgaXQgaW4gam1vcmVjZmcuaAoKMjAxNi0xMC0yNyAwNzozMDoxOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdzdGdsOiBQb3J0aW5nIGZpeGVzIGZvciBNU1ZDIHdpdGggTWVzb24KCSAgR0wvZ2wuaCBuZWVkcyB3aW5kb3dzLmggb24gTVNWQwoJICBXSU5BUEkgc2hvdWxkIG5vdCBiZSB1c2VkIHdpdGggTVNWQy4gSXQgYWxzbyBjYXVzZXMgYSBidWlsZCBlcnJvci4KCjIwMTYtMTAtMjMgMjI6MTM6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogY29sbGFwc2Ugbm90ZXMgb24gY2hhbm5lbF9uYW1lIGVuY29kaW5nIGNvbmZsaWN0CgoyMDE2LTEwLTIzIDIyOjAwOjMwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHJlbmFtZSBaQVAgcGFyc2VyIGZvciBjbGFyaXR5CgkgIFRoaXMgZnVuY3Rpb24gb25seSBkb2VzIFpBUCBwYXJzaW5nLiBBZGRpdGlvbmFsbHksIHJlbW92ZSByZWR1bmRhbnQKCSAgY29tbWVudCB3aGlsZSBhdCBpdC4KCjIwMTYtMTAtMjMgMjE6Mzc6NDYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IGZpeCBndGstZG9jIHN5bnRheCBmb3Igd3JvbmdseSBmb3JtYXR0ZWQgY29tbWVudHMKCjIwMTYtMTAtMjEgMDA6Mzc6MDMgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZXh0L2hscy9tZXNvbi5idWlsZDoKCSAgbWVzb246IGhsczogT25seSBidWlsZCB3aGVuIGFueSBjcnlwdG9fZGVwIGlzIGZvdW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjEgMDA6Mzk6MzIgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZGlyZWN0c291bmQ6IEFkZCBvbGUzMiBsaWJyYXJ5IGRlcGVuZGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0xNyAwOTozNTo0MSAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL21lc29uLmJ1aWxkOgoJICBtZXNvbjogd2luc2NyZWVuY2FwIGRlcGVuZHMgb24gZ3N0dmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMSAwMDozNTowOSAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFJlbW92ZSBnc3RyZWFtZXItY2hlY2stMS4wIGRlcGVuZGVuY3kKCSAgSXQgd2lsbCBsYXRlciBiZSBhZGRlZCB1bmRlciB0ZXN0cy9jaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTIxIDEzOjEwOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBkb24ndCBnbEZpbmlzaCgpIGV2ZXJ5dGltZSBhIHN5bmMgcG9pbnQgaXMgc2V0CgkgIEF0IG1pbmltdW0sIHdlIG9ubHkgbmVlZCB0byBnbEZsdXNoKCkgaWYgd2UgYXJlIGluIGEgc2hhcmVkIEdMIGNvbnRleHQKCSAgZW52aXJvbm1lbnQuICBNb3ZlIHRoZSBnbEZpbmlzaCgpIHRvIHdoZW4gdGhlIGFjdHVhbCB3YWl0IGlzIHJlcXVlc3RlZAoJICB3aGljaCBtYXkgYmUgbmV2ZXIuICBJbXByb3ZlcyB0aGUgdGhyb3VnaHB1dCBvbiBvbGRlciBHTCBzeXN0ZW1zIHdpdGhvdXQKCSAgR0wzL0dMRVMzIGFuZC9vciBmZW5jZSBzeW5jIG9iamVjdHMuCgoyMDE2LTA3LTE2IDE1OjI5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBkbyBub3QgdXNlIGludmFsaWQgc3RyZWFtIGR1cmF0aW9uCgkgIElmIGl0IGlzIGlzIHVua25vd24sIGNvbnNpZGVyIGl0IGluZmluaXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg0NjAKCjIwMTYtMDctMTYgMTU6MTU6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHByb3Blcmx5IGluaGVyaXQgc2VnbWVudGxpc3QgZnJvbSBwZXJpb2QKCSAgUmVwcmVzZW50YXRpb24gY2FuIGluaGVyaXQgU2VnbWVudExpc3QgZnJvbSBQZXJpb2QgaWYgbm9uZSBpcyBhdmFpbGFibGUKCSAgZnJvbSB0aGUgQWRhcHRhdGlvblNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDYwCgoyMDE2LTEwLTE5IDE2OjExOjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGV4dC9nbC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkqIG1lc29uX29wdGlvbnMudHh0OgoJICBtZXNvbjogZ2w6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyB3aXRoIGRpc3BtYW54IG9uIHRoZSBycGkKCjIwMTYtMTAtMTggMjI6Mjk6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJICBnbC9lZ2xpbWFnZTogRml4IHBhc3NpbmcgdGhlIGRlc3Ryb3kgZnVuY3Rpb24gdG8gZ3N0X2VnbF9pbWFnZV9uZXdfd3JhcHBlZAoJICBUaGUgZnVuY3Rpb24gcG9pbnRlciBhbmQgdGhlIHVzZXIgZGF0YSBhcmd1bWVudHMgd2VyZSBzd2FwcGVkIGluIGJvdGgKCSAgdXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM4MgoKMjAxNi0xMC0xOCAxMzowMTowNCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NlZ21lbnRjbGlwL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIG1pc3NpbmcgZ3N0dmlkZW8gZGVwIHRvIHNlZ21lbnRjbGlwCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJzL2dzdC92aWRlby92aWRlby5oOjI3OjAsCgkgIGZyb20gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL2dzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6MjU6CgkgIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLWZvcm1hdC5oOjI3OjM5OiBmYXRhbCBlcnJvcjogZ3N0L3ZpZGVvL3ZpZGVvLWVudW10eXBlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxnc3QvdmlkZW8vdmlkZW8tZW51bXR5cGVzLmg+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9jaS5nc3RyZWFtZXIubmV0L2pvYi9HU3RyZWFtZXItbWFzdGVyLW1lc29uLzI2OS9jb25zb2xlCgoyMDE2LTEwLTExIDE3OjA2OjIzICswNTMwICBNdW5leiA8bXVuZXpibi5kZXZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkgIEltcGxlbWVudGVkIGdzdF92aWRlb19vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjYwOAoKMjAxNi0xMC0xOCAxNDoxMToyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZ2w6IGZpeCBkZXRlY3Rpb24gb2YgZ2x4IHdpdGhvdXQgZ2wKCSAgV2UgbmVlZCB0byBjaGVjayBmb3IgbGliR0wgaWYgd2UgbWF5IHVzZSBkZXNrdG9wIE9wZW5HTCAqb3IqIEdMWC4KCjIwMTYtMTAtMTggMTQ6MTA6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGdsOiBmaXggaW5jb3JyZWN0IGVycm9yIHN0cmluZwoJICBVc2UgdGhlIHdpbnN5cyB2YXJpYWJsZSBmb3IgYW4gaW5jb3JyZWN0IHdpbnN5cyBwcm92aWRlZAoKMjAxNi0xMC0xNiAxMjo0MDoyMiArMDIwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJICBxdDogRml4IGZhaWxpbmcgYnVpbGQgb24gUlBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMwMjYKCjIwMTYtMTAtMTEgMTY6NTg6NDggKzA1MzAgIE11bmV6IDxtdW5lemJuLmRldkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBlZ2xfc2hvdyBzaG91bGQgcmVzaXplIHRoZSB3aW5kb3cgb25seSBpZiB0aGVyZSBpcyBubyByZW5kZXIgcmVjdGFuZ2xlIHNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjk5CgoyMDE2LTEwLTExIDE2OjU1OjE3ICswNTMwICBNdW5leiA8bXVuZXpibi5kZXZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogRml4IHNldF9yZW5kZXJfcmVjdGFuZ2xlIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjY5OAoKMjAxNi0wMy0xOCAxNDowOTozNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGJ1ZmZlciBzaXplIG1pc21hdGNoIGluIE0yVFMgbW9kZQoJICBJbiBNMlRTIG1vZGUsIHdlIG5lZWQgYW4gZXh0cmEgNCBieXRlcyBpbiB0aGUgYnVmZmVyLCBzbyBuZWVkCgkgIHRvIGVuc3VyZSB0aGUgYnVmZmVyIGNhbiBjb250YWluIHRoZXNlLiBUaGUgYWxsb2NhdGlvbiBzaXRlCgkgIGRvZXMgbm90IGtub3cgdGhlIG1vZGUsIHNvIHRoaXMgaXMgZG9uZSBpbiBhbGwgY2FzZXMuCgoyMDE2LTEwLTE1IDIyOjE5OjAyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IERvbid0IHNldCBjX3N0ZCB0byBnbnU5OQoJICBVc2UgdGhlIGRlZmF1bHQgZm9yIGVhY2ggY29tcGlsZXIgb24gZXZlcnkgcGxhdGZvcm0gaW5zdGVhZC4gVGhpcwoJICBpbXByb3ZlcyBvdXIgY29tcGF0aWJpbGl0eSB3aXRoIGNvbXBpbGVycyB0aGF0IGRvbid0IGhhdmUgZ251OTkgYXMKCSAgYSBjX3N0ZC4KCjIwMTYtMTAtMTQgMTQ6NDE6NDIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4ICdkZWxpdmVyeSBzeXN0ZW0nLXJlbGF0ZWQgbWVzc2FnZXMKCSAgKiBSZXBocmFzZSB0dW5lIGVycm9yIHRvIGJlIGRlbHN5cy1uZXV0cmFsCgkgICogUmVmZXIgdG8gdGhlIGFjdHVhbCBjaGVjayBpbiB0aGUgJ21pc3Npbmcgc2FuaXR5IGNoZWNrJyB3YXJuaW5ncwoJICAqIFVzZSAiRGVsaXZlcnkgc3lzdGVtIiBpbnN0ZWFkIG9mICdkZWxzeXMnLiBUaGUKCSAgbGF0dGVyIGlzIE9LIGFzIGEgc2hvcnRoYW5kIGluIHRoZSBjb2RlIGJ1dCBub3QKCSAgZXZlbiBhIHJlYWwgd29yZAoKMjAxNi0xMC0xMSAxODo0ODowNiArMDIwMCAgSm9hbiBQYXUgQmVsdHJhbiA8am9hbnBhdS5iZWx0cmFuQHNvY2liLmNhdD4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogZml4IF90cmFuc2Zvcm1fY2FwcyBtZXRob2QgdG8gcHJlc2VydmUgZmllbGRzIGluIGdpdmVuIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODcxNwoKMjAxNi0wOS0yOSAxMjo0OTozOSAtMDQwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFByb3Blcmx5IGNvbmZpZ3VyZSBpbnRlcm5hbCBwb29sCgkgIFRoZXJlIHdhcyBhIHNtYWxsIG9taXNzaW9uIGluIHRoZSBjb2RlLiBJdCBzdGlsbCB3b3JrZWQsIGJ1dCB0aGUgcG9vbAoJICBjb25maWd1cmF0aW9uIG1heSBub3QgaGF2ZSBiZWVuIG9wdGltaW1hbC4KCjIwMTYtMTAtMTIgMTg6MjA6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIGNvbW1vbjogc3luYyB0byBsYXRlc3QgcmV2aXNpb24KCSAgRml4ZXMgYWNjaWRlbnRhbCBjb21tb24gY2hhbmdlIHdoZW4gY29tbWl0IHBhdGNoLgoKMjAxNi0xMC0xMSAxMToxMToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgZWZmaWNpZW50IHByb2dyYW0gdXBkYXRlcwoJICBJZiB0aGUgcGFyZW50IGJpbiBjYW4gaGFuZGxlIGl0LCBvbmx5IGFkZC9yZW1vdmUgdGhlIG5ldy9nb25lIHN0cmVhbQoJICBpbnN0ZWFkIG9mIHJlLWFkZGluZy9yZS1tb3ZpbmcgZXZlcnl0aGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNzQyCgoyMDE2LTEwLTEyIDE0OjM1OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEVuc3VyZSB3ZSBhbHdheXMgZ2V0IGFuIHVwc3RyZWFtIHN0cmVhbS1pZAoJICBUaGlzIHdhcyBhIHJlZ3Jlc3Npb24uCgkgIFdlIG9ubHkgaGF2ZSBhIHVwc3RyZWFtLWlkIHZpYSBTVFJFQU1fU1RBUlQgaWYgd2Ugd2VyZSBpbiBwdXNoLW1vZGUuCgkgIEluIHB1bGwtbW9kZSB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmUuCgkgIE5vdGU6IEl0IHdvdWxkIGJlIGdvb2QgdG8gZXZlbnR1YWxseSBoYXZlIHRoYXQgbWV0aG9kIChjb3BpZWQgZnJvbQoJICBnc3RfcGFkX2dldF9zdHJlYW1faWRfaW50ZXJuYWwoKSkgcHVibGljIGluIHRoZSBmdXR1cmUKCjIwMTYtMTAtMTEgMTY6NDc6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IGlzc3VlcyB3aXRoIEdTVF9ESVNBQkxFX0dTVF9ERUJVRwoJICBTb21lIHZhcmlhYmxlcyB3ZXJlIGhpZGRlbiBvciB1bnVzZWQKCjIwMTUtMDctMjkgMTU6NTI6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIHVzaW5nIEdzdFN0cmVhbS9Hc3RTdHJlYW1Db2xsZWN0aW9uCgkgIEZvciBlYWNoIE1wZWdUU0Jhc2VTdHJlYW0sIHdlIGhhdmUgYSBHc3RTdHJlYW0gb2JqZWN0IHdoaWNoCgkgIHN1YmNsYXNzZXMgY2FuIGV4dGVuZCB3aXRoIGluZm9ybWF0aW9uLgoJICBGb3IgZWFjaCBwcm9ncmFtIGEgR3N0U3RyZWFtQ29sbGVjdGlvbiBpcyBjcmVhdGVkIHdpdGggYWxsCgkgIEdzdFN0cmVhbSBmcm9tIGVhY2ggc3RyZWFtLgoKMjAxNi0xMC0xMSAxMDo1MDoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSBkdXBsaWNhdGVkIGNvZGUKCSAgSnVzdCBoYXZlIG9uZSBmdW5jdGlvbiB0byBjaGVjayBmb3IgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMKCjIwMTYtMTAtMTAgMTc6MDA6MzkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggYnVmZmVyIHNpemUgcHJpbnQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI3MDYKCjIwMTYtMTAtMTAgMTY6NTI6NTggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29tbW9uOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBmaXggaGxzIGRlbXV4IHN0cmVhbSB0eXBlIGluaGVyaXRhbmNlCgkgIEdzdEhMU0RlbXV4U3RyZWFtIGluaGVyaXRzIEdzdEFkYXB0aXZlRGVtdXhTdHJlYW0sIG5vdAoJICBHc3RBZGFwdGl2ZURlbXV4LiBGaXhlcyBtZW1vcnkgY29ycnVwdGlvbiBpc3N1ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI3MDQKCjIwMTYtMTAtMDkgMDY6NDI6MzAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogcGFyc2UgZ3VhcmQgaW50ZXJ2YWwgYXMgYSBmcmFjdGlvbgoJICBGaXhlcyB3cm9uZyBkZWZhdWx0IGZhaWxvdmVyIHdoZW4gcGFyc2luZyBsaWJkdmJ2NSBmb3JtYXR0ZWQKCSAgY2hhbm5lbCBjb25maWd1cmF0aW9uIGZpbGVzLgoKMjAxNi0xMC0wOSAwMzoyMzoxOSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBhZGQgcHJvdG90eXBlcyBhbmQgcmVvcmdhbml6ZSBmb3IgY2xhcml0eQoKMjAxNi0xMC0wOCAwNzoxODoxNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIFVwZGF0ZSBteSBlbWFpbCBhZGRyZXNzCgoyMDE2LTEwLTA4IDA1OjMzOjM0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJICBkdmI6IGRyb3AgdHJhaWxpbmcgd2hpdGVzcGFjZSBhbmQgYyZwIGxlZnRvdmVycwoKMjAxNi0xMC0wOCAwNToyMDo0NyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBwYXJzZSBEVkItVCBoaWVyYXJjaHkgZnJvbSB2NSBjb25maWcgZmlsZQoJICBBdm9pZHMgcmVseWluZyBvbiB0aGUgSC9XIGRlZmF1bHQgd2hlbiB0aGUgaW5mb3JtYXRpb24KCSAgY2FuIGJlIGV4dHJhY3RlZCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuCgoyMDE2LTEwLTA4IDA0OjU1OjIwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHBhcnNlIERWQi1UIGxwIGFuZCBocCBjb2RlIHJhdGVzCgoyMDE2LTEwLTA4IDE0OjA4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzOiBBbHNvIGNsZWFyIHBhY2tldGl6ZXIgb24gVElNRSBESVNDT05UCgkgIFdoZW4gZGVhbGluZyB3aXRoIFRJTUUtYmFzZWQgaW5wdXQsIHRoZSBpbmNvbWluZyBzdHJlYW0gY291bGQgaGF2ZQoJICBwb3RlbnRpYWxseSBjaGFuZ2VkIGNvbXBsZXRlbHkuCgkgIEluIG9yZGVyIHRvIGNoZWNrIHdoZXRoZXIgaXQgZGlkIG9yIG5vdCwgd2UgbmVlZCB0byByZS1jaGVjayBhbGwgc2VjdGlvbnMKCSAgKFBBVCwgUE1ULi4uKS4gSWYgaXQgZGlkbid0LCB3ZSB3aWxsIGtlZXAgdXNpbmcgdGhlIGV4aXN0aW5nIHN0cmVhbXMvcGFkLAoJICBhbmQgaWYgaXQgZGlkIHdlIHdpbGwgYWN0IGFzIGlmIHRoZXJlIHdhcyBhIHByb2dyYW0gc3dpdGNoLgoJICBGaXhlcyBITFMgc3RyZWFtaW5nIHdpdGggZGVjb2RlYmluMy9wbGF5YmluMwoKMjAxNi0xMC0wMiAwOTozNDo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBDYWxjdWxhdGUgdmFsdWVzIGJlZm9yZSBxdWV1ZTIKCSAgSW4gb3JkZXIgdG8gY2FsY3VsYXRlIHRoZSAqYWN0dWFsKiBiaXRyYXRlIGZvciBkb3dubG9hZGluZyBhIGZyYWdtZW50CgkgIHdlIG5lZWQgdG8gdGFrZSBpbnRvIGFjY291bnQgdGhlIHRpbWUgc2luY2Ugd2UgcmVxdWVzdGVkIHRoZSBmcmFnbWVudC4KCSAgV2l0aG91dCB0aGlzLCB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbnMgKHByZXZpb3VzbHkgcmVwb3J0ZWQgYnkgcXVldWUyKQoJICB3b3VsZCBiZSBiaWFzZWQgc2luY2UgdGhleSB3b3VsZG4ndCB0YWtlIGludG8gYWNjb3VudCB0aGUgcmVxdWVzdCBsYXRlbmN5CgkgICh0aGF0IGlzIHRoZSB0aW1lIGJldHdlZW4gdGhlIG1vbWVudCB3ZSByZXF1ZXN0IGEgc3BlY2lmaWMgVVJJIGFuZCB0aGUKCSAgbW9tZW50IHdlIHJlY2VpdmUgdGhlIGZpcnN0IGJ5dGUgb2YgdGhhdCByZXF1ZXN0KS4KCSAgU3VjaCBleGFtcGxlcyB3ZXJlIGl0IHdvdWxkIGJlIGJpYXNlZCB3b3VsZCBiZSBoaWdoLWJhbmR3aXRoIGJ1dCBoaWdoLWxhdGVuY3kKCSAgbmV0d29ya3MuIElmIHlvdSBkb3dubG9hZCA1TUIgaW4gNTAwbXMsIGJ1dCBpdCB0YWtlcyAyMDBtcyB0byBnZXQgdGhlIGZpcnN0CgkgIGJ5dGUsIHF1ZXVlMiB3b3VsZCByZXBvcnQgODBNYml0L3MgKDVNYiBpbiA1MDBtcykgLCBidXQgdGFraW5nIHRoZSByZXF1ZXN0CgkgIGludG8gYWNjb3VudCBpdCBpcyBvbmx5IDU3TWJpdC9zICg1TWIgaW4gNzAwbXMpLgoJICBXaGlsZSB0aGlzIHdvdWxkIG5vdCBjYXVzZSB0b28gbXVjaCBpc3N1ZXMgaWYgdGhlIGFib3ZlIGZyYWdtZW50IHJlcHJlc2VudGVkCgkgIGEgbXVjaCBsb25nZXIgZHVyYXRpb24gKDVzIG9mIGNvbnRlbnQpLCBpdCB3b3VsZCBjYXVzZSBpc3N1ZXMgd2l0aCBzaG9ydAoJICBvbmVzIChzYXkgMXMsIG9yIHdoZW4gZG9pbmcga2V5ZnJhbWUtb25seSByZXF1ZXN0cyB3aGljaCBhcmUgZXZlbiBzaG9ydGVyKQoJICB3aGVyZSB0aGUgY29kZSB3b3VsZCBleHBlY3QgdG8gYmUgYWJsZSB0byBkb3dubG9hZCB1cCB0byA4ME1iaXQvcyAuLi4gd2hlcmVhcwoJICBpZiB3ZSB0YWtlIHRoZSByZXF1ZXN0IHRpbWUgaW50byBhY2NvdW50IGl0J3MgbXVjaCBsb3dlciAoYW5kIHdlIHdvdWxkCgkgIHRoZXJlZm9yZSBlbmQgdXAgZG9pbmcgbGF0ZSByZXF1ZXN0cykuCgkgIEFsc28gY2FsY3VsYXRlIHRoZSByZXF1ZXN0IGxhdGVuY3kgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBhbmQgZnVydGhlcgoJICB1c2FnZSAoaXQgY291bGQgYWxsb3cgdXMgdG8gZmlndXJlIG91dCB0aGUgbWF4aW11bSByZXF1ZXN0IHJhdGUgZm9yCgkgIGV4YW1wbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTU5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIzMzAKCjIwMTYtMTAtMDYgMTU6NTQ6MDAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJICBvcGVuY3Y6IEZpeCBtZW1vcnkgbGVhayBieSBnc3RfY2Fwc190b19zdHJpbmcKCSAgZ3N0X2NhcHNfdG9fc3RyaW5nIGZ1bmN0aW9uIHJldHVybmVkIGFsbG9jYXRlZCBtZW1vcnkuCgkgIFNvLCBJdCBzaG91bGQgYmUgZnJlZWQgdXNpbmcgZ19mcmVlIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNDk5CgoyMDE2LTEwLTA1IDE4OjMyOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IGRvbid0IHVzZSBnX3RocmVhZF9qb2luKCkgdG8gam9pbiB0aGUgbmF2aWdhdGlvbiB0aHJlYWQKCSAgVXNpbmcgZ190aHJlYWRfam9pbigpIGluIF9maW5hbGl6ZSgpIGhhbmRsZXJzIG1heSByZXN1bHQgaW4gYSBkZWFkbG9jawoJICBqb2luaW5nIHRoZSBjdXJyZW50IHRocmVhZCB3aGVuIHRoZSBsYXN0IHJlZmVyZW5jZSBpcyBoZWxkIGJ5IGEgc2lnbmFsCgkgIGhhbmRsZXIuCgkgIGUuZy46CgkgIGVycm9yICdSZXNvdXJjZSBkZWFkbG9jayBhdm9pZGVkJyBkdXJpbmcgJ3B0aHJlYWRfam9pbiAocHQtPnN5c3RlbV90aHJlYWQsIE5VTEwpJwoJICBUaGUgYmFja3RyYWNlIGxvb2tzIGxpa2UgdGhpczoKCSAgWy4uLl0KCSAgZ190aHJlYWRfam9pbiAoKQoJICBnc3RfZ2xfd2luZG93X2ZpbmFsaXplICgpCgkgIGdzdF9nbF93aW5kb3dfeDExX2ZpbmFsaXplICgpCgkgIGdfb2JqZWN0X3VucmVmICgpCgkgIGdfdmFsdWVfdW5zZXQgKCkKCSAgZ19zaWduYWxfZW1pdF92YWxpc3QgKCkKCSAgZ19zaWduYWxfZW1pdCAoKQoJICBnc3RfZ2xfd2luZG93X3NlbmRfbW91c2VfZXZlbnQgKCkKCSAgZ3N0X2dsX3dpbmRvd19tb3VzZV9ldmVudF9jYiAoKQoJICBnX21haW5fZGlzcGF0Y2ggKCkKCSAgWy4uXQoJICBnX21haW5fbG9vcF9ydW4gKCkKCSAgZ3N0X2dsX3dpbmRvd19uYXZpZ2F0aW9uX3RocmVhZCAoKQoJICBnX3RocmVhZF9wcm94eSAoKQoJICBzdGFydF90aHJlYWQgKCkKCSAgY2xvbmUgKCkKCjIwMTYtMTAtMDUgMTg6Mjg6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBmaXggbGVhayBvZiB1cGxvYWQgbGlicmFyeSBvYmplY3QKCSAgV2hlbiBvbmx5IGxpbmtpbmcgdGhlIGVsZW1lbnQsIHRoZSB1cGxvYWQgb2JqZWN0IHdpbGwgYmUgY3JlYXRlZCBmcm9tCgkgIF90cmFuc2Zvcm1fY2FwcygpIGJ1dCB3aWxsIG5ldmVyIGJlIHVucmVmZmVkIGFzIHRoZSBvbmx5IGNhc2UgaXMgaW4gX3N0b3AoKS4KCSAgQWRkIGFuIHVucmVmIGlmIG5vbi1OVUxMIHRvIGEgbmV3IGZpbmFsaXplIGhhbmRsZXIgZm9yIHRoaXMgY2FzZS4KCjIwMTYtMTAtMDUgMTI6MTE6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkgIHZrZGlzcGxheTogaG9sZCBhIHdlYWtyZWYgb24gdGhlIGxpc3Qgb2Ygd2luZG93cwoJICBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHdpbmRvdyBtYXkgaGF2ZSBiZWVuIGRlc3Ryb3llZCB3aGVuIGEgd2luc3lzCgkgIGV2ZW50IGNvbWVzIGluIGZvciBpdC4KCSAgRml4ZXMgYW4gYXNzZXJ0aW9uIGluIG1ha2UgLUMgdGVzdHMvY2hlY2sgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCjIwMTYtMTAtMDUgMTE6Mzc6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSAgdmtkZXZpY2U6IG9ubHkgdW5yZWYgdGhlIGdzdGNvbnRleHQgcXVlcnkgaWYgbm9uLU5VTEwKCSAgRml4ZXMgYW4gYXNzZXJ0aW9uIGluIG1ha2UgLUMgdGVzdHMvY2hlY2sgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCjIwMTYtMDktMjkgMTE6NDU6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0cy9nbDogbWFrZSBzdXJlIGFsbCBHTCBjb21tYW5kcyBhcmUgZXhlY3V0ZWQgb24gdGhlIEdMIHRocmVhZAoJICBlLmcuIHRoZSBmaW5hbCBnbEdldEVycm9yKCkgbXVzdCBhbHNvIGJlIGNvbXBsZXRlZCBvbiB0aGUgR0wgdGhyZWFkCgoyMDE2LTA5LTI4IDE4OjA0OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJICBnbC93aW4zMjogcmVtb3ZlIGVnbCBpbXBsZW1lbnRhdGlvbgoJICBJdCBoYXNuJ3QgYmVlbiB1c2VkIGluIGFnZXMgYW5kIGlzIGRlYWQgY29kZS4KCjIwMTYtMDktMTMgMjI6MDc6MDUgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgY29uZGl0aW9ucyB0byBpZGVudGlmeSBBVFNDIEVBQzMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDUyOAoKMjAxNi0wOS0yNiAxNToyMzo1MiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBtYWtlIHBhcnNpbmcgZXJyb3JzIGRlbHN5cy1uZXV0cmFsCgkgIERWQiBpcyBhIGdyb3VwIG9mIGRlbGl2ZXJ5IHN0YW5kYXJkcyBidXQgd2Ugc3VwcG9ydAoJICBzZXZlcmFsIG90aGVycy4gV2hpbGUgYXQgdGhpcywgbWFrZSBtZXNzYWdlIGZvcm1hdGluZwoJICBtb3JlIGNvbmdydWVudC4KCjIwMTYtMDktMzAgMTE6MzU6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogaG9va3MvcHJlLWNvbW1pdC5ob29rOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IFNldHVwIHByZS1jb21taXQgaG9va3Mgd2hlbiBjb25maWd1cmluZwoKMjAxNi0wOS0zMCAxMTo0MTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXBkYXRlIHZlcnNpb24KCjIwMTYtMDktMzAgMTM6NDI6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IFJlbW92ZSBSZXR1cm4gZG9jdW1lbnRhdGlvbiBmb3IgZnVuY3Rpb24gcmV0dXJuaW5nIHZvaWQKCj09PSByZWxlYXNlIDEuOS45MCA9PT0KCjIwMTYtMDktMzAgMTM6MDI6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS45MAoKMjAxNi0wOS0zMCAxMjoxOTozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTA5LTMwIDExOjQ0OjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8va3kucG86CgkqIHBvL3N2LnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNi0wOS0yOSAyMTo0MjoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWN0dWFsbHkgdXNlIGJ1ZmZlciBwb29sIGNvbmZpZyBhZnRlciBzZXR0aW5nIGl0IHVwCgkgIENJRDogMTM3MzQyMAoKMjAxNi0wOS0yOSAxMzozNjoxMSArMDMwMCAgU2VyZ2V5IE1hbW9ub3YgPHNhbWFtb25vdkBnbWFpbC5jb20+CgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJICBmaXggZm9yIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE4NzEKCjIwMTYtMDktMjkgMjE6NDU6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGEyZHBzaW5rOiBEcm9wIHNvbWUgZGVhZC1jb2RlCgkgIExlZnQgb3ZlciBmcm9tIHRoZSBsYXN0IGNsZWFudXAuCgkgIENJRDogMTM3MzQxOAoKMjAxNi0wOS0yOSAxNDozMjoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5jOgoJICBmZGthYWNlbmM6IGZpeCBhY2Nlc3NpbmcgZnJlZWQgbWVtb3J5CgkgIFRoZSBidWZmZXIgZGF0YSBpcyBub3QgYWx3YXlzIGNvcGllZCBpbiBfRmlsbCwgYW5kIHdpbGwgYmUKCSAgcmVhZCBpbiBfRGVjb2RlRnJhbWUuIFdlIHVubWFwIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLAoJICB3aGV0aGVyIHdlIGdldCB0aGVyZSB2aWEgZmFpbHVyZSBvciBlYXJseSBvdXQsIGFuZCBrZWVwIGEKCSAgcmVmIHRvIHRoZSBidWZmZXIgdG8gZW5zdXJlIHdlIGNhbiB1c2UgaXQgdG8gdW5tYXAgdGhlCgkgIG1lbW9yeSBldmVuIGFmdGVyIF9maW5pc2hfZnJhbWUgaXMgY2FsbGVkLCBhcyBpdCB1bnJlZnMKCSAgdGhlIGJ1ZmZlci4KCSAgTm90ZSB0aGF0IHRoZXJlIGlzIGFuIGFjY2VzcyBiZXlvbmQgdGhlIGFsbG9jYXRlZCBidWZmZXIsCgkgIHdoaWNoIGlzIG9ubHkgYXBwYXJlbnQgd2hlbiBwbGF5aW5nIGZyb20gc291cGh0dHBzcmMgKGllLAoJICBub3QgZnJvbSBmaWxlc3JjKS4gVGhpcyBhcHBlYXJzIHRvIGJlIGEgYnVnIGluIHRoZSBiaXQKCSAgcmVhZGluZyBjb2RlIGluIGxpYmZka2FhYyBBRkFJQ1QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxODYKCjIwMTYtMDktMjkgMTQ6MzE6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuYzoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuaDoKCSAgZmRrYWFjZGVjOiBhdm9pZCBtZW1vcnkgY29ycnVwdGlvbiBvbiBkZWNvZGluZyBlcnJvcgoJICBUaGUgYnVmZmVyIHNpemUgaXMgZXhwZWN0ZWQgdG8gYmUgaW4gbXVsdGlwbGVzIG9mIHRoZSBzYW1wbGUgc2l6ZSwKCSAgbm90IGluIGJ5dGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTg2CgoyMDE2LTA5LTI5IDE0OjI5OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmM6CgkgIGZka2FhY2VuYzogZml4IGJ1ZmZlciBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxODYKCjIwMTYtMDktMjggMDk6NDQ6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNlbmMuYzoKCSAgZmRrYWFjZW5jOiBzZXQgZnJhbWVkPXRydWUgb24gc3JjIGNhcHMKCSAgVGhpcyBmaXhlcyBtdXhpbmcgaW4gTVBFRyBUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjEwOAoKMjAxNi0wNS0wNSAxNTo1Mzo1NyArMDkwMCAgR3dhbmcgWW9vbiBId2FuZyA8eW9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkgIGdsL2Rpc3BtYW54OiBJbXBsZW1lbnRzIHNldF9yZW5kZXJfcmVjdGFuZ2xlIHRvIGFkanVzdCB0aGUgcG9zaXRpb24gb2Ygd2luZG93CgkgIFdlIGNhbm5vdCBzZXQgdGhlIHgsIHkgY29vcmRpbmF0ZSBvZiB0aGUgdmlkZW8gZnJhbWUgYXQgdGhlIGRpc3BtYW54IGF0CgkgIHRoaXMgcG9pbnQuIFdlIG5lZWQgdG8gdGVhY2ggZGlzcG1hbnggYmFja2VuZCB0byB1bmRlcnN0YW5kIGFib3V0CgkgIHNldF9yZW5kZXJfcmVjdGFuZ2xlIEFQSSB0byBkcmF3IGEgdmlkZW8gd2l0aCBvdGhlciBVSS4KCSAgVGhpcyBwYXRjaCBrZWVwcyB0aGUgY3VycmVudCBiZWhhdmlvciB3aGljaCBwbGFjZXMgdmlkZW8gZnJhbWUgYXQgdGhlCgkgIGNlbnRlciBvZiB0aGUgZGlzcGxheSBpZiB0aGVyZSBpcyBubyBzZXRfcmVuZGVyX3JlY3RhbmdsZSBjYWxsIHRvIHRoZQoJICBkaXNwbWFueCB3aW5kb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwMTgKCjIwMTYtMDktMjggMTU6MjA6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbDogYWRkIG5lY2Vzc2FyeSBwYWRkaW5nIGJ5dGVzIHRvIGFsbCBwdWJsaWMgc3RydWN0cwoKMjAxNi0wOS0yNyAxNjoxNzowMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJICBmZGthYWNlbmM6IHNldCB0cmFuc211eCBvbiB0aGUgZmRrYWFjIGxpYgoJICBOb3QgZG9pbmcgc28gd2lsbCBmYWlsIHRvIGRlY29kZSBpbiBhIHNpbXBsZSBmZGthYWNlbmMgISBmZGthYWNkZWMKCSAgcGlwZWxpbmUsIHRob3VnaCB3b3VsZCB3b3JrIGlmIHRoaXMgZ29lcyB0aHJvdWdoIGEgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjA2NwoKMjAxNi0wOS0yNyAxNjoxNTo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5jOgoJICBmZGthYWNkZWM6IGRvIG5vdCBlcnJvciBvdXQgb2Ygb3V0IG9mIHN5bmMgcmV0dXJuCgkgIFRoZSBkb2NzIHNheSB3ZSBzaG91bGQgY29udGludWUgZmVlZGluZyBpbiBkYXRhIGFuZCBkZWNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMDY3CgoyMDE2LTA5LTI3IDA5OjA4OjUxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZW5jLmM6CgkgIGZka2FhYzogZml4IGVycm9yIHdpdGggQU9UX01QMl9BQUNfTEMgcmVtb3ZlZCBmcm9tIGxpYmZka2FhYyBBUEkKCSAgQU9UX01QMl9BQUNfTEMgaXMgYSAicHNldWRvIEFPVCIgd2hpY2ggZ290IHJlbW92ZWQgYWZ0ZXIgMC4xLjQsCgkgIGFuZCBtYXBzIHRvIEFPVF9BQUNfTEMuCgkgIFJlbW92ZSBtcGVndmVyc2lvbiAyIGZyb20gdGggY2FwcyB0byBtYXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjA2NwoKMjAxNi0wOS0yNiAxNjozMDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9ibHVlei9tZXNvbi5idWlsZDoKCSAgbWVzb246IGJsdWV6OiBmaXggYnVpbGQKCjIwMTYtMDktMjYgMTY6Mzg6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJU3RyZWFtaW5nLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJICBkZWNrbGluazogVXBkYXRlIHRvIFNESyAxMC44CgkgIE9TWCBhbmQgTGludXggb25seSwgV2luZG93cyBuZWVkcyBzb21lb25lIG9uIFdpbmRvd3MgdG8gY29udmVydCB0aGUgLmlkbAoJICBmaWxlcyB0byBDIHNvdXJjZSBjb2RlLgoKMjAxNi0wOS0yNiAxMTo0MTo0MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuYzoKCSAgZmRrYWFjOiBmaXggbWl4dXAgc2V0dGluZyBpbnRlcmxlYXZlZCBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDQ1NQoKMjAxNi0wOS0yNiAxMzoyNjozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogT25seSByZXBvcnQgdGhlIGluaXRpYWwgZHVyYXRpb24gaWYgdGhlIHF1ZXJ5IHdhcyBzdWNjZXNzZnVsCgoyMDE2LTA5LTI2IDExOjE1OjI1ICswOTAwICBLeXVuZ3lvbmcgS2ltIDxreXVuZ3lvbmcua2ltQGxnZS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBwYXJzaW5nIG9mIG11bHRpcGxlIE5BTHMgaW4gdGhlIGh2Y0MgYm94CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE5NzAKCjIwMTYtMDktMjUgMTc6Mzg6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkgIGJsdWV6OiBkaXN0IG5ldyBoZWFkZXIgZmlsZQoJICBGaXhlcyBkaXN0Y2hlY2suCgoyMDE2LTA5LTI0IDIyOjM5OjM4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGEyZHBzaW5rOiBEb24ndCB0cnkgdG8gc2V0IGRldmljZSBjYXBzIG9uIGF2ZHRwc2luawoJICBXZSBjYW4ndCBhY3R1YWxseSBjb25maWd1cmUgdGhlIHRyYW5zcG9ydCwgc28gd2Ugc2hvdWxkIG9ubHkgYmUgd29ya2luZwoJICB3aXRoIHdoYXRldmVyIHdlIGdldC4KCjIwMTYtMDktMjMgMTY6MzE6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYXZkdHBzaW5rOiBDaGFpbiBldmVudCBoYW5kbGluZyB1cCB0byBiYXNlc2luawoKMjAxNi0wOS0yMyAxNjowNDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQ2xlYW4gdXAgYW5kIG1ha2UgYTJkcHNpbmsgZnVuY3Rpb25hbCBhZ2FpbgoJICBXYXMgY3Jhc2hpbmcsIGFuZCBoYWQgYSBsb3Qgb2YgY3J1ZnQgKGxpa2UgYSBjYXBzZmlsdGVyIGFuZCBhIGZha2VzaW5rKQoJICB0aGF0IHdhcyBubyBsb25nZXIgcmVxdWlyZWQuCgoyMDE2LTA5LTE1IDE3OjQ5OjE1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2cmNwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZyY3B1dGlsLmg6CgkqIHN5cy9ibHVlei9vcmcuYmx1ZXoueG1sOgoJICBhdmR0cHNyYzogQWRkIHN1cHBvcnQgZm9yIEFWUkNQIG1ldGFkYXRhCgkgIE1ldGFkYXRhIGZyb20gQVZSQ1AgaXMgZW1pdHRlZCBhcyB0YWdzLCBhbmQgdGhlIGR1cmF0aW9uIGZyb20gQVZSQ1AgaXMKCSAgdXNlZCBpbiBxdWVyaWVzIGJ5IGF2ZHRwc3JjLgoKMjAxNi0wOS0yNCAxMDo0OToxMCAtMDQwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogUHJvcGVybHkgb2Zmc2V0IGFuZCBzaGlmdCBmb3IgYWxsIGZvcm1hdHMgd2hlbiBjb252ZXJ0aW5nCgkgIEFuZCB3aGlsZSBhdCBpdCwgYWxzbyBjbGVhbiB1cCBzb21lIGNvZGUuCgoyMDE2LTA5LTI0IDEwOjA1OjE2IC0wNDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkgIGpwZWcyMDAwcGFyc2U6IERvbid0IHBhc3MgTlVMTCBzdHJpbmdzIHRvIHRoZSBjb2xvcnNwYWNlIC8gc2FtcGxpbmcgcGFyc2luZyBmdW5jdGlvbnMKCSAgVGhleSBhc3NlcnQgb24gTlVMTC4KCjIwMTYtMDktMjMgMTU6NDk6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBEb24ndCBsZWFrIEdWYWx1ZXMgaW4gZ2V0Y2FwcwoKMjAxNi0wOS0yMiAxODo1NToyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IFVwZGF0ZSBvdXIgd2luZG93IHNpemUgb24gY29uZmlndXJlIGV2ZW50CgkgIFRoaXMgaXMgc3BlY2lmaWMgdG8gd2hlbiB0aGUgd2F5bGFuZHNpbmsgaXMgbm90IGJlaW5nIGVtYmVkZGVkLiBJbgoJICB0aGlzIHBhdGNoIHdlIHBhc3MgdGhlIHJlbmRlciBsb2NrIHRvIHRoZSB3aW5kb3cgc28gaXQgY2FuIHNhZmVseQoJICBjYWxsIGdzdF93bF93aW5kb3dfc2V0X3JlbmRlcl9yZWN0YW5nbGUoKSB3aXRoIHRoZSBuZXcgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjM0MwoKMjAxNi0wOS0yMiAxODo1MzoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFJlbW92ZSBhdG9taWMgb3BlcmF0aW9uCgkgIFdlIGFscmVhZHkgdGFrZSB0aGUgcmVuZGVyIGxvY2sgZnJvbSB0aGUgd2xxdWV1ZSB0aHJlYWQgaW4gc29tZSBvdGhlcgoJICBwbGFjZSB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBubyB1c2Ugb2YgdGhpcyBhdG9taWMgaW5zdGVhZCBvZgoJICBhIHByb3BlciBsb2NraW5nIG1lY2hhbmlzbS4KCjIwMTYtMDktMjIgMTU6Mzc6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBEbyBub3QgcHJlLWNvbmZpZ3VyZSBwcm9wb3NlZCBwb29sCgkgIFVwc3RyZWFtIG11c3QgY29uZmlndXJlIHRoZSBwb29sIGJlZm9yZSB1c2luZyBpdC4gUHJlLWNvbmZpZ3VyaW5nCgkgIHRoZSBwcm9wb3NlZCBwb29sIGNvdWxkIGhpZGUgYnVncyBpbiB1cHN0cmVhbSBlbGVtZW50cy4KCjIwMTYtMDktMjIgMTU6MzU6NDQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBQcm9wZXJseSBkcmF3IGJsYWNrIGJvcmRlciBpbiBhYnNlbmNlIG9mIHZpZXdwb3J0ZXIKCSAgV2hlbiB3ZSBkb24ndCBoYXZlIGEgdmlld3BvcnRlciAoc2NhbGluZyBzdXBwb3J0KSwgd2UgY2FuJ3QgdXNlIHRoZQoJICAxeDEgc2NhbGV1cCBpbWFnZSB0cmljay4gSW5zdGVhZCwgd2UgbmVlZCB0byBhbGxvY2F0ZSBhIGJ1ZmZlciB3aXRoCgkgIHRoZSBzYW1lIHNpemUgYXMgdGhlIGFyZWEgdGhhdCBuZWVkIHRvIGhhdmUgYmxhY2sgYmFja2dyb3VuZC4KCjIwMTYtMDktMjIgMTA6NTU6MDMgKzAyMDAgIEZsb3JpYW4gWndvY2ggPGZ6d29jaEBnbWFpbC5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJICBkeDlzY3JlZW5jYXBzcmM6IHRocm93IGVycm9yIGZvciBpbnZhbGlkIHNjcmVlbiBpbmRleAoJICBDdXJyZW50bHkgZHg5c2NyZWVuY2Fwc3JjIHByaW50cyBhIHZlcmJvc2Ugd2FybmluZyBpbiBjYXNlIHRoZSBzY3JlZW4KCSAgaW5kZXggaXMgb3V0IG9mIHJhbmdlIGZvciB0aGUgY3VycmVudCBudW1iZXIgb2YgZGV0ZWN0ZWQgbW9uaXRvcnMuIFRoaXMKCSAgdmFsdWUgaXMgdGhlbiBkcm9wcGVkLgoJICBIb3dldmVyIHRoZXJlIGlzIG5vIGluaXRpYWwgaW5kaWNhdGlvbiAoYmVzaWRlIHRoZSBjb25zb2xlIHByaW50KSBpZiBpdAoJICB3b3JrZWQgb3Igbm90LiBUaGlzIG1heSByZXN1bHQgaW4gY2FwdHVyaW5nIGFuIHVud2FudGVkIHNjcmVlbiBhcyBpdAoJICB3b3VsZCBjYXB0dXJlIHRoZSBsYXN0IHNldCBpbmRleCB0aGF0IHdhcyBub3QgcmVqZWN0ZWQuCgkgIFRoaXMgcGF0Y2ggc2V0cyB0aGUgaW5kZXggcmVnYXJkbGVzcy4gSW5zdGVhZCwgdGhlIGVsZW1lbnQgdGhyb3dzIGFuCgkgIGVycm9yIHdoZW4gaXQgdHJpZXMgdG8gcnVuIG9yIGdldHRpbmcgY2FwcyBmb3IgYW4gaW52YWxpZCBpbmRleC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTgxNwoKMjAxNi0wOS0yMiAxODoxOTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGFsc28gZnJlZSB0aGUgR1dlYWtSZWYgd2hlbiByZW1vdmluZyBkZWFkIGNvbnRleHRzCgkgIE90aGVyd2lzZSB3ZSBsZWFrIEdXZWFrUmVmJ3MuCgkgIEZvdW5kIHdpdGggbWFrZSAtQyB0ZXN0cy9jaGVjayBsaWJzL2dzdGdsY29udGV4dC52YWxncmluZAoKMjAxNi0wOS0yMSAxNTo1MTo1MiAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZC9NYWtlZmlsZS5hbTogYWRkIG1pc3NpbmcgbGlicwoJICBsaWJnc3R3YXlsYW5kIGlzIG1pc3NpbmcgYSBkZXBlbmRlbmN5IG9uICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSwgc28gYWRkIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNzk0CgoyMDE2LTA5LTIxIDE1OjA3OjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbms6IERlc3Ryb3kgdmlld3BvcnRlciB3aGVuIGRvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODA3OQoKMjAxNi0wOS0yMSAxMTozMzoxOCAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBtaXNzaW5nICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKQoJICBUaGUgbGlua2VyIGZsYWdzIGZvciBzZXZlcmFsIHBsdWdpbnMgKGRhc2hkZW11eCwgbXNzZGVtdXgsIGhsc2RlbXV4KSBhcmUgbWlzc2luZwoJICAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUyksIHNvIGFkZCB0aGVtIHNvIHRoZXkgY2FuIGZpbmQgLWxnc3R0YWcgYW5kIC1sZ3N0YXBwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNzgwCgoyMDE2LTA5LTE5IDEyOjExOjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogUG9ydCB0byB2bWV0YSBhbmQgR3N0VmlkZW9GcmFtZQoJICBUaGlzIGFkZCBzdXBwb3J0IGZvciBub24tc3RhbmRhcmQgc3RyaWRlcyB0byBiZSB1c2VkLiBOb3RlIHRoYXQKCSAgc29tZSBleHRyYSB3b3JrIGlzIG5lZWRlZCBmb3IgbXVsdGktcGxhbmUgZm9ybWF0IHdoaWNoIG1heSBoYXZlCgkgIGEgZGlmZmVyZW50IEdzdE1lbW9yeSBvYmplY3QgcGVyIHBsYW5lLiBUaGlzIGlzIG5vdCBjdXJyZW50bHkgYQoJICBwcm9ibGVtIHNpbmNlIFNITSBpbnRlcmZhY2UgaXMgbGltaXRlZCB0byAxIG1lbW9yeS4KCjIwMTYtMDktMTkgMTI6MDg6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBEb24ndCBwcm9wb3NlIG11bHRpcGxlIHRpbWUgdGhlIHNhbWUgYnVmZmVyIHBvb2wKCSAgVGhlIGJ1ZmZlciBwb29sIEFQSSBkb2VzIG5vdCBhbGxvdyBtdWx0aXBsZSBvZiBvd25lci4gVGhpcyBvdGhlcndpc2UKCSAgbGVhZCB0byBlcnJvciB3aGVuIHJlbmVnb3RpYXRpb24gdGFrZSBwbGFjZS4gQXNvIGNvbnNpZGVyIHRoZQoJICBhbGxvY2F0aW9uIHF1ZXJ5ICJuZWVkX3Bvb2wiIGJvb2xlYW4uCgoyMDE2LTA5LTE5IDEyOjA2OjE3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogUHJvbW90ZSBkZWJ1ZyB0cmFjZSBpbnRvIGVycm9yIHRyYWNlCgkgIE90aGVyd2lzZSB0aG9zZSBlcnJvciBtYXkgZ28gdW5zZWVuIG1ha2luZyBkZWJ1Z2dpbmcgbXVjaAoJICBoYXJkZXIuCgoyMDE2LTA5LTE5IDEyOjA0OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRmFjdG9yLW91dCB0aGUgcG9vbCBjcmVhdGlvbgoKMjAxNi0wOS0xNiAxNTo0MToxMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuc2luazogSW1wbGVtZW50IF9zaG93X2ZyYW1lKCkKCSAgVGhpcyBmaXhlcyB0aGUgcHJvcGVydHkgc2hvdy1wcmVyb2xsLWZyYW1lIGV4cG9zZSBieSB0aGUgVmlkZW9TaW5rIGJhc2UKCSAgY2xhc3MgYW5kIHJlbW92ZXMgcmVkdW5kYW50IGNvZGUuCgoyMDE2LTA5LTIxIDE1OjA5OjI2ICswMjAwICBKb2FraW0gSm9oYW5zc29uIDxqb2FraW1qQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IFVwZGF0ZSB1bml0IHRlc3RzIGFmdGVyIGNoYW5naW5nIGRlZmF1bHQgdmFsdWUgb2YgRC1iaXQKCSAgVGhlIEQgYml0IHNoYWxsIGFsd2F5cyBiZSBzZXQgdG8gdHJ1ZSBmb3IgdGhlIGZpcnN0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDIyMQoKMjAxNi0wOS0yMSAwOTozMToyMyAtMDQwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogUHJpbnQgdGhlIERlY2tsaW5rIEFQSSBlcnJvciByZXR1cm4gdmFsdWVzIGluIGRlYnVnIG91dHB1dCBpbiBhbGwgcGxhY2VzCgoyMDE2LTA5LTIwIDE4OjI4OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQ6IGZpeCBkaXN0Y2hlY2sgc29tZSBtb3JlCgoyMDE2LTA5LTEzIDExOjE4OjI3ICswMjAwICBKb2FraW0gSm9oYW5zc29uIDxqb2FraW1qQGF4aXMuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBDaGFuZ2UgZGVmYXVsdCB2YWx1ZSBvZiBELWJpdAoJICBUaGUgZGVmYXVsdCB2YWx1ZSBvZiBELWJpdCBpcyBjaGFuZ2VkIHRvIFRSVUUgc28gZGlzY29udGludWl0eQoJICBpcyBzZXQgZm9yIGluaXRpYWwgcmVxdWVzdCBhbmQgc2VlayByZXF1ZXN0IGFzIHdlbGwuCgkgIE9ubHkgc2V0IHRoZSBlX2JpdCBmbGFnIGZvciB0aGUgQ1VTVE9NX0RPV05TVFJFQU0gZXZlbnQgaWYKCSAgYSBjYWNoZWQgYnVmZmVyIGV4aXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDIyMQoKMjAxNi0wOS0xOSAxMDoxODoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgkgIGNvbmRpdGlvbmFsICJVU0VfVlVMS0FOIiB3YXMgbmV2ZXIgZGVmaW5lZAoKMjAxNi0wOS0xOSAxNjo1NDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkgIGdsY29sb3JiYWxhbmNlOiByZWNvbmZpZ3VyZSBvbiBwYXNzdGhyb3VnaCBjaGFuZ2VzCgkgIEZpeGVzIGFuIGFzc2VydGlvbiB3aGVuIG1vdmluZyBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vbi1wYXNzdGhyb3VnaAoJICBXaXRob3V0IGFuIGV4cGxpY2l0IHJlY29uZmlndXJlLCBnbGZpdGVyIHdvbid0IGhhdmUgY3JlYXRlZCB0aGUgR0wKCSAgcmVzb3VyY2VzIHN1Y2ggYXMgdGhlIEZCTywgR0wgYnVmZmVycG9vbCwgZXRjIGFuZCBiYXNldHJhbnNmb3JtIHdpbGwKCSAgYWxsb2NhdGUgc3lzbWVtIGJ1ZmZlcnMgaW5zdGVhZC4KCjIwMTYtMDktMTYgMTM6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IFJlbW92ZSBzb21lIGxlZnRvdmVycyBmcm9tIGV4dGVybmFsIEdzdFBsYXllcgoKMjAxNi0wOS0xNyAxNDoxMjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kOiBmaXggZGlzdGNoZWNrIHdoZW4gd2F5bGFuZC1zY2FubmVyIGlzIG5vdCBpbnN0YWxsZWQKCjIwMTYtMDktMTUgMTQ6MTA6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogTWFrZSB3bF92aWV3cG9ydGVyIG9wdGlvbmFsCgkgIFRoaXMgbWFrZXMgdGhlIHZpZXdwb3J0ZXIgaW50ZXJmYWNlIG9wdGlvbmFsLiBUaGUgZW5kIHJlc3VsdCBpcwoJICBvYnZpb3VzbHkgZmFyIGZyb20gb3B0aW1hbCwgdGhvdWdoIGl0IGdyZWF0bHkgaGVscHMgdGVzdGluZyBvbiBvbGRlcgoJICBjb21wb3N0aXRvcnMgb3IgZ25vbWUtd2F5bGFuZC4gV2UgY2FuIG1ha2UgaXQgc3RyaWN0bHkgbmVlZGVkIGxhdGVyIHdoZW4KCSAgdGhpcyBuZXcgaW50ZXJmYWNlIGdldCB3aWRlbHkgYWRvcHRlZC4KCjIwMTYtMDYtMTQgMTY6MzQ6MzUgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvc2NhbGVyLnhtbDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kOiBVcGRhdGUgZnJvbSBzY2FsZXIgdG8gdmlld3BvcnRlciBwcm90b2NvbAoJICBTaWduZWQtb2ZmLWJ5OiBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzY3MQoKMjAxNi0wOS0xNSAxNDo1ODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkgIHBsYXllcjogRml4IHVuaXQgdGVzdCBmb3IgbWlub3IgQVBJIGNoYW5nZQoKMjAxNi0wOS0xNSAxMzoxNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkgIHBsYXllcjogUmVtb3ZlIGJvb2xlYW4gcmV0dXJuIGZyb20gc2V0X3N1YnRpdGxlX3VyaSgpCgkgIEl0IGNhbid0IGZhaWwgc3luY2hyb25vdXNseSBhbmQgaXMgaW5jb25zaXN0ZW50IHdpdGggc2V0X3VyaSgpLgoKMjAxNi0wOS0xNCAxODowNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRG9uJ3QgY2hhbmdlIHN0YXRlIHRvIFBMQVlJTkcgaW1tZWRpYXRlbHkgaWYgYSBzZWVrIGlzIHBlbmRpbmcKCSAgV2UgZmlyc3QgaGF2ZSB0byBmaW5pc2ggdGhlIHNlZWsgKGluIFBBVVNFRCkgYW5kIG1vdmUgdG8gUExBWUlORyBvbmNlCgkgIHRoZSBzZWVrIGlzIGFjdHVhbGx5IGZpbmlzaGVkICh1bmxlc3MgYSBuZXcgb25lIGlzIHBlbmRpbmcgdGhlbikuCgoyMDE2LTA5LTE0IDExOjMwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERlcGVuZCBvbiBnc3RyZWFtZXIgMS45LjIuMQoKMjAxNi0wOS0wOCAxMTo1Nzo1MiArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogbWFwIHdpdGggUkVBRFdSSVRFIGZvciBvdmVybGF5IGJsZW5kCgkgIEp1c3QgYXMgaW4gYmFzZXRleHRvdmVybGF5IFsxXSwgdGhlIGZyYW1lIHRvIGJsZW5kIHdpdGggdGhlIHN1YnRpdGxlcyBvdmVybGF5CgkgIHNob3VsZCBiZSBtYXBwZWQgd2l0aCBmbGFncyBHU1RfTUFQX1JFQURXUklURSwgYmVjYXVzZQoJICBnc3RfdmlkZW9fb3ZlcmxheV9jb21wb3NpdGlvbl9ibGVuZCgpIGRvZXMgYm90aCBvcGVyYXRpb25zLgoJICAxLiBodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYXNlL2NvbW1pdC8/aWQ9MTM5NmY4MDQKCSAgU2lnbmVkLW9mZi1ieTogVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEzODIKCjIwMTYtMDktMTMgMjA6MDg6MTkgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBrbXNzaW5rOiB1cGRhdGUgbGliZHJtIGRlcGVuZGVuY3kgdG8gMi40LjU1CgkgIFRoZSBsYXRlc3QgbGliZHJtIGZlYXR1cmUgc3VwcG9ydGVkIGJ5IGttc3NpbmsgaXMgdGhlIHVuaXZlcnNhbCBwbGFuZSwgd2hpY2gKCSAgd2FzIGFkZGVkIGluIDIuNC41NS4gTGV0J3MgdXBkYXRlIHRoZSBkZXBlbmRlbmN5IHRvIHRoYXQgdmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDE0NgoKMjAxNi0wOS0xMSAwMDowNjo1MiArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBoYW5kbGUgYSBOVUxMIG5hbWUgaW4gRFZCIHNob3J0IGV2ZW50IGRlc2NyaXB0b3IKCSAgUmVzb2x2ZXMgdGhlIHdhcm5pbmc6CgkgIEdTdHJlYW1lci1XQVJOSU5HICoqOiBUcnlpbmcgdG8gc2V0IE5VTEwgc3RyaW5nIG9uIGZpZWxkICd0aXRsZScgb24gdGFnbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTE5OAoKMjAxNi0wOS0xMiAxODozODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxzbyBuZXZlciBoYXZlIHRoZSBTSU5LIGZsYWcgc2V0IG9uIGFkYXB0aXZlZGVtdXgKCjIwMTYtMDktMTIgMTI6MTk6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBSZXZlcnQgImRlY2tsaW5rdmlkZW9zaW5rOiBTY2FsZSBkb3duIHNjaGVkdWxlZCBmcmFtZSB0aW1lcyB0byBtaWxsaXNlY29uZHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2I3ZTBkN2RlMzJmMDcyODI1OWQ2MDFkYWExM2I5ZWVlYzNkZDNjZS4KCSAgSXQgd2FzIGEgYnVnIGluIHRoZSBkcml2ZXIgYW5kIGlzIHN1cHBvc2VkIHRvIGJlIGZpeGVkIHdpdGggMTAuOCBhbmQgbmV3ZXIuCgoyMDE2LTA5LTEwIDE2OjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHR5cG8gaW4gbmV3IEFQSQoJICBGaXhlcyBzdXByZXNzZWQgLT4gc3VwcHJlc3NlZCB0eXBvIGluIHByZXZpb3VzIGNvbW1pdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNjI3CgoyMDE2LTA5LTA1IDEwOjMxOjQwICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bC5sZWVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcHJldmVudCB0byBwcm9wYWdhdGUgc291cmNlIGZsYWcgdG8gaXRzZWxmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA2MjcKCjIwMTYtMDktMTAgMjA6NTE6MjcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMThkODIwIHRvIGY5ODBmZDkKCjIwMTYtMDktMTAgMDk6NTQ6MDkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyYzMxNjkwIHRvIGIxOGQ4MjAKCjIwMTYtMDktMDkgMjM6MjQ6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSAgbWVzb24vZ2w6IHVzZSBzZXBhcmF0ZSBkZXBzIGZvciBnbCBhbmQgZ2x4CgkgIGUuZy4gcGFzc2luZyB3aXRoX2dsX2FwaT1nbGVzMiB3b3VsZCBzdGlsbCBidWlsZCB0aGUgZ2x4IGNvZGUgYnV0IG5vdCBiZQoJICBsaW5raW5nIGFnYWluc3QgdGhlIGxpYkdMIGxpYnJhcnkgd2hpY2ggaXMgd2hlcmUgdGhlIGdsWCogZnVuY3Rpb25zIGFyZQoJICBsb2NhdGVkIGFuZCB3b3VsZCByZXN1bHQgaW4gYSBsaW5rZXIgZXJyb3IuCgkgIFNvbHZlZCBieSBjaGVja2luZyBmb3IgdGhlIGxpYkdMIGxpYnJhcnkgaWYgZWl0aGVyIG9wZW5nbCBvciBnbHggbWF5IGJlCgkgIG5lZWRlZCBhbmQgdGhlbiBkaXNhYmxpbmcgdGhlIGNvcnJlc3BvbmRpbmcgZGVwcyBhcyByZXF1ZXN0ZWQuCgoyMDE2LTA5LTA5IDE2OjU1OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvbWVzb24uYnVpbGQ6CgkqIGV4dC92dWxrYW4vbWVzb24uYnVpbGQ6CgkqIGV4dC92dWxrYW4vdmtjb25maWcuaC5tZXNvbjoKCSAgbWVzb246IGFkZCBidWlsZCBmaWxlcyBmb3IgdnVsa2FuCgoyMDE2LTA5LTA5IDE2OjM2OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL21lc29uLmJ1aWxkOgoJKiBleHQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgYnVpbGQgZmlsZXMgZm9yIHRoZSBndGsgcGx1Z2luCgoyMDE2LTA5LTA5IDExOjA4OjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29uZmlnLmgubWVzb246CgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L21lc29uLmJ1aWxkOgoJKiBtZXNvbl9vcHRpb25zLnR4dDoKCSogcGtnY29uZmlnL21lc29uLmJ1aWxkOgoJICBtZXNvbjogYWRkIHNvbWUgc3RhcnRpbmcgYnVpbGQgZmlsZXMgZm9yIEdMCgkgIEN1cnJlbnRseSBvbmx5IHdvcmtzIG9uIGxpbnV4IHdpdGggZWdsL2dseCArIHdheWxhbmQveDExIGJ1dCB0aGUgZ2VuZXJhbAoJICBwcmluY2lwYWxzIGhhdmUgYmVlbiBsYXllZCBvdXQgZm9yIGFkZGluZyB0aGUgb3RoZXIgR0wgcGxhdGZvcm1zL3dpbnN5cycuCgoyMDE2LTA5LTA4IDExOjIzOjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogU2NhbGUgdXAgdG8gdGhlIHNjcmVlbiBkaW1lbnNpb24KCSAgSW4gbW9zdCBkaXNwbGF5IHNpbmssIHRoZSBsb2dpYyBpcyB0byB1c2UgYXMgbXVjaCBhcyBwb3NzaWJsZQoJICBvZiB0aGUgZ2l2ZW4gd2luZG93LiBJbiB0aGlzIGNhc2UsIHRoZSB3aW5kb3cgaXMgdGhlIHNjcmVlbiwKCSAgaGVuY2UgaXQncyBsb2dpY2FsIHRvIHNjYWxlIHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDIyCgoyMDE2LTA5LTA4IDExOjIxOjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRml4IHNlbGVjdGlvbiBvZiBzb3VyY2UgcmVnaW9uCgkgIFRoZSBzb3VyY2UgcmVnaW9uIHdhcyBzY2FsZWQgZm9yIGRpc3BsYXkgYmVmb3JlIGJlaW5nIHBhc3NlZAoJICB0byBkcm1Nb2RlU2V0UGxhbmUsIHdoaWNoIHJlc3VsdGVkIGluIGEgcG9ydGlvbiBvZiB0aGUgdmlkZW8KCSAgYmVpbmcgY3JvcHBlZC4gV2hpbGUgd2hlbiBjcm9wIG1ldGEgd2FzIHByZXNlbnQsIHRoZSByZWN0YW5nbGUKCSAgd2FzIG5vdCBjZW50ZXJlZCBzaW5jZSB3ZSB3aGVyZSB1c2luZyB1bnNjYWxlZCB3aWR0aC9oZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0MjIKCjIwMTYtMDktMDggMDg6NDA6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSAgZ3N0cGxheWVyOiByZW1vdmUgbGVmdG92ZXIgdXBkYXRlX2ludGVydmFsIGFwaQoJICBvbGQ6IGdzdF9wbGF5ZXJfc2V0X3Bvc2l0aW9uX3VwZGF0ZV9pbnRlcnZhbAoJICBuZXc6IGdzdF9wbGF5ZXJfY29uZmlnX3NldF9wb3NpdGlvbl91cGRhdGVfaW50ZXJ2YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTE0NAoKMjAxNi0wOS0wMSAxOTo0NjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJICB2a3VwbG9hZDogYWRkIHZpZGVvL3gtcmF3IHRvIHRoZSBWdWxrYW5CdWZmZXIgdXBsb2FkZXIKCSAgQWxsb3dzIHVwc3RyZWFtIGVsZW1lbnRzIHRoYXQgdXNlIG91ciBtZW1vcnkgdG8gcGFzc3Rocm91Z2ggd2l0aG91dCBjb3B5aW5nLgoKMjAxNi0wOS0wMSAxOTo0Mzo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZrdXRpbHM6IHNldCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBsYXllciBhcnJheSB0byBOVUxMCgkgIGdfc3RydiogZnVuY3Rpb25zIHJlcXVpcmUgdGhpcyB0byBub3QgcmVhZCBvZmYgdGhlIGVuZCBvZiB0aGUgYXJyYXkuCgoyMDE2LTA5LTA3IDIwOjExOjU1ICswMTAwICBBbGlzdGFpciBCdXh0b24gPGEuai5idXh0b25AZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZXM6IFJlYWxseSByZW1vdmUgcmVmZXJlbmNlcyB0byAkKEdTVF9QTFVHSU5TX0dMXyopLgoJICBUaGVzZSBzZWVtIHRvIGhhdmUgYmVlbiBtaXNzZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdCB0byB0aGlzIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzEwMjMKCjIwMTYtMDktMDcgMjA6MDc6MjYgKzAxMDAgIEFsaXN0YWlyIEJ1eHRvbiA8YS5qLmJ1eHRvbkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBSZW1vdmUgZHVwbGljYXRlIEdMX0NGTEFHUyBpbiBNYWtlZmlsZS5hbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTAyMQoKMjAxNi0wOC0wNSAxODoxNzozMiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJICBrbXNzaW5rOiBvdmVycmlkZSBzdHJpZGUgaWYgZGVmaW5lZCBpbiBkcml2ZXIKCSAgU29tZSBrbXMgZHJpdmVycyBkZW1hbmRzIHNwZWNpZmljIHBpdGNoZXMgb3ZlciB0aGUgb25lcyBjYWxjdWxhdGVkIGJ5CgkgIEdzdFZpZGVvSW5mby4gRm9yIGV4YW1wbGUsIGludGVsIGRyaXZlciBkZW1hbmRzIHN0cmlkZXMgcm91bmQgdXAgNjQuCgkgIFRoaXMgcGF0Y2ggcXVlcmllcyB0aGUgZHJpdmVyIGZvciB0aGUgcHJlZmVyZWQgcGl0Y2ggYW5kIG92ZXJ3cml0ZXMgaXQKCSAgaW4gdGhlIHBvb2wncyBHc3RWaWRlb0luZm8gc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NDQ2CgoyMDE2LTA5LTA2IDE2OjA1OjUzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHRoZSBldmVudF9mdWxsIGZ1bmN0aW9uIGZvciBHc3RBZ2dyZWdhdG9yUGFkcwoJICBBbGxvd2luZyB1cyB0byB0ZWxsIEdzdFBhZCB3aHkgd2UgYXJlIGZhaWxpbmcgYW4gZXZlbnQsIHdoaWNoIG1pZ2h0CgkgIGJlIGJlY2F1c2Ugd2UgYXJlICdmbHVzaGluZycgZXZlbiBpZiB0aGUgc2lua3BhZCBpcyBub3QgaW4gZmx1c2ggc3RhdGUKCSAgYXQgdGhhdCBwb2ludC4KCjIwMTYtMDktMDYgMTM6MTM6MzkgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxbWxnbHNpbms6IGNoZWNrIHF0X2NvbnRleHRfIGZpcnN0IGluIEdzdFFTR1RleHR1cmU6OmJpbmQoKQoJICBXaGVuIHN0YXJ0IHFtbGdsc2luayBhcHAsIGl0IHdpbGwgc2V0IE5VTEwgYnVmZmVyIHRvIEdzdFFTR1RleHR1cmUKCSAgaW4gd2hpY2ggY2FzZSB0aGF0IHF0X2NvbnRleHRfIHdpbGwgYmUgYSByYW5kb20gdmFsdWUgYW5kIGNhdXNlCgkgIGdzdF9nbF9jb250ZXh0X2FjdGl2YXRlKCkgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDkyNQoKMjAxNi0wOS0wNiAyMDowMDowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZC92dWxrYW46IGZpeCB3aW5zeXMgZGV0ZWN0aW9uIGJhc2VkIG9uIHRoZSBwcmV2aW91c2x5IHNldCB2YXJpYWJsZXMKCSAgVGhlIFgxMS9XYXlsYW5kIHdpbnN5cyBjaGVja3Mgd2VyZW4ndCBiZWluZyB1c2VkIHRvIGVuYWJsZSB0aGUgdnVsa2FuIGVsZW1lbnQuCgkgIFVzZSB0aGVtLgoKMjAxNi0wOS0wNiAxMTowMjowNiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogcHJldmVudCBkZWFkbG9jayBpbiBjcmVhdGVfc2Vzc2lvbgoJICBUZW1wb3JhcmlseSByZWxlYXNlIHRoZSBvYmplY3QgbG9jayB3aGljaCBpcyBuZWVkZWQgdG8gcG9zdCBlcnJvcgoJICBtZXNzYWdlcyBvbiB0aGUgYnVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTMzCgoyMDE2LTA5LTA1IDIyOjMwOjAxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogRml4IGJ1aWxkaW5nIHdpdGggbWVzb24gMC4zNCB3aGVuIHVzaW5nIHN1YnByb2plY3RzCgkgIFdoZW4gdXNpbmcgc3VicHJvamVjdCBtZXNvbi5zb3VyY2Vfcm9vdCgpIHJldHVybnMgdGhlIHJvb3QKCSAgZGlyZWN0b3J5IG9mIHRoZSB0b3BsZXZlbCBwcm9qZWN0IHdoaWNoIGJyZWFrIGJ1aWxkLgoJICBVcHN0cmVhbSBtZXNvbiBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL2lzc3Vlcy83MjIKCjIwMTYtMDktMDUgMTI6MjI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBCdW1wIHZlcnNpb24gdG8gMS45LjIKCjIwMTYtMDktMDUgMTQ6NDQ6MjQgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZDogY3JlYXRlIHRoZSBHc3RHTFVwbG9hZCBvYmplY3QgaW4gOjp0cmFuc2Zvcm1fY2FwcwoJICBQcmV2aW91c2x5IGl0IHdhcyBjcmVhdGVkIGluIHRoZSBpbml0IGZ1bmN0aW9uIGFuZCBkZXN0cm95ZWQgaW4gOjpzdG9wLCB3aGljaAoJICBsZWFkIHRvIHNlZ2ZhdWx0cyB3aGVuIHJldXNpbmcgdGhlIGVsZW1lbnQuCgkgIE5vdyB0aGUgdXBsb2FkIG9iamVjdCBpcyBjcmVhdGVkIGluIDo6dHJhbnNmb3JtX2NhcHMgaWYgaXQgaXMgTlVMTCwgd2hpY2ggaXMgdGhlCgkgIGVhcmxpZXN0IHdlIG5lZWQgaXQuIFRoZSBvdGhlciB2ZnVuY3MgYWxyZWFkeSBiYWlsIG91dCBpZiB0aGUgdXBsb2FkIG9iamVjdCBpcwoJICBOVUxMLCB3aGljaCBtZWFucyB0aGF0IG5lZ290aWF0aW9uIHdhc24ndCBkb25lLgoKMjAxNi0wOC0yOSAxMTo0MDo1NCArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWwubGVlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU3VwcG9ydCBBVFNDIEVBQzMKCSAgRUFDMyBiaXQgc3RyZWFtcyBzaGFsbCBiZSBpZGVudGlmaWVkIHdpdGggYSBzdHJlYW1fdHlwZSB2YWx1ZSBvZiAweDg3IHdoZW4KCSAgdHJhbnNtaXR0ZWQgYXMgUEVTIHN0cmVhbXMgY29uZm9ybWluZyB0byBBVFNDLXB1Ymxpc2hlZCBzdGFuZGFyZHMuIEl0IGlzIHNwZWNpZmllZAoJICBpbiBBVFNDIFN0YW5kYXJkIEEvNTIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1MjgKCjIwMTYtMDktMDEgMTQ6MjU6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXgtdXAgbGFzdCBjb21taXQgdGhhdCB3YXMgbm90IG1lYW50IHRvIGJlIHB1c2hlZCB5ZXQKCjIwMTYtMDktMDEgMTQ6MTg6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGF0aW9uCgoyMDE2LTA5LTAxIDE0OjE3OjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogUmVxdWlyZSBhIGNsb2NrIHdoZW4gZ29pbmcgZnJvbSBQQVVTRURfVE9fUExBWUlORyBhbmQgZG9uJ3QgY3Jhc2ggaWYgdGhlcmUgaXMgbm9uZQoJICBBbHNvIHdoZW4gZ29pbmcgZnJvbSBQTEFZSU5HX1RPX1BBVVNFRCwgdGhlIGNsb2NrIG1pZ2h0J3ZlIGJlZW4gdW5zZXQgaW4gdGhlCgkgIG1lYW50aW1lLCBlLmcuIGJlY2F1c2UgdGhlIGVsZW1lbnQgd2FzIHJlbW92ZWQgZnJvbSBpdHMgc3Vycm91bmRpbmcgYmluLgoKMjAxNi0wOS0wMSAxMjoyODoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS45LjIgPT09CgoyMDE2LTA5LTAxIDEyOjI3OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS4yCgoyMDE2LTA5LTAxIDExOjI0OjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA4LTMwIDE2OjIxOjI1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IENvbmRpdGlvbmFsbHkgY29tcGlsZSBxdGtpdHZpZGVvc3JjCgkgIFRoZSBBUEkgd2FzIGRlcHJlY2F0ZWQgaW4gMTAuOSBhbmQgYXBwYXJlbnRseSBkb2VzIG5vdCBleGlzdCBpbiB0aGUgU0RLIGZvcgoJICBtYWNPUyBTaWVycmEgYW55bW9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDU4NwoKMjAxNi0wOC0zMSAwNDoyNjo0MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJICBnbDogUmVtb3ZlIGV4dHJhIGR1cGxpY2F0ZSB0eXBlZGVmIG9mIEdzdEdMRnJhbWVidWZmZXIKCSAgSXQncyB0cmlnZ2VyaW5nIGEgd2FybmluZyBidWlsZGluZyBnaXQgbWFzdGVyIG9uIE9TWAoKMjAxNi0wOC0yOSAxNjo1Nzo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0cy9nbHVwbG9hZDogc3VwcG9ydCBvcGVuZ2wzIHByb3Blcmx5IGluc3RlYWQgb2Ygc3Bld2luZyBHTCBlcnJvcnMKCjIwMTYtMDgtMjkgMTY6NTI6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIGdsL3BrZ2NvbmZpZzogYWRkIHRoZSBsaWIgaW5jbHVkZSBkaXIgdG8gdGhlIGxpc3Qgb2YgaW5jbHVkZXMKCSAgNzE0ZDhhYSBpbiBjb3JlIHJlbW92ZWQgdGhpcyBpbmNsdWRlIGRpciBmcm9tIGl0J3MgcGtnY29uZmlnIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA1MjMKCjIwMTYtMDgtMjkgMTU6NDM6MTAgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCB0ZXN0cyBhbmQgY2hlY2sgZm9yIHRoZSBuZXcgUkVDT05GSUdVUkUgYmVoYXZpb3VyCgkgIFRoZSB0ZXN0cyB3ZXJlIGJyb2tlbiBzaW5jZSA5MWZlYTMwLCB3aGljaCBjaGFuZ2VkIGdsdXBsb2FkIHRvIHJldHVybgoJICBHU1RfR0xfVVBMT0FEX1JFQ09ORklHVVJFIGlmIHRoZSB0ZXh0dXJlIHRhcmdldCBpbiB0aGUgaW5wdXQgYnVmZmVycyBkb2Vzbid0CgkgIG1hdGNoIHRoZSB0ZXh0dXJlLXRhcmdldCBjb25maWd1cmVkIGluIHRoZSBvdXRwdXQgY2Fwcy4KCSAgVGhpcyBjb21taXQgZml4ZXMgdGhhdCBhbmQgYWRkcyBtb3JlIGNoZWNrcyBmb3IgdGhlIG5ldyBiZWhhdmlvdXIuCgoyMDE2LTA4LTE5IDExOjEyOjEwIC0wNzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBVc2UgdGhlIG5ldyBBUEkgdG8gcG9zdCBmbG93IEVSUk9SIG1lc3NhZ2VzIG9uIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDE1OAoKMjAxNi0wOC0yNiAyMDoxMjoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2g6IEZpeCBidWlsZCBvZiB1bml0IHRlc3QKCjIwMTYtMDgtMjUgMjA6NTA6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBBZGQgcHJvcGVydGllcyB0byBzZWxlY3QgbWF4aW11bSBhbGxvd2VkIHdpZHRoL2hlaWdodCBhbmQgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA0MDgKCjIwMTYtMDgtMjYgMTY6MDQ6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MgWAoJICBXaGlsZSBnaW50NjQgYW5kIGludDY0X3QgYXJlIGFsd2F5cyB0aGUgc2FtZSwgY2xhbmcgZG9lcyBub3QgYWdyZWUgd2l0aCB0aGF0LgoJICAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvdXNyL2Jpbi9tYWtlIC1DIGRlY2tsaW5rCgkgIENYWCAgICAgIGxpYmdzdGRlY2tsaW5rX2xhLWdzdGRlY2tsaW5rYXVkaW9zaW5rLmxvCgkgIGdzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDo2NzU6Nzk6IGVycm9yOiBjYW5ub3QgaW5pdGlhbGl6ZSBhIHBhcmFtZXRlciBvZiB0eXBlICdpbnQ2NF90IConIChha2EgJ2xvbmcgbG9uZyAqJykgd2l0aCBhbiBydmFsdWUgb2YgdHlwZSAnZ2ludDY0IConIChha2EgJ2xvbmcgKicpCgkgIHJldCA9IGJ1Zi0+b3V0cHV0LT5hdHRyaWJ1dGVzLT5HZXRJbnQgKEJNRERlY2tMaW5rTWF4aW11bUF1ZGlvQ2hhbm5lbHMsICZtYXhfY2hhbm5lbHMpOwoJICBefn5+fn5+fn5+fn5+CgkgIC4vbGludXgvRGVja0xpbmtBUEkuaDo2OTI6ODc6IG5vdGU6IHBhc3NpbmcgYXJndW1lbnQgdG8gcGFyYW1ldGVyICd2YWx1ZScgaGVyZQoJICB2aXJ0dWFsIEhSRVNVTFQgR2V0SW50ICgvKiBpbiAqLyBCTUREZWNrTGlua0F0dHJpYnV0ZUlEIGNmZ0lELCAvKiBvdXQgKi8gaW50NjRfdCAqdmFsdWUpID0gMDsKCSAgXgoKMjAxNi0wOC0yNiAyMjo1MTo0OCArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9tZW1vcnkuYzoKCSAgYXBwbGVtZWRpYTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTYtMDgtMjYgMTU6NDg6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogU2NhbGUgZG93biBzY2hlZHVsZWQgZnJhbWUgdGltZXMgdG8gbWlsbGlzZWNvbmRzCgkgIFNjYWxlIGRvd24gdG8gbWlsbGlzZWNvbmRzLCBvdGhlcndpc2UgYXQgbGVhc3Qgc29tZSBoYXJkd2FyZSBoYXMgcHJvYmxlbXMKCSAgc2NoZWR1bGluZyB0aGUgZnJhbWVzIChvciBzY2hlZHVsZXMgdGhlbSB0b28gc2xvdykgYW5kIHdlIHJ1biBvdXQgb2YgYXZhaWxhYmxlCgkgIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDI4MgoKMjAxNi0wOC0yNiAxNDowODoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogQWRkIHN1cHBvcnQgZm9yIDggYW5kIDE2IGNoYW5uZWxzCgoyMDE2LTA4LTI2IDE3OjM3OjU0ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NnbG1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NnbG1lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogY2hhbmdlcyB0byBtYWtlIEdMIG1lbW9yeSBtYXBwYWJsZSBvbiBDUFUgb24gaU9TCgkgIFRoaXMgY29tbWl0IGludHJvZHVjZXMgSU9TR0xNZW1vcnkgd2hpY2ggaXMgYSBHTE1lbW9yeSB0aGF0IGZhbGxzIGJhY2sgdG8KCSAgR3N0QXBwbGVDb3JlVmlkZW9NZW1vcnkgZm9yIENQVSBhY2Nlc3MuIFRoaXMgaXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24gdW50aWwKCSAgSU9TdXJmYWNlIGdldHMgZXhwb3NlZCBhcyBhIHB1YmxpYyBmcmFtZXdvcmsgb24gaU9TIGFuZCBzbyB3ZSBjYW4gdXNlCgkgIElPU3VyZmFjZU1lbW9yeSBvbiBib3RoIE1hY09TIGFuZCBpT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyMTAKCjIwMTYtMDgtMjIgMTc6MTg6MjcgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdzdGdsdXBsb2FkOiBtYWtlIHRoZSBHTE1lbW9yeVVwbG9hZCBtZXRob2Qgb3V0cHV0IHRoZSBjb3JyZWN0IHRleHR1cmUtdGFyZ2V0CgkgIE5vdyB3aGVuIHVzZWQgd2l0aCB2aWRlby94LXJhdyBhcyBpbnB1dCwgdGhlIEdMTWVtb3J5VXBsb2FkIG1ldGhvZCBjaGVja3MgZm9yCgkgIC0+dGV4X3RhcmdldCBpbiBpbnB1dCBHTE1lbW9yeShlcykgYW5kIHNldHMgdGhlIG91dHB1dCB0ZXh0dXJlLXRhcmdldAoJICBhY2NvcmRpbmdseS4KCSAgRml4ZXMgdmlkZW8gY29ycnVwdGlvbiB3aXRoIGEgcGlwZWxpbmUgbGlrZSBhdmZ2aWRlb3NyYyAhIHZpZGVvL3gtcmF3ICEKCSAgZ2xpbWFnZXNpbmsgd2hlcmUgb24gbWFjb3MgYXZmdmlkZW9zcmMgcHVzaGVzIFJFQ1RBTkdMRSB0ZXh0dXJlcyBidXQgZ2x1cGxvYWQKCSAgd2FzIGNvbmZpZ3VyaW5nIHRleHR1cmUtdGFyZ2V0PTJEIGFzIG91dHB1dC4KCjIwMTYtMDgtMjQgMDk6NDE6MDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzX2VudW0ucHk6CgkqIGdzdC9tcGVndHNkZW11eC9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBNYWtlIG1wZWd0cyBsaWIgYnVpbGQgd2hlbiB1c2luZyBzdWJwcm9qZWN0cwoJICBUaGUgaGVhZGVycyBwYXNzZWQgYXMgcGFyYW1ldHRlciBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1aWxkIGRpcgoJICBiYXNpY2FsbHkgIi4uL3N1YnByb2plY3QvZ3N0LXBsdWdpbnMtYmFkL2dzdC1saWJzL2dzdC9tcGVndHMvWFhYLmgiCgkgIGJ1dCB0aGF0IGRvZXMgbm90IG1hdGNoIHdoYXQgaXMgbmVlZGVkIGF0IGJ1aWxkIHRpbWUgd2hlbiBidWlsZGluZyBhcwoJICBzdWJwcm9qZWN0LCBhbHNvIHdlIGFsd2F5cyBhZGQgY3VycmVudCBkaXIgYXMgaW5jbHVkZV9kaXIgc28gd2UgYXJlCgkgIHNhZmUgaW5jbHVkaW5nIGRpcmVjdGx5LgoJICBBbmQgbGluayBtcGVndHNkZW11eCBhZ2FpbnN0IHRoZSAnbWF0aCcgbGlicmFyeSBhcyBpdCBpcyBuZWVkZWQuCgoyMDE2LTA4LTI2IDAzOjQ2OjM5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IEV4cG9zZSB0aGUgb3BlbmdsIHBsdWdpbiBhbmQgZWxlbWVudCBkb2NzCgoyMDE2LTA4LTI2IDAyOjIwOjExICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBIYW5kbGUgaWYgdXBkYXRlX2NhcHMoKSByZXR1cm5zIEVNUFRZCgkgIERvbid0IGFzc3VtZSB0aGUgcmV0dXJuZWQgY2FwcyBmcm9tIHVwZGF0ZV9jYXBzKCkgaXMKCSAgbm9uLWVtcHR5LgoKMjAxNi0wOC0yNiAwMjowNzoyNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiBVcGRhdGUgZ2x2aWRlb21peGVyIGRvYwoKMjAxNi0wOC0yNiAwMjowNjowMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IEFkZC91cGRhdGUgZG9jcyBmb3IgZ2x2aWV3Y29udmVydCwgZ2xzdGVyZW9taXgKCSAgQWRkIHNvbWUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIGdsc3RlcmVvbWl4LCBhbmQgZml4IHVwCgkgIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgZ2x2aWV3Y29udmVydAoKMjAxNi0wOC0yNiAwMDoyOTozNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4Lmg6CgkgIGdsc3RlcmVvbWl4OiBGaXggY2FwcyBuZWdvdGlhdGlvbgoJICBUaGUgdmlkZW9hZ2dyZWdhdG9yIG5lZ290aWF0aW9uIHNlcXVlbmNlIGNoYW5nZWQgc29tZSB0aW1lCgkgIGJhY2sgYW5kIGJyb2tlIGdsc3RlcmVvbWl4LiBJbnN0ZWFkIG9mIGRvaW5nIG5lZ28gaW5jb3JyZWN0bHkKCSAgaW4gdGhlIGZpbmRfYmVzdF9mb3JtYXQoKSB2ZnVuYywgZG8gaXQgZGlyZWN0bHkgaW4gdGhlCgkgIHVwZGF0ZV9jYXBzKCkgbWV0aG9kLgoKMjAxNi0wOC0yNSAxNToyNjo0OSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggdGV4dHVyZSB0YXJnZXQgZml4YXRpb24KCSAgRG9uJ3Qgc2V0IHRoZSBjaG9zZW4gdGV4dHVyZS10YXJnZXQgaW50byB0aGUgd3Jvbmcgc3RydWN0dXJlLgoJICBUaGUgaW5wdXQgY2FwcyBtYXkgbm90IGJlIHdyaXRhYmxlLCBhbmQgaW4gYW55IGNhc2UgLSB0aGUKCSAgaW50ZW50aW9uIHdhcyB0byBjb25maWd1cmUgdGhlIG90aGVyY2Fwcy4gQWxzbywgcmVtb3ZlIGFuCgkgIGV4dHJhIHVucmVmIC0gdGhlIG90aGVyY2FwcyByZWYgaXMgY29uc3VtZWQgYnkKCSAgZ3N0X2NhcHNfbWFrZV93cml0YWJsZSBhbHJlYWR5LgoKMjAxNi0wOC0yNSAxOTozNToxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBFbmFibGUgYml0cmF0ZSBzZWxlY3Rpb24gZm9yIHRyaWNrIG1vZGUgc3RyZWFtaW5nIGFnYWluCgkgIEFuZCBzY2FsZSB0aGUgYml0cmF0ZSB3aXRoIHRoZSBhYnNvbHV0ZSByYXRlIChpZiBpdCdzIGJpZ2dlciB0aGFuIDEuMCkgdG8gZ2V0CgkgIHRvIHRoZSByZWFsIGJpdHJhdGUgZHVlIHRvIGZhc3RlciBwbGF5YmFjay4KCSAgVGhpcyBhbGxvd2VkIGluIG15IHRlc3RzIHRvIHBsYXkgYSBzdHJlYW0gd2l0aCAxMHggc3BlZWQgd2l0aG91dCBidWZmZXJpbmcgYXMKCSAgdGhlIGxvd2VzdCBiaXRyYXRlIGlzIGNob3NlbiwgaW5zdGVhZCBvZiBzdGF5aW5nL3NlbGVjdGluZyB0aGUgaGlnaGVzdCBiaXRyYXRlCgkgIGFuZCB0aGVuIGJ1ZmZlcmluZyBhbGwgdGhlIHRpbWUuCgkgIEl0IHdhcyBwcmV2aW91c2x5IGRpc2FibGVkIGZvciBub3QgdmVyeSB3ZWxsIHNwZWNpZmllZCByZWFzb25zLCB3aGljaCBzZWVtIHRvCgkgIGJlIG5vdCB2YWxpZCBhbnltb3JlIG5vd2FkYXlzLgoKMjAxNi0wOC0yNSAxNjozMzoxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBhZGQgbWlzc2luZyBkYXNoX2lzb2ZmIGZpbGUKCjIwMTYtMDgtMjUgMTI6NDU6MzMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBidWlsZDogZml4IGdzdC11bmluc3RhbGxlZCBidWlsZCBpbiBvc3gKCSAgRml4ZXMgY2xhbmc6IGVycm9yOiBhcmd1bWVudCB1bnVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uOiAnLXB0aHJlYWQnCgkgIHdoZW4gYnVpbGRpbmcgdGhlIHRlc3QgcHJvZ3JhbXMuCgoyMDE2LTA4LTI1IDE0OjM1OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBidWlsZDogdW5jb25kaXRpb25hbGx5IGNoZWNrIGZvciB2aWRlbywgYXVkaW8gYW5kIHBidXRpbHMgbW9kdWxlcwoJICBDaGVjayBmb3IgbW9kdWxlcyBpbiBjb25maWd1cmUgYW5kIHVzZSBHU1RfKl9MSUJTIHZhcnMgdG8gbGluayB3aXRoCgkgIHRoZSBsaWJyYXJpZXMgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZW0uCgoyMDE2LTA3LTI2IDE5OjU1OjEzICswMjAwICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuaDoKCSAgZ2x2aWRlb2ZsaXA6IGltcGxlbWVudCBHc3RWaWRlb0RpcmVjdGlvbiBpbnRlcmZhY2UKCSAgSXQgaW1wbGVtZW50cyBub3cgdGhpcyBpbnRlcmZhY2Ugd2l0aCBpdHMgdmlkZW8tZGlyZWN0aW9uCgkgIHByb3BlcnR5LiBWYWx1ZXMgYXJlIGNoYW5nZWQgdG8gR3N0VmlkZW9PcmllbnRhdGlvbk1ldGhvZCBidXQgdGhleSBoYXZlCgkgIHRoZSBzYW1lIHZhbHVlIHRoYW4gdGhlIG9yaWdpbmFscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODY4NwoKMjAxNi0wOC0yNCAxOTo0Mzo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZW5jLmM6CgkgIGZka2FhY2VuYzogSW1wbGVtZW50IHNvbWUgYXV0b21hdGljIGJpdHJhdGUgc2VsZWN0aW9uCgkgIEJhc2VkIG9uIHNhbXBsZSByYXRlIGFuZCBjaGFubmVsIGNvdW50LCBzZWUKCSAgaHR0cDovL3dpa2kuaHlkcm9nZW5hdWQuaW8vaW5kZXgucGhwP3RpdGxlPUZyYXVuaG9mZXJfRkRLX0FBQyNSZWNvbW1lbmRlZF9TYW1wbGluZ19SYXRlX2FuZF9CaXRyYXRlX0NvbWJpbmF0aW9ucwoKMjAxNi0wOC0yNCAxNDoxNTowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogT24gcmVkaXJlY3RzLCByZW1lbWJlciB0aGUgcmVkaXJlY3QgVVJJIHNlcGFyYXRlbHkgYW5kIGRvbid0IGNvbnNpZGVyIHRoaXMgYW4gVVJJIHByb3BlcnR5IGNoYW5nZQoJICBUaGUgYXBwbGljYXRpb24gZG9lcyBub3Qga25vdyBhbnl0aGluZyBhYm91dCB0aGUgcmVkaXJlY3QsIGFuZCBjaGFuZ2luZyBpdHMKCSAgVVJJIGludGVybmFsbHkgd2lsbCBjYXVzZSBjb25mdXNpb24uCgkgIEFsc28gZG9uJ3QgcmVzZXQgdGhlIHN1YnRpdGxlIFVSSS4KCjIwMTYtMDgtMjQgMTQ6MTA6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IERvbid0IHJlcG9ydCBzcHVyaW91cyBTVE9QUEVEIHN0YXRlIGNoYW5nZXMgd2hlbiBkb2luZyB0cmFuc2llbnQgY2hhbmdlcyB0aGVyZQoKMjAxNi0wOC0yNCAxMzowMTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRW5zdXJlIHRoYXQgcmF0ZSBpcyBpbml0aWFsaXplZCB0byAxLjAKCjIwMTYtMDgtMjQgMTA6MTY6MDAgKzAwMDAgIEZyZWRyaWsgRm9ybndhbGwgPGZyZWRyaWtAZm9ybndhbGwubmV0PgoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJICBvcGVuc2xlczogQWRkIG9wZW5zbGVzLmggdG8gbm9pbnN0X0hFQURFUlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDMyNgoKMjAxNi0wOC0yMyAxNDozNzoxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRGUtZHVwbGljYXRlIHJhdGUgc2V0dGluZyBjb2RlIGFuZCBhbHdheXMgdXNlIHRoZSBwcm9wZXJ0eQoKMjAxNi0wOC0yMyAxNDozMzoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogUHJvdGVjdCBzZXR0ZXIvZ2V0dGVyIGZvciB0aGUgY29uZmlndXJhdGlvbiB3aXRoIGEgbXV0ZXgKCjIwMTYtMDgtMjMgMTQ6MzI6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJICBwbGF5ZXI6IE1vdmUgc3VidGl0bGUgVVJJIHNldHRlciBuZXh0IHRvIHRoZSB1cmkgc2V0dGVyCgkgIEl0J3MgY29uZnVzaW5nIHRvIGhhdmUgdGhlbSBhIGNvdXBsZSBvZiBodW5kcmVkIGxpbmVzIGFwYXJ0LgoKMjAxNi0wOC0xNyAxOTo1OToxNyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBmaXggTVBFRy0yIHZpZGVvIGNhcHMKCSAgQWRkIHN5c3RlbXN0cmVhbT1mYWxzZSB0byBjYXBzLCBvdGhlcndpc2UgdGhlIGRlY29kZXIKCSAgbWF5IGJlIHBpY2tlZCBmb3IgTVBFRy1QUyBmaWxlcy4gQWxzbyBwYXJzZWQ9dHJ1ZSwKCSAgYXMgdmlkZW8gdG9vbGJveCBleHBlY3RzIGVudGlyZSBmcmFtZSBpbgoJICBWVERlY29tcHJlc3Npb25TZXNzaW9uRGVjb2RlRnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAwNDkKCjIwMTYtMDgtMjMgMDI6MTM6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jLnJlajoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvc2V0X3N0YXRlX2tlZXAucGF0Y2g6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCB0aGUgcHJldmlvdXMgY29tbWl0CgkgIFJlbW92ZSBleHRyYSBmaWxlcyB0aGF0IHdlcmUgbm90IG1lYW50IHRvIGJlIGFkZGVkIHRvIHRoZSBjb21taXQKCjIwMTYtMDgtMjMgMDE6NTc6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmMucmVqOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9zZXRfc3RhdGVfa2VlcC5wYXRjaDoKCSAgYWRhcHRpdmVkZW11eDogRml4IGJyb2tlbiB1cGRhdGVzIGxvb3Agb24gbGl2ZSBzdHJlYW1zCgkgIFByZXZlbnQgdGhlIG1hbmlmZXN0IHVwZGF0ZSBsb29wIGZyb20gbG9vcGluZyBlbmRsZXNzbHkKCSAgYWZ0ZXIgYSBzZWVrIGV2ZW50LCBieSBjbGVhcmluZyB0aGUgdmFyaWFibGUgdGhhdCB0ZWxscwoJICB0aGUgdGFzayBmdW5jdGlvbiBub3QgdG8gaW1tZWRpYXRlbHkgZXhpdC4KCjIwMTYtMDgtMTggMTA6MDY6MjcgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc3RyZWFtIGV4cG9zdXJlIGNvbmRpdGlvbgoJICBUaGUgbmV3IHN0cmVhbXMgc2hvdWxkIG5vdCBiZSBleHBvc2VkIHVudGlsIGFsbCBzdHJlYW1zIGFyZSBkb25lIHdpdGggdGhlCgkgIGN1cnJlbnQgZnJhZ21lbnQuIFRoZSBvbGQgY29kZSBpcyBpbmNvcnJlY3QgYW5kIGFjdHVhbGx5IG9ubHkgY2hlY2tlZCB0aGUKCSAgY3VycmVudCBzdHJlYW0uIEZpeCB0aGlzIGJ5IHByb3Blcmx5IGNoZWNraW5nIGFsbCBzdHJlYW1zLgoJICBBbHNvLCBpZ25vcmUgdGhlIGN1cnJlbnQgc3RyZWFtLiBUaGUgY29kZSBpcyBvbmx5IHJlYWNoZWQgd2hlbiB0aGUgY3VycmVudAoJICBzdHJlYW0gZmluaXNoZWQgZG93bmxvYWRpbmcgYW5kIHNpbmNlCgkgIDA3ZjQ5ZjE1YjExOTZjYzlmYTBkNDVhZjkxMTQ5YTM1ZmNlMTIzYjkgKCJhZGFwdGl2ZWRlbXV4OiBPbiBFT1MsIGhhbmRsZSBpdAoJICBiZWZvcmUgd2FraW5nIGRvd25sb2FkIGxvb3AiKSBkb3dubG9hZF9maW5pc2hlZCBpcyBzZXQgYWZ0ZXIKCSAgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV9hZHZhbmNlX2ZyYWdtZW50X3VubG9ja2VkKCkgaXMgY2FsbGVkLgoJICBXaXRob3V0IHRoaXMgSExTIHBsYXliYWNrIHdpdGggbXVsdGlwbGUgc3RyZWFtcyBpcyBicm9rZW4sIGJlY2F1c2UgdGhlIG5ldwoJICBzdHJlYW1zIGFyZSBuZXZlciBleHBvc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMDc1CgoyMDE2LTA4LTIxIDE2OjIxOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9tZXNvbi5idWlsZDoKCSAgbWVzb246IHJlbW92ZSB1bnVzZWQgbXBnMTIzIGJ1aWxkIGZpbGUKCSAgbXBnMTIzIHdhcyBtb3ZlZCB0byB1Z2x5LgoKMjAxNi0wOC0xMiAyMToyMTo0NSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlnLmgubWVzb246CgkqIGV4dC9hc3NyZW5kZXIvbWVzb24uYnVpbGQ6CgkqIGV4dC9iejIvbWVzb24uYnVpbGQ6CgkqIGV4dC9jaHJvbWFwcmludC9tZXNvbi5idWlsZDoKCSogZXh0L2N1cmwvbWVzb24uYnVpbGQ6CgkqIGV4dC9kYXNoL21lc29uLmJ1aWxkOgoJKiBleHQvZGlyZWN0ZmIvbWVzb24uYnVpbGQ6CgkqIGV4dC9kdGxzL21lc29uLmJ1aWxkOgoJKiBleHQvZHRzL21lc29uLmJ1aWxkOgoJKiBleHQvZmFhYy9tZXNvbi5idWlsZDoKCSogZXh0L2ZhYWQvbWVzb24uYnVpbGQ6CgkqIGV4dC9mbGl0ZS9tZXNvbi5idWlsZDoKCSogZXh0L2ZsdWlkc3ludGgvbWVzb24uYnVpbGQ6CgkqIGV4dC9obHMvbWVzb24uYnVpbGQ6CgkqIGV4dC9rYXRlL21lc29uLmJ1aWxkOgoJKiBleHQvbGliZGUyNjUvbWVzb24uYnVpbGQ6CgkqIGV4dC9saWJtbXMvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L21wZzEyMy9tZXNvbi5idWlsZDoKCSogZXh0L29wZW5oMjY0L21lc29uLmJ1aWxkOgoJKiBleHQvb3BlbmpwZWcvbWVzb24uYnVpbGQ6CgkqIGV4dC9vcHVzL21lc29uLmJ1aWxkOgoJKiBleHQvcmVzaW5kdmQvbWVzb24uYnVpbGQ6CgkqIGV4dC9yc3ZnL21lc29uLmJ1aWxkOgoJKiBleHQvcnRtcC9tZXNvbi5idWlsZDoKCSogZXh0L3NiYy9tZXNvbi5idWlsZDoKCSogZXh0L3NjaHJvZWRpbmdlci9tZXNvbi5idWlsZDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9tZXNvbi5idWlsZDoKCSogZXh0L3NvdW5kdG91Y2gvbWVzb24uYnVpbGQ6CgkqIGV4dC9zcGFuZHNwL21lc29uLmJ1aWxkOgoJKiBleHQvc3J0cC9tZXNvbi5idWlsZDoKCSogZXh0L3NydHAvc3J0cF9ta2VudW0ucHk6CgkqIGV4dC92b2FhY2VuYy9tZXNvbi5idWlsZDoKCSogZXh0L3dlYnAvbWVzb24uYnVpbGQ6CgkqIGV4dC94MjY1L21lc29uLmJ1aWxkOgoJKiBleHQvemJhci9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9hdWRpby9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb25maWcuaC5tZXNvbjoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9idWlsZF9ta2VudW0ucHk6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzX2VudW0ucHk6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL21lc29uLmJ1aWxkOgoJKiBnc3QvYWNjdXJpcC9tZXNvbi5idWlsZDoKCSogZ3N0L2FkcGNtZGVjL21lc29uLmJ1aWxkOgoJKiBnc3QvYWRwY21lbmMvbWVzb24uYnVpbGQ6CgkqIGdzdC9haWZmL21lc29uLmJ1aWxkOgoJKiBnc3QvYXNmbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9idWZmZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb2Z4YmFkL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW9taXhlci9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdXRvY29udmVydC9tZXNvbi5idWlsZDoKCSogZ3N0L2JheWVyL21lc29uLmJ1aWxkOgoJKiBnc3QvY2FtZXJhYmluMi9tZXNvbi5idWlsZDoKCSogZ3N0L2NkeGFwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9tZXNvbi5idWlsZDoKCSogZ3N0L2NvbXBvc2l0b3IvbWVzb24uYnVpbGQ6CgkqIGdzdC9kYXRhdXJpc3JjL21lc29uLmJ1aWxkOgoJKiBnc3QvZGNjcC9tZXNvbi5idWlsZDoKCSogZ3N0L2RlYnVndXRpbHMvbWVzb24uYnVpbGQ6CgkqIGdzdC9kdmJzdWJvdmVybGF5L21lc29uLmJ1aWxkOgoJKiBnc3QvZHZkc3B1L21lc29uLmJ1aWxkOgoJKiBnc3QvZmFjZW92ZXJsYXkvbWVzb24uYnVpbGQ6CgkqIGdzdC9mZXN0aXZhbC9tZXNvbi5idWlsZDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvbWVzb24uYnVpbGQ6CgkqIGdzdC9mcmVldmVyYi9tZXNvbi5idWlsZDoKCSogZ3N0L2ZyZWkwci9tZXNvbi5idWlsZDoKCSogZ3N0L2dhbWVzL21lc29uLmJ1aWxkOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL21lc29uLmJ1aWxkOgoJKiBnc3QvZ2RwL21lc29uLmJ1aWxkOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL21lc29uLmJ1aWxkOgoJKiBnc3QvaGR2cGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9pZDN0YWcvbWVzb24uYnVpbGQ6CgkqIGdzdC9pbnRlci9tZXNvbi5idWlsZDoKCSogZ3N0L2ludGVybGFjZS9tZXNvbi5idWlsZDoKCSogZ3N0L2l2ZnBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QvaXZ0Yy9tZXNvbi5idWlsZDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvbWVzb24uYnVpbGQ6CgkqIGdzdC9qcGVnZm9ybWF0L21lc29uLmJ1aWxkOgoJKiBnc3QvbGlicmZiL21lc29uLmJ1aWxkOgoJKiBnc3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9taWRpL21lc29uLmJ1aWxkOgoJKiBnc3QvbWl4bWF0cml4L21lc29uLmJ1aWxkOgoJKiBnc3QvbXBlZzFzeXMvbWVzb24uYnVpbGQ6CgkqIGdzdC9tcGVnZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9tcGVncHNtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9tcGVndHNkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L21wZWd0c211eC9tZXNvbi5idWlsZDoKCSogZ3N0L212ZS9tZXNvbi5idWlsZDoKCSogZ3N0L214Zi9tZXNvbi5idWlsZDoKCSogZ3N0L251dmRlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3Qvb252aWYvbWVzb24uYnVpbGQ6CgkqIGdzdC9vdmVybGF5L21lc29uLmJ1aWxkOgoJKiBnc3QvcGF0Y2hkZXRlY3QvbWVzb24uYnVpbGQ6CgkqIGdzdC9wY2FwcGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9wbm0vbWVzb24uYnVpbGQ6CgkqIGdzdC9yYXdwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L3JlYWwvbWVzb24uYnVpbGQ6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL21lc29uLmJ1aWxkOgoJKiBnc3QvcnRqcGVnL21lc29uLmJ1aWxkOgoJKiBnc3Qvc2RpL21lc29uLmJ1aWxkOgoJKiBnc3Qvc2RwL21lc29uLmJ1aWxkOgoJKiBnc3Qvc2VnbWVudGNsaXAvbWVzb24uYnVpbGQ6CgkqIGdzdC9zaXJlbi9tZXNvbi5idWlsZDoKCSogZ3N0L3Ntb290aC9tZXNvbi5idWlsZDoKCSogZ3N0L3NwZWVkL21lc29uLmJ1aWxkOgoJKiBnc3Qvc3RlcmVvL21lc29uLmJ1aWxkOgoJKiBnc3Qvc3ViZW5jL21lc29uLmJ1aWxkOgoJKiBnc3QvdHRhL21lc29uLmJ1aWxkOgoJKiBnc3QvdmJpZGVjL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9maWx0ZXJzL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9tZWFzdXJlL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21lc29uLmJ1aWxkOgoJKiBnc3QvdmlkZW9zaWduYWwvbWVzb24uYnVpbGQ6CgkqIGdzdC92bW5jL21lc29uLmJ1aWxkOgoJKiBnc3QveTRtL21lc29uLmJ1aWxkOgoJKiBnc3QveWFkaWYvbWVzb24uYnVpbGQ6CgkqIG1lc29uLmJ1aWxkOgoJKiBtZXNvbl9vcHRpb25zLnR4dDoKCSogcGtnY29uZmlnL21lc29uLmJ1aWxkOgoJKiBzeXMvYmx1ZXovbWVzb24uYnVpbGQ6CgkqIHN5cy9kM2R2aWRlb3NpbmsvbWVzb24uYnVpbGQ6CgkqIHN5cy9kaXJlY3Rzb3VuZC9tZXNvbi5idWlsZDoKCSogc3lzL2R2Yi9tZXNvbi5idWlsZDoKCSogc3lzL21lc29uLmJ1aWxkOgoJKiBzeXMvd2FzYXBpL21lc29uLmJ1aWxkOgoJKiBzeXMvd2lua3MvbWVzb24uYnVpbGQ6CgkqIHN5cy93aW5zY3JlZW5jYXAvbWVzb24uYnVpbGQ6CgkgIEFkZCBzdXBwb3J0IGZvciBNZXNvbiBhcyBhbHRlcm5hdGl2ZS9wYXJhbGxlbCBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24KCSAgV2l0aCBjb250cmlidXRpb25zIGZyb206CgkgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgkgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgkgIEp1c3NpIFBha2thbmVuIDxqcGFra2FuZUBnbWFpbC5jb20+IChvcmlnaW5hbCBwb3J0KQoJICBIaWdobGlnaHRzIG9mIHRoZSBmZWF0dXJlcyBwcm92aWRlZCBhcmU6CgkgICogRmFzdGVyIGJ1aWxkcyBvbiBMaW51eCAofjQwLTUwJSBmYXN0ZXIpCgkgICogVGhlIGFiaWxpdHkgdG8gYnVpbGQgd2l0aCBNU1ZDIG9uIFdpbmRvd3MKCSAgKiBHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIHByb2plY3QgZmlsZXMKCSAgKiBHZW5lcmF0ZSBYQ29kZSBwcm9qZWN0IGZpbGVzCgkgICogTXVjaCBmYXN0ZXIgYnVpbGRzIG9uIFdpbmRvd3MgKG9uLXBhciB3aXRoIExpbnV4KQoJICAqIFNlcmlvdXNseSBmYXN0IGNvbmZpZ3VyZSBhbmQgYnVpbGRpbmcgb24gZW1iZWRkZWQKCSAgLi4uIGFuZCBtYW55IG1vcmUuIEZvciBtb3JlIGRldGFpbHMgc2VlOgoJICBodHRwOi8vYmxvZy5uaXJiaGVlay5pbi8yMDE2LzA1L2dzdHJlYW1lci1hbmQtbWVzb24tbmV3LWhvcGUuaHRtbAoJICBodHRwOi8vYmxvZy5uaXJiaGVlay5pbi8yMDE2LzA3L2J1aWxkaW5nLWFuZC1kZXZlbG9waW5nLWdzdHJlYW1lci11c2luZy5odG1sCgkgIEJ1aWxkaW5nIHdpdGggTWVzb24gc2hvdWxkIHdvcmsgb24gYm90aCBMaW51eCBhbmQgV2luZG93cywgYnV0IG1heQoJICBuZWVkIGEgZmV3IG1vcmUgdHdlYWtzIG9uIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLgoKMjAxNi0wOC0xOCAxNzo0NjoxOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgIHBsdWdpbnM6IFVzZSBzdGRpbnQuaCBpbnN0ZWFkIG9mIF9zdGRpbnQuaAoJICBfc3RkaW50LmggaXMgZ2VuZXJhdGVkIGJ5IEF1dG90b29scyBhbmQgd2UgZG9uJ3QgcmVhbGx5IG5lZWQgaXQuIEFsbAoJICBzdXBwb3J0ZWQgcGxhdGZvcm1zIG5vdyBzaGlwIHdpdGggc3RkaW50LmguIFRoZSBvbmx5IHN0aWNrbGVyIHdhcyBNU1ZDLAoJICBhbmQgc2luY2UgVmlzdWFsIFN0dWRpbyAyMDE1IGl0IGFsc28gc2hpcHMgc3RkaW50Lmggbm93LgoKMjAxNi0wOC0xMiAyMTo1MToxNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgd2luMzI6IFVwZGF0ZSBsaWJnc3RnbC5kZWYKCjIwMTYtMDMtMDIgMDA6NTM6NDQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrLmNoYXVoYW5AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IEV4cGxpY2l0bHkgZXhwb3J0IGZ1bmN0aW9ucyBtYXJrZWQgaW5saW5lCgkgIE9uIE1TVkMsIGlubGluZSBmdW5jdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgb3V0c2lkZSBvZiBhIGZpbGUgdW5sZXNzCgkgIGV4cGxpY2l0bHkgZXhwb3J0ZWQKCjIwMTYtMDgtMTkgMTI6MjQ6NTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5jOgoJICByYXd2aWRlb3BhcnNlOiBmaXggdHlwbyBpbiBjb21tZW50CgkgIFNtYWxsIHR5cG8gaW4gdGhlIGNvbW1lbnQgZXhwbGFpbmluZyB0aGUgY29kZSBmaXhlZCBieSB0aGUgcHJldmlvdXMgY29tbWl0LgoJICBGaXhpbmcgaXQuCgoyMDE2LTA4LTE5IDE0OjE5OjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3dmlkZW9wYXJzZTogUmV2ZXJ0IGxhc3QgY29tbWl0IGFuZCBhY3R1YWxseSByZW1lbWJlciB0aGUgcGh5c2ljYWxseSBsYXN0IHBsYW5lCgkgIEluc3RlYWQgb2YganVzdCBhbHdheXMgdGFraW5nIHRoZSBsYXN0IG9uZSBhcyBiZWZvcmUuCgoyMDE2LTA4LTE5IDExOjU3OjMzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3dmlkZW9wYXJzZTogcmVtb3ZlIHVudXNlZCBhc3NpZ25tZW50CgkgIFZhbHVlIGluIGxhc3RfcGxhbmUgd2lsbCBiZSBvdmVyd3JpdHRlbiBiZWZvcmUgdXNlZCwgcmVtb3ZlIHVudXNlZAoJICBhc2lnbm1lbnQuCgkgIEZpeGVzIGNvbW1pdCA5MWNmNWFjNjlmOWM5OWZlNDFkNjBmNDJiNDE3NDkxNWRkMTM1ZTdiCgkgIENJRCAxMzcxNDYyCgoyMDE2LTA4LTE4IDE4OjU1OjQxICswMjAwICBQaGlsaXBwZSBSZW5vbiA8cGhpbGlwcGVfcmVub25AeWFob28uZnI+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSAgZGFhbGE6IGZpeCB0eXBvIHJlbGF0ZWQgY29tcGlsYXRpb24gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDEwMgoKMjAxNi0wOC0xOSAxMTowMjo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogcmVtb3ZlIGJpdHJvdHRlbiBwbHVnaW4gdGhhdCdzIG5vIGxvbmdlciBuZWVkZWQKCjIwMTYtMDgtMTkgMTk6NDY6MjQgKzEwMDAgIEZsb3JpYW4gWndvY2ggPGZ6d29jaEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWNjb3VudCBmb3IgcmV0aW5hIGRpc3BsYXlzIHdoZW4gY2FwdHVyaW5nIHNjcmVlbnMKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAwMzAKCjIwMTYtMDgtMTkgMTc6MTE6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGJ1bXAgZ3JhcGhlbmUgcmVxdWlyZW1lbnQgdG8gMS40CgoyMDE2LTA4LTE5IDE1OjM1OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiByZXdyaXRlIHRoZSBpbnZlcnNlIHRyYW5zZm9ybWF0aW9uIGxvZ2ljCgkgIEl0IG5vdyByZXR1cm5zIHRoZSBjb3JyZWN0IHZhbHVlcyBmb3IgYm90aCBvcnRob2dyYXBoaWMgYW5kIHBlcnNwZWN0aXZlCgkgIHByb2plY3Rpb25zIGFuZCB0YWtlcyBpbnRvIGFjY291bnQgdGhlIGFzcGVjdCByYXRpbyBvZiB0aGUgdmlkZW8sIGhhbmRsZXMKCSAgdGhlIFktZmxpcHBpbmcgaW4gR0wgYW5kIGJ5IHVzIGFuZCB1c2VzIHNvbWUgbW9yZSBoZWxwZXJzIGZyb20gZ3JhcGhlbmUuCgoyMDE2LTA3LTAxIDE2OjE4OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IG1hcnNoYWwgZ3N0X2dsX3dpbmRvd19yZXNpemUgdGhyb3VnaCB0aGUgd2luZG93IGxvb3AKCSAgc2F2ZXMgaGF2aW5nIGV2ZXJ5IGNhbGxlciBkbyBpdCB0aGVtc2VsdmVzLgoKMjAxNi0wNi0zMCAyMzowNjo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogdXNlIG11bHRpLXRocmVhZGVkIHNhZmUgZXZlbnQgd2F5bGFuZCBBUEkKCSAgTXVsdGlwbGUgdGhyZWFkcyBtYXkgYmUgYWNjZXNzaW5nIHRoZSB3YXlsYW5kIGZkIGF0IHRoZSBzYW1lIHRpbWUgd2hpY2gKCSAgcmVxdWlyZXMgdGhlIHVzZSBvZiBzcGVjaWFsIHdheWxhbmQgQVBJIHRvIGRlYWwgd2l0aCB0byBlbnN1cmUgbm9ib2R5CgkgIHdpbGwgc3RlYWwgcmVhZHMgYW5kIGNhdXNlIGEgc3RhbGwgZm9yIGFueW9uZSBlbHNlLgoKMjAxNi0wNy0wMSAwMDoxNTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgZ2wvZXhhbXBsZXMvZnh0ZXN0OiBmaXggdXAgZm9yIHdheWxhbmQgc3VwcG9ydAoJICAtIFBhc3MgdGhlIHdheWxhbmQgZGlzcGxheSB0byBnc3QKCSAgLSBSZWRyYXdpbmcgb24gcmVzaXplIGlzIG5vIGxvbmdlciBuZWVkZWQuCgoyMDE2LTA4LTE3IDE2OjIxOjM0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHdhcm4gb24gaWdub3JlZCBrZXkvdmFsdWUgcGFpcnMKCSAgT3RoZXJ3aXNlIGF0IHJ1bnRpbmUsIHVzZXJzIGdldCB0aGUgbWlzbGVhZGluZwoJICBwYXJzaW5nLU9LIG1lc3NhZ2Ugd2l0aCBubyBpbmZvIG9uLCBmb3IgZXhhbXBsZSwKCSAgcHJvcGVydGllcyB0aGF0IGZhaWxlZCB0byBtYXAgYmVjYXVzZSBvZiBhIHR5cG8uCgoyMDE2LTA4LTE2IDE1OjM1OjM5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGhhbmRsZSBwcm9ibGVtcyBwYXJzaW5nIGR2YnY1IGNvbmZpZyBrZXlzCgoyMDE2LTA4LTE4IDE1OjI4OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogRG9uJ3Qgc3RhcnQgdGFzayAoeWV0L2FnYWluKSBvbiBwYWQgcmVsZWFzZSBpZiB3ZSdyZSBpbiBSRUFEWSBvciBOVUxMCgkgIEZpeGVzIHNwdXJpb3VzIHNlZ2ZhdWx0IGluIHVuaXQgdGVzdCwgd2hlcmUgdGhlIHRhc2sgd2FzIHN0YXJ0ZWQgYWdhaW4gZHVyaW5nCgkgIHNodXRkb3duIHdoZW4gYWxsIHBhZHMgd2VyZSByZW1vdmVkLi4uIGFuZCB3YXMgdGhlbiBzdGlsbCBydW5uaW5nIHdoaWxlIHRoZQoJICBlbGVtZW50IHdhcyBmaW5hbGl6ZWQuCgoyMDE2LTA4LTE4IDEzOjIxOjU0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogSW4gS0VZX1VOSVRTIHRyaWNrIG1vZGUsIGRvd25sb2FkIGFsbCBJLWZyYW1lcyBhbmQgbm90IG9ubHkgSURSCgoyMDE2LTA4LTA4IDE3OjU0OjQ2ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXdhdWRpb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IEZpeCBhbmQgZXh0ZW5kIHVuaXQgdGVzdHMKCSAgKiBBZGQgY2FwcyBjaGFuZ2UgdGVzdCB0byB1bml0IHRlc3RzCgkgICogQ2xlYW51cCBsZWZ0b3ZlciBidWZmZXJzIGFmdGVyIGVhY2ggdW5pdCB0ZXN0CgkgICogQWRkIG1pc3NpbmcgcmF3dmlkZW9wYXJzZSBlbnRyeSBpbiAuZ2l0aWdub3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk2MzcKCjIwMTYtMDgtMTYgMDk6MzE6NDAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3dmlkZW9wYXJzZTogQ29tcHV0ZSBwbGFuZSBvZmZzZXRzICYgc3RyaWRlcyBpZiBubyBjdXN0b20gb25lcyBhcmUgc2V0CgkgIFRoaXMgaXMgdXNlZnVsIHRvIGVuc3VyZSB0aGF0IHRoZSBvZmZzZXRzIGFuZCBzdHJpZGVzIGFyZSBjb21wdXRlZCBpZgoJICBvbmx5IHdpZHRoLCBoZWlnaHQsIGZvcm1hdCBldGMuIGluIHRoZSBwcm9wZXJ0eSBjb25maWcgYXJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTc5NwoKMjAxNi0wOC0xNiAxODo0Njo0OSArMDMwMCAgU2VyZ2VpIFNhdmVsaWV2IDxzYXZlbGlldi5zZXJnZWlAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IERvbid0IGVzY2FwZSB0aGUgVVJJIGFub3RoZXIgdGltZSBpbiBhbm90aGVyIGxvY2F0aW9uIHRvbwoJICBPbmUgbG9jYXRpb24gd2FzIGZvcmdvdHRlbiBpbiBhOTEzYTBiOTY3OWRkNTg5NDVhZDEwNWQyNDBkYjQ1NTk1ZmRhYmE2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0OTIKCjIwMTYtMDgtMTYgMjA6MzM6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkgIGdsL2VnbDogZml4IGludmVydGVkIHR5cGVkZWYKCSAgMmI2ODQxZCBoYWQgYW4gaW52ZXJ0ZWQgdHlwZWRlZiBkZWZpbmluZyBnaW5wdHIgYW5kIEVHTEF0dHJpYi4gIEZpeCB0aGF0LgoKMjAxNi0wOC0xNiAxMDozNzoyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogRml4IGNvbXBpbGF0aW9uIHdpdGggd2lsZG1pZGkgMC40CgkgIE9sZCB2ZXJzaW9ucyB1c2VkIGNoYXIqIGZvciB0aGUgZGF0YSwgbmV3IHZlcnNpb25zIHVzZSBpbnQ4X3QqLiBUaGV5J3JlIG9mdGVuCgkgIG5vdCB0aGUgc2FtZSBhbmQgZGlmZmVyIGluIHNpZ25lZG5lc3MuCgoyMDE2LTA4LTE2IDE2OjUxOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkgIGdsL2J1aWxkOiBhZGQgY29uZmlndXJlIGNoZWNrIGZvciBwb3NzaWJseSBtaXNzaW5nIEVHTEF0dHJpYgoJICBGaXhlcyB0aGUgYnVpbGQgb24gb2xkZXIgYW5kcm9pZCB0YXJnZXRzLgoKMjAxNi0wNy0xMyAxNzoxNTo0NCArMDgwMCAgU29uZyBCaW5nIDxiaW5nLnNvbmdAbnhwLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkgIGdsL2VnbC9kbWFidWY6IFdyb25nIGF0dHJpYnV0ZSBsaXN0IHR5cGUgZm9yIEVHTCAxLjUKCSAgRm9yIEVHTCAxLjUgc3BlYywgdGhlIGF0dHJpYnV0ZSBsaXN0IHR5cGUgc2hvdWxkIGJlIEVHTEF0dHJpYi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODYwMgoKMjAxNi0wOC0xNSAxNjoxNDoyNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IHJhY2Ugam9pbmluZyB0aHJlYWQgb24gZmluYWxpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTkzOQoKMjAxNi0wOC0xNiAwMDo0MDo1MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHF0OiBVc2Ugd2dsU2hhcmVMaXN0cygpIHdvcmthcm91bmQgdW5jb25kaXRpb25hbGx5LgoJICBTb21ldGltZXMgd2dsQ3JlYXRlQ29udGV4dEF0dHJpYnNBUkIoKSBleGlzdHMsIGJ1dAoJICBpc24ndCBmdW5jdGlvbmFsIChzb21lIEludGVsIGRyaXZlcnMpLCBzbyBpdCdzCgkgIGVhc2llc3QgdG8gZG8gdGhlIHdvcmthcm91bmQgdW5jb25kaXRpb25hbGx5LgoKMjAxNi0wOC0xNSAxNjozNzo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIHdpbmtzOiBGaXggUkdCIGZyYW1lIGZsaXBwaW5nIGFuZCBwb3N0cHJvY2Vzc2luZwoJICBVbmNvbXByZXNzZWQgUkdCIGZyYW1lcyBjYW4gYmUgKHVzdWFsbHkgYXJlKSBib3R0b20tdXAKCSAgbGF5b3V0IGluIERpcmVjdFNob3csIGFuZCB0aGUgY29kZSB0byBmbGlwIHRoZW0gd2Fzbid0CgkgIHByb3Blcmx5IHBvcnRlZCBmcm9tIDAuMTAuIEZpeCBpdC4KCSAgRml4IHBvc3QtcHJvY2Vzc2luZyBvZiBSR0IgYnVmZmVycy4gV2UgbmVlZCBhIHdyaXRhYmxlCgkgIGJ1ZmZlciwgYnV0IHRoZSByZXF1ZXN0cyBwb29sIGlzIGhvbGRpbmcgYW4gZXh0cmEgcmVmLgoJICBUaGlzIGNvdWxkIHVzZSBtb3JlIGZpeGluZyB0byB1c2UgYSBidWZmZXIgcG9vbAoKMjAxNi0wOC0xMiAyMjoxNzoyNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogR2l2ZSB0aGUga3N2aWRlb3NyYyBQUklNQVJZIHJhbmsKCSAgSXQncyB0aGUgcHJpbWFyeSB2aWRlbyBzb3VyY2Ugb24gV2luZG93cywgc28gZ2l2ZSBpdCBhCgkgIHJhbmsgZm9yIGF1dG9wbHVnZ2luZyBieSBjYW1lcmFiaW4gYW5kIGZyaWVuZHMKCjIwMTYtMDgtMTIgMjI6MTY6MzMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBGaXggc3dhcHBlZCBSR0J4L1JHQiBjYXBzIG1hcHBpbmcsIGFuZCBlbmRpYW5uZXNzLgoJICBUaGUgUkdCeCBhbmQgUkdCIGZvcm1hdCBtYXBwaW5ncyB3ZXJlIHJldmVyc2VkLgoJICBXaGF0IFdpbmRvd3MgY2FsbHMgUkdCIGFyZSBsYWlkIG91dCBhcyBCR1IgaW4gb3VyIHBhcmxhbmNlLCBzbwoJICBzd2l0Y2ggdGhhdCB0b28KCjIwMTYtMDgtMDggMTM6NDE6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJICBxdDogTW92ZSBkZWJ1ZyBzdGF0ZW1lbnQgdG8gYWZ0ZXIgdGhlIGNhdGVnb3J5IGluaXQKCSAgRG9uJ3Qgb3V0cHV0IGRlYnVnIHRvIGFuIHVuaW5pdGlhbGlzZWQgZGVidWcgY2F0ZWdvcnkuCgoyMDE2LTA4LTExIDEyOjE5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGRhc2hkZW11eDogRGlzYWJsZSB1bml0IHRlc3QgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIEl0IHVzZXMgcmFuZG9tIGRhdGEgc3RyZWFtcyBidXQgZGFzaGRlbXV4IG5vd2FkYXlzIGFjdHVhbGx5IGxvb2tzIGludG8gdGhlCgkgIHN0cmVhbXMgYW5kIGRvZXNuJ3QgbGlrZSByYW5kb21uZXNzIHZlcnkgbXVjaC4gVGhlIHRlc3RzIHNob3VsZCBwcm9iYWJseSBqdXN0CgkgIGJlY29tZSB2YWxpZGF0ZSB0ZXN0cyBvbiByZWFsIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk1NTMKCjIwMTYtMDgtMTEgMTI6MTE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImRhc2hkZW11eDogV2hlbiBkb2luZyBTSURYIHNlZWtpbmcsIHJldHVybiBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHRpbWVzdGFtcCB3aXRoIDAgZnJvbSB0aGUgTVBEIHNlZWtpbmcgbWV0aG9kIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZWEyYzEzZmMxNjcyYTcyNjA2NzlkNzA2ZDBhMDg0YTM0YmE3NTMxLgoKMjAxNi0wOC0wNCAxNDo0Nzo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFdoZW4gZG9pbmcgY2h1bmtlZCBkb3dubG9hZGluZyBvbiBTSURYLCBjbGlwIHJlcXVlc3RzIG9uIHRoZSBTSURYIGVudHJ5IGJvdW5kYXJpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wOC0wMiAwODo0Nzo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBDb2xsZWN0IGF2ZXJhZ2UgbW9vZiBhbmQgZmlyc3Qgc3luYyBzYW1wbGUgc2l6ZXMKCSAgQW5kIGFsd2F5cyByZXF1ZXN0IHRob3NlIGluIHRoZSBiZWdpbm5pbmcgc28gdGhhdCBpZGVhbGx5IHdlIGdldCB0aGUgbW9vZiBhbmQKCSAgdGhlIGZpcnN0IHN5bmMgc2FtcGxlIGFsbCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdCBIVFRQIHJlcXVlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDgtMDIgMDg6MzU6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogRG93bmxvYWQgYW55IHN5bmMtc2FtcGxlIGZvbGxvd2luZyB0aGUgbW9vZiBkaXJlY3RseSBpbiBrZXktdW5pdHMgb25seSBtb2RlCgkgIFdlIGRvbid0IGhhdmUgdG8gZG8geWV0IGFub3RoZXIgYWRkaXRpb25hbCByZXF1ZXN0IGJ1dCBjYW4ganVzdCBkb3dubG9hZCB0aGUKCSAgZGF0YSBkaXJlY3RseS4KCSAgQWxzbyB1bmlmeSB0aGUga2V5LXVuaXQgb25seSBtb2RlIGJ1ZmZlciBwdXNoaW5nIGFuZCBleHRyYWN0IGl0IGludG8gaXRzIG93bgoJICBmdW5jdGlvbiBub3cgdGhhdCBpdCBiZWNhbWUgbW9yZSBjb21wbGljYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNy0yOSAxMjo1MDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IElmIGEgZnJhZ21lbnQgY29udGFpbnMgbm8gc3luYyBzYW1wbGVzLCBkaXNhYmxlIGtleS11bml0IG1vZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNy0yOSAxMjozMjo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBSZW1lbWJlciBpZiBmb3IgYSBzdHJlYW0gd2UgY291bGQgZG8ga2V5LXVuaXRzIG9ubHkgbW9kZQoJICBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgZXZlbiB0cnkgZ29pbmcgaW50byB0aGF0IG1vZGUgaWYgd2UgcHJldmlvdXNseSBzYXcKCSAgdGhhdCB0aGUgc3RyZWFtIGRvZXMgbm90IGhhdmUgdGhlIHN1aXRhYmxlIG1ldGFkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA3LTI5IDExOjU0OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWxzbyBhbGxvdyBrZXktdW5pdCBvbmx5IG1vZGUgaWYgKHNvbWUpIHNhbXBsZSBmbGFncyBhcmUgZ2l2ZW4gYnkgdHJleCBidXQgd2UgY2FuIHN0aWxsIGZpbmQgc3luYyBmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNy0xMiAyMDowOTo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVzZSBjaHVua2VkIGRvd25sb2FkaW5nIGZvciB0aGUgbW9vZiBpbiBLRVlfVU5JVFMgbW9kZQoJICBBbGxvd3MgdXMgdG8gcmV1c2UgdGhlIEhUVFAgY29ubmVjdGlvbiBhbmQgcmVkdWNlIGxhdGVuY2llcyBhIGxvdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNy0xMiAxMDoyMjo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBBZGQgQVBJIGZvciBhbGxvd2luZyBzdWJjbGFzc2VzIHRvIGRvd25sb2FkIFVSTHMgaW4gY2h1bmtzCgkgIFRoaXMgYWxsb3dzIHRvIGdyYWR1YWxseSBkb3dubG9hZCBwYXJ0IG9mIGEgZnJhZ21lbnQgd2hlbiB0aGUgZmluYWwgc2l6ZSBpcwoJICBub3Qga25vd24gYW5kIG9ubHkgYSBwYXJ0IG9mIGl0IHNob3VsZCBiZSBkb3dubG9hZGVkLiBGb3IgZXhhbXBsZSB3aGVuIG9ubHkKCSAgdGhlIG1vb2Ygc2hvdWxkIGJlIHBhcnNlZCBhbmQvb3IgYSBzaW5nbGUga2V5ZnJhbWUgc2hvdWxkIGJlIGRvd25sb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDYtMDEgMTQ6MDI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYXJrIGV2ZXJ5IGZpcnN0IGJ1ZmZlciBvZiBtb292LCBzaWR4LCBtb29mIGFuZCBtZGF0IGFzIERJU0NPTlQgaW4ga2V5ZnJhbWUtb25seSBtb2RlCgkgIFdlIG5lZWQgdG8gbWFyayBldmVyeSBmaXJzdCBidWZmZXIgb2YgYSBrZXkgdW5pdCBhcyBkaXNjb250LCBhbmQgYWxzbyBldmVyeQoJICBmaXJzdCBidWZmZXIgb2YgYSBtb292IGFuZCBtb29mLiBUaGlzIGVuc3VyZXMgdGhhdCBxdGRlbXV4IHRha2VzIG5vdGUgb2Ygb3VyCgkgIGJ1ZmZlciBvZmZzZXRzIGZvciBlYWNoIG9mIHRob3NlIGJ1ZmZlcnMgaW5zdGVhZCBvZiBrZWVwaW5nIHRyYWNrIG9mIHRoZW0KCSAgaXRzZWxmIGZyb20gdGhlIGZpcnN0IGJ1ZmZlci4gV2UgbmVlZCBvZmZzZXRzIHRvIGJlIGNvbnNpc3RlbnQgYmV0d2VlbiBtb29mCgkgIGFuZCBtZGF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDctMjggMTA6NTM6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBPbmx5IGVuYWJsZSBrZXktdW5pdCB0cmljayBtb2RlIGZvciB2aWRlbyBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDUtMzEgMTU6MTI6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBPbmx5IGRvIGtleWZyYW1lLW9ubHkgcGxheWJhY2sgaWYgdGhlIGNvcnJlc3BvbmRpbmcgc2VlayBmbGFnIGlzIGdpdmVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDUtMzAgMTI6MDk6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGRvd25sb2FkaW5nIG9mIG9ubHkgc3luYyBzYW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDUtMzAgMTE6MTU6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogU3RvcmUgcGFyc2VkIG1vb2YgYW5kIGV4dHJhY3Qgb2Zmc2V0cyBvZiBzeW5jIHNhbXBsZXMgaW4gaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNS0wMiAxNzoxMTozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2lzb2ZmLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfaXNvZmYuaDoKCSAgZGFzaDogQWRkIHRlc3QgZm9yIHBhcnNpbmcgYSBtb29mIGJveAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA1LTAyIDE2OjAzOjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfaXNvZmYuYzoKCSAgZGFzaDogQWRkIHVuaXQgdGVzdCBmb3IgSVNPQkZGIGJveCBoZWFkZXIgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA0LTA3IDIxOjMzOjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmg6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IHBhcnNpbmcgb2YgbW9vZiBib3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNC0wNyAxMzozNDo1NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkgIGRhc2hkZW11eDogTW92ZSBjb2RlIGFyb3VuZCB0byBrZWVwIGFsbCBzaWR4IHJlbGF0ZWQgZnVuY3Rpb25zIHRvZ2V0aGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDQtMDcgMTI6NTc6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuaDoKCSAgZGFzaGRlbXV4OiBTdG9yZSBib3ggZm91cmNjcyBpbiB0aGUgaGVhZGVyIGF0IGEgY2VudHJhbCBwbGFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTAzLTI4IDEzOjQ1OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBwYXJzaW5nIG9mIElTT0JNRkYgYm94ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wMy0xNiAxMzo0ODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmg6CgkgIGRhc2g6IEFkZCBoZWxwZXIgZm9yIHBhcnNpbmcgYm94IGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wOC0xMCAyMjo1MDoxMiArMDAwMCAgeGxhem9tMDAgPHhsYXpvbTAwQGdtYWlsLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogRW5hYmxlIGFzcGVjdCByYXRpbwoJICB4MjY1IGVuY29kZXIgbmVlZCBhc3BlY3RSYXRpb0lkYyA9PSBYMjY1X0VYVEVOREVEX1NBUiBpZiB3ZSB3YW50IHRvIHVzZQoJICBzYXJXaWR0aC9zYXJIZWlnaHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTcxNgoKMjAxNi0wOC0wOCAxMzoxMDoxMiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiB1c2UgdGhlIGNvcnJlbnQgZW51bWVyYXRpb24KCSAgRml4ZXMgdGhlIGZvbGxvd2luZyBlcnJvciB3aGVuIGJ1aWxkaW5nIGluIG9zeC4KCSAgZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RKUEVHMjAwMENvbG9yc3BhY2UnIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RKUEVHMjAwMFNhbXBsaW5nJwoKMjAxNi0wOC0wOCAxMToyODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogRml4IGNhbGwgdG8gcmVhbGxvYygpIHRvIGFsbG9jYXRlIHRoZSBjb3JyZWN0IHNpemUgb2YgaXRlbXMKCjIwMTYtMDgtMDcgMjA6NTM6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZmRrYWFjOiBhY3R1YWxseSBidWlsZCBhbmQgZGlzdAoKMjAxNi0wOC0wNiAyMzozMToyMyArMDAwMCAgeGxhem9tMDAgPHhsYXpvbTAwQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC90aW1lY29kZS9NYWtlZmlsZS5hbToKCSAgaGxzLCB0aW1lY29kZTogZml4IGxpbmtpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03Njk1ODcKCjIwMTYtMDgtMDcgMTI6MjA6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmRrYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5jOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5oOgoJKiBleHQvZmRrYWFjL3BsdWdpbi5jOgoJICBmZGthYWM6IEFkZCBGREsgQUFDIGJhc2VkIGRlY29kZXIgZWxlbWVudAoJICBNaXNzaW5nIGlzIHN1cHBvcnQgZm9yIGVycm9yIGNvbmNlYWxtZW50LCBldGMuCgoyMDE2LTA4LTA3IDExOjM5OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Zka2FhYy9NYWtlZmlsZS5hbToKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNlbmMuYzoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNlbmMuaDoKCSogZXh0L2Zka2FhYy9wbHVnaW4uYzoKCSAgZmRrYWFjOiBBZGQgRkRLIEFBQyBiYXNlZCBlbmNvZGVyIGVsZW1lbnQKCSAgVGhpcyBjdXJyZW50bHkgb25seSBoYW5kbGVzIExDIHByb2ZpbGUgYW5kIGV4cG9zZXMgYSBiaXRyYXRlIHByb3BlcnR5LCBidXQKCSAgaGFuZGxlcyB1cCB0byA3LjEgY2hhbm5lbHMuIFNlZSBUT0RPIGxpc3QgZm9yIG1pc3NpbmcgZmVhdHVyZXMuCgoyMDE2LTA4LTA3IDA4OjUxOjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmRrYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmRrYWFjL3BsdWdpbi5jOgoJICBmZGthYWM6IEluaXRpYWwgcGx1Z2luIHNrZWxldG9uCgoyMDE2LTA4LTAxIDExOjQ1OjMwICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZToga2VlcCBlbmRfb2Zmc2V0IHdoZW4gc2Vla2luZwoJICBBZnRlciBzZWVraW5nIGluIGFpZmYgZmlsZXMgdGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBkYXRhIGVuZCBvZmZzZXQgaXMKCSAgZGlzY2FyZGVkLCBsZWFkaW5nIHRvIGF1ZGlvIGFydGlmYWN0cyB3aXRoIG1ldGFkYXRhIGNodW5rcyBhdCB0aGUgZW5kIG9mCgkgIGEgZmlsZS4KCSAgVGhpcyBwYXRjaCByZXRhaW5zIHRoZSBlbmQgb2Zmc2V0IGluZm9ybWF0aW9uIGFmdGVyIGEgc2VlayBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NjkzNzYKCjIwMTYtMDgtMDYgMTY6MTU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGRvbid0IGNyYXNoIGlmIHZpZGVvIGZyYW1lIGNvdWxkIG5vdCBiZSBtYXBwZWQKCSAgQXMgbWlnaHQgaGFwcGVuIHdpdGggZS5nLiB2YWFwaSBhbmQgdGhlIHRlc3QgZmlsZSBmcm9tCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyMjcKCjIwMTYtMDgtMDUgMDk6MTY6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmV2ZXJ0ICJkYXNoZGVtdXg6IFdoZW4gZG9pbmcgU0lEWCBzZWVraW5nLCByZXR1cm4gaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSB0aW1lc3RhbXAgd2l0aCAwIGZyb20gdGhlIE1QRCBzZWVraW5nIG1ldGhvZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NDc2NTZjZmQyMmI3NWY5MTRkNWFiZTBhZjgyMzk2Nzg3ZjY3NTY0LgoJICBUaGlzIG1ha2VzIGFsbCBkYXNoIHNlZWtpbmcgdGVzdHMgZmFpbC4gTmVlZHMgbW9yZSB0ZXN0aW5nIHRvIGZ1bGx5IHVuZGVyc3RhbmQKCSAgd2hhdCdzIGdvaW5nIHdyb25nLiBSZXZlcnQgb2snZCBieSBTZWJhc3RpYW4KCjIwMTYtMDUtMzEgMTk6MjE6MTcgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L3RpbWVjb2RlL01ha2VmaWxlLmFtOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGV3YWl0LmM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXdhaXQuaDoKCSogZ3N0L3RpbWVjb2RlL3BsdWdpbi5jOgoJICB0aW1lY29kZXdhaXQ6IE5ldyBlbGVtZW50IHRvIHdhaXQgZm9yIGEgc3BlY2lmaWMgdGltZWNvZGUKCSAgdGltZWNvZGV3YWl0IHJlY2VpdmVzIGEgdGltZWNvZGUgYXMgYW4gYXJndW1lbnQgKGVpdGhlciBhcyBzdHJpbmcgb3IgYXMKCSAgR3N0VmlkZW9UaW1lQ29kZSAtIG9uZSBpcyBnc3QtbGF1bmNoLWZyaWVuZGx5IGFuZCB0aGUgb3RoZXIgaXMgY29kZS1mcmllbmRseSksCgkgIGFuZCBpdCB3aWxsIGRyb3AgYWxsIGF1ZGlvIGFuZCB2aWRlbyBidWZmZXJzIHVudGlsIHRoYXQgdGltZWNvZGUgaGFzIGJlZW4KCSAgcmVhY2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQxOQoKMjAxNi0wNS0yMCAxODoxNzo1MiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC90aW1lY29kZS9NYWtlZmlsZS5hbToKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rlc3RhbXBlci5jOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGVzdGFtcGVyLmg6CgkqIGdzdC90aW1lY29kZS9wbHVnaW4uYzoKCSAgdGltZWNvZGVzdGFtcGVyOiBOZXcgZWxlbWVudCB0byBhdHRhY2ggU01QVEUgdGltZWNvZGUgdG8gYnVmZmVycwoJICBUaGUgdGltZWNvZGVzdGFtcGVyIGVsZW1lbnQgYXR0YWNoZXMgYSBTTVBURSB0aW1lY29kZSB0byBlYWNoIHZpZGVvIGJ1ZmZlci4KCSAgVGhpcyB0aW1lY29kZSBjb3JyZXNwb25kcyB0byB0aGUgY3VycmVudCBzdHJlYW0gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQxOQoKMjAxNi0wNS0xNSAxNzoyNTo0NCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb1RpbWVDb2RlCgkgIFRoZSB0aW1lY29kZSB3aWxsIGJlIGZldGNoZWQgZnJvbSB0aGUgdmlkZW8gYnVmZmVyIGFuZCBvdXRwdXR0ZWQgb24gdGhlCgkgIGRlY2tsaW5rIHZpZGVvIHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MTkKCjIwMTYtMDUtMTUgMTY6MDQ6MTQgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvVGltZUNvZGUKCSAgVGhlIHRpbWVjb2RlIHdpbGwgYmUgZmV0Y2hlZCBmcm9tIHRoZSBkZWNrbGluayBzb3VyY2UgYW5kIGF0dGFjaGVkIHRvIHRoZQoJICB2aWRlbyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0MTkKCjIwMTYtMDgtMDQgMjM6MTQ6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogYWRkIG1pc3NpbmcgcmdiMTYgYW5kIGJncjE2IHZpZGVvIGZvcm1hdHMgaW4gc3dpdGNoCgkgIEZpeGVzIGFuIGFzc2VydGlvbiB0aGF0IGNvZGUgc2hvdWxkIG5vdCBiZSByZWFjaGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk0NjIKCjIwMTYtMDgtMDQgMjI6Mjg6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IEF2b2lkIHBvdGVudGlhbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UuCgkgIEZpeGVzIENJRCAxMzY0NzUzCgoyMDE2LTA4LTA0IDIyOjIxOjE2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IEF2b2lkIGNvdmVyaXR5IHdhcm5pbmcgYWJvdXQgYWNjZXNzIG9mZiB0aGUgZW5kIG9mIGFuIGFycmF5LgoJICBGaXhlcyBDSUQgMTM2NDc1NQoKMjAxNi0wOC0wNCAxNDo0MjozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFdoZW4gZG9pbmcgU0lEWCBzZWVraW5nLCByZXR1cm4gaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSB0aW1lc3RhbXAgd2l0aCAwIGZyb20gdGhlIE1QRCBzZWVraW5nIG1ldGhvZAoJICBXZSBkb24ndCBuZWVkIHRvIGNhbGwgdGhlIGxhdHRlciBhdCBhbGwgYXMgd2UncmUgZGVmaW5pdGVseSBpbiB0aGlzIHBlcmlvZCBhbmQKCSAgdGhlIHNlZ21lbnQgaXMgc2VsZWN0ZWQgdmlhIHRoZSBTSURYLgoJICBUaGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHdoZW4gZG9pbmcgU05BUCBzZWVrcywgYXMgb3RoZXJ3aXNlIHdlIHdvdWxkCgkgIGFsd2F5cyBzdGFydCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBlcmlvZCAodXN1YWxseSAwKSBhZ2Fpbi4KCjIwMTYtMDgtMDQgMTE6MDg6MzAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBtM3U4OiByZW1vdmUgaW1wb3NzaWJsZSBjb25kaXRpb24KCSAgQWZ0ZXIgdGhlIGNoZWNrIGluIGxpbmUgMSwxMTEsICBtZWRpYS0+dXJpIGNhbid0IGJlIE5VTEwuIFNvIHRoZSB0d28gY2hlY2tzCgkgIGZvciBHU1RfSExTX01FRElBX1RZUEVfQ0xPU0VEX0NBUFRJT05TIGFyZSB0aGUgc2FtZSwgcmVtb3ZpbmcgdGhlIHJlZHVuZGFudAoJICBvbmUgd2hpY2ggZ29lcyB0byBjY191bnN1cHBvcnRlZC4KCSAgQ0lEIDEzNjQ3NTIKCjIwMTYtMDgtMDQgMDQ6NTM6NTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgb3V0cHV0IHBlbmRpbmcgZGF0YSBhZnRlciBlcnJvcgoJICBJZiB0aGUgbGFzdF9yZXQgc3RhdHVzIGlzIG5vdCBPSywgc2tpcCBvdXRwdXQKCSAgb2YgYW55IHBlbmRpbmcgUENSIHNjYW4gYnVmZmVyLCBzaW1pbGFybHkgdG8gaG93CgkgIHRoZSBwZW5kaW5nIGRlY3J5cHRpb24gYnVmZmVyIGlzIGhhbmRsZWQgYWJvdmUuCgoyMDE2LTA4LTA0IDA0OjI5OjM4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogT24gRU9TLCBoYW5kbGUgaXQgYmVmb3JlIHdha2luZyBkb3dubG9hZCBsb29wCgkgIE90aGVyd2lzZSwgaWYgdGhlIGRvd25sb2FkIGxvb3Agd2FrZXMgdG9vIHF1aWNrbHksIGl0CgkgIG1pZ2h0IG1pc3MgdGhlIGxhc3RfcmV0IHZhbHVlIHVwZGF0ZSBmcm9tIHRoZSBwcm9jZXNzaW5nCgkgIHRocmVhZCBhbmQgbG9vcCBhZ2Fpbi4KCjIwMTYtMDgtMDQgMDE6NTE6MzcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC11dGlsLmM6CgkgIGhsc2RlbXV4OiBJbmNsdWRlIGNvbmZpZy5oIGFuZCBhZGQgaGVhZGVyIGluIHV0aWxzCgkgIEluIGdzdGhsc2RlbXV4LXV0aWwuYywgaW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55CgkgIG90aGVyIGhlYWRlcnMsIGFuZCBhZGQgYSBjb3B5cmlnaHQgLyBsaWNlbnNlIGhlYWRlci4KCjIwMTYtMDctMTMgMTE6MDI6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggZHJhaW5pbmcgb24gd3JvbmcgcHJvZ3JhbXMKCSAgV2hlbiBkcmFpbmluZyBhIHByb2dyYW0sIHdlIG1pZ2h0IHNlbmQgYSBuZXdzZWdtZW50IGV2ZW50IG9uIHRoZSBwYWRzCgkgIHRoYXQgYXJlIGdvaW5nIHRvIGJlIHJlbW92ZWQgKGFuZCB0aGVuIHRoZSBwZW5kaW5nIGRhdGEpLgoJICBJbiBvcmRlciB0byBkbyB0aGF0LCBjYWxjdWxhdGVfYW5kX3B1c2hfbmV3c2VnbWVudCgpIG5lZWRzIHRvIGtub3cKCSAgd2hhdCBsaXN0IG9mIHN0cmVhbXMgaXQgc2hvdWxkIHRha2UgaW50byBhY2NvdW50IChpbnN0ZWFkIG9mIGJsaW5kbHkKCSAgdXNpbmcgdGhlIGN1cnJlbnQgb25lKS4KCSAgQWxsIGNhbGxlcnMgdG8gY2FsY3VsYXRlX2FuZF9wdXNoX25ld3NlZ21lbnQoKSBhbmQgcHVzaF9wZW5kaW5nX2RhdGEoKQoJICBjYW4gbm93IHNwZWNpZnkgdGhlIHByb2dyYW0gb24gd2hpY2ggdG8gYWN0IChvciBOVUxMIGZvciB0aGUgZGVmYXVsdAoJICBvbmUpLgoKMjAxNi0wNy0xMiAxNTo1ODo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBHQVAgc3luY2hyb25pemF0aW9uIHdpdGhvdXQgYSB2YWxpZCBQQ1IgUElECgkgIEZvciBzdHJlYW1zIHRoYXQgZG9uJ3QgaGF2ZSBhIHZhbGlkIFBDUiBQSUQsIHdlIGp1c3QgdXNlIHRoZSBsYXRlc3QKCSAgUFRTIGZyb20gYW55IGdpdmVuIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODE0OAoKMjAxNi0wNS0zMSAxMzowOTo0MyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBoYW5kbGUgcGNyX3BpZCA9PSAweDFmZmYKCSAgU3RyZWFtcyB3aXRob3V0IFBDUiBtYWtlIHNlbnNlcyBpbiBITFMsIHdoZXJlIHRoZSBwbGF5bGlzdCB0aW1lc3RhbXBzCgkgIGNhbiBiZSB1c2VkIHRvIHNlZWsgb3IgY2FsY3VsYXRlIHRoZSBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODE0OAoKMjAxNS0wNS0xMCAyMDoxMDo0OSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IGFib3J0IHBsYXliYWNrIHdoZW4gbm8gUENSIHdlcmUgZm91bmQgZHVyaW5nIGluaXRpYWwgc2NhbgoJICBTZWVraW5nIHdpbGwgbm90IGJlIHBvc3NpYmxlIGluIHRob3NlIHN0cmVhbXMgYnV0IGF0IGxlYXN0IHRoZSBjYW4gYmUKCSAgcGxheWVkLiBOb3RlIHNjYW5uaW5nIGlzIG9ubHkgZG9uZSB3aGVuIHRzZGVtdXggaXMgY29uZmlndXJlZCBpbiBwdWxsIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDgxNDgKCjIwMTUtMDUtMDkgMTU6NTI6MjIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgd2FpdCBmb3IgUENSIHdoZW4gUENSIHBpZCBpcyBzZXQKCSAgU3RyZWFtcyB3aXRob3V0IFBDUiBtYWtlIHNlbnNlcyBpbiBITFMsIHdoZXJlIHRoZSBwbGF5bGlzdCB0aW1lc3RhbXBzCgkgIGNhbiBiZSB1c2VkIHRvIHNlZWsgb3IgY2FsY3VsYXRlIHRoZSBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODE0OAoKMjAxNi0wOC0wMyAwNDoxODoxOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogRml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHBvc3NpYmx5IHVuaW5pdCB2YXJpYWJsZQoKMjAxNi0wNy0yOCAxNDoyMjowMiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZWVrIGFsbCBzdHJlYW1zCgoyMDE2LTA1LTI1IDExOjIzOjU5ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNpbXBsaWZ5IGdzdF9obHNfZGVtdXhfc2VlaygpCgkgIERvbid0IGluaXRpYWxpemUgY3VycmVudF9zZXF1ZW5jZS4gSXQgaXMgYWx3YXlzIG92ZXJ3cml0dGVuIGluIHRoZSB3YWxrCgkgIGxvb3AuCgoyMDE2LTA1LTI0IDE1OjIzOjEyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGRvd25sb2FkIHRoZSBsYXN0IGZyYWdtZW50IHdoZW4gc2Vla2luZyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgdHJhY2sKCSAgSXQncyBub3QgdXNlZCBhbnl3YXlzLgoKMjAxNi0wNy0xMiAyMzowNTo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LXV0aWwuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgSUQzIHRhZyBwYXJzaW5nCgkgIFBhcnNlIHN0YXJ0IFBUUyBvdXQgb2YgdGhlIElEMyB0YWdzIGluCgkgIGF1ZGlvIGZyYWdtZW50cy4gSW5mb3JtYXRpb25hbCBvbmx5IGZvciBub3cuCgoyMDE2LTAyLTI0IDE2OjU3OjE2ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXgtdXRpbC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IERvIHNvbWUgcmVhZGluZyBhbmQgZHVtcGluZyBvZiBQQ1JzCgkgIFJlYWQgUENScyBvdXQgb2YgdGhlIE1QRUctVFMgc3RyZWFtIGluIGEgYmFzaWMgd2F5CgkgIGFuZCAoZm9yIG5vdykganVzdCBsb2cgdGhlbQoKMjAxNi0wMy0wNSAwMzowODo1NSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IE9ubHkgdXNlIHRoZSBwcmltYXJ5IHN0cmVhbSBmb3IgYml0cmF0ZSBzZWxlY3Rpb24uCgkgIFdoZW4gcGxheWluZyBhbHRlcm5hdGUgcmVuZGl0aW9uIGF1eGlsbGlhcnkgc3RyZWFtcywgaWdub3JlCgkgIHRoZW0gaW4gYml0cmF0ZSBtZWFzdXJlbWVudCAoZm9yIG5vdykuCgoyMDE2LTA3LTE1IDE2OjI0OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc2VsZWN0IHZpZGVvIGFuZCBhdWRpbyBzdHJlYW1zIGJ5IGRlZmF1bHQKCSAgSWdub3JlIHN1YnRpdGxlIHN0cmVhbXMgZm9yIG5vdywgYmVjYXVzZSB0aGUKCSAgZGlmZmVyZW50IGZyYWdtZW50IGR1cmF0aW9uIGNhdXNlcyBwcm9ibGVtcwoJICBzd2l0Y2hpbmcgYml0cmF0ZXMgdy8gZGVjb2RlYmluMiBncm91cCBkcmFpbmluZy4KCjIwMTYtMDItMjUgMDE6NTg6MjUgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBQdWJsaXNoIGFsbCBtZWRpYSBmb3IgYWx0ZXJuYXRlIHJlbmRpdGlvbnMuCgkgIENyZWF0ZSBhbiBvdXRwdXQgc3RyZWFtIGZvciBlYWNoIG1lZGlhIHdoZW4gYWx0ZXJuYXRlIHJlbmRpdGlvbnMKCSAgYXJlIHByZXNlbnQuIFVwZGF0ZSB0aGUgbWFuaWZlc3RzIGZvciBhbGwgdGhvc2Ugc3RyZWFtcywgYW5kCgkgIG1ha2Ugc3VyZSB0aGF0IHR5cGVmaW5kaW5nIGlzIHN0aWxsIGRvbmUgZm9yIGZpbGVzIHNtYWxsZXIgdGhhbiAyS0IKCSAgc3VjaCBhcyBzbWFsbCBXZWJWVFQgZmlsZXMuCgoyMDE2LTAzLTA4IDAxOjI0OjIwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkanVzdCBkb3duc3RyZWFtIGJ1ZmZlciBvZmZzZXRzCgkgIFdoZW4gZmV0Y2hpbmcgYSBieXRlLXJlZ2lvbiBmcm9tIGEgc2VydmVyIHJlc291cmNlLAoJICBhZGp1c3QgdGhlIGRvd25zdHJlYW0gYnVmZmVyIG9mZnNldHMgc28gdGhhdCBkb3duc3RyZWFtCgkgIGRvZXNuJ3Qga25vdy4gVGhpcyBpcyBiZWNhdXNlIGlkM2RlbXV4IGluc2lzdHMgb24gdGhlCgkgIGZpcnN0IG9mZnNldCBiZWluZyAwLiBMYXRlciB3ZSBtaWdodCBzdHJpcCBJRDMgaGVhZGVycwoJICBlbnRpcmVseSBhbmQgdGhpcyB3aWxsIGJlIHVubmVlZGVkLgoKMjAxNi0wMy0wOSAwMzowNzoyMiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IENob29zZSB0aGUgZGVmYXVsdCB2YXJpYW50IGFuZCB0cmFjayBpdCB3aGVuIHVwZGF0aW5nCgkgIE1vZGlmeSBwbGF5bGlzdCB1cGRhdGluZyB0byB0cmFjayBpbmZvcm1hdGlvbiBhY3Jvc3MgdXBkYXRlcwoJICBiZXR0ZXIsIGFsdGhvdWdoIHN0aWxsIGhhY2tpc2guCgkgIFdoZW4gY29ubmVjdGlvbl9zcGVlZCA9PSAwLCBjaG9vc2UgdGhlIGRlZmF1bHQgdmFyaWFudAoJICBub3QgdGhlIGZpcnN0IG9uZSBpbiB0aGUgKG5vdyBzb3J0ZWQpIHZhcmlhbnQgbGlzdCwgYXMgdGhhdAoJICB3aWxsIGhhdmUgdGhlIGxvd2VzdCBiaXRyYXRlLgoKMjAxNS0xMi0wNSAxMToxMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IG1vdmUgdmFyaWFudCBsaXN0IGhhbmRsaW5nIG92ZXIgdG8gbmV3IG1hc3RlciBwbGF5bGlzdCBjb2RlCgkgIEFkYXB0IGhsc2RlbXV4IGZvciB0aGUgbTN1OCBwbGF5bGlzdCBjaGFuZ2VzLgoKMjAxNS0xMS0yNyAxOToyNjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogUmV3b3JrIG0zdTggcGFyc2luZyBhbmQgc3RvcmFnZS4KCSAgTWFrZSBNM1U4IGFuZCBHc3RNM1U4TWVkaWFGaWxlIHJlZmNvdW50ZWQuIFRoZSBjb250ZW50cwoJICBvZiBpdCBhbmQgR3N0TTNVOE1lZGlhRmlsZSBhcmUgcHJldHR5IG11Y2ggaW1tdXRhYmxlCgkgIGFscmVhZHksIGJ1dCBpZiB3ZSBtYWtlIGl0IHJlZmNvdW50ZWQgd2UgY2FuIGp1c3QKCSAgcmV0dXJuIGEgcmVmIHRvIHRoZSBtZWRpYSBmaWxlIGZyb20gX2dldF9uZXh0X2ZyYWdtZW50KCkKCSAgaW5zdGVhZCBvZiBjb3B5aW5nIG92ZXIgYWxsIGZpZWxkcyBvbmUtYnktb25lLCBhbmQgdGhlbgoJICBjb3B5aW5nIHRoZW0gYWxsIGludG8gdGhlIGFkYXB0aXZlIHN0cmVhbSBzdHJ1Y3R1cmUgZmllbGRzIGFnYWluLgoJICBNb3ZlIHN0YXRlIGZyb20gY2xpZW50IGludG8gbTN1OCBzdHJ1Y3R1cmUuICBUaGlzIHdpbGwKCSAgYmUgdXNlZnVsIGxhdGVyIHdoZW4gd2UnbGwgaGF2ZSBtdWx0aXBsZSBtZWRpYSBwbGF5bGlzdHMKCSAgYmVpbmcgc3RyZWFtZWQgYXQgdGhlIHNhbWUgdGltZSwgYXMgd2lsbCBiZSB0aGUgY2FzZSB3aXRoCgkgIGFsdGVybmF0aXZlIHJlbmRpdGlvbnMuCgkgIFRoaXMgaGFzIHRoZSBkb3duc2lkZSB0aGF0IHdlIG5lZWQgdG8gY29weSBvdmVyIHNvbWUKCSAgc3RhdGUgd2hlbiB3ZSBzd2l0Y2ggYmV0d2VlbiB2YXJpYW50IHN0cmVhbXMuCgkgIFRoZSBHc3RNM1U4Q2xpZW50IHN0cnVjdHVyZSBpcyBnb25lLCBhbmQgbWFpbi9jdXJyZW50CgkgIGxpc3RzIGFyZSBub3QgZGlyZWN0bHkgaW4gaGxzZGVtdXguIGhsc2RlbXV4IGhhZCBhcwoJICBtYW55IENMSUVOVF9MT0NLL1VOTE9DSyBhcyB0aGUgbTN1OCBjb2RlIGFueXdheS4uLgoKMjAxNi0wNy0yNyAwOToyODoyMyArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc2luay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL21haW4ucW1sOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL3BsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rL3FtbC5xcmM6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvZ3JhYnFtbC5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL21haW4ucW1sOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvcW1sLnFyYzoKCSAgcW1sZ2xzcmM6IEFkZCBxbWxnbHNyYyB1bml0IHRlc3QgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTYwCgoyMDE2LTA3LTI3IDA4OjE2OjQ3ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5Lmg6CgkqIGV4dC9xdC9nc3RxdHNyYy5jYzoKCSogZXh0L3F0L2dzdHF0c3JjLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdHdpbmRvdy5jYzoKCSogZXh0L3F0L3F0d2luZG93Lmg6CgkgIHF0OiBpbXBsZW1lbnQgcW1sZ2xzcmMgZm9yIHFtbCB2aWV3IGdyYWIKCSAgW01hdHRoZXcgV2F0ZXJzXTogZ3N0LWluZGVudCBzb3VyY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxNjAKCjIwMTYtMDctMjcgMTA6NTU6MDEgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBGaXggZ2xpbWFnZXNpbmsgY2Fubm90IHNob3cgZnJhbWUgd2hlbiBjb25uZWN0IHRvIHFtbGdsc3JjCgkgIFdoZW4gY29ubmVjdCB0byBxbWxnbHNyYywgeDExIGV2ZW50IGxvb3Agd2lsbCBiZSByZXBsYWNlIGJ5IHF0IGV2ZW50IGxvb3AKCSAgd2hpY2ggd2lsbCBjYXVzZSB0aGUgd2luZG93IGNhbm5vdCByZWNlaXZlIGV2ZW50IGZyb20geHNlcnZlciwgc3VjaCBhcyByZXNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE2MAoKMjAxNi0wOC0wMiAxNzoyMToyMCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogVXNlIGJ1ZmZlcnBvb2wgdG8gYWxsb2NhdGUgbmV3IGJ1ZmZlciBpbiBHTFRleHR1cmVVcGxvYWRNZXRhCgkgIFRvIGltcHJvdmUgcGVyZm9ybWFjZSBvZiB1cGxvYWQgd2l0aCBHTFRleHR1cmVVcGxvYWRNZXRhLAoJICB1c2UgYnVmZmVycG9vbCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgbmV3IGJ1ZmZlciBldmVyeSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MjkzCgoyMDE2LTA3LTI3IDE0OjQ4OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IG1vdmUgdW5zZXR0aW5nIHF1ZXVlX3Jlc2l6ZSB0byBfcmVzaXplKCkgaW5zdGVhZCBvZiBfZHJhdygpCgkgIE1ha2VzIGluZmluaXRlbHkgbW9yZSBzZW5zZSBhbmQgaW1wbGVtZW50YXRpb24gd2VyZSBleHBlY3RpbmcgdGhhdCBiZWhhdmlvdXIKCSAgYW55d2F5IGFuZCB3b3VsZCBlbnRlciBhIHJlc2l6ZSwgZHJhdywgcmVzaXplLCBkcmF3LCAuLi4gY3ljbGUgaW5zdGVhZCBvZiBvbmx5CgkgIHJlc2l6aW5nIG9uY2UuCgoyMDE2LTA4LTAzIDA5OjE0OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBOZXZlciBldmVyIGhvbGQgdGhlIG1hbmlmZXN0IGxvY2sgd2hpbGUgY2hhbmdpbmcgdGhlIHNvdXJjZSBlbGVtZW50IHN0YXRlCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGRlYWRsb2NrIGluIHZhcmlvdXMgc2l0dWF0aW9ucyB0aGF0IHRha2UgdGhlIG1hbmlmZXN0IGxvY2sKCSAgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBvciB3aGVuIHNodXR0aW5nIGRvd24gb3IgLi4uCgoyMDE2LTA4LTAyIDE3OjA3OjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogSW4gUFVTSCBtb2RlIHdlIHdpbGwgbmV2ZXIgZ2V0IHRoZSBJRDMgdGFncyBhcyB0aGV5IGFyZSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlCgkgIFRoaXMgcHJldmlvdXNseSBkaWQgbm90IGZhaWwgYXMgYmVmb3JlIHdlIGRpZG4ndCBnZXQgYW55IHRhZ3MgYXQgYWxsIGluIFBVU0gKCSAgbW9kZSwgbm93IHdlIGdldCB0aGUgYml0cmF0ZXMuCgoyMDE2LTA4LTAyIDEzOjQ4OjQzICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogQWRkIHRhZ3MgZm9yIGNvbnRhaW5lciBmb3JtYXQgYW5kIGJpdHJhdGUKCSAgVGhlIGJpdHJhdGUgaXMgYWRkZWQgdG8gaGVscCBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIHVyaWRlY29kZWJpbikKCSAgZmlndXJlIG91dCBhIHByb3BlciBuZXR3b3JrIGJ1ZmZlciBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzODkKCjIwMTYtMDEtMjAgMTY6NDI6MjQgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0IGZvciBnc3RfbXBkX2NsaWVudF9nZXRfbWF4aW11bV9zZWdtZW50X2R1cmF0aW9uCgkgIEFkZCBhIHRlc3Qgb2YgdGhlIGdzdF9tcGRfY2xpZW50X2dldF9tYXhpbXVtX3NlZ21lbnRfZHVyYXRpb24oKSBmdW5jdGlvbgoJICB0byBjaGVjayB0aGF0IGl0IGZpcnN0IGNoZWNrcyB0aGUgTVBEQG1heFNlZ21lbnREdXJhdGlvbiBhbmQgdGhlbiBmYWxscwoJICBiYWNrIHRvIGNoZWNraW5nIGFsbCBvZiB0aGUgc2VnbWVudCBkdXJhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTEKCjIwMTYtMDItMjQgMTU6NTQ6NTQgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaW5jbHVkZSBzZWdtZW50IGR1cmF0aW9uIHdoZW4gY2FsY3VsYXRpbmcgc2VlayByYW5nZQoJICBUaGUgZ3N0X2Rhc2hfZGVtdXhfZ2V0X2xpdmVfc2Vla19yYW5nZSAoKSBmdW5jdGlvbiByZXR1cm5zIGEgc3RvcCB2YWx1ZQoJICB0aGF0IGlzIGJleW9uZCB0aGUgYXZhaWxhYmxlIHJhbmdlLiBUaGUgZnVuY3Rpb25zCgkgIGdzdF9tcGRfY2xpZW50X2NoZWNrX3RpbWVfcG9zaXRpb24oKSBhbmQKCSAgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfZW5kX3RpbWUoKSBpbgoJICBnc3RtcGRwYXJzZXIuYyBpbmNsdWRlIHRoZSBzZWdtZW50IGR1cmF0aW9uIHdoZW4gY2hlY2tpbmcgaWYgYSBzZWdtZW50CgkgIGlzIGF2YWlsYWJsZS4gVGhlIGdzdF9kYXNoX2RlbXV4X2dldF9saXZlX3NlZWtfcmFuZ2UoKSBmdW5jdGlvbgoJICBpbiBnc3RkYXNoZGVtdXguYyBpZ25vcmVzIHRoZSBzZWdtZW50IGR1cmF0aW9uLgoJICBBY2NvcmRpbmcgdG8gdGhlIERBU0ggc3BlY2lmaWNhdGlvbiwgaWYgbWF4U2VnbWVudER1cmF0aW9uIGlzIG5vdCBwcmVzZW50LAoJICB0aGVuIHRoZSBtYXhpbXVtIFNlZ21lbnQgZHVyYXRpb24gaXMgdGhlIG1heGltdW0gZHVyYXRpb24gb2YgYW55IFNlZ21lbnQKCSAgZG9jdW1lbnRlZCBpbiB0aGUgTVBELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzUxCgoyMDE2LTAyLTI0IDE1OjUyOjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZXRyeSBvbmNlIG9uIDR4eC81eHggaW4gY2VydGFpbiBjb25kaXRpb25zCgkgIFRoaXMgaGVscHMgY2F0Y2ggdGhvc2UgNDA0IHNlcnZlciBlcnJvcnMgaW4gbGl2ZSBzdHJlYW1zIHdoZW4KCSAgc2Vla2luZyB0byB0aGUgdmVyeSBiZWdpbm5pbmcsIGFzIHRoZSBzZXJ2ZXIgd2lsbCBoYW5kbGUgYQoJICByZXF1ZXN0IHdpdGggc29tZSBkZWxheSwgd2hpY2ggY2FuIGNhdXNlIGl0IHRvIGRyb3AgdGhlIGZyYWdtZW50CgkgIGJlZm9yZSBzZW5kaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzUxCgoyMDE2LTAyLTI0IDE1OjQ3OjA5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGV4cG9zZSBIVFRQIHN0YXR1cwoJICBUbyBhbGxvdyBhZGFwdGl2ZWRlbXV4IHRvIG1ha2UgcmV0cnkgZGVjaXNpb25zLCBpdCBuZWVkcyB0byBrbm93IHdoYXQKCSAgc29ydCBvZiBIVFRQIGVycm9yIGhhcyBvY2N1cnJlZC4gRm9yIGV4YW1wbGUsIHRoZSByZXRyeSBsb2dpYyBmb3IgYQoJICA0MTAgZXJyb3IgaXMgZGlmZmVyZW50IGZyb20gYSA1MDQgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTEKCjIwMTYtMDMtMDcgMTc6MDQ6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGxvdyBzZWVraW5nIGJlZm9yZSBzdGFydCBpbiBsaXZlIHN0cmVhbXMKCSAgU29tZSBkZXJpdmVkIGNsYXNzZXMgKGF0IGxlYXN0IGRhc2hkZW11eCkgZXhwb3NlIGEgc2Vla2luZyByYW5nZQoJICBiYXNlZCBvbiB3YWxsIGNsb2NrLiBUaGlzIG1lYW5zIHRoYXQgYSBzdWJzZXF1ZW50IHNlZWsgdG8gdGhlIHN0YXJ0CgkgIG9mIHRoaXMgcmFuZ2Ugd2lsbCBiZSBiZWZvcmUgdGhlIGFsbG93ZWQgcmFuZ2UuCgkgIFRvIHNvbHZlIHRoaXMsIHNlZWtzIHdpdGhvdXQgdGhlIEFDQ1VSQVRFIGZsYWcgYXJlIGFsbG93ZWQgdG8gc2VlawoJICBiZWZvcmUgdGhlIHN0YXJ0IGZvciBsaXZlIHN0cmVhbXMsIGluIHdoaWNoIGNhc2UgdGhlIHNlZ21lbnQgaXMKCSAgc2hpZnRlZCB0byBzdGFydCBhdCB0aGUgc3RhcnQgb2YgdGhlIG5ldyBzZWVrIHJhbmdlLiBJZiB0aGVyZSBpcwoJICBhbiBlbmQgcG9zaXRpb24sIGlzIGlzIHNoaWZ0ZWQgdG9vLCB0byBrZWVwIHRoZSBkdXJhdGlvbiBjb25zdGFudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1MQoKMjAxNi0wOC0wMSAxNDoxMjozNSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXggaG9yaXpvbnRhbC92ZXJ0aWNhbCBmbGlwIG1hdHJpemVzCgkgIFRoZXkgd2VyZSBzd2FwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzcxCgoyMDE2LTA3LTI5IDE2OjMyOjIyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGgyNjQ6IEFkZCBtb3JlIHNjYWxhYmxlIHByb2ZpbGVzIHRvIHRoZSBwcm9maWxlIGxpc3QKCSAgQWRkaW5nIFNjYWxhYmxlIENvbnN0cmFpbmVkIEhpZ2ggKEcuMTAuMS4yLjEpIGFuZAoJICBTY2FsYWJsZSBIaWdoIEludHJhKEcuMTAuMS4zKSBwcm9maWxlcyB0byB0aGUgcHJvZmlsZSBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzMDMKCjIwMTYtMDgtMDEgMTA6MzA6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLXNlbnNvci5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoc3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJ1biBnc3QtaW5kZW50IG92ZXIgZXZlcnl0aGluZyBvbmNlIGFnYWluCgoyMDE2LTA4LTAxIDEwOjI4OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBJZiB3ZSBmaW5kIG11bHRpcGxlIGNvZGVjcyB3aXRoIHRoZSBzYW1lIG5hbWUsIGp1c3QgbWVyZ2UgdGhlbQoJICBPbiB0aGUgT0Ryb2lkIEMxKyB0aGUgSDI2NSBhbmQgSDI2NCBoYXZlIHRoZSBzYW1lIG5hbWUgYnV0IGFyZSBsaXN0ZWQgYXMgdHdvCgkgIGRpZmZlcmVudCBjb2RlY3MuIFdlIGhhdmUgdG8gaGFuZGxlIHRoZW0gYXMgdGhlIHNhbWUgb25lIHRoYXQgc3VwcG9ydHMgYm90aCwKCSAgYXMgb3RoZXJ3aXNlIHdlIHdpbGwgcmVnaXN0ZXIgdGhlIHNhbWUgR1R5cGUgbmFtZSB0d2ljZSB3aGljaCBmYWlscyBhbmQgd2UKCSAgdGhlbiBvbmx5IGhhdmUgSDI2NSBzdXBwb3J0IGFuZCBub3QgSDI2NCBzdXBwb3J0LgoKMjAxNi0wOC0wMSAxMDoxNTowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogVXNlIGEgR1F1ZXVlIGZvciBPKDEpIGFwcGVuZCBpbnN0ZWFkIG9mIGEgR0xpc3QKCjIwMTYtMDctMjkgMTI6MzE6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFsc28gY2FsbCByZXNldCgpIGluIFJFQURZLT5QQVVTRUQKCSAgVGhpcyBhbGxvd3Mgc3ViY2xhc3NlcyB0byBoYXZlIGluaXRpYWxpemF0aW9uIGNvZGUgaW4gYSBzaW5nbGUgcGxhY2UuCgoyMDE2LTA3LTI5IDEwOjQ5OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2F1ZGlvcGFyc2UuYzoKCSAgcmF3YXVkaW9wYXJzZTogVXNlIEdfR0lOVDY0X01PRElGSUVSIGZvciBwb3J0YWJpbGl0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Mjk1CgoyMDE2LTA3LTI5IDEwOjA3OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHVuYWxpZ25lZGF1ZGlvcGFyc2UuYzoKCSAgdW5hbGlnbmVkYXVkaW9wYXJzZTogRml4IGVsZW1lbnQgZmFjdG9yeSBuYW1lIG9mIGlubmVyIHBhcnNlcgoKMjAxNi0wNy0yOSAwODo1NDowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogUHJpbnQgZ2VuZXJhdGVkIHJhdy9lbmNvZGVkIGNhcHMgaW4gZGVidWcgbG9ncwoKMjAxNi0wNy0yOCAxMToyNzoyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBTa2lwIGF1ZGlvIHN0cmVhbXMgaWYgVFJJQ0tNT0RFX05PX0FVRElPIGlzIGdpdmVuIGluIHRoZSBzZWVrIGV2ZW50CgkgIFdlIGp1c3QgZG9uJ3QgZXhwb3NlIHBhZHMgZm9yIGF1ZGlvIHN0cmVhbXMsIG9yIGV2ZW4gZG93bmxvYWQgdGhlbS4KCjIwMTYtMDctMjggMTE6MTY6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBSZXNldCBudW1iZXIgb2Ygc3VidGl0bGUgc3RyZWFtcyBjb3VudGVyIG9uIHJlc2V0KCkgdG9vCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNvbnRpbnVlIGluY3JlYXNpbmcgZm9yZXZlciB0aGUgbnVtYmVyIG9mIHN1YnRpdGxlIHN0cmVhbXMKCSAgd2hlbiByZXVzaW5nIHRoZSBlbGVtZW50IGZvciBhbm90aGVyIERBU0ggbWFuaWZlc3QuCgoyMDE2LTA3LTI2IDE3OjAxOjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIHRlc3RzOiBmaXggc2ltcGxlLWxhdW5jaC1saW5lcyB3aGVuIGpwZWcgbGliIGlzbid0IHByZXNlbnQKCSAgSlBFRyBkZXRlY3Rpb24gaW4gY29uZmlndXJlLmFjIGRlZmluZXMgSEFWRV9KUEVHIHRvIDAgaWYgdGhlCgkgIGpwZWcgbGliIGlzbid0IGZvdW5kLCByYXRoZXIgdGhlbiBub3QgZGVmaW5pbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkxOTcKCjIwMTYtMDctMjUgMTc6NTU6MjQgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgIGRvY3M6IFVwZGF0ZSByYXdwYXJzZXIgZG9jdW1lbnRhdGlvbgoJICBTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwMTEKCjIwMTYtMDctMjUgMTc6NTQ6MDkgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICByYXdwYXJzZTogUmVtb3ZlIG9sZCBwYXJzZXIgY29kZSBhbmQgd3JhcCBuZXcgcGFyc2VycyBpbiBvbGQgZWxlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzAxMQoKMjAxNi0wNy0yNSAxMzo0NTo0MCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdiYXNlcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHVuYWxpZ25lZGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHVuYWxpZ25lZHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHVuYWxpZ25lZHZpZGVvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcmF3cGFyc2UvdW5hbGlnbmVkdmlkZW8uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmF3dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogQWRkIG5ldyByYXcgYXVkaW8gYW5kIHZpZGVvIHBhcnNlciBlbGVtZW50cwoJICBUaGUgbmV3IHJhd2F1ZGlvcGFyc2UgYW5kIHJhd3ZpZGVvcGFyc2UgZWxlbWVudHMgYXJlIGJhc2VkIG9uIEdzdEJhc2VQYXJzZQoJICBhbmQgY29tcGxldGVseSByZXBsYWNlIGF1ZGlvcGFyc2UgYW5kIHZpZGVvcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzAxMQoKMjAxNi0wNy0yNiAxNjowMToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogcmVtb3ZlIHVudXNlZCB0b19xdWl0IHZhcmlhYmxlCgkgIEl0IHdhcyBhbHdheXMgMCBhbmQgbmV2ZXIgc2V0IHRvIGFueXRoaW5nIG1lYW5pbmdmdWwuCgoyMDE2LTA3LTI2IDE1OjU3OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBhZGQgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIGZvciBHTF9ERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQKCSAgR0xFUzIgZG9lc24ndCBoYXZlIGl0IGRlZmluZWQuLi4KCjIwMTYtMDctMTUgMTM6Mzk6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscGl4ZWxmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2xmaWx0ZXI6IHJld3JpdGUgc3ViY2xhc3NlcyBmb3IgZmlsdGVyX3RleHR1cmUoKSBvY2N1cmluZyBvbiBHTCB0aHJlYWQKCSAgVGhlcmUncyBubyBuZWVkIGZvciB0aGUganVtcCB0byBhbiBleHRyYSB0aHJlYWQgaW4gbW9zdCBjYXNlcywgZXNwZWNpYWxseQoJICB3aGVuIHJlbHlpbmcgc29sZWx5IG9uIGEgc2hhZGVyIHRvIHJlbmRlci4gIFdlIGNhbiB1c2UgdGhlIHByb3ZpZGVkCgkgIHJlbmRlcl90b190YXJnZXQoKSBmdW5jdGlvbnMgdG8gc2ltcGxpZnkgZmlsdGVyIHdyaXRpbmcuCgoyMDE2LTA3LTEyIDE1OjM0OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHV0aWxzOiByZW1vdmUgdW51c2VkIEdzdEdMRGlzcGxheVByb2plY3Rpb24KCjIwMTYtMDctMTIgMTU6Mjk6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbGNvbnRleHQ6IHJlbW92ZSBub3QgdGhyZWFkLXNhZmUgZ2V0L3NldF9lcnJvcigpCgkgIFVzZSBHRXJyb3IncyBpbnN0ZWFkIGlmIG5lY2Vzc2FyeS4KCjIwMTYtMDctMTIgMTI6NTk6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGZyYW1lYnVmZmVyOiByZXdyaXRlIGZvciBhIG1vcmUgY29uc2lzdGVudCBBUEkKCSAgRmFjaWxpdGllcyBhcmUgZ2l2ZW4gdG8gY3JlYXRlIGZibydzIGFuZCBhdHRhY2ggR0wgbWVtb3J5IChyZW5kZXJidWZmZXJzCgkgIG9yIHRleHR1cmVzKS4gIEl0IGFsc28ga2VlcHMgdHJhY2sgb2YgdGhlIHJlbmRlcmFibGUgc2l6ZSBmb3IgdXNlIHdpdGgKCSAgZWZmZWN0aXZlIHVzZSB3aXRoIGdsVmlld3BvcnQoKS4KCjIwMTYtMDctMTIgMDA6MzA6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IHVzZSBHTE1lbW9yeSBmb3IgYWNjZXNzaW5nIHRleHR1cmVzIGV2ZXJ5d2hlcmUKCSAgVGhpcyBzaW1wbGlmaWVzIGFuZCBjb25zb2xpZGF0ZXMgYSBsb3Qgb2YgZHVwbGljYXRlZCBjb2RlIGNyZWF0aW5nCgkgIGFuZCBtb2RpZnlpbmcgdGV4dHVyZXMuCgoyMDE2LTA3LTExIDIyOjQ0OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IHJlbmFtZSBkcmF3X3RleHR1cmUgdG8gZHJhd19mdWxsc2NyZWVuX3F1YWQKCSAgQW5kIHJlbW92ZSB1bnVzZWQgYXJndW1lbnRzLgoKMjAxNi0wNy0xMSAyMjozMTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuaDoKCSAgZ2w6IGFkZCBtZW1vcnkgdHlwZSBmb3IgcmVuZGVyYnVmZmVyJ3MKCSAgU29vbiB0byBiZSB1c2VkIGZvciBmcmFtZWJ1ZmZlcnMgZm9yIGUuZy4gZGVwdGggYnVmZmVycyBvciB0aHJvd2F3YXkgY29sb3IKCSAgYnVmZmVycy4KCjIwMTYtMDctMTEgMjI6Mjg6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuaDoKCSAgZ2xmb3JtYXQ6IGRlZmluZSBvdXIgb3duIHNldCBvZiBmb3JtYXRzIGZyb20gdGhlIEdMIGRlZmluZXMKCSAgYWxzbyBhZGQgc29tZSBkZXB0aC9zdGVuY2lsIGZvcm1hdHMKCjIwMTYtMDctMTEgMjI6MjQ6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBmaXggeHJheSB0byB1c2UgdGhlIGNvcnJlY3QgZnVuY3Rpb24KCSAgSW5zdGVhZCBvZiBkdXBsaWNhdGluZyB0aGUgc2luIGVmZmVjdAoKMjAxNi0wNy0xMSAyMToyOToxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsYmFzZW1lbW9yeTogYXNzZXJ0IGZvciBhIHZhbGlkIGFsbG9jYXRvciBpbnN0ZWFkIG9mIHNlZ2ZhdWx0aW5nCgoyMDE2LTA0LTI5IDE0OjQyOjM0ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgc3VwcG9ydCBmb3IgTFBDTSB3aXRoIHN0cmVhbV90eXBlID0gMHg4MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1ODA3CgoyMDE2LTA3LTI1IDEzOjA2OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSAgcGxheWVyOiBBZGQgc29tZSAnY29uc3QnIHRvIGNvbmZpZyBnZXR0ZXJzCgoyMDE2LTA3LTI1IDEzOjA2OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBHLUkgYW5ub3RhdGlvbiBmaXhlcwoKMjAxNi0wNy0yNSAxMDozMDoyNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBtb3ZlICdwb3NpdGlvbi11cGRhdGUtaW50ZXJ2YWwnIHNldHRpbmcgdG8gdGhlIGNvbmZpZyBzdHJ1Y3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTE0NAoKMjAxNi0wNy0xOSAxNDozNjoyNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3BsYXllci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBhZGQgQVBJIHRvIGNoYW5nZSBodHRwIHVzZXIgYWdlbnQKCSAgSW50cm9kdWNpbmcgYSBuZXcgJ2NvbmZpZycgQVBJIHNpbWlsYXIgdG8gR3N0QnVmZmVyUG9vbENvbmZpZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTMxNAoKMjAxNi0wNy0yNSAxMDo1NDozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzdWJtb2R1bGUKCSAgRm9yICdtYWtlIHVwZGF0ZS1leHBvcnRzJyBjaGFuZ2VzCgoyMDE2LTA3LTIyIDE3OjAwOjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4uY3BwOgoJICBxbWw6IERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgYWN0dWFsIHNpbmsgZWxlbWVudCBhZnRlciBzZXR0aW5nIGl0IG9uIGdsc2lua2JpbgoKMjAxNi0wNy0yMiAxNjo1Nzo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLmNwcDoKCSAgcW1sOiBVc2UgZ2xzaW5rYmluIGluc3RlYWQgb2YgZ2x1cGxvYWQgZGlyZWN0bHkKCjIwMTYtMDctMTggMTg6MzY6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuaDoKCSAgb3BlbmgyNjQ6IGZpeCB1cCBmb3IgQVBJIGNoYW5nZXMgaW4gdjEuNi4wCgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gdjEuNi4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzcxCgoyMDE2LTA3LTE4IDE3OjQzOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2w6IHdheWxhbmQ6IGltcHJvdmUgZGVidWcgbWVzc2FnZSB3aGVuIGNvbm5lY3RpbmcgdG8gZGlzcGxheQoJICBBbmQgYW5vdGhlciBjb3B5J24ncGFzdGUtby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODkyOQoKMjAxNi0wNy0xOSAwMjoxMTo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggY2xlYXJpbmcgb2YgZGVjcnlwdGlvbiBzdGF0ZQoJICBEb24ndCBjbGVhciBkZWNyeXB0aW9uIHN0YXRlIGltbWVkaWF0ZWx5IGFmdGVyCgkgIGluaXRpYWxpc2luZyBpdCBpbiB0aGUgc3RhcnRfZnJhZ21lbnQuIERvbid0IGNsZWFyCgkgIHRoZSBzdGF0ZSBvZiBhbGwgc3RyZWFtcyB3aGVuIHdlIHdhbnQgdG8gb25seSBjbGVhcgoJICB0aGUgY3VycmVudCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NzU3CgoyMDE2LTA3LTE1IDEwOjMxOjM1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogZml4IGJ1cyBsZWFrCgkgIGdzdF9idXNfcmVtb3ZlX3NpZ25hbF93YXRjaCgpIGhhcyB0byBiZSBjYWxsZWQgdG8gcmVsZWFzZSB0aGUgcmVmCgkgIHRha2VuIGJ5IGdzdF9idXNfYWRkX3NpZ25hbF93YXRjaCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4ODQzCgoyMDE2LTA3LTE1IDExOjQ4OjI1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmlucHJldmlldzogZml4IGJ1cyBsZWFrCgkgIFdlIHdlcmUgbmV2ZXIgcmVtb3ZpbmcgdGhlIHdhdGNoIGludHJvZHVjZWQgaW4KCSAgZ3N0X2NhbWVyYWJpbl9jcmVhdGVfcHJldmlld19waXBlbGluZSgpIHNvIGl0cyBleHRyYSByZWYgb24gdGhlIGJ1cyB3YXMKCSAgbmV2ZXIgcmVsZWFzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg4MzgKCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2UgZGVjcnlwdGlvbiBrZXkgaGFuZGxpbmcgcGVyLXN0cmVhbQoJICBBZGQgZGVtdXhlciBpbnN0YW5jZS13aWRlIGRlY3J5cHRpb24ga2V5IGNhY2hlLiBUaGUgY3VycmVudCBhbmQKCSAgbGFzdCBrZXkgdXJsIGFyZSBwZXItc3RyZWFtLCBzbyBtYWtlIGEgc2hhcmVkIGNhY2hlLiBNb3ZlIHRoZQoJICBkZWNyeXB0aW9uIGhhbmRsaW5nIGludG8gdGhlIHN0cmVhbSBvYmplY3QsIGFuZCB1c2UgdGhlIHNoYXJlZAoJICBjYWNoZSBmb3IgdGhlIGtleXMuCgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogYWRkIGhsc2RlbXV4LXNwZWNpZmljIEFkYXB0aXZlRGVtdXhTdHJlYW0gc3ViY2xhc3MKCSAgUHJlcGFyZSBobHNkZW11eCBmb3IgbW9yZSB0aGFuIG9uZSBzaW5nbGUgc3RyZWFtLiBDdXJyZW50bHkgaGxzZGVtdXgKCSAgYXNzdW1lcyB0aGVyZSdsbCBvbmx5IGV2ZXIgYmUgb25lIHN0cmVhbSBhbmQgbW9zdCBvZiB0aGUgc3RyZWFtLXNwZWNpZmljCgkgIHN0YXRlIGlzIGFjdHVhbGx5IGluIHRoZSBobHNkZW11eCBzdHJ1Y3R1cmUuIEFkZCBhIHN0cmVhbSBzdWJjbGFzcwoJICBpbnN0ZWFkIGFuZCBtb3ZlIHNvbWUgc3RyZWFtLXNwZWNpZmljIG1lbWJlcnMgdGhlcmUgaW5zdGVhZC4KCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEFkZCBtb3JlIHNhZmVndWFyZHMgYXJvdW5kIHN0YXRlIGNoYW5nZXMuCgkgIE1ha2Ugc3RhdGUgY2hhbmdlcyBvZiBpbnRlcm5hbCBlbGVtZW50cyBtb3JlIHJlbGlhYmxlIGJ5IGxvY2tpbmcKCSAgdGhlaXIgc3RhdGUsIGFuZCBlbnN1cmluZyB0aGF0IHRoZXkgYXJlbid0IGJsb2NrZWQgcHVzaGluZyBkYXRhCgkgIGRvd25zdHJlYW0gYmVmb3JlIHRyeWluZyB0byBzZXQgdGhlaXIgc3RhdGUuCgkgIEFkZCBhIGJvb2xlYW4gdG8gYXZvaWQgc3RhcnRpbmcgdGFza3Mgd2hlbiB0aGUgbWFpbgoJICB0aHJlYWQgaXMgYnVzeSB0cnlpbmcgdG8gc2h1dCB0aGUgZWxlbWVudCBkb3duLgoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFkZCBkZWJ1ZyBjb2RlIHRvIGNoYW5nZSBiaXRyYXRlLgoJICBBZGQgc29tZSBkaXNhYmxlZC1ieS1kZWZhdWx0IGRlYnVnZ2luZyBjb2RlIHRoYXQgZm9yY2VzCgkgIGJpdHJhdGUgY2hhbmdlcyBieSBtb2R1bGF0aW5nIHRoZSBtZWFzdXJlZCBiaXRyYXRlIGV2ZXJ5CgkgIGZldyBmcmFnbWVudHMKCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBNb3JlIGxvY2tpbmcvc3dpdGNoaW5nIGZpeGVzCgkgIFRyeSBoYXJkZXIgdG8gbWFrZSBzd2l0Y2hpbmcgcGFkcyB3b3JrIGJldHRlciBieQoJICBtYWtpbmcgc3VyZSBjb25jdXJyZW50IGRvd25sb2FkcyBhcmUgZmluaXNoZWQgYmVmb3JlIGV4cG9zaW5nCgkgIGEgbmV3IHNldCBvZiBwYWRzLgoJICBSZWxlYXNlIHRoZSBtYW5pZmVzdCBsb2NrIHdoZW4gc2lnbmFsbGluZyBuby1tb3JlLXBhZHMsIGFzCgkgIHRoYXQgY2FuIGNhbGwgYmFjayBpbnRvIGFkYXB0aXZlZGVtdXggYWdhaW4KCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBzd2l0Y2ggc3RyZWFtcyBhbmQgZXhwb3NlIHBhZHMgd2hpbGUgZG93bmxvYWRpbmcuCgkgIElmIG90aGVyIHN0cmVhbSBmcmFnbWVudHMgYXJlIHN0aWxsIGRvd25sb2FkaW5nIGJ1dCBuZXcgc3RyZWFtcwoJICBoYXZlIGJlZW4gc2NoZWR1bGVkLCBkb24ndCBleHBvc2UgdGhlbSB5ZXQgLSB3YWl0IHVudGlsIHRoZSBsYXN0CgkgIG9uZSBmaW5pc2hlcy4gT3RoZXJ3aXNlLCB3ZSBjYW4gY2FuY2VsIGEgcGFydGlhbGx5IGRvd25sb2FkZWQKCSAgYXV4aWxsaWFyeSBzdHJlYW0gYW5kIGNhdXNlIGEgZ2FwLgoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERyb3AgdGhlIG1hbmlmZXN0IGxvY2sgZHVyaW5nIG91dGJvdW5kIGFjdGlvbnMKCSAgRHJvcCB0aGUgbWFuaWZlc3QgbG9jayB3aGVuIHBlcmZvcm1pbmcgYWN0aW9ucyB0aGF0IG1pZ2h0CgkgIGNhbGwgYmFjayBpbnRvIGFkYXB0aXZlZGVtdXggYW5kIHRyaWdnZXIgZGVhZGxvY2tzLCBzdWNoCgkgIGFzIGFkZGluZy9yZW1vdmluZyBwYWRzIG9yIHNlbmRpbmcgaW4tYmFuZCBldmVudHMgKEVPUykuCgkgIFVubG9jayB0aGUgbWFuaWZlc3QgbG9jayB3aGVuIGNoYW5naW5nIHRoZSBjaGlsZCBiaW4gc3RhdGUgdG8KCSAgTlVMTCwgYXMgaXQgbWlnaHQgY2FsbCBiYWNrIHRvIGFjcXVpcmUgdGhlIG1hbmlmZXN0IGxvY2sgd2hlbgoJICBzaHV0dGluZyBkb3duIHBhZHMuCgkgIERyb3AgdGhlIG1hbmlmZXN0IGxvY2sgd2hpbGUgcHVzaGluZyBldmVudHMuCgoyMDE2LTA3LTEyIDE0OjUxOjQ3IC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtc2Vuc29yLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtc2Vuc29yLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhzc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhzc3JjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0c2Vuc29ycy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFoc0NhbGxiYWNrLmphdmE6CgkgIG5ldyBwbHVnaW46IEFuZHJvaWQgaGFyZHdhcmUgc2Vuc29yIHNvdXJjZQoJICBhaHNzcmMgaXMgYSBuZXcgcGx1Z2luIHRoYXQgZW5hYmxlcyBHc3RyZWFtZXIgdG8gcmVhZCBmcm9tIHRoZQoJICBhbmRyb2lkLmhhcmR3YXJlLlNlbnNvciBBbmRyb2lkIHNlbnNvcnMuIFRoZXNlIHNlbnNvcnMgYXJlIHRyZWF0ZWQgYXMKCSAgYnVmZmVycyBhbmQgY2FuIGJlIHBhc3NlZCB0aHJvdWdoIGFuZCBtYW5pcHVsYXRlZCBieSB0aGUgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxMTAKCjIwMTYtMDctMTQgMTk6Mzg6MjYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogbWFrZSBpdCBidWlsZCB3aXRoIG9sZGVyIGxpbHYKCSAgSW1wbGVtZW50aW5nIHRoZSByZW1vdmFsIG9mIHByZXNldHMgaXMgdW5mb3J0dW5hdGVseSBub3QgZmVhc2libGEgd2l0aAoJICB2ZXJzaW9ucyA8IDAuMjIuCgkgIEZpeGVzICM3Njg1OTUKCjIwMTYtMDctMTMgMjM6MDA6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNlY2hvcHJvYmUuY3BwOgoJICB3ZWJydGNkc3A6IEFkZCBkZWxheS1hZ25vc3RpYyBwcm9wZXJ0eQoJICBJbiB0aGlzIG1vZGUsIHdlIGxldCBXZWJSVEMgQXVkaW8gUHJvY2Vzc2luZyBmaWd1cmUtb3V0IHRoZSBkZWxheS4gVGhpcwoJICBpcyB1c2VmdWwgd2hlbiB0aGUgbGF0ZW5jeSByZXBvcnRlZCBieSB0aGUgc3RhY2sgY2Fubm90IGJlIHRydXN0ZWQuIE5vdGUKCSAgdGhhdCBpbiB0aGlzIG1vZGUsIHRoZSBsZWFraW5nIG9mIGVjaG8gZHVyaW5nIHBhY2tldCBsb3N0IGlzIG11Y2ggd29yc3QuCgkgIEl0IGlzIHJlY29tbWFuZGVkIHRvIHVzZSBQTEMgKGUuZy4gc3BhbnBsYywgb3Igb3B1cyBidWlsdC1pbiBwbGMpLgoJICBJbiB0aGlzIG1vZGUsIHdlIGRvbid0IGRvIGFueSBzeW5jaHJvbml6YXRpb24uIEluc3RlYWQsIHdlIHNpbXBseSBwcm9jZXNzIGFsbAoJICB0aGUgYXZhaWxhYmxlIHJldmVyc2Ugc3RyZWFtIGRhdGEgYXMgaXQgY29tZXMuCgoyMDE2LTA3LTEyIDAwOjAyOjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkgIGpwZWcyMDAwcGFyc2U6IFVzZSBjb3JyZWN0IGVudW0gdHlwZQoJICBHU1RfSlBFRzIwMDBfU0FNUExJTkdfUkdCIGluc3RlYWQgb2YgR1NUX0pQRUcyMDAwX0NPTE9SU1BBQ0VfUkdCCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg2OTYKCjIwMTYtMDctMTEgMjE6MTM6NTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzNjNiMzIgdG8gZjQ5YzU1ZQoKMjAxNi0wNy0xMSAxMTo1ODoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuaDoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IEZpeCBvZmZzZXRzIGhhbmRsaW5nCgkgIFRoZSBjYWxjdWxhdGlvbiBvZiB0aGUgb2Zmc2V0IHRhYmxlIHdhcyBkb25lIGJhc2Ugb24gYSBwbGFuZSBzaXplCgkgIGVzdGltYXRpb24uIFRoaXMgZG9lcyBub3QgYWx3YXlzIHdvcmsuIEluc3RlYWQsIHVzZSBtZW1vcnkgb2Zmc2V0IHRoZQoJICBzYW1lIHdlIGFzIGl0J3MgaW1wbGVtZW50IGluIEdzdFZpZGVvTWV0YSBtYXAgZnVuY3Rpb25zLgoKMjAxNi0wNy0xMSAxOToyMToxMSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgRml4IHZhcmlvdXMgZ2Jvb2xlYW4gdnMgR3N0Rmxvd1JldHVybiBwcm9ibGVtcwoJICBDYXVnaHQgYnkgYnVpbGRpbmcgd2l0aCBNU1ZDIHdoaWNoIGdhdmUgd2FybmluZ3MgZm9yIHRoZXNlCgoyMDE2LTA3LTA4IDE5OjAzOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL2J1aWxkOiBmaXggY29uZmlndXJlIHdoZW4gLS1lbmFibGUtY29jb2EgaXMgcGFzc2VkIG9uIE9TIFgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODU1MwoKMjAxNi0wNy0xMCAyMDo0MzoxNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJICBsdjI6IHBsYW5uaW5nIHVwZGF0ZQoKMjAxNi0wNy0xMCAyMDo0Mjo0MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IGtlZXAgd29ya2luZyB3aXRoIG9sZGVyIHZlcnNpb25zCgkgIFByb3ZpZGUgYSBmYWxsYmFjayBpbXBsLiBmb3IgdGhlIG9ubHkgbmV3IGZ1bmN0aW9uIHdlIHdlcmUgdXNpbmcgZnJvbSAwLjIyLgoJICBGaXhlcyAjNzY4NTk1CgoyMDE2LTA3LTA4IDE0OjQyOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBkb2NzIHNlY3Rpb24KCjIwMTYtMDctMDcgMTM6MjI6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBDbGVhbnVwIHVudXNlZCB2YXJpYWJsZQoJICBXZSBvbmx5IGNoZWNrIGZvciBhIGhlYWRlciwgbm8gbmVlZCBmb3Igb3ZlcnJpZGluZyBMREZMQUdTLgoKMjAxNi0wNy0wNyAxNzoyNDozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpOiBmaXggZG9jdW1lbnRhdGlvbiB3YXJuaW5nIGluIEdzdEdhdXNzaWFuQmx1cgoJICBGaXhpbmcgdGhlIGZvbGxvd2luZyB3YXJuaW5nIHdoZW4gZ2VuZXJhdGluZyBkb2N1bWVudGF0aW9uOgoJICB4bWwvZWxlbWVudC1nYXVzc2lhbmJsdXIueG1sOjcyOiBlbGVtZW50IHJlZnNlY3QyOiB2YWxpZGl0eSBlcnJvciA6CgkgIElEIEdzdEdhdXNzaWFuQmx1ciBhbHJlYWR5IGRlZmluZWQKCSAgPHJlZnNlY3QyIGlkPSJHc3RHYXVzc2lhbkJsdXIiIHJvbGU9InR5cGVkZWYiPgoJICBeCgkgIFdhcm5pbmc6IG11bHRpcGxlICJJRHMiIGZvciBjb25zdHJhaW50IGxpbmtlbmQ6IEdzdEdhdXNzaWFuQmx1ci4KCSAgRE9DICAgRml4aW5nIGNyb3NzLXJlZmVyZW5jZXMKCjIwMTYtMDctMDcgMTc6MTY6NDcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpOiBmaXggZG9jdW1lbnRhdGlvbiB3YXJuaW5nIGluIEdzdENocm9taXVtCgkgIEZpeGluZyB0aGUgZm9sbG93aW5nIHdhcm5pbmcgd2hlbiBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb246CgkgIHhtbC9lbGVtZW50LWNocm9taXVtLnhtbDo3NDogZWxlbWVudCByZWZzZWN0MjogdmFsaWRpdHkgZXJyb3IgOgoJICBJRCBHc3RDaHJvbWl1bSBhbHJlYWR5IGRlZmluZWQKCSAgPHJlZnNlY3QyIGlkPSJHc3RDaHJvbWl1bSIgcm9sZT0idHlwZWRlZiI+CgkgIF4KCSAgV2FybmluZzogbXVsdGlwbGUgIklEcyIgZm9yIGNvbnN0cmFpbnQgbGlua2VuZDogR3N0Q2hyb21pdW0uCgkgIERPQyAgIEZpeGluZyBjcm9zcy1yZWZlcmVuY2VzCgoyMDE2LTA3LTA3IDEyOjMxOjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdlYnJ0Y2RzcDogUmVsYXggQysrMTEgY2hlY2sKCSAgVGhlIGxpYnJhcnkgZG9lcyBub3QgcmVxdWlyZSBhbnkgU1RMIEMrKzExIHNwZWNpZmljIGhlYWRlcnMuCgkgIFRoaXMgZml4ZXMgb3VyIE9TWCBidWlsZCBhcyB3ZSB0YXJnZXQgYSBTREsgdmVyc2lvbiB0aGF0IGRvZXMgbm90CgkgIHN1cHBvcnQgQysrMTEgU1RMLgoKMjAxNi0wNy0wNyAxMjozMTowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB3ZWJydGNkc3A6IEFkZCBBbmRyb2lkIEdOVVNUTCBzdXBwb3J0CgoyMDE2LTA3LTA3IDEyOjIwOjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdlYnJ0Y2RzcDogU2V0IFVTRV9XRUJSVENEU1Agd2hlbiBkaXNhYmxlZAoKMjAxNi0wNy0wNyAxNzoyMDo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxzbyBjb25zaWRlciBtb3JlIHNlZWsgZmxhZ3MgYXMgInNuYXAiIHNlZWtzCgkgIEluIHRoZSBjYXNlIG9mIEtFWV9VTklUIGFuZCBUUklDS01PREVfS0VZX1VOSVRTIHNlZWtzLCB3ZSB3YW50IHRvCgkgICJzbmFwIiB0byB0aGUgY2xvc2VzdCBmcmFnbWVudC4KCSAgV2l0aG91dCB0aGlzLCB3ZSBlbmQgdXAgcHVzaGluZyBvdXQgYSBzZWdtZW50IHdoaWNoIGRvZXMgbm90IG1hdGNoCgkgIHRoZSBmaXJzdCBmcmFnbWVudCB0aW1lc3RhbXAgYmVpbmcgcHVzaGVkIG91dCwgcmVzdWx0aW5nIGluIG9uZSBvcgoJICBtb3JlIGJ1ZmZlcnMgYmVpbmcgZXZlbnR1YWxseSBkcm9wcGVkIGJlY2F1c2UgdGhleSBhcmUgb3V0IG9mIHNlZ21lbnQuCgoyMDE2LTA3LTA2IDE0OjI5OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB3ZWJydGNkc3A6IEFsc28gYWxsb3cgd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcgMC4zCgkgIEl0IHNlZW1zIHRvIHdvcmsgYW5kIGlzIHRoZSB2ZXJzaW9uIGF2YWlsYWJsZSBpbiBEZWJpYW4uCgoyMDE2LTA3LTA2IDEyOjEyOjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkgIG11c2VwYWNrZGVjazogdW5zaWduZWQgY2FuJ3QgYmUgbGVzcyB0aGFuIHplcm8KCSAgTGVzcy10aGFuLXplcm8gY29tcGFyaXNvbiBvZiBhbiB1bnNpZ25lZCB2YWx1ZSwgZ3VpbnQ2NCwgaXMgbmV2ZXIgdHJ1ZQoJICBDSUQgMTM2MzMzNAoKMjAxNi0wNy0wNiAxMzo1MTowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS45LjEgPT09CgoyMDE2LTA3LTA2IDEzOjA3OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjkuMQoKMjAxNi0wNy0wNiAxMTo1MjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTA3LTA2IDEwOjE5OjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA3LTA1IDA5OjIxOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0Y2RzcDogV29ya2Fyb3VuZCBHQ0MvTWluZ1cgNC43IGxpbWl0YXRpb25zCgkgIEl0IHJlZnVzZXMgdG8gaW5pdGlhbGl6ZSBhIGNsYXNzZXMgdXNpbmcgYnJhY2tldHMgbm90YXRpb24uIFRoaXMgaXMKCSAgdG8gYWxsb3cgYnVpbGRpbmcgdXNpbmcgb3VyIG1pbmd3IHZlcnNpb24uCgoyMDE2LTA3LTA0IDE0OjU3OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG1pc3NpbmcgZG91YmxlIHF1b3RlcwoJICBUaGF0IGFmZmVjdGF0aW9uIHdhcyBpZ25vcmVkLiBUaGlzIHdvcmtlZCBvbiByZWNlbnQgR0NDIGFzIEMrKzExIGlzCgkgIGVuYWJsZWQgYnkgZGVmYXVsdCBub3cuCgoyMDE2LTA3LTAyIDEwOjI0OjUxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmg6CgkgIGx2MjogYWRkIHN1cHBvcnQgZm9yIHNhdmluZyBwcmVzZXRzCgkgIFBsdWducyBzdXBwb3J0aW5nIHRoZSBzdGF0ZSBpbnRlcmZhY2UgY2FuIG5vdyBzYXZlIHRoZWlyIHByZXNldHMgdW5kZXIgJy5sdjInLgoKMjAxNi0wNi0xNSAyMjoyMjo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuaDoKCSAgbHYyOiBzdXBwb3J0IGZvciBsb2FkaW5nIHByZXNldHMKCSAgRGV0ZWN0IGlmIHBsdWdpbnMgY2FuIGRvIHByZXNldHMuIExhemlseSByZWFkIGEgbGlzdCBvZiBwcmVzZXRzIGFuZCBhZGQgc3VwcG9ydAoJICBmb3IgbG9hZGluZy4KCjIwMTYtMDctMDQgMTY6NTQ6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkgIG11c2VwYWNrZGVjOiBwb3J0IHRvIDEuMAoKMjAxNi0wNy0wNCAxMjoxOTozNiArMDIwMCAgTWFyY2luIExld2FuZG93c2tpIDxtYXJjaW5AcmFkaW9raXQub3JnPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBEbyBub3QgY2FsbCBnc3RfcG9sbF9yZW1vdmVfZmQgdXBvbiBzdG9wIGlmIHJlYWRpbmcgd2FzIG5ldmVyIHN0YXJ0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODM2NQoKMjAxNi0wNy0wMSAxNDo1MDoyNyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBpbXByb3ZlIHBhcnNpbmctc3VjY2VzcyBtZXNzYWdlCgkgICogRml4IHR5cG8KCSAgKiBHaXZlIGluZm9ybWF0aW9uIG9uIHdoYXQgd2FzIGFjdHVhbGx5IHBhcnNlZAoKMjAxNi0wNy0wMSAxNDozNzozNyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBkb24ndCB1c2UgZGVmYXVsdCBjb25mIGZpbGVuYW1lIGZvciBtZXNzYWdlcwoJICBUaGUgZmlsZSBuYW1lIGNhbiBiZSB1c2VyLWRlZmluZWQuCgoyMDE2LTA3LTAxIDE5OjIyOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBmaXggYnVpbGQgc29tZSBtb3JlIHdoZW4gUVBBIGlzIG5vdCBhdmFpbGFibGUKCSAgQ29tcGlsZXIgd291bGQgY29tcGxhaW4gYWJvdXQgaW5jbHVkZSBkaXJlY3RvcnkgdGhhdCBkaWRuJ3QKCSAgZXhpc3QgYmVjYXVzZSBRUEFfSU5DTFVERV9QQVRIIGdldHMgc3Vic3QtZWQgcmVnYXJkbGVzcwoJICAoYW5kIGlmIGl0IGRpZG4ndCB3ZSdkIGhhdmUganVzdCBhbiBlbXB0eSAtSSBhcmd1bWVudCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1NTMKCjIwMTYtMDctMDEgMTQ6MDU6NDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAgZ3N0anBlZzIwMDBwYXJzZTogbm8gbmVlZCBmb3IgZWxzZSBhZnRlciBhIGdvdG8KCSAgZWxzZSBjbGF1c2UgaXMgcmVkdW5kYW50IHdoZW4gdGhlIGVuZCBvZiB0aGUgaWYgc3RhdGVtZW50IGlzIGEganVtcC4KCSAgSWYgd2UgaGF2ZW4ndCBnb25lIHRvIHRoZSBiZWFjaCwgd2UgYXJlIGluIHRoZSBmYWxzZSBicmFuY2guCgoyMDE2LTA2LTMwIDA3OjQ3OjUwIC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAgZ3N0anBlZzIwMDBwYXJzZTogaW1wcm92ZWQgcGFyc2luZyBvZiBqcGMgbWFnaWMgYW5kIGoyYyBib3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzUxMgoKMjAxNi0wNS0yNSAxNjowMToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBBZGQgY3VzdG9tIGZsb3cgcmV0dXJuIGZvciBhbGxvd2luZyBzdWJjbGFzc2VzIHRvIHNwZWNpZnkgd2hlbiBhIGZyYWdtZW50IGlzIGZpbmlzaGVkCgkgIElmIGl0IGlzIGZpbmlzaGVkIGJlZm9yZSB1cHN0cmVhbSBnb2luZyBFT1MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjczNjUKCjIwMTYtMDUtMjcgMTY6MDg6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IFNJRFggdHJhY2tpbmcgYmFzZWQgb24gYnVmZmVyIG9mZnNldAoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYnV0IGFsc28gcmVtb3ZlcyBhIGJ1ZyB3aXRoIHRyYWNraW5nIG9mIHRoZSByZW1haW5pbmcKCSAgc2l6ZSBmb3IgdGhlIGluaXRpYWwgc3ViZnJhZ21lbnQ6IHdlIHdlcmUgbm90IGNvbnNpZGVyaW5nIHRoZSBzaXplIGJldHdlZW4gdGhlCgkgIGluZGV4IGFuZCB0aGUgc3RhcnQgb2YgdGhlIGZpcnN0IG1vb2YgaGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDY4NAoKMjAxNi0wMy0zMSAxMzozOTo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgb2Zmc2V0CgkgIEdzdEFkYXB0ZXIgZG9lcyBub3QgZ3VhcmFudGVlIHRvIHBhc3MgdGhyb3VnaCBhbGwgdGhlIG9mZnNldHMsIHdlIGhhdmUgdG8ga2VlcAoJICB0cmFjayBvZiBpdCBvdXJzZWx2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2ODQKCjIwMTYtMDMtMzEgMTM6Mzk6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IGtlZXAgdHJhY2sgb2YgY3VycmVudCBvZmZzZXQKCSAgR3N0QWRhcHRlciBkb2VzIG5vdCBndWFyYW50ZWUgdG8gcGFzcyB0aHJvdWdoIGFsbCB0aGUgb2Zmc2V0cywgd2UgaGF2ZSB0byBrZWVwCgkgIHRyYWNrIG9mIGl0IG91cnNlbHZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDY4NAoKMjAxNi0wMy0zMSAxMzowMTowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IENsZWFyIHBlbmRpbmcgZGF0YSB3aGVuIG5lZWRlZAoJICBXaGVuIHN3aXRjaGluZyBmcmFnbWVudHMgd2UgZG9uJ3Qgd2FudCB0byBrZWVwIGFueSBkYXRhIGFyb3VuZCBmcm9tIHRoZSBsYXN0CgkgIG9uZSwgYW5kIGFsc28gZm9yZ2V0IGFib3V0IGFsbCBkYXRhIHdoZW4gZG9pbmcgZmx1c2hpbmcgc2Vla3Mgb3Igc2VsZWN0aW5nIG5ldwoJICBiaXRyYXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDY4NAoKMjAxNi0wMy0yOCAxMzo0NTozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBHZXQgcmlkIG9mIGludGVybmFsIHN0cmVhbSBhZGFwdGVyIGFuZCBsZXQgc3ViY2xhc3NlcyBoYW5kbGUgdGhpcyBkaXJlY3RseQoJICBUaGlzIGFsbG93cyBzdWJjbGFzc2VzIHRvIGhhdmUgbW9yZSBjb250cm9sIGFuZCBlc3BlY2lhbGx5IGVuc3VyZSB0aGF0IHRoZXkKCSAgcHVzaCBkYXRhIGRvd25zdHJlYW0gd2l0aCB0aGUgY29ycmVjdCBvZmZzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njg0CgoyMDE2LTA3LTAxIDEyOjIwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzIwMDA6IGRvbid0IGFsbG93IDAgdmFsdWUgZm9yIGFycmF5IGFjY2VzcyB3aXRoIGktMQoKMjAxNi0wNy0wMSAxMjoxNToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWcyMDAwOiBmaXggcG9zc2libGUgb3V0LW9mLWJvdW5kcyBhcnJheSBhY2Nlc3MKCSAgc2l6ZW9mKGFycmF5KSAhPSBHX05fRUxFTUVOVFMoYXJyYXkpLgoJICBDSUQgMTM2MjkwMAoKMjAxNi0wNi0zMCAyMzozODoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBTZXQgZnJhbWUgdGltZXN0YW1wcyBiZWZvcmUgc2VuZGluZyB0byB0aGUgZW5jb2RlcgoKMjAxNi0wNi0zMCAyMzozNTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBGaXggaW5pdGlhbCB0aW1lLXBlci1mcmFtZSBjYWxjdWxhdGlvbgoKMjAxNi0wNi0zMCAyMzozMzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJICBvcGVuaDI2NGVuYzogUmVtb3ZlIG1lYW5pbmdsZXNzIGRyb3AgYml0cmF0ZSBoYW5kbGluZwoJICBUaGlzIGRvZXNuJ3QgZXZlbiBoYXZlIGEgcHJvcGVydHkuCgoyMDE2LTA2LTMwIDIzOjI5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkgIG9wZW5oMjY0ZW5jOiBFeHBvc2UgbWF4aW11bSBiaXRyYXRlIHNldHRpbmcKCjIwMTYtMDYtMzAgMjM6MTk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWN0dWFsbHkgaG9vayB1cCB0aGUgcmF0ZS1jb250cm9sIHByb3BlcnR5CgoyMDE2LTA2LTMwIDIzOjA2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFVzZSBhIGNvbnN0YW50IFNQUy9QUFMgSUQgbm8gbWF0dGVyIGlmIG9wZW5oMjY0IG9sZGVyIG9yIG5ld2VyIHRoYW4gMS40IGlzIHVzZWQKCjIwMTYtMDYtMzAgMjM6MDI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogTWFrZSBzbGljZSBzZXR0aW5ncyBtb3JlIGV4cGxpY2l0IGFuZCBkb24ndCBzZXQgYW55IG51bWJlciBpZiBub3QgYSBmaXhlZCBudW1iZXIgb2Ygc2xpY2VzIGlzIHNlbGVjdGVkCgoyMDE2LTA2LTI5IDE1OjU2OjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZWNob3Byb2JlLmNwcDoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNlY2hvcHJvYmUuaDoKCSAgd2VicnRjZHNwOiBSZXdyaXRlIGVjaG8gZGF0YSBzeW5jaHJvbml6YXRpb24KCSAgVGhlIHByZXZpb3VzIGNvZGUgd291bGQgcnVuIG91dCBvZiBzeW5jIGlmIHRoZXJlIHdhcyBwYWNrZXQgbG9zdAoJICBvciBjbG9jayBza2V3cy4gV2hlbiB0aGF0IGhhcHBlbmVkLCB0aGUgZWNobyBjYW5jZWxsYXRpb24gZmVhdHVyZSB3b3VsZAoJICBjb21wbGV0ZWx5IHN0b3Agd29ya2luZy4gQXMgdGhpcyBpcyBjcnVjaWFsIGZvciBhdWRpbyBjYWxscywgdGhpcyBwYXRjaAoJICByZS1pbXBsZW1lbnQgc3luY2hyb25pemF0aW9uIGNvbXBsZXRlbHkuCgkgIEluc3RlYWQgb2YgbGV0dGluZyBpdCBkcmlmdCB1bnRpbCBuZXh0IGRpc2NvbnQsIHdlIG5vdyBzeW5jaHJvbml6ZQoJICBhZ2FpbnN0IHRoZSByZWNvcmQgZGF0YSBhdCBldmVyeSBpdGVyYXRpb24uIFRoaXMgd2F5IHdlIHNpbXBseSBuZXZlcgoJICBsZXQgdGhlIHN0cmVhbSBkcmlmdCBmb3IgbG9uZ2VyIHRoZW4gMTBtcyBwZXJpb2QuIFdlIGFsc28gc2hvcnRlciB0aGUKCSAgZGVsYXkgYnkgdXNpbmcgdGhlIGxhdGVuY3kgdXAgdGhlIHByb2JlIChiYXNpY2FsbHkgZXhjbHVkaW5nIHRoZSBzaW5rCgkgIGxhdGVuY3kuIFRoaXMgaXMgYSBkZWNlbnQgZGVsYXkgdG8gYXZvaWQgc3RhcnZpbmcgaW4gdGhlIHByb2JlIHF1ZXVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MDA5CgoyMDE2LTA2LTI5IDE1OjU1OjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0Y2RzcDogV2Ugbm93IGZhaWwgaWYgdGhlcmUgaXMgbm8gZWNobyBwcm9iZQoJICBXaGVuIGVjaG8gY2FuY2VsIGlzIGVuYWJsZWQsIHdlIG5vdyBmYWlsIHRoZSBwaXBlbGluZSBpZiB0aGVyZSBpcwoJICBub3QgZWNobyBwcm9iZS4gRm9yIHRoaXMgcmVhc29uIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgaWYgcHJvYmUKCSAgcG9pbnRlciBpcyBzZXQgYW55bW9yZS4KCjIwMTYtMDYtMzAgMjE6NTA6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IGZpeCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggdXNhZ2UKCSAgQ2FsbGluZyBnbFVuaWZvcm1NYXRyaXggYmVmb3JlIHRoZSBzaGFkZXIgaXMgYm91bmQgaXMgaW52YWxpZCBhbmQKCSAgd291bGQgcmVzdWx0IGluIGVycm9ycyBsaWtlOgoJICBHTF9JTlZBTElEX09QRVJBVElPTiBpbiBnbFVuaWZvcm1NYXRyaXgocHJvZ3JhbSBub3QgbGlua2VkKQoJICBNb3ZlIGdsVW5pZm9ybU1hdHJpeCgpIHRvIGFmdGVyIHRoZSBnc3RfZ2xfc2hhZGVyX3VzZSgpIGNhbGwuCgoyMDE2LTA2LTI4IDE2OjA3OjQzIC0wNDAwICBKYXZpZXIgTWFydGluZXogQ2FuaWxsYXMgPGphdmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogZmFsbGJhY2sgdG8gdW5pdmVyc2FsIHBsYW5lcyBpZiBubyBvdmVybGF5IHBsYW5lIGlzIGZvdW5kCgkgIFdpdGhvdXQgc2V0dGluZyB0aGUgRFJNX0NMSUVOVF9DQVBfVU5JVkVSU0FMX1BMQU5FUyBjYXBhYmlsaXR5IGJpdCwgb25seQoJICBvdmVybGF5IHBsYW5lcyBhcmUgbWFkZSBhdmFpbGFibGUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBsZWdhY3kgY2xpZW50cy4KCSAgQnV0IGlmIGEgQ1JUQyBkb2Vzbid0IGhhdmUgYW4gb3ZlcmxheSBwbGFuZSBhc3NvY2lhdGVkLCB0aGVuIGttc3NpbmsgaXMKCSAgbm90IGFibGUgdG8gZmluZCBhIHBsYW5lIGZvciB0aGUgQ1JUQyBhbmQgdGhlIHBpcGVsaW5lIHdpbGwgZmFpbCwgaS5lOgoJICBFUlJPUiAgICAgICAgICAgICAgICBrbXNzaW5rIGdzdGttc3NpbmsuYzo0ODI6Z3N0X2ttc19zaW5rX3N0YXJ0OjxrbXNzaW5rMD4gQ291bGQgbm90IGZpbmQgYSBwbGFuZSBmb3IgY3J0YwoJICBJZiBubyBvdmVybGF5IHBsYW5lcyB3ZXJlIGZvdW5kIGZvciBhIGdpdmVuIENSVEMsIGZhbGxiYWNrIHRvIHVuaXZlcnNhbAoJICBwbGFuZXMgc28gRFJNIHdpbGwgYWxzbyByZXR1cm4gcHJpbWFyeSBwbGFuZXMgdGhhdCBjYW4gYmUgdXNlZCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTgzCgkgIFNpZ25lZC1vZmYtYnk6IEphdmllciBNYXJ0aW5leiBDYW5pbGxhcyA8amF2aWVyQG9zZy5zYW1zdW5nLmNvbT4KCjIwMTYtMDYtMjggMjA6NTE6NTYgLTA0MDAgIEphdmllciBNYXJ0aW5leiBDYW5pbGxhcyA8amF2aWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogYWRkIGEgcGxhbmUtaWQgcHJvcGVydHkKCSAgV2l0aG91dCBzZXR0aW5nIHRoZSBEUk1fQ0xJRU5UX0NBUF9VTklWRVJTQUxfUExBTkVTIGNhcGFiaWxpdHkgYml0LCBvbmx5CgkgIG92ZXJsYXkgcGxhbmVzIGFyZSBtYWRlIGF2YWlsYWJsZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSBjbGllbnRzLgoJICBCdXQgaWYgYSBDUlRDIGRvZXNuJ3QgaGF2ZSBhbiBvdmVybGF5IHBsYW5lIGFzc29jaWF0ZWQsIHRoZW4ga21zc2luayBpcwoJICBub3QgYWJsZSB0byBmaW5kIGEgcGxhbmUgZm9yIHRoZSBDUlRDIGFuZCB0aGUgcGlwZWxpbmUgd2lsbCBmYWlsLCBpLmU6CgkgIEVSUk9SICAgICAgICAgICAgICAgIGttc3NpbmsgZ3N0a21zc2luay5jOjQ4Mjpnc3Rfa21zX3Npbmtfc3RhcnQ6PGttc3NpbmswPiBDb3VsZCBub3QgZmluZCBhIHBsYW5lIGZvciBjcnRjCgkgIFRoaXMgcGF0Y2ggYWRkcyBhIHBsYW5lLWlkIHByb3BlcnR5IHRvIHRoZSBrbXNzaW5rIGVsZW1lbnQgc28gYSBzcGVjaWZpYwoJICBwbGFuZSBjYW4gYmUgdXNlZCBpbiBjYXNlIHRoYXQgYSBDUlRDIGhhcyBvbmx5IGEgcHJpbWFyeSBwbGFuZSBhc3NvY2lhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTgzCgoyMDE2LTA2LTMwIDEwOjMzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFJlbW92ZSBicm9rZW4gYnl0ZS1zdHJlYW0gdG8gYXZjIGNvbnZlcnNpb24gYW5kIGp1c3Qgb3V0cHV0IGJ5dGUtc3RyZWFtIGFzIGdlbmVyYXRlZCBieSB0aGUgZW5jb2RlcgoJICBUaGUgYnl0ZS1zdHJlYW0gdG8gYXZjIGNvbnZlcnNpb24gZGlkIG5vdCBjb25zaWRlciBOQUwgc2l6ZXMgYmlnZ2VyIHRoYW4gMl4xNiwKCSAgbXVsdGlwbGUgbGF5ZXJzLCBtdWx0aXBsZSBOQUxzIHBlciBsYXllciwgYW5kIHZhcmlvdXMgb3RoZXIgdGhpbmdzLiBUaGlzCgkgIGNhdXNlZCBjb3JydXB0ZWQgc3RyZWFtcyBpbiBoaWdoZXIgYml0cmF0ZXMgYW5kIG90aGVyIGNpcmN1bXN0YW5jZXMuCgkgIExldCdzIGp1c3QgZm9yd2FyZCBieXRlLXN0cmVhbSBhcyBnZW5lcmF0ZWQgYnkgdGhlIGVuY29kZXIgYW5kIGxldCBoMjY0cGFyc2UKCSAgaGFuZGxlIGNvbnZlcnNpb24gdG8gYXZjIGlmIG5lZWRlZC4gVGhhdCB3YXkgd2Ugb25seSBoYXZlIHRvIGtlZXAgYXJvdW5kIG9uZQoJICB2ZXJzaW9uIG9mIHRoZSBjb252ZXJzaW9uIGFuZCBkb24ndCBoYXZlIHRvIGZpeCBpdCBpbiBtdWx0aXBsZSBwbGFjZXMuCgoyMDE2LTA2LTI5IDE4OjM2OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEcm9wIGZpbGxlciBkYXRhCgkgIFdoZW4gc2tpcHBpbmcgZGF0YSwgY2hlY2sgaWYgdGhleSBhcmUgZmlsbGVyIGJ5dGVzLiBJZiBzbywgZHJvcCB0aGUKCSAgZGF0YSBpbnN0ZWFkIG9mIHNraXBwaW5nLiBXZSBkb24ndCB3YW50IHRvIG91dHB1dCBmaWxsZXIgYnl0ZXMsIGJ1dCB0aGV5CgkgIHNob3VsZG4ndCBjYXVzZSBhIGRpc2NvbnRpbnVpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxMjUKCjIwMTYtMDYtMzAgMDg6MzE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogVXNlIGEgbm9uLXRpbWVyIEdzdFBvbGwKCSAgc2V0X2ZsdXNoaW5nKCkgY2F1c2VzIGluY29uc2lzdGVudCBzdGF0ZXMgb24gdGltZXIgcG9sbHMgYW5kIGFsc28gc2lnbmFscyBhCgkgIGdfY3JpdGljYWwoKSBub3dhZGF5cyBiZWNhdXNlIG9mIHRoYXQuCgoyMDE2LTA2LTMwIDE0OjA0OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCByYXcgZGF0YSB1cGxvYWRlciB3aXRoIGFkZGl0aW9uIG9mIEdzdFZpZGVvR0xUZXh0dXJlVHlwZQoJICBGaXhlcyByZWdyZXNzaW9uIGZyb20gOTg5MjAwODIwZDQzYzc4ZmIxNzlkNzk4NDgyNzgwMGQ4Mzc4NzM5MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MjE3CgoyMDE2LTA2LTI5IDIzOjU1OjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsdmlkZW9jb252ZXJ0OiBSRy9MQSBpcyBhdmFpbGFibGUgaW4gT3BlbkdMIEVTIDMsIHNvIGxldCB0aGF0IHRocm91Z2gKCjIwMTYtMDYtMjkgMTg6MzU6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIHZ0ZGVjOiB1c2UgTC9MQSB0ZXh0dXJlcyBvbiBHTEVTMiBhcyB3ZWxsCgoyMDE2LTA2LTI0IDEzOjQxOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBSZXZlcnQgIlJldmVydCAiZ2wvZWFnbDogdHJ5IGdldHRpbmcgYSBnbGVzMyBjb250ZXh0IiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlYjE0MjczNjMxODQ2M2U2ZTU1M2MyMTcwN2JhMGQ3MTZmODVhNDZmLgoJICB2dGRlYyBub3cgc3VjY2Vzc2Z1bGx5IG91dHB1dHMgdGV4dHVyZXMgdGhhdCBjYW4gYmUgY29udmVydGVkIGJ5CgkgIGdsY29sb3Jjb252ZXJ0IGluIEdMRVMzIGNvbnRleHRzLgoKMjAxNi0wNi0yNSAwMDowNTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgdnRkZWM6IGFkZCBzdXBwb3J0IGZvciB6ZXJvY29weSBkZWNvZGluZyB3aXRoIEdMRVMgMy54CgkgIEl0IHNlZW1zIHRoYXQgUmVkL1JHIHRleHR1cmVzIGFyZW4ndCBzdXBwb3J0ZWQgYW55bW9yZSBmb3IgemVyb2NvcHkgZGVjb2RpbmcKCSAgd2l0aCBHTEVTIDMueC4gIEluc3RlYWQgdXNlIEx1bWluYW5jZS9MdW1pbmFuY2UgQWxwaGEgdGV4dHVyZXMgd2hpY2ggYXJlLgoKMjAxNi0wNi0yOCAxMzo1MToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xtZW1vcnk6IGFkZCB0aGUgdGV4dHVyZSB0eXBlIHRvIGFsbG9jYXRlIHRvIHBhcmFtZXRlcnMKCSAgUmF0aGVyIHRoYW4gYXNzdW1pbmcgc29tZXRoaW5nLiAgZS5nLiB6ZXJvY29weSBvbiBpT1Mgd2l0aCBHTEVTMyByZXF1aXJlcwoJICB0aGUgdXNlIG9mIEx1bWluYW5jZS9MdW1pbmFuY2UgQWxwaGEgZm9ybWF0cyBhbmQgZG9lcyBub3Qgd29yayB3aXRoCgkgIFJlZC9SRyB0ZXh0dXJlcy4KCjIwMTYtMDYtMjggMTM6MDk6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZG9uJ3QgYXNzdW1lIFJlZC9SRyB0ZXh0dXJlcyB3aWxsIGJlIHVzZWQKCSAgVGFrZSB0aGUgdXNlZCB0ZXh0dXJlIHR5cGUgZnJvbSB0aGUgbWVtb3J5IGluc3RlYWQuCgkgIEZpeGVzIGNvbnZlcnNpb24gZnJvbSBtdWx0aS1wbGFuYXIgWVVWIGZvcm1hdHMgd2l0aCB0d28gY29tcG9uZW50cyBwZXIgcGxhbmUKCSAgKE5WMTIsIE5WMjEsIFlVWTIsIFVZVlksIEdSQVkxNl8qLCBldGMpIHdpdGggTHVtaW5hbmNlIEFscGhhIGlucHV0IHRleHR1cmVzLgoJICBUaGlzIGlzIGFsc28gbmVlZGVkIGZvciB6ZXJvY29weSBkZWNvZGluZyBvbiBpT1Mgd2l0aCBHTEVTIDMueC4KCjIwMTYtMDYtMjggMTM6MDI6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBjb3JyZWN0IHByZWNvbmRpdGlvbiBmb3IgZ2V0X2dsX3ZlcnNpb24KCSAgVGhlIGludGVudGlvbiB3YXMgdG8gYXNzZXJ0IGlmIGJvdGggbWFqIGFuZCBtaW4gd2VyZSBOVUxMIChhcyB0aGVyZSB3b3VsZCBiZSBubwoJICBwb2ludCBjYWxsaW5nIHRoZSBmdW5jdGlvbikuICBJbnN0ZWFkIGlmIGVpdGhlciBtYWogb3IgbWluIHdlcmUgTlVMTCwgdGhlIGFzc2VydAoJICB3b3VsZCBvY2N1ci4KCSAgRml4IHRoYXQuCgoyMDE2LTA2LTI4IDE5OjI2OjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVwbGFjZSBzb21lIG1vcmUgZ3N0X2NhcHNfdG9fc3RyaW5nKCkgd2l0aCBHU1RfUFRSX0ZPUk1BVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTQ2CgoyMDE2LTA2LTI4IDExOjUwOjU5IC0wNDAwICBKb25hdGhhbiBSb3kgPGpyb3lAYWRldGVsZ3JvdXAuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBsZWFrIG9uIGNhcHMgc3RyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxNDYKCjIwMTYtMDYtMjggMTE6MDg6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuYzoKCSAganBlZzIwMDBwYXJzZTogZml4IHR5cG8gaW4gc2FtcGxpbmcgY2hlY2sKCSAgRml4aW5nIHNtYWxsIHR5cG8gdGhhdCBjaGFuZ2VzIHRoZSB2YWx1ZSBvZiB0aGUgcmV0dXJuLgoKMjAxNi0wNi0yNyAyMTozNjo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogSWdub3JlIGttc3NpbmsgZm9yIHN0YXRlIGNoYW5nZSB0ZXN0CgkgIEl0IGNhbiBvbmx5IGJlIHB1dCB0byBSRUFEWSBpZiB0aGUgRFJNIHN0dWZmIGlzIGF2YWlsYWJsZS4KCjIwMTYtMDYtMjcgMTg6MTU6MDggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sZ2xzaW5rOiBGaXggYnVpbGQgZXJyb3Igd2hlbiBkb24ndCBoYXZlIFFQQSBpbnN0YWxsZWQuCgkgIENoZWNrIGhlYWRlciBmaWxlIGV4aXN0YW5jZSBhbmQgd3JhcCB0aGUgaGVhZGVyIGZpbGUgaW5jbHVkZQoJICBpbiB0aGUgbmVjZXNzYXJ5ICNpZmRlZiB0byBhdm9pZCBidWlsZCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzU1MwoKMjAxNi0wNi0yNCAxODoxNDowNiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IG1ha2Ugc3VyZSB3ZSBoYXZlIGFuIGVycm9yIGluIGNhc2Ugb2YgcGFyc2luZyBmYWlsdXJlCgkgIERyb3AgYSByZWR1bmRhbnQgY29tbWVudCBhbmQgcmVsbG9jYXRlIGFub3RoZXIgb25lIHdoaWxlIGF0IGl0LgoKMjAxNi0wNi0yMiAxNjoxNDozMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBpbXBsZW1lbnQgY2hhbm5lbHMuY29uZiBmb3JtYXQgYXV0b2RldGVjdGlvbgoJICBTaW1wbGUgYXV0b2RldGVjdGlvbiBhdm9pZHMgaGF2aW5nIHRvIGNhbGwgdGhlIHBhcnNlcnMKCSAgb25lIGFmdGVyIHRoZSBvdGhlci4KCjIwMTYtMDYtMjEgMTY6MDg6NTcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogcmVuYW1lIHY1L3phcCBwYXJzZXJzIGZvciBjb25ncnVlbmN5CgkgIEFkZCBmdW5jdGlvbiBwcm90b3R5cGVzIHdoaWxlIGF0IGl0LgoKMjAxNi0wNC0xMiAyMTowNDoyNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBmaXggbW9kdWxhdGlvbiBuYW1lcwoJICBTb21lIG5hbWVzIHdlcmUgaW5jb3JyZWN0LiBBdXRob3JpdGF0aXZlIHNvdXJjZSBmb3IKCSAgdGhlIGR2YnY1IGZvcm1hdCB0YWtlbiBmcm9tIHY0bC11dGlscycgbGliL2xpYmR2YnY1L2R2Yi12NS5jCgkgIEFkaXRpb25hbGx5LCBhZGQgdGhlIG1pc3Npbmcgc2V0dGVyIG1hcHBpbmcgZm9yIHRoZQoJICBtb2R1bGF0aW9uIHBhcmFtLgoJICBUaGlzIGNoYW5nZSBtYWtlcyBBVFNDIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ5NTcKCjIwMTYtMDItMjQgMjE6NDQ6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBhbHNvIGFjY2VwdCBEVkJ2NSBjaGFubmVscy5jb25mIGZvcm1hdAoJICBDb25maXJtZWQgd29ya2luZyB3aXRoIElTREItVCAmIEFUU0MgY29uZiBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDk1NwoKMjAxNi0wNi0yMSAxMTo0ODozNiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggSVNEQi1UIHByb3BlcnR5IGRlc2NyaXB0aW9ucwoJICBEcm9wIHNvbWUgc3RhbGUgdHJhaWxpbmcgd2hpdGVzcGFjZSB3aGlsZSBhdCBpdC4KCjIwMTYtMDYtMjEgMTE6MzI6MDcgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IG1pc3BsYWNlZCBzcGFjZSBvbiBkb2MgYmxvY2sKCjIwMTYtMDUtMTAgMDM6MzI6NTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBXaGVuIGlucHV0IGFsaWdubWVudD1BVSwgYWx3YXlzIGRyYWluIGVhY2ggcGFja2V0LgoJICBJZiB0aGUgaW5wdXQgYWxpZ25tZW50IGNsYWltcyBBVSBhbGlnbm1lbnQsIGVhY2ggcmVjZWl2ZWQKCSAgYnVmZmVyIHNob3VsZCBjb250YWluIGEgY29tcGxldGUgdmlkZW8gZnJhbWUsIHNvIG5ldmVyIGhvbGQgb3ZlciBwYXJ0cwoJICBvZiBidWZmZXJzIGZvciBsYXRlciBwcm9jZXNzaW5nLiBBbHNvIHJlZHVjZXMgbGF0ZW5jeSwgYXMgcGFja2V0cwoJICBhcmUgcGFyc2VkL2NvbnZlcnRlZCBhbmQgb3V0cHV0IGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgMSBidWZmZXIKCSAgbGF0ZXIuCgkgIEZpeGVzIGEgcHJvYmxlbSB3aGVyZSBhbiAoYXJndWFibHkgZGlzYWxsb3dlZCkgcGFkZGluZyBieXRlIG9uIHRoZQoJICBlbmQgb2YgYSBidWZmZXIgaXMgZGV0ZWN0ZWQgYXMgYW4gZXh0cmEgYnl0ZSBpbiB0aGUgZm9sbG93aW5nCgkgIHN0YXJ0IGNvZGUsIGFuZCBtZXNzZXMgdXAgdGhlIHRpbWVzdGFtcGluZyB0aGF0IHNob3VsZCBhcHBseSB0bwoJICB0aGF0IHN0YXJ0IGNvZGUuCgoyMDE2LTA2LTI0IDEzOjA1OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgY29kZWNwYXJzZXJzIC5kZWYgZmlsZSBmb3IgbmV3IHN5bWJvbHMKCjIwMTYtMDYtMjQgMDk6NDE6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IGZpeCBtb3JlIGJyb2tlbiBpbmNsdWRlcwoKMjAxNi0wNi0yNCAwOTozOTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5oOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBicm9rZW4gaW5jbHVkZQoKMjAxNi0wNi0yMSAxMjo0MTo0NiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmg6CgkgIGpwZWcyMDAwcGFyc2U6IHVzZSBlbnVtcyBmb3IgY29sb3JzcGFjZSBhbmQgc2FtcGxpbmcsIHJhdGhlciB0aGFuIHN0cmluZ3MKCSAgQWxzbywgbW92ZSBnc3RqcGVnMjAwMHNhbXBsaW5nIHRvIGNvZGVjcGFyc2VycyBwcm9qZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc5MDgKCjIwMTYtMDYtMjQgMDE6NTc6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBOZWVkIHRvIGFkZCAtREdTVF9TVEFUSUNfQ09NUElMQVRJT04gd2hlbiBidWlsZGluZyBvbmx5IHN0YXRpY2FsbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ2MwoKMjAxNi0wNi0yMyAxNTo1Nzo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSAgZWdsaW1hZ2U6IE9ubHkgcmVnaXN0ZXIgZGVidWcgY2F0ZWdvcnkgaWYgZG1hYnVmIHN1cHBvcnQgaXMgZW5hYmxlZAoJICBJdCdzIG5vdCB1c2VkIG90aGVyd2lzZSBjdXJyZW50bHkgYW5kIGNhdXNlcyBjb21waWxlciB3YXJuaW5ncy4KCjIwMTYtMDYtMjIgMjI6Mjg6MDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSAgd2VicnRjZHNwOiBPZmZzZXQgdGltZXN0YW1wIHdpdGggZHVyYXRpb24KCSAgVGhlIHNhdmVkIHRpbWVzdGFtcCBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlIGRlbGF5IG9mIHRoZSBwcm9iZSBkYXRhLgoJICBBcyBpdCdzIHVzZWQgYXQgdGhlIGZvbGxvd2luZyBpbmNvbWluZyBidWZmZXIsIGl0IG5lZWRzIHRvIGJlIG9mZnNldAoJICB3aXRoIHRoZSBkdXJhdGlvbiBvZiB0aGUgYnVmZmVyIHRvIHJlcHJlc2VudCB0aGUgZW5kIHBvc2l0aW9uLiBBbHNvLAoJICBwcm9wZXJseSBpbml0aWFsaXplIHRoZSBzYXZlZCB0aW1lc3RhbXAgYW5kIHByb3RlY3QgYWdhaW5zdCBUSU1FX05PTkUuCgoyMDE2LTA2LTIyIDIxOjU0OjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0Y2RzcDogU3luY2hyb25pemUgd2l0aCBkZWxheXMKCSAgVW50aWwgbm93LCB3ZSB3ZXJlIHN5bmNocm9uaXppbmcgYm90aCBEU1AgYW5kIFByb2JlIGFkYXB0ZXIgYnkKCSAgd2FpdGluZyBhbmQgY2xpcHBpbmcgdGhlIHByb2JlIGFkYXB0ZXIgZGF0YS4gVGhpcyBpbmNyZWFzZXMgdGhlIENQVQoJICB1c2FnZSwgY2FuIGNhdXNlIGNvcGllcyBpZiB0aGUgYXVkaW8gaXMgbm90IDEwbXMgYWxpZ25lZCBhbmQgdGhlIHdvcnN0CgkgIGlzIHRoYXQgaXQgcHJldmVudHMgdGhlIHByb2Nlc3NpbmcgZnJvbSBjb21wZW5zYXRpbmcgZm9yIGluYWNjdXJhdGUKCSAgbGF0ZW5jeS4gVGhpcyBpcyBhbHNvIGEgc3RlcCBmb3J3YXJkIHRvd2FyZCBzdXBwb3J0aW5nIHBsYXliYWNrCgkgIGZpbHRlcnMuCgoyMDE2LTA2LTIyIDIxOjQ1OjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0ZHNwOiBSZW1vdmUgcmVzdHJpY3Rpb24gb24gY2hhbm5lbHMgbnVtYmVyCgkgIFVubGlrZSAwLjEsIGluIDAuMiB0aGUgcmV2ZXJzZSBzdHJlYW0gY2FuIGhhdmUgZGlmZmVyZW50IG51bWJlciBvZgoJICBjaGFubmVscy4gUmVtb3ZlIHRoZSBjaGVjayB0aGF0IHJlc3RyaWN0IGl0LgoKMjAxNi0wNi0yMiAyMTo0NDozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IFN0eWxlIGZpeAoKMjAxNi0wNi0xNiAxNDoxODoxOCArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogbWluaW1pemUgcmVuZWdvdGlhdGlvbiB0byBtYWtlIGh3IGRlY29kaW5nIG1vcmUgcmVsaWFibGUKCSAgVGhlIGhhcmR3YXJlIGRlY29kZXIgY2FuIGJlY29tZSAodGVtcG9yYXJpbHkpIHVuYXZhaWxhYmxlIGFjcm9zcwoJICBWVERlY29tcHJlc3Npb25TZXNzaW9uQ3JlYXRlL0Rlc3Ryb3kgY2FsbHMuIER1cmluZyBuZWdvdGlhdGlvbiBpZiB0aGUgY3VycmVudGx5CgkgIGNvbmZpZ3VyZWQgY2FwcyBhcmUgc3RpbGwgYWNjZXB0ZWQgYnkgZG93bnN0cmVhbSB3ZSBrZWVwIHVzaW5nIHRoZW0gc28gd2UgZG9uJ3QKCSAgaGF2ZSB0byBkZXN0cm95IGFuZCByZWNyZWF0ZSB0aGUgZGVjb2Rpbmcgc2Vzc2lvbi4KCSAgVGhpcyBpbmRpcmVjdGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0MjksIGJ5CgkgIG1ha2luZyB2dGRlYyBzdGljayB0byBHTE1lbW9yeS4KCjIwMTYtMDYtMTYgMTU6MTM6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdHBsdWdpbi5wcm86CgkgIHFtbGdsc2luazogYWRkIHdpbjMyIHN1cHBvcnQKCSAgVGhlIGN1cnJlbnQgc3RhdGUgb2YgYysrIEFCSSdzIG9uIFdpbmRvdydzIGFuZCBHc3Qncy9RdCdzIGNvbmZsaWN0aW5nCgkgIG1pbmd3IGJ1aWxkcyBtZWFucyB0aGF0IHdlIGNhbm5vdCB1c2UgbWluZ3cgZm9yIGJ1aWxkaW5nIHRoZSBxdCBwbHVnaW4uCgkgIEluc3RlYWQsIGEgcW1ha2UgLnBybyBmaWxlIGlzIHByb3ZpZGVkIHRoYXQgaXMgZXhwZWN0ZWQgdG8gYmUgdXNlZCB3aXRoIHRoZQoJICBtc3ZjIGJpbmFyaWVzIHByb3ZpZGVkIGJ5IFF0IGxpa2Ugc286CgkgICh3aXRoIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIHBhdGggdG8gdGhlIHF0IGJpbmlhcmllcwoJICBhbmQgUEtHX0NPTkZJR19QQVRIIGNvbnRhaW5pbmcgdGhlIHBhdGggdG8gR1N0cmVhbWVyIG1vZHVsZXMpCgkgIGNkIC9wYXRoL3RvL3NvdXJjZXMvZ3N0LXBsdWdpbnMtYmFkL2V4dC9xdAoJICBxbWFrZSAtdHAgdmMKCSAgVGhlbiBvcGVuIHRoZSByZXN1bHRpbmcgVlMgcHJvamVjdCBhbmQgYnVpbGQgdGhlIGxpYnJhcnkuICBUaGVuCgkgIGNwIGRlYnVnL2xpYmdzdHF0c2luay5kbGwgL3BhdGgvdG8vcHJlZml4L2xpYi9nc3RyZWFtZXItMS4wL2xpYmdzdHF0c2luay5jbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTI2MAoKMjAxNi0wNi0yMSAxMTo0MDoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgQWRkIG1pc3NpbmcgZmlsZSB0byBnaXRpZ25vcmUKCjIwMTYtMDYtMjAgMTg6NTI6MDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5kcm9pZGNhbWVyYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Y2RzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBkb2M6IEF1dG9tYXRpYyB1cGRhdGUKCSAgVGhpcyBpcyBhbiBhdXRvbWF0aWMgdXBkYXRlIHdpdGggbWFudWFsIG1lcmdlcyBvZiBydW5uaW5nCgkgICJtYWtlIHVwZGF0ZSIgaW4gdGhlIGRvYy9wbHVnaW5zIGRpcmVjdG9yeS4gVGhpcyBzaG91bGQgaGVscAoJICBsYXRlciBtYWludGVuYW5jZSBvZiB0aGUgcGx1Z2lucyBkb2MuIEEgbG90IG9mIHBsdWdpbiBhcmUKCSAgbm90IHJlZmVyZW5jZWQgeWV0IGluIHRoZSBkb2MuIFdpbGwgY29tZSBsYXRlci4KCjIwMTYtMDYtMjAgMTY6MzA6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jOiBBZGQgLmNwcCBmaWxlcyB0byBkb2MgcGFyc2VyCgkgIEFsc28sIGNvbXBsZXRlIHRoZSBsaXN0IG9mIGRpcmVjdG9yeSB0aGF0IG5lZWQgdG8gYmUgdmlzaXRlZC4KCjIwMTYtMDYtMDYgMTU6MTA6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2VicnRjZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmg6CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZWNob3Byb2JlLmNwcDoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNlY2hvcHJvYmUuaDoKCSAgd2VicnRjZHNwOiBBZGQgV2ViUlRDIEF1ZGlvIFByb2Nlc3Npbmcgc3VwcG9ydAoJICBUaGlzIERTUCBsaWJyYXJ5IGNhbiBiZSB1c2VkIHRvIGVuaGFuY2Ugdm9pY2Ugc2lnbmFsIGZvciByZWFsIHRpbWUKCSAgY29tbXVuaWNhdGlvbiBjYWxsLiBJbiBpbXBsZW1lbnRzIG11bHRpcGxlIGZpbHRlcnMgbGlrZSBub2lzZSByZWR1Y3Rpb24sCgkgIGhpZ2ggcGFzcyBmaWx0ZXIsIGVjaG8gY2FuY2VsbGF0aW9uLCBhdXRvbWF0aWMgZ2FpbiBjb250cm9sLCBldGMuCgkgIFRoZSB3ZWJydGNkc3AgZWxlbWVudCBjYW4gYmUgdXNlZCBhbG9uZywgb3Igd2l0aCB0aGUgaGVscCBvZiB0aGUKCSAgd2VicnRjZWNob3Byb2JlIGlmIGVjaG8gY2FuY2VsbGF0aW9uIGlzIGVuYWJsZWQuIFRoZSBlY2hvIHByb2JlIHNob3VsZAoJICBiZSBwbGFjZWQgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGhlIGF1ZGlvIHNpbmssIHdoaWxlIHRoZSBEU1AgaXMKCSAgZ2VuZXJhbGx5IHBsYWNlIGNsb3NlIHRvIHRoZSBhdWRpbyBjYXB0dXJlLiBGb3IgbG9jYWwgdGVzdGluZywgb25lIGNhbgoJICB1c2UgYW4gZWNobyBsb29wIHBpcGVsaW5lIGxpa2UgdGhlIGZvbGxvd2luZzoKCSAgYXV0b2F1ZGlvc3JjICEgd2VicnRjZHNwICEgd2VicnRjZWNob3Byb2JlICEgYXV0b2F1ZGlvc2luawoJICBUaGlzIHBpcGVsaW5lIHNob3VsZCBwcm9kdWNlIGEgc2luZ2xlIGVjaG8gcmF0aGVyIHRoZW4gcmVwZWF0ZWQgZWNoby4KCSAgVGhvc2UgZWxlbWVudHMgd29ya3MgaWYgdGhleSBhcmUgcGxhY2VkIGluIHRoZSBzYW1lIHRvcCBsZXZlbCBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzgwMAoKMjAxNi0wNi0yMSAxMTo0Njo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhYzJmNjQ3IHRvIGYzNjNiMzIKCjIwMTYtMDMtMjIgMTY6NTE6NTMgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbGNvbnRleHQvd2dsOiB0cnkgd2dsQ3JlYXRlQ29udGV4dEF0dHJpYnNBUkIgZXZlbiBub3QgZ2wzIGNvcmUgcHJvZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MDE4CgoyMDE2LTA2LTIxIDE4OjI4OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IGdldF9jdXJyZW50X2dsX2FwaSgpIG9uIHdpbjMyCgkgIEFub3RoZXIgY2FzZSBvZiBpbmNvcnJlY3QgY2FsbGluZyBjb252ZW50aW9ucy4KCSAgVXNpbmcgdGhpcyBmdW5jdGlvbiBvbiB3aW4zMiB3b3VsZCBjb3JydXB0IHRoZSBzdGFjayBwb2ludGVyIGFuZCBlbmQgaW4KCSAgbWFzc2l2ZSBoaWxhcml0eS4KCjIwMTYtMDYtMTUgMTI6NDc6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsc2w6IGZpeHVwIGV4dGVybmFsLW9lcyBzaGFkZXJzIGJ5IG1hbmdsaW5nIHRoZSByZXF1aXJlZCBleHRlbnNpb24KCSAgTmV3ZXIgZGV2aWNlcyByZXF1aXJlIHVzaW5nIGEgZGlmZmVyZW50IEdMU0wgZXh0ZW5zaW9uIGZvciBhY2Nlc3NpbmcKCSAgZXh0ZXJuYWwtb2VzIHRleHR1cmVzIGluIGEgc2hhZGVyIHVzaW5nIHRoZSB0ZXh0dXJlKCkgZnVuY3Rpb25zLgoJICBXaGlsZSB0aGUgR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyBzaG91bGQgc3VwcG9zZWRseSBiZSBzdXBwb3J0ZWQKCSAgb24gYSBhbnkgR0xFUzMgYW5kcm9pZCBkZXZpY2UsIHRoZSBleHRlbnNpb24gd2FzIGRlZmluZWQgYWZ0ZXIgYSBsb3Qgb2YgdGhlCgkgIG9sZGVyIGRyaXZlcnMgd2VyZSBidWlsdCBzbyB0aGV5IHdpbGwgbm90IGtub3cgYWJvdXQgaXQuICBUaHVzIHRoZXJlIGFyZSB0d28KCSAgcG9zc2libGUgaW50ZXJwcmV0YXRpb25zIG9mIHdoaWNoIG9mIHRleHR1cmVbMkRdKCkgc2hvdWxkIGJlIHN1cHBvcnRlZCBmb3IKCSAgZXh0ZXJuYWwtb2VzIHRleHR1cmVzLiAgU3RyaWN0IGFkaGVyZW5jZSB0byB0aGUgR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbAoJICBleHRlbnNpb24gc3BlYyB3aGljaCB1c2VzIHRleHR1cmUyRCgpIG9yIGZvbGxvd2luZyBHTEVTMydzIHBhdHRlcm4sIGFsc28KCSAgYWxsb3dpbmcgdGV4dHVyZSgpIGFzIGEgZnVuY3Rpb24gZm9yIGFjY2Vzc2luZyBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgVGhpcyBhZGRzIGFub3RoZXIgbWFuZ2xpbmcgcGFzcyB0byBjb252ZXJ0CgkgICNleHRlbnNpb24gR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbCA6IC4uLgoJICBpbnRvCgkgICNleHRlbnNpb24gR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyA6IC4uLgoJICBvbiBHTEVTMyBhbmQgd2hlbiB0aGUgR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMyBleHRlbnNpb24gaXMgc3VwcG9ydGVkLgoJICBPbmx5IHVzZXMgdGV4dHVyZSgpIHdoZW4gdGhlIEdMRVMzIGFuZCB0aGUgR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbF9lc3NsMwoJICBleHRlbnNpb24gaXMgc3VwcG9ydGVkIGZvciBleHRlcm5hbC1vZXMgdGV4dHVyZXMuCgkgIFVzZXMgR0xFUzIgKyB0ZXh0dXJlMkQoKSArIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWwgaW4gYWxsIG90aGVyIGV4dGVybmFsLW9lcwoJICBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk5MwoKMjAxNi0wNS0yNCAxNjoyNjoyNCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2tzZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkgIHdpbmtzOiBQb3J0IHRvIE1TVkMgYW5kIHByZXRlbmQgdG8gYmUgV2luZG93cyBYUAoJICBzdHJjYXNlY21wIGlzIG5vdCBkZWZpbmVkIG9uIE1TVkMsIHNvIGp1c3QgdXNlIHRoZSBnbGliIHdyYXBwZXIuIEFsc28gcHJldGVuZCB0bwoJICBiZSBXaW5kb3dzIFhQIGV4cGxpY2l0bHkgc2luY2UgdGhlIEFQSSB3ZSB1c2Ugd2FzIGRlcHJlY2F0ZWQgYW5kIHJlbW92ZWQKCSAgKGlmZGVmLWVkKSBmcm9tIHRoZSBTREsgYWZ0ZXIgdGhpcyB2ZXJzaW9uIG9mIFdpbmRvd3MuIFRoaXMgd2lsbCBiZSBlc3BlY2lhbGx5CgkgIHJlbGV2YW50IG9uY2Ugd2Ugc3RvcCBzdXBwb3J0aW5nIFdpbmRvd3MgWFAgc29vbjoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg2NgoKMjAxNi0wMy0wMiAwMjoxNzo1NCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGFkYXB0aXZlZGVtdXguZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0YmFkYXVkaW8uZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0YmFkYmFzZS5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYWR2aWRlby5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYXNlY2FtZXJhYmluc3JjLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGluc2VydGJpbi5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RtcGVndHMuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0dXJpZG93bmxvYWRlci5kZWY6CgkgIHdpbjMyOiBBZGQgbWlzc2luZyBkZWYgZmlsZXMgZm9yIGxpYnJhcmllcwoKMjAxNi0wMy0wMiAwMDo1NToxNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYnVpbGQ6IEZhY3RvciBvdXQgZW5kaWFuLW9yZGVyIFJHQiBmb3JtYXRzCgkgIE1TVkMgc2VlbXMgdG8gaWdub3JlIHByZXByb2Nlc3NvciBjb25kaXRpb25hbHMgaW5zaWRlIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDE2LTA2LTEzIDIyOjI5OjM5IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkgIG9wZW5qcGVnZGVjOiB1c2Ugc2FtcGxpbmcgZmllbGQgdG8gZGV0ZXJtaW5lIFJHQiBjaGFubmVsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0MDIKCjIwMTYtMDYtMDIgMTM6NTM6MzggKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBmaXggYnVmZmVyIGxlYWsgaW4gdGVzdAoJICBOZWVkIHRvIGNhbGwgZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycygpIHRvIHVucmVmIHRoZSBidWZmZXJzIGV4Y2hhbmdlZAoJICBkdXJpbmcgdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNTkKCjIwMTYtMDUtMTkgMTM6MzE6NTYgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBxdWVyeSBsZWFrIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMzoyOToxNSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcHJvcGVybHkgc2V0dXAvdGVhcmRvd24gdGVzdHMKCSAgdGNhc2VfYWRkX2NoZWNrZWRfZml4dHVyZSgpIGlzIHN1cHBvc2UgdG8gY2FsbCB0aGUgc2V0dXAgYW5kIHRlYXJkb3duCgkgIGZ1bmN0aW9ucyBzbyB0aGUgdGVzdHMgZG9uJ3QgaGF2ZSB0byBkbyBpdCBtYW51YWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMzowOTo0MSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggc2hhZGVyIGxlYWsgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDEyOjUxOjE3ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICB1dmNoMjY0ZGVtdXg6IGZpeCBidWZmZXIgbGVha3MgaW4gdGVzdAoJICBUaGUgbW9jayBjaGFpbiBmdW5jdGlvbnMgYXJlbid0IHVucmVmZmluZyB0aGUgYnVmZmVycyBzbyB0aGUgY2FsbGVyCgkgIHNob3VsZCBkbyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMjozNjo0MiArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZWxlbWVudCBsZWFrIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMToxOTo1NyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBmaXggYnVmZmVyIGxlYWtzIGluIHRlc3RzCgkgIGdzdF9jaGVja19kcm9wX2J1ZmZlcnMoKSByZWxlYXNlIHRoZSBidWZmZXJzIGV4Y2hhbmdlZCBkdXJpbmcgdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTE6MTk6MjAgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGZpeCBldmVudCBsZWFrcyBpbiB0ZXN0cwoJICBUaGUgZXZlbnRzIGFyZSBzdXBwb3NlZCB0byBiZSB1bnJlZmZlZCB3aGVuIGZpbmlzaGluZyB0aGUgdGVzdCwgbm90CgkgIHJlZmZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMToxOTowMSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBmaXggbWVzc2FnZSBsZWFrcyBieSBmbHVzaGluZyB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTE6MTY6MzcgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IGZpeCBidWZmZXIgbGVhawoJICBJZiB0aGUgcGFkIHdhcyBzdGlsbCBvd25pbmcgYSBidWZmZXIgd2hlbiBiZWluZyBkZXN0cm95ZWQgaXQgd2FzIGxlYWtlZC4KCSAgRml4IGEgbGVhayB3aXRoIHRoZSB0ZXN0X2ZsdXNoX3N0YXJ0X2ZsdXNoX3N0b3AgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOCAxNjo1ODo0NCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogZml4IGZhY3RvcmllcyBsZWFrIGluIHRlc3QKCSAgVGhlIGZhY3RvcmllcyByZXR1cm5lZCBieSBnc3RfcmVnaXN0cnlfZmluZF9mZWF0dXJlKCkgaGF2ZSB0byBiZQoJICB1bnJlZmZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNi0xNyAxNDo1ODo0NCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBmaXggZGVmYXVsdCB0aW1lX29mZnNldF9sZW5ndGgKCSAgVGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRpbWVfb2Zmc2V0X2xlbmd0aCBzaG91bGQgYmUgMjQsIHNlZQoJICBzZWN0aW9uIEUyLjIgb2YgdGhlIEgyNjQgc3BlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Nzc5MgoKMjAxNi0wNi0xNyAxNDozMTo0MiArMDIwMCAgSm9hbiBQYXUgQmVsdHJhbiA8am9hbnBhdS5iZWx0cmFuQHNvY2liLmNhdD4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0c3JjLmM6CgkgIGRjMTM5NHNyYzogY2hlY2sgZm9yIGRpc2FibGVkIHRyYW5zbWlzc2lvbiBpbiBfc3RvcF9jYW0KCSAgRm9yIHN5bWV0cnkgd2l0aCBfc3RhcnRfY2FtLCBjaGVjayB0aGF0IHRoZSB0cmFuc21pc3Npb24KCSAgaXMgZWZmZWN0aXZlbHkgZGlzYWJsZWQgaW4gX3N0b3BfY2FtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDI2CgoyMDE2LTA2LTE3IDE1OjMyOjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRvIG5vdCByZWx5IG9uIHRlbXAgdmFyIGZvciBmYWlsIGRldGVjdGlvbgoJICBVc2UgZXJybm8gaW5zdGVhZCBhcyBsb2NhbCB2YXIgbWlnaHQgYmUgb3ZlcndyaXR0ZW4KCSAgYmVmb3JlIHRoZSBjaGVjay4KCjIwMTYtMDYtMTQgMTU6Mjk6MDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmV3b3JrIHNldF9waWRzKCkKCSAgLSBSZWZsb3cgdG8gYXZvaWQgdW5uZWVkZWQgbmVzdGluZwoJICAtIEZyZWUgYXV4IHBpZHMgYXJyYXkgZWFybGllcgoJICAtIEFkanVzdCBkZWJ1ZyBvdXRwdXQgdG8gZGVsaXZlciBtb3JlIG1lYW5pbmdmdWwgaW5mb3JtYXRpb24KCjIwMTYtMDYtMTQgMTQ6MjQ6MzUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBwb2ludGxlc3MgZGVidWcgbXNnCgoyMDE2LTA2LTA5IDE2OjA1OjM5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBkcm9wIGFsbCBvdGhlcndpemVzCgoyMDE2LTA2LTEyIDEzOjUzOjE4IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkgIGpwZWcyMDAwcGFyc2U6IHN1cHBvcnQgajJjIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTEyCgoyMDE2LTA2LTE2IDAxOjU0OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHMvZ2xjb250ZXh0OiBsaW5rIGFnYWluc3QgZ3N0dmlkZW8gZm9yIGdzdF92aWRlb19pbmZvXyoKCSAgZml4ZXMgbWFrZSBkaXN0Y2hlY2sgY29tcGxhaW5pbmcgYWJvdXQgaXQuCgoyMDE2LTA0LTE0IDE4OjE0OjMyICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkgIHFtbDogRW5hYmxlIHFtbGdsc2luayBmb3IgZWdsZnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA0NAoKMjAxNi0wNi0xNiAwMDo0NDo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sZ2xzaW5rOiBwcm9wYWdhdGUgR0wgY29udGV4dCBjcmVhdGlvbiBmYWlsdXJlIHVwd2FyZHMKCSAgT3RoZXJ3aXNlIGFuIGFwcGxpY2F0aW9uIGNhbm5vdCBrbm93IGlmIHRoZSBxbWxnbHNpbmsgd2lsbCBiZSBkaXNwbGF5aW5nIGZyYW1lcwoJICBpbmNvcnJlY3RseS9hdCBhbGwuCgoyMDE2LTA2LTE2IDAwOjQ0OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IGFsc28gYWxsb3cgd2F5bGFuZC1lZ2wgYXMgYSBwbGF0Zm9ybSBuYW1lCgoyMDE2LTA2LTEyIDE1OjM1OjI4ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sZ2xzaW5rOiBBZGQgV2F5bGFuZCBzdXBwb3J0CgkgIERvbid0IHVzZSBnc3RnbGRpc3BsYXkgdG8gZ2V0IHdheWxhbmQgZGlzcGxheS4gU2hvdWxkIHVzZSBRUEEgb24gd2F5bGFuZAoJICB0byBnZXQgd2F5bGFuZCBkaXNwbGF5IGZvciBRVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzU1MwoKMjAxNi0wNi0xNiAwMDo0Njo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgdGVzdHMvZ2xjb250ZXh0OiB1cGRhdGUgdGVzdCBmb3IgZ2VuLGRlbF90ZXh0dXJlIHJlbW92YWwKCjIwMTYtMDYtMTQgMjI6MTI6MTggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHNpbXBsaWZ5IHJlZ2lzdHJ5IGNhY2hlIHN0cnVjdHVyZSBjcmVhdGlvbgoJICBDcmVhdGUgYW5kIGZpbGwgc3RydWN0dXJlIGluIG9uZSBnby4KCjIwMTYtMDYtMTQgMTM6NDg6MDkgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzOiBmaXggbGl0dGxlIHJlY3RhbmdsZSB0aGF0IGFwcGVhcnMgYXQgdGhlIGNlbnRlciBvZiBzcXVlZXplIGFuZCB0dW5uZWwgZWZmZWN0cwoJICBUaGVzZSB0d28gc2hhZGVyIHdpbGwgY2FsY3VsYXRlIHRoZSB2ZWN0b3IgbGVuZ3RoIGFuZCB1c2UgaXQgYXMgZGVub21pbmF0b3IuCgkgIEJ1dCBsZW5ndGggY291bGQgYmUgemVybyB3aGljaCB3aWxsIGNhdXNlIHVuZGVmaW5lIGJlaGF2aW91ci4gQWRkIHByb3RlY3Rpb24gZm9yCgkgIHRoaXMgY29uZGl0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc2MzUKCjIwMTYtMDYtMTUgMTg6MTA6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGFkZCBzb21lIGRlYnVnZ2luZwoKMjAxNi0wNi0xNSAxNjowODo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1dGlsczogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgZm9yIHRleHR1cmUgY3JlYXRpb24vZGVsZXRpb24KCSAgRXZlcnlvbmUgdXNlcyBHc3RHTE1lbW9yeSBub3cgYW5kIGFueSBmdXR1cmUgY29kZSBzaG91bGQgYXMgd2VsbC4KCjIwMTYtMDYtMTUgMTU6NDc6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogcmVtb3ZlIHVudXNlZCBjbGFzcyBmaWVsZHMgaW4vb3V0X3RleF9pZAoJICBUaGUgZnVuY3Rpb25hbGl0eSBpcyBub3QgdXNlZCBieSBhbnkgc3ViY2xhc3Mgbm9yIGFyZSB0aGUgdmFsdWVzIHNldCBhbnl3aGVyZS4KCjIwMTYtMDYtMTUgMTU6MDg6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIGdsZGVpbnRlcmxhY2U6IHJlbW92ZSBkZWFkIGNvZGUgYWNjZXNzaW5nIGZpbHRlci0+aW5fdGV4X2lkCgkgIEl0J3Mgbm90IHNldCBieSBhbnlvbmUgb3IgYW55dGhpbmcgYW5kIGdsZGVpbnRlcmxhY2UgaXMgdGhlIG9ubHkgdXNlciBvZiBpdCBub3cuCgoyMDE2LTA2LTE1IDE0OjQwOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkL21ldGE6IHJlbW92ZSB1bm5lZWRlZCB0ZXh0dXJlIGRlbGV0aW9uCgkgIFRoZSB0ZXh0dXJlcyBhcmUgbWFuYWdlZCBieSB0aGUgR3N0R0xNZW1vcnkgaW5zaWRlIHRoZSBvdXRwdXQgYnVmZmVyLiAgRnJlZWluZwoJICB0aGVtIHByZW1hdHVyZWx5IG1heSByZXN1bHQgaW4gYSB1c2UtYWZ0ZXItZnJlZS4KCjIwMTYtMDUtMzAgMTQ6MTA6MjMgKzAyMDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IHJlbW92ZSBnZXQtcm9sbG92ZXItY291bnRlciBzaWduYWwgYW5kIGFkZCBzdGF0cyBwcm9wZXJ0eQoJICBXZSByZW1vdmUgZ2V0LXJvbGxvdmVyLWNvdW50ZXIgc2lnbmFsIGluIGZhdm9yIG9mIHRoZSAic3RhdHMiCgkgIHByb3BlcnR5LiBUaGUgInN0YXRzIiBwcm9wZXJ0eSBpcyBhIEdzdFN0cnVjdHVyZSB3aXRoIGNhcHMKCSAgYXBwbGljYXRpb24veC1zcnRwLWVuY29kZXItc3RhdHMgdGhhdCBjb250YWlucyBhbiBhcnJheSBvZgoJICBzdHJ1Y3R1cmVzIHdpdGggY2FwcyBhcHBsaWNhdGlvbi94LXNydHAtc3RyZWFtLgoJICBFYWNoIHN0cmVhbSBzdHJ1Y3R1cmUgY29udGFpbnMgInNzcmMiIGFuZCAicm9jIiBmaWVsZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyNjUKCjIwMTYtMDUtMjUgMTI6NTU6MzYgKzAyMDAgIE1hdHMgTGluZGVzdGFtIDxtYXRzbG1AYXhpcy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHN1cHBvcnQgZm9yIGhhbmRsaW5nIG9mIGNvbmZpZy1pbnRlcnZhbCA9IC0xCgkgIEFkZGVkIHN1cHBvcnQgZm9yIGhhbmRsaW5nIG9mIGNvbmZpZy1pbnRlcnZhbCA9IC0xLgoJICBjb25maWctaW50ZXZhbCA9IC0xIHJlcHJlc2VudHMgcmVzZW5kaW5nIFNQUyBhbmQgUFBTIGZvciBlYWNoCgkgIEktL0lEUi1mcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjgwMwoKMjAxNi0wNS0yNSAxMjo0NToxNyArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVmYWN0b3JlZCBoYW5kbGluZyBvZiBTUFMvUFBTIHdoZW4gcHVzaGluZyBmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjgwMwoKMjAxNi0wNS0yNSAxMTo1NDo1NSArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogY2hhbmdlICJjb25maWctaW50ZXJ2YWwiIHByb3BlcnR5IHR5cGUgZnJvbSB1aW50IHRvIGludAoJICBTbyB3ZSBjYW4gdXNlIC0xIGFzIHNwZWNpYWwgdmFsdWUgbGlrZSBpbiBydHBoMjY0cGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODAzCgoyMDE2LTA2LTEzIDA5OjIwOjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IERvbid0IGVzY2FwZSB0aGUgVVJJIGJlZm9yZSBwYXNzaW5nIGl0IHRvIE5TVVJMCgkgIFRoZSBVUkkgbXVzdCBhbHJlYWR5IGJlIGVzY2FwZWQgYnkgdGhlIGNhbGxlciwgd2UgZG9uJ3Qgc3VwcG9ydCBwYXNzaW5nIGFyb3VuZAoJICBpbnZhbGlkICh1bmVzY2FwZWQpIFVSSXMgdmlhIHRoZSBHc3RVUklIYW5kbGVyIGludGVyZmFjZS4KCSAgQWxzbyBpdCB3aWxsIGVzY2FwZSB0b28gbXVjaCBvZiB0aGUgVVJJIGluIHRoaXMgY2FzZSwgZS5nLgoJICBpcG9kLWxpYnJhcnk6Ly9pdGVtL2l0ZW0ubTRhP2lkPTMxNDMzMzgzOTUxNzM4NjI5NTEKCSAgYmVjb21lcwoJICBpcG9kLWxpYnJhcnk6Ly9pdGVtL2l0ZW0ubTRhJTNGaWQlM0QzMTQzMzM4Mzk1MTczODYyOTUxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0OTIKCjIwMTYtMDYtMTMgMDk6MjA6MDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJICBpb3Nhc3NldHNyYzogUHJpbnQgdGhlIGNvcnJlY3QgVVJJIGlmIGl0IHdhcyByZWplY3RlZAoJICBXZSB3ZXJlIHByaW50aW5nIHRoZSBwcmV2aW91c2x5IHNldCBVUkkgaW5zdGVhZCBvZiB0aGUgbmV3IG9uZS4KCjIwMTYtMDYtMDkgMDE6MjA6MzYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogTG9jayBhbmQgZG9uJ3Qgc2VuZCBmaW5hbCBib3VuZGFyeSB1cG9uIGVycm9yCgkgIFByZXZpb3VzbHkgR3N0Q3VybFNtdHBTaW5rIGNvdWxkIGNhdXNlIHRoZSBwaXBlbGluZSB0aHJlYWQgdG8gZW5kIHVwCgkgIHdhaXRpbmcgZm9yIGEgc3RvcHBlZCB0aHJlYWQgdG8gcGVyZm9ybSB3b3JrLgoJICBUaGUgc2NlbmFyaW8gd2FzIHRoYXQgdGhlIHNpbmsgY291bGQgYmUgcmVuZGVyaW5nIGEgYnVmZmVyIGFuZCB3YWl0aW5nCgkgIGZvciB0aGUgY3VybCB0cmFuc2ZlciB0aHJlYWQgdG8gaGF2ZSBzZW50IHRoZSBkYXRhLiBBcyBzb29uIGFzIHRoZQoJICB0cmFuc2ZlciB0aHJlYWQgaGFzIGNvcGllZCBhbGwgZGF0YSB0byBjdXJsJ3MgZGF0YSBidWZmZXIgaW4KCSAgZ3N0X2N1cmxfYmFzZV9zaW5rX3RyYW5zZmVyX3JlYWRfY2IoKSB0aGVuIHRoZSByZW5kZXIgY2FsbCB3b3VsZCBzdG9wCgkgIHdhaXRpbmcgYW5kIHJldHVybiBHU1RfRkxPV19PSy4gV2hpbGUgdGhpcyB0YWtlcyBwbGFjZSB0aGUgdHJhbnNmZXIKCSAgdGhyZWFkIG1heSBzdWZmZXIgZnJvbSBhbiBlcnJvciBlLmcuIGR1ZSBnc3RfcG9sbF93YWl0KCkgdGltaW5nIG91dC4KCSAgVGhpcyBjYXVzZXMgdGhlIHRyYW5zZmVyIHRocmVhZCB0byByZWNvcmQgdGhlIGVycm9yLCBjbGFpbSAoaXQgaXMgbm90CgkgIHJlYWxseSB0cnVlIHNpbmNlIHRoZXJlIHdhcyBhbiBlcnJvcikgdGhhdCB0aGUgZGF0YSBoYXMgYmVlbiBzZW50IGFuZAoJICB0aGF0IGEgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnkgdHJ5aW5nIHRvIHNpZ25hbCB0aGUgcGlwZWxpbmUKCSAgdGhyZWFkIChidXQgdGhpcyBoYXMgYWxyZWFkeSBzdG9wcGVkIHdhaXRpbmcpLiBGaW5hbGx5IHRoZSB0cmFuc2ZlcgoJICB0aHJlYWQgc3RvcHMgaXRzZWxmLiBBIHNob3J0IHdoaWxlIGxhdGVyIHRoZSBwaXBlbGluZSB0aHJlYWQgbWF5IGF0dGVtcHQKCSAgdG8gcHVzaCBhbiBFT1MgZXZlbnQgaW50byBHc3RDdXJsU210cFNpbmsuIFNpbmNlIHRoZXJlIGlzIG5vIGNoZWNrIGluCgkgIGdzdF9jdXJsX3NtdHBfc2lua19ldmVudCgpIHRvIGNoZWNrIGlmIHRoZSBzaW5rIGhhcyBzdWZmZXJlZCBmcm9tIGFueQoJICBlcnJvciBpdCBtYXkgYXR0ZW1wdCB0byBhZGQgYSBmaW5hbCBib3VuZGFyeSBhbmQgYXNrIHRoZSwgbm93IGRlY2Vhc2VkLAoJICB0cmFuc2ZlciB0aHJlYWQgdG8gdHJhbnNmZXIgdGhlIG5ldyBkYXRhLiBOZXh0IHRoZSBzaW5rIGVsZW1lbnQgd291bGQKCSAgaGF2ZSB3YWl0ZWQgZm9yIHRoZSB0cmFuc2ZlciB0byBjb21wbGV0ZSAodXNpbmcgYSBkaWZmZXJlbnQgbWVjaGFuaXNtCgkgIHRoYW4gbm9ybWFsIHRyYW5zZmVycyB0aHJvdWdoIEdzdEN1cmxCYXNlU2luaykuIEluIHRoaXMgY2FzZSB0aGVyZSB3YXMKCSAgYW4gZXJyb3IgY2hlY2sgdG8gYXZvaWQgd2FpdGluZyBpZiBhbiBlcnJvciBoYWQgYWxyZWFkeSBiZWVuIHNlZW4uCgkgIEZpbmFsbHkgR3N0Q3VybFNtdHBTaW5rIHdvdWxkIGNoYWluIHVwIHRvIEdzdEN1cmxCYXNlU2luayB3aGljaCB3b3VsZAoJICB0aGVuIGJsb2NrIHdhaXRpbmcgZm9yIGEgcmVzcG9uc2UgKG5vcm1hbGx5IHRoaXMgd291bGQgYmUgcHJldmVudGVkIGJ5CgkgIHRoZSB0cmFuc2ZlciB0aHJlYWQgc3VmZmVyaW5nIHRoZSBlcnJvciBjbGFpbWluZyB0aGF0IGl0IGhhZCBiZWVuCgkgIHJlY2VpdmVkLCBidXQgR3N0Q3VybFNtdHBTaW5rIGNsb2JiZXJlZCB0aGlzIGZsYWcgYWZ0ZXIgdGhlIGZhY3QpLgoJICBOb3cgR3N0Q3VybFNtdHBTaW5rIGF2b2lkcyB0aGlzIGJ5IGxvY2tpbmcgb3ZlciB0aGUgZW50aXJlIGV2ZW50IGhhbmRpbmcKCSAgKHByZXZlbnRpbmcgc2ltdWx0YW5lb3VzIGNoYW5nZXMgdG8gZmxhZ3MgYnkgdGhlIHR3byB0aHJlYWRzKSBhbmQgYWxzbwoJICBieSBhdm9pZGluZyB0byBpbml0aWF0ZSB0cmFuc2ZlciBvZiBmaW5hbCBib3VuZGFyeSBpZiBhbiBlcnJvciBoYXMKCSAgYWxyZWFkeSBiZWVuIHNlZW4uCgkgIEFsc28gYWRkIEdTVF9GSVhNRSgpIGZvciByZW1haW5pbmcgc2ltaWxhciBpc3N1ZSB3aGVyZSB0aGUgcGlwZWxpbmUKCSAgdGhyZWFkIG1heSBibG9jayBpbmRlZmluaXRlbHkgd2FpdGluZyBmb3IgdHJhbnNmZXIgdGhyZWFkIHRvIHRyYW5zZmVyCgkgIGRhdGEgYnV0IHRoZSB0cmFuc2ZlciB0aHJlYWQgZXJyb3JzIG91dCBhbmQgZmFpbHMgdG8gbm90aWZ5IHRoZSBwaXBlbGluZQoJICB0aHJlYWQgdGhhdCB0aGUgdHJhbnNmZXIgZmFpbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTAxCgoyMDE2LTA2LTA4IDExOjMyOjI4IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5oOgoJICBqcGVnMjAwMHBhcnNlOiBSZXF1aXJlIGVpdGhlciBjb2xvcnNwYWNlIG9yIHNhbXBsaW5nIGZpZWxkIGluIHNpbmsgY2FwcwoJICBBbmQgYWx3YXlzIHNldCB0aGUgc2FtcGxpbmcgZmllbGQgb24gdGhlIHNyYyBjYXBzLCBpZiBuZWNlc3NhcnkgZ3Vlc3NpbmcgYQoJICBjb3JyZWN0IHZhbHVlIGZvciBpdCBmcm9tIHRoZSBjb2xvcnNwYWNlIGZpZWxkLgoJICBBbHNvLCBkaWQgc29tZSBjbGVhbnVwOiByZW1vdmVkIHNhbXBsaW5nIGVudW0gLSByZWR1bmRhbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyMzYKCjIwMTYtMDYtMTAgMTE6MzI6NDYgKzAzMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBjbGFuZyAzLjgKCSAgVXNlIG5hbWVzcGFjZSBvbmx5IGFmdGVyIGl0IHdhcyBhY3R1YWxseSBkZWZpbmVkIGJ5IGEgaGVhZGVyLgoJICBnc3RmYWNlZGV0ZWN0LmNwcDo3OToxNzogZXJyb3I6IHVzaW5nIGRpcmVjdGl2ZSByZWZlcnMgdG8gaW1wbGljaXRseS1kZWZpbmVkIG5hbWVzcGFjZSAnc3RkJyBbLVdlcnJvcl0KCSAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCSAgXgoKMjAxNi0wNi0wNiAxNjozNToxNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1bmlmeSBleGl0IHBhdGhzIG9uIF9zdGFydCgpCgoyMDE2LTA2LTA2IDE1OjMxOjMxIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBwcm9wZXIgYWNyb255bSBmb3IgUElEIChQYWNrZXQgSWRlbnRpZmllcikKCSAgRHJvcCBmb3JtYXR0aW5nIHRhYiBmcm9tIG1lc3NhZ2Ugd2hpbGUgYXQgaXQuCgoyMDE2LTA2LTA2IDEyOjI1OjIyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNldCBjb21tb24gUEVTIGZpbHRlciBwYXJhbXMgb25jZSBhbmQgcmV1c2UKCSAgQXZvaWQgc2V0dGluZyB0aGUgc2FtZSBoYXJjb2RlZCB2YWx1ZXMgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTYtMDYtMDkgMjI6MDE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NHNyYy5jOgoJICBkYzEzOTRzcmM6IG1pbm9yIGNsZWFuLXVwCgkgIFdlIGFsd2F5cyBjYWxsIF9wYXJzZV9jYXBzKCkgd2l0aCBub24tTlVMTCBvdXQgdmFycy4KCjIwMTYtMDYtMDkgMjI6MDE6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NHNyYy5jOgoJICBkYzEzOTRzcmM6IGZpeCBzb21lIG1vcmUgYzk5LWlzbXMKCjIwMTYtMDYtMDkgMjE6NDc6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBmb3IgcmVuYW1lZCBkYzEzOTQgc291cmNlIGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAyNgoKMjAxNi0wNi0wNyAxNTo1MDo1MCArMDIwMCAgSm9hbiBQYXUgQmVsdHJhbiA8am9hbnBhdS5iZWx0cmFuQHNvY2liLmNhdD4KCgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0c3JjLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0c3JjLmg6CgkgIGRjMTM5NHNyYzogcHJlZml4IGFuZCBmaWxlIG5hbWVzIGFjY29yZGluZyB0byBHc3RyZWFtZXIgY29udmVudGlvbnMKCSAgUmVwbGFjZSB0aGUgdHlwZSBhbmQgZnVuY3Rpb24gcHJlZml4IHRvIGZvbGxvdyB0aGUgY29udmVudGlvbnM6CgkgIC0gVXNlIGBHU1RfVFlQRV9EQzEzOTRfU1JDYCBpbnN0ZWFkIG9mIGBHU1RfVFlQRV9EQzEzOTRgLgoJICAtIFVzZSBgR3N0REMxMzk0U3JjYCBhbmQgYEdzdERDMTM5NFNyY0NsYXNzYCBpbnN0ZWFkIG9mCgkgIGBHc3REYzEzOTRgIGFuZCBgR3N0RGMxMzk0Q2xhc3NgLgoJICAtIFVzZSBgZ3N0X2RjMTM5NF9zcmNgIGluc3RlYWQgb2YgYGdzdF9kYzEzOTRgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDI2CgoyMDE2LTA1LTEwIDE4OjMwOjM1ICswMjAwICBKb2FuIFBhdSBCZWx0cmFuIDxqb2FucGF1LmJlbHRyYW5Ac29jaWIuY2F0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBkYzEzOTRzcmM6IHBvcnQgdG8gMS5YCgkgIFRoZSBkYzEzOTRzcmMgaXMgYSBQdXNoU3JjIGVsZW1lbnQgZm9yIElJREMgY2FtZXJhcyBiYXNlZCBvbiBsaWJkYzEzOTQuCgkgIFRoZSBpbXBsZW1lbnRhdGlvbiBmcm9tIHRoZSAwLnggc2VyaWVzIGlzIGRlZmZlY3RpdmU6CgkgIGNhcHMgbmVnb3RpYXRpb24gZG9lcyBub3Qgd29yaywgYW5kIHNvbWUgdmlkZW8gZm9ybWF0cwoJICBwcm92aWRlZCBieSB0aGUgY2FtZXJhIGFyZSBub3Qgc3VwcG9ydGVkLgoJICBSZWZhY3RvciB0aGUgY29kZSB0byBwb3J0IGl0IHRvIDEuWCBhbmQgZW5oYW5jZSB0aGUgc3VwcG9ydAoJICBmb3IgdGhlIGZ1bGwgc2V0IG9mIHZpZGVvIG9wdGlvbnMgb2YgSUlEQyBjYW1lcmFzOgoJICAtIFRoZSBJSURDIHNwZWNpZmljYXRpb24gaW5jbHVkZXMgYSBzZXQgb2YgY2FtZXJhIHZpZGVvIG1vZGVzCgkgICh2aWRlbyBmb3JtYXQsIGZyYW1lIHNpemUsIGFuZCBmcmFtZSByYXRlcykuCgkgIFRoZXkgZG8gbm90IG1hcCBwZXJmZWN0bHkgdG8gR3N0cmVhbWVyIGZvcm1hdHMsIGJ1dCB0aG9zZSB0aGF0CgkgIGRvIG5vdCBtYXRjaCBhcmUgdmVyeSByYXJlIChpZiB1c2VkIGF0IGFsbCBieSBhbnkgY2FtZXJhKS4KCSAgSW4gYWRkaXRpb24sIGFsdGhvdWdoIHRoZSBzcGVjaWZpY2F0aW9uIGluY2x1ZGVzIGEgcmF3IGZvcm1hdCwKCSAgc29tZSBjYW1lcmFzIHVzZSBtb25vIHZpZGVvIGZvcm1hdHMgdG8gY2FwdHVyZSBpbiBCYXllciBmb3JtYXQuCgkgIE1hcCBjb3JyZXNwb25kaW5nIHZpZGVvIG1vZGVzIHRvIEdzdHJlYW1lciBmb3JtYXRzIGluIGNhcGFiaWxpdGllcywKCSAgYWxsb3dpbmcgYm90aCBncmF5IHJhdyBhbmQgQmF5ZXIgdmlkZW8gZm9ybWF0cyBmb3IgbW9ubyB2aWRlbyBtb2Rlcy4KCSAgLSBUaGUgc3BlY2lmaWNhdGlvbiBpbmNsdWRlcyBzY2FsYWJsZSB2aWRlbyBtb2RlcyAoRm9ybWF0NyksCgkgIHdoZXJlIHRoZSBmcmFtZSBzaXplIGFuZCByYXRlIGNhbiBiZSBzZXQgdG8gYXJiaXRyYXJ5IHZhbHVlcwoJICAod2l0aGluIHRoZSBsaW1pdHMgb2YgdGhlIGNhbWVyYSBhbmQgdGhlIGJ1cyB0cmFuc3BvcnQpLgoJICBBbGxvdyB0aGUgdXNlIG9mIHN1Y2ggbW9kZSwgdXNpbmcgdGhlIGZyYW1lIHNpemUgYW5kIHJhdGUKCSAgZnJvbSB0aGUgbmVnb3RpYXRpZWQgY2FwcywgYW5kIHNldCB0aGUgY2FtZXJhIGZyYW1lIHJhdGUKCSAgYWRqdXN0aW5nIHRoZSBwYWNrZXQgc2l6ZSBhcyBpbjoKCSAgPGh0dHA6Ly9kYW1pZW4uZG91eGNoYW1wcy5uZXQvaWVlZTEzOTQvbGliZGMxMzk0L2ZhcS8jSG93X2RvX0lfc2V0X3RoZV9mcmFtZV9yYXRlPgoJICBUaGUgc2NhbGFibGUgbW9kZXMgYWxzbyBhbGxvdyBmb3IgYSBjdXN0b20gUk9JIG9mZnNldC4KCSAgU3VwcG9ydCBmb3IgaXQgY2FuIGJlIGVhc2lseSBhZGRlZCBsYXRlciB1c2luZyBwcm9wZXJ0aWVzLgoJICAtIENhbWVyYSBvcGVyYXRpb24gdXNpbmcgbGliZGMxMzk0IGlzIGFzIGZvbGxvd3M6CgkgIDEuIEVudW1lcmF0ZSBjYW1lcmFzIG9uIHRoZSBzeXN0ZW0gYW5kIG9wZW4gdGhlIGNhbWVyYQoJICBpZGVudGlmaWVkIHRoZSBlbnVtZXJhdGlvbiBpbmRleCBvciBieSBhIEdVSUQgKDY0Yml0IGhleCBjb2RlKS4KCSAgMi4gUXVlcnkgdGhlIHZpZGVvIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBjYW1lcmEuCgkgIDMuIENvbmZpZ3VyZSB0aGUgY2FtZXJhIGZvciB0aGUgZGVzaXJlZCB2aWRlbyBmb3JtYXQuCgkgIDQuIFNldHVwIHRoZSBjYXB0dXJlIHJlc291cmNlcyBmb3IgdGhlIGNvbmZpZ3VyZWQgdmlkZW8gZm9ybWF0CgkgIGFuZCBzdGFydCB0aGUgY2FtZXJhIHRyYW5zbWlzc2lvbi4KCSAgNS4gQ2FwdHVyZSBmcmFtZXMgZnJvbSB0aGUgY2FtZXJhIGFuZCByZWxlYXNlIHRoZW0gd2hlbiBub3QgdXNlZC4KCSAgNi4gU3RvcCB0aGUgY2FtZXJhIHRyYW5zbWlzc2lvbiBhbmQgY2xlYXIgdGhlIGNhcHR1cmUgcmVzb3VyY2VzLgoJICA3LiBDbG9zZSB0aGUgY2FtZXJhIGZyZWVpbmcgaXRzIHJlc291cmNlcy4KCSAgRG8gc3RlcHMgMiBhbmQgMyB3aGVuIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIGNhcHMgcmVzcGVjdGl2ZWx5LgoJICBJZGVhbGx5IDQgYW5kIDYgd291bGQgYmUgZG9uZSB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFBMQVlJTkcKCSAgYW5kIHZpY2V2ZXJzYSwgYnV0IHNpbmNlIGNhcHMgbWlnaHQgbm90IGJlIHNldCB5ZXQsIHRoZSB2aWRlbyBtb2RlCgkgIGlzIG5vdCBwcm9wZXJseSBjb25maWd1cmVkIGxlYXZpbmcgdGhlIGNhbWVyYSBpbiBhIGJyb2tlbiBzdGF0ZS4KCSAgSGVuY2UsIHNldHVwIGNhcHR1cmUgYW5kIHN0YXJ0IHRyYW5zbWlzc2lvbiBpbiB0aGUgc2V0IGNhcHMgbWV0aG9kLAoJICBhbmQgY29uc2VxdWVudGx5IGNsZWFyIHRoZSBjYXB0dXJlIGFuZCBzdG9wIHRoZSB0cmFuc21pc3Npb24KCSAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWSAoaW5zdGVhZCBvZiBQTEFZSU5HIHRvIFBBVVNFRCkuCgkgIFN5bW1ldHJ5Y2FsbHksIG9wZW4gdGhlIGNhbWVyYSB3aGVuIGdvaW5nIGZyb20gUkVBRFkgdG8gUEFVU0VELAoJICBhbGxvd2luZyB0byBwcm9iZSB0aGUgY2FtZXJhIGNhcHMgaW4gdGhlIG5lZ290aWF0aW9uIHN0YWdlLgoJICBJbXBsZW1lbnQgdGhhdCB1c2luZyB0aGUgYHN0YXJ0YCBhbmQgYHN0b3BgIG1ldGhvZHMgb2YgYEdzdEJhc2VTcmNgLAoJICBpbnN0ZWFkIG9mIHRoZSBgY2hhbmdlLXN0YXRlYCBtZXRob2Qgb2YgYEdzdEVsZW1lbnRgLgoJICBTdG9wIHRoZSBjYW1lcmEgYmVmb3JlIHNldHRpbmcgbmV3IGNhcHMgYW5kIHJlc3RhcnRpbmcgaXQgYWdhaW4KCSAgdG8gaGFuZGxlIGNhcHMgcmVjb25maWd1cmF0aW9uIHdoaWxlIGluIFBMQVlJTkcgKGl0IGhhcyBubyBlZmZlY3QKCSAgaWYgdGhlIGNhbWVyYSBpcyBub3Qgc3RhcnRlZCkuCgkgIC0gQ3JlYXRlIGJ1ZmZlcnMgY29weWluZyB0aGUgYnl0ZXMgb2YgdGhlIGNhcHR1cmVkIGZyYW1lcy4KCSAgQWx0ZXJuYXRpdmVseSwgdGhlIGJ1ZmZlcnMgY291bGQganVzdCB3cmFwIHRoZSBieXRlcyBvZiB0aGUgZnJhbWVzLAoJICByZWxlYXNpbmcgdGhlIGZyYW1lIGluIHRoZSBidWZmZXIncyBkZXN0cm95IG5vdGlmeSBmdW5jdGlvbiwKCSAgaWYgYWxsIGJ1ZmZlcnMgd2VyZSBkZXN0cm95ZWQgYmVmb3JlIGdvaW5nIGZyb20gUExBWUlORyB0byBQQVVTRUQuCgkgIC0gTm8gdGltZXN0YW1wIG5vciBvZmZzZXQgaXMgc2V0IHdoZW4gY3JlYXRpbmcgYnVmZmVycy4KCSAgVGltZXN0YW1waW5nIGlzIGRlbGVnYXRlZCB0byB0aGUgcGFyZW50IGNsYXNzIEJhc2VTcmMsCgkgIHNldHRpbmcgYGdzdF9iYXNlX3NyY19zZXRfbGl2ZWAgVFJVRSwgYGdzdF9iYXNlX3NyY19zZXRfZm9ybWF0YAoJICB3aXRoIEdTVF9GT1JNQVRfVElNRSBhbmQgYGdzdF9iYXNlX3NyY19zZXRfZG9fdGltZXN0YW1wYC4KCSAgQ2FwdHVyZWQgZnJhbWVzIGhhdmUgYSB0aW1lc3RhbXAgZmllbGQgd2l0aCB0aGUgc3lzdGVtIHRpbWUKCSAgYXQgdGhlIGNvbXBsZXRpb24gb2YgdGhlIHRyYW5zbWlzc2lvbiBvZiB0aGUgZnJhbWUsCgkgIGJ1dCBpdCBpcyBub3Qgc3VyZSB0aGF0IHRoaXMgY29tZXMgZnJvbSBhIG1vbm90b25pYyBjbG9jaywKCSAgYW5kIGl0IHNlZW1zIHRvIGJlIGxlZnQgTlVMTCBpbiBXaW5kb3dzLgoJICAtIFVzZSBHVUlEIGFuZCB1bml0IHByb3BlcnRpZXMgdG8gc2VsZWN0IHRoZSBjYW1lcmEgdG8gb3BlcmF0ZSBvbi4KCSAgVGhlIGNhbWVyYSBudW1iZXIgdXNlZCBpbiB2ZXJzaW9uIDAuWCBkb2VzIG5vdCB1bmlxdWVseSBpZGVudGlmeQoJICB0aGUgZGV2aWNlIChpdCBkZXBlbmRzIG9uIHRoZSBzZXQgb2YgY2FtZXJhcyBjdXJyZW50bHkgZGV0ZWN0ZWQpLgoJICBTaW5jZSB0aGUgR1VJRCBpcyA2NGJpdCBpZGVudGlmaWVyIChzYW1lIGFzIE1BQyBhZGRyZXNzKSwKCSAgaGFuZGxlIGl0IHdpdGggYSBzdHJpbmcgcHJvcGVydHkgd2l0aCBpdHMgaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb24uCgkgIEZvciBwcmFjdGljYWxpdHksIG9wZXJhdGUgb24gdGhlIGZpcnN0IGNhbWVyYSBhdmFpbGFibGUgaWYgdGhlIEdVSUQKCSAgaXMgbnVsbCAoZGVmYXVsdCkgYW5kIG1hdGNoIGFueSBjYW1lcmEgdW5pdCBudW1iZXIgaWYgdW5pdCBpcyAtMS4KCSAgQWx0ZXJuYXRpdmVseSwgdGhlIEdVSUQgY291bGQgYmUgaGFuZGVkIHdpdGggYW4gdW5zaWduZWQgNjQgYml0CgkgIGludGVnZXIgdHlwZSBwcm9wZXJ0eSwgdXNpbmcgYDB4ZmZmZmZmZmZmZmZmZmZmZmAgYXMgZGVmYXVsdCB2YWx1ZQoJICB0byBzZWxlY3QgdGhlIGZpcnN0IGNhbWVyYSBhdmFpbGFibGUgKGl0IGlzIG5vdCBhIHZhbGlkIEdVSUQgdmFsdWUpLgoJICAtIEtlZXAgbmFtZSBgR3N0RGMxMzk0YCBhbmQgcHJlZml4IGBnc3RfZGMxMzk0YCBhcyBpbiB2ZXJzaW9uIDAuWCwKCSAgYWx0aG91Z2ggYEdzdERDMTM5NFNyY2AgYW5kIGBnc3RfZGMxMzk0X3NyY2AgYXJlIG1vcmUgZGVzY3JpcHRpdmUuCgkgIC0gQWRqdXN0IGJ1aWxkIGZpbGVzIHRvIHJlZW5hYmxlIHRoZSBjb21waWxhdGlvbiBvZiB0aGUgcGx1Z2luLgoJICBSZW1vdmUgZGMxMzk0IGZyb20gdGhlIGxpc3Qgb2YgdW5wb3J0ZWQgcGx1Z2lucyBpbiBjb25maWd1cmUuYWMuCgkgIEFkZCB0aGUgbWlzc2luZyBmbGFncyBhbmQgbGlicmFyaWVzIHRvIE1ha2VmaWxlLgoJICBVc2UgYCQoKWAgZm9yIHZhcmlhYmxlIHN1YnN0aXR1dGlvbiwgYXMgbWFueSBwbHVnaW5zIGRvLAoJICBhbHRob3VnaCBvdGhlciBwbHVnaW5zIHVzZSBgQEBgIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMjYKCjIwMTYtMDYtMDggMTg6MDI6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE1vdmUgU0VFSyBoYW5kbGluZyB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uCgkgIEp1c3QgZm9yIGNvZGUgcmVhZGFiaWxpdHkuIERvZXNuJ3QgY2hhbmdlIGJlaGF2aW91cgoKMjAxNi0wNi0wNyAyMToxMDowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBXYWl0IGZvciBzZWdtZW50IGV2ZW50IGJlZm9yZSBjaGVja2luZyBpdAoJICBUaGUgaGV1cmlzdGljIHRvIGNob29zZSBiZXR3ZWVuIHBhY2tldGlzZSBvciBub3Qgd2FzIGNoYW5nZWQgdG8gdXNlIHRoZQoJICBzZWdtZW50IGZvcm1hdC4gVGhlIHByb2JsZW0gaXMgdGhhdCB0aGlzIGNoYW5nZSBpcyByZWFkaW5nIHRoZSBzZWdtZW50CgkgIGR1cmluZyB0aGUgY2FwcyBldmVudCBoYW5kbGluZy4gVGhlIHNlZ21lbnQgZXZlbnQgd2lsbCBvbmx5IGJlIHNlbnQKCSAgYWZ0ZXIuIFRoYXQgcHJldmVudGVkIHRoZSBkZWNvZGVyIHRvIGdvIGluIHBhY2tldGl6ZSBtb2RlLCBhbmQgYXZvaWQKCSAgdXNlbGVzcyBwYXJzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE2LTA2LTA3IDIxOjA0OjIxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IFdhaXQgZm9yIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNoZWNraW5nIGl0CgkgIFRoZSBoZXVyaXN0aWMgdG8gY2hvb3NlIGJldHdlZW4gcGFja2V0aXNlIG9yIG5vdCB3YXMgY2hhbmdlZCB0byB1c2UgdGhlCgkgIHNlZ21lbnQgZm9ybWF0LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIHJlYWRpbmcgdGhlIHNlZ21lbnQKCSAgZHVyaW5nIHRoZSBjYXBzIGV2ZW50IGhhbmRsaW5nLiBUaGUgc2VnbWVudCBldmVudCB3aWxsIG9ubHkgYmUgc2VudAoJICBhZnRlci4gVGhhdCBwcmV2ZW50ZWQgdGhlIGRlY29kZXIgdG8gZ28gaW4gcGFja2V0aXplIG1vZGUsIGFuZCBhdm9pZAoJICB1c2VsZXNzIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTYtMDYtMDcgMTQ6MTU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IGZpeCBidWlsZGRpciAhPSBzcmNkaXIgYnVpbGQsIGFuZCBkaXN0Y2hlY2sKCjIwMTYtMDYtMDEgMTk6MDI6MzMgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBqcGVnMjAwMHBhcnNlOiBBZGQgSlBFRzIwMDAgcGFyc2VyIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjIzNgoKMjAxNi0wNi0wMSAxOTowMTo0NCAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5oOgoJICBvcGVuanBlZzogc2V0IHNhbXBsaW5nIGluIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyMzYKCjIwMTYtMDUtMDIgMTc6Mzg6NTAgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFNldCBQVFMgb24gYWxpZ25lZCBidWZmZXJzCgkgIFRoaXMgd2FzIGJyb2tlbiBpbiAwOWMwNWRmIChtYWtlICJhbGlnbm1lbnQiIHByb3BlcnR5IG1vcmUgdXNlZnVsIGZvcgoJICBwYWNrZXRpc2F0aW9uKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTkyNgoKMjAxNi0wNi0wNyAxNzoyMjowMSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogYWx3YXlzIGRyYWluIGluIDo6bmVnb3RpYXRlCgkgIE1vdmUgY2FsbGluZyBnc3RfdnRkZWNfcHVzaF9mcmFtZXNfaWZfbmVlZGVkIGZyb20gOjpzZXRfZm9ybWF0IHRvIDo6bmVnb3RpYXRlIHNvCgkgIHRoYXQgd2UgYWx3YXlzIGRyYWluIGV2ZW4gd2hlbiByZW5lZ290aWF0aW9uIGlzIHRyaWdnZXJlZCBieSBkb3duc3RyZWFtLgoKMjAxNi0wNi0wNyAxNjowMDowMSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogdHJ5IHRvIHByZXNlcnZlIGRvd25zdHJlYW0gY2FwcyBvcmRlcgoJICB2dGRlYyBzcGVjaWZpZXMgc3lzbWVtOyBHTE1lbW9yeSBhcyB0ZW1wbGF0ZSBjYXBzLiBXaGVuIG5lZ290aWF0aW5nLCB3ZSB1c2VkIHRvCgkgIGNhbGwgZ3N0X3BhZF9wZWVyX3F1ZXJ5X2NhcHMgKC4uLiwgZmlsdGVyKSB3aXRoIG91ciB0ZW1wbGF0ZSBjYXBzIGFzIGZpbHRlci4gVGhlCgkgIHF1ZXJ5IGRvZXMgZ3N0X2NhcHNfaW50ZXJzZWN0IChmaWx0ZXIsIHBlZXJjYXBzKSBpbnRlcm5hbGx5IHdoaWNoIGdpdmVzCgkgIHByZWNlZGVuY2UgdG8gdGhlIG9yZGVyIG9mIHRoZSBmaWx0ZXIgY2Fwcy4gV2hpbGUgd2Ugd2FudCB0byBvdXRwdXQgc3lzbWVtIGJ5CgkgIGRlZmF1bHQsIHdoZW4gbmVnb3RpYXRpbmcgd2l0aCBnbGltYWdlc2luayB3aGljaCByZXR1cm5zIEdMTWVtb3J5OyBzeXNtZW07IHdlCgkgIGRvIHdhbnQgdG8gZG8gR0wsIHNvIHdlIG5vdyBxdWVyeSB1c2luZyBhIE5VTEwgZmlsdGVyIGFuZCBpbnRlcnNlY3QgdGhlIHJlc3VsdAoJICB3aXRoIG91ciB0ZW1wbGF0ZSBjYXBzIGdpdmluZyBwcmVjZWRlbmNlIHRvIGRvd25zdHJlYW0ncyBjYXBzLgoJICB0bDtkcjogbWFrZSBzdXJlIHdlIGVuZCB1cCBuZWdvdGlhdGluZyBHTE1lbW9yeSB3aXRoIGdsaW1hZ2VzaW5rCgoyMDE2LTA2LTA2IDE0OjA4OjQzIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGNzcmM6IEF2b2lkIGEgZGl2IGJ5IDAgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MzAyCgoyMDE2LTA2LTA2IDEyOjM4OjQ1IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBEbyBub3QgY2FsbCBnc3Rfb2JqZWN0X3VucmVmIG9uIEdzdENhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzI5OAoKMjAxNi0wNS0xOSAxMToxNjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogU2V0IERJU0NPTlQgb24gc3RhcnR1cCwgcmVzdW1lIGFuZCBhZnRlciBzZWVrcwoJICBJbml0aWFsIGJ1ZmZlcnMgYWZ0ZXIgU1RSRUFNX1NUQVJUIGFuZCBzZWVrcyBzaG91bGQgYWx3YXlzIGhhdmUgdGhlCgkgIERJU0NPTlQgZmxhZyBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NTAKCjIwMTUtMDktMjMgMDI6NTE6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogQ2hhbmdlIHRoZSBwYWQgbmFtaW5nIHNjaGVtZSB0byBpbmNsdWRlIGEgZ2VuZXJhdGlvbiBJRAoJICBBIHNpbXBsZSBmaXggZm9yIHRoZSBwcm9ibGVtIG9mIGNyZWF0aW5nIG5ldyBwYWRzIHdpdGggZHVwbGljYXRlCgkgIG5hbWVzIHdoZW4gc3dpdGNoaW5nIHByb2dyYW0sIGVhc2llciB0aGFuIHRoZSBhbHRlcm5hdGl2ZSBvZgoJICB0cnlpbmcgdG8gd29yayBvdXQgd2hpY2ggcGFkcyBtaWdodCBwZXJzaXN0IGFuZCBtYW5hZ2UgdGhhdC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0NTQKCjIwMTYtMDYtMDYgMTE6MTM6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IHBhdXNlKCkgc2hvdWxkIG5vdCBpbmhpYml0IHNpZ25hbHMgYnV0IHdvcmsgZXhhY3RseSBsaWtlIHBsYXkoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjA3I2MyMwoKMjAxNi0wNi0wMyAxNTo1ODo1MiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBpbXByb3ZlIGRlc2NyaXB0aW9uIG9mIFBJRHMgcHJvcGVydHkKCjIwMTYtMDYtMDMgMDc6MTE6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogT25seSB1c2UgdGhlIE9wZW5HTCBmcmFtZXdvcmsgb24gT1NYCgkgIEl0J3Mgbm90IGF2YWlsYWJsZSBvbiBpb3MgKHVzZXMgT3BlbkdMRVMgYWxyZWFkeSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk3MwoKMjAxNi0wNS0xNyAxNzoxNDo0OSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBnc3QtbGliczogZ2wsIHZpZGVvOiB1c2UgTUFZX0JFX0xFQUtFRCBmbGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNjIKCjIwMTYtMDUtMTggMTI6NDg6NDggKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGEyZHBzaW5rOiB1bnJlZiBhdmR0cHNpbmsgaWYgc3RhdGUgdHJhbnNpdGlvbiBmYWlsZWQKCSAgSWYgZm9yIHNvbWUgcmVhc29uIHRoZSBhdmR0cHNpbmsgZWxlbWVudCBjYW4ndCBnbyBSRUFEWSB0aGVuIHRoZQoJICBnc3RhMmRwc2luayBjYW4ndCBlaXRoZXIgYW5kIHNvIHNob3VsZCByZWxlYXNlIHRoZSByZXNzb3VyY2VzIGl0CgkgIGFsbG9jYXRlcyB3aGVuIHRyeWluZyB0byBkbyBzby4KCSAgRml4IGEgbGVhayB3aXRoIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MTYxCgoyMDE2LTA1LTI4IDIxOjM0OjUyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogQ0dMVGV4SW1hZ2VJT1N1cmZhY2UyRCBuZWVkcyB0aGUgT3BlbkdMIGZyYW1ld29yayBvbiBPU1gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk3MwoKMjAxNi0wNS0yOCAyMTozOTowMCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXZzYW1wbGV2aWRlb3Npbms6IGNoZWNrIHdlIGFyZSBjb21waWxpbmcgZm9yIDEwLjEgdXAgdG8gMTAuNAoJICBUaGlzIEFQSSB3YXMgZGVwcmVjYXRlZCBpbiAxMC40LCBzbyBkb24ndCB1c2UgaXQgZm9yIDEwLjUgYW5kIG9ud2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5NzMKCjIwMTYtMDYtMDEgMTM6NDM6MzIgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgYXBwbGVtZWRpYTogdnRlbmM6IFJlZ2lzdGVyIGEgaGFyZHdhcmUtb25seSB2dGVuY19oMjY0X2h3IGVsZW1lbnQgb24gT1NYCgkgIFNpbWlsYXIgdG8gdnRkZWNfaHcsIHRoaXMgY29tbWl0IGFkZHMgYSB2dGVuY19oMjY0X2h3IGVsZW1lbnQgdGhhdCBmYWlscwoJICBjYXBzIG5lZ290aWF0aW9uIHVubGVzcyBhIGhhcmR3YXJlIGVuY29kZXIgY291bGQgYWN0dWFsbHkgYmUgYWNxdWlyZWQuCgkgIFRoaXMgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgYSBmYWxsYmFjayB0byBhIHNvZnR3YXJlIGVuY29kZXIKCSAgb3RoZXIgdGhhbiB0aGUgdnRlbmNfaDI2NCBzb2Z0d2FyZSBlbmNvZGVyIGlzIGRlc2lyZWQgKGUuZy4gdG8geDI2NGVuYykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxMDQKCjIwMTYtMDYtMDIgMTY6MzA6MDIgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IG1ha2UgdnRkZWNfaHcgZmFsbGJhY2sgdG8gc29mdHdhcmUgb24gcmVuZWdvdGlhdGlvbgoJICBXaGVuIHJlbmVnb3RpYXRpbmcgbWlkIHN0cmVhbSAtIGZvciBleGFtcGxlIHdpdGggdmFyaWFibGUgYml0cmF0ZQoJICBzdHJlYW1zIC0gYW5kIHRoZXJlZm9yZSBkZXN0cm95aW5nIGFuZCByZWNyZWF0aW5nIFZUU2Vzc2lvbnMsIHRoZQoJICBodyBkZWNvZGVyIG1pZ2h0IGJlY29tZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4KCSAgVG8gZGVhbCB3aXRoIHRoaXMgYW5kIGF2b2lkIGVycm9yaW5nIG91dCBvbiBiaXRyYXRlIGNoYW5nZXMsCgkgIHZ0ZGVjX2h3IG5vdyBmYWxscyBiYWNrIHRvIHVzaW5nIHRoZSBzb2Z0d2FyZSBkZWNvZGVyIGlmIHRoZSBodwoJICBvbmUgd2FzIGF2YWlsYWJsZSBhdCBzb21lIHBvaW50IGJ1dCBpc24ndCBhbnltb3JlLiBBdAoJICByZW5lZ290aWF0aW9uL2JpdHJhdGUgY2hhbmdlIHRpbWUsIGl0IHdpbGwgc3RpbGwgcmV0cnkgdG8gb3BlbgoJICB0aGUgaGFyZHdhcmUgb25lLgoKMjAxNi0wNi0wMiAxMzoxMDo1MSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZml4IHN3aXRjaGluZyBmcm9tIEdMTWVtb3J5IHRvIFN5c21lbQoJICBXaGVuIHJlbmVnb3RpYXRpbmcgZnJvbSBHTE1lbW9yeSB0byBTeXNtZW0gZG8gdGVhcmRvd24gdGhlIHRleHR1cmVfY2FjaGUuCgkgIEZpeGVzOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MTkwCgoyMDE2LTA2LTAyIDExOjM2OjU3ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBvcHRpbWl6ZSByZW5lZ290aWF0aW9uCgkgIDo6bmVnb3RpYXRlIGNhbiBiZSBjYWxsZWQgc2V2ZXJhbCB0aW1lcyBiZWZvcmUgdGhlIENBUFMgZXZlbnQgaXMgc2VudCBkb3duc3RyZWFtCgkgIHNvIHVzZSB0aGUgY3VycmVudGx5IGNvbmZpZ3VyZWQgb3V0cHV0IHN0YXRlIGNhcHMgaW5zdGVhZCBvZiB0aGUgcGFkIGN1cnJlbnQKCSAgY2FwcyB3aGVuIGRlY2lkaW5nIHdoZXRoZXIgdG8gcmVjcmVhdGUgdGhlIFZUU2Vzc2lvbiBvciBub3QuCgkgIFRoaXMgbGVhZHMgdG8gY3JlYXRpbmcvZGVzdHJveWluZyBsZXNzIFZUU2Vzc2lvbnMgd2hpY2ggbWFrZXMgcmVuZWdvdGlhdGlvbiBtb3JlCgkgIHJlbGlhYmxlIGVzcGVjaWFsbHkgd2hlbiB1c2luZyBodyBkZWNvZGluZy4KCjIwMTYtMDYtMDEgMTM6NTI6MTAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVtb3ZlIGNvbW1lbnQgb24gc2VsZi1leHBsYW5hdG9yeSBjb2RlCgoyMDE2LTA2LTAxIDEzOjE4OjIxIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGF2b2lkIG91dC1ib3VuZCB3cml0ZSBvbiBQSUQgZmlsdGVyIGFycmF5CgkgIFRoZXJlJ3Mgbm8gbmVlZCBmb3IgYW4gZW5kLW9mLWxpc3QgbWFya2VyIGluIHRoZSBmaWx0ZXIKCSAgUElEcyBhcnJheSBpZiBmdWxsLCBhcyB0aGUgYWJzb2x1dGUgbWF4aW11bSBudW1iZXIgb2YKCSAgZWxlbWVudHMgKE1BWF9GSUxURVJTKSBpcyBrbm93bi4KCSAgQ0lEICMxMzYyNDQxCgoyMDE2LTA1LTMxIDIwOjQxOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggZXJyb3IgZGVidWcgbWVzc2FnZSB3aGVuIGNhbWVyYSBkb2Vzbid0IGV4aXN0CgkgIE1ha2VzIG5vIHNlbnNlIHRvIGluY2x1ZGUgdGhlIHN5c3RlbSBlcnJvciBoZXJlIHNpbmNlIGVycm5vCgkgIHdpbGwgbGlrZWx5IG5vdCBiZSBzZXQgYW5kIHRoZW4gaXQgc2F5cyAnc3lzdGVtIGVycm9yOiBzdWNjZXNzJwoJICB3aGljaCBpcyBjb25mdXNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcwODcKCjIwMTYtMDUtMzEgMTg6NTg6NDMgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoY3NyYzogcmVsZWFzZSByZXNvdXJjZXMgaW4gJ2ZpbmFsaXplJyBmdW5jdGlvbgoJICBJbiBnZW5lcmFsLCAnZGlzcG9zZScgZnVuY3Rpb24gaXMgdXNlZCBmb3IgZHJvcHBpbmcgYWxsIHJlZmVyZW5jZXMKCSAgYW5kICdmaW5hbGl6ZScgaXMgY2FsbGVkIGZvciByZWxlYXNpbmcgaW5zdGFuY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzA5CgoyMDE2LTA1LTI1IDE1OjAxOjMxICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkgIHBsYXllcjogaW5oaWJpdCBzaWduYWxzIGFmdGVyIGdzdF9wbGF5ZXJfc3RvcCgpIGhhcyBiZWVuIGNhbGxlZAoJICBBbHNvIHdhaXQgZm9yIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gU1RPUCB0byBoYXZlIGJlZW4gYW5ub3VuY2VkIGJlZm9yZQoJICBkZXN0cm95aW5nIHRoZSBwbGF5ZXIgc28gaXQgd29uJ3QgYXBwZWFyIGFzIGxlYWtlZCBieSBsZWFrIGRldGVjdG9yCgkgIHRvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjA3CgoyMDE2LTA1LTI1IDEyOjQ4OjEzICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkgIHBsYXllcjogaGFuZGxlIHVyaS1sb2FkZWQgaW4gdGVzdAoJICBIYWQgdG8gYWRhcHQgdGhlIGV4aXN0aW5nIHRlc3RzIGJlY2F1c2Ugb2YgdGhpcyBuZXcgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MDcKCjIwMTYtMDUtMjUgMTY6NTc6NDkgLTA3MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBEb24ndCBhc3N1bWUgY29udGlndW91cyBpZCdzIGluIG1ha2VfY29kZWNfZGF0YQoJICB2cHMvc3BzL3BwcyBpZCdzIGFyZSBub3QgcmVxdWlyZWQgdG8gYmUgdXNlZCBjb250aWd1b3VzbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4OTEKCjIwMTYtMDUtMjggMDE6MjI6MzIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHNhbXBsZSBBVFNDIGxhdW5jaCBsaW5lCgoyMDE2LTA1LTI4IDIxOjM2OjA0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJICBnbDogZ2xxdWVyeTogY2FzdCB0byBzaWxlbmNlIGNvbXBpbGVyIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk3MwoKMjAxNi0wNS0yOCAyMTozNTozNyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IGdsdGVzdHNyYy5oIGFscmVhZHkgZGVmaW5lcyBHc3RHTFRlc3RTcmMKCSAgQW5kIHJlZGVmaW5pdGlvbiBpcyBub3QgYWxsb3dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk3MwoKMjAxNi0wNS0yNyAyMzoyNDo1NCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiB1c2UgY29ycmVjdCBfTk9ORSBlbnVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY5NzMKCjIwMTYtMDUtMjggMTA6NDQ6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IG1haW50YWluIG1pbmltYWwgQUJJIGNvbXBhdAoJICBCZWNhdXNlIHdlIGNhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNC0wNS0yMiAxNjoxMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogUmVtb3ZlIHVudXNlZCBmcHNfbnVtL2Zwc19kZW4gZmllbGRzCgkgIEluc3RlYWQgdGhlIG5ld2x5IGFkZGVkIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHRvIGNhbGN1bGF0ZQoJICB0aGUgZnJhbWVyYXRlIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE2LTA1LTI1IDEwOjU5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHVwZGF0ZSBmcHMgY2FsY3VsYXRpb24gZm9yIGgyNjQgY29kZWMgcGFyc2VyIEFQSSBjaGFuZ2VzCgkgIFVzZSBuZXcgZ3N0X2gyNjRfdmlkZW9fY2FsY3VsYXRlX2ZyYW1lcmF0ZSgpIEFQSSBpbnN0ZWFkIG9mIGZwc19uL2Zwc19kCgkgIGZpZWxkcyBpbiBTUFMgc3RydWN0IHdoaWNoIGFyZSB0byBiZSByZW1vdmVkLgoJICBBcHBhcmVudGx5IEgyNjQgY29udGVudCBpbiBNU1MgaXMgYWx3YXlzIG5vbi1pbnRlcmxhY2VkL3Byb2dyZXNzaXZlLAoJICBzbyB3ZSBjYW4ganVzdCBwYXNzIDAgZm9yIGZpZWxkX3BpY19mbGFnIGFuZCBkb24ndCBuZWVkIHRvIHBhcnNlIGFueQoJICBzbGljZSBoZWFkZXJzIGZpcnN0IGlmIHRoZXJlJ3Mgbm8gZXh0ZXJuYWwgc2lnbmFsbGluZy4gQnV0IGV2ZW4gaWYKCSAgdGhhdCdzIG5vdCB0aGUgY2FzZSB0aGUgbmV3IGNvZGUgaXMgbm90IHdvcnNlIHRoYW4gdGhlIGV4aXN0aW5nIGNvZGUuCgkgIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvY2MxODkwODAlMjhWUy45NSUyOS5hc3B4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTYtMDUtMjYgMTA6Mjg6MTQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIHNpbmdsZSBtYXJrZXIgYXQgZW5kIG9mIGZpbHRlcmluZyBQSUQgbGlzdAoJICBBdm9pZHMgYXQgbGVhc3QgfjEwMCB1bm5lZWRlZCBhc3NpZ25tZW50IG9wZXJhdGlvbnMgYXQgcnVudGltZQoKMjAxNi0wNS0yMyAxNjozMTowNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzaW1wbGlmeSByZXBvcnRpbmcgb2Ygc2V0IHBvbGFyaXR5CgoyMDE2LTA1LTIzIDE0OjQxOjQwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBiYW5kd2lkdGgtaHogcHJvcGVydHkgZGVzY3JpcHRpb24KCSAgQmFuZHdpZHRoIEh6IGlzIG5vIGxvbmdlciBhIERWQlQtb25seSBwcm9wZXJ0eQoKMjAxNi0wNS0yMyAxNDowMjoxMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdXNhZ2Ugb2YgUEVTICYgRFZSIGFjcm9ueW1zIGV2ZXJ5d2hlcmUKCSAgQWRkaXRpb25hbGx5LCBpbXByb3ZlIG1lc3NhZ2Ugb24gZ3N0X3BvbGxfbmV3KCkgZmFpbHVyZQoKMjAxNi0wNS0yNiAyMDoxNjowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGFsd2F5cyB1bnJlZiB0aGUgY29udGV4dCBvbiBhIGNvbGxpc2lvbgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBsZWFrIEdzdEdMQ29udGV4dCdzIHdoZW4gYWRkaW5nIHRoZSBzYW1lIGNvbnRleHQgbW9yZSB0aGFuCgkgIG9uY2UuCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBjYXVzZWQgYnkgNWY5ZDEwZjYwMzYwNjg1MDJhZDIzZTFlYzg2YTczZTM0MTgwMWFlMSBpbiB0aGUKCSAgZ3N0Z2xjb250ZXh0IHVuaXQgdGVzdCB0aGF0IGZhaWxlZCB3aXRoOgoJICBBc3NlcnRpb24gJ3RtcCA9PSBOVUxMJyBmYWlsZWQKCjIwMTYtMDUtMjUgMTM6Mzg6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgUmV2ZXJ0ICJhZ2dyZWdhdG9yOiBTdGFydCB0aGUgdGFzayB3aGVuIGxpbmtlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMDI1ODBjMzgxNTEzNmQyOTQ3OWMzYThjYWU2MTFkNmUyZmYzNzA5LgoKMjAxNi0wNS0yMCAxNDozNDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogRG9uJ3QgY2FjaGUgYnVmZmVyIHBvb2wKCSAgUG9vbHMgY2Fubm90IGJlIHVzZWQgYnkgdGhlIHR3byBlbGVtZW50cyBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjExCgoyMDE2LTA0LTEzIDE2OjMwOjI4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFN0YXJ0IHRoZSB0YXNrIHdoZW4gbGlua2VkCgkgIFVudGlsIG5vdyB3ZSB3b3VsZCBzdGFydCB0aGUgdGFzayB3aGVuIHRoZSBwYWQgaXMgYWN0aXZhdGVkLiBQYXJ0IG9mIHRoZQoJICBhY3RpdmlhdGlvbiBjb25jaXN0IG9mIHRlc3RpbmcgaWYgdGhlIHBpcGVsaW5lIGlzIGxpdmUgb3Igbm90LgoJICBVbmZvcnR1bmF0bHksIHRoaXMgaXMgb2Z0ZW4gdG9vIHNvb24sIGFzIGl0J3MgbGlrZWx5IHRoYXQgdGhlIHBhZCBnZXQKCSAgYWN0aXZhdGVkIGJlZm9yZSBpdCBpcyBmdWxseSBsaW5rZWQgaW4gZHluYW1pYyBwaXBlbGluZS4KCSAgSW5zdGVhZCwgc3RhcnQgdGhlIHRhc2sgd2hlbiB0aGUgZmlyc3Qgc2VyaWFsaXplZCBldmVudCBhcnJpdmUuIFRoaXMgaXMKCSAgYSBzYWZlIG1vbWVudCBhcyB3ZSBrbm93IHRoYXQgdGhlIHVwc3RyZWFtIGNoYWluIGlzIGNvbXBsZXRlIGFuZCBqdXN0CgkgIGxpa2UgdGhlIHBhZCBhY3RpdmF0aW9uLCB0aGUgcGFkcyBhcmUgbG9ja2VkLCBoZW5jZSBjYW5ub3QgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NTQ4CgoyMDE2LTA1LTI1IDA5OjA5OjAxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbDogd2luMzI6IEFkZCBkZWJ1ZyBjYXRlZ29yeSBpbiBnc3RnbGNvbnRleHRfd2dsLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg2NwoKMjAxNi0wNS0xNiAyMDowMjoyOCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbGltYWdlc2luazogc3VwcG9ydCB2aWRlbyByb3RhdGlvbiB1c2luZyB0cmFuc2Zvcm0gbWF0cml4CgkgIEFkZCAicm90YXRlLW1ldGhvZCIgdG8gZ2xpbWFnZXNpbmsgYW5kIGFwcGx5IHRyYW5zZm9ybSBtYXRyaXgKCSAgdG8gdmVydGV4IGNvb3JkaW5hdGUgdG8gY29udHJvbCByb3RhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTc5NQoKMjAxNi0wNS0yNCAyMzozOToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZml4IHJhY2UgcmV0cmlldmluZyB0aGUgR0wgY29udGV4dCBmcm9tIHRoZSBkaXNwbGF5CgkgIF9nZXRfZ2xfY29udGV4dCgpIGNhbiBiZSBjYWxsZWQgY29uY3VycmVudGx5IGZyb20gZWl0aGVyIHByb3Bvc2VfYWxsb2NhdGlvbigpIG9yCgkgIGRlY2lkZV9hbGxvY2F0aW9uKCkuICBJZiBpdCBzbyBoYXBwZW5zIHRoYXQgdGhpcyBoYXBwZW5zIGF0IHRoZSBzYW1lIHRpbWUsCgkgIHRoZSBjaGVjayBmb3Igd2hldGhlciB3ZSBhbHJlYWR5IGhhZCBhIEdMIGNvbnRleHQgd2FzIG91dHNpZGUgdGhlIGxvY2suICBJbnNpZGUKCSAgdGhlIGxvY2sgYW5kIGxvb3AsIHRoZSBmaXJzdCB0aGluZyB0aGF0IGhhcHBlbnMgaXMgdGhhdCB3ZSB1bnJlZiB0aGUgY3VycmVudCBHTAoJICBjb250ZXh0IChpZiB2YWxpZCkgYXMgaWYgdGhlcmUgd2FzIGEgY29uZmxpY3QgYWRkaW5nIGl0IHRvIHRoZSBkaXNwbGF5LiAgSWYgdGhlCgkgIHRpbWluZyB3YXMgdW5sdWNreSwgc3Vic2VxdWVudCB1c2Ugb2YgdGhlIEdMIGNvbnRleHQgd291bGQgYmUgcmVmZXJlbmNpbmcgYW4KCSAgYWxyZWFkeSB1bnJlZmZlZCBHTCBjb250ZXh0IG9iamVjdCByZXN1bHRpbmcgaW4gYSBjcml0aWNhbDoKCSAgZ19vYmplY3RfcmVmOiBhc3NlcnRpb24gJ29iamVjdC0+cmVmX2NvdW50ID4gMCcgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MDMKCjIwMTYtMDUtMjQgMjM6Mzg6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBhZGQgc29tZSBkZWJ1Z2dpbmcgYWJvdXQgcmV0cmlldmluZyBHTCBjb250ZXh0cwoKMjAxNi0wNS0yNSAxMDowMTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSAgZWdsaW1hZ2U6IFJlLWFkZCBhY2NpZGVudGlhbGx5IHJlbW92ZWQgR1NUX0RFRklORV9NSU5JX09CSkVDVF9UWVBFKCkKCjIwMTYtMDUtMjMgMTU6MjQ6NTMgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBmaXggc3VidXJpIGdldHRlciBkZWJ1ZyBtZXNzYWdlCgkgIFRoZSBwcm9wZXJ0eSBpcyBhIHN0cmluZywgbm90IGEgYm9vbGVhbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYwNwoKMjAxNi0wNS0yNSAwOTo1MzoxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRG9uJ3Qgc2V0IHN1YnRpdGxlIFVSSSBkaXJlY3RseSBidXQgZGlzcGF0Y2ggdG8gdGhlIHBsYXllciB0aHJlYWQKCSAgT3RoZXJ3aXNlIHdlIGRvIHN0YXRlIGNoYW5nZXMgYW5kIGV2ZXJ5dGhpbmcgaW4gdGhlIGFwcGxpY2F0aW9uIHRocmVhZCwgd2hpY2gKCSAgbWlnaHQgYmxvY2sgYW5kIG1vcmUgaW1wb3J0YW50IGNhbiBjYXVzZSByZWVudHJhbnQgc2lnbmFscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYwNwoKMjAxNi0wNS0yMyAyMDoxMToxNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSAgZWdsaW1hZ2U6IEVuc3VyZSB0aGF0IHRoZSBkZWJ1ZyBjYXRlZ29yeSBpcyBhbHdheXMgaW5pdGFsaXplZAoJICBCZWZvcmUgdGhlIGluaXRpYWxpemVyIHdhcyBvbmx5IHJ1biBpZiBkbWFidWYgc3VwcG9ydCB3YXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njc5NAoKMjAxNi0wNS0yNCAyMzozMDowOSArMTAwMCAgQXJqZW4gVmVlbmh1aXplbiA8YXJqZW4udmVlbmh1aXplbkB0bm8ubmw+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBtYWtlIHRoZSBwaXZvdC16IHByb3BlcnR5IFJFQURXUklURQoJICBJbnN0ZWFkIG9mIGp1c3QgYmVpbmcgUkVBREFCTEUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4MTgKCjIwMTYtMDUtMjMgMTA6NDA6NTggKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGZpeCBzcmNfaW1wbCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjEKCjIwMTYtMDUtMjQgMDA6NTU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkgIGctaTogcGFzcyBjb21waWxlciBlbnYgdG8gZy1pci1zY2FubmVyCgkgIEl0J3Mgd2hhdCBpbnRyb3NwZWN0aW9uLm1hayBkb2VzIGFzIHdlbGwuIFNob3VsZAoJICBmaXggc3B1cmlvdXMgYnVpbGQgZmFpbHVyZXMgb24gZ25vbWUtY29udGludW91cy4KCjIwMTYtMDUtMjQgMDc6MTc6MjIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSAgcG5tZGVjOiBGaXggQVNDSUkgcGFyc2luZwoJICBQYXJzZSBncmF5MTYgcHJvcGVybHkgaW4gYXNjaWkgbW9kZSwgYW5kIGZpeAoJICBzb21lIGJ1Z3MgYXJvdW5kIHJlYWRpbmcgZGF0YSBpbiBjaHVua3Mgd2hlbgoJICBhc2NpaSB2YWx1ZXMgY3Jvc3MgY2h1bmsgYm91bmRhcmllcwoKMjAxNi0wNS0xOSAwMToyODowNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcG5tLmM6CgkgIHBubTogQWRkIGEgYmFzaWMgdW5pdCB0ZXN0CgkgIFRlc3QgdGhhdCB3ZSBjYW4gcnVuIGFuIGVuY29kZSAvIGRlY29kZSBjeWNsZSBpbiB2YXJpb3VzCgkgIGZvcm1hdHMgd2l0aG91dCBlcnJvcnMKCjIwMTYtMDUtMTkgMDE6MDQ6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBNYWtlIG91dHB1dCBjYXBzIG1hdGNoIHRoZSBzcmNwYWQgdGVtcGxhdGUKCSAgRG9uJ3Qgb3V0cHV0ICdpbWFnZS9wbm0nLCB3aGljaCBpc24ndCBldmVuIGluIHRoZSB0ZW1wbGF0ZQoJICBjYXBzLiBJbnN0ZWFkLCBvdXRwdXQgYSBtaW1lLXR5cGUgY29uc2lzdGVudCB3aXRoIHdoYXQgd2UKCSAgYXJlIGVuY29kaW5nLgoKMjAxNi0wNS0xOCAxNzoxOTo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IFRpZHkgdXAgY29kZSwgc3VwcG9ydCBCRS9MRSBHUkFZMTYgcHJvcGVybHkKCSAgUmVtb3ZlIGNvZGUgdGhhdCBkZWFsdCB3aXRoIG9kZCBzdHJpZGVzIHNlcGFyYXRlbHkgLSB0aGVyZSdzCgkgIG5vdCByZWFsbHkgYW55IG92ZXJoZWFkIHRvIGp1c3QgdXNpbmcgMSBjb2RlcGF0aCBmb3IgYm90aCBtYXRjaGVkCgkgIGFuZCB1bm1hdGNoZWQgc3RyaWRlIG91dHB1dC4KCSAgQWRkIHNlcGFyYXRlIGNvZGVwYXRocyBmb3IgQkUgdnMgTEUgR1JBWTE2IGlucHV0IHNvIHRoZXkncmUKCSAgaGFuZGxlZCBwcm9wZXJseQoKMjAxNi0wNS0xNiAyMToyMjo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJICBwbm1kZWM6IEFjdHVhbGx5IG91dHB1dCBMRSBvciBCRSBHUkFZMTYgYXMgbmVnb3RpYXRlZAoJICBBZGQgY29kZXBhdGhzIHRvIG91dHB1dCBHUkFZMTYgaW4gbGl0dGxlIG9yIGJpZyBlbmRpYW4KCSAgYXMgbmVnb3RpYXRlZC4KCSAgTW92ZSBhbGwgb3V0cHV0IGZvcm1hdCBuZWdvdGlhdGlvbiBpbnRvIGEgY2VudHJhbAoJICBmdW5jdGlvbiBhbmQgY2xlYW4gaXQgdXAKCjIwMTUtMTAtMjIgMTc6MDY6MDEgKzAyMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm1kZWM6IEltcGxlbWVudGF0aW9uIG9mIEdSQVkxNiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDIyCgoyMDE1LTEwLTE5IDE3OjE1OjMwICswMjAwICBEaW1pdHJpb3MgS2F0c2Fyb3MgPHBhdGNoZXJ3b3JrQGdtYWlsLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogSW1wbGVtZW50YXRpb24gb2YgR1JBWTE2IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwMjIKCjIwMTYtMDUtMjAgMTk6MjU6NTcgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNidWZmZXJwb29sLmM6CgkgIGttc2J1ZmZlcnBvb2w6IGVycm9yIG9ubHkgaWYgbm8gYWxsb2NhdG9yCgkgIERvIG5vdCBleHBlY3QgYW4gYWxsb2NhdG9yIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24sIGJ1dCBleHBlY3QgdG8gaGF2ZSBhbHJlYWR5CgkgIG9uZSBzZXQuCgoyMDE2LTA1LTE1IDExOjUyOjU1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBmcmFtZSBjb3B5IGxvZyBpbiBwZXJmb3JtYW5jZSBjYXRlZ29yeQoJICBMb2cgdGhlIG1lc3NhZ2Ugd2hlbiB0aGUgZnJhbWUgaXMgZ29pbmcgdG8gYmUgY29weSAod29yc2UgY2FzZSkgdW5kZXIgdGhlCgkgIHBlcmZvcm1hbmNlIGxvZyBjYXRlZ29yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQ2NgoKMjAxNi0wNS0xNSAxMTo1MToyMiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogdXNlIHRyYWNlIGxldmVsIGZvciBidWZmZXIgcmVuZGVyIGxvZwoJICBJbnN0ZWFkIG9mIHVzaW5nIGRlYnVnIGxldmVsIGZvciBsb2dnaW5nIGVhY2ggYnVmZmVyIHJlbmRlcmVkLCB1c2UgdHJhY2UKCSAgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0NjYKCjIwMTYtMDUtMjMgMTc6MDA6MjIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSAgcGxheWVyOiBGaXggZG9jdW1lbnRhdGlvbiBmb3IgZ3N0X3BsYXllcl92aWRlb19pbmZvX2dldF9mcmFtZXJhdGUoKQoJICBEb2N1bWVudCBvdXQgcGFyYW1ldGVycyBhbmQgZml4IGZ1bmN0aW9uIG5hbWUuCgoyMDE2LTA1LTE4IDE2OjAwOjQ3ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkgIHBsYXllcjogdXNlIGdzdF9jaGVja19pbml0KCkgaW4gdGVzdAoJICBDYWxsaW5nIEdTVF9ERUJVRygpIGluIHRlc3QgcmVseSBvbiB0aGUgZGVmYXVsdCBjYXRlZ29yeSB0byBiZSBkZWZpbmVkLAoJICB3aGljaCBpcyBkb25lIGluIGdzdF9jaGVja19pbml0KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MDcKCjIwMTYtMDUtMjAgMTc6Mjg6NTIgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogZW5hYmxlIE1DVCBmb3IgUkdCIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY3MzIKCjIwMTYtMDUtMjAgMTQ6MDg6MDMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZ3JvdXAgRFZCLVQyIHN1YnN0cmVhbS1pZCBjaGVjayB3aXRoIGl0cyBjb3JyZXNwb25kaW5nIHNldF9wcm9wKCkKCjIwMTYtMDUtMjAgMTM6NTc6NDUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIERWQi1TMiBzdWItc3RyZWFtIElEIGNoZWNrCgkgIERpc2FibGUgaWYgaW52YWxpZCAoPiAyNTUpIGluc3RlYWQgb2YgYmxpbmR5IHNldHRpbmcgdGhpcwoJICBwcm9wZXJ0eSByZWdhcmRsZXNzIG9mIGl0cyBhY3R1YWwgdmFsdWUuCgoyMDE2LTA1LTIwIDEzOjQ3OjA2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGNsYXJpZnkgY29uc2VxdWVuY2Ugb2YgcGFzc2luZyBhIHdyb25nIElEIHRvIHRoZSBzdWJzdHJlYW0gZmlsdGVyCgoyMDE2LTA1LTE5IDE3OjA1OjMzICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBmaXggc2hhZGVycyByZWYgY291bnRpbmcKCSAgVGhlIGdsdGVzdHNyYyBlbGVtZW50IHVzZXMgdHdvIHNoYWRlcnM6IGNvbG9yX3NoYWRlciBhbmQgc25vd19zaGFkZXIuCgkgIFRob3NlIGFyZSBhbHRlcm5hdGl2ZWx5IGFzc2lnbmVkIHRvIHRoZSBTcmNTaGFkZXItPnNoYWRlciBwb2ludGVyIGFuZAoJICB0aGVpciByZWZlcmVuY2Ugd2FzIHRyYW5zZmVycmVkIHRvIGl0LiBPbmx5IHRoZSBTcmNTaGFkZXItPnNoYWRlciB3YXMKCSAgdW5yZWZmZWQgKGluIF9zcmNfc2hhZGVyX2RlaW5pdCgpKSBzbyBvbmx5IG9uZSBzaGFkZXIgd2FzIHByb3Blcmx5CgkgIGZyZWVkLCB0aGUgb3RoZXIgb25lIHdhcyBsZWFrZWQuCgkgIEZpeGVkIHRoaXMgYnkgZ2l2aW5nIGFuIGV4dHJhIHJlZiB0byBTcmNTaGFkZXItPnNoYWRlciBhbmQgdW5yZWZmaW5nIHRoZQoJICAyIHNoYWRlcnMgaW4gX3NyY19zbXB0ZV9mcmVlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjEKCjIwMTYtMDUtMTkgMTY6NTU6MzEgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkgIGdsbW9zYWljOiBmaXggc2hhZGVyIGxlYWsKCSAgZ3N0X2dsX21vc2FpY19pbml0X3NoYWRlcigpIGlzIGNhbGxlZCB0d2ljZSB3aXRoIHRlc3RfZ2xtb3NhaWMgc28gdGhlCgkgIGZpcnN0IHNoYWRlciB3YXMgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYxCgoyMDE2LTA1LTE2IDE3OjExOjUzIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBVbnBhcmVudCBpbnRlcm5hbCB3aW5kb3cgYmVmb3JlIGRlc3Ryb3lpbmcgaXQKCSAgRm9yIHNvbWUgcmVhc29uIERlc3Ryb3lXaW5kb3coKSBkZWFkbG9jayBpZiBpdCdzIGNhbGxlZCBmcm9tCgkgIHBhcmVudCB3aW5kb3cncyBLZXlQcmVzcyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjUzMwoKMjAxNi0wNS0xNiAxNToyNjo1MyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogRG9uJ3Qgc3RlYWwgcGFyZW50IGZvY3VzIHdoZW4gY3JlYXRpbmcgaW50ZXJuYWwgd2luZG93CgkgIFRoaXMgZml4IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSAwYWNjMThjNjBmNmY5NjJjYzY1NTNmNjA0N2ZkYjY0ODkxYmFiNTQ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTIwCgoyMDE2LTA1LTE0IDExOjU2OjU5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IHdhaXQgaWYgaW5wdXQgYnVmZmVyIGlzIGFmdGVyIG91dHB1dAoJICBJZiB0aGUgaW5wdXQgYnVmZmVyIGlzIGFmdGVyIHRoZSBlbmQgb2YgdGhlIG91dHB1dCBidWZmZXIsIHRoZW4gd2FpdGluZwoJICBmb3IgbW9yZSBkYXRhIHdvbid0IGhlbHAuIFdlIHdpbGwgbmV2ZXIgZ2V0IGFuIGlucHV0IGJ1ZmZlciBmb3IgdGhpcyBwb2ludC4KCSAgVGhpcyBmaXhlcyBjb21wb3NpdGluZyBvZiBzdHJlYW1zIGZyb20gcnRzcHNyYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQyMgoKMjAxNi0wNS0xOSAwOToyNTo1NyAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IGZpeCBwb3RlbnRpYWwgTlVMTCBkZXJlZgoJICBUaGlzIGJ1ZyB3YXMgZm91bmQgdmlhIGNwcGNoZWNrIHN0YXRpYyBhbmFseXNpcy4KCSAgSWYgYW5kcm9pZC5oYXJkd2FyZS5DYW1lcmEuZ2V0UGFyYW1ldGVycyByZXR1cm5zIE5VTEwsIHRoZW4gb2JqZWN0IHdpbGwKCSAgYmUgTlVMTCwgYW5kIHdlIHdvbid0IGFsbG9jYXRlIHBhcmFtcy4gVGhpcyBtZWFucyB0aGF0IHRoZSBHU1RfREVCVUcKCSAgc3RhdGVtZW50IHJlZmVyZW5jaW5nIHBhcmFtcy0+b2JqZWN0IHdpbGwgYmUgaW52YWxpZC4gRml4IHRoaXMgYnkKCSAgZXhpdGluZyBlYXJseSBpZiBhbmRyb2lkLmhhcmR3YXJlLkNhbWVyYS5nZXRQYXJhbWV0ZXJzIHJldHVybnMgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYzOAoKMjAxNi0wNS0xOSAxMTozMzo1MiAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGM6IGZpeCB0eXBvIGluIGRvYyBibHVyYgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2Njc5CgoyMDE2LTA1LTE4IDE2OjU1OjM4ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHBlbmRpbmcgdGFncyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjIKCjIwMTYtMDUtMTggMTI6MzA6MDUgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGNoYWluIHVwIGZpbmFsaXplIG1ldGhvZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTk3CgoyMDE2LTA1LTE4IDEyOjMzOjUxIC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogb3BlbmN2OiB0eXBvIGZpeAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjM5CgoyMDE2LTA1LTE4IDIxOjI5OjE1IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5oOgoJICBsdjI6IHN1cHBvcnQgQ1ZQb3J0cwoJICBDVlBvcnRzIGFyZSBwb3J0cyB0aGF0IHRha2UgYSBidWZmZXIuIEZvciBub3cgd2UganVzdCBmaWxsIHRoZSBidWZmZXJzIHdpdGgKCSAgdGhlIGNvbnRyb2wgdmFsdWUuCgoyMDE2LTA1LTE4IDIxOjI2OjUwIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSAgbHYyOiB1c2UgX09CSkVDVCBsb2cgdmFyaWFudHMgYW5kIGxvd2VyIGxvZyBsZXZlbCB3aGVuIHByb2Nlc3NpbmcKCjIwMTYtMDUtMTcgMTQ6MzM6MDQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogbW92ZSBJU0RCLVQgYmFuZHdpZHRoIGNoZWNrIHRvIF9pc192YWxpZF9iYW5kd2lkdGgoKQoJICBBbGxvd3MgdGVzdCB0byBiZSB1c2VkIGZvciBkZWxpdmVyeSBzeXN0ZW0gYXV0by1kZXRlY3Rpb24uCgkgIEFkZGl0aW9uYWxseSwgYWRkIDAgKGF1dG8pIGFzIHZhbGlkIHZhbHVlLgoKMjAxNi0wNS0xNyAxNDoxOTozMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgJzAnIGFzIGEgdmFsaWQgdmFsdWUgZm9yIGJhbmR3aWR0aAoJICBVbmRlcmx5aW5nIEFQSSBjb25zaWRlcnMgdGhpcyB0aGUgQkFORFdJRFRIX0haIGVxdWl2YWxlbnQKCSAgdG8gdGhlIG9sZCBCQU5EV0lEVEhfQVVUTyBmb3IgQkFORFdJRFRILgoKMjAxNi0wNS0xNyAxMzo1Mzo1NCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmYWN0b3Igb3V0IGFuZCByZXVzZSBEVkItVC9UMiBiYW5kd2lkdGggY2hlY2tzCgkgIFVzZSBuZXcgdXRpbGl0eSBmdW5jdGlvbiBhcyBhbiBhZGRpdGlvbmFsIGNoZWNrIGZvciBkZWxpdmVyeQoJICBzeXN0ZW0gYXV0by1kZXRlY3Rpb24uCgoyMDE2LTA1LTE3IDEyOjA2OjQ1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHJlY29nbml6ZSBhZGRpdGlvbmFsIGJhbmR3aWR0aHMgYXQgemFwIHBhcnNpbmcKCSAgUHJldmlvdXNseSBpZ25vcmVkIDEuNzEyLCA1IGFuZCAxMCBNSHogdmFsdWVzIGFyZSBhbHNvIHZhbGlkCgoyMDE2LTA1LTE2IDEyOjI3OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBjYW5vbmljYWxpc2UgZnVuY3Rpb24gbmFtZXMKCSAgSGFkIHRvIGJlIGRvbmUgYXQgc29tZSBwb2ludDoKCSAgZ3N0X3ZpZGVvYWdncmVnYXRvcl8qIC0+IGdzdF92aWRlb19hZ2dyZWdhdG9yXyoKCSAgQWxzbyBmaXggdXAgc29tZSBmdW5jdGlvbiBuYW1lcyB3aXRoIHR5cG9zLgoKMjAxNi0wNS0xNSAyMzozMTozMyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIGx2MjogY2xlYW51cCB0aGUgcHJlZGljYXRlcwoJICBVc2UgdGhlIGRlZmluZXMgZnJvbSB0aGUgaGVhZGVycyBhbmQgZ2V0IHJpZCBvZiBvdXIgb3duIG5hbWVzcGFjZSBkZWZpbmVzLgoJICBSZXBsYWNlIHRoZSAncm9sZScgcHJvcCB3aXRoICdkZXNpZ25hdGlvbicuCgoyMDE2LTA1LTE1IDIzOjI3OjIyIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IHR3ZWFrIGVudW0gbG9nZ2luZwoJICBMb2cgbW9yZSBkZXRhaWxzIHdoZW4gd2UgZmluZCBhIGJhZCBzY2FsZXBvaW50IGFuZCBkb3duZ3JhZGUgdGhlIGxvZ2dpbmcgb2YgdGhlCgkgIGdvb2QgZW51bSB2YWx6ZXMuCgoyMDE2LTA1LTE1IDIyOjA1OjQzIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiBnZW5lcmF0ZSBlbnVtcyBmcm9tIHNjYWxlcG9pbnRzCgkgIFBsdWdpbnMgY2FuIHByb3ZpZGUgYSBzZXQgb2YgbmFtZWQgdmFsdWVzIGZvciBhIGNvbnRyb2wgcG9ydC4gSWRlYWxseSBvbmx5IHRob3NlCgkgIHZhbHVlcyBhcmUgc2V0IGZvciB0aGUgcHJvcGVydHkuIENoZWNrIGlmIGFsbCBzY2FsZXBvaW50cyBhcmUgaW50ZWdlcnMgYW5kIGlmIHNvCgkgIGdlbmVyYXRlIGFuIGVudW0gdHlwZS4KCjIwMTYtMDUtMTUgMTk6NDU6MjYgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogcmVkdWNlIGxvZyBzcGFtIGZvciBwcm9wZXJ0eSBib3VuZHMKCSAgT25seSBjb21wbGFpbiBhYm91dCBiYWQgYm91bmRzLCBpZiB0aGUgcGx1Z2luIGFjdHVhbGx5IHNldCB0aG9zZS4gT3RoZXJ3aXNlCgkgIHNpbGVudGx5IGFkanVzdCBvdXIgZGVmYXVsdHMuCgoyMDE2LTA1LTE1IDE3OjU4OjUxIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgbHYyOiByZW1vdmUgbHYyX3N5bWJvbF9wcmVkCgkgIFdlJ3JlIG5vdCBhY3R1YWxseSB1c2luZyBpdC4KCjIwMTYtMDUtMTUgMTc6NTQ6MDYgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJICBsdjI6IHJlbW92ZSBsZWZ0b3ZlciBGSU1FCgoyMDE2LTA1LTE1IDAwOjQxOjEyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNwZWNpYWwgY2FzZSBkZXRlY3Rpb24gd2hlbiBEVkItVCBhbmQgVDIgc2VlbSB2YWxpZAoJICBUaGVyZSBpcyBubyB3YXkgdG8gdGVsbCBvbmUgb3ZlciB0aGUgb3RoZXIgd2hlbiBwYXJhbWV0ZXJzCgkgIHNlZW0gdmFsaWQgZm9yIERWQi1UIGFuZCBEVkItVDIgYW5kIHRoZSBhZGFwdGVyIHN1cHBvcnRzCgkgIGJvdGguIFJlYXNvbiB0byBnbyB3aXRoIHRoZSBmb3JtZXIgaGVyZSBpcyB0aGF0LCBmcm9tCgkgIGV4cGVyaWVuY2UsIG1vc3QgRFZCLVQyIGNoYW5uZWxzIG91dCB0aGVyZSBzZWVtIHRvIHVzZQoJICBwYXJhbWV0ZXJzIHRoYXQgYXJlIG5vdCB2YWxpZCBmb3IgRFZCLVQsIGxpa2UgUUFNXzI1NgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NzMxCgoyMDE2LTA1LTE0IDIzOjMyOjQ5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCB0cmFuc21pc3Npb24gbW9kZSBjaGVjayBmb3IgRFRNQgoKMjAxNi0wNS0xMyAwMTo1NDo1NiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiB1c2UgcHJvcGVyIGZlX3NwZWN0cmFsX2ludmVyc2lvbiBlbnVtIGlkZW50aWZpZXJzCgoyMDE2LTA1LTEzIDAxOjI1OjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGV4cGxpY2l0bHkgZGlzYWJsZSBzdHJlYW0gZmlsdGVyIGZvciBpbnZhbGlkIGlkcwoKMjAxNi0wNS0xMyAwMDo1MDo0NSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBkbyBub3QgYXNzdW1lIERWQi1UIGZyb20gemFwIGZpbGUgYWxvbmUKCSAgRFZCLVQvVDIgaGF2ZSB0aGUgc2FtZSBudW1iZXIgb2YgZmllbGRzIHNvIHdlIHdlcmUKCSAgd3JvbmdseSBhc3N1bWluZyBEVkItVCBmb3IgRFZCLVQyIGJyb2FkY2FzdHMuIE5vdAoJICBzZXR0aW5nIHRoZSBkZWxpdmVyeSBzeXN0ZW0gaGVyZSBhbGxvd3MgZm9yIGR2YnNyYwoJICB0byBtYWtlIGFuIGluZm9ybWVkIGd1ZXNzIGJhc2VkIG9uIHRoZSBjaGFubmVsCgkgIHBhcmFtZXRlcnMuCgoyMDE2LTA1LTEzIDAwOjEyOjMzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGNvbnNpZGVyIHRyYW5zbWlzc2lvbiBtb2RlIGZvciBkZWxzeXMgYXV0b2RldGVjdGlvbgoKMjAxNi0wNS0xMyAwMDowNDowOCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmYWN0b3Igb3V0IHRyYW5zbWlzc2lvbiBtb2RlIGNoZWNrIGFnYWluc3QgZGVsc3lzCgoyMDE2LTA1LTEyIDE2OjQzOjA5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGltcHJvdmUgZGVsaXZlcnkgc3lzdGVtIGF1dG9kZXRlY3Rpb24KCjIwMTYtMDUtMTIgMTQ6MTI6MDkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1vZHVsYXRpb24gY2hlY2tzIGZvciBEVkItVCBhbmQgVDIKCjIwMTYtMDUtMTUgMTQ6NDY6NDAgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHVzZSBfT0JKRUNUIGxvZyB2YXJpYW50cyBmb3IgcGx1Z2luX2luaXQKCSAgQWxzbyB0cmltIGxlYWRpbmcgd2hpdGVzcGFlLgoKMjAxNi0wNS0xNSAxNDo0NToxNSAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuaDoKCSAgbHYyOiBhZGQgcmVnaXN0cnkgY2FjaGluZwoJICBVc2UgdGhlIHBsdWdpbl9jYWNoZSBleHRyYSBkYXRhIHRvIGF2b2lkIGludHJvc3BlY3Rpbmcgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMTYtMDUtMTQgMTI6MzU6MTUgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IGltcGxlbW50IHRoZSBtYXAtZXh0ZW5zaW9uCgkgIFRoaXMgaXMgdGhlIG1vc3QgdXNlZCBvbmUgYW5kIGF0IHRoZSBzYW1lIHRpbWUgZWFzeSB0byBpbXBsZW1lbnQgc2luZyBRR1F1YXJrLgoKMjAxNi0wNS0xNCAxMjozNDoxMCAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5oOgoJICBsdnM6IGFkZCByZXF1aXJlX2ZlYXR1cmUgY2hlY2tzCgkgIFBsdWdpbnMgY2FuIHJlcG9ydCB3aGF0IGhvc3QgZmVhdHVyZXMgdGhleSBuZWVkLiBTaW5jZSB3ZSBzdGFydCB0byBpbXBsZW1lbnQgaG9zdCBmZWF0dXJlCgkgIGNoZWNrIHdoaWNoIHBsdWdpbnMgd2UgY2FuIG5vIHN1dXBvcnQuCgoyMDE2LTA1LTE1IDE0OjM0OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBDaGVjayBpZiB3ZSBnZXQgYSB2YWxpZCBkaXNwbGF5IHJhdGlvCgkgIEFzIGlzIGRvbmUgZXZlcnl3aGVyZSBlbHNlLCBhbmQgYXZvaWRzIHNldHRpbmcgYm9ndXMgdmFsdWVzCgkgIEFuZCByZW1vdmUgdXNlbGVzcyAqPHZhbD4gY2hlY2tzICh3ZSBhbHdheXMgcHJvdmlkZSB2YWxpZCB2YWx1ZXMgYW5kCgkgIGl0J3MgYW4gaW50ZXJuYWwgZnVuY3Rpb24pLgoJICBDSUQgIzEzMjA3MDAKCjIwMTYtMDUtMTUgMTQ6MTY6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgkgICogcmVhZCBpcyBvbmx5IHVzZWQgd2l0aGluIHRoZSB3aGlsZSBsb29wCgkgICogdG9kbyBhbmQgYnNpemUgb25seSBuZWVkIHRvIGJlIGFzc2lnbmVkIG9uY2UKCjIwMTYtMDUtMTUgMTU6MTE6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IEFkZCB1cmktbG9hZGVkIHNpZ25hbCB0aGF0IGlzIGZpcmVkIHdoZW5ldmVyIGEgbmV3IFVSSSBpcyBhY3R1YWxseSBsb2FkZWQKCSAgVGhpcyBhbGxvd3Mga25vd2luZyB0aGUgImJvdW5kYXJ5IiBmcm9tIHdoaWNoIG9uIGFsbCBmb2xsb3dpbmcgc2lnbmFscyBhcmUgZm9yCgkgIHRoZSBuZXcgVVJJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDYyCgoyMDE2LTA1LTE0IDE3OjA1OjQ1ICswMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3YvZmFjZWRldGVjdDogZml4IHRoZSBidWlsZCB3aXRoIG9wZW5jdiAzLjEuMAoJICAtIGFkZCB1c2luZyBuYW1lc3BhY2Ugc3RkOyBmb3Igc3RkOjp2ZWN0b3IKCSAgLSB1c2UgdGhlIGNwcCBoZWFkZXIgaW1ncHJvYy5ocHAgZmlsZSBmb3IgdGhlIGN2OjplbGxpcHNlIGZ1bmN0aW9uIGluc3RlYWQgb2YKCSAgdGhlIEMgaGVhZGVyCgkgIC0gTWF0IG5vIGxvbmdlciB0YWtlcyBJcGxJbWFnZSBpbiBpdCdzIGNvbnN0cnVjdG9ycywgdXNlIHRoZSBjdmFycnRvbWF0KCkKCSAgZnVuY3Rpb24gaW5zdGVhZC4KCSAgRml4ZXMgYSBjb3VwbGUgb2YgYnVpbGQgZXJyb3JzOgoJICBnc3RmYWNlZGV0ZWN0LmNwcDoxNDA6MzA6IGVycm9yOiDigJh2ZWN0b3LigJkgZG9lcyBub3QgbmFtZSBhIHR5cGUKCSAgc3RydWN0dXJlX2FuZF9tZXNzYWdlIChjb25zdCB2ZWN0b3IgPCBSZWN0ID4gJnJlY3RhbmdsZXMsIGNvbnN0IGdjaGFyICogbmFtZSwKCSAgXn5+fn5+CgkgIGdzdGZhY2VkZXRlY3QuY3BwOjE0MDozNzogZXJyb3I6IGV4cGVjdGVkIOKAmCzigJkgb3Ig4oCYLi4u4oCZIGJlZm9yZSDigJg84oCZIHRva2VuCgkgIHN0cnVjdHVyZV9hbmRfbWVzc2FnZSAoY29uc3QgdmVjdG9yIDwgUmVjdCA+ICZyZWN0YW5nbGVzLCBjb25zdCBnY2hhciAqIG5hbWUsCgkgIF4KCSAgZ3N0ZmFjZWRldGVjdC5jcHA6IEluIGZ1bmN0aW9uIOKAmHZvaWQgc3RydWN0dXJlX2FuZF9tZXNzYWdlKGludCnigJk6CgkgIGdzdGZhY2VkZXRlY3QuY3BwOjE0MzoxMzogZXJyb3I6IOKAmHJlY3RhbmdsZXPigJkgd2FzIG5vdCBkZWNsYXJlZCBpbiB0aGlzIHNjb3BlCgkgIFJlY3Qgc3IgPSByZWN0YW5nbGVzWzBdOwoJICBbLi4uXQoJICBnc3RmYWNlZGV0ZWN0LmNwcDogSW4gZnVuY3Rpb24g4oCYdm9pZAoJICBnc3RfZmFjZV9kZXRlY3RfcnVuX2RldGVjdG9yKEdzdEZhY2VEZXRlY3QqLCBjdjo6Q2FzY2FkZUNsYXNzaWZpZXIqLCBnaW50LCBnaW50LAoJICBjdjo6UmVjdCwgc3RkOjp2ZWN0b3I8Y3Y6OlJlY3RfPGludD4gPiYp4oCZOgoJICBnc3RmYWNlZGV0ZWN0LmNwcDo1NjI6MzE6IGVycm9yOiBubyBtYXRjaGluZyBmdW5jdGlvbiBmb3IgY2FsbCB0bwoJICDigJhjdjo6TWF0OjpNYXQoSXBsSW1hZ2UqJiwgY3Y6OlJlY3QmKeKAmQoJICBNYXQgcm9pIChmaWx0ZXItPmN2R3JheSwgcik7CgkgIFsuLi5dCgkgIGdzdGZhY2VkZXRlY3QuY3BwOiBJbiBmdW5jdGlvbiDigJhHc3RGbG93UmV0dXJuCgkgIGdzdF9mYWNlX2RldGVjdF90cmFuc2Zvcm1faXAoR3N0T3BlbmN2VmlkZW9GaWx0ZXIqLCBHc3RCdWZmZXIqLCBJcGxJbWFnZSop4oCZOgoJICBnc3RmYWNlZGV0ZWN0LmNwcDo1OTQ6NDQ6IGVycm9yOiBubyBtYXRjaGluZyBmdW5jdGlvbiBmb3IgY2FsbCB0bwoJICDigJhjdjo6TWF0OjpNYXQoY3Y6Ok1hdCwgYm9vbCnigJkKCSAgTWF0IG10eE9yZyAoY3Y6OmN2YXJyVG9NYXQgKGltZyksIGZhbHNlKTsKCSAgWy4uLl0KCSAgZ3N0ZmFjZWRldGVjdC5jcHA6NzM0Ojc5OiBlcnJvcjog4oCYZWxsaXBzZeKAmSB3YXMgbm90IGRlY2xhcmVkIGluIHRoaXMgc2NvcGUKCSAgZWxsaXBzZSAobXR4T3JnLCBjZW50ZXIsIGF4ZXMsIDAsIDAsIDM2MCwgU2NhbGFyIChjciwgY2csIGNiKSwgMywgOCwKCSAgMCk7CgoyMDE2LTA1LTE1IDExOjIwOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgcmVtb3ZlZCBleGFtcGxlIGRpciB0byBDUlVGVF9ESVJTCgoyMDE2LTA1LTE1IDEzOjMzOjUzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSAgZG9jczogVXBkYXRlIGZvciBnaXQgbWFzdGVyCgoyMDE2LTAzLTA0IDIyOjEwOjQ3ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWRhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R1bmFsaWduZWRhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3Jhd3BhcnNlL3VuYWxpZ25lZGF1ZGlvLmg6CgkgIHJhd3BhcnNlOiBBZGQgdW5hbGlnbmVkIHJhdyBhdWRpbyBwYXJzaW5nIHRvIGF1ZGlvcGFyc2UgYW5kIGFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGhlbHBzIGluIGNhc2VzIHdoZXJlIHJhdyBhdWRpbyBkYXRhIGlzIGJlaW5nIGRlbGl2ZXJlZCwgYnV0IHRoZQoJICBidWZmZXJzIGRvIG5vdCBjb21lIGluIHNhbXBsZSBhbGlnbmVkIHNpemVzLiBUaGUgbmV3IHVuYWxpZ25lZGF1ZGlvcGFyc2UKCSAgYmluIGNhbiBiZSBhdXRvcGx1Z2dlZCBhbmQgY29uZmlndXJlcyBhbiBpbnRlcm5hbCBhdWRpb3BhcnNlIGVsZW1lbnQgdG8KCSAgYWxpZ24gdGhlIGRhdGEuIGF1ZGlvcGFyc2UgaXRzZWxmIGdldHMgc3VwcG9ydCBmb3IgYXVkaW8veC11bmFsaWduZWQtcmF3CgkgIGlucHV0IGNhcHM7IHRoZSBvdXRwdXQgY2FwcyB0aGVuIGNvbnRhaW4gdGhlIHNhbWUgaW5mb3JtYXRpb24sIGV4Y2VwdCB0aGF0CgkgIHRoZSBuYW1lIGlzIGNoYW5nZWQgdG8gYXVkaW8veC1yYXcgKHNpbmNlIGF1ZGlvcGFyc2UgYWxpZ25zIHRoZSBkYXRhKS4KCSAgVGhpcyBlbnN1cmVzIHRoYXQgc291cGh0dHBzcmMgISBhdWRpb3BhcnNlIHN0aWxsIHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5NDYwCgoyMDE2LTA1LTE1IDEzOjE0OjQxICswMzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogZGVtb3RlIG5vIHBsYXRmb3JtIGRpc3BsYXkgZGVidWcgdG8gaW5mbwoJICBBdm9pZHMgY29uZnVzaW5nIGV2ZXJ5b25lIHdpdGggYSB3YXJuaW5nIHRoYXQncyBub3QgYWx3YXlzIGZhdGFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2OTMzCgoyMDE2LTA1LTE1IDEyOjMxOjM4ICswMzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiByZW1vdmUgbm9uLWV4aXN0ZW50IGRpcmVjdG9yeQoJICBQYXJ0aWFsbHkgcmV2ZXJ0cyBjZGY5MWM0NTVkNDA1N2E5ZDIzNDc2NjUxMGJkMmU4YTQ0ZTFlZDA1CgoyMDE2LTA1LTE1IDE5OjA1OjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSGFuZGxlIHN5c3RlbSBoZWFkZXIgd2hlbiBzY2FubmluZyBmb3IgdGltZXN0YW1wcy4KCSAgV2hlbiBzY2FubmluZyBmb3IgU0NSIC8gUFRTIC8gRFRTLCBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCSAgdGhlIHBhY2sgaGVhZGVyIGlzIGZvbGxvd2VkIGJ5IHRoZSBvcHRpb25hbCBzeXN0ZW0gaGVhZGVyLAoJICBzbyB3ZSBjYW4gY29ycmVjdGx5IGNvbGxlY3QgdGltZXN0YW1wcyBpbiBzdWNoIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzODYwCgoyMDE2LTA1LTE1IDE5OjA0OjIwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IGJhY2t3YXJkIHRpbWVzdGFtcCBzY2FuIG9uIHNtYWxsIGZpbGVzLgoJICBXaGVuIHRoZSBmaWxlIHNpemUgaXMgc21hbGxlciB0aGFuIHRoZSBjb25maWd1cmVkIDRNQiBzY2FuCgkgIGxpbWl0IGZvciB0aW1lc3RhbXBzLCBkb24ndCB1bmRlcmZsb3cgdGhlIGd1YXJkIHZhcmlhYmxlCgkgIHdoZW4gY2hlY2tpbmcgaWYgaXQncyB0aW1lIHRvIHN0b3AuCgkgIExpbWl0IHRoZSBiYWNrd2FyZCBTQ1Igc2NhbiB0byB0aGUgc2FtZSA0TUIgYXMgdGhlIFBUUyBzY2FuLgoJICBBZGQgc29tZSBjb21tZW50cy4KCjIwMTYtMDUtMTMgMTM6Mjc6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvbid0IGRvIGJvZ3VzIGFkanVzdG1lbnRzIG9uIHNlZWsgaWYgd2UgaGF2ZSBubyBmaXJzdF9wdHMKCSAgRml4ZXMgYm9ndXMgc2VnbWVudCBhbmQgZ2FwIGV2ZW50cyB3aXRoIHN0YXJ0PUdTVF9DTE9DS19USU1FX05PTkUgaWYKCSAgd2UgZmFpbGVkIHRvIGZpbmQgYSBmaXJzdF9wdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM4NjAKCjIwMTYtMDUtMTQgMTY6NTk6MTQgKzAzMDAgIEFsZXgtUC4gTmF0c2lvcyA8ZHJha2V2ckAyZjMwLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3Igc2htX29wZW4oKSBpbiBPcGVuQlNECgkgIEluIE9wZW5CU0QgdGhlcmUgaXMgbm8gImFjdHVhbCIgbGlicnQgdGhhdCBwcm9ncmFtcyBjYW4gbGluayB3aXRoLAoJICBpbnN0ZWFkIHRoZSBzeXN0ZW0vYmFzZSBsaWJjIHByb3ZpZGVzIHRoZSBmdW5jdGlvbnMgb25lIHdvdWxkCgkgIGN1c3RvbWFyaWx5IGZpbmQgdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY0NDEKCjIwMTYtMDUtMTQgMTY6MzI6MDYgKzAzMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IHVzZSB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1ldGEgaWYgYXZhaWxhYmxlIGRvd25zdHJlYW0KCSAgV2UgY2FuIGF2b2lkIGEgcmVuZGVyIHBhc3MgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1ldGEKCSAgYW5kIGluY3JlYXNlIHRoZSBwZXJmb3JtYW5jZSBvZiBzb21lIHBpcGVsaW5lcyBpbnZvbHZpbmcgZ2x0cmFuc2Zvcm1hdGlvbi4KCSAgSW1wbGVtZW50ZWQgYnkgY2hlY2tpbmcgZm9yIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gaW4gdGhlIGFsbG9jYXRpb24gcXVlcnkKCSAgZnJvbSBkb3duc3RyZWFtIGFuZCBjb21iaW5pbmcgb3VyIG1hdHJpeCB3aXRoIHRoYXQgb2YgdXBzdHJlYW0ncyAob3IgY3JlYXRpbmcKCSAgb3VyIG93bikuCgoyMDE2LTA1LTE0IDE2OjI3OjI2ICswMzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IHRha2UgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBpbiBOREMKCSAgUHJvdmlkZSBhIGZ1bmN0aW9uIHRvIGdldCB0aGUgYWZmaW5lIG1hdHJpeCBpbiB0aGUgbWV0YSBpbiB0ZXJtcyBvZiBOREMKCSAgY29vcmRpbmF0ZXMgYW5kIHVzZSBhcyBhIHN0YW5kYXJkIG9wZW5nbCBtYXRyaXguCgkgIEFsc28gYWR2ZXJ0aXNlIHN1cHBvcnQgZm9yIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWV0YSBpbiB0aGUgYWxsb2NhdGlvbgoJICBxdWVyeS4KCjIwMTYtMDUtMTQgMTU6NTA6NTcgKzAzMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuaDoKCSAgZ2xiYXNlbWl4ZXI6IGFjdHVhbGx5IGF0dGVtcHQgdG8gcHJvcG9zZSBhbiBhbGxvY2F0aW9uIHVwc3RyZWFtCgkgIFdlIHdlcmUgYWx3YXlzIGZhaWxpbmcgdGhlIGFsbG9jYXRpb24gcXVlcnkgYXMgYSBmbGFnIHdhcyBuZXZlciBiZWluZyBzZXQgdG8KCSAgc2lnbmFsIGEgc3VjY2Vzc2Z1bCBuZWdvdGlhdGlvbi4gIEZpeCBieSBzZXR0aW5nIHRoZSByZXF1aXJlZCBmbGFnIG9uIGEKCSAgc3VjY2Vzc2Z1bCBjYXBzIGV2ZW50IGZyb20gdXBzdHJlYW0uCgoyMDE2LTA1LTEyIDEwOjUyOjA2IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkgIGx2MjogYWRkIGEgc291cmNlIHBsdWdpbgoJICBVcGRhdGUgdGhlIHJlYWRtZSB3aXRoIGEgd29ya2luZyBleGFtcGxlIGFuZCBsaXN0IHdoYXQgZmVhdHVyZSBhcmUgc3VwcG9ydGVkLgoKMjAxNi0wNS0xMSAyMzoxMjowNyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiBhZGQgc3VwcG9ydCBmb3IgaG9zdCBmZWF0dXJlcwoJICBJbXBsZW1lbnQgYSBsb2cgaGFuZGxlciBhcyB0aGUgZmlyc3Qgb25lLgoKMjAxNi0wNS0xMyAxNToyNDozNSArMDMwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBjaGVjayB0aGUgZXJyb3Igb2YgdGhlIHByZXNlbnRhdGlvbiBmb3Igb3V0IG9mIGRhdGUKCSAgYWxsb3dzIHVzIHRvIHJlc2l6ZSB0aGUgc3dhcGNoYWluIGNvcnJlY3RseS4KCjIwMTYtMDUtMTIgMTk6NDQ6MjYgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzOiB1cHN0cmVhbV9saXZlIGFuZCBxdWVyaWVkX2xhdGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjM0MwoKMjAxNi0wNS0xMSAxNTo0NTo0NyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBpbXByb3ZlIGRlYnVnIG91dHB1dCBmcm9tIF9vcGVuX2Zyb250ZW5kKCkKCSAgKiBDbGFyaWZ5IG1lc3NhZ2Ugb24gZGVsc3lzIGluZm8gZ2F0aGVyaW5nCgkgICogQ29tYmluZSByZWR1bmRhbnQgSU5GTy9ERUJVRyBwYWlyCgoyMDE2LTA1LTExIDE1OjI2OjI0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBpbnZhbGlkIGRlcmVmZXJlbmNlIG9mIGRlbHN5cyBkYXRhCgkgIFVzZSBHUE9JTlRFUl9UT19JTlQgdG8gcmVhZCBHSU5UX1RPX1BPSU5URVIgc3RvcmVkCgkgIGRhdGEuCgoyMDE2LTA1LTExIDIzOjQ4OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jYXVkaW9kZWM6IFNldCBsYXlvdXQ9aW50ZXJsZWF2ZWQgaW4gcmF3IGF1ZGlvIGNhcHMKCSAgT3RoZXJ3aXNlIHRoZSBHQVAgZXZlbnQgZmFsbGJhY2sgbmVnb3RpYXRpb24gd2lsbCBmYWlsIHRvIHByb2R1Y2UgY29tcGxldGUKCSAgc3JjcGFkIGNhcHMsIGFuZCB0aHVzIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyODkKCjIwMTYtMDUtMTEgMTY6NDI6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEZpeCBwcmV2aW91cyBjb21taXQKCSAgVGhlIGZyYW1lcyBxdWV1ZSBtaWdodCByZXR1cm4gbm90aGluZyAoYmUgZW1wdHkpIGlmIHdlJ3JlIGZsdXNoaW5nLgoJICBNb3ZlIHRoZSBhc3NlcnRpb24gdG8gYWZ0ZXIgdGhlIGZsdXNoaW5nIGNoZWNrCgoyMDE2LTA1LTEwIDIyOjA0OjQ4IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBza2lwIHBsdWdpbnMgdGhhdCBuZWVkIGhvc3QgZmVhdHVyZXMKCSAgV2UgaGF2ZW4ndCBpbXBsZW1lbnRlZCB0aGlzIHlldCBhbmQgdGhvc2UgcGx1Z2luIHdvdWxkIGZhaWwgd2hlbiB3ZSBpbnN0YW50aWF0ZQoJICB0aGVtLgoKMjAxNi0wNS0xMCAyMToxMTo0MSAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiBhZGQgY2xhc3NpZmljYXRpb24gZnJvbSBtZXRhZGF0YQoJICBUaGlzIGhlbHBzIGFwcHMgdG8gc3RydWN0dXJlIHRoZSBlbGVtZW50IGNvbGxlY3Rpb24uCgoyMDE2LTA0LTA4IDA3OjUzOjQ0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmg6CgkgIGx2MjogZXh0cmFjdCBoZWxwZXIgY29kZSBpbnRvIGx2MnV0aWxzCgkgIFRoaXMgaXMgYSBwcmVwYXJhdG9uIGZvciBhZGRpbmcgbHYyLXNvdXJjZXMgYW5kIC1zaW5rcy4KCjIwMTYtMDUtMTAgMTI6MjQ6MDMgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkgIGxhZHNwYTogY29kZSBjbGVhbnVwCgkgIFdoaXRlc3BhY2UgY2xlYW51cCBhbmQgdW5pZnkgY29kZWluZyBzdHlsZS4KCjIwMTYtMDUtMTAgMTI6MjI6MDQgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkgIGxhZHNwYTogc2ltcGxpZnkgdGhlIGNvZGUKCSAgUmVtb3ZlIGEgbG9jYWwgdmFyIGFuZCBqdXN0IHVzZSB0aGUgcGFyYW1ldGVyIHZhbHVlLgoKMjAxNi0wNS0xMCAxODoxNDozNiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBmaXggY29yZV92aWRlb19tZXRhIGluaXQgcmVnaXN0cmF0aW9uCgoyMDE2LTA1LTEwIDE2OjQ2OjQzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBJZ25vcmUgdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrIGdlbmVyYXRlZCBmaWxlcwoJICBBbmQgYW5vdGhlciB0ZXN0IGJpbmFyeS4KCjIwMTYtMDUtMTAgMTY6MjQ6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IFBvcnQgdG8gMi4xIGFuZCByZXF1aXJlIGEgcGtnLWNvbmZpZyBmaWxlIGZvciAyLjAgYW5kIDIuMQoJICBUaGUgcG9ydCB3YXMgdHJpdmlhbCwgYW5kIGFjY29yZGluZyB0byB0aGUgTkVXUyBmaWxlIG5vdGhpbmcgZWxzZSBoYXMgY2hhbmdlZCwKCSAgYnV0IGl0IGlzIHBvc3NpYmxlIHRoYXQgb3RoZXIgQVBJIHdhcyBjaGFuZ2VkIHdpdGhvdXQgcHJvcGVyIG5vdGlmaWNhdGlvbi4KCSAgT3BlbkpQRUcgdXBzdHJlYW0gaGFzIHNoaXBwZWQgYSBwa2ctY29uZmlnIGZpbGUgZm9yIHRoZSBwYXN0IDQgeWVhcnMsIGFuZCBhbGwKCSAgZGlzdHJvcyBzaG91bGQgYmUgc2hpcHBpbmcgaXQgYnkgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MjEzCgoyMDE2LTA1LTEwIDA5OjQwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBmaXggdXNlLWFmdGVyLWZyZWUgaW4gZXJyb3IgY29kZSBwYXRoCgoyMDE2LTA1LTEwIDA5OjM4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2tzIGZvciBub24tTlVMTCBmcmFtZQoJICBXZSBjYW4ndCBnZXQgYSBOVUxMIGZyYW1lIGhlcmUuCgkgIENJRCAxMzU5OTIzCgoyMDE2LTA1LTA5IDE1OjIzOjMyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFib3J0IGF0IG9wZW4gZnJvbnRlbmQgZmFpbHVyZQoKMjAxNi0wNS0wOSAxMjo1MDo0NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBTaGlwIGFsbCBoZWFkZXJzIGluIHRhcmJhbGxzCgkgIFNvbWUgd2VyZSBtaXNzaW5nIGZyb20gbm9pbnN0X0hFQURFUlMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxNjMKCjIwMTYtMDUtMDQgMTY6MzI6MTkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogc21hcnRlbi11cCBkZWxzeXMgYXV0b2RldGVjdGlvbiBsb2dpYwoJICBXaGVuIHRoZXJlJ3Mgbm8gZXhwbGljaXQgZGVsaXZlcnkgc3lzdGVtIGluZm9ybWF0aW9uCgkgIGZvciBhIGNoYW5uZWwgaW4gdGhlIGNoYW5uZWwgY29uZmlndXJhdGlvbiBmaWxlIGFuZAoJICB0aGUgdXNlciBoYXNuJ3Qgc2VsZWN0ZWQgb25lIHZpYSBzZXR0aW5nIHRoZSBkZWxzeXMKCSAgcHJvcGVydHksIHdlICpndWVzc2VkKiBpdCBieSBzZWxlY3RpbmcgdGhlIGxhc3QKCSAgc3VwcG9ydGVkIGRlbHN5cyByZXBvcnRlZCBieSB0aGUgZHJpdmVyLiBUaGlzIGNoYW5nZQoJICBwcm92aWRlcyB0aGUgYmFzaXMgZm9yIHNtYXJ0ZXIgZGVsc3lzIGF1dG8gZGV0ZWN0aW9uCgkgIGFuZCBpbXBsZW1lbnRzIGEgcnVsZSBmb3IgRFZCLVQyLiBSdWxlcyBmb3Igb3RoZXIKCSAgZGVsaXZlcnkgc3lzdGVtcyBjYW4gYmUgYWRkZWQgaW4gX2d1ZXNzX2RlbHN5cygpIGluCgkgIGEgc2ltaWxhciB3YXkuCgkgIEFkZGl0aW9uYWxseTogU3RvcmUgbGlzdCBvZiBhZGFwdGVyLXN1cHBvcnRlZAoJICBkZWxpdmVyeSBzeXN0ZW1zIGluc3RlYWQgb2YgcXVlcnlpbmcgdGhlIGRyaXZlciBlYWNoCgkgIHRpbWUgdGhpcyBpbmZvcm1hdGlvbiBpcyBuZWVkZWQuCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU3MzEKCjIwMTYtMDUtMDMgMTU6MDA6NTUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVtb3ZlIHJlbWFpbmluZyBwb2xsaW5nIGxvZ2ljIGZyb20gX3R1bmVfZmUoKQoJICBObyBuZWVkIHRvIGRvIGFueSBwb2xsaW5nIGhlcmUuCgoyMDE2LTA1LTA2IDEwOjUxOjM5ICswMjAwICBDYXJsb3MgR2FyY2lhIENhbXBvcyA8Y2dhcmNpYUBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBUYWtlIHRoZSBvd25lcnNoaXAgb2YgdGhlIHNyYyBlbGVtZW50CgkgIFRoZSBVUkkgZG93bmxvYWRlciBpcyBjcmVhdGluZyB0aGUgc291cmNlIGVsZW1lbnQgd2l0aAoJICBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoKSB0aGF0IHJldHVybnMgYSBmbG9hdGluZyByZWZlcmVuY2UgdGhhdCBub2JvZHkKCSAgaXMgY29uc3VtaW5nLiBUaGlzIGlzIGNhdXNpbmcgcHJvYmxlbXMgaW4gV2ViS2l0LCB3aGVyZSB0aGUgc21hcnQKCSAgcG9pbnRlcnMgdXNlZCB0byB0YWtlIHJlZmVyZW5jZXMgb2YgdGhlIHNvdXJjZSBlbG1lbnQgZ2V0IGNvbmZ1c2VkIGFuZAoJICBlbmQgdXAgY29uc3VtaW5nIHRoZSBmbG9hdGluZyByZWZlcmVuY2UgYW5kIHRoZW4gcmVsZWFzaW5nIHRoZSBlbGVtZW50LAoJICB3aGljaCB1c3VhbGx5IGNyYXNoZXMgYmVjYXVzZSB0aGUgVVJJIGRvd25sb2FkZXIgc3RpbGwgdHJpZXMgdG8gdXNlIGl0cwoJICBzcmMgZWxlbWVudC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQwNDAuCgkgIFRoaXMgY29tbWl0IGFkZHMgdHdvIGhlbHBlciBmdW5jdGlvbnMgdG8gZW5zdXJlIGFuZCBkZXN0cm95IHRoZSBzb3VyY2UKCSAgZWxlbWVudCwgdG8gbWFrZSB0aGUgY29kZSBzaW1wbGVyIGFuZCBsZXNzIGVycm9yIHByb25lLiBUaGUgZW5zdXJlCgkgIG1ldGhvZCB0YWtlcyBjYXJlIG9mIGNoZWNraW5nIGlmIHdlIGNhbiByZXVzZSB0aGUgZXhpc3Rpbmcgb25lIG9yIHdlCgkgIG5lZWQgdG8gY3JlYXRlIGEgbmV3IG9uZSwgdGFraW5nIGFsd2F5cyBpdHMgb3duZXJzaGlwLiBUaGUgZGVzdHJveQoJICBtZXRob2Qgc2ltcGx5IGF2b2lkcyBkdXBsaWNhdGVkIGNvZGUgdG8gc2V0IHRoZSBzb3VyY2UgdG8gTlVMTCBzdGF0ZSBhbmQKCSAgdGhlbiB1bnJlZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjA1MwoKMjAxNi0wNC0yOSAxMjozMTowMSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggdGhyZWFkaW5nIGlzc3VlcyBpbiBnc3RfYWRhcHRpdmVfZGVtdXhfd2FpdF91bnRpbCBmdW5jdGlvbgoJICBUaGUgZ3N0X2FkYXB0aXZlX2RlbXV4X3dhaXRfdW50aWwoKSBmdW5jdGlvbiBjYW4gYmUgd29rZW4gdXAgZWl0aGVyCgkgIGJ5IGl0cyBlbmRfdGltZSBiZWluZyByZWFjaGVkLCBvciBmcm9tIG90aGVyIHRocmVhZHMgdGhhdCB3YW50IHRvCgkgIGludGVycnVwdCB0aGUgd2FpdGluZyB0aHJlYWQuCgkgIElmIHRoZSB0aHJlYWQgaXMgaW50ZXJydXB0ZWQsIGl0IG5lZWRzIHRvIGNhbmNlbCBpdHMgYXN5bmMgY2xvY2sgY2FsbGJhY2sKCSAgYnkgdW5zY2hlZHVsaW5nIHRoZSBjbG9jayBjYWxsYmFjay4gSG93ZXZlciwgdGhlIGNhbGxiYWNrIHRhc2sgbWlnaHQgYWxyZWFkeQoJICBoYXZlIGJlZW4gYWN0aXZhdGVkLCBidXQgaXMgd2FpdGluZyBmb3IgdGhlIG11dGV4IHRvIGJlY29tZSBhdmFpbGFibGUuIEluIHRoaXMKCSAgY2FzZSwgdGhlIGNhbGwgdG8gdW5zY2hlZHVsZSBkb2VzIG5vdCBzdG9wIHRoZSBjYWxsYmFjayBmcm9tIGV4ZWN1dGluZy4KCSAgVGhlIHNvbHV0aW9uIHRvIHRoaXMgc2Vjb25kIGlzc3VlIGlzIHRvIHVzZSBhIHJlZmVyZW5jZSBjb3VudGVkIG9iamVjdCB0aGF0CgkgIGlzIGRlY3JlbWVudGVkIGJ5IGJvdGggdGhlIGdzdF9hZGFwdGl2ZV9kZW11eF93YWl0X3VudGlsKCkgZnVuY3Rpb24gYW5kIHRoZQoJICBjYWxsIHRvIGdzdF9jbG9ja19pZF93YWl0X2FzeW5jICgpLiBJbiB0aGlzIHdheSwgdGhlIEdzdEFkYXB0aXZlRGVtdXhUaW1lcgoJICBvYmplY3QgaXMgb25seSBkZWxldGVkIHdoZW4gYm90aCB0aGUgZ3N0X2FkYXB0aXZlX2RlbXV4X3dhaXRfdW50aWwoKSBmdW5jdGlvbgoJICBhbmQgdGhlIGFzeW5jIGNhbGxiYWNrIGFyZSBmaW5pc2hlZCB3aXRoIHRoZSBvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU3MjgKCjIwMTYtMDMtMDMgMTU6NTA6NDkgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVpZGE6IHJlcGxhY2Ugd2l0aCBuZXcgc3VyZmFjZXRleHR1cmUgZm9yIGFoY3NyYwoJICBHc3RBbWNTdXJmYWNlVGV4dHVyZSBpcyBtb3JlIGNsZWFyIGFuZCBzaW1wbGUgdGhhbiBHc3RBR1N1cmZhY2VUZXh0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDk5CgoyMDE2LTA1LTA1IDIzOjUzOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJICB2dWxrYW4vYnVpbGQ6IGFkZCB0aGUgYnVpbGQgZGlyZWN0b3J5IHRvIHRoZSBsaXN0IG9mIGluY2x1ZGVzCgkgIEZpeGVzIG91dCBvZiB0cmVlIGJ1aWxkcyBmcm9tIHRhcmJhbGxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NzU4CgoyMDE2LTA1LTA1IDIzOjE4OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGZpeCB1cCBkaXNwbGF5IHN5bmNocm9uaXphdGlvbgoJICBVc2UgdGhlIHNlbWFwaG9yZXMgaW4gdGhlIGNvcnJlY3QgcGxhY2UsIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHN1Ym1pc3Npb24gZm9yCgkgIGFjcXVpcmluZyBhbmQgcHJlc2VudGluZyB0aGUgc3dhcGNoYWluIGJ1ZmZlci4KCSAgV2FpdGluZyBvbiB0aGUgZmVuY2UgdGhhdCBvbmx5IHNpZ25hbHMgdGhlIGNvbW1hbmQgYnVmZmVyIGNvbXBsZXRpb24gcmF0aGVyIHRoYW4KCSAgdGhlIGNvbXBsZXRpb24gb2YgdGhlIHByZXNlbnRhdGlvbiBpcyByYWN5IHdpdGggdGhlIGRlc3RydWN0aW9uIG9mIHRoZSB2dWxrYW4KCSAgYnVmZmVycyBhc3NvY2lhdGVkIHdpdGggdGhhdCBpbWFnZS4gIFdhaXQgb24gdGhlIGRldmljZSB0byBiZSBpZGxlIGluc3RlYWQgYWZ0ZXIKCSAgcHJlc2VudGluZy4KCjIwMTYtMDUtMDUgMTg6MDA6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogdXNlIGdzdF92aWRlb19zaW5rX2NlbnRlcl9yZWN0IGZvciBwb3NpdGlvbmluZyB0aGUgdmlkZW8KCSAgRG9uJ3QgdHJ5IHRvIHJlaW1wbGVtZW50IGl0IGJhZGx5LgoKMjAxNi0wNS0wNSAxMDo0NDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IGRlc2NyaXB0aW9uCgoyMDE2LTA1LTA1IDEwOjQxOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSAgdmlkZW9kaWZmOiBmaXggc3VwcG9ydGVkIGZvcm1hdHMgaW4gdGVtcGxhdGUgY2FwcwoKMjAxNi0wNS0wNSAxMDo0MDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmg6CgkgIHZpZGVvZGlmZjogZmlsbCBpbiBGSVhNRSBtZXRhZGF0YSBhbmQgZG9jcyB3aXRoIGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU5ODkKCjIwMTYtMDUtMDQgMTI6MTc6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9lZ2w6IHJlcGxhY2UgZ3N0ZWdsaW1hZ2VtZW1vcnkgd2l0aCBhbiBFR0xJbWFnZSB3cmFwcGVyCgkgIFRoYXQgY2FuIGJlIHBhc3NlZCB0byBHc3RHTE1lbW9yeUVHTC4KCSAgVGhpcyBhbHNvIHBvcnRzIHRoZSBkbWFidWYgdXBsb2FkZXIgdG8gR3N0RUdMSW1hZ2UgYW5kIEdzdEdMTWVtb3J5RUdMLgoKMjAxNi0wMS0yMSAyMjoxODoxNyArMDkwMCAgR3dhbmcgWW9vbiBId2FuZyA8eW9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBpbXBsZW1lbnQgR3N0R0xNZW1vcnlFR0wKCSAgQmVjYXVzZSBjdXJyZW50IEdzdEVHTEltYWdlTWVtb3J5IGRvZXMgbm90IGluaGVyaXQgR3N0R0xNZW1vcnksIEdMVXBsb2FkCgkgIGFsbG9jYXRlcyBhZGRpdGlvbmFsIEdMTWVtb3J5IGFuZCB1cGxvYWQgdGhlIGRlY29kZWQgY29udGVudHMgZnJvbSB0aGUgZGVjb2RlcgoJICB3aGljaCB1c2VzIEVHTEltYWdlIChlLmcuIGdzdC1vbXggaW4gUlBpKS4KCSAgVGhpcyB3b3JrIGFkZHMgR3N0R0xNZW1vcnlFR0wgdG8gYXZvaWQgdGhpcyBvdmVyaGVhZC4gRGVjb2RlcnMgYWxsb2NhdGUKCSAgR3N0R0xNZW1vcnlFR0wgYW5kIGRlY29kZSBpdHMgY29udGVudHMgdG8gdGhlIEVHTEltYWdlIG9mIEdzdEdMTWVtb3J5RUdMLiAgQW5kCgkgIEdMVXBsb2FkIHVzZXMgdGhpcyBtZW1vcnkgd2l0aG91dCBhbGxvY2F0aW9uIG9mIGFkZGl0aW9uYWwgdGV4dHVyZXMgYW5kIGJsaXQKCSAgb3BlcmF0aW9ucy4KCSAgW01hdHRoZXcgV2F0ZXJzXTogZ3N0LWluZGVudCB0aGUgc291cmNlcyBhbmQgZml4IGEgY3JpdGljYWwgcmV0cmVpdmluZyB0aGUgZWdsCgkgIGRpc3BsYXkgZnJvbSB0aGUgbWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTE2CgoyMDE2LTA1LTA0IDAxOjE2OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsbWVtb3J5OiBhZGQgd3JhcHBlZCBkYXRhIHBvaW50ZXJzIHRvIHNldHVwX2J1ZmZlcgoJICBBbGxvd3MgY3JlYXRpbmcgd3JhcHBlZCBtZW1vcmllcyB3aXRoIEdzdEdMQWxsb2NhdGlvblBhcmFtcy4KCSAgVGhlIHdyYXBwZWQgcG9pbnRlcnMgd2lsbCBiZSBzZXQgaW4gdGhlIHBhcmFtZXRlcnMgYmVmb3JlIGJlaW5nIHBhc3NlZAoJICB0byB0aGUgbWVtb3J5IGFsbG9jYXRpb24gZnVuY3Rpb24uCgoyMDE2LTA1LTA0IDAwOjE5OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xiYXNlbWVtb3J5OiB0YWtlIGEgcG9pbnRlciBhcyB0aGUgd3JhcHBlZCBncHUgaGFuZGxlCgkgIEFsbG93cyBwYXNzaW5nIGFyYml0cmFyeSBkYXRhIHRvIHdyYXAgdGhlIHRoZSBzcGVjaWZpYyBtZW1vcnkgaW1wbGVtZW50YXRpb24KCSAgd2hpY2ggaXMgcmVxdWlyZWQgZm9yIHNvbWUgbWVtb3J5IGltcGxlbWVudGF0aW9ucy4KCjIwMTYtMDUtMDQgMTE6MzA6MTEgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IG91dHB1dCBzeXNtZW0gYnkgZGVmYXVsdAoKMjAxNi0wNS0wMiAxMTozMDo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQ29udmVydCBXaW5kb3dzIHN0cmluZ3MgdG8gVVRGOCBiZWZvcmUgY29tcGFyaW5nIGFnYWluc3QgVVRGOCBzdHJpbmdzCgkgIFRoZSBkZXZpY2UgbmFtZSBhbmQgZGVzY3JpcHRpb25zIHJldHVybmVkIGFyZSBpbiB0aGUgbG9jYWxlIGVuY29kaW5nLCBub3QKCSAgVVRGOC4gT3VyIGRldmljZSBuYW1lIHByb3BlcnR5IGlzIGluIFVURjggdGhvdWdoLCBzbyB3ZSBuZWVkIHRvIGNvbnZlcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5NDgKCjIwMTYtMDUtMDMgMTE6MTE6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IFNldCBibGVuZCBmdW5jdGlvbnMgaW4gOjpuZWdvdGlhdGVkX2NhcHMoKSBpbnN0ZWFkIG9mIDo6Zml4YXRlX2NhcHMoKQoJICBUaGUgbGF0dGVyIHNob3VsZCBub3QgY2hhbmdlIGFueSBzdGF0ZSBidXQganVzdCBmaXhhdGUgdGhlIGNhcHMsIHdoaWxlIHRoZQoJICBmb3JtZXIgaXMgYWx3YXlzIGNhbGxlZCB3aGVuIHNyY3BhZHMgY2FwcyBhcmUgZGVjaWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTMyNAoKMjAxNi0wNC0yMCAxNToxMTo0NCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IHN3YXBwZWQgbmFtZSBhbmQgbmljayBpbiBHRW51bVZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc4CgoyMDE2LTA0LTE0IDE4OjI2OjMzICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIGluaXRpYWwgMTBiaXQgc3VwcG9ydCBmb3IgWVVWIG1vZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzgKCjIwMTYtMDUtMDMgMTU6NTI6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMDUtMDMgMTk6NTg6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBmaXggZ2xlczMgaGVhZGVyIHVzYWdlIGZvciBvbGRlciBwbGF0Zm9ybXMKCSAgU29tZSBwbGF0Zm9ybXMgcHJvdmlkZSBhbiBvbGQgdmVyc2lvbiBvZiBHTEVTMi9nbDIuaCBhbmQgR0xFUzIvZ2wyZXh0LmggdGhhdAoJICB3aWxsIGZhaWwgd2hlbiBpbmNsdWRpbmcgR0xFUzMvZ2wzLmggZHVlIHRvIG1pc3NpbmcgdHlwZWRlZidzLgoJICBTZWVuIG9uIHRoZSBSUGkuCgoyMDE2LTA0LTI5IDIzOjMyOjAzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGF2b2lkIHBvc3NpYmxlIHJhY2Ugb24gX291dHB1dF9mcm9udGVuZF9zdGF0cygpCgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIG91dCBvdXIgaW5mbyBtZXNzYWdlIGJlZm9yZSB3ZSBnaXZlIHVwIG93bmVyc2hpcAoJICBvZiB0aGUgc3RydWN0dXJlLgoKMjAxNi0wNC0yOSAxNDo1MzowNiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB2YXIgcmVuYW1lIGluIF9vdXRwdXRfZnJvbnRlbmRfcGFyYW1zKCkKCSAgTm93IGl0IG1hdGNoZXMgdGhlIHJlc3Qgb2YgaXRzIHN0YXR1cyBwZWVycy4gVW5kZXJzY29yZQoJICB3YXMgYSBsZWZ0b3ZlciBmcm9tIHByZXZpb3VzIHRpbWVzLgoKMjAxNi0wNC0yOSAxNDo0NToyMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhbHdheXMgb3V0cHV0IGtub3duIGZyb250ZW5kIHN0YXR1cyBwYXJhbXMKCSAgVGhlIG9ubHkgbWFuZGF0b3J5IGZyb250ZW5kIGluZm9ybWF0aW9uIGZvciBvdXIgdXNlIGNhc2UKCSAgaXMgaXRzIHN0YXR1cy4gTWFrZSBzdXJlIHdlIG91dHB1dCB3aGF0IHdlIGtub3cgaW5zdGVhZAoJICBvZiBjaG9raW5nIGF0IHRoZSBmaXJzdCBlcnJvciBnZXR0aW5nIFNOUiwgQkVSIG9yIGFueSBvZgoJICB0aGUgb3RoZXIgaW5mb3JtYXRpb25hbCBwYXJhbWV0ZXJzLgoKMjAxNi0wNC0yOSAxMjowNjo1MiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZWZhY3RvciBzaWduYWwgbG9ja2luZyBsb29wCgkgIEdldCByaWQgb2YgcHJlbGltaW5hciBmcm9udGVuZCBzdGF0dXMgY2hlY2suCgoyMDE2LTA0LTI5IDExOjE4OjUzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgdW5uZWVkZWQgcG9sbGluZyBzdGVwIG9uIF90dW5lX2ZlKCkKCSAgQWRkaXRpb25hbCB3YWl0aW5nIHdhcyBub3QgbmVlZGVkLiBTcGVjaWFsbHkgY29uc2lkZXJpbmcKCSAgaXQgY2FtZSBhZnRlciBhIHN1Y2Nlc3NmdWwgUkVBRF9TVEFUVVMgaW9jdGwgYW5kIHdhcwoJICBmb2xsb3dlZCBieSBhbiBFSU5UUi1yZXNpbGVudCByZXRyeS4KCjIwMTYtMDQtMjkgMTc6MTk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBlZmZlY3RpdmVseSBjaGVjayBpZiB0aGVyZSBpcyBhIGxhbmd1YWdlCgkgICdsYW5ndWFnZScgaXMgYW4gYXJyYXkgYW5kIG5vdCBhIHBvaW50ZXIuCgkgIENJRCAxMzU4ODM1CgoyMDE2LTA0LTI5IDEzOjU0OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSAgcGxheWVyOiBBZGQgcmVxdWlyZWQgcGF0aHMgdmlhIHBrZy1jb25maWcgZm9yIGdzdHJlYW1lci1iYXNlLTEuMCBhbmQgZ3N0cmVhbWVyLXZpZGVvLTEuMCBmb3IgZ29iamVjdC1pbnRyb3NwZWN0aW9uCgkgIFRoZSBHc3RCYXNlLTEuMC5naXIgYW5kIEdzdFZpZGVvLTEuMC5naXIgZmlsZXMgYXJlIHJlcXVpcmVkIGJ5IEdzdFBsYXllci4KCSAgVW5pbnN0YWxsZWQgYnVpbGRzIGZhaWwgaWYgdGhlc2UgZmlsZXMgY2Fubm90IGJlIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1ODA0CgoyMDE2LTA0LTA4IDE2OjQ3OjE1ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGVuYWJsZSBnbGRlaW50ZXJsYWNlIG9uIE9wZW5HTCBFUwoJICAxLlBvcnRpbmcgdGhlIGV4aXN0IGRlaW50ZXJsYWNlIHNoYWRlciBhbmQgT3BlbkdMIGNhbGxiYWNrCgkgIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBPcGVuR0wgRVMuCgkgIDIuQWRkIGEgb3VyIGJsdXIgdmVydGljYWwgc2hhZGVyIHRvIGdsZGVpbnRlcmxhY2UuCgkgIDMuQWRkIGEgcHJvcGVydHkgbmFtZWQg4oCcbWV0aG9k4oCdIHRvIGxldCB1c2VyIGNob29zZSB3aGljaAoJICBkZWludGVybGFjZSBmdW5jdGlvbiB0byB1c2UuIERlZmF1bHQgdG8gY2hvb3NlIGJsdXIgdmVydGljYWwKCSAgbWV0aG9kIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UuCgkgIFtNYXR0aGV3IFdhdGVyc106IGZpeCBuYW1lIG9mIGdyZWVkeWggaW4gbWV0aG9kIHByb3BlcnR5ICh3YXMgZ3JlZWRoeSkgYW5kIHBvcnQKCSAgdG8gZ2l0IG1hc3Rlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDg3MwoKMjAxNi0wNC0yOCAxNToxOToxNyArMDUzMCAgQmFydW4gS3VtYXIgU2luZ2ggPGJhcnVuLnNpbmdoQHNhbXN1bmcuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogQWRkIGF1ZGlvLXZpZGVvLW9mZnNldCBwcm9wZXJ0eSBhbmQgc2V0dGVyL2dldHRlciBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTMxNQoKMjAxNi0wNC0xOSAxOTo0MzowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IFBvcnQgbW9yZSB0aGluZ3MgdG8gR0xFUy9HTCAzIGNvbXBhdGliaWxpdHkKCSAgQW5kIG1vdmUgdGhlIHNoYWRlciBtYW5nbGluZyBjb2RlIGludG8gYSBzaW5nbGUgcGxhY2UgaW5zdGVhZCBvZiBoYXZpbmcgYSBjb3B5CgkgIGluIGdsY29sb3Jjb252ZXJ0IGFuZCBnbHZpZXdjb252ZXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjY2CgoyMDE2LTA0LTE5IDE5OjI3OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBHTEVTMyBkZXByZWNhdGVzIHRleHR1cmUyRCgpIGFuZCBpdCBkb2VzIG5vdCB3b3JrIGF0IGFsbCBpbiBuZXdlciB2ZXJzaW9ucyB0aGFuIDMuMwoJICBVc2UgdGhlIG5ld2VyIHRleHR1cmUoKSBmdW5jdGlvbiBpbnN0ZWFkLiBUaGlzIGZpeGVzIGdsaW1hZ2VzaW5rIGFuZCBvdGhlcgoJICB0aGluZ3Mgb24gdmFyaW91cyBBbmRyb2lkIGRldmljZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyNjYKCjIwMTYtMDQtMTkgMTA6Mjc6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogd3JpdGUgbGFuZ3VhZ2UgZGVzY3JpcHRvciB3aGVuIGxhbmd1YWdlIGlzIGF2YWlsYWJsZQoJICBBZGRzIGEgbmV3IGZ1bmN0aW9uIHRvIG1wZWd0cyBsaWIgdG8gY3JlYXRlIGEgaXNvNjM5IGxhbmd1YWdlCgkgIGRlc2NyaXB0b3IgZnJvbSBhIGxhbmd1YWdlIGFuZCB1c2UgaXQgaW4gbXBlZ3RzbXV4IHRvIGFkZAoJICBhIGxhbmd1YWdlIGRlc2NyaXB0b3IgdG8gYXVkaW8gc3RyZWFtcyB0aGF0IGhhdmUgYSBsYW5ndWFnZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM2NDcKCjIwMTYtMDQtMjYgMTY6NDg6NTggKzA4MDAgIFNvbmcgQmluZyA8YmluZy5zb25nQG54cC5jb20+CgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBwdnJidWZmZXJwb29sOiBmaXggZ3N0X21ldGFfcmVnaXN0ZXIoKSBwYXJhbWV0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU1ODEKCjIwMTYtMDQtMjIgMTA6MTU6MzkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2hlY2sgYWxsIHBhZHMgZm9yIGRhdGEgd2hlbiBsaXZlCgkgIFdoZW4gbGl2ZSwgd2Ugc3RpbGwgbmVlZCB0byBpbnNwZWN0IGFsbCBwYWRzIHF1ZXVlIGluIG9yZGVyIHRvIGRldGVybWluCgkgIGlmIHdlIGhhdmUgcmVjZWl2ZWQgdGhlIGZpcnN0IGJ1ZmZlciBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU0MzEKCjIwMTYtMDQtMTUgMTY6NTE6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IGxvY2tpbmcgd2hlbiB1c2luZyB0aGUgY2xvY2sKCSAgVGhpcyBmaXhlcyBhIHJhY2Ugd2hlcmUgd2UgY2hlY2sgaWYgdGhlcmUgaXMgYSBjbG9jaywgdGhlbiBpdCBnZXQKCSAgcmVtb3ZlZCBhbmQgd2UgZW5kdXAgY2FsbGluZyBnc3RfY2xvY2tfbmV3X3NpbmdsZV9zaG90X2lkKCkgd2l0aCBhIE5VTEwKCSAgcG9pbnRlciBpbnN0ZWFkIG9mIGEgdmFsaWQgY2xvY2sgYW5kIGFsc28gY2FsbGluZyBnc3Rfb2JqZWN0X3VucmVmKCkKCSAgd2l0aCBhIE5VTEwgcG9pbnRlciBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzU0OAoKMjAxNi0wNC0yNSAxNjo1MDo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogSDI2NSBsZXZlbCBpZGMgMCBpcyBub3QgdmFsaWQKCSAgRG9uJ3QgcHV0IGxldmVsPTAgaW50byB0aGUgY2FwcywgaXQgY29uZnVzZXMgb3RoZXIgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU1MzgKCjIwMTYtMDQtMjUgMTY6NTA6MTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEgyNjQgbGV2ZWwgaWRjIDAgaXMgbm90IHZhbGlkCgkgIERvbid0IHB1dCBsZXZlbD0wIGludG8gdGhlIGNhcHMsIGl0IGNvbmZ1c2VzIG90aGVyIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NTM4CgoyMDE2LTA0LTIyIDE0OjUxOjMxICswMjAwICBKZXJvbWUgTGFoZXVydGUgPGpsYWhldXJ0ZUBxdWl2aWRpLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogZml4IERpcmVjdFNob3cgY2FwcyBuZWdvdGlhdGlvbiBhbmQgc2V0IGNhcHR1cmUgcGluIGNhcHMKCSAgU29tZSBjYW1lcmFzIChJRFMpIGhhdmUgYnJva2VuIERpcmVjdFNob3cgZHJpdmVycyB3aGljaCBpbmNvcnJlY3RseSBmaWxsIHNvbWUKCSAgZmllbGRzIGluIHRoZSBWSURFT0lORk9IRUFERVIgc3RydWN0dXJlOyBjb21wYXJpc29uIGJldHdlZW4gc3VnZ2VzdGVkIGFuZAoJICBzdXBwb3J0ZWQgbWVkaWEgdHlwZXMgaW4gQ0Jhc2VSZW5kZXJlciBzaG91bGQgaWdub3JlIGRlcHJlY2F0ZWQgYW5kL29yIG5vdAoJICBlc3NlbnRpYWwgZmllbGRzOyBhZGRpdGlvbmFseSBleHBsaWNpdGVseSBzZXR0aW5nIHRoZSBtZWRpYXR5cGUgZm9yIHRoZSBjYXB0dXJlCgkgIHBpbiBiZWZvcmUgdHJ5aW5nIHRvIGNvbm5lY3QgaXQgd29ya3MgYXJvdW5kIGFub3RoZXIgSURTIGRyaXZlciBidWcsIGFuZAoJICBzaG91bGQgaGF2ZSBiZWVuIGFscmVhZHkgZG9uZSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU0MjgKCjIwMTYtMDQtMjIgMTQ6NDg6NDEgKzAyMDAgIEplcm9tZSBMYWhldXJ0ZSA8amxhaGV1cnRlQHF1aXZpZGkuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIHN1cHBvcnQgZm9yIFJHQjMyLCBSR0I1NTUsIFJHQjU2NSBhbmQgUkdCOCBjb2xvciBzcGFjZXMKCSAgU29tZSBjYW1lcmFzIChJRFMpIG9ubHkgc3VwcG9ydCB0aG9zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NjU0MjcKCjIwMTYtMDQtMjIgMTQ6NDQ6NTcgKzAyMDAgIEplcm9tZSBMYWhldXJ0ZSA8amxhaGV1cnRlQHF1aXZpZGkuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9DTWFrZUxpc3RzLnR4dDoKCSAgZHNob3dzcmN3cmFwcGVyOiBmaXggaW5jbHVkZSBwYXRoIGFuZCBsaW5rIGVycm9yCgkgIEFkZCBpbmNsdWRlIHBhdGggc28gdGhhdCB0aGUgY21ha2UtZ2VuZXJhdGVkIHByb2plY3QKCSAgaXMgYWJsZSB0byBmaW5kIGdzdGNvbmZpZy5oCgkgIEFkZCAvU0FGRVNFSDpOTyB0byBNU1ZDIGxpbmtlciBvcHRpb25zIHNvIGl0IGNhbiBsaW5rIHdpdGgKCSAgZ3N0cmVhbWVyIGxpYnJhcmllcyBvbiBXaW5kb3dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc2NTQyNgoKMjAxNi0wNC0yMiAxNTowMjowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJICB0ZXN0czogYWRhcHRpdmVkZW11eDogb25seSBjaGVjayBmb3IgZGF0YSBsZW5ndGggYWZ0ZXIgc2VlawoJICBXaGVuIHRoZSB0ZXN0IGludm9sdmVzIGRvaW5nIGEgc2Vlaywgb25seSBjaGVjayBmb3IgZGF0YSBzaXplIGFmdGVyCgkgIHRoZSBzZWVrLiBUaGUgZmluYWwgc2VnbWVudCByYW5nZSBhZnRlciBzZWVrIG1pZ2h0IGJlIGRpZmZlcmVudC9zbWFsbGVyCgkgIHRoYW4gdGhlIHRocmVzaG9sZCBmb3IgZG9pbmcgdGhlIHNlZWsgYW5kIGRvaW5nIHRoZSBjaGVjayBiZWZvcmUKCSAgc2Vla2luZyB3b3VsZCBmYWlsLgoKMjAxNi0wMi0xNiAxNDoyNjo1NSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuaDoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IHVzZSBtYWNybyB0byBkZWZpbmUgbmFtZXMgb2YgcmVxdWVzdCBhbmQgcmVzcG9uc2Ugc3RydWN0cwoJICBGb2xsb3dpbmcgdGhlIERvbid0IFJlcGVhdCBZb3Vyc2VsZiBwcmluY2lwbGUsIGRlZmluZSBtYWNyb3MKCSAgZm9yIHRoZSBzdHJ1Y3R1cmVzIHRoYXQgY29udGFpbiB0aGUgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycywKCSAgc28gdGhhdCB0aGUgbmFtZSBpcyBub3QgcmVwZWF0ZWQgaW4gbXVsdGlwbGUgcGxhY2VzIGluIG11bHRpcGxlIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI2OjQyICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGltcHJvdmVkIGNoZWNrcyBmb3IgZXhwZWN0ZWQgZGF0YQoJICBDaGVjayB0aGUgc2l6ZSBvZiByZWNlaXZlZCBkYXRhIGZvciBlYWNoIGJ1ZmZlciByZWNlaXZlZCBieSBBcHBTaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTE6Mzc6NDQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIGNvbnRlbnQgcHJvdGVjdGlvbiB0ZXN0CgkgIFRlc3QgY29udGVudCBwcm90ZWN0aW9uCgkgIENvbmZpZ3VyZSAzIGNvbnRlbnQgcHJvdGVjdGlvbiBzb3VyY2VzOgoJICAtIGEgdXVpZCBzY2hlbWUvdmFsdWUgcGFpcgoJICAtIGEgbm9uIHV1aWQgc2NoZW1lL3ZhbHVlIHBhaXIgKGRhc2ggcmVjb2duaXNlcyBvbmx5IHV1aWQgc2NoZW1lcykKCSAgLSBhIGNvbXBsZXggdXVpZCBzY2hlbWUsIHdpdGggdHJhaWxpbmcgc3BhY2VzIGFuZCBjYXBpdGFsIGxldHRlcnMgaW4gc2NoZW1lIHVyaQoJICBPbmx5IHRoZSB1dWlkIHNjaGVtZSBzaG91bGQgYmUgcmVjb2duaXNlZC4gV2UgZXhwZWN0IHRvIHJlY2VpdmUgMiBjb250ZW50IHByb3RlY3Rpb24gZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNjQKCjIwMTYtMDQtMjIgMTc6MDQ6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBzdHJpcCBsZWFkL3RyYWlsaW5nIHdoaXRlc3BhY2UgZnJvbSBkZXNjcmlwdG9ydHlwZSBhdHRyaWJ1dGVzCgkgIFRoZSBzcGVjIHNheXMgaXQgaXMgeHM6YW55VVJJIGFuZCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlCgkgIGFyZSB0byBiZSBpZ25vcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwNjQKCjIwMTYtMDItMTYgMTQ6MjY6MDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBtZWRpYSBkb3dubG9hZCBlcnJvciBmb3IgaW4gc3RyZWFtIGZyYWdtZW50CgkgIFRlc3RlZCBkb3dubG9hZCBlcnJvciBmb3IgYSBmcmFnbWVudCB0aGF0IGlzIG5vdCB0aGUgbGFzdCBtZWRpYSBmcmFnbWVudAoJICBpbiB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI1OjQ1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgZG93bmxvYWQgZXJyb3JzIGR1cmluZyBoZWFkZXIgZG93bmxvYWQKCSAgVGVzdCBoZWFkZXIgZG93bmxvYWQgZXJyb3IuCgkgIExldCB0aGUgYWRhcHRpdmUgZGVtdXggZG93bmxvYWQgYSBmZXcgYnl0ZXMsIHRoZW4gaW5zdHJ1Y3QgdGhlCgkgIEdzdFRlc3RIVFRQU3JjIGVsZW1lbnQgdG8gZ2VuZXJhdGUgYW4gZXJyb3Igd2hpbGUgdGhlIGZyYWdtZW50IGhlYWRlcgoJICBpcyBzdGlsbCBiZWluZyBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI1OjMyICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiByZWZhY3RvciB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yCgkgIFJlbmFtZWQgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvciB0byB0ZXN0TWVkaWFEb3dubG9hZEVycm9yTGFzdEZyYWdtZW50LgoJICBBZGRlZCBnc3RfYWRhcHRpdmVfZGVtdXhfdGVzdF91bmV4cGVjdGVkX2VvcyBmdW5jdGlvbi4KCSAgUmVtb3ZlIHVubmVlZGVkIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3JDaGVja1NpemVPZkRhdGFSZWNlaXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNTowNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IHRlc3RlZCBsYXRlbmN5IHF1ZXJ5CgkgIFVwZGF0ZWQgcXVlcnkgdGVzdCB0byBhbHNvIGNoZWNrIGlmIGRhc2ggcmVzcG9uZHMgY29ycmVjdGx5IHRvIGEgbGF0ZW5jeQoJICBxdWVyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNDo0OSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IG1vdmVkIHRlc3RRdWVyeSBhZnRlciB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yCgkgIE1vdmVkIHRlc3RRdWVyeSBhZnRlciB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIHNvIHRoYXQgdGVzdERvd25sb2FkRXJyb3IKCSAgYW5kIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IgYXJlIGdyb3VwZWQgdG9nZXRoZXIuCgkgIFRoZSBjb21taXQganVzdCBtb3ZlZCB0aGUgdGVzdFF1ZXJ5Q2hlY2tEYXRhUmVjZWl2ZWQgYW5kCgkgIEdTVF9TVEFSVF9URVNUICh0ZXN0UXVlcnkpIGZ1bmN0aW9ucyBidXQgZ2l0IGdldHMgY29uZnVzZWQgaW4gbWF0Y2hpbmcgdGhlCgkgIGxpbmVzIGFuZCByZXBvcnRzIGEgbG90IG9mIGNoYW5nZXMgaW4gdGhlIHBhdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI0OjI2ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogY3JlYXRlIGEgR3N0RGFzaERlbXV4VGVzdENhc2UgY2xhc3MKCSAgQ3JlYXRlIGEgR3N0RGFzaERlbXV4VGVzdENhc2UgY2xhc3MgdGhhdCBleHRlbmRzIGZyb20gR3N0QWRhcHRpdmVEZW11eFRlc3RDYXNlLgoJICBUaGlzIG5ldyBjbGFzcyB3aWxsIGNvbnRhaW4gYWxsIHRoZSBEQVNIIHNwZWNpZmljIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxNDoyNDowOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHN1cHBvcnQgdG8gcGFzcyB2YXJpb3VzIHBhcmFtZXRlcnMgdG8gaHR0cCBzcmMgY2FsbGJhY2tzCgkgIEFkZGVkIHN1cHBvcnQgdG8gcGFzcyB2YXJpb3VzIHBhcmFtZXRlcnMgdG8gaHR0cCBzcmMgY2FsbGJhY2tzIHVzaW5nIEdzdFN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMy0wMSAxNDo1NDowMSAtMDgwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkgIGNoZWNrc3Vtc2luazogYWRkICJoYXNoIiBwcm9wZXJ0eSBhbmQgYWxsb3cgbW9yZSBjaGVja3N1bSB0eXBlcwoJICBOb3cgYW55IEdDaGVja3N1bVR5cGUgY2FuIGJlIHVzZWQgYnkgR3N0Q2hlY2tzdW1TaW5rLCBhZGRpbmcKCSAgc3VwcG9ydCBmb3IgTUQ1LCBTSEEtMjU2IGFuZCBTSEEtNTEyIGluIGFkZGl0aW9uIHRvIFNIQS0xLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDA2CgoyMDE2LTA0LTIyIDA4OjIwOjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBGaXggTERBREQvQ0ZMQUdTIGZvciBwbGF5ZXIgdW5pdCB0ZXN0CgkgIEl0IG5vdyByZXF1aXJlcyBsaWJnc3R2aWRlbwoKMjAxNi0wMi0xNiAxNDo0NDozOSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiB1c2UgYSBHc3RUZXN0Q2xvY2sgYXMgdGhlIHN5c3RlbSBjbG9jawoJICBUbyBhbGxvdyB0aGUgYWRhcHRpdmVkZW11eCBsaXZlIHN0cmVhbSB0ZXN0cyB0byBydW4gaW4gbm9uLXJlYWx0aW1lLCB1c2UgYQoJICBHc3RUZXN0Q2xvY2sgYXMgdGhlIHN5c3RlbSBjbG9jay4gVGhpcyBhbGxvd3MgdGhlIHVuaXQgdGVzdHMgdG8gY29tcGxldGUKCSAgbW9yZSBxdWlja2x5IHRoYW4gaWYgdGhleSBoYWQgdG8gY29tcGxldGUgaW4gcmVhbCB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ3CgoyMDE2LTAyLTE2IDE0OjQ0OjI3ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdXNlIHJlYWx0aW1lX2Nsb2NrIGZvciB3YWl0aW5nIGZvciBhIGNvbmRpdGlvbgoJICBUaGVyZSBhcmUgc2V2ZXJhbCBwbGFjZXMgaW4gYWRhcHRpdmVkZW11eCB3aGVyZSBpdCB3YWl0cyBmb3IKCSAgdGltZSB0byBwYXNzLCBmb3IgZXhhbXBsZSB0byB3YWl0IHVudGlsIGl0IHNob3VsZCBuZXh0IGRvd25sb2FkCgkgIGEgZnJhZ21lbnQuIFRoZSBwcm9ibGVtIHdpdGggdGhpcyBhcHByb2FjaCBpcyB0aGF0IGl0IG1lYW5zIHRoYXQKCSAgdW5pdCB0ZXN0cyBhcmUgZm9yY2VkIHRvIGV4ZWN1dGUgaW4gcmVhbHRpbWUuCgkgIFRoaXMgY29tbWl0IHJlcGxhY2VzIHRoZSB1c2Ugb2YgZ19jb25kX3dhaXRfdW50aWwoKSB3aXRoIHNpbmdsZQoJICBzaG90IEdzdENsb2NrSUQgdGhhdCBzaWduYWxzIHRoZSBjb25kaXRpb24gdmFyaWFibGUuIFVuZGVyIG5vcm1hbAoJICB1c2FnZSwgdGhpcyBiZWhhdmVzIGV4YWN0bHkgYXMgYmVmb3JlLiBBIHVuaXQgdGVzdCBjYW4gcmVwbGFjZSB0aGUKCSAgc3lzdGVtIGNsb2NrIHdpdGggYSBHc3RUZXN0Q2xvY2ssIGFsbG93aW5nIHRoZSB0ZXN0IHRvIGNvbnRyb2wgdGhlCgkgIHRpbWluZyBpbiBhZGFwdGl2ZWRlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ3CgoyMDE2LTAyLTE2IDE0OjQ0OjEwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogdXNlIEdzdFN5c3RlbUNsb2NrIHRvIGFsbCByZWFsLXRpbWUgY2FsY3VsYXRpb25zCgkgIEEgcmVhbHRpbWUgY2xvY2sgaXMgdXNlZCBpbiBtYW55IHBsYWNlcywgc3VjaCBhcyBkZWNpZGluZyB3aGljaAoJICBmcmFnbWVudCB0byBzZWxlY3QgYXQgc3RhcnQgdXAgYW5kIGRlY2lkaW5nIGhvdyBsb25nIHRvIHNsZWVwCgkgIGJlZm9yZSBhIGZyYWdtZW50IGJlY29tZXMgYXZhaWxhYmxlLiBGb3IgZXhhbXBsZSBkYXNoZGVtdXggbmVlZHMKCSAgc2FtcGxlIHRoZSBjbGllbnQncyBlc3RpbWF0ZSBvZiBVVEMgd2hlbiBzZWxlY3Rpbmcgd2hlcmUgdG8gc3RhcnQKCSAgaW4gYSBsaXZlIERBU0ggc3RyZWFtLgoJICBUaGUgcHJvYmxlbSB3aXRoIGRhc2hkZW11eCBjYWxjdWxhdGluZyB0aGUgY2xpZW50J3MgaWRlYSBvZiBVVEMgaXMKCSAgdGhhdCBpdCBtYWtlcyBpdCBkaWZmaWN1bHQgdG8gY3JlYXRlIHVuaXQgdGVzdHMsIGJlY2F1c2UgdGhlIHBhc3NhZ2UKCSAgb2YgdGltZSBpcyBhIGZhY3RvciBpbiB0aGUgdGVzdC4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyBkYXNoZGVtdXggYW5kIGFkYXB0aXZlZGVtdXggdG8gdXNlIHRoZQoJICBHc3RTeXN0ZW1DbG9jaywgc28gdGhhdCBhIHVuaXQgdGVzdCBjYW4gcmVwbGFjZSB0aGUgc3lzdGVtIGNsb2NrIHdoZW4KCSAgaXQgbmVlZHMgdG8gYmUgYWJsZSB0byBjb250cm9sIHRoZSBjbG9jay4KCSAgVGhpcyBjb21taXQgbWFrZXMgbm8gY2hhbmdlIHRvIHRoZSBiZWhhdmlvdXIgdW5kZXIgbm9ybWFsIHVzYWdlLCBhcwoJICBHc3RTeXN0ZW1DbG9jayBpcyBiYXNlZCB1cG9uIHRoZSBzeXN0ZW0gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NwoKMjAxNi0wNC0yMSAxNDo1ODo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICB3aW4zMjogQWRkIG5ldyBBUEkgdG8gLmRlZiBmaWxlCgoyMDE2LTA0LTE5IDEwOjU5OjQ2ICswNTMwICBCYXJ1biBLdW1hciBTaW5naCA8YmFydW4uc2luZ2hAc2Ftc3VuZy5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbGF5ZXIucGMuaW46CgkgIHBsYXllcjogQWRkIHN1cHBvcnQgZm9yIG11bHRpdmlldyBzZXR0aW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MzAyCgoyMDE2LTA0LTIxIDEwOjA2OjQwICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogdnRlbmM6IGZpeCBidWlsZCBicmVhayBvbiBpT1MKCSAgRml4ICdjb25mbGljdGluZyB0eXBlcycgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI5MgoKMjAxNi0wNC0yMCAxNTozNDo1NSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgdGVzdCBmb3IgaW52YWxpZCBEVkItVDIgYmFuZHdpZHRoCgoyMDE2LTA0LTIwIDE0OjQ3OjIyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHdhcm4gb24gd3JvbmcgRFZCLVQyIHN0cmVhbSBJRCB2YWx1ZQoJICBTdHJlYW0gSUQsIHVzZWQgZm9yIERWQi1UMi9TMiBhbmQgSVNEQi1TIGNhbgoJICBub3QgZXhjZWVkIDI1NSBmb3IgdGhlIGZvcm1lci4gQ2hhbmdlIG1ha2VzIHRoaXMKCSAgZXhwbGljaXQuCgoyMDE2LTA0LTIwIDIxOjA3OjI4ICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogdnRlbmM6IEZpeCBhIHdhcm5pbmcgYnkgd2Vhay1saW5rIHN5bWJvbAoJICBGaXggdGhpcyB3YXJuaW5nCgkgIGFkZHJlc3Mgb2YgZnVuY3Rpb24gJ1ZUQ29tcHJlc3Npb25TZXNzaW9uUHJlcGFyZVRvRW5jb2RlRnJhbWVzJyB3aWxsIGFsd2F5cyBldmFsdWF0ZSB0byAndHJ1ZScgWy1XcG9pbnRlci1ib29sLWNvbnZlcnNpb25dCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyOTIKCjIwMTYtMDQtMjAgMTY6MTk6NTUgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgZ2w6IGNhb3BlbmdsbGF5ZXJzaW5rOiBmaXggYSBtaW5vciB3YXJuaW5nCgkgIEZpeCAidW51c2VkIHZhcmlhYmxlIiB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyOTIKCjIwMTYtMDQtMjAgMTY6MDA6MzYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NvY29hOiBGaXggaW5jb21wYXRpYmxlIHR5cGUgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjkyCgoyMDE2LTA0LTE5IDE0OjU3OjIyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBpbmNsdWRlIGRlcHJlY2F0ZWQgYW5kIHVuYXZhaWxhYmxlIGQzZHg5dGV4LmgKCSAgSXQncyBub3QgbmVlZGVkLCBub3Qgb24gbmF0aXZlIFdpbmRvd3Mgbm9yIHdpdGggbWluZ3csIGFuZAoJICB3ZSBkb24ndCB1c2UgYW55dGhpbmcgZnJvbSBpdCBhbnl3YXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI1MAoKMjAxNi0wNC0xNCAxMjo0Njo1OCArMDIwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogYWRkIHN5bmMgc3VwcG9ydCBmb3Igc2Vjb25kYXJ5IHBpcGVzCgkgIFRoZSB2YmxhbmsgZXZlbnQgcmVxdWVzdCBtdXN0IHNwZWNpZnkgdGhlIGNydGMgZm9yIHdoaWNoIHRvIHJlcXVlc3QKCSAgdGhlIGV2ZW50LiBUaGlzIGZpeGVzIGttc3Npbmsgc3luY2hyb25pc2F0aW9uIGZvciBjcnRjcyBvdGhlciB0aGFuCgkgIHRoZSBmaXJzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTA2NAoKMjAxNi0wNC0xOSAwOTozMDozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IGluZGVudGF0aW9uCgoyMDE2LTA0LTE5IDEwOjUxOjE0ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IG5lZWQgdG8gY2xlYW4gd2luZG93X2lkIHdoZW4gc3RhdGUgY2hhbmdlIGZvcm0gUkVBRFkgdG8gTlVMTAoJICBXaGVuIGFwcGxpY2F0aW9uIGNoYW5nZSBwaXBlbGluZSBzdGF0ZSBOVUxMLT5SRUFEWSBhbmQgdGhlbiBSRUFEWS0+TlVMTCwKCSAgZ2xpbWFnZXNpbmsgd2lsbCBub3QgY2xlYXIgZ2xzaW5rLT53aW5kb3dfaWQuIEFmdGVyIHRoYXQsIHdoZW4gYXBwbGljYXRpb24KCSAgY2hhbmdlIHN0YXRlIE5VTEwtPlJFQURZLCB0aGUgbmV3X3dpbmRvd19pZCBpcyBlcXVhbCB0byB3aW5kb3dfaWQsIGdsaW1hZ2VzaW5rCgkgIHdpbGwgbm90IHNldCB3aW5kb3cgaGFuZGxlLiBJdCB3aWxsIHVzZSB0aGUgaW50ZXJuYWwgd2luZG93IGJ1dCBub3QgdGhlIHdpbmRvdwoJICBjcmVhdGUgYnkgYXBwbGljYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyNDEKCjIwMTYtMDQtMTggMTM6NDY6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBwbHVnIGNhcHMgbGVhawoJICBJdCB3YXMgbG9zaW5nIHJlZiBvZiB0aGUgb3JpZ2luYWwgJ3JldCcgY2FwcyB0aGF0IHdvdWxkIGJlIHJldHVybmVkCgkgIG9yIHJldHVybmluZyBpdCB3aXRoIDIgcmVmZXJlbmNlcyB0byBpdC4KCjIwMTYtMDMtMjggMTU6NDQ6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHByb3Blcmx5IGhhbmRsZSBpbnRlcmxhY2UtbW9kZSByZXN0cmljdGlvbnMKCSAgdmlkZW9hZ2dyZWdhdG9yIGNhbid0IGhhbmRsZSBpbnRlcmxhY2UtbW9kZSBjaGFuZ2VzIHNvIGl0IG11c3QKCSAgYWx3YXlzIHJlc3RyaWN0IGl0c2VsZiB0byB0aGUgZmlyc3QgaW50ZXJsYWNpbmcgbW9kZSBpdCByZWNlaXZlcy4KCSAgVGVzdHMgaW5jbHVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ5NQoKMjAxNi0wMS0yMiAxNjo0OTo1NyArMDAwMCAgUmFmZmFlbGUgUm9zc2kgPHJhcm9zc2lAY2lzY28uY29tPgoKCSogZXh0L2R0bHMvUkVBRE1FOgoJICBkdHNsOiBhZGQgc29tZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5OTQKCjIwMTYtMDQtMTcgMTU6NDU6NDEgKzAxMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXJzaW5rOiBBY3R1YWxseSB1bnNldCBjYXBzX2NoYW5nZSBmbGFnIGFmdGVyIHJlc2l6ZQoJICBPdGhlcndpc2UsIHRoZSBzaW5rIHdvdWxkIGV4ZWN1dGUgIm9uX3Jlc2l6ZSIgZm9yIGVhY2ggZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUxOTQKCjIwMTYtMDQtMTcgMTU6NDM6MjAgKzAxMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYW9wZW5nbGxheWVyOiBBcHBseSBsYXllci5jb250ZW50c1NjYWxlIHRvIHZpZXdwb3J0IGRpbXMKCSAgRml4ZXMgYmx1cnJ5IGNvbnRlbnQgb24gSGlEUEkgc2NyZWVucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MTk0CgoyMDE2LTA0LTE2IDIyOjMzOjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVtb3ZlIGFuIHVubmVjZXNzYXJ5IGNoZWNrIGZvciBOVUxMIGJlZm9yZSBnX2ZyZWUKCjIwMTYtMDQtMTUgMTM6MjI6NTEgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBEcm9wIHVzYWdlIG9mICdvdmVybGF5ZWQnIHRvIG1lYW4gJ292ZXJsYWlkJwoKMjAxNi0wNC0xNSAxMzoxMDo0MSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzaG93IGludmFsaWQgZGVsc3lzL21vZCBjb21iaW5hdGlvbiBpZiBmb3VuZAoKMjAxNi0wNC0xNSAxMToyOTo0OCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbW9kdWxhdGlvbiBjaGVjayBmb3IgQVRTQwoKMjAxNi0wNC0xMSAyMzo0NToyMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkbyBub3QgYXV0b2RldGVjdCBkZWxzeXMgdHdpY2UKCSAgVGhlIHByb2Nlc3MgaXMgZGVhbHQgd2l0aCB0aGUgZmlyc3QgdGltZSB0aGUgYWRhcHRlciBpcwoJICBvcGVuZWQsIHRoZXJlIGlzIG5vIG5lZWQgdG8gZG8gdGhpcyBhZ2Fpbi4KCjIwMTYtMDQtMTQgMjI6MzI6MDUgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhY29uY2hpbGxvQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogYWxzbyBjaGVjayBmb3IgInJvYyIgaW4gY2FwcwoJICBDdXJyZW50bHksIGdzdF9zcnRwX2RlY19zaW5rX3NldGNhcHMgaXMgaGFwcHkgaWYgdGhlICJyb2MiIGZpZWxkIGlzIG5vdAoJICBwcm92aWRlZCBpbiB0aGUgY2Fwcy4gSWYgaXQgaXMgbm90IHByb3ZpZGVkIHRoZSBzdHJlYW0gd2lsbCBiZSBwcm9wZXJseQoJICBpbnNlcnRlZCBpbiB0aGUgaGFzaCB0YWJsZSB3aXRoIGEgZGVmYXVsdCAicm9jIi4gVGhlbiwgd2hlbiB0aGUgZmlyc3QKCSAgYnVmZmVyIGFycml2ZXMgdmFsaWRhdGVfYnVmZmVyIHdpbGwgZmluZCBhbiBleGlzdGluZyBzdHJlYW0gaW4gdGhlIGhhc2gKCSAgdGFibGUgYW5kIHdpbGwgbm90IHNpZ25hbCByZXF1ZXN0LWtleSwgbm90IGFsbG93aW5nIHRoZSB1c2VyIHRvIHByb3ZpZGUKCSAgYSAicm9jIi4KCSAgVGhpcyBwYXRjaCBleHBlY3RzICJyb2MiIGluIGdzdF9zcnRwX2RlY19zaW5rX3NldGNhcHMsIGlmIG5vdCBmb3VuZCBhCgkgIHJlcXVlc3Qta2V5IHdpbGwgYmUgc2lnbmFsZWQgYW5kIHRoZSB1c2VyIHdpbGwgYmUgYWJsZSB0byBwcm92aWRlIGFsbAoJICB0aGUgc3J0cCBmaWVsZHMsIGluY2x1ZGluZyAicm9jIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTA3OQoKMjAxNC0wNy0yOCAxMjoxNDowMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IFBhcnNlIG1vcmUgc2xpY2UgaGVhZGVyIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODcyCgoyMDE0LTA3LTI4IDExOjE3OjA1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQWRkIHZidl9kZWxheSBmaWVsZCB0byBQaWN0dXJlSGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NzIKCjIwMTQtMDctMjggMTE6MTQ6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBBZGQgbW9yZSBmaWVsZHMgdG8gdGhlIEdzdE1wZWdWaWRlb1NlcXVlbmNlSGRyCgkgIEFkZGVkIHRoZSBmaWVsZHMgbG9hZF9ub25faW50cmFfcXVhbnRpc2VyX21hdHJpeCBhbmQKCSAgbG9hZF9jaHJvbWFfaW50cmFfcXVhbnRpc2VyX21hdHJpeCB0byB0aGUgc2VxdWVuY2UgaGVhZGVyIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg3MgoKMjAxNi0wNC0xNCAxMDowMjozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmYyZDIwOSB0byBhYzJmNjQ3CgoyMDE2LTA0LTEzIDE4OjEyOjI1ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZyZWUgcGFkX2RhdGEtPmxhbmd1YWdlIGJlZm9yZSBnX3N0cmR1cCBpbiBvcmRlciB0byBhdm9pZCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MDA1CgoyMDE2LTA0LTEzIDEzOjEwOjEyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IEdzdENvcmVWaWRlb01ldGEgaW4gdGhlIHBsdWdpbiB1c2luZyBvbmx5IHB1YmxpYyBBUEkgaGFzIG5vIGN0eCBtZW1iZXIKCjIwMTYtMDQtMTMgMTM6MDk6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogR3N0Q29yZU1lZGlhTWV0YSBpbiB0aGUgcGx1Z2luIHVzaW5nIG9ubHkgcHVibGljIEFQSSBoYXMgbm8gY3R4IG1lbWJlcgoKMjAxNi0wNC0xMyAxMDoyNTozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgbWV0YTogSW5pdGlhbGl6ZSBhbGwgcmVtYWluaW5nIG1ldGFzIGluIHRoZWlyIGluaXQgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDkwMgoKMjAxNi0wNC0xMyAxMDoxNzoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBtZXRhOiBJbml0aWFsaXplIGFsbCBHc3RNZXRhIGZpZWxkcwoJICBEdXJpbmcgYWxsb2NhdGlvbiB0aGV5IGFyZSBub3QgaW5pdGlhbGl6ZWQgdG8gYWxsIHplcm9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDkwMgoKMjAxNi0wNC0xMSAyMjowODowMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhdm9pZCByZWR1bmRhbnQgZGVsc3lzIHF1ZXJ5aW5nCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcXVlcnkgdGhlIGZyb250ZW5kIGZvciB0aGUgbGlzdAoJICBvZiBzdXBwb3J0ZWQgZGVsaXZlcnkgc3lzdGVtcyBpZiB3ZSBhcmUgc2VsZWN0aW5nCgkgIG9uZSBmcm9tIHRoZSBsaXN0IG9mIGF1dG9kZXRlY3RlZCBvbmVzLgoKMjAxNi0wNC0xMCAxODo1ODozMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBhZGQgaW5mb3JtYXRpb24gdG8gZmlsZSBub3QgZm91bmQgZXJyb3IKCSAgQWRkcyB1c2VmdWwgZmFpbHVyZSBpbmZvIChsaWtlIGZpbGVuYW1lKSBjb21taW5nIGZyb20KCSAgZ19maWxlX2dldF9jb250ZW50cygpIGFzIGRvbmUgZm9yIGV2ZXJ5IG90aGVyIGVycm9yIGluCgkgIHRoaXMgYmxvY2suCgoyMDE2LTA0LTEzIDAwOjQzOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9jb2NvYS9lYWdsOiBkb24ndCBsZWFrIEdUaHJlYWQncyB3aGVuIGRpc3BhdGNoaW5nIG1lc3NhZ2VzCgkgIGdzdF9nbF9jb250ZXh0X2dldF90aHJlYWQoKSByZXR1cm5zIGEgcmVmZWQgcG9pbnRlciwgd2UgbmVlZCB0byB1bnJlZiBpdC4KCjIwMTYtMDQtMTIgMTE6MTQ6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZG9uJ3QgZGVyZWZlcmVuY2UgbnVsbCBwb2ludGVyCgkgIGZ1bmNzIGNhbiBiZSBOVUxMLCBpdCBpcyBvbmUgb2YgdGhlIHR3byBjb25kaXRpb25zIG9mIHRoZSBPUiBzdGF0ZW1lbnQKCSAgYWJvdmUsIHNvIGNvbmZpcm0gaXQgaXNuJ3QgYmVmb3JlIGRlcmVmZXJlbmNpbmcgd2l0aCBmdW5jcy0+ZnJlZS4KCSAgQ0lEIDEzNTgzODgKCjIwMTYtMDQtMTIgMDQ6MTY6NTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRml4IHdoZW4gYXBwbHlpbmcgbmV3IFBNVCB3aXRoIHNhbWUgcHJvZ3JhbSBudW1iZXIKCSAgV2hlbiB0aGUgc3ViLWNsYXNzIGlzIGRlbGF5aW5nIGRlYWN0aXZhdGlvbiBvZiB0aGUgb2xkIHByb2dyYW0sCgkgIGJ1dCBpdCBoYXMgdGhlIHNhbWUgcHJvZ3JhbSBudW1iZXIgYXMgdGhlIG5ldyBwcm9ncmFtLCBkb24ndAoJICBvdmVyd3JpdGUgdGhlIG9sZCBwcm9ncmFtIGluIHRoZSBoYXNoIHRhYmxlIGFuZCB0aGVuIHN0ZWFsCgkgIHRoZSBuZXcgcHJvZ3JhbSBiYWNrIG91dCBvZiBpdC4gSW5zdGVhZCwgYWRkIHRoZSBuZXcgcHJvZ3JhbSB0bwoJICB0aGUgaGFzaCB0YWJsZSBhZnRlciBoYW5kbGluZyByZW1vdmFsIG9mIHRoZSBvbGQgb25lLgoKMjAxNi0wNC0wNiAwNDoxNTo0MCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBrZWVwIHRoZSBwYXJlbnQgYnVmZmVyIGFyb3VuZCB3aGVuIGNvbnZlcnRpbmcgRUdMSW1hZ2UgdG8gMkQgdGV4dHVyZXMKCSAgZS5nLiByZWNlaXZpbmcgYW5kIHJlbGVhc2luZyBhIGJ1ZmZlciBmcm9tIE9NWCB0b28gZWFybHkgd2lsbCBwb3RlbnRpYWxseQoJICBjYXVzZSB0ZXh0dXJlcyB0byBiZSBvdmVyd3JpdHRlbiB3aGlsZS9iZWZvcmUgdGhleSBhcmUgZGlzcGxheWVkLgoKMjAxNi0wNC0xMSAxNjo0Mzo0NSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkgIGdsYmFzZW1peGVyOiBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGltcGxlbWVudGF0aW9uCgoyMDE2LTA0LTExIDE4OjA2OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZ1bGthbjogcHJldHRpZnkgdGhlIHZhcmlvdXMgdmVyc2lvbnMgaW4gdGhlIGRlYnVnIG91dHB1dAoJICBvdXRwdXQgaHVtYW4gcmVhZGFibGUgbnVtYmVycy4KCjIwMTYtMDQtMTEgMjA6MjM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogbWlub3IgY2xlYW4tdXBzCgkgIFJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZ2V0dGVycywgc2V0dGVyczsgb3V0ZGF0ZWQgY29tbWVudC4KCjIwMTYtMDQtMTEgMjA6MTE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuaDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkgIG9wZW5oMjY0OiByZW1vdmUgdW5uZWNlc3NhcnkgaW5zdGFuY2UgcHJpdmF0ZSBzdHJ1Y3R1cmVzCgkgIEVsZW1lbnQgaW5zdGFuY2Ugc3RydWN0dXJlcyBhcmUgbm90IHB1YmxpYyBBUEksIHNvIG5vIG5lZWQKCSAgZm9yIHRoZSBleHRyYSBpbmRpcmVjdGlvbiB0byBoaWRlIHRoZSBkYXRhLgoKMjAxNi0wNC0xMSAyMDowNDowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBmaXggaW5kZW50YXRpb24KCjIwMTYtMDItMTIgMTQ6MjE6MjcgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmM6CgkgIGttc3Npbms6IGVuYWJsZSBVWVZZLCBZVVkyLCBhbmQgWVZZVSAoaW50ZXJsZWF2ZWQgWVVWIDQ6MjoyKSBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDItMTIgMTQ6MTc6MzIgKzAxMDAgIFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmM6CgkgIGttc3Npbms6IGVuYWJsZSBOVjE2IChjaHJvbWEtaW50ZXJsZWF2ZWQgWVVWIDQ6MjoyKSBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMi0xMiAxNDoxNzoxMyArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuYzoKCSAga21zc2luazogZW5hYmxlIFk0MkIgKHBsYW5hciBZVVYgNDoyOjIpIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAzLTA0IDE2OjUzOjU4ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazoga2VlcCBsYXN0IHJlbmRlcmVkIGJ1ZmZlciBpbiBtZW1vcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMi0yMCAyMzoxMzo1NCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmg6CgkgIGttc3Npbms6IHdhaXQgZm9yIHBhZ2UgZmxpcCBvciB2YmxhbmsKCSAgVGhpcyBwYXRjaCByZXF1ZXN0cyBmb3IgZHJtTW9kZVBhZ2VGbGlwKCkgZm9yIHRoZSB1c2VkIENSVEMsIGlmIHRoZSBrZXJuZWwKCSAgbW9kdWxlIHN1cHBwb3J0cyBhc3luYyBwYWdlIGZsaXAuIElmIGl0IGRvZXMgbm90LCB0aGUgZWxlbWVudCByZXF1ZXN0cyBmb3IgYQoJICB2YmxhbmsgZXZlbnQuIEEgR3N0UG9sbCB3YWl0cyBmb3IgdGhlIGV2ZW50IHRvIGhhcHBlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMi0xMCAyMDo0Mzo0NyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9rbXMvTWFrZWZpbGUuYW06CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmg6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogYWRkIGRtYWJ1ZiBzdXBwb3J0CgkgIFRoaXMgcGF0Y2ggd2lsbCBlbmFibGUgdGhlIGltcG9ydCBvZiBkbWFidWZzIGludG8gYSBLTVMgYnVmZmVyIHVzaW5nCgkgIHRoZSBQUklNRSBrZXJuZWwgaW50ZXJmYWNlLgoJICBJZiB0aGUgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgcHJpbWUgaW1wb3J0LCB0aGUgbWV0aG9kIGlzIHNraXBwZWQuCgkgIEl0IGhhcyBiZWVuIHRlc3RlZCB3aXRoIGEgRnJlZXNjYWxlIEkuTVg2IGJvYXJkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAxLTMxIDEzOjEyOjM0ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmM6CgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuaDoKCSAga21zc2luazogY2FsY3VsYXRlIGRpc3BsYXkgcmF0aW8KCSAgR2V0IHRoZSBhc3BlY3QgcmF0aW8gZ2l2ZW4gdGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIGJ5IGxpYmRybSwgYW5kIHdpdGggaXQKCSAgY2FsY3VsYXRlIHRoZSBkaXNwbGF5IHJhdGlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAxLTIwIDEyOjAwOjUxICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMva21zL01ha2VmaWxlLmFtOgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5oOgoJKiBzeXMva21zL2dzdGttc2J1ZmZlcnBvb2wuYzoKCSogc3lzL2ttcy9nc3RrbXNidWZmZXJwb29sLmg6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5jOgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmg6CgkgIGttc3Npbms6IGFkZCBwbHVnaW4gYW5kIHNpbmsgZWxlbWVudAoJICBUaGlzIGlzIHNpbXBsZSB2aWRlbyBzaW5rIHRoYXQgdXNlIGxpYmRybS9saWJrbXMgQVBJIHRvIHJlbmRlciBmcmFtZXMuCgkgIFRoZSBlbGVtZW50IHVzZXMgcGxhbmVzIHRvIHJlbmRlciB0aHJvdWdoIGRybU1vZGVTZXRQbGFuZSgpLgoJICBJdCBoYXMgYmVlbiB0ZXN0ZWQgaW4gYW4gRXh5bm9zNDQxMiBib2FyZCBhbmQgaW4gYSBGcmVlc2NhbGUgSS5NWDYgYm9hcmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDQtMTAgMTc6NDY6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi93YXlsYW5kL3ZrZGlzcGxheV93YXlsYW5kLmM6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC92a2Rpc3BsYXlfd2F5bGFuZC5oOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvdmt3aW5kb3dfd2F5bGFuZC5jOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvdmt3aW5kb3dfd2F5bGFuZC5oOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSogZXh0L3Z1bGthbi93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkgIHZ1bGthbjogYWRkIGEgd2F5bGFuZCB3aW5zeXMgaW1wbGVtZW50YXRpb24KCjIwMTYtMDQtMTAgMTc6NDM6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuaDoKCSAgdnVsa2FuL3hjYjogZ2V0UHJvY0FkZHJlc3Mgd2luc3lzIGZ1bmN0aW9ucwoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZXkgd2lsbCBhbHdheXMgYmUgZXhwb3NlZCBieSB0aGUgdnVsa2FuIGxvYWRlci4KCjIwMTYtMDQtMDkgMTc6NTI6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSAgdmt1cGxvYWQ6IGNvcHkgbmVjZXNzYXJ5IGJ1ZmZlciBtZXRhZGF0YQoJICB0aW1lc3RhbXBzLCBmbGFncywgZXRjCgoyMDE2LTA0LTExIDA4OjM0OjAwICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGxpYmdzdGdsOiBjb2NvYSwgZWFnbDogdXNlIGxpYmRpc3BhdGNoIHRvIHNjaGVkdWxlIEdMIGNhbGxzCgkgIFVzZSBsaWJkaXNwYXRjaCBpbnN0ZWFkIG9mIEdNYWluTG9vcCB0byBkaXNwYXRjaCBHTCBjYWxscy4gbGliZGlzcGF0Y2ggaXMgbW9yZQoJICBvcHRpbWl6ZWQgYW5kIGN1dHMgYSBsb3Qgb2YgcG9sbCgpL3B0aHJlYWRfKiBvdmVyaGVhZC4KCjIwMTYtMDQtMTEgMDg6MDI6NDUgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiByZWR1Y2UgdGhlIG51bWJlciBvZiBHTXV0ZXhlcyBhbmQgR0NvbmRzIGluIHNlbmRfbWVzc2FnZSgpCgkgIERvbid0IGNyZWF0ZSBtYW55IHNob3J0IGxpdmVkIGxvY2tzL2NvbmRzIGluIGdzdF9nbF93aW5kb3dfc2VuZF9tZXNzYWdlLiBUaGlzIGlzCgkgIGEgbWljcm8gb3B0aW1pemF0aW9uIHRvIHNhdmUgYSBidW5jaCBvZiBwdGhyZWFkXyogY2FsbHMgd2hpY2ggYXJlIGV4cGVuc2l2ZSBvbgoJICBPU1gvaU9TIGFuZCBwb3NzaWJseSBvdGhlciBwbGF0Zm9ybXMuCgoyMDE2LTA0LTEwIDIyOjE4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSAuZGVmIGZpbGUgZm9yIG5ldyBnbCBhcGkKCjIwMTYtMDQtMDggMTg6MzQ6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogYWRkIG5lY2Vzc2FyeSB3YWl0IHN0YWdlcyB0byB0aGUgc3VibWlzc2lvbiBpbmZvCgoyMDE2LTA0LTA4IDE4OjMyOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFkZCBzcmdiIGZvcm1hdHMgdG8gb3VyIGxpc3Qgb2YgZm9ybWF0cwoJICBpbnRlbCByZXR1cm5zIHRoZW0gZm9yIHRoZWlyIHN1cmZhY2UgZm9ybWF0cy4KCjIwMTYtMDQtMDggMTg6MDk6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2dWxrYW46IHNpbGVuY2UgYSB2YWxpZGF0aW9uIHdhcm5pbmcgZmlsbGluZyBvdXQgdGhlIGltYWdlIGJhcnJpZXIKCjIwMTYtMDQtMDggMTg6MDk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogdXNlIHRoZSBjb3JyZWN0IHZhbGlkYXRpb24gbGF5ZXIgbmFtZQoJICBUaGUgdGhyZWFkaW5nIHZhbGlkYXRpb24gbGF5ZXIgaGFzIGNoYW5nZWQgbmFtZXMuCgoyMDE2LTA0LTA4IDE0OjA3OjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEluaXRpYWxpemUgY2FwdHVyZV90aW1lIHRvIE5PTkUgc28gaXQgY2FuIGJlIHVzZWQgaWYgbm8gdmlkZW8gZnJhbWUgaXMgcHJvdmlkZWQgYnV0IGF1ZGlvIGlzCgkgIENJRCAxMzU4MzkwCgoyMDE2LTA0LTA4IDE3OjU2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzX3ByaXZhdGUuaDoKCSAgdnVsa2FuOiBvbmx5IHdhcm4gb24gbm90IGZvdW5kIGxheWVycwoJICBkb24ndCBlcnJvciBvdXQgY29tcGxldGVseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NTQ1CgoyMDE2LTA0LTA4IDE3OjQxOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IGRvbid0IGdfZXJyb3Igd2hlbiBmYWlsaW5nIHRvIGZpbmQgdmFsaWRhdGlvbiBsYXllcnMKCSAgQWJvcnRpbmcgdGhlIGFwcGxpY2F0aW9uIGlzIG5ldmVyIGEgZ29vZCB0aGluZyB0byBkbyBmb3IgcmVjb3ZlcmFibGUgZXJyb3JzLgoJICBKdXN0IHdhcm4gYW5kIGVycm9yIG91dCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NTQ1CgoyMDE2LTA0LTA4IDE0OjUxOjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuaDoKCSAgbnZlbmM6IGFkZCBzb21lIHJhdGUgY29udHJvbCBtb2Rlcy9wcm9wZXJ0aWVzCgkgIFN1cHBvcnRlZCBtb2RlcyBhcmUgY29uc3RhbnQgcXVhbnRpemVyLCBjYnIsIHZiciBhbmQgdmJyIHdpdGggYSBtaW5pbXVtIHF1YW50aXplci4KCjIwMTYtMDQtMDcgMjM6MjQ6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5oOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmM6CgkgIG52ZW5jOiBtb3ZlIGNvZGVjIGNvbmZpZyBpbml0aWFsaXphdGlvbiBmcm9tIHRoZSBpbXBsZW1lbnRhdGlvbiB0byB0aGUgYmFzZSBjbGFzcwoJICBTdXBwb3J0cyBhIGJldHRlciBzZXBhcmF0aW9uIG9mIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycwoKMjAxNi0wNC0wNyAyMjo0NjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmg6CgkqIHN5cy9udmVuYy9nc3RudmVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmM6CgkgIG52ZW5jOiBhZGQgcHJlc2V0IHNlbGVjdGlvbgoJICBTb21lIHByZXNldHMgYXJlIG5vdCBhbHdheXMgc3VwcG9ydGVkIG9uIGFsbCBkZXZpY2VzIGFuZCB3aWxsIGNhdXNlIGFuIGVycm9yIGlmCgkgIHVzZWQuICBTcGVjaWZpY2FsbHksIHRoZSBMT1NTTEVTUyBwcmVzZXRzIGFyZSBrbm93biB0byBub3Qgd29yayBldmVyeXdoZXJlLgoKMjAxNC0wNy0xNiAwMjo0NDo0MiArMDIwMCAgTWFyY2luIEtvbG55IDxtYXJjaW4ua29sbnlAZ21haWwuY29tPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBlbWl0IG5vdGlmeTo6ZmluZ2VycHJpbnQgc2lnbmFsIHdoZW4gZmluZ2VycHJpbnQgaXMgcmVhZHkKCSAgSW4gYWRkaXRpb24gdG8gYWRkaW5nIHRoZSBmaW5nZXJwcmludCB0byB0aGUgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIzMwoKMjAxNi0wNC0wNCAyMDo1NTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVwZWN0IHRoZSByZXN1bHQgb2YgZmluZF9iZXN0X2Zvcm1hdCBpbiB0aGUgZGVmYXVsdCB1cGRhdGVfY2FwcwoJICBXZSB3ZXJlbid0IHVzaW5nIHRoZSByZXN1bHQgb2YgZmluZF9iZXN0X2Zvcm1hdCBhdCBhbGwuCgkgIEFsc28sIG1vdmUgdGhlIGZpbmRfYmVzdF9mb3JtYXQgdXNhZ2UgdG8gdGhlIGRlZmF1bHQgdXBkYXRlX2NhcHMoKSB0byBtYWtlCgkgIHN1cmUgdGhhdCBpdCBpcyBhbHNvIG92ZXJyaWRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MzYzCgoyMDE2LTA0LTA1IDIxOjQwOjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IEZpeCBmYWxsYmFjayB0byBHc3RWaWRlb0J1ZmZlclBvb2wKCSAgVGhlIHJlcGxhY2VtZW50IHBvb2wgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgcXVlcnksIG90aGVyd2lzZSB0aGUKCSAgYmFzZWNsYXNzIHdvbid0IHNlZSBpdC4gV2UgYWxzbyBuZWVkIHRvIHByb3Blcmx5IHJlbW92ZSB0aGUgcmVqZWN0ZWQKCSAgcG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0NDEKCjIwMTYtMDQtMDUgMjE6MDc6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIHJmYnNyYzogSW1wbGVtZW50IGRlY2lkZV9hbGxvY2F0aW9uIHZpcnR1YWwKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSB0aGUgYmFzZSBjbGFzcyBmb3IgYnVmZmVyIGFsbG9jYXRpb24sIGhlbmNlIHVzZQoJICBmaWxsKCkgaW5zdGVhZCBvZiBjcmVhdGUoKSB2aXJ0dWFsLiBUaGlzIGFsc28gYWRkcyBhIHN0cmljdCBjaGVjayBvbiB0aGUKCSAgc2VsZWN0IHBvb2wgYnVmZmVyIHNpemUgYXMgd2UgZG9uJ3Qgc3VwcG9ydCBzdHJpZGVzIGFuZCBwYWRkaW5nLgoJICBUaGlzIGlzIGJhc2VkIG9uIGluaXRpYWwgcGF0Y2ggcHJvcG9zZWQgYnkgU2ViYXN0aWVuIERyw7ZnZSwgZnJvbSB3aGljaCBJCgkgIGFsc28gZml4ZWQgYSBidWZmZXIgcG9vbCBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDQxCgoyMDE2LTA0LTA1IDE1OjMxOjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IEZpeCBjYXBzIG5lZ290aWF0aW9uCgkgIEFzIHdlIGN1cnJlbnRseSBvbmx5IHVzZSB0aGUgc2VydmVyIHJlcG9ydGVkICJuYXR1cmFsIiBmb3JtYXQsIGNhcHMKCSAgbmVnb3RpYXRpb24gc2hvdWxkIHNpbXBseSBiZSBsaW1pdGVkIHRvIHRlbGxpbmcgdGhlIGJhc2UgY2xhc3Mgd2hpY2gKCSAgZm9ybWF0IHRvIHVzZS4gRml4IHRoZSBuZWdvdGlhdGlvbiBieSBtb3ZpbmcgdGhlIGFzc29jaWF0ZWQgY29kZQoJICBpbnRvIG5lZ290aWF0ZSgpIHZpcnR1YWwgZnVuY3Rpb24uIEFsc28sIHVzZSBnc3RfYmFzZV9zcmNfc2V0X2NhcHMoKQoJICByYXRoZXIgdGhlbiBzZXR0aW5nIGl0IG9uIHRoZSBwYWQgZGlyZWN0bHkuIEFsc28gcHJvdGVjdCBhZ2FpbnN0IHRoaXMKCSAgbWV0aG9kIGJlaW5nIGNhbGxlZCBtdWx0aXBsZSB0aW1lICh3ZSBjYW4ndCByZW5lZ290aWF0ZSBmb3Igbm93KS4KCSAgVGhpcyBjaGFuZ2UgYWxzbyBtb3ZlcyBzb21lIG5ldHdvcmsgY29kZSB0aGF0IHdhcyBiZWluZyBydW4gZHVyaW5nIHRoZQoJICBhcHBsaWNhdGlvbiBzdGF0ZSBjaGFuZ2UgY2FsbCwgdG8gYmUgcnVuIG9uIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NTk4CgoyMDE2LTAzLTI2IDEzOjM2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IEltcGxlbWVudCB1bmxvY2soKSBtZXRob2QKCSAgVGhpcyBwcmV2ZW50IHN0YWxscyB3aGVuIHdlIHRyeSB0byBzdG9wIHRoZSBzb3VyY2Ugd2hpbGUgd2FpdGluZwoJICBmb3IgdGhlIHNlcnZlciB0byBzZW5kIG1vcmUgdXBkYXRlcy4KCjIwMTYtMDMtMjQgMTg6Mjc6NTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IENoZWNrIGZvciBjb25uZWN0aW9uIGJlaW5nIGNsb3NlZAoJICBBbHRob3VnaCBpdCdzIG5vdCB2ZXJ5IHdlbGwgZG9jdW1lbnRlZCwgZ19pbnB1dF9zdHJlYW1fcmVhZF9hbGwoKSB3aWxsCgkgIHNldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgdG8gMCBpZiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQgcmF0aGVyCgkgIHRoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoKMjAxNi0wMy0yNCAxODoyNjo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogQ2hlY2sgZm9yIHJlYWQvd3JpdGUgZXJyb3IKCSAgQ2hlY2sgZm9yIHJlYWQvd3JpdGUgZXJyb3IuIFRoaXMgcHJldmVudCB1bmRlZmluZWQgYmVoYXZpb3VyIHRoYXQgcmVseQoJICBvbiB1bml0aWFsaXplZCBidWZmZXIuCgoyMDE2LTAzLTI0IDE4OjE0OjE3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogQWRkIGEgaW50ZXJuYWwgbWV0aG9kIHRvIGRpc2Nvbm5lY3QKCSAgVGhpcyBhbHNvIHJlbW92ZXMgdGhlIGRpc2Nvbm5lY3RlZCBib29sZWFuIGhhY2suCgoyMDE2LTAzLTI0IDE4OjE0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IERvbid0IGlnbm9yZSBlcnJvcnMKCSAgVGhpcyBwcmV2ZW50cyByZWN1cnNpb24gb24gZXJyb3IuIFRoaXMgdXNlZCB0byBoYXBwZW4gYXMgd2UKCSAgZG9uJ3QgY2hhbmdlIHRoZSBzdGF0ZSB3aGVuIHNvbWV0aGluZyBmYWlscy4gV2UgZW5kIHVwIHJ1bm5pbmcKCSAgYW5kIGZhaWxpbmcgaW4gdGhlIHNhbWUgc3RhdGUgZm9yZXZlci4KCjIwMTYtMDMtMjQgMTY6NDY6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBTZXJpYWxpemUgd3JpdGUgb3BlcmF0aW9ucwoJICBDdXJyZW50bHkgd2Ugc2VuZCBrZXkgZXZlbnRzIGZyb20gc2VwZXJhdGUgdGhyZWFkcy4gSU9TdHJlYW0gZG9lcyBub3QKCSAgYWxsb3cgY29uY3VycmVudCB3cml0ZSBvcGVyYXRpb25zLCBzbyBwcm90ZWN0IHRoaXMgb3BlcmF0aW9uIHVzaW5nIGEKCSAgbXV0ZXguCgoyMDE2LTAzLTE3IDE1OjI0OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBBZGQgMy43LzMuOCBzZWN1cml0eSB0eXBlIG5lZ290aWF0aW9uCgoyMDE2LTAzLTE2IDE4OjQ4OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogUG9ydCB0byBHU29ja2V0Q2xpZW50CgkgIFVzaW5nIEdTb2NrZXRDbGllbnQgd2UgY2FuIHNpbXBsaWZ5IGEgbG90IHRoZSByZWFkL3dyaXRlIG9wZXJhdGlvbi4KCSAgVGhpcyBhbHNvIHByb3ZpZGUgYW4gR1NvY2tldENvbm5lY3Rpb24gKGEgR0lPU3RyZWFtKSB3aGljaCBjYW4gdGhlbgoJICBiZSB1c2VkIHdpdGggdGhlIEdUbHNDbGllbnRDb25uZWN0aW9uIGZvciBzZWN1cmUgY29ubmVjdGlvbnMuIE5vdGUKCSAgdGhhdCB3ZSB1c2UgX3dyaXRlX2FsbCgpIHRvIGVuc3VyZSBhbGwgYnl0ZXMgaGF2ZSBiZWVuIHJlYWQuIFRoaXMgaXMKCSAgdG8gZm9sbG93IHRoZSBmYWN0IHRoZSBub25lIG9mIHRoZSBfc2VuZCgpIGNhbGxzIGNoZWNrIHRoZSByZXR1cm4KCSAgdmFsdWUuCgoyMDE2LTAzLTE2IDE2OjQ5OjI5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJKiBnc3QvbGlicmZiL3JmYi5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBSZW1vdmUgdXNlbGVzcyBsaWJyYXJ5IHdyYXBwaW5nCgkgIFdlIHVzZSBhIHNpbmxnZSAuYyBmaWxlLCBzaW1wbGlmeSBldmVyeXRoaW5nIGJ5IHJlbW92aW5nIHRoYXQKCSAgc3RhdGljIGxpYnJhcnkuCgoyMDE2LTAzLTE2IDE2OjQ5OjA5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL3JmYi5jOgoJKiBnc3QvbGlicmZiL3JmYi5oOgoJKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOgoJKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkqIGdzdC9saWJyZmIvcmZidXRpbC5oOgoJICByZmJzcmM6IENsZWFudXAgZGVhZCBjb2RlCgkgIFJlbW92ZSBhbGwgdGhlIHVudXNlZCBzdHVmZiwgdGhlIGluY2x1ZGUgaGVhZGVyLCBkZWZpbml0aW9uIGFuZCBDIGNvZGUKCSAgdGhhdCBkb24ndCBjb250cmlidXRlIGFueXRoaW5nIHRvIHRoaXMgZWxlbWVudC4KCjIwMTYtMDMtMTQgMTU6MDg6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IFByb3Blcmx5IGZhbGxiYWNrIHRvIDMuMwoJICBJZiB0aGUgbWFqb3IgdmVyc2lvbiBpcyBub3QgMywgdGhlbiB0aGUgbWlub3IgdmVyc2lvbiBwcm92aWRlZAoJICBzaG91bGQgYmUgaWdub3JlZCwgYXMgaXQgaXMgbWVhbmluZ2xlc3MgZm9yIG91ciBmYWxsYmFjay4KCjIwMTYtMDMtMTQgMTU6MDU6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IENsZWFubHkgaGFuZGxlIHNlY3VyaXR5IG5lZ290aWF0aW9uIGZhaWx1cmUKCSAgV2hlbiB0aGUgc2VjdXJpdHkgY2Fubm90IGJlIG5lZ290aWF0ZWQsIHRoZSBzZXJ2ZXIgcmV0dXJucwoJICBzZWN1cml0eSB0eXBlIG9mIDAgKGZhaWx1cmUpLiBJbiB0aGF0IGNhc2UsIHRoZSBuZXh0IHN0ZXAgaXMKCSAgdG8gcmVhZCB0aGUgZXJyb3IgcmVhc29uIHN0cmluZy4KCjIwMTYtMDQtMDEgMTQ6MzY6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogY2xhbXAgc2VnbWVudCBkdXJhdGlvbnMgdG8gZWFjaCBvdGhlciBhbmQgcGVyaW9kIGVuZAoJICA1LjMuMi4xIGluIHRoZSBzcGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzkyCgoyMDE1LTA5LTEwIDEzOjIyOjU4ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdW5pdCB0ZXN0aW5nIHJlcHJvZHVjaW5nIHNlZ21lbnQgZHVyYXRpb24gb3ZlcmZsb3cKCSAgdW5pdCB0ZXN0IHJlcHJvZHVjaW5nIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3OTIKCSAgV2l0aCBtaW5vciBjaGFuZ2VzIGJ5IFZpbmNlbnQgUGVucXVlcmMnaC4KCjIwMTYtMDQtMDUgMTQ6NDk6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IGFjY2VwdCBwYWNrZXRzIHdpdGhvdXQgdGltZXN0YW1wcyBhZnRlciBhIGRpc2NvbnQKCSAgV2UgaGF2ZSBubyBpZGVhIHdoaWNoIHRpbWVzdGFtcHMgdGhleSBhcmUgc3VwcG9zZWQgdG8gaGF2ZSBzbyB0aGUgb25seSB0aGluZwoJICB3ZSBjYW4gZG8gYXQgdGhpcyBwb2ludCBpcyB0byBkcm9wIHRoZW0uIFBhY2tldHMgd2l0aG91dCB0aW1lc3RhbXBzIGhhcHBlbiBpZgoJICBhdWRpbyB3YXMgY2FwdHVyZWQgYnV0IG5vIGNvcnJlc3BvbmRpbmcgdmlkZW8sIHdoaWNoIHNob3VsZG4ndCBoYXBwZW4gdW5kZXIKCSAgbm9ybWFsIGNpcmN1bXN0YW5jZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MzMKCjIwMTYtMDQtMDQgMjI6MjE6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCBjcmFzaCB3aGVuIHJlY2VpdmluZyB2aWRlbyBmcmFtZXMgYnV0IG5vIGF1ZGlvCgkgIEFuZCBtYXJrIHRoZXNlIGV2ZW50cyBhcyBkaXNjb250cyB0byByZXNldCB0aW1lIHRyYWNraW5nIGluIHRoZSBhdWRpbyBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MzMKCjIwMTUtMDgtMDggMTU6MTc6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBkb24ndCBjcmFzaCBpZiB3ZSBnZXQgTlVMTCB2aWRlbyBmcmFtZXMgaW4gdGhlIGNhbGxiYWNrCgkgIEZvciBzb21lIHJlYXNvbiB3ZSBzZWVtIHRvIHNvbWV0aW1lcyBnZXQgTlVMTCB2aWRlb19mcmFtZXMgaW4gdGhlCgkgIDo6VmlkZW9JbnB1dEZyYW1lQXJyaXZlZCgpIGNhbGxiYWNrLCBvYnNlcnZlZCBvbiBJbnRlbnNpdHkgUHJvIGNhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjMzCgoyMDE2LTAzLTIzIDAzOjE2OjExICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogYWRkIHN1cHBvcnQgZm9yIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWV0YQoKMjAxNi0wMy0yMyAwMzoxNDo0MCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBzdXBwb3J0IHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWV0YSBmb3IgYW55IHRleHR1cmUgdGFyZ2V0CgoyMDE2LTA0LTA1IDE2OjIyOjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBzZXQgdGhlIGN1cnJlbnQgdGV4dHVyZSB0byAwIGJlZm9yZSBtYXBwaW5nCgkgIElmIHdlIGZhaWwgbWFwcGluZywgd2UgZG9uJ3Qgd2FudCB0byB1c2UgdW5kZWZpbmVkIHZpZGVvIGRhdGEgaW4gdGhlIHN1YmNsYXNzLgoKMjAxNS0wOS0wOCAxNDozNzo1NyArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybHNpbms6IGNhdGNoIGFuIHVua25vd24gZXJyb3IKCSAgSW4gdGhpcyBjYXNlIHRoZSBzb2NrZXQgY2FsbGJhY2sgaGFzIG5vdCBiZWVuIGNhbGxlZAoJICBieSBsaWJjdXJsIGFuZCB0aGUgY3VybHNpbmsgaGFzIG5vdCBiZWVuIG5vdGlmaWVkIGFib3V0IGFueQoJICBjb25uZWN0aW9uIHByb2JsZW1zIGJ5IGxpYmN1cmwuCgkgIFRoaXMgaW5kaWNhdGVzIHRoYXQgaXQncyBhIGJ1ZyBpbiBsaWJjdXJsIHNvIGNhdGNoIGl0IGFzCgkgIGFuIHVua25vd24gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0MzIKCjIwMTYtMDQtMDQgMTM6NDM6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IHByb3h5IHRoZSBzdGFydC10aW1lLSogcHJvcGVydGllcyBmcm9tIGFnZ3JlZ2F0b3IKCjIwMTYtMDQtMDQgMTE6Mjg6MzUgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSAgZHRsczogVXNlIHVuaXF1ZSBuYW1lcyBmb3IgaW50ZXJuYWwgZWxlbWVudHMgdG8gZWFzZSBkZWJ1Z2dpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODY1MQoKMjAxNi0wNC0wMyAxNzo1NjowNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBkdXBsaWNhdGVkIHRlc3Qgb2YgZmxvd19yZXR1cm4gaW4gcGFkX2NoYWluX2ludGVybmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ1NDkKCjIwMTYtMDQtMDMgMTg6MDY6MjAgKzA5MDAgIEtvdWhlaSBTdXRvdSA8a291QGNsZWFyLWNvZGUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBkaXJlY3Rzb3VuZHNyYzogYWRkIG1pc3NpbmcgLWxvbGUzMgoJICBDTFNJREZyb21TdHJpbmcoKSByZXF1aXJlcyBvbGUzMi5kbGwuCgkgIFNlZSBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L3dpbmRvd3MvZGVza3RvcC9tczY4MDU4OSUyOHY9dnMuODUlMjkuYXNweAoJICBDTFNJREZyb21TdHJpbmcoKSBpcyBpbnRyb2R1Y2VkIGF0CgkgIGY5NDY0Y2UzNTQ5YzJiMzk0OGE1ODI0NjQ2MzFiYTRmOGRkMGQ1ZTcgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NTIzCgoyMDE2LTAzLTMxIDExOjIxOjM1ICswMjAwICBDaHJpc3RvZmZlciBTdGVuZ3JlbiA8Y2hyaXN0c24uZ3NAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgIGdkcGRlcGF5OiBRdWVyeSBmb3IgYnVmZmVyIGFsbG9jYXRvciBiZWZvcmUgdXNpbmcgZGVmYXVsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MzYxCgoyMDE2LTAzLTIyIDE5OjI3OjM5ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWxsb3cgaW50ZXJsYWNlZCBzaW5rIGNhcHMsIGRvIHBhc3N0aHJvdWdoCgkgIEFsbG93IGludGVybGFjZSB0byByZWNlaXZlIGFscmVhZHkgaW50ZXJsYWNlZCBjb250ZW50LCBpZiBjb21wYXRpYmxlIHdpdGggaXRzCgkgIGNvbmZpZ3VyYXRpb24uIEluIHRoYXQgY2FzZSwgaXQgd2lsbCBqdXN0IGRvIHBhc3N0aHJvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MDM2CgoyMDE2LTA0LTAxIDIxOjI0OjM0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIFJFQURNRTogdXBkYXRlIHRvIDEuMCBhbmQgbGlsdgoKMjAxNi0wNC0wMSAxODozMzoxMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkgIGx2MmZpbHRlcjogcmVtb3ZlIHRoZSB2YXJpYWJsZSBmb3IgdGhlIHJlZ2lzdHJ5IGtsYXNzIHRhZwoJICBKdXN0IHBhc3MgdGhlIHN0cmluZyB3aGVuIHJlZ2lzdGVyaW5nLgoKMjAxNi0wNC0wMSAxODozMTozNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkgIGx2MmZpbHRlcjogcmVtb3ZlIGNvcHkgYW5kIHBhc3RlIG9mIGRvYyBibG9iCgkgIFRoaXMgZG9jIGJsb2NrIGlzIGFscmVhZHkgaW4gZ3N0bHYyLmMuCgoyMDE2LTA0LTAxIDEyOjU5OjE5ICswMjAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkgIG9wZW5jdjogc2VnbWVudGF0aW9uOiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIEFkZCBuYW1lc3BhY2UgYmdzZWdtLCByZXBsYWNlbWVudCBmdW5jdGlvbnMgYW5kIFRlbXBsYXRlIGNsYXNzIGZvciBuZXcKCSAgT3BlbkNWIHZlcnNpb25zIGJlY2F1c2UgdGhlc2UgZnVuY3Rpb25zIGhhdmUgYmVlbiByZW1vdmVkLiBjdmFyclRvTWF0KCkgaXMKCSAgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5DViBhbmQgdGhlIHVzZSBvZgoJICBjbGFzcyBNYXQgY29uc3RydWN0b3IgaXMgZWxpbWluYXRlZCwgaXQgaXMgYWxzbyBkZXByZWNhdGVkIGluIDMuWCB2ZXJzaW9ucy4KCSAgVXNlIHRoZSBuYW1lc3BhY2UgY3YgYmVjYXVzZSBzb21lIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIG1hbnkgdGltZXMuCgkgIFRoaXMgcGF0Y2gga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTA0LTAxIDE0OjEyOjA4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogdnA5OiBtb3ZlIHBlcnNpc3RlbnQgZmllbGRzIGZyb20gR3N0VnA5RnJhbWVIZHIgdG8gR3N0VnA5UGFyc2VyCgkgIFRoZSBzdWJzYW1wbGluZ194LCBzdWJzYW1wbGluZ195LCBiaXRfZGVwdGgsIGNvbG9yX3NwYWNlIGFuZCBjb2xvcl9yYW5nZQoJICBmaWxlZHMgYXJlIG1vdmVkIGZyb20gR3N0VnA5RnJhbWVIZHIgdG8gdGhlIGdsb2JhbCBHc3RWcDlQYXJzZXIgc3RydWN0dXJlLgoJICBUaGVzZSBmaWVsZHMgYXJlIG9ubHkgcHJlc2VudCBpbiBrZXlmcmFtZSBvciBpbnRyYS1vbmx5IGZyYW1lLCBubyBuZWVkIHRvCgkgIGR1cGxpY2F0ZSB0aGVtIGZvciBpbnRlci1mcmFtZXMuIFRoaXMgaXMgYW4gQUJJIGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDM3MAoKMjAxNi0wNC0wMSAxMjowODo1MyArMDIwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IHRleHRvdmVybGF5OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGltZ3Byb2NfYy5oIGlzIGFkZGVkIGJlY2F1c2UgQ3ZGb250IHN0cnVjdCBuZWVkcyBpdCBpbiBhbnkgMy54IHZlcnNpb24uCgkgIFdlIHVzZSB0aGlzIHN0cnVjdHVyZSBpbiBHc3RPcGVuY3ZUZXh0T3ZlcmxheS4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5CgkgIHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTA0LTAxIDExOjU2OjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb25zdHJhaW5lZC1iYXNlbGluZSBpcyBhIHN1YnNldCBvZiBiYXNlbGluZQoJICBXZSBnZXQgaW50byB0aGlzIGNvZGUgcGF0aCBpZiB0aGUgcHJvZmlsZSBpcyBhbHJlYWR5IGNvbnN0cmFpbmVkLWJhc2VsaW5lIGFuZAoJICBkb3duc3RyZWFtIGRvZXMgbm90IHN1cHBvcnQgY29uc3RyYWluZWQtYmFzZWxpbmUuIFNvIHdlIHNob3VsZCB0cnkgYmFzZWxpbmUKCSAgYW5kIHRoZSBvdGhlciBjb21wYXRpYmxlIHByb2ZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NDQ4CgoyMDE2LTAzLTIyIDA3OjE5OjAzICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGVnbGltYWdlOiBwZXJmb3JtIGVnbENyZWF0ZUltYWdlIGluIHRoZSBnbCB0aHJlYWQKCSAgd2hpbGUgY2FsbGluZyBlZ2xDcmVhdGVJbWFnZSB3aXRob3V0IGEgR0wgY29udGV4dCBjdXJyZW50IGluIHRoZSBleGVjdXRpbmcKCSAgdGhyZWFkIHdvcmtzIG9uIHRoZSBSUGksIHNvbWUgb3RoZXIgaW1wbGVtZW50YXRpb25zIHdpbGwgcmV0dXJuIGVycm9ycy4KCSAgTWFyc2hhbGwgdGhlIGVnbENyZWF0ZUltYWdlIHRvIHRoZSBHTCB0aHJlYWQgdG8gYXBwZWFzZSB0aGVzZSBpbXBsZW1lbnRhdGlvbnMuCgoyMDE2LTA0LTAxIDE0OjU4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBzdXBwb3J0IG91dHB1dHRpbmcgdG8gbXVsdGlwbGUgZHJhdyBidWZmZXJzIG9uIEdMRVMzCgkgIEEgc2ltaWxhciBjaGFuZ2UgdGhhdCB3YXMgZG9uZSB0byBnbGNvbG9yY29udmVydCBhZGRpbmcgdGhlIG5lY2Vzc2FyeSBzaGFkZXIKCSAgbWFuZ2xpbmcuCgoyMDE2LTAzLTMxIDE5OjUwOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGltcGxlbWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0cyBmb3IgR0xFUzMKCSAgVGhlcmUgYXJlIG51bWVyb3VzIHNsaWdodCBkaWZmZXJlbmNlcyByZXF1aXJlZCBiZXR3ZWVuIERlc2t0b3AgR0wgYW5kIEdMRVMzIGZvcgoJICBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0cy4KCSAgMS4gZ2xfRnJhZ0RhdGEgZG9lc24ndCBleGlzdCBhdCBhbGwgYW5kIG9uZSBpcyByZXF1aXJlZCB0byB1c2UKCSAgJ2xheW91dCAobG9jYXRpb24gPSA/KSBvdXQgLi4uJyBpbnN0ZWFkLgoJICAyLiBnbF9GcmFnQ29sb3IgZG9lc24ndCBleGlzdCwgc2FtZSBhcyAxCgkgIDMuIHRleHR1cmUyRCgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQKCSAgRm9ydHVuYXRlbHkgbW9zdCBvZiB0aGVzZSBoYXZlIGJlZW4gdGFrZW4gY2FyZSBvZiB3aXRoIEdMMyBhbmQgdGhlIHNoYWRlcgoJICBtYW5nbGluZyBhbHJlYWR5IGV4aXN0cyBzbyBqdXN0IGV4cGFuZCB0aGUgY29uZGl0aW9ucyB0aGV5IGFyZSB1c2VkIGluLiAgVGhlCgkgIGdsX0ZyYWdEYXRhIGlzc3VlIHJlcXVpcmVzIGEgbmV3IG1hbmdsZSBwYXNzIHRob3VnaC4gIFdlIGFsc28gdXNlIHRoaXMgbmV3CgkgIHBhc3Mgb24gZGVza3RvcCBHTCBmb3IgY29uc2lzdGVuY3kuCgoyMDE2LTAzLTMxIDE4OjIzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tc3NkZW11eC5jOgoJICB0ZXN0czogbXNzZGVtdXg6IGRvIG5vdCB1c2UgZ3N0X29iamVjdF91bnJlZiBmb3IgcHVyZSBHT2JqZWN0KgoJICBEZWFsbG9jYXRlIEdPYmplY3QqIHdpdGggZ19vYmplY3RfdW5yZWYgaW5zdGVhZCBvZiBnc3Rfb2JqZWN0X3VucmVmLgoJICBFdmVuIGlmIGl0IHdvcmtzIG5vdywgaXQgaXMgY29uZnVzaW5nIGFuZCBpbiB0aGUgZnV0dXJlIGl0IG1pZ2h0CgkgIG5vdCB3b3JrIGlmIGFueSBHc3RPYmplY3Qgc3BlY2lmaWNzIGFyZSBhZGRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0MgoKMjAxNi0wMi0xNiAxMzo1NTo1NCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IHVzZSBnX29iamVjdF91bnJlZiBmb3IgdGVzdCBkYXRhCgkgIFRoZSBHc3REYXNoRGVtdXhUZXN0Q2FzZSBvYmplY3QgaXMgYWxsb2NhdGVkIHVzaW5nIGdfb2JqZWN0X25ld3YKCSAgYnV0IGluIG1hbnkgcGxhY2VzIHdhcyBiZWluZyBkZWFsbG9jYXRlZCB1c2luZyBnc3Rfb2JqZWN0X3VucmVmLgoJICBUaGlzIHdhcyBjYXVzZWQgYnkgY29tbWl0IGFlM2VkMjUwMjVlMzRlYTliMDlkZjU5ZDIyZDdlYmQ3Mjk0NTYwYmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDIKCjIwMTYtMDMtMzEgMTY6MDg6MTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJICBtb3Rpb25jZWxsczogZnVsbHkgY29uc3RydWN0IE1vdGlvbkNlbGxzCgkgIFNvbWUgbWVtYmVycyBvZiBNb3Rpb25DZWxscyB3ZXJlIG5vdCBiZWluZyBpbml0aWFsaXplZCBpbiB0aGUgY29uc3RydWN0b3IuCgkgIFByb3RlY3QgZnJvbSBwb3RlbnRpYWwgZ2FyYmFnZSBtZW1vcnkgdXNhZ2UgYnkgZnVsbHkgaW5pdGlhbGl6aW5nIGl0LgoJICBNb3ZpbmcgbV9mcmFtZVNpemUgb3V0IG9mIHRoZSBjbGFzcyBiZWNhdXNlIGl0IGlzIG9ubHkgdXNlZCBpbgoJICBwZXJmb3JtRGV0ZWN0aW9uTW90aW9uQ2VsbHMoKS4KCSAgQ0lEIDExOTc3MDQKCjIwMTYtMDQtMDEgMDA6MjM6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2wvYnVpbGQ6IGFkZCBtaXNzaW5nICdcJyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lIGluIE1ha2VGaWxlLmFtCgkgIE90aGVyd2lzZSB0aGUgZm9sbG93aW5nIGVsZW1lbnRzIGFyZW4ndCBpbmNsdWRlZCBpbiB0aGUgY29ycmVjdCB2YXJpYWJsZS4KCSAgRml4ZXMgZXJyb3IgaW4gJ21ha2UgZGlzdGNoZWNrJyBmYWlsaW5nIHRvIGZpbmQgZ3N0Z2x0ZXN0c3JjLmgKCjIwMTYtMDMtMzEgMjM6MDc6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC90ZXN0cy9waXBlbGluZXM6IGFkZCBjdXN0b20gX0NGTEFHUyBhbmQgTERBREQKCSAgQXMgaXMgZG9uZSBldmVyeXdoZXJlIGVsc2UuCgkgIEZyb20gd2hhdCBJIGNhbiBnYXRoZXIgZnJvbSBtYWtlIC1DIHRlc3RzL2NoZWNrIFY9MSAkKEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MpIGlzCgkgIHJlcXVpcmVkIGluIG9yZGVyIHRvIGZpbmQgaW4tdHJlZSBoZWFkZXJzIGFzIHdlbGwgYXMgc3JjZGlyICE9IGJ1aWxkZGlyCgkgIGNvbmZpZ3VyYXRpb25zLgoKMjAxNi0wMy0zMSAyMjoyMDowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdsL3Rlc3RzOiBvbmx5IGJ1aWxkIHRoZSBzaW1wbGUtbGF1bmNoLWxpbmVzIHRlc3QgaWYgd2UgaGF2ZSBHTAoKMjAxNi0wMy0zMSAyMDowMDozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBkb24ndCB1c2UgdGhlIHByZWRlZmluZWQgdmFyaWFibGUgbmFtZSBzYW1wbGUKCSAgVXNpbmcgJ3NhbXBsZScgYXMgYSB2YXJpYWJsZSBuYW1lIGlzIGFuIGVycm9yIGluIEdMRVMzCgoyMDE2LTAzLTIyIDIzOjEwOjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlczogZml4IHN3aXRjaHZpZGVvb3ZlcmxheSBmb3Igd2F5bGFuZAoJICBhbmQgY2FsbCBYSW5pdFRocmVhZHMoKSBmb3IgWDExCgoyMDE2LTAzLTIxIDE1OjI1OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L2d0a3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiByZW1vdmUgZHVwbGljYXRlZCB2aWRlb292ZXJsYXkgZXhhbXBsZQoJICBmaWx0ZXJ2aWRlb292ZXJsYXkgcHJvdmVkIHRoZSBleGFjdCBzYW1lIGV4YW1wbGUgKG9ubHkgd2l0aCBhIGV4dHJhIGdsZmlsdGVyY3ViZSkuCgoyMDE2LTAzLTIxIDE1OjIzOjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvM2Q6IGFkZGl0aW9ucyBmb3Igd2F5bGFuZCBzdXBwb3J0CgoyMDE2LTAzLTE3IDIzOjUxOjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgZ2wvdGVzdHM6IGFkZCBtaXNzaW5nIHRlc3QgdG8gdGhlIGJ1aWxkIHN5c3RlbQoJICBBbHNvIHVwZGF0ZSBpdCBmb3IgdGhlIGN1cnJlbnQgYXBpCgoyMDE2LTAzLTE3IDIzOjUwOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSAgZ2xkaWZmZXJlbmNlbWF0dGU6IHBvcnQgdG8gZ2wzL2dsZXMyCgoyMDE2LTAyLTI2IDIwOjU1OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsdGVzdHNyYzogcG9ydCB0byBnbGVzMi9nbDMKCSAgVGhpcyBtYWtlcyBnbHRlc3RzcmMgd29yayBldmVyeXdoZXJlIFxvLwoJICAtIHdvcmthcm91bmQgUlBpIHJldHVybmluZyBpbnZhbGlkIHZhbHVlcyBmb3IgcG9zaXRpdmUgY29vcmRzIGluIHRoZQoJICBjaGVja2VyIHNoYWRlcgoJICAtIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gdGhlIG1hbmRlbGJyb3Qgc2hhZGVyIGZvciBnbGVzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTQwCgoyMDE2LTAyLTI2IDE2OjU3OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogcG9ydCBzbXB0ZSBwYXR0ZXJuIHRvIHNoYWRlcnMKCSAgTG9vc2VseSBiYXNlZCBvbiBwYXRjaCBieQoJICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1NDAKCjIwMTYtMDItMjYgMTI6MDI6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgdGhlIGNpcmN1bGFyIG1ldGhvZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODAxCgoyMDE2LTAyLTI1IDIxOjE4OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogYWRkIGEgZ2VuZXJpYyBzcmMgZnJhbWV3b3JrCgkgIEFueSB1bnN1cHBvcnRlZCBwYXR0ZXJuIChjaXJjdWxhcikgcmVzdWx0cyBpbiBhbiBlcnJvcgoKMjAxNi0wMi0yOSAyMDoxNToyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuaDoKCSAgZ2xzdGVyb3NwbGl0OiByZW1vdmUgaW50ZXJuYWwgZ2x1cGxvYWQvZ2xjb2xvcmNvbnZlcnQKCSAgVGhleSBhcmUgcHJvdmlkZWQgc2VwYXJhdGVseSBhcyBlbGVtZW50cyBhbmQgbm8gb3RoZXIgZWxlbWVudCBjb250YWlucyB0aGUKCSAgaW50ZXJuYWwgcmVmZXJlbmNlcyB0byBnbHVwbG9hZC9nbGNvbG9yY29udmVydC4KCjIwMTYtMDMtMzEgMTk6NDM6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgR0xFUzMgaGVhZGVycwoJICB3aXRoIGEgZmFsbGJhY2sgdG8gR0xFUzIgaGVhZGVycyBpZiBhdmFpbGFibGUuCgoyMDE2LTAzLTMxIDE5OjM4OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBjaGVja2luZyB0aGUgcmVhZCBpbXBsZW1lbnRhdGlvbiBmb3JtYXQvdHlwZSBvbiBnbGVzMiBwbGF0Zm9ybXMKCSAgQnkgZGVmYXVsdCwgcmVhZGluZyBHTF9SRUQgb3IgR0xfUkcgdXMgdW5zdXBwb3J0ZWQgYnkgZ2xSZWFkUGl4ZWxzIHVubGVzcwoJICBleHBvc2VkIHRocm91Z2ggR0xfQ09MT1JfUkVBRF9JTVBMRU1FTlRBVElPTl9GT1JNQVQvVFlQRS4gIFRoaXMgYWxsb3dzCgkgIGRvd25sb2FkaW5nIG11bHRpcGxlLXBsYW5hciB2aWRlbyBmcmFtZXMgd2hlcmUgcG9zc2libGUuCgoyMDE2LTAzLTMxIDE5OjM1OjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogcm9sbGJhY2sgbWFwIHN0YXRlIHdoZW4gc3ViY2xhc3MgbWFwIGZhaWxzCgkgIE90aGVyd2lzZSBvdXIgc3RhdGUgZG9lc24ndCByZWZsZWN0IHJlYWxpdHkuCgoyMDE2LTAzLTMxIDE5OjMxOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IHVubWFwIHBibyBtZW1vcnkgb24gcGJvIHJlYWQgZXJyb3IKCSAgT3RoZXJ3aXNlIHdlIGFyZSByZXR1cm5pbmcgZmFpbHVyZSB3aXRoIGEgZGFuZ2xpbmcgbWFwIQoJICBBbHNvIG9ubHkgdW5zZXQgdGhlIE5FRURfRE9XTkxPQUQgZmxhZyBpbiBkb3dubG9hZF90cmFuc2ZlcigpIGlmIHRoZSByZWFkIGFjdHVhbGx5CgkgIHN1Y2NlZWRzLgoKMjAxNi0wMy0zMSAxOToyNTozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zaGFkZXJzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXI6IGFkZCBnbEJpbmRGcmFnRGF0YUxvY2F0aW9uCgkgIFRoZXJlIGFyZSBzb21lIGNhc2VzIHdoZXJlIGl0J3MgbmVlZGVkIGZvciBiaW5kaW5nIGluL291dCB2YXJpYWJsZXMgaW4gc2hhZGVycy4KCSAgZS5nLiBnbHNsIDE1MCAoZ2wgMy4yKSBkb2Vzbid0IHN1cHBvcnQgdGhlICdsYXlvdXQgKGxvY2F0aW9uID0gPyknIHNwZWNpZmllcnMgaW4KCSAgdGhlIHNoYWRlciBzb3VyY2Ugc28gd2UgaGF2ZSB0byBiaW5kIHRoZW0gb3Vyc2VsdmVzLgoKMjAxNi0wMy0zMSAxMjoyMDozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogSGFuZGxlIGZpbmRfc3RyZWFtX2Zvcl9wYWQoKSB3aXRob3V0IGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgaWYgbm8gcGFkIGlzIGZvdW5kCgkgIEhhcHBlbnMgZS5nLiBpZiBhIFJFQ09ORklHVVJFIGV2ZW50IGlzIHNlbnQgZnJvbSBkb3duc3RyZWFtIHdoaWxlIHdlJ3JlCgkgIHN3aXRjaGluZyBwYWRzIGF0IHRoaXMgdmVyeSBtb21lbnQuIFRoZSBvbGQgcGFkIGlzIGdvbmUgYW5kIHRoZSBzdHJlYW0gaGFzIGEKCSAgbmV3IHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDQwNAoKMjAxNi0wMy0zMSAwMToyMTo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgdmVyc2lvbiA2IG9mIHRoZSBTREsKCSAgV2hpbGUgbW9zdGx5IEFQSSBjb21wYXRpYmxlLCB0aGUgQUJJIGhhcyBjaGFuZ2VkIHNvIGJpbmFyaWVzIHdpbGwgbm90IHdvcmsKCSAgYWNyb3NzIGhlYWRlciB2ZXJzaW9ucyAoYW5kIHVsdGltYXRlbHkgbnZpZGlhIGRyaXZlciByZWxlYXNlcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMjQKCjIwMTYtMDMtMzAgMjI6MzQ6NTkgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogcHlyYW1pZHNlZ21lbnQ6IGRlbGV0ZSBlbGVtZW50CgkgIGN2UHlyU2VnbWVudGF0aW9uKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBPcGVuQ1YgMy4wLCBhbmQgdGhlcmUgaXNuJ3QgYW55CgkgIGZ1bmN0aW9uIHRvIHJlcGxhY2UgaXQuIERlbGV0aW5nIHRoaXMgZWxlbWVudCBzbyB3ZSBjYW4gc3VwcG9ydCBPcGVuQ1YgMy4xCgkgIHdpdGhvdXQgYnVpbGQgaXNzdWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI2IDE2OjUyOjM3ICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgb3BlbmN2OiBnc3RjdnNtb290aDogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBjdmFyclRvTWF0KCkgaXMgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5jdgoJICBhbmQgdGhlIHVzZSB0aGUgY2xhc3MgY29uc3RydWN0b3IgTWF0IGlzIGVsaW1pbmF0ZWQgYmVjYXVzZSBpcyBkZXByZWNhdGVkCgkgIGluIDMuWCB2ZXJzaW9ucy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI3IDEwOjA1OjEzICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJICBvcGVuY3Y6IGdyYWJjdXQ6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgY3ZhcnJUb01hdCgpIGlzIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuY3YKCSAgYW5kIHVzaW5nIHRoZSBjbGFzcyBNYXQgY29uc3RydWN0b3IgaXMgZWxpbWluYXRlZCwgYmVjYXVzZSBpcyBkZXByZWNhdGVkCgkgIGluIDMuWCB2ZXJzaW9ucy4gVGhlIHVzZSB0aGUgdXNpbmcgbmFtZXNwYWNlIGN2IGJlY2F1c2UgaXMgY2FsbGVkIHNvbWUKCSAgZnVuY3Rpb25zIG1hbnkgdGltZXMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yNyAxNTozNzozOSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkgIG9wZW5jdjogZmFjZWJsdXI6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgY3ZhcnJUb01hdCgpIGlzIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuY3YKCSAgYW5kIHRoZSB1c2Ugb2YgdGhlIGNsYXNzIGNvbnN0cnVjdG9yIE1hdCBpcyBlbGltaW5hdGVkIGJlY2F1c2UgaXMgZGVwcmVjYXRlZAoJICBpbiAzLlggdmVyc2lvbnMuIEluY2x1ZGVkICd1c2luZyBuYW1lc3BhY2Ugc3RkJyBiZWNhdXNlIGl0IGlzIG5lZWRlZCBmb3IgdGhlCgkgIFZlY3RvciBjbGFzcyBpbiAzLlggdmVyc2lvbnMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yNyAxNTo1MTozNyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBoYW5kZGV0ZWN0OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGN2YXJyVG9NYXQoKSBpcyBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbmN2CgkgIGFuZCB0aGUgdXNlIG9mIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBNYXQgaXMgZWxpbWluYXRlZCBiZWNhdXNlIGlzIGRlcHJlY2F0ZWQKCSAgaW4gMy5YIHZlcnNpb25zLiBJbmNsdWRlZCAndXNpbmcgbmFtZXNwYWNlIHN0ZCcgYmVjYXVzZSBpdCBpcyBuZWVkZWQgZm9yIHRoZQoJICB2ZWN0b3IgY2xhc3MgaW4gMy5YIHZlcnNpb25zLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjcgMTY6NTE6MTMgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkgIG9wZW5jdjogcmV0aW5leDogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBjdmFyclRvTWF0KCkgaXMgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5jdgoJICBhbmQgdXNpbmcgdGhlIGNsYXNzIGNvbnN0cnVjdG9yIE1hdCBpcyBlbGltaW5hdGVkIGJlY2F1c2UgaXMgZGVwcmVjYXRlZAoJICBpbiAzLlggdmVyc2lvbnMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yOCAxNjoxOTo0NiArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJICBvcGVuY3Y6IGRpc3Bhcml0eTogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICAnTUVUSE9EX1ZBUicsICdNRVRIT0RfR0MnIGlzIHJlbW92ZWQgYmVjYXVzZSB0aGVyZSBhcmVuJ3QgZXF1aXZhbGVudCBmdW5jdGlvbnMKCSAgaW4gbmV3IE9wZW5DViB2ZXJzaW9ucy4gJ2ltZ19yaWdodF9hc19jdk1hdF9yZ2InLCAnaW1nX2xlZnRfYXNfY3ZNYXRfcmdiJyBhbmQKCSAgJ2RlcHRoX21hcF9hc19jdk1hdDInIHZhcmlhYmxlcyBpcyByZW1vdmVkIGJlY2F1c2UgdGhlc2UgYXJlbid0IHVzZWQuCgkgIGN2YXJyVG9NYXQoKSBpcyBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbmN2CgkgIGFuZCB1c2luZyB0aGUgY2xhc3MgTWF0IGNvbnN0cnVjdG9yIGlzIGVsaW1pbmF0ZWQsIGJlY2F1c2UgaXMgZGVwcmVjYXRlZAoJICBpbiAzLlggdmVyc2lvbnMuIFRoZSB1c2UgJ3VzaW5nIG5hbWVzcGFjZSBjdicgYmVjYXVzZSBpcyBjYWxsZWQgc29tZQoJICBmdW5jdGlvbnMgbWFueSB0aW1lcy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAyLTAxIDEzOjU4OjQ5ICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJICBvcGVuY3Y6IHNraW5kZXRlY3Q6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgY3ZDVlBpeFRvUGxhbmUoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIE9wZW5DViAzLjAsIGFuZCB0aGVyZSBpcwoJICBmdW5jdGlvbiB0byByZXBsYWNlIGl0IGN2U3BsaXQoKS4gVGhlIGluY2x1ZGUgY29tcGF0LmhwcCBpcyBkZWxldGVkIGJlY2F1c2UKCSAgaW4gMy5YIHZlcnNpb25zIGRvZW4ndCBleGlzdCBhbmQgaXQgaXNuJ3QgbmVjZXNzYXJ5IGZvciAyLjQuWCB2ZXJzaW9ucwoJICBpbiB0aGlzIGVsZW1lbnQuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yOCAxNzo0MDo1MSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSAgb3BlbmN2OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xIE9wZW5DVgoJICBjb25maWd1cmUuYWMgd2FzIGNoYW5nZWQgdG8gd29yayB3aXRoIG5ldyB2ZXJzaW9ucyBvZiBPcGVuQ1YgMy5YLgoJICBBIG5ldyBpbmNsdWRlIGlzIGFkZGVkIGdzdG9wZW5jdnV0aWxzLmNwcCBiZWNhdXNlIGl0IGNvbnRhaW5zCgkgIHRoZSBwcmV2aW91cy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAzLTMwIDEwOjM0OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiBUaGVyZSdzIG5vIHBvaW50IGluIHJlYWQtb25seSBDT05TVFJVQ1QgcHJvcGVydGllcwoJICBBbmQgY3JlYXRpbmcgb25lIGlzIGNhdXNpbmcgYXNzZXJ0aW9ucy4gQWxzbyBnZXQgcmlkIG9mIHRoZSBvdGhlciBDT05TVFJVQ1QKCSAgcHJvcGVydHkgYXMgaXQncyBhKSB1bm5lZWRlZCBmb3IgZGVmYXVsdCBpbml0aWFsaXphdGlvbiBhbmQgYikgeW91J3JlIG5vdAoJICBzdXBwb3NlZCB0byB1c2UgY29uc3RydWN0b3IgcHJvcGVydGllcyB3aGVuIGNyZWF0aW5nIGVsZW1lbnQgaW5zdGFuY2VzIGFuZCB0aGUKCSAgR1N0cmVhbWVyIEFQSSBkb2Vzbid0IHByb3ZpZGUgZGlyZWN0IHdheXMgZm9yIGRvaW5nIHNvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MzM5CgoyMDE2LTAzLTA3IDE0OjU3OjM1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXhkZWM6IFNpbXBsaWZ5IG5lZ290aWF0aW9uIGNvZGUKCSAgTm8gbmVlZCB0byB1c2UgYSB3aGlsZSgpIGxvb3AgaWYgd2UncmUgZ29pbmcgb25seSBnb2luZyB0byB1c2UKCSAgdGhlIGZpcnN0IHN0cnVjdHVyZSBvZiB0aGUgY2FwcyAuLi4KCSAgQ0lEICMxMzQxNzQ4CgoyMDE2LTAzLTI4IDEzOjUyOjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBsZWFrIGluIHVuaXQgdGVzdAoJICBHU1RfUEFEX1BST0JFX0hBTkRMRUQgbWVhbnMgdGhhdCB3ZSBzaG91bGQndmUgdW5yZWZmZWQgdGhlIHByb2JlIGRhdGEsCgkgIGl0IHdhcyBoYW5kbGVkIGJ5IHVzIGluIG9uZSB3YXkgb3IgYW5vdGhlci4KCjIwMTYtMDMtMjggMDg6NDY6MTAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBzb21lIG1vcmUgdGVzdCB0ZW1wb3JhcnkgZmlsZXMKCjIwMTYtMDMtMjggMDg6NDU6NDUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHMvY29tcG9zaXRvcjogQWRkIHRlc3QgZm9yIGFnZ3JlZ2F0b3IgcGFkIG51bWJlcmluZwoJICBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvdXIgaW4gN2E1Y2I1YTQ3MyBpcyBiZWluZyBjb25mb3JtZWQgdG8uCgoyMDE2LTAzLTI3IDE5OjA2OjUwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBzdHJjbXAgdGVzdCBmb3Igc2luayB0ZW1wbGF0ZQoKMjAxNi0wMy0yNyAxODo0MTozMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCB0cnkgdG8gYmUgdG9vIHNtYXJ0IHdoaWxlIGFsbG9jYXRpbmcgcGFkIG5hbWVzCgkgIFByZXZpb3VzbHksIHdoaWxlIGFsbG9jYXRpbmcgdGhlIHBhZCBudW1iZXIgZm9yIGEgbmV3IHBhZCwgYWdncmVnYXRvciB3YXMKCSAgbWFpbnRhaW5pbmcgYW4gaW50ZXJlc3RpbmcgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHBhZCBjb3VudCBhbmQgdGhlIHBhZAoJICBudW1iZXIuCgkgIElmIHlvdSByZXF1ZXN0ZWQgYSBzaW5rIHBhZCBjYWxsZWQgInNpbmtfNiIsIHBhZGNvdW50ICh3aGljaCBpcyBiYWRseSBuYW1lZCBhbmQKCSAgYWN0dWFsbHkgbWVhbnMgbnVtYmVyLW9mLXBhZHMtbWludXMtb25lKSB3b3VsZCBiZSBzZXQgdG8gNi4gV2hpY2ggbWVhbnMgdGhhdCBpZgoJICB5b3UgdGhlbiByZXF1ZXN0ZWQgYSBzaW5rIHBhZCBjYWxsZWQgInNpbmtfMCIsIGl0IHdvdWxkIGJlIGFzc2lnbmVkIHRoZSBuYW1lCgkgICJzaW5rXzYiIGFnYWluLCB3aGljaCBmYWlscyB0aGUgbm9uLXVuaXF1ZW5lc3MgdGVzdCBpbnNpZGUgZ3N0ZWxlbWVudC5jLgoJICBUaGlzIGNhbiBiZSBmaXhlZCBieSBpbnN0ZWFkIHNldHRpbmcgcGFkY291bnQgdG8gYmUgNyBpbiB0aGF0IGNhc2UsIGJ1dCB0aGlzCgkgIGJyZWFrcyBtYW51YWwgbWFuYWdlbWVudCBvZiBwYWQgbmFtZXMgYnkgdGhlIGFwcGxpY2F0aW9uIHNpbmNlIGl0IHRoZW4gYmVjb21lcwoJICBpbXBvc3NpYmxlIHRvIHJlcXVlc3QgYSBwYWQgY2FsbGVkICJzaW5rXzIiLiBJbnN0ZWFkLCB3ZSBmaXggdGhpcyBieSBhbHdheXMKCSAgZGlyZWN0bHkgdXNpbmcgdGhlIHJlcXVlc3RlZCBuYW1lIGFzIHRoZSBzaW5rIHBhZCBuYW1lLiBVbmlxdWVuZXNzIG9mIHRoZSBwYWQKCSAgbmFtZSBpcyB0ZXN0ZWQgc2VwYXJhdGVseSBpbnNpZGUgZ3N0cmVhbWVyIGNvcmUuIElmIG5vIG5hbWUgaXMgcmVxdWVzdGVkLCB3ZSB1c2UKCSAgdGhlIG5leHQgYXZhaWxhYmxlIHBhZCBudW1iZXIuCgkgIE5vdGUgdGhhdCB0aGlzIGlzIGltcG9ydGFudCBzaW5jZSB0aGUgc2lua3BhZCBudW1iZXJpbmcgaW4gYWdncmVnYXRvciBpcyBub3QKCSAgbWVhbmluZ2xlc3MuIFZpZGVvYWdncmVnYXRvciB1c2VzIGl0IHRvIGRlY2lkZSB0aGUgWi1vcmRlciBvZiB2aWRlbyBmcmFtZXMuCgoyMDE2LTAyLTIzIDE1OjExOjM2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkgIGx2MjogUG9ydCBmaWx0ZXJzIHRvIEdTdHJlYW1lciAxLjAgYW5kIHVzZSBsaWx2IGluc3RlYWQgb2Ygc2x2MgoJICBQcm9wZXJseSBzZXBhcmF0ZSBmaWxlcyBhcyB3ZSB3aWxsIG5vdCBoYXZlIG9ubHkgb25lIHNpbmdsZSBiYXNlIGNsYXNzCgkgIGZvciBhbGwgZWxlbWVudHMgYXMgd2UgdXNlZCB0byB3aXRoIDAuMTAsIGJ1dCB0aGUgc2FtZSB3YXkgaXQgaXMgZG9uZQoJICB3aXRoIGxhZHNwYSwgd2Ugc3ViY2xhc3MgR3N0QXVkaW9GaWx0ZXIsIEdzdEJhc2VTb3VyY2UgZXRjLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgyMDcKCjIwMTYtMDMtMjcgMTQ6Mjk6NTggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBGaXggbG9nZ2luZyBpbiBiYXNlIHdpZGdldCBhbmQgZml4IGRlc2Mgb2YgR0wgc2luawoJICBTZXQgYSBkZWZhdWx0IGNhdGVnb3J5IGZvciBndGtnc3RiYXNld2lkZ2V0IGxlc3QgdGhlIGxvZ2dpbmcgZ28gdG8gdGhlICdkZWZhdWx0JwoJICBjYXRlZ29yeSB3aGVyZSBpdCBjYW4ndCBiZSBmb3VuZCBlYXNpbHkKCjIwMTYtMDMtMjcgMDM6MTE6NDUgKzAyMDAgIFlhbm4gSm91YW5pbiA8eWpvQHdpdGJlLm5ldD4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjIHBsdWdpbiA6IGFkZCB0aW1lb3V0IG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MjUxCgoyMDE2LTAzLTE4IDEzOjM1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBJbnN0ZWFkIG9mIHJlbGVhc2luZyByZXF1ZXN0IHBhZHMgb24gc3RvcCgpLCBjbGVhciB0aGVtIG9ubHkKCSAgUmVxdWVzdCBwYWRzIGFyZSByZXF1ZXN0ZWQgYnkgYXBwbGljYXRpb25zIGFuZCBhcyBzdWNoIHNob3VsZCBvbmx5IGJlIHJlbGVhc2VkCgkgIGJ5IHRoZW0gYWdhaW4uIEluc3RlYWQgb2YgcmVsZWFzaW5nIHRoZW0gd2hlbiBzdG9wcGluZyB0aGUgbXV4ZXIsIGp1c3QgY2xlYXIKCSAgdGhlaXIgc3RhdGUgc28gdGhhdCB0aGV5IGNhbiBiZSB1c2VkIGFnYWluIHdoZW4gc3RhcnRpbmcgdGhlIG11eGVyIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODYyCgoyMDE2LTAzLTA1IDA5OjQ3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBBZGQgaXNfbGl2ZSBmbGFnIHRvIHRoZSBHc3RQbGF5ZXJNZWRpYUluZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzEyNgoKMjAxNi0wMi0yOSAxMTozOTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2RwL2dzdHNkcHNyYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcHNyYy5oOgoJICBzZHA6IEFkZCBuZXcgc2Rwc3JjIGVsZW1lbnQKCSAgVGhpcyBjYW4gcmVhZCBmcm9tIGFuIFNEUCBmaWxlIG9yIGdldCB0aGUgU0RQIGRhdGEgdmlhIHByb3BlcnR5LiBXb3JrcwoJICBhcm91bmQgdGhlIHByb2JsZW0gdGhhdCBzZHBkZW11eCBpbnNpZGUgZGVjb2RlYmluIGZhaWxzIGJlY2F1c2UgdGhlCgkgIEdTVF9TVEFURV9DSEFOR0VfTk9fUFJFUk9MTCBpcyBub3Qgb2JzZXJ2ZWQgYnkgdGhlIHBpcGVsaW5lLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ5NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODYwCgoyMDE2LTAzLTI1IDE3OjQ5OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0ay9nbDogZG9uJ3QgYXNzZXJ0IHdoZW4gZ2RrIGRvZXNuJ3QgcHJvdmlkZSBhIEdMIGNvbnRleHQKCSAgQWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBjaGVjayB3aGV0aGVyIGd0a2dsc2luayBpcyBzdXBwb3J0ZWQgYnkgc2V0dGluZwoJICB0aGUgZWxlbWVudCB0byBSRUFEWS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDE0OAoKMjAxNi0wMy0wNyAxOTo0MToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogcGx1ZyBFSVQgc3RyaW5nIGxlYWsKCjIwMTYtMDMtMDcgMTk6MDY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiB1bnJlZiBwYXQgdGFibGUgYWZ0ZXIgdXNhZ2UKCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIEdQdHJBcnJheSBvZiB0aGUgUEFUIHRhYmxlIGFmdGVyCgkgIHVzZQoKMjAxNi0wMy0wNCAyMDowNTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHBsdWcgc29tZSBsZWFrcwoJICBQbHVnIHZhcmlvdXMgbGVha3MgaW4gZHZiYmFzZWJpbi4KCjIwMTYtMDMtMDMgMTE6MzE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IHNpbXBsaWZ5IHZhcmlhYmxlIHJlc2V0CgkgIEp1c3Qgc2V0IGl0IGRpcmVjdGx5IHRvIDAsIGluc3RlYWQgb2YgY2hlY2tpbmcgYW5kIHJlc2V0aW5nCgoyMDE2LTAzLTAxIDE4OjIxOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHByaW50IHRpbWUgaW4gc2FtZSBmb3JtYXQKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGNvbXBhcmUKCjIwMTYtMDMtMTUgMTY6MjI6NTkgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjOiB1c2UgZ19zbGljZV9uZXcgaW5zdGVhZCBvZiBnX3NsaWNlX25ldzAKCSAgSW4gbWFueSBjYXNlcywgd2UgdXNlIGdfc2xpY2VfbmV3MCBhbmQgdGhlbiBpbW1lZGlhdGVseSBvdmVyd3JpdGUgdGhlCgkgIGFsbG9jYXRlZCBtZW1vcnkuIFRoaXMgaXMgaW5lZmZpY2llbnQuIFNpbmNlIHdlJ3JlIGdvaW5nIHRvIGltbWVkaWF0ZWx5CgkgIG92ZXJ3cml0ZSBpdCwgd2UgbWlnaHQgYXMgd2VsbCB1c2UgcGxhaW4gZ19zbGljZV9uZXcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM5OTgKCjIwMTYtMDMtMTAgMDg6NTA6MjggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHBvc3QgbWVzc2FnZSB0byBhcHBsaWNhdGlvbiBmb3IgdW5oYW5kbGVkIGtleWJvYXJkL21vdXNlIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAzCgoyMDE2LTAzLTEwIDA4OjQ5OjAxICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IHBvc3QgbWVzc2FnZSB0byBhcHBsaWNhdGlvbiBmb3IgdW5oYW5kbGVkIGtleWJvYXJkL21vdXNlIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAzCgoyMDE2LTAzLTEwIDA4OjQ0OjU3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtiYXNlc2luazogcG9zdCBtZXNzYWdlIHRvIGFwcGxpY2F0aW9uIGZvciB1bmhhbmRsZWQga2V5Ym9hcmQvbW91c2UgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0MDMKCjIwMTYtMDMtMDMgMjA6MTA6MTYgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmg6CgkgIGFoY3NyYzogcmVtb3ZlIHByb2JlX3Byb3BlcnRpZXMKCSAgSXQncyBhIHJlc2lkdWUgb2YgMC4xMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzEwMAoKMjAxNi0wMy0wNCAxNTo1MDoyNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHRvbmVnZW5lcmF0ZXNyYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGVycm9yaWdub3JlLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnBhcnNlLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52aDI2NGVuYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkgIGJhZDogdXNlIG5ldyBnc3RfZWxlbWVudF9jbGFzc19hZGRfc3RhdGljX3BhZF90ZW1wbGF0ZSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwODEKCjIwMTYtMDMtMDcgMTc6MjM6MjMgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBlbGltaW5hdGUgQUhDKl9DQUxMIG1hY3JvcwoJICBDdXJyZW50bHksIHdlIHVzZSBBSEMqX0NBTEwgbWFjcm9zIHRvIGNhbGwgbWFueSBvZiB0aGUgQ2FtZXJhIGZ1bmN0aW9ucy4KCSAgSG93ZXZlciwgd2UgYWxyZWFkeSBoYXZlIGhlbHBlciBjbGFzc2VzIHRvIGNhbGwgdGhlIENhbWVyYSBmdW5jdGlvbnMsIHNvCgkgIGVsaW1pbmF0ZSB0aGUgbWFjcm9zLgoJICBBcyBhIG5pY2Ugc2lkZS1iZW5lZml0LCB3ZSBhbHNvIGdldCBpbXByb3ZlZCBlcnJvciBoYW5kbGluZyBhbmQKCSAgcmVwb3J0aW5nIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcgY2FsbGluZyB0aGVzZSBmdW5jdGlvbnMsIGJlY2F1c2UgYQoJICBHRXJyb3IgZ2V0cyBwb3B1bGF0ZWQsIGFuZCB3ZSBsb2cgYSBHU1RfRVJST1Igd2hlbiBzb21ldGhpbmcgZmFpbHMuIFRoaXMKCSAgd2FzIGhhcmRlciB0byBkbyB1c2luZyBtYWNyb3MsIGFzIGFsbCBlcnJvciBoYW5kbGluZyB3YXMgaGlkZGVuIGZyb20gdGhlCgkgIGNhbGxlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xOCAxMToyOTowNiAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IHVzZSBnc3QgdW5yZWYgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDItMTggMTQ6MDg6MTMgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiB1c2UgZ3N0IG5ldyBvYmplY3QgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDMtMTcgMTM6NDQ6MTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gd2l0aCBmaXhlZCBmcmFtZXJhdGUgZG93bnN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTI0CgoyMDE2LTAzLTI0IDE0OjA4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgZ2wvZ3RrOiBGaXggY29tcGlsZXIgd2FybmluZyBpbiBleGFtcGxlCgkgIGZ4dGVzdC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgoJICBmeHRlc3QuYzoxOTA6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUgWy1XZXJyb3I9ZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50XQoJICBHdGtXaWRnZXQgKndpbmRvdzsKCSAgXn5+fn5+fn5+CgoyMDE2LTAzLTI0IDEzOjMzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjguMCA9PT0KCjIwMTYtMDMtMjQgMTI6MzM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS44LjAKCjIwMTYtMDMtMjQgMTI6MDU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0yMyAxMzo0Mzo0NiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogTWlub3Igc3RyaW5nIGZpeAoKMjAxNi0wMy0yMyAyMjoxMzo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogVktfQVBJX1ZFUlNJT04gaGFzIGJlZW4gcmVtb3ZlZAoJICBJbiBhIHN0YWJsZSByZWxlYXNlIHRvbywgbmF1Z2h0eS4KCSAgVXNlIFZLX0FQSV9WRVJTSU9OXzFfMCBpbnN0ZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQwNjYKCjIwMTYtMDMtMjIgMDc6MjA6NTkgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJICBnbC9wcm90bzogc3luYyBvcGVyYXRpb25zIGFyZSBhdmFpbGFibGUgb24gR0xFUyAzLjAKCSAgV2l0aG91dCB0aGUgR1NUX0dMX0FQSV9HTEVTMiBiaXQgc2V0LCB3ZSB3aWxsIG5vdCBldmVuIGF0dGVtcHQgdG8gbG9vawoJICBmb3IgdGhlIGZ1bmN0aW9uIHBvaW50ZXJzIGluIHRoZSBjb3JlIGxpYnJhcnkgYW5kIHdpbGwgZmFsbGJhY2sgdG8KCSAgZ2xGbHVzaC9nbEZpbmlzaC4KCjIwMTYtMDMtMjIgMDc6MTY6MzQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvYnVpbGQ6IGFkZCBHU1RfR0xfSEFWRV9ETUFCVUYgdG8gZ3N0Z2xjb25maWcuaAoJICBpdCdzIGV4cG9zZWQgaW4gcHVibGljIEFQSSBzbyBoaWRpbmcgaXQgaW4gYW4gQUNfREVGSU5FIGZvciBjb25maWcuaCBvbmx5CgkgIHdvcmtzIHdoZW4gYnVpbGRpbmcgbGliZ3N0Z2wgaXRzZWxmLiAgQXR0ZW1wdGluZyB0byB1c2UgbGliZ3N0Z2wgKGVzcGVjaWFsbHkKCSAgb24gZWdsIHBsYXRmb3Jtcykgd2lsbCB0aHJvdyBhIGNvbXBpbGF0aW9uIGVycm9yLgoKMjAxNi0wMy0yMSAxNToyMjoxNSArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IHF1ZXJ5IG1lbW9yeSBsZWFrCgkgIFBlZXIgcXVlcnkgaXNuJ3QgYmVpbmcgZnJlZWQgaW4gY2FzZSBvZiBHU1RfUVVFUllfU0VFS0lORy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzk3NAoKMjAxNi0wMy0xOCAxOTo0NTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkgIHZ1bGthbjogU2hpcCBtaXNzaW5nIGhlYWRlcnMgd2l0aCB0YXJiYWxscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzODc3CgoyMDE2LTAzLTE3IDE5OjI0OjMyICswMDAwICBBbGVrc2FuZGVyIFdhYmlrIDxhd2FiaWtAb3BlcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NHBhcnNlLCBoMjY1cGFyc2U6IGZpeCBoYW5kbGluZyBvZiBkb3duc3RyZWFtIGZvcmNlLWtleS11bml0IGV2ZW50cwoJICBUaGUgcGFyc2VyIGhhbmRsZXMgdGhlIGRvd25zdHJlYW0gZm9yY2Uta2V5LXVuaXQgZXZlbnQgaW5jb3JyZWN0bHksCgkgIGl0IHRyaWVzIHRvIHBhcnNlIGl0IGFzIGFuIHVwc3RyZWFtIGZvcmNlLWtleS11bml0IGV2ZW50LCBkb2VzIG5vdAoJICBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLCBhbmQgdGhlbiB1c2VzIHVuaW5pdGlhbGl6ZWQgbWVtb3J5IGluCgkgICJhbGxfaGVhZGVycyIgYm9vbGVhbiB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzc5MwoKMjAxNi0wMy0xNyAyMjo0MzoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1bnNldCBHTF9VTlBBQ0tfUk9XX0xFTkdUSCBpbiBvcGVuZ2wzCgkgIElmIHRoZSB1c2VyIHVwbG9hZHMgdGhlaXIgb3duIHRleHR1cmUgd2l0aG91dCBzZXR0aW5nIHRoZSB1bnBhY2sgbGVuZ3RoLCB0aGVuCgkgIHRoZW4gdGhlIHJlc3VsdCB3aWxsIGhhdmUgdGhlIGFwcGVhcmFuY2Ugb2Ygc3RyaWRlIG1pc21hbmFnZW1lbnQgZHVlIHRvCgkgIGFuIGluY29ycmVjdCByb3cgbGVuZ3RoLgoKMjAxNi0wMy0xNyAxNjozNDo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvcXQ6IHJlc3RyaWN0IHRoZSBHTCBBUEkgdG8gb3BlbmdsIHdoZXJlIG5lZWRlZAoJICBVbnRpbCB0aGUgZXhhbXBsZXMgYXJlIHBvcnRlZCB0byBvcGVuZ2wzL2dsZXMyLCB0aGV5IHdpbGwgbm90IHdvcmsgd2l0aCBhbnkKCSAgb3RoZXIgR0wgYXBpLgoKMjAxNi0wMy0xNyAxNjozMTo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL2d0azogY2FsbCBYSW5pdFRocmVhZHMKCSAgRml4ZXMgc29tZSBzcG9yYWRpYyBYMTEgdGhyZWFkaW5nIGFzc2VydGlvbnMuCgoyMDE2LTAzLTE3IDAzOjA2OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiByZW1vdmUgY3VzdG9tIGNvZGUgZm9yIHNldHRpbmcgY2FwcyBmZWF0dXJlcwoJICBKdXN0IHVzZSBnc3RfY2Fwc19zZXRfZmVhdHVyZXMoKSBpbnN0ZWFkLgoKMjAxNi0wMy0xNyAwMTo1MjowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBvbmx5IGFsbG93IHRoZSBzYW1lIHNyYy9zaW5rIGNhcHMgd2hlbiB3ZSBhcmUgaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBJZiB3ZSBhcmUgZ2l2ZW4gY2FwcyB3aXRoIGV4dHJhIGZlYXR1cmVzIChsaWtlIHRoZSBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIGZlYXR1cmVzKSwgd2UgY2FuIG9ubHkgZGVhbCB3aXRoIHRoYXQgd2hlbiB3ZSBhcmUgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgUHJldmlvdXNseSB3ZSB3ZXJlIGJhaWxpbmcgZW50aXJlbHkgYW5kIG5vdCBhbGxvd2luZyBwYXNzdGhyb3VnaCBmaWx0ZXIgZWxlbWVudHMKCSAgd2l0aCB0aGluZ3MgbGlrZSB0ZXh0b3ZlcmxheS4KCSAgRml4ZXMgdGhlIGZvbGxvd2luZyBwaXBlbGluZSAoYXNzdW1pbmcgZ2xmaWx0ZXIgc3VwcG9ydHMgcGFzc3Rocm91Z2gpOgoJICBnbCAhIHRleHRvdmVybGF5ICEgZ2xmaWx0ZXIgISAuLi4gISBnbGltYWdlc2lua2VsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzc1NgoKMjAxNi0wMy0xNiAyMjo0ODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBkZWFsIHdpdGggdGhlIEFOWSBjYXBzIGZlYXR1cmUgY29ycmVjdGx5CgkgIFdoZW4gdHJhbnNmb3JtaW5nLCB4cGxvZGUgaXQgb3V0IGludG8gdGhlIG5lY2Vzc2FyeSBjYXBzIGZlYXR1cmVzIGJvdGgKCSAgd2l0aCBhbmQgd2l0aG91dCB0aGUgcGFzc3Rob3VnaCBmZWF0dXJlcy4KCSAgRml4ZXMgbmVnb3RpYXRpb24gaW4gdGhlIGZvbGxvd2luZyBjbGFzcyBvZiBwaXBlbGluZXM6CgkgIGdsICEgdGV4dG92ZXJsYXkgISBnbHVwbG9hZCAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzU2CgoyMDE2LTAzLTE2IDIyOjE5OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZDogZml4IG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBvbiBlcnJvcgoJICBnbm9tZS1zaGVsbCBkb2Vzbid0IHRoZSBzdXBwb3J0IHdsX3NjYWxlciBpbnRlcmZhY2Ugd2hpY2ggbWFrZXMgY3JlYXRpbmcgYQoJICB3YXlsYW5kIGRpc3BsYXkgZmFpbCBjcmVhdGlvbi4KCSAgRm91bmQgaW4gdGhlIGdlbmVyaWMgc3RhdGUgY2hhbmdlcyB0ZXN0CgoyMDE2LTAzLTE2IDIyOjE2OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSAgZ2xzdGVyZW97bWl4LHNwbGl0fTogYWxsb3cgcnVubmluZyBvbiBHTEVTIDIvMwoJICBJdCdzIG1vc3RseSBzdXBwb3J0ZWQgZm9yIEdMRVMgMi54LCBmdWxseSBzdXBwb3J0ZWQgb24gR0xFUyAzLngKCjIwMTYtMDMtMTYgMTI6MDM6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogV2FybiBpZiB0aGUgcG9zaXRpb24gcmVwb3J0ZWQgYnkgT3BlblNMIGlzIGhpZ2hlciB0aGFuIHdoYXQgd2UgcXVldWVkIHVwIHNvIGZhcgoJICBUaGlzIHdvdWxkIGhpbnQgYXQgd3JvbmcgcG9zaXRpb24gcmVwb3J0aW5nLCBhbmQgYXBwYXJlbnRseSBzb21ldGltZXMgaGFwcGVucwoJICBhZnRlciBhIHNlZWsuCgoyMDE2LTAzLTE2IDExOjM0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJICBteGZtdXg6IEZpeCB0eXBvIGluIEpQRUcyMDAwIGNvbG9yc3BhY2UKCSAgc1JHQyAtPiBzUkdCCgo9PT0gcmVsZWFzZSAxLjcuOTEgPT09CgoyMDE2LTAzLTE1IDEyOjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MQoKMjAxNi0wMy0xNSAxMTo1Njo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTEyIDE1OjQ0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIHZpZGVvL3gtaDI2NSB0byB0ZW1wbGF0ZSBjYXBzCgoyMDE2LTAzLTEyIDAzOjAwOjE0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0czogRG9uJ3QgbGVhdmUgZnJlZWQgcHJvZ3JhbXMgaW4gdGhlIGhhc2ggdGFibGUKCSAgV2hlbiB0aGUgc3ViLWNsYXNzIGNsYWltcyBhIHByb2dyYW0gZm9yIGxhdGVyIGZyZWVpbmcsIG1ha2UKCSAgc3VyZSBpdCdzIG5vdCBsZWZ0IGluIHRoZSBoYXNoIHRhYmxlLCBvciBpdCBjYW4gY2F1c2UgY3Jhc2hlcyBvbiBzaHV0ZG93bi4KCSAgTWFrZSBzdXJlIHRzZGVtdXggZnJlZXMgYW55IHByb2dyYW0gaXQgaGFzIGtlcHQgYXJvdW5kIGF0IHNodXRkb3duCgkgIGlmIGl0IHdhc24ndCBmcmVlZCBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNTAzCgoyMDE2LTAzLTExIDE3OjM0OjAzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGgyNjU6IEZpeCBzZWdmYXVsdCB3aGlsZSB0cmFuc2Zvcm1pbmcgaGV2YyB0byBuYWwgYWxpZ25lZCBieXRlc3RyZWFtCgkgIENyZWF0ZSB0ZW1wb3JhcnkgUGFyc2VGcmFtZSBhbmQgY29weSB0aGUgbmFsIHNpemUgYnVmZmVyIHJlZ2lvbgoJICBmb3IgZWFjaCBuYWwgdW5pdCBsaWtlIHdlIGRpZCBmb3IgaDI2NC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQ5NAoKMjAxNi0wMy0xMSAxMDowODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtYzogQ29ycmVjdGx5IGhhbmRsZSBOVUxMIGlucHV0IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQwMQoKMjAxNi0wMy0xMSAxMDowMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW1jdmlkZW9kZWM6IGdldE91dHB1dEJ1ZmZlcnMoKSByZXR1cm5zIGEgTlVMTCBhcnJheSB3aGVuIGEgc3VyZmFjZSB3YXMgY29uZmlndXJlZAoJICBTbyBkb24ndCBlcnJvciBvdXQgaWYgaXQgZG9lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQwMQoKMjAxNi0wMy0xMSAwMTo0MDozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIGdsZWZmZWN0czsgZ2l2ZSBlYWNoIGVmZmVjdCBhIHVuaXF1ZSBsb25nIG5hbWUgYW5kIGRlc2NyaXB0aW9uCgkgIEdpdmVzIGFwcGxpY2F0aW9ucyB0aGF0IHNjcmFwZSB0aGUgZmFjdG9yeSBkZXRhaWxzIG1vcmUgZGV0YWlsZWQgYW5kIHVuaXF1ZQoJICBkZXRhaWxzIG9uIHRoZSBleGFjdCBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTY2CgoyMDE2LTAzLTEwIDE3OjQ2OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNoYWRlcjogc29tZSBjb21wYXRpYmlsaXR5IGNoYW5nZXMgZm9yIEdMIDEuNAoJICBHTCAxLjQgKHdpdGggR0xfQVJCX3NoYWRlcl9vYmplY3RzKSBkb2Vzbid0IGhhdmUgZ2xJc1Byb2dyYW0gb3IgZ2xJc1NoYWRlcgoJICBlcXVpdmFsZW50cy4gIEFzIHRoZXkgYXJlIHNpbXBseSBhc3NlcnRpb25zLCBza2lwIHRoZW0gd2hlbiB0aGVyZSBpc24ndCBhCgkgIHZhbGlkIGZ1bmN0aW9uIHBvaW50ZXIuCgoyMDE2LTAzLTEwIDAwOjI5OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgZ2xmaWx0ZXJhcHA6IHVwZGF0ZSBmb3IgdGhlIHVzZSBvZiBzaGFkZXJzCgkgIEZpeGVzIGJsYWNrIG91dHB1dCB3aGVuIHBsYWNlZCBpbiBwaXBlbGluZXMgKHVzaW5nIHRoZSBkZWZhdWx0IGRyYXdpbmcpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzY1CgoyMDE2LTAzLTEwIDAwOjI3OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiByZXRyaWV2ZSB0aGUgc2hhZGVyIGF0dHJpYnV0ZXMgZnJvbSB0aGUgR0wgdGhyZWFkCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHJlY2VpdmUgYm9ndXMgdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzNjUKCjIwMTYtMDMtMTAgMDA6MjQ6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJICBnbC9leGFtcGxlcy9jdWJlKjogY2hvb3NlIG9wZW5nbCBieSBkZWZhdWx0CgkgIFRoZSBleGFtcGxlcyBkb24ndCB3b3JrIHdpdGggYW55IG90aGVyIEdMIEFQSS4KCSAgQWxzbyBmaXggdGhlIHl1diBleGFtcGxlIHRvIG5vdCB0cmFuc2xhdGUgdGhlIGN1YmUgb3V0IG9mIHRoZSBjbGlwcGluZyBhcmVhLgoKMjAxNi0wMy0xMCAwMDoyMzoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgZ2wvZXhhbXBsZXMvZnh0ZXN0OiBhZGQgbmVlZGVkIGdsdXBsb2FkIHRvIHRoZSBwaXBlbGluZQoJICBGaXhlcyBhIG5lZ290aWF0aW9uIGZhaWx1cmUgaW4gdGhlIGV4YW1wbGUKCjIwMTYtMDMtMDcgMTM6MDQ6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogSGFuZGxlIG5vbi1oaWVyYXJjaGljYWwgcHJvZmlsZXMgYWdhaW4KCSAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gZnJvbSBzaW5jZSBtcGVndmlkZW9wYXJzZXIgd2FzIHN3aXRjaGVkIHRvCgkgIHVzZSB0aGUgY29kZWNwYXJzaW5nIGxpYnJhcnkuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGhpZ2ggYml0IG9mIHRoZSBwcm9maWxlX2FuZF9sZXZlbCBpcyB1c2VkCgkgIHRvIHNwZWNpZnkgbm9uLWhpZXJhcmNoaWNhbCBwcm9maWxlcyBhbmQgbGV2ZWxzLiBVbmZvcnR1bmF0ZWx5IHdlCgkgIHdlcmUgZGlzY2FyZGluZyB0aGF0IGluZm9ybWF0aW9uLgoJICBFeHBvc2UgdGhhdCBlc2NhcGUgYml0LCBhbmQgdXNlIGl0IGluIHRoZSBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMyMjAKCjIwMTYtMDMtMDkgMTE6NTg6NDMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCB3aW5kb3cgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzM1NgoKMjAxNi0wMy0wOCAxMTo0MTo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IHJlc2V0L3JlY2FsY3VsYXRlIHNlZ21lbnRzIHdpdGggYWNjdXJhdGUgc2Vla3MKCSAgV2hlbiBkZWFsaW5nIHdpdGggYWNjdXJhdGUgc2Vla3MsIHdlIG11c3Qgc2VuZCBvdXQgYSBzZWdtZW50IHdoaWNoCgkgIGlzIGV4YWN0bHkgd2hhdCBpcyByZXF1ZXN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMyNjIKCjIwMTYtMDMtMDggMDI6MDY6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzaWduYWwgY29udGludWF0aW9uIGluIHJlc2V0CgkgIFdlIHdhbnQgdG8gaXRlcmF0ZSBvdmVyIGFsbCB0aGUgcGFkcywgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gIEZpeCBieSByZXR1cm5pbmcKCSAgVFJVRSBpbiB0aGUgR3N0QWdncmVnYXRvclBhZEZvcmVhY2hGdW5jLgoJICBSZW1vdmVzIGEgR1NUX0lTX0dMX0NPTlRFWFQoKSBhc3NlcnRpb24gb24gc2h1dGRvd24gd2l0aCA+MiBpbnB1dHMKCSAgdXNpbmcgZ3N0LWxhdW5jaC4KCjIwMTYtMDMtMDggMDA6MzU6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xkaXNwbGF5OiBtYWtlIHJlYWRkaW5nIHRoZSBzYW1lIGNvbnRleHQgYSBuby1vcAoJICBXaXRoIGUzOGFmMjMwNDQyN2RiOTA4YTE2YmJhZTBlNjBhYTY4YmUxYmE1YjUgcmV0dXJuaW5nIHRoZSBjb3JyZWN0IGNvbnRleHRzLAoJICBnc3RfZ2xfZGlzcGxheV9hZGRfY29udGV4dCgpIHdhcyBzdXNjZXB0aWJsZSB0byBjYXVzaW5nIGluZmludGUgbG9vcHMgd2hlbgoJICBhZGRpbmcgdGhlIHNhbWUgR3N0R0xDb250ZXh0IG1vcmUgdGhhbiBvbmNlLiAgRml4IGFuZCBhZGQgYSB0ZXN0IGZvcgoJICBnc3RfZ2xfZGlzcGxheV9hZGRfY29udGV4dCgpLgoJICBGaXhlcyBnbHZpZGVvbWl4ZXIgZ3N0LXZhbGlkYXRlIHRlc3RzLgoKMjAxNi0wMy0wNyAwODo1Mjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgUmV2ZXJ0ICJsaWJnc3RnbDogY29jb2EsIGVhZ2w6IGRvbid0IG1hcnNoYWwgR0wgY2FsbHMgdG8gdGhlIGNvbnRleHQgdGhyZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc5N2Q2NDE1ZGZkNmUxMTFlZmIyY2FiNTQ0OTU4YTY3Y2JmMjJiMTcuCgkgIFdlJ3JlIGZyb3plbiBmb3IgMS44LjAgcmVsZWFzZSBhbmQgdGhpcyBjaGFuZ2UgbWlnaHQgaGF2ZSBiaWdnZXIgaW1wYWN0LgoKMjAxNi0wMy0wNyAxNjowMzoyNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGxpYmdzdGdsOiBjb2NvYSwgZWFnbDogZG9uJ3QgbWFyc2hhbCBHTCBjYWxscyB0byB0aGUgY29udGV4dCB0aHJlYWQKCSAgRXhlY3V0ZSBHTCBjYWxscyB3aXRob3V0IG1hcnNoYWxsaW5nIHRoZW0gdG8gdGhlIGNvbnRleHQgdGhyZWFkLiBJbiB0aGUgY29jb2EKCSAgYW5kIGVhZ2wgYmFja2VuZHMgY2FsbGluZyBnc3RfZ2xfY29udGV4dF9hY3RpdmF0ZSBpcyBjaGVhcCBhbmQgdGhlcmVmb3JlIGNhbGxpbmcKCSAgaXQgb24gdGhlIGN1cnJlbnQgdGhyZWFkIGFuZCBzZXJpYWxpemluZyBHTCBjYWxscyB3aXRoIGEgcGVyLWNvbnRleHQgbG9jayBpcwoJICBtb3JlIGVmZmljaWVudCAoZmFzdGVyIGFuZCBoYXMgbGVzcyBvdmVyaGVhZCkgdGhhbiBtYXJzaGFsbGluZyBldmVyeXRoaW5nIHRvIHRoZQoJICBjb250ZXh0IHRocmVhZC4KCSAgVGhpcyBvcHRpbWl6YXRpb24gY3V0cyBhIGxhcmdlIG92ZXJoZWFkIGluIGdfcG9sbCAoY29udGludW91c2x5IHdha2luZyB1cCB0aGUKCSAgY29udGV4dCB0aHJlYWQpIGFuZCBpbiBnX211dGV4XyovZ19jb25kXyogKHdhaXRpbmcgZm9yIHJlc3VsdHMgZnJvbSB0aGUgY29udGV4dAoJICB0aHJlYWQpLgoKMjAxNi0wMy0wNSAxNzoxNjoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IHJlYWxseSByZXRyaWV2ZSBnbGNvbnRleHQgZm9yIGEgc3BlY2lmaWMgdGhyZWFkCgkgIFdoZW4gcmVxdWVzdGluZyBhIGdsY29udGV4dCAocmVnYXJkbGVzcyBvZiB0aHJlYWQpLCB0aGUgcmVzdWx0IHdhcyBjb3JyZWN0LgoJICBIb3dldmVyLCB3aGVuIHJlcXVlc3RpbmcgY3VycmVudCBnbGNvbnRleHQgb24gYSBzcGVjaWZpYyB0aHJlYWQsIGl0IGNvdWxkCgkgIGNvbWUgdXAgd2l0aCBhIGdsY29udGV4dCBhY3RpdmUgb24gYW5vdGhlciB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMxNjgKCjIwMTYtMDMtMDYgMTk6MzU6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IG1pc2MgZG9jcyBmaXhlcy9hZGRpdGlvbnMKCjIwMTYtMDMtMDYgMTk6MzI6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9lbnVtcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsKm1lbW9yeTogZG9jdW1lbnQgbmV3IGZ1bmN0aW9uYWxpdHkgYW5kIG9iamVjdHMKCjIwMTYtMDMtMDYgMTk6MjM6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZG9jczogYWRkIG5ldyBHTCBhcGkgdG8gLnR5cGVzIGZpbGUgZm9yIHR5cGUvc2lnbmFsIGludHJvc3BlY3Rpb24KCjIwMTYtMDMtMDYgMTk6MjI6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogaWdub3JlIHNvbWUgcHJpdmF0ZSBHTCBoZWFkZXJzCgoyMDE2LTAzLTA2IDE5OjE4OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzL2dsOiBhZGQgZ2wgZnVuY3Rpb25zL3N0cnVjdHMgZnJvbSAtdW51c2VkIGludG8gdGhlIGRvY3MKCjIwMTYtMDMtMDUgMTk6NDg6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogaGFuZGxlIHNvbWUgbW9yZSB1bmZpeGVkIGZpZWxkcyB3aGVuIGZpeGF0aW5nIGNhcHMKCjIwMTYtMDMtMDUgMTE6Mzg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkgIGd0azogZXhhbXBsZXM6ICNkZWZpbmUgR1NUX1VTRV9VTlNUQUJMRV9BUEkgYW5kIGxpbmsgd2l0aCBYMTFfTElCUwoJICBYMTFfTElCUyBpcyBuZWVkZWQgZm9yIFhJbml0VGhyZWFkcygpIGFuZCB3aXRob3V0IHRoZSAjZGVmaW5lIHdlIGdldAoJICB3YXJuaW5ncyBhYm91dCB0aGUgR0wgQVBJIGJlaW5nIHN0aWxsIHVuc3RhYmxlLgoKMjAxNi0wMy0wMiAxOTozMjoxMyArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbW92ZSB1bnVzZWQgZmlsZQoJICBhaGNzcmMgaXMgcmVnaXN0ZXJlZCBieSBnc3RhbWMuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDk4CgoyMDE2LTAyLTE3IDA5OjM2OjE1IC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogcHJvcGVybHkgZGVpbml0IHdoZW4gYWhjc3JjIHJlZ2lzdGVyIGZhaWxzCgkgIEluIHRoZSBhbmRyb2lkbWVkaWEgcGx1Z2luX2luaXQsIHdlIGluaXRpYWxpemUgdmFyaW91cyByZXNvdXJjZXMgb24gdGhlCgkgIEFuZHJvaWQgZGV2aWNlLiBJZiBhbnl0aGluZyBmYWlscyBkdXJpbmcgdGhpcyBzZXJpZXMgb2YgaW5pdGlhbGl6YXRpb25zLAoJICB3ZSBuZWVkIHRvIGRlaW5pdGlhbGl6ZSBhbnkgaW5pdGlhbGl6YXRpb25zIHRoYXQgYWxyZWFkeSBvY2N1cnJlZC4KCSAgSG93ZXZlciwgd2UgZG9uJ3QgZG8gc28gaWYgd2UgZmFpbCB0byByZWdpc3RlciB0aGUgYWhjc3JjIGVsZW1lbnQuIEZpeAoJICB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAyLTE4IDExOjAwOjUwIC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogY29ycmVjdCBlcnJvciBtZXNzYWdlCgkgIFRoZSBlcnJvciBtZXNzYWdlIGlzIHNwZWNpZmljIHRvIG9ubHkgb25lIG9mIHRoZSBmYWlsdXJlIGNhc2VzIGFuZCBpcwoJICBtaXNsZWFkaW5nIGluIHRoZSBvdGhlcnMuIENvcnJlY3QgaXQgdG8gYmUgbW9yZSBnZW5lcmljIGFuZCBjb3ZlciBhbGwKCSAgdGhlIGZhaWx1cmUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDItMTYgMTE6NDU6MDEgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiByZW1vdmUgdW5uZWVkZWQgI2luY2x1ZGUgPHN0ZGlvLmg+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDItMTggMTY6MDA6MTggLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjOiB0eXBvIGZpeAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAzLTAzIDIyOjE1OjA3IC0wNTAwICBKb2UgR29yc2UgPGpoZ29yc2VAZ21haWwuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBBZGQgT1BFTlNTTF9DRkxBR1MgdG8gQ0ZMQUdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNzkKCjIwMTYtMDMtMDMgMTk6NDU6NDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiBEb24ndCBjaGFuZ2UgbWF4c2l6ZSBhdCBydW4tdGltZQoJICBNYXhzaXplIGlzIGluaXRpYWxpemVkIG9uY2UgYW5kIHNob3VsZCBuZXZlciBjaGFuZ2UuIEFsbG9jYXRpbmcgZGF0YQoJICBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIHNlbGVjdGVkIG1heCBzaXplIGZvciB0aGlzIG1lbW9yeS4gVGhpcwoJICBjYXVzaW5nIG1lbW9yeSBtYXAgZmFpbHVyZSBhcyB0aGUgbWF4c2l6ZSB3b3VsZCBiZWNvbWUgc21hbGxlciB0aGVuCgkgIHNpemUuIFRoaXMgaGFwcGVuZWQgd2hlbiB1c2luZyBkaXJlY3QgcmVuZGVyaW5nIGluIGF2dmlkZGVjIG9uIEdMIHRoYXQKCSAgZG9lcyBub3Qgc3VwcG9ydCBQQk8gdHJhbnNmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNDUKCjIwMTYtMDMtMDEgMTg6MjI6MzcgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogRml4IGxlYWsgb2YgdGhlIE9wZW5HTCBjb250ZXh0cwoJICBbTWF0dGhldyBXYXRlcnNdOiBhZGQgTlVMTCBjaGVja3MgYmVmb3JlIHVucmVmZmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyOTk5CgoyMDE2LTAyLTI5IDE0OjI0OjQ2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a3Npbms6IGZpeCBzcGVsbGluZyBvbiBmYWlsZWQgX2Vuc3VyZV9kYXRhKCkgZXJyb3IgbWVzc2FnZQoKMjAxNi0wMy0wMiAyMTo0Njo0NCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBQcm92aWRlIGZvcm1hdCBhcyBhIHN0cmluZyBpbnN0ZWFkIG9mIGEgY2hhciB0byBnc3Rfc3RydWN0dXJlX25ldwoJICBUaGUgZm9ybWF0IHdhcyBwcm92aWRlZCBhcyAnSTQyMCcgaW5zdGVhZCBvZiAiSTQyMCIsIGNhdXNpbmcgYSBjcmFzaC4KCjIwMTUtMDEtMjAgMTY6MjA6MTAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBoYW5kbGUgZWFybHkgUFRTIGNvbnZlcnNpb24gd2hlbiBhIGdyb3VwIGhhcyBiZWVuIGZvdW5kCgkgIEluIHNvbWUgY2FzZXMsIHRoZSBQVFMgbWlnaHQgYmUgc21hbGxlciB0aGFuIHRoZSBmaXJzdCBvYnNlcnZlZCBQQ1IKCSAgdmFsdWUgd2hpY2ggY2F1c2VzIGVsZW1lbnQgdG8gYXBwbHkgd3JhcGFyb3VuZCBsZWFkaW5nIHRvIGJvZ3VzCgkgIHRpbWVzdGFtcC4gVG8gc29sdmUgdGhpcywgd2Ugb25seSBhcHBseSBpdCBpZiB0aGUgUFRTLVBDUiBkaWZmZXJlbmNlIGlzCgkgIGdyZWF0ZXIgdGhhdCAxIHNlY29uZCB0byBiZSBzdXJlIHRoYXQgaXQncyBhIHJlYWwgd3JhcGFyb3VuZC4KCSAgTW9yZW92ZXIsIHVzaW5nIHVuc2lnbmVkIDMyIGJpdHMgdmFsdWVzIHRvIGhhbmRsZSB3cmFwb3ZlciBjb3VsZCBlbmQgdXAKCSAgd2l0aCBib2d1cyB2YWx1ZSwgc28gaXQgdXNlIHB0cyB2YWx1ZSB0byBoYW5kbGUgaXQuCgkgIEFsc28sIGNvbnZlcnQgcGNyIHRpbWUgdG8gZ3N0IHRpbWUgYmVmb3JlIGNvbXBhcmluZyBpdCB0byBwdHMuCgkgIFNpbmNlIHJlZnBjciBpcyBleHByZXNzZWQgaW4gUENSIHRpbWUgYmFzZSB3aGlsZSBwdHMgaXMgZXhwcmVzc2VkIGluIEdTdHJlYW1lcgoJICB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMjU5CgoyMDE2LTAzLTAyIDEwOjQxOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggUkVNT1ZFX1NOQVBfRkxBR1MoKSBtYWNybwoJICAhKGZsYWcxIHwgZmxhZzIgfCBmbGFnMykgaXMgYWx3YXlzIGV2YWx1YXRpb24gdG8gMC4gfiB3YXMgbWVhbnQgaGVyZQoJICBpbnN0ZWFkIG9mICEuCgkgIENJRCAxMzUyMDMyLgoKPT09IHJlbGVhc2UgMS43LjkwID09PQoKMjAxNi0wMy0wMSAxODoyMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuOTAKCjIwMTYtMDMtMDEgMTc6MTA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0wMy0wMSAxNjo1Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2JnLnBvOgoJKiBwby9mci5wbzoKCSogcG8vbmwucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAyLTI5IDEyOjM1OjU4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGgyNjQ6IERpc2FibGUgcGFzc3Rob3J1Z2ggbW9kZSBlbmFibGluZwoJICBFbmFibGluZyBwYXNzdGhvcnVnaCBtb2RlIGlzIGNhdXNpbmcgbXVsdGlwbGUgaXNzdWU6CgkgIEZvciBuYWwgYWxpZ25lZCBtdWx0aXJlc29sdXRvbiBzdHJlYW1zLCBwYXNzdGhyb3VnaCBtb2RlCgkgIG1ha2UgaDI2NHBhcnNlIHVuYWJsZSB0byBhZHZlcnRpc2UgdGhlIG5ldyByZXNvdWx0aW9ucy4KCSAgQWxzbyBjYXVzaW5nIGlzc3VlcyB3aGlsZSBwYXJzaW5nIE1WQyBzdHJlYW1zIHdoaWNoIGhhdmUgdHdvCgkgIHNlcGFyYXRlIGxheWVycyAoYmFzZS12aWV3IGFuZCBub24tYmFzZS12aWV3KS4KCSAgVGhpcyBmaXggaXMgb25seSBhIHRlbXBvcmFyeSB3b3JrYXJvdW5kLgoJICBGb3IgTVZDLCBwcm9wZXIgZml4ZXMgbmVlZGVkIGluIG1hbnkgcGxhY2VzOgoJICAoaGFuZGxlIHByZWZpeCBuYWwgdW5pdCwgaGFuZGxlIG5vbi1iYXNlLXZpZXcgc2xpY2UgbmFsIGV4dGVuc2lvbiwKCSAgZml4IHRoZSBwaWN0dXJlX3N0YXJ0IGRldGVjdGlvbiBmb3IgbXVsdGktbGF5ZXItbXZjIHN0cmVhbXMgZXRjKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NjU2CgoyMDE2LTAyLTI5IDExOjUzOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogU2V0IGNhcHMgdG8gYXBwbGljYXRpb24veC1ydHAgaW5zdGVhZCBvZiBhcHBsaWNhdGlvbi94LXVua25vd24gYXMgcmV0dXJuZWQgYnkgdGhlIFNEUCBoZWxwZXJzCgkgIFRoZSBTRFAgaGVscGVycyBjYW4ndCBrbm93IGlmIHRoaXMgaXMgZ29pbmcgdG8gYmUgUlRQLCBTUlRQLCBvciAuLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NjAKCjIwMTYtMDItMjkgMTE6NTE6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBBZGQgcGFkcyB3aXRoIHRoZSBjb3JyZWN0IG5hbWVzIGluIGNhc2UgYW4gcnRwYmluIGlzIHVzZWQKCSAgVGhleSdyZSBzdXBwb3NlZCB0byBiZSBzdHJlYW1fJXUgYW5kIG5vdCByZWN2X3J0cF9zcmNfJXVfJXVfJXUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NjAKCjIwMTYtMDItMjkgMTA6Mzg6MzIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSAgdmtzd2FwcGVyL3ZrdXRpbHM6IEZpeCBnZXJyb3IgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg0MgoKMjAxNi0wMi0yOSAxMDozNzoxMSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSAgdmtkZXZpY2U6IEZpeCBkdXBsaWNhdGUgYXNzaWdubWVudCBvZiBxdWV1ZSB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODQyCgoyMDE2LTAyLTI5IDEwOjMzOjQ1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtzaW5rOiBGaXggR0Vycm9yIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NDIKCjIwMTYtMDItMjggMTQ6MDY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICB3aW4zMjogdXBkYXRlIGV4cG9ydHMgZm9yIG5ldyBsaWJnc3RnbCBmdW5jdGlvbgoKMjAxNi0wMi0yOCAxMDoxMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFdoZW4gb3V0cHV0dGluZyBvbiBhIHN1cmZhY2UsIGFjY2VwdCBhbGwgY29sb3IgZm9ybWF0cwoJICBXZSBkb24ndCBoYXZlIHRvIHVuZGVyc3RhbmQgdGhlbSwgd2UgaGFuZGxlIHRoZW0gYXMgYSBHTCB0ZXh0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNzkyCgoyMDE2LTAyLTI2IDE4OjE3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogaGFuZGxlIHNuYXAgc2Vla2luZyB3aXRob3V0IHNldHRpbmcgYW55IHBvc2l0aW9uCgkgIFdoZW4gdGhlIHN0YXJ0X3R5cGUgaXMgR1NUX1NFRUtfVFlQRV9OT05FIGZvciBhIGZvcndhcmQgc2VlawoJICAob3Igc3RvcF90eXBlIGZvciBhIHJldmVyc2UpIGlzIG5vdCBzZXQgb24gYSBzbmFwIHNlZWtpbmcgb3BlcmF0aW9uLAoJICB0aGUgZWxlbWVudCBzaG91bGQgdXNlIHRoZSBjdXJyZW50IHBvc2l0aW9uIGFuZCB0aGVuIHNuYXAgYXMgcmVxdWVzdGVkLgoJICBBbHNvIGZpeGVzIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGxhaW50IGJ5IGNsYW5nIGFib3V0CgkgICd0cycgdmFyaWFibGUuCgoyMDE2LTAyLTI2IDE3OjMxOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBzeW5jIGluZGV4IGFuZCB0aGUgc2VsZWN0ZWQgY2h1bmsgd2hlbiBzZWVraW5nCgkgIE90aGVyd2lzZSB0aGUgY2h1bmsgc2VsZWN0ZWQgaXNuJ3QgbWF0Y2hlZCB0byB0aGUgaW5kZXggYW5kCgkgIHRoZSB0aW1pbmcgd2lsbCBiZSBkaWZmZXJlbnQsIGNhdXNpbmcgaXQgdG8gYWN0dWFsbHkgc3RhcnQKCSAgZnJvbSBhIGRpZmZlcmVudCBwb3NpdGlvbgoKMjAxNi0wMi0yNiAxMjo0MToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTI1Mzk3NCB0byA2ZjJkMjA5CgoyMDE2LTAyLTE3IDIwOjEzOjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGVnbGltYWdlbWVtb3J5OiBhZGQgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9ucyBmb3IgRUdMIGRtYWJ1ZgoJICBlLmcuIHRoZSBSUGkgZG9lc24ndCBoYXZlIHRoZW0gZGVmaW5lZAoKMjAxNi0wMi0yNiAwMDozNTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzOiByZW5hbWUgcGx1Z2luIHRvIG9wdXNwYXJzZSBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgVW50aWwgd2UgZml4IGl0IHVwIGFuZCBnZXQgcmlkIG9mIHRoZSBvcHVzIGRlcGVuZGVuY3kgYW5kCgkgIG1vdmUgaXQgZWxzZXdoZXJlIHRvby4KCjIwMTYtMDItMTkgMDA6Mzg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IHJlbW92ZSBPcHVzIGVuY29kZXIvZGVjb2RlciwgbW92ZWQgdG8gLWJhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI4MgoKMjAxNi0wMi0yNiAwODozNDoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgYSBtZXRob2QgdG8gYWRkIGEgY29udGV4dCB0byBhbm90aGVyIHNoYXJlIGdyb3VwCgkgIEludGVuZGVkIGZvciB1c2Ugd2l0aCB3cmFwcGVkIGNvbnRleHRzIHRoYXQgYXJlIGNyZWF0ZWQgc2hhcmVkIHdpdGggZ3N0J3MKCSAgZ2wgY29udGV4dHMgaW4gb3JkZXIgdG8gbWFuYWdlIHRoZSBpbnRlcm5hbCBzaGFyZWdyb3VwIHN0YXRlIGNvcnJlY3RseS4KCSAgZS5nLiB3aXRoIGNhb3BlbmdsbGF5ZXIgKHdoaWNoIGlzIHVzZWQgaW4gZ2xpbWFnZXNpbmsgYW5kIGNhb3BlbmdsbGF5ZXJzaW5rCgkgIG9uIE9TIFgpLCB3ZSBjcmVhdGUgYSBDR0wgY29udGV4dCBmcm9tIHRoZSBnc3QgY29udGV4dCBhbmQgdGhlIHNoYXJpbmcgc3RhdGUKCSAgd2FzIG5vdCBiZWluZyBjb3JyZWN0bHkgc2V0IG9uIGVpdGhlciBHTCBjb250ZXh0IGFuZCBnc3RfZ2xfY29udGV4dF9pc19zaGFyZWQoKQoJICB3YXMgYWx3YXlzIHJldHVybmluZyBGQUxTRS4KCSAgV2l0aCAxMWZiNGZmZjgwYjYzYjlkNjdhNzMxZDRiYjIzOGI2YzBhMjlkNzc0IG9ubHkgZmx1c2hpbmcgd2l0aCBtdWx0aXBsZQoJICBzaGFyZWQgY29udGV4dHMsIHRoZSByZXF1aXJlZCBmbHVzaCB3YXMgbm90IG9jY3VyaW5nIGNhdXNpbmcgc2NyZWVuCgkgIGNvcnJ1cHRpb24gb3Igc3R1dHRlcmluZy4KCSAgTm90ZTogdGhpcyBkaWRuJ3QgYWZmZWN0IEdTVF9HTF9BUEk9b3BlbmdsIHBpcGVsaW5lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjIwCgoyMDE2LTAyLTE3IDE1OjIwOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJICBvcHVzOiByZW1vdmUgT3B1cyBSVFAgZWxlbWVudHMsIHRoZXkgaGF2ZSBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjgyCgoyMDE2LTAxLTE4IDA4OjUwOjM0ICswMDAwICBBbGV4IEFzaGxleSA8YWxleC5hc2hsZXlAeW91dmlldy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgaGxzZGVtdXg6IHRlc3RzOiBwYXNzIHRlc3QgbmFtZSBpbnRvIHRlc3Qgc2V0dXAgZnVuY3Rpb24KCSAgQWxsIGhsc2RlbXV4IHRlc3RzIGNyZWF0ZSBhIEdzdFN0cnVjdHVyZSBjYWxsZWQgInN0YXRlIiB0aGF0IGNhbiBiZSB1c2VkCgkgIGJ5IHRlc3QgY2FzZXMgdG8gc3RvcmUgaW5mb3JtYXRpb24gZHVyaW5nIGEgdGVzdC4gVGhlIG5hbWUgb2YgdGhpcwoJICBzdHJ1Y3R1cmUgaXMgYXJiaXRyYXJ5LiBXaGVuIHRoZSBjb2RlIHdhcyB3cml0dGVuLCB0aGUgaW50ZW50aW9uIHdhcwoJICB0byB1c2UgdGhlIG5hbWUgb2YgdGhlIHRlc3QsIHRvIGFpZCBkZWJ1Z2dpbmcuIEhvd2V2ZXIsIGR1cmluZwoJICBkZXZlbG9wbWVudCB0aGlzIHdhcyBsb3N0LCBzbyB0aGF0IHRoZSBzdGF0ZSBHc3RTdHJ1Y3R1cmUgaXMgYWx3YXlzCgkgIGdpdmVuIHRoZSBuYW1lICJzZXR1cF90ZXN0X3ZhcmlhYmxlcyIuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhpcyBzbyB0aGF0IHRoZSBuYW1lIG9mIHRoZSB0ZXN0IGlzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI2ODQKCjIwMTYtMDItMjMgMTI6NDI6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IGNvbXBvc2l0b3I6IGRyb3Agc3BlY2lhbCBjYXNlIGZvciB2YWxncmluZCB0aW1lb3V0CgkgIFRoZSBkZWZhdWx0IG9uZSBpcyA2IG1pbnV0ZXMsIHRoZSB0ZXN0IHdhcyB1c2luZyA1IG1pbnV0ZXMgc28ganVzdAoJICByZXNvcnQgdG8gdXNpbmcgdGhlIGRlZmF1bHQuCgkgIEZvciB0aGUgbm9uLXZhbGdyaW5kIHRlc3QgYWxzbyB1c2UgdGhlIGRlZmF1bHQgMjAgc2VjcyBpbnN0ZWFkIG9mCgkgIHJlZHVjaW5nIGl0IHRvIDZzLiBObyByZWFsIHJlYXNvbiB0byBzZXQgYSBjdXN0b20gdmFsdWUgaGVyZS4KCjIwMTYtMDItMjMgMTI6MTc6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IGNvbXBvc2l0b3I6IGFkZCB0ZXN0cyBmb3IgY2FwcyBxdWVyaWVzCgkgIFZlcmlmaWVzIHRoYXQgcHJvcGVyIGNhcHMgYXJlIHJldHVybmVkIGJhc2VkIG9uIHdoYXQgZG93bnN0cmVhbQoJICByZXN0cmljdHMuCgoyMDE2LTAyLTE4IDEwOjU3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY2FwcyBxdWVyaWVzIHRvIGFsbG93IHByb3BlciByZW5lZ290aWF0aW9uCgkgIFdoZW4gY2FwcyBhcmUgYWxyZWFkeSBuZWdvdGlhdGVkIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0bwoJICBzZWxlY3QgZm9ybWF0cyBvdGhlciB0aGFuIHRoZSBvbmUgdGhhdCB3YXMgbmVnb3RpYXRlZC4gSWYgZG93bnN0cmVhbQoJICBhbGxvd3MgYWxwaGEgdmlkZW8gY2FwcyBhbmQgaXQgaGFzIGFscmVhZHkgbmVnb3RpYXRlZCB0byBhIG5vbi1hbHBoYQoJICBmb3JtYXQsIGNhcHMgcXVlcmllcyBzaG91bGQgc3RpbGwgcmV0dXJuIHRoZSBhbHBoYSBjYXBzIGFzIGEgcG9zc2libGUKCSAgZm9ybWF0IGFzIGNhcHMgcmVuZWdvdGlhdGlvbiBjYW4gaGFwcGVuLgoJICBJbmNsdWRlcyB0ZXN0cyAoZm9yIGNvbXBvc2l0b3IpIHRvIGNoZWNrIHRoYXQgY2FwcyBxdWVyaWVzIGRvbmUgYWZ0ZXIKCSAgYSBjYXBzIGhhcyBiZWVuIG5lZ290aWF0ZWQgcmV0dXJucyBjb21wbGV0ZSByZXN1bHRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2MTAKCjIwMTYtMDItMjQgMTc6MDc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogTmVnb3RpYXRlIHRoZSBkZWNvZGVyIGluIHNldF9mb3JtYXQoKSBhbHJlYWR5CgkgIERvbid0IHdhaXQgdW50aWwgbGF0ZXIsIHdlIHdhbnQgdG8ga25vdyBoZXJlIGlmIHRoZSBjb2RlYyBjYW4gYmUgb3BlbmVkIG9yIG5vdAoJICBmb3IgdGhlIHJlcXVlc3RlZCBmb3JtYXQuIFRoaXMgd2FzIHJlbW92ZWQgKGFjY2lkZW50aWFsbHk/KSBieQoJICAxMTllMDllYWMzMTVmNzlhYzJjZjQ1YjQ0NDFhZDFkOTMyMTMwNjE0CgkgIFdpdGhvdXQgdGhpcyBkZWNvZGViaW4gaGFzIG5vIHdheSB0byBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgZGVjb2RlciBpZiB0aGlzIG9uZQoJICBkb2VzIG5vdCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNjEzCgoyMDE2LTAyLTI1IDExOjM0OjQwICswMjAwICBKb2UgR29yc2UgPGpoZ29yc2VAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IEZyYW1lIGR1cmF0aW9ucyBhcyBDVGltZSB0byB0aGUgQVBJLCBub3QgZG91YmxlCgkgIE5ld2VyIGlPUyBzZWVtcyB0byBhdXRvbWF0aWNhbGx5IGNvbnZlcnQsIG9sZGVyIGlPUy9PU1gganVzdCBjcmFzaGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyNTc1CgoyMDE2LTAyLTI0IDIzOjQ4OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiByZWxlYXNlIHRoZSBmcmFtZXMgYW5kICBsaXN0IHdoZW4gc2VhcmNoaW5nIGZvciBhbiBvdXRwdXQgYnVmZmVyCgkgIEZpeGVzIGEgbWFzc2l2ZSBsZWFrIGluOgoJICB2aWRlb3Rlc3RzcmMgISBudmgyNjRlbmMgISBmYWtlc2luawoKMjAxNi0wMi0yMyAyMzoxMDoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcXQ6IHVzZSBhIHN0YXRpY19jYXN0IGluc3RlYWQgb2YgZHluYW1pYyBvbmUKCSAgVGhlIGR5bmFtaWNfY2FzdCBpcyBhIGxpdHRsZSBidXQgb2Ygb3ZlcmtpbGwgYXMgdGhlIGFwcCB3aWxsIHN0aWxsIGNyYXNoIGlmIGl0CgkgIGZhaWxzIGluIHRoZSBsYXRlciBnX2Fzc2VydC4KCSAgQWxsb3dzIGNvbXBpbGF0aW9uIHdpdGggLWZuby1ydHRpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1MjYKCjIwMTYtMDItMjQgMTA6NDU6MTcgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2xtaXhlcjogaXRlcmF0b3IgZGlkbid0IGFkdmFuY2UgaW4gY29udGludWUgc3RhdGVtZW50CgkgIExlYWRpbmcgdG8gYSBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDg3MwoKMjAxNi0wMi0yMyAxODoxNzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNi0wMi0yMyAxODoxMzozNyArMDIwMCAgRGF2ZSBDcmFpZyA8ZGNyYWlnQGJyaWdodHNpZ24uYml6PgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJICBkaXNwYXJpdHk6IERvbid0IGFzc3VtZSB0aGF0IGdldF9jdXJyZW50X2NhcHMoKSByZXR1cm5zIG5vbi1OVUxMIGNhcHMgYWZ0ZXIgaGFzX2N1cnJlbnRfY2FwcygpCgkgIFJlbW92ZSBjYWxscyB0byBnc3RfcGFkX2hhc19jdXJyZW50X2NhcHMoKSB3aGljaCB0aGVuIGdvIG9uIHRvIGNhbGwKCSAgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYXMgdGhlIGNhcHMgY2FuIGdvIHRvIE5VTEwgaW4gYmV0d2Vlbi4gSW5zdGVhZCBqdXN0CgkgIHVzZSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhbmQgY2hlY2sgZm9yIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzkKCjIwMTYtMDItMjMgMTA6NDk6NDAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGx5IGhhbmRsZSBhbiBIVFRQLVhTREFURSB0aGF0IGlzIGV4YWN0bHkgdGhlIHNpemUgb2YgdGhlIGRhdGUgc3RyaW5nCgkgIFRoZSBjb2RlIGluIHRoZSBnc3RfZGFzaF9kZW11eF9wYXJzZV9odHRwX3hzZGF0ZSgpIHdhcyB0cnlpbmcgdG8KCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBzdHJpbmcgaXMgbm90IG51bGwgdGVybWluYXRlZCBieSByZXNpemluZwoJICB0aGUgYnVmZmVyIGFuZCBhcHBlbmRpbmcgYSB6ZXJvIGJ5dGUuIFRoaXMgZG9lcyBub3Qgd29yayBpZiB0aGUgYnVmZmVyCgkgIGlzIGV4YWN0bHkgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIGJlY2F1c2UgdGhlIGdzdF9idWZmZXJfcmVzaXplKCkKCSAgZnVuY3Rpb24gZG9lcyBub3QgcmUtYWxsb2NhdGUgdGhlIGJ1ZmZlciwgaXQganVzdCBjaGFuZ2VzIGl0cyBzaXplLgoJICBJZiBhIGJ1ZmZlciBpcyBwYXNzZWQgdG8gZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF94c2RhdGUoKSB0aGF0IGlzCgkgIGV4YWN0bHkgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLCB0aGUgZnVuY3Rpb24gZmFpbHMgd2l0aCBhbiBhc3NlcnQKCSAgZmFpbHVyZSBpbiBnc3RfYnVmZmVyX3Jlc2l6ZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ4CgoyMDE2LTAyLTIzIDExOjU5OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogQWRkIGF1ZGlvaW50ZXJsZWF2ZQoKMjAxNi0wMi0yMiAxMDoyMTo0NyArMDEwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICBmYmRldnNpbms6IGZpeCBieXRlcyBwZXIgcGl4ZWwgY2FsY3VsYXRpb24KCSAgU2ltcGxlIHBpcGVsaW5lCgkgICQgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZmJkZXZzaW5rCgkgIGNyYXNoZXMgd2l0aCBTSUdTRUdWIGluIGNhc2UgdGhlIGZyYW1idWZmZXIgeHJlcyBpcyBzbWFsbGVyCgkgIHRoYW4gdGhlIHZpcnR1YWwgeHJlcyByZXNvbHV0aW9uLCBlLmcuOgoJICAkIGZic2V0CgkgIG1vZGUgIjgwMHg0ODAtMCIKCSAgIyBEOiAwLjAwMCBNSHosIEg6IDAuMDAwIGtIeiwgVjogMC4wMDAgSHoKCSAgZ2VvbWV0cnkgODAwIDQ4MCAxOTIwIDEyMDAgMTYKCSAgdGltaW5ncyAwIDAgMCAwIDAgMCAwCgkgIGFjY2VsIHRydWUKCSAgcmdiYSA1LzExLDYvNSw1LzAsMC8wCgkgIGVuZG1vZGUKCSAgRGVidWc6CgkgICQgZ2RiIGdzdC1sYXVuY2gtMS4wCgkgIChnZGIpIHJ1biB2aWRlb3Rlc3RzcmMgISBmYmRldnNpbmsKCSAgKGdkYikgd2hlcmUKCSAgIzAgIDB4YjZiZDJkMjQgaW4gX19tZW1jcHlfbmVvbiAoKQoJICBhdCAuLi9zeXNkZXBzL2FybS9hcm12Ny9tdWx0aWFyY2gvbWVtY3B5X2ltcGwuUzo1OTEKCSAgIzEgIDB4YjY5YjA0ZTggaW4gZ3N0X2ZiZGV2c2lua19zaG93X2ZyYW1lICh2aWRlb3Npbms9MHgxMGEzMzc4LAoJICBidWY9MHhiNWMwODgzOCkgYXQgZ3N0ZmJkZXZzaW5rLmM6MjY5CgkgICMyICAweGI2OWU4OGM0IGluIGdzdF9iYXNlX3NpbmtfZG9fcHJlcm9sbCAoc2luaz1zaW5rQGVudHJ5PTB4MTBhMzM3OCwKCSAgb2JqPTB4YjVjMDg4MzgsIG9iakBlbnRyeT0weGEwKSBhdCBnc3RiYXNlc2luay5jOjIyODEKCSAgIzMgIDB4YjY5ZTkyYmMgaW4gZ3N0X2Jhc2Vfc2lua19kb19zeW5jIChiYXNlc2luaz1iYXNlc2lua0BlbnRyeT0weDEwYTMzNzgsCgkgIG9iaj0weGEwLCBvYmpAZW50cnk9MHhiNWMwODgzOCwgbGF0ZT0weDAsIGxhdGVAZW50cnk9MHhiNjU0OGJhMCwKCSAgc3RlcF9lbmQ9MHgxNDAsIHN0ZXBfZW5kQGVudHJ5PTB4YjY1NDhiYTQpIGF0IGdzdGJhc2VzaW5rLmM6MjUwMAoJICAjNCAgMHhiNjllYTY3YyBpbiBnc3RfYmFzZV9zaW5rX2NoYWluX3VubG9ja2VkICgKCSAgYmFzZXNpbms9YmFzZXNpbmtAZW50cnk9MHgxMGEzMzc4LCBvYmo9MHgwLCBvYmpAZW50cnk9MHhiNWMwODgzOCwKCSAgaXNfbGlzdD1pc19saXN0QGVudHJ5PTAsIHBhZD08b3B0aW1pemVkIG91dD4pIGF0IGdzdGJhc2VzaW5rLmM6MzQ4NgoJICAjNSAgMHhiNjllYzFjMCBpbiBnc3RfYmFzZV9zaW5rX2NoYWluX21haW4gKGJhc2VzaW5rPTB4MTBhMzM3OCwKCSAgcGFkPTxvcHRpbWl6ZWQgb3V0Piwgb2JqPTB4YjVjMDg4MzgsIGlzX2xpc3Q9MCkgYXQgZ3N0YmFzZXNpbmsuYzozNjQ3CgkgICM2ICAweGI2ZWI1YjEwIGluIGdzdF9wYWRfY2hhaW5fZGF0YV91bmNoZWNrZWQgKHBhZD0weDEwYTYxNzAsCgkgIHR5cGU9PG9wdGltaXplZCBvdXQ+LCBkYXRhPTB4YjVjMDg4MzgpIGF0IGdzdHBhZC5jOjQwODYKCSAgIzcgIDB4YjZlYjdhMzQgaW4gZ3N0X3BhZF9wdXNoX2RhdGEgKHBhZD1wYWRAZW50cnk9MHgxMGE2MDIwLAoJICB0eXBlPXR5cGVAZW50cnk9NDExMiwgZGF0YT0weGI1YzA4ODM4KSBhdCBnc3RwYWQuYzo0MzM4CgkgICM4ICAweGI2ZWJmMzQ0IGluIGdzdF9wYWRfcHVzaCAocGFkPXBhZEBlbnRyeT0weDEwYTYwMjAsCgkgIGJ1ZmZlcj08b3B0aW1pemVkIG91dD4pIGF0IGdzdHBhZC5jOjQ0NTQKCSAgIzkgIDB4YjY5ZjIyZjAgaW4gZ3N0X2Jhc2Vfc3JjX2xvb3AgKHBhZD0weDEwYTYwMjApIGF0IGdzdGJhc2VzcmMuYzoyODQ1CgkgICMxMCAweGI2ZWVkZGZjIGluIGdzdF90YXNrX2Z1bmMgKHRhc2s9MHgxMGE4ODI4KSBhdCBnc3R0YXNrLmM6MzMxCgkgICMxMSAweGI2ZDQ4NWEwIGluIGdfdGhyZWFkX3Bvb2xfdGhyZWFkX3Byb3h5IChkYXRhPTxvcHRpbWl6ZWQgb3V0PikKCSAgYXQgZ3RocmVhZHBvUXVpdAoJICAoZ2RiKSBmcmFtZSAxCgkgICMxICAweGI2OWIwNGU4IGluIGdzdF9mYmRldnNpbmtfc2hvd19mcmFtZSAodmlkZW9zaW5rPTB4MTBhMzM3OCwKCSAgYnVmPTB4YjVjMDg4MzgpIGF0IGdzdGZiZGV2c2luay5jOjI2OQoJICAyNjkgICAgIGdzdGZiZGV2c2luay5jOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5LgoJICAoZ2RiKSBwIGZiZGV2c2luawoJICAkMSA9IChHc3RGQkRFVlNpbmsgKikgMHgxMGEzMzc4CgkgIChnZGIpIHAgKmZiZGV2c2luawoJICAkMiA9IHt2aWRlb3NpbmsgPSB7ZWxlbWVudCA9IHtlbGVtZW50ID0ge29iamVjdCA9IHtvYmplY3QgPSB7CgkgIGdfdHlwZV9pbnN0YW5jZSA9IHtnX2NsYXNzID0gMHgxMGEyZDYwfSwgcmVmX2NvdW50ID0gMywKCSAgcWRhdGEgPSAweDB9LCBsb2NrID0ge3AgPSAweDAsIGkgPSB7MCwgMH19LAoJICBuYW1lID0gMHgxMGEyZjMwICJmYmRldnNpbmswIiwgcGFyZW50ID0gMHgxMGE3MGEwLCBmbGFncyA9IDMyLAoJICBjb250cm9sX2JpbmRpbmdzID0gMHgwLCBjb250cm9sX3JhdGUgPSAxMDAwMDAwMDAsCgkgIGxhc3Rfc3luYyA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1LCBfZ3N0X3Jlc2VydmVkID0gMHgwfSwKCSAgc3RhdGVfbG9jayA9IHtwID0gMHgxMDlmOWE4LCBpID0gezAsIDB9fSwgc3RhdGVfY29uZCA9IHtwID0gMHgwLCBpID0gewoJICAzLCAwfX0sIHN0YXRlX2Nvb2tpZSA9IDIsIHRhcmdldF9zdGF0ZSA9IEdTVF9TVEFURV9QQVVTRUQsCgkgIGN1cnJlbnRfc3RhdGUgPSBHU1RfU1RBVEVfUkVBRFksIG5leHRfc3RhdGUgPSBHU1RfU1RBVEVfUEFVU0VELAoJICBwZW5kaW5nX3N0YXRlID0gR1NUX1NUQVRFX1BBVVNFRCwKCSAgbGFzdF9yZXR1cm4gPSBHU1RfU1RBVEVfQ0hBTkdFX0FTWU5DLCBidXMgPSAweDEwOGJjYjgsIGNsb2NrID0gMHgwLAoJICBiYXNlX3RpbWUgPSAwLCBzdGFydF90aW1lID0gMCwgbnVtcGFkcyA9IDEsIHBhZHMgPSAweDEwOWNjMjAsCgkgIG51bXNyY3BhZHMgPSAwLCBzcmNwYWRzID0gMHgwLCBudW1zaW5rcGFkcyA9IDEsIHNpbmtwYWRzID0gMHgxMDljYzMwLAoJICBwYWRzX2Nvb2tpZSA9IDEsIF9nc3RfcmVzZXJ2ZWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfX0sCgkgIHNpbmtwYWQgPSAweDEwYTYxNzAsIHBhZF9tb2RlID0gR1NUX1BBRF9NT0RFX1BVU0gsIG9mZnNldCA9IDAsCgkgIGNhbl9hY3RpdmF0ZV9wdWxsID0gMCwgY2FuX2FjdGl2YXRlX3B1c2ggPSAxLCBwcmVyb2xsX2xvY2sgPSB7cCA9IDB4MSwKCSAgaSA9IHsxLCAwfX0sIHByZXJvbGxfY29uZCA9IHtwID0gMHgwLCBpID0gezAsIDB9fSwgZW9zID0gMCwKCSAgbmVlZF9wcmVyb2xsID0gMSwgaGF2ZV9wcmVyb2xsID0gMCwgcGxheWluZ19hc3luYyA9IDEsCgkgIGhhdmVfbmV3c2VnbWVudCA9IDEsIHNlZ21lbnQgPSB7ZmxhZ3MgPSBHU1RfU0VHTUVOVF9GTEFHX05PTkUsIHJhdGUgPSAxLAoJICBhcHBsaWVkX3JhdGUgPSAxLCBmb3JtYXQgPSBHU1RfRk9STUFUX1RJTUUsIGJhc2UgPSAwLCBvZmZzZXQgPSAwLAoJICBzdGFydCA9IDAsIHN0b3AgPSAxODQ0Njc0NDA3MzcwOTU1MTYxNSwgdGltZSA9IDAsIHBvc2l0aW9uID0gMzMzMzMzMzMsCgkgIGR1cmF0aW9uID0gMTg0NDY3NDQwNzM3MDk1NTE2MTUsIF9nc3RfcmVzZXJ2ZWQgPSB7MHgwLCAweDAsIDB4MCwKCSAgMHgwfX0sIGNsb2NrX2lkID0gMHgwLCBzeW5jID0gMSwgZmx1c2hpbmcgPSAwLCBydW5uaW5nID0gMCwKCSAgbWF4X2xhdGVuZXNzID0gMjAwMDAwMDAsIHByaXYgPSAweDEwYTMxODgsIF9nc3RfcmVzZXJ2ZWQgPSB7CgkgIDB4MCA8cmVwZWF0cyAyMCB0aW1lcz59fSwgd2lkdGggPSAwLCBoZWlnaHQgPSAwLCBwcml2ID0gMHgxMGEzMTgwLAoJICBfZ3N0X3Jlc2VydmVkID0gezB4MCwgMHgwLCAweDAsIDB4MH19LCBmaXhpbmZvID0gewoJICBpZCA9ICdcMDAwJyA8cmVwZWF0cyAxNSB0aW1lcz4sIHNtZW1fc3RhcnQgPSAxMDc4OTg0NzA0LAoJICBzbWVtX2xlbiA9IDQ2MDgwMDAsIHR5cGUgPSAwLCB0eXBlX2F1eCA9IDAsIHZpc3VhbCA9IDIsIHhwYW5zdGVwID0gMSwKCSAgeXBhbnN0ZXAgPSAxLCB5d3JhcHN0ZXAgPSAwLCBsaW5lX2xlbmd0aCA9IDM4NDAsIG1taW9fc3RhcnQgPSAwLAoJICBtbWlvX2xlbiA9IDAsIGFjY2VsID0gMCwgY2FwYWJpbGl0aWVzID0gMCwgcmVzZXJ2ZWQgPSB7MCwgMH19LCB2YXJpbmZvID0gewoJICB4cmVzID0gODAwLCB5cmVzID0gNDgwLCB4cmVzX3ZpcnR1YWwgPSAxOTIwLCB5cmVzX3ZpcnR1YWwgPSAxMjAwLAoJICB4b2Zmc2V0ID0gMCwgeW9mZnNldCA9IDAsIGJpdHNfcGVyX3BpeGVsID0gMTYsIGdyYXlzY2FsZSA9IDAsIHJlZCA9IHsKCSAgb2Zmc2V0ID0gMTEsIGxlbmd0aCA9IDUsIG1zYl9yaWdodCA9IDB9LCBncmVlbiA9IHtvZmZzZXQgPSA1LAoJICBsZW5ndGggPSA2LCBtc2JfcmlnaHQgPSAwfSwgYmx1ZSA9IHtvZmZzZXQgPSAwLCBsZW5ndGggPSA1LAoJICBtc2JfcmlnaHQgPSAwfSwgdHJhbnNwID0ge29mZnNldCA9IDAsIGxlbmd0aCA9IDAsIG1zYl9yaWdodCA9IDB9LAoJICBub25zdGQgPSAwLCBhY3RpdmF0ZSA9IDAsIGhlaWdodCA9IDQyOTQ5NjcyOTUsIHdpZHRoID0gNDI5NDk2NzI5NSwKCSAgYWNjZWxfZmxhZ3MgPSAxLCBwaXhjbG9jayA9IDAsIGxlZnRfbWFyZ2luID0gMCwgcmlnaHRfbWFyZ2luID0gMCwKCSAgdXBwZXJfbWFyZ2luID0gMCwgbG93ZXJfbWFyZ2luID0gMCwgaHN5bmNfbGVuID0gMCwgdnN5bmNfbGVuID0gMCwKCSAgc3luYyA9IDAsIHZtb2RlID0gMCwgcm90YXRlID0gMCwgY29sb3JzcGFjZSA9IDAsIHJlc2VydmVkID0gezAsIDAsIDAsIDB9fSwKCSAgZmQgPSA1LAoJICBmcmFtZWJ1ZmZlciA9IDB4YjY1NGEwMDAgPGVycm9yOiBDYW5ub3QgYWNjZXNzIG1lbW9yeSBhdCBhZGRyZXNzIDB4YjY1NGEwMDA+LCBkZXZpY2UgPSAweDEwYTM4ZDggIi9kZXYvZmIwIiwgd2lkdGggPSAzMjAsIGhlaWdodCA9IDI0MCwgY3ggPSAyNDAsIGN5ID0gMTIwLAoJICBsaW5lbGVuID0gMTI4MCwgbGluZXMgPSAyNDAsIGJ5dGVzcHAgPSA0LCBmcHNfbiA9IDMwLCBmcHNfZCA9IDF9CgkgIChnZGIpIHAgbWFwCgkgICQzID0ge21lbW9yeSA9IDB4YjVkMjQwMDgsIGZsYWdzID0gR1NUX01BUF9SRUFELAoJICBkYXRhID0gMHhiNWQyNDA1OCAnXDM3NycgPHJlcGVhdHMgOTAgdGltZXM+LCAiXDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzc3XGFcMzc3XGFcMzc3XGFcMzc3XGFcMzc3XGFcMzc3XGFcMzc3XGFcMzc3XGFcMzc3XGEiLi4uLAoJICBzaXplID0gMTUzNjAwLCBtYXhzaXplID0gMTUzNjAzLCB1c2VyX2RhdGEgPSB7MHgwLAoJICAweGI2OWUzYmE0IDxnc3RfYmFzZV9zaW5rX3NldF9sYXN0X2J1ZmZlcl91bmxvY2tlZCs5Mj4sIDB4MTBhMzM3OCwgMHgwfSwKCSAgX2dzdF9yZXNlcnZlZCA9IHsweDEsIDB4MTBhMzM3OCwgMHhiNmY1MGRkOCA8X2dzdF9kZWJ1Z19taW4+LCAweGI1YzA4ODM4fX0KCSAgKGdkYikgcCBpCgkgICQ0ID0gMTIxCgkgIEZpeCB0aGlzIGJ5IGNoYW5naW5nIHRoZSBmYmRldnNpbmstPmJ5dGVzcHAgY2FsY3VsYXRpb24gdXNpbmcKCSAgdGhlIGZyYW1lIGJ1ZmZlciB4cmVzX3ZpcnR1YWwgc2l6ZSBpbnN0ZWFkIG9mIHhyZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI0ODIKCjIwMTYtMDItMjIgMTI6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogRXhwb3NlIG1vcmUgR3N0VmlkZW9PdmVybGF5IEFQSSBpbiB0aGUgR3N0UGxheWVyVmlkZW9PdmVybGF5VmlkZW9SZW5kZXJlcgoJICBFeHBvc2UgdGhlIGV4cG9zZSgpIGFuZCBzZXRfcmVuZGVyX3JlY3RhbmdsZSgpIG1ldGhvZHMuIFRoZXNlIGFyZSB1c2VmdWwgZm9yCgkgIHByb3BlciBmdW5jdGlvbmluZyBvZiB0aGUgdmlkZW8gb3ZlcmxheSBpbiB2YXJpb3VzIHNpdHVhdGlvbnMgYW5kIHRvb2xraXRzLgoKMjAxNi0wMi0yMiAyMTowMzoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogZml4IHRoZSBidWlsZAoJICAyZDI4NzgxMiB3YXMgaW5jb21wbGV0ZQoKMjAxNi0wMi0yMiAyMDo0OTo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogZXJyb3Igb3V0IGlmIHRoZSBjb25maWd1cmVkIEdMIEFQSSBpcyB1bnN1cHBvcnRlZCBieSBvdXIgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODAxCgoyMDE2LTAxLTI0IDE3OjQwOjM3ICswMzAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHFtbGdsc2luazogU2NoZWR1bGUgb25TY2VuZUdycGFoSW5pdGlhbGl6ZWQgdG8gZXhlY3V0ZSBvbiByZW5kZXIgdGhyZWFkCgkgIG9uU2NlbmVHcmFwaEluaXRpYWxpemVkKCkgaXMgY2FsbGVkIGZyb20gbm9uIHJlbmRlciB0aHJlYWQgY3VycmVudGx5IHdoZW4KCSAgc2NlbmUgZ3JhcGggaXMgYWxyZWFkeSBpbml0aWFsaXplZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAwMwoKMjAxNi0wMS0wNyAxODoyNjoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBuZWdvdGlhdGlvbiBlcnJvcnMgd2l0aCBtdWx0aS1jaGFubmVsIGZpbGVzCgkgIFNldCBmYWxsYmFjayBjaGFubmVsIGxheW91dCBvbiBmaWxlcyB3aXRoIG1vcmUgdGhhbiB0d28KCSAgY2hhbm5lbHMuIE5vdCBjbGVhciB3aGVyZSB0byByZXRyaWV2ZSB0aGUgcmVhbCBsYXlvdXQgZnJvbQoJICBvciB3aGF0IHRoZSBkZWZhdWx0IGxheW91dCBpcyBmb3IgQUlGRiBmaWxlcywgdGhlIHNwZWMKCSAgb25seSBzZWVtcyB0byBzcGVjaWZ5IHNvbWUgbGF5b3V0IGZvciB1cCB0byA2IGNoYW5uZWxzCgkgIGFuZCB0aGUgZmlsZSBpbiBxdWVzdGlvbiBkb2Vzbid0IGhhdmUgYSBDSEFOIGNodW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NDI1CgoyMDE2LTAyLTIxIDEwOjM0OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NkeGFwYXJzZS9jZHhhcGFyc2UudmNwcm9qOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC52Y3Byb2o6CgkqIGdzdC9vdmVybGF5L292ZXJsYXkudmNwcm9qOgoJKiBnc3QvcnRqcGVnL3J0anBlZy52Y3Byb2o6CgkqIGdzdC9zbW9vdGgvc21vb3RoLnZjcHJvajoKCSogZ3N0L3NwZWVkL3NwZWVkLnZjcHJvajoKCSogZ3N0L3N0ZXJlby9zdGVyZW8udmNwcm9qOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvZ3N0LnNsbjoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvd2RlY3dyYXBwZXIuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0Zmx2LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdG5lb24uZHNwOgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICB3aW4zMjogcmVtb3ZlIG91dGRhdGVkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaGFzbid0IGJlZW4gdG91Y2hlZCBmb3IgZ2VuZXJhdGlvbnMsIGRvZXNuJ3Qgd29yaywKCSAgYW5kIGlzIGp1c3QgY2F1c2luZyBjb25mdXNpb24uIFdlIGFsc28gZG9uJ3Qgd2FudCB0bwoJICBtYWludGFpbiB0aGVzZSBmaWxlcyBtYW51YWxseS4KCjIwMTYtMDItMjAgMTI6NTU6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSAgZGFhbGE6IGRvbid0IHVzZSBleHBvcnRlZCBidXQgdW5kZWNsYXJlZCBjb3JlIGRlYnVnIGNhdGVnb3J5IHN5bWJvbHMKCSAgSXQncyBub3QgcmlnaHQgYW5kIHdvbid0IHdvcmsgb24gV2luZG93cyB3aXRoIE1TVkMuCgoyMDE2LTAyLTE5IDE0OjI3OjU5IC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCBpbml0aWFsaXphdGlvbiBvZiBzbGljZV9kZWJsb2NraW5nX2ZpbHRlcl9kaXNhYmxlZF9mbGFnCgkgIEguMjY1IDcuNC43LjEgc2F5czoKCSAgPiBXaGVuIHNsaWNlX2RlYmxvY2tpbmdfZmlsdGVyX2Rpc2FibGVkX2ZsYWcgaXMgbm90IHByZXNlbnQsIGl0IGlzCgkgID4gaW5mZXJyZWQgdG8gYmUgZXF1YWwgdG8gcHBzX2RlYmxvY2tpbmdfZmlsdGVyX2Rpc2FibGVkX2ZsYWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIzNTEKCjIwMTYtMDItMTkgMTY6NDA6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gc2Nhbm5pbmcgZm9yIHN5bmMgY29kZQoJICBPbmx5IHNlYXJjaCBpZiB0aGVyZSBpcyBpbmRlZWQgZW5vdWdoIGRhdGEgdG8gYmUgc2VhcmNoZWQgb3RoZXJ3aXNlCgkgIGFuIGFzc2VydGlvbiBpcyByYWlzZWQKCjIwMTYtMDItMTkgMTc6NDg6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogRml4IHBlci1wcm9ncmFtLXBhZCBwdXNoaW5nCgkgIFRoaXMgZml4ZXMgYSBjb3VwbGUgb2YgaXNzdWVzIHJlZ2FyZGluZyB0aGUgb3V0cHV0IG9mIChyZXF1ZXN0KQoJICBwZXItcHJvZ3JhbSBwYWRzIG91dHB1dDoKCSAgV2Ugd291bGQgbmV2ZXIgcHVzaCBvdXQgUEFUIHNlY3Rpb25zIChvaywgdGhhdCB3YXMgb25lIHJlYWxsbHkgc3R1cGlkCgkgIG1pc3Rha2UuIEkgZ3Vlc3Mgbm9ib2R5IGV2ZXIgdXNlcyB0aGlzIGZlYXR1cmUgLi4uKS4KCSAgSW4gdGhlIGNhc2Ugd2hlcmUgdGhlIFBNVCBzZWN0aW9uIG9mIGEgcHJvZ3JhbSB3YXMgYmlnZ2VyIHRoYW4gb25lCgkgIHBhY2tldCwgd2Ugd291bGQgb25seSBlbmQgdXAgcHVzaGluZyB0aGUgbGFzdCBwYWNrZXQgb2YgdGhhdCBQTVQuIFdoaWNoCgkgIG9idmlvdXNseSByZXN1bHRzIGluIHRoZSByZXN1bHRpbmcgc3RyZWFtIG5ldmVyIGNvbnRhaW5pbmcgdGhlIHByb3BlcgoJICAoY29tcGxldGUpIFBNVC4KCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgdGhlIHByb2dyYW0gaXMgb25seSBzdGFydGVkIChpbiB0aGUgYmFzZSBjbGFzcykKCSAgYWZ0ZXIgdGhlIFBNVCBzZWN0aW9uIGlzIGNvbXBsZXRlbHkgcGFyc2VkLiBXaGVuIGRlYWxpbmcgd2l0aCBzaW5nbGUtcHJvZ3JhbQoJICBwYWRzLCB0c3BhcnNlIG9ubHkgd2FudHMgdG8gcHVzaCB0aGUgUE1UIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJlcXVlc3RlZAoJICBwcm9ncmFtIChhbmQgbm90IHRoZSBvdGhlciBvbmVzKS4gdHNwYXJzZSBkaWQgdGhhdCBjaGVjayBieSBsb29raW5nCgkgIGF0IHRoZSBzdHJlYW1zIG9mIHRoZSBwcm9ncmFtLi4uCgkgIC4uLiBidXQgdGhhdCBwcm9ncmFtIGRvZXNuJ3QgZXhpc3QgZm9yIHRoZSBmaXJzdCBwYWNrZXRzIG9mIHRoZSBpbml0aWFsCgkgIFBNVC4KCSAgVGhlIGZpeCBpcyB0byB1c2UgdGhlIGJhc2UgY2xhc3MgcHJvZ3JhbSBpbmZvcm1hdGlvbiAoaWYgaXQgcGFyc2VkIHRoZQoJICBQQVQgaXQgYWxyZWFkeSBoYXMgc29tZSBpbmZvcm1hdGlvbiwgbGlrZSB0aGUgUE1UIFBJRCBmb3IgYSBnaXZlbiBwcm9ncmFtKQoJICBpZiB0aGUgcHJvZ3JhbSBoYXNuJ3Qgc3RhcnRlZCB5ZXQuCgoyMDE2LTAyLTE5IDE3OjQ1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBVc2UgR3N0Rmxvd0NvbWJpbmVyCgkgIEluIGFkZGl0aW9uIHRvIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNhbmUgdGhpbmcgdG8gZG8gZm9yIG11bHRpLXNvdXJjZQoJICBwYWQgZWxlbWVudHMsIGl0IGFsc28gYXZvaWRzIHRoZSBzaXR1YXRpb24gd2hlcmUganVzdCB1c2luZyBhIHJlcXVlc3QKCSAgcGFkIChhbmQgbm90IHRoZSBtYWluIHN0YXRpYyBwYWQpIHdvdWxkIHJlc3VsdCBpbiB0aGUgcHJvY2Vzc2luZwoJICBzdG9wcGluZy4KCjIwMTYtMDItMTkgMTI6Mzg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNy4yID09PQoKMjAxNi0wMi0xOSAxMTo1MDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy4yCgoyMDE2LTAyLTE5IDEwOjMyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTAyLTE4IDE0OjMyOjIzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLW1wZWd0cy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbGF5ZXItdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItd2F5bGFuZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgdW5pbnN0YWxsZWQucGM6IGFkZCBzdXBwb3J0IGZvciBub24gbGlidG9vbCBidWlsZCBzeXN0ZW1zCgkgIEN1cnJlbnRseSB0aGUgLmxhIHBhdGggaXMgcHJvdmlkZWQgd2hpY2ggcmVxdWlyZXMgdG8gdXNlIGxpYnRvb2wgYXMKCSAgbWVudGlvbmVkIGluIHRoZSBHU3RyZWFtZXIgbWFudWFsIHNlY3Rpb24taGVsbG93b3JsZC1jb21waWxlcnVuLmh0bWwuCgkgIEl0IGlzIGZpbmUgYXMgbG9uZyBhcyB0aGUgYXBwbGljYXRpb24gaXMgYnVpbHQgdXNpbmcgbGlidG9vbC4KCSAgU28gY3VycmVudGx5IGl0IGlzIG5vdCBwb3NzaWJsZSB0byBjb21waWxlIGEgR1N0cmVhbWVyIGFwcGxpY2F0aW9uCgkgIHdpdGhpbiBnc3QtdW5pbnN0YWxsZWQgd2l0aCBDTWFrZSBvciBvdGhlciBidWlsZCBzeXN0ZW0gZGlmZmVyZW50CgkgIHRoYW4gYXV0b3Rvb2xzLgoJICBUaGlzIHBhdGNoIGFsbG93cyB0byBkbyB0aGUgZm9sbG93aW5nIGluIGdzdC11bmluc3RhbGxlZCBlbnY6CgkgIGdjYyB0ZXN0LmMgLW8gdGVzdCAkKHBrZy1jb25maWcgLS1jZmxhZ3MgLS1saWJzIGdzdHJlYW1lci0xLjAgXAoJICBnc3RyZWFtZXItZ2wtMS4wKQoJICBQcmV2aW91c2x5IGl0IHJlcXVpcmVkIHRvIHByZXBlbmQgbGlidG9vbCAtLW1vZGU9bGluawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNzc4CgoyMDE2LTAyLTE4IDE2OjIxOjM4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsZGVidWc6IG1ha2Ugc3VyZSBkZWJ1ZyBpcyBpbml0aWFsaXplZCB3aGVuIGNhbGxpbmcgZ3N0X2dsX2luc2VydF9kZWJ1Z19tYXJrZXIKCSAgVXN1YWxseSBnbCBkZWJ1ZyBpcyBpbml0aWFsaXplZCBpbiBnc3RfZ2xfY29udGV4dF9jcmVhdGVfdGhyZWFkLgoJICBCdXQgdGhpcyBmdW5jdGlvbiBpcyBub3QgdXNlZCB3aGVuIHVzaW5nIHRoZSBHc3RHTENvbnRleHRHUFVQcm9jZXNzCgkgIGZyb20gQ2hyb21pdW1HU3RyZWFtZXJCYWNrZW5kLgoJICBSZWNlaXZlZCBzaWduYWwgMTEgU0VHVl9NQVBFUlIgMDAwMDAwMDAwMDAwCgkgIGdzdF9kZWJ1Z19jYXRlZ29yeV9nZXRfdGhyZXNob2xkCgkgIGdzdF9nbF9pbnNlcnRfZGVidWdfbWFya2VyCgkgIGdzdF9nbF9iYXNlX2ZpbHRlcl9nbF9zdGFydAoKMjAxNi0wMi0xOCAxMDozMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC91dGlscy9nbGVzX3ZlcnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDoKCSAgZ2w6IEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCBjb25zdCB2YXJpYWJsZSB3aXRoIGdjYyA2CgkgIENDICAgICAgIGxpYmdzdGdsX3gxMV9sYS1nc3RnbGNvbnRleHRfZ2x4LmxvCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSBnc3RnbGNvbnRleHRfZ2x4LmM6Mzk6MDoKCSAgLi4vdXRpbHMvb3BlbmdsX3ZlcnNpb25zLmg6NTI6NDM6IGVycm9yOiDigJhnbGVzMl92ZXJzaW9uc+KAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtY29uc3QtdmFyaWFibGVdCgkgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgeyBpbnQgbWFqb3IsIG1pbm9yOyB9IGdsZXMyX3ZlcnNpb25zW10gPSB7CgkgIF5+fn5+fn5+fn5+fn5+CgoyMDE2LTAyLTE4IDEwOjI5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogTW92ZSBwcml2YXRlIGhlYWRlcnMgZnJvbSBTT1VSQ0VTIHRvIG5vaW5zdF9IRUFERVJTCgoyMDE2LTAyLTE4IDAwOjI0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgQysrMTEgY29tcGF0aWJpbGl0eQoJICBnc3Rtb2RwbHVnLmNjOjk0OjE3OiBlcnJvcjogaW52YWxpZCBzdWZmaXggb24gbGl0ZXJhbDsgQysrMTEgcmVxdWlyZXMgYSBzcGFjZSBiZXR3ZWVuIGxpdGVyYWwgYW5kIHN0cmluZyBtYWNybyBbLVdlcnJvcj1saXRlcmFsLXN1ZmZpeF0KCSAgI2RlZmluZSBGT1JNQVRTICJ7ICJHU1RfQVVESU9fTkUgKFMzMikiLCAiR1NUX0FVRElPX05FIChTMTYpIiwgVTggfSIKCSAgXgoJICBnc3Rtb2RwbHVnLmNjOjk0OjM5OiBlcnJvcjogaW52YWxpZCBzdWZmaXggb24gbGl0ZXJhbDsgQysrMTEgcmVxdWlyZXMgYSBzcGFjZSBiZXR3ZWVuIGxpdGVyYWwgYW5kIHN0cmluZyBtYWNybyBbLVdlcnJvcj1saXRlcmFsLXN1ZmZpeF0KCSAgI2RlZmluZSBGT1JNQVRTICJ7ICJHU1RfQVVESU9fTkUgKFMzMikiLCAiR1NUX0FVRElPX05FIChTMTYpIiwgVTggfSIKCSAgXgoKMjAxNi0wMi0xNiAxNToxMDozNCArMDEwMCAgRGF2aWQgRmVybmFuZGV6IDxkLmZlcm5hbmRlemxvcEBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBkb24ndCBzZW5kIGVtcHR5IGJ1ZmZlcnMKCSAgRml4ZXMgcHJvYmxlbSBpbiBjdXJsaHR0cHNpbmsgd2hlbiBxdG11eCB1c2VzIGZhc3RzdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjAxMwoKMjAxNi0wMi0xNyAxMToxNjo1MyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBGaXggc29tZSBkZWJ1Z3MKCjIwMTYtMDEtMjYgMDk6MzQ6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0X3NyYzogRml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgdjRsX2NhcHMgYW5kIG5ld19jYXBzIGFyZSBiZWluZyBhbGxvY2F0ZWQgbmV3IG1lbW9yeSBiZWZvcmUgZnJlZWluZyB0aGUKCSAgb2xkIGFsbG9jYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjExMDgKCjIwMTUtMTItMjQgMTU6MzY6NTQgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZWZhY3RvciBjb2RlIHRvIGNoZWNrIGZvciBzdWJjbGFzcyBzZWVrIGhhbmRsaW5nCgkgIElmIHN1YmNsYXNzIGlzIG5vdCBhYmxlIHRvIGhhbmRsZSBzZWVrIGV2ZW50LCB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8KCSAgc3RvcCBzdHJlYW1pbmcgYW5kIHNlbmQgZmx1c2ggZXZlbnRzLiBXZSBzaG91bGQgc2ltcGx5IHJldHVybiBGQUxTRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE2CgoyMDE1LTEyLTI0IDE1OjEwOjE2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQWRkIGNvbmRpdGlvbiB0byBjaGVjayBmb3Igbm9uIHdvcmtpbmcgbmVnYXRpdmUgcmF0ZQoJICB0c2RlbXV4IGlzIG5vdCBhYmxlIHRvIGhhbmRsZSBuZWdhdGl2ZSBwbGF5YmFjayByYXRlcy4KCSAgQnV0IGluIG1wZWd0c2Jhc2UsIHRoZSBzYW1lIGNoZWNrIGlzIG5vdCBiZWluZyBkb25lLgoJICBhZGRlZCBhIGNoZWNrIHRvIG5vdCBoYW5kbGUgbmVnYXRpdmUgcmF0ZSB3aGlsZSBzZWVraW5nIHVubGVzcwoJICB0aGUgc2FtZSBpcyBoYW5kbGVkIHVwc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE2CgoyMDE2LTAyLTE3IDEzOjAwOjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGluc2VydCB0aGUgZGVidWcgbWFya2VyIGZyb20gdGhlIEdMIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNTM4CgoyMDE2LTAyLTE3IDExOjQyOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnNlZCByZWNvbmZpZ3VyZSB2YXJpYWJsZQoKMjAxNi0wMS0xMyAxMzoxNzo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogZG9uJ3QgcHVzaCBhIHJlY29uZmlndXJlIGV2ZW50IGZyb20gdGhlIEdMIHRocmVhZAoJICBEb2luZyBzbyBtYXkgY2F1c2UgZGVhZGxvY2tzIHdoZW4gb3RoZXIgZWxlbWVudHMgYXR0ZW1wdCBkZXN0cm95IG9yIGNyZWF0ZWQKCSAgR0wgcmVzb3VyY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTU5CgoyMDE2LTAxLTIxIDEwOjQwOjM2ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IGxlYWsgcGFkJ3MgdmVydGV4IGJ1ZmZlciBvbiByZWxlYXNlX3BhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwODczCgoyMDE2LTAyLTE3IDAxOjA4OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsbWl4ZXI6IFJlbW92ZSB1c2FnZSBvZiBHc3RHTE1peGVyRnJhbWVEYXRhCgkgIFN1YmNsYXNzZXMgY2FuIGp1c3QgaXRlcmF0ZSBvdmVyIHRoZSBsaXN0IG9mIHBhZHMgdGhlbXNlbHZlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwODczCgoyMDE2LTAxLTEzIDE0OjQxOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBkb24ndCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGlsZSBjYWxsaW5nIGludG8gR0wKCSAgRG9pbmcgc28gY2FuIGRlYWRsb2NrIGJldHdlZW4gdGhlIEdMIHRocmVhZCBhbmQgdGhlIG9iamVjdCBsb2NrIGUuZy4KCSAgd2hlbiBwZXJmb3JtaW5nIHJlY29uZmlndXJlIGV2ZW50cyBpbiBnbGltYWdlc2luayBvbiBhIHJlc2l6ZSBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1OQoKMjAxNi0wMi0xNiAyMjozNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbjogbWFrZSBjaGVjay1leHBvcnRzIG5vdCBmYWlsIGZvciBsaWJnc3RnbC5kZWYKCSAgU2hvdWxkIGZpeCBkaXN0Y2hlY2sgb24gc29tZSBidWlsZCBib3RzLgoKMjAxNi0wMS0yNiAwOTozNzowNCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbWVuYy9hY21tcDNkZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBicmVhayBhZnRlciByZXR1cm4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTEwOQoKMjAxNS0wNy0yMSAxODowMjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGltcHJvdmUgY2hlY2sgZm9yIHdheWxhbmQtc2Nhbm5lciBiaW5hcnkKCSAgVGhlIHBsdWdpbiBkb2Vzbid0IG5lZWQgdGhlIHdheWxhbmQtc2Nhbm5lciBwYWNrYWdlIHRvIGJlIGJ1aWx0CgkgIG9yIHJ1biwgaXQgb25seSBuZWVkcyB0aGUgd2F5bGFuZC1zY2FubmVyIHByb2dyYW0gZHVyaW5nIGNvbXBpbGUgdGltZS4KCSAgV2hlbiBjcm9zcy1jb21waWxpbmcsIGJ1aWxkIHN5c3RlbXMgbWlnaHQgbm90IGhhdmUgdGhlIHdheWxhbmQtc2Nhbm5lcgoJICBwYWNrYWdlIGZvciB0aGUgdGFyZ2V0IHN5c3RlbSBhcyBpdCBpcyBhIGRldmVsb3BlcidzIHRvb2wsIHdoaWxlIGl0IHNob3VsZAoJICBzdGlsbCBiZSBwb3NzaWJsZSB0byB1c2Ugd2F5bGFuZC1zY2FubmVyIGZyb20gdGhlIGhvc3Qgc3lzdGVtLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IG5vdCByZXF1aXJpbmcgdGhlIHdheWxhbmQtc2Nhbm5lciBwYWNrYWdlIGJ1dAoJICBqdXN0IHRoZSBiaW5hcnkgaXRzZWxmLgoJICBOb3RlIHRoYXQgdGhlIGNoZWNrIGlzIGRvbmUgb3V0c2lkZSBvZiB0aGUgUEtHX0NIRUNLX01PRFVMRVMKCSAgYXMgaXQgZG9lc24ndCB3b3JrIGluc2lkZSBvZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjY4OAoKMjAxNi0wMS0yMSAxMTo1MzozMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZXN0b3JlIGJpdHJhdGUgYXZlcmFnaW5nIHN1cHBvcnQKCSAgVGhpcyB3YXMgYWNjaWRlbnRhbGx5IHJlbW92ZWQgaW4gY29tbWl0IGNjZmYzYmUzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTU5CgoyMDE2LTAxLTIwIDE1OjMzOjI4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgcXVldWUyIG92ZXJydW4gbm90aWZpY2F0aW9uCgkgIER1ZSB0byBwZXJmb3JtYW5jZSBpbXBhY3QgY29uY2VybnMgdGhpcyBpcyByZW1vdmVkLiBBbiBhbHRlcm5hdGl2ZQoJICBhcHByb2FjaCB3b3VsZCBiZSB0byByZWx5IG9uIGJ1ZmZlcmluZyBtZXNzYWdlcyBtb25pdG9yaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTU5CgoyMDE2LTAyLTE2IDE2OjE4OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkgIHZrZGV2aWNlOiBhZGQgdGhlIG5lY2Vzc2FyeSBidXQgYXJiaXRyYXJ5IHF1ZXVlIHByaW9yaXR5CgkgIFNpbGVuY2VzIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0aW9uIGxheWVycy4KCjIwMTYtMDItMTYgMTY6MTI6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogYWRkIHRoZSBuZWNlc3NhcnkgY2FsbCB0byBjaGVjayBpZiB0aGUgcGh5c2ljYWwgZGV2aWNlIHN1cHBvcnRzIHRoZSBzdXJmYWNlCgkgIFNpbGVuY2VzIGFuIGVycm9yIGluIHRoZSB2YWxpZGF0aW9uIGxheWVycy4KCjIwMTYtMDItMTYgMTU6NTM6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmthcGkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogdXBkYXRlIHRvIFNESyAxLjAuMy4xCgoyMDE2LTAyLTE2IDE1OjM2OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZ1bGthbi9idWlsZDogc2VhcmNoIGZvciB0aGUgY29ycmVjdCBsaWJyYXJ5CgkgIFNESyAxLjAuMSB1c2VkIGxpYnZ1bGthbi0xLnNvLCAxLjAuMiB1c2VzIGxpYnZ1bGthbi5zbwoKMjAxNi0wMi0xNiAxMTo1MToyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBpdGVyYXRlIG92ZXIgdGhlIGRldmljZSBxdWV1ZSdzIHVzaW5nIHRoZSBuZXcgaXRlcmF0aW9uIEFQSQoKMjAxNi0wMi0xNiAxMTo0OToyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkgIHZrZGV2aWNlOiBhZGQgY2FsbGJhY2sgaXRlcmF0aW9uIG92ZXIgdGhlIGRldmljZSBxdWV1ZSdzCgoyMDE2LTAyLTE2IDExOjIyOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrcXVldWUuYzoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmg6CgkgIHZrcXVldWU6IGFkZCBjb250ZXh0IGhlbHBlcnMKCjIwMTYtMDItMTEgMDE6MzE6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5oOgoJICB2a3V0aWxzOiBtb3ZlIG9iamVjdC1zcGVjaWZpYyBjb250ZXh0IHF1ZXJpZXMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBmaWxlcwoJICB2a3V0aWxzIG5vdyBqdXN0IGNvbnRhaW5zIHNvbWUgdXRpbGl0eSBmdW5jdGlvbnMgdG8gZnVydGhlciBzaW1wbGlmeSByZXRyaWV2aW5nCgkgIG11bHRpcGxlIG9iamVjdHMuCgoyMDE2LTAyLTExIDAwOjUwOjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSAgdmtkZXZpY2U6IHJlbW92ZSB1bm5lZWRlZCBlcnJvciBwYXJhbWV0ZXIgZnJvbSBnZXRfcXVldWUoKQoKMjAxNi0wMi0xMCAxODowNjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmg6CgkgIHZrdXBsb2FkOiBpbXBsZW1lbnQgYW4gdXBsb2FkZXIgYWJzdHJhY3Rpb24KCjIwMTYtMDItMTAgMTk6NTA6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkgIHZrZGlzcGxheTogdW5yZWYgdGhlIGluc3RhbmNlCgkgIGZpeGVzIG1lbW9yeSBsZWFrCgoyMDE2LTAyLTEwIDE5OjM0OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2dWxrYW46IGNoYWluIHVwIGluIGZpbmFsaXplCgkgIFRoZXkgd2VyZSBtaXNzaW5nIGluIHNvbWUgY2FzZXMKCjIwMTYtMDItMTAgMTg6NTg6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZrc2luazogb25seSB1bnJlZiBpZiB0aGUgcG9pbnRlcnMgYXJlIG5vbi1OVUxMCgoyMDE2LTAyLTEwIDE4OjA1OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdmtpbWFnZW1lbW9yeTogZnJlZSB0aGUgbWFuYWdpbmcgc3RydWN0IG9uIF9mcmVlCgkgIGZpeGVzIGEgbWVtb3J5IGxlYWsKCjIwMTYtMDItMDkgMTg6MjY6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSAgdmtkZXZpY2U6IHBlcmZvcm0gYSB3YWl0SWRsZSBiZWZvcmUgZGVzdHJveWluZyB0aGUgZGV2aWNlCgoyMDE2LTAyLTA5IDE3OjQ2OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICBSZXZlcnQgInZ1bGthbjogcmVtb3ZlIHZpZXdzIGZyb20gdGhlIG1lbW9yeSBvYmplY3RzLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxZWE4MTcyOThlZTRkNWVmOWIwMGY4ODhmOGViZTE2YTg4OGIxMTUwLgoKMjAxNi0wMi0wOSAxNzozMToyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJwb29sLmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgdnVsa2FubWVtb3J5OiByZW1vdmUgYmluZCB2YXJpYW50cwoKMjAxNi0wMi0wOSAxNjoyMTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgdnVsa2FuOiByZW1vdmUgdmlld3MgZnJvbSB0aGUgbWVtb3J5IG9iamVjdHMuCgkgIFRoZXkgYXJlIG5vdCB1c2VkIGFuZCBpdCdzIG5vdCBwb3NzaWJsZSB0byBjcmVhdGUgdGhlIHZpZXcgYmVmb3JlIGJpbmRpbmcgdGhlCgkgIFZrRGV2aWNlTWVtb3J5IG9iamVjdCB0byB0aGVtLgoKMjAxNi0wMi0wOSAxMTozNDo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhbHBoYSBmbGFncyBhcmUgbm93IHN1cHBvcnRlZCBieSBMdW5hckcncyBkcml2ZXIKCjIwMTYtMDItMDkgMDA6MDc6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcnBvb2wuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcnBvb2wuaDoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJICB2dWxrYW46IGFkZCBhIHZ1bGthbmJ1ZmZlciBidWZmZXJwb29sCgoyMDE2LTAyLTA4IDIyOjQ5OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL2dzdHZ1bGthbi5jOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuaDoKCSAgdnVsa2FuOiBhZGQgdXBsb2FkIGVsZW1lbnQKCjIwMTYtMDItMDggMTg6Mjg6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJICB2a3V0aWxzOiBmaXggYXNzZXJ0IGludmVyc2lvbgoKMjAxNi0wMi0wOCAxODoyNzoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgdnVsa2FuOiBhZGQgY2FwcyBmZWF0dXJlIG5hbWVzIGZvciB0aGUgYnVmZmVyIGFuZCBpbWFnZSBtZW1vcmllcwoKMjAxNi0wMi0wOCAxNDo0NDoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5oOgoJICB2dWxrYW46IGFkZCBkZXZpY2UgdG8gaGFuZGxlX2NvbnRleHRfcXVlcnkKCjIwMTYtMDItMDggMTQ6MzI6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJICB2dWxrYW46IG1vdmUgaW5zdGFuY2Vfb3BlbiBpbnRvIHRoZSB1dGlsaXR5IGVuc3VyZV9lbGVtZW50X2RhdGEKCSAgU28gY2FsbGVycyBkb24ndCBoYXZlIHRvIHBlcmZvcm0gaXQgdGhlbXNlbHZlcy4KCjIwMTYtMDItMDggMTQ6MjU6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtpbnN0YW5jZTogYWRkIHNpZ25hbCBmb3Igb3ZlcnJpZGluZyBkZXZpY2UgY3JlYXRpb24KCjIwMTYtMDItMDggMTI6MjI6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmttYWNyb3MuaDoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogc2VwYXJhdGUgYWxsb2NhdGlvbiBhbmQgYmluZGluZyBvZiBtZW1vcnkKCjIwMTYtMDItMDggMTI6MTQ6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSAgdmtidWZmZXJtZW1vcnk6IGZvbGxvdyB0aGUgcmVzdCBvZiB0aGUgc3RydWN0IG1hY3JvcwoKMjAxNi0wMi0wNSAxOTozMTo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiB1c2UgYnVmZmVyIG1lbW9yeSB0byB1cGxvYWQgdmlkZW8gZnJhbWVzIHRvIHRoZSBHUFUKCjIwMTYtMDItMDUgMTk6MTg6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IGFkZCBhIGJ1ZmZlciBtZW1vcnkgYWxsb2NhdG9yCgkgIFdyYXBzIHRoZSBWa0J1ZmZlciBpbiBhIEdzdE1lbW9yeSBzdWJjbGFzcy4KCjIwMTYtMDItMDUgMTk6MTE6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmttZW1vcnkuaDoKCSAgdmttZW1vcnk6IGFsaWduIHN0cnVjdCBtZW1iZXJzIGluIHRoZSBoZWFkZXIKCjIwMTYtMDItMDUgMTk6MTA6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmttYWNyb3MuaDoKCSAgdmttYWNyb3M6IHVzZSBzcGVjaWZpYyBfSU5JVCBtYWNyb3MgdG8gaW5pdGlhbGl6ZSBzdHJ1Y3R1cmVzCgoyMDE2LTAyLTA1IDE5OjA5OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIHZraW1hZ2VtZW1vcnk6IGFkZCBnZXRfe3dpZHRoLGhlaWdodCkgZnVuY3Rpb25zCgoyMDE2LTAxLTI3IDE1OjIwOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92dWxrYW4vdmthcGkuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJICB2dWxrYW46IHVwZGF0ZSB0byByZWxlYXNlIDEuMC4xLjEKCjIwMTYtMDEtMjIgMTQ6MzQ6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJICB2dWxrYW4veGNiOiBmbHVzaCBhZnRlciBtYXBwaW5nIHRoZSB3aW5kb3cKCSAgT3RoZXJ3aXNlIHRoZSBtYXAgbWF5IG5vdCByZWFjaCB0aGUgc2VydmVyIGFuZCBub3QgYXBwZWFyLgoKMjAxNi0wMS0wNCAxNjo1MToyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBmaXggc2VtYXBob3JlIHVzYWdlCgoyMDE1LTEyLTMxIDE2OjM0OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJICB2dWxrYW46IGFkZCBzb21lIGRlYnVnZ2luZyBhYm91dCB0aGUgc3VwcG9ydGVkIGV4dGVuc2lvbnMKCjIwMTUtMTItMzEgMTU6NTg6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogZ2V0IHRoZSBmdW5jdGlvbiBwb2ludGVycyBmcm9tIHRoZSBjb3JyZWN0IG9iamVjdAoJICBHZXRQaHlzaWNhbERldmljZSogZnVuY3Rpb25zIGFyZSBpbnN0YW5jZSBmdW5jdGlvbnMgcmF0aGVyIHRoYW4gZGV2aWNlCgkgIGZ1bmN0aW9ucy4KCjIwMTUtMTItMzEgMTU6Mzg6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSAgdmtpbnN0YW5jZTogYWRkIHRoZSBuZWNlc3Nhcnkgd2luc3lzIGV4dGVuc2lvbgoKMjAxNS0xMi0zMSAxNTozNDo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSAgdmtkaXNwbGF5OiBmb3J3YXJkIGRlY2xhcmUgR3N0VnVsa2FuRGlzcGxheVR5cGUKCjIwMTUtMTItMzEgMTU6MzI6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmthcGkuaDoKCSAgdmthcGk6IHJlbW92ZSB1bm5lZWRlZCBoZWFkZXJzCgkgIHZrYXBpIGlzIGZvciBhY2Nlc3NpbmcgdGhlIHZ1bGthbiBoZWFkZXJzIHdpdGggdGhlIGNvcnJlY3QgZGVmaW5lcyBhcHBsaWVkIHNvCgkgIGRvZXNuJ3QgbmVlZCBhbnkgaW50ZXJhbCBoZWFkZXJzLgoKMjAxNS0xMi0zMCAxNToxNTo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IGZpeCB0aGUgbWVtb3J5IGJhcnJpZXIgYWNjZXNzIG1hc2tzCgkgIHNpbGVuY2VzIHRoZSBmb2xsb3dpbmcgd2FybmluZ3MgZnJvbSB0aGUgdmFsaWRhdGlvbiBsYXllcgoJICBBY2Nlc3NNYXNrIHh4eCBtdXN0IGhhdmUgcmVxdWlyZWQgYWNjZXNzIGJpdCB4eHggYW5kIG1heSBoYXZlIG9wdGlvbmFsIGJpdHMgMAoJICB3aGVuIGxheW91dCBpcyBWS19JTUFHRV9MQVlPVVRfVFJBTlNGRVJfe1NSQyxEU1R9X09QVElNQUwKCjIwMTUtMTItMzAgMTU6MTQ6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogb25seSB3YWl0IG9uIHRoZSBzZW1hcGhvcmUgb25jZQoJICBJdCdzIGludmFsaWQgdXNhZ2UgYW5kIHdlIG1heSBkZWFkbG9jawoKMjAxNS0xMi0zMSAwMToyNzo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZraW1hZ2VtZW1vcnk6IGluaXRpYWxpemUgZmxhZ3MgYW5kIGRvbid0IGNyYXNoIG9uIGVycm9ycwoKMjAxNS0xMi0zMCAxNDowNjowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuYzoKCSogZXh0L3Z1bGthbi92a2Vycm9yLmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2dWxrYW46IHVwZGF0ZSBlcnJvciBkYiBmb3IgMC4xMC4yCgoyMDE1LTEyLTI5IDE2OjA1OjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmthcGkuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a21hY3Jvcy5oOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuaDoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5oOgoJICB2dWxrYW46IHVwZGF0ZSB0byBTREsgMC4xMC4yCgoyMDE1LTEyLTA3IDE3OjMzOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkqIGV4dC92dWxrYW4vdmt1dGlsc19wcml2YXRlLmg6CgkgIHZ1bGthbjogaW1wbGVtZW50IEdzdENvbnRleHQgaGVscGVycwoJICBCYXNlZCBvZmYgbGliZ3N0Z2wncyBpbXBsZW1lbnRhdGlvbgoKMjAxNS0xMi0wNyAxNzoyMToxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a19md2QuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZrZGV2aWNlOiByZW1vdmUgZ3N0X3Z1bGthbl9kZXZpY2VfY2xvc2UoKQoJICBXaGVuIHNoYXJpbmcgdGhlIGRldmljZSBiZXR3ZWVuIG11bHRpcGxlIGVsZW1lbnRzL2FwcGxpY2F0aW9uLCB3ZSBuZWVkCgkgIHRvIHVzZSB0aCBlcmVmY291bnQgdG8ga25vdyB3aGVuIHRvIGNsb3NlIHRoZSBkZXZpY2UuCgoyMDE1LTEyLTA3IDE3OjAwOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZraW5zdGFuY2U6IHJlbW92ZSBnc3RfdnVsa2FuX2luc3RhbmNlX2Nsb3NlCgkgIFNoYXJpbmcgdGhlIGluc3RhbmNlIGFjcm9zcyBtdWx0aXBsZSBlbGVtZW50cy9hcHBsaWNhdGlvbiB3aWxsIHJlcXVpcmUKCSAgdXNpbmcgdGhlIHJlZmNvdW50IGluc3RlYWQgdG8ga25vdyB3aGVuIHRvIGNsb3NlIGFuZCBkZXN0cm95IHRoZSBpbnN0YW5jZS4KCjIwMTUtMTItMDcgMTY6NDY6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogcmVtb3ZlIG91dGRhdGVkIGNvbW1lbnQKCjIwMTUtMTItMDcgMTY6Mzk6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogYWx3YXlzIG1hdGNoIGxvY2svdW5sb2NrIG9mIHRoZSByZW5kZXIgbG9jawoJICBJZiBhIGRyYXcgZXZlbnQgY29tZXMgZnJvbSB0aGUgd2luc3lzIGJlZm9yZSB3ZSd2ZSByZW5kZXJlZCBhIGJ1ZmZlciB3ZSB3ZXJlCgkgIGRlYWRsb2NraW5nLgoKMjAxNS0xMi0wMiAxNzo1NDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSAgdmttZW1vcnk6IGRlYnVnIG91dHB1dCB0aGUgbWVtb3J5IHByb3BlcnRpZXMgcmVxdWVzdGVkCgoyMDE1LTEyLTAyIDE3OjE0OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdmtpbWFnZW1lbW9yeTogZG9uJ3QgbGVhayBHc3RNYXBJbmZvIGluIGZhaWx1cmUgY2FzZXMgb24gX21hcCgpCgoyMDE1LTEyLTAyIDE3OjEwOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2dWxrYW46IGRlLUM5OSBzdHJ1Y3QgZGVjbGFyYXRpb25zCgoyMDE1LTEyLTAxIDE4OjM3OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuaDoKCSogZXh0L3Z1bGthbi94Y2IveGNiX2V2ZW50X3NvdXJjZS5jOgoJICB2a3dpbmRvdy9zd2FwcGVyOiBpbXBsZW1lbnQgcmVkcmF3IGhhbmRsaW5nCgkgIG9ubHkgeGNiIGhhcyBiZWVuIGltcGxlbWVudGVkCgoyMDE1LTEyLTAxIDE2OjI4OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuaDoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2IveGNiX2V2ZW50X3NvdXJjZS5jOgoJICB2dWxrYW46IGltcGxlbWVudCBxdWl0dGluZyBhbmQgcmVzaXppbmcgdGhlIHdpbmRvdwoJICBBcyBiZWZvcmUsIG9ubHkgeGNiIGhhcyBiZWVuIGltcGxlbWVudGVkLgoKMjAxNS0xMC0yNCAxNzoyOTowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vLmdpdGlnbm9yZToKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi9nc3R2dWxrYW4uYzoKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a2Vycm9yLmM6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5jOgoJKiBleHQvdnVsa2FuL3ZrcXVldWUuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3NpbmsuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuaDoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5oOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93LmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuaDoKCSogZXh0L3Z1bGthbi94Y2IvTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5oOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmg6CgkqIGV4dC92dWxrYW4veGNiL3hjYl9ldmVudF9zb3VyY2UuYzoKCSogZXh0L3Z1bGthbi94Y2IveGNiX2V2ZW50X3NvdXJjZS5oOgoJICBuZXcgdnVsa2FuIGJhc2VkIHZpZGVvIHNpbmsKCSAgQ3VycmVudGx5IHhjYiBpcyB0aGUgb25seSB3aW5zeXMgdGhhdCBpcyBpbXBsZW1lbnRlZCBhbmQgdGhlcmUncyBubyByZWRyYXdzIGV0CgkgIGFsCgoyMDE2LTAyLTE2IDEyOjM4OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL2Nicl9zdHJlYW0ubXAzOgoJKiB0ZXN0cy9maWxlcy9zdHJlYW0ubXAyOgoJKiB0ZXN0cy9maWxlcy92YnJfc3RyZWFtLm1wMzoKCSAgdGVzdHM6IHJlbW92ZSB0ZXN0IGZpbGVzIG5vIGxvbmdlciBuZWVkZWQKCjIwMTYtMDItMTYgMTA6NDQ6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IG1vdmUgcGx1Z2luIGZyb20gLWJhZCB0byAtdWdseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5ODQ5CgoyMDE2LTAyLTE2IDE5OjU5OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSAgZ3RrKGdsKXNpbms6IHJlbW92ZSB0aGUgc2lnbmFsIGhhbmRsZXJzIG9uIGZpbmFsaXplCgkgIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgc2luayBlbGVtZW50IHdpbGwgYmUgZnJlZWQgYmVmb3JlIHRoZSB3aWRnZXQgaXMKCSAgZGVzdHJveWVkLiAgV2hlbiB0aGUgd2lkZ2V0IHdhcyBldmVudHVhbGx5IGRlc3Ryb3llZCwgaXQgd2FzIGF0dGVtcHRpbmcgdG8KCSAgYWNjZXNzIG1lbWJlciB2YXJpYWJsZXMgb2YgdGhlIGZyZWVkIHNpbmsgc3RydWN0IHdoaWNoIHJlc3VsdGVkIGluIHVuZGVmaW5lZAoJICBiZWhhdmlvdXIuCgkgIEZpeCBieSBkaXNjb25uZWN0aW5nIG91ciBzaWduYWwgb24gZmluYWxpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIwOTgKCjIwMTYtMDItMTYgMDg6NDg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogUmVtb3ZlIGxlZnRvdmVyIGdfcHJpbnRzCgkgIE9uZSB3YXMgY29tbWVudGVkIG91dCwgYnV0IHdlIGFsc28gZG9uJ3QgdXNlIC8vIGNvbW1lbnRzIDopCgoyMDE2LTAyLTE2IDE0OjQxOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGRlYnVnOiB1c2UgdGhlIGNvcnJlY3Qgc3BlbGxpbmcgZm9yIGJlaGF2aW9yCgkgIFRoZSBoZWFkZXJzIHVzZSB0aGUgYW1lcmljYW4gc3BlbGxpbmcgb2YgYmVoYXZpb3Igbm90IHRoZSBVSy9BVVMgdmVyc2lvbiB3aXRoCgkgIHRoZSBleHRyYSBVLgoKMjAxNi0wMi0xNiAxMzo1ODo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGNvbnRleHQ6IGRvbid0IGVuYWJsZSBHTCBkZWJ1ZyBmb3IgbWVzc2FnZXMgdGhhdCB3b24ndCBiZSBsb2dnZWQKCSAgVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gdG8gYXZvaWQgcG9pbnRsZXNzIHN0cmluZyBwcm9jZXNzaW5nLgoKMjAxNi0wMi0xNiAxMzowMToyMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSAgZ2x2aWRlb2ZsaXA6IGRvbid0IGlnbm9yZSBtZXRob2QgY2hhbmdlcyB3aGVuIGNhcHMgYXJlbid0IHNldCAoeWV0KQoKMjAxNi0wMi0xNiAwMDozMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBtb3ZlIFJUUCBILjI2NSBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTYwNgoKMjAxNS0xMC0wNyAyMzo0OTo1OCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9uZXRzaW0vTWFrZWZpbGUuYW06CgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmM6CgkqIGdzdC9uZXRzaW0vZ3N0bmV0c2ltLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZXRzaW0uYzoKCSAgbmV0c2ltOiBBZGQgbmV0c2ltIGVsZW1lbnQKCSAgUmVzdXJyZWN0ZWQgZnJvbSB0aGUgRmFyc3RyZWFtIHJlcG9zaXRvcnkgYW5kIGdpdmVuIGFuCgkgIG92ZXJoYXVsIHRvIGZpeCByYWNlcywgZGVhZGxvY2tzIGV0Yy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI1MgoKMjAxNS0xMS0yMCAxOTozODowMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBkYXNoZGVtdXg6IGdzdF9kYXNoX2RlbXV4X2dldF9saXZlX3NlZWtfcmFuZ2UgcmV0dXJucyBwb3NpdGl2ZSB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjM3NAoKMjAxNi0wMi0xMCAxMDozMToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsOiBzeW5jbWV0YTogZGVmaW5lIEdMX1RJTUVPVVRfSUdOT1JFRCBpbiBtb3JlIHBvcnRhYmxlIHdheQoKMjAxNi0wMi0xMCAxNjozNzoyMiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ3N0Z2xzaGFkZXI6IGNhY2hlIHVuaWZvcm0gbG9jYXRpb25zCgkgIEF2b2lkIHJlZHVuZGFudCBjYWxscyB0byBnbEdldFVuaWZvcm1Mb2NhdGlvbi4gVGhlIHJlc3VsdHMgY2FuIGJlIGNhY2hlZCBvbmNlCgkgIHRoZSBzaGFkZXIgaGFzIGJlZW4gbGlua2VkLgoKMjAxNi0wMi0xMCAxNTo0MDowMiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB2aWRlb3Rlc3R1cmVjYWNoZTogbGV0IENWT3BlbkdMRVNUZXh0dXJlQ2FjaGUgZmx1c2ggZXZlcnkgMXMKCSAgTGVhdmUga0NWT3BlbkdMRVNUZXh0dXJlQ2FjaGVNYXhpbXVtVGV4dHVyZUFnZUtleSB0byB0aGUgZGVmYXVsdCAoMXMpLiBXZSB1c2VkCgkgIHRvIHNldCBpdCB0byAwIGFuZCBmbHVzaCBtYW51YWxseSwgYnV0IGFwcGFyZW50bHkgKGxvb2tpbmcgYXQgdGhlIEdMRVMgcHJvZmlsZXIpCgkgIDAgbWVhbnMgImRpc2FibGUgdGhlIGNhY2hlIGVudGlyZWx5Ii4KCjIwMTYtMDItMTAgMTM6MDg6NDMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnc3RnbGNvbnRleHQ6IG1pY3JvIG9wdGltaXphdGlvbiB0byBnc3RfZ2xfY29udGV4dF90aHJlYWRfYWRkCgkgIEludm9rZSB0aGUgY2FsbGJhY2sgcmlnaHQgYXdheSB3aGVuIGNhbGxlZCBvbiB0aGUgY29udGV4dCB0aHJlYWQuIFJlbW92ZXMKCSAgb3ZlcmhlYWQgd2hlbiBuZXN0aW5nIGxpYmdzdGdsIGNhbGxzIChmb3IgZXhhbXBsZSB3aGVuIHdvcmtpbmcgd2l0aCB0aGUgc3luYwoJICBtZXRhKS4KCjIwMTYtMDEtMDYgMjE6Mzk6MDAgKzAwMDAgIEp1bGllbiBNT1VUVEUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSAgcnRwbXNpbms6IEltcGxlbWVudCBzZXRjYXBzIHRoYXQgdXNlcyBzdHJlYW1oZWFkZXIKCSAgVGhpcyBhbGxvdyBhZGRpbmcgcnRtcHNpbmsgYWZ0ZXIgdGhlIGZsdiBzdHJlYW1pbmcgaGF2ZSBzdGFydGVkLiBPdGhlcndpc2UsCgkgIEZMViBzdHJlYW1oZWFkZXIgaXMgbmV2ZXIgc2VudCB0byB0aGUgc2VydmVyLCB3aGljaCBjYW5ub3QgZmlndXJlLW91dAoJICB3aGF0IGlzIHRoaXMgc3RyZWFtIGFib3V0LiBJdCBzaG91bGQgYWxzbyBoZWxwIGluIGNlcnRhaW4gcmVuZWdvdGlhdGlvbgoJICBmaWd1cmVzLiBUaGUgc2luayB3aWxsIG5vIGxvbmdlciB3b3JrIHdpdGhvdXQgYW4gc3RyZWFtaGVhZGVyIGluIGNhcHMsCgkgIHRob3VnaCB0aGVyZSBpcyBubyBrbm93biBpbXBsZW1lbnRhdGlvbiBvZiBmbHZkZW11eCB0aGF0IGRvZXMgbm90CgkgIHN1cHBvcnQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI0MgoKMjAxNi0wMi0wOSAyMTozNToxOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBzdHJlYW0tPmN1cnJlbnRfZnJhZ21lbnQgaGFzIHRoZSB2YWx1ZSBvZiBnX2xpc3RfcHJldmlvdXMgKGl0ZXIpIHdoaWNoIGhhcwoJICBqdXN0IGJlZW4gY2hlY2tlZC4gTm8gbmVlZCB0byBjaGVjayBpdCBhZ2Fpbi4KCSAgSnVzdCB0byBiZSBzYWZlLCB1c2UgYSBnX2Fzc2VydCgpIHRvIGNoZWNrIGZyYWdtZW50IGJlZm9yZSBkZXJlZmVyZW5jaW5nLgoJICBDSUQgIzEzNTIwNDEKCjIwMTYtMDItMDkgMTc6MjQ6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHBsdWcgbXBkIGNsaWVudCBsZWFrCgkgIE9uIHBhcnNpbmcgZXJyb3IsIGZyZWUgdGhlIG1wZCBjbGllbnQgb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAxMjAKCjIwMTYtMDEtMDQgMTI6MTI6NDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9kYXNoX2RlbXV4X3VwZGF0ZV9tYW5pZmVzdF9kYXRhCgkgIG5ld19jbGllbnQgbG9jYWwgdmFyaWFibGUgd2FzIG5vdCBmcmVlZCBpbiBjYXNlIG9mIGVycm9ycy4KCSAgQWxzbywgdGhlIGJ1ZmZlciBpcyBub3QgdW5tYXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAxMjAKCjIwMTUtMTEtMTAgMjI6MDE6MzggKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiByZW5hbWVkIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X2VuZF90aW1lIHRvIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X3N0YXJ0X3RpbWUKCSAgVGhlIGZ1bmN0aW9uIGFjdHVhbGx5IHJldHVybnMgdGhlIHNlZ21lbnQgYXZhaWxhYmlsaXR5IHN0YXJ0IHRpbWUgKGFzIGRlZmluZWQgYnkgdGhlIHN0YW5kYXJkKS4KCSAgVGhhdCBpcyBhdCB0aGUgZW5kIG9mIHRoZSBzZWdtZW50LCBidXQgaXQgaXMgY2FsbGVkIGF2YWlsYWJpbGl0eSBzdGFydCB0aW1lLgoJICBBdmFpbGFiaWxpdHkgZW5kIHRpbWUgaXMgc29tZXRoaW5nIGVsc2UgKHRoZSB0aW1lIHdoZW4gdGhlIHNlZ21lbnQgaXMgbm8gbG9uZ2VyCgkgIGF2YWlsYWJsZSBvbiB0aGUgc2VydmVyKS4gVGhlIGZ1bmN0aW9uIG5hbWUgd2FzIG1pc2xlYWRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2NTUKCjIwMTUtMTEtMTAgMjI6MDA6NTggKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogY29ycmVjdGVkIGdldHRpbmcgc2VnbWVudCBhdmFpbGFiaWxpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY1NQoKMjAxNS0xMS0xOSAxNTozMDozNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHRlc3RzOiBhZGRlZCB1bml0IHRlc3QgZm9yIGdldHRpbmcgc2VnbWVudCBhdmFpbGFiaWxpdHkgd2hlbiBzZWdtZW50IHRpbWVsaW5lIGlzIHVzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY1NQoKMjAxNi0wMS0wNyAxMjo1MDowNiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSAgYWRhcHRpdmVfZGVtdXg6IHRlc3RzOiBpbXByb3ZlZCB2YWxpZGF0aW9uIG9mIHBhZHMKCSAgV2hlbiByZW1vdmluZyBhIHBhZCwgdGhlIG9uX2RlbXV4UGFkUmVtb3ZlZCBmdW5jdGlvbiBtdXN0IGZpbmQgYSBzdHJlYW0KCSAgZm9yIHRoYXQgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMzI4CgoyMDE2LTAxLTA3IDEyOjQ4OjEyICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJICBhZGFwdGl2ZV9kZW11eDogdGVzdHM6IGZpeCBwYWQgdXNlZCBmb3IgQXBwU2luayBldmVudAoJICBvbl9kZW11eE5ld1BhZCByZWdpc3RlcmVkIHRoZSBvbl9hcHBzaW5rX2V2ZW50IGNhbGxiYWNrIG9uIGEgd3JvbmcgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMzI4CgoyMDE2LTAxLTA4IDE2OjI1OjEyICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IHJlbW92ZSB1bnVzZWQgZGVtdXhfc2VudF9lb3MgY2FsbGJhY2sKCSAgVGhlIGRlbXV4X3NlbnRfZW9zIGNhbGxiYWNrIGlzIHVudXNlZCBpbiB0ZXN0cy4gSXQgd2FzIGFsc28gcmVnaXN0ZXJlZCBvbgoJICBhIHdyb25nIHBhZCwgc28gaXQgYWN0dWFsbHkgdHJpZ2dlcmVkIHdoZW4gZGVtdXggcmVjZWl2ZWQgZW9zIGZyb20gYQoJICBmcmFnbWVudCBkb3dubG9hZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDMyOAoKMjAxNi0wMS0wOCAxODoxNzoyMSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiByZW1vdmUgdW5uZWVkZWQgeW91dHViZSB4bWxucyBmcm9tIG1hbmlmZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMzI4CgoyMDE2LTAyLTA5IDE0OjA3OjU0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBpbXBsZW1lbnQgR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCjIwMTYtMDItMDkgMTQ6MDQ6MDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHVwZGF0ZSBjb3B5cmlnaHQKCjIwMTYtMDItMDkgMTM6NDI6NDggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGltcGxlbWVudCBHc3RFbGVtZW50OjpzZXRfY29udGV4dAoJICBOZWVkZWQgdG8gcHJvcGVybHkgaGFuZGxlIGdzdC5nbC5hcHBfY29udGV4dChzKS4KCjIwMTYtMDItMDkgMTM6Mzk6MTggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGFkZCBteXNlbGYgdG8gdGhlIGNvcHlyaWdodCBob2xkZXJzCgoyMDE2LTAyLTA5IDEzOjU2OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICBnbDogdXBkYXRlIHdpbjMyIC5kZWYgZmlsZQoKMjAxNi0wMi0wOSAxMzowODoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBmb3IgR0xfVElNRU9VVF9JR05PUkVECgoyMDE2LTAyLTA5IDEyOjE0OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgZ2xzeW5jbWV0YTogc2VwYXJhdGUgb3V0IGdwdS9jcHUgd2FpdHMuCgkgIENQVSB3YWl0cyBhcmUgbW9yZSBleHBlbnNpdmUgYW5kIGFyZSBvbmx5IHJlcXVpcmVkIGlmIHRoZSBDUFUgaXMgZXZlciBnb2luZyB0bwoJICBhY2Nlc3MgdGhlIGRhdGEuIEdQVSB3YWl0cyBwZXJmb3JtIGludGVyLWNvbnRleHQgc3luY2hyb25pc2F0aW9uIGFuZCBhcmUgY2hlYXBlcgoJICBhcyB0aGV5IGRvbid0IHJlcXVpcmUgQ1BVIGludGVydmVudGlvbi4KCjIwMTYtMDItMDggMjM6MTc6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBvdmVyd3JpdHRlbiB2YWx1ZQoJICByZXQgaXMgb3ZlcndpdHRlbiBiZWZvcmUgdXNlZCB3aXRoIHRoZSByZXR1cm4gb2YgdGhlIHN1YmNsYXNzIHNlZWsuCgkgIENJRCAjMTM1MjA0NAoKMjAxNi0wMi0wOCAxNTowMDozNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogcmVtb3ZlIGNvbW1lbnRlZCBvdXQgaW5jbHVkZQoJICBDb21taXQgMjExODI4OTc5YjhjMTBhYmYzYzc0ZDk2NGJjNjk4ZGJkYTRkNDk3ZCByZW1vdmVkIHJzbmF1ZGlvbXVuZ2UsCgkgIG5vIG5lZWQgZm9yIHRoaXMgY29tbWVudGVkIG91dCBpbmNsdWRlIGZvciBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0CgkgIGFueW1vcmUuCgoyMDE2LTAyLTA4IDE0OjI2OjQ2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBSZXZlcnQgInJlc2luZHZkOiBnZXQgcmlkIG9mIF9zdGRpbnQuaCBpbmNsdWRlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBlZmY2ZTE5OTFjYjI0Y2I2NWYwN2M0ODE3NDI3ODJhY2FhOGVjNjIuCgkgIEJyZWFrcyB0aGUgYnVpbGQgd2hlbiBsaW5raW5nIHdpdGggZHZkbmF2LmgKCjIwMTYtMDItMDggMTM6NDM6MjIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmg6CgkgIHgyNjVlbmM6IGdldCByaWQgb2YgX3N0ZGludC5oIGluY2x1ZGUKCSAgSXQgd2FzIG5ldmVyIG5lZWRlZCBzaW5jZSBpdCBkb2Vzbid0IHVzZSBhbnkgc3RhbmRhcmQgaW50ZWdlciBmaXhlZCB3aWR0aAoJICB0eXBlcy4gT25seSB0aGUgR2xpYiB0eXBlcy4KCjIwMTYtMDItMDggMTM6MzI6NDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBnZXQgcmlkIG9mIF9zdGRpbnQuaCBpbmNsdWRlCgoyMDE2LTAyLTA4IDEyOjQ0OjUzICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTcwNAoKMjAxNi0wMi0wOCAxMjoyMzoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJICBnbGVmZmVjdHM6IGlkZW50aXR5OiBhZGQgdGhlIHNoYWRlciB0byB0aGUgaGFzaCB0YWJsZQoJICBTbyB0aGF0IHdlIGRvbid0IHJlY3JlYXRlIGl0IGV2ZXJ5IGZyYW1lIGFuZCBsZWFrIG1lbW9yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTU3OAoKMjAxNi0wMi0wNSAyMDowMjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBleHRlbmQgdGhlIEFNX1RFU1RTX0VOVklST05NRU5UIGZyb20gY2hlY2subWFrCgkgIFRvIGdldCB0aGUgQ0tfREVGQVVMVF9USU1FT1VUIGRlZmluZWQgZm9yIGFsbCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDcyCgoyMDE2LTAyLTA1IDE4OjA2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTk3YzliYiB0byBiNjRmMDNmCgoyMDE2LTAyLTA1IDE1OjM0OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgZ3N0cnRwaDI2NWRlcGF5OiBrZWVwIGNvbnNpc3RlbmN5IHdpdGggcnRwaDI2NGRlcGF5CgkgIFVzZSBnc3RfcnRwX2Ryb3BfbWV0YSgpIGFuZCB0aGUgc2FtZSBmdW5jdGlvbiBwcm90b3R5cGUgZm9yCgkgIGdzdF9ydHBfY29weV9tZXRhKCkgdG8ga2VlcCBjb25zaXN0ZW5jeSB3aXRoIHRoZSBSVFAgZWxlbWVudHMgaW4KCSAgZ3N0LXBsdWdpbnMtZ29vZAoKMjAxNi0wMi0wNSAyMTozMzozOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogVXNlIGdsaWIgQ0xBTVAoKSBpbnN0ZWFkIG9mIG91ciBvd24gbWFjcm8KCjIwMTYtMDItMDUgMTM6NTY6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGZpeCB0ZXJtaW5hdGlvbiBvZiBhY2Nlc3MgdW5pdAoJICBPbmx5IGNvbnNpZGVyIHRoZSBhY2Nlc3MgdW5pdCBjb21wbGV0ZSB3aGVuIHRoZSBuZXh0LW9jY3VycmluZyBWQ0wgTkFMIHVuaXQKCSAgaGFzIHRoZSBmaXJzdCBiaXQgYWZ0ZXIgaXRzIE5BTCB1bml0IGhlYWRlciBlcXVhbCB0byAxLgoKMjAxNi0wMi0wMiAxMzo1MDoyNSArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBVcGRhdGUgcG9zaXRpb24gaW4gc3RyZWFtLT5zZWdtZW50IGZvciBuZXcgc3RyZWFtIHNlZ21lbnQgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTQ1OAoKMjAxNi0wMi0wNSAxNTo0MzoyMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogTGltaXQgcGVyaW9kIHNpemUgYW5kIGNvdW50IHRvIHdoYXQgdGhlIGgvdyBwZXJtaXRzCgoyMDE2LTAyLTA1IDEwOjQzOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdGdsLmRlZjoKCSAgZ2w6IGFkZCAuZGVmIGZpbGUgZm9yIG1zdmMgYnVpbGRzCgkgIEFsc28gaW50ZXJuYWxpemUgc29tZSBBUEkgZnJvbSBiZWluZyBleHBvcnRlZC4KCjIwMTYtMDItMDIgMTc6MDI6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tc3NkZW11eC5jOgoJICB0ZXN0czogbXNzZGVtdXg6IGFkZCB1bml0IHRlc3RzCgkgIEFkZHMgdW5pdCB0ZXN0cyBzaW1pbGFyIHRvIHRoZSBvbmVzIHRoYXQgd2UgaGF2ZSBmb3IgREFTSCBhbmQgSExTLgoJICBUZXN0czoKCSAgKiBtYW5pZmVzdCBwYXJzaW5nIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseQoJICAqIHNvbWUgcXVlcmllcyAoZHVyYXRpb24sIHNlZWthYmxlLCBsYXRlbmN5KQoJICAqIHNlZWtpbmcgd2l0aCB2YXJpb3VzIHZhbHVlcyBhbmQgZmxhZ3MKCjIwMTYtMDItMDIgMTY6NTQ6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBpbXBsZW1lbnQgc25hcCBzZWVraW5nCgkgIEltcGxlbWVudCBzbmFwIHNlZWsgZmxhZ3MgaGFuZGxpbmcgaW4gc3RyZWFtX3NlZWsgdG8gYWxsb3cgdGhlCgkgIHBhcmVudCBjbGFzcyB0byBoYW5kbGUgaXQgZm9yIHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxNTgKCjIwMTYtMDItMDIgMTY6NTE6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVzZSBjb3JyZWN0IHNlZWsgcG9zaXRpb24gb24gcmV2ZXJzZSBzZWVrcwoJICBPdGhlcndpc2UgaXQgd2FzIGFsd2F5cyB1c2luZyB0aGUgJ3N0YXJ0JyB2YWx1ZSwgbGVhZGluZyB0byB3cm9uZwoJICBiZWhhdmlvcgoKMjAxNi0wMi0wMiAxMTozMDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogb25seSB1cGRhdGUgZG93bmxvYWQgcG9zaXRpb24gaWYgdGhlIHNlZWsgcmVxdWVzdHMgdG8KCSAgU29tZSBzZWVrcyBhcmUgb25seSB1cGRhdGluZyB0aGUgc3RvcCBwb3NpdGlvbiwgdGhlcmUgaXMgbm8gbmVlZAoJICB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgZG93bmxvYWRpbmcgcG9zaXRpb24uCgoyMDE2LTAyLTAyIDA5OjUyOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgYXNzZXJ0IG9uIGZyYWdtZW50IHJlbG9hZHMgZm9yIG5vbi1saXZlCgkgIEl0IGNhbiBiZSB1c2VkIGFzIGEgcmVzb3VyY2UgdG8gdmVyaWZ5IGlmIHRoZSBzZXJ2ZXIgaGFzIHVwZGF0ZWQKCSAgc29tZXRoaW5nIGluIHRoZSBNYW5pZmVzdCB3aGVuIGRvd25sb2FkcyBhcmUgZmFpbGluZwoKMjAxNi0wMS0yNyAxMDo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdGVzdHMgZm9yIHNuYXAgZmxhZ3Mgc2Vla2luZwoJICBTaW1pbGFyIHRvIEhMUyBidXQgREFTSCBoYXMgdGhlIGV4dHJhIGlzc3VlIHRoYXQgaXQgY2FuIGhhdmUKCSAgbXVsdGlwbGUgc3RyZWFtcyBzbyBzbmFwcGluZyBjYW4gYmUgdHJpY2t5IGFzIHN0cmVhbXMgdXN1YWxseQoJICB3b24ndCBiZSBhbGlnbmVkLgoJICBGb3Igbm93LCB0aG9zZSB0ZXN0cyBoYW5kbGUgdGhlIGNhc2Ugb2Ygb25seSBoYXZpbmcgYSBzaW5nbGUKCSAgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTU4CgoyMDE2LTAyLTAxIDEwOjQ5OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHNuYXAgc2VlayBoYW5kbGluZwoJICBIYW5kbGUgc25hcCBzZWVraW5nIGF0IHRoZSBzdHJlYW1fc2VlayBtZXRob2QgYW5kIGxldCBzdXBlcmNsYXNzCgkgIGRvIHRoZSByZXN0IHRvIHN1cHBvcnQgc25hcCBzZWVraW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxNTgKCjIwMTYtMDEtMjcgMTM6MzE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBoYW5kbGUgc25hcCBzZWVrcwoJICBBZGFwdGl2ZSBkZW11eGVycyBuZWVkIHRvIHN0YXJ0IGRvd25sb2FkaW5nIGZyb20gc3BlY2lmaWMgcG9zaXRpb25zCgkgIChmcmFnbWVudHMpIGZvciBldmVyeSBzdHJlYW0sIHRoaXMgbWVhbnMgdGhhdCBhbGwgc3RyZWFtcyBjYW4gc25hcC1zZWVrCgkgIHRvIGEgZGlmZmVyZW50IHBvc2l0aW9uIHdoZW4gcmVxdWVzdGVkLiBTbmFwIHNlZWtpbmcgaW4gdGhpcyBjYXNlIHdpbGwKCSAgYmUgZG9uZSBpbiAyIHN0ZXBzOgoJICAxKSBkbyB0aGUgc25hcCBzZWVraW5nIG9uIHRoZSBwYWQgdGhhdCByZWNlaXZlZCB0aGUgc2VlayBldmVudCBhbmQKCSAgZ2V0IHRoZSBmaW5hbCBwb3NpdGlvbgoJICAyKSB1c2UgdGhpcyBwb3NpdGlvbiB0byBkbyBhIHJlZ3VsYXIgc2VlayBvbiB0aGUgb3RoZXIgc3RyZWFtcyB0bwoJICBtYWtlIHN1cmUgdGhleSBhbGwgc3RhcnQgZnJvbSB0aGUgc2FtZSBwb3NpdGlvbgoJICBNb3JlIGFyZ3VtZW50cyB3ZXJlIGFkZGVkIHRvIHRoZSBzdHJlYW1fc2VlayBmdW5jdGlvbiwgYWxsb3dpbmcgYmV0dGVyIGNvbnRyb2wKCSAgb2YgaG93IHNlZWtpbmcgaXMgZG9uZS4gS25vd2luZyB0aGUgZmxhZ3MgYW5kIHRoZSBwbGF5YmFjayBkaXJlY3Rpb24gYWxsb3dzCgkgIHN1YmNsYXNzZXMgdG8gaGFuZGxlIHNuYXAtc2Vla2luZy4KCSAgQW5kIGFsc28gYWRkcyBhIG5ldyByZXR1cm4gcGFyYW1ldGVyIHRvIGluZm9ybSBvZiB0aGUgZmluYWwKCSAgc2VsZWN0ZWQgc2Vla2luZyBwb3NpdGlvbiB0aGF0IGlzIHVzZWQgdG8gYWxpZ24gdGhlIG90aGVyIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxNTgKCjIwMTYtMDEtMjYgMjM6NDM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgdXRpbGl0eSBmdW5jdGlvbiB0byBnZXQgc3RyZWFtIGZyb20gcGFkCgkgIFNpbXBsaWZpZXMgdGhlIGNvZGUgYSBiaXQgYW5kIGF2b2lkIHJlcGVhdGluZyB0aGlzCgkgIGNvbW1vbiBvcGVyYXRpb24KCjIwMTYtMDItMDQgMTI6NTA6NDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSB1bnVzZWQgbXZpZXdfbW9kZSB2YWx1ZQoJICBTaW5jZSBjb21taXQgYjc3ZjhlMTcyYTNmMGJlNmJlNWNiNGE3MmU2NTQyNTM0MDRlNjk0ZiB0aGUgbmV3IHZhbHVlCgkgIGFzc2lnbmVkIHRvIG12aWV3X21vZGUgaGFzbid0IGJlZW4gdXNlZC4gVGhhdCBjb21taXQgY2hhbmdlZCB0aGUgZm9sbG93aW5nCgkgICJpZiIgY2hlY2sgdG8gYW4gImVsc2UgaWYiLCB3aGljaCBtZWFucyB0aGUgb3JpZ2luYWwgdmFsdWUgb2YgbXZpZXdfbW9kZQoJICBpcyB1c2VkLgoKMjAxNi0wMi0wNCAxMjoxNzozMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5LmM6CgkgIGdscXVlcnk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBwb2ludGVyIGNoZWNrCgkgIEFsbCB1c2VzIG9mIHF1ZXJ5LT5jb250ZXh0IGluIGdzdGdscXVlcnkuYyBhc3N1bWUgaXQgZXhpc3RzLiBXZSBjYW4gYXNzdW1lCgkgIHRoaXMgYXMgd2VsbCBiZWZvcmUgdW5yZWZpbmcgaXQuIEZ1cnRoZXJtb3JlLCBnc3Rfb2JqZWN0X3VucmVmKCkgd2lsbCBqdXN0CgkgIHNpbGVudGx5IHJldHVybiBpZiBpdCBldmVyIHdlcmUgdG8gbm90IGV4aXN0LgoKMjAxNi0wMi0wNCAxODoxNTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBhdm9pZCBzZW5kaW5nIHVubmVjZXNzYXJ5IGRvd25zdHJlYW0gY2FwcyBxdWVyaWVzL2V2ZW50cwoJICBoMjY1IHZlcnNpb25zIG9mIHRoZSBmb2xsb3dpbmcgY29tbWl0czoKCSAgZjM1MjY5MWEwNDg5NmQwZGUzMzgxZmU4ZWU4NWFkYTk0OGJkNjMzNwoJICB0cnkgdGhlIGN1cnJlbnQgY2FwcyBiZWZvcmUgcXVlcnlpbmcgZG93bnN0cmVhbQoJICA3MmJjN2Q3ZjczNmExMDExN2ZlZGI4ZTFkNDAxM2E0OTQ2Y2ZlZmJjCgkgIGluY3JlYXNlIGNhcHMgZXF1YWxpdHkgY2hlY2sgZm9yIG5vIGNvZGVjX2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNjozNjoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpbmNyZWFzZSBjYXBzIGVxdWFsaXR5IGNoZWNrIGZvciBubyBjb2RlY19kYXRhCgkgIFdoZW4gY29udmVydGluZyBmcm9tIGF2YyB0byBieXRlLXN0cmVhbSwgdGhlcmUgd2lsbCBub3QgYmUgYW55IGNvZGVjX2RhdGEKCSAgaW4gdGhlIHNyYyBjYXBzLiAgUmVtb3ZlIGl0IGJlZm9yZSB0aGUgZXF1YWxpdHkgY2hlY2sgdG8gYXZvaWQgc2VuZGluZyBjYXBzCgkgIGV2ZW50cyBkb3duc3RyZWFtIG9uIGV2ZXJ5IFNQUy9QUFMgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE1OjM0OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHRyeSB0aGUgY3VycmVudCBjYXBzIGJlZm9yZSBxdWVyeWluZyBkb3duc3RyZWFtCgkgIElmIHdlIGhhdmUgYSBzdHJlYW0gdGhhdCBjb250YWlucyBhbiB1bmNoYW5naW5nIFNQUy9QUFMgZm9yIGV2ZXJ5IHZpZGVvIGZyYW1lLAoJICB3ZSBkb24ndCBuZWVkIHRvIHRvIGNvbnN0YW50bHkgcXVlcnkgZG93bnN0cmVhbSBmb3IgaXQncyBzdXBwb3J0ZWQgY2FwcyBpZiB0aGUKCSAgY3VycmVudCBjYXBzIGFyZSBjb21wYXRpYmxlIHdpdGggdGhlIG5lZ290aWF0ZWQgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNzozMTowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IGVuYWJsZSBxb3MgYnkgZGVmYXVsdAoJICBJbXByb3ZlcyB0aGUgcmVzcG9uc2l2ZW5lc3Mgb2YgdGhlIHBpcGVsaW5lIHdoZW4gcmVzb3VyY2VzIGFyZSBjbG9zZS9hYm92ZSB0aGUKCSAgbGltaXRhdGlvbnMgb2YgdGhlIGhhcmR3YXJlLgoJICBBbnkgc3ViY2xhc3MgdGhhdCB3aXNoZXMgbm90IHRvIGVuYWJsZSBxb3MgY2FuIGRvIHNvIHRoZW1zZWx2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE1MTkKCjIwMTYtMDItMDQgMTU6MTE6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IHBhc3MgdGhlIGNvcnJlY3QgdGltZSB2YWx1ZSB0byB3YWl0X2Zvcl9zeW5jCgkgIFdoZW4gd2UgYXJlIG5vdCB3YWl0aW5nLCB3ZSBuZWVkIHRvIHBhc3MgLTEgdG8gc2lnbmFsIHRoYXQgd2UganVzdCB3YW50IHRvIGNoZWNrCgkgIHRoYXQgdGhlIGZyYW1lIHdhcy9uJ3QgcmVuZGVyZWQuICBBdm9pZHMgd2FpdGluZyBmb3IgZnJhbWVzIHRoYXQgd2lsbCBuZXZlciBiZQoJICByZW5kZXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMi0wNCAxNTowNzo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogYWR2YW5jZSB0aGUgcmVhZHkgY291bnRlciBvdXJzZWx2ZXMgd2hlbiByZW5kZXI9RkFMU0UKCSAgV2hlbiBub3QgcmVuZGVyaW5nIHRoZSB2aWRlbyBmcmFtZSwgZS5nLiB3aGVuIGZyZWVpbmcgYW4gdW5yZWxlYXNlZCBzeW5jIGZyYW1lLAoJICB3ZSB3aWxsIG5vdCByZWNlaXZlIGEgZnJhbWUgbGlzdGVuZXIgY2FsbGJhY2suCgkgIFJlZHVjZXMgdGhlIGFtb3VudCBvZiAnb25fZnJhbWVfYXZhaWxhYmxlIG1pc3MgZGV0ZWN0ZWQnIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcKCSAgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE0OjI1OjEyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRml4IGRpc2NvbnQgdHJhY2tpbmcKCSAgRG9uJ3QgcmVzZXQgdGhlIG1hcmtlciB0aGF0J3MgdHJhY2tpbmcgZGlzY29udHMgdW50aWwKCSAgZWl0aGVyIHRoZSBkaXNjb250IGRpc2FwcGVhcnMgb3Igd2UgcmVzeW5jLgoKMjAxNi0wMi0wMyAyMToyMjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2JzZC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfaXJpeC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfc29sYXJpcy5oOgoJICBSZW1vdmUgYW5jaWVudCBhbmQgZGVhZCBjZHJvbSBjb250cm9sIHBsdWdpbgoJICBUaGlzIHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgSSBkb24ndCB0aGluawoJICBpdCdzIHBhcnRpY3VsYXJseSB1c2VmdWwsIHNpbmNlIGl0J3MganVzdCBhIGNvbnRyb2wKCSAgaW50ZXJmYWNlIHJlYWxseS4gTGV0J3MgcmVtb3ZlIGl0LgoKMjAxNi0wMi0wMyAyMToxNjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGRvY3M6IHJlbW92ZSBzb21lIGxlZnRvdmVyICdTaW5jZSAwLjEwLngnIG1hcmtlcnMKCjIwMTYtMDItMDMgMjE6MTM6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy8uZ2l0aWdub3JlOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlscy1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGRlYnVndXRpbHM6IHVzZSBnZW5lcmljIG1hcnNoYWxsZXIKCjIwMTYtMDItMDMgMTY6Mjg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzOiBmaXggRkVDCgkgIEZFQyBtYXkgb25seSBiZSB1c2VkIHdoZW4gUExDIGlzIGVuYWJsZWQgb24gdGhlIGF1ZGlvIGRlY29kZXIsCgkgIGFzIGl0IHJlbGllcyBvbiBlbXB0eSBidWZmZXJzIHRvIGdlbmVyYXRlIGF1ZGlvIGZyb20gdGhlIG5leHQKCSAgYnVmZmVyLiBIb29raW5nIHRvIHRoZSBnYXAgZXZlbnRzIGRvZXNuJ3Qgd29yayBhcyB0aGUgYXVkaW8KCSAgZGVjb2RlciBkb2VzIG5vdCBsaWtlIG1vcmUgYnVmZmVycyBvdXRwdXQgdGhhbiBpdCBzZW5kcy4KCSAgVGhlIGxlbmd0aCBvZiBkYXRhIHRvIGdlbmVyYXRlIHVzaW5nIEZFQyBmcm9tIHRoZSBuZXh0IHBhY2tldAoJICBpcyBkZXRlcm1pbmVkIGJ5IHJvdW5kaW5nIHRoZSBnYXAgZHVyYXRpb24gdG8gbmVhcmVzdC4gVGhpcwoJICBlbnN1cmVzIHRoYXQgZHVyYXRpb24gaW1wcmVjaXNpb24gZG9lcyBub3QgY2F1c2UgcXVhbnRpemF0aW9uCgkgIHRvIDIuNSBtaWxsaXNlY29uZHMgbGVzcyB0aGFuIGF2YWlsYWJsZS4gRG9pbmcgc28gY2F1c2VzIHRoZQoJICBPcHVzIEFQSSB0byBmYWlsIGRlY29kaW5nLiBTdWNoIGR1cmF0aW9uIGltcHJlY2lzaW9uIGlzIGNvbW1vbgoJICBpbiBsaXZlIGNhc2VzLgoJICBUaGUgYnVmZmVyIHRvIGNvbnNpZGVyIHdoZW4gZGV0ZXJtaW5pbmcgdGhlIGxlbmd0aCBvZiBhdWRpbwoJICB0byBiZSBkZWNvZGVkIGlzIHRoZSBwcmV2aW91cyBidWZmZXIgd2hlbiB1c2luZyBGRUMsIGFuZCB0aGUKCSAgbmV3IGJ1ZmZlciBvdGhlcndpc2UuIEluIHRoZSBGRUMgY2FzZSwgdGhpcyBtZWFucyB3ZSBkZXRlcm1pbmUKCSAgdGhlIGFtb3VudCBvZiBhdWRpbyBmcm9tIHRoZSBwcmV2aW91cyBidWZmZXIsIHdoZXRoZXIgaXQgd2FzCgkgIG1pc3Npbmcgb3Igbm90IChhbmQgZ2V0IHRoZSBkYXRhIGVpdGhlciBmcm9tIHRoaXMgYnVmZmVyLCBvcgoJICB0aGUgY3VycmVudCBvbmUgaWYgdGhlIHByZXZpb3VzIG9uZSB3YXMgbWlzc2luZykuCgoyMDE2LTAyLTAzIDEwOjU5OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiByZWNvbmZpZ3VyZSB0aGUgc3JjIHdoZW4gY2hhbmdpbmcgdG8vZnJvbSBwYXNzdGhyb3VnaAoJICBPdGhlcndpc2UgaXQncyB2ZXJ5IHBvc3NpYmxlIHRoYXQgYW55IEdMIHJlc291cmNlcyBoYXZlIG5vdCBiZWVuIGNyZWF0ZWQgeWV0LgoKMjAxNi0wMi0wMyAxMDo1MjowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5oOgoJICBnbHZpZGVvZmxpcDogY29ycmVjdGx5IHVwZGF0ZSB0aGUgb3V0cHV0IGNhcHMgb24gbWV0aG9kIGNoYW5nZXMKCSAgV2hlbiBjaGFuZ2luZyBtZXRob2RzIHdlIG1heSBuZWVkIGRpZmZlcmVudCBvdXRwdXQgY2Fwcy4KCjIwMTYtMDItMDIgMTE6MjA6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBmaXggdGluYWxzYSB0eXBvCgoyMDE2LTAyLTAyIDExOjA2OjUyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogZml4IHNhbXBsZSBsYXVuY2ggbGluZQoKMjAxNi0wMi0wMiAxNDo0NjozMCArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSAgbGliczogcGxheWVyOiB1c2UgY29uZmlndXJlZCBHU1RfUEtHX0NPTkZJR19QQVRIIHdoZW4gaW52b2tpbmcgdGhlIGludHJvc3BlY3Rpb24gc2Nhbm5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDYwCgoyMDE2LTAyLTAyIDE1OjIwOjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IHdyb25nIGJ1ZmZlciBiZWluZyBjaGVja2VkIGZvciBtaXNzaW5nIGRhdGEKCSAgVGhpcyBjYXVzZWQgYSBkZWNvZGluZyBlcnJvciBpZiB0aGUgcmVzdWx0aW5nICh3cm9uZykgYnVmZmVyIHNpemUKCSAgd2FzIHBhc3NlZCB0byB0aGUgT3B1cyBkZWNvZGluZyBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxNTgKCjIwMTYtMDItMDIgMTY6MjY6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IFVzZSBpbnQgdHlwZSBpZiB3ZSBzdXBwb3J0IGEgc2luZ2xlIHJhdGUvY2hhbm5lbCBjb3VudAoJICBBdm9pZHMgdXNpbmcgYW4gaW50IHJhbmdlIGlmIHRoZSBmaWVsZCB3ZSdyZSBzZXR0aW5nIGlzIG5vdCBhY3R1YWxseSBhCgkgIHJhbmdlLgoKMjAxNi0wMi0wMiAxODozNjozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgUmV2ZXJ0ICJnbC9lYWdsOiB0cnkgZ2V0dGluZyBhIGdsZXMzIGNvbnRleHQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTZiOTY2NmQ1OTZiZTExNWZkNGI0NDZlZjg0NjUwOGI3ZmQwNWMyNC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMTEzODVkMTY3ZDg4NDM2MDRlYTIzYTA1ZTJkZWE0MGI4YmJhYzM1LgoJICBUaGlzIGJyZWFrcyB0aGUgdGV4dHVyZSBzaGFyaW5nIHdpdGggdGhlIGFwcGxlbWVkaWEgZWxlbWVudHMgYXMKCSAgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZSBzZWVtcyB0byBoYXZlIGFuIGFyYml0cmFyeSByZXN0cmljdGlvbiBvbiBHTEVTMiBvbmx5LgoKMjAxNi0wMi0wMiAxNjoyMToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBkb24ndCBza2lwIHN1YnNldCBzdHJ1Y3R1cmVzCgkgIFdlIG1heSBuZWVkIHRoZW0gdG8gdHJhbnNmb3JtIGludG8gYSBkaWZmZXJlbnQgc2V0IG9mIGZvcm1hdHMuCgkgIEZpeGVzIFlVVi0+WVVWIHdpdGggdHdvIGdsY29sb3Jjb252ZXJ0cywgZS5nOgoJICBmb3JtYXQ9STQyMCAhIGdsY29sb3Jjb252ZXJ0ICEgZ2xjb2xvcmNvbnZlcnQgISBmb3JtYXQ9TlYxMgoKMjAxNi0wMi0wMiAxNjoxOTo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IGFsd2F5cyBjYWxsIGdsX3N0YXJ0IHdoZW4gbm90IGNhbGxlZCBhbHJlYWR5CgkgIEZpeGVzIGVsZW1lbnRzIHRyYW5zaXRpb25pbmcgb3V0IG9mIHBhc3N0aHJvdWdoIG1vZGUgdXNpbmcgR0wgcmVzb3VyY2VzIHRoYXQKCSAgaGFkbidlIGJlZW4gYWxsb2NhdGVkIHlldC4KCjIwMTYtMDItMDIgMTU6MTQ6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IFJHQixyZWN0YW5nbGUtPnBsYW5hciBZVVYgY29udmVyc2lvbgoJICBDb252ZXJ0aW5nIHRvIEdSQVkgaXMgbm8gZnVuLiAgQW5vdGhlciBjYXNlIG9mIG5vcm1hbGl6ZWQgdnMgdW5ub3JtYWxpemVkCgkgIHRleHR1cmUgY29vcmRpbmF0ZXMuCgoyMDE2LTAyLTAyIDEzOjUxOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBZVVkyL1VZVlkscmVjdGFuZ2xlLT5SR0IgY29udmVyc2lvbgoJICAxLjAgLyB3aWR0aCBkb2VzIG5vdCBvZmZzZXQgYnkgb25lIHBpeGVsIGluIHJlY3Rhbmd1bGFyIHRleHR1cmVzICh3aGljaCB1c2UKCSAgdW5ub3JtYWxpemVkIGNvb3JkaW5hdGVzKS4KCSAgUHJvdmlkZSB0aGUgYWN0dWFsIHBpeGVsIG9mZnNldCBhcyBhIHVuaWZvcm0gdG8gdGhlIHNoYWRlci4KCjIwMTYtMDEtMjcgMTY6NDI6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy90aW55YWxzYS9NYWtlZmlsZS5hbToKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhLmM6CgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5oOgoJICB0aW55YWxzYTogQWRkIGEgbmV3IHNpbmsgcGx1Z2luIHVzaW5nIHRpbnlhbHNhCgkgIFRoaXMgdXNlcyB0aGUgdGlueWFsc2EgbGlicmFyeSB0byBwbGF5YmFjayB0byBhbiBBTFNBIGRldmljZS4gRnV0dXJlCgkgIHdvcmsgY2FuIGluY2x1ZGUgdXNpbmcgdGhlIG1tYXAgaW50ZXJmYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMjMwCgoyMDE2LTAyLTAyIDEyOjUwOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHBlcmZvcm0gYmV0dGVyIG5lZ290aWF0aW9uCgkgIDEuIENvcnJlY3RseSBkZXNjcmliZSB3aGF0IHdlIGNhbiBjYXBzIHdlIGNhbiB0cmFuc2Zvcm0gdG8vZnJvbS4KCSAgaS5lLiBubyBZVVYtPllVViBvciBHUkFZLT5ZVVYgb3IgWVVWLT5HUkFZIChleGNlcHQgZm9yIHBhc3N0aHJvdWdoKS4KCSAgMi4gUHJlZmVyIHNpbWlsYXIgZm9ybWF0cyBhbmQgaWdub3JlIGluY29tcGF0aWJsZSBmb3JtYXRzIG9uIGZpeGF0aW9uLgoKMjAxNi0wMS0yNiAyMzoxNToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdGVzdCBmb3IgdXBkYXRpbmcgc3RvcCBwb3NpdGlvbgoJICBUZXN0IHRoYXQgYSBzZWVrIHRoYXQgb25seSB1cGRhdGVzIHRoZSBzdG9wIHBvc2l0aW9uIHdvcmtzCgkgIGFzIGV4cGVjdGVkCgoyMDE2LTAyLTAxIDA5OjQ4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBvbmx5IHVwZGF0ZSBjdXJyZW50IHJlYWRpbmcgcG9zaXRpb24gd2hlbiBuZWVkZWQKCSAgSWYgdGhlIHNlZWsgZG9lc24ndCBzZXQgdGhlIHN0YXJ0L3N0b3AgcG9zaXRpb24sIG5vIG5lZWQgdG8KCSAgcmVwb3NpdGlvbiB0aGUgZG93bmxvYWQgaW5kZXguCgoyMDE2LTAxLTI5IDIwOjM0OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXNwZWN0IHNlZWtpbmcgcGFyYW1ldGVyCgkgIEluc3RlYWQgb2YgdXNpbmcgdGhlIHNlZ21lbnQgdmFsdWVzLCB1c2UgdGhlIHBhcmFtZXRlcgoJICByZXF1ZXN0ZWQgaW4gdGhlIHNlZWtpbmcgYXJndW1lbnQKCjIwMTYtMDItMDEgMTQ6MjU6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoOiBmaXggZGFzaCB0ZXN0cyBhZnRlciBpbmRleCBmaXgKCSAgOGU3ODhmMjg0NTA4NjEyOTgyZThlMzgzMzZlZWQ2NzZjMmVlYzM1YSBicm9rZSBvbmUgb2YgdGhlCgkgIGRhc2ggbXBkIHRlc3RzLiBUaGlzIHVwZGF0ZXMgYW5kIGZpeGVzIGl0LgoKMjAxNi0wMi0wMSAxMjoyMzozMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ3N0Z2x3aW5kb3c6IGluaXRpYWxpemUgbmF2aWdhdGlvbl9sb29wIHRvIE5VTEwKCSAgVXNlZnVsIHdoZW4gZ3N0X2dsX3dpbmRvdy5jOjpnc3RfZ2xfd2luZG93X25ldyBpcyBub3QgdXNlZC4KCSAgVGhpcyBpcyB0aGUgY2FzZSB3aGVuIHVzaW5nIGEgY3VzdG9tIEdzdEdMV2luZG93LgoJICAoZXg6IEdzdEdMV2luZG93R1BVUHJvY2VzcyBmcm9tIENocm9taXVtKQoKMjAxNi0wMi0wMSAwOToyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsOiBlYWdsOiBmaXggYnVpbGQKCSAgZ3N0Z2xjb250ZXh0X2VhZ2wubToyMzg6NDU6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiBjYWxsLAoJICBleHBlY3RlZCBhdCBsZWFzdCA0LCBoYXZlIDMKCjIwMTYtMDItMDEgMTU6MTM6MDMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWQ6IGFsbG93IHZpZGVvL3gtcmF3IGFzIGlucHV0CgkgIC4uLmFuZCBqdXN0IHBhc3N0aHJvdWdoLiBUaGlzIGlzIHVzZWZ1bCBmb3IgcGlwZWxpbmVzIHdoZXJlIGRvd25zdHJlYW0gbXVzdCBiZQoJICBub24tR0wgYnV0IHVwc3RyZWFtIGNhbiBvcHRpb25hbGx5IGJlIEdMLgoKMjAxNi0wMi0wMSAxMjo1NzozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogdHJ5IGdldHRpbmcgYSBnbGVzMyBjb250ZXh0CgkgIEZhbGxiYWNrIHRvIGEgZ2xlczIgY29udGV4dCBpZiB0aGF0IGZhaWxzCgoyMDE2LTAxLTIxIDE2OjEwOjQ4ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGZpeCBjaGVja2VyIHZibyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5MjUKCjIwMTYtMDEtMjQgMTU6NDc6MTIgKzAxMDAgIEhvbGdlciBLYWVsYmVyZXIgPGhvbGdlci5rQGVsYmVyZXIuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5xbWw6CgkgIHRlc3RzOiBmaXggd2FybmluZyBpbiBxbWwgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDgyCgoyMDE2LTAxLTI0IDE1OjQyOjMyICswMTAwICBIb2xnZXIgS2FlbGJlcmVyIDxob2xnZXIua0BlbGJlcmVyLmRlPgoKCSogY29uZmlndXJlLmFjOgoJICBxdDogRml4IGJ1aWxkIGZvciBhbmRyb2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwODIKCjIwMTYtMDItMDEgMDE6MDE6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgUmVtb3ZlIGRlYWQgc25hcHNob3QgcGx1Z2luCgkgIFdhcyBuZXZlciBwb3J0ZWQgYW5kIGRvZXNuJ3QgbG9vayBsaWtlCgkgIHdlIHdhbnQgaXQgb3IgbmVlZCBpdCBpbiB0aGlzIGZvcm0sIGNhbgoJICBkbyB0aGUgc2FtZSB3aXRoIHRoZSBsaWJnc3R2aWRlbyBzYW1wbGUKCSAgY29udmVyc2lvbiB1dGlsaXR5IEFQSSBub3csIGJ1dCBiZXR0ZXIKCSAgYW5kIGluIGEgbW9yZSBmbGV4aWJsZSB3YXkuCgoyMDE2LTAyLTAxIDAwOjQ5OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IGJ1bXAgcmVxdWlyZW1lbnQgdG8gMi4zNi4yCgkgIFdoaWNoIGFsbG93cyB1cyB0byBzaW1wbGlmeSB0aGUgY29uZmlndXJlIGNoZWNrIGFuZAoJICBzb21lIHNwZWNpYWwtY2FzaW5nIGluIHRoZSBjb2RlLCBhbmQgaXMgcGxlbnR5IG9sZAoJICBpbiBhbnkgY2FzZS4KCjIwMTYtMDItMDEgMDA6Mjk6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGliZmFtZS9SRUFETUU6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvbGliZmFtZS5tNDoKCSAgUmVtb3ZlIGRlYWQgbGliZmFtZSBwbHVnaW4KCSAgV2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCB0aGUgbGliCgkgIGhhcyBiZWVuIHVubWFpbnRhaW5lZCBmb3IgZXZlciBhbmQgZG9lc24ndAoJICBldmVuIHNlZW0gdG8gYmUgcGFja2FnZWQgYW55IG1vcmUuCgoyMDE2LTAxLTMxIDE5OjA5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9maWxlL1JFQURNRToKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBSZW1vdmUgZGVhZCBhdWRpb2ZpbGUgcGx1Z2luCgkgIFRoaXMgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAuCgoyMDE2LTAxLTMxIDE5OjA0OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3MuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGdzZXR0aW5ncyBwbHVnaW4gd2hpY2ggd2FzIG5ldmVyIHBvcnRlZAoJICBEb24ndCB0aGluayB3ZSBuZWVkIHRoaXMgYW55IGxvbmdlciBvciB3YW50IHRvCgkgIHN1cHBvcnQgaXQsIGFuZCBjbGVhcmx5IG5vIG9uZSBoYXMgYmVlbiBtaXNzaW5nCgkgIGl0IGFsbCB0aGVzZSB5ZWFycyBlaXRoZXIsIHNvIGxldCdzIGp1c3QgZ2V0IHJpZAoJICBvZiBpdC4KCjIwMTYtMDEtMzEgMTY6MDI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIHNtb290aHN0cmVhbWluZzogcmVtb3ZlIHVudXNlZCBkZXBlbmRlbmN5IG9uIHVyaWRvd25sb2FkZXIKCjIwMTYtMDEtMzEgMTQ6NDI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogc2ltcGxpZnkgY29uZmlndXJlIGNoZWNrIGFuZCByZXF1aXJlIGZhYWQgPj0gMi43CgkgIEp1c3QgY2hlY2sgd2hldGhlciBMQVRNIGlzIGRlZmluZWQgd2hpY2ggaXMgb25seSBhdmFpbGFibGUKCSAgaW4gMi43IGFuZCBsYXRlci4gQWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHRoZSBjb25maWd1cmUgY2hlY2sKCSAgYSBsaXR0bGUgYW5kIHdlIGNhbiBnZXQgcmlkIG9mIHNvbWUgaGFja2lzaCB3b3JrYXJvdW5kcyBmb3IKCSAgcHJvYmxlbXMgd2l0aCBlYXJsaWVyIHZlcnNpb24gaGVhZGVycy4KCjIwMTYtMDEtMzAgMTc6MzE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgdW5uZWNlc3NhcnkgdXNlIG9mIF9zdGRpbnQuaAoKMjAxNi0wMS0yOSAyMzozOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmdHlwZXM6IEdlbmVyYXRlIFVVSURzIGFjY29yZGluZyB0byBSRkM0MTIyIHZlcnNpb24gNCAoYWthIHJhbmRvbSkKCSAgSW5zdGVhZCBvZiBmdWxseSByYW5kb20gVVVJRHMsIHRoZXNlIHNob3VsZCBmb2xsb3cgYSBzY2hlbWUuCgoyMDE2LTAxLTI5IDIxOjA5OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogUHJvcGVybHkgd3JpdGUgdmlkZW8gbGluZSBtYXAgZGF0YSBhcyBhbiBhcnJheSBvZiAzMiBiaXQgaW50ZWdlcnMKCjIwMTYtMDEtMjkgMjA6NTg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBETVNjaGVtZXMgaW4gdGhlIFByZWZhY2UgaXMgYSByZXF1aXJlZCBmaWVsZAoJICBFdmVuIGlmIGl0IGhhcyAwIGVudHJpZXMuCgoyMDE2LTAxLTI5IDE4OjQxOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGZ1bDogRml4IENvbnRlbnQgU3RvcmFnZSBVTAoKMjAxNi0wMS0yOSAxODoyODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEJlc3QgZWZmb3J0IHZhbHVlcyBtdXN0IGJlIHdyaXR0ZW4gYW5kIGlmIHVuc2V0IG11c3QgY29udGFpbiB0aGUgZGlzdGluZ3Vpc2hlZCB2YWx1ZQoJICBJdCdzIGludmFsaWQgdG8gbm90IHdyaXRlIHRoZW0gYXQgYWxsLgoKMjAxNi0wMS0yOSAxNzozNjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdWwuYzoKCSAgbXhmdWw6IEFkZCBtaXNzaW5nIE9wZXJhdGlvbmFsUGF0dGVybiBVTCwgd2hpY2ggZml4ZXMgYW4gb2ZmLWJ5LW9uZSB3aXRoIHRoZSBvdGhlcnMKCjIwMTYtMDEtMjkgMTc6MDc6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IE91ciBib2R5IHBhcnRpdGlvbiBpcyBhbHdheXMgY29tcGxldGUgYW5kIGNsb3NlZAoJICBXZSBoYXZlIG5vIG1ldGFkYXRhIGluIGl0LgoKMjAxNi0wMS0yOSAxNzowMjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogVXNlIEluZGV4U0lEIG9mIDIgaW5zdGVhZCBvZiAxCgkgIFNvbWUgdG9vbHMgY29tcGxhaW4gaWYgZXNzZW5jZSBhbmQgaW5kZXggaGF2ZSB0aGUgc2FtZSBTSUQuCgoyMDE2LTAxLTI5IDE2OjM4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBSZXdyaXRlIGJvZHkgcGFydGl0aW9uIHBhY2sgb24gRU9TIGFuZCBtYXJrIGl0IGFzIGNvbXBsZXRlL2Nsb3NlZAoKMjAxNi0wMS0yOSAyMzoyODo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogZ3VhcmQgYWdhaW5zdCBub3QgZmluZGluZyBhIHZhbGlkIGZyYW1lIGluIGxvb3AKCSAgRml4ZXMgc3BvcmFkaWMgY3Jhc2hlcyBvbiBmaW5pc2hpbmcgZGVjb2RpbmcgYSB2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMS0yOSAxNToyNDozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvb3JnL2ZyZWVkZXNrdG9wL2dzdHJlYW1lci9hbmRyb2lkbWVkaWEvR3N0QW1jT25GcmFtZUF2YWlsYWJsZUxpc3RlbmVyLmphdmE6CgkgIGFtY3ZpZGVvZGVjOiBzZXQgb3VyIGRhdGEgcG9pbnRlciBpbiBqYXZhIHRvIE5VTEwgb24gY2xvc2UKCSAgVGhlIGZyYW1lIGF2YWlsYWJsZSBjYWxsYmFjayBjYW4gYmUgY2FsbGVkIGFmdGVyIGRlY29uZmlndXJpbmcgdGhlIGFtYyBjb2RlYy4KCSAgR3VhcmQgYWdhaW5zdCB0aGlzIGJ5IHNldHRpbmcgdGhlIGJhY2sgcG9pbnRlciB0byBOVUxMIG9uIGNsb3NlKCkgYW5kIGlnbm9yaW5nCgkgIGFueSBOVUxMIGRhdGEgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTAxNAoKMjAxNi0wMS0yOSAxNTowNzo1OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvZ2xjb250ZXh0aGVscGVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2dsY29udGV4dGhlbHBlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiByZWZhY3RvciBHTCBjb250ZXh0IGNvZGUKCSAgUmV3b3JrIHRoZSBHTCBjb250ZXh0IGNvZGUuIE5vdyBib3RoIGF2ZnZpZGVvc3JjIGFuZCB2dGRlYyBjYW4gY3JlYXRlIGFuCgkgIGludGVybmFsIEdMIGNvbnRleHQgZm9yIHB1c2hpbmcgdGV4dHVyZXMuIEJvdGggZWxlbWVudHMgd2lsbCBzdGlsbCB0cnkgdG8KCSAgdXNlL3N3aXRjaCB0byBhIGxvY2FsIGNvbnRleHQgd2hlcmUgYXZhaWxhYmxlIChpbmNsdWRpbmcgYWZ0ZXIgUkVDT05GSUdVUkUKCSAgZXZlbnRzKS4KCjIwMTYtMDEtMjkgMTA6MzU6MTUgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSAgZ2xwcm90b3R5cGVzOiBmaXggcGFyYW1ldGVyIHR5cGUgb2YgZ2xHZW5CdWZmZXJzCgkgIFRoZSBudW1iZXIgb2YgYnVmZmVycyBzaG91bGQgYmUgR0xzaXplaSBpbnN0ZWFkIG9mIEdMdWludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTI3MgoKMjAxNS0xMi0wOCAxNDowOTo1OCArMDgwMCAgSGFpaHVhIEh1IDxiNTU1OTdAZnJlZXNjYWxlLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzOiBmaXggZ2xlZmZlY3RzIGZpc2hleWUgc2hhZGVyIGNvbXBpbGUgZXJyb3IKCSAgT24gc29tZSBlbWJlZGRlZCBzeXN0ZW1zLCBzcXJ0KCkgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGUgc2hhZGVyLAoJICB1c2UgdGhlIGFjdHVhbCB2YWx1ZSBvZiBzcXJ0KDIpIGluc3RlYWQuCgkgIFNpZ25lZC1vZmYtYnk6IEhhaWh1YSBIdSA8YjU1NTk3QGZyZWVzY2FsZS5jb20+CgkgIEJ1Z3ppbGxhOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMjcxCgoyMDE2LTAxLTI5IDE0OjAzOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogcGFyIG1heSBub3QgZXhpc3QgaW4gdGhlIGNhcHMKCSAgRml4ZXMgYSBjcml0aWNhbCBpbiB0aGUgZ3N0LXZhbGlkYXRlIHRlc3RzOgoJICBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV9maWVsZF9uZWFyZXN0X2ZyYWN0aW9uOiBhc3NlcnRpb24gJ2dzdF9zdHJ1Y3R1cmVfaGFzX2ZpZWxkCgkgIChzdHJ1Y3R1cmUsIGZpZWxkX25hbWUpCgoyMDE2LTAxLTI5IDEyOjQ1OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGJhY2sgb3V0IHVuaW50ZW5kZWQgbG9zdF9jb250ZXh0IGNoYW5nZXMKCjIwMTYtMDEtMjggMTY6Mzk6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvdXRpbHMvb3BlbmdsX3ZlcnNpb25zLmg6CgkgIGVnbDogaW1wbGVtZW50IHNlbGVjdGluZyBvcGVuZ2wzIGNvbnRleHRzCgoyMDE2LTAxLTI4IDE0OjMxOjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSAgZ2wvZWdsOiBwYXNzIHRoZSBlcnJvciB2YWx1ZSB0byBnZXRfZXJyb3Jfc3RyaW5nKCkKCjIwMTYtMDEtMjggMTg6MjA6NDQgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlOiBpbml0aWFsaXplIHVwZGF0ZV9zaXplIHRvIEZBTFNFIHdoZW4gdXBkYXRpbmcgaW5mbwoJICBPdGhlcndpc2UsIGJlaGF2aW9yIHdpbGwgYmUgdW5kZWZpbmVkIHdoZW4gbm8gc3RyaWRlcy9vZmZzZXRzIGFyZSBzZXQKCSAgYW5kIGl0IHdpbGwgbGlrZWx5IGdvIHdyb25nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTI4IDExOjU2OjM2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlOiBGaXggZnJhbWVzaXplIGNhbGN1bGF0aW9uCgkgIFdoZW4gdGhlIGZyYW1lc2l6ZSBpcyBub3Qgc3BlY2lmaWVkLCB3ZSB0cnkgYW5kIGNhbGN1bGF0ZSBhIHNpemUgZnJvbQoJICB0aGUgc3RyaWRlcyBhbmQgb2Zmc2V0IGluZm9ybWF0aW9uLiBUaGlzIHdhcyBkb25lIHdpdGggdGhlIHN1bSBvZgoJICBvZmZzZXRzICsgdGhlIHNpemUgb2YgdGhlIGxhc3QgZnJhbWUuIFRoYXQgaXMganVzdCB3cm9uZyBtZXRob2QuIFdlIGFsc28KCSAgbmVlZCB0byBhY2NvdW50IGZvciB2aWRlbyBtZXRhIHRoYXQgbWF5IGJlIGZsaXBwaW5nIHR3byBwbGFuZXMuIEFuCgkgIGV4YW1wbGUgaXMgaWYgeW91IGNvbnZlcnQgSTQyMCB0byBZVjEyIGJ5IGZsaXBwaW5nIHRoZSB0d28gbGFzdCBvZmZzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTI4IDE5OjM2OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgIGdkcGRlcGF5OiBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGFkanVzdCBidWZmZXIgdGltZXN0YW1wcwoKMjAxNi0wMS0yOSAwNDo1MDo0MiArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogRG9uJ3QgZ2VuZXJhdGUgYW5kIGluc3RhbGwgcGtnLWNvbmZpZyB3aXRoIHJlbGF0aXZlIHBhdGhzCgkgIERvbid0IHB1dCByZWxhdGl2ZSBwYXRocyBpbiBwa2ctY29uZmlnIGZpbGVzLCBpbmNsdWRpbmcgdW5pbnN0YWxsZWQKCSAgb25lcy4gRm9yIHRob3NlLCB1c2UgQGFic190b3BidWlsZGRpckAgYW5kIEBhYnNfdG9wc3JjZGlyQCBhcyB3ZQoJICBkbyBlbHNld2hlcmUuCgkgIFJlbW92ZSBsaWJyYXJpZXM9IGRpcmVjdGl2ZXMsIHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIHBrZy1jb25maWcKCSAgdmFyaWFibGUgdGhhdCBhY3R1YWxseSBleGlzdHMsIGJ1dCBoYXMgYmVlbiBpbiBhbGwgb3VyIHBrZy1jb25maWcKCSAgZmlsZXMgZm9yIGFzIGxvbmcgYXMgdGhleSd2ZSBleGlzdGVkLgoKMjAxNi0wMS0yOCAxNjo0OTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtcGVnOiBXcml0ZSB0aGUgY29ycmVjdCBlc3NlbmNlIGNvbnRhaW5lciBVTCBmb3IgYWxsIGNvZGVjcwoKMjAxNi0wMS0yOCAxNjo0MTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtcGVnOiBXcml0ZSB2ZXJzaW9uIG51bWJlciBpbnRvIHRoZSBwaWN0dXJlIGVzc2VuY2UgY29kaW5nIFVMCgoyMDE2LTAxLTI4IDE2OjMyOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBXcml0ZSBhIHRpbWVjb2RlIHRyYWNrIGludG8gdGhlIHNvdXJjZSBwYWNrYWdlIHRvbwoKMjAxNi0wMS0xMSAxNTo0NzoyNCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IHVzZSBkZWNpZGVfYWxsb2NhdGlvbiB0byBjaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHZpZGVvbWV0YQoJICBJZiB5ZXMsIHdlIGFkZCB0aGVtIHRvIGVhY2ggb3V0cHV0IGJ1ZmZlcnMgYW5kIHdlIGF2b2lkIGZyYW1lIGNvcHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMTEgMTU6NDY6MTYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBhZGQgJ2RlY2lkZV9hbGxvY2F0aW9uJyB2ZnVuYyB0byBsZXQgc3ViY2xhc3MgcGFyc2UgYW4gYWxsb2NhdGlvbiBxdWVyeQoJICBBbmQgc28gc2VuZCBhbiBhbGxvY2F0aW9uIHF1ZXJ5LiBUaGlzIGNvdWxkIGJlIHVzZWQgdG8gY2hlY2sgd2hldGhlcgoJICBkb3duc3RyZWFtIGVsZW1lbnQgc3VwcG9ydHMgc29tZSBtZXRhcyBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMDggMTc6MTc6MDEgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IHVzZSBzaXplIG9mIGJ1ZmZlciB3ZSBnb3QgZnJvbSBhZGFwdGVyCgkgIE90aGVyd2lzZSBwb3NpdGlvbiBpbiBzdHJlYW0gY291bGQgYmUgd3JvbmcgaWYgc3ViY2xhc3MgJ3ByZV9wdXNoX2ZyYW1lJwoJICBtZXRob2QgY2hhbmdlcyB0aGUgYnVmZmVyIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMDcgMTQ6Mjc6MjcgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICB2aWRlb3BhcnNlOiBhZGQgcHJvcGVydGllcyB0byBzZXQgZnJhbWVzaXplLCBzdHJpZGVzIGFuZCBwbGFuZXMgb2Zmc2V0cwoJICBUbyBtYWtlIHBhcnNlciB3b3JrIHdpdGggaW1hZ2UgaGF2aW5nIG5vbi1zdGFuZGFyZCBzdHJpZGVzLCBwbGFuZQoJICBvZmZzZXRzIG9yIHdpdGggcGFkZGluZyBiZXR3ZWVuIGltYWdlcy4KCSAgRm9yIG5vdywgc2luY2UgZWxlbWVudCBkb2Vzbid0IGNoZWNrIGZvciB2aWRlb21ldGEsIHdlIGNhbid0IGRpcmVjdGx5CgkgIHB1c2ggYnVmZmVycyB3aGVuIHRoZXNlIHByb3BlcnRpZXMgYXJlIHNldCBzbyBpdCBjb252ZXJ0IHRoZSBmcmFtZQoJICBpbiB0aGUgcHJlX3B1c2hfYnVmZmVyIG1ldGhvZCB0byByZW1vdmUgYW55IGN1c3RvbSBwYWRkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTA4IDE1OjIxOjI4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogcmVuYW1lICdzZXRfYnVmZmVyX2ZsYWdzJyB2ZnVuYyB0byAncHJlX3B1c2hfYnVmZmVyJwoJICB0byBhbGxvdyBzdWJjbGFzcyB0byBjaGFuZ2Ugb3RoZXIgZmllbGRzIG9mIHRoZSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMDcgMTQ6MTg6MDggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICB2aWRlb3BhcnNlOiBjYWNoZSB2aWRlbyBpbmZvIGluIGluc3RhbmNlCgkgIFRvIGF2b2lkIGluaXRpYWxpemluZyBhbmQgZmlsbGluZyB2aWRlbyBpbmZvIGVhY2ggdGltZSB3ZSBuZWVkIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjcwCgoyMDE2LTAxLTI4IDE1OjM4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSAgbXhmbXV4OiBXcml0ZSBUaGlzIEdlbmVyYXRpb24gVUlEIGludG8gdGhlIElkZW50aWZpY2F0aW9uIG1ldGFkYXRhCgkgIEl0J3MgcmVxdWlyZWQgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZCBhbmQgd2UgZm9yZ290IHRvIGFjdHVhbGx5IHdyaXRlIGl0IHRvCgkgIHRoZSBmaWxlIGFsdGhvdWdoIHdlIHN0b3JlZCBpdCBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmVzLgoKMjAxNi0wMS0yOCAxNToyOTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEFkZCB3b3JrYXJvdW5kIGZvciBmZm1wZWcgb25seSB3cml0aW5nIG9uZSBWaWRlbyBMaW5lIE1hcCB2YWx1ZQoJICBodHRwczovL2ZmbXBlZy5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1kZXZlbC8yMDE2LUphbnVhcnkvMTg4MjAyLmh0bWwKCjIwMTUtMTAtMTQgMjE6MTM6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3QgZG8gY2FwcyBwcm9jZXNzaW5nIHRoYXQgaXMgbm90IG92ZXJyaWRhYmxlCgkgIEFsbG93cyB0aGUgc3ViY2xhc3MgdG8gY29tcGxldGVseSBvdmVycmlkZSB0aGUgY2hvc2VuIHNyYyBjYXBzLgoJICBUaGlzIGlzIG5lZWRlZCBhcyB2aWRlb2FnZ3JlZ2F0b3IgZ2VuZXJhbGx5IGhhcyBubyBpZGVhIGV4YWN0bHkKCSAgd2hhdCBvcGVyYXRpb24gaXMgYmVpbmcgcGVyZm9ybWVkLgoJICAtIEFkZHMgYSBmaXhhdGVfY2FwcyB2ZnVuYyBmb3IgZml4YXRpb24KCSAgLSBNZXJnZXMgZ3N0X3ZpZGVvX2FnZ3JlZ2F0b3JfdXBkYXRlX2NvbnZlcnRlcnMoKSBpbnRvCgkgIGdzdF92aWRlb2FnZ3JlZ2F0b3JfdXBkYXRlX3NyY19jYXBzKCkgYXMgd2UgbmVlZCBzb21lIG9mIGl0cyBpbmZvCgkgIGZvciBwcm9wZXIgY2FwcyBoYW5kbGluZy4KCSAgLSBQYXNzIHRoZSBkb3duc3RyZWFtIGNhcHMgdG8gdGhlIHVwZGF0ZV9jYXBzIHZmdW5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMDcKCjIwMTYtMDEtMjcgMjA6MjM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJICBnbGNvbG9yYmFsYW5jZTogcmV0dXJuIEhBUkRXQVJFIGZyb20gZ2V0X2JhbGFuY2VfdHlwZQoKMjAxNi0wMS0yNyAyMDowNDowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmg6CgkgIGdsc2lua2JpbjogYWRkIGdsY29sb3JiYWxhbmNlIGVsZW1lbnQKCSAgVGhpcyBtYWtlcyBwbGF5YmluIG5vdCBwbHVnIHZpZGVvYmFsYW5jZSBhcyBnbGNvbG9yYmFsYW5jZSBhbHJlYWR5IGV4aXN0cyBhbmQKCSAgaW1wbGVtZW50cyB0aGUgR3N0Q29sb3JCYWxhbmNlIGludGVyZmFjZS4KCjIwMTYtMDEtMjcgMTk6NTY6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udHJvbGJpbmRpbmdwcm94eS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250cm9sYmluZGluZ3Byb3h5Lmg6CgkgIGdsOiBtb3ZlIGNvbnRyb2wgYmluZGluZyBwcm94eSBpbXBsZW1lbnRhdGlvbiBmcm9tIGdsdmlkZW9taXhlcgoJICBPdGhlciBlbGVtZW50cyBtYXkgbmVlZCB0byB1c2UgaXQncyBmdW5jdGlvbmFsaXR5CgoyMDE2LTAxLTI3IDE4OjE3OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSAgZ2xjb2xvcmJhbGFuY2U6IGNyZWF0ZSB0aGUgc2hhZGVyIGlmIGl0IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHJlbmRlciBjYWxsYmFjawoJICBDaGFuZ2luZyB0aGUgcHJvcGVydGllcyBtYXkgcmVzdWx0IGluIGdsY29sb3JiYWxhbmNlIG1vdmluZyBmcm9tIHBhc3N0aHJvdWdoIHRvCgkgIG5vbi1wYXNzdGhyb3VnaCBhbmQgd2Ugd2VyZW4ndCBjcmVhdGluZyB0aGUgc2hhZGVyIGluIHRoYXQgY2FzZS4KCjIwMTYtMDEtMjUgMTY6Mjk6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkgIHF0OiBzcGVjaWZ5IHRoYXQgd2UgY3VycmVudGx5IG9ubHkgdGFrZSAyRCB0ZXh0dXJlcwoJICBGaXhlcyBibGFjayBzY3JlZW4gdmlkZW8gcGxheWJhY2sgb24gYW5kcm9pZCB3aXRob3V0IGEgY2FwcyBmaWx0ZXIuCgoyMDE2LTAxLTI1IDE5OjExOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkgIGdsdmlkZW9mbGlwOiBpbmNvcnBvcmF0ZSB0aGUgYXNwZWN0IHJhdGlvIGludG8gdGhlIHNjYWxlX3ggY2FsY3VsYXRpb25zCgkgIDEuIE90aGVyd2lzZSByb3RhdGluZyB0aGUgdmlkZW8gd2lsbCBjbGlwIGFuZCBzaG93IGJsYWNrIGJhcnMgZHVlIHRvCgkgIGdsdHJhbnNmb3JtYXRpb24ncyBpbXBsZW1lbnRhdGlvbi4KCSAgMi4gVGhlIG90aGVyIG9wdGlvbiBvZiBtYWtlIGdsdHJhbnNmb3JtYXRpb24gYXNwZWN0LWFnbm9zdGljIHByb2R1Y2VzCgkgIGluY29ycmVjdCBvdXRwdXQgd2l0aCBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm1hdGlvbnMuCgoyMDE2LTAxLTI3IDE0OjM2OjM2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBhY3R1YWxseSBzZXQgdGhlIGNvbmZpZ3VyZWQgZnJhbWVyYXRlCgkgIEFjdHVhbGx5IHNldCB0aGUgY29uZmlndXJlZCBmcmFtZXJhdGUuIEJlZm9yZSB3ZSBvbmx5IHVzZWQgdG8gc2V0IHRoZSBmaXJzdAoJICBtYXRjaGluZyBmcmFtZXJhdGUgcmFuZ2UuIE9uIGlPUyB3aGVyZSB0aGUgY2FtZXJhIHJlcG9ydHMgcmFuZ2VzIFsyLCA2MF0sIHdlCgkgIHVzZWQgdG8gY29uZmlndXJlIHRoZSBjYW1lcmEgdG8gb3V0cHV0IGFueXRoaW5nIGJldHdlZW4gMiBhbmQgNjBmcHMuCgoyMDE2LTAxLTI1IDIyOjMwOjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJICBvcGVuY3Y6IGFkZCBtYXNrIHByb3BlcnR5IHRvIGN2bGFwbGFjZQoJICBBZGQgYSAibWFzayIgcHJvcGVydHkgdGhhdCBzZXRzIHdoZXRoZXIgdGhlIGVkZ2VzIGJ5IGN2TGFwbGFjZSBzaG91bGQgYmUKCSAgdXNlZCBhcyBhIG1hc2sgb24gdGhlIG9yaWdpbmFsIGlucHV0IG9yIG5vdC4gVGhlIHNhbWUgd2F5IHRoZSBvcmlnaW5hbAoJICBpbWFnZSBpcyBjb3BpZWQgdG8gdGhlIGVkZ2VzIGluIGVkZ2VkZXRlY3QuCgoyMDE2LTAxLTI1IDIxOjQyOjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkgIG9wZW5jdjogYWRkIG1hc2sgcHJvcGVydHkgdG8gY3Zzb2JlbAoJICBBZGQgYSAibWFzayIgcHJvcGVydHkgdGhhdCBzZXRzIHdoZXRoZXIgdGhlIGRldGVjdGVkIGRlcml2YXRpdmUgZWRnZXMKCSAgc2hvdWxkIGJlIHVzZWQgYXMgYSBtYXNrIG9uIHRoZSBvcmlnaW5hbCBpbnB1dCBvciBub3QuIFRoZSBzYW1lIHdheQoJICB0aGUgb3JpZ2luYWwgaW1hZ2UgaXMgYWRkZWQgdG8gdGhlIGVkZ2VzIGluIGVkZ2VkZXRlY3QuCgoyMDE2LTAxLTI1IDE1OjE5OjM3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiB1cGRhdGUgZGVwcmVjYXRlZCBmdW5jdGlvbiBpbiBza2luZGV0ZWN0CgkgIGN2Q3Z0UGl4VG9QbGFuZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gT3BlbkNWIDMuMCwgYW5kIGN2U3BsaXQoKSBpcyB0aGUKCSAgc3VnZ2VzdGVkIHJlcGxhY2VtZW50LiBTaW5jZSBjdlNwbGl0KCkgaXMgYXZhaWxhYmxlIGluIE9wZW5DViAyLjQsIGl0IGlzCgkgIHNhZmUgYW5kIGNhdXRpb3VzIHRvIHVwZGF0ZSB0aGUgZnVuY3Rpb24gdXNhZ2UgYmVmb3JlIGl0IGJlY29tZXMgYW4gaXNzdWUuCgoyMDE2LTAxLTI1IDExOjQzOjU5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJICBvcGVuY3Y6IGZpeCBjdmxhcGxhY2UKCSAgY3ZsYXBsYWNlIHdhcyBhbHNvIGFmZmVjdGVkIGJ5IHRoZSBzaWxlbnQgY2hhbmdlIGluIE9wZW5DViBBUEksIHNhbWUgYXMKCSAgY3Zzb2JlbC4gSXQgaGFzbid0IGJlZW4gd29ya2luZyBmb3IgYSB3aGlsZS4gSXQgd291bGQgcmV0dXJuIGEgcGxhaW4gYmxhY2sKCSAgaW1hZ2UuIFRoaXMgY29tbWl0IHVwZGF0ZXMgdGhlIHVzYWdlIG9mIGN2TGFwbGFjZSBieSB1c2luZyBjdkN2dENvbG9yIHRvCgkgIGNyZWF0ZSB0aGUgZ3JheXNjYWxlIGludGVybWVkaWF0ZSBpbWFnZSB0byBwcm9jZXNzLiBUaGlzIGFsc28gbWVhbnMgdGhlcmUKCSAgaXMgbm8gbmVlZCBhbnltb3JlIHRvIHVzZSBHc3RCYXNlVHJhbnNmb3JtJ3MgdHJhbnNmb3JtX2NhcHMsIHNpbmNlIHRoZSBwYWRzCgkgIGFyZSBSR0IuCgoyMDE2LTAxLTI1IDEzOjMzOjA5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggYnVmZmVyIGxlYWsgd2hlbiBzcHMgaXMgbm90IHByZXNlbnQKCSAgV2hlbiBzcHMgZGF0YSBpcyBOVUxMLCB0aGUgYnVmZmVyIGFsbG9jYXRlZCBhbmQgbWFwcGVkIGlzIG5vdCBiZWluZyBmcmVlZC4KCSAgSW4gdGhpcyBzY2VuYXJpbyB0aGVyZSBpcyBubyBuZWVkIHRvIGFsbG9jYXRlIHRoZSBidWZmZXIgYXMgd2UgYXJlIHN1cHBvc2VkIHRvIHJldHVybiBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDcwCgoyMDE2LTAxLTI1IDEyOjA1OjEyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrLgoJICBXaGlsZSBzZXR0aW5nIGNhcHMsIGNvZGVjX2RhdGEgYnVmZmVyIGlzIG1hcHBlZCwgYnV0IG5vdCBiZWluZyB1bm1hcHBlZAoJICBsZWFkaW5nIHRvIG1lbW9yeSBsZWFrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA3MAoKMjAxNi0wMS0yMyAxNzoxMDo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJICBvcGVuY3Y6IGZpeCBjdnNvYmVsCgkgIGN2c29iZWwgaGFuJ3QgYmVlbiB3b3JraW5nIGZvciBhIHdoaWxlIGR1ZSB0byBhIHNpbGVudCBjaGFuZ2UgaW4gT3BlbkNWCgkgIEFQSS4gSXQgd291bGQgcmV0dXJuIGEgcGxhaW4gYmxhY2sgaW1hZ2UuIFRoaXMgY29tbWl0IHVwZGF0ZXMgdGhlIHVzYWdlCgkgIG9mIGN2U29iZWwgYnkgdXNpbmcgY3ZDdnRDb2xvciB0byBjcmVhdGUgdGhlIGdyYXlzY2FsZSBpbWFnZSB0byBwcm9jZXNzLgoJICBUaGlzIGFsc28gbWVhbnMgdGhlcmUgaXMgbm8gbmVlZCB0byB1c2UgR3N0QmFzZVRyYW5zZm9ybSdzIHRyYW5zZm9ybV9jYXBzCgkgIGFueW1vcmUsIHNpbmNlIHRoZSBwYWRzIGNhbiBiZSBSR0IuCgoyMDE2LTAxLTIzIDA1OjMwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBwa2ctY29uZmlnOiBQcm9wZXJseSB2ZXJzaW9uIGFuZCBpbnN0YWxsIGJhc2UvYXVkaW8vdmlkZW8gLnBjIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3MzMjYzE3CgoyMDE2LTAxLTIyIDE2OjQzOjAzICswMDAwICBBbGV4IEFzaGxleSA8YWxleC5hc2hsZXlAeW91dmlldy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBsZWFrIG9mIHN0cmVhbS0+aW50ZXJuYWxfcGFkCgkgIFRoZSBmdW5jdGlvbiBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX3VwZGF0ZV9zb3VyY2UoKSBmdW5jdGlvbiBjcmVhdGVzCgkgIGEgbmV3IEdzdFBhZCBjYWxsZWQgaW50ZXJuYWxfcGFkLiBUaGlzIHBhZCBpcyBub3QgZnJlZWQgd2hlbiByZWxlYXNpbmcKCSAgdGhlIHN0cmVhbS4KCSAgVGhlIHNvbHV0aW9uIGlzIHRvIHNldCBHU1RfUEFEX0ZMQUdfTkVFRF9QQVJFTlQgc28gdGhhdCB0aGUgY2hhaW4KCSAgZnVuY3Rpb25zIGRvIG5vdCBnZXQgY2FsbGVkIHdoZW4gdGhlIHBhZCBoYXMgbm8gcGFyZW50IGFuZCB0aGVuCgkgIHJlbW92ZSB0aGUgcGFyZW50IGluIHRoZSBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2ZyZWUoKSBmdW5jdGlvbi4gVGhpcwoJICBjYXVzZXMgdGhlIHJlZmNvdW50IG9mIHRoZSBwYWQgdG8gYmUgc2V0IHRvIHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5ODIKCjIwMTYtMDEtMjEgMjI6MDA6NDQgKzA4MDAgIEpvaG4gQ2hhbmcgPHI5NzkyMjE1M0BnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBVc2UgUmVwcmVzZW50YXRpb25JbmRleCBpbnN0ZWFkIG9mIEluaXRpYWxpemF0aW9uIHRvIGdldCB0aGUgVVJMIG9mIHRoZSBSZXByZXNlbnRhdGlvbkluZGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5MzYKCjIwMTYtMDEtMjIgMTc6MjU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IEZhaWwgZ3JhY2VmdWxseSBpZiBvdXIgY2FsbGJhY2sgY2xhc3MgY2FuJ3QgYmUgZm91bmQKCSAgSW5zdGVhZCBvZiBqdXN0IGlnbm9yaW5nIHRoYXQgZXJyb3IgYW5kIHRoZW4gY2FsbGluZyBKTkkgZnVuY3Rpb25zIHdpdGggTlVMTCwKCSAgd2hpY2ggd2lsbCBraWxsIHRoZSB2aXJ0dWFsIG1hY2hpbmUuCgkgIFRoZSBlcnJvciBoYW5kbGluZyBoZXJlIG5lZWRzIHNvbWUgZnVydGhlciBpbXByb3ZlbWVudHMgdGhvdWdoLCBlcnJvcnMgaW4gbW9yZQoJICBwbGFjZXMgYXJlIGp1c3QgaWdub3JlZC4KCjIwMTYtMDEtMjIgMTc6MjI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IEluaXRpYWxpemUgR0Vycm9yIHBvaW50ZXIgd2l0aCBOVUxMCgkgIE90aGVyd2lzZSB0aGVyZSB3aWxsIGJlIGFzc2VydGlvbnMuCgoyMDE2LTAxLTIyIDE3OjE4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogT25seSBmcmVlIEdzdEFtY0J1ZmZlciBpZiBpdCdzIG5vdCBOVUxMCgkgIEFuZCBhbHNvIGZyZWUgaXQgb24gR0wgZXJyb3JzLgoKMjAxNi0wMS0xMyAyMjowNTo0OSArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGN0b25kZW1hbmQuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt2aWRlb3NyYzogaW1wbGVtZW50IFJHQiBjYXB0dXJlIHN1cHBvcnQKCSAgQ29tYmluZSBtb2RlIGFuZCBmb3JtYXQgdG8gZ2VuZXJhdGUgY2FwcyBhbmQgc3VwcG9ydCB0aGUgZmxhZ3MgZnJvbSBWaWRlb0NoYW5nZWQgY2FsbGJhY2sgdG8gc3VwcG9ydCBSR0IgY2FwdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU5NAoKMjAxNi0wMS0yMiAxNjoyMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFtYzogQWRkIGFuIGFzc2VydGlvbiBmb3IgTlVMTCBHRXJyb3JzCgkgIFNob3VsZCBuZXZlciBoYXBwZW4hIEJ1dCBhbiBhc3NlcnRpb24gaXMgYmV0dGVyIHRoYW4gYSBOVUxMIHBvaW50ZXIKCSAgZGVyZWZlcmVuY2UuCgoyMDE2LTAxLTIyIDE2OjE0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMS0yMiAxNjoxMzo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtYzogTWVkaWFDb2RlYzo6Z2V0T3V0cHV0QnVmZmVyKCkgY2FuIHJldHVybiBOVUxMIHdpdGhvdXQgZXhjZXB0aW9uCgkgIEhhcHBlbnMgd2hlbiBkb2luZyB6ZXJvY29weSByZW5kZXJpbmcsIG9yIHdoZW4gcGFzc2luZyBhIHdyb25nIGluZGV4IHRvIGl0LgoJICBIYW5kbGUgdGhpcyBwcm9wZXJseSBmb3IgemVyb2NvcHkgcmVuZGVyaW5nLCBmYWlsIHByb3Blcmx5IGZvciB0aGUgb3RoZXIKCSAgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5NjEKCjIwMTYtMDEtMTYgMTg6NTk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgYmFzZS9hdWRpby92aWRlbzogSW5zdGFsbCBoZWFkZXJzIGFuZCBwa2ctY29uZmlnIGZpbGVzCgkgIFRoZXkgYXJlIHN0aWxsIGNvbnNpZGVyZWQgdW5zdGFibGUgQVBJIGJ1dCBpdCB3b3VsZCBiZSBnb29kIHRvIGdpdmUgdGhlbSBzb21lCgkgIHdpZGVyIHRlc3RpbmcgYWxyZWFkeSB0byBtYWtlIHN1cmUgdGhlIEFQSSBpcyB1c2VmdWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3MzMKCjIwMTYtMDEtMTYgMTg6NTY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby5wYy5pbjoKCSAgYXVkaW86IE1vdmUgYXVkaW9hZ2dyZWdhdG9yIGJhc2UgY2xhc3MgdG8gYSBsaWJyYXJ5CgkgIEl0J3MgdXNlZnVsIGVub3VnaCBhbHJlYWR5IHRvIGJlIHVzZWQgaW4gb3RoZXIgZWxlbWVudHMgZm9yIGF1ZGlvIGFnZ3JlZ2F0aW9uLAoJICBsZXQncyBnaXZlIHBlb3BsZSB0aGUgb3Bwb3J0dW5pdHkgdG8gdXNlIGl0IGFuZCBnaXZlIGl0IHNvbWUgQVBJIHRlc3RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA3MzMKCjIwMTYtMDEtMjEgMjM6MTM6MzYgKzAxMDAgIEhvbGdlciBLYWVsYmVyZXIgPGhvbGdlci5rQGVsYmVyZXIuZGU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBnbHdpbmRvdzogRml4IGFuZHJvaWQgYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk3MgoKMjAxNi0wMS0yMiAxMzo1MTo0OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB0ZXh0dXJlIGNhY2hlOiBjb3B5IHRoZSBpbnB1dCBtZXRhcwoJICBDb3B5IHRoZSBpbnB1dCBtZXRhcyBzbyBhdmZ2aWRlb3NyYyBhbmQgdnRlbmMgY2FuIGZhc3QgcGF0aCB0byB1c2luZwoJICBDVlBpeGVsQnVmZmVyKHMpIGV2ZW4gd2hlbiB1c2luZyBHTE1lbW9yeS4KCjIwMTYtMDEtMjEgMTM6NTA6NDQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEnCgkgIFRoaXMgYnJhbmNoIGFkZHMgc3VwcG9ydCBmb3IgQW5kcm9pZCBIYXJkd2FyZSBDYW1lcmEgQVBJIHRocm91Z2ggYSBuZXcKCSAgZWxlbWVudCBjYWxsZWQgYWhjc3JjLiBUaGlzIGlzIHRoZSAib2xkIiBBbmRyb2lkIENhbWVyYSBBUEksIHRoZW4gb25seQoJICBBUEkgYXZhaWxhYmxlIG9uIEFuZHJvaWQgNC5YLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zi5jZ2k/aWQ9NzM3Nzg2CgoyMDE2LTAxLTA4IDE2OjE2OjA5IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGNzcmM6IEZpeCBsYXRlbmN5IHJlcG9ydGluZwoJICBDdXJyZW50bHkgaXQgd2FzIHdyb25nbHkgcmVwb3J0aW5nIG1pbi9tYXggYXMgYmVpbmcgdGhlIHNob3J0ZXN0IGFuZAoJICBsb25nZXN0IHBvc3NpYmxlIGZyYW1lIGR1cmF0aW9uLiBUaGlzIGlzIG5vdCBob3cgbGF0ZW5jeSB3b3JrcyBpbgoJICBHU3RyZWFtZXIuCgkgIEZpeCBieSByZXBvcnRpbmcgbWluIGxhdGVuY3kgYXMgYmVpbmcgdGhlIGxvbmdlc3QgcG9zc2libGUgZHVyYXRpb24gb2YKCSAgb25lIGZyYW1lLiBBcyB3ZSBkb24ndCBrbm93IGhvdyBtYW55IGJ1ZmZlcnMgdGhlIHN0YWNrIGNhbiBhY2N1bXVsYXRlLCB3ZQoJICBzaW1wbHkgYXNzdW1lIHRoYXQgbWF4IGxhdGVuY3kgaXMgdGhlIHNhbWUgKHRoZSB1c3VhbCBkZWZhdWx0IGJlaGF2aW91cikuCgoyMDE1LTEyLTA3IDE0OjMxOjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiBmaXggZGVhZGxvY2sgd2hlbiBmbHVzaGluZwoJICBfZGF0YV9xdWV1ZV9pdGVtX2ZyZWUoKSBjYWxscyBnc3RfYnVmZmVyX3VucmVmKCksIHdoaWNoCgkgIGNhbGxzIGdzdF9haGNfc3JjX2J1ZmZlcl9mcmVlX2Z1bmMoKSwgd2hpY2ggY2FsbHMKCSAgZ19tdXRleF9sb2NrKCkgb24gc2VsZi0+bXV0ZXggYW5kIHRoZXJlIHlvdSBnby4uLiBkZWFkbG9jayEKCjIwMTUtMTItMjQgMTI6NTE6MTMgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkgIGFoY3NyYzogcG9ydGluZyBmcm9tIDAuMTAgdG8gMS4wCgoyMDE1LTEyLTI0IDEyOjE0OjI0ICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZHZtL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWR2bS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0ucGMuaW46CgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9jb20vZ3N0cmVhbWVyL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY2NhbGxiYWNrLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5oOgoJICBtb3ZlIGFuZHJvaWRjYW1lcmEgaW50byBhbmRyb2lkbWVkaWEKCSAgVGhpcyBjb21taXQgaXMgYSBwYXJ0IG9mIHBvcnRuZyBhbmRyb2lkIGhhcmR3YXJlIGNhbWVyYSBmcm9tIDAuMTAgaW1wbGVtZW50YXRpb24uCgkgIFRvIHByZXNlcnZlIGhpc3RvcnkgYW5kIGdldCBkaWZmIGNsZWFybHksIHRoZSBpbnRlcmVzdGluZyBmaWxlcyBhcmUgbW92ZWQgdG8KCSAgZGVwbG95bWVudCBkaXJlY3RvcnkgYW5kIHRoZSByZW1haW5pbmcgZmlsZXMgYXJlIHJlbW92ZWQuCgoyMDEzLTAxLTA3IDE4OjI3OjQwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogU2VwYXJhdGUgcmVsZWFzZSBhbmQgZnJlZSBBUElzCgoyMDEzLTAxLTA3IDE4OjIwOjQ3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBnZXRfbGV2ZWwgYW5kIGdldF9wcm9maWxlIGV4Y2VwdGlvbiBjaGVja2luZyBieSBub3QgdXNpbmcgcmV0dXJuCgoyMDEzLTAxLTA3IDE4OjE5OjI4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGV4dGVybiBnaW50IGRlY2xhcmF0aW9ucwoKMjAxMy0wMS0wNyAxODoxODoxOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmg6CgkgIGdzdGR2bTogRml4IEdTVF9EVk1fR0VUX1NUQVRJQ19GSUVMRAoKMjAxMi0xMS0yOSAyMDoxMDoxOSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBTbWFsbCByZWZhY3RvciBpbiBjYXNlIG9wZW4gZG9lc24ndCB0aHJvdyBhbiBleGNlcHRpb24gYnV0IHJldHVybnMgbnVsbAoKMjAxMi0xMi0xMyAxNzo1Nzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTItMTMgMTc6NTY6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkgIGR2bTogUmVuYW1lIGdzdC1kdm0uW2NoXSB0byBnc3Rkdm0uW2NoXSBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBHU3RyZWFtZXIgY29kZQoKMjAxMi0xMi0xMyAxNzo0MDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uYzoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmg6CgkgIGR2bTogQWRkIG5ldyBmdW5jdGlvbiB0byBjaGVjayBpZiB3ZSBzdGFydGVkIGEgVk0gb3Igb25seSB1c2VkIGFuIGV4aXN0aW5nIG9uZQoKMjAxMi0xMi0xMyAxNzo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBldmVyeXRoaW5nIGNvbXBpbGUgd2l0aCB0aGUgbmV3IHdyYXBwZXJzCgoyMDEyLTEyLTEzIDEyOjEzOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgcmVtYWluaW5nIGJpdHMgb2YgdGhlIEphdmEgd3JhcHBlcnMgdXNpbmcgbGliZ3N0ZHZtCgoyMDEyLTEyLTEzIDEyOjEzOjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5oOgoJICBkdm06IEFkZCBzb21lIG1vcmUgaGVscGVyIG1hY3JvcwoKMjAxMi0xMi0xMiAxODoxMDoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbW92ZSBnX3JldHVybl9pZl9mYWlscygpCgkgIFRoaXMgaXMgbm90IHB1YmxpYyBBUEkgc28gaXQgaGFzIG5vIGFkdmFudGFnZSB0byBoYXZlIHRoZW0gaGVyZS4KCjIwMTItMTEtMjggMjA6NTM6NTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5oOgoJICBhbmRyb2lkbWVkaWE6IFVzZSBnc3QtZHZtIGFuZCByZWZhY3RvciBqYXZhIHdyYXBwZXJzIChXSVApCgkgIE1vdmVkIHRoZSBqYXZhIHdyYXBwZXIgQVBJIGludG8gaXRzIG93biBmaWxlcyBhbmQgbWFkZSB1c2Ugb2YgdGhlCgkgIGdzdC1kdm0gbWFjcm9zLiBBbHNvIHJlbmFtZWQgdGhlIEFQSSB0byBoYXZlIHRoZSBwcm9wZXIgbmFtaW5nCgkgIGNvbnZlbnRpb24gYW5kIGNvZGluZyBzdHlsZSBpbiBvcmRlciB0byBtYXRjaCB0aGUgb25lIGluIGFuZHJvaWRjYW1lcmEuCgkgIFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzISAiYW5kcm9pZC9tZWRpYS9NZWRpYUNvZGVjTGlzdCIgaXMgc3RpbGwgbWlzc2luZwoJICBhbmQgdGhlIGFjdHVhbCBlbGVtZW50cyBoYXZlIG5vdCBiZWVuIHBvcnRlZCB0byB1c2UgdGhlIG5ldyBmdW5jdGlvbiBuYW1lcy4KCjIwMTItMTEtMjggMTU6MjY6NDkgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIEdfQkVHSU4vRU5EX0RFQ0xTIHRvIHRoZSAuaAoKMjAxMi0xMS0yNyAxOToyNTowNiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLnBjLmluOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBnc3QtZHZtOiBDcmVhdGUgYSBnc3QtZHZtIGxpYnJhcnkgdXNpbmcgcGFydCBvZiBhbmRyb2lkY2FtZXJhCgoyMDEyLTExLTI3IDE3OjI0OjM1IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZGluZyBhIGRldmljZS1uYW1lIHByb3BlcnR5CgoyMDEyLTExLTIwIDE5OjU2OjIyIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFuZHJvaWRjYW1lcmEueG1sOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBlbGVtZW50IGRvY3VtZW50YXRpb24KCjIwMTItMTEtMTkgMTg6MjU6MTIgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZGNhbWVyYTogUHJldHRpZnkgdGhlIGdzdGFoY2NhbGxiYWNrLmMgZ2VuZXJhdGlvbiBsaW5lIGluIHRoZSBtYWtlZmlsZQoKMjAxMi0xMS0xNSAxMjozMzoyNiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2ljYW1lcmE6IE1ha2Ugc3VyZSB0aGUgVE1QIGVudiB2YXIgZXhpc3RzIGFuZCBjaGVjayBmb3IgREVYIHZhciB0b28KCjIwMTItMTEtMTQgMTE6Mzg6NTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogRG8gbm90IHVzZSBnc3RfbGlzdF9mcmVlX2Z1bGwgc2luY2UgaXQgcmVxdWlyZXMgZ2xpYiAyLjI4CgoyMDEyLTExLTEyIDE4OjU5OjU3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgc21vb3RoLXpvb20gcHJvcGVydHkgZm9yIHNtb290aCB6b29taW5nIGZlYXR1cmUKCjIwMTItMTEtMTIgMTg6MTk6MjAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGZvY2FsLWxlbmd0aCwgdmlldy1hbmdsZSBhbmQgdmlkZW8tc3RhYmlsaXphdGlvbiBwcm9wZXJ0aWVzCgoyMDEyLTExLTEyIDE4OjE4OjExIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgdmlkZW8gc3RhYmlsaXphdGlvbiBBUEkKCjIwMTItMTEtMTIgMTY6Mzg6NDAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIHByb3BlcnR5IHByb2JlIGZvciB0aGUgcGhvdG9ncmFwaHkgcHJvcGVydGllcwoKMjAxMi0xMS0wOSAxODoyMToyMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBTbWFsbCByZWZhY3RvcgoKMjAxMi0xMS0wOSAxNjo1NzozMCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggc21hbGwgbWVtbGVhawoKMjAxMi0xMS0wOSAxNjo1NTo1NyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBTdG9yZSBHUGFyYW1TcGVjIGZvciBwcm9wZXJ0aWVzIGFuZCB1c2UgdGhhdCBmb3IgdGhlIFByb3BlcnR5UHJvYmUgY29tcGFyaXNvbgoKMjAxMi0xMS0wOSAxMjoyMzozNyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBIYW5kbGUgem9vbSBjb21wYXJpc29uIGJldHRlciwgYW5kIGF2b2lkIGZsb2F0IHByZWNpc2lvbiBpc3N1ZQoKMjAxMi0xMS0wOSAxMjoyMjoxMiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggRVYgY29tcGVuc2F0aW9uIHN1cHBvcnQKCjIwMTItMTEtMDcgMTk6MTY6MDUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogSW1wbGVtZW50IG5ldyBHc3RQaG90b2dyYXBoeSBlbnVtcwoKMjAxMi0xMS0wNyAxNTozODoxOSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBEbyBub3QgYWR2ZXJ0aXNlIHpvb20gY2FwYWJpbGl0aWVzIGlmIGNhbWVyYSBkb2Vzbid0IHN1cHBvcnQgem9vbQoKMjAxMi0xMS0wNyAxNTozNzo0MyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBCZSBOVUxMLXNhZmUgd2hlbiBhIEpOSSBsaXN0IGlzIHJldHVybmVkCgoyMDEyLTExLTAyIDE4OjA3OjI0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFVzZSBzdHJjbXAgb24gdGhlIEdQYXJhbVNwZWMgcHJvcGVydHkgbmFtZQoJICBVc2Ugc3RyY21wIGluc3RlYWQgb2YgdXNpbmcgdGhlIHByb3BlcnR5X2lkIGJlY2F1c2UgaXQncyBvdmVycmlkZW4KCjIwMTItMTEtMDIgMTg6MDA6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBJbXBsZW1lbnQgcHJvcGVydHkgcHJvYmUgZm9yIHpvb20gYW5kIGV2X2NvbXBlbnNhdGlvbgoKMjAxMi0xMS0wMiAxNzowMDo0NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2NvbS9nc3RyZWFtZXIvR3N0QWhjQ2FsbGJhY2suamF2YToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGF1dG9mb2N1cyBzdXBwb3J0CgoyMDEyLTExLTAyIDE2OjU5OjQyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IE92ZXJyaWRlIHByb3BlcnRpZXMKCjIwMTItMTEtMDEgMTU6MjQ6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5yb2lkY2FtZXJhOiBBZGQgc3VwcG9ydCBmb3IgdGhlIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZQoKMjAxMi0xMS0wMSAxMTo1ODozMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIG1vcmUgd3JhcHBlcnMgZm9yIHRoZSBDYW1lcmEuUGFyYW1ldGVycyBjbGFzcwoKMjAxMi0xMC0zMSAxNDoyMTo0NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBTZW5kIHByb3BlciBlcnJvciB3aGVuIHVuYWJsZSB0byBvcGVuIGNhbWVyYQoKMjAxMi0xMC0zMCAxMjoxMzoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGRpbmcgZGV2aWNlLW9yaWVudGF0aW9uIGFuZCBkZXZpY2UtZmFjaW5nIHByb3BlcnRpZXMKCjIwMTItMTAtMzAgMTE6MzU6MzYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBkZXZpY2UgcHJvcGVydHkgYW5kIHByb3BlcnR5IHByb2JlIGl0CgoyMDEyLTEwLTMwIDEwOjEyOjA2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBtZW1sZWFrIGFuZCBsb3NlIG9mIGJ1ZmZlciBpZiB0aGUgZGF0YSBxdWV1ZSBpcyBmbHVzaGluZwoKMjAxMi0xMC0zMCAwOTo0OTozOSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBDYWxsaW5nIHNldF9wcmV2aWV3X2NhbGxiYWNrIHdpdGggTlVMTCBmcmVlcyBhbGwgdGhlIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLgoJICBXZSBtdXN0IG5vdCBkbyBpdCBhdCB0aGUgc3RvcCBvdGhlcndpc2Ugd2UgbG9zZSBhbGwgb3VyIGJ1ZmZlcnMuIEl0J3MgYmVzdCB0byBkbwoJICBpdCBkdXJpbmcgdGhlIGNsb3NlLCBzbyB3ZSBmcmVlIHVwIHRoZSByZXNvdXJjZXMuCgoyMDEyLTEwLTMwIDA5OjQ5OjAzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IERyb3AgZnJhbWVzIGlmIHdlIGRvbid0IGhhdmUgYSBjbG9jayBhbmQgdmFyIHJlbmFtZQoKMjAxMi0xMC0zMCAwOTo0NTo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2ljYW1lcmE6IGlmIGJ1ZmZlciBzaXplIGluY3JlYXNlcywgdGhlbiByZWFkZCBuZXcgYnVmZmVycyB0byB0aGUgcXVldWUgYW5kIGRyb3Agb2xkIG9uZXMKCSAgVGhlIG9uX3ByZXZpZXcgY2FsbGJhY2sgZ2V0cyBjYWxsZWQgd2l0aCBOVUxMIGlmIHRoZSBidWZmZXIgaW4gdGhlIHF1ZXVlIGlzCgkgIHRvbyBzbWFsbCwgc28gd2UgbmVlZCB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGFycmF5IGlzIE5VTEwuIEFsc28KCSAgdGhlcmUgaXMgYSBidWcgaW4gdGhlIGFuZHJvaWQgc291cmNlIHdoaWNoIG1ha2VzIGl0IGRyb3Agb25lIG9mIHRoZSBidWZmZXJzCgkgIHNvIGlmIHdlIGhhZCA1IGJ1ZmZlcnMsIGFuZCB3ZSByZW5lZ290aWF0ZSB0byBhIGhpZ2hlciByZXNvbHV0aW9uLCB0aGVuIHdlJ2QKCSAgb25seSBnZXQgNCBjYWxscyB0byBvbl9wcmV2aWV3X2ZyYW1lIHdpdGggTlVMTCwgd2l0aCBvbmUgYmVpbmcgZHJvcHBlZC4KCSAgVGhpcyBtZWFucyB3ZSBjYW4ndCByZWFsbG9jYXRlIHRoZSBidWZmZXJzIGluIHRoZSBpZiAoZGF0YSA9PSBOVUxMKSBjYXNlCgkgIGJlY2F1c2Ugd2UgbWlnaHQgZW5kIHVwIHdpdGggMCBidWZmZXJzIGluIHRoZSBlbmQuCgoyMDEyLTEwLTMwIDA5OjQ0OjMxIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IElmIGNhbGxiYWNrIGlzIE5VTEwgdGhlbiBzZXQgaXQgdG8gTlVMTCBpbiBqbmkKCjIwMTYtMDEtMjEgMTM6NDY6NTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggZGVidWcgb3V0cHV0CgoyMDEyLTEwLTI2IDEyOjU3OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBDaG9zZSB0aGUgc21hbGxlc3QgcmFuZ2UgdGhhdCBjb250YWlucyB0aGUgdGFyZ2V0IGZyYW1lcmF0ZQoKMjAxMi0xMC0yNiAxMjo0MzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogSW1wcm92ZSBuZWdvdGlhdGlvbgoJICBBbmQgbWFrZSBzdXJlIHdlIHNldCBhbiBGUFMgcmFuZ2UgZnJvbSB0aGUgc3VwcG9ydGVkIG9uZXMKCSAgbm93IGluc3RlYWQgb2YgYSBwb3RlbnRpYWxseSB1bnN1cHBvcnRlZCByYW5nZS4KCjIwMTItMTAtMjYgMTI6MTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgoyMDEyLTEwLTI2IDExOjU3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBNYWtlIHN1cmUgd2UgYWx3YXlzIGhhdmUgYSB2YWxpZCBjYW1lcmEgc291cmNlIGluc3RhbmNlIGluIHRoZSBidWZmZXIgZnJlZSBmdW5jdGlvbgoKMjAxMi0xMC0yNiAxMTo0NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IE1ha2Ugc3VyZSB0byBub3QgY2FsbCBhbnkgY2FsbGJhY2tzIGFmdGVyIHN0b3BwaW5nIHRoZSBjYW1lcmEKCSAgRml4ZXMgc2VnZmF1bHRzIHdoZW4gcm90YXRpbmcgdGhlIGRldmljZSBmb3IgZXhhbXBsZS4KCjIwMTItMTAtMjQgMTU6MjU6NTQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IHRpbWVzdGFtcGluZyBpc3N1ZQoKMjAxMi0xMC0yNCAxMzo1OTo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGNhcHMgbmVnb3RpYXRpb24gc3VwcG9ydAoKMjAxMi0xMC0yNCAxMDo1NTo1MiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgZ2V0Y2FwcyB0aGF0IHByb2JlcyB0aGUgY2FtZXJhIGZvciBjYXBhYmlsaXRpZXMKCjIwMTItMTAtMjMgMTM6NTQ6NDYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEcm9wIHRoZSBmaXJzdCBidWZmZXIgdG8gaGF2ZSBwcm9wZXIgdGltZXN0YW1waW5nCgoyMDEyLTEwLTIzIDExOjE0OjAwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogRmx1c2ggdGhlIHF1ZXVlIHdoZW4gdGhlIHNvdXJjZSBpcyBzdG9wcGVkCgoyMDEyLTEwLTIzIDExOjEzOjM3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogQWxsb2NhdGUvZnJlZSB0ZXh0dXJlIHdoZW4gY2FtZXJhIGlzIG9wZW4vY2xvc2VkCgoyMDEyLTEwLTIzIDExOjEzOjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogYWRkIGEgZ3N0X2FoY19zcmNfY2xvc2UgZnVuY3Rpb24KCjIwMTItMTAtMjMgMTE6MTI6MTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggc21hbGwgaW5kZW50YXRpb24gaXNzdWVzCgoyMDEyLTEwLTIzIDEwOjEyOjUyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogRGlzYWJsZSBwbHVnaW4gaWYgYW5kcm9pZC1zZGsgaXNuJ3QgZm91bmQgYW5kIGR5bmFtaWNhbGx5IHNlYXJjaCBmb3IgcGxhdGZvcm0gdmVyc2lvbgoKMjAxMi0xMC0yMyAwOTowMTo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9jb20vZ3N0cmVhbWVyL0dzdEFoY0NhbGxiYWNrLmphdmE6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNjYWxsYmFjay5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgc3VwcG9ydCBmb3IgdXNpbmcgRGV4TG9hZGVyIHdpdGggRW1iZWRlZCBHc3RBaGNDYWxsYmFjay5qYXIKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IGNvbXBpbGF0aW9uIGlzc3VlcwoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZGNhbWVyYS5jOgoJICBSZW1vdmUgcHJldmlvdXMgY3J1ZnQgYW5kIGNyZWF0ZSBhbmRyb2lkY2FtZXJhIHBsdWdpbgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBGcmVlIHRoZSBidWZmZXJzIGFuZCByZWFkZCB0aGUgYXJyYXlzIHdoZW4gdGhlIHF1ZXVlIGlzIGNsZWFyZWQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWR2bS5oOgoJICBBZGQgYSBHU1RfRFZNX0NBTEwgbWFjcm8gdG8gZWFzZSBmdW5jdGlvbiBjYWxsaW5nIHdpdGggZXhjZXB0aW9uIGNoZWNrCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBDYWxjdWxhdGUgdGltZXN0YW1wIGF0IHJlY2VwdGlvbiBvZiB0aGUgYnVmZmVyLCBub3Qgd2hlbiBwdXNoaW5nIGl0IG91dAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBNYWtlIHRoZSBudW1iZXIgb2YgY2FsbGJhY2sgYnVmZmVycyBjb25maWd1cmFibGUsIGFuZCBkZWxldGUgdGhlaXIgbG9jYWwgcmVmCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBVc2UgR3N0RGF0YVF1ZXVlIGluc3RlYWQgb2YgR0FzeW5jUXVldWUgZm9yIHN0b3JpbmcgYnVmZmVycwoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBVc2UgdGhlIGJ1ZmZlcidzIGZyZWVfZnVuYyB0byBtYXAgYnl0ZUFycmF5IGRhdGEgd2l0aG91dCBtYWtpbmcgYSBjb3B5CgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIFJlbW92ZSBvcGVuIGZhaWx1cmUgdGVzdCBjb2RlIGFuZCBkZWJ1ZyBsb2cKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgVXNlIFlWMTIgYXMgdGhlIGRlZmF1bHQgZm9ybWF0CgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZG1lZGlhLmM6CgkgIEFkZCBhIGRlaW5pdCBmdW5jdGlvbiBhbmQgcmVtb3ZlIGpjbGFzcyByZWZlcmVuY2VzIGluIGNhc2Ugb2YgZXJyb3IKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJICBTdXJmYWNlVGV4dHVyZSBjb25zdHJ1Y3R1cmUgbmVlZHMgdGV4dHVyZV9pZAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZG1lZGlhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgQWRkIGFoY3NyYyBDYW1lcmEgc291cmNlIGVsZW1lbnQgcHJvdG90eXBlCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuaDoKCSAgQWRkIGFuZHJvaWQuaGFyZHdhcmUuQ2FtZXJhIChhbmQgZGVwcykgSk5JIHdyYXBwZXJzCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1kdm0uYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWR2bS5oOgoJICBBZGRpbmcgRGFsdmlrIFZpcnR1YWwgTWFjaGluZSByb3V0aW5lcyBhbmQgbWFjcm9zCgoyMDEyLTEwLTE3IDE3OjU2OjMzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkbWVkaWEuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYW5kcm9pZG1lZGlhIHBsdWdpbgoKMjAxNi0wMS0xNSAxNDozMTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHRvbmVnZW5lcmF0ZXNyYy5jOgoJKiBleHQvc3BhbmRzcC9nc3R0b25lZ2VuZXJhdGVzcmMuaDoKCSAgc3BhbmRzcDogQWRkIHRvbmUgZ2VuZXJhdG9yCgoyMDE1LTA3LTE0IDEzOjQwOjQ2ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBzZXQgbm9uLTAgcGF5bG9hZCBsZW5ndGggaW4gUEVTIGhlYWRlciBpZiB2aWRlbyBFUyBwYWNrZXQgaXMgc21hbGwgZW5vdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MDcKCjIwMTUtMDctMTQgMTM6NDI6NTQgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHJlc2V0IHBlc19ieXRlc193cml0dGVuIHdoZW4gc3RhcnRpbmcgdG8gd3JpdGUgbmV3IFBFUyBwYWNrZXQKCSAgSW4gY2FzZSBvZiBhbiB1bmJvdW5kZWQgcGFja2V0ICh2aWRlbyB1c3VhbGx5KSwgcGVzX2J5dGVzX3dyaXR0ZW4gd2FzCgkgIG5vIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTA3CgoyMDE2LTAxLTE5IDE3OjA4OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIEguMjY1L0hFVkMgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM2NwoKMjAxNi0wMS0xOSAxMzoyMDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBnbDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjLTYKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGVmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6MjU6MDoKCSAgZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoxNzQ6MzI6IGVycm9yOiAneHJheV9jdXJ2ZScgZGVmaW5lZCBidXQgbm90IHVzZWQKCSAgc3RhdGljIGNvbnN0IEdzdEdMRWZmZWN0c0N1cnZlIHhyYXlfY3VydmUgPSB7CgkgIC4uLgoKMjAxNi0wMS0xOSAwODozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSAgbGliczogZy1pOiBmaXggaW5pdCBzZWN0aW9uIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzCgkgIC4uR3N0UGxheWVyLTEuMC5jOiBJbiBmdW5jdGlvbiDigJhtYWlu4oCZOgoJICAuLkdzdFBsYXllci0xLjAuYzo1ODc6Mzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZ3N0X2luaXTigJkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDA5MAoKMjAxNi0wMS0xOSAxOToxODo0MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogZml4IGJ1aWxkIG9uIGlPUwoKMjAxNi0wMS0xOSAxNTo1MDoyMiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBhbHdheXMgZmlsbCBHc3RCdWZmZXJzIHdpdGggR3N0TWVtb3J5CgkgIEFsd2F5cyBmaWxsIGJ1ZmZlcnMgd2l0aCBvdXIgY3VzdG9tIG1lbW9yeS4gVGhlIGN1c3RvbSBtZW1vcnkgd2lsbCBhdm9pZAoJICBtYXBwaW5nIENWL0NNIGJ1ZmZlcnMgdW5sZXNzIG5lY2Vzc2FyeS4KCjIwMTUtMDQtMTkgMDA6MzA6NDggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGltcGxlbWVudCBjb3B5aW5nIG9mIG1ldGEKCSAgQmVmb3JlIHRoaXMsIGJ1ZmZlcnMgd291bGQgbG9zZSB0aGVpciBDb3JlIFZpZGVvIC8gQ29yZSBNZWRpYSBtZXRhCgkgIG92ZXIgaW50ZXJ2aWRlbyogYm91bmRhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMTYKCjIwMTUtMDQtMDIgMjA6MDQ6MTggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogaW1wbGVtZW50IEdzdEFwcGxlQ29yZVZpZGVvTWVtb3J5CgkgIEltcGxlbWVudCBhIG5ldyBtZW1vcnkgdHlwZSB3cmFwcGluZyBDVlBpeGVsQnVmZmVyLgoJICBUaGVyZSBhcmUgdHdvIGltbWVkaWF0ZSBhZHZhbnRhZ2VzOgoJICBhKSBNYWtlIHRoZSBHc3RNZW1vcnkgaXRzZWxmIHJldGFpbiB0aGUgQ1ZQaXhlbEJ1ZmZlci4gUHJldmlvdXNseSwKCSAgdGhlIGNvbnRhaW5pbmcgR3N0QnVmZmVyIHdhcyBzb2xlbHkgcmVzcG9uc2libGUgZm9yIHRoZSBsaWZldGltZSBvZgoJICB0aGUgYmFja2luZyBDVlBpeGVsQnVmZmVyLgoJICBXaXRoIHRoaXMgY2hhbmdlLCB3ZSByZW1vdmUgdGhlIEdTVF9NRU1PUllfRkxBR19OT19TSEFSRSBzbyB0aGF0CgkgIEdzdE1lbW9yeSBvYmplY3RzIGJlIHJlZmVyZW5jZWQgYnkgbXVsdGlwbGUgR3N0QnVmZmVycyAoZG9pbmcgYXdheQoJICB3aXRoIHRoZSBuZWVkIHRvIGNvcHkuKQoJICBiKSBEZWxheSBsb2NraW5nIENWUGl4ZWxCdWZmZXIgaW50byBDUFUgbWVtb3J5IHVudGlsIGl0J3MgYWN0dWFsbHkKCSAgbWFwcGVkIC0tIHBvc3NpYmx5IG5ldmVyLgoJICBUaGUgQ1ZQaXhlbEJ1ZmZlciBvYmplY3QgaXMgc2hhcmVkIGFtb25nIHJlZmVyZW5jZXMsIHNoYXJlcyBhbmQKCSAgKGluIHBsYW5hciBmb3JtYXRzKSBwbGFuZXMsIHNvIGEgd3JhcHBlciBHc3RBcHBsZUNvcmVWaWRlb1BpeGVsQnVmZmVyCgkgIHN0cnVjdHVyZSB3YXMgaW50cm9kdWNlZCB0byBtYW5hZ2UgbG9ja2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIxNgoKMjAxNi0wMS0xOSAxMjo1Njo0MCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSAgYXBwbGVtZWRpYTogaW9zdXJmYWNlbWVtb3J5OiBhbGxvYyB3aXRoIGdfbmV3MAoJICAuLi5zaW5jZSB0aGUgYmFzZSBjbGFzcyBkb2Vzbid0IHVzZSBnX3NsaWNlIGFueW1vcmUKCjIwMTYtMDEtMDggMTE6MDQ6MTMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWRkZWQgY2hlY2sgdGhhdCBhdmFpbGFiaWxpdHlTdGFydFRpbWUgaXMgcHJlc2VudCBmb3IgbGl2ZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2MDIKCjIwMTUtMTEtMDQgMTg6MTU6MjQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGFkYXB0aXZlZGVtdXg6IGltcHJvdmVkIGVycm9yIG1lc3NhZ2UgaWYgYXZhaWxhYmlsaXR5U3RhcnRUaW1lIGlzIG1pc3NpbmcgZm9yIGEgbGl2ZSBzdHJlYW0KCSAgRm9yIGEgbGl2ZSBtcGQsIGlmIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSBpcyBtaXNzaW5nLCBhZGFwdGl2ZSBkZW11eCBhc3NlcnRzCgkgIHdpdGg6IFVuZXhwZWN0ZWQgY3JpdGljYWwvd2FybmluZzogZ3N0X2RhdGVfdGltZV90b19nX2RhdGVfdGltZTogYXNzZXJ0aW9uCgkgICdkYXRldGltZSAhPSBOVUxMJyBmYWlsZWQuCgkgIFRoaXMgcGF0Y2ggaW1wcm92ZXMgdGhlIGVycm9yIG1lc3NhZ2UgdG86CgkgIFVuZXhwZWN0ZWQgY3JpdGljYWwvd2FybmluZzogZ3N0X21wZF9jbGllbnRfc2Vla190b190aW1lOiBhc3NlcnRpb24KCSAgJ2NsaWVudC0+bXBkX25vZGUtPmF2YWlsYWJpbGl0eVN0YXJ0VGltZSAhPSBOVUxMJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzYwMgoKMjAxNi0wMS0xNCAxODoyNzo1MCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmM6CgkgIHRlc3RzOiBhZGFwdGl2ZS1zdHJlbWFpbmc6IGZpeCBtZW1vcnkgbGVhayBpbiB0ZXN0X2h0dHBfc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA2MDAKCjIwMTYtMDEtMTUgMTA6NDk6MTIgLTA1MDAgIE1hdHQgQ3JhbmUgPG1hdHRjcmFuZUB0eWNvaW50LmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBmaXggcG9zc2libGUgZGVhZGxvY2sgaW4gX3JlbmRlcigpLyBfYWxsb2NhdG9yX2ZyZWUoKQoJICBEcm9wIG9iamVjdCBsb2NrIGJlZm9yZSB1bnJlZmluZyBtZW1vcnksIG90aGVyd2lzZSB0aGUgb2JqZWN0CgkgIGxvY2sgbWlnaHQgYmUgdGFrZW4gYWdhaW4gZnJvbSB0aGUgYWxsb2NhdG9yIGFuZCB0aGVuIHRoaW5ncwoJICBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDU1MQoKMjAxNi0wMS0xNiAxNzoxNDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRmlyc3QgbWFrZSBjYXBzIHdyaXRhYmxlIGluIGZpeGF0ZV9jYXBzKCksIHRoZW4gdHJ1bmNhdGUgdGhlbQoJICBUcnVuY2F0aW5nIHJlcXVpcmVzIHdyaXRhYmxlIGNhcHMuCgoyMDE2LTAxLTE2IDE3OjEyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBDYXBzIHBhc3NlZCB0byBmaXhhdGVfY2FwcygpIGFyZSBub3Qgb3duZWQgYnkgdXMgYW5kIGd1YXJhbnRlZWQgdG8gYmUgZml4ZWQKCSAgU28gZG9uJ3QgdHJ5IHRvIGZpeGF0ZSB0aGVtLCB3aGljaCB0YWtlcyBvd25lcnNoaXAgYW5kIHN0ZWFscyB0aGVtIGZyb20KCSAgYmFzZXRyYW5zZm9ybS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY5NgoKMjAxNi0wMS0xNiAxNjo1NTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgUmV2ZXJ0ICJnbHBvb2w6IGZpeCBjYXBzIHJlZmNvdW50IGlzc3VlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNiZGNkZWRmYTAwYjg3ZjFkYjUwNTIxODc4OTE3ODMxOGExNmM3NDMuCgkgIGdzdF9jYXBzX3JlcGxhY2UoKSB0YWtlcyBhIG5ldyByZWZlcmVuY2UgYWxyZWFkeSwgaWYgdGhlcmUgaXMgYSBwcm9ibGVtIHRoZW4KCSAgaXQgaXMgZWxzZXdoZXJlLiBBbmQgdGhlcmUgYXJlIGEgZmV3IHByb2JsZW1zLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDY5NgoKMjAxNi0wMS0xNSAxNjoxMDowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHVubmVlZGVkIHN1Yi1idWZmZXIgY3JlYXRpb24KCSAgV2UgY3JlYXRlIGEgc3ViLWJ1ZmZlciBqdXN0IHRvIGNvcHkgb3ZlciBpdHMgbWV0YXMgYW5kIHRoZW4gdGhyb3cgaXQKCSAgYXdheSBpbW1lZGlhdGVseSwganVzdCB1c2UgdGhlIG9yaWdpbmFsIGlucHV0IGJ1ZmZlciBkaXJlY3RseS4KCjIwMTYtMDEtMTUgMTU6NTY6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogYWRkICJzZW5kIFZQUy9TUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lIiBtb2RlCgkgIEl0J3Mgbm90IGVub3VnaCB0byBoYXZlIHRpbWVvdXQgb3IgZXZlbnQgYmFzZWQgVlBTL1NQUy9QUFMgaW5mb3JtYXRpb24KCSAgc2VudCBpbiBSVFAgcGFja2V0cy4gVGhlcmUgYXJlIHNvbWUgc2NlbmFyaW9zIHdoZW4ga2V5IGZyYW1lcyBtYXkgYXBwZWFyCgkgIG1vcmUgZnJlcXVlbnRseSB0aGFuIG9uY2UgYSBzZWNvbmQsIGluIHdoaWNoIGNhc2UgdGhlIG1pbmltdW0gdGltZW91dAoJICBmb3IgImNvbmZpZy1pbnRlcnZhbCIgb2YgMSBzZWNvbmQgZm9yIHNlbmRpbmcgVlBTL1NQUy9QUFMgaXNuJ3QgZW5vdWdoLgoJICBJdCBtaWdodCBhbHNvIGJlIGRlc2lyYWJsZSBpbiBnZW5lcmFsIHRvIG1ha2Ugc3VyZSB0aGUgVlBTL1NQUy9QUFMgaXMKCSAgYXZhaWxhYmxlIHdpdGggZXZlcnkga2V5ZnJhbWUgKHBhY2tldCBsb3NzIGFzaWRlKSwgc28gcmVjZWl2ZXJzIGNhbgoJICBhY3R1YWxseSBwaWNrIHVwIGRlY29kaW5nIGltbWVkaWF0ZWx5IGZyb20gdGhlIGZpcnN0IGtleWZyYW1lIGlmCgkgIFZQUy9TUFMvUFBTIGlzIG5vdCBzaWduYWxlZCBvdXQgb2YgYmFuZC4KCSAgVGhpcyBjb21taXQgYWRkcyB0aGUgcG9zc2liaWxpdHkgdG8gc2VuZCBWUFMvU1BTL1BQUyB3aXRoIGV2ZXJ5IGtleSBmcmFtZS4KCSAgVGhpcyBtb2RlIGNhbiBiZSBlbmFibGVkIGJ5IHNldHRpbmcgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdG8gLTEuIEluCgkgIHRoaXMgY2FzZSB0aGUgcGF5bG9hZGVyIHdpbGwgYWRkIFZQUywgU1BTIGFuZCBQUFMgYmVmb3JlIGV2ZXJ5IGtleSAoSURSKQoJICBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNi0wMS0xNSAxNToxOTo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwaDI2NXBheTogY2hhbmdlIGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0eXBlIGZyb20gdWludCB0byBpbnQKCSAgVGhpcyB3YXkgd2UgY2FuIHVzZSAtMSBhcyBzcGVjaWFsIHZhbHVlLCB3aGljaCBpcyBuaWNlciB0aGFuIE1BWFVJTlQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4OTIKCjIwMTYtMDEtMTMgMDk6NTE6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlcGxhY2UgZ2hvc3RwYWQgd2l0aCBhIHN0YW5kYXJkIHBhZAoJICBIYW5kbGluZyB0aGUgZ2hvc3RwYWQgYW5kIGl0cyBpbnRlcm5hbCBwYWQgd2FzIGNhdXNpbmcgbW9yZSBpc3N1ZXMKCSAgdGhhbiBoZWxwaW5nIGJlY2F1c2Ugb2YgdGhlaXIgY291cGxlZCBhY3RpdmF0aW9uL2RlYWN0aXZhdGlvbgoJICBhY3Rpb25zLgoJICBBcyB3ZSBoYXZlIHRvIGluc3RhbGwgY3VzdG9tIGNoYWluLGV2ZW50IGFuZCBxdWVyeSBmdW5jdGlvbnMgaXQgaXMKCSAgYmV0dGVyIHRvIHVzZSBhIGZsb2F0aW5nIHNpbmsgcGFkIGludGVybmFsbHkgaW4gdGhlIGRlbXV4ZXIgYW5kIGp1c3QKCSAgdXNlIHRob3NlIHBhZCBmdW5jdGlvbnMgdG8gcHVzaCB0aHJvdWdoIGEgc3RhbmRhcmQgcGFkIGluIHRoZSBkZW11eGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NTEKCjIwMTUtMTEtMTEgMTc6MjQ6MzMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3QgZmx1c2ggdGhlIGlucHV0IHBhZAoJICBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2NsZWFyX2Vvc19hbmRfZmx1c2hfc3RhdGUoKSBmdW5jdGlvbiB3aWxsIGRvCgkgIGFsbCB0aGUgbmVjZXNzYXJ5IGNsZWFuaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTUxCgoyMDE2LTAxLTE1IDExOjQ0OjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgdmlkZW9zZWdtZW50Y2xpcDogZmFpbCB0byBzZXRfY2FwcyBpZiBwcm9ibGVtIGluIGNhcHMgc3RydWN0dXJlCgkgIGdzdF92aWRlb19zZWdtZW50X2NsaXBfc2V0X2NhcHMgKCkgc2hvdWxkIHJldHVybiBGQUxTRSBpZiB0aGVyZSB3YXMgYQoJICBwcm9ibGVtIHJlYWRpbmcgdGhlIGZyYW1lcmF0ZSB2YWx1ZXMgZnJvbSB0aGUgY2FwcyBzdHJ1Y3R1cmUuCgoyMDE2LTAxLTE1IDE3OjAwOjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJICBnbHF1ZXJ5OiBwcm92aWRlIGNvbXBhdCBkZWZpbml0aW9uIGZvciBHTF9RVUVSWV9SRVNVTFQKCSAgZS5nLiBhbmRyb2lkIGRvZXNuJ3QgaGF2ZSBpdAoJICBXaGlsZSB3ZSdyZSBoZXJlIG1vdmUgYSBzdGF0ZSBzcGVjaWZpYyBhc3NlcnRpb24gYWZ0ZXIgdGhlIHN1cHBvcnRlZCBjaGVjay4KCSAgUmVtb3ZlcyBhbiBhc3NlcnRpb24gb24gR0xFUwoKMjAxNi0wMS0xNSAxNjowNzoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBnbDogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBvZiBHTGludDY0CgkgIGUuZy4gYW5yZG9pZCBkb2Vzbid0IGhhdmUgaXQKCjIwMTYtMDEtMDggMjI6MTk6MDYgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2UuYm9yb3Zrb3ZAZ21haWwuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBNYXJrIG1hdGVyaWFsIGRpcnR5IHdoZW4gdGV4dHVyZSBidWZmZXIgaXMgdXBkYXRlZAoJICBRdCBtaWdodCBub3QgcmVkcmF3IHRoZSBzY2VuZSBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyODYKCjIwMTYtMDEtMTUgMTQ6MDA6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xwb29sOiBmaXggY2FwcyByZWZjb3VudCBpc3N1ZQoJICBUaGUgY2FwcyBhcmUgZnJvbSBhbiBhbGxvY2F0aW9uIHF1ZXJ5IHdoaWNoIGFyZSB0cmFuc2ZlciBub25lIGJ1dCB3ZXJlIGJlaW5nCgkgIHRyZWF0ZWQgYXMgdHJhbnNmZXIgZnVsbC4KCjIwMTYtMDEtMTEgMTM6MzA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGxvZyB0aGUgdGltZSBmb3IgZ2xUZXhTdWJJbWFnZS9nbFJlYWRQaXhlbHMKCjIwMTYtMDEtMDggMTg6MzY6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3F1ZXJ5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHF1ZXJ5LmM6CgkgIGdsOiBhZGQgYSBnc3RnbHF1ZXJ5IG9iamVjdCBmb3IgYXJiaXRyYXJ5IEdMIHF1ZXJpZXMKCSAgQ3VycmVudGx5IG9ubHkgR0xfVElNRV9FTEFQU0VEIGFuZCBHTF9USU1FU1RBTVAgYXJlIHN1cHBvcnRlZAoKMjAxNi0wMS0xMSAxNzoyMjoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSAgZ2xkZWJ1ZzogaW1wbGVtZW50IGEgZGVsYXllZCBkZWJ1ZyBzeXN0ZW0KCSAgVGhlIG1lc3NhZ2VzIGFyZSBzdG9yZWQgYnkgZ3N0X2dsX2FzeW5jX2RlYnVnX3N0b3JlX2xvZ19tc2coKSBhbmQgb3V0cHV0IGxhdGVyCgkgIGJ5IGEgY29ycmVzcG9uZGluZyBzdG9yZSgpLCBvdXRwdXQoKSBvciBhbiB1bnNldCgpL2ZyZWUoKS4KCSAgU29tZSB3cmFwcGVyIG1hY3JvcyBhcmUgcHJvdmlkZWQgdG8gYXZvaWQgY2FsbGVycyBleHBsaWNpdGx5IHVzaW5nIF9fRklMRV9fLAoJICBHU1RfRlVOQ1RJT04gYW5kIF9fTElORV9fCgoyMDE2LTAxLTExIDE3OjI2OjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGRlYnVnOiB1c2UgZ3N0X2luZm9fdmFzcHJpbnRmIGluIGluc2VydF9kZWJ1Z19tYXJrZXIoKQoJICBBbGxvd3MgZXhwYW5zaW9uIG9mIEdTVF9QVFJfRk9STUFUIGFuZCBHU1RfU0VHTUVOVF9GT1JNQVQgYXJndW1lbnRzLgoKMjAxNi0wMS0xNSAxMToyMjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBhIHZpZGVvZmxpcCBlbGVtZW50CgkgIEJlaGF2ZXMgZXhhY3RseSB0aGUgc2FtZSBhcyB0aGUgbm9uLUdMIHZpZGVvZmxpcCBlbGVtZW50CgoyMDE2LTAxLTE1IDAwOjA0OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHJlY3JlYXRlIHRoZSBmYm8gb24gY2FwcyBjaGFuZ2VzCgkgIFRoZSB3aWR0aC9oZWlnaHQgbWF5IGNoYW5nZSB3aGljaCByZXF1aXJlcyByZWNyZWF0aW5nIHRoZSBkZXB0aCBidWZmZXIuCgoyMDE2LTAxLTE1IDAwOjAyOjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSAgZ2xiYXNlZmlsdGVyOiBhZGQgYSBjbGFzcyBmdW5jdGlvbiBvbiBzZXRfY2FwcyAoZnJvbSBHTCkKCSAgVGhpcyBpcyBzaW1wbHkgYSBjb252ZW5pZW5jZSB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgdGhyZWFkIG1hcnNoYWxsaW5nIG9uCgkgIHNldF9jYXBzLgoKMjAxNi0wMS0xNSAwMDowMDoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogYWx3YXlzIGJ1aWxkIGEgdmFsaWQgbXZwIG1hdHJpeAoJICBUaGUgZGVmYXVsdCBjYXNlIGlzIHRvIGJ1aWxkIGFuIGlkZW50aXR5IG1hdHJpeC4KCjIwMTYtMDEtMTQgMTk6MDM6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IHN1cHBvcnQgbmVnYXRpdmUgc2NhbGVzCgkgIEEgc2NhbGUgb2YgLTEuMCBtZWFucyB0byBmbGlwIHRoZSB2aWRlby4KCjIwMTYtMDEtMTQgMTg6NDI6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGltcGxlbWVudCBwYXNzdGhyb3VnaCBoYW5kbGluZwoKMjAxNi0wMS0xNCAxNzo0NTowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogaW1wbGVtZW50IG5hdmlnYXRpb24gZXZlbnRzCgkgIFJldmVyc2VzIHRoZSB0cmFuc2Zvcm1hdGlvbiBhcHBsaWVkIHRocm91Z2ggdGhlIHByb3BlcnRpZXMgYW5kIGZvcndhcmRzIHRoZQoJICBldmVudC4KCSAgVGhlIHByb2Nlc3MgZm9yIGZpbmRpbmcgdGhlIGNvb3JkaW5hdGVzIG9uIHRoZSB2aWRlbyBhcmUgYXMgZm9sbG93czoKCSAgMS4gQ29udmVydCB0aGUgZ2l2ZW4gcG9pbnRlcl94IGFuZCBwb2ludGVyX3kgdG8gbW9kZWwgc3BhY2UgYXQgdGhlIG5lYXIgYW5kIGZhciBwbGFuZXMKCSAgMi4gR2V0IHRoZSBlcXVhdGlvbiBvZiB0aGUgdmlkZW8gcGxhbmUKCSAgMy4gRmluZCB3aGVyZSB0aGUgcmF5IGluIDEgaW50ZXJzZWN0cyB0aGUgcGxhbmUKCSAgNC4gUHJvZml0IQoKMjAxNi0wMS0xNCAxNjo1OToxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZW1vdmUgcmVkdW50YW50IGdsaW1hZ2VzaW5rIGZyb20gZGVidWcgbG9nZ2luZwoKMjAxNi0wMS0xNCAxNjo1Nzo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExL25hdmlnYXRpb246IGFkZCBidXR0b24gcHJlc3MgdG8gdGhlIHNlbGVjdGVkIGV2ZW50IG1hc2sKCSAgT3RoZXJ3aXNlIHdlIHdvbid0IGdldCB0aGUgYnV0dG9uIHByZXNzIGV2ZW50cyBhbmQgR3N0TmF2aWdhdGlvbiBmYWlscy4KCjIwMTYtMDEtMTQgMTY6MDA6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB0cnkgaGFyZGVyIHRvIHBhc3N0aHJvdWdoCgkgIFRoaXMgbWFrZXMgYSBwaXBlbGluZSBsaWtlOgoJICAuLi4gISB2aWRlby94LXJhdyhtZW1vcnk6R0xNZW1vcnkpLGZvcm1hdD1VWVZZICEgZ2xjb2xvcmNvbnZlcnQgIQoJICB2aWRlby94LXJhdyhtZW1vcnk6R0xNZW1vcnkpLGZvcm1hdD17VVlWWSwgTlYxMn0gISAuLi4KCSAgcGFzc3Rocm91Z2ggaW5zdGVhZCBvZiBjb252ZXJ0aW5nIFVZVlkgPT4gTlYxMi4gVGhlIGNvbnZlcnNpb24gd291bGQgaGFwcGVuCgkgIGJlZm9yZSB0aGlzIGNoYW5nZSBzaW5jZSB0aGUgZWxlbWVudCAoYW5kIGJhc2V0cmFuc2Zvcm0pIHRyYW5zZm9ybSB0aGUgc3JjIGNhcHMKCSAgdG8gZm9ybWF0PXtOVjEyLCBVWVZZfSAoc2luY2UgTlYxMiBjb21lcyBmaXJzdCBpbiB0aGUgZ2xjb2xvcmNvbnZlcnQ6c3JjCgkgIHRlbXBsYXRlKSBhbmQgdGhlbiB0aGUgZGVmYXVsdCBjYXBzIGZpeGF0ZSBmdW5jIHdvdWxkIGZpeGF0ZSB0byBOVjEyLiBCbGFoLgoJICBBbHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBpbnRlcnNlY3QgYWdhaW5zdCB0aGUgdGVtcGxhdGUgY2FwcyBpbiA6OnRyYW5zZm9ybV9jYXBzCgkgIHNpbmNlIGJhc2V0cmFuc2Zvcm0gZG9lcyB0aGF0IHJpZ2h0IGFmdGVyIGNhbGxpbmcgdGhlIHZmdW5jLgoKMjAxNi0wMS0xMiAxODozMToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGltcGxlbWVudCBhIGNvbG9yYmFsYW5jZSBlbGVtZW50CgkgIEl0IHBlcmZvcm1zIHRoZSBleGFjdCBzYW1lIG9wZXJhdGlvbiBhcyB2aWRlb2JhbGFuY2UgYnV0IHdpdGggb3BlbmdsIHNoYWRlcnMgYW5kCgkgIHdhcyB0ZXN0ZWQgd2l0aCBnbHZpZGVvbWl4ZXIgYnkgY29tcGFyaW5nIGZyYW1lcyBmcm9tIHZpZGVvYmFsYW5jZSBhbmQKCSAgZ2xjb2xvcmJhbGFuY2UuCgoyMDE2LTAxLTEyIDE4OjIxOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgZ2xCbGVuZEZ1bmMgYW5kIGdsQmxlbmRFcXVhdGlvbgoJICBBbGxvd3MgbW9yZSBibGVuZGluZyBvcHRpb25zIHRoYW4ganVzdCBBIG92ZXIgQgoJICBlLmcuIGZyYW1lIGNvbXBhcmlzb25zIGFyZSBub3cgcG9zc2libGUuCgkgIGdsdmlkZW9taXhlciBuYW1lPW0KCSAgc2lua18wOjp6b3JkZXI9MAoJICBzaW5rXzE6OnpvcmRlcj0xCgkgIHNpbmtfMTo6YmxlbmQtZXF1YXRpb24tcmdiPXtzdWJ0cmFjdCxyZXZlcnNlLXN1YnRyYWN0fQoJICBzaW5rXzE6OmJsZW5kLWZ1bmN0aW9uLXNyYy1yZ2I9c3JjLWNvbG9yCgkgIHNpbmtfMTo6YmxlbmQtZnVuY3Rpb24tZHN0LXJnYj1kc3QtY29sb3IKCSAgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49Y2hlY2tlcnMtNCAhIG0uc2lua18wCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWNoZWNrZXJzLTggISBtLnNpbmtfMQoKMjAxNi0wMS0wOCAxODozODo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogYWRkIGEgc3BlY2lmaWMgY2F0ZWdvcnkgZm9yIHRoZSBkZWJ1ZyBzcGFtIGZyb20gdGhlIGRyaXZlcgoKMjAxNi0wMS0xMiAxNDo1NDoyMyArMDAwMCAgVGltIFNoZXJpZGFuIDx0aW0uc2hlcmlkYW5AaW1ndGVjLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogc2JjZGVjOiBGaXggZnJhbWUgbGVuZ3RoIGNhbGN1bGF0aW9uCgkgIFNCQyBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24gd2Fzbid0IGJlaW5nIHJvdW5kZWQgdXAgdG8gdGhlIG5lYXJlc3QgYnl0ZQoJICAoYXMgc3BlY2lmaWVkIGluIHRoZSBBMkRQIDEuMCBzcGVjaWZpY2F0aW9uLCBzZWN0aW9uIDEyLjkpLiBUaGlzIGNvdWxkCgkgIGNhdXNlICdzdGVyZW8nIGFuZCAnam9pbnQgc3RlcmVvJyBtb2RlIFNCQyBzdHJlYW1zIHRvIGhhdmUgaW5jb3JyZWN0bHkKCSAgY2FsY3VsYXRlZCBmcmFtZSBsZW5ndGhzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNDQ2CgoyMDE2LTAxLTEyIDIzOjM0OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiB1cGRhdGUgZm9yIHJlY2VudCBHTCBhcGkgY2hhbmdlcwoJICBTcGVjaWZpY2FsbHkgdGhlIEdzdEdMTWVtb3J5UEJPIGFkZGl0aW9uICh3aGljaCB3YXMgdGhlIHVuYWRvcm5lZCBHc3RHTE1lbW9yeSkuCgoyMDE2LTAxLTEyIDE0OjM2OjAyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBvcHRpb25hbGx5IGdldCB0aGUgR0wgY29udGV4dCBmcm9tIGdzdF9lbGVtZW50X3NldF9jb250ZXh0CgkgIEFsbG93IHNldHRpbmcgdGhlIEdMIGNvbnRleHQgd2l0aCBnc3RfZWxlbWVudF9zZXRfY29udGV4dC4gV2hlbiBhdmFpbGFibGUsIHRoZQoJICBsb2NhbCBjb250ZXh0IG9idGFpbmVkIHZpYSB0aGUgY29udGV4dCBxdWVyeSBzdGlsbCBoYXMgdGhlIHByZWNlZGVuY2UuCgoyMDE2LTAxLTEyIDE0OjAyOjQ2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJICBhcHBsZW1lZGlhOiBpb3N1cmZhY2VtZW1vcnk6IHJlbW92ZSBOT19TSEFSRSBmbGFnCgkgIFRoZSBmdWxsIG1lbW9yeSBjYW4gYmUgc2FmZWx5IHNoYXJlZC4gU2hhcmluZyBhIHN1YiByZWdpb24gY2FuJ3QgYmUgZG9uZSBhbmQKCSAgd2lsbCBmYWlsIGluIHRoZSBiYXNlIGFsbG9jYXRvciwgdHJpZ2dlcmluZyBhIGNvcHkuCgoyMDE2LTAxLTExIDEzOjMzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcm1peGVyOiByZXBsYWNlIGFjY2VwdC1jYXBzIHdpdGggY2FwcyBxdWVyeQoJICBJdCB3YW50cyB0byBjaGVjayBpZiB1cHN0cmVhbSBjYW4gcHJvZHVjZSBhIGNlcnRhaW4gZm9ybWF0LAoJICBhY2NlcHQtY2FwcyBtaWdodCBvbmx5IGNoZWNrIGlmIHRoZSBuZXh0IGVsZW1lbnQgY2FuIHByb2R1Y2UgaXQuCgoyMDE2LTAxLTA3IDIwOjU2OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbGJhc2VtZW1vcnk6IEZyZWUgdGhlIGFjdHVhbCBtZW1vcnkgb2JqZWN0IHdoZW4gcmVxdWVzdGVkCgkgIE90aGVyd2lzZSB3ZSBhcmUgbGVha2luZyB+NDAwQiBvbiBlYWNoIEdzdE1lbW9yeSBhbGxvY2F0aW9uLgoJICBGcmVlaW5nIGluIHRoZSBiYXNlIGNsYXNzIG1hdGNoZXMgdGhlIEdPYmplY3Qgc2VtYW50aWNzLgoKMjAxNi0wMS0wNyAyMDo1NDo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBkb24ndCBkb3VibGUgcmVhZCBwaXhlbHMKCSAgVGhlIG9wdGltaXN0aWMgZG93bmxvYWRfdHJhbnNmZXIgd2FzIG5vdCBzZXR0aW5nIHRoZSByZXF1aXJlZCBmbGFnIHRvIG5vdAoJICBwZXJmb3JtIGdsUmVhZFBpeGVscyBvbiBzdWJzZXF1ZW50IG1hcCAoUkVBRCkuIHJlc3VsdGluZyBpbiBnbFJlYWRQaXhlbHMKCSAgaGFwcGVuaW5nIHR3aWNlLgoKMjAxNi0wMS0wNyAxODo0NzozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnk6IGV4cG9zZSBnc3RfZ2xfbWVtb3J5X3RleHN1YmltYWdlCgkgIFJlbW92ZXMgZXh0cmVtZWx5IHNpbWlsYXIgY29kZSBmcm9tIGdsbWVtb3J5cGJvLgoKMjAxNi0wMS0wNyAxODowNToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJICBnbGZlYXR1cmUgYWRkIGEgc3BlY2lmaWMgZGVidWcgY2F0ZWdvcnkKCSAgU2F2ZXMgaGF2aW5nIHRvIHRyYXdsIHRocm91Z2ggdGhlICdkZWZhdWx0JyBjYXRlZ29yeSB3aGVuIGZ1bmN0aW9uIHJldHJpZXZhbAoJICBnb2VzIHdyb25nLgoKMjAxNi0wMS0wNSAxNDozNToxMSAtMDUwMCAgQm9iIEhvbGNvbWIgPGJob2xjb21iQG1hay5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHJlc2VydmUgYml0cyBzbyB0aGV5IGFyZSAxJ3MKCSAgVGhlIE1QRUcgc3RhbmRhcmQgKElTTy0xMzg4MC0xKSBzYXlzIHRoZSByZXNlcnZlIGJpdHMgbmVlZCB0byBiZSBzZXQKCSAgdG8gb25lICgyLjEuNjQpLiBUaGlzIGlzIGNhdXNpbmcgdHJhbnNwb3J0IHN0cmVhbXMgdG8gZmFpbCB2YWxpZGF0aW9uCgkgIG9uIHNvbWUgc3lzdGVtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDEyNwoKMjAxNi0wMS0wOCAxNzoxMTowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiByZW1vdmUgY2hlY2sgZm9yIE9wZW5DViB2ZXJzaW9uCgkgIEFmdGVyIGNvbW1pdCA2NDA4MGU2MzIsIGNvbmZpZ3VyZSBjaGVja3MgZm9yIGFsbCB0aGUgaGVhZGVyIGZpbGVzIHRoYXQKCSAgc2hvdWxkIGJlIGF2YWlsYWJsZSBpbiBPcGVuQ1YgMi4zIGFuZCBsYXRlci4gSWYgYW55IG9mIHRoZXNlIGZpbGVzIGlzbid0CgkgIHRoZXJlIHRoZSBPcGVuQ1YgZWxlbWVudHMgd29uJ3QgYmUgcGFydCBvZiB0aGUgYnVpbGQuCgkgIE5vIG5lZWQgdG8gcmVjaGVjayBmb3Igb3BlbmN2Mi9sZWdhY3kvbGVnYWN5LmhwcCBhZ2FpbiBpbgoJICBnc3RweXJhbWlkc2VnbWVudC5oLiBNaW5pbXVtIHN1cHBvcnRlZCBPcGVuQ1YgdmVyc2lvbiBtdXN0IGhhdmUgdGhpcyBoZWFkZXIKCSAgYW5kIGNvbmZpZ3VyZSBhbHJlYWR5IGNoZWNrcyBmb3IgaXQuIFJlbW92aW5nIGNoZWNrLgoKMjAxNi0wMS0wOCAxNTowMTo0NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJICBvcGVuY3Y6IGFsd2F5cyBkbyBjdnNtb290aCBpbiBwbGFjZQoJICBBZnRlciB0aGUgdXBkYXRlIHRvIG5ldyBPcGVuQ1YgQVBJIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gdXNpbmcgYW4gb3V0CgkgIGJ1ZmZlciBpcyBub3QgbmVjZXNzYXJ5LiBXZSBjYW4gYWx3YXlzIGRvIHRoZSB0cmFuc2Zvcm1hdGlvbiBpbiBwbGFjZS4KCjIwMTYtMDEtMDggMTI6Mzk6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IGRvIHB5cmFtaWRzZWdtZW50J3MgdHJhbnNmb3JtYXRpb24gaW4gcGxhY2UKCSAgUnVuIHRoZSB0cmFuc2Zvcm0gZnVuY3Rpb24gb2YgcHlyYW1pZHNlZ21lbnQgaW4gcGxhY2UsIHJldXNpbmcgdGhlIGltYWdlCgkgIGRhdGEgYXMgYm90aCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGluIGN2UHlyU2VnbWVudGF0aW9uLiBUaGlzIGF2b2lkcwoJICBjb3B5aW5nIHRoZSBpbWFnZSBiYWNrIGFuZCBmb3J0aCBhbmQgdGhlIGV4dHJhIG1lbW9yeS4KCjIwMTYtMDEtMDcgMTU6MjE6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGhsc2RlbXV4OiBhZGQgdGVzdCBmb3IgdXBkYXRpbmcgc2VnbWVudCBzdG9wCgkgIEFkZCBhIHRlc3QgZm9yIHNlZWtpbmcgdGhhdCBvbmx5IHVwZGF0ZXMgc3RvcCBwb3NpdGlvbiBhbmQgdmVyaWZpZXMKCSAgdGhhdCBzdGFydCBpcyB1bm1vZGlmaWVkCgoyMDE2LTAxLTA3IDE1OjIxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWVraW5nIHRoYXQganVzdCB1cGRhdGVzIHN0b3AgcG9zaXRpb24KCSAgRml4ZWQgYWRhcHRpdmVkZW11eCBzZWVraW5nIHdpdGhvdXQgZmx1c2hpbmcgdGhhdCBqdXN0IHdhbnRzCgkgIHRvIHVwZGF0ZSBzdG9wIHBvc2l0aW9uLiBUaGlzIHJlcXVpcmVkIHByb3RlY3RpbmcgdGhlIHNlZ21lbnQKCSAgdmFyaWFibGVzIHdpdGggYSBuZXcgbXV0ZXggc28gdGhhdCB0aGUgc2Vla2luZyB0aHJlYWQgYW5kIHRoZQoJICBkb3dubG9hZCB0aHJlYWRzIGNvdWxkIHNhZmVseSBtYW5pcHVsYXRlIHRoZSBzZWdtZW50IGFuZAoJICBldmVudHMgcmVsYXRlZCB0byBpdC4KCSAgVGhpcyBjb250ZW50aW9uIGlzIG9ubHkgbG9ja2VkL3VubG9ja2VkIHdoZW4gc3RhcnRpbmcgYSBuZXcKCSAgZG93bmxvYWQsIHdoZW4gdGhlIGZpcnN0IGZyYWdtZW50IG9mIGEgc2VnbWVudCBpcyByZWNlaXZlZCBhbmQKCSAgd2hlbiBzZWVraW5nIHNvLCBob3BlZnVsbHksIGl0IHdvbid0IGRhbWFnZSBwZXJmb3JtYW5jZS4KCjIwMTYtMDEtMDYgMTY6NTE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZ21lbnQgdXBkYXRlIG9uIHNlZWtzCgkgIEZpeGVzIHR5cG8gb24gcmV2ZXJzZSByYXRlIGNoZWNrIGFuZCBhbHNvIG9ubHkgdXBkYXRlIHRoZQoJICBwb3NpdGlvbiB3aGVuIHRoZSBzdGFydC9zdG9wIHdhcyBhY3R1YWxseSBjaGFuZ2VkLgoKMjAxNi0wMS0wNyAxODoxMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmdHlwZXM6IERvbid0IHN0b3JlIHBvaW50ZXJzIGluIHN0YWNrIGFsbG9jYXRlZCBndWludHMKCSAgVGhpcyB3b3JrcyB1c3VhbGx5IGluIHRoaXMgcGxhY2UsIHVubGVzcyB0aGUgY29tcGlsZXIgb3B0aW1pemVzIHRoaW5ncyBpbgoJICBpbnRlcmVzdGluZyB3YXlzIGluIHdoaWNoIGNhc2UgaXQgY2F1c2VzIHN0YWNrIGNvcnJ1cHRpb24gYW5kIGNyYXNoZXMgbGF0ZXIuCgkgIFRoZSBjb21waWxlciBpbiBxdWVzdGlvbiBoZXJlIGlzIGNsYW5nIHdpdGggLU8xLCB3aGljaCBzZWVtcyB0byBwYWNrIHRoZSBzdGFjawoJICBhIGJpdCBtb3JlIGFuZCBjYXVzZXMgd3JpdGluZyB0byB0aGUgZ3VpbnQgYXMgcG9pbnRlciB0byBvdmVyd3JpdGUgbWFwLm1lbW9yeSwKCSAgd2hpY2ggdGhlbiBsYXRlciBjcmFzaGVzIGR1cmluZyB1bm1hcHBpbmcgb2YgdGhlIG1lbW9yeS4KCjIwMTYtMDEtMDcgMTg6MDI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBJbml0aWFsaXplIGJvb2xlYW4gdG8gRkFMU0UgdG8gZml4IHZhbGdyaW5kIHdhcm5pbmcKCSAgU2VlbXMgdG8gYmUgYSBmYWxzZSB3YXJuaW5nIHRob3VnaC4KCjIwMTYtMDEtMDcgMTQ6MDg6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IG9ubHkgZmx1c2ggd2l0aCBhIHNoYXJlZCBjb250ZXh0CgkgIFRoZSB3YWl0IGNvZGUgd2lsbCBmbHVzaCBmb3IgdXMgZm9yIHNpbmdsZSBjb250ZXh0IHBpcGVsaW5lcy4KCjIwMTYtMDEtMDcgMTQ6MDI6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGltcGxlbWVudCBjaGVja2luZyB3aGV0aGVyIGEgY29udGV4dCBoYXMgYmVlbiBzaGFyZWQKCSAgU29tZSBvcGVyYXRpb25zIGFyZSB1bm5lY2Vzc2FyeSB3aGVuIHJ1bm5pbmcgd2l0aCBvbmx5IGEgc2luZ2xlIEdMCgkgIGNvbnRleHQuCgkgIGUuZy4gZ2xGbHVzaCB3aGVuIHNldHRpbmcgYSBmZW5jZSBvYmplY3QgYXMgdGhlIGZsdXNoIGhhcHBlbnMgb24gd2FpdC4KCSAgQVBJOiBnc3RfZ2xfY29udGV4dF9pc19zaGFyZWQKCjIwMTYtMDEtMDYgMTQ6NTQ6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwdXQgYm9vbGVhbiB2YWx1ZXMgaW50byBnYm9vbGVhbiB2YXJpYWJsZXMKCSAgQW5kIHJlbW92ZSBzdXBlcmZsdW91cyBhc3NpZ25tZW50cy4KCjIwMTYtMDEtMDYgMTY6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IE9ubHkgc2V0IHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGluIHBsYXkoKSBpZiBidWZmZXJpbmc+PTEwMCUKCSAgT3RoZXJ3aXNlIHRoZSBhcHBsaWNhdGlvbiBjYW4gYnJlYWsgdGhlIGJ1ZmZlcmluZyBsb2dpYyBieSBzZXR0aW5nIHRoZQoJICBwaXBlbGluZSB0byBQTEFZSU5HIGJlZm9yZSB3ZSBidWZmZXJlZCBlbm91Z2guCgoyMDE2LTAxLTA1IDE3OjQxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0cyBmb3IgcG9zdC1zZWVrIHNlZ21lbnQgYm91bmRhcmllcyBjaGVjawoJICBDaGVja3MgaWYgdGhlIHBvc3Qgc2VlayBzZWdtZW50IGlzIHdoYXQgaXMgZXhwZWN0ZWQuCgkgIEFsc28gbWFrZXMgaXQgZWFzeSB0byBhZGQgbW9yZSB0ZXN0cyB3aXRoIGRpZmZlcmVudCBzZWVraW5nIGZsYWdzIHVzaW5nIHRoZQoJICBzYW1lIGZ1bmN0aW9ucy4KCjIwMTYtMDEtMDUgMTA6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICB0ZXN0czogaGxzZGVtdXg6IGFkZCB0ZXN0cyBmb3Igc2VlayB3aXRoIHJldmVyc2UgcmF0ZSBhbmQgc25hcCBmbGFncwoJICBBZGQgdGVzdHMgdG8gZW5zdXJlIHNuYXAgZmxhZ3Mgd29yayBhcyBleHBlY3RlZCBmb3IgcmV2ZXJzZQoJICByYXRlcwoKMjAxNi0wMS0wNSAxMDozOToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBzdG9wIHJldmVyc2UgcGxheWJhY2sgd2hlbiB3ZSByZWFjaCB0aGUgbGltaXQKCSAgQXZvaWRzIGRvd25sb2FkaW5nIGFuZCBwdXNoaW5nIGEgZnVsbCBzZWdtZW50IGp1c3QgdG8gZ2V0IDEgbmFub3NlY29uZAoJICBvZiBkYXRhLiBUaGlzIGhhcHBlbnMgZnJlcXVlbnRseSB3aGVuIHNlZWtpbmcgaXMgZG9uZSB3aXRoIGZsYWdzCgkgIHRoYXQgYWRqdXN0IHRvIGJvdW5kYXJpZXMgb3Igd2hlbiB0aGUgc3RhcnQgaXMgYWxpZ25lZCB3aXRoIHNlZ21lbnQKCSAgc3RhcnRzLiBUaGUgbGF0ZXIgaXMgY29tbW9uIHdoZW4gc2VnbWVudCBkdXJhdGlvbnMgaXMgYSBtdWx0aXBsZSBvZgoJICBhIHNlY29uZC4KCjIwMTYtMDEtMDUgMDk6MTY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrIHNlZWsgd2l0aCBzbmFwIGZsYWdzCgkgIFByb3Blcmx5IGhhbmRsZSBzbmFwIGZsYWdzIGR1cmluZyByZXZlcnNlIHNlZWtpbmcuIEluIHRoaXMgY2FzZQoJICB0aGUgYmVmb3JlL2FmdGVyIGFyZSBhbHNvIHJldmVyc2VkLCBzbyBoYW5kbGUgdGhvc2UgYXMgc3VjaC4KCSAgRm9yIGV4YW1wbGU6IHdpdGggYSBzZXF1ZW5jZSBvZiAxcyBmcmFnbWVudHM6CgkgIHwtLSAwIC0tfC0tIDEgLS18LS0gMiAtLXwtLSAzIC0tfAoJICBJZiB5b3Ugc2VlayB0byAxLjVzIGl0IGlzIGluc2lkZSBmcmFnbWVudCAxLiBXaXRoIHJldmVyc2UgYW5kCgkgIHNuYXAtYmVmb3JlOiBzaG91bGQgcGxheSBmcm9tIHRoZSBlbmQgb2YgZnJhZ21lbnQgMQoJICBzbmFwLWFmdGVyOiBzaG91bGQgcGxheSBmcm9tIHRoZSBlbmQgb2YgZnJhZ21lbnQgMAoKMjAxNi0wMS0wNSAwOTowMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBjb3JyZWN0bHkgdHJhY2sgc2VnbWVudC5wb3NpdGlvbiBpbiByZXZlcnNlIHBsYXliYWNrCgkgIEZvciByZXZlcnNlLCBzZXQgcG9zaXRpb24gdG8gc2VnbWVudC5zdG9wIHdoZW4gc3RhcnRpbmcgYW5kIGFsc28KCSAgZG9uJ3Qgc2V0IHRoZSBwb3NpdGlvbiB0byBmcmFnbWVudCBlbmQgdGltZXN0YW1wIHdoZW4gaXQgZmluaXNoZXMsCgkgIGp1c3QgbGVhdmUgaXQgYXQgdGhlIGZyYWdtZW50IHN0YXJ0LgoKMjAxNi0wMS0wNSAwODo1OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2ltcGxpZnkgc25hcCBmbGFncyBjaGVja2luZwoJICBSZXBsYWNlOgoJICBpZiAoYm9vbGVhbikgdmFyID0gdHJ1ZTsKCSAgd2l0aDoKCSAgdmFyID0gKGJvb2xlYW4pOwoKMjAxNS0xMi0yOCAwMjoxODowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVzcGVjdCBrZXl1bml0IGZsYWcgZm9yIHBvc2l0aW9uCgkgIFNldCB0aGUgc2VnbWVudCBzdGFydCBwb3NpdGlvbiB3aGVuIGtleXVuaXQgZmxhZyBpcyBhY3RpdmUKCjIwMTUtMTItMjQgMTg6NDk6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGhsc19kZW11eDogYWRkIHRlc3RzIGZvciBzZWVraW5nIHNlZ21lbnQKCSAgVGVzdHMgdGhhdCBjaGVjayB0aGF0IHRoZSBzZWdtZW50IHNlbnQgYWZ0ZXIgYSBzZWVrIGlzIGNvcnJlY3QuCgkgIEFsbG93cyB0ZXN0aW5nIHRoYXQgbXVsdGlwbGUgc2Vla2luZyBmbGFncyB3b3JrIGFzIGV4cGVjdGVkCgoyMDE1LTEyLTI0IDA5OjI3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSAgdGVzdHM6IGFkYXB0aXZlX2RlbXV4OiBhZGQgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBjaGVjayBkZW11eGVyIGV2ZW50cwoJICBBbGxvd3Mgd3JpdGluZyB0ZXN0cyB0aGF0IHZlcmlmeSB0aGF0IGV2ZW50cyBhcmUgY29ycmVjdC4KCSAgVXNlZnVsIHRvIG1vbml0b3IgYW5kIGNoZWNrIHNlZ21lbnRzIGFmdGVyIHNlZWtzLCBmb3IgZXhhbXBsZS4KCjIwMTUtMTItMjMgMTU6MjU6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgdGVzdHM6IGFkYXB0aXZlOiB1cGRhdGUgdG8gYWxsb3cgbW9yZSBmbGV4aWJsZSBzZWVraW5nIHRlc3RzCgkgIEFsbG93cyBkZWZpbmluZyBhIHNlZWsgZXZlbnQgdG8gYmUgYWJsZSB0byBjaGFuZ2Ugc2Vla2luZyBwYXJhbWV0ZXJzCgkgIGFuZCBjcmVhdGUgbW9yZSBzZWVraW5nIHRlc3Qgc2NlbmFyaW9zCgoyMDE1LTEyLTIzIDE1OjIzOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGhsc2RlbXV4OiBmaXggbWFrZWZpbGUgdmFyaWFibGUgdHlwbwoKMjAxNi0wMS0wNiAxNjo1MDowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogZW5hYmxlIHJlbmVnb3RpYXRpb24KCSAgV2UgY2FuIGFjdHVhbGx5IHJlbmVnb3RpYXRlIG5vdywgc28gcmVtb3ZlIG9sZCBjaGVjayB3aGljaCBkaXNhYmxlZCBpdC4KCjIwMTYtMDEtMDYgMTY6MjU6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogaW1wbGVtZW50IHVzYWdlIG9mIGEgYnVmZmVyIHBvb2wKCSAgU2F2ZXMgdW5uZWNlc3NhcnkgZ2xHZW5UZXh0dXJlcyBhbmQgZ2xEZWxldGVUZXh0dXJlcyB3aGljaCBtYXkgaGF2ZSBhCgkgIG5vbi10cml2aWFsIGNvc3QuCgoyMDE2LTAxLTA2IDE1OjUwOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogZml4IGNvcHlpbmcgR3N0R0xBbGxvY2F0aW9uUGFyYW1zCgkgIEZpeGVzIGEgR1NUX0lTX0dMX0NPTlRFWFQgY3JpdGljYWwKCjIwMTYtMDEtMDYgMTU6NDQ6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2NzkKCjIwMTYtMDEtMDYgMTM6MjA6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IHNtYWxsIG5lZ290aWF0aW9uIGZpeAoJICBGaXggbmVnb3RpYXRpb24gd2hlbiBHTE1lbW9yeSBpcyByZXF1ZXN0ZWQgYnV0IGEgY29udGV4dCBpcyBub3QgYXZhaWxhYmxlCgoyMDE2LTAxLTA2IDExOjQwOjM4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZW5jOiBhY2NlcHQgVVlWWSBvbiBNYWMKCSAgV2hlbiBkb2luZyBHTE1lbW9yeSBhdmZ2aWRlb3NyYyBuZWdvdGlhdGVzIFVZVlkuIFRoaXMgY2hhbmdlIGFsbG93cyBhdmZ2aWRlb3NyYwoJICAhIHRlZSBuYW1lPXQgISAuLi4gISBnbGltYWdlc2luayB0LiAhIC4uLiAhIGdsZG93bmxvYWQgISB2dGVuY19oMjY0ICEgLi4uCgkgIHRvIGRvIEdMTWVtb3J5IGFuZCAwLWNvcHkgd2l0aCB0aGUgZW5jb2RlciAod2l0aCB0aGUgQ1YgbWV0YSkuCgoyMDE2LTAxLTA2IDExOjI5OjE1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBjaGFuZ2UgdGV4dHVyZSBmb3JtYXQgZnJvbSBCR1JBIHRvIE5WMTIgb24gaU9TCgkgIENoYW5nZSB0ZXh0dXJlIGZvcm1hdCBmcm9tIEJHUkEgdG8gTlYxMi4gVGhpcyBhbGxvd3MgYSBwaXBlbGluZSBsaWtlIGF2ZnZpZGVvc3JjCgkgICEgdGVlIG5hbWU9dCAhIC4uLiAhIGdsaW1hZ2VzaW5rIHQuICEgLi4uICEgZ2xkb3dubG9hZCAhIHZ0ZW5jX2gyNjQgISAuLi4gIHRvCgkgIG5lZ290aWF0ZSBHTE1lbW9yeS4gVGhpcyBtYWtlcyB0aGUgZ2xpbWFnZXNpbmsgYnJhbmNoIG11Y2ggZmFzdGVyIChvYnZpb3VzbHkpCgkgIGFuZCB0cmlnZ2VycyB0aGUgMC1jb3B5IHBhdGggYmV0d2VlbiBhdmZ2aWRlb3NyYyBhbmQgdnRlbmMgKHVzaW5nIHRoZSBDViBtZXRhKS4KCSAgQ29tYmluZWQgdGhpcyByZXN1bHRzIGluIGEgaHVnZSBwZXJmIGltcHJvdmVtZW50IG9uIGlPUyAoMjUtMzAlIG9mIENQVSB0aW1lIGluIGEKCSAgcGlwZWxpbmUgbGlrZSB0aGUgb25lIGFib3ZlKS4KCSAgTm90ZSB0aGF0IHRoaXMgZG9lc24ndCBpbnRyb2R1Y2UgYSBuZXcgc2hhZGVyIGNvbnZlcnNpb24gaW4gdGhlIHNpbmssIHNpbmNlIEJHUkEKCSAgdGV4dHVyZXMgaGFkIHRvIGJlIGNvcGllZC9jb252ZXJ0ZWQgZnJvbSBmb3JtYXQ9QkdSQSx0ZXh0dXJlLXRhcmdldD1SRUNUQU5HTEUgdG8KCSAgZm9ybWF0PVJHQkEsdGV4dHVyZS10YXJnZXQ9MkQgYW55d2F5LgoKMjAxNi0wMS0wNCAyMDoyNjowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHVwbG9hZDogYWx3YXlzIGFkZCB0ZXh0dXJlLXRhcmdldCBmaWVsZCB0byBHTCBjYXBzCgkgIDEuIFZhcmlvdXMgZWxlbWVudHMvYmFzZSBjbGFzc2VzIG9ubHkgcGVyZm9ybSBhIHN1YnNldCBjaGVjayBvbiBhY2NlcHQtY2FwcwoJICAyLiBTb21lIEdMIGVsZW1lbnRzIGhhdmUgdGV4dHVyZS10YXJnZXQgaW4gdGhlaXIgcGFkIHRlbXBsYXRlCgkgIDMuIFdoZW4gY2hlY2tpbmcgc3Vic2V0cywgb25seSB0aGUgY2FwcyB0byBjaGVjayBhcmUgYWxsb3dlZCB0byBjb250YWluIGV4dHJhCgkgIGZpZWxkcy4gIElmIHRoZSAndGVtcGxhdGUnIGNhcHMgaGF2ZSBleHRyYSBmaWVsZHMsIHRoZSBzdWJzZXQgZmFpbHMuCgkgIFRodXMgd2l0aG91dCB0ZXh0dXJlLXRhcmdldCBvbiB0aGUgY2FwcywgdmFyaW91cyBhY2NlcHQtY2FwcyBpbXBsZW1lbnRhdGlvbnMKCSAgd2VyZSBmYWlsaW5nLgoJICBBbHNvLCBhZGQgc29tZSBjb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIHNldHRpbmcgYW5kIHJldHJpZXZpbmcKCSAgdGV4dHVyZSB0YXJnZXRzIHRvL2Zyb20gR1ZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODYwCgoyMDE1LTEyLTI5IDE4OjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHBhc3N0aHJvdWdoIGNvbXBvc2l0aW9uIGNhcHMgZmVhdHVyZXMKCSAgRG9uJ3QgdW5jb25kaXRpb25hbGx5IGFkZCBpdCB0byBhbnkgYW5kIGFsbCBjYXBzIHRyYW5zZm9ybWF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTg2MAoKMjAxNi0wMS0wNCAwOTo1Mjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IFJlbW92ZSBnc3RfcGxheWVyX25ldygpIGFuZCBtYWtlIGdzdF9wbGF5ZXJfbmV3X2Z1bGwoKSB0aGUgbm9ybWFsIGNvbnN0cnVjdG9yCgkgIEluIHZlcnkgZmV3IGNhc2VzIHRoZSBzaW1wbGUgdmVyc2lvbiB3YXMgYWN0dWFsbHkgbmVlZGVkIGFuZCBoYXZpbmcgdGhlCgkgIHBhcmFtZXRlcnMgaGlkZGVuIGJ5IGEgX2Z1bGwoKSB2ZXJzaW9uIGNhdXNlZCBhcHBsaWNhdGlvbiB0aGF0IGFjdHVhbGx5IG5lZWRlZAoJICBpdCB0byBub3QgdXNlIGl0LgoKMjAxNi0wMS0wNCAwMTowMzowOCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggc3RlcmVvc2NvcGljIGhhbmRsaW5nIHcvIHRleHR1cmUtdGFyZ2V0CgkgIFRoZSBhZGRpdGlvbiBvZiB0ZXh0dXJlLXRhcmdldCBuZWdvdGlhdGlvbiBicm9rZSBzdGVyZW9zY29waWMKCSAgaGFuZGxpbmcgd2hlbiBub3QgaW4gcGFzc3Rocm91Z2ggbW9kZSwgc28gZml4IHRoYXQuCgoyMDE1LTEwLTA3IDE4OjUzOjQzICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlcGxhY2UgZHVwbGljYXRlZCBjb2RlcyB0byBjYWxsIG5ldyBiYXNlIHNkcCBhcGlzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4ODAKCjIwMTUtMTItMzAgMTg6MDA6NDcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9ydG1wL1JFQURNRToKCSAgcnRtcDogcmVmZXIgdG8gYm90aCBlbGVtZW50cyBpbiB0aGUgUkVBRE1FCgoyMDE1LTEyLTI5IDE0OjM1OjE0IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGNoZWNrIGZvciBmYWlsZWQgUlRNUCBjb250ZXh0IGFsbG9jCgkgIEF2b2lkcyBhbiB1bmxpa2VseSBjcmFzaC4KCSAgQXJndWFibHksIGlmIGFsbG9jYXRpb24gZmFpbHMgd2UgaGF2ZSBubyBjaGFuY2Ugb2YKCSAgcmVjb3ZlcmluZyBidXQgbm9uZXRoZWxlc3MsIFJUTVBfQWxsb2MgY2FuIGZhaWwgYW5kCgkgIGxpYnJ0bXAncyBSVE1QX2luaXQoKSAoY2FsbGVkIG5leHQpIGFzc3VtZXMgYSBub24tTlVMTAoJICBwb2ludGVyIGlzIHBhc3NlZCB3aXRob3V0IGNoZWNraW5nLgoJICBBZGRpdGlvbmFsbHksIHVuaWZ5IGV4aXQgcGF0aCBvbiBlcnJvci4KCjIwMTUtMTItMjkgMTQ6MTY6NTggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBjaGVjayBmb3IgZmFpbGVkIFJUTVAgY29udGV4dCBhbGxvYwoJICBBdm9pZHMgYW4gdW5saWtlbHkgY3Jhc2guCgkgIEFyZ3VhYmx5LCBpZiBhbGxvY2F0aW9uIGZhaWxzIHdlIGhhdmUgbm8gY2hhbmNlIG9mCgkgIHJlY292ZXJpbmcgYnV0IG5vbmV0aGVsZXNzLCBSVE1QX0FsbG9jIGNhbiBmYWlsIGFuZAoJICBsaWJydG1wJ3MgUlRNUF9pbml0KCkgKGNhbGxlZCBuZXh0KSBhc3N1bWVzIGEgbm9uLU5VTEwKCSAgcG9pbnRlciBpcyBwYXNzZWQgd2l0aG91dCBjaGVja2luZy4KCSAgQWRkaXRpb25hbGx5LCB1bmlmeSBleGl0IHBhdGggb24gZXJyb3IuCgoyMDE1LTEyLTI5IDExOjU4OjMxIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkgIHJ0bXA6IGNvcnJlY3QgbGlicnRtcCBsb2ctbGV2ZWwgbWFwcGluZ3MKCSAgQWRkaXRpb25hbGx5LCBtb3ZlIHRvIGEgc3dpdGNoIGluIF9zZXRfZGVidWdfbGV2ZWwoKQoJICB0byBtYWtlIGVhc2llciB0byBmb2xsb3cgYW5kIGNvbXBhcmUgd2l0aCB0aGUKCSAgbWFwcGluZ3MgaW4gX2xvZ19jYWxsYmFjaygpCgoyMDE1LTEyLTMwIDEzOjE2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IG1pbm9yIGNsZWFuLXVwCgkgIFJlbW92ZSBzZXR0aW5nIG9mIHBhcnNlciB2YXJpYWJsZSB0byBOVUxMIGFmdGVyIGZyZWUsCgkgIHRoYXQgbWFrZXMgbm8gc2Vuc2UgKGFuZCBjb3Zlcml0eSBpcyBubyBkb3VidCBnb2luZwoJICB0byBjb21wbGFpbiBhYm91dCBpdCkuCgoyMDE1LTEyLTMwIDEzOjEyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IGZpeCBtYWNybyBuYW1lc3BhY2luZyBhbmQgcmVuYW1lIEdzdFZwOUludGVycEZpbHRlcgoKMjAxNS0xMi0zMCAxMzowODozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdnA5OiBmaXggZG9jIHR5cG9zIGFuZCBzcHJpbmtsZSBzb21lIFNpbmNlIG1hcmtlcnMKCjIwMTUtMTItMzAgMTE6MDM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkFVVEhPUlM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuTElDRU5TRToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5QQVRFTlRTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IG1vdmUgbGljZW5zZSBibHVyYiBpbnRvIGhlYWRlciBhbmQgcmVtb3ZlIGF1eCBmaWxlcwoJICBUaGlzIGlzIGp1c3QgYSBidW5jaCBvZiBsb29rdXAgdGFibGVzLi4KCjIwMTUtMTItMzAgMTE6NTQ6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IFVwZGF0ZSBsaWJnc3Rjb2RlY3BhcnNlcnMuZGVmIHdpdGggdGhlIG5ldyBzeW1ib2xzCgoyMDE1LTEyLTMwIDExOjU0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgYW5vdGhlciBHX0dOVUNfSU5URVJOQUwKCjIwMTUtMTItMzAgMTE6NDA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogU3ByZWFkIHNvbWUgR19HTlVDX0lOVEVSTkFMIGluIHZhcmlvdXMgcGxhY2VzCgoyMDE1LTEyLTMwIDExOjM4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJICB2cDlwYXJzZXI6IEZpeCBpbmRlbnRhdGlvbiB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcGllcgoKMjAxNS0xMi0zMCAxMTozNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICB2cDlwYXJzZXI6IFJlbmFtZSBzeW1ib2xzIHRvIHByZXZlbnQgc3ltYm9sIGNvbmZsaWN0cwoJICBBbHNvIG1ha2UgY2xhbXAoKSBhIHN0YXRpYyBmdW5jdGlvbiBmb3IgdGhlIHNhbWUgcmVhc29uIGFuZCB1c2UgQ0xBTVAgKGFzCgkgIGRlZmluZWQgYnkgR0xpYikgaW4gdGhlIEdTdHJlYW1lciBjb2RlLgoKMjAxNS0xMi0zMCAxMToxOTozMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5BVVRIT1JTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkxJQ0VOU0U6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIFZQOSBjb2RlYyBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzU5NwoKMjAxNS0xMi0zMCAxMjoxMjoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBmaXggd3JhcHBpbmcgZGF0YSBvbiBHTCAyLjEKCSAgR0wgMi4xIG9ubHkgc3VwcG9ydHMgcGJvIHVwbG9hZC4KCSAgVGhlIHdyYXBwZWQgZGF0YSBwb2ludGVyIHdhcyBvbmx5IGJlaW5nIHNldCBvbiB0aGUgcGJvIG1lbW9yeSBhbmQgb24gdGhlCgkgIGdsbWVtb3J5IHNvIHdoZW4gYSBkb3dubG9hZCB3YXMgcmVxdWVzdGVkIChpbiBHTCAyLjEpLCBnbG1lbW9yeSB3YXMKCSAgYWxsb2NhdGluZyBhIG5ldyBkYXRhIHBvaW50ZXIgYW5kIHRodXMgbm90IHJldHVybmluZyB0aGUgd3JhcHBlZCBkYXRhLgoKMjAxNS0xMi0zMCAxMjoxMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBvbmx5IGNyZWF0ZSBhIHBibyBtZW1vcnkgaWYgdGhlIGNvbnRleHQgYWN0dWFsbHkgc3VwcG9ydHMgaXQKCSAgZS5nLiBHTCA8PSAyLjAgZG9lcyBub3Qgc3VwcG9ydCBwYm8gdXNhZ2UgYW5kIEdMIDIuMSBvbmx5IHN1cHBvcnRzIHBibyB1cGxvYWQuCgoyMDE1LTEyLTMwIDEyOjA5OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5OiBzbWFsbCBjb2RlIHJlZm9ybWF0CgkgIG1ha2VzIHRoZSBhbGxvY19wYXJhbXMgc2VsZWN0aW9ucyBmaXQgb24gYSBzaW5nbGUgbGluZS4KCjIwMTUtMTItMzAgMTI6MDY6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgdGVzdHMvZ2xtZW1vcnk6IG91dHB1dCBkYXRhIHBvaW50ZXIgdmFsdWVzIG9uIGZhaWx1cmUKCSAgQWxsb3dzIHF1aWNrZXIgaW5zcGVjdGlvbiBvZiB3aGF0IGZhaWxlZC4KCjIwMTUtMTItMjkgMTc6MDQ6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIHdpdGggbGVnYWN5IG9wZW5nbAoJICBBbGwgdGhlIGdsZWZmZWN0cyBzaGFkZXJzIGNhbiBiZSBydW4gYWdhaW5zdCBhIGdsZXMyIG9yIGEgbGVnYWN5IG9wZW5nbCBnbHNsCgkgIGNvbXBpbGVyIGJ1dCB3ZXJlbid0IGJlaW5nIGFkdmVydGlzZWQgYXMgc3VjaC4KCSAgRml4ZXMgZ2xlZmZlY3RzIHVuZGVyIGRlc2t0b3Agb3BlbmdsIDwgMy4yLgoKMjAxNS0xMi0yOSAxODowMTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiBSZW1vdmUgYm9ndXMgTlVMTCBjaGVjawoJICBDSUQgMTM0NjUzNAoKMjAxNS0xMi0yOSAxMDo1NzozNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogb3V0cHV0IGF0IGhpZ2hlc3QgZnBzL3Jlc29sdXRpb24gYnkgZGVmYXVsdAoJICBGaXhhdGUgdG8gdGhlIGhpZ2hlc3QgcG9zc2libGUgcmVzb2x1dGlvbiBhbmQgZnBzLiBPdGhlcndpc2UgYnkgZGVmYXVsdCB3ZSBlbmQKCSAgdXAgZml4YXRpbmcgYXQgMmZwcyBhbmQgdGhlIGxvd2VzdCBzdXBwb3J0ZWQgcmVzb2x1dGlvbiwgd2hpY2ggaXMgaGFyZGx5IHdoYXQKCSAgc29tZW9uZSB3aG8gYm91Z2h0IGFuIG92ZXJwcmljZWQgc21hcnRwaG9uZSB3YW50cy4KCjIwMTUtMTItMjggMTU6NTM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2w6IEFkZCBcMCB0ZXJtaW5hdG9ycyBmb3IgdGhlIEFwcGxlIHN5bmMgZXh0ZW5zaW9uCgkgIE90aGVyd2lzZSBHTCBpbml0aWFsaXphdGlvbiBtaWdodCBjaGVjayBmb3IgZXh0ZW5zaW9ucyBmb3JldmVyIGFuZCBuZXZlciBmaW5pc2hlcy4KCjIwMTUtMTItMjggMTQ6NDE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogQWRkIHNvbWUgZGVidWcgb3V0cHV0IHdoZW4gdGhlIEdMIHRocmVhZCBpcyBhY3R1YWxseSBydW5uaW5nCgoyMDE1LTEyLTIyIDExOjIzOjE5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZWQgdW5uZWNlc3Nhcnkgc3BhY2UgdHJpbW1pbmcgaW4gZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF9oZWFkCgkgIHNzY2FuZiBoYXMgcmVtb3ZlZCBhbGwgc3BhY2VzIHdoZW4gaXQgaGFzIGNvbnN0cnVjdGVkIHpvbmUgc3RyaW5nLiBUaGVyZSBpcwoJICBubyBuZWVkIHRvIHNlYXJjaCBmb3IgbGVhZGluZyBzcGFjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3NDMKCjIwMTUtMTItMjEgMTQ6NTA6MTUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWNjZXB0IDIgb3IgNCBkaWdpdCB5ZWFyIHdoZW4gdXNpbmcgSFRUUCBIRUFEIGZvciBjYWxjdWxhdGluZyBjbG9jayBjb21wZW5zYXRpb24KCSAgQ29udmVydCB5ZWFyIGZyb20gMiBkaWdpdHMgdG8gNCBkaWdpdHMgaW4gZ3N0X2Rhc2hfZGVtdXhfcGFyc2VfaHR0cF9oZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3NDMKCSAgQWxzbyB1cGRhdGVkIHJlZmVyZW5jZXMgdG8gUmZjODIyIHRvIFJmYzUzMjIKCjIwMTUtMTItMjcgMTE6Mzc6MDkgKzAxMDAgIEZsb3JlbnQgVGhpw6lyeSA8ZmxvcmVudC50aGllcnlAdWJpY2FzdC5ldT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbHNoYWRlcjogZml4IHVzYWdlIGRvYwoJICBUaGUgcHJvcGVydHkgbG9jYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBpbiBmYXZvciBvZiB2ZXJ0ZXgvZnJhZ21lbnQKCSAgc3RyaW5nIHByb3BlcnRpZXM7IHRoZSBkb2MgaGFkIG5vdCBiZWVuIHVwZGF0ZWQgYW5kIHdhcyBzdGlsbCByZWZlcnJpbmcKCSAgdG8gdGhlIHByZXZpb3VzIHByb3BlcnR5OyBhbHNvLCBub3cgdGhlICN2ZXJzaW9uIGhlYWRlciBoYXMgYmVjb21lIG1hbmRhdG9yeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5OTAyCgoyMDE1LTEyLTI2IDIyOjM0OjI5ICswMTAwICBGbG9yZW50IFRoacOpcnkgPGZsb3JlbnQudGhpZXJ5QHViaWNhc3QuZXU+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFBvc3QgdW5oYW5kbGVkIG5hdmlnYXRpb24gZXZlbnRzIG9uIHRoZSBidXMKCSAgQmFzZWQgb2ZmIHh2aW1hZ2VzaW5rIGltcGxlbWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4NjkKCjIwMTUtMTItMjcgMjI6MzI6MjIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogZml4IHNwbGl0dGluZyBvZiBSR0IgY29sb3Igc3RyaW5nCgkgIE5vIG5lZWQgdG8gYXR0ZW1wdCBzcGxpdHRpbmcgdGhlIFJHQiBzdHJpbmcgaW4gMjU1IHRva2VucwoJICBpZiB3ZSBvbmx5IGV4cGVjdCAzLgoJICBMZWZ0IG1heF90b2tlbnMgYXQgNCB0byBwcmVzZXJ2ZSB0aGUgY3VycmVudCBsb2dpYyAod2hpY2gKCSAgYWxsb3dzIGZvciBleHRyYSBzdHVmZiBhdCB0aGUgZW5kKSBhbmQgYWRkZWQgYSB3YXJuaW5nIG9uCgkgIHBhcnNpbmcgZmFpbHVyZSBpbnN0ZWFkIG9mIHNpbGVudGx5IGRpc2NhcmRpbmcgdGhlIHZhbHVlLgoKMjAxNS0xMi0yNyAyMToyMzozNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBmaXggdHlwbyBpbiBoZWFkZXIKCjIwMTUtMTItMjcgMjE6MTk6MTkgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogZml4IG1pc2xlYWRpbmcgd2FybmluZyBtZXNzYWdlCgkgIGNhbGN1bGF0ZV9tb3Rpb24gIT0gRkFMU0UgbWVhbnMgdGhlIG1vdGlvbiBjb21wdXRhdGlvbgoJICBsb2dpYyBpcyBkaXNhYmxlZCwgbm90IGEgbWFwcGluZyBlcnJvci4KCjIwMTUtMTItMjcgMjE6MTE6MTggLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogcmV3b3JrIHByb3BlcnR5IGRlc2NyaXB0aW9ucwoKMjAxNS0xMi0yNyAwMToxMTo0MiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiB1c2UgTlVMTCBpbnN0ZWFkIG9mIGdfc3RyZHVwKE5VTEwpCgoyMDE1LTEyLTI4IDA5OjA0OjEyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IEZpeCBidWlsZCBlcnJvcgoJICBXaGVuIEdTVF9HTF9IQVZFX1BMQVRGT1JNX0VHTCBpcyBub3QgZGVmaW5lZCwgdGhlbiBpbmZvIHZhcmlhYmxlCgkgIHdpbGwgbm90IGJlIHVzZWQgYW5kIHRoaXMgcmVzdWx0cyBpbiBidWlsZCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5OTEzCgoyMDE1LTEyLTI0IDE1OjI4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjcuMSA9PT0KCjIwMTUtMTItMjQgMTQ6Mjg6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjcuMQoKMjAxNS0xMi0yNCAxNDowMDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTEyLTI0IDEyOjIzOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0xMi0yMyAyMzoxMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGNhcHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHRlc3RzOiBmaXggaW5kZW50YXRpb24KCjIwMTUtMTItMjMgMjM6MTA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wY2FwcGFyc2UuYzoKCSAgdGVzdHM6IHBjYXBwYXJzZTogYWRkIGNoZWNrIGZvciAwLXNpemVkIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3MwoKMjAxNS0xMi0yMyAyMDoyNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZG9uJ3QgY3Jhc2ggb24gMC1zaXplZCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzMKCjIwMTUtMTItMjMgMTM6MDY6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24KCjIwMTUtMTItMjMgMTM6MDQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbGF5ZXItdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLnBjLmluOgoJICBwbGF5ZXI6IEFkZCBwa2ctY29uZmlnIGZpbGVzCgoyMDE1LTEyLTIzIDEyOjE2OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogRW5hYmxlIHBsYXllciB0ZXN0cyBieSBkZWZhdWx0CgkgIFRoaXMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGJlIHVwZGF0ZWQgdG9nZXRoZXIgd2l0aCB0aGUgbmV4dCBjb21tb24gdXBkYXRlCgkgIGFnYWluLgoKMjAxNS0xMi0yMyAwOTo1NToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkgIHBsYXllcjogQWRkIHVuaXQgdGVzdCB0aGF0IGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQKCSAgVGhlIHVuaXQgdGVzdCBpcyBkb3dubG9hZGluZyBhIGZldyBzbWFsbCBtZWRpYSBmaWxlcyBmcm9tIHRoZSBJbnRlcm5ldCwKCSAgd2hpY2ggYXJlIHRoZW4gdXNlZCBkdXJpbmcgdGhlIHRlc3QuICJtYWtlIGNsZWFuIiByZW1vdmVzIHRoZSBmaWxlcyBhZ2Fpbi4KCjIwMTUtMTItMjIgMTQ6NDQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgcGxheWVyOiBJbnRlZ3JhdGUgaW50byB0aGUgZG9jdW1lbnRhdGlvbiBidWlsZCBzeXN0ZW0KCjIwMTUtMTItMjIgMTQ6MjQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItZy1tYWluLWNvbnRleHQtc2lnbmFsLWRpc3BhdGNoZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItZy1tYWluLWNvbnRleHQtc2lnbmFsLWRpc3BhdGNoZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLW1lZGlhLWluZm8uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1zaWduYWwtZGlzcGF0Y2hlci1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXNpZ25hbC1kaXNwYXRjaGVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXNpZ25hbC1kaXNwYXRjaGVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXR5cGVzLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1yZW5kZXJlci1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpc3VhbGl6YXRpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlzdWFsaXphdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL3BsYXllci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBJbXBvcnQgR3N0UGxheWVyIHBsYXliYWNrIGNvbnZlbmllbmNlIEFQSQoJICBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vc2Ryb2VnZS9nc3QtcGxheWVyCgkgIGNvbW1pdCA5Y2U2YWUwZGJiOGVlZWVmYWY3OTRjZmFlODBlMjc5YTAzY2M1OThkCgoyMDE1LTEyLTIzIDA5OjUwOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBDb21tZW50IG91dCB1bnVzZWQgZnVuY3Rpb25zIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIGNsYW5nCgkgIEl0J3Mgbm90IGNsZWFyIGlmIHRoZXNlIGFyZSBpbnRlbnRpb25hbGx5IHVudXNlZCBvciB0aGUgY29kZSBzaG91bGQgYmUKCSAgY2hhbmdlZCwgYnV0IHRoaXMgZml4ZXMgY29tcGlsYXRpb24gZm9yIHRoZSB0aW1lIGJlaW5nIGF0IGxlYXN0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTY3OQoKMjAxNS0xMS0xMCAxNjoyNTo1MyArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogdGVzdHM6IGNoZWNrIFVSTCBqb2luaW5nIGlmIG1lZGlhIFVSTCBjb250YWlucyBhICcvJyBjaGFyYWN0ZXIKCSAgSWYgdGhlIHF1ZXJ5IHBhcmFtZXRlciAoZm9yIGV4YW1wbGUKCSAgaHR0cDovL2V4YW1wbGUubmV0LzEwNTQ1NTlfMTUwMGsubXA0L21hc3Rlci5tM3U4P2FjbD0vKjEwNTQ1NTlfMTUwMGsubXA0KSwKCSAgY2hlY2sgdGhhdCBtM3U4LmMgY29ycmVjdGx5IGNvbnZlcnRzIHRoZSByZWxhdGl2ZSBVUkxzIG9mIHRoZSBtZWRpYQoJICBwbGF5bGlzdHMgaW4gdG8gYWJzb2x1dGUgVVJMcy4gSXQgbXVzdCBub3QgdXNlIHRoZSBsYXN0ICcvJyBpdCBmaW5kcyBpbgoJICB0aGUgVVJMLCBhcyBhY2NvcmRpbmcgdG8gUkZDMzk4NiB0aGUgJy8nIGNoYXJhY3RlciBpcyBhbGxvd2VkIGluCgkgIHRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzODQKCjIwMTUtMTEtMTAgMTY6MjM6NTkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiB1bnF1b3RlIGFsbCB0aGUgcXVvdGVkLXN0cmluZyBhdHRyaWJ1dGVzCgkgIFRoZSBVUkkgYXR0cmlidXRlIGZyb20gdGhlIEVYVC1YLUtFWSB0YWcgYW5kIHRoZSBVUkkgYXR0cmlidXRlIGZyb20gdGhlCgkgIEVYVC1YLUktRlJBTUVTLU9OTFkgdGFnIGFyZSBib3RoIHF1b3RlZC1zdHJpbmcgYXR0aWJ1dGVzIHRoYXQgaGF2ZSB0aGVpcgoJICBxdW90YXRpb24gbWFya3MgcmVtb3ZlZCBkdXJpbmcgcGFyc2luZy4gVGhlIENPREVDUyBhdHRyaWJ1dGUgb2YgdGhlCgkgIEVYVC1YLVNUUkVBTS1JTkYgaXMgYWxzbyBhIHF1b3RlZC1zdHJpbmcgYXR0cmlidXRlLCBidXQgdGhpcyBhdHRyaWJ1dGUKCSAgd2FzIG5vdCBiZWluZyB1bi1xdW90ZWQuCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhlIHBhcnNlciB0byBhbHdheXMgdW5xdW90ZSBhbGwgcXVvdGVkLXN0cmluZwoJICBhdHRyaWJ1dGVzIGFuZCBhZGp1c3RzIHRoZSB1bml0IHRlc3RzIHRvIHRoaXMgbmV3IGJldmFoaW91ciBmb3IgdGhlCgkgIENPREVDUyBhdHRyaWJ1dGUuCgkgIEFuIGFkZGl0aW9uYWwgdGVzdCBpcyBhZGRlZCB0byBjaGVjayB0aGF0IHBhcnNpbmcgb2YgYWxsIG9mIHRoZSBmaWVsZHMKCSAgaW4gdGhlIEVYVC1YLVNUUkVBTSB0YWcgaXMgY29ycmVjdCwgaW5jbHVkaW5nIHRob3NlIHRoYXQgY29udGFpbiBjb21tYQoJICBjaGFyYWN0ZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mzg0CgoyMDE1LTExLTEwIDE2OjQxOjAyICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB0ZXN0czogYWRkIHVuaXQgdGVzdHMgZm9yIGhsc2RlbXV4CgkgIFVzaW5nIHRoZSBuZXcgR3N0QWRhcHRpdmVEZW11eCB0ZXN0IGZyYW1ld29yaywgYWRkIHRlc3RzIHRoYXQKCSAgZXhlcmNpc2UgaGxzZGVtdXguIFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIGFkZGVkOgoJICBzaW1wbGVUZXN0CgkgIEEgc2ltcGxlIHBsYXlsaXN0IHRoYXQgY29udGFpbnMgc29tZSBtZWRpYSBVUkxzCgkgIHRlc3RNZWRpYVBsYXlsaXN0CgkgIEEgbWFzdGVyIHBsYXlsaXN0IHdpdGggYSB2YXJpYW50IHBsYXlsaXN0IHRoYXQgY29udGFpbnMgbWVkaWEgVVJMcwoJICB0ZXN0TWVkaWFQbGF5bGlzdE5vdEZvdW5kCgkgIEEgbWFzdGVyIHBsYXlsaXN0IHRoYXQgcG9pbnRzIHRvIGEgbWlzc2luZyB2YXJpYW50IHBsYXlsaXN0CgkgIHRlc3RGcmFnbWVudE5vdEZvdW5kCgkgIEEgbWFzdGVyIHBsYXlsaXN0IHdpdGggYSB2YXJpYW50IHBsYXlsaXN0IHRoYXQgY29udGFpbnMgbWVkaWEgVVJMcwoJICBUaGVyZSBpcyBhIG1pc3NpbmcgbWVkaWEgZmlsZSByZWZlcmVuY2VkIGZyb20gdGhlIHZhcmlhbnQgcGxheWxpc3QuCgkgIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IKCSAgQSBtYXN0ZXIgcGxheWxpc3Qgd2l0aCBhIHZhcmlhbnQgcGxheWxpc3QgdGhhdCBjb250YWlucyBtZWRpYSBVUkxzCgkgIER1cmluZyB0aGUgZG93bmxvYWQgb2Ygb25lIG1lZGlhIGZpbGUsIHRoZSB0ZXN0IHNpbXVsYXRlcyB0aGUgbmV0d29yawoJICBjb25uZWN0aW9uIGJlaW5nIGRyb3BwZWQuCgkgIHRlc3RTZWVrCgkgIEEgc2ltcGxlIHRlc3Qgb2YgdHJ5aW5nIHRvIHBlcmZvcm0gYSBzZWVrIG9uIGFuIEhMUyBzdHJlYW0uCgoyMDE1LTExLTEwIDEzOjEzOjM1ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5oOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBSZWZhY3RvciBpbnRvIGFkYXB0aXZlX2VuZ2luZSBjb21wb25lbnRzCgkgIFRvIGFsbG93IGNvZGUgZnJvbSBkYXNoX2RlbXV4LmMgdG8gYmUgdXNlZCBieSBvdGhlciBlbGVtZW50cwoJICB0aGF0IGFyZSBiYXNlZCB1cG9uIEdzdEFkYXB0aXZlRGVtdXgsIHRoZSBjb2RlIGhhcyBiZWVuCgkgIHJlZmFjdG9yZWQgaW50byBmb3VyIG5ldyBmaWxlczoKCSAgYWRhcHRpdmVfZGVtdXhfZW5naW5lLltjaF0KCSAgYWRhcHRpdmVfZGVtdXhfY29tbW9uLltjaF0KCSAgVGhlIGNvZGUgaW4gYWRhcHRpdmVfZGVtdXhfZW5naW5lLmMgcHJvdmlkZXMgYSBnZW5lcmljCgkgIHRlc3QgZW5naW5lIGZvciBlbGVtZW50cyBiYXNlZCB1cG9uIEdzdEFkYXB0aXZlRGVtdXguCgkgIFRoZSBjb2RlIGluIGFkYXB0aXZlX2RlbXV4X2NvbW1vbi5jIHByb3ZpZGVzIGEgc2V0CgkgIG9mIHV0aWxpdHkgZnVuY3Rpb25zIHRoYXQgYXJlIGNvbW1vbiBiZXR3ZWVuIHRoZSB0ZXN0cwoJICBmb3IgaGxzZGVtdXggYW5kIGRhc2hkZW11eC4KCSAgQXMgcGFydCBvZiB0aGUgcmVmYWN0b3JpbmcsIHZhcmlhYmxlcyBpbiBzdHJ1Y3R1cmVzIHdlcmUKCSAgcmVuYW1lZCBmcm9tIHVzaW5nIGNhbWVsQ2FzZSB0byB1bmRlcnNjb3JlX2Nhc2UgdG8gbWF0Y2ggb3RoZXIKCSAgR1N0cmVhbWVyIHNvdXJjZSBjb2RlLgoJICBUaGUgZmFrZV9odHRwX3NyYyB3YXMgcmVuYW1lZCB0ZXN0X2h0dHBfc3JjIGFuZCBjaGFuZ2VkIHRvIHVzZQoJICBjYWxsYmFja3MgdG8gcHJvdmlkZSBpbnB1dCBkYXRhIGFuZCBlcnJvciBjb25kaXRpb25zLiBSYXRoZXIgdGhhbgoJICB1c2luZyBhbiBhcnJheSBvZiBpbnB1dCBkYXRhIHRoYXQgdHJpZXMgdG8gZW5jb2RlIGFsbCB0aGUKCSAgcG9zc2libGUgdXNlIGNhc2VzIGZvciB0aGUgR3N0VGVzdEhUVFBTcmMgZWxlbWVudCwgdXNlIGEgc3RydWN0IG9mCgkgIGNhbGxiYWNrcy4KCSAgVXNlcnMgb2YgdGhpcyBlbGVtZW50IGFyZSBvYmxpZ2VkIHRvIGltcGxlbWVudCBhdCBsZWFzdCB0aGUgc3JjX3N0YXJ0CgkgIGNhbGxiYWNrLCB3aGljaCBwcm92aWRlcyBhIHdheSB0byBsaW5rIGZyb20gYSBVUkkgdG8gdGhlIHNldHRpbmdzCgkgIGZvciB0aGF0IFVSSS4KCjIwMTUtMTItMjIgMTE6MTA6MzEgKzAyMDAgIE1hdHRoZXcgTWFyc2ggPG1hdHRAc3RvbmV0aHJlZS5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiBmaXggaGlnaCBDUFUgdXNlIG9uIGluaXRpYWxpemF0aW9uIG9mIG11bHRpcGxlIGVuY29kZXJzIGF0IHRoZSBzYW1lIHRpbWUKCSAgV2UgbmVlZCBhIHN0YXRpYyBsb2NrIHRvIHByb3RlY3QgdmFyaW91cyBOVkVOQyBtZXRob2RzIGluIF9zZXRfZm9ybWF0KCkuIFdpdGhvdXQKCSAgdGhpcyB0aGUgQ1BVIHVzZSBpbmNyZWFzZXMgZHJhbWF0aWNhbGx5IG9uIGluaXRpYWxpc2F0aW9uIG9mIHRoZSBlbGVtZW50IHdoZW4KCSAgdGhlcmUgYXJlIG11bHRpcGxlIGVsZW1lbnRzIGJlaW5nIGluaXRpYWxpc2VkIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk3NDIKCjIwMTUtMTItMjIgMTA6MTU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSBldmVyeSBiYWQgdXBkYXRlX3BsYXlsaXN0IHJldHVybiBzZXRzIGFuIGVycm9yCgkgIE90aGVyd2lzZSBpdCBzZWdmYXVsdHMgd2hlbiByZXBvcnRpbmcgdGhlIGVycm9yIGluIHRoZSBidXMKCjIwMTUtMTItMjEgMTM6NTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFVzZSBOVUxMIGluc3RlYWQgb2YgZ19zdHJkdXAoJ1wwJykKCSAgV2hpY2ggaXMgZXF1aXZhbGVudCB0byBnX3N0cmR1cChOVUxMKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTcyOAoKMjAxNS0xMi0yMSAxMjozMzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtQnN5bWJvbGljLWZ1bmN0aW9ucyBpZiBhdmFpbGFibGUKCSAgV2hpbGUgdGhpcyBpcyBtb3JlIHVzZWZ1bCBmb3IgbGlicmFyaWVzLCBzb21lIG9mIG91ciBwbHVnaW5zIHdpdGggbXVsdGlwbGUKCSAgZmlsZXMgYW5kIHNvbWUgaW50ZXJuYWwgQVBJIGNhbiBhbHNvIGJlbmVmaXQgZnJvbSB0aGlzLgoKMjAxNS0xMi0yMSAxMjoxOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBuYW1lIG9mIHRlc3RzdWl0ZQoKMjAxNS0xMi0yMSAxMjoxMzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBTaWduYWwgY29udGV4dCBjcmVhdGlvbiBmcm9tIGluc2lkZSB0aGUgY29udGV4dCBsb29wIGFuZCB1c2UgZ190aHJlYWRfam9pbigpIGluc3RlYWQgb2YgYSBjdXN0b20gY29uZGl0aW9uIHZhcmlhYmxlCgkgIEFsc28gcHJvdGVjdCBhZ2FpbnN0IHNwdXJpb3VzIGNvbmRpdGlvbiB2YXJpYWJsZSB3YWtldXBzIGR1cmluZyBjb250ZXh0CgkgIGNyZWF0aW9uLgoKMjAxNS0xMi0yMSAxMToyNzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IEhpZGUgbmF2aWdhdGlvbiBzcGVjaWZpYyBpbnRlcm5hbCBBUEkgYW5kIGFkZCBBUEkgdG8gYXN5bmNocm9ub3VzbHkgc2VuZCBuYXZpZ2F0aW9uIGV2ZW50cwoJICBFeHBvc2luZyB0aGUgbmF2aWdhdGlvbiB0aHJlYWQncyBtYWluIGNvbnRleHQsIEdTb3VyY2VGdW5jcyBhbmQgc3RydWN0cyBjYWxsZWQKCSAga2V5X2V2ZW50IGFuZCBtb3VzZV9ldmVudCBpcyBleHBvc2luZyBhIGJpdCB0b28gbXVjaCBvZiB0aGUgaW50ZXJuYWxzLiBMZXQncwoJICBqdXN0IGdvIHdpdGggdHdvIGZ1bmN0aW9ucyB0byBhc3luY2hyb25vdXNseSBzZW5kIG5hdmlnYXRpb24gZXZlbnRzIG9uIHRoZQoJICB3aW5kb3cgd2l0aCB0aGUgc2FtZSBBUEkgYXMgdGhlIHN5bmNocm9ub3VzIG9uZXMuCgoyMDE1LTEyLTIxIDEwOjQ2OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogVXNlIGdfdGhyZWFkX2pvaW4oKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGNvbmRpdGlvbiB2YXJpYWJsZSBmb3Igd2FpdGluZyBmb3IgdGhlIG5hdmlnYXRpb24gdGhyZWFkIHRvIGZpbmlzaAoJICBBbHNvIGhpZGUgc29tZSBpbnRlcm5hbCBmdW5jdGlvbnMgYW5kIGZpZWxkcyB3aGlsZSB3ZSdyZSBhdCBpdCBhbmQgZml4CgkgIGEgcmFjZSBjb25kaXRpb24gd2l0aCB0aGUgc3RhcnR1cCBjb25kaXRpb24gdmFyaWFibGUuCgoyMDE1LTExLTMwIDA5OjM2OjA5ICswODAwICBIYWlodWEgSHUgPGI1NTU5N0BmcmVlc2NhbGUuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBGaXggbWVtb3J5IGxlYWsgb2YgbmF2aWdhdGlvbiB0aHJlYWQKCSAgV2hlbiBzdG9wcGluZyB0aGUgbmF2aWdhdGlvbiB0aHJlYWQsIGNhbGwgZ190aHJlYWRfam9pbigpIHRvIHJlbGVhc2UKCSAgdGhlIHJlc291cmNlcyBob2xkIGJ5IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODIwCgoyMDE1LTEyLTE5IDIxOjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBhc3NyZW5kZXIsIGR2YnN1Ym92ZXJsYXk6IGZpeCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzCgoyMDE1LTEyLTE5IDIxOjEwOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVmbG93IHVwZGF0ZV9wbGF5bGlzdCBhIGJpdAoJICBSZWR1Y2UgaW5kZW50YXRpb24gYnkgZXJyb3Jpbmcgb3V0IGRpcmVjdGx5IG9uIGZhaWx1cmUuCgoyMDE1LTEyLTE5IDIwOjU5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHBvdGVudGlhbCBlcnJvciBsZWFrCgkgIENsZWFyIGVycm9yIGFzIHNvb24gYXMgd2UgZGV0ZXJtaW5lIHRoYXQgdGhlIGRvd25sb2FkIGZhaWxlZCwKCSAgb3RoZXJ3aXNlIHRoZXJlIGFyZSBjb2RlIHBhdGhzIHdoZXJlIHdlIG1pZ2h0IHJldHVybiB3aXRob3V0CgkgIGNsZWFyaW5nIGl0IGV2ZXIsIHdoaWNoIHdvdWxkIGxlYWsgdGhlIEdFcnJvciB0aGVuLiBBbHNvLCB3ZQoJICBjYW4gcGFzcyBhIE5VTEwgR0Vycm9yIHBvaW50ZXIgdG8gX2ZldGNoX3VyaSgpLCBzbyBqdXN0IGRvIHRoYXQKCSAgaW5zdGVhZCBvZiBwYXNzaW5nIG9uZSB0aGF0IHdlJ3JlIGdvaW5nIHRvIGp1c3QgZnJlZSBhZ2FpbgoJICByaWdodCBhd2F5IGFueXdheS4KCjIwMTUtMTItMTkgMTI6MDU6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSAgb3BlbmN2OiByZW1vdmUgdW5uZWVkZWQgc2lua19ldmVudCBmdW5jdGlvbiBpbiBweXJhbWlkc2VnbWVudAoKMjAxNS0xMi0xOSAxMjowNDowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJICBvcGVuY3Y6IHJlbW92ZSB1bm5lZWRlZCBzaW5rX2V2ZW50IGZ1bmN0aW9uIGluIHRleHRvdmVybGF5CgoyMDE1LTEyLTE4IDE4OjUxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJICB0ZW1wbGF0ZW1hdGNoOiByZW1vdmUgdXNlbGVzcyBmdW5jdGlvbgoKMjAxNS0xMi0xOCAxMTo1NjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWx3YXlzIHNldCB0aW1lc3RhbXAgb24gcmV2ZXJzZSBwbGF5YmFjawoJICBEb3duc3RyZWFtIG5lZWRzIHRvIGJlIGFibGUgdG8gcmVzdG9yZSB0aGUgdGltZXN0YW1wcyBhZnRlciBhIGRpc2NvbnQKCSAgdG8gZG8gcmV2ZXJzZSBwbGF5YmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTkyCgoyMDE1LTEyLTE4IDE1OjM2OjQwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb252ZXJ0OiBGaXggY29tcGlsYXRpb24gb2YgR1JBWTE2X0xFL0JFIHNoYWRlcgoKMjAxNS0xMS0xMyAxNzoyNDozMCArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBBZGQgZG1hYnVmIHVwbG9hZCBtZXRob2QuCgkgIFRoaXMgdXBsb2FkIG1ldGhvZCBkZXRlY3QgYW5kIG9wdGltaXplIHVwbG9hZHMgb2YgRE1BQnVmIG1lbW9yeS4gVGhpcyBpcwoJICBkb25lIGJ5IGNyZWF0aW5nIGFuZCBjYWNoaW5nIEVHTEltYWdlcyB3cmFwcGVyIGFyb3VuZCBETUFCdWYuIFRoZQoJICBFR0xJbWFnZXMgYXJlIHRoZW4gYmluZGVkIHRvIGEgdGV4dHVyZSB3aGljaCBnZXQgY29udmVydGVyIHVzaW5nCgkgIHN0YW5kYXJkIHNoYWRlci4KCSAgRXhhbXBsZSBwaXBlbGluZToKCSAgR1NUX0dMX1BMQVRGT1JNPWVnbCBcCgkgIGdzdC1sYXVuY2gtMS4wIHY0bDJzcmMgZGV2aWNlPS9kZXYvdmlkZW8xIGlvLW1vZGU9NCAhIFwKCSAgdmlkZW8veC1yYXcsZm9ybWF0PU5WMTIgISBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEyLTE4IDE1OjUyOjQ2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGVnbGltYWdlbWVtb3J5OiBBbHNvIGltcG9ydCBCR1IxNiwgQUJHUiwgeEJHUiwgQVlVViwgR1JBWTE2X0xFL0JFIGFuZCBZNDQ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTItMTggMTE6MDg6MjkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZWdsaW1hZ2VtZW1vcnk6IEFkZCBSR0IvQkdSIERNQUJ1ZiBpbXBvcnRhdGlvbiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTEtMTMgMTc6NDA6MDggKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5oOgoJICBlZ2xpbWFnZW1lbW9yeTogTWV0aG9kcyB0byBjcmVhdGUgR3N0R0xNZW1vcnkgZnJvbSBkbWFidWZzCgkgIE1hcHMgR3N0VmlkZW9Gb3JtYXRzIHRvIHN1aXRhYmxlIERSTSBmb3VyY2NzIHdoaWNoIHdvcmsgd2l0aAoJICBnbGNvbG9yY29udmVydCwgdXNpbmcgZ3N0X2dsX21lbW9yeV9hbGxvYygpLiBXZSByZXF1aXJlIG1vc3RseQoJICBvbmx5IDQgZm9ybWF0cyB0byBiZSBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlci4gV2UgcmVxdWlyZSBEUk0KCSAgZXF1aXZhbGVudCB0byBSR0IxNiwgUkdCQSwgUjggYW5kIFJHODguIFRoaXMgd2F5IGl0J3MgY29tcGF0aWJsZSB3aXRoCgkgIERlc2t0b3BHTCwgc2luY2UgR0xfVEVYVFVSRV8yRCBpcyB1c2VkIGFuZCBsaW1pdCBkcml2ZXIgcmVxdWlyZW1lbnRzLgoJICBXaXRoIHRoaXMgd2UgY2FuIHZpcnR1YWxseSBzdXBwb3J0IGFsbCBmb3JtYXRzIHRoZSBnbGNvbG9yY29udmVydAoJICBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMC0wMiAxMzozMTozOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBBZGQgZG1hYnVmIGJ1aWxkIGNvbmRpdGlvbi4KCSAgY29uZmlndXJlLmFjOiBCdWlsZCBkbWFidWYgd2hlbiBFR0wgYW5kIGRybV9mb3VyY2MuaCBpcyBhdmFpbGFibGUuCgkgIGdsOiBMaW5rIGdzdC1hbGxvY2F0b3JzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTExLTEzIDE3OjA5OjEzICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFNob3cgZXJyb3Igd2hlbiB2aWRlbyBmcmFtZSBpcyBub3QgbWFwcGVkLgoJICBBZGRzIG1vcmUgbWVhbmluZ2Z1bCBlcnJvciB0aGFuCgkgICJGYWlsZWQgdG8gY29udmVydCBtdWx0aXZpZXcgdmlkZW8gYnVmZmVyIiwgd2hpY2ggaXMgYWx3YXlzIHVzZWQKCSAgd2hlbiBwcmVwYXJlX25leHRfYnVmZmVyKCkgZmFpbHMgaW4gZ3N0X2dsaW1hZ2Vfc2lua19wcmVwYXJlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTEtMTMgMTc6MDU6MTEgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSAgZ3N0Z2xjb250ZXh0X2VnbDogRXhwb3NlIGdzdF9nbF9jb250ZXh0X2VnbF9nZXRfZXJyb3Jfc3RyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEyLTE4IDE2OjU2OjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiB1cGRhdGUgb3BlbmN2dGV4dG92ZXJsYXkgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIG9wZW5jdnRleHRvdmVybGF5IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mCgkgIGZyb20gR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4gVGhlIGNoYWluL3RyYW5zZm9ybSBmdW5jdGlvbiBpcyBub3cgYSB0aGlyZCBvZiB0aGUgc2l6ZSB0aGFuCgkgIGJlZm9yZS4KCjIwMTUtMTItMTggMTY6MTg6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiB1cGRhdGUgdGVtcGxhdGVtYXRjaCB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgcHlyYW1pZHNlZ21lbnQgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YgZnJvbQoJICBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLgoKMjAxNS0xMi0xOCAxNTo0ODoxNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogdXBkYXRlIHB5cmFtaWRzZWdtZW50IHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBweXJhbWlkc2VnbWVudCB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE3IDE3OjI2OjI5ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBNYWRlICJhdXRvIiBtb2RlIHdvcmsgYWNjb3JkaW5nIHRvIGNhcHMKCSAgV2hlbiB0aGUgbW9kZSBvZiBkZWNrbGlua3ZpZGVvc2luayBpcyBzZXQgdG8gImF1dG8iLCB0aGUgc2luayBjbGFpbXMgdG8KCSAgc3VwcG9ydCB0aGUgZnVsbCBzZXQgb2YgY2FwcyB0aGF0IGl0IGNhbiBzdXBwb3J0IGZvciBhbGwgbW9kZXMuIFRoZW4sIGV2ZXJ5CgkgIHRpbWUgbmV3IGNhcHMgYXJlIHNldCwgdGhlIHNpbmsgd2lsbCBhdXRvbWF0aWNhbGx5IGZpbmQgdGhlIGNvcnJlY3QgbW9kZSBmb3IKCSAgdGhlc2UgY2FwcyBhbmQgc2V0IGl0LgoJICBDYXZlYXQ6IFdlIGhhdmUgbm8gd2F5IHRvIGtub3cgd2hldGhlciBhIHNwZWNpZmljIG1vZGUgd2lsbCBhY3R1YWxseSB3b3JrIGZvcgoJICB5b3VyIGhhcmR3YXJlLiBUaGVyZWZvcmUsIGlmIHlvdSB0cnkgc2VuZGluZyA0SyB2aWRlbyB0byBhIDEwODAgc2NyZWVuLCBpdAoJICB3aWxsIHNpbGVudGx5IGZhaWwsIHdlIGhhdmUgbm8gd2F5IHRvIGtub3cgdGhhdCBpbiBhZHZhbmNlLiBNYW51YWxseSBzZXR0aW5nCgkgIHRoYXQgbW9kZSBhdCBsZWFzdCBnYXZlIHRoZSB1c2VyIGEgd2F5IHRvIGRvdWJsZS1jaGVjayB3aGF0IHRoZXkgYXJlIGRvaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NjAwCgoyMDE1LTEyLTE4IDEyOjI4OjIzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSAgb3BlbmN2OiB1cGRhdGUgbW90aW9uY2VsbHMgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIG1vdGlvbmNlbGxzIHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTggMTI6MjY6MTYgKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IGFkZCBkZXZpY2UgcHJvcGVydHkgYXMgaXQgaXMgZG9uZSBpbiBkaXJlY3Rzb3VuZHNpbmsKCSAgVGhpcyBhbGxvd3Mgc2VsZWN0aW9uIG9mIHRoZSBkZXZpY2UgYnkgR1VJRCBpbnN0ZWFkIG9mIHRoZSBuYW1lLiBUaGUgbmFtZSBpcwoJICB1c2VyLWdpdmVuIGFuZCBtdWx0aXBsZSBkZXZpY2VzIGNhbiBoYXZlIHRoZSBzYW1lIG5hbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0ODQKCjIwMTUtMTItMTggMTI6MzY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IENvbnZlcnQgaGVhZGVyIGZyb20gKHNvbWUpIERPUyBsaW5lIGVuZGluZ3MgdG8gVU5JWAoJICBBIG1peCBiZXR3ZWVuIGRpZmZlcmVudCBsaW5lIGVuZGluZ3MgaW4gdGhlIHNhbWUgZmlsZSBpcyBub3QgYSBnb29kIGlkZWEsCgkgIGFuZCB0aGUgLmMgZmlsZXMgYXJlIGJvdGggd2l0aCBVTklYIGxpbmUgZW5kaW5ncyBzbyBsZXQncyB1c2UgdGhhdC4KCjIwMTUtMTItMTggMTA6MzA6MjUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IHNldCAtbW1hY29zeC12ZXJzaW9uLW1pbiB0byAxMC44CgkgIE90aGVyd2lzZSBxdGtpdHZpZGVvc3JjIGZhaWxzIHRvIGJ1aWxkIG9uIE9TWCAxMC4xMC40CgkgIGJlY2F1c2UgUVRLaXQgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSBPUyBYIDEwLjkuCgkgIEFsc28gc2V0IC1tbWFjb3N4LXZlcnNpb24tbWluPTEwLjggaW4gZnJvbnQgdG8gYWxsb3cKCSAgdGhlIHVzZXIgb3IgY2VyYmVybyB0byBvdmVycmlkZSB0aGUgdmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU2NAoKMjAxNS0xMi0xOCAxMzoxNzozNCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgZ2xtZW1vcnk6IGFkZCBnc3RfZ2xfbWVtb3J5X2FsbG9jYXRvcl9nZXRfZGVmYXVsdAoJICBBZGQgZ3N0X2dsX21lbW9yeV9hbGxvY2F0b3JfZ2V0X2RlZmF1bHQgdG8gZ2V0IHRoZSBkZWZhdWx0IGFsbG9jYXRvciBiYXNlZCBvbgoJICB0aGUgb3BlbmdsIHZlcnNpb24uIEFsbG93cyB1cyB0byBzdG9wIGhhcmRjb2RpbmcgdGhlIFBCTyBhbGxvY2F0b3Igd2hpY2ggaXNuJ3QKCSAgc3VwcG9ydGVkIG9uIGdsZXMyLgoJICBGaXhlcyBHTCB1cGxvYWQgb24gaU9TOSBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDE1LTEyLTE4IDExOjQ5OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IGRlYWRsb2NrIG9uIHJlc2l6ZQoJICBQZXJmb3JtaW5nIGFueSBHTCBmdW5jdGlvbiBtYXJzaGFsbGluZyBvZmYgdGhlIEdMIHRocmVhZCB3aXRoIGdsaW1hZ2VzaW5rJ3MKCSAgcmVuZGVyIGxvY2sgaXMgcHJvbmUgdG8gZGVhZGxvY2tzIGJldHdlZW4gdGhlIEdMIHRocmVhZCBhbmQgdGhlIG5vbi1HTCB0aHJlYWQuCgkgIFdoYXQgY2FuIGhhcHBlbiBpcyB0aGlzOgoJICAxLiBub24tR0wgdGhyZWFkIGF0dGVtcHRzIHRvIGZ1bmN0aW9uIG1hcnNoYWwgdG8gdGhlIEdMIHRocmVhZC4KCSAgMi4gd2hpbGUgMSBpcyBoYXBwZW5pbmcsIHRoZSB3aW5zeXMgZ2l2ZXMgYW4gZXZlbnQgKHNheSByZXNpemUpCgkgIDMuIFRoaXMgY2FsbHMgYmFjayBpbnRvIGdsaW1hZ2VzaW5rIHdoaWNoIHRha3MgdGhlIHJlbmRlciBsb2NrLgoJICA0LiBBcyB0aGUgR0wgZnVuY3Rpb24gbWFyc2hhbGxpbmcgaXMgYXR0ZW1wdGluZyB0byBydW4gb24gdGhlIEdMCgkgIGFuZCBhbHJlYWR5IGhhcyBnbGltYWdlc2luaydzIHJlbmRlciBsb2NrIGxvY2tlZC4gIFRoaXMgZGVhZGxvY2tzCgkgIGFzIHRoZSB0aHJlYWRzIGFyZSB3YWl0aW5nIGZvciBlYWNoIG90aGVyLgoKMjAxNS0xMi0xNyAxODoxNjo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJICBvcGVuY3Y6IHVwZGF0ZSBlZGdlZGV0ZWN0IHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBlZGdlZGV0ZWN0IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTcgMTU6NTY6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IERvbid0IGNyYXNoIHdoZW4gZGVjb2RpbmcgcmV0dXJucyBOVUxMIGRhdGEgZm9yIGFueSBjb21wb25lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk0MwoKMjAxNS0xMi0xNSAxNDoxNDozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsYmFzZW1lbW9yeTogZG9uJ3QgdW5jb25kaXRpb25hbGx5IGFkZCB0aGUgYWxpZ25tZW50IGJ5dGVzIHRvIHRoZSBzaXplCgkgIGUuZyB3aGVuIHdyYXBwaW5nIGEgZGF0YSBwb2ludGVyIHdlIGRvbid0IHdhbnQgdG8gbWFwL3VubWFwIG9mZiB0aGUgZW5kIG9mCgkgIHBvaW50ZXIgd2l0aCB0aGUgYWxpZ25tZW50IGJ5dGVzLgoJICBJbnN0ZWFkIHRyYWNrIHRoYXQgaW5mb3JtYXRpb24gc2VwYXJhdGVseSBhcyBtYXhzaXplIGlzIHVzZWQgZm9yIG1hcHBpbmcgYnkKCSAgR3N0TWVtb3J5IGFuZCB0aHVzIHJlcHJlc2VudHMgYSBzaXplIHdpdGhvdXQgYW55IGFsaWdubWVudCBwYWRkaW5nIGJ5dGVzLgoKMjAxNS0xMi0xNyAxMDo1MTozMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIG9wZW5jdjogYWRkIGJsdXIgYW5kIGJpbGF0ZXJhbCBzdXBwb3J0IGluIGN2c21vb3RoCgkgIEFkZGluZyB0aGUgc3VwcG9ydCBmb3IgdGhlIHR3byBvdGhlciBPcGVuQ1YgbGluZWFyIGZpbHRlcnMgdG8gc21vb3RoCgkgIGltYWdlcy4gVGhlIG5ldyBBUEkgZG9lcyBzdXBwb3J0IHNwYXRpYWwgc2lnbWEgaW4gdGhlIGJpbGF0ZXJhbCBmaWx0ZXIsCgkgIGhlbmNlIGJyaW5naW5nIHRoYXQgcHJvcGVydHkgYmFjay4KCSAgQWRkaW5nIHJlZmVyZW5jZSB0byBuZXcgZG9jdW1lbnRhdGlvbi4KCjIwMTUtMTItMTcgMDg6NTE6NDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IEZpeCB3cm9uZyBsb2dpYyBsZWFkaW5nIHRvIG1lbW9yeSBtaXNoYW5kbGluZwoJICBXaGlsZSBlbmNvZGluZyB0aGUgZnJhbWUgaW4gQVNDSUkgbW9kZSwgcGVyIGNvbXBvbmVudCBmb3VyIGJ5dGVzIGFyZSBuZWVkZWQKCSAgYW5kIGFmdGVyIGV2ZXJ5IDIwIGJ5dGVzLCBhIFxuIHdpbGwgYmUgYWRkZWQuIFNvIHRoZSBjYWxjdWxhdGlvbiBzaG91bGQgYmUKCSAgc2l6ZSA9IHNpemUgKiAoNCArIDEgLyAyMCkuIFRoaXMgc2hvdWxkIGV4Y2x1ZGUgdGhlIGhlYWRlciBiZWluZyB3cml0dGVuLgoJICBTaW5jZSBoZWFkZXIgaXMgYWxzbyBiZWluZyBpbmNsdWRlZCBpbiB0aGUgY2FsY3VsYXRpb25zLCBtZW1vcnkgbWlzaGFuZGxpbmdzCgkgIGFyZSBoYXBwZW5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjAKCjIwMTUtMTItMTcgMTU6NTA6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBnbGJ1ZmZlcjogYWRkIGEgbmFtZSB0byB0aGUgYWxsb2NhdG9yCgoyMDE1LTEyLTE3IDE1OjIzOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbCptZW1vcnkqOiByZXZlcnNlIHRoZSBwYXJhbWV0ZXIgb3JkZXIgb2YgdXNlcl9kYXRhIGFuZCBkZXN0cm95IG5vdGlmeQoJICBUaGUgY29udmVudGlvbiBpcyB0byBoYXZlIHRoZSBkZXN0cm95IG5vdGlmeSBsYXN0IGFmdGVyIGFueSB1c2VyIGRhdGEKCjIwMTUtMTItMTcgMTU6MDc6MzMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIG9uIGlPUwoJICBGaXggYnVpbGQgYWZ0ZXIgNzc5ZGMzMTMyYzhmNmRkNTYwY2IwN2NjMmUyYzNjNzJhZWFhNzg0NQoKMjAxNS0xMi0xNyAxNDo0OToxMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogZG8gZml4YXRlCgoyMDE1LTEyLTE2IDE4OjQxOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbG1lbW9yeXBibzogcmVtb3ZlIG91ciBvd24gYWxsb2MoKS93cmFwcGVkKCkvZXRjIGZ1bmN0aW9ucwoJICByZXBsYWNlZCBieSBlcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkgd2l0aGluIGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYygpCgoyMDE1LTEyLTE2IDE4OjM5OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGRvY3VtZW50IGdzdF9nbF9tZW1vcnlfaW5pdAoKMjAxNS0xMi0xNiAxODozODoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbGJ1ZmZlcjogcmVtb3ZlIHVubmVlZGVkIGdzdF9nbF9idWZmZXJfYWxsb2MoKQoJICBSZXBsYWNlZCBieSBnc3RfZ2xfYmFzZV9tZW1vcnlfYWxsb2MoKQoKMjAxNS0xMi0xNiAxODozNzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IGRvY3VtZW50IHNvbWUgZnVuY3Rpb25zCgoyMDE1LTEyLTE2IDE4OjM2OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBhIGRlZmF1bHQgY29weSBpbXBsZW1lbnRhdGlvbgoJICBTdWJjbGFzc2VzIHN0aWxsIG5lZWQgdG8gb3ZlcnJpZGUgdGhpcyB0byBjb3B5IGludG8gdGhlIGNvcnJlY3QgbWVtb3J5IHR5cGUuCgoyMDE1LTEyLTE2IDE4OjMyOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2xidWZmZXJwb29sOiB1c2UgZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jIGFzIGEgZ2VuZXJpYyBHTCBhbGxvY2F0aW9uIGZyYW1ld29yawoJICBSZXF1aXJlcyB0aGUgdXNhZ2Ugb2YgR3N0R0xWaWRlb0FsbG9jYXRpb25QYXJhbXMgaG93ZXZlciBhbnkgdXNlciBjYW4gc2V0IHRoZWlyCgkgIG93biBwYXJhbWV0ZXJzIGFsb25nIHdpdGggYW4gYWxsb2NhdG9yIHdoaWNoIHdpbGwgYmUgdXNlZCB0byBhbGxvY2F0ZSB0aGUKCSAgY29ycmVjdCBtZW1vcnkgdHlwZS4KCjIwMTUtMTItMTYgMTg6MzA6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSAgZ2xtZW1vcnlwYm86IGltcGxlbWVudCBHc3RHTEJhc2VNZW1vcnk6YWxsb2MKCSAgVXNlcyB0aGUgR3N0R0xWaWRlb0FsbG9jYXRpb25QYXJhbXMgcGFyYW1ldGVycwoKMjAxNS0xMi0xNiAxODoyMzozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJICBnbGJ1ZmZlcjogaW1wbGVtZW50cyBHc3RHTEJhc2VNZW1vcnk6OmFsbG9jCgkgIENyZWF0ZSBHc3RHTEJ1ZmZlckFsbG9jYXRpb25QYXJhbXMgd2hpY2ggaXMgc3ViY2xhc3Mgb2YgR3N0R0xBbGxvY2F0aW9uUGFyYW1zCgoyMDE1LTEyLTE2IDE4OjIwOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgZ2xtZW1vcnk6IGltcGxlbWVudCBHc3RHTEJhc2VNZW1vcnk6OmFsbG9jCgkgIC0gQ3JlYXRlIEdzdEdMVmlkZW9BbGxvY2F0aW9uUGFyYW1zIHdoaWNoIGlzIGEgR3N0R0xBbGxvY2F0aW9uUGFyYW1zIHN1YmNsYXNzLgoJICAtIE1ha2UgaXQgcG9zc2libGUgdG8gYWxsb2NhdGUgZ2xtZW1vcnkgb2JqZWN0cyBkaXJlY3RseSBpZiBubyBmcmlsbHMgYXJlCgkgIG5lZWRlZC4KCjIwMTUtMTItMTYgMTg6MTM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbGJhc2VtZW1vcnk6IGFkZCBhIGdlbmVyaWMgaW50ZXJmYWNlIGZvciBhbGxvY2F0aW5nIEdMIG1lbW9yaWVzCgkgIFRoaXMgaXMgbWFkZSBwb3NzaWJsZSBieSBhIHN1YmNsYXNzYWJsZSBHc3RHTEFsbG9jYXRpb25QYXJhbXMgdGhhdCBob2xkcwoJICB0aGUgYWxsb2NhdGlvbiBwYXJhbWV0ZXJzCgkgIEV2ZXJ5IGFsbG9jYXRpb24gd291bGQgbm93IGdvIHRocm91Z2ggZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jIHdpdGggdGhlCgkgIGFsbG9jYXRpb24gcGFyYW1ldGVycyBub3cgYmVpbmcgc3BlY2lmaWVkIGluIGEgc2luZ2xlIHN0cnVjdCB0byBhbGxvdwoJICBleHRlbnNpb24gYnkgZGlmZmVyZW50IGFsbG9jYXRvcnMuCgoyMDE1LTEyLTE3IDEyOjMwOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIHJldmVydCBjb21tb24gc3VibW9kdWxlIGNoYW5nZQoJICA4YWUwMDMzMjYxNTc0MzhjMTJjNDU1ODllMDUwYzVmNDQ2NzIzZjYxIGNvbnRhaW5lZCBhIGVycm9uZW91cyBjb21tb24gY2hhbmdlCgoyMDE1LTEyLTE3IDExOjA2OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSAgUmV2ZXJ0ICJnbGJ1ZmZlcjogRG9uJ3QgcGFzcyBhbGxvY2F0aW9uIHBhcmFtcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNTJmNDFlNWMyOTNlYzE3YzAzODQ2N2VkMWU3YjkyYjA0ZDQ5NGIwLgoJICBUaGlzIGlzIGluY29ycmVjdCBhbmQgd2lsbCBhZmZlY3QgYW55IG90aGVyIGdsYnVmZmVyIHVzZXIgdGhhdCBuZWVkcy93YW50cyB0bwoJICBwZXJmb3JtIGRhdGEgYWxpZ25tZW50LgoKMjAxNS0xMi0xNiAxOToyMToyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJICBvcGVuY3Y6IGFkZCBtZWRpYW5CbHVyIHN1cHBvcnQgaW4gY3ZzbW9vdGgKCSAgV2l0aCB0aGUgZGVwcmVjYXRpb24gb2YgY3ZTbW9vdGggd2UgaGF2ZSB0byBoYW5kbGUgdGhlIG90aGVyIHNtb290aGluZwoJICBmdW5jdGlvbnMgbWFudWFsbHkuCgoyMDE1LTEyLTE2IDE4OjM3OjM3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSAgb3BlbmN2OiBzd2l0Y2ggZGVwcmVjYXRlZCBjdlNtb290aCBmb3IgR2F1c3NpYW5CbHVyCgkgIFRoZSBPcGVuQ1YgY3ZTbW9vdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBbMF0gYW5kIHRoZSBkb2N1bWVudGF0aW9uCgkgIHJlY29tbWVuZHMgdG8gdXNlIEdhdXNzaWFuQmx1ciAoKS4gVGhpcyBtYWtlcyB0aGUgc3BhdGlhbCBwcm9wZXJ0eSBnbwoJICB1bnVzZWQuIE1hcmtpbmcgaXQgYXMgZGVwcmVjYXRlZCwgbWFraW5nIGl0IG5vbi1mdW5jdGlvbmFsIGFuZCB3aWxsIHJlbW92ZQoJICBpbiB0aGUgbmV4dCBjeWNsZS4KCSAgWzBdIGh0dHA6Ly9kb2NzLm9wZW5jdi5vcmcvMi40L21vZHVsZXMvaW1ncHJvYy9kb2MvZmlsdGVyaW5nLmh0bWwKCjIwMTUtMTItMTYgMTE6NTY6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBnbGJ1ZmZlcjogRG9uJ3QgcGFzcyBhbGxvY2F0aW9uIHBhcmFtcwoJICBUaGUgaW1wb3J0ZWQgbWVtb3J5IGhhcyBhbHJlYWR5IGJlZW4gYWxsb2NhdGVkLCBwYXNzaW5nIGFsbG9jYXRpb24KCSAgcGFyYW1ldGVycyB3aXRoIGFsaWdubWVudCBjb25mdXNlcyB0aGUgbWVtb3J5IHdoaWNoIGVuZHVwIHdpdGggYQoJICBzaXplIGRpZmZlcmVudCBmcm9tIG1heHNpemUgYW5kIGxlYWQgdG8gb3ZlcnJ1biB3aGVuIHRoZSBtZW1vcnkKCSAgaXMgYmVpbmcgY29waWVkLgoKMjAxNS0xMi0xNiAxMzo1OToxOCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIHZhbGlkYXRpb24gb2YgVVRDdGltaW5nIGVsZW1lbnQKCSAgZ3N0X21wZHBhcnNlcl9wYXJzZV91dGN0aW1pbmdfbm9kZSBkb2VzIG5vdCB2YWxpZGF0ZSB0aGUgcGFyc2VkIHZhbHVlcyBjb21wbGV0ZWx5LiBUaGUgZm9sbG93aW5nIHNjZW5hcmlvcyBhcmUgaW5jb3JyZWN0bHkgYWNjZXB0ZWQ6CgkgIC0gZWxlbWVudHMgd2l0aCBubyBzY2hlbWVJZFVyaSBwcm9wZXJ0eSBzaG91bGQgYmUgcmVqZWN0ZWQKCSAgLSBlbGVtZW50cyB3aXRoIHVucmVjb2duaXplZCBVVENUaW1pbmcgc2NoZW1lIHNob3VsZCBiZSByZWplY3RlZAoJICAtIGVsZW1lbnRzIHdpdGggZW1wdHkgdmFsdWVzIHNob3VsZCBiZSByZWplY3RlZAoJICBUaGUgbGFzdCBvbmUgdHJpZ2dlcnMgYSBkaXZpc2lvbiBieSAwIGluIGdzdF9kYXNoX2RlbXV4X3BvbGxfY2xvY2tfZHJpZnQ6CgkgIGNsb2NrX2RyaWZ0LT5zZWxlY3RlZF91cmwgPSBjbG9ja19kcmlmdC0+c2VsZWN0ZWRfdXJsICUgZ19zdHJ2X2xlbmd0aCAodXJscyk7CgkgIGJlY2F1c2UgaXQgdXJscyBpcyBhIHZhbGlkIHBvaW50ZXIgdG8gYW4gZW1wdHkgYXJyYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1NDcKCjIwMTUtMTItMTYgMTA6NDE6NDcgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2xvY2tfY29uZCBpcyBub3QgdXNlZCBhbmQgc2hvdWxkIGJlIHJlbW92ZWQKCSAgVGhlcmUgYXJlIG5vIHRocmVhZHMgd2FpdGluZyBvbiBjbG9ja19jb25kLiBJdCBpcyBqdXN0IGluaXRpYWxpc2VkIGFuZAoJICBzaWduYWxsZWQuIEl0IHNob3VsZCBiZSByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM3CgoyMDE1LTEyLTE2IDEwOjIzOjIzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCBjbG9jayBjb21wZW5zYXRpb24gaW4gZ2V0X2ZyYWdtZW50X3dhaXRpbmdfdGltZQoJICBDbG9jayBjb21wZW5zYXRpb24gaXMgY2FsY3VsYXRlZCBpbiB1c2VjIGJ1dCBpcyBhZGRlZCB0byBhIEdzdENsb2NrVGltZSB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzNAoKMjAxNS0xMi0xNiAxMDoyMTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBMaW5rIHRvIElPU3VyZmFjZS5mcmFtZXdvcmsgZm9yIHRoZSBJT1N1cmZhY2UgQVBJCgoyMDE1LTEyLTE1IDE3OjEwOjAwICswMDAwICBEYXZlIENyYWlnIDxkYXZlY3JhaWdAdW5iYWxhbmNlZGF1ZGlvLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IENoZWNrIGZvciBOVUxMIHJldHVybiB2YWx1ZSBvZiBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTAzCgoyMDE1LTEyLTE2IDE0OjMyOjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBGaXggdmFsdWUgbWVtb3J5IGxlYWsKCSAgZ3ZhbHVlIHZhcmlhYmxlIHNob3VsZCBiZSB1bnNldCBpbnN0ZWFkIG9mIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTI1CgoyMDE1LTEyLTE2IDE0OjI5OjIwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBGaXggdmFsdWUgbWVtb3J5IGxlYWsKCSAgZ3ZhbHVlIHZhcmlhYmxlIHNob3VsZCBiZSB1bnNldCBpbnN0ZWFkIG9mIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIzCgoyMDE1LTEyLTE2IDEzOjA4OjIyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBGaXggc2Nhbm5lciBtZW1vcnkgbGVhawoJICBGb3IgY29ycnVwdGVkIGZpbGVzLCBzY2FubmVyIG1lbW9yeSBpcyBiZWluZyBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjIKCjIwMTUtMTItMTYgMTM6MDY6NDUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgSW4gY2FzZSBvZiBjb3JydXB0ZWQgZmlsZSwgcy0+YnVmIGFsbG9jYXRlZCBpcyBub3QgYmVpbmcgZnJlZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMgoKMjAxNS0xMi0xNiAwOTowNTo0MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogRml4IHN0cmluZyBtZW1vcnkgbGVhawoJICBoZWFkZXIgYmVpbmcgYWxsb2NhdGVkIGlzIG5vdCBmcmVlZCByZXN1bHRpbmcgaW4gbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIwCgoyMDE1LTEyLTE2IDA4OjUyOjEyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBGaXggYnVmZmVyIG1lbW9yeSBsZWFrCgkgIG91dGJ1ZmZlciBiZWluZyBhbGxvY2F0ZWQgaXMgbm90IGJlaW5nIHB1c2hlZCB0byBxdWV1ZSBmb3IgRU9TIGV2ZW50IGFuZCBoZW5jZQoJICBzaG91bGQgYmUgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MTkKCjIwMTUtMTItMTYgMDk6Mzk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB0byBJT0tpdC5mcmFtZXdvcmsgZm9yIElPU3VyZmFjZSByZWxhdGVkIGZ1bmN0aW9ucwoKMjAxNS0xMi0xNiAwOTozMzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkgIGRvY3M6IHVwZGF0ZSB0byBnaXQKCjIwMTUtMTItMTYgMDg6MjU6MTkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QveWFkaWYvdmZfeWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MKCSAgV2hlbiBhcHBseWluZyB0aGUgc3BhdGlhbCBwcmVkaWN0aW9uLCB0aGVyZSBpcyBhbiBpbGxlZ2FsIGFjY2VzcyBvZiAtMSBpbmRleCBvZiBhcnJheS4KCSAgSGVuY2UgYWRkaW5nIGEgY29uZGl0aW9uIHRvIGF2b2lkIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MTgKCjIwMTUtMTItMTYgMDg6MjI6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBndmFsdWUgbWVtb3J5IGxlYWsKCSAgZ3ZhbHVlIHZhcmlhYmxlIHNob3VsZCBiZSB1bnNldCBpbnN0ZWFkIG9mIHJlc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTE4CgoyMDE1LTEyLTE2IDE3OjAyOjI3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggdGV4dHVyZS10YXJnZXQgb24gaU9TCgoyMDE1LTEyLTE2IDE1OjIwOjMwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW1vdmUgb2Jzb2xldGUgRklYTUUKCjIwMTUtMTItMTYgMTQ6Mzg6NDQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IHJld29yayBHTE1lbW9yeSBuZWdvdGlhdGlvbgoJICBPbmx5IGRvIEdMTWVtb3J5IHdoZW4gYSBHc3RHTENvbnRleHQgaXMgYXZhaWxhYmxlIEFORCBHTE1lbW9yeSBpcyBhY3R1YWxseQoJICBuZWdvdGlhdGVkIHdpdGggZG93bnN0cmVhbS4KCjIwMTUtMTItMTYgMTM6NDc6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IHVwZGF0ZSBhZnRlciBJT1N1cmZhY2UgY2hhbmdlcwoJICBQcmVmZXIgR0xNZW1vcnkgb3ZlciBzeXNtZW0uIEFsc28gbm93IHdoZW4gcHVzaGluZyBHTE1lbW9yeSB3ZSBwdXNoIHRoZQoJICBvcmlnaW5hbCBmb3JtYXRzIChVWVZZIGluIE9TWCwgQkdSQSBpbiBpT1MpIGFuZCBsZWF2ZSBpdCB0byBkb3duc3RyZWFtIHRvCgkgIGNvbnZlcnQuCgoyMDE1LTEyLTE0IDE2OjEwOjAxICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW1vdmUgdGhlIGludGVybmFsIEdzdEdMQ29sb3JDb252ZXJ0CgkgIEl0IHdhcyBhZGRlZCBiYWNrIGluIHRoZSBkYXkgdG8gbWFrZSB0ZXh0dXJlIHNoYXJpbmcgd29yayBieSBkZWZhdWx0IHdpdGgKCSAgZ2xpbWFnZXNpbmsgaW5zaWRlIHBsYXliaW4uIFRoZXNlIGRheXMgZ2xpbWFnZXNpbmsgYWNjZXB0cyAoYW5kIGNvbnZlcnRzKSBZVVYKCSAgaW50ZXJuYWxseSBzbyBpdCdzIG5vIGxvbmdlciBuZWVkZWQuCgoyMDE1LTEyLTE0IDE0OjIzOjIwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBkZWNvdXBsZSBvdXRwdXR0aW5nIHRleHR1cmVzIGZyb20gb3V0cHV0dGluZyBSR0JBCgkgIFdlJ3JlIGdvaW5nIHRvIGJlIGFibGUgdG8gb3V0cHV0IE5WMTIgdGV4dHVyZXMgc29vbi4KCjIwMTUtMTItMTEgMTM6MjA6MDUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc3dpdGNoIHRvIElPU3VyZmFjZSBvbiBNYWMKCSAgU3dpdGNoIHRvIHVzaW5nIElPU3VyZmFjZSBpbnN0ZWFkIG9mIENWT3BlbkdMVGV4dHVyZUNhY2hlIG9uIE9TWC4gVGhlIGxhdHRlciBjYW4ndCBiZQoJICB1c2VkIGFueW1vcmUgdG8gZG8gWVVWID0+IFJHQiB3aXRoIG9wZW5nbDMgb24gRWwgQ2FwaXRhbiBhcyBHTF9ZQ0JDUl80MjJfQVBQTEUKCSAgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBvcGVuZ2wzIGRyaXZlci4gQWxzbyBzd2l0Y2ggdG8gTlYxMiBmcm9tIFVZVlksIHdoaWNoCgkgIHdhcyB0aGUgb25seSBZVVYgZm9ybWF0IHN1cHBvcnRlZCBieSBDVk9wZW5HTFRleHR1cmVDYWNoZS4KCjIwMTUtMTItMTAgMTY6MjI6MDggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHJlbmFtZSBHc3RDb3JlVmlkZW9UZXh0dXJlQ2FjaGUgdG8gR3N0VmlkZW9UZXh0dXJlQ2FjaGUKCSAgRmlyc3Qgb2YgYSBmZXcgY29tbWl0cyB0byBzdG9wIHVzaW5nIENWT3BlbkdMVGV4dHVyZUNhY2hlIG9uIE9TWCBhbmQgdXNlCgkgIElPU3VyZmFjZXMgZGlyZWN0bHkgaW5zdGVhZC4gQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUgaGFzbid0IGJlZW4gdXBkYXRlZCBmb3IgT3BlbkdMCgkgIDMgd2hpY2ggaXMgd2h5IHRleHR1cmUgc2hhcmluZyBpcyBjdXJyZW50bHkgZGlzYWJsZWQgb24gT1NYLgoKMjAxNS0xMS0xNyAxOTozMTo1MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBSZXZlcnQgInZ0ZGVjOiBkaXNhYmxlIHRoZSB0ZXh0dXJlIGNhY2hlIG9uIE9TWCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmMDI0MjVjNGFmY2Q4NTI2MGExYjM4N2FlZGRmODYzNzc0MjU3OTE3LgoKMjAxNS0xMi0xNSAxNDoxNzoxNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBhbGxvY2F0b3IgbmFtZSBhZnRlciBHTE1lbW9yeSBBUEkgY2hhbmdlcwoKMjAxNS0xMi0xNSAxOToyODowNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdHNpbms6IEFkZCBjb25maWd1cmVkIEdMIGNmbGFncyB0byB0aGUgYnVpbGQKCSAgV2UgZG9uJ3QgZGlyZWN0bHkgbGluayB0byBHTCBpbiB0aGUgZWxlbWVudCwgdGhvdWdoIHdlIHVzZSBHTCBoZWFkZXJzLgoJICBGb3IgdGhpcyByZWFzb24gd2UgbmVlZCB0byBpbmNsdWRlIHRoZSBwcm9wZXIgR0wgaGVhZGVycyBwYXRoLiBUaGlzCgkgIHByZXZlbnQgdGhpcyBlbGVtZW50IGZyb20gdXNpbmcgYSBkaWZmZXJlbnQgR0wgaGVhZGVyIHRoZW4gbGliZ3N0Z2wuCgoyMDE1LTEyLTE1IDE5OjI1OjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogQWxsb3cgdXNpbmcgbm9uLXN5c3RlbSBtZXNhIHdpdGggYm90aCBHTCBhbmQgR0xFUwoJICBHQ0MgYXV0b21hdGljYWxseSBkaXNhYmxlIHJlZHVuZGFuY2Ugd2FybmluZ3MgZm9yIHN5c3RlbSBoZWFkZXJzLiBBcwoJICBzb29uIGFzIHdlIHN0YXJ0IHVzaW5nIGEgbm9uLXN5c3RlbSBpbnN0YWxsZWQgbWVzYSwgd2Ugd291bGQgc3RhcnQKCSAgaGF2aW5nIGlzc3Vlcy4gVGhlIHRlc3QgZm9yIGJvdGggd2Fzbid0IHNldHRpbmcgYW55IGZsYWdzLCBzbyBpdCB3b3VsZAoJICB3b3JrIGJ1dCB0aGVuIGZhaWwgYXQgcnVudGltZS4KCSAgVGhpcyBpcyBiZWluZyBmaXhlZCBieSBkaXNhYmxpbmcgaW4gdGhlIGNvZGUgKHdoZXJlIG5lZWRlZCBvbmx5KSB0aGF0CgkgIEdDQyB3YXJuaW5nLiBUaGUgdGVzdCBpcyBhbHNvIGZpeGVkIHRvIGF2b2lkIHRoZSBmYWxzZSBwb3NpdGl2ZSB3ZSBoYWQuCgoyMDE1LTEyLTE1IDE1OjU5OjMwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkgIG9wZW5jdjogcHlyYW1pZHNlZ21lbnQ6IGZpeCBleGFtcGxlIGxhdW5jaCBsaW5lCgkgIFVzZSB2aWRlb3Rlc3RzcmMgYW5kIGF1dG92aWRlb3NpbmsgaW4gdGhlIGV4YW1wbGUgZ3N0LWxhdW5jaC0xLjAgbGluZSBhbmQKCSAgbm90IGEgdXNlbGVzcyBmYWtlc3JjLWZha2VzaW5rIGV4YW1wbGUuCgoyMDE1LTEyLTE1IDE1OjU2OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJICBvcGVuY3Y6IGFkZCBoZWFkZXJzIHdpdGggZXhhbXBsZSBsYXVuY2ggbGluZXMKCSAgQWRkIGRlc2NyaXB0aW9uIGhlYWRlcnMgZm9yIGFsbCB0aGUgT3BlbkNWIHBsdWdpbnMgbWlzc2luZyB0aGVtLCBzbyB3ZSBjYW4KCSAgaGF2ZSBnc3QtbGF1bmNoLTEuMCBleGFtcGxlIGxhdW5jaCBsaW5lcyBmb3IgYWxsIG9mIHRoZW0uCgoyMDE1LTEyLTE0IDE2OjQ4OjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5nbDogVXNlIHBrZy1jb25maWcgaWYgYXZhaWxhYmxlCgkgIGxpYk1lc2Egc2hpcHMgLnBjIGZpbGVzIG5vdyBmb3IgZ2wvZWdsL2dsZXN2Mi4gVGhpcyBwYXRjaCBtYWtlcyB1c2UKCSAgb2YgaXQgd2hpbGUga2VlcGluZyBzdXBwb3J0IGZvciBzeXN0ZW0gd2l0aG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA2OAoKMjAxNS0xMi0xNSAxMTo1OTowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBoZWFkZXJzIHdpdGggZXhhbXBsZSBsYXVuY2ggbGluZXMKCSAgQWRkIGRlc2NyaXB0aW9uIGhlYWRlcnMgZm9yIGFsbCBnZW9tZXRyaWN0cmFuc2Zvcm0gZWxlbWVudHMgc28gd2UgY2FuIGhhdmUKCSAgZ3N0LWxhdW5jaC0xLjAgZXhhbXBsZSBsYXVuY2ggbGluZXMgZm9yIGFsbCBvZiB0aGVtLgoKMjAxNS0xMi0xNCAxMTowOTo0NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIFJFQURNRToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTI6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZHAvUkVBRE1FOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHZiL1JFQURNRToKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBwbHVnaW5zLWJhZDogRml4IGV4YW1wbGUgcGlwZWxpbmVzCgkgIHJlbmFtZSBnc3QtbGF1bmNoIC0tPiBnc3QtbGF1bmNoLTEuMAoJICByZXBsYWNlIG9sZCBlbGVtZW50cyB3aXRoIG5ldyBlbGVtZW50cyhmZm1wZWdjb2xvcnNwYWNlIC0+IHZpZGVvY29udmVydCwgZmZlbmNfKiogLT4gYXZlbmNfKiopCgkgIGZpeCBjYXBzIGluIGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0MzIKCjIwMTUtMTItMTQgMTU6MDE6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIGlnbm9yZTogdmlkZW9mcmFtZS1hdWRpb2xldmVsIHRlc3QKCjIwMTUtMTItMTQgMTQ6NDQ6MzEgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgYmFkOiBBZGQgZ19hdXRvcHRyKCkgc3VwcG9ydCB0byBhbGwgdHlwZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NAoKMjAxNS0xMi0xNCAxMjozMTo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIGRlcmVmZXJlbmNpbmcKCSAgcHJpdi0+cHJpbWFyeV9vdXQgY291bGQgYmUgTlVMTCwgY2hlY2sgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQgaW4KCSAgR1NUX0JVRkZFUl9GTEFHX1NFVCAoKQoJICBDSUQgMTMwODk0NQoKMjAxNS0xMi0xNCAxMzo0MzoxMCArMDIwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAYWhpcnUuZXU+CgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJICB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWw6IEZpeCBwb3NzaWJsZSBkaXZpc2lvbiBieSB6ZXJvCgkgIEluIHVwZGF0ZV9ybXNfZnJvbV9idWZmZXIoKSwgZGl2aXNpb24gYnkgImZyYW1lcyIgd2Fzbid0IGNoZWNraW5nIHdoZXRoZXIKCSAgImZyYW1lcyIgaXMgemVyby4KCSAgQ0lEIDEzNDE1MTkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk0NDMKCjIwMTUtMTItMTQgMDk6Mzg6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBjbHV0dGVyOiBGaXggY29tcGlsYXRpb24gZXJyb3IgaW4gR0wgZXhhbXBsZXMKCSAgSW5jbHVkZSBnc3QvZ2wuaCBpbnN0ZWFkIG9mIHNwZWNpZmljIGhlYWRlcnMgdG8gcHJldmVudCBzdWNoIHByb2JsZW1zIGFsc28gaW4KCSAgdGhlIGZ1dHVyZS4KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nbC5oOjQ3OjAsCgkgIGZyb20gLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOjEzNywKCSAgZnJvbSAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoyOSwKCSAgZnJvbSBjbHV0dGVyc2hhcmUuYzozOToKCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6NTE6MjA6IGVycm9yOiBmaWVsZCDigJhtZW3igJkgaGFzIGluY29tcGxldGUgdHlwZQoJICBHc3RHTE1lbW9yeSAgICAgIG1lbTsKCSAgXgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoxMjQ6MjQ6IGVycm9yOiBmaWVsZCDigJhwYXJlbnTigJkgaGFzIGluY29tcGxldGUgdHlwZQoJICBHc3RHTE1lbW9yeUFsbG9jYXRvciBwYXJlbnQ7CgkgIF4KCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6MTM0OjI5OiBlcnJvcjogZmllbGQg4oCYcGFyZW50X2NsYXNz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKCSAgR3N0R0xNZW1vcnlBbGxvY2F0b3JDbGFzcyBwYXJlbnRfY2xhc3M7CgkgIF4KCjIwMTUtMTItMTQgMTk6MTg6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZm9yIEdMTWVtb3J5IEFQSSBjaGFuZ2VzCgoyMDE1LTEyLTE0IDE5OjE1OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiB1cGRhdGUgZm9yIEdMTWVtb3J5IEFQSSBjaGFuZ2VzCgoyMDE1LTEyLTE0IDE4OjQxOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ2xtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTUtMTItMTQgMTg6MjA6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBnbGJ1ZmZlcjogYmluZC91bmJpbmQgb24gbWFwL3VubWFwIGZvciBHTCBtYXBwaW5ncwoJICBCaW5kIHRoZSBoYW5kbGUgdG8gdGhlIEdMIHRhcmdldCBvbiBtYXAvdW5tYXAgdG8gc2F2ZSB0aGUgY2FsbGVyIGZyb20KCSAgaGFuZGxpbmcgdGhpcyB0aGVtc2VsdmVzLgoKMjAxNS0xMi0xNCAxODoxOTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJICBnbGJ1ZmZlcjogcmVtb3ZlIGJ1ZmZlciBzcGVjaWZpYyB0cmFuc2ZlciBmbGFncwoJICBJbnN0ZWFkIHJlbHkgb24gR3N0R0xCYXNlTWVtb3J5J3MgdHJhbnNmZXIgaGFuZGxpbmcKCjIwMTUtMTItMTQgMTg6MTg6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogbWFwL3VubWFwIHBibyBtZW1vcnkgY29ycmVjdGx5IGZvciBzdGF0ZSB0cmFja2luZwoJICBPdGhlcndpc2Ugc29tZSBkb3dubG9hZHMgd2lsbCBmYWlsIHRvIG9jY3VyIGZyb20gdGhlIFBCTy4KCjIwMTUtMTItMTQgMTg6MTU6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgdGVzdHMvZ2xtZW1vcnk6IGluY2x1ZGUgdGhlIGdlbmVyaWMgZ2wgaGVhZGVyCgkgIEluY2x1ZGluZyBnc3RnbG1lbW9yeS5oIGRpcmVjdGx5IHJlc3VsdHMgaW4gdGhlIGNvbXBpbGVyIGNvbXBsYWluaW5nCgkgIGFib3V0IGluY29tcGxldGUgdHlwZXMuCgoyMDE1LTEyLTE0IDE3OjA1OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSAgZ2xmb3JtYXQ6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zIGZvciBPRVMvcmVjdGFuZ2xlIHRleHR1cmVzCgoyMDE1LTEyLTE0IDEzOjQ5OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsYmFzZWJ1ZmZlcjogcmVtb3ZlIHVuc2VkIG1lbW9yeSBzdWJjbGFzcwoJICBUaGUgZnVuY3Rpb25hbGl0eSBoYXMgYmVlbiBzcGxpdCBpbnRvIEdzdEdMQmFzZU1lbW9yeSBhbmQgR3N0R0xCdWZmZXIuCgoyMDE1LTEyLTE0IDEzOjQzOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGJhc2UgY2xhc3NpZnkgYW5kIGFkZCB0aGUgcGJvIG1lbW9yeSBvbiB0b3AKCSAgVGhlIGJhc2UgY2xhc3MgaXMgdXNlZnVsIGZvciBoYXZpbmcgbXVsdGlwbGUgYmFja2luZyBtZW1vcnkgdHlwZXMgb3RoZXIKCSAgdGhhbiB0aGUgZGVmYXVsdC4gIGUuZy4gSU9TdXJmYWNlLCBFR0xJbWFnZSwgZG1hYnVmPwoJICBUaGUgUEJPIHRyYW5zZmVyIGxvZ2ljIGlzIG5vdyBpbnNpZGUgR3N0R0xNZW1vcnlQQk8gd2hpY2ggdXNlcyBHc3RHTEJ1ZmZlcgoJICB0byBtYW5hZ2UgdGhlIFBCTyBtZW1vcnkuCgkgIFRoaXMgYWxzbyBtb3ZlcyB0aGUgZm9ybWF0IHV0aWxpdHkgZnVuY3Rpb25zIGludG8gdGhlaXIgb3duIGZpbGUuCgoyMDE1LTEyLTE0IDEzOjA4OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgYSBHTCBidWZmZXIgYmFzZWQgR3N0TWVtb3J5CgkgIEhlYXZpbHkgYmFzZWQgb24gR3N0R0xCYXNlQnVmZmVyIHRoYXQgaXMgYSBzdWJjbGFzcyBvZiBHc3RHTEJhc2VNZW1vcnkuCgkgIFByb3ZpZGVzIEdQVSBhbmQgQ1BVIGFjY2Vzc2libGUgR0wgYnVmZmVyIG9iamVjdHMgYnkgR0wgaGFuZGxlIG9yIGJ5CgkgIHN5c21lbSBkYXRhIHBvaW50ZXIuCgoyMDE1LTEyLTE0IDEyOjU5OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJICBnbDogYWRkIGEgYmFzZSBtZW1vcnkgb2JqZWN0CgkgIEl0IGhhbmRsZXMgdGhlIGZvbGxvd2luZwoJICAtIEdzdEFsbG9jYXRpb25QYXJhbXMgLT4gZ3N0X21lbW9yeV9pbml0IHRyYW5zZm9ybWF0aW9uCgkgIC0gTWFrZXMgc3VyZSB0aGF0IG1hcC91bm1hcC9jcmVhdGUvZGVzdHJveSBoYXBwZW4gb24gdGhlIEdMIHRocmVhZCB3aXRoCgkgIGEgR0wgY29udGV4dCBjdXJyZW50LgoJICAtIEhvbGRzIGEgcG9zc2libGUgc3lzbWVtIGFjY2Vzc2libGUgZGF0YSBwb2ludGVyIHdpdGggYWxpZ25tZW50LgoJICAtIEhvbGRzIHRoZSBuZWVkIHVwbG9hZC9kb3dubG9hZCB0cmFuc2ZlciBzdGF0ZQoKMjAxNS0xMi0xNCAxMjoyNjowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGFkZCBjb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgdGhlIHN0YXJ0IG9mIGEgdmlkZW8gZnJhbWUKCSAgR2V0J3MgdGhlIHN0YXJ0IG9mIHRoZSB2aWRlbyBmcmFtZSBiYXNlZCBvbiBhIEdzdFZpZGVvSW5mbyBhbmQKCSAgR3N0VmlkZW9BbGlnbm1lbnQuCgoyMDE1LTEyLTExIDE2OjA3OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkbWV0YTsgcmVtb3ZlIGNvbnZlbmllbmNlIGhlbHBlciBBUEkKCSAgSXQgd2FzIG5vdCByZWFsbHkgdXNlZnVsIGFzIGlmIG9uZSBrbm93cyBhYm91dCBsaWJnc3RnbCwgb25lIGNhbiBqdXN0IHVzZQoJICBHTE1lbW9yeSBvYmplY3RzIGRpcmVjdGx5LgoKMjAxNS0xMi0xMSAxNTozOTo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBnbGRvd25sb2FkOiByZW1vdmUgaGVscGVyIGFwaSBmcm9tIHRoZSBsaWJyYXJ5CgkgIEl0IHdhcyBuZXZlciB1c2VkIGJ5IGFueW9uZSBhbmQgaXMgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggdGhlIGVsZW1lbnQKCSAgYW5kIEdzdEdMTWVtb3J5J3MgdHJhbnNwYXJlbnQgc3VwcG9ydCBmb3IgZG93bmxvYWRpbmcgdGV4dHVyZXMuCgoyMDE1LTEyLTEyIDIwOjA3OjMyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBjbGVhbiBpbmNsdWRlcwoJICBUaGUgb3BlbmN2IGVsZW1lbnQgaW5jbHVkZXMgd2VyZSBmdWxsIG9mIGR1cGxpY2F0ZXMgYW5kIHVuZWVkZWQgaGVhZGVycy4KCSAgRm9yIGV4YW1wbGUgYSBmZXcgZWxlbWVudHMgdGhhdCBzdG9wcGVkIHVzaW5nIGdzdGN2b3BlbmN2dXRpbHMgc3RpbGwKCSAgaW5jbHVkZWQgdGhhdCBoZWFkZXIgZmlsZS4KCjIwMTUtMTItMTIgMTk6MzE6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBvcGVuY3Y6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGluIGdzdG9wZW5jdnV0aWxzCgkgIFNpbmNlIGNvbW1pdCA0NWNhODg3NmIyZjUyNjdmN2VkYjg0MmI2ZDU2ZDdhNmMyNzFjY2IzIG5vYm9keSBpcyB1c2luZwoJICBnc3Rfb3BlbmN2X2dldF9pcGxfZGVwdGhfYW5kX2NoYW5uZWxzKCkgb3IKCSAgZ3N0X29wZW5jdl9wYXJzZV9pcGxpbWFnZV9wYXJhbXNfZnJvbV9zdHJ1Y3R1cmUoKS4gUmVtb3ZlIHRoaXMgZGVhZAoJICBjb2RlLgoKMjAxNS0xMi0xMiAxOToxMzo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBSZW1vdmUgdW51c2VkIGluY2x1ZGVzCgoyMDE1LTEyLTEyIDEwOjA2OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIHJldmVydCBjb21tb24gc3VibW9kdWxlIGNoYW5nZQoKMjAxNS0xMi0xMiAwOTozMzozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBjbGVhciB0byB0cmFuc3BhcmVudAoJICBPdGhlcndpc2UgY29tcG9zaXRpb24gd2lsbCByZXN1bHQgaW4gYSBibGFjayBmcmFtZSBvdXRzaWRlIHRoZSB0cmFuc2Zvcm1lZAoJICB2aWRlby4KCjIwMTUtMTItMTEgMTE6Mzk6MDggKzAxMDAgIFRob21hcyBSb29zIDx0aG9tYXMucm9vc0BpbmR1c3Ryb25pYy5kZT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQ2hlY2sgcmV0dXJuIHZhbHVlcyBvZiBEaXJlY3RTb3VuZCBmdW5jdGlvbnMgaW4gcmVhZCBsb29wCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBlbmQgdXAgaW4gYW4gaW5maW5pdGUgbG9vcCBiZWNhdXNlIG9mIGVycm9ycy4KCSAgQWxzbyB0YWtlIHRoZSBlbGVtZW50J3MgbXV0ZXggaW4gdW5wcmVwYXJlKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyOTIKCjIwMTUtMTItMTAgMTI6NDc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IHByZS1zZXQgcG9zaXRpb24gZm9yIGV4YWN0bHkgdGhlIHNhbWUgZXNzZW5jZSB0cmFjawoJICBUaGUgZWRpdCByYXRlIGlzIG9ubHkgc3VwcG9zZWQgdG8gYmUgdGhlIHNhbWUgaW4gYSBzb3VyY2UgcGFja2FnZSwgYnV0IHRoZXJlCgkgIG1pZ2h0IGJlIG11bHRpcGxlIHNvdXJjZSBwYWNrYWdlcyB3aXRoIHRoZSBzYW1lIGVzc2VuY2UgY29udGFpbmVyLiBBcyBzdWNoCgkgIGp1c3QgY29tcGFyaW5nIHRoZSBib2R5L2luZGV4IFNJRCBpcyBub3Qgc3VmZmljaWVudC4KCjIwMTUtMTItMTAgMTI6MjU6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBPbmx5IHByZS1zZXQgdGhlIHRyYWNrIHBvc2l0aW9uIGlmIGl0J3MgZm9yIHRoZSBzYW1lIGJvZHkvaW5kZXggU0lECgoyMDE1LTEyLTEwIDE0OjQxOjQ0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgbGliZ3N0Z2w6IGdzdGdsY29udGV4dF9jb2NvYToga0NHTFBGQVN0ZXJlbyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIDEwLjExCgkgIEFsc28gc2luY2UgdGhlIHZlcnNpb24gc2NoZW1lIGhhcyBjaGFuZ2VkICh0byBpbmNsdWRlIHRoZSBtaWNybyBudW1iZXIpIHNpbmNlCgkgIDEwLjEwLCB1c2UgdGhlIE1BQ19PU19YX1ZFUlNJT05fKiBtYWNybyB0byBhdm9pZCBjb25mdXNpb24uCgoyMDE1LTEyLTEwIDEyOjQxOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiByZWxheCBjaGVjayBmb3IgbXVsdGlwbGUgdGV4dHVyZSB0YXJnZXRzCgkgIE9ubHkgY29tcGxhaW4gYWJvdXQgbXVsdGlwbGUgdGV4dHVyZSB0YXJnZXRzIHdoZW4gX2RpZmZlcmVudF8gdGV4dHVyZSB0YXJnZXRzCgkgIGFyZSBjb25maWd1cmVkLgoKMjAxNS0xMi0xMCAxMjozMzo1MiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHRha2Ugc3Vic2FtcGxpbmcgaW50byBhY2NvdW50IGZvciByZWN0YW5nbGUgdGV4dHVyZXMKCSAgUmVjdGFuZ2xlIHRleHR1cmVzIGRvbid0IHVzZSBub3JtYWxpemVkIGNvb3JkaW5hdGVzIHNvIHN1YnNhbXBsaW5nIG5lZWRzIHRvIGJlCgkgIGZhY3RvcmVkIGluIGV4cGxpY2l0bHkuCgkgIEZpeGVzIFlVViA9PiBSR0IgY29udmVyc2lvbiBmb3IgcmVjdGFuZ2xlIHRleHR1cmVzLgoKMjAxNS0xMi0wOSAxNjo1NTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgYWNjZXNzIHRoZSBpbmRleCB0YWJsZSBpZiBpdCBoYXMgZW5vdWdoIGVsZW1lbnRzCgoyMDE1LTEyLTA5IDE2OjI4OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXNlIGtleWZyYW1lIGluZm9ybWF0aW9uIGZyb20gaW5kZXggdGFibGUgc2VnbWVudHMgaWYgYXZhaWxhYmxlCgkgIFdlIGRvbid0IGltcGxlbWVudCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIGFsbCBjb2RlY3MgYW5kIHRoaXMgd2lsbCBhbGxvdyB1cyB0bwoJICBpbXBsZW1lbnQgYmV0dGVyIHNlZWtpbmcuCgoyMDE1LTEyLTA5IDE2OjMxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQ29sbGVjdCBhbGwgaW5kZXggdGFibGUgc2VnbWVudHMgYWZ0ZXIgZmluZGluZyB0aGUgcmFuZG9tIGluZGV4IHBhY2sKCSAgVGhhdCB3YXkgd2UgYWx3YXlzIGhhdmUgdGhlIGluZGV4IHRhYmxlIGluZm9ybWF0aW9uIGF2YWlsYWJsZSwgZXNwZWNpYWxseSB0aGUKCSAga2V5ZnJhbWUtbmVzcyBvZiBhbGwgYnVmZmVycy4KCjIwMTUtMTItMDggMTg6MTU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogRml4IGhhbmRsaW5nIG9mIEluZGV4VGFibGVTZWdtZW50cwoJICBUaGlzIHdhcyBjb21wbGV0ZWx5IGJyb2tlbiBiZWZvcmUgYW5kIGNvdWxkIG9ubHkgd29yayBvbiBhIHZlcnkgY29uc3RyYWluZWQKCSAgc2V0IG9mIGZpbGVzLiBBZnRlciB0aGVzZSBjaGFuZ2VzIGl0IHNob3VsZCB3b3JrIGV4Y2VwdCBmb3Igc2l0dWF0aW9ucyB3aGVyZQoJICBQVFMgIT0gRFRTLCB3aGljaCBpcyBub3QgaGFuZGxlZCBhdCBhbGwgaW4gbXhmZGVtdXggY3VycmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MTE4CgoyMDE1LTEyLTA4IDE0OjA2OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGF2b2lkIHB1c2hpbmcgZXZlbnRzIHdpdGggbWFuaWZlc3QgbG9jawoJICBJdCBjYW4gYmUgYW4gZWFzeSBzb3VyY2Ugb2YgZGVhZGxvY2tzLiBSZXByb2R1Y2libGUgd2l0aCB2ZXJ5CgkgIGZhc3QgY29ubmVjdGlvbnMgKGxvY2FsIHNlcnZlcikuCgoyMDE1LTEyLTA4IDIwOjI0OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZ0eXBlczogRml4IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMKCjIwMTUtMTItMDggMTg6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEhhbmRsZSBhZ2dyZWdhdGlvbiB3aXRoIE5VTEwgYnVmZmVycyB3aXRob3V0IGNyYXNoaW5nCgoyMDE1LTEyLTA4IDE2OjQ1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgRklYTUUgYWJvdXQgZW5mb3JjaW5nIHRoYXQgYWxsIHRyYWNrcyBpbiBhIHNvdXJjZSBwYWNrYWdlIGhhdmUgdGhlIHNhbWUgZWRpdCByYXRlCgkgIFRoZSBzdGFuZGFyZCByZXF1aXJlcyB0aGlzIGFuZCBhbHNvIHRoZSBpbmRleCB0YWJsZSBzZWdtZW50cyBhcmUgbm90IGdvaW5nIHRvCgkgIHdvcmsgb3RoZXJ3aXNlLgoKMjAxNS0xMi0wNyAyMDoyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogV3JpdGUgaW5kZXggdGFibGUgc2VnbWVudHMKCSAgQnV0IG9ubHkgZm9yIHRoZSBmaXJzdCBlc3NlbmNlIHRyYWNrLCBhbmQgb25jZSBmb3IgZXZlcnkga2V5ZnJhbWUgZXZlcnkgMgoJICBzZWNvbmRzLgoKMjAxNS0xMi0wNyAyMDoyNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEZpeCBzdGF0aWMgbG9jYWwgdGFnIGZvciBpbmRleCBzaWQKCjIwMTUtMTItMDcgMTk6MzQ6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmdHlwZXM6IEFkZCBmdW5jdGlvbiB0byBzZXJpYWxpemUgYW4gaW5kZXggdGFibGUgc2VnbWVudCB0byBhIGJ1ZmZlcgoKMjAxNS0xMi0wNyAxODo1OTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14Zm11eDogSW5kZXggdGFibGUgc2VnbWVudHMgbXVzdCBub3QgdXNlIHRoZSBwcmltZXIgcGFjawoJICBBY2NvcmRpbmcgdG8gUzM3Ny0xLTIwMDljIDkuMiB0aGUgbG9jYWwgdGFncyBtdXN0IG5vdCBiZSByZXNvbHZlZCBmcm9tIHRoZQoJICBwcmltZXIgcGFjaywgd2hpY2ggYXMgYSByZXN1bHQgbWVhbnMgdGhhdCB0aGVyZSBjYW4ndCBiZSBhbnkgb3RoZXIgdGFncyB0aGFuCgkgIHN0YXRpY2FsbHkgYXNzaWduZWQgb25lcy4KCjIwMTUtMTItMDcgMTQ6MTA6MzAgKzEwMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBmcmFnbWVudCBib3VuZGFyaWVzCgkgIFNldHRpbmcgdGhlIHNlZWsgZmxhZ3MgdG8gR1NUX1NFRUtfRkxBR19TTkFQXyogd2lsbCBjaGFuZ2UgdGhlIHNlZWsKCSAgdGFyZ2V0IHRpbWUgdG8gYSBzZWdtZW50IGJvdW5kYXJ5LgoJICBCYXNlZCBvbiBvcmlnaW5hbCB3b3JrIGJ5IEJlbiBXaWxsZXJzIDxid2lsbGVyc0BkaWdpc29mdC50dj4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxMDgKCjIwMTUtMTItMDggMDk6NTM6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoOiBGaXggdW5pdCB0ZXN0IGFmdGVyIG1vdmluZyBvZiBmcmFtZXJhdGVzIHRvIFJlcHJlc2VudGF0aW9uQmFzZVR5cGUKCjIwMTUtMTItMDggMDk6MzM6MzkgKzA5MDAgIHN1aHdhbmcua2ltIDxzdWh3YW5nLmtpbUBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBTdWdnZXN0aW9uIGZvciBzZXR0aW5nIHRoZSBmcmFtZXJhdGUgaW5mb3JtYXRpb24uCgkgIERhc2hkZW11eCBoYXMgc2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGluZm9ybWF0aW9uIGZyb20gTVBEIG1hbmlmZXN0LgoJICBTb21lIGVtYmVkZGVkIGRldmljZXMgd2hpY2ggYXJlIG5vdCBpbnN1ZmZpY2llbnQgSC9XIHJlc291cmNlcyBuZWVkIG1vcmUgaW5mb3JtYXRpb24gc3VjaCBhcyBmcmFtZXJhdGUKCSAgdG8gYXNzaWduIEgvVyByZXNvdXJjZXMuIFNvIEkgc3VnZ2VzdGVkIHRoYXQgZGFzaGRlbXV4IGFsc28gbmVlZHMgdG8gc2V0IHRoZSBmcmFtZXJhdGUgaW5mb3JtYXRpb24gZnJvbSBNRFAgbWFuaWZlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTUKCjIwMTUtMTItMDggMDk6MjM6MjIgKzA5MDAgIHN1aHdhbmcua2ltIDxzdWh3YW5nLmtpbUBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG1heEZyYW1lUmF0ZSAmIG1pbkZyYW1lUmF0ZSBzaG91bGQgYmUgaW4gUmVwcmVzZW50YXRpb25CYXNlLgoJICBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIHRoZXkgY2FuIGJlIGluIEFkYXB0YXRpb25TZXQsIFJlcHJlc2VudGF0aW9uIGFuZCBTdWJSZXByZXNlbnRhdGlvbi4KCSAgU28gVGhleSBzaG91bGQgYmUgaW4gUmVwcmVzZW50YXRpb25CYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE1CgoyMDE1LTEyLTA4IDE2OjM1OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSAgZ2xwcm90bzogaW5jbHVkZSBmdW5jdGlvbiBkZWZpbml0aW9ucyBmb3IgR0xfQVBQTEVfc3luYwoJICBQcm92aWRlcyBhIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50IG9uIGlPUyB3aGVyZSB3ZSB3ZXJlIGZhbGxpbmcgYmFjayB0byBnbEZpbmlzaAoJICBvbiBzZXR0dGluZyBzeW5jIHBvaW50cy4KCjIwMTUtMTItMDcgMjA6MzQ6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEFsbCBmcmFtZXMgaW4gSlBFRzIwMDAgYXJlIGtleWZyYW1lcywgbWFyayB0aGVtIGFzIHN1Y2gKCjIwMTUtMTItMDcgMDk6MDg6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzE5OTA5IHRvIDg2ZTQ2NjMKCjIwMTUtMTItMDcgMTM6NDg6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFJlbW92ZSBtb3JlIGRlYWQgY29kZQoJICBDb3Zlcml0eSBDSUQgIzEzMjg4MTgKCjIwMTUtMTItMDcgMTM6MzY6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IEZpeCBsZWFrIGFuZCBOVUxMIHBvaW50ZXIgdXNhZ2UKCSAgQ292ZXJpdHkgQ0lEICMxMzQxNzQ0CgoyMDE1LTEyLTA3IDExOjU2OjA5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBSZW1vdmUgZGVhZCBjb2RlCgkgICsraSBpbiBhIGZvcigpIGxvb3AgcmVzdWx0cyBpbiB0aGUgbG9vcCBuZXZlciBiZWluZyBleGVjdXRlZCBtb3JlIHRoYW4gb25jZQoJICBDb3Zlcml0eSBDSUQgIzEzNDE3NDgKCSAgQ292ZXJpdHkgQ0lEICMxMzQxNzQzCgoyMDE1LTAzLTEyIDExOjI5OjAwICswMDAwICBGcsOpZMOpcmljIFdhbmcgPGZyZWQud2FuZ0BmcmVlLmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY206IFBvcnQgQUNNIE1QMyBkZWNvZGVyIGFuZCBlbmNvZGVycyB0byBHU3RyZWFtZXIgMS54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQwNDcKCjIwMTUtMDktMjQgMTc6NDA6MDIgKzAyMDAgIERhbmllbCBLYW1pbCBLb3phciA8ZGtrMDg5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICBwb3J0IHRlbGV0ZXh0ZGVjIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODE5CgoyMDE1LTEyLTAyIDE4OjI4OjE1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNnhwYXJzZTogUmVzZW5kIFBQUy9TUFMgYWZ0ZXIgc2VlawoJICBUaGlzIGlzIHRvIHN1cHBvcnQgYnl0ZS1zdHJlYW0gZGVjb2RlciB0aGF0IGRvZXMgbm90IHJlbWVtYmVyIHRoZQoJICBQUFMvU1BTIGFmdGVyIGEgZmx1c2guIFRoaXMgaXMgbm90IG5lZWRlZCBieSBhbGwgZGVjb2RlcnMsIGJ1dCBpcwoJICBoYXJtbGVzcyBmb3IgdGhvc2UgdGhhdCBkbyByZW1lbWJlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQwNQoKMjAxNS0xMi0wMSAxODowOToyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBPbmx5IG9mZmVyIGN1c3RvbSBhbGxvY2F0b3Igd2l0aCBjYXBzIGZlYXR1cmVzCgkgIFRvIHVzZSBHTE1lbW9yeSBhbmQgRUdMSW1hZ2UgYWxsb2NhdG9ycywgb25lIG5lZWQgdG8ga25vdyB0aGUKCSAgbGliZ3N0Z2wgQVBJLiBUaGlzIGlzIG9ubHkgZXhwZWN0ZWQgaWYgdGhlIGFzc29jaWF0ZWQgY2FwcyBmZWF0dXJlcwoJICBoYXZlIGJlZW4gbmVnb3RpYXRlZC4gR2VuZXJpYyBlbGVtZW50IHRoYXQgb3RoZXJ3aXNlIHJlY2VpdmUgdGhvc2UKCSAgYWxsb2NhdG9ycyBtYXkgZmFpbCwgcmVzdWx0aW5nIGluIGJyb2tlbiBwaWVsaW5lLiBXZSBkb24ndCB3YW50IHRvCgkgIGZvcmNlIGFsbCBnZW5lcmljIGVsZW1lbnQgdG8gY2hlY2sgaWYgdGhlIGFsbG9jYXRvciBpcyBhIGN1c3RvbQoJICBhbGxvY2F0b3Igb3IgYSBub3JtYWwgYWxsb2NhdG9yICh3aGljaCBpbXBsZW1lbnQgdGhlIF9hbGxvYyBtZXRob2QpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4ODc3CgoyMDE1LTEyLTA0IDE4OjA1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBjb3B5IGlucHV0IGJ1ZmZlcnMsIGp1c3QgYXBwZW5kIHRoZW0gdG8gdGhlIGhlYWRlcgoKMjAxNS0xMi0wMyAxMTo0NjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUmVzeW5jIGxpdmUgcGxheWxpc3RzIHRvIHRoZSAzcmQgbmV3ZXN0IGZyYWdtZW50IGlmIHdlIGZhbGwgb2ZmIHRoZSBwbGF5bGlzdAoJICBBcyBITFMgZG9lcyBub3QgcHJvdmlkZSBhbnkgd2F5IG9mIGtub3dpbmcgdGhlIHNlcnZlcidzIGNsb2NrLCBhbmQgd2UgZG8KCSAgYnVmZmVyaW5nIG9mICJsaXZlIiBzdHJlYW1zLCBhdCBzb21lIHBvaW50IHdlIHdpbGwgZmFsbCBiZWhpbmQgdGhlIHNlcnZlciBpbgoJICBtYW55IGNhc2VzIGFuZCB3b3VsZCBoYXZlIHRvIGFkdmFuY2UgdG8gYSBmcmFnbWVudCB0aGF0IGlzIG5vdCBpbiB0aGUgcGxheWxpc3QKCSAgYW55bW9yZS4KCSAgUHJldmlvdXNseSB3ZSB3b3VsZCd2ZSBqdXN0IHJlc3luY2VkIHRvIHRoZSBuZXh0IG9sZGVzdCBmcmFnbWVudCB0aGF0IGlzIHN0aWxsCgkgIHRoZXJlLCBidXQgdGhpcyBjYXVzZXMgcHJvYmxlbXMgYXMgZnJvbSB0aGlzIHBvaW50IG9ud2FyZHMgd2Ugd291bGQgYWx3YXlzCgkgIGZhbGwgb2ZmIHRoZSBwbGF5bGlzdCBhZ2FpbiBhbGwgdGhlIHRpbWUuCgkgIEluc3RlYWQgd2Ugbm93IHJlc3luYyBhbmQgbW92ZSB0byB0aGUgM3JkIG5ld2VzdCBmcmFnbWVudCBsaWtlIHdlIHdvdWxkIGRvCgkgIHdoZW4gc3RhcnRpbmcgcGxheWJhY2sgb2YgYSBsaXZlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODk4NwoKMjAxNS0xMi0wMyAxODoyMTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IG0zdTg6IHJlbW92ZSBzdXBlcmZsdW91cyBnc3RfbTN1OF9jb3B5KCkgaW1wbGVtZW50YXRpb24KCSAgTm8gbmVlZCB0byBpbXBsZW1lbnQgX2NvcHkoKSB3aGVuIHdlIGp1c3QgY29weSBhIGxpc3QgdGhhdAoJICB3ZSdyZSBmcmVlaW5nIHRocmVlIGxpbmVzIGxhdGVyIGFueXdheS4gSW5zdGVhZCBqdXN0IHN0ZWFsCgkgIHRoZSBuZXcgbWFpbiBsaXN0LgoKMjAxNS0xMi0wMyAxMDowODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTG9nIFBUUyBvZiBidWZmZXJzIHRoYXQgYXJlIHB1c2hlZCBkb3duc3RyZWFtCgoyMDE1LTEwLTIwIDA5OjQ5OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRXhwb3NlIERWQiBTdWJwaWN0dXJlIGFzIHN1YnBpY3R1cmVzCgkgIEZvciBzb21lIHJlYXNvbiB3ZSB3ZXJlIGNvbnNpZGVyaW5nIHRoZW0gYXMgcHJpdmF0ZSBkYXRhLgoKMjAxNS0xMC0yMCAxNzoyMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggR0FQIGV2ZW50cyAqYWZ0ZXIqIGRlYWN0aXZhdGluZyBvbGQgcHJvZ3JhbXMKCSAgVGhlIG9yZGVyIGluIHdoaWNoIHByb2dyYW0gc3dpdGNoIG11c3QgaGFwcGVuIGlzOgoJICAxKSBkcmFpbiBhbGwgZGF0YSBvbiBvbGQgcGFkcyAoYnV0IGRvbid0IHB1c2ggRU9TKQoJICAyKSBhZGQgbmV3IHBhZHMgKGJ1dCBkb24ndCBwdXNoIGFueSBkYXRhIG9uIHRoZW0pCgkgIDMpIFB1c2ggRU9TIGFuZCByZW1vdmUgb2xkIHBhZHMKCSAgNCkgU3RhcnQgcHVzaGluZyBkYXRhIG9uIG5ldyBwYWRzCgkgIFRoZXJlIHdhcyBvbmUgY2F2ZWF0IGluIHRoaXMgaW1wbGVtZW50YXRpb24sIHdoaWNoIGlzIHRoYXQgd2hlbgoJICB3ZSBhY3RpdmF0ZSBhIHNwYXJzZSBwYWQgKHN0ZXAgMikgd2Ugd291bGQgcHVzaCBhIEdBUCBldmVudC4gVGhlIHByb2JsZW0KCSAgaXMgdGhhdCwgd2hpbGUgYmVpbmcgYW4gZXZlbnQsIGl0IGlzIGFjdHVhbGx5ICpkYXRhKi4KCSAgV2UgdGhlcmVmb3JlIG5lZWQgdG8gbWFrZSBzdXJlIHB1c2hpbmcgdGhvc2UgR0FQIGV2ZW50IGlzIGRvbmUgYXQgdGhlIHN0ZXAKCSAgd2Ugc3RhcnQgcHVzaGluZyBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDAyCgoyMDE1LTA5LTE1IDE4OjIwOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWFrZSBzdXJlIG9sZCBzdHJlYW1zIGFyZSBkcmFpbmVkIGJlZm9yZSBzd2l0Y2hpbmcKCSAgQmVmb3JlIHdlIGFkZCBhbnkgc3RyZWFtcywgbWFrZSBzdXJlIHdlIGRyYWluIGFsbCBzdHJlYW1zLiBUaGlzIGVuc3VyZXMKCSAgdGhlcmUncyBjb25zaXN0ZW5jeSB0aGF0IG9ubHkgIm5ldyIgZGF0YSB3aWxsIGJlIHB1c2hlZCBvbiBidWZmZXJzIG9uY2UKCSAgdGhlIG5ldyBwYWRzIGFyZSBhZGRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDAyCgoyMDE1LTA5LTEwIDE0OjU1OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IEFsbG93IGRlYWN0aXZhdGlvbiBvZiBwcm9ncmFtcyB0byBiZSBkZWxheWVkCgkgIFdoZW4gY2hhbmdpbmcgcHJvZ3JhbXMsIHRoZSBvcmRlciBvZiBldmVudHMgbmVlZHMgdG8gYmUgdGhlIGZvbGxvd2luZzoKCSAgKiBhZGQgcGFkcyBmcm9tIG5ldyBwcm9ncmFtCgkgICogc2VuZCBFT1Mgb24gb2xkIHBhZHMKCSAgKiByZW1vdmUgb2xkIHBhZHMKCSAgKiBlbWl0ICduby1tb3JlLXBhZHMnCgkgIFByZXZpb3VzbHkgdHNkZW11eCB3YXMgbm90IGRvaW5nIHRoYXQsIGFuZCB3YXMgZmlyc3QgZGVhY3RpdmF0aW5nIGFuZAoJICByZW1vdmluZyBvbGQgcGFkcyBiZWZvcmUgYWRkaW5nIG5ldyBvbmVzLgoJICBXZSBmaXggdGhpcyBieSBhbGxvd2luZyBzdWJjbGFzc2VzIG9mIG1wZWd0c2Jhc2UgdG8gYmUgYWJsZSB0byBoYW5kbGUKCSAgdGhlbXNlbHZlcyB0aGUgZGVhY3RpdmF0aW9uIG9mIHByb2dyYW1zLiBJbiB0aGlzIGNhc2UgdHNkZW11eCB3aWxsCgkgIHByb3Blcmx5IGRlYWN0aXZhdGUgaXQgb25jZSBpdCBoYXMgYWN0aXZhdGVkIHRoZSBuZXcgcHJvZ3JhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDQwMgoKMjAxNS0xMi0wMiAxMTowMTo1MyArMDEwMCAgTWFyb8WhIE9uZHLDocWhZWsgPG14M2xkZXZAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXBkYXRlIGN1cnJlbnQgdmFyaWFudCBpZiBjb25uZWN0aW9uIHNwZWVkIGlzIHNldAoJICBJZiBjb25uZWN0aW9uIHNwZWVkIGlzIHNldCwgcGxheWxpc3QgYWNjb3JkaW5nCgkgIHRvIGNvbm5lY3Rpb24gc3BlZWQgaXMgc2VsZWN0ZWQgYXMgY3VycmVudCBwbGF5bGlzdC4KCSAgUHJvYmxlbSBpcyB0aGF0IHRoZSBjdXJyZW50IHZhcmlhbnQgb2YgbWFpbiBwbGF5bGlzdCBzdGlsbAoJICBwb2ludHMgdG8gcHJldmlvdXNseSBzZXQgdmFyaWFudC4KCSAgSWYgcHJldmlvdXNseSBzZXQgdmFyaWFudCBkb2Vzbid0IGNvcnJlc3BvbmQgdG8gY3VycmVudAoJICBwbGF5bGlzdCwgdGhlbiBpdCBjYXVzZXMgdW5uZWNlc3NhcnkgY2hhbmdlIG9mIHBsYXlsaXN0CgkgIHRvIHRoZSBzYW1lIHBsYXlsaXN0IGFmdGVyIGZpcnN0IGZyYWdtZW50IGlzIGRvd25sb2FkZWQsCgkgIGJlY2F1c2Ugb2Ygbm90IHVwZGF0ZWQgY3VycmVudCB2YXJpYW50LgoJICBUbyBmaXggdGhpcywgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBjdXJyZW50IHZhcmlhbnQKCSAgb2YgbWFpbiBwbGF5bGlzdCBjb3JyZXNwb25kcyB0byB0aGUgY3VycmVudCBwbGF5bGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTQ2CgoyMDE1LTEyLTAyIDE0OjM1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZnJhbWVfYXVkaW9sZXZlbC9nc3R2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSAgdmlkZW9mcmFtZS1hdWRpb2xldmVsOiBGaXggY29tcGlsYXRpb24gb2Ygc3RhdGljIHBsdWdpbiBhbmQgc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBVc2UgR19HU0laRV9GT1JNQVQgZm9yIGdzaXplIGluc3RlYWQgb2YgJWxkIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgcGx1Z2luIG5hbWUKCSAgaXMgYSB2YWxpZCBDIGlkZW50aWZpZXIsIGkuZS4gY29udGFpbnMgbm8gc3BhY2VzIG9yIGRhc2hlcy4KCjIwMTUtMTItMDIgMjI6NDI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogaW1wcm92ZSB0aGUgWVVZMi9VWVZZLT5SR0JBIGNvbnZlcnNpb24gc2hhZGVyCgkgIERvbid0IG9mZnNldCB0aGUgeS1heGlzLiAgV2Ugb25seSBuZWVkIHRvIG9mZnNldCBvbiB0aGUgeC1heGlzLgoJICBSZW1vdmVzIGEgc2F3dG9vdGggcGF0dGVybiBvbiBob3Jpem9udGFsIGFuZCB2ZXJ0aWNhbCBlZGdlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ4NgoKMjAxNS0xMi0wMiAyMjo0MDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBpbXByb3ZlIFJHQkEtPllVWTIvVVlWWSBjb252ZXJzaW9uIHNoYWRlcgoJICBXZSBzaG91bGQgb25seSBhdmVyYWdlIHRoZSBjaHJvbWEgc2FtcGxlcyBub3QgdGhlIGx1bWEgc2FtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTA0CgoyMDE1LTExLTExIDAzOjU1OjI3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFRlbGwgdGhlIGJhc2UgY2xhc3MgdGhlIGZyYWdtZW50IGR1cmF0aW9uCgkgIGFkYXB0aXZlZGVtdXggdXNlcyB0aGUgZnJhZ21lbnQgZHVyYXRpb24gYXMgYSBkZWxheQoJICBpbiBzb21lIGNhc2VzLCBzbyBtYWtlIHN1cmUgdG8gc2V0IGl0LgoKMjAxNS0xMS0xMSAwMzo1NDo1MSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogU2VuZCB0aGUgYml0cmF0ZSBvZiB0aGUgc3RyZWFtIGFzIGEgdGFnCgkgIElmIHdlIGtub3cgb3IgY2FuIG1lYXN1cmUgdGhlIG5vbWluYWwgYml0cmF0ZSBvZiBhIHN0cmVhbSwKCSAgc2VuZCB0aGF0IGluZm8gYXMgYSB0YWcgZG93bnN0cmVhbQoKMjAxNS0xMS0wOCAwMTozNDozMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXaGVuIHN3aXRjaGluZyBiaXRyYXRlIHZhcmlhbnRzLCBkb24ndCBqdW1wIGJhY2sKCSAgRG9uJ3QganVtcCBiYWNrd2FyZCB0byAzIGZpbGVzIGZyb20gdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QKCSAgd2hlbiBzd2l0Y2hpbmcgdmFyaWFudHMgLSBpdCBqdXN0IG1lYW5zIHdlIGRvd25sb2FkZWQKCSAgZnJhZ21lbnRzIGZhc3QgYW5kIGNhdWdodCB1cCB0byB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdC4KCSAgRGlzYWJsZSB0aGF0IGJ5IHRyZWF0aW5nIGEgdmFyaWFudCBzd2l0Y2ggYXMgYSBwbGF5bGlzdAoJICB1cGRhdGUsIG5vdCBhIHJlc3RhcnQgZHVlIHRvIGEgc2VlayBvciBzby4KCjIwMTUtMDQtMjEgMjE6MDk6MTkgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkgIGFsZXZlbDogTmV3IGF1ZGlvL3ZpZGVvIGxldmVsIGVsZW1lbnQKCSAgVGhlIHZpZGVvZnJhbWUtYXVkaW9sZXZlbCBlbGVtZW50IGFjdHMgbGlrZSBhIHN5bmNocm9uaXplZCBhdWRpby92aWRlbyAibGV2ZWwiCgkgIGVsZW1lbnQuIEZvciBlYWNoIHZpZGVvIGZyYW1lLCBpdCBwb3N0cyBhIGxldmVsLXN0eWxlIG1lc3NhZ2UgY29udGFpbmluZyB0aGUKCSAgUk1TIHZhbHVlIG9mIHRoZSBjb3JyZXNwb25kaW5nIGF1ZGlvIGZyYW1lcy4gVGhpcyBlbGVtZW50IG5lZWRzIGJvdGggdmlkZW8gYW5kCgkgIGF1ZGlvIHRvIHBhc3MgdGhyb3VnaCBpdC4gRnVydGhlcm1vcmUsIGl0IG5lZWRzIGEgcXVldWUgYWZ0ZXIgaXRzIHZpZGVvCgkgIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODI1OQoKMjAxNS0xMi0wMSAyMzoyMDo0NSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJICBEcm9wIHVzYWdlIG9mIGRlcHJlY2F0ZWQgZy1pci1zY2FubmVyIC0tc3RyaXAtcHJlZml4IGZsYWcKCjIwMTUtMTEtMTAgMTY6MTk6MzQgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBjb3JyZWN0IHRoZSBjYWxjdWxhdGlvbiBvZiBzZWVrIHJhbmdlIG9mIG5vbi1saXZlIHN0cmVhbXMKCSAgVGhlIHNlZWsgcmFuZ2UgY2FsY3VsYXRpb24gZm9yIG9uLWRlbWFuZCBzdHJlYW1zIHdhcyBpbmNvcnJlY3RseQoJICBleGNsdWRpbmcgdGhlIGxhc3QgdGhyZWUgc2VnbWVudHMgb2YgdGhlIHN0cmVhbS4gVGhpcyB0aHJlZSBzZWdtZW50CgkgIHJ1bGUgc2hvdWxkIG9ubHkgYmUgYXBwbGllZCB0byBsaXZlIHN0cmVhbXMgWzFdLgoJICBbMV0gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LXBhbnRvcy1odHRwLWxpdmUtc3RyZWFtaW5nLTE3I3NlY3Rpb24tNi4zLjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODM4NgoKMjAxNS0xMi0wMSAxNzo1MjowMyArMDAwMCAgUGFvbG8gUGV0dGluYXRvIDxwcGV0dGluYUBjaXNjby5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZvcndhcmQgRkxVU0hfU1RPUCBldmVudHMgZG93bnN0cmVhbSB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODkxMwoKMjAxNS0xMS0yOSAwMTowMjoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBobHNkZW11eDogZml4IGNyYXNoIHdoZW4gZGVjcnlwdGlvbiBrZXkgY2FuJ3QgYmUgZG93bmxvYWRlZAoJICBIYXBwZW5lZCB3aXRoCgkgIGh0dHA6Ly9zc2xobHMubTZ0di5jZG4uc2ZyLm5ldC9obHMtbGl2ZS9saXZlcGtnci9fZGVmaW5zdF8vbTZfaGxzX2Flcy9tNl9obHNfYWVzXzg1Ni5tM3U4CgkgIGlmIGdsaWItbmV0d29ya2luZyB3YXMgbm90IGluc3RhbGxlZCAoc2luY2Uga2V5IGhhcyBodHRwcyB1cmkpLgoKMjAxNS0xMS0zMCAxMTowNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSBwb2ludGxlc3MgY2xpZW50X2hhc19tYWluKCkgZnVuY3Rpb24KCSAgV2UgYWx3YXlzIGhhdmUgYSBtYWluIGxpc3QuCgoyMDE1LTExLTI4IDAwOjEyOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSB1bnVzZWQgX2dldF9jdXJyZW50X2ZyYWdtZW50X2R1cmF0aW9uKCkgZnVuY3Rpb24KCjIwMTUtMTEtMjcgMTk6MjE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIHVudXNlZCBtM3U4IGNsaWVudCB1cGRhdGVfZmFpbGVkX2NvdW50IGZpZWxkCgoyMDE1LTExLTE1IDE3OjMxOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHM6IG0zdTg6IHJlbW92ZSBoZWxwZXIgdmFyIHRoYXQncyBvbmx5IHVzZWQgZHVyaW5nIHBhcnNpbmcgZnJvbSBzdHJ1Y3R1cmUKCSAgSnVzdCBrZWVwIHRoYXQgbG9jYWwgdG8gdGhlIHBhcnNpbmcgZnVuY3Rpb24uCgoyMDE1LTExLTAxIDEzOjIxOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2hscy9nc3RobHMuaDoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc3BsdWdpbi5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzOiByZW5hbWUgcGx1Z2luIGZyb20gZnJhZ21lbnRlZCB0byBobHMKCjIwMTUtMTItMDEgMTk6NDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHdheXMgZ2l2ZSB0aW1lc3RhbXBzIGlmIHdlJ3JlIGRpc2NvbnQgYW5kIGRvbid0IG1hcmsgc3RyZWFtIGRpc2NvbnQgaWYgYSBwbGF5bGlzdCBjaGFuZ2Ugd2FzIG5vdCBzdWNjZXNzZnVsCgkgIElmIHRoZSBzdHJlYW0gaXMgZGlzY29udCwgd2UgbXVzdCBwcm92aWRlIGEgdGltZXN0YW1wIGluIGFueSBjYXNlLiBFbGVtZW50cwoJICBsaWtlIHRzZGVtdXggYXJlIG5vdCBnb2luZyB0byBvdXRwdXQgYW55dGhpbmcgaWYgd2UgZ2l2ZSBhIE5PTkUgdGltZXN0YW1wCgkgIGFmdGVyIGEgZGlzY29udC4KCSAgQWxzbyBtYXJraW5nIGEgc3RyZWFtIGFzIGRpc2NvbnQgaWYgYSBwbGF5bGlzdCBjaGFuZ2Ugd2FzIG5vdCBzdWNjZXNzZnVsIHdvdWxkCgkgIGxlYWQgdG8gdGhlIGFib3ZlIHNpdHVhdGlvbiwgYnV0IGluIHRoYXQgY2FzZSB3ZSBhcmUgbm90IHJlcXVpcmVkIGF0IGFsbCB0bwoJICBtYXJrIHRoZSBzdHJlYW0gZGlzY29udCBhcyB3ZSdyZSBzdGlsbCBhdCB0aGUgb2xkIHBsYXlsaXN0LgoKMjAxNS0xMi0wMSAxNzowNjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgdHNtdXg6IGZpeCB3cm9uZyBsb2cgbWVzc2FnZSBsZXZlbAoJICBFUlJPUiBsZXZlbCBpcyBkZWJ1Z2dpbmcgbGVmdC1vdmVyLgoKMjAxNS0xMS0wOSAxNjowODozMCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6YWdncmVnYXRvcjogZml4IHRjIGZhaWx1cmUgYW5kIGNvcnJlY3QgY2hlY2sgdmFsdWUKCSAgRmFpbHVyZSBieSB0aGlzIGNvbW1pdCAyZGZhNTQ4ZjM2NDU4NDQwODJjM2RiNjVkOTZkODcyNTU3MDFiM2FkLCB3aGljaCBpcwoJICB0byBhcHBlbmQgaG9va3MgaW5zdGVhZCBvZiBwcmVwZW5kLgoJICBCZWNhdXNlIG9mIHRoaXMgY2hhbmdlLCBhZ2dyZXRhdGVkX2NiIGlzIG5vdCBjYWxsZWQgYW5kIGxlYWRzIHRvIGZhaWx1cmUuCgkgIEFuZCBjb3JyZWN0IHRvIGNoZWNrIGZsdXNoIHN0b3AgdmFsdWUgaW5zdGVhZCBvZiBmbHVzaCBzdGFydCB2YWx1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODAxCgoyMDE1LTExLTMwIDE5OjUzOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgdHJ5IHRvIHJlY3JlYXRlIHN3YXBjaGFpbiB3aGlsZSB0aGUgd2luZG93IGlzIG1pbmltaXplZAoJICBJdCB3aWxsIGZhaWwgYW5kIGNhdXNlIHRoZSBzaW5rIHRvIGNyYXNoLiBJbnN0ZWFkIHdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcwoJICB2aXNpYmxlIGFnYWluIGJlZm9yZSBjaGVja2luZyBpZiB0aGUgc3dhcGNoYWluIHJlYWxseSBoYXMgdG8gYmUgcmVjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNjA4CgoyMDE1LTExLTI3IDE4OjQ2OjU2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcmVtb3ZlIHVubmVlZGVkIHN0YXRlbWVudAoJICBjb21taXQgZGE1YzQxOTMwYzQwODM5NzliMTc0NWY0ZDg4NDhkOTdmZTAzZDhlYiByZW1vdmVkIHRoZSB0d28gdXNlcyBvZiB0aGUKCSAgbmV3IHZhbHVlIG9mIGRhdGE6CgkgIGNoYW5uZWxzID0gb3B1c19wYWNrZXRfZ2V0X25iX2NoYW5uZWxzIChkYXRhKTsKCSAgYmFuZHdpZHRoID0gb3B1c19wYWNrZXRfZ2V0X2JhbmR3aWR0aCAoZGF0YSk7CgkgIFNpbmNlIHRoZW4sIGRhdGEgaXNuJ3QgYmVpbmcgdXNlZCBiZXR3ZWVuIGluY3JlbWVudGluZyBpdCBieSBwYWNrZXRfb2Zmc2V0CgkgIGFuZCBnb2luZyBvdXQgb2Ygc2NvcGUuIFJlbW92aW5nIHRoaXMgdW5lZWRlZCBzdGF0ZW1lbnQuCgoyMDE1LTExLTI3IDEyOjQ0OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIHRlc3RzOiBpZDNtdXg6IGFkZCB1bml0IHRlc3QgZm9yIEdTVF9UQUdfUFJJVkFURV9EQVRBIHdyaXRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODcyOAoKMjAxNS0xMS0yNyAxMTozMzowNyArMDUzMCAgUmF2aSBLaXJhbiBLIE4gPHJhdmkua2lyYW5Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IHdyaXRlIHByaXZhdGUgZGF0YSB0YWcKCSAgSGFuZGxlICJQUklWIiB0YWcgaW4gaWQzbXV4LiBXcml0ZSBvd25lcgoJICBpZGVudGlmaWVyIGFuZCBwcml2YXRlIGRhdGEgYW5kIGFkZCB0byB0aGUKCSAgaWQzdjIgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg3MjgKCjIwMTUtMTEtMjYgMTA6MTU6MzYgKzAxMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uQGtkYWIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGFkZCBtZXRhZGF0YSB0byBsb2NrZWQgYnVmZmVyCgkgIFRoZSB2aWRlbyBkZWNvZGVycyB0cmllZCBjYWxsaW5nIGdzdF9idWZmZXJfYWRkXyptZXRhKCkgb24gbm9uLXdyaXRhYmxlCgkgIGJ1ZmZlciByZXN1bHRpbmcgaW4gd2FybmluZ3Mgb2YgdGhpcyBraW5kOgoJICBnc3RhbWN2aWRlb2RlYy5jOjkyMSAoX2dsX3N5bmNfcmVuZGVyX3VubG9ja2VkKTogV0FSTklORzogYW1jdmlkZW9kZWMKCSAgRmFpbGVkIHRvIGNyZWF0ZSB0aGUgdHJhbnNmb3JtYXRpb24gbWV0YSBmb3IgdGhlIGdsX3N5bmMgMHhhYmMwMzg0OAoJICBidWZmZXIgMHhhYmIwMWI0MCAoMCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODY5NAoKMjAxNS0xMS0wOSAxODowNzozMCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBkaXNhYmxlZCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIHRlc3QKCSAgVW50aWwgd2Ugd2lsbCBoYXZlIHN1cHBvcnQgdG8gY29udHJvbCB0aGUgZ2VuZXJhdGluZyB0aHJlYWQgZnJvbQoJICBmYWtlSFRUUHNyYyBlbGVtZW50LCB0aGUgdGVzdCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIGlzIGRpc2FibGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Nzc2CgoyMDE1LTExLTA5IDE0OjE0OjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGNvcnJlY3RlZCBhY2Nlc3MgdG8gZmFrZUhUVFBzcmMgZWxlbWVudAoJICBUaGUgc3JjIGVsZW1lbnQgZm9yIGFkYXB0aXZlZGVtdXggaXMgbm93IGEgYmluLiBVcGRhdGVkIHRoZSB0ZXN0cyB0bwoJICBjb3JyZWN0bHkgcmVhY2ggaW50byB0aGUgYmluIGFuZCBnZXQgdGhlIGZha2VIVFRQc3JjIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzc3NgoKMjAxNS0xMS0wOSAxNDoxMzowNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBtYWRlIGZha2VIVFRQc3JjIGVsZW1lbnQgTVQgc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Nzc2CgoyMDE1LTExLTIzIDExOjMyOjEzICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBzcHUtcGdzOiBGaXggYXJyYXkgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNwoKMjAxNS0xMS0yNCAwMDoyMDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb21peGVyOiByZWdpc3RlciBmdW5jdGlvbiBuYW1lIGZvciBkZWJ1Z2dpbmcganVzdCBvbmNlCgkgIE5vdCBldmVyeSB0aW1lIGFnZ3JlZ2F0ZSBpcyBjYWxsZWQuLi4KCjIwMTUtMTEtMjQgMTI6NDI6NDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHJlbW92ZSBnc3RfbXBkX2NsaWVudF9jaGVja190aW1lX3Bvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1OTMKCjIwMTUtMTEtMjQgMTE6NTA6NTEgKzAxMDAgIE1hcm/FoSBPbmRyw6HFoWVrIDxteDNsZGV2QGdtYWlsLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBkZXB0aCBmaWVsZCB0byBhdWRpbyBjYXBzIGlmIGF2YWlsYWJsZQoJICBkZXB0aCBmaWVsZCBjYW4gYmUgcmV0cmlldmVkIGZyb20gIkJpdHNQZXJTYW1wbGUiIG9yCgkgIGZyb20gIldhdmVGb3JtYXRFeCIgc3RydWN0dXJlLCBpZiBwcm92aWRlZCBpbiBNYW5pZmVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTg2CgoyMDE1LTExLTIwIDE2OjM1OjQzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIGZyYWN0aW9uIG9mIHNlY29uZHMgaW4gYXZhaWxhYmlsaXR5U3RhcnRUaW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MTAKCjIwMTUtMTEtMjAgMTY6MzY6MDAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3IgcGFyc2luZyBmcmFjdGlvbiBvZiBzZWNvbmRzIGluIGRhdGVUaW1lIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDEwCgoyMDE1LTExLTIyIDEzOjExOjQ4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBwdXQgdGhlIHdheWxhbmRzaW5rIGV4YW1wbGUgd2luZG93LnVpIGZpbGUgaW4gRVhUUkFfRElTVAoKMjAxNS0xMS0yMiAxMzowODozNSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGxpbmtpbmcgd2F5bGFuZHNpbmsgZXhhbXBsZSB3aXRoIHRoZSBnc3R3YXlsYW5kIGxpYnJhcnkKCSAgRmlyc3QsIHVzZSB0b3BfYnVpbGRkaXIsIG90aGVyd2lzZSBpdCBmYWlscyBpbiBvdXQtb2Ytc291cmNlIGJ1aWxkcy4KCSAgU2Vjb25kLCBsaW5rIHRvIHRoZSBsaWJ0b29sIGFyY2hpdmUgZGlyZWN0bHkgdG8gbGV0IG1ha2UgdW5kZXJzdGFuZAoJICB0aGUgZGVwZW5kZW5jeS4KCjIwMTUtMTEtMjAgMjA6NTk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFsd2F5cyBzZXQgcHJlc2VudGF0aW9uVGltZU9mZnNldAoJICBTZXQgaXQgZm9yIGFsbCB0eXBlcyBvZiBzZWdtZW50IGxpc3RzICh0ZW1wbGF0ZXMgLyBsaXN0cyAvIGJhc2UpCgkgIGFuZCBub3Qgb25seSBmb3IgdGVtcGxhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTI5CgoyMDE1LTExLTIwIDE3OjUwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBFcnJvciBvdXQgaWYgd2UgZ2V0IGEgdGltZW91dCBkdXJpbmcgbGl2ZSBtaXhpbmcKCSAgV2UgY2FuJ3QgaGFuZGxlIHRoYXQgYnV0IG5lZWQgY29tcGxldGUgc3RyZWFtcyB3aXRob3V0IGdhcHMuCgoyMDE1LTExLTIwIDE3OjQ2OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFVzZSB0aGUgY29ycmVjdCBzb3VuZCBlc3NlbmNlIGNvbXByZXNzaW9uIFVMIGZvciBNUDMKCSAgVGhlcmUncyBvbmUgZm9yIE1QRUcgMSBMYXllciAxIGFuZCBvbmUgZm9yIExheWVyIDIgYW5kIDMuIFdlIHByZXZpb3VzbHkKCSAgaGFkIHRoZSBzZWNvbmQgZm9yIExheWVyIDEgYW5kIDIgYW5kIG5vdGhpbmcgZm9yIExheWVyIDMsIHdoaWNoIHdhcyB3cm9uZy4KCjIwMTUtMTEtMjAgMTc6MzQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogU2V0IHRoZSBlc3NlbmNlIGNvbnRhaW5lciBVTCBieXRlIDEzIHRvIDB4MTAgZm9yIGgyNjQKCSAgMHgwNCBzaWduaWZpZXMgYSBNUEVHIGVsZW1lbnRhcnkgc3RyZWFtIGJ1dCBhY2NvcmRpbmcgdG8gUlAyMDA4LCAweDEwIHNob3VsZAoJICBiZSB1c2VkIGZvciBhIGgyNjQgYnl0ZS1zdHJlYW0uIFRoaXMgYWxzbyBmaXhlcyBjb21wYXRpYmlsaXR5IG9mIG91ciBmaWxlcwoJICB3aXRoIGZmbXBlZy4KCjIwMTUtMTEtMjAgMTE6MTg6NDMgKzExMDAgIFJvbWFuIE5vd2lja2kgPHJub3dpY2tpQHNpbXMucGw+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHJldXNlIGV4aXN0aW5nIEdzdFFTR1RleHR1cmUKCSAgRml4ZXMgYSBtZW1vcnkgbGVhayBsZWFraW5nIHRoZSB0ZXh0dXJlIG9iamVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyODYKCjIwMTUtMTEtMjAgMTE6MDg6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxbWw6IGFjdGl2YXRlIHRoZSB3cmFwcGVkIGNvbnRleHQgd2hlbiBiaW5kaW5nCgkgIE1pdGlnYXRlcyB0aGUgZm9sbG93aW5nIGNyaXRpY2FsCgkgIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQ6IGFzc2VydGlvbiAnY29udGV4dC0+cHJpdi0+YWN0aXZlX3RocmVhZCA9PSBnX3RocmVhZF9zZWxmICgpJyBmYWlsZWQKCjIwMTUtMTEtMTkgMTE6NTU6MTkgKzAxMDAgIFJvbWFuIE5vd2lja2kgPHJub3dpY2tpQHNpbXMucGw+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IHByb3BlciBpbml0aWFsaXphdGlvbiBpZiBzY2VuZSBpcyBhbHJlYWR5IGluaXRpYWxpemVkCgkgIFRoZSBzY2VuZSBncmFwaCBjYW4gYmUgaW5pdGlhbGl6ZWQgd2hlbiB0aGUgd2UgcmVjZWl2ZSB3aW5kb3cgaGFuZGxlIGNoYW5nZQoJICBub3RpZmljYXRpb24gYW5kIHNvIHdlIHdpbGwgbm90IHJlY2VpdmUgYSBzY2VuZWdyYXBoIGluaXRpYWxpemF0aW9uCgkgIG5vdGlmaWNhdGlvbi4gIEluaXRpYWxpemUgb3Vyc2VsZiBpbiB0aGlzIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzMzcKCjIwMTUtMDctMjkgMjI6MzE6MzAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFkZCBiaW5hcnkgc2VhcmNoIGZvciBzdHJlYW1fc2lkeF9zZWVrCgkgIEFkZCBiaW5hcnkgc2VhcmNoIHRvIG9wdGltaXplIGluIHN0cmVhbV9zaWR4X3NlZWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NTMKCjIwMTUtMTEtMTkgMTU6NTk6NTYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGdzdF9tcGRwYXJzZXJfZ2V0X2NodW5rX2J5X2luZGV4IGFuZCBnc3RfbXBkcGFyc2VyX2ZpbmRfc2VnbWVudF9ieV9pbmRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjMzCgoyMDE1LTExLTE5IDE3OjI0OjUzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmNwcDoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICBkb2NzOiB1cGRhdGUgZ3N0LWxhdW5jaC0wLjEwIGxpbmVzCgkgIFVwZGF0ZSByZWZlcmVuY2VzIHRvIGdzdC1sYXVuY2gtMC4xMCB0byBnc3QtbGF1bmNoLTEuMAoKMjAxNS0xMS0xOSAxMDozMjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFtY3ZpZGVvZGVjOiBtb3ZlIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciBpbnRvIHRoZSBzeW5jIG1ldGEKCSAgU29tZSBkZXZpY2VzIG9ubHkgZXZlciBrZWVwIG9uZSBidWZmZXIgYXZhaWxhYmxlIGluIHRoZSBHTCBxdWV1ZSByZXN1bHRpbmcgaW4KCSAgbXVsdGlwbGUgY2FsbHMgdG8gcmVsZWFzZV9vdXRwdXRfYnVmZmVyIG9ubHkgY2F1c2luZyBvbmUgZnJhbWUgdG8gYmUgcmVuZGVyZWQuCgkgIElmIHRoZXJlIGlzIGEgcXVldWUgYWZ0ZXIgYW1jdmlkZW9kZWMgKGV2ZW4gcGxheXNpbmsncyBzbWFsbCBvbmUpLCB0aGVuCgkgIG11bHRpcGxlIGJ1ZmZlcnMgYXJlIHB1c2hlZCBidXQgb25seSBhIHNtYWxsIGZyYWN0aW9uIG9mIHRoZW0gYXJlIGFjdHVhbGx5CgkgIHJlbmRlcmVkIG9uIHRpbWUuICBUaGUgcmVzdCB3aWxsIGVpdGhlciByZW5kZXIgc29tZSBudW1iZXIgb2YgZnJhbWVzIGFoZWFkIG9mCgkgIHdoZXJlIHRoZXkgYXJlIG1lYW50IHRvIGJlIG9yIHRpbWVvdXQgd2FpdGluZyBmb3IgYSBmcmFtZSB0aGF0J3MgYWxyZWFkeSBiZWVuCgkgIHJlbmRlcmVkLgoJICBTb2x2ZWQgYnkgbW92aW5nIHRoZSByZWxlYXNlX291dHB1dF9idWZmZXIgaW50byB0aGUgc3luY19tZXRhIHRoZSBpcyBwdXNoZWQKCSAgZG93bnN0cmVhbS4gIFdoZW4gZG93bnN0cmVhbSByZW5kZXJzLCB0aGUgY3VzdG9tIHN5bmMgaW1wbGVtZW50YXRpb24gYXR0ZW1wdHMKCSAgdG8gcmVsZWFzZSB0aGUgY3VycmVudCBidWZmZXIgKGlmIG5vdCBhbHJlYWR5IHJlbGVhc2VkKSBhbmQgcmVuZGVyLiBPbmNlIHRoZQoJICBmcmFtZSBoYXMgYmVlbiByZW5kZXJlZCB0byB0aGUgc2NyZWVuLCB0aGUgbmV4dCBmcmFtZSBpcyByZWxlYXNlZCBhbmQgaXMKCSAgaG9wZWZ1bGx5IGF2YWlsYWJsZSBieSB0aGUgdGltZSB0aGUgbmV4dCBmcmFtZSBpcyB0byBiZSByZW5kZXJlZC4KCSAgVGhpcyBmaXhlcyBhIHBlcmNlaXZlZCBmcmFtZSBqaXR0ZXIgaW4gdGhlIG91dHB1dC4KCjIwMTUtMTEtMTcgMTU6MjM6MTcgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFJlbW92ZSB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcyBiZWZvcmUgZ19mcmVlKCkKCSAgZ19mcmVlKCkgaXMgTlVMTC1zYWZlCgoyMDE1LTExLTExIDE2OjExOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogQWxzbyBhbGxvdyAnLycgaW4gUmVwcmVzZW50YXRpb25JRAoJICBVc2VkIGJ5IGh0dHA6Ly93d3cuYm9rLm5ldC9kYXNoL3RlYXJzX29mX3N0ZWVsL2NsZWFydGV4dC9zdHJlYW0ubXBkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MDMKCjIwMTUtMTAtMjYgMTY6MjQ6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay93aW5kb3cudWk6CgkgIHRlc3RzL2V4YW1wbGVzOiBhZGQgYSB3YXlsYW5kc2luayBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMjIKCjIwMTUtMTEtMTggMTI6NTY6MDYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogY2FsbCBnc3RfdmlkZW9fc2lua19jZW50ZXJfcmVjdCB3aXRoIGEgZGVzdGluYXRpb24gcmVjdGFuZ2xlIHRoYXQgc3RhcnRzIGZyb20gKDAsMCkKCSAgVGhlIGludGVudGlvbiBvZiB0aGlzIGNvZGUgaXMgdG8gZmluZCB0aGUgY2VudGVyIHJlY3RhbmdsZSByZWxhdGl2ZQoJICB0byAoMCwwKSwgc2luY2Ugc3Vic3VyZmFjZSBjb29yZGluYXRlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIHBhcmVudAoJICBzdXJmYWNlLgoJICBUaGUgb2xkIGNvZGUgdXNlZCB0byB3b3JrIGJ1dCB3YXMgd3JvbmcgYW5kIGJyb2tlbiBieQoJICBodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhc2UvY29tbWl0L2dzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb3NpbmsuYz9pZD1mZjU3ZjY5MTM0NTZlYzE5OTFlNTU1MTdjZjFmMjM5ZTgwZWVkZGVmCgoyMDE1LTExLTE2IDE3OjI1OjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGlsbGVnYWwgbWVtb3J5IGFjY2VzcyBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbGFzdF9mcmFnbWVudF90aW1lc3RhbXBfZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgxODgKCjIwMTUtMTEtMTYgMTc6MjU6MjEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgZ3N0X21wZF9jbGllbnRfZ2V0X2xhc3RfZnJhZ21lbnRfdGltZXN0YW1wX2VuZAoJICBUaGUgdGltZXN0YW1wIGZvciBsYXN0IGZyYWdtZW50IGlzIGluY29ycmVjdGx5IHJldHJpZXZlZCBpZiBzZWdtZW50IHRlbXBsYXRlcwoJICBhcmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE4OAoKMjAxNS0xMS0xNyAxNjoyMTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IERvbid0IHJlcXVpcmUgYSBub24temVybyBidWZmZXIgc2l6ZSB3aGVuIGRvaW5nIGRlY29kaW5nIHRvIGEgc3VyZmFjZQoJICBBdCBsZWFzdCBvbiBzb21lIGRldmljZXMvQW5kcm9pZCB2ZXJzaW9ucyB0aGUgYnVmZmVyIHNpemUgd2lsbCBhbHdheXMgYmUgemVybwoJICBpbiB0aGVzZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODIyOAoKMjAxNS0xMS0xNyAxNzoxNzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBnc3RnbGltYWdlc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2dsaW1hZ2Vfc2lua19vbl9kcmF3JzoKCSAgZ3N0Z2xpbWFnZXNpbmsuYzoxOTU5OjE4OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdzeW5jX21ldGEnIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KCSAgR3N0R0xTeW5jTWV0YSAqc3luY19tZXRhID0gTlVMTDsKCSAgXgoKMjAxNS0xMS0xNyAxNzowOTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IFN0cmluZyBsaXRlcmFscyBhcmUgY29uc3QKCSAgZ3N0Z2x2aWV3Y29udmVydC5jOiBJbiBmdW5jdGlvbiAnX21hbmdsZV9leHRlbnNpb25zJzoKCSAgZ3N0Z2x2aWV3Y29udmVydC5jOjE1MTE6MTM6IGVycm9yOiBhc3NpZ25tZW50IGRpc2NhcmRzICdjb25zdCcgcXVhbGlmaWVyIGZyb20gcG9pbnRlciB0YXJnZXQgdHlwZSBbLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVyc10KCSAgZXh0X3N0ciA9ICIjZXh0ZW5zaW9uIEdMX09FU19FR0xfaW1hZ2VfZXh0ZXJuYWwgOiByZXF1aXJlXG4iOwoJICBeCgoyMDE1LTExLTE3IDE3OjA4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogQWN0dWFsbHkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG1ldGEgZnJvbSBnc3RfYnVmZmVyX2FkZF9nbF9zeW5jX21ldGEoKQoJICBnc3RnbHN5bmNtZXRhLmMgIC1mUElDIC1EUElDIC1vIC5saWJzL2xpYmdzdGdsXzEuMF9sYS1nc3RnbHN5bmNtZXRhLm8KCSAgZ3N0Z2xzeW5jbWV0YS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2J1ZmZlcl9hZGRfZ2xfc3luY19tZXRhJzoKCSAgZ3N0Z2xzeW5jbWV0YS5jOjEzMToxOiBlcnJvcjogY29udHJvbCByZWFjaGVzIGVuZCBvZiBub24tdm9pZCBmdW5jdGlvbiBbLVdlcnJvcj1yZXR1cm4tdHlwZV0KCSAgfQoJICBeCgoyMDE1LTExLTE3IDE2OjIxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRml4IGluZGVudGF0aW9uCgoyMDE1LTExLTE3IDE2OjA4OjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggbmVnb3RpYXRpb24gbW9yZQoJICBZZWFyIDEyOiBJIHN0aWxsIGRvbid0IHVuZGVyc3RhbmQgaG93IG5lZ290aWF0aW9uIHdvcmtzLgoJICBBcHBhcmVudGx5IGdzdF9wYWRfcXVlcnlfY2FwcyBkb2Vzbid0IGRvIHdoYXQgSSB0aG91Z2h0IGl0IGRpZC4gVG8gZ2V0IHRoZQoJICBhY3R1YWwgY2FwcyB0aGF0IGNhbiBmbG93IHRocm91Z2ggdnRkZWM6c3JjIHdlIG11c3QgY2FsbCBnc3RfcGFkX3BlZXJfcXVlcnlfY2FwcwoJICB3aXRoIHRoZSB0ZW1wbGF0ZSBjYXBzIGFzIGZpbHRlci4KCSAgRml4ZXMgbmVnb3RpYXRpb24gd2l0aCBzdHVmZiB0aGF0IGRvZXNuJ3QgdW5kZXJzdGFuZCBHTE1lbW9yeSAoaGVsbG8gdmlkZW9zY2FsZSkuCgoyMDE1LTExLTE3IDE2OjE0OjExICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBtaW5vciB0ZXh0dXJlIGNhY2hlIGZpeGVzCgkgIFNtYWxsIGZpeCBvbiBob3cgdGhlIHRleHR1cmUgY2FjaGUgaXMgY2xlYW5lZCB1cCAvIHNldHVwIGluIGNhc2Ugb2YgcmVuZWdvdGlhdGlvbgoKMjAxNS0xMS0xNyAxNjoxMzowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBzdG9wIGNvbmZpZ3VyaW5nIGNhY2hlLT5jb252ZXJ0IG92ZXIgYW5kIG92ZXIKCjIwMTUtMTEtMTYgMTU6NDY6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBnbGltYWdlc2luazogd2FpdCBvbiB0aGUgY29ycmVjdCBzeW5jIG1ldGEgd2hlbiByZW5kZXJpbmcKCjIwMTUtMTEtMDMgMTM6MTk6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW1jdmlkZGVjOiBvdXRwdXQgZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgkgIFRoaXMgcHJvdmlkZXMgYSBwZXJmb3JtYW5jZSBhbmQgcG93ZXIgdXNhZ2UgaW1wcm92ZW1lbnQgYnkgcmVtb3ZpbmcKCSAgdGhlIHRleHR1cmUgY29weSBmcm9tIGFuIE9FUyB0ZXh0dXJlIHRvIDJEIHRleHR1cmUuCgkgIFRoZSBmbG93IGlzIGFzIGZvbGxvd3MKCSAgMS4gR2VuZXJhdGUgdGhlIG91dHB1dCBidWZmZXIgd2l0aCB0aGUgcmVxdWlyZWQgc3luYyBtZXRhIHdpdGggdGhlIGluY3JlbWVudGluZwoJICBwdXNoIGNvdW50ZXIgYW5kIE9FUyBHTCBtZW1vcnkKCSAgMS4xIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciAoYnVmLCByZW5kZXI9dHJ1ZSkgYW5kIHB1c2ggZG93bnN0cmVhbQoJICAyLiBEb3duc3RyZWFtIHdhaXRzIGZvciBvbiB0aGUgc3luYyBtZXRhICh0aW1lZCB3YWl0KSBvciBkcm9wcyB0aGUgZnJhbWUgKG5vIHdhaXQpCgkgIDIuMSBUaW1lZCB3YWl0IGZvciB0aGUgZnJhbWUgbnVtYmVyIHRvIHJlYWNoIHRoZSBudW1iZXIgb2YgZnJhbWUgY2FsbGJhY2tzIGZpcmVkCgkgIDIuMiBVbmNvbmRpdGlvbmFsbHkgdXBkYXRlIHRoZSBpbWFnZSB3aGVuIHRoZSB3YWl0IGNvbXBsZXRlcyAoc3VjY2VzcyBvciBmYWlsKS4KCSAgU2V0cyB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBtZXRhIG9uIHRoZSBidWZmZXIuCgkgIDMuIERvd25zdHJlYW0gcmVuZGVycyBhcyB1c3VhbC4KCSAgQXQgKnNvbWUqIHBvaW50IHRocm91Z2ggdGhpcyB0aGUgb25fZnJhbWVfY2FsbGJhY2sgbWF5IG9yIG1heSBub3QgZmlyZS4gIElmIGl0CgkgIGRvZXMgZmlyZSwgd2UgY2FuIGZpbmlzaCB3YWl0aW5nIGVhcmx5IGFuZCByZW5kZXIuIE90aGVyd2lzZSB3ZSBoYXZlIHRvCgkgIHdhaXQgZm9yIGEgdGltZW91dCB0byBvY2N1ciB3aGljaCBtYXkgY2F1c2UgbW9yZSBidWZmZXJzIHRvIGJlIHB1c2VkIGludG8gdGhlCgkgIGludGVybmFsIEdMIHF1ZXVlIHdoaWNoIHNpZ2luaWZpY2FudGx5IGRlY3JlYXNlcyB0aGUgY2hhbmNlcyBvZiB0aGUKCSAgb25fZnJhbWVfY2FsbGJhY2sgdG8gZmlyZSBhZ2Fpbi4gIFRoaXMgaXMgYmVjYXVzZSB0aGUgZnJhbWUgY2FsbGJhY2sgb25seSBvY2N1cnMKCSAgd2hlbiB0aGUgaW50ZXJuYWwgR0wgcXVldWUgY2hhbmdlcyBzdGF0ZSBmcm9tIGVtcHR5IHRvIG5vbi1lbXB0eS4KCSAgQmVjYXVzZSB0aGVyZSBpcyBubyB3YXkgdG8gcmVsaWFibHkgY29ycmVsYXRlIGJldHdlZW4gdGhlIG51bWJlciBvZiBidWZmZXJzCgkgIHB1c2hlZCBhbmQgdGhlIG51bWJlciBvZiBmcmFtZSBjYWxsYmFja3MgcmVjZWl2ZWQsIHRoZXJlIGFyZSBhIG51bWJlciBvZgoJICB3b3JrYXJvdW5kcyBpbiBwbGFjZS4KCSAgMS4gV2Ugc2VsZi1pbmNyZW1lbnQgdGhlIHJlYWR5IGNvdW50ZXIgd2hlbiBpdCBmYWxscyBiZWhpbmQgdGhlIHB1c2ggY291bnRlcgoJICAyLiBUaW1lIGJhc2VkIHdhaXRzIGFzIHRoZSBmcmFtZSBjYWxsYmFjayBtYXkgbm90IGJlIGZpcmVkIGZvciBhIGNlcnRhaW4gZnJhbWUuCgkgIDMuIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgZGV2aWNlIGNhbiByZW5kZXIgYXQgc3BlZWQgb3IgcGVyZm9ybXMgc29tZSBRb1Mgb2YKCSAgdGhlIGludGVyYWwgR0wgcXVldWUgKHdoaWNoIG1heSBub3QgbWF0Y2ggdGhlIEdTdHJlYW1lciBRb1MpLgoJICBJdCBob2xkcyB0aGF0IHdlIGNhbGwgU3VyZmFjZVRleHR1cmU6OnVwZGF0ZVRleEltYWdlIGZvciBlYWNoIGJ1ZmZlciBwdXNoZWQKCSAgZG93bnN0cmVhbSBob3dldmVyIHRoZXJlJ3Mgbm8gZ3VhcmVudGVlIHRoYXQgdXBkYXRlVGV4SW1hZ2Ugd2lsbCByZXN1bHQgaW4KCSAgdGhlIGV4YWN0IG5leHQgZnJhbWUgKGl0IGNvdWxkIHNraXAgb3IgZHVwbGljYXRlKSBzbyBzeW5jaHJvbml6YXRpb24gaXMgbm90CgkgIGd1YXJhbnRlZWQgdG8gYmUgYWNjdXJhdGUgYWx0aG91Z2ggaXQgc2VlbXMgdG8gYmUgY2xvc2UgZW5vdWdoIHRvIGJlIHVuYWJsZQoJICB0byBkaXNjZXJuIHZpc3VhbGx5LiAgVGhpcyBoYXMgbm90IGNoYW5nZWQgZnJvbSBiZWZvcmUgdGhpcyBwYXRjaC4gIFRoZSBjdXJyZW50CgkgIHJlcXVpcmVtZW50IGZvciBzeW5jaHJvbml6YXRpb24gaXMgdGhhdCB1cGRhdGVUZXhJbWFnZSBpcyBjYWxsZWQgYXQgdGhlIHBvaW50IGluCgkgIHRpbWUgd2hlbiB0aGUgYnVmZmVycyBpcyB0byBiZSByZW5kZXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI4NQoKMjAxNS0xMS0wMiAxNzo1NzoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2xzeW5jbWV0YTogYWRkIHZmdW5jcyBmb3IgYWxsIG9wZXJhdGlvbnMKCSAgdGhlcmUgY291bGQgYmUgb3RoZXIgd2F5cy9yZXF1aXJlbWVudHMgZm9yIHN5bmNocm9uaXNpbmcgdHdvIEdQVSBjb21tYW5kCgkgIHN0cmVhbXMgKHdoZXRoZXIgR0wgb3IgcGxhdGZvcm0gc3BlY2lmaWMpLgoJICBlLmcuIGdsZmVuY2VzeW5jL2VnbHdhaXRuYXRpdmUvY29uZC9ldGMKCjIwMTUtMTEtMTAgMTU6Mzc6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGFkZCBzdXBwb3J0IGZvciByZW5kZXJpbmcgZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyODUKCjIwMTUtMTEtMTAgMTQ6NTQ6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsdmlld2NvbnZlcnQ6IGFkZCBzdXBwb3J0IHJlY3RhbmdsZS9leHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI4NQoKMjAxNS0xMS0xNyAxNToxODoyOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IHNldHRpbmcgaW50ZXJuYWwgU0tJUCAvIERST1AgZmxhZ3MKCjIwMTUtMTEtMTcgMDk6MDg6NTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCBzdHJ1Y3R1cmUgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODIwNQoKMjAxNS0xMS0xNiAyMTo1MjowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlcmxpc3RzCgoyMDE1LTExLTE3IDExOjIxOjI3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBpbXByb3ZlIG5lZ290aWF0aW9uCgkgIFJld29yayBuZWdvdGlhdGlvbiBpbXBsZW1lbnRpbmcgR3N0VmlkZW9EZWNvZGVyOjpuZWdvdGlhdGUuIE1ha2UgaXQgcG9zc2libGUgdG8KCSAgc3dpdGNoIHRleHR1cmUgc2hhcmluZyBvbiBhbmQgb2ZmIGF0IHJ1bnRpbWUuIFVzZWZ1bCB0byAoZXZlbnR1YWxseSkgdHVybgoJICB0ZXh0dXJlIHNoYXJpbmcgb24gaW4gcGlwZWxpbmVzIHdoZXJlIGdsaW1hZ2VzaW5rIGlzIGxpbmtlZCBvbmx5IGFmdGVyCgkgIGRlY29kaW5nIGhhcyBhbHJlYWR5IHN0YXJ0ZWQgKGZvciBleGFtcGxlIE9XUikuCgoyMDE1LTExLTE3IDExOjE5OjU3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBpbXByb3ZlIGhhbmRpbmcgb2YgZGVjb2RlIGVycm9ycy9mcmFtZSBkcm9wcwoJICBJbXByb3ZlIGRlY29kZSBlcnJvciBoYW5kbGluZyBieSBhdm9pZGluZyBjYWxsaW5nIGludG8gR3N0VmlkZW9EZWNvZGVyIGZyb20gdGhlCgkgIFZUIGRlY29kZSBjYWxsYmFjay4gVGhpcyByZW1vdmVzIGNvbnRlbnRpb24gb24gdGhlIEdTVF9WSURFT19ERUNPREVSX1NUUkVBTV9MT0NLCgkgIHdoaWNoIHVzZWQgdG8gbWFrZSB0aGUgZGVjb2RlIGNhbGxiYWNrIHNsb3cgZW5vdWdoIGZvciBWVCB0byBzdGFydCBkcm9wcGluZyBsb3RzCgkgIG9mIGZyYW1lcyBvbmNlIHRoZSBmaXJzdCBmcmFtZSB3YXMgZHJvcHBlZC4KCjIwMTUtMTEtMTcgMTE6MjI6MTUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCjIwMTUtMTEtMTQgMjA6MjE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgbm93LWRlZnVuY3QgIm51bS1sb29rYmFjay1mcmFnbWVudHMiIHByb3BlcnR5CgkgIFRoaXMgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcsIGFuZCBpdCB3YXMgbWFya2VkIGFzIENPTlNUUlVDVF9PTkxZCgkgIHdoaWNoIG1lYW5zIHNvbWVvbmUgd291bGQgcmVhbGx5IGhhdmUgdG8gZ28gb3V0IG9mIHRoZWlyIHdheSB0bwoJICBiZSBhYmxlIHRvIHNldCB0aGlzLCB3aGljaCB3b3VsZCBvbmx5IGJlIGRvbmUgaW4gdmVyeSBjdXN0b20KCSAgc2NlbmFyaW9zLCBpZiBldmVyLCBhbmQgdGhvc2Ugd2lsbCBsaWtlbHkgdGFyZ2V0IGEgc3BlY2lmaWMKCSAgdmVyc2lvbiBvZiBHU3RyZWFtZXIgdGhlbiwgc28gcHJvYmFibHkgbm90IG11Y2ggcG9pbnQga2VlcGluZwoJICBpdCBkZXByZWNhdGVkIGZvciBhIHdoaWxlIGJlZm9yZSByZW1vdmluZyBpdC4KCjIwMTUtMTEtMTMgMTc6MTQ6MTQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFsd2F5cyBnaXZlIGEgdmFsaWQgcmVwbHkgdG8gaW50ZXJuYWwgY2FwcyBxdWVyaWVzCgkgIENhcHMgcXVlcmllcyBjYW4gYWx3YXlzIGhhdmUgYSB2YWxpZCByZXBseSwgZWl0aGVyIHRoZSBmaWx0ZXIgb3IgQU5ZLgoJICBJZiB0aGUgY2FwcyBhcmUgQU5ZLCB0aGVuIGFjY2VwdC1jYXBzIGFsd2F5cyByZXR1cm5zIFRSVUUuCgoyMDE1LTExLTEyIDE2OjM1OjEyICswMTAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzZWN0aW9uX2RhdGEgbGVhawoJICBJZiBwYWNrZXQtPnBheWxvYWRfdW5pdF9zdGFydF9pbmRpY2F0b3IgaXMgdHJ1ZSBhbmQgcG9pbnRlciAwLCB0aGVyZSBpcyBubwoJICBkaXNjb250aW51aXR5IGNoZWNrLiBUaGVyZWZvcmUgdGhlcmUgY291bGQgYmUgYSBwcmV2aW91cyBzZWN0aW9uIG5vdCBjb21wbGV0ZQoJICB0aGF0IG5lZWQgdG8gYmUgY2xlYXJlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAxMAoKMjAxNS0xMS0xMyAxMDo0MTo1OCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGZpeCBwb3NzaWJsZSBzdHJpbmcgb3ZlcnJ1biBpbiBnc3RfZ2xzbF92ZXJzaW9uX3Byb2ZpbGVfZnJvbV9zdHJpbmcKCSAgZ2l2ZW4gYSBOVUxMLXRlcm1pbmF0ZWQgc3RyaW5nLCBzLgoJICBzW2ldID0gJ1wwJzsKCSAgaSsrOwoJICBkb2VzIG5vdCBndWFyZW50ZWUgdGhhdCBzW2ldIGlzIE5VTEwgdGVybWluYXRlZCBhbmQgdGh1cyBzdHJpbmcgb3BlcmF0aW9ucwoJICBjb3VsZCByZWFkIG9mZiB0aGUgZW5kIG9mIHRoZSBhcnJheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxNjo1MDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBkb24ndCByZWFkIGludmFsaWQgbGlzdCBwb2ludGVycyAodXNlIGFmdGVyIGZyZWUpCgkgIGdzdF9nbF9zaGFkZXJfZGV0YWNoX3VubG9ja2VkIGFscmVhZHkgcmVtb3ZlcyB0aGUgbGlzdCBlbnRyeSBzbyBhdHRlbXB0aW5nIHRvCgkgIHVzZSB0aGUgZWxlbWVudCB0byBpdGVyYXRlIHRvIHRoZSBuZXh0IHN0YWdlIGNvdWxkIHJlYWQgaW52YWxpZCBkYXRhLgoJICBCYXNlZCBvbiBwYXRjaCBieSBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDEwOjQ0OjI2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHNsLmM6CgkgIHRlc3RzOmdsc2w6IHZlcnNpb25fcHJvZmlsZV9zIHN0cmluZyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTMgMTA6NTY6MTAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJICBnbHNsOiBmcmVlIHN0ciB3aGlsZSByZXR1cm5pbmcgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxMTowNDozNCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6Z2x1cGxvYWQ6IGZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTIgMTI6MjE6NTQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGF2b2lkIHBvdGVudGlhbCBvdmVyZmxvdyBleHByZXNzaW9uCgkgIFRoZSByZXN1bHQgb2YgdGhlIHR3byBleHByZXNzaW9ucyB3aWxsIGJlIHByb21vdGVkIHRvIGd1aW50NjQgYW55d2F5LAoJICBwZXJmb3JtIGFsbCB0aGUgYXJpdGhtZXRpYyBpbiA2NCBiaXRzIHRvIGF2b2lkIHBvdGVudGlhbCBvdmVyZmxvd3MuCgkgIENJRCAxMzM4NjkwLCBDSUQgMTMzODY5MQoKMjAxNS0xMS0xMiAxMjowMDowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBtZW1vcnkgbGVhawoJICBUaGUgdmFsdWVzIG9mIGNoYW5uZWxfbWFwcGluZyBhcmUgY29waWVkIGJ5IGdzdF9jb2RlY191dGlsc19vcHVzX2NyZWF0ZV9jYXBzICgpCgkgIGJ1dCBpdCBkb2Vzbid0IGZyZWUgb3IgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGdfbmV3MCBhbGxvY2F0ZWQgbWVtb3J5LiBUaGlzCgkgIG5lZWRzIHRvIGJlIGZyZWVkIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUuCgkgIENJRCAxMzM4NjkyCgoyMDE1LTExLTEyIDExOjQyOjM2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgYnVmZmVyIGNoZWNrCgkgIGJ1ZiBzdXJlbHkgaXNuJ3QgTlVMTCBpbnNpZGUgdGhlIGJsb2NrIGNvbmRpdGlvbmFsIHRvIGEgYnVmZmVyIHNpemUgYmlnZ2VyCgkgIHRoYW4gKEdfTUFYVUlOVDE2IC0gMykuIFBsdXMgZ3N0X2J1ZmZlcl91bnJlZigpIGNoZWNrcyBpZiB0aGUgYnVmZmVyIGlzCgkgIE5VTEwgYW5kIGRvZXMgbm90aGluZyBpZiBpdCBpcy4KCSAgQ0lEIDEzMzg2OTMKCjIwMTUtMTEtMTIgMTE6MjM6MzEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBpbml0aWFsaXplIHNhbXBsZSByYXRlIHRvIGEgZGVmYXVsdAoJICBzYW1wbGVfcmF0ZSBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaWYgIXNpbmtfY2FwcyBpcyBUUlVFLiBJbml0aWFsaXplCgkgIGl0IHRvIHRoZSBkZWZhdWx0IHVzZWQgaW4gZ3N0X2NvZGVjX3V0aWxzX29wdXNfcGFyc2VfY2FwcyAoKSB3aGVuIHRoZXJlIGlzCgkgIG5vIHJhdGUgZGVmaW5lZCBpbiB0aGUgY2Fwcy4KCSAgQ0lEIDEzMzg2OTUKCjIwMTUtMTEtMTIgMTY6MzY6MDMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogRml4IHZlcnRleF9zb3VyY2VzIG1lbW9yeSBsZWFrCgkgIHZlcnRleF9zb3VyY2VzIGlzIGJlaW5nIGFsbG9jYXRlZCBidXQgbm90IGZyZWVkIHJlc3VsdGluZyBpbiBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTIgMTY6MjY6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBmcmVlCgkgIHZlcnNpb25fc3RyIGlzIGFscmVhZHkgYmVpbmcgZnJlZWQuIFNvIG5vIG5lZWQgdG8gY2FsbCBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTc0CgoyMDE1LTExLTEyIDE2OjE4OjM1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggc3RyaW5nIGxlYWsKCSAgU3RyaW5nIGdvdCB1c2luZyBnc3RfZ2xzbF92ZXJzaW9uX3Byb2ZpbGVfdG9fc3RyaW5nLCBpcyBhbGxvY2F0ZWQKCSAgbWVtb3J5IGFuZCBzaG91bGQgYmUgZnJlZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMiAxNjowMjo0NSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGZyYWdfcHJvZyBhbmQgZnJhZ19ib2R5IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTEgMTY6NTE6MjMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCBoYW5kbGluZyBlcnJvcnMgZW1pdHRlZCBieSB1cmkgaGFuZGxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTQ3CgoyMDE1LTExLTEwIDE2OjMyOjM3ICswMTAwICBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHBlbmRpbmcgYnVmZmVycyBsZWFrIHdoZW4gZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5NQoKMjAxNS0wNi0xMCAxNDoxODowMCArMDIwMCAgRXRpZW5uZSBQZXJvbiA8ZXRpZW5uZS5wZXJvbkBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHBhZCBsZWFrIHdoZW4gdGhlIHBhZCBpcyBuZXZlciBleHBvc2VkCgkgIElmIHRzZGVtdXggbmV2ZXIgcmVjZWl2ZXMgZGF0YSBmb3IgYSBzdHJlYW0sIHRoZSBjb3JyZXNwb25kaW5nIHBhZCB3aWxsIG5ldmVyCgkgIGJlIGFkZGVkIGFuZCBzdHJlYW0tPmFjdGl2ZSB3aWxsIHJlbWFpbiBGQUxTRS4gV2hlbiB0aGUgc3RyZWFtIGlzIHJlbW92ZWQsIHRoZQoJICBwYWQgd2lsbCBub3QgYmUgdW5yZWZmZWQgYW5kIHdpbGwgYmUgbGVha2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODczCgoyMDE1LTExLTA5IDE3OjQ1OjI5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEZpeCB0aGUgd3Jvbmcgd2lkdGggJiBoZWlnaHQgcGFyc2luZyBvZiB2cDkgYml0c3RyZWFtCgkgIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGZvciBkZXRlY3RpbmcgdGhlIHJlc29sdXRpb24gY2hhbmdlcwoJICBvbiBrZXkgZnJhbWVzIGlzIGJhc2VkIG9uIHZwOCBiaXRzdHJlYW0gYWxpZ25tZW50LiBBdm9pZCB0aGlzCgkgIHdpZHRoIGFuZCBoZWlnaHQgcGFyc2luZyBmb3IgdnA5IGJpdHN0cmVhbSwgd2hpY2ggcmVxdWlyZXMgcHJvcGVyCgkgIGZyYW1lIGhlYWRlciBwYXJzaW5nIGlub3JkZXIgdG8gZGV0ZWN0IHRoZSByZXNvbHV0aW9uIGNoYW5nZSAoRml4bWUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODI1CgoyMDE1LTExLTExIDExOjQwOjUyICswMTAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBTZXQgcHJvZmlsZV9sZXZlbCB0byBOVUxMIGFmdGVyIHJlbGVhc2UKCSAgT3RoZXJ3aXNlLCBnc3RfdnRlbmNfbmVnb3RpYXRlX3Byb2ZpbGVfYW5kX2xldmVsIHdpbGwgZG91YmxlLXJlbGVhc2UgYXMKCSAgaXQgY2hlY2tzIGZvciBwcm9maWxlX2xldmVsICE9IE5VTEwuIFRoaXMgY2F1c2VkIGNyYXNoZXMgd2hlbiB0aGUKCSAgdnRlbmMgaW5zdGFuY2UgaXMgc3RvcHBlZCBhbmQgdGhlbiByZXN0YXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5MzUKCjIwMTUtMTEtMTEgMjM6Mzk6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogbWFuZ2xlIGdsX0ZyYWdDb2xvciBmb3IgR0wzCgkgIFNvbWUgZHJpdmVycyBkb24ndCBwcm92aWRlIHRoZSBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gYW5kIHdlIG5lZWQgdG8gcHJvdmlkZQoJICBvdXIgb3duICdvdXQgdmVjNCcgdmFyaWFibGUgdG8gcHV0IHRoZSByZXN1bHRzIG9mIHRoZSBmcmFnbWVudCBzaGFkZXIgaW50by4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkzOAoKMjAxNS0xMS0xMSAxNjowNjoyNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgdGVzdHM6Z2xjb2xvcmNvbnZlcnQ6IEZpeCBjYXBzIG1lbW9yeSBsZWFrCgkgIE91dHB1dCBjYXBzIGJlaW5nIGdvdCBmcm9tIHZpZGVvIGluZm8gaXMgbm90IGdldHRpbmcgZnJlZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkyOQoKMjAxNS0xMS0xMCAxNzo1ODo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcHJvdmlkZSBvdXIgb3duIGRlZmluaXRpb24gb2YgbG9nMigpCgkgIFRoZSBsb2cyIGZ1bmN0aW9uL21hY3JvIGRvZXNuJ3QgZXhpc3Qgd2hlbiB0YXJnZXR0aW5nIGFuZHJvaWQgQVBJIDwgMTggKG9yIE1TVkMKCSAgPCAyMDEzKSB3aGVyZWFzIG91ciBjdXJyZW50IGJhc2VsaW5lIGlzIEFQSSA5LgoKMjAxNS0xMS0xMCAxMzo1MjozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2x2aWV3Y29udmVydDogcmVtb3ZlIHNldF9mb3JtYXQKCSAgV2UgbmVlZCB0aGUgY2FwcyB0byBiZSBhYmxlIHRvCgkgIDEuIGNoZWNrIHRoZSBjYXBzIGZlYXR1cmVzCgkgIDIuIGdldCB0aGUgcmVxdWVzdGVkIHRleHR1cmUtdGFyZ2V0IG9uIGlucHV0L291dHB1dAoKMjAxNS0xMS0xMSAxMDozMTowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggYSBtZW1vcnkgbGVhayBpZiB0aGUgdmlldyBjb252ZXJzaW9uIGZhaWxzCgoyMDE1LTExLTExIDEzOjM3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGJhbGFuY2UgdGhlIGNyZWF0aW9uL2Rlc3RydWN0aW9uIG9mIHRoZSBvdmVybGF5IGNvbXBvc2l0b3IKCSAgRml4ZXMgc29tZSBsZWFrcy9wb3NzaWJsZSBzZWdmYXVsdCBvbiB3aGVuIGZhaWxpbmcgdG8gY3JlYXRlIHRoZSBjb21wb3NpdG9yLgoKMjAxNS0xMS0xMSAxMjoyMzozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsc2hhZGVyOiBwcm9wZXJseSB1bnJlZiB0aGUgc3RhZ2VzIG9uIGZhaWx1cmUKCSAgV2hlbiBmYWlsaW5nIGluIHRoZSB2YXJhcmdzIGZ1bmN0aW9ucywgYWxsIHRoZSBzdGFnZSBvYmplY3RzIG5vdCBoYW5kbGVkIG5lZWQgdG8KCSAgYmUgdW5yZWZmZWQgdG8gcHJldmVudCBhIGxlYWsuCgoyMDE1LTExLTExIDExOjI5OjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogcHJvcGVybHkgcmV0dXJuIGFuIGVycm9yIHdoZW4gd2UgY291bGQgbm90IGNyZWF0ZSB0aGUgc2hhZGVyIHN0YWdlCgkgIFdoaWxlIGl0IHdhcyBlcnJvcmluZyBvdXQgY29ycmVjdGx5IGxhdGVyLCB0aGVyZSB3ZXJlIEdMaWIgd2FybmluZ3MgYWJvdXQKCSAgc2V0dGluZyBhIEdFcnJvciBvdmVyIHRoZSB0b3Agb2YgYW5vdGhlciBHRXJyb3IuCgoyMDE1LTExLTExIDAxOjA1OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmM6CgkgIGdsc2hhZGVyc3RyaW5nczogZml4dXAgdGhlIGV4dGVybmFsLW9lcyBmcmFnbWVudCBzaGFkZXIKCSAgVGhlIHdyb25nIHNhbXBsZXIgdHlwZSB3YXMgdXNlZAoJICBzL3NhbXBsZXIyREV4dGVybmFsT0VTL3NhbXBsZXJFeHRlcm5hbE9FUy8KCjIwMTUtMTEtMTAgMjM6NDE6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogdHJ5IHRvIGtlZXAgdGhlIHNhbWUgdGV4dHVyZS10YXJnZXQgaWYgcG9zc2libGUKCSAgRml4ZXMgaXNzdWVzIGF0dGVtcHRpbmcgdG8gcGFzc3Rocm91Z2ggZXh0ZXJuYWwtb2VzIHRleHR1cmVzCgoyMDE1LTExLTEwIDIyOjQxOjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCByZW5kZXJpbmcgcmVjdGFuZ3VsYXIgdGV4dHVyZXMgd2l0aCBHTDMKCSAgUmVjdGFuZ3VsYXIgdGV4dHVyZXMgYXJlIHVuYXZhaWxhYmxlIGluIHVuZXh0ZW5kZWQKCSAgR0xFUzIgI3ZlcnNpb24gMTAwIHNoYWRlcnMuCgkgIEZpeGVzCgkgIHRleHR1cmUtdGFyZ2V0PXJlY3RhbmdsZSAhIGdsY29sb3Jjb252ZXJ0ICEgdGV4dHVyZS10YXJnZXQ9MkQKCSAgVGhlcmUncyBhIGNvdXBsZSBvZiBkaWZmZXJlbmNlcyBiZXR3ZWVuIEdMMyBhbmQgR0xFUzIvR0wKCSAgLSB2YXJ5aW5nIC0+IGluIG9yIG91dCBkZXBlbmRpbmcgb24gdGhlIHN0YWdlICh2ZXJ0ZXgvZnJhZ21lbnQpCgkgIC0gYXR0cmlidXRlIC0+IGluCgkgIC0gZmlsdGVyZWQgdGV4dHVyZSBhY2Nlc3MgaXMgYSBzaW5nbGUgZnVuY3Rpb24sIHRleHR1cmUoKQoKMjAxNS0xMS0xMCAyMDoyMDoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBwcm9wZXJseSB1c2UgdGhlIG90aGVyIHRleHR1cmUtdGFyZ2V0IG9uIGZpeGF0aW9uCgoyMDE1LTExLTEwIDIwOjE1OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogYWRkIGRlYnVnIGFzIHRvIHdoeSBfc2V0X3N0cmluZ3MoKSBmYWlsZWQKCjIwMTUtMTEtMTAgMjA6MTM6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGZpeCBjaGVjayBmb3IgZ2xzbCB2ZXJzaW9uIGFnYWluc3QgR0wgY29udGV4dCBpbnZlcnNpb24KCSAgQW55IEdMU0wgdmVyc2lvbiB0aGF0IHdhcyBsZXNzIHRoYW4gdGhlIHByb3ZpZGVkIEdMIHZlcnNpb24gd291bGQgZmFpbAoKMjAxNS0xMS0xMCAxMDowMjozOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IHBhZCBtZW1vcnkgbGVhay4KCSAgVGhlIHN0YXRpYyBwYWRzIGdvdCBmcm9tIHF1ZXVlIGFuZCB1cmlfaGFuZGxlciBhcmUgbm90IGJlaW5nIGZyZWVkCgkgIHJlc3VsdGluZyBpbiBtZW1vcnkgbGVha3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NTkKCjIwMTUtMTEtMTAgMTM6MTM6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9lbnVtcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2w6IGZvcndhcmQgZGVjbGFyZSBzb21lIGVudW1zCgkgIFNwZWNpZmljYWxseSB0aGUgR3N0R0xUZXh0dXJlVGFyZ2V0IGVudW0KCjIwMTUtMTEtMTAgMTM6MTE6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2xzdGFnZTogZXhwb3NlIHRoZSBkZWZhdWx0IHNoYWRlciBzdHJpbmdzIGFzIHB1YmxpYwoJICBBZGQgc29tZSBvdGhlciBzaW1wbGUgc3RyaW5ncyBmb3IgZXh0ZXJuYWwtb2VzIHRleHR1cmVzIG9yIHRyYW5zZm9ybWluZwoJICB0aGUgdGV4dHVyZSBjb29yZGluYXRlcyB3aXRoIGEgdHJhbnNmb3JtYXRpb24gbWF0cml4CgoyMDE1LTExLTA2IDAzOjA1OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHdhaXQgb24gdGhlIHN5bmMgbWV0YSBmb3IgaW5wdXQgYnVmZmVycwoKMjAxNS0xMS0wNSAwMDoxMzowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB3YWl0IG9uIHRoZSBwcm92aWRlZCBzeW5jIG1ldGEgcHJvdmlkZWQgdG8gZ2xpbWFnZXNpbmsKCjIwMTUtMTEtMDggMjI6MTQ6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogdXNlIHRoZSBjb3JyZWN0IG9lcyB0YXJnZXQgc3RyaW5nIGluIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDE1LTExLTEwIDEyOjMyOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGs6IGFkZCB0aGUgb3ZlcmxheWNvbXBvc2l0aW9uIGZlYXR1cmUgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCSAgVGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBfZ2V0X2NhcHMgaW1wbCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZQoJICBmZWF0dXJlIGluIHRoZSBmaWx0ZXIgY2FwcyB3aGljaCB3aGVuIGludGVyZWN0aW5nIHdpdGggdGhlIHRlbXBsYXRlLAoJICB3aWxsIHJldHVybiBFTVBUWSBhbmQgdGhlcmVmb3JlIGZhaWwgbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NTQKCjIwMTUtMTEtMTAgMTQ6MjE6MzMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IGZpeCB2dGRlYyB0ZXh0dXJlIHNoYXJpbmcgb24gaW9zIDkuMQoJICBVc2UgZ3N0X2dsX3NpemVkX2dsX2Zvcm1hdF9mcm9tX2dsX2Zvcm1hdF90eXBlIHRvIGdldCB0aGUgZm9ybWF0IHBhc3NlZCB0bwoJICBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlQ3JlYXRlVGV4dHVyZUZyb21JbWFnZS4gQmVmb3JlIHRoaXMgY2hhbmdlIGV4dHJhY3RpbmcgdGhlCgkgIHNlY29uZCB0ZXh0dXJlIGZyb20gdGhlIHBpeGVsIGJ1ZmZlciB3YXMgZmFpbGluZyBvbiBpb3MgOS4xLgoKMjAxNS0xMS0wNiAxNzoyNDo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBhZGQgYSBmcmFtZXJhdGUgdG8gdGVzdCBjYXBzCgkgIFRoZSBwYWQgdGVtcGxhdGUgcmVxdWlyZXMgYSBmcmFtZXJhdGUsIHNvIHVzZSBpdCB0byBwcmV2ZW50CgkgIGNhcHMgbmVnb3RpYXRpb24gZmFpbHVyZXMuCgkgIEZpeGVzIHRoZSB1bml0IHRlc3QKCjIwMTUtMTEtMDYgMjA6Mzg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogdXBkYXRlIC5naXRpZ25vcmUgZm9yIG5ldyB0ZXN0IGJpbmFyaWVzCgoyMDE1LTExLTA2IDE5OjI2OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBkb24ndCBzZW5kIGZsdXNoIGV2ZW50cyBvbiBzZWVrcwoJICBJdCdzIGZvciB0aGUgdXBzdHJlYW0gZWxlbWVudCBkcml2aW5nIHRoZSBwaXBlbGluZSB0bwoJICBoYW5kbGUgc2Vla3MgYW5kIHNlbmQgZmx1c2ggZXZlbnRzIG9yIG5vdCwgZmlsdGVycwoJICBzaG91bGQgbm90IGludGVyZmVyZSBoZXJlLCBvdGhlcndpc2UgZG93bnN0cmVhbSBwYWRzCgkgIGNvdWxkIGJlIGZsdXNoaW5nIGJlZm9yZSB1cHN0cmVhbSBwYWRzIGFyZSBmbHVzaGluZywKCSAgd2hpY2ggY2FuIHJlc3VsdCBpbiBHU1RfRkxPV19FUlJPUiBiZWluZyBzZW50IGluc3RlYWQKCSAgb2YgR1NUX0ZMT1dfRkxVU0hJTkcgd2hlbiB0cnlpbmcgdG8gZm9yd2FyZCBzdGlja3kKCSAgZXZlbnRzIGF0IGp1c3QgdGhlIHdyb25nIG1vbWVudC4KCjIwMTUtMTEtMDYgMTY6MTY6MzIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzCgkgIEl0IGlzIHVwIHRvIHRoZSBlbGVtZW50IGhhbmRsaW5nIHRoZSBzZWVrIHRvIHNlbmQgZmx1c2ggZXZlbnRzCgkgIGRvd25zdHJlYW0sIG90aGVyd2lzZSB3ZSBlbmQgdXAgd2l0aCBhIHNpdHVhdGlvbiB3aGVyZSB1cHN0cmVhbQoJICB3b3VsZCBnZXQgdW5leHBlY3RlZCBHU1RfRkxPV19GTFVTSElORwoKMjAxNS0xMS0wNiAxOToyMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgRml4IGNvZGUgaW5kZW50YXRpb24KCjIwMTUtMTAtMjIgMTM6NDA6MzYgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IHVzZSBzdHJlYW0gdGltZSBmb3IgdGltZXN0YW1wCgkgIFRoZSBPbnZpZiBTdHJlYW1pbmcgU3BlY2lmaWNhdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgTlRQIHRpbWVzdGFtcHMKCSAgaW4gdGhlIE9udmlmIGV4dGVuc2lvbiBoZWFkZXIgaW5kaWNhZXMgdGhlIGFic29sdXRlIFVUQyB0aW1lIGFzc29jaWF0ZWQKCSAgd2l0aCB0aGUgYWNjZXNzIHVuaXQuIEJ1dCBieSB1c2luZyBydW5uaW5nIHRpbWUgd2UgY2FuIG5vdCBhY2hpZXZlIHRoYXQsCgkgIHNpbmNlIGEgZnJhbWUncyBydW5uaW5nIHRpbWUgZGVwZW5kcyBvbiB0aGUgcGxheWVkIGludGVydmFsLCB3aGV0aGVyIGEKCSAgbm9uLWZsdXNoaW5nIGlzIGRvbmUsIGV0Yy4gSW5zdGVhZCB3ZSBoYXZlIHRvIHVzZSB0aGUgc3RyZWFtIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc2ODgKCjIwMTUtMTEtMDYgMDk6NDQ6NTcgKzAxMDAgIExpbnVzIFN2ZW5zc29uIDxsaW51c3NuQGF4aXMuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogVXBkYXRlIG50cC1vZmZzZXQgYW5kIGQvZS1iaXRzIHdpdGggYSBHc3RFdmVudAoJICBJdCBpcyBub3cgcG9zc2libGUgdG8gdXBkYXRlIHRoZSBjdXJyZW50bHkgdXNlZCBudHAtb2Zmc2V0IHdpdGggYQoJICBjdXN0b20gc2VyaWFsaXplZCBkb3duc3RyZWFtIGV2ZW50LiBUaGUgZWxlbWVudCB3aWxsIHJlYWQgdGhlIG50cC1vZmZzZXQKCSAgcHJvcGVydHkgd2hlbiBkb2luZyB0aGUgc3RhdGUgdHJhbnNpdGlvbiBmcm9tIFJFQURZIHRvIFBBVVNFRCBhbmQKCSAgdXNlIHRoYXQgb2Zmc2V0IHVudGlsIGl0IHJlY2VpdmVzIGEgIkdzdE50cE9mZnNldCIgZXZlbnQsIHdoaWNoIGFsc28KCSAgaGFzIGEgIm50cC1vZmZzZXQiIGF0dHJpYnV0ZSBpbiB0aGF0IGl0J3Mgc3RydWN0dXJlLiBJbiBjYXNlIHRoZQoJICBwcm9wZXJ0eSBpcyBub3Qgc2V0IGFuZCBubyBldmVudCBoYXMgYmVlbiByZWNlaXZlZCwgdGhlIGVsZW1lbnQgd2lsbAoJICBndWVzcyB0aGUgbnB0LW9mZnNldCB3aXRoIGhlbHAgb2YgdGhlIGNsb2NrLiBJZiBubyBjbG9jayBjYW4gYmUKCSAgcmV0cmlldmVkLCB0aGUgZWxlbWVudCB3aWxsIGVycm9yIG91dCBhbmQgc3RvcCB0aGUgZGF0YSBmbG93LgoJICBUaGUgc2FtZSBldmVudCBpcyBhbHNvIHVzZWQgZm9yIHVwZGF0aW5nIHRoZSBEL0UtYml0cyBpbiB0aGUgUlRQCgkgIGV4dGVuc2lvbiBoZWFkZXIuIFRoZSBkaXNjb250IGZsYWcgaW4gYSBidWZmZXIgY2FuIGJlIHNldCB3aGVudmVyIGEKCSAgbGl2ZS9uZXR3b3JrIHNvdXJjZSBsb29zZXMgYSBmcmFtZSwgYnV0IHRoYXQgaXMgbm90IHRoZSB0eXBlIG9mCgkgIGRpc2NvbnRpbnVpdHkgdGhhdCB0aGUgb252aWYgZXh0ZW5zaW9uIGhlYWRlciBzaG91bGQgcmVmbGVjdC4gVGhlCgkgIGhlYWRlciBpcyBtYWlubHkgdXNlZCBmb3IgcGxheWJhY2sgb2YgYSB0cmFjayBjb25jZXB0LCBpbiB3aGljaAoJICBnYXBzIGNhbiBiZSBwcmVzZW50LCBhbmQgaXQncyB0aG9zZSBraW5kIG9mIGdhcHMgdGhhdCBzaG91bGQgYmUKCSAgaGlnaGxpZ2h0ZWQgd2l0aCB0aGUgRC0gYW5kIEUtYml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0xMS0wNiAwOTo0NDoxNiArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBEbyBub3QgcmVhcmFuZ2Ugb3JkZXIgb2YgZGF0YQoJICBJZiBhIGJ1ZmZlciBvciBhIGJ1ZmZlciBsaXN0IGlzIGNhY2hlZCwgbm8gZXZlbnRzIHNlcmlhbGl6ZWQgd2l0aCB0aGUKCSAgZGF0YSBzdHJlYW0gc2hvdWxkIGdldCB0aHJvdWdoLiBUaGUgY2FjaGVkIGJ1ZmZlcnMgYW5kIGV2ZW50cyBzaG91bGQKCSAgYmUgcHVyZ2VkIHdoZW4gd2Ugc3RvcCBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0xMC0xMyAxNDoyMTo0NyArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmOiBzcGxpdCB1bml0IHRlc3RzIGluIHNldmVyYWwgZmlsZXMKCSAgU3BsaXQgdGhlIHVuaXQgdGVzdHMgZm9yIHJ0cG9udmlmdGltZXN0YW1wIGFuZCBydHBvbnZpZnBhcnNlCgkgIGVsZW1lbnRzIGluIHNlcGFyYXRlIGZpbGVzLgoJICBTZXR1cCBhbmQgY2xlYW51cCB0aGUgZWxlbWVudCBhbmQgcGFkcyBpbiBmaXh1cmVzLiBNYWtlIHRoZSB0ZXN0cyB3b3JrCgkgIHdpdGggQ0tfRk9SSz1ubyBhcyB3ZWxsLCBieSBjbGVhbmluZyB1cCB0aGUgJ2J1ZmZlcnMnIGxpc3Qgd2hlbiBuZWVkZWQuCgkgIE1ha2UgdW5pdCB0ZXN0cyB3b3JrIHdoZW4gcnVuIGluIHZhbGdyaW5kIGJ5IHVucmVmZmluZyBhbGwgYnVmZmVycywKCSAgYW5kIGJ5IG5vdCBhbGxvY2F0aW5nIGFueSBwYXlsb2FkIGluIFJUUCBidWZmZXJzLiBTaW5jZSB3ZSdyZSBub3QKCSAgZG9pbmcgYW55dGhpbmcgd2l0aCB0aGUgcGF5bG9hZCBwYXJ0LCBidXQgd2UncmUgbWVtY21wLWFyaW5nIHRoZQoJICBjb21wbGV0ZSBidWZmZXIgbWVtb3J5LCB2YWxncmluZCBjb21wbGFpbmVkIGFib3V0IG5vbi1pbml0aWFsaXplZAoJICBtZW1vcnkgYmVpbmcgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0wOS0wNCAwOTo1OTowNiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBpbXByb3ZlZCBiaXRyYXRlIGVzdGltYXRpb25zCgkgIEJpdHJhdGUgZXN0aW1hdGlvbiBpcyBub3cgaGFuZGxlZCB0aHJvdWdoIGEgcXVldWUyIGVsZW1lbnQgYWRkZWQgYWZ0ZXIKCSAgdGhlIHNvdXJjZSBlbGVtZW50IHVzZWQgdG8gZG93bmxvYWQgZnJhZ21lbnRzLgoJICBPcmlnaW5hbCBobHNkZW11eCBwYXRjaCBieSBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTU5CgoyMDE1LTExLTA2IDEyOjU5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93OiBmaXggR0xpc3QgbGVhawoJICBfcmVtb3ZlX2xpbmsoKSB3b3VsZCBub3QgZnJlZSB0aGUgYWN0dWFsIGxpc3Qgbm9kZXMuCgoyMDE1LTExLTA2IDEyOjMxOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBnbHNoYWRlciwgdHNkZW11eDogc2ltcGxpZnkgY29kZQoJICBKdXMgdXNlIF9kZWxldGVfbGluaygpIGluc3RlYWQgb2YgX3JlbW92ZV9saW5rKCkgKyBfZnJlZTEoKQoKMjAxNS0xMS0wNiAxMjozMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IGZpeCBtaW5vciBsZWFrCgkgIERvbid0IGxlYWsgcmVtb3ZlZCBsaXN0IG5vZGUuCgoyMDE1LTExLTA2IDEwOjIyOjQyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgc29vbiBlbm91Z2gKCSAgQXZvaWRpbmcgYXNzZXJ0aW9ucwoKMjAxNS0xMS0wNSAxMDoxMjo0MSArMDAwMCAgSnVsaWFuIEJvdXphcyA8anVsaWFuLmJvdXphc0B2Y2F0ZWNobm9sb2d5LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGRlZCAtLXdpdGgtaGxzLWNyeXB0bz1hdXRvfG5ldHRsZXxsaWJnY3J5cHR8b3BlbnNzbCBvcHRpb24gdG8gYnVpbGQgdGhlIHNvdXJjZSB1c2luZyB0aGUgZGVzaXJlZCBjcnlwdG9ncmFwaGljIGxpYnJhcnkgZm9yIEhMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MzE5CgoyMDE1LTExLTA2IDAwOjQ4OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogbTN1ODogZG9uJ3QgbGVhayBHTGlzdCBub2RlcyB3aGVuIG1hdGNoaW5nIHVwIHZhcmlhbnQgbGlzdHMgYWZ0ZXIgbWFzdGVyIGxpc3QgdXBkYXRlCgoyMDE1LTExLTA1IDEyOjM2OjQ4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiB1c2UgR1NUX1NUSU1FX0ZPUk1BVCBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZSBvZiBkZWFkbGluZSwgR1NUX1NUSU1FX0ZPUk1BVCBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDUgMTI6MTc6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IHVzZSBHU1RfU1RJTUVfRk9STUFUIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gdXNlIEdfR0lOVDY0X0ZPUk1BVCBmb3IgcG90ZW50aWFsbHkgbmVnYXRpdmUgdmFsdWVzIG9mCgkgIEdzdENsb2NrVGltZURpZmYuIFNpbmNlIDEuNiB0aGVzZSBjYW4gYmUgaGFuZGxlZCB3aXRoIEdTVF9TVElNRV9GT1JNQVQuCgkgIFBsdXMgaXQgY3JlYXRlcyBtb3JlIHJlYWRhYmxlIHZhbHVlcyBpbiB0aGUgbG9ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzQ4MAoKMjAxNS0xMS0wNSAxMjoxMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVXBkYXRlIHNpbmsgcGFkIHRlbXBsYXRlcwoJICBXZSBhbHdheXMgcmVxdWlyZSB0aGUgY2hhbm5lbC1tYXBwaW5nLWZpZWxkLiBJZiBpdCdzIDAgd2UgcmVxdWlyZSBub3RoaW5nCgkgIGVsc2UsIG90aGVyd2lzZSB3ZSBuZWVkIGNoYW5uZWxzLCBzdHJlYW0tY291bnQgYW5kIGNvdXBsZWQgY291bnQgdG8gYmUKCSAgYXZhaWxhYmxlLgoKMjAxNS0xMS0wMyAxOTowOTozMyAtMDgwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZG9uJ3QgY29tcGFyZSB0ZW1wbCBpbnN0YW5jZSBwb2ludGVycwoJICBPbmUgY2FuIHBhc3MgdGhlIFBhZFRlbXBsYXRlIGZyb20gdGhlIGVsZW1lbnRfY2xhc3Mgb3IgdGhlIG9uZSBmcm9tIHRoZSBmYWN0b3J5LgoJICBXaGlsZSB0aGV5IGhhdmUgdGhlIHNhbWUgY29udGVudCwgdGhlIGFkZHJlc3NlcyBhcmUgZGlmZmVyZW50LgoKMjAxNS0xMS0wNCAwMDoxMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogUmVtb3ZlIGludmFsaWQgdW5pdCB0ZXN0CgkgIE9wdXMgaGVhZGVycyBzaG91bGQgbmV2ZXIgYmUgaW4tYmFuZCwgc28gZG9uJ3QgdGVzdCBmb3IgY29ycmVjdAoJICBoYW5kbGluZyBvZiB0aGF0LgoKMjAxNS0xMS0wNCAwMDoxMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQ3JlYXRlIGFuIGVtcHR5IHRhZ2xpc3QgaWYgdGhlcmUgaXMgbm9uZQoJICBUaGVyZSBhbHdheXMgaGF2ZSB0byBiZSAyIGJ1ZmZlcnMgaW4gdGhlIHN0cmVhbWhlYWRlcnMsIGV2ZW4gaWYKCSAgdGhlIGNvbW1lbnQgYnVmZmVyIGlzIGJhc2ljYWxseSBlbXB0eS4KCjIwMTUtMTEtMDMgMTQ6NDE6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNldCB0byBydW5uaW5nIGluIGEgc2luZ2xlIHBsYWNlCgkgIE9ubHkgc2V0IHRvIHJ1bm5pbmcgd2hlbiB0aGUgdGhyZWFkIGlzIGFjdHVhbGx5IHN0YXJ0ZWQuCgoyMDE1LTExLTAzIDE0OjM3OjI2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBtb3JlIGxvY2tpbmcKCjIwMTUtMTEtMDMgMTk6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBjcmVhdGUgYW4gaW5jb21wbGV0ZSBPcHVzSGVhZCBidXQgc2V0IGFsbCB0aGUgb3RoZXIgY2FwcyBmaWVsZHMgaW5zdGVhZAoJICBPcHVzSGVhZCBpcyBvcHRpb25hbCwgdGhlIG90aGVyIGZpZWxkcyBhcmUgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDE5OjUxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IFNpbXBsaWZ5IE9wdXMgY2FwcyBwYXJzaW5nIGJ5IHVzaW5nIGNvZGVjdXRpbHMgaGVscGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUyCgoyMDE1LTExLTAzIDE0OjUwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgbXVsdGljaGFubmVsIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTE6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogRml4IHVwIHByZS1za2lwIGluIE9wdXNIZWFkIGlmIHVwc3RyZWFtIHVzaW5nIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhCgkgIE1ha2VzIHRyYW5zbXV4aW5nIGZyb20gZS5nLiBNUEVHLVRTIHRvIE9nZyBzYW1wbGUgYWNjdXJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTg6MDI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X29wdXMuYzoKCSAgdHNkZW11eC9tdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RBdWRpb0NsaXBwaW5nTWV0YSBmb3IgT3B1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTExLTAyIDE3OjMzOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBIYW5kbGUgR3N0QXVkaW9DbGlwcGluZ01ldGEgaW5zdGVhZCBvZiB0aGUgcHJlLXNraXAgZmllbGQgaW4gdGhlIE9wdXNIZWFkCgkgIG9nZ2RlbXV4IGlzIG91dHB1dHRpbmcgdGhlIG1ldGEgbm93LCBhbmQgb25seSBvdXRwdXRzIGlmIGl0IHNob3VsZCByZWFsbHkKCSAgYXBwbHkgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLiBQcmV2aW91c2x5IHdlIHdvdWxkIHNraXAgTiBzYW1wbGVzIGFsc28gaWYgd2UKCSAgc3RhcnRlZCB0aGUgZGVjb2RlciBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTY6NTI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEFkZCBHc3RBdWRpb0NsaXBwaW5nTWV0YSB0byBidWZmZXJzIHRoYXQgbmVlZCB0byBiZSBjbGlwcGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTA6MzA6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IERpc2FibGUgZ3JhbnVsZSBwb3NpdGlvbiBjYWxjdWxhdGlvbnMgYnkgdGhlIGJhc2UgY2xhc3MKCSAgSXQgaXMgZG9pbmcgdGhlIHdyb25nIHRoaW5nIGJlY2F1c2Ugb2YgdGhlIE9wdXMgcHJlLXNraXA6IHdoaWxlIHRoZSB0aW1lc3RhbXBzCgkgIGFyZSBzaGlmdGVkIGJ5IHRoZSBwcmUtc2tpcCwgdGhlIGdyYW51bGUgcG9zaXRpb25zIGFyZSBub3Qgc2hpZnRlZC4KCSAgb2dnbXV4IGlzIGRvaW5nIHRoZSByaWdodCB0aGluZyBoZXJlIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMzEgMTU6MDI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEFkZCBzb21lIEZJWE1FIGNvbW1lbnRzIGFib3V0IGNhbGN1bGF0aW5nIHBhZGRpbmcgd2l0aCBMUEMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0zMCAyMDo1NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBFbmNvZGUgZXhhY3RseSB0aGUgYW1vdW50IG9mIHNhbXBsZXMgd2UgZ290IGFzIGlucHV0IGFuZCBwdXQgY29ycmVjdCB0aW1lc3RhbXBzIG9uIGl0CgkgIFRoZSBmaXJzdCBmcmFtZSBoYXMgbG9va2FoZWFkIGxlc3Mgc2FtcGxlcywgdGhlIGxhc3QgZnJhbWUgbWlnaHQgaGF2ZSBzb21lCgkgIHBhZGRpbmcgb3Igd2UgbWlnaHQgaGF2ZSB0byBlbmNvZGUgYW5vdGhlciBmcmFtZSBvZiBzaWxlbmNlIHRvIGdldCBhbGwgb3VyCgkgIGlucHV0IGludG8gdGhlIGVuY29kZWQgZGF0YS4KCSAgVGhpcyBpcyBiZWNhdXNlIG9mIGEpIHRoZSBsb29rYWhlYWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZW5jb2RpbmcsIHdoaWNoCgkgIHNoaWZ0cyBhbGwgZGF0YSBieSB0aGF0IGFtb3VudCBvZiBzYW1wbGVzIGFuZCBiKSB0aGUgcGFkZGluZyBuZWVkZWQgdG8gZmlsbAoJICB0aGUgdmVyeSBsYXN0IGZyYW1lIGNvbXBsZXRlbHkuCgkgIElkZWFsbHkgd2Ugd291bGQgdXNlIExQQyB0byBjYWxjdWxhdGUgc29tZXRoaW5nIGJldHRlciB0aGFuIHNpbGVuY2UgZm9yIHRoZQoJICBwYWRkaW5nIHRvIG1ha2UgdGhlIGVuY29kaW5nIGFzIHNtb290aCBhcyBwb3NzaWJsZS4KCSAgV2l0aCB0aGlzIHdlIGdldCBleGFjdGx5IHRoZSBzYW1lIGFtb3VudCBvZiBzYW1wbGVzIGFnYWluIGluIGFuCgkgIG9wdXNlbmMgISBvcHVzZGVjIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTEwLTMwIDIwOjQ3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNlbmM6IFB1dCBsb29rYWhlYWQvcHJlLXNraXAgaW50byB0aGUgT3B1c0hlYWQgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMjUgMTc6Mjc6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9vcHVzLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X29wdXMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIHRzbXV4OiBBZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTEwLTI0IDE0OjI3OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIE9wdXMKCSAgQ29kZSBwYXJ0aWFsbHkgYmFzZWQgb24KCSAgaHR0cHM6Ly9naXQudmlkZW9sYW4ub3JnLz9wPWZmbXBlZy5naXQ7YT1jb21taXQ7aD03NDE0MWY2OTNkZWQyZmJmNzVhZjU2ZmZmMzA5ZDJkYjM1MTgzNjM1CgkgIGFuZCBiYXNlZCBvbiB0aGUgc3BlYyBkcmFmdCBhdAoJICBodHRwczovL3dpa2kueGlwaC5vcmcvT3B1c1RTCgkgIE1ha2VzIGl0IHBvc3NpYmxlIHRvIGRlbXV4CgkgIGh0dHA6Ly93d3cub2JlLnR2L0Rvd25sb2Fkcy9vcHVzLnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjUgMTk6MzE6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogRG9uJ3QgbGVhayBidWZmZXIgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNSAxOToyOTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBDYWxsIHByZXBhcmUgZnVuY3Rpb24gZm9yIGVhY2ggY29sbGVjdGVkIGJ1ZmZlcgoJICBOb3Qgd2hlbiBjbGlwcGluZyBidWZmZXJzLCBhcyB0aGF0IGRvZXNuJ3QgaGFwcGVuIGZvciBldmVyeSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjUgMTg6MDk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEFkZCBBUEkgZm9yIGNyZWF0aW5nIGV4dGVuZGVkIGRlc2NyaXB0b3JzIGFuZCBmaXggd3JpdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTEtMDIgMjE6MTY6MTUgLTA4MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGNhc3QgcGFyYW1zcGVjIGZsYWdzIHRvIGZpeCB0aGUgYnVpbGQgZm9yIGMrKwoJICBBbGwgdGhlIG90aGVyIGVsZW1lbnRzIGluIHRoaXMgcGx1Z2luIGRvIHRoaXMgYWxyZWFkeS4KCjIwMTUtMTEtMDMgMTU6MDU6MjAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIHVzZSBHX0dJTlQ2NF9GT1JNQVQgZm9yIHBvdGVudGlhbGx5IG5lZ2F0aXZlIHZhbHVlcyBvZgoJICBHc3RDbG9ja1RpbWVEaWZmLiBTaW5jZSAxLjYgdGhlc2UgY2FuIGJlIGhhbmRsZWQgd2l0aCBHU1RfU1RJTUVfQVJHUy4KCSAgUGx1cyBpdCBjcmVhdGVzIG1vcmUgcmVhZGFibGUgdmFsdWVzIGluIHRoZSBsb2dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NDgwCgoyMDE1LTExLTAzIDE1OjAwOjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlIG9mIGRlYWRsaW5lLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDMgMTA6NDI6NDAgKzAwMDAgIEh5dW5pbCBQYXJrIDxoeXVuaWw0Ni5wYXJrQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEFkZCBleGNlcHRpb24gY29kZSBmb3Igc2V0dGluZyB3bF9zdXJmYWNlCgkgIFdheWxhbmRzaW5rIG5lZWRzIGV4Y2VwdGlvbiBjb2RlIGluIGdzdF93YXlsYW5kX3Npbmtfc2V0X3dpbmRvd19oYW5kbGUoKS4KCSAgQWZ0ZXIgbWFraW5nIHNpbmstPndpbmRvdywgVXNlciBjYW4gY2FsbAoJICBnc3Rfd2F5bGFuZF9zaW5rX3NldF93aW5kb3dfaGFuZGxlKCkuIEl0IGlzIHRoZSB1c2VyJ3MgZmF1bHQsIGJ1dAoJICBXYXlsYW5kc2luayBuZWVkcyB0byBoYW5kbGUgdGhlIGV4Y2VwdGlvbiwgaWYgbm90IHRoZW4gc2luay0+d2luZG93IGlzCgkgIGNoYW5nZWQgYW5kIHJlbmRlcmluZyBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzQ4MgoKMjAxNS0wNC0wOSAxMzoxNzowMSArMDkwMCAgSHl1bmlsIFBhcmsgPGh5dW5pbDQ2LnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWRkIGV4Y2VwdGlvbiBjb2RlIGZvciBzZXR0aW5nIHdsX2Rpc3BsYXkKCSAgV2F5bGFuZHNpbmsgbmVlZHMgZXhjZXB0aW9uIGNvZGUgaW4gZ3N0X3dheWxhbmRfc2lua19zZXRfY29udGV4dCgpLiBBZnRlcgoJICBjYWxsaW5nIGdzdF93YXlsYW5kX3Npbmtfc2V0X2NvbnRleHQoKSwgYmVsb3cgY29kZSBpcyBzZXQuCgkgIEdTVF9FTEVNRU5UX0NMQVNTIChwYXJlbnRfY2xhc3MpLT5zZXRfY29udGV4dCAoZWxlbWVudCwgY29udGV4dCk7IGJ1dCwgSWYKCSAgdXNlciBjYW4gY2FsbCBvbmVtb3JlLiBJdCBpcyB1c2VyJ3MgZmF1bHQuIGJ1dCB3YXlsYW5kc2luayBuZWVkIHRvCgkgIGV4Y2VwdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzQ4MgoKMjAxNS0xMS0wMiAyMDoxMDozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSG9sZCBvYmplY3QgbG9jayB3aGlsZSBtYW5pcHVsYXRpbmcgdGhlIHNlZ21lbnQKCSAgTWFrZSBzdXJlIHRoZSBvYmplY3QgbG9jayBpcyBoZWxkIHdoZW4gYWdncmVnYXRvci0+c2VnbWVudCBpcwoJICBtb2RpZmllZC4KCjIwMTUtMTEtMDIgMTk6NDA6MjggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBJbXByb3ZlIGxvZyBtZXNzYWdlcwoJICBNYWtlIHRoZSBsZXZlbCBvZiBsb2cgbWVzc2FnZXMgc2FuZXIgYW5kIGltcHJvdmUgc29tZS4KCjIwMTUtMTEtMDIgMTk6MDU6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSBkZWFkIGNvZGUKCSAgVGhpcyBjb2RlIHdpbGwgbmV2ZXIgYmUgY2FsbGVkIGFzIG1heD49bWluIGluIGFsbCBjYXNlcy4gSWYgdGhlIHVwc3RyZWFtCgkgIGxhdGVuY3kgcXVlcnkgcmV0dXJuZWQgbWluPm1heCwgdGhlIGZ1bmN0aW9uIGFscmVhZHkgcmV0dXJuZWQgYW5kIGFsbAoJICB2YWx1ZXMgdGhhdCBhcmUgYWRkZWQgdG8gdGhvc2UgaGF2ZSBtYXg+PSBtaW4uCgoyMDE1LTExLTAyIDE3OjAyOjQ3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzIG9mIGJlc3QtPmR0cyBpbgoJICBHU1RfREVCVUdfT0JKRUNULiBVc2UgR1NUX1NUSU1FX0FSR1MgZm9yIHRoaXMuCgoyMDE1LTExLTAyIDE2OjU4OjU3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgZGlmZiwgR1NUX1NUSU1FX0FSR1MgZG9lcwoJICBleGFjdGx5IHRoaXMuCgoyMDE1LTExLTAyIDExOjE3OjI5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnJlYWNoYWJsZSBjb2RlCgkgIFRoZSBzdHJlYW0tPmN1cl9zZWdfdGVtcGxhdGUgaXMgc2V0IHRvIHRoZSBsb3dlc3QgYXZhaWxhYmxlIHNlZ21lbnQKCSAgdGVtcGxhdGUgKHJlcHJlc2VudGF0aW9uIG9yIGFkYXB0YXRpb24gb3IgcGVyaW9kLCBpbiB0aGlzIG9yZGVyKS4KCSAgQmVjYXVzZSB0aGUgdGVtcGxhdGUgZWxlbWVudHMgYXJlIGluaGVyaXRlZCwgdGhlIGxvd2VzdCB0ZW1wbGF0ZSB3aWxsCgkgIGhhdmUgYWxsIHRoZSBlbGVtZW50cyB0aGUgcGFyZW50cyBoYWQsIHNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgdGhlCgkgIHBhcmVudCBmb3IgYW4gZWxlbWVudCB0aGF0IGlzIG5vdCBmb3VuZCBpbiB0aGUgY2hpbGQgKGVnIGluaXRpYWxpc2F0aW9uCgkgIG9yIGluZGV4KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjcxNAoKMjAxNS0xMS0wMiAxMDo0ODoxMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3IgTVBEIGZpbGUgZHVyYXRpb24gcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzM2CgoyMDE1LTExLTAyIDEwOjI1OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGFkZCBzb21lIGNoZWNrcyB0byBkdXJhdGlvbiBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMzYKCjIwMTUtMDktMjkgMDk6MzI6MDIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkZWQgZHVyYXRpb24gZm9ybWF0IHZhbGlkYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMzNgoKMjAxNS0xMS0wMiAxMToyMToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBGcmVlIG5ld19tcGQsIGFsbG9jYXRlZCB3aXRoIGdfc2xpY2VfbmV3KCksIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUgaW4KCSAgZ290byBlcnJvci4KCSAgQ0lEIDEzMzgwNTAKCjIwMTUtMTEtMDIgMjA6MTQ6MTEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgUmV2ZXJ0ICJ2dGVuYzogZnJlZSBpbnB1dCBidWZmZXIgQVNBUCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MTAxZmM1N2I4YWZhYzRmNGU0YWE3NDI4OTJmMGQ5Yzk5ZDM4YThjLgoJICBHc3RWaWRlb0VuY29kZXIgYXNzdW1lcyB0aGF0IHRoZSBpbnB1dCBidWZmZXIgaXMgYXZhaWxhYmxlIHVudGlsIF9maW5pc2hfZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY5NTEKCjIwMTUtMTEtMDEgMjM6MzQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IEFzc3VtZSA0OGtIeiBpZiBubyBzYW1wbGUgcmF0ZSBpcyBnaXZlbiBpbiB0aGUgaGVhZGVyCgoyMDE1LTEwLTMwIDIwOjU5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBQbGFjZSA0OGtIeiBmaXJzdCBpbiB0aGUgY2FwcwoJICBGb3IgYWxsIHRoZSBvdGhlciBzYW1wbGUgcmF0ZXMgdGhlIGVuY29kZXIgd2lsbCBoYXZlIHRvIHJlc2FtcGxlIGludGVybmFsbHkuCgoyMDE1LTExLTAyIDEyOjEwOjQ0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdzdGdsdXRpbHM6IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gb24gTW91bnRhaW4gTGlvbgoJICBNYWtlIGdzdF9nbF9jb250ZXh0X2dlbl9zaGFkZXIvX2NvbXBpbGVfc2hhZGVyIGFzc3VtZSBHU1RfR0xTTF9QUk9GSUxFX0VTIHwKCSAgR1NUX0dMU0xfUFJPRklMRV9DT01QQVRJQklMSVRZIGFzIHRoZSBwcm9maWxlLiBXaXRob3V0IHRoaXMsIHRoZSBzaGFkZXIgY29tcGlsZXIKCSAgZG9lc24ndCBpbmplY3QgdGhlICN2ZXJzaW9uIHRhZyByZXN1bHRpbmcgaW4gYSBjb21waWxhdGlvbiBlcnJvciBvbiBNb3VudGFpbgoJICBMaW9uLgoJICBUaGlzIGlzIGEgd29ya2Fyb3VuZCBmb3Igb2xkIGNvZGUgdXNpbmcgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlci4gTmV3IGNvZGUKCSAgc2hvdWxkIHVzZSB0aGUgZ3N0X2dsc2xfc3RhZ2VfKiBBUEkgZGlyZWN0bHkgd2hpY2ggYWxsb3dzIHRoZSBjYWxsZXIgdG8KCSAgZXhwbGljaXRseSBzcGVjaWZ5IHZlcnNpb24vcHJvZmlsZS4KCjIwMTUtMTAtMzEgMTg6NDc6MzkgKzAxMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IGRvbid0IHRyeSB0byBhbGlnbiBjdXJyZW50IHRpbWVzdGFtcCBvbiBwcmV2aW91cyB0aW1lc3RhbXAKCSAgdGhpcyBjYXVzZXMgZnJhbWVzIHRvIGJlIGRyb3BwZWQuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgU2ViYXN0aWFuIERyw7ZnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzM3CgoyMDE1LTEwLTMxIDIzOjI4OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogZXhwbGljaXRseSBpbml0aWFsaXplIGEgcG9zc2libHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoJICBUaGUgcmV0IHZhcmlhYmxlIG1heSBiZSB1bmluaXRpYWxpemVkIGFuZCBzbyBpdHMgY29udGVudHMgd2VyZSB1bmRlZmluZWQgYW5kCgkgIHRoZSByZXN1bHRzIHdlcmUgZXJyYXRpYyAoZmFpbGluZyB3aXRoIGdsdmlkZW9taXhlciwgc3VjY2VlZGluZyBpbiBvdGhlciBjYXNlcykKCSAgUC5TLiBObyBpZGVhIHdoeSBnY2MvY2xhbmcgZXQgYWwgbmV2ZXIgcGlja2VkIHVwIG9uIHRoaXMgbGlrZSB0aGV5IG5vcm1hbGx5IGRvCgkgIChwcm9iYWJseSBkdWUgdG8gc29tZSBvcHRpbWlzYXRpb24gcGFzcyBmaWd1cmluZyBvdXQgaXQncyBvbmx5IHNldCBvbmNlLi4uKQoKMjAxNS0xMC0yOSAxMTozODozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogbWFrZSBkdXJhdGlvbnMgdW5zaWduZWQgd2hlcmUgYXBwcm9wcmlhdGUKCSAgVGhlIHN0YW5kYXJkIGRvZXMgbm90IHNlZW0gdG8gbWFrZSBhbnkgcGFydGljdWxhciBleHBsaWNpdCBub3QKCSAgaW1wbGljaXQgcmVmZXJlbmNlIHRvIHRoZSBzaWduZWRuZXNzIG9mIGR1cmF0aW9ucywgYW5kIHRoZSBjb2RlCgkgIGRvZXMgbm90IHJlbHkgb24gc3VjaCwgbm9yIG9uIHRoZSBuZWdhdGl2aXR5IG9mIHRoZSAtMSB2YWx1ZQoJICB0aGF0J3MgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIHdoZW4gYSBkdXJhdGlvbiBwcm9wZXJ0eSBpcyBub3QKCSAgcHJlc2VudCBpbiB0aGUgWE1MLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODQ3CgoyMDE1LTEwLTMwIDE1OjU1OjE5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGluaGVyaXQgYml0c3RyZWFtU3dpdGNoaW5nIGZyb20gUGVyaW9kIHRvIEFkYXB0YXRpb25TZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjM0MAoKMjAxNS0wOC0yMCAxODoxNDozNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtYXJrZWQgUFJPUF9CQU5EV0lEVEhfVVNBR0UgcHJvcGVydHkgYXMgZGVwcmVjYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODkwCgoyMDE1LTEwLTMwIDE1OjAyOjM1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdW5pdCB0ZXN0aW5nIHJlcHJvZHVjaW5nIGluaGVyaXRlZCBzZWdtZW50IGR1cmF0aW9uIG92ZXJmbG93CgkgIHVuaXQgdGVzdCByZXByb2R1Y2luZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODMyCgoyMDE1LTEwLTMwIDE0OjMxOjIxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGluaGVyaXRlZCBzZWdtZW50IFVSTHMgYXJlIGlnbm9yZWQgaWYgdGhleSBhcmUgZGVmaW5lZCBhZ2FpbiBpbiBhIGxvd2VyIFNlZ21lbnRMaXN0CgkgIEFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQ6CgkgICJTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlIGFuZCBTZWdtZW50TGlzdCBzaGFsbCBpbmhlcml0CgkgIGF0dHJpYnV0ZXMgYW5kIGVsZW1lbnRzIGZyb20gdGhlIHNhbWUgZWxlbWVudCBvbiBhIGhpZ2hlciBsZXZlbC4KCSAgSWYgdGhlIHNhbWUgYXR0cmlidXRlIG9yIGVsZW1lbnQgaXMgcHJlc2VudCBvbiBib3RoIGxldmVscywKCSAgdGhlIG9uZSBvbiB0aGUgbG93ZXIgbGV2ZWwgc2hhbGwgdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIG9uZQoJICBvbiB0aGUgaGlnaGVyIGxldmVsLiIKCSAgZ3N0X21wZHBhcnNlcl9wYXJzZV9zZWdtZW50X2xpc3Rfbm9kZSB3aWxsIG5vdyBkaXNjYXJkIGFueSBpbmhlcml0ZWQKCSAgc2VnbWVudCBVUkxzIGlmIHRoZSBwYXJzZWQgZWxlbWVudCBkZWZpbmVzIHNvbWUgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODMyCgoyMDE1LTEwLTIwIDE3OjIxOjAwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBmcmFnbWVudCBkb3dubG9hZCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzYxCgoyMDE1LTEwLTIwIDE1OjQ2OjM2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IG1hZGUgYWRhcHRpdmUgZGVtdXggdGVzdCB0aHJlYWQgc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzYxCgoyMDE1LTEwLTE2IDE2OjIwOjM0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIHF1ZXJ5IHRlc3QKCSAgVGVzdGluZyBpZiBhZGFwdGl2ZSBkZW11eCByZXNwb25kcyB0byBxdWVyaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzYxCgoyMDE1LTEwLTI4IDExOjIxOjE0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIG11bHRpcGxlIEJhc2VVUkwgZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MjQ1CgoyMDE1LTA5LTE2IDEwOjQwOjMzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdCBmb3IgNmQxZWRhOTM5MWQzMTQzYjVmYzYzM2VkZmQ5NGI4OWRiYmEyMDlhYgoJICBDb21taXQgNmQxZWRhOTM5MWQzMTQzYjVmYzYzM2VkZmQ5NGI4OWRiYmEyMDlhYiBmaXhlZCB0aGUgcGVyaW9kIHN0YXJ0CgkgIHRpbWUgc2NhbGluZy4gVGhpcyBwYXRjaCB1cGRhdGVzIHRoZSB1bml0IHRlc3RzIHRvIGNvdmVyIHRoYXQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDUKCjIwMTUtMTAtMTYgMTc6MTA6MTEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogYWRkZWQgZG93bmxvYWQgZXJyb3IgdGVzdAoJICBUZXN0cyBhZGFwdGl2ZSBkZW11eCBiZWhhdmlvdXIgd2hlbiB0aGUgdXJpIGlzIHdyb25nIGFuZCBkb3dubG9hZCBkb2VzCgkgIG5vdCBoYXBwZW4uCgoyMDE1LTEwLTMwIDEyOjQ5OjIwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogc3RvcCB0YXNrIG9uIG11bHRpcGxlIGRvd25sb2FkIGVycm9ycwoJICBPbiBtdWx0aXBsZSBkb3dubG9hZCBlcnJvcnMsIHdlIHN0b3AgdGhlIGRvd25sb2FkIHRhc2sgYW5kIGNoYW5nZSB0aGUgc3JjCgkgIGVsZW1lbnQgc3RhdGUgdG8gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjI0MAoKMjAxNS0xMC0zMCAxMjoyNDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBhIG1pc3NpbmcgbG9jayBpbiB3cml0ZSB0byBzdHJlYW0tPmxhc3RfcmV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNTkKCjIwMTUtMTAtMDcgMjM6MjA6NTEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXR1cm4gZXJyb3IgaWYgc3JjIGVsZW1lbnQgY2Fubm90IHN0YXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMDkKCjIwMTUtMTAtMDggMTE6NDU6MjUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCB3YWl0aW5nIGZvciBmcmFnbWVudCB1cGRhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyMzcKCjIwMTUtMTAtMDggMTI6MzU6NDQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggaGVhZGVyIHJlZG93bmxvYWQgaW4gY2FzZSBvZiBlcnJvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzOQoKMjAxNS0xMC0zMCAwMDowNDoxMiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbGVhc2UgbWFuaWZlc3QgbG9jayBiZWZvcmUgc2VuZGluZyBmbHVzaCBzdG9wIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczMzcKCjIwMTUtMTAtMjkgMjM6NDE6NDYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXNldCBkb3dubG9hZF9maW5pc2hlZCBiZWZvcmUgc3RhcnRpbmcgdGhlIHNyYyBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczMzYKCjIwMTUtMTAtMjkgMjM6MjM6MDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWxlYXNlIG1hbmlmZXN0IGxvY2sgYmVmb3JlIGNoYW5naW5nIGVsZW1lbnQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMzNQoKMjAxNS0xMC0zMCAxNjozODoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIHZ0ZGVjOiBmaXggY29tcGlsYXRpb24gZXJyb3IKCSAgVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSB4ODZfNjQ6CgkgICJfX2dsX3RhcmdldF90b19nc3QiLCByZWZlcmVuY2VkIGZyb206CgkgIF9fZG9fZ2V0X2dsX2J1ZmZlciBpbiBsaWJnc3RhcHBsZW1lZGlhX2xhLWNvcmV2aWRlb3RleHR1cmVjYWNoZS5vCgoyMDE1LTEwLTMwIDE1OjAwOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGZvciBnbG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxNS0xMC0zMCAxNDo0MzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogcmVtb3ZlIHVudXNlZCByZXQgdmFyaWFibGUKCjIwMTUtMTAtMzAgMTQ6NDA6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSAgZ2xzbHN0YWdlOiByZW1vdmUgdHlwZWRlZnMgZnJvbSB0aGUgaGVhZGVyCgkgIFRoZXkgYXJlIGFscmVhZHkgZGVmaW5lZCBpbiB0aGUgZm9yd2FyZCBkZWNsZXJhdGlvbiBoZWFkZXIgYW5kIGRlZmluaW5nIHRoZW0KCSAgbW9yZSB0aGFuIG9uY2Ugd2lsbCBnaXZlIGFuIGVycm9yIHdpdGggT1NYJ3MgY2xhbmcgYWJvdXQgdHlwZWRlZiByZWRlZmluaXRpb24KCSAgYmVpbmcgYSBDMTEgZmVhdHVyZS4KCjIwMTUtMTAtMzAgMTQ6Mzg6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZm9sbG93IHRoZSBjb3JyZWN0IHRleHR1cmUgdGFyZ2V0IG5hbWVzCgoyMDE1LTEwLTMwIDAxOjQyOjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGV4cGxpY2l0bHkgY29uZmlndXJlIHRoZSB0ZXh0dXJlIHRhcmdldCBvbiB0aGUgZ2wgYnVmZmVyIHBvb2wKCSAgSWYgd2UgZG9uJ3QsIHRoZW4gdGhlIHBvb2wgY291bGQgZW5kIHVwIGFsbG9jYXRpbmcgMkQgdGV4dHVyZXMgd2hlbiB0aGUKCSAgY2FwcyBleHBsaWN0bHkgc3RhdGUgdGhleSBzaG91bGQgYmUgcmVjdGFuZ2xlIHRleHR1cmVzLgoKMjAxNS0xMC0zMCAwMToyNzozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsYnVmZmVycG9vbDogYWRkIGJ1ZmZlcnBvb2wgb3B0aW9ucyBmb3IgdGhlIHZhcmlvdXMgdGV4dHVyZSB0YXJnZXRzCgkgIFRoaXMgd2FzIGNob3NlbiBvdmVyIHJlbHlpbmcgc29sZWx5IG9uIHRoZSBjYXBzIGFzIGdsdXBsb2FkIG5lZWRzIHRvIHByb3Bvc2UgYW4KCSAgYWxsb2NhdGlvbiBhbmQgc2V0IHRoZSB0ZXh0dXJlIHRhcmdldCBiYXNlZCBvbiB0aGUgb3V0cHV0IGNhcHMuICBTZXR0aW5nIHRoZQoJICBjYXBzIGluIHRoZSBjb25maWcgaXMgY3VycmVudGx5IHBvaW50bGVzcyBhcyB0aGV5IGFyZSBvdmVyd3JpdHRlbiBpbiBhIGxvdCBvZgoJICBlbGVtZW50J3MgZGVjaWRlX2FsbG9jYXRpb24gZnVuY3Rpb25zLgoJICBUaGlzIHByb3ZpZGVzIGEgbWVjaGFuaXNtIGZvciB0aGUgYnVmZmVyIHBvb2wgdG8gYmUgY29uZmlndXJlZCBmb3IgYSBjZXJ0YWluCgkgIHRleHR1cmUgdGFyZ2V0IHdoZW4gbm9uZSBoYXMgYmVlbiBjb25maWd1cmVkLgoKMjAxNS0xMC0yOSAxMzowNDozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFkZCBzdXBwb3J0IGZvciBjb252ZXJ0aW5nIHRleHR1cmUgdGFyZ2V0cwoJICBTb2x2ZWQgd2l0aCBhIHNpbXBsZSBzaGFkZXIgdGVtcGxhdGluZyBtZWNoYW5pc20gYW5kIHN0cmluZyByZXBsYWNlbWVudHMKCSAgb2YgdGhlIG5lY2Vzc2FyeSBzYW1wbGVyIHR5cGVzL3RleHR1cmUgYWNjZXNzZXMgYW5kIHRleHR1cmUgY29vcmRpbmF0ZQoJICBtYW5nbGluZyBmb3IgcmVjdGFuZ3VsYXIgYW5kIGV4dGVybmFsLW9lcyB0ZXh0dXJlcy4KCjIwMTUtMTAtMjkgMDA6NDQ6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIHN1cHBvcnQgZm9yIHJlY3RhbmdsZSB0ZXh0dXJlcwoJICBBZGQgdGhlIHZhcmlvdXMgdG9rZW5zL3N0cmluZ3MgZm9yIHRoZSBkaWZmZXJuZXQgdGV4dHVyZSB0eXBlcyAoMkQsIHJlY3QsIG9lcykKCSAgQ2hhbmdlcyB0aGUgR0xtZW1vcnkgYXBpIHRvIGluY2x1ZGUgdGhlIEdzdEdMVGV4dHVyZVRhcmdldCBpbiBhbGwgcmVsZXZhbnQKCSAgZnVuY3Rpb25zLgoJICBVcGRhdGUgdGhlIHJlbGV2YW50IGNhcHMvdGVtcGxhdGVzIGZvciAyRCBvbmx5IHRleHR1cmVzLgoKMjAxNS0xMC0zMCAwMTo0NToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBvcmRlciB0aGUgY2FwcyB0ZW1wbGF0ZSBzbyB0aGF0IFJHQkEgaXMgZmlyc3QKCSAgZ2xjb2xvcmNvbnZlcnQgISBnbGNvbG9yY29udmVydCB3b3VsZCBzb21ldGltZXMgbmVnb3RpYXRlZCBSR0IKCSAgKHRoZSBmaXJzdCBsaXN0IGVudHJ5KSBvdGhlcndpc2UuCgoyMDE1LTEwLTMwIDAxOjE2OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2xidWZmZXJwb29sOiBtb3ZlIHR5cGVkZWYncyBpbnRvIHRoZSBmb3J3YXJkIGRlY2xlcmF0aW9uIGZpbGUKCSAgT3RoZXJ3aXNlLCBmb3IgZXhhbXBsZSwgY2xhbmcgd2lsbCB3YXJuIGFib3V0IHR5cGVkZWYgcmVkZWZpbml0aW9ucwoJICBiZWluZyBhIEMxMSBmZWF0dXJlLgoKMjAxNS0xMC0xNiAxODozNjoyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkgIHRlc3RzOiBmaXhlZCBmYWtlIHNvdXAgaHR0cCBzcmMgcGx1Z2luCgkgIFRoZSBzb3VwIGh0dHAgc3JjIGNoYW5nZWQgdGhlIHdheSBpdCBpbnRlcnByZXRzIHRoZSBzZWVrIHNlZ21lbnQgc3RvcCB2YWx1ZS4KCSAgUHJldmlvdXNseSBpdCB3YXMgaW5jbHVzaXZlLCBub3cgaXQgaXMgbm90IChzZWUgY29tbWl0CgkgIDIxYzZkYTY3NjRjMGNkMDE1ZTlmM2M1ZWVjYmEzNmUyOTcxODdkZWIsCgkgIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2KQoJICBVcGRhdGVkIGZha2Ugc291cCBodHRwIHNyYyB0byBhbHNvIGNvbnNpZGVyIHNlZ21lbnQgc3RvcCBub3QgaW5jbHVzaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzIyCgoyMDE1LTEwLTA5IDE0OjEwOjUyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCB1bml0IHRlc3QgZm9yIGFkYXB0aXZlZGVtdXgKCSAgQ3JlYXRlZCBhIHVuaXQgdGVzdCBmb3IgZGFzaGRlbXV4LiBJdCByZWxpZXMgb24gYSBmYWtlIFNPVVAgSFRUUCBzcmMgcGx1Z2luCgkgIHRoYXQgd2lsbCBmZWVkIGRhdGEgdG8gZGFzaGRlbXV4LiBUaGUgdGVzdCBjb250cm9scyB0aGUgZGF0YSB0byBiZQoJICBnZW5lcmF0ZWQgYW5kIGNoZWNrcyB0aGUgY29ycmVjdCBkYXRhIHdhcyByZWNlaXZlZCBmb3IgZWFjaCBleHBlY3RlZAoJICBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMjIKCjIwMTUtMTAtMDkgMjE6MjM6MjAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5oOgoJICB0ZXN0czogYWRkZWQgZmFrZSBodHRwIHNyYyBwbHVnaW4KCSAgQWRkZWQgYSBmYWtlIGh0dHAgc3JjIHBsdWdpbiBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgZGF0YSBidWZmZXJzIGZvciBhCgkgIHJlcXVlc3Qgb2YgYSBodHRwIHVybC4gQ2FuIGJlIHVzZWQgaW4gdGVzdHMgdG8gc2ltdWxhdGUgaHR0cCBhY2Nlc3Nlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMyMgoKMjAxNS0wNy0wNyAxNTozODowOCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcHJvdmlkZSBhIGRlZmF1bHQgc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkKCSAgSWYgTVBEQHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5IGlzIG5vdCBwcmVzZW50IGluIHRoZSBtYW5pZmVzdCwKCSAgZGFzaGRlbXV4IHNlbGVjdHMgdGhlIGZyYWdtZW50IGNsb3Nlc3QgdG8gdGhlIG1vc3QgcmVjZW50bHkgZ2VuZXJhdGVkCgkgIGZyYWdtZW50LiBUaGlzIGNhdXNlcyBhIHBsYXliYWNrIGlzc3VlIGJlY2F1c2UgdGhpcyBjaG9pY2UgZG9lcyBub3QgYWxsb3cKCSAgdGhlIERBU0ggY2xpZW50IHRvIGJ1aWxkIHVwIGFueSBidWZmZXIgb2YgZG93bmxvYWRlZCBmcmFnbWVudHMgd2l0aG91dAoJICBwYXVzaW5nIHBsYXliYWNrLiBUaGlzIGlzIGJlY2F1c2UgYnkgZGVmaW5pdGlvbiBuZXcgZnJhZ21lbnRzIGFwcGVhciBvbgoJICB0aGUgc2VydmVyIGluIHJlYWwtdGltZSAoZS5nLiBpZiBzZWdtZW50IGR1cmF0aW9uIGlzIDQgc2Vjb25kcywgYSBuZXcKCSAgZnJhZ21lbnQgd2lsbCBhcHBlYXIgb24gdGhlIHNlcnZlciBldmVyeSA0IHNlY29uZHMpLiBJZiB0aGUgc3RhcnRpbmcKCSAgcGxheWJhY2sgcG9zaXRpb24gd2FzIG4qc2VnbWVudER1cmF0aW9uIHNlY29uZHMgYmVoaW5kICJub3ciLCB0aGUgREFTSAoJICBjbGllbnQgY291bGQgZG93bmxvYWQgdXAgdG8gJ24nIGZyYWdtZW50cyBmYXN0ZXIgdGhhbiByZWFsdGltZSBiZWZvcmUgaXQKCSAgcmVhY2hlZCB0aGUgcG9pbnQgd2hlcmUgaXQgbmVlZGVkIHRvIHdhaXQgZm9yIGZyYWdtZW50cyB0byBhcHBlYXIgb24gdGhlCgkgIHNlcnZlci4KCSAgVGhlIE1QREBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSBhdHRyaWJ1dGUgYWxsb3dzIGEgY29udGVudCBwdWJsaXNoZXIKCSAgdG8gcHJvdmlkZSBhIHN1Z2dlc3RlZCBzdGFydGluZyBwb3NpdGlvbiB0aGF0IGlzIGJlaGluZCB0aGUgY3VycmVudAoJICAibGl2ZSIgcG9zaXRpb24uCgkgIElmIHRoZSBNUERAc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkgYXR0cmlidXRlIGlzIG5vdCBwcmVzZW50LCBwcm92aWRlCgkgIGEgc3VpdGFibGUgZGVmYXVsdCB2YWx1ZSBhcyBhIHByb3BlcnR5IG9mIHRoZSBkYXNoZGVtdXggZWxlbWVudC4gVG8KCSAgYWxsb3cgdGhlIGRlZmF1bHQgcHJlc2VudGF0aW9uIGRlbGF5IHRvIGJlIHNwZWNpZmllZCBlaXRoZXIgdXNpbmcKCSAgZnJhZ21lbnRzIG9yIHNlY29uZHMsIHRoZSBwcm9wZXJ0eSBpcyBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgbnVtYmVyCgkgIGFuZCBhIHVuaXQgKGUuZy4gIjEwIHNlY29uZHMiLCAiNCBmcmFnbWVudHMiLCAiMjUwMG1zIikuCgoyMDE1LTEwLTI5IDE1OjAyOjM4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBBZGQgdnA5IHN1cHBvcnQKCSAgRGlmZmVyZW50aWF0ZSB0aGUgdnA4L3ZwOSBiaXRzdHJlYW0gYmFzZWQgb24gZm91cmNjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MjUxCgoyMDE1LTA5LTA5IDE0OjA5OjQzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgZGV0ZWN0aW9uIG9mIHN0cmVhbSBsYW5ndWFnZQoJICBJbXByb3ZlZCB0aGUgZGV0ZWN0aW9uIG9mIHN0cmVhbSdzIGxhbmd1YWdlIGlmIHRoZSBBZGFwdGF0aW9uU2V0CgkgIGNvbnRhaW5zIG1vcmUgdGhhbiAxIENvbnRlbnRDb21wb25lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjM2NwoKMjAxNS0xMC0yOSAxMjowNDozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaF9tcGQ6IHJlc3RyaWN0IHNlZ21lbnQgdGVtcGxhdGUgZm9ybWF0IHN0cmluZ3MgdG8gJTBbMC05XSpkIGFzIHBlciBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MzUKCjIwMTUtMDktMDkgMTI6MzY6MTAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogc2VnbWVudCB0ZW1wbGF0ZSBwYXJzaW5nOiBhZGRlZCBzdXBwb3J0IGZvciAlZAoJICBBZGRlZCBzdXBwb3J0IGZvciAlZCBpbiB0ZW1wbGF0ZSBpZGVudGlmaWVyLgoJICBBZGRlZCB0ZXN0Y2FzZXMgZm9yICVkLCAlM2QsICUwLTRkIGlkZW50aWZpZXIgZm9ybWF0cy4KCjIwMTUtMTAtMjkgMTE6NTQ6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHBhcnNpbmcgb2Ygc2VnbWVudCB0ZW1wbGF0ZXMKCSAgQ29ycmVjdGVkIHRoZSBwYXJzaW5nIG9mIGEgc2VnbWVudCB0ZW1wbGF0ZSBzdHJpbmcuCgkgIEFkZGVkIHVuaXQgdGVzdHMgdG8gdGVzdCB0aGUgc2VnbWVudCB0ZW1wbGF0ZSBwYXJzaW5nLgoJICBBbGwgcmVwb3J0ZWQgcHJvYmxlbXMgYXJlIG5vdyBjb3JyZWN0bHkgaGFuZGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTczNQoKMjAxNS0xMC0yOSAxMToxNzo0OCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGRhaHNkZW11eDogdGFzayBpcyBzaWduYWxlZCB0byBzdG9wIHdpdGhvdXQgc3RvcCBjb25kaXRpb24gYmVpbmcgc2V0CgkgIFRoZSBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2ZyZWUgZnVuY3Rpb24gaXMgdHJ5aW5nIHRvIHN0b3AgdGhlIHN0cmVhbSdzCgkgIGRvd25sb2FkIHRhc2suIEZvciB0aGlzLCBpdCBzaWduYWxzIHRoZSB0YXNrLiBCdXQgaXQgZmFpbHMgdG8gYWxzbyBzZXQgdGhlCgkgIHN0cmVhbS0+ZG93bmxvYWRfZmluaXNoZWQgPSBUUlVFLCBzbyB0aGUgdGFzayB3aWxsIGdvIGJhY2sgdG8gc2xlZXAgYW5kCgkgIG9ubHkgZXhpdCB3aGVuIHRoZSBkb3dubG9hZCBpcyBmaW5pc2hlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEyMQoKMjAxNS0xMC0yOCAxNzowMjo1MSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBjcmFzaCB3aGVuIHNlZ21lbnQgdGltZWxpbmUgbGlzdCBpcyBncmVhdGVyIHRoYW4gc2VnbWVudCB1cmwgbGlzdAoJICBXaGVuIGJ1aWxkaW5nIHRoZSBtZWRpYSBzZWdtZW50IGxpc3QgdXNpbmcgYSBTZWdtZW50TGlzdCBub2RlLCB0aGUKCSAgZ3N0X21wZF9jbGllbnRfc2V0dXBfcmVwcmVzZW50YXRpb24gZnVuY3Rpb24gd2lsbCBpdGVyYXRlIHRocm91Z2ggdGhlCgkgIGxpc3Qgb2YgUyBub2RlcyBhbmQgd2lsbCBleHBlY3QgdG8gZmluZCBhIG1hdGNoaW5nIFNlZ21lbnRVcmwgbm9kZS4gSWYKCSAgb25lIGRvZXMgbm90IGV4aXN0LCB0aGUgY29kZSBtYWRlIGFuIGlsbGVnYWwgbWVtb3J5IGFjY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ5NgoKMjAxNS0wOS0xMSAxMDo1OToxNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHVuaXQgdGVzdCBmb3IgbWlzc2luZyBwcm9maWxlcwoKMjAxNS0wOS0xMSAxMDo1NzoyNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBkbyBub3QgZGVyZWZlcmVuY2UgcHJvZmlsZXMgaXMgYWJzZW50CgkgIFRoZXNlIGFyZSB1c2VkIHRvIGFwcGx5IHJlc3RyaWN0aW9ucyBvbiB3aGF0IHRoZSBNUEQgZmlsZSBtYXkKCSAgdXNlLCBzbyBubyBwcm9maWxlIG1lYW5zIG5vIHJlc3RyaWN0aW9ucy4KCSAgQmVzaWRlcywgbm90aGluZyBhY3R1YWxseSB1c2VzIHRoZSBwcm9maWxlcyAoeWV0KSBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjkKCjIwMTUtMDktMTYgMTY6NDY6MjkgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogZml4ZWQgbXVsdGl0aHJlYWQgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTY5CgoyMDE1LTEwLTI4IDE2OjMxOjM5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHBhcnNlciByZWplY3RzIG5lZ2F0aXZlIHZhbHVlcyBmb3IgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzI2CgoyMDE1LTEwLTI4IDE2OjI0OjAxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBwYXJzaW5nIG9mIG5lZ2F0aXZlIHZhbHVlcyBpbnRvIHVuc2lnbmVkIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyOQoKMjAxNS0wOS0xNyAyMDoxODo1MiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjQ6IGluaXRpYWxpemUgcGFyc2luZyBzdHJ1Y3R1cmVzCgkgIEluaXRpYWxpemUgdG8gMCB0aGVzZSBwYXJzZSBzdHJ1Y3R1cmVzIGJlZm9yZSBmaWxsaW5nIHRoZW06IEdzdEgyNjRTRUlNZXNzYWdlLAoJICBHc3RIMjY0TmFsVW5pdCwgR3N0SDI2NFBQUywgR3N0SDI2NFNQUyBhbmQgR3N0SDI2NFNsaWNlSGRyLgoJICBXaGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9ucyB3aGljaCBmaWxsIHRob3NlIHN0cnVjdHVyZXMsIHRoZXkgbWF5IGZhaWwsIGxlYXZpbmcKCSAgdW5pdGlhbGl6ZWQgdGhvc2Ugc3RydWN0dXJlcy4gVGhpcyBzaXR1YXRpb24gbWF5IGxlYWQgdG8gZnV0dXJlIHByb2JsZW1zLCBzdWNoCgkgIGFzIGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gZnJlZWluZywgZm9yIGV4YW1wbGUuCgkgIFRoaXMgcGF0Y2ggaW5pdGlhbGl6ZXMgdG8gemVybyB0aGVzZSBzdHJ1Y3R1cmVzLCBiZWZvcmUgZmlsbGluZyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTYxCgoyMDE1LTA5LTE4IDEwOjA5OjI2ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogaW5pdGlhbGl6ZSBwYXJzaW5nIHN0cnVjdHVyZXMKCSAgSW5pdGlhbGl6ZSB0byAwIHRoZXNlIHBhcnNlIHN0cnVjdHVyZXMgYmVmb3JlIGZpbGxpbmcgdGhlbTogR3N0SDI2NVNFSU1lc3NhZ2UsCgkgIEdzdEgyNjVOYWxVbml0LCBHc3RIMjY1VlBTLCBHc3RIMjY1UFBTLCBHc3RIMjY1U1BTIGFuZCBHc3RIMjY1U2xpY2VIZHIuCgkgIFdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25zIHdoaWNoIGZpbGwgdGhvc2Ugc3RydWN0dXJlcywgdGhleSBtYXkgZmFpbCwgbGVhdmluZwoJICB1bml0aWFsaXplZCB0aG9zZSBzdHJ1Y3R1cmVzLiBUaGlzIHNpdHVhdGlvbiBtYXkgbGVhZCB0byBmdXR1cmUgcHJvYmxlbXMsIHN1Y2gKCSAgYXMgYSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBmcmVlaW5nLCBmb3IgZXhhbXBsZS4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0byB6ZXJvIHRoZXNlIHN0cnVjdHVyZXMsIGJlZm9yZSBmaWxsaW5nIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNjEKCjIwMTUtMTAtMjYgMTk6NTg6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGxpdmVhZGRlcjogTWFrZSBsYXRlbmN5IHByb3BlcnR5IGJlIGEgdWludCBpbiBtaWxsaXNlY3MKCSAgVGhpcyByZXN0b3JlcyByb3VnaGx5IHRoZSBzYW1lIGJlaGF2aW91ciBhcyB0aGUgb2xkIGxpdmVhZGRlciBlbGVtZW50LgoJICBFeGNlcHQgdGhhdCB0aGUgbGF0ZW5jeSBub3cgYWxzbyBpbmNsdWRlcyB0aGUgb3V0cHV0LWJ1ZmZlci1kdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA1MAoKMjAxNS0wOS0wOCAxNDowMDo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmb3JiaWQgbmVnYXRpdmUgdmFsdWVzIGZvciBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDkyCgoyMDE1LTEwLTI4IDE1OjM5OjA3ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHBhcnNlciByZWplY3RzIFhNTHMgd2l0aCBuZWdhdGl2ZSBwZXJpb2QgZHVyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMyOQoKMjAxNS0xMC0yOCAxNTozNDoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBjaGVjayBzZWdtZW50IGxpc3RzIGhhdmUgZWl0aGVyIGR1cmF0aW9uIG9yIHRpbWVsaW5lCgkgIEFuZCBhZGQgZXJyb3IgY2hlY2tpbmcgYWxvbmcgdGhlIHdheS4KCSAgQWRkIGR1cmF0aW9uIHdoZXJlIGFwcHJvcHJpYXRlIHNvIHVuaXQgdGVzdHMgc3RpbGwgcGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTY1MAoKMjAxNS0wOS0yOSAxNjoxNzowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB2YWxpZGF0ZSByZXByZXNlbnRhdGlvbiBzZXQgaWRlbnRpZmllcgoJICBJdCBtdXN0IGhhdmUgbm8gd2hpdGVzcGFjZSwgYW5kIG11c3QgY29tcGx5IHdpdGggUkZDIDE3Mzggd2hlbgoJICB1c2VkIHRvIGJ1aWxkIGEgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODUyCgoyMDE1LTEwLTI4IDE0OjQxOjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBpbml0aWFsaXplIG91dHB1dCBwYXJhbXMgdG8gMCBiZWZvcmUgY2FsbGluZyBnbCBmdW5jdGlvbnMKCSAgVGhlIGNsaWVudCBzaWRlIEFQSSBvZiB0aGUgQ2hyb21pdW0ncyBHUFUgUHJvY2VzcyBoYXMgYXNzZXJ0cwoJICBpbiBkZWJ1ZyBtb2RlIHRoYXQgY2hlY2sgdGhhdCBvdXRwdXQgcGFyYW1zIGFyZSBpbml0aWFsaXplZCB0byAwLgoKMjAxNS0xMC0yNyAxNjozMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgY291bGQgbmV2ZXIgYmUgY2FsbGVkCgkgIENvdmVyaXR5IENJRHMgIzEzMjg4MTgsICMxMzI4ODE5LCAjMTMyODgyMC4KCjIwMTUtMTAtMjcgMDA6MzY6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBvcGVuZ2w6IGJ1aWxkL3Byb3ZpZGUgZ2xzdGVyZW9taXgvc3BsaXQgb24gZ2xlcyBvbmx5IHN5c3RlbXMKCjIwMTUtMTAtMjYgMTY6NTE6MDYgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogcmVuYW1lIGdlbWV0cmljIG1hdGggZnVuY3Rpb25zIHRvIGhhdmUgdGhlaXIgc3ltYm9scyBuYW1lc3BhY2VkCgkgIE90aGVyd2lzZSB0aG9zZSBzeW1ib2xzIGNhbiBjb25mbGljdCB3aXRoIGV4dGVybmFsIGxpYnJhcmllcyB3aGVuCgkgIGxpbmtpbmcgZXZlcnl0aGluZyBzdGF0aWNhbGx5IGZvciBtb2JpbGUgdGFyZ2V0cy4KCSAgVXNlIHRoZSBnc3RfZ21fIHByZWZpeCwgc2hvcnQgZm9yIGdzdCBnZW9tZXRyaWMgbWF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg4MgoKMjAxNS0xMC0yNiAxNTozMDowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkb24ndCBhZHZlcnRpc2UgdGhlIGxvY2FsIHdsX2Rpc3BsYXkgY29udGV4dAoJICBUaGlzIHdsX2Rpc3BsYXkgcHJveHkgaXMgdGVtcG9yYXJ5IG9ubHkgdW50aWwgd2F5bGFuZHNpbmsgZ29lcyBOVUxMLAoJICBhdCB3aGljaCBwb2ludCB0aGUgY29ubmVjdGlvbiB0byB0aGUgZGlzcGxheSBpcyBkaXNwb3NlZC4gVW5mb3J0dW5hdGVseSwKCSAgaWYgdGhpcyBpcyBhZHZlcnRpc2VkIGFzIGEgR3N0Q29udGV4dCwgcGxheWJpbiB3aWxsIGNhY2hlIGl0IGFuZCByZS1mZWVkCgkgIGl0IHRvIHRoZSBzaW5rIHdoZW4gaXQgZ29lcyBQTEFZSU5HIGFnYWluLCBidXQgdGhlIHdsX2Rpc3BsYXkgcG9pbnRlcgoJICB3aWxsIGF0IHRoYXQgcG9pbnQgYmUgaW52YWxpZCBhbmQgY2F1c2UgYSBjcmFzaC4KCSAgQW5vdGhlciBzb2x1dGlvbiB0byB0aGUgcHJvYmxlbSB3b3VsZCBiZSB0byBhbHNvIGNhY2hlIHRoZSBHc3RXbERpc3BsYXkKCSAgb2JqZWN0IGluc2lkZSB0aGUgR3N0Q29udGV4dCwgd2hpY2ggd291bGQgYXV0b21hdGljYWxseSByZWYtY291bnQKCSAgdGhlIGRpc3BsYXkgY29ubmVjdGlvbiwgYnV0IEkgc2VlIG5vIHJlYXNvbiBpbiBkb2luZyB0aGF0IGF0IHRoZSBtb21lbnQsCgkgIGFzIHRoZXJlIGFyZSBubyBrbm93biB1c2VycyBvZiB0aGlzIEdzdENvbnRleHQgb3V0c2lkZSB3YXlsYW5kc2luay4KCSAgSXQncyBwcm9iYWJseSBiZXR0ZXIgdG8gYXZvaWQgY2hhc2luZyBoaWRkZW4gcmVmY291bnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTY3CgoyMDE1LTEwLTI2IDE4OjI2OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFsbG93IG91dHB1dHRpbmcgbXVsdGlwbGUgdGV4dHVyZXMgZm9yIGdsZXMzIGNvbnRleHRzCgkgIHRoZSBVU0lOR19HTEVTMiBpbmNsdWRlcyBhbGwgR0xFUzMgY29udGV4dHMgYXMgd2VsbCB3aGljaCBkb2VzIHN1cHBvcnQKCSAgZHJhd2luZyB0byBtdWx0aXBsZSBidWZmZXJzLiAgSW5zdGVhZCBtYWtlIG9yIGRlY2lzaW9uIHNvbGVseSBiYXNlZCBvbgoJICB3aGV0aGVyIGdsRHJhd0J1ZmZlcnMgaXMgYXZhaWxhYmxlIG9yIG5vdC4KCjIwMTUtMTAtMjYgMTc6MzY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogZXhwb3NlIHRoZSBlbGVtZW50IG9uIGdsZXMyIHBsYXRmb3JtcwoJICBXZSBjYW4gZG8gZXZlcnl0aGluZyB3aXRoIGdsZXMzIGhvd2V2ZXIgZ2xlczIgcmVzdHJpY3RzIHVzIG5vdCBhbGxvd2luZwoJICBzZXBhcmF0ZWQgb3IgZnJhbWUtYnktZnJhbWUgbXVsdGl2aWV3IG1vZGVzIGR1ZSB0byBtdWx0aXBsZSBkcmF3IGJ1ZmZlcnMuCgoyMDE1LTEwLTI1IDAxOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICB0ZXN0czogaGxzZGVtdXhfbTN1OiBhZGQgdGVzdCBmb3IgbWFzdGVyIHBsYXlsaXN0IHdpdGggbWlzc2luZyB2YXJpYW50IGxpc3QgdXJpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NjEKCjIwMTUtMTAtMjAgMDk6MTM6MDQgKzAxMDAgIEFuZHLDqSBEcmFzemlrIDxnaXRAYW5kcmVkLm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZG9uJ3QgY3Jhc2ggb3IgbGVhayBtZW1vcnkgb24gYnJva2VuIG1hc3RlciBwbGF5bGlzdAoJICBJZiBhIChtYXN0ZXIpIHBsYXlsaXN0IGNvbnRhaW5zIGEgdmFyaWFudCBsaXN0IGVudHJ5IHdpdGhvdXQgYQoJICBVUkkgdGhlbiBkdXJpbmcgcGFyc2luZyBvZiB0aGUgbmV4dCB2YXJpYW50IGxpc3QgZW50cnkgd2UgYXJlCgkgIGEpIGxlYWtpbmcgdGhlIGVudHJ5IHdlJ3JlIGN1cnJlbnRseSBwYXJzaW5nIChuZXdfbGlzdCksIGFuZAoJICBiKSBmcmVlJ2luZyB0aGUgcG9pbnRlciB0byB0aGUgcHJldmlvdXMgbGlzdCBlbnRyeSAobGlzdCkgd2l0aG91dAoJICB1cGRhdGluZyB0aGUgcG9pbnRlci4KCSAgSGVuY2Ugd2hlbiB0aGVuIGFkZGluZyB0aGUgVVJJIGZvciB0aGUgbGF0ZXN0IHBhcnNlZCBlbnRyeSwgaW5jb3JyZWN0CgkgIGluZm9ybWF0aW9uIGlzIHN0b3JlZCwgYXMgdGhlIGluZm9ybWF0aW9uIGlzIHVzZWQgZnJvbSAnbGlzdCcgd2hpY2gKCSAgaXMgbm90IHZhbGlkIG1lbW9yeSBhbnltb3JlLCBhbHNvIGxlYWRpbmcgdG8gY3Jhc2hlcy4KCSAgRml4IHRoaXMgYnkgY29ycmVjdGx5IHN0b3JpbmcgdGhlIG5ldyB2YXJpYW50IGxpc3QgZW50cnkgcG9pbnRlcgoJICBhcyBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NjEKCjIwMTUtMDktMDQgMTE6Mjk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjaGFuZ2UgZGlzcG9zZSBmdW5jdGlvbiB0byBmaW5hbGl6ZQoKMjAxNS0wOC0zMCAyMTozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBoZWxwZXIgZnVuY3Rpb24gb25seSB1c2VkIG9uY2UKCjIwMTUtMDgtMzAgMTc6NDE6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgZGVwcmVjYXRlZCAnZnJhZ21lbnRzLWNhY2hlJyBwcm9wZXJ0eQoJICBJdCdzIGJlZW4gbm9uLWZ1bmN0aW9uYWwgZm9yIHR3byBjeWNsZXMgbm93LCBsZXQncwoJICBnZXQgcmlkIG9mIGl0LgoKMjAxNS0wOS0wMiAxNjo0MDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogbW92ZSBmaWxlIGxvb2t1cCBieSBzZXF1ZW5jZSBkaXJlY3RseSBpbnRvIGNvZGUKCSAgTmljZXIgdG8gcmVhZCwgdHdvIGxpbmVzIG9mIGNvZGUgbGVzcywgYW5kIGFsc28gdGhlIGNhbGxiYWNrCgkgIGZ1bmN0aW9uIHNob3VsZCd2ZSBiZWVuIGEgR0NvbXBhcmVGdW5jIHRoYXQgcmV0dXJucyBhIGdpbnQKCSAgYW5kIG5vdCBhIGJvb2xlYW4gKGl0IGRpZCB3b3JrIGNvcnJlY3RseSwgd2FzIGp1c3QgY29uZnVzaW5nKS4KCjIwMTUtMDktMDEgMTI6NDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBjbGVhbi11cDogcmVtb3ZlIHVudXNlZCBhcmd1bWVudCBpbiBmdW5jdGlvbiBjYWxsCgoyMDE1LTA4LTMwIDE3OjIyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBjbGVhbi11cDogcmVpbmRlbnQgaGVhZGVyIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkKCSAgQW5kIHJlbW92ZSBkdXBsaWNhdGUgZGVmaW5lLgoKMjAxNS0xMC0yMyAxODo1ODo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmVtb3ZlIGVtcHR5IHNldC9nZXRfcHJvcGVydHkoKQoJICBXZSBjYW4gYWRkIHRoZW0gYWdhaW4gaWYgd2UgZXZlciBhZGQgcHJvcGVydGllcy4KCjIwMTUtMTAtMjMgMTg6Mzg6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IFBvcnQgdG8gR3N0QWdncmVnYXRvcgoKMjAxNS0xMC0yMiAxOToyMDoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogU2V0IEdDIGVzc2VuY2UgZWxlbWVudCBVTCB2ZXJzaW9uIHRvIDB4MDEKCSAgZmZtcGVnIG90aGVyd2lzZSByZWplY3RzIGl0IGFuZCB0aGUgc3BlYyBpcyBub3QgMTAwJSBjbGVhciBhYm91dCB0aGF0LgoKMjAxNS0xMC0yMCAxNzowOToyMiArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IEZpeCBjcml0aWNhbCB3YXJuaW5nIHRyeWluZyB0byByZXRyaWV2ZSBTU1JDIGZyb20gYSBub24gZmIgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODc2CgoyMDE1LTEwLTIyIDE5OjI0OjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgbXhmOiBSZW9yZGVyIENGTEFHUyBhbmQgTElCUwoKMjAxNS0xMC0yMyAxNTo0MjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBBZGQgY3JlYXRlX25ld19wYWQoKSB2ZnVuYyB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW91cgoJICBOb3QgYWxsIGFnZ3JlZ2F0b3Igc3ViY2xhc3NlcyB3aWxsIGhhdmUgYSBzaW5nbGUgcGFkIHRlbXBsYXRlIGNhbGxlZCBzaW5rXyV1CgkgIGFuZCBtaWdodCBkbyBzb21ldGhpbmcgc3BlY2lhbCBkZXBlbmRpbmcgb24gd2hhdCB0aGUgYXBwbGljYXRpb24gcmVxdWVzdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwMTgKCjIwMTUtMTAtMjEgMTk6MDA6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFNldCBLQUcgc2l6ZSB0byAxCgkgIFdlJ3JlIG5vdCBhbGlnbmluZyBvdXIgb3V0cHV0IGluIGFueSB3YXksIGFuZCAwIGlzIGludmFsaWQuCgoyMDE1LTEwLTIxIDE4OjU4OjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBsZXQgdGhlIGhlYWRlciBwYXJ0aXRpb24ncyBwcmV2X3BhcnRpdGlvbiBwb2ludCBmb3J3YXJkIHRvIHRoZSBmb290ZXIKCjIwMTUtMTAtMjEgMTg6MzI6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBGaXggZ2VuZXJhdGlvbiBvZiBvcGVyYXRpb25hbCBwYXR0ZXJuIFVMCgoyMDE1LTEwLTIxIDE4OjMxOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGZkZW11eC1zdHJ1Y3R1cmU6IFN5bmMgZmFrZXNpbmsgc3RhdGUgd2l0aCB0aGUgYmluIHRvIG1ha2UgdGhlIGFwcGxpY2F0aW9uIHdvcmsgYXQgYWxsCgoyMDE1LTEwLTIxIDE4OjIwOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IGgyNjQgaXMgYWx3YXlzIGJ5dGUtc3RyZWFtIGluc2lkZSBNWEYKCjIwMTUtMTAtMjEgMTg6MDY6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IEFkZCB1bml0IHRlc3RzIGZvciBIMjY0L1BDTQoKMjAxNS0xMC0yMSAxNzo0NzowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgbGVhayBTRUVLIGV2ZW50cyB3aGVuIGRyb3BwaW5nIHRoZW0KCjIwMTUtMTAtMjEgMTc6MjE6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZ2YzM6IFRoZSB3cmFwcGluZyBpcyB0aGUgMTV0aCBieXRlIG9mIHRoZSBlc3NlbmNlIGNvbnRhaW5lciBVTCwgbm90IHRoZSAxNnRoCgkgIEluIG90aGVyIG1hcHBpbmdzIGl0IGlzIHRoZSAxNnRoIHRob3VnaC4KCjIwMTUtMTAtMjEgMTc6MTE6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJZiBzZWVraW5nIHRvIHRoZSByZW1haW5pbmcgcGFydHMgb2YgdGhlIGZpbGUgZmFpbHMgb24gRU9TLCBjb25zaWRlciB0aGUgc3RyZWFtIGRvbmUKCSAgV2l0aG91dCB0aGlzIHdlIHdvdWxkIHJ1biB0aGlzIHdoaWxlIGxvb3AgZm9yZXZlciwgYWx3YXlzIHNlZWtpbmcgYWdhaW4gZm9yCgkgIHRoZSBzYW1lIHN0cmVhbS4KCjIwMTUtMTAtMjEgMTU6MDc6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IFByb3Blcmx5IGVuYWJsZSB1bml0IHRlc3RzIGFnYWluCgoyMDE1LTEwLTIxIDAxOjIyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGYuYzoKCSAgbXhmOiBSZS1lbmFibGUgbXhmbXV4IGVsZW1lbnQKCjIwMTUtMTAtMjEgMDE6MjE6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14ZmpwZWcyMDAwOiBGaXggY2FwcwoJICBUaGVyZSBpcyBubyBmaWVsZHMgZmllbGQgYW55bW9yZS4KCjIwMTUtMTAtMjEgMDE6MTc6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGZhaWwgU0VHTUVOVCBldmVudHMKCjIwMTUtMTAtMjEgMDE6MDI6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFB1c2ggc3RyZWFtLXN0YXJ0IGFuZCBjYXBzIGV2ZW50IGJlZm9yZSBzZWdtZW50IGV2ZW50CgkgIEFuZCBkb24ndCBwdXNoIHRoZSBjYXBzIGV2ZW50IGR1cmluZyBpbnN0YW5jZSBpbml0aWFsaXphdGlvbiBhbHJlYWR5LgoKMjAxNS0xMC0yMSAwMDo0NToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZhZXMtYndmOiBGb3JtYXQgaXMgdW5zaWduZWQgaWYgaXQncyAxIGJ5dGUgcGVyIGNoYW5uZWwKCSAgLi4uIG5vdCAxIGJ5dGUgcGVyIGJsb2NrLgoKMjAxNS0xMC0yMSAxNjo1MToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogaGFuZGRldGVjdDogbm8gbmVlZCB0byBnZXQgYSB3cml0YWJsZSBidWZmZXIKCSAgTm8gbmVlZCB0byBnZXQgYSB3cml0YWJsZSBidWZmZXIgaW5zaWRlIGN2X3RyYW5zX2Z1bmMgb2Ygb3BlbmN2IHZpZGVvCgkgIGZpbHRlci4gR3N0QmFzZVRyYW5zZm9ybSB0YWtlcyBjYXJlIG9mIHRoaXMuCgoyMDE1LTEwLTIxIDE0OjM1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiOTk4MDBhIHRvIGIzMTk5MDkKCjIwMTUtMTAtMjAgMTc6Mjk6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVzZSBuZXcgR1NUX0VOQUJMRV9FWFRSQV9DSEVDS1MgI2RlZmluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODcwCgoyMDE1LTEwLTIxIDE0OjI2OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDlhZWQxZDcgdG8gYjk5ODAwYQoKMjAxNS0xMC0yMSAwNTozNDoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsc2hhZGVyZWxlbWVudDogZnJlZSB0aGUgdmVydGV4IGFuZCBmcmFnbWVudCBzdHJpbmdzIG9uIGZpbmFsaXplCgkgIEZpeGVzIGEgbWVtb3J5IGxlYWsgd2hlbiB1c2luZyB0aGUgdmVydGV4L2ZyYWdtZW50IHByb3BlcnRpZXMuCgoyMDE1LTEwLTIxIDA1OjMzOjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGJ1aWxkIGVycm9ycwoJICBwcmludGYgJWxsZCBpbnN0ZWFkIG9mIEdfR0lOVDY0X0ZPUk1BVC4KCSAgRG91YmxlIHJldCB2YXJpYWJsZSBkZWNsYXJhdGlvbi4KCjIwMTUtMTAtMjEgMDU6MDA6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBnbHNoYWRlcmVsZW1lbnQ6IHJlbW92ZSB1bm5lZWRlZCByZWZlcmVuY2UgdG8gPGdzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oPgoKMjAxNS0xMC0yMSAwNDo0NDo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCB1c2FnZSBvZiBzdHJpbmcuaCBhbmQgc3RkaW8uaCBmdW5jdGlvbnMgd2l0aG91dCBpbmNsdWRpbmcgdGhlIGhlYWRlcnMKCSAgZS5nOgoJICBnc3RnbGNvbnRleHRfZWdsLmM6NjEzOjc6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RyY21wJwoJICBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KCSAgaWYgKHN0cmNtcCAoR19NT0RVTEVfU1VGRklYLCAic28iKSA9PSAwKQoKMjAxNS0xMC0xNiAwNzowMzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjcmVhdGUgYSBjb250ZXh0IGluIE5VTExfUkVBRFkKCSAgU28gdGhhdCBpdCdzIHBvc3NpYmxlIGZvciBkZWNvZGVycyBldCBhbC4gdG8gcmVxdWVzdCB0aGUgT3BlbkdMIGNvbnRleHQKCSAgaW4gdGhlaXIgUkVBRFlfUEFVU0VEIHRyYW5zaXRpb24gd2l0aCBkZWNvZGViaW4vcGxheWJpbi4KCjIwMTUtMTAtMTYgMDA6MzQ6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbWN2aWRkZWM6IHVzZSBnc3Rjb250ZXh0IHRvIHJldHJlaXZlIHRoZSBPcGVuR0wgY29udGV4dAoKMjAxNS0wNC0yMCAxMzo0Njo1OCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBPbmx5IGFsbG93IEdMIG91dHB1dCBpZiB0aGUgZGVjb2RlciBoYXMgdW5rbm93biBjb2xvciBmb3JtYXRzCgkgIElmIEdTVF9BTUNfSUdOT1JFX1VOS05PV05fQ09MT1JfRk9STUFUUyBpcyBzZXQgdG8geWVzLCBub24tR0wgb3V0cHV0CgkgIGlzIHN0aWxsIGFsbG93ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEyMDQKCjIwMTQtMDYtMDUgMTA6MzM6NTYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYzJkdGV4dHVyZXJlbmRlcmVyLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2UuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBbWNPbkZyYW1lQXZhaWxhYmxlTGlzdGVuZXIuamF2YToKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3VwcG9ydCBmb3IgR0wgb3V0cHV0IGluIGFtY3ZpZGVvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEyMDQKCjIwMTUtMDQtMzAgMTI6MzM6NTggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG8gbm90IGZsdXNoIGNvZGVjIGlmIGl0IGlzIG5vdCBzdGFydGVkCgoyMDE1LTA0LTEzIDEzOjEwOjEwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogQWxsb3cgb2JqZWN0IHRvIGJlIE5VTEwgaW4gZ3N0X2FtY19qbmlfKnVucmVmIGZ1bmN0aW9ucwoKMjAxNS0wMy0xMyAxNjoxMzowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggZGVidWcgc3RhdGVtZW50ICglZCBmb3IgYSBnc2l6ZSBhcmd1bWVudCkKCjIwMTUtMDQtMDIgMTY6Mjg6MTQgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBJbXByb3ZlIGNvbG9yIGZvcm1hdCBkZWJ1ZyBtZXNzYWdlcwoKMjAxNS0wMy0zMSAxNjoyNDo0MCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBJbXByb3ZlIGRlYnVnIG1lc3NhZ2VzCgoyMDE1LTAzLTMxIDE3OjQ4OjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvIG5vdCB3YXJuIHdlIGRvIG5vdCBzdXBwb3J0IENPTE9SX0Zvcm1hdFN1cmZhY2UKCjIwMTUtMTAtMjEgMDM6NTk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSAgZ2w6IHJlbW92ZSB1bm5lZWRlZCBzaGFkZXIgdmFyaWFibGUgcGFyc2luZyBjb2RlCgoyMDE1LTEwLTIxIDAzOjIzOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkgIGdsc2hhZGVyZWxlbWVudDogaW1wbGVtZW50IHNldHRpbmcgYXJiaXRyYXJ5IHVuaWZvcm1zCgkgIEN1cnJlbnRseSBmbG9hdCBhbmQgaW50IGFyZSBzdXBwb3J0ZWQgYnkgZGVmYXVsdC4gdmVjMiwgdmVjMywgdmVjNAoJICBhbmQgbWF0NCBhcmUgc3VwcG9ydGVkIGlmIGdyYXBoZW5lIGlzIHVzZWQuICBPZiBjb3Vyc2UgaWYgb25lIHdhbnRzCgkgIHRvIHNldCBjdXN0b20gdW5pZm9ybXMgdGhleSBjYW4gYWxzbyBiZSBzZXQgdXNpbmcgdGhlIGNyZWF0ZS1zaGFkZXIKCSAgc2lnbmFsLgoKMjAxNS0xMC0yMCAxMjoyNDoxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogaGFuZGRldGVjdDogZnJlZSBiZXN0X3Igd2l0aCBkZWxldGUKCSAgYmVzdF9yIGlzIGEgY3Y6OlJlY3QsIHNvIGl0IHNob3VsZCBiZSBmcmVlZCB3aXRoIGRlbGV0ZSBhbmQgbm90IHdpdGgKCSAgZ19mcmVlKCkKCjIwMTUtMTAtMjAgMTI6MDg6NTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgb3BlbmN2OiBtb3Rpb25jZWxsczogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFdlIGtub3cgdGhhdCB0aGUgZ2NoYXIgYXJyYXlzIGNvbnRhaW4gYXQgbGVhc3Qgb25lIHN0cmluZy4gRnVydGhlcm1vcmUsCgkgIGdfc3RyZnJlZXYoKSBjaGVja3MgaWYgdGhlIGFycmF5IGlzIE5VTEwgYW5kIHNpbXBseSByZXR1cm5zIGlmIGl0IGlzLgoJICBIZW5jZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpZiB0aGUgYXJyYXkgaXMgZW1wdHkgYmVmb3JlIHVzaW5nCgkgIGdfc3RyZnJlZXYoKS4KCSAgQ0lEIDEzMjc0MTItMTMyNzQxNQoKMjAxNS0wNy0wOCAxNzoxNzoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzL20zdTg6IFVwZGF0ZSBjdXJyZW50IHBvc2l0aW9uIGluIGFsbCBjYXNlcwoJICBJbiBvcmRlciB0byBlbnN1cmUgdGhlIHNlcXVlbmNlX3Bvc2l0aW9uIHdpbGwgYWx3YXlzIGJlIGNvbnNpc3RlbnRseSB1cGRhdGVkLAoJICBzdG9yZSB0aGUgY3VycmVudCBmaWxlIGR1cmF0aW9uLgoJICBUaGlzIHdheSwgd2hlbiB3ZSBhZHZhbmNlLCB3ZSBjYW4gYWx3YXlzIGluY3JlbWVudCB0aGUgcG9zaXRpb24gYmFzZWQgb24gd2hhdAoJICB3YXMgcHJldmlvdXNseSBvdXRwdXR0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxMzIKCjIwMTUtMTAtMTQgMTg6MzU6MDAgKzAyMDAgIHBsYW1vdCA8cGllcnJlLmxhbW90QG9wZW53aWRlLmZyPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IEZpeCA2NGJpdCBjb21wYXRpYmlsaXR5IGlzc3VlCgkgIFNldFdpbmRvd0xvbmcgd29ya3Mgb25seSBmb3IgMzIgYml0IHN5c3RlbXMsIHRodXMgd2luZG93cyBldmVudHMgKG1vdmUvcmVzaXplKQoJICB3aGVyZSBub3QgaW50ZXJwcmV0ZWQgb24gNjQgYml0IHN5c3RlbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjYxNwoKMjAxNS0xMC0xOSAxNToxNTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsOiBiZSBjb25zaXN0ZW50IGluIGdvYmplY3QgYm9pbGVycGF0ZQoJICBHU1RfR0xfSVNfKiB2cyBHU1RfSVNfR0xfKgoJICBnaXQgZ3JlcCAtbCAnR1NUX0dMX0lTXycgfCB4YXJncyBzZWQgLWkgJ3MvR1NUX0dMX0lTXy9HU1RfSVNfR0xfL2cnCgoyMDE1LTEwLTE5IDE1OjAyOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBhZGQgZ2xsaXZlc2hhZGVyIHByb2dyYW0gdG8gLmdpdGlnbm9yZQoKMjAxNS0xMC0xNyAxMjo0ODoxMSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBkcm9wIGZyYW1lIGluIGNhc2Ugb2YgX2hhbmRsZSgpIGZhaWx1cmUKCSAgQWxsb3dzIGJhc2VjbGFzcyB0byBoYW5kbGUgaXQgZnJvbSB0aGVyZQoJICBSZWxhdGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYzCgoyMDE1LTEwLTE3IDAxOjUxOjI0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJICBwbm1kZWM6IHByb3BhZ2F0ZSBpbnB1dCBzdGF0ZSBhZnRlciBwYXJzaW5nCgkgIFN0b3JlIGFuZCBjb3B5IGlucHV0IHN0YXRlIGZpZWxkcyB3aGVuIHNldHRpbmcgdGhlCgkgIG91dHB1dCBzdGF0ZSBvZiB0aGUgZGVjb2Rlci4gQXZvaWRzIHByb2JsZW1zIGxpa2UKCSAgdGhlIGZyYW1lcmF0ZSBzZXQgYnkgYW4gdXBzdHJlYW0gZWxlbWVudCBiZWluZyBpZ25vcmVkCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjMKCjIwMTUtMTAtMTYgMjA6NDU6NDIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogY29tcGxldGVseSByZXNldCBwYXJzaW5nIHN0YXRlIGF0IGZsdXNoCgkgIE1ha2VzIHN1cmUgdGhlIG1uZ3Igc3RydWN0IHJlZmxlY3RzIGEgY2xlYW4gc3RhdGUKCSAgZm9yIHRoZSBuZXh0IGZyYW1lLCBhdm9pZGluZyBmYWlsdXJlcyBsaWtlOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTYzCgoyMDE1LTEwLTE3IDE1OjI2OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgZ2xzaGFkZXJlbGVtZW50OiBpbXBsZW1lbnQgb24tZGVtYW5kIGNyZWF0ZS1zaGFkZXIgc2lnbmFsbGluZwoJICBPbmUgbWF5IG5vdCBoYXZlIGFuIEdzdEdMQ29udGV4dCBhdmFpbGFibGUgb3IgY3VycmVudCBpbiB0aGUgdGhyZWFkIHdoZXJlIG9uZQoJICB3b3VsZCBuZWVkIHRvIHVwZGF0ZSB0aGUgc2hhZGVyLiAgU3VwcG9ydCB0aGlzIGJ5IHNpZ25hbGxpbmcgY3JlYXRlLXNoYWRlcgoJICB3aGVuZXZlciB0aGUgb25lLXNob3QgJ3VwZGF0ZS1zaGFkZXInIGlzIHNldCB0byBUUlVFLgoKMjAxNS0xMC0xNyAwMjo0Mjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGdsL2NhbGF5ZXI6IGRvbid0IGxlYWsgYSBnbCBzaGFkZXIgb2JqZWN0CgkgIFdlIHdpbGwgYWx3YXlzIG92ZXJ3cml0ZSB0aGUgY2Ffc2luay0+cmVkaXNwbGF5X3NoYWRlciB3aXRob3V0IGZyZWVpbmcgdGhlCgkgIG9iamVjdC4KCjIwMTUtMTAtMTcgMDI6NDA6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBzZXBhcmF0ZSBvdXQgdGhlIHdpZGdldC93aW5kb3cgZGVzdHJveSBjYWxsYmFja3MKCSAgRml4ZXMgYXNzZXJ0aW9uIGR1ZSB0byB0aGUgc2lua19maW5hbGl6ZSgpIGJlaW5nIHJ1biBiZWZvcmUgdGhlIHdpZGdldCBkZXN0cm95CgkgIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTY5CgoyMDE1LTEwLTE3IDAxOjA4OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nbGxpdmVzaGFkZXIuYzoKCSAgZ2wvZXhhbXBsZXM6IGFkZCBhIGxpdmUgc2hhZGVyIGRlbW8gdXNpbmcgdGhlIG5ldyBHc3RHTFNMU3RhZ2UKCSAgSW1wbGVtZW50ZWQgd2l0aCB2aWRlb3Rlc3RzcmMgISBnbHNoYWRlciAhIGdsdXBsb2FkICEgZ3RrZ2xzaW5rCgkgIEVycm9ycyBvbiBhbiBpbnZhbGlkIHNoYWRlciBjb21waWxhdGlvbiBhcmUgaWdub3JlZCBob3dldmVyIGFueSBlcnJvcgoJICBwcm92aWRlZCBieSB0aGUgZ2xzbCBjb21waWxlciBpcyBwcmludGVkIHRvIHN0ZG91dC4KCjIwMTUtMTAtMTYgMDA6MjM6NTYgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBza2lwIHBhZGRpbmcgd2hlbiBtYXBwaW5nIFJUUCBwYWNrZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY2NTMKCjIwMTUtMTAtMTQgMTk6MzI6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBQcm9wZXJseSBmb3J3YXJkIHRoZSByZXR1cm4gdmFsdWUgb2YgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3OAoKMjAxNS0xMC0xNCAxOToyNDoyMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEltcGxlbWVudCBzdXBwb3J0IGZvciBDT0xPUl9RQ09NX0Zvcm1hdFlWVTQyMFNlbWlQbGFuYXIzMm1NdWx0aVZpZXcgZm9yIGRlY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NzgKCjIwMTUtMTAtMTYgMDI6NTc6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBhZGQgYnJhY2tldHMgYXJvdW5kIHBvaW50ZXIgZGVyZWZlcmVuY2UgcmVmZXJlbmNpbmcgYW4gYXJyYXkKCSAgV2hpbGUgdGVjaG5pY2FsbHksIGkgaXMgYWx3YXlzIDAgYW5kICp2ZXJ0ZXhfc291cmNlc1tpKytdIGlzIGVxdWl2YWxhbnQKCSAgdG8gKCp2ZXJ0ZXhfc291cmNlcylbaSsrXS4gIEJlIGZ1dHVyZS1wcm9vZiBpbiB0aGUgY2FzZSBvZiBjb2RlCgkgIG1vdmVzL2NoYW5nZXMvZXRjLgoJICBDSUQgMTMyNzQwNgoKMjAxNS0xMC0xNSAyMzo0NzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXJzaW5rOiBwb3J0IHRvIG5ldyBHc3RHTFNoYWRlciBBUEkKCSAgZml4ZXMgYnVpbGQgZXJyb3I6CgkgICJ1bmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlOgoJICBnc3RfZ2xfc2hhZGVyX2NvbXBpbGVfd2l0aF9kZWZhdWx0X3ZmX2FuZF9jaGVjayIKCjIwMTUtMTAtMTUgMjI6NDI6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL3Rlc3RzOiBwb3J0IGdsY29udGV4dCB0ZXN0IHRvIG9wZW5nbAoJICBOb3cgdXNlcyB2YW8ncyBhbmQgdmJvJ3Mgd2hlbiBwb3NzaWJsZSBsaWtlIHRoZSByZXN0IG9mIHRoZSBnc3RnbCBsaWJyYXJ5LgoKMjAxNS0wOS0wNCAxNjoxNjo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJICBnbHNoYWRlcjogcG9ydCBlbGVtZW50IHRvIEdzdEdMU0xTdGFnZQoJICAtIFByb3ZpZGUgYSBzaGFkZXIgcHJvcGVydHkgdG8gc2V0IHRoZSBmdWxsIHNoYWRlciBwaXBlbGluZQoJICAtIFByb3ZpZGUgdmVydGV4IGFuZCBmcmFnbWVudCBwcm9wZXJ0aWVzIGZvciBqdXN0IHByb3ZpZGluZyBzaW1wbGUKCSAgc2hhZGVyIHNvdXJjZXMuCgoyMDE1LTA5LTA0IDE2OjAyOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsc2hhZGVyOiBwb3J0IHRvIHVzaW5nIEdzdEdMU0xTdGFnZSBvYmplY3RzIGZvciBzdHJpbmcgbWFuYWdlbWVudAoJICBBIEdzdEdMU2hhZGVyIGlzIG5vdyBzaW1wbHkgYSBjb2xsZWN0aW9uIG9mIHN0YWdlcyB0aGF0IGFyZQoJICBjb21waWxlZCBhbmQgbGlua2VkIHRvZ2V0aGVyIGludG8gYSBwcm9ncmFtLiAgVGhlIHVuaWZvcm0vYXR0cmlidXRlCgkgIGludGVyZmFjZSBoYXMgcmVtYWluZWQgdGhlIHNhbWUuCgoyMDE1LTA5LTA0IDE0OjM2OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJICBnbHNsOiBhZGQgYSBzaGFkZXIgc3RhZ2Ugb2JqZWN0IEdzdEdMU0xTdGFnZQoJICBSZXByZXNlbnRzIGEgc3RhZ2UgKHZlcnRleCwgZ2VvbWV0cnksIGZyYWdtZW50LCBldGMpIGluIHRoZSBzaGFkZXIKCSAgcGlwZWxpbmUuCgoyMDE1LTA5LTA0IDAwOjA5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSAgZ2wvc2hhZGVyL3ZhcmlhYmxlczogaW5jbHVkZSBnZW5lcmljIGdsLmggaGVhZGVyCgkgIE90aGVyd2lzZSB3ZSBtYXkgbWlzcyBzb21lIGZvcndhcmQgZGVjbGFyYXRpb25zCgkgIEZpeGVzIGJ1aWxkIGVycm9yOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIEdzdEdMU0xTdGFnZQoKMjAxNS0wOC0yMCAxNToxMTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbF9wcml2YXRlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xzbC5jOgoJICBnbDogYWRkIHNvbWUgR0xTTCB1dGlsaXR5IGZ1bmN0aW9ucwoJICBTcGVjaWZpY2FsbHkgcGFyc2luZy9zZXR0aW5nIEdMU0wgdmVyc2lvbnMgYW5kIHRoZSBzaGFkZXIgcmVsYXRlZAoJICBmdW5jdGlvbiB0YWJsZS4KCjIwMTUtMTAtMTQgMjI6NTE6MjkgKzAyMDAgIFBhdWwgQXJ6ZWxpZXIgPHBhdWwuYXJ6ZWxpZXJAZnJlZS5mcj4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJICBkdGxzOiBGaXggbmFtZSBjb25mbGljdCB3aXRoIG9wZW5zc2wgb24gd2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU5MgoKMjAxNS0wOS0wNCAxODo0MDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogaWYgbWVkaWEgc2VxdWVuY2UgaXMgbm90IHNwZWNpZmllZCwgdXNlIDAKCSAgQWxsb3dzIHBsYXlsaXN0cyB0aGF0IGFyZSBtaXNzaW5nIHRoZSBtZWRpYXNlcXVlbmNlIGluZm9ybWF0aW9uIHRvCgkgIGJlIGNvcnJlY3RseSBwYXJzZWQuIElmIHRoZSBwbGF5bGlzdCB3YXMgdXBkYXRlZCB3aXRob3V0IHJlc2V0aW5nCgkgIHRoZSBtZWRpYXNlcXVlbmNlIGl0IHdvdWxkIGNvbnN0YW50bHkgaW5jcmVhc2Ugb3ZlciBzdWJzZXF1ZW50IHVwZGF0ZXMsCgkgIGxlYWRpbmcgdG8gaXNzdWVzIGR1cmluZyBwbGF5YmFjay4KCjIwMTUtMDgtMzAgMTQ6NTY6NTcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZml4IGZhbGxiYWNrIGJ1ZmZlciBhbGxvY2F0aW9uCgkgIENvcHktcGFzdGUgbWlzdGFrZTsgdGhlIHdsX2J1ZmZlciB3YXMgYXR0YWNoZWQgb24gdGhlIHdyb25nIGJ1ZmZlci4uLgoKMjAxNS0wOC0zMCAxNDo1NToxMSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSBHc3RXbERpc3BsYXk6OmZvcm1hdHMgYXJyYXkgdG8gc2htX2Zvcm1hdHMKCSAgVGhlc2UgZm9ybWF0cyBhcmUgc3BlY2lmaWMgdG8gdGhlIHdsX3NobSBpbnRlcmZhY2UuIFdlIGFyZSBnb2luZwoJICB0byBhZGQgZG1hYnVmIGZvcm1hdHMgbGF0ZXIgYXMgd2VsbC4KCjIwMTUtMDgtMjkgMjI6Mjk6MTcgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuaDoKCSAgd2F5bGFuZHNpbms6IHJlcGxhY2UgdGhlIGN1c3RvbSBHc3RXbFNobU1lbW9yeSB3aXRoIEdzdEZkTWVtb3J5CgoyMDE1LTEwLTE0IDE5OjUzOjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBVcGRhdGUgUE9URklMRVMuaW4gZm9yIE9wZW5DViBDKysgZmlsZSByZW5hbWUKCjIwMTUtMTAtMTQgMTc6NDE6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBBbGxvdyBkZWJ1Z2dpbmcgb2YgdGhlIHBsYXlsaXN0CgkgIEhlbHBzIGRlYnVnZ2luZyBpc3N1ZXMKCjIwMTUtMTAtMTQgMTc6Mzg6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBdm9pZCBuZWdhdGl2ZSBzZXF1ZW5jZSBudW1iZXJzCgkgIEZvciBsaXZlIHN0cmVhbXMsIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHRoZXJlJ3MgYSBjZXJ0YWluIGRpc3RhbmNlCgkgIGJldHdlZW4gdGhlIHNlcXVlbmNlIHRvIHBsYXkgYW5kIHRoZSBsYXN0IChlYXJsaWVzdCkgZnJhZ21lbnQuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgaXQgYXNzdW1lcyB0aGVyZSBhcmUgYXQgbGVhc3QgMyBmcmFnbWVudHMgaW4KCSAgdGhlIHBsYXlsaXN0LCB3aGljaCBtaWdodCBub3QgYWx3YXlzIGJlIHRoZSBjYXNlIChsaWtlIGluIHRoZSBjYXNlCgkgIG9mIGEgc2VydmVyIHJlc3RhcnRpbmcgYW5kIGdyYWR1YWxseSBhZGRpbmcgZnJhZ21lbnRzKS4KCSAgSW4gb3JkZXIgdG8gYXZvaWQgZW5kaW5nIHVwIHdpdGggbmVnYXRpdmUgc2VxdWVuY2UgbnVtYmVycyAod2hpY2gKCSAgd2lsbCBqdXN0IGxvb3AgZm9yZXZlciksIGxpbWl0IHRoZSBuZXcgdGFyZ2V0IHNlcXVlbmNlIG51bWJlciB0bwoJICB0aGUgaGlnaGVzdCBvZjoKCSAgKiBlaXRoZXIgdGhlIGZpcnN0IHNlcXVlbmNlIG51bWJlciBvZiB0aGUgcGxheWxpc3QgKGZhbGxiYWNrKQoJICAqIG9yIDMgZnJhZ21lbnRzIGZyb20gdGhlIGxhc3Qgb25lIChzdGFuZGFyZCBiZWhhdmlvdXIpCgoyMDE1LTEwLTE0IDE1OjMwOjA1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJICBvcGVuY3Y6IHN3aXRjaCByZW1haW5pbmcgdG8gQysrCgkgIFN3aXRjaCByZW1haW5pbmcgQyBmaWxlcyB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xNCAxMDozMToyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IFNldCBkZWZhdWx0IGxhc3RfYnl0ZV9wb3MgdG8gLTEKCSAgVGhlIHZhbHVlIGlzIG9wdGlvbmFsIGluIHRoZSByYW5nZSwgYW5kIGlmIGl0IGlzIGFic2VudCBpdCBtZWFucyB3ZSBzaG91bGQKCSAgZG93bmxvYWQgdW50aWwgdGhlIGVuZCBvZiBzdHJlYW0uIE5vdCB1bnRpbCBwb3NpdGlvbiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2CgoyMDE1LTEwLTE0IDEwOjM0OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBIVFRQIHJhbmdlcyBhcmUgaW5jbHVzaXZlLCBHU3RyZWFtZXIgc2VnbWVudC5zdG9wIGlzIGV4Y2x1c2l2ZQoJICBUcmFuc2xhdGUgdGhlIHZhbHVlcyBhY2NvcmRpbmdseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMxNgoKMjAxNS0xMC0xNCAxNDozNDozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBvcGVuY3Y6IG1vdGlvbmNlbGxzOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3Rtb3Rpb25jZWxscyB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTQgMjI6MzU6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIGxpdmVhZGRlciBkaXJlY3RvcnkgdG8gdGhlIGNydWZ0IGxpc3QKCSAgU28gdGhhdCB3ZSBjYW4gcmVtb3ZlIGl0IGFuZCBhdm9pZCBkdXBsaWNhdGUgR3N0TGl2ZUFkZGVyIEdUeXBlIHJlZ2lzdHJhdGlvbnMuCgoyMDE1LTEwLTEzIDEyOjQwOjA0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsOiBmaXggbGVhayBpbiBnc3RfZ2xfaW5zZXJ0X2RlYnVnX21hcmtlcigpCgkgIFRoZSBzdHJpbmcgYWxsb2NhdGVkIGJ5IGdfdmFzcHJpbnRmKCkgd2FzIGxlYWtlZC4KCSAgUmVwcm9kdWNlZCB1c2luZyB0aGUKCSAgdmFsaWRhdGUuZmlsZS5jb21wb3NpdG9yLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgdmFsaWRhdGUgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY0OTIKCjIwMTUtMTAtMTIgMTE6MDc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIHRvIGdpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NDI0CgoyMDE1LTEwLTEyIDA5OjM2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBsaXZlYWRkZXI6IGxhdGVuY3kgcHJvcGVydHkgaXMgYW4gdWludDY0IGluIGF1ZGlvbWl4ZXIKCjIwMTUtMTAtMTEgMjM6NDQ6MjUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSAgdGV4dG92ZXJsYXk6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdHRleHRvdmVybGF5IHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xMSAyMTo1NDozMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJICBvcGVuY3Y6IHB5cmFtaWRzZWdtZW50OiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3RweXJhbWlkc2VnbWVudCB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLAoJICBhbmQgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDUgMDA6NTU6MzYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBSZW1vdmUgcGx1Z2luLCByZXBsYWNlIGJ5IGNvbXBhdCBzdWJjbGFzcyBvZiBhdWRpb21peGVyCgkgIE5ldyBzdWJjbGFzcyB3aXRoIGEgc2ltaWxhciBiZWhhdmlvdXIgYXMgdGhlIG9sZCBsaXZlYWRkZXIsIGJ1dAoJICBhIHNsaWdodGx5IGRpZmZlcmVudCBBUEkgYXMgdGhlIGxhdGVuY3kgaXMgaW4gbmFub3NlY29uZHMsIG5vdAoJICBtaWxsaXNlY29uZHMuIEFsc28sIHRoZSBuZXcgbGl2ZWFkZGVyIGhhcyBhIGVmZmVjdGl2ZSBsYXRlbmN5IHRoYXQKCSAgaXMgbGF0ZW5jeSArIG91dHB1dC1idWZmZXItZHVyYXRpb24uIEluIHByYWN0aWNlLCBqdXN0IHNldHRpbmcgYSBub24temVybwoJICBsYXRlbmN5IHdpdGggdGhlIG5ldyBhdWRpb21peGVyIGdpdmVzIHlvdSB0aGUgcmlnaHQgYmVoYXZpb3IgaW4gOTklIG9mIHRoZQoJICBjYXNlcy4KCjIwMTUtMTAtMTEgMTA6MDA6NDMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSAgZGFzaGRlbXV4OiBmaXggdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBnc3RfbnRwX2Nsb2NrX25ldwoJICBGb3VuZCB3aXRoIGdzdC1pbnNwZWN0LTEuMCAtYiBpbiBnc3QtdW5pbnN0YWxsZWQgZW52LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzgzCgoyMDE1LTEwLTEwIDE3OjUyOjIzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSAgY3Zzb2JlbDogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3Zsc29iZWwgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywgYW5kCgkgIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTEwIDE3OjAwOjU1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuY3BwOgoJICBjdmxhcGxhY2U6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdGN2bGFwbGFjZSB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLCBhbmQKCSAgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTAgMTY6NTc6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmNwcDoKCSAgY3ZlcXVhbGl6ZWhpc3Q6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdGN2ZXF1YWxpemVoaXN0IHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xMCAxNDoxMDozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jcHA6CgkgIGN2ZXJvZGU6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdGN2ZXJvZGUgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywgYW5kCgkgIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTA4IDE0OjQ2OjEwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBzaW1wbGlmeSBaQVAgZmlsZSBmb3JtYXQgcGFyc2VyCgkgIFNpbXBsaWZ5IHN0YXRlIGhhbmRpbmcsIGRyb3AgdW5uZWVkZWQgbG9jYWwgdmFycywgZXRjLgoKMjAxNS0xMC0wNyAxNDoyMjo0NiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBoYXNfbmV4dF9wZXJpb2QKCSAgZ3N0X21wZF9jbGllbnRfaGFzX25leHRfcGVyaW9kIG5vdyBjYWxscyBnc3RfbXBkX2NsaWVudF9zZXR1cF9tZWRpYV9wcmVzZW50YXRpb24KCSAgdG8gcmVmcmVzaCB0aGUgcGVyaW9kIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MTg2CgoyMDE1LTEwLTA3IDA4OjQ4OjE1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogRml4IGJ1aWxkIGVycm9yCgkgIEJ1aWxkIGVycm9yIGR1ZSB0byB3cm9uZyBhcmd1bWVudCB0eXBlIGluIGRlYnVnIG1lc3NhZ2UKCSAgYWFnZy0+cHJpdi0+b2Zmc2V0IGFuZCBuZXh0X29mZnNldCBhcmUgb2YgdHlwZSBpbnQ2NCwgYnV0IHVpbnQ2NAoJICBmb3JtYXR0ZXIgaXMgYmVpbmcgdXNlZCBpbiBsb2dzLiBDaGFuZ2luZyBhbGwgdGhvc2UgdG8gaW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA2NQoKMjAxNS0xMC0wNiAyMToyMzoxMSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IFByb3h5IHRoZSBpZ25vcmUtZW9zIHZpZGVvYWdncmVnYXRvciBwcm9wZXJ0eSBhcyB3ZWxsCgkgIElkZW50aWNhbCB0byBob3cgdGhlIHotb3JkZXIgcHJvcGVydHkgaXMgcHJveGllZAoKMjAxNS0xMC0wNSAxMToyMTowNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZml4IHNhbXBsZSBtZW1vcnkgbGVhawoJICBXaGVuIGdldHRpbmcgc2FtcGxlIGZyb20gdGFnbGlzdCwgdGhlIG1lbW9yeSBpcyBub3QgYmVpbmcgZnJlZWQgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDcwCgoyMDE1LTEwLTAxIDExOjE4OjUyICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IHBsdWcgbWVtb3J5LWxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwMDEKCjIwMTUtMTAtMDIgMjI6NTc6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFBvcnQgdG8gbmV3IEdMaWIgbXV0ZXgvY29uZCBBUEkKCjIwMTUtMTAtMDIgMjI6MjQ6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgVXBkYXRlIEdMaWIgZGVwZW5kZW5jeSB0byAyLjQwLjAKCjIwMTUtMTAtMDIgMTk6MDI6MjYgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jcHA6CgkgIGN2ZGlsYXRlOiBDaGFuZ2UgZ3N0Y3ZkaWxhdGUgdG8gQysrCgkgIENoYW5nZSB0aGUgZ3N0Y3ZkaWxhdGUuYyBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvcgoJICBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdiBhbmQgYmVjYXVzZSBPcGVuY3Ygbm90IHN1cHBvcnQgQwoJICBsYW5ndWFnZSBpbiBuZXcgQVBJIDIuNC4xMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxODo1MDo0NSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJICBza2luZGV0ZWN0OiBDaGFuZ2UgZ3N0c2tpbmRldGVjdCB0byBDKysKCSAgQ2hhbmdlIHRoZSBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvciBjb25zaXN0ZW5jeQoJICB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdiBhbmQgYmVjYXVzZSBPcGVuY3Ygbm90IHN1cHBvcnQgQyBsYW5ndWFnZSBpbgoJICBuZXcgQVBJIDIuNC4xMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0wOC0zMSAxNzo0MzoyNiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIG9wZW5jdnV0aWxzOiBhZGQgZXh0ZXJuIEMsIGZvciB0aGUgb3BlbmN2IGVsZW1lbnRzIHdvcmsuCgkgIEFkZGluZyBHX0JFR0lOX0RFQ0xTIGFuZCBHX0VORF9ERUNMUyB0byBnc3RvcGVuY3Z1dGlscy5oCgkgIHRvIGFsbG93IEMtc3R5bGUgbGlua2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxODo0MDo0MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkgIHJldGluZXg6IHVzZSBPcGVuQ1YgbmFtZXNwYWNlCgkgIEFzIHBhcnQgb2YgdGhlIHN3aXRjaCB0byBDKyssIHVzZSB0aGUgbmV3IE9wZW5DViBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTg6MTA6MzIgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkgIGN2c21vb3RoOiBwb3J0IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yIGNvbnNpc3RlbmN5CgkgIHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2IGFuZCBiZWNhdXNlIE9wZW5jdiBub3Qgc3VwcG9ydCBDIGxhbmd1YWdlIGluCgkgIG5ldyBBUEkgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE3OjQ4OjQ3ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jcHA6CgkgIHJldGluZXg6IENoYW5nZSByZXRpbmV4IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGdzdHJldGluZXguYyBmaWxlIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUuCgkgIEl0IGlzIG5lY2Vzc2FyeSB0byBtaWdyYXRlIHRoZSByZXRpbmV4IGVsZW1lbnQgdG8gQysrLAoJICBiZWNhdXNlIG5ldyBPcGVuY3YgQVBJIGxlYXZlcyBvYnNvbGV0ZSBmdW5jdGlvbnMgbGlrZSBjdlNtb290aC4KCSAgVGhpcyBlbGVtZW50IHVzZXMgdGhpcyBmdW5jdGlvbi4KCSAgWW91IGNhbiBzZWUgaW4gdGhpcyBsaW5rOgoJICBodHRwOi8vZG9jcy5vcGVuY3Yub3JnL21vZHVsZXMvaW1ncHJvYy9kb2MvZmlsdGVyaW5nLmh0bWw/CgkgIGhpZ2hsaWdodD1jdnNtb290aCN2b2lkIGN2U21vb3RoKGNvbnN0IEN2QXJyKiBzcmMsIEN2QXJyKiBkc3QsCgkgIGludCBzbW9vdGh0eXBlLCBpbnQgc2l6ZTEsIGludCBzaXplMiwgZG91YmxlIHNpZ21hMSwgZG91YmxlIHNpZ21hMikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxNzoxODozMyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIGFub3RoZXIgdW51c2VkIHZhcmlhYmxlCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBhbmQgdGhlbiByZWxlYXNlZCB3aXRob3V0IG1ha2luZyBhbnkKCSAgdXNlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE3OjAyOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IEN2UG9pbnQgdmFsdWVzIGNoYW5nZWQgZnJvbSB1aW50IHRvIGludAoJICBUaGUgeCBhbmQgeSB2YWx1ZXMgb2YgQ3ZQb2ludCBjaGFuZ2VkIGZyb20gdW5zaWduZWQgdG8gc2lnbmVkIGludGVnZXJzCgkgIGluIE9wZW5DViAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMTAtMDIgMTY6MjI6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogbmVlZCB0byBtaWdyYXRlIHRvIEMrKwoJICBUaGUgY2FzY2FkZSBjbGFzc2lmaWVyIGNoYW5nZXMgaXRzIHN0cnVjdHVyZSBvbiBuZXcgdmVyc2lvbiBvZiBPcGVuQ1YgMi40LjExLgoJICBJdCBpcyBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrIHRvIHV0aWxpemUgdGhlIG5ldyBsb2FkIG1ldGhvZCBvZiBPcGVuQ1Ygd2hpY2gKCSAgYWxsb3dzIHRvIGxvYWQgdGhlIG9sZCBhbmQgbmV3IGNsYXNzaWZpZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTEwLTAyIDE2OjAxOjI5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgaGFuZGRldGVjdDogQ2hhbmdlIGdzdGhhbmRkZXRlY3QgdG8gQysrCgkgIENoYW5nZSB0aGUgZ3N0aGFuZGRldGVjdC5jIGZpbGUgdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZS4KCSAgSXQgaXMgbmVjZXNzYXJ5IHRvIG1pZ3JhdGUgdGhlIGhhbmRkZXRlY3QgcGx1Z2luIHRvIEMrKywKCSAgaW4gb3JkZXIgdG8gbG9hZCBuZXcgYW5kIG9sZCBjbGFzc2lmaWVycywgdG8gbWFrZSBoYW5kZGV0ZWN0IHdvcmsKCSAgd2l0aCBuZXdlciB2ZXJzaW9ucyBvZiBPcGVuY3YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMTAtMDIgMTc6MDU6MTEgKzAyMDAgIFBvbG9jaG9uX3N0cmVldCA8cG9sb2Nob25zdHJlZXRAZ214LmZyPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzOiBmaXggcHJpbnRmIGZvcm1hdCBvbiB3aW4zMgoKMjAxNS0wOC0yMCAxNjowMzoyOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9wYXJzZS1qcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgZ3N0cmVhbWVyOiBiYWQ6IEZpeCBtZW1vcnkgbGVha3Mgd2hlbiBjb250ZXh0IHBhcnNlIGZhaWxzCgkgIFdoZW4gZ19vcHRpb25fY29udGV4dF9wYXJzZSBmYWlscywgY29udGV4dCBhbmQgZXJyb3IgdmFyaWFibGVzIGFyZSBub3QgZ2V0dGluZyBmcmVlJ2QKCSAgd2hpY2ggcmVzdWx0cyBpbiBtZW1vcnkgbGVha3MuIEZyZWUnaW5nIHRoZSBzYW1lLgoJICBBbmQgcmVwbGFjaW5nIGdfZXJyb3JfZnJlZSB3aXRoIGdfY2xlYXJfZXJyb3IsIHdoaWNoIGNoZWNrcyBpZiB0aGUgZXJyb3IgYmVpbmcgcGFzc2VkCgkgIGlzIG5vdCBOVUxMIGFuZCBzZXRzIHRoZSB2YXJpYWJsZSB0byBOVUxMIG9uIGZyZWUnaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODU0CgoyMDE1LTA2LTI1IDE5OjE3OjM2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogb3B0aW1pemUgYmxlbmRpbmcKCSAgU2tpcCBlbXB0eSBzb3VyY2UgcGl4ZWxzIHdoZW4gYmxlbmRpbmcgYW4gaW1hZ2UuIFRoZXJlIGNhbiBiZSBodW5kcmVkcwoJICBvZiBpbWFnZXMgdG8gYmxlbmQgYXQgZWFjaCBmcmFtZSwgc28gdGhpcyBicmluZ3MgYSBuaWNlIHBlcmZvcm1hbmNlCgkgIGJvb3N0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODIxCgoyMDE1LTA4LTE5IDE3OjE4OjMxICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogVXNlIHRoZSB3aW5kb3cgc2l6ZSBmcm9tIGRvd25zdHJlYW0KCSAgVGhpcyBhbGxvd3MgcmVuZGVyaW5nIHRoZSBvdmVybGF5IGF0IGEgcmVzb2x1dGlvbiBtYXRjaGluZyB0aGUgdmlkZW8KCSAgcmVzb2x1dGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyNAoKMjAxNC0wOS0wNCAxODoxNjowMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgbmVnb3RpYXRpb24KCSAgVGhpcyBpcyBtb3N0bHkgYSBjb3B5L3Bhc3RlIG9mIHRoZSBuZWdvdGlhdGlvbiBmdW5jdGlvbiBpbgoJICBiYXNldGV4dG92ZXJsYXksIHdoaWNoIHdhcyBpbXByb3ZlZCByZWNlbnRseSB0byBoYW5kbGUgbWFueSBtb3JlIGNhc2VzLgoJICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gbmVnb3RpYXRlIGEgd2luZG93IHNpemUgd2l0aCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODI0CgoyMDE1LTA4LTE5IDEzOjQ0OjM1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZW5kZXIgdGhlIHN1YnRpdGxlcyB3aXRoIHRoZSBwcm9wZXIgYXNwZWN0CgkgIFRoaXMgYnVtcHMgdGhlIGxpYmFzcyB2ZXJzaW9uIHJlcXVpcmVtZW50IHRvIDAuMTAuMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyNAoKMjAxNS0wOS0wNyAxNjoyMDo0MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3Q6IGFkZGVkIHVuaXQgdGVzdCBmb3IgcHJlc2VudGF0aW9uIHRpbWUgb2Zmc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MDkKCjIwMTUtMDktMzAgMTA6Mjc6MDYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkdGxzOiByZXF1aXJlIG9wZW5zc2wgPj0gMS4wLjEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTg5MgoKMjAxNS0xMC0wMiAxNDo0Njo1OSArMDIwMCAgUGF1bCBBcnplbGllciA8cGF1bC5hcnplbGllckBmcmVlLmZyPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzOiBmaXggcHJpbnRmIGZvcm1hdCBvbiB3aW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1OTgxCgoyMDE1LTA5LTMwIDExOjAwOjM5ICswODAwICBKb2huIENoYW5nIDxyOTc5MjIxNTNAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSAgZGFzaGRlbXV4OiBDb3JyZWN0bHkgYXNzaWduIGVhcmxpZXN0IHB0cyBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgaXQgd2l0aCBmaXJzdCBvZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTgyNAoKMjAxNS0wOS0xNSAwMzoxNDozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHF0OiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgb24gb3N4L2lvcwoJICBJbmNsdWRpbmc6CgkgIC0gTmVjZXNzYXJ5IGNvbmZpZ3VyZSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgY29tcGlsZSB0aW1lIHBsYXRmb3JtIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBydW50aW1lIHF0IGlPUy9PU1ggcGxhdGZvcm0gZGV0ZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDAKCjIwMTUtMDktMjggMTE6Mjk6MjkgKzAxMDAgIEpvaG4gU2xhZGUgPGpvaG5AanRlcy5uZXQ+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBpbmRlbnRhdGlvbiB3aXRoIGdzdC1pbmRlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTczMgoKMjAxNS0xMC0wMiAxMTozMTo1MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBGaXggbm9kaXN0X0hFQURFUlMKCjIwMTUtMTAtMDIgMTQ6NTY6NDEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgUmVtb3ZlIGJhc2VhdWRpb3Zpc3VhbGl6ZXIgdGVzdC4KCSAgVGhlIGJhc2UgY2xhc3MgaGFzIG1vdmVkIGludG8gZ3N0LXBsdWdpbnMtYmFzZQoKMjAxNS0wOS0zMCAxOTowNTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ29udmVydCBHU1RfRVJST1JfT0JKRUNUKCkgZm9yIHNlZWsgZXZlbnRzIHRvIEdTVF9ERUJVR19PQkpFQ1QoKQoKMjAxNS0wOS0zMCAxOTowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRm9yIHRoZSBzdGFydCB0aW1lIHNlbGVjdGlvbiwgb25seSBzZXQgdGhlIHNlZ21lbnQgcG9zaXRpb24KCSAgc2VnbWVudC50aW1lIGFuZCBzZWdtZW50LnN0YXJ0IGNhbiBzdGF5IHRoZSBzYW1lLCBhbmQgd2VyZSBhbHdheXMgdGhlIHNhbWUKCSAgYmVmb3JlIGFueXdheSBiZWNhdXNlIG9mIGEgbWlzdGFrZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTYyMwoKMjAxNS0wOS0zMCAxOTowMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFNlbGVjdCB0aGUgaW5pdGlhbCBvZmZzZXQgYmFzZWQgb24gdGhlIHN0YXJ0IHNlZ21lbnQgcG9zaXRpb24KCSAgaW5zdGVhZCBvZiBhbHdheXMgdXNpbmcgMC4gT3RoZXJ3aXNlIHdlIG1pZ2h0IG91dHB1dCBhIGxvdCBvZiBzaWxlbmNlIGluIHRoZQoJICBiZWdpbm5pbmcgaW5zdGVhZCBvZiBvdXRwdXR0aW5nIGZyb20gdGhlIHJlbGV2YW50IHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjIzCgoyMDE1LTEwLTAxIDE1OjM1OjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBtZXJnZSBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzc2VzCgkgIFRoZXNlIHBsdWdpbnMgbm93IHVzZSB0aGUgYXVkaW92aXN1YWxpemVyIGJhc2UgY2xhc3MgaW4gcGJ1dGlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTEwLTAyIDAxOjAxOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBtb3ZlIGRlYnVnZ2luZyByZWxhdGVkIGZ1bmN0aW9ucyB0byB0aGVpciBvd24gZmlsZQoKMjAxNS0xMC0wMSAyMzoyMDoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbGNvbG9yc2NhbGU6IHVzZSBnbGJhc2VmaWx0ZXIgdmZ1bmNzCgkgIFVzZXMgbGVzcyBjb2RlIFxvLwoJICBGaXhlcyBsZWdhY3kgb3BlbmdsIHJlbmRlcmluZyBcby8KCjIwMTUtMDktMTYgMTI6NTA6NDYgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhY3RpdmF0ZSBzdHJlYW1zIGJlZm9yZSBjb25maWd1cmluZyBiaXRyYXRlCgkgIERvaW5nIHRoZSBjb250cmFyeSBoYXMgbm8gZWZmZWN0IGFuZCB0aGUgY29uc2VxdWVuY2UgaXMgdGhhdCBwbGF5YmFjawoJICB3aWxsIHN0YXJ0IHdpdGggdGhlIGxvd2VzdCBiaXRyYXRlIGV2ZW4gaWYgd2UgY2FuIGFscmVhZHkgaGFuZGxlCgkgIGhpZ2hlciBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTA4CgoyMDE1LTA2LTA4IDE1OjMzOjIyICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogUGxheVJlYWR5IFdSTSBwYXJzaW5nIHN1cHBvcnQKCSAgSWYgdGhlIG1hbmlmZXN0IGhhcyBhIFByb3RlY3Rpb25IZWFkZXIgbm9kZSB0aGVuIHBhcnNlIGl0IGFuZCBlbWl0CgkgIHByb3RlY3Rpb24gZXZlbnRzIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIHByb3RlY3Rpb24gU3lzdGVtSUQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MTMKCjIwMTUtMDktMDMgMTU6MTE6MDAgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhbHdheXMgdXNlIHRpbWVzY2FsZSBmb3IgZ3N0IHRpbWVzdGFtcCBjYWxjdWxhdGlvbgoJICBOb3QgZG9pbmcgdGhpcyBjYW4gbGVhZCB0aGUgZGVtdXhlciB0byBhdHRlbXB0IGRvd25sb2FkaW5nIGZyYWdtZW50cwoJICBmb3IgYW4gaW52YWxpZCBzdGFydCB0aW1lLiBUaGUgc2VydmVyIHdvdWxkIHRoZW4gc2VuZCBhIEhUVFAKCSAgUHJlY29uZGl0aW9uIGZhaWxlZCBlcnJvciwgdGhlIGRlbXV4ZXIgd291bGQgdHJ5IHNvbWUgbW9yZSB0aW1lcyB0bwoJICBkb3dubG9hZCB0aGUgaW52YWxpZCBmcmFnbWVudCBhbmQgZXZlbnR1YWxseSBlcnJvciBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1MjMKCjIwMTUtMDktMzAgMDg6MzY6MTUgKzAyMDAgIEFudG9pbmUgSmFjb3V0b3QgPGFqYWNvdXRvdEBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBQYXNzIEdMX0NGTEFHUyB0byBnLWlyLXNjYW5uZXIKCSAgVGhpcyB1bmJyZWFrcyBidWlsZGluZyB3aGVuIHNvbWUgaGVhZGVycyBhcmUgdW5kZXIgYSBub24tc3RhbmRhcmQgcGF0aC4KCSAgZS5nLiAvdXNyL1gxMVI2L2luY2x1ZGUgYXMgb24gT3BlbkJTRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTg1MAoKMjAxNS0wOS0zMCAwMDo0NDoxNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODUyCgoyMDE1LTA5LTMwIDEzOjEzOjE5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogdHlwZWNhc3QgYml0LW1hc2sgdG8gZ3VpbnQ2NCB0byBmaXggc2VnbWVudGF0aW9uIGZhdWx0CgkgIFdoaWxlIGNyZWF0aW5nIGNhcHMgaW4gYXVkaW9pbnRlcmxlYXZlIHRlc3RzLCBiaXRtYXNrIGlzIGJlaW5nIHNldCBhcyAweDkKCSAgVGhpcyBpcyByZXN1bHRpbmcgaW4gc2VnbWVudGF0aW9uIGZhdWx0LiBGaXggdGhlIHNhbWUgYnkgdHlwZWNhc3RpbmcgdG8gZ3VpbnQ2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODQwCgoyMDE1LTA5LTMwIDE1OjE3OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4dXAgc3Ryc3RyIGxlbmd0aHMgc28gd2UgZG9uJ3Qgb3ZlcnJ1bgoKMjAxNS0wOS0zMCAxMzozMTo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlbW92ZSB1c2VsZXNzIHJlbGVhc2VfYnVmZmVyCgkgIEl0J3MgYSBsZWZ0b3ZlciBmcm9tIHdoZW4gd2Ugd2VyZW4ndCBvdXRwdXR0aW5nIEdzdEJ1ZmZlcidzIGFuZAoJICByZXR1cm5pbmcgcmF3IHRleHR1cmUgaWQncy4KCjIwMTUtMDktMzAgMDE6NTM6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsdXRpbHM6IHVzZSBnc3RfZWxlbWVudF9zZXRfY29udGV4dCBmb3Igc2V0dGluZyBkaXNwbGF5L290aGVyX2NvbnRleHQKCSAgMS4gU28gd2UgZ2V0IHRyYWNraW5nIGluc2lkZSBHc3RFbGVtZW50IHByb3Blcmx5IHdoZW4gZS5nLiBhZGRpbmcgdG8gYSBiaW4KCSAgMi4gUmVtb3ZlcyByZWR1bmRhbnQgY29kZS4gIE5vdyBvbmx5IG9uZSBwbGFjZSB3aGVyZQoJICBHc3RDb250ZXh0LT5Hc3RHTERpc3BsYXkvR3N0R0xDb250ZXh0IHRyYW5zZm9ybWF0aW9uIG9jY3VycwoJICAzLiBGaXhlcyBhIG1lbW9yeSBsZWFrIGluIHRoZSBwcm9jZXNzCgkgIDQuIE1ha2UgdGhlIHJldHJpZXZhbCBvZiBkZWJ1ZyBjYXRlZ29yaWVzIHRocmVhZCBzYWZlCgoyMDE1LTA5LTI5IDIyOjU3OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogYWRkIHNvbWUgR0wgZGVidWcgc3RhdGVtZW50cyB0byBzaG93IHVwIGluIEdMIHRyYWNlcwoKMjAxNS0wOC0zMCAxNzoxMTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBtb3JlIGNsZWFuLXVwcwoJICBSZW1vdmUgdW51c2VkIGZ1bmN0aW9uczsgbW92ZSBHc3RNM1U4IHN0cnVjdCBpbnRvIC5jIGZpbGUsCgkgIGFuZCBpbmRlbnQgdGhlIGhlYWRlciBzbyBpdCdzIG5pY2UgdG8gcmVhZC4KCjIwMTUtMDgtMzAgMTc6MDE6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHM6IG0zdThwbGF5bGlzdDogZml4IHNpbGx5IHF1ZXVlIGl0ZXJhdGlvbiBjb2RlCgoyMDE1LTA4LTMwIDE2OjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IG1vcmUgbWlub3IgcGxheWxpc3RfcmVuZGVyKCkgY2xlYW4tdXBzCgkgIE1vdmUgdGhlIFRBRyBkZWZpbmVzIGRpcmVjdGx5IGludG8gdGhlIGNvZGUsIG5vdCBzdXJlIHdoYXQKCSAgdGhlaXIgcHVycG9zZXMgaXMsIHRoZXNlIGFyZSBwcmludGYgZm9ybWF0IHN0cmluZ3Mgc28gaGF2aW5nCgkgIHRoZW0gZGlyZWN0bHkgYXMgbGl0ZXJhbHMgaW4gdGhlIGNvZGUgd2hlcmUgdGhleSdyZSB1c2VkCgkgIG1ha2VzIHRoZSBjb2RlIGVhc2llciB0byBmb2xsb3cuCgoyMDE1LTA4LTMwIDE2OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IG1vdmUgZW50cnkgcmVuZGVyaW5nIGludG8gcmVuZGVyX3BsYXlsaXN0KCkKCSAgTWFrZXMgdGhlIGNvZGUgZWFzaWVyIHRvIGZvbGxvdyBhbmQgYXZvaWRzIHVubmVjZXNzYXJ5IHRlbXBvcmFyeQoJICBzdHJpbmdzLCBzaW5jZSB3ZSBjYW4ganVzdCBhcHBlbmQgdG8gdGhlIHBsYXlsaXN0IEdTdHJpbmcgZGlyZWN0bHkuCgoyMDE1LTA4LTMwIDE2OjI0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IHNpbXBsaWZ5IGdzdF9tM3U4X3BsYXlsaXN0X3JlbmRlcigpCgkgIFJlbW92ZSBwbGF5bGlzdF9zdHIgR1N0cmluZyB2YXJpYWJsZSBmcm9tIEdzdE0zVThQbGF5bGlzdCBzdHJ1Y3QsCgkgIHNpbmNlIGl0J3Mgb25seSB1c2VkIHRlbXBvcmFyaWx5IGluIHBsYXlsaXN0X3JlbmRlcigpLiBNaWdodCBqdXN0CgkgIGFzIHdlbGwga2VlcCBpdCBsb2NhbCB0aGVuLgoKMjAxNS0wOC0zMCAxNTo1NTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzOiByZW1vdmUgdW51c2VkIG1hY3JvIGFuZCBkaXJlY3QgZ2lvIHVzYWdlCgoyMDE1LTA5LTMwIDAwOjM2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggZG93bnN0cmVhbSBrZXkgdW5pdCBldmVudHMgaGFuZGxpbmcgd2l0aCBobHNzaW5rCgkgIFRoZSBidWZmZXIgdGltZXN0YW1wcyBpbiB0aGUgY29sbGVjdCBmdW5jdGlvbiB3aWxsIGFscmVhZHkgYmUKCSAgcnVubmluZyB0aW1lLCBkb24ndCB0cnkgdG8gY29udmVydCB0aGVtIGFnYWluIHRvIHJ1bm5pbmcgdGltZSwKCSAgdGhpcyB3b3VsZCB5aWVsZCBDTE9DS19USU1FX05PTkUgbm93IHRoYXQgdGhlIHNlZ21lbnQgaXMgc2hpZnRlZAoJICB0byBhY2NvdW50IGZvciBuZWdhdGl2ZSBkdHMuCgkgIFRoaXMgZml4ZXMgeDI2NGVuYyAhIG1wZWd0c211eCAhIGhsc3NpbmssIHdoaWNoIHdhcyBicm9rZW4KCSAgYmVjYXVzZSBtcGVndHNtdXggd291bGQgc2VuZCBhIGRvd25zdHJlYW0ga2V5IHVuaXQgZXZlbnQgd2l0aAoJICBydW5uaW5nIHRpbWUgTk9ORSBhbmQgdGhlbiBobHNzaW5rIHdvdWxkIGltbWVkaWF0ZWx5IHNlbmQKCSAgYW5vdGhlciBvbmUgdXBzdHJlYW0gYW5kIGl0IHdvdWxkIGp1c3QgYmUgYSBmbG9vZCBvZiBmb3JjZQoJICBrZXlmcmFtZSBldmVudHMgaW4gYm90aCBkaXJlY3Rpb25zIGFmdGVyIHRoZSBmaXJzdCBvbmUuIFRoaXMKCSAgd291bGQgdGhlbiBicmVhayBobHNzaW5rIGJlY2F1c2UgaXQgdXNlcyBtdWx0aWZpbGVzaW5rIGluCgkgIG5leHQtZmlsZT1rZXktdW5pdC1ldmVudCBtb2RlLCBhbmQgc3RhcnRpbmcgYSBuZXcgZmlsZSBhZnRlcgoJICBldmVyeSBmZXcga0IgZG9lcyBub3Qgd29yayB3ZWxsIGZvciBITFMuCgoyMDE1LTA4LTIwIDE3OjM1OjA0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkgIG9wZW5jdjogZXJvZGU6IHJlbW92ZSBub24taXAgdHJhbnNmb3JtIGZ1bmMKCSAgVHJhbnNmb3JtIGlzIHNldCB0byBiZSBkb25lIGluIHBsYWNlIGluIGdzdGN2ZGlsYXRlZXJvZGUuYywgc28gdGhlIGluLXBsYWNlCgkgIHRyYW5zZm9ybSBmdW5jdGlvbiBpcyBhbHdheXMgdXNlZCBhbmQgdGhlIG90aGVyIGlzIHJlZHVuZGFudC4gUmVtb3ZpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4ODUKCjIwMTUtMDgtMjAgMTc6MjM6NDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkgIG9wZW5jdjogZGlsYXRlOiByZW1vdmUgbm9uLWlwIHRyYW5zZm9ybSBmdW5jCgkgIFRyYW5zZm9ybSBpcyBzZXQgdG8gYmUgZG9uZSBpbiBwbGFjZSBpbiBnc3RjdmRpbGF0ZWVyb2RlLmMsIHNvIHRoZSBpbi1wbGFjZQoJICB0cmFuc2Zvcm0gZnVuY3Rpb24gaXMgYWx3YXlzIHVzZWQgYW5kIHRoZSBvdGhlciBpcyByZWR1bmRhbnQuIFJlbW92aW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODg1CgoyMDE1LTA5LTI5IDIwOjAwOjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2UgZ3N0X29wZW5jdl92aWRlb19maWx0ZXJfc2V0X2luX3BsYWNlKCkKCSAgVXNpbmcgdGhlIGdzdF9iYXNlX3RyYW5zZm9ybSBmdW5jdGlvbiBkaXJlY3RseSB3b24ndCB3b3JrLiBOZWVkIHRvIHVzZQoJICBnc3Rfb3BlbmN2X3ZpZGVvX2ZpbHRlcl9zZXRfaW5fcGxhY2UoKS4KCjIwMTUtMDktMjkgMTc6MDA6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogY2hlY2sgZm9yIGhhYXIgY2FzY2FkZSBmaWxlcyBwYXRoCgkgIFdoZW4gcnVubmluZyBHU3RyZWFtZXIgZnJvbSB1bmluc3RhbGxlZCBzb3VyY2VzLCB0aGUgbG9jYXRpb24gb2YgdGhlIGhhYXIKCSAgY2FzY2FkZSBmaWxlcyB3aWxsIGJlIGxvY2FsLiBDaGVjayBpZiBydW5uaW5nIGluIHVuaW5zdGFsbGVkIGFuZCBzZXQgdGhlCgkgIGZpbGUgcGF0aHMgYWNjb3JkaW5nbHkuCgoyMDE1LTA5LTI2IDE3OjAyOjA5ICswODAwICBKb2huIENoYW5nIDxyOTc5MjIxNTNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2NTYKCjIwMTUtMDktMjkgMTM6MzE6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgZ2xpYiB2ZXJzaW9uCgkgIFJlbW92ZSB3ZWlyZCB1c2Ugb2YgcHJpdmF0ZSBndHlwZSBkZWZpbmVzIGFuZCBmaXggY29tcGlsYXRpb24KCSAgd2l0aCBvbGRlciBnbGliIHZlcnNpb25zIHN1Y2ggYXMgMi4zNi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc1NAoKMjAxNS0wOS0yOSAxMzo1Mjo0NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkgIG9wZW5jdjogY3ZsYXBsYWNlOiBhZGQgc2NhbGUgYW5kIHNoaWZ0IHByb3BlcnRpZXMKCSAgQWRkIHNjYWxlIGFuZCBzaGlmdCBwcm9wZXJ0aWVzIHNvIHRoZXNlIGNhbiBiZSB1c2VkIHRvIHR3ZWFrIHRoZSB2YWx1ZXMKCSAgdXNlZCBpbiBjdkNvbnZlcnRTY2FsZSgpIGluc3RlYWQgb2YgdXNpbmcgb25seSBkZWZhdWx0cy4KCjIwMTUtMDgtMjggMTY6MjQ6MjQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJICBxdHNpbms6IGV4cGxpY2l0ZWx5IGZhbGx0aHJvdWdoIHN3aXRjaCBzdGF0ZW1lbnQKCSAgSW4gY2FzZSByZXQgaXMgRmFsc2UsIGZhbGx0aHJvdWdoIHRvIGRlZmF1bHQgY2FzZS4KCSAgQ0lEICMxMzIwNzA1CgoyMDE1LTA4LTI4IDE2OjEzOjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogYWRkIGJyZWFrIHRvIHN3aXRjaCBjYXNlCgkgIEV2ZW4gdGhvdWdoIGFsbCBjYXNlcyBpbnNpZGUgVkMxX1NUUkVBTV9GT1JNQVRfQVNGIGFyZSBnb3RvIG9yCgkgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCksIGFkZCBhIGJyZWFrIGF0IHRoZSBlbmQgdG8gYXBwZWFzZSBDb3Zlcml0eS4KCSAgQ0lEICMxMzIwNzA2CgoyMDE1LTA5LTI4IDIwOjU2OjU2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZml4IGxlYWsgb2YgdGFnIHNhbXBsZXMgaW4gdGhlIHRhZyBsaXN0CgkgIE1vdmUgaGFuZGxpbmcgb2YgYSBHc3RTYW1wbGUgaW4gYSBzZXBhcmF0ZSBmdW5jdGlvbiwgYW5kIHVucmVmIHRoZQoJICBzYW1wbGUgYWZ0ZXIgY2FsbGluZyBpdC4gbGliYXNzIGNvcGllcyB0aGUgZm9udCBkYXRhIHNvIHdlIGRvbid0IG5lZWQgdG8KCSAga2VlcCBpdCBhcm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3NTkKCjIwMTUtMDktMjggMjA6MzA6MTcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBmaXggZ2FwIGV2ZW50IGxlYWsgYW5kIGludmFsaWQgcmV0dXJuIHZhbHVlCgkgIFdlIGRvbid0IHdhbnQgdGhlIGdhcCBldmVudCB0byBiZSBmb3J3YXJkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc1OQoKMjAxNS0wOS0yOSAxNjoxNzoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJICBudmVuYzogY2FsbCB0aGUgcGFyZW50IGNsYXNzIG9uIEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgoyMDE1LTA5LTE3IDE2OjU5OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiB1c2UgdGhlIGRlZmF1bHQgR0wgY29udGV4dCBkZWJ1ZyBjYXRlZ29yeQoKMjAxNS0wNy0zMCAxNjo0MjozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9udmVuYy9NYWtlZmlsZS5hbToKCSogc3lzL252ZW5jL1JFQURNRToKCSogc3lzL252ZW5jL1RPRE86CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5oOgoJKiBzeXMvbnZlbmMvZ3N0bnZlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52ZW5jLmg6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52aDI2NGVuYy5oOgoJICBBZGQgTnZpZGlhIGJhc2VkIGhhcmR3YXJlIGVuY29kZXIgZWxlbWVudAoJICBDdXJyZW50bHkgb25seSBoMjY0IGlzIHN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDA1CgoyMDE1LTA5LTI5IDAwOjI1OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0azogZml4IGFzc2VydGlvbiB3aGVuIHRoZSBlbGVtZW50IGhhcyBubyBwZWVyCgkgIFdoZW4gcHJveHlpbmcga2V5Ym9hcmQvbmF2aWdhdGlvbi9tb3VzZSBldmVudHMsIG9ubHkgdW5yZWYgYSBzdWNjZXNzZnVsbHkKCSAgcmV0cmVpdmVkIHBlZXIgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzM4CgoyMDE1LTA5LTI4IDE1OjMwOjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvYWxzYW1pZGlzcmMuYzoKCSogZ3N0L21pZGkvYWxzYW1pZGlzcmMuaDoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBSZXZlcnQgIm1pZGk6IGFkZCBhbiBBTFNBIE1JREkgc2VxdWVuY2VyIHNvdXJjZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjZDdmNGU1MjQ3MThhMmY3NTQ2Nzg1MjIzNWU0ZTEzZDY0ZDJhYzgyLgoKMjAxNS0wOS0yOCAyMjozMTowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IHNldCB0aGUgY29udGV4dCBvbiB0aGUgZWxlbWVudCBvbiBhIGNvbnRleHQgcXVlcnkKCSAgT3RoZXJ3aXNlIGl0J3MgcG9zc2libGUgdG8gbG9zZSB0aGUgY29udGV4dCBpbmZvcm1hdGlvbiBpZiB0aGUKCSAgY29udGV4dCBpcyBvbmx5IHByb3BhZ2F0ZWQgdGhyb3VnaCBxdWVyaWVzLgoKMjAxNS0wOS0yOCAyMjoyMDoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzIGZvciBHc3RFbGVtZW50OjpzZXRfY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTc5CgoyMDE1LTA4LTA3IDE1OjI4OjU0ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL2Fsc2FtaWRpc3JjLmM6CgkqIGdzdC9taWRpL2Fsc2FtaWRpc3JjLmg6CgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogYWRkIGFuIEFMU0EgTUlESSBzZXF1ZW5jZXIgc291cmNlCgkgIFRoZSBhbHNhbWlkaXNyYyBlbGVtZW50IGFsbG93cyB0byBnZXQgaW5wdXQgZXZlbnQgZnJvbSBBTFNBIE1JREkKCSAgc2VxdWVuY2VyIGRldmljZXMsIGFuZCBwb3NzaWJseSBjb252ZXJ0IHRoZW0gdG8gc291bmQgdXNpbmcgc29tZQoJICBkb3duc3RyZWFtIGVsZW1lbnQgbGlrZSBmbHVpZGRlYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY4NwoKMjAxNS0wOC0yOCAxNjozNTozOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcmVtb3ZlIG92ZXJ3cml0dGVuIHZhbHVlCgkgIFZhbHVlIGluIHRleCBpcyBvdmVyd3JpdHRlbiBiZWZvcmUgYmVpbmcgdXNlZC4gUmVtb3ZpbmcgaXQuCgkgIENJRCAxMzIwNzE1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyNTMKCjIwMTUtMDktMDIgMjM6NDU6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvZ3N0cXRnbC5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkgIHF0OiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcvcnVubmluZyBvbiBhbmRyb2lkCgkgIEluY2x1ZGluZzoKCSAgLSBOZWNlc3NhcnkgY29uZmlndXJlIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBjb21waWxlIHRpbWUgcGxhdGZvcm0gY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IHJ1bnRpbWUgcXQgYW5kcm9pZCBwbGF0Zm9ybSBkZXRlY3Rpb24KCSAgLSBFc2NhcGluZyBHTHN5bmMgZGVmaW5pdGlvbiB3aXRoIFF0J3MgR0xFUzIgaW1wbGVtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOS0wMiAyMzo0MDozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogZG9uJ3QgdXNlIENQUEZMQUdTIGZvciB0b29scyB0aGF0IGNhbm5vdCB1c2UgdGhlbQoJICBGb3IgZXhhbXBsZSBtb2Mgd2lsbCBiYWlsIG91dCB3aGVuIGdpdmVuIGFyZ3VtZW50cyBpdCBkb2VzIG5vdAoJICBrbm93IGFib3V0LiAgVGhlIG1vYyBzcGVjaWZpYyBNT0NfQ1BQRkxBR1MgY2FuIHN0aWxsIGJlIHVzZWQKCSAgdG8gcGFzcyBmbGFncyB0byBtb2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMDIgMjM6Mzk6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IHJlbmFtZSBsaWJyYXJ5IHRvIGluY2x1ZGUgZ3N0IHByZWZpeAoJICBsaWJxdHNpbmsgLT4gbGliZ3N0cXRzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDgtMzEgMTk6MjE6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHNwcmlua2xlIHNvbWUgZGVidWcgbWFya2VycyB0byBlYXNlIGRlYnVnZ2luZwoKMjAxNS0wOC0zMSAxOToxODoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2wvdXRpbHM6IGFkZCBhIGZ1bmN0aW9uIHRvIGluc2VydCBhIGRlYnVnIG1hcmtlcgoJICBUaGVzZSBtYXJrZXJzIGFyZSB2aXNpYmxlIGluIHRvb2xzIHRoYXQgcmVjb3JkIHRoZSBHTCBmdW5jdGlvbiBjYWxscwoJICBzdWNoIGFzIGFwaXRyYWNlLCBldCBhbC4KCSAgTWFrZXMgaXQgZWFzaWVyIHRvIG1hdGNoIHVwIEdMIGRyYXcgY29tbWFuZHMgd2l0aCBzcGVjaWZpYyBlbGVtZW50cy4KCjIwMTUtMDgtMzEgMTk6MTc6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZGVidWcuaDoKCSAgZ2w6IGFkZCBzb21lIGRlYnVnZ2luZyBwcm90b3R5cGVzCgoyMDE1LTA5LTI2IDE5OjE5OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogcmVtb3ZlIHVudXNlZCBkcmF3X3VubG9ja2VkIGZ1bmN0aW9uCgkgIFRoZSBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5IGRyYXcgYW55d2F5IGFuZCBpcyBsZWZ0b3ZlciBmcm9tCgkgIFgxMSdzIHNwZWNpZmljIHRocmVhZGluZyByZXF1aXJlbWVudHMgdGhhdCBubyBsb25nZXIgYXBwbHkuCgoyMDE1LTA5LTI3IDEzOjA3OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFNlbmQgZ2FwIHVwZGF0ZXMgdG8gdGhlIHNlZ21lbnQgc3RvcCBkdXJpbmcgc3RpbGxzCgkgIElnbm9yZSB0aGUgbm9ybWFsIGdhcCB0aHJlc2hvbGQgZm9yIGxhZ2d5IHN0cmVhbXMgYW5kCgkgIGltbWVkaWF0ZWx5IGNhdGNoIGFsbCBzdHJlYW1zIHVwIHRvIHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQKCSAgd2hlbiBwcm9jZXNzaW5nIGdhcCB1cGRhdGVzIGZvciBhIHNlZ21lbnQgZHVyaW5nIGEKCSAgc3RpbGwgZnJhbWUgc2VxdWVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2ODAKCjIwMTUtMDktMjcgMDA6MjQ6MjQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBSZXZlcnQgImR2ZHNwdTogcmVuZGVyIHRvIEFZVVYgb3ZlcmxheSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1MDE2YTczMTkwNTk1NTA1ZGMzOGI1NGY4ZjlhMDhjNGYxODBmM2E2LgoKMjAxNS0wOS0yNyAwMDoyNDoyMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgUmV2ZXJ0ICJkdmRzcHU6IHJlbmRlciB0byBBUkdCIG92ZXJsYXkgaW5zdGVhZCBvZiBBWVVWIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGRkM2U5ZGViMmFhNjk1YTM5MWI1OGYyNGQ4NmEzYzAwYmJjMTI1OGEuCgoyMDE1LTA5LTI3IDAwOjI0OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgUmV2ZXJ0ICJkdmRzcHU6IGhhbmRsZSBmcmFtZSBzaXplIGV2ZW50IGZyb20gdXBzdHJlYW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDZhYWFhNmMzMDliOGE4ZjZlMjE4MTQyZmQ1OTQ0ZjVkMjRmMDk1Yy4KCjIwMTUtMDktMjcgMDA6MjQ6MTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgUmV2ZXJ0ICJkdmRzcHU6IGNhY2hlIG92ZXJsYXkgY29tcG9zaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWFiYjhhMWE2ODM3MmY3NTBjNjNiOWI2NTg2ZTE4ZTgyOTc0NTc3NC4KCjIwMTUtMDktMjcgMDA6MjQ6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgUmV2ZXJ0ICJkdmRzcHU6IGltcHJvdmUgbmVnb3RpYXRpb24gb2Ygb3ZlcmxheSBjb21wb3NpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxODk5ZTJhMDk5OTMyYTdhNzM0ZTc3ODRjMjBiNjI0NTE3MjM3ZTE4LgoKMjAxNS0wOS0xOCAxOTowNzo0NyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBmaXggcGdzIHBhbGV0dGUgY29sb3JzCgkgIFUgYW5kIFYgd2VyZSBpbnZlcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjM5CgoyMDE0LTA4LTI3IDE2OjQ3OjIyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdTogaW1wcm92ZSBuZWdvdGlhdGlvbiBvZiBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIFN1cHBvcnQgbmVnb3RpYXRpbmcgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24gZG93bnN0cmVhbQoJICB3aGlsZSBub3QgcHJvdmlkaW5nIGl0IHVwc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTA5LTAyIDE3OjQ4OjUwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdTogY2FjaGUgb3ZlcmxheSBjb21wb3NpdGlvbgoJICBUaGlzIGF2b2lkcyByZW5kZXJpbmcgdGhlIG92ZXJsYXkgYnVmZmVyIGZvciBlYWNoIHZpZGVvIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTA4LTMwIDIyOjA4OjAxICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBoYW5kbGUgZnJhbWUgc2l6ZSBldmVudCBmcm9tIHVwc3RyZWFtCgkgIEFuIElEWCBmaWxlIG9yIGNvZGVjX2RhdGEgbm9ybWFsbHkgY29udGFpbnMgdGhlIG9yaWdpbmFsIGZyYW1lIHNpemUgb2YKCSAgdGhlIHZpZGVvLiBBbGxvdyB1cHN0cmVhbSB0byBwcm92aWRlIHRoaXMgaW5mb3JtYXRpb24gYnkgc2VuZGluZyBhCgkgIGN1c3RvbSBldmVudCwgd2hpY2ggd2lsbCBhbGxvdyBzY2FsaW5nIHRoZSBvdmVybGF5IGNvcnJlY3RseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0xMi0wNSAyMTo1OToxOCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGFsbG93IHN1ZmZpeCBpbiBkdmQgZXZlbnQgbmFtZSB0byBhbGxvdyBtdWx0aXBsZSBzdGlja3kgZHZkIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDE1LTA0LTA3IDE0OjM4OjA4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IHJlbmRlciB0byBBUkdCIG92ZXJsYXkgaW5zdGVhZCBvZiBBWVVWCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDEtMjMgMTc6NTk6MDEgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IHJlbmRlciB0byBBWVVWIG92ZXJsYXkKCSAgSW5zdGVhZCBvZiBvbmx5IHN1cHBvcnRpbmcgd3JpdGluZyBTUFUgZGF0YSBkaXJlY3RseSB0byBZVVYgZnJhbWVzLAoJICByZW5kZXIgdGhlIFNQVSBkYXRhIHRvIGFuIGludGVybWVkaWF0ZSBBWVVWIG92ZXJsYXkgYnVmZmVyLiBUaGUgb3ZlcmxheQoJICBkYXRhIGlzIHRoZW4gYXR0YWNoZWQgdG8gdGhlIHZpZGVvIGZyYW1lIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgb3ZlcmxheQoJICBjb21wb3NpdGlvbiwgb3RoZXJ3aXNlIHRoZSBBWVVWIG92ZXJsYXkgaXMgYmxlbmRlZCB0byB0aGUgdmlkZW8gZnJhbWUuCgkgIEZvciB0aGUgUEdTIGZvcm1hdCwgdGhlIG92ZXJsYXkgYnVmZmVyIHNpemUgaXMgc2V0IHRvIHRoZSBzaXplIG9mIHRoZQoJICBDb21wb3NpdGlvbiBXaW5kb3csIGFuZCBpdHMgcG9zaXRpb24gaW4gdGhlIG92ZXJsYXkgY29tcG9zaXRpb24gaXMgc2V0CgkgIHRvIHRoZSB3aW5kb3cgcG9zaXRpb24uIFRoZSBvYmplY3RzIHRvIHJlbmRlciBhcmUgbm93IGNyb3BwZWQgd2hlbiB0aGUKCSAgY3JvcHBpbmcgZmxhZyBpcyBzZXQuCgkgIEZvciB0aGUgVm9ic3ViIGZvcm1hdCwgdGhlIG92ZXJsYXkgYnVmZmVyIHNpemUgaXMgc2V0IHRvIHRoZSBzaXplIG9mIHRoZQoJICBEaXNwbGF5IEFyZWEuCgkgIE9uY2UgcmVuZGVyZWQsIHRoZSBvdmVybGF5IGNvbXBvc2l0aW9uIHJlY3RhbmdsZSBpcyBub3cgbW92ZWQgYW5kIHNjYWxlZAoJICB0byBmaXQgdGhlIHZpZGVvIG91dHB1dCBzaXplLCB0byBhdm9pZCBjbGlwcGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wOS0wMiAxNzowNzo0OSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IHBhc3MgZHZkc3B1IGFyZ3VtZW50IHRvIHNldF9jYXBzIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDE1LTA5LTE4IDE5OjE1OjQ1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IHNraXAgdW5uZWVkZWQgcmVhZGluZyBvZiBSTEUgZGF0YQoJICBUaGUgUkxFIGRhdGEgd2FzIGJlaW5nIHJlYWQgZm9yIGR1bXBpbmcgdGhlIFNQVSBpbWFnZSBldmVuIHdoZW4gdGhlCgkgIERVTVBfRlVMTF9JTUFHRSBtYWNybyB3YXMgbm90IHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxNS0wOC0yOSAxOToxNjozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjaGVjazogQWRkIHRlc3QgZm9yIHZpZGVvYWdncmVnYXRvciBzaW5rcGFkcyBiZWluZyBzb3J0ZWQgYnkgem9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyODUKCjIwMTUtMDktMjYgMTA6MjE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9taXhlcjogZml4IGRlYWRsb2NrIHdoZW4gR19ESVNBQkxFX0FTU0VSVCBpcyBub3QgZGVmaW5lZAoJICBUaGlzIG1ha2VzIHRoZSBhdWRpb21peGVyIHVuaXQgdGVzdCB0aW1lIG91dCBpbiBtYXN0ZXIuCgkgIEJyb2tlIHdpdGggNTg3ZTdjNAoKMjAxNS0wOS0yNiAxMDo0OTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2g6IEZpeCB1bml0IHRlc3QgYWZ0ZXIgaW50ZXJuYWwgQVBJIGNoYW5nZQoKMjAxNS0wOC0yNSAxNzozOTozMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IEZpeCB0eXBvIGluIGdvdG8gdmFyaWFibGUgbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDU3CgoyMDE1LTA4LTE4IDE0OjE2OjExICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjcmVhdGUgc3JjIHBhZHMgZm9yIHN1YnRpdGxlIHN0cmVhbXMuCgkgIENyZWF0ZSBzcmMgcGFkcyBmb3IgUmVwcmVzZW50YXRpb25zIHRoYXQgY29udGFpbiB0aW1lZC10ZXh0IHN1YnRpdGxlcywKCSAgYm90aCB3aGVuIHRoZSBzdWJ0aXRsZXMgYXJlIGVuY2Fwc3VsYXRlZCBpbiBJU08gQk1GRiAoaS5lLiwgdGhlCgkgIFJlcHJlc2VudGF0aW9uIGhhcyBtaW1lVHlwZSAiYXBwbGljYXRpb24vbXA0IikgYW5kIHdoZW4gdGhleSBhcmUKCSAgdW5lbmNhcHN1bGF0ZWQgKGkuZS4sIHRoZSBSZXByZXNlbnRhdGlvbiBoYXMgbWltZVR5cGUKCSAgImFwcGxpY2F0aW9uL3R0bWwreG1sIikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3NzQKCjIwMTUtMDktMjYgMDA6MTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgZ3N0X3NlZ21lbnRfdG9fcG9zaXRpb24oKQoKMjAxNS0wOC0zMSAxNjoxMjo0MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgZm9yd2FyZCBRT1MgZXZlbnRzIHRvIHNpbmtwYWRzIHRoYXQgaGFkIG5vIGJ1ZmZlciB5ZXQKCSAgT3RoZXJ3aXNlIHRoZXkgd2lsbCByZWNlaXZlIGEgUU9TIGV2ZW50IHRoYXQgaGFzIGVhcmxpZXN0X3RpbWU9MCAoYmVjYXVzZSB3ZQoJICBjYW4ndCBoYXZlIG5lZ2F0aXZlIHRpbWVzdGFtcHMpLCBhbmQgY29uc2lkZXIgdGhlaXIgYnVmZmVyIGFzIHRvbyBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQzNTYKCjIwMTUtMDktMjIgMTY6MTc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IEltcGxlbWVudCBsYXp5LWxvYWRpbmcgb2YgZXh0ZXJuYWwgcGVyaW9kcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTIxIDIxOjA1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogTG9hZCBPbkxvYWQgZXh0ZXJuYWwgcmVzb3VyY2VzIGltbWVkaWF0ZWx5IGluc3RlYWQgb2Ygb24gZGVtYW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMDggMTM6MzY6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBBZGQgc3VwcG9ydCBmb3IgbG9hZGluZyBleHRlcm5hbCBTZWdtZW50TGlzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOS0wOCAxMzowNDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEFkZCBzdXBwb3J0IGZvciBsb2FkaW5nIGV4dGVybmFsIEFkYXB0YXRpb25TZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDgtMjEgMTY6NDA6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBJbXBsZW1lbnQgbG9hZGluZyBvZiBleHRlcm5hbCBQZXJpb2Qgbm9kZXMKCSAgVGhlIHNhbWUgaGFzIHRvIGJlIGRvbmUgZm9yIEFkYXB0YXRpb25TZXQgYW5kIFNlZ21lbnRMaXN0IG5vZGVzIHN0aWxsLgoJICBBbHNvIHRoaXMgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCB0aGUgc2VtYW50aWNzOiBieSBkZWZhdWx0IFBlcmlvZCAoYW5kCgkgIG90aGVyIG5vZGVzKSBzaG91bGQgb25seSBiZSBsb2FkZWQgd2hlbiBuZWVkZWQsIG5vdCBpbiB0aGUgdmVyeSBiZWdpbm5pbmcuIFdlCgkgIG5lZWQgdG8gaW1wbGVtZW50IGxhenkgbG9hZGluZyBmb3IgdGhlbSwgd2hpY2ggbWVhbnMgYWRqdXN0aW5nCgkgIGdzdF9tcGRfY2xpZW50X3NldHVwX21lZGlhX3ByZXNlbnRhdGlvbigpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA4LTIxIDEyOjA2OjA3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1wZHBhcnNlcjogU3RvcmUgYW4gVVJJIGRvd25sb2FkZXIgaW4gdGhlIHBhcnNlciBmb3IgZG93bmxvYWRpbmcgYWRkaXRpb25hbCBNUEQgcmVzb3VyY2VzIGlmIG5lZWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA3LTEwIDE4OjU2OjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IFBhcnNlIHhsaW5rIGF0dHJpYnV0ZXMgZnJvbSBQZXJpb2QsIEFkYXB0YXRpb25TZXQgYW5kIFNlZ21lbnRMaXN0CgkgIFdlIHN0aWxsIGhhdmUgdG8gZG8gc29tZXRoaW5nIHVzZWZ1bCB3aXRoIHRoZW0sIGxpa2UgYWN0dWFsbHkgbG9hZGluZyB0aGUKCSAgY29udGVudCBiZWhpbmQgdGhlIFVSTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOS0xNiAyMzozODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IGhhbmRsZSByZWxhdGl2ZSBhbmQgbm9uLUhUVFAgVVJJcyBmb3IgdGhlIGhlYWRlcnMvaW5kaWNlcwoJICBnc3RfdXJpX2pvaW5fc3RyaW5ncygpIHdpbGwgcmV0dXJuIHRoZSBzZWNvbmQgcGFyYW1ldGVyIGlmIGl0IGlzIGFuIGFic29sdXRlCgkgIFVSSS4gTm8gbmVlZCB0byBkbyBhICh3cm9uZykgY2hlY2sgaWYgdGhlIFVSSSBpcyBhYnNvbHV0ZSBvciBub3QgYmVmb3JlaGFuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEzNAoKMjAxNS0wOS0xNiAyMzoxMjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IElmIG5vIEluaXRpYWxpemF0aW9uIGlzIHByZXNlbnQgaW4gdGhlIFNlZ21lbnRCYXNlLCBhc3N1bWUgaXQgaXMgYmVmb3JlIHRoZSBpbmRleFJhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMzIKCjIwMTUtMDktMjUgMjM6NTE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNi4wID09PQoKMjAxNS0wOS0yNSAyMzozMzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNi4wCgoyMDE1LTA5LTI1IDIzOjAxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMjUgMTA6MzI6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiB1c2UgR0xfRUxFTUVOVF9BUlJBWV9CVUZGRVIgZm9yIHZibyBpbmRpY2VzCgkgIEZpeGVzIHRoaXMgZXJyb3Igd2l0aCBjaHJvbWl1bSBncHUgcHJvY2VzczoKCSAgR0xfSU5WQUxJRF9PUEVSQVRJT04sIGdsQmluZEJ1ZmZlcjogYnVmZmVyIGJvdW5kIHRvIG1vcmUgdGhhbiAxIHRhcmdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjE4CgoyMDE1LTA5LTE3IDE0OjE3OjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZml4IHRleHR1cmUgbGVhayBpbiBfZ2xfbWVtX2NvcHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ1NgoKMjAxNS0wOS0yNCAxODo1MTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBPbmx5IHJ1biBmcm9tIHRoZSBtYWluIHRocmVhZCBpbiBzdG9wKCkgaWYgd2UgY3JlYXRlZCB0aGUgd2luZG93CgkgIFdlJ3JlIG5vdCBkb2luZyBhbnl0aGluZyBhdCBhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgaW4gb3RoZXIgY2FzZXMuCgoyMDE1LTA5LTI0IDE1OjUyOjQwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBXaGVuIHNldHRpbmcgZm9ybWF0IGNoZWNrIGlmIHBlbmRpbmcgZm9ybWF0IGNoYW5nZWQKCSAgSW4gY2FzZSB0aGUgZm9ybWF0IGNoYW5nZWQgZmFzdCBhbmQgdGhlIHBlbmRpbmcgZm9ybWF0IGlzIGRpZmZlcmVudAoJICB0aGFuIHRoZSBjdXJyZW50bHkgc2V0IGJ1dCB0aGUgY3VycmVudGx5IHNldCBpcyBlcXVhbCB0byB0aGUgcGVuZGluZwoJICBvbmUgd2UgY291bGQgZW5kIHVwIGhhdmluZyBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBmaW5hbGx5IHNldCBmb3JtYXQKCSAgYW5kIHRoZSBkYXRhIHN0cmVhbSBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1NDIKCjIwMTUtMDktMjQgMTU6NTE6MjggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBEbyBub3QgZm9yZ2V0IHRvIHJlbGVhc2UgT0JKRUNUX0xPQ0sgb24gZXJyb3IgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NTQyCgoyMDE1LTA5LTI0IDExOjM3OjA0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrdXRpbHMuYzoKCSogZXh0L2d0ay9nc3RndGt1dGlscy5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRmFjdG9yIG91dCBhIGZ1bmN0aW9uIHRvIHJ1biBhIGZ1bmN0aW9uIG9uIG1haW4gdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNTEKCjIwMTUtMDktMjQgMTA6NTE6MzEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBNYXJzaGFsbCBzdGF0ZSBjaGFuZ2VzIGluIHRoZSBtYWluIHRocmVhZAoJICBHdGsgaXMgbm90IE1UIHNhZmUgdGh1cyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgaXMgZG9uZQoJICBpbiB0aGUgbWFpbiB0aHJlYWQgd2hlbiB3b3JraW5nIHdpdGggaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNTEKCjIwMTUtMDktMjMgMTU6NTY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogQWRkIGEgY2xvY2sgZXBvY2ggdGhhdCBpcyB1c2VkIGFzIG9mZnNldCB3aGVuZXZlciByZXN0YXJ0aW5nIHRoZSBjbG9jawoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gcmV0dXJuIHRpbWVzIHN0YXJ0aW5nIGF0IDAgYWdhaW4gYWZ0ZXIgc2h1dHRpbmcgZG93bgoJICBhbiBlbGVtZW50IGZvciBhIHNwZWNpZmljIGlucHV0L291dHB1dCBhbmQgdGhlbiB1c2luZyBpdCBhZ2FpbiBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQyNgoKMjAxNS0wOS0yMiAxOTozNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogRGlzYWJsZSBpbnB1dHMvb3V0cHV0cyBpbiBQQVVTRUQtPlJFQURZIHRvIGFsbG93IGdvaW5nIHRvIFBBVVNFRCBhZ2FpbiBmcm9tIHRoZXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0MjYKCjIwMTUtMDktMjMgMTE6NDI6NTEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3Rrc2luazogRG8gbm90IHNob3cgd2luZG93IHVudGlsIHdlIHJlYWNoIHRoZSBQQVVTRUQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQ1OQoKMjAxNS0wOS0yMiAxNDo0Mzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IE9ubHkgY2hlY2sgc3RyZWFtLT5zZWdtZW50cyBmb3IgYSByZXBlYXRlZCBsYXN0IHNlZ21lbnQgaWYgd2UgaGF2ZSBhIHN0YXRpYyBsaXN0IG9mIHNlZ21lbnRzCgkgIE90aGVyd2lzZSB3ZSdsbCBjcmFzaCwgdHJ5aW5nIHRvIGRlcmVmZW5jZSBOVUxMLiBBbmQgaWYgd2UgaGF2ZSBubyBzdGF0aWMgbGlzdAoJICBvZiBzZWdtZW50cywgd2UgY2FuJ3QgaGF2ZSByZXBlYXRlZCBzZWdtZW50cyBhbnl3YXkuCgkgIFJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjZmUyODcxYTVlM2M1YjFkYjIwNDcwOTI3NjQyYjc3NmUwNTVhODdhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU0MTEKCjIwMTUtMDktMjEgMTk6MDI6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBEcm9wIGluY29ycmVjdCBzdHJlYW0tZm9ybWF0PSJhdmMiIGluIHRlbXBsYXRlIGNhcHMKCjIwMTUtMDktMjEgMTA6NDc6MTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3Rrc2luazogRG8gbm90IHJlIGRlc3Ryb3kgdGhlIEd0a1dpbmRvdyBpZiBkZXN0cm95ZWQgYnkgdGhlIHVzZXIKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZ2V0IGFuIEFTU0VSVC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI0OQoKMjAxNS0wOS0yMSAwODowNDo0MCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogZml4IHJlbmRlcmluZyB3aXRoIHJlY2VudCByZXNpemUgc3RhdGUgdHJhY2tpbmcKCSAgNTU3Y2E2ZmRhNWY4MzFiZTRhYmE1ODE5YmY3YjMwYjI5NmU1NzVjZCBkaWRuJ3QgY2hhbmdlIHRvIHRoZQoJICBuZWNlc3NhcnkgZ3N0X2dsX3dpbmRvd19yZXNpemUoKSBjYWxsIGZvciB0aGUgZGlzcG1hbnggYmFja2VuZC4KCjIwMTUtMDktMTkgMTE6NDY6MzcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGtnbHNpbms6IEhpZGUgYW5kIGNsZWFuIHRoZSBHdGtXaW5kb3cgd2UgbWlnaHQgY3JlYXRlCgkgIFdoZW4gc3RvcHBpbmcgdGhlIHNpbmsgd2Ugc2hvdWxkIGFsd2F5cyBoaWRlIHRoZSB3aW5kb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyNDkKCj09PSByZWxlYXNlIDEuNS45MSA9PT0KCjIwMTUtMDktMTggMTk6NTE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS45MQoKMjAxNS0wOS0xOCAxOTozMTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA5LTE4IDE4OjAwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogT25seSBza2lwIHRoZSByZW1haW5pbmcgcGFydCBvZiBhIEdBUCBidWZmZXIKCSAgV2UgbWlnaHQndmUgcXVldWVkIHVwIGEgR0FQIGJ1ZmZlciB0aGF0IGlzIG9ubHkgcGFydGlhbGx5IGluc2lkZSB0aGUgY3VycmVudAoJICBvdXRwdXQgYnVmZmVyIChpLmUuIHdlIHJlY2VpdmVkIGl0IHRvbyBsYXRlISkuIEluIHRoYXQgY2FzZSB3ZSBzaG91bGQgb25seQoJICBza2lwIHRoZSBwYXJ0IG9mIHRoZSBHQVAgYnVmZmVyIHRoYXQgaXMgaW5zaWRlIHRoZSBjdXJyZW50IG91dHB1dCBidWZmZXIsIG5vdAoJICBhbHNvIHRoZSByZW1haW5pbmcgcGFydC4gT3RoZXJ3aXNlIHdlIGZvcndhcmQgdGhpcyBwYWQgdG9vIGZhciBpbnRvIHRoZSBmdXR1cmUKCSAgYW5kIGJyZWFrIHN5bmNocm9uaXphdGlvbi4KCjIwMTUtMDktMTggMjE6MTQ6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBkaXNhYmxlIHRoZSB0ZXh0dXJlIGNhY2hlIG9uIE9TWAoJICBUaGlzIGEgd29ya2Fyb3VuZCB1bnRpbCB0aGUgaW5jb21wYXRpYmlsaXR5IHdpdGggQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUKCSAgYW5kIG9wZW5nbDMgY29udGV4dHMgaXMgZml4ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3ODYKCjIwMTUtMDktMTcgMTk6NDI6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEtlZXAgYXQgbGVhc3QgdHdvIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlIGluIGxpdmUgbW9kZQoJICBXaGVuIGluIGxpdmUgbW9kZSwgdGhlIHF1ZXVlIG5lZWRzIHRvIGhvbGQgdGhlIGN1cnJlbnRseSBwcm9jZXNzZWQKCSAgYnVmZmVyIGFuZCBvbmUgbW9yZSBhdCBsZWFzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDg1MQoKMjAxNS0wOS0xOCAxMTo1NTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOS0xOCAxNToyODoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGdzdC1pbmRlbnQgZmlsZQoKMjAxNS0wOS0xNyAxOTo1Njo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IHBnczogZml4IHByaW50ZiBmb3JtYXQvYXJndW1lbnQgbWlzbWF0Y2ggaW4gZGVidWcgc3RhdGVtZW50cwoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncyB3aGVuIGV4dHJhIGRlYnVnZ2luZyBpcyBlbmFibGVkIGF0IGNvbXBpbGUgdGltZS4KCjIwMTUtMDktMTcgMTc6NTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSB1bnByZWZpeCBTVEFUSVNUSUNTX01FU1NBR0VfTkFNRSBhZnRlciBhbGwKCSAgSXQgd2FzIG9ubHkgYWRkZWQgZHVyaW5nIDEuNS54IHNvIHdlIG1pZ2h0IGp1c3QgYXMgd2VsbCByZW1vdmUgaXQKCSAgaW1tZWRpYXRlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2ODYKCjIwMTUtMDktMDcgMTY6NTc6MDUgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBwcmVmaXggdGhlIHN0YXRpc3RpY3MgbWVzc2FnZSBuYW1lIG1hY3JvCgkgIEtlZXAgb2xkIGRlZmluZSBhcm91bmQgZm9yIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY4NgoKMjAxNS0wOS0xOCAwMDoxMDoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEhvb2sgdXAgdGhlIHJlY2VudGx5IGFkZGVkIGNoYW5nZV9zdGF0ZSB2ZnVuYy4KCSAgVGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3YXMgaW1wbGVtZW50ZWQsIGJ1dCBub3QgaW5zdGFsbGVkLAoJICBtYWtpbmcgdGhlIGNvbXBpbGVyIGNvbXBsYWluIGFib3V0IHRoZSB1bnVzZWQgZnVuY3Rpb24uCgoyMDE1LTA5LTE4IDAwOjIwOjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgRG9uJ3QgdGhyb3cgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgkgIERpc2FibGUgY29kZSB0aGF0IHdhcm5zIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgd2hlbiBHX0RJU0FCTEVfQVNTRVJUCgkgIGlzIGRlZmluZWQsIGFzIGl0IGlzIGluIHRhcmJhbGxzIGFuZCBwcmUtcmVsZWFzZXMuCgoyMDE1LTA5LTE3IDIyOjE3OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXI6IGZpeCBub24tZXhpc3RlbnQgc2VsZWN0b3Igd2FybmluZwoJICA1NTdjYTZmZGE1ZjgzMWJlNGFiYTU4MTliZjdiMzBiMjk2ZTU3NWNkIGludHJvZHVjZWQgdGhlIHF1ZXVlUmVzaXplCgkgIGNhbGwgd2l0aG91dCBpbXBsZW1lbnRpbmcgdGhlIHNlbGVjdG9yCgoyMDE1LTA5LTE3IDIxOjMxOjM5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogRml4IGdfcmV0dXJuX3ZhbF9pZl9mYWlsIGluIGEgdm9pZCBmdW5jdGlvbgoKMjAxNS0wOS0xNyAxNTowNjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYS92dGRlYzogZml4IG5lZ290aWF0aW9uIGVycm9ycyB3aGVuIHJlc2l6aW5nIGdsaW1hZ2VzaW5rCgkgIEdzdFZpZGVvRGVjb2RlciBoYXMgaXRzIG93biBsb2dpYyBmb3IgZGV0ZWN0aW5nIHdoZW4gdG8gcmVjb25maWd1cmUKCSAgd2hpY2ggdWx0aW1hdGVseSBjYWxscyBkZWNpZGVfYWxsb2NhdGlvbiBhbmQgcmVzdWx0cyBpbiBhIG5ldwoJICB0ZXh0dXJlIGNhY2hlIHRoYXQgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgZnJvbSBvdXIgcmVjb25maWd1cmUgY2hlY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNTYKCjIwMTUtMDktMTcgMTc6MjI6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVxdWVzdCBhIHJlc2l6ZSBvbiBjYXBzLzNkIG1vZGUgY2hhbmdlcwoJICBGaXhlcyBpbmNvcnJlY3QgYXNwZWN0IHJhdGlvIG9uIE9TWCB3aGVuIGNoYW5naW5nIGNhcHMgb3IgdGhlIDNkCgkgIG91dHB1dCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTExCgoyMDE1LTA5LTE3IDE3OjA2OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBnbHdpbmRvdzogYWRkIEFQSSB0byByZXF1ZXN0IGEgcmVzaXplIGV2ZW50IG9uIHRoZSBuZXh0IGRyYXcKCSAgLSBnbGltYWdlc2luayBuZWVkcyB0byBiZSBhYmxlIHRvIHJlc2l6ZSB0aGUgdmlld3BvcnQgb24gYXNwZWN0IHJhdGlvCgkgIGNoYW5nZXMgcmVzdWx0aW5nIGZyb20gZWl0aGVyIGNhcHMgY2hhbmdlcyBvciAzZCBvdXRwdXQgbW9kZSBjaGFuZ2VzLgoJICAtIFBlcmZvcm1pbmcgYSBnbFZpZXdwb3J0IG91dHNpZGUgdGhlIEdzdEdMV2luZG93OjpyZXNpemUgY2FsbGJhY2sKCSAgd2lsbCBub3QgaGF2ZSB0aGUgd2luc3lzJyBzdGFjayBvZiB2aWV3cG9ydHMgcmVxdWlyZWQgdG8gY29ycmVjdGx5CgkgIHBsYWNlIHRoZSBvdXRwdXQgZnJhbWUuCgkgIFByb3ZpZGUgYSBmdW5jdGlvbiB0byByZXF1ZXN0IGEgcmVzaXplIG9uIHRoZSBuZXh0IGRyYXcgZXZlbnQgZnJvbSB0aGUKCSAgd2luc3lzLgoJICBBbHNvIHRyYWNrIHNpemUgY2hhbmdlcyBpbnNpZGUgdGhlIGJhc2UgR3N0R0xXaW5kb3cgY2xhc3MgcmF0aGVyCgkgIHRoYW4gaW4gZWFjaCBzdWJjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTExMQoKMjAxNS0wOS0xNyAxNjo1NToxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbC91cGxvYWRlbGVtZW50OiBmYWlsIGVhcmxpZXIgaWYgd2UgY291bGQgbm90IHVwbG9hZCB0aGUgYnVmZmVyCgoyMDE1LTA5LTE3IDE2OjA1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IHN0b3JlIHRoZSBjb3JyZWN0IGRpbWVuc2lvbiBmcm9tIHRoZSByZXNpemUgZXZlbnRzCgkgIHNtYWxsIHR5cG8gcy93aWR0aC9oZWlnaHQvCgoyMDE1LTA5LTE3IDEzOjQ3OjIzICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYXZkdHB1dGlsOiBmaXggR0Vycm9yIG1lbW9yeSBsZWFrIGR1cmluZyBmYWlsdXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTQyCgoyMDE1LTA5LTE3IDEzOjM1OjAyICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogRml4IEdFcnJvciBsZWFrcyBkdXJpbmcgZmFpbHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE0MAoKMjAxNS0wOS0xNiAwMDoxOTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSAgaW50ZXJ2aWRlb3Npbms6IHJlbmRlciBwcmVyb2xsIGZyYW1lcyBhcyB3ZWxsCgkgIERlcml2ZSBmcm9tIEdzdFZpZGVvU2luayBzbyB0aGF0IHByZXJvbGwgZnJhbWVzIHdpbGwgYXV0b21hdGljYWxseQoJICBnZXQgcmVuZGVyZWQgdG9vLCB1bmxlc3MgdGhlIHNob3ctcHJlcm9sbC1mcmFtZSBwcm9wZXJ0eSBpcyBzZXQgdG8KCSAgRkFMU0UuIEZpeGVzIGludGVydmlkZW9zcmMgb25seSBwaWNraW5nIHVwIGZyYW1lcyBpZiBpbnRlcnZpZGVvc2luawoJICBpcyBpbiBQTEFZSU5HIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDQ5CgoyMDE1LTA5LTE3IDAwOjAxOjU4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbi4KCSAgRml4IHRoZSBuZWdvdGlhdGlvbiBvZiBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbiBieSBjaGVja2luZwoJICBpbnRlcnNlY3Rpb24gd2l0aCB0aGUgcGVlciBjYXBzLCByYXRoZXIgdGhhbiBqdXN0IGFjY2VwdC1jYXBzLAoJICB3aGljaCBtaWdodCBvbmx5IGNoZWNrIHRoZSBwYWQgdGVtcGxhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMTMKCjIwMTUtMDktMDkgMTQ6NDk6MTcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBmb3IgbmVnYXRpdmUgcmVwZWF0IGNvdW50IGluIHNlZ21lbnRzCgkgIEltcGxlbWVudHMgbmVnYXRpdmUgcmVwZWF0IHNlZ21lbnQgZmllbGRzLCBkZWZpbmVkIGluIDUuMy45LjYuMS4KCjIwMTUtMDktMDggMTU6MTQ6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IHByb3Blcmx5IHJlYWQgc2lnbmVkIHIgdmFsdWVzIGZvciBTIGVsZW1lbnRzCgkgIFRoZSBzcGVjIGRlZmluZXMgdGhlc2UgYXMgc2lnbmVkIGluIDUuMy45LjYuMS4KCSAgU2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCB0aGlzIGJlaGF2aW9yLCB3YXJuIGFuZCBkZWZhdWx0IHRvIDAKCSAgKG5vbiByZXBlYXRpbmcpLCB3aGljaCBpcyB0aGUgc3BlYydzIGRlZmF1bHQgd2hlbiB0aGUgdmFsdWUKCSAgaXMgbm90IHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0ODAKCjIwMTUtMDktMDkgMTE6MDU6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1kcHBhcnNlcjogY2F0Y2ggZmFpbHVyZXMgdG8gcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ4MAoKMjAxNS0wOS0xNiAxNzoyODowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogYXZvaWQgdXBkYXRpbmcgdGhlIHZpZXdwb3J0IGluIHRoZSBkcmF3IGxvb3AKCSAgRml4ZXMgZmxhc2hlcy9pbmNvcnJlY3QgYXNwZWN0IHJhdGlvIHdoZW4gcmVzaXppbmcgZ2xpbWFnZXNpbmsgb24gT1NYLgoKMjAxNS0wOS0xNSAyMTo1MDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IHBsYXliYWNrIG9mIGxpdmUgc3RyZWFtcwoJICBkYXNoZGVtdXggc2Vla3MgZWFjaCBsaXZlIHN0cmVhbSB0byBpdHMgY3VycmVudCBmcmFnbWVudCBpbiB0aGUgYmVnaW5uaW5nLCBidXQKCSAgdGhlIGJhc2UgY2xhc3MgZG9lcyBub3Qga25vdyBhYm91dCB0aGlzLiBVcGRhdGUgdGhlIGRlbXV4ZXIgc2VnbWVudCB3aXRoIHRoaXMKCSAgc2VlayBzbyB3ZSBnZW5lcmF0ZSB0aGUgY29ycmVjdCBTRUdNRU5UIGV2ZW50IGFuZCBjYW4gYWN0dWFsbHkgcGxheSB0aGUKCSAgc3RyZWFtLgoJICBUaGlzIG5lZWRzIHNvbWUgcmVmYWN0b3JpbmcgYXQgc29tZSBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA0NwoKMjAxNS0wOS0xNSAxNTozOToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiByZW1vdmUgY2hlY2sgZm9yIG51bWJlciBvZiBjaGFubmVscwoJICBvcHVzIGRlY29kZXIgY2FuIGNvbnZlcnQgZnJvbSBkaWZmZXJlbnQgbnVtYmVyIG9mIGNoYW5uZWxzLCBubwoJICBuZWVkIHRvIGNoZWNrLCBqdXN0IGxldCBpdCBuZWdvdGlhdGUgYW5kIGNyZWF0ZSBhIG5ldyBkZWNvZGVyIGlmCgkgIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA1OQoKMjAxNS0wOS0xNSAxMDowMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBPbmx5IG92ZXJ3cml0ZSBsYXN0IHJldHVybiBpZiBpdCB3YXMgT0sKCSAgUHJldmVudHMgb3ZlcndyaXRpbmcgb3RoZXIgY29uZGl0aW9ucyB0aGF0IHdvdWxkIGJlIG1vcmUgaW1wb3J0YW50LAoJICBzdWNoIGFzIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTA0MgoKMjAxNS0wOS0xNSAwOTo1ODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHJldHVybiB3aGVuIHRyeWluZyB0byBhZHZhbmNlIGluIHN1YmZyYWdtZW50ZWQgc3RyZWFtCgkgIEV2ZW4gaWYgaXQgZG9lc24ndCBhY3R1YWxseSBhZHZhbmNlIHRoZSBzdWJmcmFnbWVudCBpbiB0aGUgZGVmYXVsdCB3YXkKCSAgZm9yIHN0cmVhbXMgdGhhdCBoYXZlIHN1YmZyYWdtZW50cywgaXQgY2FuIGhlbHAgdGhlIGJhc2UgY2xhc3MgdG8gcmV0dXJuCgkgIEVPUyB3aGVuIHRoZXJlIGlzIG5vIG1vcmUgZnJhZ21lbnRzIGluc3RlYWQgb2Ygc2lnbmFsaW5nIGl0IHRoYXQgaXQgc2hvdWxkCgkgIGNvbnRpbnVlIGRvd25sb2FkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDQyCgoyMDE1LTA5LTE1IDExOjM0OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IGJ1ZmZlcnBvb2wgdGFrZSBpbnRvIGFjY291bnQgdmlkZW8gc3RyaWRlIGFsaWdubWVudCByZXF1aXJlbWVudHMKCSAgd2hlbiBhbGxvY2F0aW5nIG1lbW9yeS4gRml4ZXMgY3Jhc2hlcyB3aXRoIGF2ZGVjX2gyNjUgaW4gdGhlIEFWWDIKCSAgY29kZSBwYXRoIHdoaWNoIHJlcXVpcmVzIDMyLWJ5dGUgc3RyaWRlIGFsaWdubWVudCwgYnV0IHRoZQoJICBHc3RBbGxvY2F0aW9uUGFyYW1zIG9ubHkgc3BlY2lmaWVkIGEgMTYtYnl0ZSBhbGlnbm1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMjAKCjIwMTUtMDktMTUgMTM6NDA6NTggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogU2V0IHNlcW51bSBvbiBuZXdseSBjcmVhdGVkIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTAxMgoKMjAxNS0wOS0xMSAyMTozNzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IEZpeCBtaXh1cCBvZiBydW5uaW5nIHRpbWVzIGFuZCBzZWdtZW50IHBvc2l0aW9ucwoJICBXZSBoYXZlIHRvIHF1ZXVlIGJ1ZmZlcnMgYmFzZWQgb24gdGhlaXIgcnVubmluZyB0aW1lLCBub3QgYmFzZWQgb24KCSAgdGhlIHNlZ21lbnQgcG9zaXRpb24uCgkgIEFsc28gcmV0dXJuIHJ1bm5pbmcgdGltZSBmcm9tIEdzdEFnZ3JlZ2F0b3I6OmdldF9uZXh0X3RpbWUoKSBpbnN0ZWFkIG9mCgkgIGEgc2VnbWVudCBwb3NpdGlvbiwgYXMgcmVxdWlyZWQgYnkgdGhlIEFQSS4KCSAgQWxzbyBvbmx5IHVwZGF0ZSB0aGUgc2VnbWVudCBwb3NpdGlvbiBhZnRlciB3ZSBwdXNoZWQgYSBidWZmZXIsIG90aGVyd2lzZQoJICB3ZSdyZSBnb2luZyB0byBwdXNoIGRvd24gYSBzZWdtZW50IGV2ZW50IHdpdGggdGhlIG5leHQgcG9zaXRpb24gYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0xMSAxNjo1Njo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFVzZSBzdHJlYW0gdGltZSBpbiB0aGUgcG9zaXRpb24gcXVlcnkgaW5zdGVhZCBvZiBzZWdtZW50IHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMTEgMTI6MjI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRml4IG1peHVwIG9mIHJ1bm5pbmcgdGltZXMgYW5kIHNlZ21lbnQgcG9zaXRpb25zCgkgIFdlIGhhdmUgdG8gcXVldWUgYnVmZmVycyBiYXNlZCBvbiB0aGVpciBydW5uaW5nIHRpbWUsIG5vdCBiYXNlZCBvbgoJICB0aGUgc2VnbWVudCBwb3NpdGlvbi4KCSAgQWxzbyByZXR1cm4gcnVubmluZyB0aW1lIGZyb20gR3N0QWdncmVnYXRvcjo6Z2V0X25leHRfdGltZSgpIGluc3RlYWQgb2YKCSAgYSBzZWdtZW50IHBvc2l0aW9uLCBhcyByZXF1aXJlZCBieSB0aGUgQVBJLgoJICBBbHNvIG9ubHkgdXBkYXRlIHRoZSBzZWdtZW50IHBvc2l0aW9uIGFmdGVyIHdlIHB1c2hlZCBhIGJ1ZmZlciwgb3RoZXJ3aXNlCgkgIHdlJ3JlIGdvaW5nIHRvIHB1c2ggZG93biBhIHNlZ21lbnQgZXZlbnQgd2l0aCB0aGUgbmV4dCBwb3NpdGlvbiBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTk2CgoyMDE1LTA5LTExIDEyOjIxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCB0aGF0IGdldF9uZXh0X3RpbWUoKSBzaG91bGQgcmV0dXJuIHJ1bm5pbmcgdGltZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTk2CgoyMDE1LTA5LTAzIDE0OjIwOjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgY29uc2lkZXIgcGVyaW9kIHN0YXJ0IHRpbWVzIGluIHBlcmlvZHMgd2l0aCBzZWdtZW50IGxpc3RzIGVpdGhlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjIyCgoyMDE1LTA5LTAzIDEwOjI2OjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBGaXggdW5pdCB0ZXN0IHRoYXQgYXNzdW1lZCB0aGF0IGZyYWdtZW50IHRpbWVzdGFtcHMgc2hvdWxkIGluY2x1ZGUgdGhlIHBlcmlvZCBzdGFydCB0aW1lc3RhbXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDIyMgoKMjAxNS0wOS0wMiAxODozMzo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogRXhwb3J0IHRoZSBwZXJpb2Qgc3RhcnQgdGltZSB0byB0aGUgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjIyCgoyMDE1LTA5LTAyIDE4OjI5OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IFByb3Blcmx5IGltcGxlbWVudCB0aW1lc3RhbXBpbmcgb2YgbXVsdGktcGVyaW9kIHN0cmVhbXMKCSAgRWFjaCBwZXJpb2Qgd2lsbCBzdGFydCBhZ2FpbiB3aXRoIHB0cyAwICsgcGVyaW9kIHByZXNlbnRhdGlvbiBvZmZzZXQsIHdoaWNoIGlzCgkgIGFsc28gZ29pbmcgdG8gYmUgdGhlIHByZXNlbnRhdGlvbiB0aW1lIGluc2lkZSB0aGUgY29udGFpbmVyIHN0cmVhbSBpZiBhbnkuCgkgIEhvd2V2ZXIgYWxsIHBlcmlvZHMgdG9nZXRoZXIgc2hvdWxkIGZvcm0gYSBjb250aW51b3VzIHRpbWVsaW5lLCB3aXRoIHJlZ2FyZCB0bwoJICBzdHJlYW0gdGltZSBhbmQgcnVubmluZyB0aW1lLgoJICBGb3IgbWFraW5nIHRoaXMgcG9zc2libGUgd2Uga2VlcCB0cmFjayBvZiB0aGUgInVzZXIgcmVxdWVzdGVkIHNlZ21lbnQiLCBpLmUuCgkgIHRoZSBzZWVrIGV2ZW50cywgaW5zaWRlIHRoZSBkZW11eGVyIHdpdGhvdXQgYWRqdXN0aW5nIGFueXRoaW5nIGFuZCB0YWtpbmcgdGhpcwoJICBkZW11eGVyIHNlZ21lbnQgb25seSBhcyBvcmllbnRhdGlvbiBmb3IgbW9kaWZpZWQgc2VnbWVudHMgcGVyIHN0cmVhbS4KCSAgVGhpcyBwZXIgc3RyZWFtIHNlZ21lbnRzIHdpbGwgaGF2ZSB0aGVpciBzZWdtZW50LnN0YXJ0IGF0IHB0cyB0aGF0IHdvdWxkIGJlCgkgIHByb2R1Y2VkIGZvciB0aGlzIHN0cmVhbSBpbiB0aGlzIHBlcmlvZCwgYW5kIHRoZSBzZWdtZW50LmJhc2UvdGltZSBhZGp1c3RlZCBzbwoJICB0aGF0IHRoaXMgcHRzIG1hcHMgdG8gdGhlIHJ1bm5pbmcgYW5kIHN0cmVhbSB0aW1lIHRoaXMgcGVyaW9kIHNob3VsZCBoYXZlIGluCgkgIHRoZSBjb250ZXh0IG9mIGFsbCBvdGhlciBwZXJpb2RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjIyCgoyMDE1LTA5LTAxIDEzOjEzOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBTdWJ0cmFjdCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgZnJvbSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2MjZhOGYwYTc0ZjhlYTc0OGI4MTFiNzRiYTllN2FlMmJhZWEyY2NhLgoJICBUaGlzIGFsbG93cyB1cyB0byBnZXQgdGhlIHBsYWluIHByZXNlbnRhdGlvbiBvZmZzZXQgYW5kIHRoZSBwZXJpb2Qgc3RhcnQgdGltZQoJICBzZXBhcmF0ZWx5LiBXZSBoYXZlIHRvIGFkanVzdCB0aGUgdGltZXN0YW1wIGJ5IHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0LCBidXQKCSAgdGhlIHBlcmlvZCBzdGFydCB0aW1lIHNob3VsZCBvbmx5IGFkanVzdCB0aGUgc3RyZWFtIHRpbWUgYW5kIHJ1bm5pbmcgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQwOQoKMjAxNS0wOS0wMSAxMzoxMjo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgImRhc2hkZW11eDogSW5jbHVkZSB0aGUgcGVyaW9kIHN0YXJ0IGluIHRoZSBmcmFnbWVudCB0aW1lc3RhbXBzIGluIGFsbCBjYXNlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNjcxYWQyNWE5ODljYjIxYzYyYzdhNTg2N2MyMDkwODkwY2U0OWJhLgoJICBUaGUgdGltZXN0YW1wcyBzaG91bGQgcmVzdGFydCBhdCAwIGFnYWluIGZvciBlYWNoIHBlcmlvZCwgYnV0IHdlIGhhdmUgdG8KCSAgYWRqdXN0IHRoZSBzZWdtZW50IHRvIG1hcCB0aG9zZSB0aW1lc3RhbXBzIHRvIHRoZSBhY3R1YWwgc3RyZWFtIHRpbWUgYW5kCgkgIHJ1bm5pbmcgdGltZSBvZiB0aGF0IHBlcmlvZC4KCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGhhdmUgdGltZXN0YW1wcyB0aGF0IGNvbmZsaWN0IHdpdGggdGhlIG9uZXMgZnJvbSB0aGUgdGZkdAoJICBpbnNpZGUgdGhlIE1QNCBjb250YWluZXIsIHdoaWNoIGFyZSByZXN0YXJ0aW5nIGF0IDAgZm9yIGVhY2ggcGVyaW9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDA5CgoyMDE1LTA5LTE0IDE5OjAzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQ29uc2lkZXIgdGhlIHJlcGVhdCBjb3VudCB3aGVuIGNoZWNraW5nIGlmIGEgc2VnbWVudCBpcyB0aGUgbGFzdCBvbmUKCSAgT3RoZXJ3aXNlIHdlIHBsYXkgb25seSB0aGUgZmlyc3QgcmVwZXRpdGlvbiBvZiB0aGUgbGFzdCBzZWdtZW50IGFuZCB0aGVuIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ4MAoKMjAxNS0wOS0xNCAxMzo1NjoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWxzbyBjaGVjayBmb3Igc3ViZnJhZ21lbnRzIG9uIGhhc19uZXh0X2ZyYWdtZW50CgkgIEluIGRhc2ggaXNvbWJmZiBwcm9maWxlIHRoZSBmcmFnbWVudCBpcyBzcGxpdCBpbnRvIHN1YmZyYW1lbnRzIHdoZXJlCgkgIGJpdHJhdGUgc3dpdGNoaW5nIGlzIHBvc3NpYmxlLiBBbHNvIHRha2UgdGhhdCBpbnRvIGNvbnNpZGVyYXRpb24KCSAgd2hlbiBjaGVja2luZyBpZiBhIHN0cmVhbSBoYXMgbmV4dCBmcmFnbWVudHMuCgoyMDE1LTA5LTExIDExOjIyOjM1ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogaW1wcm92ZSBkZXByZWNhdGVkIHByb3BlcnRpZXMgZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODE5CgoyMDE1LTA5LTExIDExOjExOjA5ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IHRocm93IGdfd2FybmluZyB3aGVuIGdldHRpbmcgZGVwcmVjYXRlZCBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MTkKCjIwMTUtMDktMDkgMTk6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjYXBzIHF1ZXJ5IHRvIHByb3Blcmx5IGhhbmRsZSBhbHBoYSBmb3JtYXRzCgkgIE9ubHkgYWNjZXB0IGFscGhhIGlmIGRvd25zdHJlYW0gaGFzIGFscGhhIGFzIHdlbGwuIEl0IGNvdWxkCgkgIHRoZW9yZXRpY2FsbHkgYWNjZXB0IGFscGhhIHVuY29uZGl0aW9uYWxseSBpZiBibGVuZGluZyBpcwoJICBwcm9wZXJseSBpbXBsZW1lbnRlZCBmb3IgaGFuZGxlIGl0IGJ1dCBhdCB0aGUgbW9tZW50IHRoaXMKCSAgaXMgYSBtaXNzaW5nIGZlYXR1cmUuCgkgIEltcHJvdmVzIHRoZSBjYXBzIHF1ZXJ5IGJ5IGFsc28gY29tcGFyaW5nIHdpdGggdGhlIHRlbXBsYXRlCgkgIGNhcHMgdG8gZmlsdGVyIGJ5IHdoYXQgdGhlIHN1YmNsYXNzIHN1cHBvcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY1CgoyMDE1LTA5LTEyIDAwOjUxOjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICB2dGRlYzogVXNlIFIvUkcgdGV4dHVyZXMgZm9yIE5WMTIgd2hlbiB0aGUgY29udGV4dCBwcm92aWRlcyB0aGVtCgkgIEZpeGVzIHBsYXliYWNrIHRvIEdMIG1lbW9yeSBvbiBpT1MsIHdoZXJlIHRoZSBjb2xvdXJzIGFyZSBtZXNzZWQKCSAgdXAgYnkgcGFzc2luZyBMdW1pbmFuY2UvTHVtaW5hbmNlQWxwaGEgdGV4dHVyZXMgd2hlcmUKCSAgY29sb3IgY29udmVydCBleHBlY3RzIFIvUkcgdGV4dHVyZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1MDQKCjIwMTUtMDktMDggMTc6MTc6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFByZWZlciBHTCBvdXRwdXQgY2Fwcy4KCSAgUHJlZmVyIEdMIGNhcHMgYnkgcHV0dGluZyB0aGVtIGZpcnN0IGluIHRoZSBwYWQgdGVtcGxhdGUgYW5kCgkgIGludGVyc2VjdGluZyB1c2luZyBHU1RfQ0FQU19JTlRFUlNFQ1RfRklSU1QuCgoyMDE1LTA5LTEwIDE5OjAyOjEyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHNlbGVjdGlvbiBvZiBBY3RpdmUgUmVmIFBpYyBTZXQKCSAgSWYgc2hvcnRfdGVybV9yZWZfcGljX3NldF9zcHNfZmxhZyBpcyBGQUxTRSwgdGhlIFNob3J0VGVybVJlZlBpY1NldAoJICBzdHJ1Y3R1cmUgaXMgc3VwcG9zZWQgdG8gZGVyaXZlIGZyb20gc2xpY2UgaGVhZGVyLiBXaGljaCBtZWFucywKCSAgQ3VyclJwc0lkeCBpcyBlcXVhbCB0byBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHMuIEJ1dCB0aGUgbnVtYmVyCgkgIG9mIHJlZnBpY3NldHMgY29tbXVuaWNhdGVkIHZpYSBzcHMgaGVhZGVyIGlzIG9ubHkgbnVtX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXRzIC0gMS4KCSAgQW5kIHdlIGFyZSB1c2luZyBzbGljZV9oZWFkZXIgc3RydWN0dXJlIHRvIHJlZmVyZW5jZSB0aGUgbGFzdCBlbnRyeSwgd2hpY2ggaXMKCSAgU2hvcnRUZXJtUmVmUGljU2V0W251bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0c10uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MzQKCjIwMTUtMDktMTAgMTY6Mjg6MzEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjUgOiBGaXggZGVmYXVsdCBzY2FsaW5nIGxpc3QgdmFsdWVzCgkgIEZpeCB0aGUgZGVmYXVsdF9zY2FsaW5nX2xpc3QgdmFsdWVzIGJhc2VkIG9uIFRhYmxlIDctNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODM0CgoyMDE1LTA5LTEwIDE0OjExOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IGxlc3MtdGhhbi16ZXJvIGNvbXBhcmlzb24gb2YgYW4gdW5zaWduZWQgdmFsdWUgaXMgbmV2ZXIgdHJ1ZQoJICBVc2UgdGhlIGNvcnJlY3QgdHlwZSwgR3N0Q2xvY2tUaW1lRGlmZiwgaW5zdGVhZC4KCSAgQ0lEIDEzMjM3NDIKCjIwMTUtMDktMTAgMDA6MDc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBndGssIHF0OiBtb3JlIHNwZWNpZmljYWxseSBkZWZpbmUgdGhlIGNvbXBpbGUgdGltZSByZXF1aXJlbWVudHMKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIGluY2x1ZGUgaGVhZGVycy9jb25maWd1cmF0aW9ucyB0aGF0IHdpbGwKCSAgbmV2ZXIgYmVlbiBpbnN0YWxsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3MzIKCjIwMTUtMDktMDIgMjM6NDI6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQvcXQ6IGluZGVudCBjb25maWd1cmUgZmlsZQoJICBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjYKCjIwMTUtMDktMTAgMDA6MDA6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJICBxdDogdXNlIG91ciBmdW5jdGlvbiB0YWJsZSBpbnN0ZWFkIG9mIGRpcmVjdGx5IGNhbGxpbmcgZ2wgZnVuY3Rpb25zCgkgIE90aGVyd2lzZSB3aGVuIGJ1aWxkaW5nIHdpdGggLS1hcy1uZWVkZWQgd2Ugd291bGQgbmVlZCB0byBsaW5rIHRvCgkgIGEgR0wgb3IgR0xFUyBsaWJyYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzMyCgoyMDE1LTA5LTA5IDIzOjUzOjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2wvYXBpOiB1c2UgcHVibGljIHJhdGhlciB0aGFuIHByaXZhdGUgZGVmaW5lCgkgIEhBVkVfSU9TIGlzIG9ubHkgZGVmaW5lZCBmb3IgdGhlIGJ1aWxkIG9mIHRoaXMgbW9kdWxlIHNvCgkgIGF0dGVtcHRpbmcgdG8gdXNlIGdzdGdsIGluIGlPUyB3b3VsZCByZXN1bHQgaW4gaW5jb3JyZWN0IEdMCgkgIGluY2x1ZGVzLgoJICBVc2UgR1NUX0dMX0hBVkVfUExBVEZPUk1fRUFHTCBpbnN0ZWFkIGZvciBjaG9vc2luZyB0aGUgaU9TIEdMCgkgIGhlYWRlci4KCjIwMTUtMDktMDMgMTY6MzY6NTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogSGFuZGxlIHBpcGVsaW5lcyB3aGVyZSB0aGUgcnVubmluZyB0aW1lIGRvZXMgbm90IHN0YXJ0IGFyb3VuZCAwIHByb3Blcmx5CgkgIFdlIHdlcmUgY29udmVydGluZyBhbGwgdGltZXMgdG8gb3VyIGludGVybmFsIHJ1bm5pbmcgdGltZXMsIHRoYXQgaXMgdGhlIHRpbWUKCSAgdGhlIHNpbmsgaXRzZWxmIHNwZW50IGluIFBMQVlJTkcgYWxyZWFkeS4gQnV0IGZvcmdvdCB0byBkbyB0aGF0IGZvciB0aGUKCSAgcnVubmluZyB0aW1lIGNhbGN1bGF0ZWQgZnJvbSB0aGUgYnVmZmVyIHRpbWVzdGFtcHMuIEFzIHN1Y2gsIGFsbCBidWZmZXJzIHdlcmUKCSAgc2NoZWR1bGVkIG11Y2ggbGF0ZXIgaWYgdGhlIHBpcGVsaW5lJ3MgcnVubmluZyB0aW1lIGRpZCBub3Qgc3RhcnQgYXQgMC4KCSAgVGhpcyBoYXBwZW5zIGZvciBleGFtcGxlIGlmIGEgYmFzZSB0aW1lIGlzIGV4cGxpY2l0bHkgc2V0IG9uIHRoZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUyOAoKMjAxNS0wOS0wNyAxMzozNjoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBDb25zaWRlciBwaXBlbGluZSBsYXRlbmN5LCByZW5kZXIgZGVsYXkgYW5kIHRzIG9mZnNldCB3aGVuIHNjaGVkdWxpbmcgZnJhbWVzCgkgIFdpdGhvdXQgdGhpcywgd2Ugd2lsbCBzY2hlZHVsZSBhbGwgZnJhbWVzIHRvbyBsYXRlIGluIGxpdmUgcGlwZWxpbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NjY2CgoyMDE1LTA5LTA5IDEzOjU4OjA1ICswOTAwICBLb3VoZWkgU3V0b3UgPGtvdUBjbGVhci1jb2RlLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogZml4IGJ1aWxkIGVycm9yIGZvciA2NGJpdCBXaW5kb3dzIGJ1aWxkIGJ5IE1pbkdXCgkgIENhc3RpbmcgdG8gVUlOVCBmcm9tIEhNSVhFUiBnZW5lcmF0ZXMgdGhlIGZvbGxvd2luZyB3YXJuaW5nIHdpdGgKCSAgNjRiaXQgV2luZG93cyB0YXJnZXQgTWluR1c6CgkgIGdzdGRpcmVjdHNvdW5kc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZGlyZWN0c291bmRfc3JjX21peGVyX2ZpbmQnOgoJICBnc3RkaXJlY3Rzb3VuZHNyYy5jOjczMzozMDogZXJyb3I6IGNhc3QgZnJvbSBwb2ludGVyIHRvIGludGVnZXIgb2YgZGlmZmVyZW50IHNpemUgWy1XZXJyb3I9cG9pbnRlci10by1pbnQtY2FzdF0KCSAgbW1yZXMgPSBtaXhlckdldERldkNhcHMgKChVSU5UKSBkc291bmRzcmMtPm1peGVyLAoJICBeCgkgIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIFdlIGNhbiB1c2UgcG9ydGFibGUgR1BPSU5URVJfVE9fVUlOVCgpIG1hY3JvIGZvciB0aGlzIHByb3Bvc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NTYKCjIwMTUtMDktMDkgMDk6MzM6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiBBbHNvIHVuYmluZCByZW5kZXJidWZmZXIgYWZ0ZXIgc2V0dGluZyB1cCBmcmFtZWJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NzU3CgoyMDE1LTA5LTA5IDA5OjI3OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogRG9uJ3QgbWFrZSBjb250ZXh0IHVuY3VycmVudCBqdXN0IHRvIG1ha2UgaXQgY3VycmVudCBhZ2FpbiBpbiB0aGUgbmV4dCBsaW5lCgkgIEFsc28gYmluZGluZyB0aGUgZnJhbWVidWZmZXIgYWdhaW4gaXMgdW5uZWNlc3NhcnkgdGhlbiBhcyBpdCB3YXMganVzdCBib3VuZCBhCgkgIGZldyBsaW5lcyBiZWZvcmUgd2hpbGUgdGhlIGNvbnRleHQgd2FzIGN1cnJlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NTcKCjIwMTUtMDktMDcgMTI6MDk6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZml4IHBlcmlvZCBzdGFydCB0aW1lIHNjYWxpbmcKCSAgVGhpcyBHc3RTdHJlYW1QZXJpb2Qgc3RhcnQgdmFsdWUgaXMgZXhwcmVzc2VkIGluIG5hbm9zZWNvbmRzLAoJICBhbmQgdGhlIGdsaWIgdGltZSBhZGRpdGlvbiBmdW5jdGlvbiBleHBlY3RzIG1pY3Jvc2Vjb25kcy4KCSAgVGhlcmUgc2VlbXMgdG8gaGF2ZSBiZWVuIGEgY29uZnVzaW9uIHdpdGggR3N0UGVyaW9kTm9kZSdzIHN0YXJ0CgkgIGZpZWxkLCB3aGljaCBpcyBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmRzLgoJICBBZGRpdGlvbmFsbHksIGFkZCBhIHdhcm5pbmcgaWYgdGhlIHRpbWVzdGFtcCBtb2RpZmljYXRpb24gZGlkCgkgIG5vdCBzdWNjZWVkLCBhbmQgTlVMTCB3YXMgcmV0dXJuZWQuCgoyMDE1LTA5LTA1IDIzOjM4OjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWRkIGJpdHJhdGUgaW5mbyB0byB0aGUgdGFncyBvdXRwdXQuCgkgIE1ha2VzIGl0IHBvc3NpYmxlIGZvciBtdXhlcnMgdG8ga25vdyB0aGUgdGFyZ2V0IGJpdHJhdGUgYXMgc29vbgoJICBhcyBlbmNvZGluZyBzdGFydHMsIHdoaWNoIGZsdm11eCBub3cgdXNlcy4KCjIwMTUtMDktMDUgMDE6NTA6NDEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBFbnN1cmUgYWxsIGFyZ3VtZW50cyB0byBDTEFNUCBhcmUgc2lnbmVkIGludAoJICBJZiBhbnkgb2YgdGhlIGFyZ3VtZW50cyB0byBDTEFNUCBhcmUgdW5zaWduZWQgaW50ZWdlcnMsIHRoZSBjb21wYXJpc29uIGNhdXNlcwoJICBhbiBhdXRvbWF0aWMgY29udmVyc2lvbiBvZiB0aGUgc2lnbmVkIGludCB0byB1bnNpZ25lZCwgd2hpY2ggY2F1c2VzIC0xIHRvIGJlY29tZQoJICBVSU5UX01BWCBhbmQgZ2V0IGNsYW1wZWQgdG8gdGhlIGhpZ2ggdmFsdWUgb2YgdGhlIENMQU1QIGluc3RlYWQgb2YgMC4KCSAgU2VlIDcxNiBhdCBodHRwOi8vYzB4LmNvZGluZy1ndWlkZWxpbmVzLmNvbS82LjMuMS44Lmh0bWwKCSAgQWxzbyBhZGQgYSB0ZXN0IGZvciB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTc2CgoyMDE1LTA5LTA0IDE1OjQzOjQwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBEbyBub3QgY29uc2lkZXIgR3RrRXZlbnRzIGFzIGhhbmRsZWQKCSAgQXBwbGljYXRpb25zIG1pZ2h0IHN0aWxsIHdhbnQgdG8gdXNlIHRoZW0KCSAgYWZ0ZXIgdGhlIHNpbmsgdHJhbnNmb3JtZWQgdGhlbSBpbnRvCgkgIEdzdE5hdmlnYXRpb24gZXZlbnRzCgoyMDE1LTA5LTAyIDE5OjE2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogbGlmdCByZXN0cmljdGlvbiBvZiBjaGFuZ2luZyBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgVGhlIHZpZGVvYWdncmVnYXRvciBjYW4gY29udmVydCBQQVIsIHRoZXJlIGlzIG5vIHJlYXNvbiBmb3IKCSAgcmVzdHJpY3RpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyOTEKCjIwMTUtMDgtMDcgMTc6Mjc6NDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sc2luazogRW5zdXJlIHRoYXQgYXQgbGVhc3Qgb25lIHdpbmRvd2luZyBzeXN0ZW0gaXMgYXZhaWxhYmxlCgkgIE90aGVyd2lzZSwgd2UnbGwganVzdCBjcmFzaCBhdCBydW50aW1lIGJlY2F1c2UgdGhlIGdsIGNvbnRleHQgaXMgTlVMTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTA4CgoyMDE1LTA4LTI4IDIwOjMzOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBSZXNldCBzdGF0ZSBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTUyCgoyMDE1LTA4LTMxIDE4OjA2OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGd0aywgcXQsIGdsOiBmaXggdHlwbyBpbiBkZWJ1ZyBhbmQgZXJyb3IgbWVzc2FnZXMKCjIwMTUtMDgtMjggMjM6MDU6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFsc28gaWdub3JlIHN0YXJ0LXRpbWUgb24gc2VlayBmcm9tIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODA2CgoyMDE1LTA4LTI5IDE2OjUxOjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHZhcmlhYmxlcyBpbiBjbGFtcF9yZWN0YW5nbGUoKSBzaG91bGQgYmUgc2lnbmVkCgkgIHgveS93L2ggYXJlIHNpZ25lZCBpbnRlZ2Vycy4gQXMgY2FuIGJlIHNlZW4gaW4gR3N0Q29tcG9zaXRvclBhZC4KCSAgVGhlIHByb3RvdHlwZSBmb3IgY2xhbXBfcmVjdGFuZ2xlIHdhcyB3cm9uZy4gVGhpcyBjb21taXQgcmV2ZXJ0cyB0aGUgY2hhbmdlCgkgIGFuZCBmaXhlcyB0aGUgcHJvdG90eXBlLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGJjYTQ0NGVhNGE4NGMzOWU5OTg5NjgxZjg5MmY2ZTRjYjIwMzNjZjkuCgoyMDE1LTA4LTI4IDE5OjU1OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2RyaTJfd3MuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfZGVmcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ190eXBlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3B2cjJkLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXNleHQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy93c2VnbC5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICBGaXggZmlsZSBwZXJtaXNzaW9ucyBvZiBzb21lIGZpbGVzCgoyMDE1LTA4LTI4IDE1OjIxOjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiByZW1vdmUgY2hlY2sgZm9yIGJlbG93IHplcm8gZm9yIHVuc2lnbmVkIHZhbHVlCgkgIENMQU1QIGNoZWNrcyBib3RoIGlmIHZhbHVlIGlzICc8IDAnIGFuZCAnPiBtYXgnLiBWYWx1ZSB3aWxsIG5ldmVyIGJlIGEgbmVnYXRpdmUKCSAgbnVtYmVyIHNpbmNlIGl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIuIFJlbW92aW5nIHRoYXQgY2hlY2sgYW5kIG9ubHkgY2hlY2tpbmcgaWYKCSAgaXQgaXMgYmlnZ2VyIHRoYW4gbWF4IGJ5IHVzaW5nIE1JTigpLgoJICBDSUQgMTMyMDcwNwoKMjAxNS0wOC0yOCAxMzo0MjoyOSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuY3BwOgoJICBlZGdlZGV0ZWN0OiBSZW5hbWUgZ3N0ZWRnZWRldGVjdC5jIHRvIGdzdGVkZ2VkZXRlY3QuY3BwIGZvciBjb25zaXN0ZW5jeS4KCSAgQ2hhbmdlIHRoZSBmaWxlIGV4dGVuc2lvbiB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlIGZvciBjb25zaXN0ZW5jeQoJICB3aXRoIG90aGVyIGVsZW1lbnRzIG9mIG9wZW5jdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0wOC0yNyAyMTo1MTo1MiArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogcmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyBmdW5jdGlvbnMuCgkgIFRoZSBjdlNtb290aCBjdk5vdCBmdW5jdGlvbnMgYW5kIGRvIG5vdCBoYXZlIHRoZSBjb3JyZWN0IGlucHV0IHBhcmFtZXRlcnMuCgkgIEZ1cnRoZXJtb3JlLCBjdlNtb290aCBmdW5jdGlvbiBpcyBub3QgbmVjZXNzYXJ5IGZvciBlZGdlIGRldGVjdGlvbiwKCSAgYmVjYXVzZSB0aGUgQ2FubnkgZnVuY3Rpb24gbWFrZXMgdGhlIHN0ZXAgb2Ygc21vb3RoaW5nIHRoZSBpbWFnZS4KCSAgQW5kIGN2Tm90IGZ1bmN0aW9uIGlzIHVzZWxlc3MgYmVjYXVzZSB0aGVyZSBhcmVuJ3QgY2hhbmdlcyBpZiB0aGlzCgkgIGZ1bmN0aW9uIGlzIGVsaW1pbmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMDgtMjYgMTg6NDA6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgdGV4dG92ZXJsYXk6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGJ1dCBuZXZlciB1c2VkLiBSZW1vdmluZyBpdC4KCjIwMTUtMDgtMjYgMTg6MjE6MTUgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBhbmQgdGhlbiByZWxlYXNlZCB3aXRob3V0IG1ha2luZyBhbnkKCSAgdXNlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDE3OjU2OjUwICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrLgoJICBUaGUgY2FzY2FkZSBjbGFzc2lmaWVyIGNoYW5nZXMgaXRzIHN0cnVjdHVyZSBvbiBuZXcgdmVyc2lvbiBvZiBPcGVuQ1YgMi40LjExLgoJICBJdCBpcyBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrIHRvIHV0aWxpemUgdGhlIG5ldyBsb2FkIG1ldGhvZCBvZiBPcGVuQ1Ygd2hpY2gKCSAgYWxsb3dzIHRvIGxvYWQgdGhlIG9sZCBhbmQgbmV3IGNsYXNzaWZpZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDEyOjQ3OjU4ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBmYWNlYmx1cjogQ2hlY2sgQ3ZIYWFyQ2xhc3NpZmllckNhc2NhZGUgaXMgcmVsZWFzZSBiZWZvcmUgYmVpbmcgbW9kaWZpZWQuCgkgIEZvciBQUk9QX1BST0ZJTEUgY2FzZSB0aGF0IGV4aXN0IGluc2lkZSBnc3RfZmFjZV9ibHVyX3NldF9wcm9wZXJ0eQoJICBmdW5jdGlvbiBsb2FkcyB0aGUgbmV3IFhNTCBmaWxlIGluIHRoZSBDdkhhYXJDbGFzc2lmaWVyQ2FzY2FkZSBwcm9wZXJ0eQoJICB3aXRob3V0IGZpcnN0IGNoZWNraW5nIHRoYXQgaXQgaXMgcmVsZWFzZWQgYmVjYXVzZSBtYXliZSB0aGVyZSBpcyBhbiBYTUwKCSAgZmlsZSBwcmV2aW91c2x5IGxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNiAxMjoyNzoxNSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSAgZmFjZWJsdXI6IENvZGUgcmVmYWN0b3Jpbmcgb2YgZ3N0X2ZhY2VfYmx1cl9sb2FkX3Byb2ZpbGUuCgkgIENoYW5nZXMgaW5zaWRlIHRoZSBnc3RfZmFjZV9ibHVyX2xvYWRfcHJvZmlsZSBmdW5jdGlvbiwgdGhlIG51bWJlciBvZgoJICBpbnB1dCBwYXJhbWV0ZXJzIGFuZCBpbiBsaW5lcyB3aGVyZSBpdCBpcyB1c2VkIGR1ZSB0byBpdCBjYW5ub3QgYmUgdXNlZAoJICBnZW5lcmljYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNiAxMTo1NzoyNCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSAgZmFjZWJsdXI6IENoYW5nZSBnc3RmYWNlYmx1ciB0byBDKysuCgkgIENoYW5nZSB0aGUgZ3N0ZmFjZWJsdXIuYyBmaWxlIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUuCgkgIEl0IGlzIG5lY2Vzc2FyeSB0byBtaWdyYXRlIHRoZSBmYWNlYmx1ciBwbHVnaW4gdG8gQysrLAoJICBpbiBvcmRlciB0byBsb2FkIG5ldyBhbmQgb2xkIGNsYXNzaWZpZXJzLCB0byBtYWtlIGZhY2VibHVyIHdvcmsKCSAgd2l0aCBuZXdlciB2ZXJzaW9ucyBvZiBPcGVuY3YuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjcgMTE6MTA6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBjYXBzIG1lbW9yeSBsZWFrIGJ5IG1ha2luZyBzdGF0aWMgY2FwcyBhY3R1YWxseSBzdGF0aWMKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNTcKCjIwMTUtMDgtMjEgMTY6MTM6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkb24ndCBtZWRkbGUgd2l0aCB0aGUgY2xhc3Mgc3RydWN0IGZyb20gYW4gaW5zdGFuY2UKCSAgRml4IHNvbWUgdmVyeSBkdWJpb3VzIGNvZGUuIFRoZSBjbGFzcyBtZXRob2RzIHNob3VsZCBhbHdheXMKCSAgYmUgc2V0LCBhbmQgdGhlIGluc3RhbmNlLXNwZWNpZmljIGNoZWNrIHNob3VsZCB0aGVuIGJlIGRvbmUKCSAgaW5zaWRlIHRoZSBtZXRob2QuIEZvciBkYXRhX3JlY2VpdmVkIHRoYXQncyB0aGVyZSBhbHJlYWR5LCBmb3IKCSAgZmluaXNoX2ZyYWdtZW50IHdlIG5lZWQgdG8gYWRkIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTM3CgoyMDE1LTA4LTI2IDEwOjUyOjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjRwYXJzZS9oMjY1cGFyc2U6IEZpeCBuZWdvdGlhdGlvbiBjcmFzaAoJICBBcyBpdCdzIHJlY3Vyc2l2ZSwgZ3N0X3BhZF9nZXRfYWxsb3dlZF9jYXBzKCkgbWF5IGFsc28gcmV0dXJuCgkgIGVtcHR5IGZvciBhbnl0aGluZyBpbmNvbXBhdGlibGUgZG93bnN0cmVhbS4gRU1QVFkgaXMgbm90IHZhbGlkIGNhcHMKCSAgdmFsdWUgZm9yIGdzdF9jYXBzX2ZpeGF0ZSgpLiBUaGlzIGxlYWQgdG8gYXNzZXJ0aW9uIGFuZCB0aGVuIGNyYXNoLgoJICBJZGVhbGx5LCB0aGUgbmVnb3RpYXRlIGZ1bmN0aW9uIHNob3VsZCBiZSByZS1mYWN0b3JlZCB0byBoYXZlIGEgcmV0dXJuCgkgIHZhbHVlLCBhbmQgd2UgY291bGQgbWFrZSB0aGUgbmVnb3RpYXRpb24gZmFpbHMgZWFybGllci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEyMgoKMjAxNS0wOC0yNiAxNTo0MDoxNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEFjdHVhbGx5IHVzZSB0aGUgb3V0cHV0IHJlc29sdXRpb24gZm9yIGNsYW1waW5nCgkgIFRoZSBvYnNjdXJlZCBjaGVjayBpbiBjb21wb3NpdG9yIHdhcyB1c2luZyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgcGFkIHRvIGNsYW1wCgkgIHRoZSBoL3cgb2YgdGhlIHBhZCBpbnN0ZWFkIG9mIHRoZSBvdXRwdXQgcmVzb2x1dGlvbiwgYW5kIHdhcyBkb2luZyBhbiBpbmNvcnJlY3QKCSAgY2FsY3VsYXRpb24gdG8gZG8gc28uIEZpeCB0aGF0IGJ5IHNpbXBsaWZ5aW5nIHRoZSB3aG9sZSBjYWxjdWxhdGlvbiBieSB1c2luZwoJICBjb3JuZXIgY29vcmRpbmF0ZXMuIEFsc28gYWRkIGEgdGVzdCBmb3IgdGhpcyBidWcgd2hpY2ggZmVsbCB0aHJvdWdoIHRoZSBjcmFja3MsCgkgIGFuZCBqdXN0IHNraXAgYWxsIHRoZSBvYnNjdXJlZCB0ZXN0cyBpZiB0aGUgcGFkJ3MgYWxwaGEgaXMgMC4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTA3CgoyMDE1LTA4LTI0IDA3OjQ2OjI3ICswMzAwICBYdUd1YW5neGluIDxHdWFuZ3hpbi5YdUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRpbGUgcm93IGFuZCBjb2x1bW4gcGFyc2luZwoJICBTZWN0aW9uIDYuNS4xOiAgQ29kaW5nIHRyZWUgYmxvY2sgcmFzdGVyIGFuZCB0aWxlIHNjYW5uaW5nIGNvbnZlcnNpb24gcHJvY2VzcwoJICBGb2xsb3cgdGhlIGVxdWF0aW9ucyA2LTMgYW5kIDYtNAoJICBUaGlzIHdpbGwgcHJvdmlkZSBjb3JyZWN0IG9mZnNldF9tYXggaW4gc2xpY2VfaGVhZGVyIGZvciBwYXJzaW5nCgkgIG51bV9lbnRyeV9wb2ludF9vZmZzZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDI0CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCjIwMTUtMDgtMDcgMTI6NTM6MjMgKzAzMDAgIEF0aGFuYXNpb3MgT2lrb25vbW91IDxhdGhvaWtAZ21haWwuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBzZWxlY3QgY29ycmVjdCBwb3NpdGlvbiBmb3IgbGl2ZSBzdHJlYW1zIHRoYXQgZG9uJ3QgcmVtb3ZlIGZyYWdtZW50cwoJICBTb21lIGxpdmUgc3RyZWFtcyAoZWcgeW91dHViZSkgZG9uJ3QgcmVtb3ZlIGZyYWdtZW50cyBpbiBvcmRlciB0byBhbGxvdwoJICBzZWVraW5nIGJhY2sgaW4gdGltZSAobGl2ZSArIHZvZCkuCgkgIFdoZW4gZ3N0X20zdThfY2xpZW50X2hhc19uZXh0X2ZyYWdtZW50IGlzIGNhbGxlZCwgd2UgYXJlIGdldHRpbmcgd3JvbmcgZnJhZ21lbnQKCSAgYmVjYXVzZSBjdXJyZW50X2ZpbGUgcG9pbnRzIGluIGZpcnN0IGZpbGUgb2YgdGhlIGZyYWdtZW50cyBsaXN0IHJlc3VsdGluZyBpbgoJICB3YXRjaGluZyB0aGUgc3RyZWFtIGZyb20gdGhlIGJlZ2lubmluZyBhZ2Fpbi4KCSAgVGhpcyBwYXRjaCBzZXRzIGN1cnJlbnRfZmlsZSB0byBudGggZnJhZ21lbnQgZm9yIGxpdmUgc3RyZWFtcywgdGhlbiBvbgoJICBnc3RfbTN1OF9jbGllbnRfaGFzX25leHRfZnJhZ21lbnQgd2lsbCBrZWVwIHVwIHdpdGggdGhlIGxpdmUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzQ0CgoyMDE1LTA4LTI0IDE5OjQ3OjAxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkOiBVc2UgYmFzZSBjbGFzcyBtZXRhZGF0YSBjb3B5IGZ1bmN0aW9uCgkgIFRoaXMgYWxsb3cgcHJvcGVybHkgY29weWluZyBzZWxlY3RlZCBtZXRhLCBsaWtlIHRoZSBjb21wb3NpdGlvbgoJICBvdmVybGF5LiBOb3RlIHRoYXQgb3V0cHV0IGJ1ZmZlciBuZWVkIHRvIGJlIHJlYWRhYmxlLCBidXQgR2xVcGxvYWQKCSAga2VlcHMgYSByZWYuIEZvciBub3csIHNpbXBseSBkcm9wIEdsVXBsb2FkIHJlZiBhZnRlciBwZXJmb3JtLAoJICBsZWF2aW5nIHRoYXQgcmVmIGhhcyBubyBwdXJwb3NlLiBUaGUgbWV0aG9kIHNoYWxsIGJlIHJlbW92ZWQKCSAgaW4gdGhlIGZ1dHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDA0NwoKMjAxNS0wOC0yNCAxOToyODoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogVXNlIGJhc2UgdHJhbnNmb3JtIG1ldGFkYXRhIGNvcHkKCSAgVXNlIGJhc2UgY2xhc3MgZGVmYXVsdCBtZXRob2QgaW5zdGVhZCBvZiBvbmx5IGNvcHlpbmcgZmxhZ3MgYW5kCgkgIHRpbWVzdGFtcC4gVGhpcyB3YXksIHNlbGVjdGVkIG1ldGEncyBsaWtlIGNvbXBvc3Rpb24gb3ZlcmxheSB3aWxsCgkgIGJlIHBhc3NlZCBkb3duc3RyZWFtIGFzIGV4cGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDQ3CgoyMDE1LTA4LTI1IDEwOjA5OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9lYWdsOiBVbnJlZiBjb250ZXh0IGFmdGVyIHNldHRpbmcgYSB3aW5kb3cgaGFuZGxlCgkgIGdzdF9nbF93aW5kb3dfZ2V0X2NvbnRleHQoKSByZXR1cm5zIGEgbmV3IHJlZmVyZW5jZS4KCSAgSG9wZWZ1bGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTgKCjIwMTUtMDgtMjQgMjE6Mjg6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IEFkZCBuZXcgaDI2NSBwYXJzZXIgc3ltYm9scwoKMjAxNS0wOC0yNCAwODowNjoxNSArMDMwMCAgbHliIDxhbmR5X2xpdV9jaGluYUAxNjMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEFkZCBBUElzIGZvciB1cC1yaWdodC1kaWFnb25hbC9yYXN0ZXIgc2NhbiBjb252ZXJzaW9uCgkgIEFzIHBlciAgNy00MiBhbmQgNy00MyB0aGUgU2NhbGluZ0ZhY3RvcidzIHNjYW5JZHggaXMgMCwKCSAgd2hpY2ggaXMgInVwLXJpZ2h0LWRpYWdvbmFsIiBzY2FuLiBBZGQgQVBJcyBmb3IgY29udmVydGluZwoJICB1cC1yaWdodC1kaWFnb25hbCB0byByYXN0ZXIgYW5kIHZpc2UgdmVyc2EuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwMjQKCjIwMTUtMDgtMjQgMDQ6MTg6NTIgKzAzMDAgIFh1R3Vhbmd4aW4gPEd1YW5neGluLlh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgcmFuZ2Ugb2YgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tCgkgIEJlaW5nIG1vcmUgc3RyaWN0IG9uIHNwZWNpZmljYXRpb24sIEFjY29yZGluZyB0byA3LjQuNy4zLAoJICBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20gc2hvdWxkIGJlIGluIHRoZSByYW5nZSBvZgoJICBbKDAgLSBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tKSwgKDcgLSBsdW1hX2xvZzJfd2VpZ2h0X2Rlbm9tKV0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDAyNAoKMjAxNS0wOC0yMyAyMzozODoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBsYXRlbmN5IGhhbmRsaW5nIGFnYWluCgkgIFRoZSB0c2RlbXV4IGxhdGVuY3kgc2hvdWxkIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbWluaW11bQoJICBsYXRlbmN5ICh3aGljaCBpcyBhbHdheXMgYSB2YWxpZCBjbG9jayB0aW1lIHZhbHVlKS4gVGhlCgkgICJjbGVhbnVwIiBpbiBjb21taXQgYTFmNzA5YzIgbWFkZSBpdCBzbyB0aGF0IGl0IHdvdWxkIG5vdAoJICBiZSBhZGRlZCBpZiB1cHN0cmVhbSByZXBvcnRlZCAwIGFzIG1pbmltdW0gbGF0ZW5jeSAoYXMKCSAgZS5nLiB1ZHBzcmMgd291bGQpLiBUaGlzIGJyb2tlIHBsYXliYWNrIG9mIGxpdmUgbXBlZy10cwoJICBzdHJlYW1pbmcgaW4gc29tZSBjYXNlcywgbGVhZGluZyB0byBwbGF5YmFjayBzdHV0dGVyIGR1ZQoJICB0byBhIHRvby1zbWFsbCBjb25maWd1cmVkIGxhdGVuY3kgZm9yIHRoZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUwOAoKMjAxNS0wOC0yMSAxMzo0MjoxOCAtMDcwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1cGRhdGUgZGlzcGxheSBzaXplIGJlZm9yZSBzZW5kaW5nIGV2ZW50CgkgIFRoaXMgaXMgbWlub3IgaXNzdWUsIGFzIHRoZSByZWNvbmZpZ3VyZSBldmVudCBpcyBhc3luY2hyb25vdXMuCgkgIEJhc2ljYWxseSwgdXBkYXRlIHdpZHRoL2hlaWdodCBiZWZvcmUgc2VuZGluZyB0aGUgZXZlbnQuCgoyMDE1LTA4LTIwIDE3OjI3OjM0IC0wNzAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogTGV0IGJhc2UgdHJhbnNmb3JtIHJlbGF5IHRoZSBtZXRhIGFwaSBmb3IgdXMKCSAgRHVyaW5nIGFsbG9jYXRpb24gcXVlcnksIHdoZW4gdGhpcyBlbGVtZW50IGlzIG5vdCBwYXNzdGhyb3VnaCwgaXQgbXVzdAoJICByZWxheSB0aGUgb3ZlcmxheSBjb21wb3N0aW9uIG1ldGEgYW5kIGl0J3MgcGFyYW1ldGVycy4gRm9ydHVuYXRseSwgYmFzZQoJICB0cmFuc2Zvcm0gY2FuIGRvIHRoaXMgZm9yIHVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODUwCgoyMDE1LTA4LTIxIDIwOjI5OjI0ICswMjAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY3VybDogR2l2ZSBuZXRpbmV0L2lwLmggaXQgb3duIGNvbmZpZ3VyZSBjaGVjawoJICBPbiBGcmVlQlNEIG5ldGluZXQvaXAuaCBuZWVkcyB0aGUgc3lzL3R5cGVzLmggYW5kIG5ldGluZXQvaW4uaCBoZWFkZXIKCSAgYmVmb3JlIGl0IGNhbiBiZSB0ZXN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5NDQKCjIwMTUtMDgtMTkgMTc6NDI6NDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAgbGVuZ3RoIGlzIHNldCB0byBhIGRpZmZlcmVudCB2YWx1ZSBiZWZvcmUgYmVpbmcgcmVhZC4gUmVtb3ZlIGluaXRpYWwgdmFsdWUuCgkgIFNpbGVuY2VzIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDE1LTA4LTIxIDA1OjI2OjI1ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUuCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBhbmQgdGhlbiByZWxlYXNlZCB3aXRob3V0IG1ha2luZyBhbnkKCSAgdXNlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mzc3CgoyMDE1LTA4LTIxIDE0OjA3OjMyICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYWRkIHNwZWNpZmljIGVycm9yIG1lc3NhZ2Ugd2hlbiBtaXNzaW5nIEdMX1NIQURJTkdfTEFOR1VBR0VfVkVSU0lPTgoJICBHTF9TSEFESU5HX0xBTkdVQUdFX1ZFUlNJT04gd2FzIGludHJvZHVjZWQgc2luY2UgRVMgMi4wLCBidXQgaW4gc29tZQoJICBhbmRyb2lkIGVtdWxhdG9yIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuIFRvIHByZXZlbnQgY29uZnVzaW9uIGZvcgoJICBkZXZlbG9wZXIsIHRoZSBlcnJvciBtZXNzYWdlIG5lZWQgdG8gYmUgbW9yZSBjbGVhci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkwNQoKMjAxNS0wOC0yMSAxNjo0NDo0MyArMDkwMCAgaG9vbmhlZS5sZWUgPGhvb25oZWUubGVlQGxnZS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBhdWRpb21peGVyOiByZW1vdmUgZHVwbGljYXRlZCB3b3JkIGluIGNvbW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzkxNQoKMjAxNS0wOC0yMSAxNjozMTo0MSArMDkwMCAgaG9vbmhlZS5sZWUgPGhvb25oZWUubGVlQGxnZS5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IERvbid0IGNoYWluIHVwIHRvIHBhcmVudCdzIHF1ZXJ5IGhhbmRsaW5nIHR3aWNlIGZvciBEUkFJTiBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTEzCgoyMDE1LTA4LTIwIDE1OjAwOjAyICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGNoZWNrOiBobHNkZW11eDogbWFrZSBkdXJhdGlvbiB1bml0IHRlc3Qgcm9idXN0IHRvIGZsb2F0aW5nIHBvaW50IHJvdW5kaW5nCgkgIFRoZSB0ZXN0X3BsYXlsaXN0X3dpdGhfZG91Ymxlc19kdXJhdGlvbigpIHRlc3QgZmFpbHMgb24gc29tZSBwbGF0Zm9ybXMKCSAgZHVlIHRvIHJvdW5kaW5nIGVycm9ycyB0aGF0IG9jY3VyIHdoZW4gbTN1OC5jIGNvbnZlcnRzIGZyb20gdGhlIGZsb2F0aW5nCgkgIHBvaW50IHZhbHVlIGluIHRoZSBITFMgbWFuaWZlc3QgdG8gYSBHc3RDbG9ja1RpbWUuCgkgIFVzaW5nIGFzc2VydF9lcXVhbHNfZmxvYXQoKSBmaXhlcyB0aGlzIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBoYW5kbGVzCgkgIHRoZSByb3VuZGluZyBlcnJvciBpc3N1ZXMgYnkgYWNjZXB0aW5nIGFsbW9zdCBlcXVhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg4MQoKMjAxNS0wOC0xNyAxODozNTo1OCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IG9ubHkgY2FsbCBnbF97c3RvcCxzdGFydH0gaWYgdGhlIGNvbnRleHQgY2hhbmdlZAoJICBSZW1vdmVzIHRoZSByZWR1bmRhbnQgR0wgb2JqZWN0IGNyZWF0aW9uL2RlbGV0aW9uIG9uIGV2ZXJ5CgkgIGRlY2lkZV9hbGxvY2F0aW9uIGNhbGwgd2hpY2ggaXMgYmVpbmcgY2FsbGVkIGZvciBldmVyeSBjYXBzIGNoYW5nZS4KCSAgVGh1cyByZWR1Y2VzIHRoZSByZXF1aXJlZCBHTCBzdGF0ZSBjaGFuZ2VzIG9uIHJlY29uZmlndXJlIGV2ZW50cwoJICB3aGljaCBhcmUgYmVpbmcgc2VudCBieSBnbGltYWdlc2luay94dmltYWdlc2luawoKMjAxNS0wOC0yMCAxNDowOTozNyArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IEZpeCBPcGVuQ1YgZGF0YSBwYXRoIGNoZWNrIHRvIHdvcmsgd2l0aCBjcm9zcyBjb21waWxhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjUxCgoyMDE1LTA4LTIwIDE0OjExOjU2ICswMzAwICBCZW4gQnJvd2l0dCA8YmVuLmJyb3dpdHRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFsd2F5cyBzZXQgdGhlIHBhZCdzIGJ1ZmZlcl92aW5mbyB3aGVuIHN0b3JpbmcgYSBidWZmZXIKCSAgT3RoZXJ3aXNlIGl0IG1pZ2h0IGJlIHVuc2V0LCBhbmQgdGhlbiB0aGUgYnVmZmVyIGlzIHVzZWQgYW5kCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSB3aWxsIGNyYXNoIGJlY2F1c2Ugb2YgaW52YWxpZCB2aWRlby1pbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODA1CgoyMDE1LTA4LTE5IDIxOjMzOjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogSGFuZGxlIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUgPHhtbD4gZWxlbWVudCB3aGVuIGR1bXBpbmcgbm9kZXMKCSAgUHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgYW4gZW5jb2RpbmcgKGUuZy4gVVRGLTgpIGlzCgkgIHNwZWNpZmllZCBpbiB0aGUgPHhtbCA/PiBlbGVtZW50LiBBZGRlZCBhbiBleHRyYSB0ZXN0IGZvciB3aXRoIGFuZCB3aXRob3V0CgkgIGVuY29kaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODEzCgoyMDEzLTAxLTMxIDE0OjAzOjQwICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogY2hlY2sgdmlkZW8gZnJhbWUgbWFwcGluZyBzdWNjZWVkZWQgYmVmb3JlIGJsZW5kaW5nCgkgIElmIHRoZSBtYXBwaW5nIGZhaWxzIGp1c3Qgc2tpcCBvdmVybGF5IHJlbmRlcmluZyBhbmQgcHVzaCB0aGUgdmlkZW8KCSAgZnJhbWUgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyMgoKMjAxNS0wOC0xOSAxNTozMToxNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZS5hYzogZml4IGJ1aWxkIHdoZW4gdGhlIHV2Y2gyNjQgcGx1Z2luIGlzIG5vdCBzZWxlY3RlZAoJICBJbnN0ZWFkIG9mIGNoZWNraW5nIGZvciB0aGUgZ3N0cmVhbWVyLXZpZGVvLTEuMCBwYWNrYWdlIGlzIGluc3RhbGxlZCwKCSAganVzdCBhc3N1bWUgaXQgaXMgc2luY2Ugd2UgYWxyZWFkeSBjaGVjayBmb3IgdGhlIC1iYXNlIGRlcGVuZGVuY3kuCgkgIFdpdGggdGhpcyByZXBsYWNlIHRoZSBHU1RfVklERU9fKiB2YXJpYWJsZXMgaW4gbWFrZWZpbGVzIGFuZCBkaXJlY3RseQoJICBsaW5rIHdpdGggbGliZ3N0dmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjAKCjIwMTUtMDgtMTkgMTE6Mjk6NDMgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHJlcGxhY2UgeG1sTm9kZUR1bXAgd2l0aCB4bWxOb2RlRHVtcE91dHB1dAoJICBXaGVuIHJ1bm5pbmcgb24gYW4gU1RCLCB0aGUgZnVuY3Rpb24KCSAgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX25vZGVfYXNfc3RyaW5nIGNhdXNlcyBhIHNlZ21lbnRhdGlvbiBmYXVsdC4gVGhpcwoJICBjb2RlIHdvcmtzIGNvcnJlY3RseSBvbiBhIExpbnV4IGRlc2t0b3AuCgkgIExvb2tpbmcgYXQgdGhlIGxpYnhtbCBkb2N1bWVudGF0aW9uLCB0aGUgeG1sTm9kZUR1bXAgaXMgZGVwcmVjYXRlZC4KCSAgUmVwbGFjaW5nIHRoZSB1c2Ugb2YgeG1sTm9kZUR1bXAgd2l0aCB4bWxOb2RlRHVtcE91dHB1dCBmaXhlcyB0aGUKCSAgc2VnZmF1bHQgb24gdGhlIFNUQiBhbmQgcmVtb3ZlcyB0aGUgdXNlIG9mIHRoZSBkZXByZWNhdGVkIGZ1bmN0aW9uLgoKMjAxNS0wOC0xOSAxMjozNzo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3IgUXQgdmVyc2lvbgoJICBVc2FnZSBvZiBRU0dTaW1wbGVUZXh0dXJlTm9kZTo6c2V0T3duc1RleHR1cmUoKSB3YXMgYWRkZWQgaW4gY29tbWl0CgkgIDZiOGNmODQxOWQ4ZWE4MDA4MWRlODE1MGE2YjFjM2NmNzYzYzRkNjksIHRoaXMgZnVuY3Rpb24gd2FzIGFkZGVkIGluCgkgIFF0IDUuNC4wLiBDaGVjayBmb3IgdGhpcyB2ZXJzaW9uIG9yIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODEyCgoyMDE1LTA3LTE2IDIyOjU3OjM2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFib3J0IHBsYXlsaXN0IHVwZGF0ZSB3aGVuIGNhbmNlbGxlZAoJICBPdGhlcndpc2UgdGhlIGRvd25sb2FkIHRocmVhZCB3aWxsIGdldCBzdHVjaywgc2luY2UgdGhlIGRvd25sb2FkZXIgaXMKCSAgZGlzYWJsZWQuCgoyMDE1LTA4LTE5IDEzOjUyOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGsvZ2w6IFVzZSBvdXIgR0wgZnVuY3Rpb24gdGFibGUgaW5zdGVhZCBvZiBkaXJlY3RseSBjYWxsaW5nIEdMIGZ1bmN0aW9ucwoJICBPdGhlcndpc2Ugd2Ugd291bGQgaGF2ZSB0byBsaW5rIHRoZSBwbHVnaW4gdG8gdGhlIEdMIGxpYnJhcmllcyBkaXJlY3RseS4KCj09PSByZWxlYXNlIDEuNS45MCA9PT0KCjIwMTUtMDgtMTkgMTM6NDY6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS45MAoKMjAxNS0wOC0xOSAxMjo1MjoxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE1LTA4LTE5IDExOjM2OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDgtMTggMTM6NTY6NTkgKzAyMDAgIEd1aWxsYXVtZSBNYXJxdWViaWVsbGUgPGd1aWxsYXVtZS5tYXJxdWViaWVsbGVAcGFycm90LmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogZml4IGFzc2VydGlvbiB3aGVuIGNvcHlpbmcgYnVmZmVyIHJlZ2lvbgoJICBJbiBnc3RfbGl2ZV9hZGRlcl9jaGFpbigpIGZ1bmN0aW9uLCBjYWxscyB0byBnc3RfYnVmZmVyX2NvcHlfcmVnaW9uKCkgY2FuIGxlYWQKCSAgdG8gYXNzZXJ0aW9uIGFzICdvZmZzZXQgKyBzaXplIDw9IGJ1ZnNpemUnIGlzIG5vdCByZXNwZWN0ZWQuCgkgIEluZGVlZCAnb2Zmc2V0JyBhbmQgJ3NpemUnIHBhcmFtZXRlcnMgYXJlIGNhbGN1bGF0ZWQgdGhyb3VnaCBjYWxsaW5nIGdzdF9saXZlX2FkZGVyX2xlbmd0aF9mcm9tX2R1cmF0aW9uKCksCgkgIGFuZCB0aHVzIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnRfcm91bmQoKS4KCSAgRGVwZW5kaW5nIG9uIHRoZSBuZWFyZXN0IGludGVnZXJzLCByb3VuZGVkIHZhbHVlcyAnb2Zmc2V0JyBhbmQgJ3NpemUnIGNhbiB0aGVuIHRyaWdnZXIgdGhlIGFzc2VydGlvbi4KCSAgVGhpcyBjYXNlIG1haW5seSBvY2N1cnMgd2hlbiAnc2tpcCcgdmFsdWUgaXMgPiAwIGluIGNoYWluIGZ1bmN0aW9uIHByb2Nlc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTkKCjIwMTUtMDgtMTcgMTg6MDY6MzAgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUuCgkgIE1lbW9yeSBpcyByZXNlcnZlZCBmb3IgdGhpcyB2YXJpYWJsZSBhbmQgdGhlbiByZWxlYXNlZCB3aXRob3V0IG1ha2luZyBhbnkKCSAgdXNlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTA4LTE3IDE4OjAyOjI4ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBjaGVjayBDdkhhYXJDbGFzc2lmaWVyQ2FzY2FkZSBpcyByZWxlYXNlIGJlZm9yZSBiZWluZyBtb2RpZmllZC4KCSAgTWFrZSBzdXJlIGEgcHJldmlvdXMgY2FzY2FkZSwgaWYgaXQgZXhpc3RzLCBpcyByZWxlYXNlZCBiZWZvcmUgbG9hZGluZyBhCgkgIG5ldyBYTUwgZmlsZSBvbnRvIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTA4LTE3IDE3OjQ3OjQyICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBjb2RlIHJlZmFjdG9yaW5nIG9mIGdzdF9oYW5kZGV0ZWN0X2xvYWRfcHJvZmlsZS4KCSAgQ2hhbmdlIGdzdF9oYW5kZGV0ZWN0X2xvYWRfcHJvZmlsZSgpIHNvIGl0IGNhbiBiZSB1c2VkIGdlbmVyaWNhbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNTI4CgoyMDE1LTA4LTE4IDExOjU0OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkgIGRhYWxhZW5jOiBGaXggYnVpbGQKCSAgQW5kIGFsc28gb25seSBnZW5lcmF0ZSB0aGUgc3VwcG9ydGVkIGNhcHMgb25jZSwgbm90IG9uIGV2ZXJ5IENBUFMvQUNDRVBUX0NBUFMKCSAgcXVlcnkuIEl0J3Mgbm90IHRoYXQgY2hlYXAuCgoyMDE1LTA4LTE3IDIzOjQ0OjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogYWRkIHNpbGVudCBvcHRpb24KCSAgQnkgZGVmYXVsdCB0aGUgZXhhbXBsZSBmbG9vZHMgdGhlIHNjcmVlbiB3aXRoIHRoZSBkZXRlY3RlZCBmYWNlIHZhbHVlcy4KCSAgQWRkIGFuIG9wdGlvbiB0byBhdm9pZCB0aGlzIGZvciBmcmFpbCB0ZXJtaW5hbHMuCgoyMDE1LTA4LTE3IDE0OjM4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IGFkZCBhY2NlcHQtY2FwcyBoYW5kbGluZwoJICBPdmV3cml0ZSBkZWZhdWx0IGhhbmRsaW5nIHRvIGF2b2lkIGRvaW5nIGEgY2FwcyBxdWVyeS4gQ2hlY2sKCSAgdGhlIHJlY2VpdmVkIGNhcHMgYWdhaW5zdCB0aGUgcG9zc2libGUgZm9ybWF0cyBzdXBwb3J0ZWQgYnkKCSAgdGhlIHgyNjUgbGlicmFyeS4KCjIwMTUtMDgtMTcgMTQ6MzI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJICBkYWFsYWVuYzogYWRkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIE92ZXdyaXRlIGRlZmF1bHQgaGFuZGxpbmcgdG8gYXZvaWQgZG9pbmcgYSBjYXBzIHF1ZXJ5LiBDaGVjawoJICB0aGUgcmVjZWl2ZWQgY2FwcyBhZ2FpbnN0IHRoZSBwb3NzaWJsZSBmb3JtYXRzIHN1cHBvcnRlZCBieQoJICB0aGUgZGFhbGEgbGlicmFyeS4KCjIwMTUtMDgtMTYgMDc6MDY6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBlbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgdmlkZW9lbmNvZGVyczogdXNlIHRlbXBsYXRlIHN1YnNldCBjaGVjayBmb3IgYWNjZXB0LWNhcHMKCSAgSXQgaXMgZmFzdGVyIHRoYW4gZG9pbmcgYSBxdWVyeSB0aGF0IHByb3BhZ2F0ZXMgZG93bnN0cmVhbSBhbmQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBFbGVtZW50czogb3BlbmpwZWdlbmMsIHNjaHJvZW5jLCB3ZWJwZW5jLCBwbm1lbmMKCjIwMTUtMDgtMTcgMTc6Mzg6MTUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBzdXBwb3J0IGFsdGVybmF0aXZlIHBhdGggY29udmVudGlvbgoJICBTb21lIGRpc3RyaWJ1dGlvbnMgc3RvcmUgT3BlbkNWIGZpbGVzIGluIC91c3Ivc2hhcmUvb3BlbmN2IGFuZCBzb21lIG90aGVycwoJICAoYW5kIGRlZmF1bHQgd2hlbiBidWlsZGluZyBmcm9tIHNvdXJjZSkgaW5zdGFsbCB0aGVtIGluCgkgIC91c3Ivc2hhcmUvT3BlbkNWLiBTdXBwb3J0IGJvdGggdG8gZmluZCBjYXNjYWRlIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjUxCgoyMDE1LTA4LTE2IDIxOjE4OjUwICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSAgZGFzaGRlbXV4OiBsaW5rIGFnYWluc3QgZ2lvIGZvciBnX3Jlc29sdmVyIGFuZCBnX2luZXRfYWRkcmVzc19mcm9tX3N0cmluZwoJICBBZGQgbWlzc2luZyBnaW8tMi4wIENGTEFHUy9MSUJTIHRvIGZpeCBsaW5rZXIgZmFpbHVyZQoKMjAxNS0wOC0xNiAwNzoxODozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgYXVkaW9lbmNvZGVyczogdXNlIHRlbXBsYXRlIHN1YnNldCBjaGVjayBmb3IgYWNjZXB0LWNhcHMKCSAgSXQgaXMgZmFzdGVyIHRoYW4gZG9pbmcgYSBxdWVyeSB0aGF0IHByb3BhZ2F0ZXMgZG93bnN0cmVhbSBhbmQKCSAgc2hvdWxkIGJlIGVub3VnaAoJICBFbGVtZW50czogZmFhYywgZ3NtZW5jLCBvcHVzZW5jLCBzYmNlbmMsIHZvYW1yd2JlbmMsIGFkcGNtZW5jLCBzaXJlbmVuYwoKMjAxNS0wOC0xNyAwNzo1NTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBSZW1vdmUgY3VzdG9tIGdldGNhcHMgYW5kIGp1c3QgdXNlIHRoZSB0ZW1wbGF0ZQoJICBXZSBrbm93IGZyb20gdGhlIGJlZ2lubmluZyB0aGUgY2FwcyB0aGF0IGFyZSBhY2NlcHRhYmxlLCBubyBuZWVkCgkgIGZvciBjdXN0b20gZ2V0Y2FwcyBvciBtYW51YWxseSBnZW5lcmF0aW5nIGNhcHMuCgoyMDE1LTA4LTE3IDA3OjU0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGFkZCB2ZXJzaW9uIHRvIGdzdC1sYXVuY2ggc3RyaW5nIG9uIGRvY3VtZW50YXRpb24KCSAgZ3N0LWxhdW5jaCB3aWxsIGNhbGwgdGhlIDAuMTAgdmVyc2lvbiwgd2Ugd2FudCAxLjAKCjIwMTUtMDgtMTcgMDc6MTU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogbWFrZSB0ZW1wbGF0ZSBwYWQgY2FwcyBtb3JlIGFjY3VyYXRlIGFuZCByZW1vdmUgY3VzdG9tIGdldGNhcHMKCSAgQWxsb3dzIHJldXNpbmcgYmFzZWNsYXNzIGNhcHMgcXVlcnkgaGFuZGxpbmcgYW5kIHNpbXBsaWZ5aW5nIG5lZ290aWF0aW9uCgkgIGNvZGUuCgoyMDE1LTA4LTE3IDExOjUwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHN0aWxsIHJlc2V0IHBlbmRpbmcgYXVkaW8gaW5mbyBvbiBoYXJkIGZsdXNoCgkgIEZvbGxvdy11cCB0byBwcmV2aW91cyBjb21taXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MzEKCjIwMTUtMDctMTUgMTA6NDQ6MDIgLTA2MDAgIEphc29uIExpdHppbmdlciA8amxpdHppbmdlckBjb250cm9sNC5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4IGhhbmRsaW5nIG9mIHNhbXBsZSByYXRlIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sKCSAgSWYgdGhlIHNhbXBsZSByYXRlIG9mIHRoZSBtZWRpYSBjaGFuZ2VzLCB0aGUgcmVzdWx0aW5nIGZsdXNoIHdpbGwKCSAgY2xlYXIgdGhlIGhhc19uZXh0X2F1ZGlvaW5mbyBmbGFnLCBhbmQgdGhlIGNhcHMgd29uJ3QgYmUgc2VudAoJICBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDMxCgoyMDE1LTAzLTE3IDE3OjU1OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIGdzdF9iYXNlX3BhcnNlX21lcmdlX3RhZ3MoKQoJICBJbnN0ZWFkIG9mIHNxdWFzaGluZyBhbGwgdXBzdHJlYW0gdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5NzY4CgoyMDE1LTA4LTE2IDE4OjEzOjEyICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFJlY2FsY3VsYXRlIG9mZnNldCBhbmQgc2l6ZSBpbiByYXcgdXBsb2FkCgkgIEFzIHdlIG9ubHkgZXhwb3NlIHRoZSBtYXBwZWQgcG9ydGlvbiBvZiB0aGUgZnJhbWUgaW50byB0aGUgR0wKCSAgbWVtb3J5IG9iamVjdCAoYW5kIG5vdCB0aGUgb3JpZ2luYWwgcGFkZGluZykgd2UgbmVlZCB0bwoJICByZS1jYWxjdWxhdGUgdGhlIHNpemUgYW5kIG9mZnNldC4KCjIwMTUtMDgtMTYgMDg6NDk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBvZmYgYnkgb25lIHNlZWtpbmcgaXNzdWUKCSAgV2hlbiBzZWVraW5nIHRvIHRoZSBsYXN0IHNlY29uZCBvZiBhIG1wZCBpdCB3b3VsZCByZWplY3QgdGhlIHNlZWsKCSAgYmVjYXVzZSB0aGUgY29tcGFyaXNvbiB3YXMgPCBpbnN0ZWFkIG9mIDw9CgkgIFRoaXMgZmFpbHMgdGhlIGltcG9ydGFudCB1c2UgY2FzZSBvZiBzZWVraW5nIHRvIHRoZSBlbmQgb2YgYSBmaWxlCgkgIHRvIHBsYXkgaXQgYmFjayBpbiByZXZlcnNlIGZyb20gdGhlIGVuZAoKMjAxNS0wOC0xNiAxMjo1NTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggaWxsb2dpY2FsIGNvbXBhcmlzaW9uCgkgIEEgdmFyaWFibGUgY2FuJ3QgYmUgdHdvIHZhbHVlcyBhdCBvbmNlLiBXZSB3YW50IHRvIHN0b3AgaWYgaXQncyBub3QgdGhlCgkgIGFjdHVhbCB0cyAqQU5EKiBub3QgdGhlIG90aGVyIHRzCgkgIENJRCAjMTMxNjQ3NQoKMjAxNS0wOC0xNiAxMjo1MjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEZyZWUgVVRDVGltaW5nIHN0cnVjdCBpZiB0aGVyZSBhcmUgbm8gdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBpdAoJICBDSUQgMTMxNjQ3OQoKMjAxNS0wOC0xNSAyMzozNjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogTGluayBhZ2FpbnN0IEdNb2R1bGUgZm9yIHRlc3RzIHVzaW5nIGdfbW9kdWxlXyoKCjIwMTUtMDgtMTUgMTk6MDQ6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERlbW90ZSBkZWJ1Z2dpbmcgbGV2ZWwKCjIwMTUtMDgtMTUgMTk6MDE6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFjdHVhbGx5IHdhaXQgZm9yIHBsYXlsaXN0IHVwZGF0ZSB3aGVuIHJlcXVlc3RlZAoJICBUaGVyZSBhcmUgc2V2ZXJhbCBjYXNlcyB3aGVyZSBhIEhMUyBzZXJ2ZXIgY291bGQgdGVtcG9yYXJpbHkgaGF2ZSB3cm9uZwoJICBmcmFnbWVudHMsIG9yIHJlY29uZmlndXJlIHRoZSBwbGF5bGlzdC4gSW4gdGhvc2UgY2FzZXMsIHdoZW4gd2UgZ2V0CgkgIGZyYWdtZW50IGRvd25sb2FkIGZhaWx1cmVzLCB3ZSAqcmVhbGx5KiB3YW50IHRvIHdhaXQgYSBiaXQgKGZvciB0aGUgbmV4dAoJICBwbGF5bGlzdCB1cGRhdGUpIGJlZm9yZSByZXRyeWluZyB0byBnZXQgZnJhZ21lbnRzLgoJICBQcmV2aW91c2x5IHRoaXMgbWV0aG9kIHdhcyBmaXJzdCBjaGVja2luZyB0byBzZWUgaWYgdGhlcmUgd2FzIG5leHQgZnJhZ21lbnRzCgkgIChhY2NvcmRpbmcgdG8gdGhlIHByZXZpb3VzIG1hbmlmZXN0IHVwZGF0ZSkgYmVmb3JlIHdhaXRpbmcgZm9yIHRoZSBuZXh0IHVwZGF0ZS4KCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgaWYgdGhhdCBpZiB0aGVyZSBpcyBhIHRlbXBvcmFyeSBmYWlsdXJlIG9uIHRoZSBzZXJ2ZXIsCgkgIHRoYXQncyB1bmNvcnJlbGF0ZWQgdG8gd2hldGhlciB0aGUgbWFuaWZlc3QgY29udGFpbnMgbmV4dCBmcmFnbWVudHMgb3Igbm90LgoKMjAxNS0wOC0xNCAxMjoyNToxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIGNoZWNrczogRW5zdXJlIHRocmVhZC1zYWZlIGxpYlgxMS9HTCB3aGVuIHJ1bm5pbmcgdGVzdHMKCjIwMTUtMDgtMTUgMTI6NTg6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgYXVkaW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBkdHNkZWMsIGZhYWQsIGdzbWRlYywgbXBnMTIzYXVkaW9kZWMsIG9wdXNkZWMsCgkgIHNiY2RlYywgYWRwY21kZWMsIHNpcmVuZGVjCgoyMDE1LTA4LTE1IDEyOjU1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdmlkZW9kZWNvZGVyczogdXNlIGRlZmF1bHQgcGFkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIEF2b2lkcyB1c2VsZXNzIGNoZWNrIG9mIGRvd25zdHJlYW0gY2FwcyB3aGVuIGhhbmRsaW5nIGFuCgkgIGFjY2VwdC1jYXBzIHF1ZXJ5CgkgIEVsZW1lbnRzOiBkYWFsYWRlYywgbGliZGUyNjVkZWMsIG9wZW5qcGVnZGVjLCByc3ZnZGVjLCBzY2hyb2RlYywKCSAgd2VicGRlYywgcG5tZGVjLCB2bW5jZGVjLCBvcGVuZXhyZGVjCgoyMDE1LTA4LTE1IDE2OjIyOjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBtYWtlIHN1cmUgd2UgY2FsbCBoYW5kbGVfbmFsIGZvciBlYWNoIE5BTAoJICBDYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMIGluIHRoZSBTVEFQLUEgUlRQIHBhY2tldC4gVGhpcyBtYWtlcyBzdXJlCgkgIHdlIGNvcnJlY3RseSBleHRyYWN0IHRoZSBTUFMgYW5kIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDk5OQoKMjAxNS0wOC0xNSAxNTowMjozMyArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQWxzbyBkaXNhYmxlIHRoZSBibGVuZCB3aGVuIGRvbmUKCjIwMTUtMDgtMTUgMTQ6MzE6MTUgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xzaW5rOiBFbmFibGUgc3luYyBtZXRhIG9uIHBvb2xzIHdlIG9mZmVyCgkgIEFzIHRoZSB1cGxvYWQgaXMgYXN5bmNocm9ub3VzLCB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUgc3luYyBtZXRhIHRvCgkgIGdhaW4gY29ycmVjdCByZW5kZXJpbmcuIFRoZSBidWZmZXIgcG9vbCByZWNlaXZlciBkb24ndCBrbm93IGFib3V0CgkgIHRoYXQuCgoyMDE1LTA4LTE1IDE1OjEyOjI3ICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogQWRkIG92ZXJsYXkgY29tcG9zaXRpb24gc3VwcG9ydAoJICBSZW5kZXJpbmcgY29tcG9zaXRpb24gb3ZlcmxheSBpbiBHTCB3aXRoIGFkZGl0aW9uYWwgaGlnaCByZXNvbHV0aW9uCgkgIG92ZXJsYXkgYmVpbmcgYWRkZWQuCgoyMDE1LTA4LTE1IDE1OjA4OjExICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBGaXggdW5zYWZlIGhhbmRsaW5nIG9mIGJ1ZmZlciBsaWZlIHRpbWUKCSAgV2UgbmVlZCB0byBrZWVwIHRoZSBhY3RpdmUgYnVmZmVyICh0aGUgb25lIHdlIGhhdmUgcmV0cmVpdmUgYQoJICB0ZXh0dXJlIGlkIGZyb20pIG90aGVyd2lzZSBpdCdzIHJhY3kgYW5kIHVwc3RyZWFtIG1heSB1cGxvYWQKCSAgbmV3IGNvbnRlbnQgYmVmb3JlIHdlIGhhdmUgcmVuZGVyZWQgb3IgZHVyaW5nIGxhdGVyIHJlZGlzcGxheS4KCjIwMTUtMDgtMTQgMTg6MDc6MTUgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IFJlbW92ZSByZXNldCBwYXRoCgkgIFRoZSByZXNldCBwYXRoIGlzIGJvZ3VzIGFuZCB0aGVyZSBpcyBubyByZWFzb24gdG8gZ2V0IHJpZCBvZiB0aGVzZQoJICB0aGluZ3MgZHVyaW5nIHJlc2l6ZS4KCjIwMTUtMDgtMTQgMTc6MzY6NDggKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogTW92ZSBvdmVybGF5IHJlbmRlcmluZyBhZnRlciB2aWRlbyByZW5kZXJpbmcKCSAgVGhpcyBpcyBtb3N0bHkgY29zbWV0aWMsIGJ1dCBoZW9yZXRpY2FsbHkgaXQgcmVkdWNlcyB0aGUgYW1vdW50IG9mCgkgIHJlcXVpcmVkIG9iamVjdCBpbiB0aGUgY29udGV4dCBhdCBvbmUgcG9pbnQuIEl0IGFsc28gYXZvaWRzIHBvdGVudGlhbAoJICBjb25mbGljdHMuCgoyMDE1LTA4LTE1IDE0OjQ1OjM0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IENvcHkgbWV0YWRhdGEgaW4gdGhlIHBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xNSAxMTo0MTo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBVc2UgR1NUX1dBUk5JTkdfT0JKRUNUKCkgaW5zdGVhZCBvZiBHU1RfV0FSTklORygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTUgMTE6MzA6MzYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZml4IHBvdGVudGlhbCBjcmFzaCB3aGVuIHNodXR0aW5nIGRvd24KCSAgQSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIG1heSBjYXVzZSBidWZmZXJzIHRvIGJlCgkgIHVucmVmZmVkIHdoaWxlIHRoZXkgYXJlIHN0aWxsIHVzZWQgYnkgdGhlIHN0cmVhbWluZyB0aHJlYWQgaW4KCSAgZ3N0X3J0cF9oMjY1X3BheV9zZW5kX3Zwc19zcHNfcHBzKCkgcmVzdWx0aW5nIGluIGEgY3Jhc2guIENoYWluIHVwIHRvIHRoZQoJICBwYXJlbnQgY2xhc3MgZmlyc3QgaW4gdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB0byBtYWtlIHN1cmUgc3RyZWFtaW5nCgkgIGhhcyBzdG9wcGVkIGFuZCBvbmx5IHRoZW4gZnJlZSB0aG9zZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzgxCgoyMDE1LTA4LTE1IDEwOjAzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSAgb3BlbmdsOiBDaGFuZ2UgR0xjbGFtcGQgdG8gZG91YmxlCgkgIEdMY2xhbXBkIGRvZXMgbm90IGV4aXN0IG9uIEdMRVMsIG9ubHkgZGVza3RvcCBHTC4KCjIwMTUtMDgtMTQgMTA6MzI6MTQgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSAgb3BlbmdsOiBhZGQgbWlzc2luZyBDbGVhckRlcHRoIHByb3RvdHlwZQoJICBUaGUgQ2xlYXJEZXB0aCBjYWxsIGlzIG1pc3NpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MzkKCjIwMTUtMDgtMDYgMTQ6MzM6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ2xlYXIgU1BTIGluZm8gYWZ0ZXIgcHJvY2Vzc2luZy4KCSAgVGhlIFNQUyBzdHJ1Y3QgbWlnaHQgYmUgZmlsbGVkIG91dCBieSBhIGNhbGwgdG8KCSAgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3N1YnNldF9zcHMsIHdoaWNoIGZpbGxzIG91dAoJICBkeW5hbWljYWxseSBhbGxvY2F0ZWQgZGF0YSBhbmQgcmVxdWlyZXMgYSBjYWxsCgkgIHRvIGdzdF9oMjY0X3Nwc19jbGVhcigpIHRvIGZyZWUgaXQuIEFsc28gbWFrZSBzdXJlCgkgIHRvIGNsZWFyIG91dCBhbnkgYWxsb2NhdGVkIFNQUyBkYXRhIHdoZW4gcmV0dXJuaW5nCgkgIGFuIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzA2CgoyMDE1LTA4LTEyIDAwOjIwOjI2ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IFJlZmFjdG9yIHRoZSBjb2RlCgkgIFNvbWUgbGluZXMgb2YgY29kZSBhcmUgcmVwZWF0ZWQgc2V2ZXJhbCB0aW1lcywgdGhlcmVmb3JlCgkgIHRoaXMgbGluZXMgYXJlIHNpbXBsaWZpZWQgd2l0aCBhIGlubGluZSBmdW5jdGlvbiwgdGhhdCB0aGlzIGlzCgkgIHByb3BlciBzdHlsZSBvZiBDKysuCgoyMDE1LTA4LTE0IDExOjQzOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBlbmFibGUgYWNjZXB0LWludGVyc2VjdCBhbmQgYWNjZXB0LXRlbXBsYXRlIGZsYWdzIG9uIHNpbmtwYWQKCSAgRG8gYSBxdWljayBjaGVjayB3aXRoIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBpdCBpcyBlbm91Z2guIFVzZXJzCgkgIHNob3VsZCBoYXZlIGZpZ3VyZWQgdGhlIGFwcHJvcHJpYXRlIGZ1bGwgY2FwcyBvbiBhIHByZXZpb3VzIGNhcHMgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYyMwoKMjAxNS0wOC0xNCAxMTo0MzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGVuYWJsZSBhY2NlcHQtdGVtcGxhdGUgZmxhZwoJICBEbyBhIHF1aWNrIGNoZWNrIHdpdGggdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGl0IGlzIGVub3VnaC4gVXNlcnMKCSAgc2hvdWxkIGhhdmUgZmlndXJlZCB0aGUgYXBwcm9wcmlhdGUgZnVsbCBjYXBzIG9uIGEgcHJldmlvdXMgY2FwcyBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDE1OjA4OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IGZpeCBidWZmZXIgbGVhayB3aGVuIHVzaW5nIFNQUy9QUFMKCSAgRml4ZXMgYSBidWZmZXIgbGVhayB0aGF0IHdvdWxkIG9jY3VyIGlmIHRoZSBwaXBlbGluZSB3YXMgc2h1dGRvd24gd2hpbGUgYQoJICBTUFMvUFBTIGhlYWRlciB3YXMgYmVpbmcgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI3MQoKMjAxNS0wOC0xNCAxMTo0OTo1MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkgIHJ0cGgyNjVkZXBheTogY29weSBtZXRhZGF0YSBpbiB0aGUgZGVwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0CgkgIHRhZ3Mgb3Igd2l0aCBvbmx5IHRoZSB2aWRlbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTQgMDk6NDQ6MjQgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIEhUVFAgSEVBRCBtZXRob2Qgb2YgdGltZSBzeW5jCgkgIFRoZSB1cm46bXBlZzpkYXNoOnV0YzpodHRwLWhlYWQ6MjAxNCBtZXRob2Qgb2YgdGltZSBzeW5jaHJvbmlzYXRpb24KCSAgdXNlcyBhbiBIVFRQIEhFQUQgcmVxdWVzdCB0byBhIHNwZWNpZmllZCBVUkwgYW5kIHRoZW4gcGFyc2VzIHRoZQoJICBEYXRlOiBIVFRQIHJlc3BvbnNlIGhlYWRlci4KCSAgVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IHRvIGRhc2hkZW11eCBmb3IgdGhpcyBtZXRob2Qgb2YgdGltZQoJICBzeW5jaHJvbmlzYXRpb24gYnkgbWFraW5nIGEgSEVBRCByZXF1ZXN0IGFuZCB0aGVuIHBhcnNpbmcgdGhlIERhdGU6CgkgIHJlc3BvbnNlLgoJICBUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgdG8gZ3N0ZnJhZ21lbnQgdG8gcmV0dXJuIHRoZSBIVFRQIGhlYWRlcnMKCSAgYW5kIHRvIHVyaWRvd25sb2FkZXIgdG8gc3VwcG9ydCBIRUFEIHJlcXVlc3RzLiBUbyBhdm9pZCBjcmVhdGluZyBhCgkgIG5ldyBBUEksIHRoZSBSQU5HRSBnZXQgZnVuY3Rpb24gaXMgcmUtdXNlZCAoYWJ1c2VkPykgd2l0aCBzdGFydD0tMQoJICBhbmQgZW5kPS0xIHRvIGluZGljYXRlIGEgSEVBRCByZXF1ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDEzCgoyMDE1LTA4LTEzIDE4OjIxOjI5ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwb3N0LXJldmlldyBmaXh1cCBvZiBVVENUaW1pbmcgZWxlbWVudAoJICBUaGlzIGNvbW1pdCBhZGRyZXNzZXMgdGhlIGZvbGxvd2luZyBpdGVtcyBmcm9tIHRoZSBjb2RlIHJldmlldzoKCSAgdXNlIGEgcG9ydGFibGUgd2F5IHRvIGRlZmluZSBOVFBfVE9fVU5JWF9FUE9DSCwKCSAgZml4IG1lbW9yeSBsZWFrIG9uIGVycm9yLCBhbmQKCSAgYWRkIGRvY3VtZW50YXRpb24gdG8gVVRDVGltaW5nIHBhcnNlIGZ1bmN0aW9ucwoJICBVc2luZyBMTCBpcyBub3QgcG9ydGFibGUsIHNvIHRoZSBHX0dVSU5UNjRfQ09OU1RBTlQgbmVlZHMgdG8gYmUgaW5zdGVhZC4KCSAgSWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBETlMgcmVzb2x1dGlvbiwgdGhlIEdFcnJvciB3YXMgbm90IGJlaW5nCgkgIHJlbGVhc2VkLCBjYXVzaW5nIGEgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTMKCjIwMTUtMDctMTUgMTE6NTY6MTMgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgVVRDVGltaW5nIGVsZW1lbnRzIGZvciBjbG9jayBkcmlmdCBjb21wZW5zYXRpb24KCSAgVW5sZXNzIHRoZSBEQVNIIGNsaWVudCBjYW4gY29tcGVuc2F0ZSBmb3IgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBpdHMKCSAgY2xvY2sgYW5kIHRoZSBjbG9jayB1c2VkIGJ5IHRoZSBzZXJ2ZXIsIHRoZSBjbGllbnQgbWlnaHQgcmVxdWVzdAoJICBmcmFnbWVudHMgdGhhdCBlaXRoZXIgbm90IHlldCBvbiB0aGUgc2VydmVyIG9yIGZyYWdtZW50cyB0aGF0IGhhdmUKCSAgYWxyZWFkeSBiZWVuIGV4cGlyZWQgZnJvbSB0aGUgc2VydmVyLiBUaGlzIGlzIGFuIGlzc3VlIGJlY2F1c2UgdGhlc2UKCSAgcmVxdWVzdHMgY2FuIHByb3BhZ2F0ZSBhbGwgdGhlIHdheSBiYWNrIHRvIHRoZSBvcmlnaW4KCSAgSVNPL0lFQyAyMzAwOS0xOjIwMTQvQW1kIDEgW1BEQU0xXSBkZWZpbmVzIGEgbmV3IFVUQ1RpbWluZyBlbGVtZW50IHRvIGFsbG93CgkgIGEgREFTSCBjbGllbnQgdG8gdHJhY2sgdGhlIGNsb2NrIHVzZWQgYnkgdGhlIHNlcnZlciBnZW5lcmF0aW5nIHRoZQoJICBEQVNIIHN0cmVhbS4gTXVsdGlwbGUgVVRDVGltaW5nIGVsZW1lbnRzIG1pZ2h0IGJlIHByZXNlbnQsIHRvIGluZGljYXRlCgkgIHN1cHBvcnQgZm9yIG11bHRpcGxlIG1ldGhvZHMgb2YgVVRDIHRpbWUgZ2F0aGVyaW5nLiBFYWNoIGVsZW1lbnQgY2FuCgkgIGNvbnRhaW4gYSB3aGl0ZSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBVUkxzIHRoYXQgY2FuIGJlIGNvbnRhY3RlZAoJICB0byBkaXNjb3ZlciB0aGUgVVRDIHRpbWUgZnJvbSB0aGUgc2VydmVyJ3MgcGVyc3BlY3RpdmUuCgkgIFRoaXMgY29tbWl0IHByb3ZpZGVzIHBhcnNpbmcgb2YgVVRDVGltaW5nIGVsZW1lbnRzLCB1bml0IHRlc3RzIG9mIHRoaXMKCSAgcGFyc2luZyBhbmQgYSBmdW5jdGlvbiB0byBwb2xsIGEgdGltZSBzZXJ2ZXIuIFRoaXMgZnVuY3Rpb24KCSAgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBtZXRob2RzOgoJICB1cm46bXBlZzpkYXNoOnV0YzpudHA6MjAxNAoJICB1cm46bXBlZzpkYXNoOnV0YzpodHRwLXhzZGF0ZToyMDE0CgkgIHVybjptcGVnOmRhc2g6dXRjOmh0dHAtaXNvOjIwMTQKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC1udHA6MjAxNAoJICBUaGUgbWFuaWZlc3QgdXBkYXRlIHRhc2sgaXMgdXNlZCB0byBwb2xsIHRoZSBjbG9jayB0aW1lIHNlcnZlciwKCSAgdG8gc2F2ZSBoYXZpbmcgdG8gY3JlYXRlIGEgbmV3IHRocmVhZC4KCSAgV2hlbiBjaG9vc2luZyB0aGUgc3RhcnRpbmcgZnJhZ21lbnQgbnVtYmVyIGFuZCB3aGVuIHdhaXRpbmcgZm9yIGEKCSAgZnJhZ21lbnQgdG8gYmVjb21lIGF2YWlsYWJsZSwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgc2VydmVyJ3MgaWRlYQoJICBvZiBVVEMgYW5kIHRoZSBjbGllbnQncyBpZGVhIG9mIFVUQyBpcyB0YWtlbiBpbnRvIGFjY291bnQuIEZvciBleGFtcGxlLAoJICBpZiB0aGUgc2VydmVyJ3MgdGltZSBpcyBiZWhpbmQgdGhlIGNsaWVudCdzIGlkZWEgb2YgVVRDLCB3ZSB3YWl0IGZvcgoJICBsb25nZXIgYmVmb3JlIHJlcXVlc3RpbmcgYSBmcmFnbWVudAoJICBbUERBTTFdOiBodHRwOi8vd3d3Lmlzby5vcmcvaXNvL2hvbWUvc3RvcmUvY2F0YWxvZ3VlX3RjL2NhdGFsb2d1ZV9kZXRhaWwuaHRtP2NzbnVtYmVyPTY2MDY4CgkgIGRhc2hkZW11eDogc3VwcG9ydCBOVFAgdGltZSBzZXJ2ZXJzIGluIFVUQ1RpbWluZyBlbGVtZW50cwoJICBVc2UgdGhlIGdzdF9udHBfY2xvY2sgdG8gc3VwcG9ydCB0aGUgdXNlIG9mIGFuIE5UUCBzZXJ2ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTMKCjIwMTUtMDgtMTQgMTE6MTM6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBjaGVjazogUmVuYW1lIHN0YXRlcyB1bml0IHRlc3QKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGRpZmZlcmVudGlhdGUgZnJvbSBvdGhlciBtb2R1bGVzIHN0YXRlcyB1bml0IHRlc3QKCjIwMTUtMDgtMTMgMTA6MzE6MjAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgc3B1LXBnczogZml4IGJ1ZmZlciBhbmQgZXZlbnQgbGVhawoJICBXaGVuIHBsYXlpbmcgbXRzIGZpbGVzIHdpdGggZW1iZWRkZWQgc3VidGl0bGVzLCB0aGUgYnVmZmVyIGlzIG1hcHBlZCwKCSAgYnV0IG5vdCB1bm1hcHBlZCBhdCB0aGUgZW5kIHJlc3VsdGluZyBpbiBhIG1lbW9yeSBsZWFrLgoJICBBbHNvIHVucmVmIGV2ZW50IGluIGhhbmRsZV9kdmRfZXZlbnQgYXMgaXQgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzUzOQoKMjAxNS0wOC0xMyAxMDoyNTo1MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRml4IGV2ZW50IGxlYWtzCgkgIFdoZW4gcGxheWluZyBtdHMgZmlsZXMgd2l0aCBlbWJlZGRlZCBzdWJ0aXRsZXMsIHRoZXJlIGFyZSBmZXcgZXZlbnQgbGVha3MuCgkgIEV2ZW50cyBhcmUgc3VwcG9zZWQgdG8gYmUgdHJhbnNmZXIgZnVsbC4gU28gaWYgbm90IGZvcndhcmRpbmcgdGhlIGV2ZW50LAoJICB0aGV5IG5lZWQgdG8gYmUgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1MzkKCjIwMTUtMDgtMTMgMTI6Mzg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIFJldmVydCAic3J0cGRlYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGZmMTFhMWE4YTBjNjg1ZDJlZGQwZTA2YzAwNzFjYmI5NGYyY2I2NjMuCgkgIEl0IGNhbid0IGJlIGFzc3VtZWQgdGhhdCBhbGwgYnVmZmVycyBpbiBhIGJ1ZmZlciBsaXN0IGhhdmUgdGhlIHNhbWUgU1NSQyBvcgoJICBhcmUgUlRQIG9yIFJUQ1Agb25seS4gSXQgaGFzIHRvIGJlIGNoZWNrZWQgZm9yIGV2ZXJ5IHNpbmdsZSBidWZmZXIsIGFuZCBvbmUKCSAgYmFzaWNhbGx5IGhhcyB0byBkbyB0aGUgcHJvY2Vzc2luZyB0aGF0IGlzIGRvbmUgYnkgdGhlIGRlZmF1bHQgY2hhaW5fbGlzdAoJICBpbXBsZW1lbnRhdGlvbi4KCjIwMTUtMDgtMTIgMTc6NTQ6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGNoZWNraW5nIGlmIGRlcGF5IGhhcyBzcHMvcHBzIG5hbHMgYmVmb3JlIGluc2VydGlvbgoJICBSZWxhdGVkIHRvOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNDMwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTc6MjI6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG9ubHkgdXBkYXRlIHRoZSBzcmNwYWQgY2FwcyBpZiBzb21ldGhpbmcgZWxzZSB0aGFuIHRoZSBjb2RlY19kYXRhIGNoYW5nZWQKCSAgaDI2NHBhcnNlIGFuZCBnc3RydHBoMjY0ZGVwYXkgZG8gdGhlIHNhbWUsIGxldCdzIGtlZXAgdGhlIGJlaGF2aW91cgoJICBjb25zaXN0ZW50LiBBcyB3ZSBub3cgaW5jbHVkZSB0aGUgY29kZWNfZGF0YSBpbnNpZGUgdGhlIHN0cmVhbSwgdGhpcyBjYXVzZXMKCSAgbGVzcyBjYXBzIHJlbmVnb3RpYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTY6NDM6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IFBQUyByZXBsYWNlcyBvbGQgUFBTIGlmIGl0IGhhcyB0aGUgc2FtZSBpZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjI4CgoyMDE1LTA4LTEyIDE2OjExOjAwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBJbnNlcnQgU1BTL1BQUyBOQUxzIGludG8gdGhlIHN0cmVhbQoJICBydHBoMjY0ZGVwYXkgZG9lcyB0aGUgc2FtZSBhbmQgdGhpcyBmaXhlcyBkZWNvZGluZyBvZiBzb21lIHN0cmVhbXMgd2l0aCAzMgoJICBTUFMgKG9yIDI1NiBQUFMpLiBJdCBpcyBhbGxvd2VkIHRvIGhhdmUgU1BTIElEIDAgdG8gMzEgKG9yIFBQUyBJRCAwIHRvIDI1NSksCgkgIGJ1dCB0aGUgZmllbGQgaW4gdGhlIGNvZGVjX2RhdGEgZm9yIHRoZSBudW1iZXIgb2YgU1BTIG9yIFBQUyBpcyBvbmx5IDUKCSAgKG9yIDgpIGJpdC4gQXMgc3VjaCwgMzIgU1BTIChvciAyNTYgUFBTKSBhcmUgaW50ZXJwcmV0ZWQgYXMgMCBldmVyeXdoZXJlLgoJICBUaGlzIGxvb2tzIGxpa2UgYSBtaXN0YWtlIGluIHRoZSBwYXJ0IG9mIHRoZSBzcGVjdCBhYm91dCB0aGUgY29kZWNfZGF0YS4KCjIwMTUtMDgtMTIgMTU6NDk6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IGltcGxlbWVudCBwcm9jZXNzX3J0cF9wYWNrZXQoKSB2ZnVuYwoJICBGb3IgbW9yZSBvcHRpbWlzZWQgUlRQIHBhY2tldCBoYW5kbGluZzogbWVhbnMgd2UgZG9uJ3QgbmVlZCB0byBtYXAgdGhlCgkgIGlucHV0IGJ1ZmZlciBhZ2FpbiBidXQgY2FuIGp1c3QgcmUtdXNlIHRoZSBtYXBwaW5nIHRoZSBiYXNlIGNsYXNzIGhhcwoJICBhbHJlYWR5IGRvbmUuCgkgIEJhc2VkIG9uOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjM1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTU6MTQ6NTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IFVzZSBHU1RfQlVGRkVSX1BUUygpIGluc3RlYWQgb2YgR1NUX0JVRkZFUl9USU1FU1RBTVAoKQoJICBTd2l0Y2hpbmcgdG8gR1NUX0JVRkZFUl9USU1FU1RBTVAoKSB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgcnRwIGNvZGUuCgoyMDE1LTA4LTEyIDE0OjU5OjUzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBwcmV2ZW50IHRyeWluZyB0byBnZXQgMCBieXRlcyBmcm9tIGFkYXB0ZXIKCSAgVGhpcyBjYXVzZXMgYW4gYXNzZXJ0aW9uIGFuZCB3b3VsZCBsZWFkIHRvIGdldHRpbmcgYSBOVUxMIGluc3RlYWQKCSAgb2YgYSBidWZmZXIuIFdpdGhvdXQgcHJvcGVyIGNoZWNraW5nIHRoaXMgd291bGQgZWFzaWx5IGxlYWQgdG8gYQoJICBzZWdmYXVsdC4KCSAgUmVsYXRlZCB0byBycHRoMjY0ZGVwYXk6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxOTkKCjIwMTUtMDgtMTIgMDc6NTg6MDkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgcmFuZ2Ugb2YgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tCgkgIENocm9tYUxvZzJXZWlnaHREZW5vbSA9IGx1bWFfbG9nMl93ZWlnaHRfZGVub20gKyBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20KCSAgVGhlIHZhbHVlIG9mIENocm9tYUxvZzJXZWlnaHREZW5vbSBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIG9mIDAgdG8gNyBhbmQKCSAgdGhlIHZhbHVlIGx1bWFfbG9nMl93ZWlnaHRfZGVub20gIHNob3VsZCBiZSBhbHNvIGluIHRoZSByYW5nZSBvZiAwIHRvIDcuCgkgIFdoaWNoIG1lYW5zICwgZGVsdGFfY2hyb21hX2xvZzJfd2VpZ2h0X2Rlbm9tIGNhbiBoYXZlIHZhbHVlcyBpbiB0aGUgcmFuZ2UKCSAgYmV0d2VlbiAtNyBhbmQgNy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzU1MgoKMjAxNS0wOC0xMiAwNToxMToyNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSBwYXJzaW5nIG9mIHJlZl9waWNfbGlzdHNfbW9kaWZpY2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM1NTIKCjIwMTUtMDgtMTIgMDA6MjA6MTAgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdGFrZSBpbnRvIGFjY291bnQgbm9uIDEvMSBwYXIgZm9yIG5hdmlnYXRpb24KCSAgVGhlIGN1cnJlbnQgY29kZSB3YXMgaWdub3JpbmcgdGhlIHBhci9kYXIgYXNwZWN0IHdoZW4gdHJhbnNmb3JtaW5nCgkgIGZyb20gd2luZG93IGNvb3JkaW5hdGVzIHRvIHN0cmVhbSBjb29yZGluYXRlcyByZXN1bHRpbmcgaW4gaW5jb3JyZWN0CgkgIGNvb3JkaW5hdGVzIGJlaW5nIHNlbnQgdXBzdHJlYW0gaW4gdGhlIG5hdmlnYXRpb24gZXZlbnRzLgoKMjAxNS0wOC0xMiAwMDoxODoyMCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogZml4IG1vdGlvbiBldmVudCBuYW1lCgkgIHMvbW90aW9uL21vdXNlLwoJICBGaXhlcyBob3ZlciBpbnRlcmFjdGlvbiB3aXRoIERWRCBtZW51cwoKMjAxNS0wOC0xMiAwMDoxNDoxNCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkgIGd0azogY29ycmVjdCBuYXZpZ2F0aW9uIGV2ZW50cyBmb3Igd2luZG93IHNjYWxpbmcKCSAgaS5lLiB0YWtlIGludG8gYWNjb3VudCB0aGUgcG9zc2libGl0eSBvZiBzY2FsaW5nIGluIHRoZSBzaW5rCgkgIG9yIHRocm91Z2ggR0RLX1NDQUxFLgoJICBGaXhlcyBEVkQgTWVudXMgd2l0aCBhIHNjYWxlZCBndGt3aWRnZXQKCjIwMTUtMDgtMTEgMTU6MDI6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRml4IHNldHRpbmcgc3RyaW5nIHBhcmFtZXRlcnMKCSAgU3RyaW5nIHBhcmFtZXRlcnMgYXJlIGV4cGVjdGVkIHRvIGJlIHBhc3NlZCBhcyAoZjByX3BhcmFtX3N0cmluZyAqKSwKCSAgd2hpY2ggYWN0dWFsbHkgbWFwIHRvIGNoYXIqKi4gSW4gdGhlIGZpbHRlcnMgdGhpcyBpcyBldmFsdWF0ZWQgYXMKCSAgKCooY2hhcioqKXBhcmFtKSB3aGljaCBjdXJyZW50bHkgbGVhZCB0byBjcmFzaCB3aGVuIHBhc3NpbmcgY2hhciouCgkgIFJlbW92ZSB0aGUgc3BlY2lhbCBjYXNlIGZvciBzdHJpbmcsIGFsbCB0eXBlcywgaW5jbHVkaW5nIGNoYXIqIGFzCgkgIHBhc3NlZCBhcyBhIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9waGFicmljYXRvci5mcmVlZGVza3RvcC5vcmcvVDgzCgoyMDE1LTA4LTExIDEzOjM0OjU5ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrOiBpbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgTm93IHdlIGNhbiBwdXNoIGtleS9tb3VzZSBpbnB1dCBpbnRvIHRoZSBwaXBlbGluZSBmb3IgRFZEIHVzZSBjYXNlcy4KCjIwMTUtMDYtMzAgMTM6NTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBDb3B5IG1ldGFkYXRhIGluIHRoZSAoZGUpcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dCB0YWdzIG9yCgkgIHdpdGggb25seSB0aGUgYXVkaW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTExIDA0OjE0OjE5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgZnJhbWUgc3RhcnQgZGV0ZWN0aW9uIGNvZGUKCSAgQ2hlY2sgc2xpY2UgaGVhZGVycyBpbiBiZXR3ZWVuIEdTVF9IMjY1X05BTF9TTElDRV9UUkFJTF9OCgkgIGFuZCBHU1RfSDI2NV9OQUxfU0xJQ0VfUkFTTF9SIGZvciBmcmFtZSBzdGFydCBkZXRlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0OTcKCjIwMTUtMDgtMTEgMDM6NDc6NDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NTogQXZvaWQgc2tpcHBpbmcgb2YgRU9TIGFuZCBFT0IgbmFscwoJICBFbmRPZlNlcXVlbmNlIGFuZCBFbmRPZkJpdHN0cmVhbSBuYWwgdW5pdHMgaGF2ZSBzaXplIG9mIDIgYnl0ZXMuCgkgIERvbid0IGNvbnNpZGVyIHRoZW0gYXMgYnJva2VuIG5hbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0OTcKCjIwMTUtMDgtMTAgMjM6MDI6MTIgKzAyMDAgIFZhbmVzc2EgQ2hpcGkgPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IHdyb25nIGZvcm0gdG8gd3JpdGUgdGhlIGRlbGV0ZSBvcGVyYXRvcgoJICBUaGUgZGVsZXRlIG9wZXJhdG9yIGlzIHdyaXR0ZW4gdGhpcyB3YXk6IGRlbGV0ZSAoY2FzY2FkZSkuIFRoaXMgd2F5IGlzCgkgIG1pc3NwZWxsZWQsIGl0IGlzIGFuIG9wZXJhdG9yLCBub3QgYSBmdW5jdGlvbi4gRGVsZXRlIHRoZSBwYXJlbnRoZXNlcy4KCjIwMTUtMDgtMTAgMTk6MTM6MTEgKzAyMDAgIHZhbmVjaGlwaSA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogc2ltcGxpZnkgcmVwZWF0ZWQgY29kZS4KCSAgU3RvcmUgdGhlIHZhbHVlIG9mIHIuaGVpZ2h0IC8gMiBpbnN0ZWFkIG9mIHJlcGVhdGluZyB0aGUgb3BlcmF0aW9uIGxpbmUKCSAgdGhyZWUgdGltZXMuCgoyMDE1LTA4LTEwIDE5OjAyOjEwICswMjAwICB2YW5lY2hpcGkgPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIGZhY2VkZXRlY3Q6IFJlZHVuZGFuY3kgZXhpc3RzIGluIGNvZGUuCgkgIENoZWNraW5nIHRoZSB2ZWN0b3IgaXMgbm90IGVtcHR5IGFuZCBjaGVja2luZyB0aGUgdmVjdG9yIHNpemUgaXMgZ3JlYXRlcgoJICB0aGFuIHplcm8gYXJlIHRoZSBzYW1lIHRoaW5nLCB0aGlzIGlzIGEgcmVkdW5kYW5jeSBpbiB0aGUgY29kZS4gT25seQoJICBjaGVja2luZyB0aGUgdmVjdG9yIGlzIG5vdCBlbXB0eSBpcyBzdWZmaWNpZW50LCB0aGVyZWZvcmUgcmVtb3ZpbmcgdGhlCgkgIG90aGVyIGNoZWNrLgoKMjAxNS0wOC0xMCAxNDo0ODo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogQWRkIG9wZW5nbF92ZXJzaW9uLmggdG8gdGhlIGxpc3Qgb2Ygc291cmNlcwoJICBBZGRpbmcgdGhpcyBwcml2YXRlIGhlYWRlciB0byB0aGUgbGlzdCBvZiBzb3VyY2VzLiBXZSBkb24ndCB3YW50IHRvIG1ha2UKCSAgdGhpcyBoZWFkZXIgcHVibGljLCBidXQgd2UgbmVlZCBpdCBpbiB0aGUgbGlzdCBvZiBzb3VyY2VzIG90aGVyd2lzZSBpdAoJICB3b24ndCBiZSBpbmNsdWRlZCBpbiB0aGUgdGFyYmFsbC4gVGhpcyBmaXhlcyBtYWtlIGRpc3RjaGVjay4KCSAgVGhpcyByZWdyZXNzaW9uIHdhcyBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCAxYTZmZTNkYgoKMjAxNS0wOC0xMCAxOTowNjoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IG9ubHkgY3JlYXRlIHZhcmlhYmxlcyB3aGVuIG5lZWRlZAoJICBUaGUgdmFyaWFibGVzIHRvIHN0b3JlIGZhY2UgdmFsdWVzIGFyZSBvbmx5IG5lZWRlZCBpZiB0aGV5IHdpbGwgYmUgdXNlZCB0bwoJICBjb250cm9sIHRoZSB2b2x1bWUuIFdoaWNoIGlzbid0IHRoZSBkZWZhdWx0IHRvIGF2b2lkIHBvdGVudGlhbGx5IGJlaW5nIHZlcnkKCSAgbG91ZCBhY2NpZGVudGFsbHkuIE9ubHkgY3JlYXRlIHZhcmlhYmxlcyB3aGVuIG5lZWRlZC4KCjIwMTUtMDgtMTAgMTY6NTE6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBmYWNlZGV0ZWN0OiBtYWtlIHZvbHVtZSBjb250cm9sIG9wdGlvbmFsCgoyMDE1LTA4LTEwIDE2OjM4OjMyICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogdXNlIGdsZXMyIHNoYWRlcnMgZXZlcnl3aGVyZQoJICBUaGlzIGVmZmVjdGl2ZWx5IGxpbWl0cyBhIGdsZmlsdGVyIHN1YmNsYXNzIHRvIGJlID4gR0woRVMpIDIuMC4KCSAgcmF0aGVyIHRoYW4gYSBwb3NzaWJsZSBHTCAxLjQuCgoyMDE1LTA4LTEwIDE1OjQ0OjU0ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvdXRpbHMvb3BlbmdsX3ZlcnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbGNvbnRleHQvd2dsOiBpbXBsZW1lbnQgZ2wzIGNvcmUgcHJvZmlsZSBjb250ZXh0IHNlbGVjdGlvbgoKMjAxNS0wMi0yOCAwMTowNzo0NCArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogaW1wbGVtZW50IHBpdm90IHBvaW50IGZvciByb3RhdGlvbiBhbmQgc2NhbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc2MwoJICBBZGQgYSBwaXZvdCB2ZWN0b3IgZm9yIHNldHRpbmcgdGhlIG9yaWdpbiBvZiByb3RhdGlvbnMgYW5kIHNjYWxlcy4KCSAgV2l0aCB0aGUgcGl2b3QgcG9pbnQgdGhlIHJvdGF0aW9uIGFuZCBzY2FsZSBvcGVyYXRpb25zIGNhbiBoYXZlCgkgIGRpZmZlcmVudCBvcmlnaW5zLiBUaGlzIGFkZHMgdGhlIGFiaWxpdHkgdG8gcm90YXRlIGFyb3VuZCBkaWZmZXJlbnQgcG9pbnRzLgoJICBDdXJyZW50bHkgdGhlIGRlZmF1bHQgKDAsIDApIHBpdm90IHBvaW50IGlzIHBvc3NpYmxlLAoJICBhIHJvdGF0aW9uIGFyb3VuZCB0aGUgY2VudGVyLCBhbmQgem9vbWluZyBpbnRvIGFuZCBvdXQgb2YgdGhlIGNlbnRlci4KCSAgV2l0aCBhbiBwaXZvdCBwb2ludCB0aGlzIGlzIG9wdGlvbmFsLgoJICBJIGRlZmluZWQgdGhlIGZvbGxvd2luZyBpbWFnZSBjb29yZGluYXRlcyBmb3IgdGhlIHBpdm90IHBvaW50OgoJICAoLTEsMSkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAoMSwxKQoJICB8CQkJfAoJICB8CQkJfAoJICB8CQkJfAoJICB8CSAgKDAsMCkJCXwKCSAgfAkJCXwKCSAgfAkJCXwKCSAgfAkJCXwKCSAgKC0xLC0xKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICgxLC0xKQoJICBFeGFtcGxlOgoJICBSb3RhdGUgdGhlIHZpZGVvIGF0IHRoZSBib3R0b20gbGVmdCBjb3JuZXIKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjIFwKCSAgISBnbHRyYW5zZm9ybWF0aW9uIFwKCSAgc2NhbGUteD0wLjUgXAoJICBzY2FsZS15PTAuNSBcCgkgIHJvdGF0aW9uLXo9MjUuMCBcCgkgIHBpdm90LXg9LTEuMCBcCgkgIHBpdm90LXk9LTEuMCBcCgkgICEgZ2xpbWFnZXNpbmsKCSAgVGhlIHBpdm90LXogb3B0aW9uIGRlZmluZXMgdGhlIHBpdm90IHBvaW50IGluIDNEIHNwYWNlLgoJICBUaGlzIG9ubHkgYWZmZWN0cyByb3RhdGlvbiwgc2luY2Ugd2UgaGF2ZSBubyBaIGRhdGEgdG8gc2NhbGUuCgkgIFdpdGggdGhpcyBvcHRpb24gYSB2aWRlbyBjYW4gYmUgcm90YXRlZCBhcm91bmQgYSBwb2ludCBpbiAzRCBzcGFjZS4KCSAgRXhhbXBsZToKCSAgUm90YXRlIGFyb3VuZCBwb2ludCBiZWhpbmQgdGhlIHZpZGVvOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgXAoJICAhIGdsdHJhbnNmb3JtYXRpb24gXAoJICByb3RhdGlvbi14PTEwLjAgXAoJICBwaXZvdC16PS00LjAgXAoJICAhIGdsaW1hZ2VzaW5rCgoyMDE1LTA4LTA4IDE0OjQ1OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEFkZCBzaGFkZXIgdG8gY29udmVydCBCR1JBL0FSR0IgLT4gUkdCQQoJICBEZXBlbmRpbmcgb24gdGhlIGJ5dGVzIG9yZGVyIHdlIHdpbGwgZ2V0IEJHUkEgKGxpdHRsZSkgYW5kIEFSR0IgKGJpZykKCSAgZnJvbSB0aGUgY29tcG9zaXRpb24gb3ZlcmxheSBidWZmZXIgd2hpbGUgb3VyIEdMIGNvZGUgZXhwZWN0cyBSR0JBLiBBZGQKCSAgYSBmcmFnbWVudCBzaGFkZXIgdGhhdCBkbyB0aGlzIGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4NDIKCjIwMTUtMDgtMDggMTc6Mjg6MDMgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IGltcGxlbWVudCB0aGUgcmVxdWlyZWQgbXVsdGlwbGUgR0wgY29udGV4dCBzeW5jaG9uaXNhdGlvbgoJICBGcm9tIEdTdHJlYW1lcidzIEdMIGNvbnRleHQgaW50byB0aGUgUU1MIGNvbnRleHQKCjIwMTUtMDgtMDggMTc6MjI6MDUgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsL3N5bmNtZXRhOiBpbXBsZW1lbnQgc3luY2hyb25pc2F0aW9uIHdpdGhvdXQgZ2xGZW5jZVN5bmMKCSAgVXNlcyBnbEZpbmlzaCBhcyB0aGF0J3MgdGhlIGJlc3Qgd2UgaGF2ZSBmb3IgbGVzc2VyIE9wZW5HTCB2ZXJzaW9ucy4KCjIwMTUtMDgtMDggMTU6NDU6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IG91dHB1dCBUSU1FIHNlZ21lbnQgaWYgd2Ugb3V0cHV0IGEgc3RyZWFtIGFuZCB3b24ndCBzZWVrIGJhY2sgbGF0ZXIKCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBpcyBzZWVrYWJsZSB2aWEgYSBTRUVLSU5HIHF1ZXJ5IGFuZCBvdXRwdXQgYQoJICBCWVRFIHNlZ21lbnQgaWYgd2Ugd2FudCB0byBzZWVrIGJhY2sgdG8gZml4IHVwIHRoZSBoZWFkZXJzIGxhdGVyLAoJICBidXQgaWYgd2UncmUgc3RyZWFtaW5nIHNlbmQgYSBUSU1FIHNlZ21lbnQgaW5zdGVhZCAod2hpY2ggZ29lcwoJICBkb3duIGJldHRlciB3aXRoIGUuZy4gYXNmbXV4ICEgcnRwYXNmcGF5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxNS0wOC0wOCAxNTozMDo0MyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgdGVzdHMvZ2xjb250ZXh0OiBmaXggSU5WQUxJRF9FTlVNIEdMIGVycm9yIGluIHRlc3QKCjIwMTUtMDgtMDggMTU6MjE6MDMgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBjb250ZXh0L2dseDogb25seSB1c2UgZ2xYQ3JlYXRlQ29udGV4dEF0dHJpYnMgZm9yIE9wZW5HTCAzIGNvbnRleHRzCgkgIG1lc2EgZm9yIGV4YW1wbGUgd2hlbiBjcmVhdGluZyBhIEdMIDMuMSBjb21wYXRpYmlsaXR5IGNvbnRleHQKCSAgb3ZlcnJpZGVzIG91ciBjb250ZXh0IHByb2ZpbGUgc2VsZWN0aW9uIHRvIGNyZWF0ZSBhIGNvcmUgY29udGV4dC4KCjIwMTUtMDgtMDggMTM6MTk6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBmYWNlZGV0ZWN0OiBvbmx5IHNldCB0byBwbGF5aW5nIHdoZW4gaXQncyBub3QgYWxyZWFkeQoKMjAxNS0wOC0wOCAxMjo1MjozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogb3BlbmN2OiByZW1vdmUgdW5uZWNlc3Nhcnkgc2V0dGluZyBvZiBhIHByb3BlcnR5CgkgICIvZGV2L3ZpZGVvMCIgaXMgdGhlIGRlZmF1bHQgZGV2aWNlIG9mIHY0bDJzcmMsIHNldHRpbmcgaXQgdG8gdGhpcyBpcwoJICByZWR1bmRhbnQuCgoyMDE1LTA4LTA3IDE1OjQzOjUzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogZml4IHByb2ZpbGUgbG9hZGluZyBjaGVjawoJICBTaW5jZSB0aGUgcHJvZmlsZSBnY2hhciBkZXBlbmRzIG9uIERFRkFVTFRfRkFDRV9QUk9GSUxFLCBpdCBzaG91bGQgbmV2ZXIgYmUKCSAgTlVMTC4gRnVydGhlcm1vcmUgQ2FzY2FkZUNsYXNzaWZpZXIgYWNjZXB0cyBhbnkgaW5wdXQsIGV2ZW4KCSAgYW4gZW1wdHkgb25lLCBidXQgaWYgdGhlIHByb2ZpbGUgZmFpbHMgdG8gbG9hZCBpdCByZXR1cm5zIGFuIGVtcHR5IGNhc2NhZGUuCgkgIENoZWNrIGZvciB0aGlzIGluc3RlYWQsIGFuZCBpbmZvcm0gdGhlIHVzZXIgaWYgdGhlcmUgd2FzIGFuIEVycm9yLgoKMjAxNS0wOC0wNiAxMTozMDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCB3YXJuIGFib3V0IGR1cmF0aW9uIGlmIGl0IGlzIG5vdCBrbm93bgoJICBBbmQgYWxzbyBwcmludCB0aGUgdmFsdWVzIGluIGNhc2Ugb2Ygd2FybmluZwoKMjAxNS0wOC0wNyAxMzoxNjo1NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogYWRkIG5ldyBleGFtcGxlIGZpbGUKCSAgQ29tbWl0IDAyYjlkYWFmZGY2NGFiMjA1ZWQ3MjVmNTQ5NmRmYTVjZTg2MGVhY2MgYWRkZWQgYSBuZXcgZXhhbXBsZSBmaWxlCgkgIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QsIGFkZGluZyBpdCB0byAuZ2l0aWdub3JlCgoyMDE1LTA4LTA3IDEzOjA4OjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgY29uZmlndXJlOiB1cGRhdGUgT3BlbkNWIHJlcXVpcmVtZW50cyB0byAyLjMuMAoJICBXaXRoIGZhY2VkZXRlY3QgcG9ydGVkIHRvIEMrKyB0aGUgbWluaW11bSB2ZXJzaW9uIG9mIE9wZW5DVgoJICBzdXBwb3J0ZWQgaXMgMi4zLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wOC0wNyAwNTo1ODoyMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtCgkgIFNvbWUgdmlkZW8gYml0c3RyZWFtcyByZXBvcnQgYSB0b28gcmVzdHJpY3RpdmUgc2V0IG9mIHByb2ZpbGVzLiBJZiBhIHZpZGVvCgkgIGRlY29kZXIgd2FzIHRvIHN0cmljdGx5IGZvbGxvdyB0aGUgaW5kaWNhdGVkIHByb2ZpbGUsIGl0IHdvdWxkbid0IHN1cHBvcnQgdGhhdAoJICBzdHJlYW0sIHdoZXJlYXMgaXQgY291bGQgaW4gdGhlb3J5IGFuZCBpbiBwcmFjdGljZS4gU28gd2Ugc2hvdWxkIHJlbGF4IHRoZQoJICBwcm9maWxlIHJlc3RyaWN0aW9uIGZvciBhbGxvd2luZyB0aGUgZGVjb2RlciB0byBnZXQgY29ubmVjdGVkIHdpdGggcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA4LTA2IDE4OjEyOjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIHJnYjJiYXllcjogVXNlIG1hcHBlZCBmcmFtZSBzdHJpZGUKCjIwMTUtMDgtMDYgMTg6MTE6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgcmdiMmJheWVyOiBQcm90ZWN0IGFnYWluc3QgZmFpbGluZyBtYXAKCjIwMTUtMDgtMDYgMTg6MDQ6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBSZWFkIHN0cmlkZSBmcm9tIHRoZSB2aWRlbyBpbmZvCgoyMDE1LTA4LTA2IDE4OjA0OjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogUHJvdGVjdCBhZ2FpbnN0IGZhaWxpbmcgbWFwCgoyMDE1LTA4LTA2IDE5OjIzOjQ5ICswMzAwICBJbHlhIEF2ZXJ5YW5vdiA8aS5hdmVyeWFub3ZAZ2Vvc2Nhbi5hZXJvPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9lbmNvZGVyOgoJICBlbGVtZW50LXRlbXBsYXRlOiBGaXggd3JvbmcgcGFkIGluIHZpZGVvZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMzI2CgoyMDE1LTA4LTAzIDE2OjU3OjMxICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBsZWFrIGluIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfZnJhZ21lbnRfaW5mbygpCgkgIFRoZSBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2ZyYWdtZW50X2luZm8gZnVuY3Rpb24gY291bGQgY2FsbAoJICBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2hlYWRlcnNfaW5mbyBmdW5jdGlvbiB0d2ljZS4gVGhlCgkgIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvIGZ1bmN0aW9uIHdpbGwgc2V0IGhlYWRlcl91cmkgYW5kCgkgIGluZGV4X3VyaSB0byBzb21lIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmdzLiBUaGUgdmFsdWVzIHNldCBieSB0aGUgZmlyc3QgY2FsbCBvZgoJICBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2hlYWRlcnNfaW5mbyB3aWxsIGxlYWsgd2hlbiB0aGUgZnVuY3Rpb24gaXMKCSAgY2FsbGVkIGZvciBhIHNlY29uZCB0aW1lLgoJICBUaGUgc29sdXRpb24gaXMgdG8gY2FsbCBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2ZyYWdtZW50X2NsZWFyIGJlZm9yZSB0aGUKCSAgc2Vjb25kIGNhbGwgb2YgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE4OAoKMjAxNS0wOC0wNSAxNDo1MjoxMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBTZWdtZW50IHNob3VsZCBzdGFydCBhdCBiYXNlIHRzCgkgIEluc3RlYWQgd2Ugd291bGQgdXNlIGN1cl90cyB3aGljaCBtYXRjaGVzIHRoZSBsYXN0IFRTIHN0b3JlCgkgIGluIHRoZSBidWZmZXIgbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAzNwoKMjAxNS0wOC0wNSAxMjo1Njo1NyArMDIwMCAgQW5kZXJzIEpvbnNzb24gPGFuZGVycy5qb25zc29uQG5vcnNqb3ZhbGxlbi5zZT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogRml4IHN0cmluZyB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNDEKCjIwMTUtMDgtMDUgMTE6NTY6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGZhY2VkZXRlY3Q6IGZyZWUgSXBsSW1hZ2Ugd2l0aCBjdlJlbGVhc2VJbWFnZQoJICBVc2luZyBkZWxldGUoKSB3aXRoIElwbEltYWdlIHdpbGwgZmFpbCB0byBmcmVlIHNvbWUgb2YgdGhlIHN0cnVjdHVyZSdzCgkgIGNvbnRlbnRzLiBjdlJlbGVhc2VJbWFnZSgpIGlzIHRoZSBwcm9wZXIgd2F5IG9mIGZyZWVpbmcgdGhlIG1lbW9yeS4KCjIwMTUtMDgtMDUgMTE6Mzk6MDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGZhY2VkZXRlY3Q6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIHVzaW5nIGl0CgkgIENoZWNrIGlmIHByb2ZpbGUgaXMgTlVMTCBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdCB3aXRoIG5ldy4gQWxzbywgbmV3IHdpbGwKCSAgbmV2ZXIgcmV0dXJuIE5VTEw7IGlmIGFsbG9jYXRpb24gZmFpbHMsIGEgc3RkOjpiYWRfYWxsb2MgZXhjZXB0aW9uIHdpbGwgYmUKCSAgdGhyb3duIGluc3RlYWQuIFJlbW92ZSBjaGVjayBmb3IgYSBOVUxMIHJldHVybi4KCSAgQ0lEICMxMzE1MjU4CgoyMDE1LTA4LTA1IDExOjE0OjQ5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiByZW1vdmUgZGVhZCBjb2RlCgkgIGxldmVsX29rIGlzIG9ubHkgdXNlZCBpbiBhIGNoZWNrIHRoYXQgd2lsbCBuZXZlciBiZSB0cnVlLCByZW1vdmluZyBpdC4KCSAgQ0lEICMxMzE1MjU1CgoyMDE1LTA4LTA1IDExOjExOjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgRnJlZSB2cHNfbmFsIGJlZm9yZSByZXR1cm5pbmcuCgkgIENJRCAjMTMxNTI1NwoKMjAxNS0wOC0wNCAyMzoxNTozNiArMDIwMCAgQ2FybG9zIEdhcm5hY2hvIDxjYXJsb3NnQGdub21lLm9yZz4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogRG9uJ3QgbGVhayBhIEdzdFZpZGVvQ29kZWNTdGF0ZQoJICBUaGVyZSdzIGFscmVhZHkgdGhlIG91dHB1dF9zdGF0ZSB2YXJpYWJsZSB3aXRoIGl0LCBubyBuZWVkIHRvCgkgIGNhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfZ2V0X291dHB1dF9zdGF0ZSgpIGFuZCBnZXQgYSBuZXcgcmVmLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjYyCgoyMDE1LTA4LTA0IDIxOjMyOjUzICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBkdXBsaWNhdGVkIGZvcm1hdCBpbiBoYW5kbGVfc2Vla19wdWxsCgkgIEdzdEZvcm1hdCB2YXJpYWJsZSBhcmUgZHVwbGljYXRlZCBpbiBoYW5kbGVfc2Vla19wdWxsIGZ1bmN0aW9uLgoJICBTbyB3ZSBuZWVkIHRvIG1vdmUgdGhpcyB2YXJpYWJsZSBpbiBjb25kaXRpb24gc3RhdGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMjQzCgoyMDE1LTA4LTA0IDE0OjMwOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBmYWNlZGV0ZWN0OiBmaXggY3Jhc2hlcyBpbiBmaW5hbGl6ZQoJICBGaXhlcyBnc3QtaW5zcGVjdC0xLjAgLWEgY3Jhc2hpbmcuCgoyMDE1LTA4LTAzIDE5OjQyOjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSAgd2luc2NyZWVuY2FwOiBQcm9wZXJseSB0aW1lc3RhbXAgYnVmZmVycyB3aXRoIHRoZSBjdXJyZW50IGNsb2NrIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIGRvaW5nIG1hZ2ljCgkgIEFsc28gaW1wbGVtZW50IGZyYW1lcmF0ZSBoYW5kbGluZyBjb3JyZWN0bHkgYnkgYm9ycm93aW5nIHRoZSBjb2RlIGZyb20KCSAgeGltYWdlc3JjLiBHc3RCYXNlU3JjOjpnZXRfdGltZXMoKSBjYW4ndCBiZSB1c2VkIGZvciB0aGF0LCB3ZSBoYXZlIHRvCgkgIGltcGxlbWVudCBwcm9wZXIgd2FpdGluZyBvdXJzZWx2ZXMuCgoyMDE1LTA4LTA0IDAwOjIwOjI3ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IEZpeCAzMi1iaXQgYnVpbGQgLyBmb3JtYXQgc3RyaW5ncy4KCSAgVXNlIEdfR1NJWkVfRk9STUFUIGZvciBmb3JtYXQgc3RyaW5ncyB3aGVyZSByZWxldmFudAoKMjAxNS0wOC0wMyAxOTo0ODoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHN3YXAgY29udHJvbCBiaW5kaW5nIHByb3h5CgkgIFRoZSByZWZfb2JqZWN0IGFuZCBvYmplY3QgcGFyYW1ldGVycyB3ZXJlIHRoZSB3cm9uZyB3YXkgYXJvdW5kLgoJICBGb3IgdGhlIHR5cGljYWwgdXNlIGNhc2Ugd2hlcmUgYW4gYXBwbGljYXRpb24gaXMgc2V0dGluZyBhCgkgIEdzdENvbnRyb2xCaW5kaW5nIG9uIHRoZSByZXR1cm5lZCBnaG9zdCBwYWQ6CgkgIDEuIG91ciBjb250cm9sIGJpbmRpbmcgd291bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBuZXcgb25lIHdhcyBzZXQKCSAgMi4gc3luY192YWx1ZXMgY2FsbHMgd2VyZSBub3QgYmVpbmcgZm9yd2FyZGVkIGZyb20gdGhlIGludGVybmFsCgkgIHBhZCB0byB0aGUgZ2hvc3QgcGFkLgoJICBJZiBhbiBhcHBsaWNhdGlvbiBhdHRlbXB0cyB0byBwZXJmb3JtIG90aGVyIGNvbnRyb2wgYmluZGluZwoJICBvcGVyYXRpb25zIChnZXRfKiBmYW1pbHkgb2YgZnVuY3Rpb25zKSBvbiB0aGUgaW50ZXJuYWwgcGFkLCB0aGV5CgkgIHdpbGwgYWxzbyBiZSBmb3J3YXJkZWQgdG8gdGhlIGdob3N0IHBhZCB3aGVyZSBhIHBvc3NpYmxlCgkgIEdzdENvbnRyb2xCaW5kaW5nIHdpbGwgcHJvdmlkZSB0aGUgbmVjZXNzYXJ5IHZhbHVlcy4KCjIwMTUtMDgtMDEgMTU6NTI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBtcGRwYXJzZXI6IHBsdWcgbGVhayBpbiBzZWdtZW50dGVtcGxhdGUgcGFyc2luZwoJICBPbmx5IGNvcHkgdGhlIHZhbHVlcyBmcm9tIHRoZSBwYXJlbnQgaWYgdGhlIGN1cnJlbnQgbm9kZSBkb2Vzbid0CgkgIGhhdmUgdGhhdCB2YWx1ZSwgdGhleSB3ZXJlIGJlaW5nIGNvcGllZCBmcm9tIHRoZSBwYXJlbnQgYW5kCgkgIHRoZW4gb3ZlcndyaXRlbiBieSB0aGUgY2hpbGQgbm9kZSwgbGVha2luZyB0aGUgcGFyZW50J3MgY29weQoKMjAxNS0wOC0wMSAxNTo1MTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hfbXBkOiBhZGQgY2hlY2sgZm9yIHNlZ21lbnR0ZW1wbGF0ZSBpbmhlcml0YW5jZQoJICBDaGVja3MgaWYgdGhlIHZhbHVlcyBhcmUgcHJvcGVybHkgaW5oZXJpdGVkIGFuZCBvdmVyd3JpdGVuCgoyMDE1LTA4LTAxIDE1OjA5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaF9tcGQ6IGFkZCBvbmUgbW9yZSBiYXNlVVJMIHRlc3QKCSAgVGhpcyBvdGhlciB0eXBlIG9mIGJhc2VVUkwgdGVzdCB3YXMgcmVwbGFjZWQgYnkgYSBtb3JlIGNvbXBsZXggb25lLAoJICBiZXR0ZXIgaGF2ZSBib3RoIHRvIGtlZXAgYm90aCBvcHRpb25zIHdvcmtpbmcKCSAgQWxzbyBhZGRzIGFub3RoZXIgMiB2YXJpYXRpb25zIG9mIGhvdyBiYXNlVVJMIGNhbiBiZSBnZW5lcmF0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NgoKMjAxNS0wNy0yMyAxMDo1NDozNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCBkdXJhdGlvbiBmb3JtYXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzc2CgoyMDE1LTA3LTIyIDExOjQyOjIzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IHVwZGF0ZSB1bml0IHRlc3QgZm9yIGJhc2VVUkwKCSAgVXBkYXRlIHRoZSB1bml0IHRlc3QgZm9yIGJhc2VVUkwgdG8gdGVzdCB0aGF0IGl0IGlzIHByb3Blcmx5CgkgIHJlc29sdmVkIHRha2luZyBpbnRvIGFjY291bnQgcGFyZW50IGJhc2VVUkwgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzYKCjIwMTUtMDgtMDEgMTE6NTE6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiByZXZlcnQgcmVuYW1lIG9mIHByb3BlcnR5CgkgIFRoZSBwcm9wZXJ0eSBkb2Vzbid0IG5lZWQgdG8gaGF2ZSBpdHMgbmFtZSBjaGFuZ2VkIGJlY2F1c2Ugb2YgQysrLAoJICBqdXN0IHRoZSBpbnN0YW5jZSB2YXJpYWJsZXMuCgoyMDE1LTA3LTMxIDE3OjMxOjE1ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBmYWNlZGV0ZWN0OiBBZGQgdW5pdCB0ZXN0CgkgIEkgY3JlYXRlZCBmb3VyIHV0aWxpdGllcyBvZiB0aGUgZGV0ZWN0ZWQgZmVhdHVyZXM6CgkgIDEtIElmIHlvdSBoaWRlIHlvdXIgbW91dGgsIHRoZSB2b2x1bWUgb2YgdmlkZW8gaXMgbG93LgoJICAyLSBJZiB5b3UgaGlkZSB0aGUgbm9zZSwgdGhlIHZvbHVtZSBvZiB0aGUgdmlkZW8gaXMgdXAuCgkgIDMtIElmIHlvdSBoaWRlIHRoZSBmdWxsIGZhY2UsIHRoZSB2aWRlbyBzdG9wcy4KCSAgWW91IGNhbiBzZWUgcHJvb2Ygb2YgdGhpcyBoZXJlOgoJICBodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXB4emVqTktWX1dRCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDctMzEgMTY6NDA6MDcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIHRlbXBsYXRlbWF0Y2g6IHJlbmFtZSBjb25mbGljdGluZyB2YXJpYWJsZQoJICBXaXRoIHRoZSBzd2l0Y2ggb2YgZ3N0b3BlbmN2LmMgdG8gQysrLCBhbGwgT3BlbkNWIGVsZW1lbnRzIGFyZSBidWlsdCB3aXRoCgkgIGcrKy4gVGhlIHRlbXBsYXRlIHZhcmlhYmxlIGNsYXNoZXMgd2l0aCBDKysncyBmZWF0dXJlIG9mIHRoZSBzYW1lIG5hbWUuCgkgIFJlbmFtZSB0ZW1wbGF0ZSB0byB0ZW1wbCB0byBhdm9pZCBhbnkgY2xhc2guCgoyMDE1LTA3LTMxIDEzOjQ1OjQzICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jcHA6CgkgIGZhY2VkZXRlY3Q6IG5lZWQgdG8gbWlncmF0ZSB0byBDKysKCSAgVGhlIGNhc2NhZGUgY2xhc3NpZmllciBjaGFuZ2VzIGl0cyBzdHJ1Y3R1cmUgb24gbmV3IHZlcnNpb24gb2YgT3BlbkNWLgoJICBUaGUgbmVlZCB0byBtaWdyYXRlIHRvIEMrKyB0byB1dGlsaXplIHRoZSBuZXcgbG9hZCBtZXRob2Qgb2YgT3BlbkNWIHdoaWNoCgkgIGFsbG93cyB0byBsb2FkIHRoZSBuZXcgY2xhc3NpZmllcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDctMzEgMTA6NDc6MjcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCB0YWdsaXN0IGxlYWsKCSAgdGFnbGlzdCBtZXJnZSBkb2VzbnQgdGFrZSBvd25lcnNoaXAuIFNvIHNob3VsZCBmcmVlIHRoZSB0YWdzIGFmdGVyIHVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDg2CgoyMDE1LTA3LTMwIDIzOjMxOjIxICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkgIGFwcGxlbWVkaWEvYXZzYW1wbGU6IEZpeCByYWN5IGNsZWFudXAgb2YgQ0EgbGF5ZXIKCSAgVGhlIGJsb2NrIHRoYXQgaXMgZGlzcGF0Y2hlZCBhc3luYyB0byB0aGUgbWFpbiB0aHJlYWQgYXNzdW1lZCB0aGUKCSAgd3JhcHBpbmcgR3N0QXZTYW1wbGVWaWRlb1NpbmsgdG8gYmUgYWxpdmUuIEhvd2V2ZXIsIGF0IHRoZSB0aW1lIG9mCgkgIHRoZSBibG9jayBleGVjdXRpb24gdGhlIEdzdE9iamVjdCBpbnN0YW5jZSB0aGF0IGlzIGRlZmVyZW5jZWQgdG8gYWNjZXNzCgkgIHRoZSBDQSBsYXllciBtaWdodCBhbHJlYWR5IGJlIGZyZWVkLCB3aGljaCBjYXVzZWQgb2NjYXNpb25hbCBjcmFzaGVzLgoJICBJbnN0ZWFkLCB3ZSBub3cgb25seSBwYXNzIHRoZSBDb3JlQW5pbWF0aW9uIGxheWVyIHRoYXQgbmVlZHMgdG8gYmUKCSAgcmVsZWFzZWQgdG8gdGhlIGJsb2NrLiBXZSB1c2UgX19ibG9jayB0byBtYWtlIHN1cmUgdGhlIGJsb2NrIGlzIG5vdAoJICBpbmNyZWFzaW5nIHRoZSByZWZjb3VudCBvZiB0aGUgQ0EgbGF5ZXIgYWdhaW4gb24gaXRzIG93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzA4MQoKMjAxNS0wNy0wMiAxOTozNDo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHNlZWtpbmcgbGl2ZSBwaXBlbGluZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNy0wMiAxOToxOTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogTWFrZSBzb3VyY2UgbGl2ZSB0byByZS1lbmFibGUgYWdncmVnYXRvciB0aW1lb3V0IHRlc3RzCgkgIFRoZSBsaXZlIG1vZGUgaXMgb25seSBlbmFibGVkIGlmIG9uZSBvZiB0aGUgc291cmNlcyBpZiBsaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTAyIDE4OjM3OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBBZGQgYXVkaW9pbnRlcmxlYXZlIHRlc3QgdG8gc2hvdyB0aGF0IHF1ZXVpbmcgd29ya3MKCSAgVGhpcyB0ZXN0cyBmYWlscyB3aXRob3V0IHRoZSBxdWV1aW5nIHBhdGNoIGJlY2F1c2UgaW5jb21pbmcgYnVmZmVycyBhcmUKCSAgbm90IGRlbGl2ZXJlZCBiZWZvcmUgdGhleSBhcmUgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTAyIDE4OjMzOjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQXZvaWQgY2FwcyBwcm9jZXNzaW5nIGlmIG5vdCB5ZXQgbmVnb3RpYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTE2IDE3OjA2OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogT24gdGltZW91dCwgcmVzeW5jIHBhZHMgd2l0aCBub3QgZW5vdWdoIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAxOTo1MDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVldWUgImxhdGVuY3kiIGJ1ZmZlcnMgYXQgZWFjaCBzaW5rIHBhZC4KCSAgSW4gdGhlIGNhc2Ugd2hlcmUgeW91IGhhdmUgYSBzb3VyY2UgZ2l2aW5nIHRoZSBHc3RBZ2dyZWdhdG9yIHNtYWxsZXIKCSAgYnVmZmVycyB0aGFuIGl0IHVzZXMsIHdoZW4gaXQgcmVhY2hlcyBhIHRpbWVvdXQsIGl0IHdpbGwgY29uc3VtZSB0aGUKCSAgZmlyc3QgYnVmZmVyLCB0aGVuIHRyeSB0byByZWFkIGFub3RoZXIgYnVmZmVyIGZvciB0aGUgcGFkLiBJZiB0aGUKCSAgcHJldmlvdXMgZWxlbWVudCBpcyBub3QgZmFzdCBlbm91Z2gsIGl0IG1heSBnZXQgdGhlIG5leHQgYnVmZmVyIGV2ZW4KCSAgdGhvdWdoIGl0IG1heSBiZSBxdWV1ZWQganVzdCBiZWZvcmUuIFRvIHByZXZlbnQgdGhhdCByYWNlLCB0aGUgZWFzaWVzdAoJICBzb2x1dGlvbiBpcyB0byBtb3ZlIHRoZSBxdWV1ZSBpbnNpZGUgdGhlIEdzdEFnZ3JlZ2F0b3JQYWQgaXRzZWxmLiBJdAoJICBhbHNvIG1lYW5zIHRoYXQgdGhlcmUgaXMgbm8gbmVlZCBmb3Igc3RyYW5nZSBjb2RlIGNhdXNlIGJ5IGluY3JlYXNpbmcKCSAgdGhlIG1pbiBsYXRlbmN5IHdpdGhvdXQgaW5jcmVhc2luZyB0aGUgbWF4IGxhdGVuY3kgcHJvcG9ydGlvbmFsbHkuCgkgIFRoaXMgYWxzbyBtZWFucyBxdWV1aW5nIHRoZSBzeW5jaHJvbml6ZWQgZXZlbnRzIGFuZCBwb3NzaWJseSBhY3RpbmcKCSAgb24gdGhlbSBvbiB0aGUgc3JjIHRhc2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjE6MzI6MDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIGJyb2tlbiBfY2xpcCB2ZnVuYwoJICBJdCBuZXZlciBkb2VzIGFueXRoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTMwIDA4OjU4OjQ4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBBdm9pZCBjaGVja2luZyBmb3IgTm9uIE1hbmRhdG9yeSBWUFMgTkFMCgkgIFZQUyBpcyBub3QgbWFuZGF0b3J5LCBhbmQgbmVlZCBub3QgY2hlY2sgZm9yIGl0cyBwcmVzZW5jZSBiZWZvcmUgc2V0dGluZwoJICB0aGUgY2Fwcy4gQmVjYXVzZSBvZiB0aGUgY2hlY2ssIGluIHN0cmVhbXMgd2hpY2ggZG9uJ3QgaGF2ZSBWUFMsCgkgIHN0aWNreSBldmVudCBtaXNoYW5kbGluZyBoYXBwZW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyODA3CgoyMDE1LTA3LTMwIDE1OjMzOjQ2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogYXNzZXJ0aW9uIGVycm9yIGR1ZSB0byB3cm9uZyBjb25kaXRpb24gY2hlY2sKCSAgSW4gbWVkaWEgdG8gY2FwcyBmdW5jdGlvbiwgcmVzZXJ2ZWRfa2V5cyBhcnJheSBpcyBiZWluZyB1c2VkIGZvciB2YXJpYWJsZSBpLAoJICBsZWFkaW5nIHRvIEdMaWItQ1JJVElDQUwgKio6IGdfYXNjaWlfc3RyY2FzZWNtcDogYXNzZXJ0aW9uICdzMSAhPSBOVUxMJyBmYWlsZWQKCSAgY2hhbmdlZCBpdCB0byB2YXJpYWJsZSBqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwMDkKCjIwMTUtMDctMzAgMTE6MTI6MjEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSAgZ3N0Z2xmaWx0ZXJiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgcmVzIGlzIHNldCBtdWx0aXBsZSB0aW1lcyBidXQgbmV2ZXIgdXNlZCBvciByZXR1cm5lZC4gUmVtb3ZpbmcgaXQuCgoyMDE1LTA3LTI5IDIwOjA3OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEZWZhdWx0IHRvICJ6ZXJvIiBzdGFydCB0aW1lIHNlbGVjdGlvbiBtb2RlIGFzIGRvY3VtZW50ZWQKCjIwMTUtMDctMjkgMjA6MDY6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IElnbm9yZSB0aGUgImZpcnN0IiBtb2RlIGlmIHRoZSBzZWdtZW50IG5vdCBhIHRpbWUgc2VnbWVudAoKMjAxNS0wNy0yOSAxOToxMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogUmVtb3ZlIGRlYnVnIG91dHB1dCBmcm9tIGdzdF9nbF91cGxvYWRfdHJhbnNmb3JtX2NhcHMoKQoJICBXZSBjYW4ndCBrbm93IGlmIHRoZSBHc3RHTFVwbG9hZCB0eXBlIGlzIGluaXRpYWxpemVkIGF0IHRoaXMgcG9pbnQgYWxyZWFkeSwKCSAgYW5kIHRodXMgb3VyIGRlYnVnIGNhdGVnb3J5IG1pZ2h0IG5vdCBiZSBpbml0aWFsaXplZCB5ZXQuLi4gYW5kIGNhdXNlIGFuCgkgIGFzc2VydGlvbiBoZXJlLgoJICBBcyB3ZSBkb24ndCBwcmludCBkZWJ1ZyBvdXRwdXQgZm9yIGFueSBvZiB0aGUgb3RoZXIgdHJhbnNmb3JtIGZ1bmN0aW9ucywgbGV0J3MKCSAgZGVmZXIgdGhpcyBwcm9ibGVtIGZvciBub3cuCgoyMDE1LTA3LTI5IDE3OjQ4OjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkgIGdsc3RlcmVvbWl4OiByZW1vdmUgcmVkdW5kYW50IGluaXRpYWxpemF0aW9uCgkgIHYgaXMgaW5pdGlhbGl6ZWQgaW4gdGhlIGZvciBsb29wIGluaXQsIG5vIG5lZWQgdG8gZG8gaXQgdHdpY2UuIFJlbW92aW5nCgkgIGZpcnN0IGluaXRpYWxpemF0aW9uLgoKMjAxNS0wNy0yOSAxNzoyOToyOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgVmFsdWUgc2V0IHRvIHJldCB3aWxsIGJlIG92ZXJ3cml0dGVuIGF0IGxlYXN0IG9uY2UgYXQgdGhlIGVuZCBvZiB0aGUgd2hpbGUKCSAgbG9vcCwgcmVtb3ZpbmcgYXNzaWdubWVudC4KCjIwMTUtMDctMjkgMTc6Mjk6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHVzZSBHUXVldWUgaW5zdGVhZCBvZiBHTGlzdCBwcmVwZW5kL3JldmVyc2UKCjIwMTUtMDctMjkgMTc6MTc6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZW1vdmUgcmVkdW5kYW50IGFzc2lnbm1lbnQKCSAgVmFsdWUgb2YgcCBpcyBhbHJlYWR5IHNldCBiZWxvdyBqdXN0IGJlZm9yZSBiZWluZyB1c2VkLiBSZW1vdmluZyB0aGlzCgkgIGZpcnN0IGFzc2lnbm1lbnQgdGhhdCB3aWxsIGJlIGlnbm9yZWQuCgoyMDE1LTA3LTI5IDE2OjUxOjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogcmVtb3ZlIHJlZHVuZGFudCBjaGVjawoJICBObyBuZWVkIHRvIGNoZWNrIGlmIGRvbmUgaXMgVHJ1ZSBzaW5jZSBicmVhayB3aWxsIGFscmVhZHkgdGVybWluYXRlIHRoZSBmb3IKCSAgbG9vcC4KCjIwMTUtMDctMjkgMTM6MDk6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCBhc3NlcnQgaW4gR3N0QWRhcHRlciBpZiBubyBkYXRhIHdhcyByZWNlaXZlZCBiZWZvcmUgRU9TCgoyMDE1LTA3LTI4IDIyOjMwOjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyBhZ2dyZWdhdG9yIHN0YXJ0LXRpbWUtc2VsZWN0aW9uIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk5NjYKCjIwMTUtMDYtMTUgMTg6MzA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCBob3cgdG8gZGVjaWRlIG9uIGEgc3RhcnQgdGltZQoJICBCZWZvcmUgYWdncmVnYXRvciBiYXNlZCBlbGVtZW50cyBhbHdheXMgc3RhcnRlZCBhdCBydW5uaW5nIHRpbWUgMCwKCSAgbm93IGl0J3MgcG9zc2libGUgdG8gc2VsZWN0IHRoZSBmaXJzdCBpbnB1dCBidWZmZXIgcnVubmluZyB0aW1lIG9yCgkgIGV4cGxpY2l0bHkgc2V0IGEgc3RhcnQtdGltZSB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTk2NgoKMjAxNS0wNy0yOSAxMToyNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IFN0cmlwIGtleXMgZnJvbSB0aGUgZm10cCB0aGF0IHdlIHVzZSBpbnRlcm5hbGx5IGluIG91ciBjYXBzCgkgIFNraXAga2V5cyBmcm9tIHRoZSBmbXRwLCB3aGljaCB3ZSBhbHJlYWR5IHVzZSBvdXJzZWx2ZXMgZm9yIHRoZQoJICBjYXBzLiBTb21lIHNvZnR3YXJlIGlzIGFkZGluZyByYW5kb20gdGhpbmdzIGxpa2UgY2xvY2stcmF0ZSBpbnRvCgkgIHRoZSBmbXRwLCBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIGhlcmUgc2V0IGEgc3RyaW5nLXR5cGVkIGNsb2NrLXJhdGUKCSAgaW4gdGhlIGNhcHMuLi4gYW5kIHRodXMgZmFpbCB0byBjcmVhdGUgdmFsaWQgUlRQIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0yOSAyMjo1OTo1NiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgbW9yZSBOQUwgdHlwZXMgZm9yIGRlYnVnZ2luZyBvdXRwdXQuCgkgIFJlZ2lzdGVyIG1vcmUgTkFMIHVuaXQgdHlwZXMgc28gdGhhdCB0aGV5IGFyZSBkdW1wZWQKCSAgYnkgbmFtZSBpbiB0aGUgZGVidWcgb3V0cHV0IGluc3RlYWQgb2YgYmVpbmcgbGFiZWxsZWQKCSAgJ0ludmFsaWQnCgoyMDE1LTA3LTI5IDIyOjU3OjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRG9uJ3QgY2xlYXIgdGhlIFBJRCBvbiByZXNldC4KCSAgVGhlIFBJRCBvbiBhIHBhZCBzaG91bGRuJ3QgY2hhbmdlIG9uIGEgc3RhdGUgY2hhbmdlLCBvbmx5CgkgIGlmIHRoZSBwYWQgaXMgZnJlZWQgYW5kIGEgbmV3IG9uZSBjcmVhdGVkLiBDbGVhcmluZyB0aGUgUElECgkgIHByZXZlbnRlZCBtcGVndHNtdXggZnJvbSBiZWluZyByZXVzZWQsIGJlY2F1c2UgYWxsIHBhY2tldHMKCSAgd291bGQgZW5kIHVwIG11eGVkIGluIFBJRCAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5OTkKCjIwMTUtMDctMjkgMjI6NTY6MjggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBBY2N1bXVsYXRlIHN0cmVhbWhlYWRlcnMgaW4gcmV2ZXJzZQoJICBBY2N1bXVsYXRlIHN0cmVhbWhlYWRlciBwYWNrZXRzIGluIHJldmVyc2UgaW50byB0aGUKCSAgR0xpc3QgZm9yIGVmZmljaWVuY3ksIGFuZCByZXZlcnNlIHRoZSBsaXN0IG9uY2Ugd2hlbgoJICBwcm9jZXNzaW5nLgoJICBJbXByb3ZlcyBtdXhpbmcgc3BlZWQgd2hlbiB0aGVyZSBhcmUgYSBsb3Qgb2YKCSAgc3RyZWFtaGVhZGVycy4KCjIwMTUtMDctMjkgMTA6MTI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBBbHdheXMgc2V0IGktZnJhbWUtaW50ZXJ2YWwgc2V0dGluZwoJICBNb3N0IGVuY29kZXJzIGZhaWwgdG8gaW5pdGlhbGl6ZSBpZiB3ZSBkb24ndCBzZXQgaXQgYXQgYWxsLgoKMjAxNS0wNy0yOSAxMjo1Njo1NCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5MQoKMjAxNS0wNy0yOCAyMToxNTo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVlcnkgdGhlIHBlZXIgbGF0ZW5jeSBhZ2FpbiBvbiB0aGUgbmV4dCBvcHBvcnR1bml0eSBhZnRlciBhIHBhZCB3YXMgYWRkZWQgb3IgcmVtb3ZlZAoJICBBZGRpbmcgYSBwYWQgd2lsbCBhZGQgYSBuZXcgdXBzdHJlYW0gdGhhdCBtaWdodCBoYXZlIGEgYmlnZ2VyIG1pbmltdW0gbGF0ZW5jeSwKCSAgc28gd2UgbWlnaHQgaGF2ZSB0byB3YWl0IGxvbmdlci4gT3IgaXQgbWlnaHQgYmUgdGhlIGZpcnN0IGxpdmUgdXBzdHJlYW0sIGluCgkgIHdoaWNoIGNhc2Ugd2Ugd2lsbCBoYXZlIHRvIHN0YXJ0IGRlYWRsaW5lIGJhc2VkIGFnZ3JlZ2F0aW9uLgoJICBSZW1vdmluZyBhIHBhZCB3aWxsIHJlbW92ZSBhIG5ldyB1cHN0cmVhbSB0aGF0IG1pZ2h0IGhhdmUgaGFkIHRoZSBiaWdnZXN0CgkgIGxhdGVuY3ksIHNvIHdlIGNhbiBub3cgc3RvcCB3YWl0aW5nIGEgYml0IGVhcmxpZXIuIE9yIGl0IG1pZ2h0IGJlIHRoZSBsYXN0CgkgIGxpdmUgdXBzdHJlYW0sIGluIHdoaWNoIGNhc2Ugd2UgY2FuIHN0b3AgZGVhZGxpbmUgYmFzZWQgYWdncmVnYXRpb24uCgoyMDE1LTA3LTI4IDExOjIwOjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQtdGVzdDogVGVzdCBub3RpZnkgZnVuY3Rpb24gZm9yIHNldHVwX3dyYXBwZWQKCSAgZ3N0X2dsX21lbW9yeV9zZXR1cF93cmFwcGVkKCkgbm93IHRha2VzIGEgZGVzdHJveSBub3RpZnkgZnVuY3Rpb24uIFRoaXMKCSAgZGVzdHJveSBub3RpZnkgaXMgY2FsbGVkIHRvIHRyYWNrIHRoZSBtZW1vcnkgbGlmZSB0aW1lLCBoZW5jZSB3aWxsCgkgIG5vdGlmeSBlYWNoIHRpbWUgYSBtZW1vcnkgZ2V0IGRlc3Ryb3llZC4gVGhpcyB0ZXN0IGNoZWNrIHRoYXQgdGhlCgkgIGNhbGxiYWNrIGNvdW50IGlzIGNvcnJlY3QuCgoyMDE1LTA3LTI4IDExOjA2OjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQtdGVzdDogRml4IGJ1aWxkCgoyMDE1LTA3LTI4IDA4OjU5OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQWRkIGZpeG1lIGFib3V0IHVzaW5nIGJ1ZmZlcnBvb2wgZm9yIHJhdwoJICBodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI5MzcKCjIwMTUtMDctMjcgMTY6NTg6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBLZWVwIGlucHV0IGZyYW1lIG1hcHBlZCBhcyBsb25nIGFzIG5lZWRlZAoJICBXaGVuIHBlcmZvcm1pbmcgYSByYXcgdXBsb2FkLCB3ZSBuZWVkIHRvIGtlZXAgdGhlIHJhdyBkYXRhIG1hcHBlZCBhcwoJICBsb25nIGFzIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkzNwoKMjAxNS0wNy0yNyAxNTo1ODoxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFJldmVydCAiZ2x1cGxvYWQ6IG1lbWNweSBvbiByYXcgZGF0YSB1cGxvYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODJjMDE4OWIyODQyZTg3MjllODJhNGU3MzQ5MWRmZmM5NzdiYzdjMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkzNwoKMjAxNS0wNy0xNSAxNjoyMTowMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF9kdXJhdGlvbiBzZXRzIGRlZmF1bHQgdmFsdWUgaW4gY2FzZSBvZiBwYXJzaW5nIGVycm9ycwoJICBUaGUgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfZHVyYXRpb24gZnVuY3Rpb24gd2lsbCBzZXQgdGhlCgkgIHByb3BlcnR5X3ZhbHVlIHRvIHRoZSBkZWZhdWx0X3ZhbHVlIGluIGNhc2UgdGhlIHBhcnNpbmcgZmFpbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MjYKCjIwMTUtMDctMjcgMTg6Mzk6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSAgb3B1c2NvbW1vbjogVXNlIEdTdHJpbmcgaW5zdGVhZCBvZiBzbnByaW50ZiBmb3IgY29uY2F0aW5nCgkgIFNhZmVyLCBlYXNpZXIgdG8gdW5kZXJzdGFuZCwgYW5kIG1vcmUgcG9ydGFibGUuIEFsc28sIHNraXAKCSAgYWxsIHRoaXMgaWYgdGhlIGxvZyBsZXZlbCBpcyB0b28gbG93LgoKMjAxNS0wNy0yNyAyMTo1NDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSAgZ2xjb250ZXh0L3dnbDogZml4IGRlZmVuaXRpb24gb2YgZ3N0X2dsX2NvbnRleHRfd2dsX25ldwoJICBnc3RnbGNvbnRleHRfd2dsLmM6IEluIGZ1bmN0aW9uICdnc3RfZ2xfY29udGV4dF93Z2xfbmV3JzoKCSAgZ3N0Z2xjb250ZXh0X3dnbC5jOjgzOjQwOiBlcnJvcjogJ2Rpc3BsYXknIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQoKMjAxNS0wNy0yNyAyMDowMzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJICBnbC9jb2NvYTogZml4IGRlZmluaXRpb24gb2YgZ3N0X2dsX2NvbnRleHRfbmV3CgkgIGdzdGdsY29udGV4dF9jb2NvYS5tOjc1OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2dzdF9nbF9jb250ZXh0X2NvY29hX25ldycKCjIwMTUtMDctMjcgMjA6MDA6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW4zMjogZml4IGRlZmluaXRpb24gb2YgZ3N0X2dsX3dpbmRvd193aW4zMl9uZXcKCjIwMTUtMDctMjcgMTg6MjE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIHdheWxhbmQ6IGZhaWwgd2luZG93IG9wZW4gaWYgdGhlIGRpc3BsYXkgaXMgdGhlIGNvcnJlY3QgdHlwZQoJICBFcnJvcnMgb3V0IGNsZWFubHkgaWYgYSB3YXlsYW5kIGNvbXBvc2l0b3IgaXMgbm90IHJ1bm5pbmcKCjIwMTUtMDctMjQgMTc6MDA6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogcGFzcyBkaXNwbGF5IHRvIGltcGxlbWVudGF0aW9uJ3MgX25ldygpCgkgIFNvIHRoZXkgaGF2ZSB0byBvcHBvcnR1bml0eSB0byBmYWlsIGlmIHRoZXkgY2Fubm90IGhhbmRsZSB0aGUKCSAgZGlzcGxheSBjb25uZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTI0IDE2OjExOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkgIGdsY29udGV4dDogcGFzcyBkaXNwbGF5IHRvIGltcGxlbnRhdGlvbidzIF9uZXcoKQoJICBUaGlzIGFsbG93cyB0aGUgY29udGV4dCB0byBmYWlsIGNyZWF0aW9uIGJhc2VkIG9uIGluY29tcGF0aWJsZQoJICBkaXNwbGF5IHR5cGUncy4gZS5nLiBnbHggY29udGV4dCB3aXRoIGFuIHdheWxhbmQgZGlzcGxheSBoYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NDMKCjIwMTUtMDctMDYgMDA6NTI6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBzdXBwb3J0IGNnbCwgZWdsIGFuZCBnbHggd2l0aGluIGEgc2FtZSBidWlsZAoJICBPbiBvc3gsIHdpdGggdGhlIHNhbWUgYnVpbGQsCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIHdvcmtzIHdpdGg6CgkgIEdTVF9HTF9QTEFURk9STT1lZ2wgR1NUX0dMX1dJTkRPVz14MTEgR1NUX0dMX0FQST1nbGVzMgoJICBHU1RfR0xfUExBVEZPUk09ZWdsIEdTVF9HTF9XSU5ET1c9eDExIEdTVF9HTF9BUEk9b3BlbmdsCgkgIEdTVF9HTF9QTEFURk9STT1nbHggR1NUX0dMX1dJTkRPVz14MTEgR1NUX0dMX0FQST1vcGVuZ2wKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hIEdTVF9HTF9BUEk9b3BlbmdsCgkgIEdTVF9HTF9QTEFURk9STT1jZ2wgR1NUX0dMX1dJTkRPVz1jb2NvYSBHU1RfR0xfQVBJPW9wZW5nbDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0yNyAxNjozNjo0MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IENoZWNrIHRoYXQgY2FwcyBjb250YWluIGRlc2lyZWQgY2FwcyBmZWF0dXJlcwoJICBVc2UgJ2NvbnRhaW5zJyBjaGVja3MgaW5zdGVhZCBvZiBlcXVhbGl0eSBjaGVja3Mgb24gY2FwcyBmZWF0dXJlcwoJICB0byBhbGxvdyBmb3IgdXBsb2FkaW5nIHdoZW4gY2FwcyBhbHNvIGNvbnRhaW4gR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24KCSAgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkxMgoKMjAxNS0wNy0yNSAwOTowMzoyNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkgIGJsdWV6OiBBZGQgYnVpbHQgc291cmNlcyB0byBDTEVBTkZJTEVTCgoyMDE1LTA3LTIwIDEwOjUwOjQ0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYWhkZW11eDogYXZvaWQgb3ZlcmZsb3dzIGluIGNvbXB1dGF0aW9uIG9mIHNlZ21lbnQgc3RhcnQgdGltZSBhbmQgZHVyYXRpb24KCSAgVXNlZCBnc3RfdXRpbF91aW50NjRfc2NhbGUgdG8gYXZvaWQgb3ZlcmZsb3dzIHdoZW4gc2VnbWVudCBzdGFydCB0aW1lCgkgIG9yIGR1cmF0aW9uIGlzIGNvbXB1dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjIwCgoyMDE1LTA3LTEzIDE1OjM3OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGRlbW90ZSBlcnJvciB0byB3YXJuaW5nCgkgIEl0IGlzIG5vdCBmYXRhbCBhbmQgY2FuIGJlIHF1aXRlIG5vcm1hbCB3aGVuIHRoZSBuZXR3b3JrIGlzCgkgIHRvbyBzbG93CgoyMDE1LTA3LTI0IDA5OjQyOjUzICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogZG8gbm90IGNoZWNrIGlucHV0IGJ1ZmZlcnMKCSAgV2l0aCB0aGlzIHdlIGF2b2lkIGFuIHVubmVjZXNzYXJ5IGFuZCBjb25zaWRlcmFibGUgb3ZlcmhlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzQKCjIwMTUtMDctMDYgMDA6NDU6NDUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogbW92ZSBHTF9OVU1fRVhURU5TSU9OUyBkZWZpbml0aW9uIGFmdGVyIGdsLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0yMyAyMzo1OToyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHJlbW92ZSB1bnVzZWQgbGFiZWwgY29udGV4dF9jcmVhdGlvbl9lcnJvcgoJICBCdWlsZCBlcnJvciBpbnRyb2R1Y2VkIGJ5IGNvbW1pdAoJICA1NDU3ZTU1ZjI1NTUxOGQ2NzliNTlhMTcwOTUxZTI5OWVjZDhjNWY2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjQgMDI6NDY6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCBkaXNjYXJkIGZpcnN0IEFVIGRlbGltaXRlcgoJICBEb24ndCB0aHJvdyBhd2F5IEFVIGRlbGltaXRlcihzKSB0aGF0IHByZWNlZGUgdGhlIFNQUy9QUFMuIFNob3VsZAoJICBmaXggTVBFRy1UUyBwbGF5YmFjayBvbiBpT1MvUXVpY2t0aW1lIHdoZW4gbXV4aW5nIHN0cmVhbXMgdGhhdAoJICBhbHJlYWR5IGhhdmUgQVUgZGVsaW1pdGVycy4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyMTMgZm9yIGdldHRpbmcKCSAgaDI2NHBhcnNlIHRvIGluc2VydCBBVSBkZWxpbWl0ZXJzIHdoZW4gdGhleSBkb24ndCBhbHJlYWR5CgkgIGV4aXN0LgoKMjAxNS0wNy0yMyAxMToxODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IGFsbG9jYXRpb24gbWV0YSBzdHJ1Y3R1cmUgbGVhawoJICBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fbWV0YSgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwCgkgIG9mIHRoZSBzdHJ1Y3R1cmUsIGZvciBzb21lIHJlYXNvbi4KCSAgQ0lEIDEzMTIxMzUKCjIwMTUtMDctMjMgMTA6NTc6MjYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBtZW1vcnkgbGVhawoJICBHc3RDYXBzRmVhdHVyZXMgbmVlZCB0byBiZSBmcmVlZCB3aXRoIGdzdF9jYXBzX2ZlYXR1cmVzX2ZyZWUoKSBhZnRlciB1c2UuCgkgIENJRCAjMTMxMjEzNiwgQ0lEICMxMzEyMTM2CgoyMDE1LTA3LTAyIDIwOjEwOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IEFkZCBHc3RDb250cm9sQmluZGluZyBwcm94eQoJICBUaGlzIGlzIHVzZWQgdG8gcHJveHkgR3N0Q29udHJvbEJpbmRpbmcgdG8gdGhlIHBhZCBvbiB0aGUKCSAgcGFyZW50IG9iamVjdC4gVGhpcyBhdm9pZCBoYXZpbmcgdG8gc3luYyB0aGUgdmFsdWVzIGluIHRoZSBwcm94eSBwYWQsCgkgIHRoaXMgaXMgdG9vIGVhcmx5IGlmIHlvdSBoYXZlIGEgcXVldWUgYmV0d2VlbiB0aGUgcGFkIGFuZCB0aGUgYWN0dWFsCgkgIGFnZ3JlZ2F0aW9uIG9wZXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA2MAoKMjAxNS0wNy0yMiAxOToyNzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFJlZ2lzdGVyIGZ1bmN0aW9uIG5hbWUKCSAgT3RoZXJ3aXNlLCBpdCBzb21ldGltZXMgc2VnZmF1bHRzIHdpdGggZGVidWdnaW5nIGVuYWJsZWQKCjIwMTUtMDctMjIgMTk6MjY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBVc2UgMS4wIHN0eWxlIGJ1ZmZlciBhbGxvY2F0aW9uCgoyMDE1LTA3LTIyIDE2OjU4OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkOiBGb3J3YXJkIGNvbXBvc2l0aW9uIG1ldGEgZXZlbiB3aXRob3V0IHBhcmFtcwoJICBXaGVuIHRoZSBzaW5rIGRvZXMgbm90IGtub3cgdGhlIHdpbmRvdyBzaXplIChlLmcgbm90IGNyZWF0ZWQgeWV0KQoJICBpdCB3aWxsIG5vdCBhZGQgYW55IHBhcmFtIHRvIHRoZSB0aGUgY29tcG9zaXRpb24gbWV0YS4gVGhpcyBpcyBubwoJICByZWFzb24gbm90IHRvIGZvcndhcmQgdGhpcyBtZXRhIEFQSS4gRml4ZXMgaXNzdWUgd2hlcmUgaXQgY291bGQgbm90CgkgIGF0dGFjaCB1bnRpbCB3ZSByZXNpemUgdGhlIHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMiAxNTo1NjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogS2VlcCBtZW1vcnkgcG9pbnRlciBhbGl2ZQoJICBLZWVwIHRoZSBjb21wb3NpdGlvbiBtZW1vcnkgcG9pbnRlciBhbGl2ZSB3aGlsZSBpdCdzIGJlaW5nCgkgIHdyYXBwZWQgaW5zaWRlIGEgR3N0R0xNZW1vcnkgb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDE0OjE3OjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBQYXNzIGJ1ZmZlciBzdHJpZGUKCSAgVGhlIG92ZXJsYXkgcGl4ZWwgYnVmZmVyIHN0cmlkZSB3YXMgbm90IGdpdmVuIGJhY2sKCSAgdG8gdGhlIEdMIGltYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA1LTE5IDE2OjA4OjA4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTeW5jIHBhZCB2YWx1ZXMgYmVmb3JlIGFnZ3JlZ2F0aW5nCgkgIFdlIG5lZWQgdG8gc3luYyB0aGUgcGFkIHZhbHVlcyBiZWZvcmUgdGFraW5nIHRoZSBhZ2dyZWdhdG9yIGFuZCBwYWQgbG9ja3MKCSAgb3RoZXJ3aXNlIHRoZSBlbGVtZW50IHdpbGwganVzdCBkZWFkbG9jayBpZiB0aGVyZSdzIGFueSBwcm9wZXJ0eSBjaGFuZ2VzCgkgIHNjaGVkdWxlZCB1c2luZyBHc3RDb250cm9sbGVyIHNpbmNlIHRoYXQgaW52b2x2ZXMgdGFraW5nIHRoZSBhZ2dyZWdhdG9yIGFuZCBwYWQKCSAgbG9ja3MuCgkgIEFsc28gYWRkIGEgdGVzdCBmb3IgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTU3NAoKMjAxNS0wNy0yMiAxNDowNTozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogSGlkZSBHc3RDb21wc2l0aW9uT3ZlcmxheSBvYmplY3QKCSAgVGhpcyBvYmplY3QgaXMgb25seSB1c2VkIGluc2lkZSB0aGUgY29tcG9zaXRvciBhbmQgZG9lcyBub3QKCSAgbmVlZCB0byBiZSBleHBvc2UgaW4gbGliZ3N0Z2wgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDEzOjMzOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGxpYmdzdGdsOiBNYWtlZmlsZSBzdHlsZSBmaXgKCjIwMTUtMDctMjEgMjM6NDg6MjUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgY29tcG9zaXRpb24tb3ZlcmxheTogUG9zaXRpb25zIGFyZSByZWxhdGl2ZSB0byB0ZXh0dXJlCgkgIFRoZSBjb29yZGluYXRlIGFyZSByZWxhdGl2ZSB0byB0aGUgdGV4dHVyZSBkaW1lbnNpb24gYW5kIG5vdAoJICB0aGUgd2luZG93IGRpbWVuc2lvbiBub3cuIFRoZXJlIGlzIG5vIG5lZWQgdG8gcGFzcyB0aGUgd2luZG93CgkgIGRpbWVuc2lvbiBvciB0byB1cGRhdGUgdGhlIG92ZXJsYXkgaWYgdGhlIGRpbWVuc2lvbiBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIxIDIxOjI3OjQ1IC0wNDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQ3JlYXRlIG93biBzaGFkZXIgb2JqZWN0CgkgIE1ha2UgZ2xvdmVybGF5Y29tcG9zaXRvciBpbmRlcGVuZGVudCBvZiB0aGUgc2hhZGVyIHVzZWQgaW4gdGhlIHNpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjEgMTg6NDc6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUHJvcGVybHkgaGFuZGxlIGNvbXBzb3NpdG9yIGxpZmUgdGltZQoJICBTaG91bGQgYmUgY3JlYXRlZCBpbiBSRUFEWV9UT19QQVVTRUQsIG5vdCBQQVVTRURfVE9fUExBWUlORy4KCSAgU2hvdWxkIGJlIGNsZWFyZWQgaW4gUEFVU0VEX1RPX1JFQURZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDE2OjEwOjM1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCSAgcmV0IGlzIGRlY2xhcmVkIGp1c3QgdG8gaW5pdGlhbGl6ZSB0byBUUlVFIGFuZCBvdmVyd3JpdGUgd2l0aCB0aGUgdmFsdWUgb2YKCSAgdnJldC4gV2UgY2FuIHJldHVybiB0aGUgdmFsdWUgb2YgdnJldCBkaXJlY3RseS4gdnJldCBpcyBUUlVFIHVubGVzcyB0aGUKCSAgZm9yd2FyZF9ldmVudF9mdW5jIHNldHMgaXQgdG8gRkFMU0UuCgoyMDE1LTA3LTIyIDE1OjEzOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogRG9uJ3QgZGlzdCBmaWxlcyB0aGF0IG1pZ2h0IG5vdCBleGlzdAoJICBXZSBvbmx5IHJlcXVpcmUgbW9jIGJ1aWxkaW5nIGF0IGJ1aWxkIHRpbWUuCgoyMDE1LTA3LTIyIDE1OjUwOjI2ICswOTAwICBZb3VuZyBIYW4gTGVlIDx5LmxlZUBsZ2UuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgbGlieG1sMiA+PSAyLjggZm9yIERBU0ggcGx1Z2luCgkgIFRoZSBEQVNIIHBsdWdpbiB1c2VzIHhtbEJ1ZmZlckRldGFjaCBub3cgaW4gdGhlIGNvZGUKCSAgdGhhdCBoYW5kbGVzIENvbnRlbnRQcm90ZWN0aW9uIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzAzCgoyMDE1LTA3LTIyIDA4OjA1OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogVGlkeSB1cCBtYWtlZmlsZSBhIGJpdCBtb3JlCgkgIFNlcGFyYXRlIGdlbmVyYXRlZCBmaWxlcywgZnJvbSBkaXN0ZWQgZmlsZXMKCjIwMTUtMDctMjEgMjA6NTI6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBSZWFkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gd2l0aCBsb2NrIGhlbGQKCjIwMTUtMDctMjEgMTE6MjM6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBnc3RnbHdpZGdldDogdXNlIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIEFsc28gaGFuZGxlIHRoZSBmYWlsdXJlIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTE6Mjg6MDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxMToyMToyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJICBnbHN0ZXJlb3NwbGl0OiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgQWxzbyB1bmxvY2sgdGhlIGxvY2sgb24gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTQ6MTA6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJldHVybiBmYWxzZSBpZiBldmVudCBjb3VsZG4ndCBiZSBwdXNoZWQKCSAgTWFrZSB0aGUgZ3N0IHBhZCdzIGV2ZW50IGZ1bmN0aW9uIHJldHVybiBmYWxzZSBpZiB0aGUgZXZlbnQgY291bGRuJ3QgYmUKCSAgcHVzaGVkIHRvIHRoZSBwYWQuCgoyMDE1LTA3LTIxIDEzOjExOjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogZm9yIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDOTkgbW9kZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncwoKMjAxNS0wNi0xOSAxMTo1NzowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQgaW4gbW9yZSBlbGVtZW50cy4KCSAgZ2xiYXNlZmlsdGVyLCBnbGJhc2VtaXhlciBhbmQgZ2x0ZXN0c3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTIxIDE3OjM0OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsL2J1aWxkOiBmaXggdHlwbyBpbiBfSEVBREVSUyByZXN1bHRpbmcgaW4gaW5zdGFsbGluZyB0aGUgd3JvbmcgZmlsZQoJICAvdXNyL2luY2x1ZGUvZ3N0cmVhbWVyLTEuMC9nc3QvZ2wvZ2wuaDo1MTo0MzogZmF0YWwgZXJyb3I6CgkgIGdzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCjIwMTUtMDctMjEgMTU6Mzk6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogYWRkIFJHQiB0byBOVjEyL05WMjEgY29udmVyc2lvbgoKMjAxNS0wNy0wMSAxNDowMTo0NSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBTZW5kIHJlY29uZmlndXJlIGV2ZW50IHdoZW4gd2luZG93IHNpemUgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIwIDE0OjI0OjIyIC0wNDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbGltYWdlc2lua2JpbjogQWRkIGFsbG9jYXRpb24gcXVlcnkgZm9yIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uCgkgIEFkZHMgYW4gR1NUX1ZJREVPX09WRVJMQVlfQ09NUE9TSVRJT05fTUVUQV9BUElfVFlQRSBxdWVyeSB0byBnbHVwbG9hZAoJICBhbmQgZ2xpbWFnZXNpbmsuICBEZXRlY3RzIHRoZSBxdWVyeSBmcm9tIHRoZSBkb3duc3RyZWFtIGVsZW1lbnRzLCBzbwoJICBpdCBpcyBleGVjdXRlZCBvbmx5IHdoZW4gZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgb3ZlcmxheSBBUEkuCgkgIFRoaXMgbWFrZXMgcGlwZWxpbmVzIHdpdGggdGV4dG92ZXJsYXkgISBnbHVwbG9hZCAhIGdsZG93bmxvYWQgISB4dmltYWdlc2luayBwb3NzaWJsZS4KCSAgVXNlcyBhbGxvY2F0aW9uIG1ldGEgc3RydWN0IGZvciBwYXNzaW5nIHRoZSB3aW5kb3cgc2l6ZSB1cHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNC0yMCAxMzoxNzowOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBBcHBseSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgYnVmZmVyIHRvIGNvbnZlcnRlZCBidWZmZXIKCSAgU2luY2UgZ2xjb2xvcmNvbnZlcnQgY3JlYXRlcyBhIG5ldyBHc3RCdWZmZXIsCgkgIHdpdGhvdXQgdGhlIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBkYXRhLAoJICBpdCBuZWVkcyB0byBiZSBjb3BpZWQgdG8gbm90IGJlIGRyb3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMTM6MzQ6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRGV0ZWN0IG92ZXJsYXkgbWV0YSBidWZmZXJzIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDA1OjQzOjUwICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbGltYWdlc2lua2JpbjogQWRkIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBjYXBzIGZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMDY6MDQ6MzcgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IFVwbG9hZCBhbmQgZHJhdyBvdmVybGF5cyB3aXRoIEdzdEdMT3ZlcmxheUNvbXBvc2l0b3IKCSAgUmVjZWl2ZXMgdGhlIEdzdE92ZXJsYXlDb21wb3NpdGlvbiBidWZmZXIgaW4gdGhlIGdsaW1hZ2VzaW5rIGFuZCBkcmF3cyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTMwIDE3OjU5OjEyICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IEFkZCBHc3RHTE92ZXJsYXlDb21wb3NpdG9yIGNsYXNzCgkgIE1hbmFnZXMgdGhlIEdzdEdMQ29tcG9zaXRpb25PdmVybGF5IG9iamVjdHMsCgkgIGNhY2hlcyBhbHJlYWR5IHVwbG9hZGVkIG92ZXJsYXlzIGFuZCBkcmF3cyB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDE0OjE1OjAxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuYzoKCSAgZ2xjb21wb3NpdGlvbm92ZXJsYXk6IEFkZCBjb21wYXRpYmlsaXR5IGZvciBHTCBjb250ZXh0cyB3aXRob3V0IGdsR2VuVmVydGV4QXJyYXlzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTMgMTU6MzU6NDcgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5Lmg6CgkgIGdsY29tcG9zaXRpb25vdmVybGF5OiBBZGQgY2xhc3MgZm9yIG1hbmFnaW5nIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uT3ZlcmxheSBidWZmZXJzCgkgIEFkZCBhIGNsYXNzIHRvIHN0b3JlIGFuZCBtYW5hZ2UgdGhlIE9wZW5HTCB0ZXh0dXJlLAoJICB2ZXJ0ZXggYnVmZmVyIGFuZCBHc3RWaWRlb092ZXJsYXlSZWN0YW5nbGUuCgkgIFRyYW5zZm9ybXMgb3ZlcmxheSBjb29yZGluYXRlIHNwYWNlIHRvIHZlcnRleCBidWZmZXIgc3BhY2Ugd2l0aCBhc3BlY3QgcmF0aW9zIGluIG1pbmQuCgkgID0gRXhhbXBsZSBQaXBlbGluZXMgPQoJICBTaW1wbGUgcGlwZWxpbmUKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJIZWxsbyBXb3JsZCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICBnbGltYWdlc2luawoJICBEaXNwbGF5IDMgc3RhdGljIG92ZXJsYXlzIGF0IGRpZmZlcmVudCBwb3NpdGlvbnMKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJ0ZXh0MSIgdmFsaWdubWVudD0idG9wIiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9InRleHQyIiBoYWxpZ25tZW50PSJyaWdodCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICB0ZXh0b3ZlcmxheSB0ZXh0PSJ0ZXh0MyIgaGFsaWdubWVudD0ibGVmdCIgZm9udC1kZXNjPSJzYW5zIGJvbGQgMzAiICEgXAoJICBnbGltYWdlc2luawoJICBEaXNwbGF5IHN1YnRpdGxlIGZpbGUgb3ZlciB0ZXN0c3JjCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIFwKCSAgdGV4dG92ZXJsYXkgbmFtZT1mb28gZmlsZXNyYyBsb2NhdGlvbj1mb28uc3J0ICEgc3VicGFyc2UgISBxdWV1ZSAhIGZvby4gZm9vLiAhIFwKCSAgZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAxMTozMzoyOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBNb3ZlIGRlYnVnIGluaXQgdG8gdG9wIG9mIHRoZSBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDQtMjAgMTU6MDQ6NTYgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBGaXggUExDIGZyYW1lIHNpemUgY2FsY3VsYXRpb25zCgkgIFByZXZpb3VzbHksIFBMQyBmcmFtZXMgYWx3YXlzIGhhZCBhIGxlbmd0aCBvZiAxMjBtcywgd2hpY2ggY2F1c2VkIGF1ZGlvCgkgIHF1YWxpdHkgZGVncmFkYXRpb24gYW5kIHN5bmNocm9uaXphdGlvbiBlcnJvcnMuIEZpeCB0aGlzIGJ5IGNhbGN1bGF0aW5nIGFuCgkgIGFwcHJvcHJpYXRlIGxlbmd0aCBmb3IgdGhlIFBMQyBmcmFtZS4KCSAgVGhlIGxlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMi41bXMuIENhbGN1bGF0ZSBhIG11bHRpcGxlIG9mIDIuNW1zIHRoYXQKCSAgaXMgbmVhcmVzdCB0byB0aGUgY3VycmVudCBQTEMgbGVuZ3RoLiBBbnkgbGVmdG92ZXIgUExDIGxlbmd0aCB0aGF0IGRpZG4ndAoJICBtYWtlIGl0IGludG8gdGhpcyBmcmFtZSBpcyBhY2N1bXVsYXRlZCBmb3IgdGhlIG5leHQgUExDIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTY3CgoyMDE1LTA3LTE4IDIxOjE4OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtaW5vciBjbGVhbi11cAoJICBObyBuZWVkIGZvciBhIGZvcmVhY2ggY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCdzIGp1c3QgYSBmZXcKCSAgbGluZXMgb2YgY29kZSBhbmQgaXMgb25seSB1c2VkIG9uY2UsIGp1c3QgZG8gdGhlIGV2ZW50CgkgIHB1c2hpbmcgaW5saW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkxCgoyMDE1LTAyLTA2IDEzOjIyOjE0ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIFByb3RlY3Rpb24gZXZlbnRzIGZyb20gQ29udGVudFByb3RlY3Rpb24gZWxlbWVudHMKCSAgSWYgYSBDb250ZW50UHJvdGVjdGlvbiBlbGVtZW50IGlzIHByZXNlbnQgaW4gYW4gQWRhcHRhdGlvblNldCBlbGVtZW50LAoJICBzZW5kIFByb3RlY3Rpb24gZXZlbnRzIG9uIHRoZSBzb3VyY2UgcGFkLCBzbyB0aGF0IHF0ZGVtdXggY2FuIHVzZSB0aGlzCgkgIGluZm9ybWF0aW9uIHRvIGNvcnJlY3RseSBnZW5lcmF0ZSBpdHMgc291cmNlIGNhcHMgZm9yIERBU0ggQ0VOQwoJICBlbmNyeXB0ZWQgc3RyZWFtcy4KCSAgVGhpcyBhbGxvd3MgcXRkZW11eCB0byBzdXBwb3J0IENFTkMgZW5jcnlwdGVkIERBU0ggc3RyZWFtcyB3aGVyZSB0aGUKCSAgY29udGVudCBwcm90ZWN0aW9uIHNwZWNpZmljIGluZm9ybWF0aW9uIGlzIGNhcnJpZWQgaW4gdGhlIE1QRCBmaWxlCgkgIHJhdGhlciB0aGFuIGluIHBzc2ggYm94ZXMgaW4gdGhlIGluaXRpYWxpc2F0aW9uIHNlZ21lbnRzLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgbmV3IGZ1bmN0aW9uIHRvIHRoZSBhZGFwdGl2ZWRlbXV4IGJhc2UgY2xhc3MgdG8gYWxsb3cKCSAgYSBHc3RFdmVudCB0byBiZSBxdWV1ZWQgZm9yIGEgc3RyZWFtLiBUaGUgcXVldWUgb2YgZXZlbnRzIGFyZSBzZW50IHRoZQoJICBuZXh0IHRpbWUgYSBidWZmZXIgaXMgcHVzaGVkIGZvciB0aGF0IHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MQoKMjAxNS0wNy0yMCAxMjo0MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogZml4IG91dHB1dCBjYXBzIGZvciBzdHJlYW0tZm9ybWF0PUFEVFMKCSAgU2hvdWxkIGhhdmUgZnJhbWVkPXRydWUgaW4gY2Fwcy4gRml4ZXMgdm9hYWNlbmMgISBtcGVndHNtdXguCgoyMDE1LTA3LTIwIDEyOjM4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYWFjIGNhcHMgaW4gcGFkIHRlbXBsYXRlIGZvciByYXcgYWFjCgkgIFJhdyBhYWMgZG9lc24ndCBuZWVkIGZyYW1lZD10cnVlLgoJICBGaXhlcyBub3QtbmVnb3RpYXRlZCBlcnJvciB3aXRoIHZvYWFjZW5jICEgbXBlZ3RzbXV4LgoKMjAxNS0wNy0yMCAxMTowOToyMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IExvZyBHREsgR0wgZXJyb3Igd2hlbiBmYWlsbGluZyBjcmVhdGluZyBHZGtHTENvbnRleHQKCjIwMTUtMDctMjAgMTg6MTk6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogY2hlY2sgZm9yIHBibyBhdmFpbGFiaWxpdHkgYmVmb3JlIGF0dGVtcHRpbmcgcGJvIGRvd25sb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNjUKCjIwMTUtMDctMTggMTc6MTk6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXggZ2V0X2N1cnJlbnRfZ2xfYXBpIG9uIHgxMS9udmlkaWEgZHJpdmVycwoJICBUaGV5IHJlcXVpcmUgdG8gZ2V0X3Byb2NfYWRkcmVzcyBzb21lIGZ1bmN0aW9ucyB0aHJvdWdoIHRoZQoJICBwbGF0Zm9ybSBzcGVjaWZpYyB7Z2xYLGVnbH1HZXRQcm9jQWRkcmVzcyByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdAoJICBHTCBsaWJyYXJ5IHN5bWJvbCBsb29rdXAuCgoyMDE1LTA3LTE4IDE3OjA4OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkgIGdsY29udGV4dDogY29uc29saWRhdGUgZ2V0X3Byb2NfYWRkcmVzcyBmdW5jdGlvbiBkZWZpbml0aW9uCgkgIFBhc3MgdGhlIEdzdEdMQVBJIGRpcmVjdGx5LgoKMjAxNS0wNy0xNyAxNzo0NzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydGVsZW1lbnQ6IHByb3BhZ2F0ZSBmYWlsdXJlIHRvIGNvbnZlcnQgYnVmZmVyIHVwc3RyZWFtCgkgIFJhdGhlciB0aGFuIGp1c3Qgc2lsZW50bHkgY29udGludWluZwoKMjAxNS0wNy0xNyAxMzo0ODowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dC9nbHg6IHRyeSBjcmVhdGluZyBhIGNvbnRleHQgd2l0aCB0aGUgaGlnaGVzdCB2ZXJzaW9uCgkgIG52aWRpYSBkcml2ZXJzIHJldHVybiB0aGUgZXhhY3QgdmVyc2lvbiBpbiBnbEdzdFN0cmluZyAoR0xfVkVSU0lPTikKCSAgd2UgcmVxdWVzdCBvbiBjcmVhdGlvbiBzbyBzdGFydCB3aXRoIHRoZSBoaWdoZXN0IGtub3duIHZlcnNpb24gYW5kCgkgIHdvcmsgb3VyIHdheSBkb3duLgoKMjAxNS0wNy0xNiAwMDozNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHRyYWNrIHNoYXJlZG5lc3Mgd2l0aCBhIGNvb2tpZQoJICBUaGUgcHJldmlvdXMgYXBwcm9hY2ggb2YgdHJhdmVyc2luZyB0aGUgb3RoZXJfY29udGV4dCB3ZWFrIHJlZiB0cmVlIHdhcwoJICAxLiBMZXNzIHBlcmZvcm1hbnQKCSAgMi4gSW5jb3JyZWN0IGZvciBjb250ZXh0IGRlc3RydWN0aW9uIHJlbW92aW5nIGEgbGluayBpbiB0aGUgdHJlZQoJICBFeGFtcGxlIG9mIDI6CgkgIGMxID0gY29udGV4dF9jcmVhdGUgKE5VTEwpCgkgIGMyID0gY29udGV4dF9jcmVhdGUgKGMxKQoJICBjMyA9IGNvbnRleHRfY3JlYXRlIChjMikKCSAgY29udGV4dF9jYW5fc2hhcmUgKGMxLCBjMykgPT0gVFJVRQoJICBjb250ZXh0X2Rlc3Ryb3kgKGMyKQoJICB1bnJlZiAoYzIpCgkgIGNvbnRleHRfY2FuX3NoYXJlIChjMSwgYzMpIHJldHVybnMgRkFMU0Ugd2hlbiBpdCBzaG91bGQgYmUgVFJVRSEKCSAgVGhpcyBkb2VzIG5vdCByZW1vdmUgdGhlIHJlc3RyaWN0aW9uIHRoYXQgY29udGV4dCBzaGFyZWRuZXNzIGNhbiBvbmx5CgkgIGJlIHRyYWNrZWQgYmV0d2VlbiBHc3RHTENvbnRleHQncy4KCjIwMTUtMDctMTYgMDA6MzM6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiB1c2UgdGhlIGRlYnVnIG9iamVjdCB2YXJpYW50IGZvciBjb21wbGV0ZW5lc3MKCjIwMTUtMDctMTcgMTY6MDA6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ3N0Z2x3aWRnZXQ6IENsZWFudXAgdW51c2VkIHByaXZhdGUgbWVtYmVyCgkgIG5ld19idWZmZXIgaGFzIGJlZW4gbW92ZWQgdG8gYmFzZSBjbGFzcy4gQWxzbyBjbGVhbnVwCgkgIHRoZSBwcm9wZXJ0aWVzIGNvbW1lbnQsIHdoaWNoIGFyZSBhbHNvIGFsbCBtb3ZlZCBpbnRvCgkgIHRoZSBiYXNlIGNsYXNzLgoKMjAxNS0wNy0xNyAxNTo1NzozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiAid2lkZ2V0IiBtdXN0IGJlIGFjY2VzcyBmcm9tIG1haW4gdGhyZWFkCgkgIERvY3VtZW50IHRoYXQgIndpZGdldCIgcHJvcGVydHkgbXVzdCBiZSBhY2Nlc3NlZCBmcm9tIHRoZQoJICBtYWluIHRocmVhZCAod2hlcmUgR1RLIGlzIHJ1bm5pbmcpLiBUaGlzIGlzIHRoZSBzYW1lIGZvcgoJICBzdGF0ZSB0cmFuc2l0aW9uIG9uIHRoZXNlIGVsZW1lbnRzLiBJdCBpcyB2ZXJ5IG5hdHVyYWwgdG8KCSAgZG8gc28gdW4gR1RLIGFwcGxpY2F0aW9ucy4KCjIwMTUtMDctMTcgMTU6MDg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBEb24ndCBsZWFrIHZlcnRleCBhcnJheSBhbmQgYnVmZmVycwoJICBUaGlzIGlzIG5vdyBwb3NzaWJsZSBzaW5jZSByZXNldCBpcyBhbHdheXMgY2FsbGVkIGZyb20gdGhlCgkgIG1haW4gdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE3IDE0OjM2OjU2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0a2dzdGJhc2V3aWRnZXQ6IEZpeCBibGFjayBmcmFtZSBvbiByZXNpemUKCSAgVGhpcyBpcyBzb2x2ZWQgYnkgb25seSBhcHBseWluZyB0aGUgbmV3IGZvcm1hdCB3aGVuIHRoZSBuZXh0CgkgIGJ1ZmZlciBpcyB0byBiZSByZW5kZXJlZCBhbmQgb24gdGhlIEdUSyB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTcgMTM6MDU6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGtnc3RiYXNld2lkZ2V0OiBQYXNzIGFscmVhZHkgcGFyc2VkIFZpZGVvSW5mbwoJICBBcyB0aGUgYmFzZSBzaW5rIGFscmVhZHkgcGFyc2UgdGhlIGNhcHMgaW50byBWaWRlb0luZm8gaXQKCSAgbWFrZXMgc2Vuc2UgdG8gcGFzcyBpbiBWaWRlb0luZm8gdG8gdGhlIHdpZGdldCBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjQ5OjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJICBndGtnbHNpbms6IFBvcnQgdG8gR3N0R3RrQmFzZVNpbmsgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjAwOjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkgIGd0a3Npbms6IFBvcnQgdG8gR3N0R3RrQmFzZVNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNTo1OTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkgIGd0a2Jhc2VzaW5rOiBDcmVhdGUgYSBiYXNlIGNsYXNzCgkgIFRoaXMgY29udGFpbnMgYWxsIHRoZSBjb21tb24gY29kZSBiZXR3ZWVuIHRoZSBndGtnbHNpbmsgYW5kCgkgIGd0a3NpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTQ6MzA6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJICBndGtnbHNpbms6IFBvcnQgdG8gR3RrR3N0QmFzZVdpZGdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDEyOjU1OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0Lmg6CgkgIGd0a3Npbms6IFBvcnQgdG8gR3RrR3N0QmFzZVdpZGdldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDEyOjUxOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0azogQWRkIEd0a0dzdEJhc2VXaWRnZXQKCSAgVGhpcyBpcyBhICJwc2V1ZG8iIGJhc2UgY2xhc3MuIEJhc2ljYWxseSBpdCdzIGEgc2hhcmVkIGluc3RhbmNlCgkgIGFuZCBjbGFzcyBzdHJ1Y3R1cmUgYW5kIGEgc2hhcmVkIHNldCBvZiBmdW5jdGlvbiBiZXR3ZWVuIHRoZQoJICB0d28gd2lkZ2V0LiBJdCBjYW5ub3QgaGF2ZSBpdCdzIG93biB0eXBlIGxpa2Ugbm9ybWFsIGJhc2UgY2xhc3MKCSAgc2luY2UgdGhlIG9uZSBpbnN0YW5jZSB3aWxsIGltcGxlbWVudCBHdGtHTEFyZWEgd2hpbGUgdGhlIG90aGVyCgkgIGltcGxlbWVudHMgR3RrRHJhd2luZ0FyZWF5LiBUbyB3b3JrYXJvdW5kIHRoaXMsIHRoZSBwYXJlbnQgaW5zdGFuY2UKCSAgYW5kIGNsYXNzIGlzIGEgdW5pb24gb2YgYm90aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNjo0NzowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICB1cGxvYWRlbGVtZW50OiBQcm90ZWN0IGFnYWluc3QgTlVMTCBwb2ludGVyCgkgIEkgbm90aWNlIHRoYXQgaWYgeW91IHN0b3AgdGhlIHBpcGVsaW5lIGR1cmluZyBhIHJlbmVnb3RpYXRpb24KCSAgdGhlIHVwbG9hZCBtYXkgYmUgTlVMTCB3aGlsZSBhbiBhbGxvY2F0aW9uIHF1ZXJ5IGlzIGJlaW5nIHJ1bi4KCSAgSW4gdGhhdCBzY2VuYXJpbywgcmV0dXJuaW5nIEZBTFNFIHRvIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IGlzIHRoZQoJICBiZXN0IHRoaW5nLgoKMjAxNS0wNy0xNSAxNzozNToyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnc3RnbHdpZGdldDogUmVtb3ZlIHVudXNlZCBnbF9jYXBzCgoyMDE1LTA3LTE1IDE2OjU2OjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3Rrc2luazogQ3JlYXRlIGEgd2luZG93IGlmIHRoZSB3aWRnZXQgaXMgdW5wYXJlbnRlZAoJICBUaGUgc2FtZSB3YXkgYXMgaXQncyBub3cgZG9uZSB3aXRoIHRoZSBndGtnbHNpbmssIGNyZWF0ZSBhIHRvcAoJICBsZXZlbCB3aW5kb3cgaWYgdGhlIHdpZGdldCBpcyBub3QgcGFyZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTUgMTQ6MzU6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGtzaW5rOiBFbnN1cmUgdGhlIGNvcHkgcGFzdGVkIGNvZGUgcmVtYWlucyB0aGUgc2FtZQoJICBNb3ZlIGJhY2sgdGhlIGRlZmF1bHQgcHJvcGVydHkgYXQgdGhlIHNhbWUgcGxhY2UgdGhleSBhcmUgaW4gdGhlCgkgIG90aGVyIHNpbmsuIFRoaXMgaGVscHMgd2hlbiB1c2luZyBhIGRpZmYgdmlld2VyIHRvIHN5bmNocm9uaXplZAoJICB0aGlzIHVuZm9ydHVuYXRlIGNvcHkgcGFzdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTUgMTQ6MzI6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogRml4IHJhY2UgYmV0d2VlbiBxdWV1ZV9kcmF3IGFuZCBkZXN0cm95CgkgIEluIEdUSyBkaXNwb3NlIGNhbiBiZSBjYWxsZWQgYmVmb3JlIHRoZSBsYXN0IHJlZiBpcyByZWFjaGVkLiBUaGlzCgkgIGhhcHBlbnMgd2hlbiB5b3UgY2xvc2UgdGhlIGNvbnRhaW5lciB3aW5kb3cuIFRoZSBkaXNwb3NlIHdpbGwgYmUKCSAgZXhwbGljaXRseSBjYWxsZWQsIGFuZCBkZXN0cm95ZWQgbm90aWZ5IHdpbGwgYmUgZmlyZWQuIFRoaXMgcGF0Y2gKCSAgZml4ZXMgdGhpcyByYWNlIGJ5IHByb3Blcmx5IHRyYWNraW5nIHRoZSB3aWRnZXQgc3RhdGUuCgkgIEluIHRoZSBzaW5rLCB3ZSBub3cgc2V0IHRoZSB3aWRnZXQgcG9pbnRlciB0byBOVUxMLCBzbyB0aGUgd2lkZ2V0CgkgIHdpbGwgcHJvcGVybHkgZ2V0IGNyZWF0ZWQgYWdhaW4gaWYgeW91IHNldCB5b3VyIHBpcGVsaW5lIHRvIE5VTEwKCSAgc3RhdGUgYWZ0ZXIgdGhlIHdpZGdldCB3YXMgZGVzdHJveSwgYW5kIHNldCBpdCBiYWNrIHRvIFBMQVlJTkcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMTYgMjE6Mjg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdHlwZWZpbmRlciwgbW92ZSBpdCB0byB0eXBlZmluZGZ1bmN0aW9ucyBpbiAtYmFzZQoJICBPdGhlcndpc2UgdGhpcyBwbHVnaW4gd2lsbCBiZSBsb2FkZWQgcHJldHR5IG11Y2ggd2hlbmV2ZXIKCSAgdGhlcmUncyBhbnl0aGluZyB0byB0eXBlZmluZC4gQW5kIHRoZSBjb2RlIHdhcyBwcmV0dHkgbXVjaAoJICBjb3B5J24ncGFzdGUgZnJvbSAtYmFzZSBhbnl3YXkuCgoyMDE1LTA3LTE1IDEzOjAyOjU0ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGRlZmF1bHQgdGltZXNjYWxlIGlzIDEKCSAgZGVmYXVsdCB0aW1lc2NhbGUgdmFsdWUgc2hvdWxkIGJlIDEsIG5vdCAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDE0CgoyMDE1LTA3LTE1IDEzOjQxOjM3ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZyZWUgcHJvcF9zdHJpbmcgb25seSBhZnRlciBpdCdzIG5vIGxvbmdlciBuZWVkZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxOQoKMjAxNS0wNy0xNiAxNzoyMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBVcGRhdGUgbWFpbGluZyBsaXN0IGFkZHJlc3MgZnJvbSBzb3VyY2Vmb3JnZSB0byBmcmVlZGVza3RvcAoKMjAxNS0wNy0xNSAxMTo0Nzo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrZ3N0d2lkZ2V0OiBBZGQgbWlzc2luZyBicmVhayBpbiBnZXRfcHJvcGVydHkKCjIwMTUtMDctMTUgMTE6NDQ6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJICBndGtzaW5rczogUmVtb3ZlIHVuZGVmaW5lZCBwcml2YXRlIHN0cnVjdHVyZQoJICBUaGUgY2xhc3NlcyBjb250YWlucyBhIHByaXZhdGUgc3RydWN0dXJlIHdoaWNoIGFyZSBub3QgZGVmaW5lZCwKCSAgaGVuY2UgdW51c2VkLgoKMjAxNS0wNy0xNCAxNzo0MDozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBtZW1jcHkgb24gcmF3IGRhdGEgdXBsb2FkCgkgIEFueXRoaW5nIGVsc2UgcmVxdWlyZXMga2VlcGluZyB0cmFjayBvZiB0aGUgR3N0VmlkZW9GcmFtZSBtYXBwaW5nCgkgIGFjcm9zcyBwb3NzaWJsZSBtdWx0aXBsZSBidWZmZXJzIHRvIGVuc3VyZSBjb3JyZWN0IGRhdGEgcG9pbnRlcgoJICB1c2FnZS4KCjIwMTUtMDctMTQgMTc6Mzk6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSAgZ2xiYXNlYnVmZmVyOiBhZGQgc29tZSBkZWJ1ZyBhbmQgemVybyB0aGUgZGF0YSBwb2ludGVycyBvbiBpbml0CgoyMDE1LTA3LTEwIDAxOjAwOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCB3YWl0IGZvciBkYXRhIG9uIHNwYXJzZSBpbnB1dHMgbGlrZSBtZXRhZGF0YSBvciBzdWJ0aXRsZSBzdHJlYW1zCgoyMDE0LTExLTA5IDE5OjE2OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogYWRkIGJhc2ljIHN1cHBvcnQgZm9yIGFzeW5jaHJvbm91cyBLTFYgbWV0YWRhdGEgc3RyZWFtcwoJICBUaGlzIGlzIGRlZmluZWQgaW4gU01QVEUgUnAgMjE3LiBJbiB0aGlzIGNhc2UgdGhlCgkgIG1ldGFkYXRhIFBFUyBwYWNrZXRzIGNhcnJ5IG5vIHRpbWVzdGFtcHMgb2YgdGhlaXIKCSAgb3duIGFuZCBubyBNZXRhZGF0YSBBY2Nlc3MgVW5pdCBXcmFwcGVycyBhcmUgdXNlZC4KCjIwMTUtMDYtMjkgMDI6NDI6MDYgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogaGFuZGxlIG5vbi1jb25zZWN1dGl2ZSBHc3RCdWZmZXIgaW5wdXQgd2l0aG91dCBjb3B5aW5nCgkgIENNQmxvY2tCdWZmZXIgb2ZmZXJzIGEgbW9kZWwgc2ltaWxhciB0byBHc3RCdWZmZXIsIGFzIGl0IGNhbgoJICBjb25zaXN0IG9mIG11bHRpcGxlIG5vbi1jb25zZWN1dGl2ZSBtZW1vcnkgYmxvY2tzLgoJICBQcmlvciB0byB0aGlzIGNoYW5nZSwgd2hhdCB3ZSB3ZXJlIGRvaW5nIHdhczoKCSAgMSkgSW5jb3JyZWN0OgoJICBDTUJsb2NrQnVmZmVyQ3JlYXRlV2l0aE1lbW9yeUJsb2NrIGRvZXMgbm90IGNvcHkgdGhlIGRhdGEsCgkgIGJ1dCB3ZSBnc3RfYnVmZmVyX3VubWFwJ2QgcmlnaHQgYXdheS4KCSAgMikgSW5lZmZpY2llbnQ6CgkgIElmIHRoZSBHc3RCdWZmZXIgY29uc2lzdGVkIG9mIG5vbi1jb250aWd1b3VzIG1lbW9yeSBibG9ja3MsCgkgIGdzdF9idWZmZXJfbWFwIHJlc3VsdGVkIGluIG1hbGxvYyAvIG1lbWNweS4KCSAgV2l0aCB0aGlzIGNoYW5nZSwgd2UgY29uc3RydWN0IGEgQ01CbG9ja0J1ZmZlciBvdXQgb2YgaW5kaXZpZHVhbCBtYXBwZWQKCSAgR3N0TWVtb3J5IG9iamVjdHMuIENNQmxvY2tCdWZmZXIgaXMgbWFkZSB0byByZXRhaW4gdGhlIEdzdE1lbW9yeQoJICBvYmplY3RzICh0aHJvdWdoIHRoZSB1c2Ugb2YgQ01CbG9ja0J1ZmZlckN1c3RvbUJsb2NrU291cmNlKSwgc28gdGhlCgkgIG9yaWdpbmFsIEdzdEJ1ZmZlciBjYW4gYmUgdW5yZWYnZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI0MQoKMjAxNS0wNy0xMyAyMzoyMjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXBwbGVtZWRpYS9hdnNhbXBsZTogZml4IHVuY29uZGl0aW9uYWwgdXNlIG9mIE9TWCAxMC4xMCBBUEkKCSAgV2UgY2FuIGp1c3Qgbm90IHVzZSB0aGUgZXJyb3Ivc3RhdHVzIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYzMQoKMjAxNS0wNy0xMCAxOTowNTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB0cnkgaGFyZGVyIHRvIGZpbmQgdGhlIHJpZ2h0IFF0NSBidWlsZCB0b29scwoJICBGaXJzdCBjaGVjayBmb3IgUXQgYnVpbGQgdG9vbHMgaW4gdGhlIGhvc3RfYmlucyBkaXJlY3RvcnkKCSAgZnJvbSB0aGUgUXQ1Q29yZSBwa2ctY29uZmlnIGZpbGUuIFRoaXMgZml4ZXMgdGhlIHNpdHVhdGlvbgoJICB3aGVyZSBib3RoIFF0NCBhbmQgUXQ1IGFyZSBpbnN0YWxsZWQgYnV0IHRoZSBnbG9iYWwgbW9jL3VpYy9ldGMuCgkgIGFyZSB0aGUgUXQ0IHZlcnNpb24sIHdoaWNoIHdvdWxkIHJlc3VsdCBpbiBidWlsZCBmYWlsdXJlcy4KCjIwMTUtMDctMTAgMTQ6MDE6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGNvbmZpZ3VyZS9xdDogRml4IGJ1aWxkIHdpdGhvdXQgUXQ1WDExRXh0cmFzCgoyMDE1LTA3LTEwIDEzOjI2OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBnX3NsaWNlX25ldygpIGNhbid0IHJldHVybiBOVUxMCgkgIEl0IHdpbGwgYWJvcnQoKSBpZiBhbGxvY2F0aW9uIGZhaWxzLgoKMjAxNS0wNy0xMCAxMzoxOTo0MCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IERvbid0IGFsbG93IG5ldHdvcmsgYWNjZXNzIHdoZW4gcmVhZGluZyB0aGUgWE1MIGRhdGEKCjIwMTUtMDctMTAgMTk6MjI6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcXQ6IGRvbid0IGVycm9yIG91dCBpZiBRdCBYMTEgY291bGQgbm90IGJlIGZvdW5kCgkgIFBDS19DSEVDS19NT0RVTEVTIGRlZmF1bHQgZXJyb3ItaWYtbm90LWZvdW5kIGltcGxlbWVudGF0aW9uIGVycm9ycwoJICBzbyBvdmVycmlkZSBpdCB3aXRoIGEgc2ltcGxlIG5vdGljZSB0aGF0IHdlIGNvdWxkbid0IGZpbmQgdGhlIGxpYnJhcnkuCgoyMDE1LTA3LTA2IDIzOjEwOjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3F0Ly5naXRpZ25vcmU6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHBsdWdpbi5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9nc3RxdHNpbmsuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0aXRlbS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5xbWw6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9wbGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL3FtbC5xcmM6CgkgIG5ldyBxdDUgcW1sIEdMIHZpZGVvIHNpbmsKCSAgVmVyeSBtdWNoIGluIHRoZSBzYW1lIHNwaXJpdCBhcyB0aGUgR3RrIEdMIHNpbmsKCSAgVHdvIHRoaW5ncyBhcmUgcHJvdmlkZWQKCSAgMS4gQSBRUXVpY2tJdGVtIHN1YmNsYXNzIHRoYXQgcmVuZGVycyBvdXQgUkdCQSBmaWxsZWQgR3N0R0xNZW1vcnkKCSAgYnVmZmVycyB0aGF0IGlzIGluc3RhbnRpYXRlZCBmcm9tIHFtbC4KCSAgMi4gQSBzaW5rIGVsZW1lbnQgdGhhdCB3aWxsIHB1c2ggYnVmZmVycyBpbnRvICgxKQoJICBUbyB1c2UKCSAgMS4gRGVjbGFyZSB0aGUgR3N0R0xWaWRlb0l0ZW0gaW4gcW1sIHdpdGggYW4gYXBwcm9wcmlhdGUKCSAgb2JqZWN0TmFtZSBwcm9wZXJ0eSBzZXQuCgkgIDIuIEdldCB0aGUgYWZvcmVtZW50aW9uZWQgR3N0R0xWaWRlb0l0ZW0gZnJvbSBxbWwgdXNpbmcgc29tZXRoaW5nIGxpa2UKCSAgUVFtbEFwcGxpY2F0aW9uRW5naW5lIGVuZ2luZTsKCSAgZW5naW5lLmxvYWQoUVVybChRU3RyaW5nTGl0ZXJhbCgicXJjOi9tYWluLnFtbCIpKSk7CgkgIFFPYmplY3QgKnJvb3RPYmplY3QgPSBlbmdpbmUucm9vdE9iamVjdHMoKS5maXJzdCgpOwoJICBRUXVpY2tJdGVtICp2aWRlb0l0ZW0gPSByb290T2JqZWN0LT5maW5kQ2hpbGQ8UVF1aWNrSXRlbSAqPiAoInZpZGVvSXRlbSIpOwoJICAzLiBTZXQgdGhlIHZpZGVvSXRlbSBvbiB0aGUgc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTg1CgoyMDE1LTA3LTA4IDE3OjE3OjE4ICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkgIGJsdWV6OiBGaXggbWFrZSBkaXN0IHdoaWxlIGJsdWV6ID49IDUgaXMgbm90IGF2YWlsYWJsZQoKMjAxNS0wNy0wOSAxODozMTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpeCBwcmV2aW91cyBjb21taXQKCSAgV2Ugb25seSB3YW50IHRvIGRvIGEgaGFyZCByZXNldCBvZiB0aGUgb2JzZXJ2YXRpb25zIGlmIHdlJ3JlIHdvcmtpbmcKCSAgd2l0aCBUSU1FIHNlZ21lbnRzIGluIHB1c2ggbW9kZS4gRm9yIEJZVEUgc2VnbWVudCB3ZSB3YW50IHRvIGtlZXAKCSAgdGhlIG9ic2VydmF0aW9ucyAoaW4gb3JkZXIgdG8gZG8gc2Vla3MgaW4gcHVzaC1tb2RlKS4KCjIwMTUtMDctMDkgMTY6NTk6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGbHVzaCBtb3JlIG9uIERJU0NPTlQgYnVmZmVycyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBpbiBwdXNoIG1vZGUsIHdlIHdhbnQgdG8gZGlzY2FyZCBhbGwgcHJldmlvdXMgb2JzZXJ2YXRpb25zIGZyb20gdGhlCgkgIG1wZWd0c3BhY2tldGl6ZXIgd2hlbiB3ZSBnZXQgYSBESVNDT05UIGJ1ZmZlci4KCSAgVGhpcyBhdm9pZHMgdHJ5aW5nIHRvIGNhbGN1bGF0ZSBib2d1cyB0aW1lc3RhbXBzIChlc3RpbWF0aW5nIHRoZW0gdXNpbmcgb2xkCgkgIFBDUiBvYnNlcnZhdGlvbnMpLgoJICBXZSBvbmx5IGRvIGEgaGFyZCByZXNldCBpbiBwdXNoLW1vZGUuIEluIHB1bGwtbW9kZSB3ZSBzdGlsbCBuZWVkIHRoZSBvYnNlcnZhdGlvbnMKCSAgKGluIG9yZGVyIHRvIHNlZWsgcHJvcGVybHkpCgoyMDE1LTA3LTA5IDExOjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcwoKMjAxNS0wNy0wOSAxMTowNToxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IEluY2x1ZGUgbmV3IGZpbGUgaW4gZGlzdCdlZCBmaWxlcwoJICBGaXhlcyBtYWtlIGRpc3RjaGVjayBhbmQgdGFyYmFsbCBnZW5lcmF0aW9uCgoyMDE1LTA3LTA5IDEzOjAzOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBndGs6IGFkZCB0byB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdAoKMjAxNS0wNi0xNyAwOTozNjo1NyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgR3N0R3RrR0xTaW5rOiBFbnN1cmUgd2lkZ2V0IGhhcyBhIHRvcGxldmVsIHBhcmVudAoJICBDaGVja2luZyBmb3IgYSBwYXJlbnQgaXMgbm90IGVub3VnaCwgaXQgbXVzdCBoYXZlIGEgdG9wbGV2ZWwgb25lLgoJICBJZiB3aWRnZXQgaGFzIG5vIHRvcGxldmVsIHBhcmVudCB0aGVuIGFkZCBpdCBpbiBhIEd0a1dpbmRvdywgdGhhdAoJICBtYWtlIGl0IHVzYWJsZSBmcm9tIGdzdC1sYXVuY2gtMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTA0CgoyMDE1LTA2LTE3IDA5OjM2OjQwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJICBHc3RHdGtHTFNpbms6IFBvc3QgZXJyb3IgaWYgd2lkZ2V0IGdldHMgZGVzdHJveWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDYtMTYgMTY6MjE6MjYgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIEdzdEd0a0dMU2luazogZml4IHBvc3NpYmxlIHdhcm5pbmcgaW4gZmluYWxpemUKCSAgSWYgdGhlIGVsZW1lbnQgaXMgZmluYWxpemVkIGJlZm9yZSBnb2luZyBpbiBSRUFEWSBzdGF0ZQoJICB0aGUgd2lkZ2V0IGNvdWxkIHN0aWxsIGJlIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDctMDggMjM6MTQ6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBGaXggc29tZSBtZW1vcnkgbGVha3MgaW4gdGhlIE1QRCBwYXJzZXIgYW5kIHVuaXQgdGVzdAoKMjAxNS0wNy0wNyAxNjo1OTo1MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCB1bml0IHRlc3RzIHRvIHRlc3QgYWxsIGZ1bmN0aW9ucwoJICBBZGRlZCB1bml0IHRlc3RzIGZvciBhbGwgZnVuY3Rpb25zLiBDb2RlIGNvdmVyYWdlOgoJICBPdmVyYWxsIGNvdmVyYWdlIHJhdGU6CgkgIGxpbmVzLi4uLi4uOiA4My44JSAoMTk0MSBvZiAyMzE2IGxpbmVzKQoJICBmdW5jdGlvbnMuLjogMTAwLjAlICgxNDEgb2YgMTQxIGZ1bmN0aW9ucykKCjIwMTUtMDctMDggMTc6MDg6NTYgKzAzMDAgIFJvbWFuIERvbmNoZW5rbyA8cm9tYW4uZG9uY2hlbmtvQGl0c2Vlei5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBmaXggYSBHc3RDYXBzIG9iamVjdCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMTI3CgoyMDE1LTAzLTI2IDExOjM0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICBUaGlzIGlzIG5vdCBwdWJsaWMgQVBJLCB1c2UgZ19hc3NlcnQoKSBpbnN0ZWFkIG9mCgkgIGdfcmV0dXJuX2lmX2ZhaWwoKSwgc28gdGhhdCBpdCdzIGNvbXBpbGVkIG91dCBpbgoJICByZWxlYXNlcy4gSXQncyBvbmx5IGNhbGxlZCBmcm9tIG91ciBjb2RlLCB3aXRoICZmb28uCgoyMDE0LTA2LTMwIDEzOjIwOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBLTFYgbWV0YWRhdGEgc3RyZWFtcwoJICBUaGVyZSdzIG5vIHRpbWVzdGFtcHMgZm9yIHRoZXNlIHN0cmVhbXMgdGhvdWdoLCB3ZQoJICBtaWdodCB3YW50IHRvIG1ha2Ugc29tZSB1cCBiYXNlZCBvbiB0aGUgbGFzdC9uZXh0CgkgIHZpZGVvIFBUUyBvciBzby4KCjIwMTUtMDctMDggMTY6MzE6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImRhc2hkZW11eDogZml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDQ4NzVkZGY1ODU1YTI2ZjM0OWRmN2IzODViNjhlYjY5MmUzMTRiZmEuCgkgIFRoaXMgd2FzIGJhc2VkIG9uIGEgbWlzdW5kZXJzdGFuZGluZyBvZiB0aGUgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjA4NQoKMjAxNS0wNy0wNiAxMzoyODowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IERvbid0IGNhbGwgYW55dGhpbmcgc3luY2hyb25vdXNseSBmcm9tIHRoZSBtYWluIHRocmVhZAoJICBUaGlzIHdpbGwgZGVhZGxvY2sgaWYgdGhlIG1haW4gdGhyZWFkIGlzIHRoZSBvbmUgd2hvIGNyZWF0ZXMgdGhlIEdzdEdMQ29udGV4dC4KCSAgQWxsIHRoaW5ncyB3ZSBjYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkIHNob3VsZCBiZSBwb3NzaWJsZSBmcm9tIGFueSB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDEKCjIwMTUtMDctMDggMTI6MTY6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IHJlbW92ZSB1bm5lY2Vzc2FyeSBnb3RvCgkgIEFsbCBnb3RvIGZhaWwgaGFwcGVuIGJlZm9yZSByZXQgaXMgc2V0LiByZXQgbXVzdCBiZSBOVUxMLCBhbmQgdGhlIG9ubHkKCSAgdGhpbmcgdGhlIGZhaWwgc3RhdGVtZW50IGJsb2NrIGRvZXMgaXMgcmV0dXJuIE5VTEwuIFJlcGxhY2luZyB0aGUganVtcHMgdG8KCSAgZG8gdGhpcyByZXR1cm4gZGlyZWN0bHkuCgkgIENJRCAjMTMxMTMyOQoKMjAxNS0wNy0wOCAxMTozMjo1OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgZWxzZSBzdGF0ZW1lbnQKCSAgRWxzZSBzdGF0ZW1lbnQgaXMgcmVkdW5kYW50IHdoZW4gdGhlIGlmIGJsb2NrIGZpbmlzaGVzIHdpdGggYW4gcmV0dXJuLgoKMjAxNS0wNy0wOCAxMTo0Mjo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3VwcG9ydCBmb3IgSDI2NS9IRVZDCgoyMDE1LTA2LTI5IDEyOjQwOjU1ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGZpeCByZWZjb3VudCBlcnJvciBpbiBlcnJvciBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjQxCgoyMDE1LTA3LTA3IDE5OjQ4OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBFeHBsaWNpdGx5IGNoZWNrIGZvciBDVVNUT01fRVJST1Igd2hlbiBjb252ZXJ0aW5nIGVycm9ycyB0byBFT1MKCSAgV2UgdXNlIHRoaW5ncyBsaWtlIENVU1RPTV9TVUNDRVNTKiBpbiBvdGhlciBwbGFjZXMsIGFuZCB0aG9zZSBhcmUgbm90IGVycm9ycwoJICBidXQgc2hvdWxkIGp1c3QgYmUgaGFuZGxlZCBsaWtlIE9LLgoKMjAxNS0wNy0wNyAxOToyNjowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgImRhc2hkZW11eDogZml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZGZlMzdmZmM1OWZkZjVmNDA3NTY5Njk3NmQ5OGVjOGQ2ZGI3MzEzOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjA4NQoKMjAxNS0wNy0wNyAxOToyNToyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEZpeCBvZmYtYnktb25lIGluIGhhcy1uZXh0LXNlZ21lbnQgY2FsY3VsYXRpb24KCjIwMTUtMDctMDcgMTg6Mzc6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IElmIGRvd25sb2FkaW5nIHRoZSBsYXN0IGZyYWdtZW50IGZhaWxzLCBjb25zaWRlciB0aGlzIGFzIEVPUyBhbmQgbm90IEVSUk9SCgkgIFNvbWV0aW1lcyB0aGUgbGFzdCBmcmFnbWVudCBkb2VzIG5vdCBleGlzdCBiZWNhdXNlIG9mIHJvdW5kaW5nIGVycm9ycyB3aXRoIHRoZQoJICBkdXJhdGlvbnMuIEp1c3QgZmluaXNoIHRoZSBzdHJlYW0gZ3JhY2VmdWxseSBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dCBpbnN0ZWFkLgoKMjAxNS0wNy0wNyAyMjozNTo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBkb3dubG9hZDogb25seSBzdGFydCBhIGRvd25sb2FkIHRyYW5zZmVyIGZvciBzeXNtZW0gY2FwcyBmZWF0dXJlcwoKMjAxNS0wNy0wNiAxMjowODo1MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCBpbmRlbnRhdGlvbiBpbiB4bWwgc3RyaW5ncyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMjcKCjIwMTUtMDctMDMgMTY6MTc6NTggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkZWQgcGFyc2luZyBvZiBiaXRzdHJlYW1Td2l0Y2hpbmdAQWRhcHRhdGlvblNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTcwCgoyMDE1LTA3LTAzIDE1OjMxOjM1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlZ3JvdXBlZCBmdW5jdGlvbnMgaW4gZ3N0bXBkcGFyc2VyLmggZmlsZQoJICBNb3ZlZCBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9lbmRfdGltZSBhbmQKCSAgZ3N0X21wZF9jbGllbnRfYWRkX3RpbWVfZGlmZmVyZW5jZSBmdW5jdGlvbnMgdG8gYmUgZ3JvdXBlZCB3aXRoCgkgIGZ1bmN0aW9ucyBmcm9tIHRoZSBzYW1lIGNhdGVnb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDI3CgoyMDE1LTA3LTA2IDE0OjIxOjE3ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGNvcnJlY3RlZCBjb2RlIGxheW91dAoJICBkZWxldGVkIHRoZSBlbXB0eSBsaW5lIGJldHdlZW4gZ3N0X21wZF9wYXJzZSBjYWxsIGFuZCBpdHMgY2hlY2sgc28gdGhhdAoJICB0aGUgYXNzZXJ0IGlzIG5leHQgdG8gdGhlIGZ1bmN0aW9uIGl0IGlzIHRlc3RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAyNwoKMjAxNS0wNy0wNyAxMDo1Njo0NyArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSAgbXBlZ3ZpZGVvbWV0YTogYWRkIG1ldGEgdHJhbnNmb3JtIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzgKCjIwMTUtMDctMDcgMTA6NTc6MjYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogdHJhbnNmb3JtIGZ1bmM6IHJldHVybiBGQUxTRSBpZiBub3Qgc3VwcG9ydGVkIG9yIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc4CgoyMDE1LTA3LTA2IDE0OjE0OjEyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGdzdF9tcGRfY2xpZW50X2FkdmFuY2Vfc2VnbWVudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TCgkgIEZpeGVkIGdzdF9tcGRfY2xpZW50X2FkdmFuY2Vfc2VnbWVudCB0byByZXR1cm4gR1NUX0ZMT1dfRU9TIGlmIHRoZQoJICBuZXcgaW5kZXggaXMgb3V0IG9mIHJhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODUwCgoyMDE1LTA3LTA3IDE2OjM5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJICBhbmRyb2lkOiBhZGQgbWlzc2luZyBlZ2wuaCBpbmNsdWRlCgoyMDE1LTA3LTA3IDE1OjMwOjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBjb3JyZWN0IHZhbyB1c2FnZQoJICBrZWVwIHRoZSB2YW8gYm91bmQgYWZ0ZXIgdXBsb2FkaW5nIHRoZSBuZXcgdmVydGV4IGRhdGEKCSAgZml4ZXMgYSBtZXNhIEdMIGVycm9yICJubyB2ZXJ0ZXggYXJyYXkgb2JqZWN0IGJvdW5kIiBvbiBjYXBzIGNoYW5nZXMKCjIwMTUtMDYtMTYgMDc6NDk6MzQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGNvbnNvbGlkYXRlIGVnbCBoZWFkZXIgaW5jbHVkZXMgdG8gZWdsLW9ubHkgaGVhZGVycwoJICBUaGV5IG1heSBjb25mbGljdCB3aXRoIG90aGVyIGhlYWRlcnMuCgoyMDE1LTA3LTA2IDE5OjMzOjM1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogUmVsZWFzZSB0aGUgd2lkZ2V0IGxvY2sgd2hlbiB0cnlpbmcgdG8gZ2V0IHRoZSBHTCBjb250ZXh0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCBiZSB3YWl0aW5nIGZvciB0aGUgbG9jayBvbiB0aGUgbWFpbiBsb29wIChmb3IKCSAgZXhhbXBsZSBpbiB0aGUgLT5yZW5kZXIgdm1ldGhvZCkgYW5kIHRodXMgd2Ugd2lsbCBkZWFkbG9jay4KCjIwMTUtMDctMDYgMTg6NTE6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1vdmUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGZyb20gdGhlIGNhcHMgcmV0dXJuZWQgYnkgZ2V0Y2FwcwoJICBBdm9pZGluZyBub3QgbmVnb3RpYXRlZCBlcnJvciB3aGlsZSBuZWdvdGlhdGluZyBhcyB3ZSBhbnl3YXkgZm9yY2UgMS8xCgkgIGFzIG91dHB1dAoKMjAxNS0wNy0wNiAxNToyNDowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmxzc2hzaW5rOiByZW1vdmUgcmVkdW5kYW50IGVsc2Ugc3RhdGVtZW50CgkgIEVsc2Ugc3RhdGVtZW50IGlzIHJlZHVuZGFudCB3aGVuIHRoZSBpZiBibG9jayBmaW5pc2hlcyB3aXRoIGFuIHJldHVybi4KCjIwMTUtMDctMDIgMTU6MTc6NTEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgc2VnbWVudCBzdGFydCB3aGVuIHNwZWNpZmllZCBieSBTZWdtZW50VGltZWxpbmUKCSAgQHQgYXR0cmlidXRlIGluIHNlZ21lbnQgVGltZWxpbmUgaXMgcmVsYXRpdmUgdG8gdGhlIHBlcmlvZCBzdGFydC4KCSAgQ29ycmVjdGVkIHRoZSBjb2RlIHRvIHRha2UgdGhpcyBpbnRvIGFjY291bnQgd2hlbiBjb21wdXRpbmcgc2VnbWVudAoJICB0aW1lc3RhbXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NDEKCjIwMTUtMDctMDMgMTc6MDA6MzEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogd3Jvbmcgc2VnbWVudCBkdXJhdGlvbiBjb21wdXRlZCBieSBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbgoJICBDb3JyZWN0ZWQgY29tcHV0YXRpb24gb2Ygc2VnbWVudCBzdGFydCBhbmQgZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MTQKCjIwMTUtMDctMDMgMTY6MTA6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHNlYXJjaCBmb3IgYXVkaW8gbGFuZ3VhZ2VzCgkgIENvcnJlY3RlZCB0aGUgaW5pdGlhbGlzYXRpb24gb2YgbWltZVR5cGUgaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfbGlzdF9hbmRfbmJfb2ZfYXVkaW9fbGFuZ3VhZ2U6IHRoZSB2YXJpYWJsZSBpcyB1c2VkCgkgIGluIGEgbG9vcCwgc28gaXQgbXVzdCBiZSBzZXQgdG8gTlVMTCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggaXRlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxOTExCgoyMDE1LTA3LTAzIDIxOjU4OjI2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmNzRiMmRmIHRvIDlhZWQxZDcKCjIwMTUtMDctMDMgMTI6MTc6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlciwgZ2xtaXhlcjogQWRkIGRlc2NyaXB0aW9uIGFuZCBrbGFzcwoKMjAxNS0wNy0wMyAxOToyNDo1OCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBGaXggYnJva2VuIEJsdWVaIGNvbmZpZ3VyZSBjaGVjawoJICBUaGUgcHJldmlvdXMgY29tbWl0IGxlZnQgYW4gZXh0cmEgc2V0IG9mIGJyYWNrZXRzLCBhbmQgbWlzc2VkIHJlbW92aW5nCgkgIHRoZSBleHBsaWNpdCBkYnVzIGNoZWNrICh3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkIHNpbmNlIHdlJ3JlIHVzaW5nCgkgIGdkYnVzKS4KCjIwMTUtMDEtMTMgMTA6MzE6NDEgLTA4MDAgIE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiByZW1vdmUgc3VwcG9ydCBmb3IgYmx1ZXo0CgoyMDE0LTEyLTMwIDA3OjIxOjQ0IC0wODAwICBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJKiBzeXMvYmx1ZXovb3JnLmJsdWV6LnhtbDoKCSAgYmx1ZXo6IHJlZmFjdG9yIHRvIHVzZSBnbGliIGFuZCBhZGQgY29ubmVjdGlvbiBzdGF0ZSB0cmFja2luZwoKMjAxNS0wNi0xNSAyMzo0MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IGFub3RoZXIgcmVncmVzc2lvbgoJICBJbnRyb2R1Y2VkIGJ5IGM0YzlmZTYwYiBwY2FwcGFyc2U6IFRha2UgYnVmZmVyIGRpcmVjdGx5IGZyb20gdGhlIGFkYXB0ZXIKCSAgVXNpbmcgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXJfZmFzdCgpIGNhbiBsZWFkIHRvIGJ1ZmZlcnMgdGhhdCBhcmUKCSAgbWFkZSB1cCBvZiBtdWx0aXBsZSBtZW1vcmllcyB3aXRoIHRoZSBmaXJzdCBtZW1vcnkgc21hbGxlciB0aGFuIHRoZQoJICBSVFAgaGVhZGVyIHNpemUsIHdoaWNoIHZpb2xhdGVzIGFzc3VtcHRpb25zIEdzdFJ0cEJhc2VEZXBheWxvYWRlcgoJICBtYWtlcywgbmFtZWx5IHRoYXQgdGhlIGNvbXBsZXRlIFJUUCBoZWFkZXIgd2lsbCBiZSBpbiB0aGUgZmlyc3QKCSAgbWVtb3J5LiBUaGlzIGxlYWRzIHRvIHN1Y2ggcGFja2V0cyBiZWluZyBkcm9wcGVkIHdoZW4gZmVlZGluZwoJICB0aGVtIGZyb20gcGNhcHBhcnNlIHRvIFJUUCBkZXBheWxvYWRlcnMuIFVzZSB0YWtlX2J1ZmZlcigpIHNvCgkgIHdlIGdldCBidWZmZXJzIHdpdGggYSBzaW5nbGUgbWVtb3J5LgoKMjAxNS0wNy0wMiAxMzo0NTowNCArMDIwMCAgU3RpYW4gU2VsbmVzIDxzdGlhbkBwZXhpcC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGNhcHBhcnNlLmM6CgkgIHRlc3RzOiBwY2FwcGFyc2U6IGFkZCB1bml0IHRlc3QgZm9yIGZyYW1lcyB3aXRoIGV0aCBwYWRkaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NzkKCjIwMTUtMDYtMTUgMTI6NTU6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCByZWdyZXNzaW9uIHdoZW4gaGFuZGxpbmcgcGFja2V0cyB3aXRoIGV0aCBwYWRkaW5nCgkgIEludHJvZHVjZWQgYnkgYzRjOWZlNjBiIHBjYXBwYXJzZTogVGFrZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgYWRhcHRlcgoJICBGbHVzaCBhbnkgdHJhaWxpbmcgYnl0ZXMgYWZ0ZXIgdGhlIHBheWxvYWQgZnJvbSB0aGUgYWRhcHRlciBhcyB3ZWxsLAoJICBvdGhlcndpc2Ugd2UnbGwgcmVhZCBhIGJvZ3VzIHBhY2tldCBzaXplIGZyb20gdGhlIGFkYXB0ZXIgbmV4dCBhbmQKCSAgdGhlbiBldmVyeXRoaW5nIGdvZXMgZG93bmhpbGwgZnJvbSB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg3OQoKMjAxNS0wNy0wMiAxODo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBVbnJlZiB2aWRlbyBmcmFtZXMgYW5kIGNvZGVjIHN0YXRlIGluIGFsbCBjYXNlcwoKMjAxNS0wNy0wMiAxMDoyNjoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IGluaXRpYWxpemUgb3V0cHV0IHBhcmFtcyB0byAwIGJlZm9yZSBjYWxsaW5nIGdsIGZ1bmN0aW9ucwoJICBUaGUgY2xpZW50IHNpZGUgQVBJIG9mIHRoZSBDaHJvbWl1bSdzIEdQVSBQcm9jZXNzIGhhcyBhc3NlcnRzCgkgIGluIGRlYnVnIG1vZGUgdGhhdCBjaGVjayB0aGF0IG91dHB1dCBwYXJhbXMgYXJlIGluaXRpYWxpemVkIHRvIDAuCgoyMDE1LTA2LTI2IDE1OjM0OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IERvbid0IGxlYWsgcG9vbCBpZiBzZXRfY29uZmlnIGZhaWxlZAoKMjAxNS0wNi0yNiAxNTozMzozMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogRG9uJ3QgY2FjaGUgYnVmZmVyIHBvb2wKCSAgQ2FjaGluZyBhbmQgc2hhcmluZyB0byBtdWx0aXBsZSBlbGVtZW50IHRoZSBzYW1lIHBvb2wgcHJldmVudHMKCSAgcmVuZWdvdGlhdGlvbiBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vdCBwYXNzdGhyb3VnaC4KCjIwMTUtMDctMDIgMTQ6MTU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVW5pbml0aWFsaXppbmcgdGhlIGRlY29kZXIgY2FuJ3QgZmFpbCBhbmQgd2lsbCBhbHdheXMgcmV0dXJuIDAgPT0gY21SZXN1bHRTdWNjZXNzCgkgIC4uLiBidXQgd2hlbiB3ZSBjYXN0IGNtUmVzdWx0U3VjY2VzcyB0byBhIGdib29sZWFuIGl0IHdpbGwgYmUgRkFMU0UsIGFuZCBtYWtlCgkgIEdzdFZpZGVvRGVjb2Rlcjo6c3RvcCgpIGZhaWwgZm9yIG5vIHJlYXNvbi4KCjIwMTUtMDctMDIgMTc6MDg6MjYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVzZSBnX2NsZWFyX2Vycm9yIGluc3RlYWQgb2YgZ19lcnJvcl9mcmVlCgkgIHJlcGxhY2UgZ19lcnJvcl9mcmVlIHdpdGggZ19jbGVhcl9lcnJvciwgYXMgaXQgaW50ZXJuYWxseQoJICBjaGVja3MgaWYgZXJyb3IgdmFyaWFibGUgaXMgdmFsaWQgb3Igbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODIzCgoyMDE1LTA3LTAyIDE2OjI3OjA2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBmaXggY2hlY2sgd2hldGhlciB3ZSBtYW5hZ2VkIHRvIGFjcXVpcmUgYSBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTgyMQoKMjAxNS0wNi0zMCAxNTo1MjoxOCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSAgc3J0cGRlYzogQWRkIGNvbmZpZyBmb3IgdGhlIHJlcGxheSB3aW5kb3cgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzI5CgoyMDE1LTA2LTMwIDEzOjIwOjQzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBwYXJzaW5nIG9mICV1IGluIHNlZ21lbnQgdGVtcGxhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MTYKCjIwMTUtMDYtMjkgMjI6MTg6MzggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHJlY29nbml0aW9uIG9mICQkJCBpbiBzZWdtZW50IHRlbXBsYXRlcwoJICBmaXhlZCByZWNvZ25pdGlvbiBvZiAkJCBhZnRlciBhICQgdGhhdCBlbmRzIGFuIGlkZW50aWZpZXIsIGVnICRUaW1lJCQkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2ODIKCjIwMTUtMDYtMjkgMTg6NTA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2FsbCBpbml0aWFsaXplX2NsYXNzZXMoKSBhbHNvIHdoZW4gd2UgZ290IHRoZSBKYXZhIFZNIGZyb20gdGhlIGFwcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjY0CgoyMDE1LTA2LTI5IDE2OjEwOjM5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2w6IGFkZCBtaXNzaW5nIGJyZWFrCgkgIGdzdF9nbF92aWV3X2NvbnZlcnRfZWxlbWVudF9zZXRfcHJvcGVydHkoKSBpcyBtaXNzaW5nIGEgYnJlYWsgYXQgdGhlIGVuZAoJICBvZiB0aGUgUFJPUF9PVVRQVVRfRE9XTk1JWF9NT0RFIGNhc2UuIEFkZGluZyBpdC4KCSAgQ0lEICMxMzA4OTQ5CgoyMDE1LTA2LTI2IDE0OjEyOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IERvbid0IGxlYWsgcG9vbAoJICBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fcG9vbCBpcyB0cmFuc2ZlciBub25lLiBBbHNvIHVucmVmCgkgIGlmIHRoZXJlIHdhcyBhIGNvbmZpZ3VyYXRpb24gZXJyb3IuCgoyMDE1LTA2LTI2IDE1OjU4OjI1ICswOTAwICBTYW5na3l1IFBhcmsgPHNrMTEyMi5wYXJrQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjaGVjayBwb2ludGVyIGJlZm9yZSBkZXJlZmVyZW5jaW5nCgkgIGdzdF9wc19kZW11eF9nZXRfc3RyZWFtKCkgY291bGQgcmV0dXJuIE5VTEwgd2hlbiBpdCBpcyB1bmtub3duIHN0cmVhbSwKCSAgY2hlY2sgdGhpcyBoYXNuJ3QgaGFwcGVuZWQgYmVmb3JlIGRlcmVmZXJlbmNpbmcgdGhlIHJldHVybmVkIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MjgKCjIwMTUtMDYtMjYgMTM6MDk6NTQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIG5leHQgZnJhZ21lbnQgZHVyYXRpb24gdmFsaWRhdGlvbgoJICBCZWZvcmUgcmV0dXJuaW5nIHRoZSBuZXh0IGZyYWdtZW50IGR1cmF0aW9uIHZhbHVlLCB0aGUKCSAgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gZnVuY3Rpb24gdHJpZXMgdG8gdmFsaWRhdGUgaXQuCgkgIEJ1dCB0aGUgY29uZGl0aW9uIHdhcyBpbmNvcnJlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MzkKCjIwMTUtMDYtMjUgMjM6NDk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE1vdmUgdW5yZWYoKSBpbnRvIHRoZSByaWdodCBzY29wZQoKMjAxNS0wNi0yNSAyMzozMjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogUHJvcGVybHkgaGFuZGxlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgZm9yIHNlZWtpbmcgYW5kIG11bHRpLXBlcmlvZCBzdHJlYW1zCgkgIFNlZ21lbnQgc3RhcnQvdGltZS9wb3NpdGlvbi9iYXNlIHNob3VsZCBvbmx5IGJlIG1vZGlmaWVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0CgkgIHRpbWUgd2Ugc2VuZCBhIHNlZ21lbnQsIG90aGVyd2lzZSB3ZSB3aWxsIG92ZXJyaWRlIHZhbHVlcyBmcm9tIHRoZSBzZWVrCgkgIHNlZ21lbnQgaWYgbmV3IHN0cmVhbXMgaGF2ZSB0byBiZSBleHBvc2VkIGFzIHBhcnQgb2YgdGhlIHNlZWsuCgkgIFNlZ21lbnQgYmFzZSBzaG91bGQgYmUgY2FsY3VsYXRlZCBmcm9tIHRoZSBzZWdtZW50IHN0YXJ0IGJhc2VkIG9uIHRoZSBzdHJlYW0ncwoJICBvd24gc2VnbWVudCwgbm90IHRoZSBkZW11eGVyJ3Mgc2VnbWVudC4gQm90aCBtaWdodCBkaWZmZXIgc2xpZ2h0bHkgYmVjYXVzZSBvZgoJICB0aGUgcHJlc2VudGF0aW9uVGltZU9mZnNldC4KCSAgQWx3YXlzIGFkZCB0aGUgcHJlc2VudGF0aW9uVGltZU9mZnNldCAocmVsYXRpdmUgdG8gdGhlIHBlcmlvZCBzdGFydCwgbm90CgkgIHRpbWVzdGFtcCAwKSB0byB0aGUgc2VnbWVudCBzdGFydCBhZnRlciByZXNldHRpbmcgdGhlIHN0cmVhbSdzIHNlZ21lbnQgYmFzZWQKCSAgb24gdGhlIGRlbXV4ZXIncyBzZWdtZW50IChpLmUuIGFmdGVyIHNlZWtzIG9yIHN0cmVhbSByZXN0YXJ0KS4gQWxzbyBtYWtlIHN1cmUKCSAgdG8ga2VlcCB0aGUgc3RyZWFtJ3Mgc2VnbWVudCB1cCB0byBkYXRlIGFuZCBub3QganVzdCBzZW5kIGEgbmV3IHNlZ21lbnQgZXZlbnQKCSAgd2l0aG91dCBzdG9yaW5nIHRoZSBzZWdtZW50IGluIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDYtMjUgMjM6MjQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBTdWJ0cmFjdCB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgZnJvbSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldAoJICBXZSdyZSBpbnRlcmVzdGVkIGluIHRoZSBvZmZzZXQgYmV0d2VlbiB0aGUgcGVyaW9kIHN0YXJ0IHRpbWVzdGFtcCBhbmQgdGhlCgkgIGFjdHVhbCBtZWRpYSB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcHJvcGVybHkgY29ycmVjdCBmb3IgaXQuIFRoZSBhYnNvbHV0ZQoJICBwcmVzZW50YXRpb24gb2Zmc2V0IHRvIHRpbWVzdGFtcCAwIGlzIHVzZWxlc3MgYXMgdGhlIG9ubHkgdGhpbmcgd2UgcmVhbGx5CgkgIGNhcmUgYWJvdXQgaXMgdGhlIG9mZnNldCBiZXR3ZWVuIHRoZSBjdXJyZW50IGZyYWdtZW50IHRpbWVzdGFtcCBhbmQgdGhlCgkgIG1lZGlhIHRpbWVzdGFtcC4KCjIwMTUtMDYtMjUgMjA6MTk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBTdWJ0cmFjdCB0aGUgcGVyaW9kIHN0YXJ0IHdoZW4gc2Vla2luZyBiYXNlZCBvbiBhIHRlbXBsYXRlCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGxvb2sgZm9yIHNlZ21lbnRzIGFmdGVyIHRoZSBwZXJpb2QgdXN1YWxseS4gVGhlIHNlZWsKCSAgdGltZXN0YW1wIGlzIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlyc3QgcGVyaW9kIGFuZCB3ZSBoYXZlIHRvCgkgIHNlbGVjdCBhIHNlZ21lbnQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcGVyaW9kJ3Mgc3RhcnQuCgoyMDE1LTA2LTI1IDIwOjA5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSW5jbHVkZSB0aGUgcGVyaW9kIHN0YXJ0IGluIHRoZSBmcmFnbWVudCB0aW1lc3RhbXBzIGluIGFsbCBjYXNlcwoJICBXZSBkaWRuJ3QgZG8gdGhpcyBmb3IgZnJhZ21lbnRzIHRoYXQgYXJlIGdlbmVyYXRlZCBvbiBkZW1hbmQgZnJvbSBhIHRlbXBsYXRlLAoJICBvbmx5IGZvciB0aGUgb3RoZXIgY2FzZXMgd2hlbiB0aGV5IHdlcmUgYWxsIGdlbmVyYXRlZCB1cGZyb250LiBUaGlzIGNhdXNlZAoJICBmcmFnbWVudCB0aW1lc3RhbXBzIHRvIHN0YXJ0IGZyb20gMCBhZ2FpbiBmb3IgZWFjaCBuZXcgcGVyaW9kLgoKMjAxNS0wNi0yNSAyMzoyMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFNlZWsgb24gdGhlIG5ldyBzdHJlYW1zIGlmIHRoZSBzZWVrIGNhdXNlZCBhIHBlcmlvZCBzd2l0Y2gKCSAgU2Vla2luZyBvbiB0aGUgb2xkIHN0cmVhbXMgaXMgcG9pbnRsZXNzLCB0aGV5IGFyZSBnb2luZyB0byBiZSBmcmVlZCBvbiB0aGUKCSAgbmV4dCBvcHBvcnR1bml0eS4KCjIwMTUtMDYtMjUgMTU6MDU6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IENvcnJlY3QgY2hlY2sgZm9yIHZhbGlkIHRpbWVTaGlmdEJ1ZmZlckRlcHRoCgkgIElmIG5vdCBzZXQsIHRoZSB0aW1lU2hpZnRCdWZmZXJEZXB0aCBoYXMgYSBkZWZhdWx0IHZhbHVlIG9mIC0xLgoJICBUaGUgc3RhbmRhcmQgc2F5cyB0aGF0IHRoaXMgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGluZmluaXRlLgoJICBUaGUgZ3N0X21wZF9jbGllbnRfY2hlY2tfdGltZV9wb3NpdGlvbiBmdW5jdGlvbiBpbmNvcnJlY3RseSBjb21wYXJlcwoJICB0aW1lU2hpZnRCdWZmZXJEZXB0aCB3aXRoIDAgaW5zdGVhZCBvZiAtMSB0byBkZXRlcm1pbmUgaWYgaXQgd2FzIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUwMAoKMjAxNS0wNi0yNSAxMTowMjo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJICBkb2NzOiBkZWNvZGViaW4yIC0+IGRlY29kZWJpbgoKMjAxNS0wNC0yNyAxNTowOToxOCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBlbmFibGUgc2hhcmluZyBvZiBDTUJsb2NrQnVmZmVyIGRhdGEKCSAgSW5zdGVhZCBvZiB3cmFwcGluZyB3aXRoIEdTVF9NRU1PUllfRkxBR19OT19TSEFSRSwgd2UgbWFrZSB0aGUgR3N0TWVtb3J5CgkgIG9iamVjdCByZXRhaW4gdGhlIHVuZGVybHlpbmcgQ01CbG9ja0J1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA3MgoKMjAxNS0wNC0yNyAxNTowMjo1OSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBDTUJsb2NrQnVmZmVyIGNhbiBiZSBub24tY29udGlndW91cwoJICBDTUJsb2NrQnVmZmVyR2V0RGF0YUxlbmd0aCB3b3VsZCByZXR1cm4gdGhlIGVudGlyZSBkYXRhIGxlbmd0aCwgd2hpbGUKCSAgc2l6ZSBvZiBpbmRpdmlkdWFsIGJsb2NrcyBjYW4gYmUgc21hbGxlci4gSXRlcmF0ZSBvdmVyIHRoZSBibG9jayBidWZmZXIKCSAgYW5kIGFkZCB0aGUgaW5kaXZpZHVhbCAocG9zc2libHkgbm9uLWNvbnRpZ3VvdXMpIG1lbW9yeSBibG9ja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwNzEKCjIwMTUtMDYtMjQgMTc6MTY6NDYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQ29ycmVjdGVkIGR1cmF0aW9uIGFyZ3VtZW50IGZvciBnc3RfbXBkX2NsaWVudF9hZGRfbWVkaWFfc2VnbWVudCBjYWxsCgkgIFRoZSBsYXN0IHBhcmFtZXRlciBvZiBnc3RfbXBkX2NsaWVudF9hZGRfbWVkaWFfc2VnbWVudCBmdW5jdGlvbiBpcyBhCgkgIGR1cmF0aW9uLiBCdXQgd2hlbiBjYWxsZWQgZnJvbSBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbiwgdGhlCgkgIGxhc3QgYXJndW1lbnQgd2FzIHdyb25nbHkgc2V0IHRvIFBlcmlvZEVuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDQ5CgoyMDE1LTA2LTI0IDIxOjQyOjMyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGluY29ycmVjdCB1c2Ugb2YgcGVyaW9kIHN0YXJ0CgkgIFRoZSBwZXJpb2Qgc3RhcnQgaW5mb3JtYXRpb24sIGNhbGN1bGF0ZWQgaW4gZ3N0X21wZF9jbGllbnRfc2V0dXBfbWVkaWFfcHJlc2VudGF0aW9uCgkgIGZ1bmN0aW9uIGlzIHN0b3JlZCBpbiBzdHJlYW1fcGVyaW9kLT5zdGFydC4gVGhlIGluZm9ybWF0aW9uIHJlYWQgZnJvbQoJICB4bWwgZmlsZSBhbmQgc3RvcmVkIGluIHN0cmVhbV9wZXJpb2QtPnBlcmlvZC0+c3RhcnQgaXMgbm90IGNoYW5nZWQuCgkgIElmIHRoZSB4bWwgZmlsZSBkb2VzIG5vdCBjb250YWluIHRoZSBwZXJpb2Qgc3RhcnQgaW5mb3JtYXRpb24sCgkgIHN0cmVhbV9wZXJpb2QtPnBlcmlvZC0+c3RhcnQgd2lsbCBiZSAtMS4KCSAgVGhlIGZ1bmN0aW9uIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X2VuZF90aW1lIHdhbnRzIHRvCgkgIHVzZSBwZXJpb2Qgc3RhcnQgdGltZSwgYnV0IGluY29ycmVjdGx5IHVzZXMgc3RyZWFtX3BlcmlvZC0+cGVyaW9kLT5zdGFydAoJICAodmFsdWUgZnJvbSB4bWwgZmlsZSwgd2hpY2ggY291bGQgYmUgLTEpIGluc3RlYWQgb2Ygc3RyZWFtX3BlcmlvZC0+c3RhcnQKCSAgKGNvbXB1dGVkIHZhbHVlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNDY1CgoyMDE1LTA2LTE1IDE3OjE4OjQxICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IHJlbmFtZWQgZnVuY3Rpb25zCgkgIFJlbmFtZWQgMiB0ZXN0Y2FzZSBmdW5jdGlvbnM6CgkgIC0gZGFzaF9tcGRwYXJzZXJfcHJvZ3JhbV9pbmZvcm1hdGlvbgoJICAtIGRhc2hfbXBkcGFyc2VyX2Jhc2VfVVJMCgoyMDE1LTA2LTI1IDAwOjA0OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjUuMiA9PT0KCjIwMTUtMDYtMjQgMjM6Mzc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4yCgoyMDE1LTA2LTI0IDIzOjAxOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDYtMTUgMTc6MzA6MjYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkZWQgZXhwbGljaXQgdHlwZSBjb252ZXJzaW9ucwoJICBmbGV4ZWxpbnQgKGh0dHA6Ly93d3cuZ2ltcGVsLmNvbS9odG1sL2ZsZXguaHRtKSBzdGF0aWMgY29kZSBhbmFseXNlcgoJICBjb21wbGFpbmVkIGFib3V0IGltcGxpY2l0IGNvbnZlcnNpb25zIGZyb20gdW5zaWduZWQgdG8gc2lnbmVkLCBzbyBJIGFkZGVkCgkgIGV4cGxpY2l0IGNvbnZlcnNpb25zLgoJICBJZGVhbGx5LCB0aGUgc2l6ZSBwYXJhbWV0ZXIgb2YgZ3N0X21wZF9wYXJzZSBmdW5jdGlvbiBzaG91bGQgYmUgdW5zaWduZWQsCgkgIGJ1dCBJIGRvbid0IHdhbnQgdG8gY2hhbmdlIHRoZSBBUEkuCgoyMDE1LTA2LTE1IDE2OjU5OjMzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGNvcnJlY3RlZCByZXR1cm4gdHlwZSBmb3IgZHVyYXRpb25fdG9fbXMgZnVuY3Rpb24KCSAgVGhlIGR1cmF0aW9uX3RvX21zIGZ1bmN0aW9uIGNvbnZlcnRzIGEgdGltZSBzcGVjaWZpZWQgYnkgeWVhciwgbW9udGgsIGRheSwKCSAgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIHRvIGEgbWlsbGlzZWNvbmQgdmFsdWUuIEJlY2F1c2UgYWxsIHRoZQoJICBhcmd1bWVudHMgYXJlIHBvc2l0aXZlIG51bWJlcnMsIHRoZSByZXN1bHQgbXVzdCBhbHNvIGJlIHBvc2l0aXZlLgoJICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIHJldHVybmVkIHZhbHVlIGZyb20gYSBnaW50NjQgdG8gYSBndWludDY0IHR5cGUuCgoyMDE1LTA2LTI0IDExOjE1OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vY3MucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA2LTIzIDE4OjE5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBbHNvIHVwZGF0ZSBzZWdtZW50LmJhc2UgYW5kIHNlZ21lbnQudGltZSB3aGVuIHN3aXRjaGluZyBwZXJpb2RzCgkgIEFuZCBpbmNsdWRlIHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0IGluIHRoZSBsYXN0IGtub3duIHBvc2l0aW9uIGZvciBlYWNoCgkgIHN0cmVhbSwgYW5kIGp1c3QgYmVjYXVzZSB3ZSBjYW4gYWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBsYXRlc3Qga25vd24gcG9zaXRpb24KCSAgaW5zaWRlIHRoZSBkZW11eGVyIHNlZ21lbnQuCgoyMDE1LTA2LTIzIDE2OjQ2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgUmV2ZXJ0ICJnbC93aW5kb3cveDExOiBkb24ndCBjcmVhdGUgb3VyIG93biBYMTEgZGlzcGxheSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1Njk3YjZiODliNGIyYTE1YzQ1YmQ0N2JlOTQwYTE3ZjQ0MTJlYTExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDAzCgoyMDE1LTA2LTIzIDE0OjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgUmV2ZXJ0ICJlYWdsOiBEb24ndCBkaXNwYXRjaF9zeW5jKCkgdG8gdGhlIG1haW4gdGhyZWFkIGlmIHdlIGFyZSBvbiB0aGUgbWFpbiB0aHJlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGJmZjQ4MTAxMWNmNzRjNTk4NjliNTExMzkzZDE2OTZiNTcwZTNkNS4KCSAgSXQgd2Fzbid0IHN1cHBvc2VkIHRvIGJlIG1lcmdlZCBhbmQgYWxzbyBkb2Vzbid0IGZpeCB0aGUgcHJvYmxlbS4KCjIwMTUtMDYtMjMgMTM6MTM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFJlbWVtYmVyIHRoZSBsYXN0IHJldHVybiB2YWx1ZSBvZiBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX3VwZGF0ZV9mcmFnbWVudF9pbmZvKCkKCSAgSXQncyBnb2luZyB0byByZXR1cm4gRU9TIGlmIHRoZSBwZXJpb2QgZW5kZWQgb3Igb3RoZXJ3aXNlIHRoZXJlIGlzIGp1c3Qgbm8KCSAgbmV4dCBmcmFnbWVudCBsZWZ0LiBJZiB3ZSBkb24ndCBzdG9yZSB0aGUgbGFzdCByZXR1cm4gdmFsdWUsIGl0IHdpbGwgYWx3YXlzCgkgIHN0YXkgT0sgYW5kIGdzdF9hZGFwdGl2ZV9kZW11eF9jb21iaW5lX2Zsb3dzKCkgd2lsbCBhbHdheXMgcmV0dXJuIE9LIGluc3RlYWQKCSAgb2YgRU9TIG9uY2UgYWxsIHN0cmVhbXMgYXJlIGRvbmUuCgkgIFRoaXMgcGFydGlhbGx5IHN3aXRjaGVzIHBlcmlvZCBjaGFuZ2VzIGluIERBU0ggYnkgYXQgbGVhc3QgdHJ5aW5nIHRvIHN3aXRjaAoJICBpbnN0ZWFkIG9mIGp1c3Qgc3RvcHBpbmcuIFdoYXQgaXMgc3RpbGwgbGVmdCBpcyB0aGF0IGFmdGVyIGEgcGVyaW9kIGNoYW5nZQoJICB3aXRoIERBU0ggdGhlIHRpbWVzIGFsbCBzdGFydCBhdCAwIGFnYWluIGluc3RlYWQgb2YgY29udGludWluZy4KCjIwMTUtMDYtMjMgMTE6MDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBlYWdsOiBEb24ndCBkaXNwYXRjaF9zeW5jKCkgdG8gdGhlIG1haW4gdGhyZWFkIGlmIHdlIGFyZSBvbiB0aGUgbWFpbiB0aHJlYWQKCSAgVGhpcyB3aWxsIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMQoKMjAxNS0wNi0yMyAxMDozMTo0NCArMDIwMCAgSm9obiBMdWR3aWcgPGpvaG5AdGhlbHVkd2lncy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSAgZ2w6IEluY2x1ZGUgdGV4UGFyYW1ldGVyZiBpbiB0aGUgR0wgZnVuY3Rpb24gdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTIyOAoKMjAxNS0wNS0yOSAxNDoyNzoyNCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RlcnJvcmlnbm9yZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RlcnJvcmlnbm9yZS5oOgoJICBlcnJvci1pZ25vcmU6IE5ldyBlbGVtZW50IHRvIGNvbnZlcnQgc29tZSBHc3RGbG93UmV0dXJuIHR5cGVzIGludG8gb3RoZXJzCgkgIENhbiBiZSB1c2VkIHRvIGZpeCBtaXNiZWhhdmluZyBzaW5rcy4gSXQgd2lsbCBwYXNzIHRocm91Z2ggYWxsIGJ1ZmZlcnMKCSAgdW50aWwgaXQgZW5jb3VudGVycyBHU1RfRkxPV19FUlJPUiBvciBHU1RfRkxPV19OT1RfTkVHT1RJQVRFRCAoY29uZmlndXJhYmxlKS4KCSAgQXQgdGhhdCBwb2ludCBpdCB3aWxsIHVucmVmIHRoZSBidWZmZXJzIGFuZCByZXR1cm4gR1NUX0ZMT1dfTk9UX0xJTktFRAoJICAoY29uZmlndXJhYmxlKSAtIHVudGlsIHRoZSBuZXh0IFJFQURZX1RPX1BBVVNFRCBvciBGTFVTSF9TVE9QLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDk4CgoyMDE1LTA2LTIwIDEzOjM2OjI3ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogc2ltcGxpZmllcyBhbmQgaW1wcm92ZXMgc2lua19nZXRfY2Fwcy4KCSAgVGhlIHByb2JsZW0gaGVyZSB3YXMgdGhhdCBhZnRlciByZW1vdmluZyB0aGUgZm9ybWF0cyBhbmQKCSAgYWxsIHRoZSB0aGluZ3Mgd2UgY291bGQgY29udmVydCwgd2UgdGhlbiBpbnRlcnNlY3RlZCB0aGVzZQoJICBjYXBzIHdpdGggdGhlIHRlbXBsYXRlIGNhcHMuCgkgIEhlbmNlIGlmIGEgc3ViY2xhc3Mgb2ZmZXJlZCBwZXJtaXNzaXZlIHNpbmsgdGVtcGxhdGVzCgkgIChlZyBhbGwgdGhlIHBvc3NpYmxlIGZvcm1hdHMgdmlkZW9jb252ZXJ0IGhhbmRsZXMpLCBidXQgb25seQoJICBvbmUgb3V0cHV0IGZvcm1hdCwgdGhlbiBhdCBuZWdvdGlhdGlvbiB0aW1lIGdldGNhcHMgcmV0dXJuZWQKCSAgY2FwcyB3aXRoIHRoZSBmb3JtYXQgcmVzdHJpY3RlZCB0byB0aGF0IGZvcm1hdCwgZXZlbiB0aG91Z2gKCSAgd2UgZG8gaGFuZGxlIGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyNTUKCjIwMTUtMDYtMjIgMTU6NDc6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBQb3J0IHRvIGdfZ2V0X2N1cnJlbnRfdGltZQoJICBUaGlzIGlzIG1vcmUgcG9ydGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyMjEKCjIwMTUtMDYtMTYgMTc6MTg6NTIgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWRkIGZyYW1lIHJhdGUgcmFuZ2UgdG8gY2FwcwoJICBXaGVuIEFWRm91bmRhdGlvbiBpbmRpY2F0ZXMgYSBzdXBwb3J0ZWQgZnJhbWUgcmF0ZSByYW5nZSwgYWRkIGl0IHRvCgkgIHRoZSBjYXBzLiBUaGlzIGlzIGltcG9ydGFudCBmb3IgZGV2aWNlcyBzdWNoIGFzIHRoZSBpUGhvbmUgNiwgd2hpY2gKCSAgaW5kaWNhdGUgYSBzaW5nbGUgQVZGcmFtZVJhdGVSYW5nZSBvZiAyZnBzIC0gNjBmcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwNDgKCjIwMTUtMDYtMTUgMTc6Mzc6NDIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkZWQgcGFyc2luZyBvZiBwZXJpb2QgZWxlbWVudAoJICBJbXByb3ZlZCBkYXNoX21wZCB1bml0IHRlc3RzIGJ5IGFkZGluZyBuZXcgdGVzdHMgdGhhdCBwYXJzZSB0aGUgUGVyaW9kIGVsZW1lbnQuCgkgIENvZGUgY292ZXJhZ2UgcmVwb3J0ZWQgYnkgbGNvdiBmb3IgZGFzaC9nc3RtcGRwYXJzZXIuYyBpczoKCSAgbGluZXMuLi4uLi46IDQzLjAlICg5ODUgb2YgMjI5MCBsaW5lcykKCSAgZnVuY3Rpb25zLi46IDQ3LjUlICg2NyBvZiAxNDEgZnVuY3Rpb25zKQoKMjAxNS0wNi0yMiAxNDowNjowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGZpeCBjb25zaXN0ZW5jeSBhYm91dCBwYm8gYXZhaWxhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTY1CgoyMDE1LTA2LTE1IDE3OjM0OjQ4ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGV4dGVuZGVkIE1QRCBlbGVtZW50IHRlc3QgdG8gdGVzdCB4bWwgbmFtZXNwYWNlcwoJICBFeHRlbmRlZCB0aGUgZGFzaF9tcGRwYXJzZXJfbXBkIHRlc3RjYXNlIHRvIGFsc28gdGVzdCBwYXJzaW5nIHRoZSB4bWwKCSAgbmFtZXNwYWNlIGF0dHJpYnV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2MwoKMjAxNS0wNi0xNSAxMzo0Mzo1MyArMDIwMCAgTWVyc2FkIEplbGFjaWMgPG1lcnNhZEBheGlzLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQWRkIGJpdHJhdGUgdG8gdGhlIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk5MgoKMjAxNS0wNi0xNSAxMjo1OTo1NSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgY29tcHV0YXRpb24gb2YgcGVyaW9kJ3MgZHVyYXRpb24KCSAgQWNjb3JkaW5nIHRvIElTTy9JRUMgMjMwMDktMToyMDE0KEUpLCBjaGFwdGVyIDUuMy4yLjEKCSAgIlRoZSBQZXJpb2QgZXh0ZW5kcyB1bnRpbCB0aGUgUGVyaW9kU3RhcnQgb2YgdGhlIG5leHQgUGVyaW9kLCBvciB1bnRpbAoJICB0aGUgZW5kIG9mIHRoZSBNZWRpYSBQcmVzZW50YXRpb24gaW4gdGhlIGNhc2Ugb2YgdGhlIGxhc3QgUGVyaW9kLiIKCSAgVGhpcyBtZWFucyB0aGF0IGEgY29uZmlndXJlZCB2YWx1ZSBmb3Igb3B0aW9uYWwgYXR0cmlidXRlIHBlcmlvZCBkdXJhdGlvbgoJICBzaG91bGQgYmUgaWdub3JlZCBpZiB0aGUgbmV4dCBwZXJpb2QgY29udGFpbnMgYSBzdGFydCBhdHRyaWJ1dGUgb3IgaXQgaXMKCSAgdGhlIGxhc3QgcGVyaW9kIGFuZCB0aGUgTVBEIGNvbnRhaW5zIGEgbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA3OTcKCjIwMTUtMDYtMjIgMTM6Mjk6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSAgYmF5ZXI6IHVwZGF0ZSBPUkMgZmlsZXMKCSAgVXBkYXRlIE9SQyBmaWxlcyB3aXRoIG5ld2VzdCBPUkMgdG8gZml4IGJhY2t1cCBjb2RlIGdlbmVyYXRpb24gZXJyb3IuCgoyMDE1LTA2LTIyIDEwOjQ5OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkgIGlydHNwcGFyc2U6IHJlZmxvdyBjb2RlIHRvIGF2b2lkIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoJICBUaGlzIHNob3VsZCBob3BlZnVsbHkgYWxsb3cgZXZlbiB0aGUgbW9zdCBjaGFsbGVuZ2VkIHN0YXRpYwoJICBjb2RlIGFuYWx5emVyIHRvIGZpZ3VyZSBvdXQgdGhhdCBpdCdzIGFsbCBmaW5lLiBBbHNvIG1ha2VzCgkgIHRoZSBmbG93IGNsZWFyZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDUKCjIwMTUtMDYtMjIgMTA6NTg6MDAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIHRzbXV4OiBjb2RlIHN0eWxlIGZpeAoJICB0cml2aWFsIHBhdGNoIHRvIGFkZCBwcm9wZXIgKCB3aGlsZSBjaGVja2luZyBmb3IgaWYoR19VTkxJS0VMWSgpKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA1CgoyMDE1LTA2LTIyIDA5OjIzOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogZml4IHNtYWxsIGxlYWsgaW4gY2FwcyBxdWVyeSBoYW5kbGVyCgkgIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgY2Fwcy4KCjIwMTUtMDYtMjIgMTE6MDM6MTUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0X3NyYzogYWRkIG1pc3NpbmcgYnJlYWsgaW4gY2FwcyBxdWVyeSBoYW5kbGVyCgkgIFRoZXJlIGlzIGEgbWlzc2luZyBicmVhayBzdGF0ZW1lbnQgaW4gc3dpdGNoLAoJICB3aGljaCB3aWxsIHJlc3VsdCBpbiBleGVjdXRpbmcgZGVmYXVsdCBjYXNlIGFzIHdlbGwKCSAgcmVzdWx0aW5nIGluIHdyb25nIGJlaGF2aW9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDUKCjIwMTUtMDYtMjIgMDk6MDg6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZzFzeXMvLmdpdGlnbm9yZToKCSogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuaDoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvbXBlZzFzeXMvbXBlZzFzeXN0ZW1lbmNvZGUudmNwcm9qOgoJKiBnc3QvbXBlZzFzeXMvc3lzdGVtcy5jOgoJICBtcGVnMXN5czogcmVtb3ZlIGFuY2llbnQgcGx1Z2luIHRoYXQncyBuZXZlciBldmVuIGJlZW4gcG9ydGVkIHRvIDAuOAoKMjAxNS0wNi0yMSAxNzoxMzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGFkZCBzb21lIHBhZGRpbmcgdG8gU2NhbkhkciBzdHJ1Y3QKCSAgRm9yIGJpdHMgdGhhdCB3ZSBkb24ndCBwYXJzZSBvdXQgYXQgdGhlIG1vbWVudC4KCjIwMTUtMDYtMjEgMTc6MDM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBhZGQgbmV3IEFQSSB0byAuZGVmIGZpbGUKCjIwMTUtMDYtMjEgMTQ6NTg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggZG9jcyBmb3IgdGFibGUgcGFyc2luZyBmdW5jdGlvbnMKCjIwMTUtMDYtMjEgMTM6NTU6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGRvY3M6IGFkZCBuZXcgSlBFRyBjb2RlY3BhcnNlciBBUEkgdG8gdGhlIGRvY3MKCSAgQW5kIHNwcmlua2xlIHNvbWUgbW9yZSBTaW5jZSBtYXJrZXJzCgoyMDE1LTA2LTIxIDExOjUxOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvcGFyc2UtdnA4LmM6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogbW92ZSB2cDggcGFyc2VyIHRlc3QgdG8gY29kZWNwYXJzZXIgZXhhbXBsZSBkaXJlY3RvcnkKCjIwMTUtMDYtMjEgMTE6MjA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9wYXJzZS1qcGVnLmM6CgkgIGV4YW1wbGVzOiBhZGQgc21hbGwganBlZyBjb2RlY3BhcnNlciB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMjAgMjI6NDk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggdmFsaWRpdHkgY2hlY2tpbmcgb2YgZGF0YSBwYXJzZWQKCSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSBhbmQgZ19hc3NlcnQoKSBhcmUgbm90IGFwcHJvcHJpYXRlCgkgIGZvciBjaGVja2luZyB1bnRydXN0ZWQgZXh0ZXJuYWwgZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0yMCAxOTo1Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggdXAgQVBJCgkgIC0gYWRkIGRhdGEgcG9pbnRlciB0byBHc3RKcGVnU2VnbWVudCBhbmQgcGFzcyBzZWdtZW50CgkgIHRvIGFsbCBwYXJzaW5nIGZ1bmN0aW9ucywgcmVuYW1lIGFjY29yZGluZ2x5CgkgIC0gc2hvcnRlbiBHc3RKcGVnTWFya2VyQ29kZSBlbnVtIHR5cGUgbmFtZSB0byBHc3RKcGVnTWFya2VyCgkgIC0gbW92ZSBmdW5jdGlvbiBndGstZG9jIGJsdXJicyBpbnRvIC5jIGZpbGUKCSAgLSBhZGQgc2luY2UgbWFya2VycwoJICAtIGZsZXNoIG91dCBkb2NzIGZvciBTT0YgbWFya2VycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTE0IDExOjQxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IHR3ZWFrIEFQSSBhIGxpdHRsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTE0IDE5OjAxOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGhpZGUgZ3N0X2pwZWdfc2Nhbl9mb3JfbWFya2VyX2NvZGUoKQoJICBNYWtlIHRoaXMgZnVuY3Rpb24gcHJpdmF0ZSBmb3Igbm93LCBzaW5jZSBpdCdzIHVuY2xlYXIgd2hldGhlcgoJICBpdCdzIGFjdHVhbGx5IG5lZWRlZCBzZWVpbmcgdGhhdCBnc3RfanBlZ19wYXJzZSgpIHNjYW5zIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxMy0wOS0yNCAxNjoxMDo0NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGFuZCBvcHRpbWl6ZSBzY2FuIGZvciBuZXh0IG1hcmtlciBjb2RlLgoJICBGaXggc2NhbiBmb3IgbmV4dCBtYXJrZXIgY29kZSB3aGVuIHRoZXJlIGlzIGFuIG9kZCBudW1iZXIgb2YgZmlsbGVyCgkgICgweGZmKSBieXRlcyBiZWZvcmUgdGhlIGFjdHVhbCBtYXJrZXIgY29kZS4gQWxzbyBvcHRpbWl6ZSB0aGUgbG9vcAoJICB0byBleGVjdXRlIHdpdGggZmV3ZXIgaW5zdHJ1Y3Rpb25zICh+MTAlKS4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBTcGVjdHJhbGZhbi5tb3YuCgoyMDEzLTA5LTE4IDE1OjU2OjUyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggY2FsY3VsYXRpb24gb2Ygc2VnbWVudCBzaXplLgoJICBUaGUgc2l6ZSBvZiBhIG1hcmtlciBzZWdtZW50IGlzIGRlZmluZWQgdG8gYmUgZXhjbHVzaXZlIG9mIGFueSBpbml0aWFsCgkgIG1hcmtlciBjb2RlLiBTbywgZml4IHRoZSBzaXplIGZvciBTT0ksIEVPSSBhbmQgQVBQbiBzZWdtZW50cyBidXQgYWxzbwoJICB0aGUgc2l6ZSBvZiBhbnkgcG9zc2libGUgc2VnbWVudCB0aGF0IGlzIHVzdWFsbHkgInJlc2VydmVkIiBvciBub3QKCSAgZXhwbGljaXRseSBkZWZpbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NDQ3CgoyMDEzLTA2LTEzIDEzOjIyOjE4ICswODAwICBXaW5kIFl1YW4gPGZlbmcueXVhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggZGVmYXVsdCBIdWZmbWFuIHRhYmxlcyBnZW5lcmF0aW9uLgoJICBGaXggYnVpbGRfaHVmZm1hbl90YWJsZSgpIHRvIGNvcnJlY3RseSBmaWxsIGluIHRoZSBhc3NvY2lhdGVkIEhVRkZWQUwKCSAgZW50cmllcyB0byB0aGUgZGVmYXVsdCBIdWZmbWFuIHRhYmxlcy4KCjIwMTItMDktMTIgMTA6NDA6MDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBhZGQgSlBFRyBiaXRzdHJlYW0gcGFyc2VyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0yMCAxNjowNzo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHR5cG8gaW4gbG9nIG1lc3NhZ2UKCjIwMTUtMDYtMTUgMTY6MDk6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbGRpc3BsYXk6IGFkZCBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBJdCBhbHNvIGVtaXRzIGEgY3JlYXRlLWNvbnRleHQgc2lnbmFsIHNvIHRoYXQgYW4gYXBwbGljYXRpb24KCSAgY2FuIHByb3ZpZGUgYW4gZXh0ZXJuYWwgR3N0R0xDb250ZXh0IGJhY2tlbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDYtMTUgMTY6MzY6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogbW92ZSBkaXNwbGF5IGZyb20gcHJpdgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA2LTE4IDEwOjU1OjI4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBSZXZlcnQgImdsY29udGV4dDogYWRkIGdzdF9nbF9jb250ZXh0X3NldF9kaXNwbGF5IGhlbHBlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3MWI4MTAzY2JkMTZmZmY5Y2Y1YTY1Y2Y1MTcwODNjYjc5NGFhM2I1LgoKMjAxNS0wNi0xOCAxMDo1MjoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgUmV2ZXJ0ICJnbDogYWRkIEdzdEdMQ29udGV4dEdQVVByb2Nlc3MgYmFja2VuZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiMzc3MTEyZWUzODkxMmQzMTZlNzdiNGUyMTAyMDQxMzg5ZGMwMDUxLgoKMjAxNS0wNi0xOSAxNDozNTozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFJlbW92ZSBkdXBsaWNhdGUsIHVzZWxlc3MgbGluZSBvZiBjb2RlCgoyMDE1LTA2LTE4IDIyOjExOjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgb3BlbmdsOiBnbHN0ZXJvKiBhcmUgb25seSBidWlsdCB3aXRoIGZ1bGwgT3BlbkdMCgkgIERvbid0IHRyeSB0byByZWdpc3RlciB0aGUgZWxlbWVudHMgdW5sZXNzIHRoZXkgYXJlIGJ1aWx0LgoKMjAxNS0wNi0xOCAyMTowOToyNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHN0eWxlOiBSZW1vdmUgd2hpdGUgc3BhY2VzIGF0IHRoZSBlbmQgb2YgbGluZQoKMjAxNS0wNi0xOCAxODowOTo1NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogRml4IEdMRVMyIGNvbXBhdGliaWxpdHkKCjIwMTUtMDYtMTggMTg6MDI6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IEZpeCBicm9rZW4gdmFsaWRpdHkgY2hlY2sKCjIwMTUtMDYtMTUgMTY6MDY6NDEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNb3ZlIFBBUiBjYWxjcywgYW5kIHVzZSB0aGVtIGZvciBzdGVyZW9zY29waWMgaGFsZi1hc3BlY3QKCSAgTW92ZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGNhbGN1bGF0aW9ucyBoaWdoZXIgdXAgaW4gY2FwcwoJICBkZXRlcm1pbmF0aW9uLCBzbyB0aGUgcmVzdWx0cyBhcmUgYXZhaWxhYmxlIGZvciBhIGNhbGwgdG8KCSAgZ3N0X3ZpZGVvX211bHRpdmlld19ndWVzc19oYWxmX2FzcGVjdCgpIHdoZW4gc3RlcmVvc2NvcGljIHZpZGVvCgkgIGlzIGRldGVjdGVkLgoKMjAxNS0wNS0zMCAwMzowOToxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvLzNkdmlkZW8udmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL212aWV3d2lkZ2V0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL212aWV3d2lkZ2V0Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSAgM2R2aWRlbzogQWRkIHNpbXBsZSBndGsgZXhhbXBsZSBzdGVyZW9zY29waWMgdmlkZW8gcGxheWVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDUtMzAgMDI6Mjk6MDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4Lmg6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0Lmg6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGV4dC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IEFkZCBnbHZpZXdjb252ZXJ0LCBnbHN0ZXJlb21peCBhbmQgZ2xzdGVyZW9zcGxpdCBlbGVtZW50cwoJICBDb252ZXJzaW9uIGVsZW1lbnRzIGZvciB0cmFuc2Zvcm1pbmcgbXVsdGl2aWV3L3N0ZXJlb3Njb3BpYyB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA1LTMwIDAyOjI2OjMyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IFN1cHBvcnQgbXVsdGl2aWV3L3N0ZXJlb3Njb3BpYyB2aWRlbwoJICBTdXBwb3J0IHZpZGVvIHdpdGggbXVsdGl2aWV3IGluZm8gaW4gdGhlIGNhcHMsIHRyYW5zZm9ybQoJICBpdCB0byBtb25vIGFuYWdseXBoIGJ5IGRlZmF1bHQsIGJ1dCBhbGxvdyBmb3IgY29uZmlndXJpbmcKCSAgb3RoZXIgb3V0cHV0IG1vZGVzIGFuZCBoYW5kb2ZmIHRvIHRoZSBhcHAgdmlhCgkgIHRoZSBkcmF3IHNpZ25hbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNS0zMCAwMjoyMTo0MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsIGxpYnM6IEFkZCBnbHZpZXdjb252ZXJ0IGhlbHBlciBvYmplY3QKCSAgQWRkIEFQSSBmb3IgYSBoZWxwZXIgb2JqZWN0IHRoYXQgY2FuIGNvbnZlcnQgYmV0d2VlbiBkaWZmZXJlbnQKCSAgc3RlcmVvc2NvcGljIHZpZGVvIHJlcHJlc2VudGF0aW9ucywgYW5kIGxhdGVyIGRvIGZpbHRlcmluZwoJICBvZiBtdWx0aXBsZSB2aWV3IHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDYtMTggMTY6MjA6MjYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkZWQgd2FybmluZ3MgaW4gZ3N0X21wZF9jbGllbnRfc2V0dXBfc3RyZWFtaW5nIGZ1bmN0aW9uCgkgIEFkZGVkIHNvbWUgd2FybmluZyBtZXNzYWdlcyBpbiBnc3RfbXBkX2NsaWVudF9zZXR1cF9zdHJlYW1pbmcgdG8gaGVscAoJICBkZWJ1ZyBzaXR1YXRpb25zIHdoZW4gdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEZBTFNFLgoJICBSZW5hbWVkIGEgd3JvbmdseSBzcGVsbGVkIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTQ5CgoyMDE1LTA2LTE4IDEyOjIxOjQzICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBjb21tZW50cyBpbiBnc3RtcGRwYXJzZXIuaAoJICBDb3JyZWN0ZWQgc29tZSBjb21tZW50cyBpbiBnc3RtcGRwYXJzZXIuaCBmaWxlLgoJICBNb3ZlZCBnc3RfbXBkX2NsaWVudF9nZXRfYWRhcHRhdGlvbl9zZXRzIGZ1bmN0aW9uIHRvIGJlIGdyb3VwZWQgd2l0aAoJICBvdGhlciBmdW5jdGlvbnMgZnJvbSBBZGFwdGF0aW9uU2V0IGdyb3VwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNDkKCjIwMTUtMDYtMTggMTM6MDg6MjUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgZ2V0dGluZyByZXByZXNlbnRhdGlvbiBiYXNlZCBvbiBtYXggYmFuZHdpZHRoCgkgIFRoZSBnc3RfbXBkcGFyc2VyX2dldF9yZXBfaWR4X3dpdGhfbWF4X2JhbmR3aWR0aCBmdW5jdGlvbiBhc3N1bWVzCgkgIHJlcHJlc2VudGF0aW9ucyBhcmUgb3JkZXJlZCBieSBiYW5kd2lkdGggYW5kIGluY29ycmVjdGx5IHJldHVybnMgdGhlCgkgIGZpcnN0IG9uZSB3aGVuIHdhbnRpbmcgdGhlIG9uZSB3aXRoIG1pbmltdW0gYmFuZHdpZHRoLgoJICBDb3JyZWN0ZWQgZ3N0X21wZHBhcnNlcl9nZXRfcmVwX2lkeF93aXRoX21heF9iYW5kd2lkdGggZnVuY3Rpb24gdG8gZ2V0IHRoZQoJICBjb3JyZWN0IHJlcHJlc2VudGF0aW9uIGluIGNhc2UgbWF4X2JhbmR3aWR0aCBwYXJhbWV0ZXIgaXMgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE1MwoKMjAxNS0wNi0xOCAxNDozODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEFsbG93IHRoZSBhcHBsaWNhdGlvbiB0byBwcm92aWRlIHRoZSBKYXZhIFZNCgkgIEluIEpOSV9PbkxvYWQoKSB3ZSB3aWxsIGFscmVhZHkgZ2V0IHRoZSBKYXZhIFZNIHBhc3NlZCBhbmQgY291bGQKCSAganVzdCBkaXJlY3RseSB1c2UgdGhhdC4gZ3N0cmVhbWVyX2FuZHJvaWQtMS4wLmMgd2lsbCBub3cgcHJvdmlkZQoJICB0aGlzIHRvIHVzLgoJICBSZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBhcHBhcmVudGx5IG5vdCBhbGwgQW5kcm9pZCBzeXN0ZW0gYXJlCgkgIHByb3ZpZGluZyB0aGUgSk5JIGZ1bmN0aW9ucyB0byBnZXQgdGhlIGN1cnJlbnRseSBydW5uaW5nIEphdmEgVk1zLCBzbwoJICB3ZSB3b3VsZCBmYWlsIHRvIGdldC4gV2l0aCB0aGlzIHdlIHdpbGwgYWx3YXlzIGJlIGFibGUgdG8gZ2V0IHRoZSBKYXZhCgkgIFZNIG9uIHN1Y2ggc3lzdGVtcy4KCjIwMTUtMDYtMTggMTQ6MzE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFByZWZlciBzb2Z0d2FyZSBjb2RlY3Mgb3ZlciBoYXJkd2FyZSBjb2RlY3MgZm9yIGF1ZGlvCgkgIEhhcmR3YXJlIGNvZGVjcyBkb24ndCBtYWtlIHNlbnNlIGZvciBhdWRpbyBhbmQgYXJlIGdlbmVyYWxseSBsZXNzIHJlbGlhYmxlIG9uCgkgIEFuZHJvaWQgdGhhbiB0aGUgc29mdHdhcmUgY29kZWNzLgoKMjAxNS0wNi0xOCAxNDoyOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGYWlsaW5nIHRvIGRldGFjaCBhIHRocmVhZCBpcyBub3QgdGhhdCBtdWNoIG9mIGEgcHJvYmxlbQoJICBTb21lb25lIGVsc2UgbWlnaHQgaGF2ZSBkZXRhY2hlZCBpdCBiZWZvcmUgdXMsIHNvIG1ha2UgdGhpcyBqdXN0IG5vcm1hbCBkZWJ1ZwoJICBvdXRwdXQgaW5zdGVhZCBvZiBhIEdTVF9FUlJPUigpCgoyMDE1LTA2LTE4IDEwOjQzOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGZhaWwgaWYgSk5JX0NyZWF0ZUphdmFWTSBjYW4ndCBiZSBmb3VuZAoJICBXZSBvbmx5IG5lZWQgdGhhdCBpZiBubyBKYXZhIFZNIGlzIHJ1bm5pbmcgeWV0LCBhbmQgYWxsIHVzdWFsIGNhc2VzLAoJICBpLmUuIHdoZW4gY2FsbGluZyBHU3RyZWFtZXIgZnJvbSBhbiBhY3R1YWwgQW5kcm9pZCBhcHAsIHRoZXJlIHdpbGwgYWxyZWFkeQoJICBiZSBhIEphdmEgVk0gd2UgY2FuIGp1c3QgdXNlLgoJICBJdCBzZWVtcyBsaWtlIHNvbWUgcGhvbmVzIGNvbWUgd2l0aG91dCB0aGF0IHN5bWJvbCwgbGV0J3MgaG9wZSB0aGV5IGNvbWUKCSAgd2l0aCB0aGUgb3RoZXIgc3ltYm9sIGJ1dCBmb3Igbm93IGRvbid0IG1ha2UgYSBtaXNzaW5nIEpOSV9DcmVhdGVKYXZhVk0gZmF0YWwuCgoyMDE1LTA2LTE4IDEyOjU5OjE4ICswNzAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBnZXQgcmVuZGVyZWQgYW5kIGRyb3BwZWQgc3RhdHMgZnJvbSBRT1MgbWVzc2FnZXMKCSAgVXNlIFFPUyBtZXNzYWdlcyB0byB1cGRhdGUgcmVuZGVyZWQgYW5kIGRyb3BwZWQgZnJhbWUgc3RhdHMuIFRoaXMgaXMKCSAgdGhlIG9ubHkgYWNjdXJhdGUgbWV0aG9kLiBUaGUgb2xkIG1ldGhvZCBkaWRuJ3QgdGFrZSBtYXgtbGF0ZW5lc3MgYW5kCgkgIGxhdGVuY3kgaW50byBhY2NvdW50LgoKMjAxNS0wNi0xNyAxMDo0NDoxNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSAgbmFsdXRpbHM6IHRyaXZpYWwgcGF0Y2ggdG8gY2hlY2sgaWYKCSAgdHJpdmlhbCBwYXRjaCB0byBhZGQgcHJvcGVyICggd2hpbGUgY2hlY2tpbmcgZm9yIGlmKEdfVU5MSUtFTFkoKSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA4NwoKMjAxNS0wNi0xNiAxNzo0ODo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwMTVkMjYgdG8gZjc0YjJkZgoKMjAxNS0wNi0xNSAyMTozMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2x3aWRnZXQ6IENvbnN0J2lmeSBhbm90aGVyIGFycmF5CgoyMDE1LTA2LTE1IDIxOjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHdpZGdldDogQ2FsY3VsYXRlIHRoZSB2aWV3cG9ydCBzaXplIG91cnNlbHZlcwoJICBHZXR0aW5nIHRoZSBjdXJyZW50IHZpZXdwb3J0IGFuZCBtb2RpZnlpbmcgaXQgcmVsYXRpdmVseSB3aWxsIHByb2R1Y2UgYW4KCSAgaW50ZXJlc3RpbmcgZmVlZGJhY2sgbG9vcCBkdXJpbmcgd2lkZ2V0IHJlc2l6aW5nLiBPdmVyIGEgZmV3IGZyYW1lcyB3ZQoJICB3aWxsIGdyYWR1YWxseSBtb3ZlIHRoZSB2aWV3cG9ydCBhIGJpdCB1bnRpbCBpdCBjb252ZXJnZWQgYWdhaW4sIGFkZGluZwoJICB1bm5lY2Vzc2FyeSBhZGRpdGlvbmFsIGJvcmRlcnMgYXQgdGhlIHRvcCBhbmQgbGVmdC4KCjIwMTUtMDYtMTUgMjE6MjQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogVXNlIHRoZSBkaXNwbGF5IHdpZHRoL2hlaWdodCBmb3IgdGhlIHdpZGdldCdzIHByZWZlcnJlZCB3aWR0aC9oZWlnaHQKCjIwMTUtMDYtMTUgMjA6NDU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3Rrc2luazogQWRkIHN1cHBvcnQgZm9yIHhSR0IvQkdSeAoKMjAxNS0wNi0xNSAyMDozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IENhaXJvIGNvbG9yIGZvcm1hdHMgYXJlIGluIG5hdGl2ZSBlbmRpYW5uZXNzLCBHU3RyZWFtZXIncyBpbiBtZW1vcnkgb3JkZXIKCSAgQ0FJUk9fRk9STUFUX0FSR0IzMiBpcyBBUkdCIG9uIGJpZyBlbmRpYW4gYW5kIEJHUkEgb24gbGl0dGxlIGVuZGlhbi4KCjIwMTUtMDYtMTUgMjA6MzU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBJbXBsZW1lbnQgaWdub3JlLWFscGhhIHByb3BlcnR5IGFuZCBlbmFibGUgaXQgYnkgZGVmYXVsdAoKMjAxNS0wNi0xNSAyMDoxMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGs6IFN5bmMgcHJvcGVydGllcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSB3aWRnZXQgdXBvbiB3aWRnZXQgY3JlYXRpb24KCjIwMTUtMDYtMTUgMTA6MDg6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgcmVkdW5kYW50IG1pbl9kdHMKCSAgQWZ0ZXIgZmV3IGl0ZXJhdGlvbiwgdGhpcyB2YXJpYWJsZSBiZWNhbWUgdGhlIHNhbWUgYXMgZHRzLiBJdCdzIG5vdAoJICB0aGUgbWluIGFzIHRoZSBuYW1lIHNheXMsIGJ1dCB0aGUgZHRzIG9mIHRoZSBjdXJyZW50IGJ1ZmZlci4gU2ltcGx5CgkgIHJlbW92ZSBhbmQgcGxhY2Ugd2l0aCBkdHMuIEFsc28gbW92ZSB0aGUgZGVidWcgdHJhY2UgdG8gYWN0dWFsbHkKCSAgcHJpbnQgdGhlIHNpZ25lZCB2ZXJzaW9uIG9mIHRoZSBydW5uaW5nLXRpbWUgZHRzLgoKMjAxNS0wNi0xNSAyMjo0Mzo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBhZGQgbWlzc2luZyBoYW5kbGUtZXZlbnRzL2lnbm9yZS1hbHBoYSBwcm9wZXJ0eSB0byB0aGUgYmluCgoyMDE1LTA2LTE1IDE4OjI4OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgcGl4ZWwgYW5kIGRpc3BsYXkgYXNwZWN0IHJhdGlvIGhhbmRsaW5nCgoyMDE1LTA2LTE1IDE0OjI5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFByaW50IHNvbWUgZGVidWcgb3V0cHV0IGlmIHdlIGNoYW5nZSB0aGUgdGltZXN0YW1wIG9mZnNldAoKMjAxNS0wNi0xNSAxNDoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wNi0xNSAxNDoyMjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogTW92ZSB2YXJpYWJsZXMgaW50byB0aGUgc2NvcGUgd2hlcmUgdGhleSBhcmUgbmVlZGVkCgoyMDE1LTA2LTE1IDE0OjE5OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IHVwZGF0ZSB0aGUgdHMtb2Zmc2V0IGJlZm9yZSB1cGRhdGluZyB0aGUgYWN0dWFsIGNvbmZpZ3VyZWQgY2FwcwoKMjAxNS0wNi0xNSAxNDoxODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1lbWJlciBpZiB0aGUgbGFzdCBMQVRFTkNZIHF1ZXJ5IHJldHVybmVkIGxpdmUgb3Igbm90IGFuZCB1c2UgdGhlIGluIHRoZSBRb1MgbWVzc2FnZXMKCjIwMTUtMDYtMTUgMTI6MjA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IHF1ZXJ5IHN1cHBvcnRlZCBjb2xvciBmb3JtYXRzIGZvciBub24tdmlkZW8gY29kZWNzCgoyMDE1LTA2LTE1IDEwOjM0OjU2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYnVpbGQgZXJyb3IKCSAgYWZ0ZXIgZTAwMGE2ZjBhNDk4NGZiZTgxMTkwZGY2Y2Q0MzljNzBkYWZkZTNkNiwgdGhlcmUgaXMgYnVpbGQgZXJyb3IgaW4gYmFkIHBsdWdpbnMKCSAgdGhpcyBoYXBwZW5zIGJlY2F1c2UsIEdTVF9DTE9DS19TVElNRV9JU19WQUxJRCAoKSBpcyBiZWluZyBjaGVja2VkIGZvciBwYWRfZGF0YQoJICBidXQgaXQgZXhwZWN0cyBhIEdzdENsb2NrVGltZSBwYXJhbWV0ZXIuIENoYW5naW5nIHRoZSBjaGVjayB0byAnZHRzJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwOTYxCgoyMDE1LTA2LTE1IDE2OjQ3OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkucHJvOgoJICBnbC9leGFtcGxlczogdXBkYXRlIHF0IGV4YW1wbGVzIGZvciBhcGkgY2hhbmdlcwoKMjAxNS0wNi0xNSAxNDozNTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IHNpbGVuY2UgdW51c2VkIHZhcmlhYmxlIHdhcm5pbmdzIGZvciB1bnN1cHBvcnRlZCB3aW5zeXMnCgoyMDE1LTA2LTE1IDE0OjMzOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IGJhc2ljIHdheWxhbmQgR0wgc3VwcG9ydAoKMjAxNS0wNi0xNCAyMzoyMDozOCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB1cGRhdGUgem9yZGVyIGRvY3VtZW50YXRpb24uCgkgIEl0IGlzIG5vdCBib3VuZCBiZXR3ZWVuIDAgYW5kIDEwMDAwIGFueW1vcmUuCgoyMDE1LTA2LTE0IDIzOjEzOjU5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTm8gbmVlZCB0byBhcnRpZmljaWFsbHkgYm91bmQgdGhlIHpvcmRlci4KCSAgSXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlciBzbyB0aGUgdXBwZXIgYm91bmQgaXMgR19NQVhVSU5ULgoKMjAxNC0xMC0yOSAxNTowMzowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogYWN0dWFsbHkgcmV0dXJuIGZ1bGwgbnVtYmVyIG9mIGJpdHMgb2YgcmVzeW5jIG1hcmtlcgoJICBTd2l0Y2ggdGhlIGluY3JlbWVudCBvZiBtYXJrZXJzaXplIGZyb20gd2hlbiBpdCBpcyB1c2VkIHRvIHdoZW4gaXQgaXMKCSAgcmV0dXJuZWQgZnJvbSBjb21wdXRlX3Jlc3luY19tYXJrZXJfc2l6ZS4KCSAgVGhpcyBhbHNvIG1ha2VzIHRoZSBDSEVDS19SRU1BSU5JTkcgaW4gZ3N0X21wZWc0X3BhcnNlX3ZpZGVvX3BhY2tldF9oZWFkZXIKCSAgY2hlY2sgZm9yIHRoZSBhY3R1YWxseSByZXF1aXJlZCBudW1iZXIgb2YgYml0cyBub3cgYW5kIG5vdCBvbmUgdG9vIGZldy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NQoKMjAxNS0wNi0xMyAxNzozNjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJjb2RlY3BhcnNlcnM6IHJlbW92ZSBpZ25vcmVkIGluY3JlbWVudCBvZiByZXR1cm4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTE2Yjk1NDMxNWFiYzJmOTQzNDhlYzBiZTNlMTE2YzE5YjA4MGI1NC4KCSAgQ2xlYXJseSBzb21ldGhpbmcgZWxzZSB3YXMgaW50ZW5kZWQsIGFuZCBpdCBhbHNvIG1ha2VzCgkgIG1vcmUgc2Vuc2UgdG8gYWRkIHRoZSBleHRyYSBiaXQuIFRoZSByZXN5bmMgbWFya2VyIGlzCgkgIE4gemVybyBiaXRzIHBsdXMgYSAxIGJpdCwgYW5kIHRoZSBwYXR0ZXJuL21hc2sgbmVlZHMgdG8KCSAgYmUgcnVuIG9uIE4rMSBiaXRzIHRvby4KCSAgKEV2ZW4gYWZ0ZXIgdGhlIHJldmVyIHRoZSBjb2RlIGRvZXNuJ3QgZG8gdGhhdCBvZiBjb3Vyc2UsIHNvCgkgIGl0IHN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIGRpZmZlcmVudGx5LikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NQoKMjAxNS0wNi0xMiAxODowODo0NCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmg6CgkgIG9wZW5zbGVzOiBGaXggYnVpbGQgd2l0aCBBbmRyb2lkIEFQSSBsZXZlbCA8IDE0CgkgIEhlYWRlcnMgd2VyZSBicm9rZW4gb24gb2xkZXIgQW5kcm9pZCB2ZXJzaW9ucywgYXBwYXJlbnRseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDQ1OQoKMjAxNS0wMS0yOCAxMzowNjozOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSAgb3BlbnNsZXNzaW5rOiBBbGxvdyBzZXR0aW5nIHRoZSBzdHJlYW0gdHlwZSB2aWEgYSBwcm9wZXJ0eQoKMjAxNS0wMS0yNyAxNToyNTo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXNzcmM6IEltcGxlbWVudCByZWNvcmRpbmcgcHJlc2V0cwoJICBUaGlzIGFsbG93cyB1cyB0byBzaWduYWwgd2hhdCBraW5kIG9mIGF1ZGlvIHdlIGFyZSBleHBlY3RpbmcgdG8gcmVjb3JkLAoJICB3aGljaCBzaG91bGQgdGVsbCB0aGUgc3lzdGVtIHRvIGFwcGx5IGZpbHRlcnMgKHN1Y2ggYXMgZWNobwoJICBjYW5jZWxsYXRpb24sIG5vaXNlIHN1cHByZXNzaW9uLCBldGMuKSBpZiByZXF1aXJlZC4KCjIwMTUtMDYtMTMgMTE6NDA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFJlbW92ZSBsYXRlIGZyYW1lLWRyb3BwaW5nIHdvcmthcm91bmQgZm9yIGJhc2VzaW5rIGJ1ZwoJICBUaGlzIHdhcyBmaXhlZCBieSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjU4CgkgIGluIGJhc2VzaW5rLCBhbmQgaXMgbm90IG5lY2Vzc2FyeSB0byBkdXBsaWNhdGUgaGVyZSBhbnltb3JlLgoKMjAxNS0wNi0xMyAxODo0MzowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogaW1wbGVtZW50IHByb3BlciBkeW5hbWljIHBhZCByZW1vdmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4ODEKCjIwMTUtMDYtMTIgMjA6MTQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IERvbid0IGRvIHBvb2wgY2FjaGluZwoJICBXZSBub3cga25vdyB0aGF0IHBvb2wgY2FjaGluZyBjYW4gY2F1c2UgcmVuZWdvdGlhdGlvbiBpc3N1ZXMKCSAgd2hlbiBhbiBlbGVtZW50IGluIHRoZSBwaXBlbGluZSBjaGFuZ2UgZnJvbSBwYXNzdGhyb3VnaCB0byBub3QKCSAgcGFzc3Rocm91Z2guIEFzIGl0J3Mgbm90IG5lZWRlZCwgZG9uJ3QgY2FjaGUgZXhpc3RpbmcgcG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNDQKCjIwMTUtMDYtMTIgMTg6MDg6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgcmVmZXJlbmNlIHRvIGN2cwoKMjAxNS0wNi0xMCAxNzowNTo1MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2VnbWVudCBzdGFydCBzaG91bGQgbWF0Y2ggZmlyc3QgUFRTCgkgIFRoZSBzZWdtZW50IHNob3VsZCBzdGFydCBhdCBmaXJzdCBQVFMsIGFuZCB0aGUgdmFpcmFibGUgbmFtZSBsb3dlcl9wdHMKCSAgc3RhdGUgc28gY29ycmVjdGx5LiBUaG91Z2ggd2Ugd2hlcmUgdXNpbmcgdGhlIGZpcnN0IERUUyBpbnN0ZWFkLiBUaGlzCgkgIGNvdWxkIGxlYWQgdG8gc21hbGwgZGVzeW5jaHJvbml6YXRpb24gb2YgdmlkZW8gc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDEyOjMyOjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgdHNtdXg6IEFkZCBuZWdhdGl2ZSBEVFMgc3VwcG9ydAoJICBVc2UgdGhlIHNhdmVkIERUUywgbWFrZSBpdCBzaWduZWQgYW5kIHBhc3MgdGhhdCB0byB0aGUgc3RyZWFtIG11eGVyLiBUaGlzCgkgIHByZXNlcnZlcyB0aGUgcnVubmluZyB0aW1lIHNpZ24uIEFsbCB1c2FnZSBvZiAtMSBhcyBpbnZhbGlkIFRTIGFyZSBub3cKCSAgcmVwbGFjZWQgd2l0aCBHX01JTklOVDY0LiBOZWdhdGl2ZSB2YWx1ZXMgd2lsbCBiZSBzZWVuIGFzIHdyYXAtYXJvdW5kCgkgIHBvaW50LCBidXQgdGhlIGRlbHRhIGJldHdlZW4gUFRTIGFuZCBEVFMgd2lsbCByZW1haW4gY29ycmVjdC4gRGVtdXhlcnMKCSAgZG9uJ3QgY2FyZSBhYm91dCBhYnNvbHV0ZSB2YWx1ZXMsIHRoZXkgb25seSBjYXJlcyBhYm91dCBkZWx0YXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTI6MzE6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIHRzbXV4OiBSZW1vdmUgdW5lZWRlZCBjYXN0IGFuZCBjYXN0IG1hY3JvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTE6Mzk6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUHJvcGVybHkgZGV0ZWN0IGJhY2t3YXJkIERUUwoJICBUaGVyZSB3YXMgY29kZSB0byBkZXRlY3QgYmFja3dhcmQgZHRzLCBidXQgdGhlIG1hcmtlciBtaW5fZHRzCgkgIHdhcyBuZXZlciBzZXQuIFNldHRpbmcgaXQgZW5hYmxlIHRoaXMgZmVhdHVyZSB0aGF0IHByZXZlbnRzCgkgIHBvdGVudGlhbCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gZ2VuZXJhdGluZyBUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMiAxNjo0NDo1NSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBzZWdmYXVsdCBmb3IgbWlzc2luZyBkZWZhdWx0IG5hbWVzcGFjZQoJICBBZGRlZCBhIGNoZWNrIGZvciBhX25vZGUtPm5zIGJlZm9yZSBhY2Nlc3NpbmcgYV9ub2RlLT5ucy0+aHJlZiBpbgoJICBnc3RfbXBkcGFyc2VyX2dldF94bWxfbm9kZV9uYW1lc3BhY2UuIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSB4bWwKCSAgaXMgbWlzc2luZyB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjYKCjIwMTUtMDYtMTIgMjI6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogRG9uJ3QgcmVxdWlyZSB0aGUgc2FtZSBmcmFtZXJhdGUgaW4gdGhlIGlucHV0IGFzIHRoZSBtb2RlJ3MgZnJhbWVyYXRlCgkgIFdlIG9ubHkgcmVhbGx5IGNhcmUgYWJvdXQgdGhlIHRpbWVzdGFtcHMgZm9yIHRoZSBzaW5rLgoKMjAxNS0wNi0xMyAwMTo0MDowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJICBleGFtcGxlczogcGxheW91dDogQWRkIGJldHRlciBoZWxwIHRleHQKCSAgVGhpcyBzaG91bGQgaGVscCBwZW9wbGUgZmlndXJlIG91dCBob3cgdG8gdXNlIHRoZSBleGFtcGxlIGEgYml0IGJldHRlcgoKMjAxNS0wNi0xMyAwMTozNTo1OSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJICBleGFtcGxlczogcGxheW91dDogRGVjcmVtZW50IHRoZSBjdXJyZW50bHktcGxheWluZyBjb3VudGVyIGNvcnJlY3RseQoJICBPbmx5IGRvIHRoYXQgd2hlbiB3ZSdyZSByZW1vdmluZyBhbiBpdGVtIHRoYXQgd2FzIHBsYXlpbmcsIG90aGVyd2lzZSB3ZSdsbCBtZXNzCgkgIHRoaW5ncyB1cCB3aGlsZSB0cnlpbmcgdG8gZWRpdCB0aGUgcGxheSBxdWV1ZSAocGxheWxpc3QpLgoKMjAxNS0wMS0yOSAwMDo1NjoyNiArMDAwMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSAgcGxheW91dDogTmV3IGV4YW1wbGUgZm9yIHNlYW1sZXNzIGF1ZGlvL3ZpZGVvIHBsYXliYWNrCgkgIEFuIGV4YW1wbGUgYXBwIHRoYXQgdGFrZXMgdmlkZW8gVVJJcyBhcyBjb21tYW5kIGxpbmUgYXJndW1lbnRzIGFuZCBzd2l0Y2hlcwoJICBiZXR3ZWVuIHRoZW0gc2VhbWxlc3NseSBvbmUgYWZ0ZXIgdGhlIG90aGVyIHVzaW5nIGNvbXBvc2l0b3IgYW5kIGF1ZGlvbWl4ZXIuCgkgIEJvdGggYXVkaW8tdmlkZW8gYW5kIHZpZGVvLW9ubHkgbWVkaWEgZmlsZXMgYXJlIHZhbGlkIGlucHV0cywgYnV0IG1peGluZyBmaWxlcwoJICBvZiBib3RoIHR5cGVzIGluIGEgc2luZ2xlIGludm9jYXRpb24gaXMgY3VtYmVyc29tZSB0byBzdXBwb3J0LCBhbmQgaGVuY2UgZG9lcwoJICBub3Qgd29yay4gVGhlIGV4YW1wbGUgYXR0ZW1wdHMgdG8ga2VlcCB0aGUgYXVkaW8gc3RyZWFtIG1vdmluZyBhbG9uZyBwZXJmZWN0bHksCgkgIGFuZCBkdXBsaWNhdGVzIHZpZGVvIGZyYW1lcyB3aGVyZSBuZWNlc3NhcnkgdG8gY292ZXIgZ2FwcyBpbiB0aGUgdmlkZW8KCSAgdGltZXN0YW1wcyB1c2luZyB0aGUgJ2lnbm9yZS1lb3MnIHZpZGVvYWdncmVnYXRvciBwYWQgcHJvcGVydHkuCgkgIEVuc3VyaW5nIHNlYW1sZXNzIChhbmQgbW9zdGx5LWdsaXRjaC1mcmVlKSBzd2l0Y2hpbmcgaXMgaGFyZGVyIHRoYW4gaXQgc291bmRzLAoJICBhbmQgaGVuY2UgdGhlIGV4YW1wbGUgY29udGFpbnMgcGxlbnR5IG9mIHBhZCBwcm9iZXMgYW5kIHJ1bm5pbmcgdGltZQoJICBjYWxjdWxhdGlvbnMgdG8gbWFrZSB0aGluZ3Mgd29yay4KCSAgVGhlIEdQdHJBcnJheSBwbGF5X3F1ZXVlIGNvbnRhaW5zIGl0ZW1zIHRoYXQgYXJlIGJlaW5nIHBsYXllZCBiYWNrLCBoYXZlIGJlZW4KCSAgcHJlcGFyZWQgZm9yIHBsYXliYWNrLCBhbmQgd2lsbCBiZSBwbGF5ZWQgYmFjayBpbiB0aGUgZnV0dXJlLiBUaGUgcXVldWUgaXRzZWxmCgkgIGlzIG11dGFibGUgYmVzaWRlcyB0aGUgZmlyc3QgdHdvIGl0ZW1zIChwbGF5aW5nIGFuZCBwcmVwYXJlZCkuIFRoZSBpdGVtIHRoYXQgaGFzCgkgIGJlZW4gcHJlcGFyZWQgc2hvdWxkIG5vdCBiZSBlZGl0ZWQgb3IgcmVtb3ZlZCBzaW5jZSBpdCBoYXMgYmVlbiBwcmVwYXJlZCBpbgoJICBhZHZhbmNlIHRvIGJlIGFjdGl2YXRlZCBpbW1lZGlhdGVseSBvbiB0aGUgY3VycmVudCBpdGVtJ3MgRU9TLgoJICBUaGUgZXhhbXBsZSBhbHNvIGhhcyBzdXBwb3J0IGZvciBzd2l0Y2hpbmcgdG8gdGhlIG5leHQgaXRlbSBpbiB0aGUgcXVldWUKCSAgcHJlbWF0dXJlbHk7IHNlZSB0aGUgLS1zd2l0Y2gtYWZ0ZXIvLXMgZmxhZyB0byB0aGUgYXBwbGljYXRpb24uCgkgIE5vdGU6IHRoZSBvdXRwdXQgdmlkZW8gaXMgaGFyZC1jb2RlZCBhdCAxMjgweDcyMCwgYW5kIGlucHV0IHZpZGVvIGlzIHNjYWxlZCBhcwoJICBuZWVkZWQgdG8gZml0IHRoaXMgc2l6ZS4gU2V0IE9VVFBVVF9WSURFT19XSURUSC9IRUlHSFQgdG8gY2hhbmdlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5NDcKCjIwMTUtMDYtMDYgMjA6NDA6MTMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciB0aGUgJ2lnbm9yZS1lb3MnIGNvbXBvc2l0b3Igc2luayBwYWQgcHJvcGVydHkKCSAgV2hlbiB0aGUgJ2lnbm9yZS1lb3MnIHByb3BlcnR5IGlzIHNldCBvbiBhIHBhZCwgY29tcG9zaXRvciB3aWxsIGtlZXAgcmVzZW5kaW5nCgkgIHRoZSBsYXN0IGJ1ZmZlciBvbiB0aGUgcGFkIHRpbGwgdGhlIHBhZCBpcyB1bmxpbmtlZC4gV2UgY291bnQgdGhlIGJ1ZmZlcnMKCSAgcmVjZWl2ZWQgb24gYXBwc2luaywgYW5kIGlmIGl0J3MgbW9yZSB0aGFuIHRoZSBidWZmZXJzIHNlbnQgYnkgdmlkZW90ZXN0c3JjLCB0aGUKCSAgdGVzdCBwYXNzZXMuCgoyMDE1LTAyLTEwIDAwOjQ5OjM1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBhZGQgImlnbm9yZS1lb3MiIHByb3BlcnR5IGZvciBpbnB1dCBwYWRzCgkgIFdoZW4gc2V0LCBpdCBjYXVzZXMgdmlkZW9hZ2dyZWdhdG9yIHRvIHJlcGVhdGVkbHkgYWdncmVnYXRlIHRoZSBsYXN0IGJ1ZmZlciBvbgoJICBhbiBFT1MgcGFkIGluc3RlYWQgb2Ygc2tpcHBpbmcgaXQgYW5kIG91dHB1dHRpbmcgc2lsZW5jZS4gVGhpcyBpcyB1c2VmdWwsIGZvcgoJICBpbnN0YW5jZSwgd2hpbGUgcGxheWluZyBiYWNrIGZpbGVzIHNlYW1sZXNzIG9uZSBhZnRlciB0aGUgb3RoZXIsIHRvIGF2b2lkCgkgIHZpZGVvYWdncmVnYXRvciBldmVyIG91dHB1dHRpbmcgc2lsZW5jZSAodGhlIGNoZWNrZXJib2FyZCBwYXR0ZXJuKS4KCSAgSXQgaXMgdG8gYmUgbm90ZWQgdGhhdCBpZiBhbGwgdGhlIHBhZHMgb24gdmlkZW9hZ2dyZWdhdG9yIGhhdmUgdGhpcyBwcm9wZXJ0eSBzZXQKCSAgb24gdGhlbSwgdGhlIG1peGVyIHdpbGwgbmV2ZXIgZm9yd2FyZCBFT1MgZG93bnN0cmVhbSBmb3Igb2J2aW91cyByZWFzb25zLiBIZW5jZSwKCSAgYXQgbGVhc3Qgb25lIHBhZCB3aXRoICdpZ25vcmUtZW9zJyBzZXQgdG8gRkFMU0UgbXVzdCBzZW5kIEVPUyB0byB0aGUgbWl4ZXIKCSAgYmVmb3JlIGl0IHdpbGwgYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5NDYKCjIwMTQtMTItMTkgMTQ6NDM6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiByZXR1cm4gZWFybHkgaWYgcGFja2V0aXppbmcgc2hvcnQgc2VjdGlvbgoJICBTaG9ydCBzZWN0aW9ucyBoYXZlIDMgYnl0ZXMgb2YgY29tbW9uIGhlYWRlciwgd2hpbGUgb3RoZXIgc2VjdGlvbnMKCSAgaGF2ZSA4IGJ5dGVzIG9mIGNvbW1vbiBoZWFkZXIuIElmIHBhY2tldGl6aW5nIGNvbW1vbiBoZWFkZXIgb2Ygc2hvcnQKCSAgc2VjdGlvbiwgd2Ugc2hvdWxkIHN0b3AgYWZ0ZXIgdGhlIGZpcnN0IDMgYnl0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NTMKCjIwMTUtMDYtMTIgMTc6MTQ6MDIgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSAgZGVidWd1dGlsc2JhZDogTWlub3IgY2xlYW51cAoJICBSYW4gZ3N0LWluZGVudCBvbiBkZWJ1Z3V0aWxzYmFkLmMsIG1vdmVkIGhlYWRlcnMgdG8gbm9pbnN0IGluIE1ha2VmaWxlLmFtCgoyMDE1LTA2LTEyIDE1OjM5OjU2ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IHRyeSB0byBhY3RpdmF0ZSBhIE5VTEwgR0xDb250ZXh0CgkgIEF0IHRoYXQgcG9pbnQgaW4gdGhlIGNvZGUgbm90aGluZyBndWFyYW50ZWVzIGl0IGV4aXN0cwoKMjAxNS0wNi0xMiAyMTozMTo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdsL3Rlc3RzOiByZW1vdmUgcmVmZXJlbmNlIHRvIHVuZGVmaW5lZCBidWZmZXIgdGVzdAoKMjAxNS0wNi0xMSAxODoyNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHNlcGFyYXRlIHBibyB0cmFuc2ZlciBmcm9tIHRleHR1cmUgdHJhbnNmZXJzCgkgIFdoZW4gc3VwcG9ydGVkLCB0aGUgcG90ZW50aWFsbHkgbG9uZ2VyIHBibyB1cGxvYWQvZG93bmxvYWQgY2FuIGJlCgkgIGluaXRpYXRlZCBiZWZvcmUgdGhlIHRleHR1cmUgdXBsb2FkL2Rvd25sb2FkLCBwb3RlbnRpYWxseSBpbmNyZWFzaW5nCgkgIHRocm91Z2hwdXQuCgoyMDE1LTA2LTEwIDE2OjM2OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBpbXBsZW1lbnQgb24gdG9wIG9mIGdsYmFzZWJ1ZmZlcgoJICBQcm92aWRlcyBjb252ZW5pZW50IGFjY2VzcyB0byBQQk8gdXNhZ2UuCgkgIEN1cnJlbnRseSB0ZXh0dXJlIHVwZGF0ZXMgYXJlIGNvdXBsZWQgdGlnaHRseSB0byBkYXRhIHRyYW5zZmVycy4KCjIwMTUtMDYtMTAgMTY6MjQ6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmg6CgkgIGdsOiBuZXcgZ2xiYXNlYnVmZmVyIEdzdE1lbW9yeSBvYmplY3QKCSAgUHJvdmlkZXMgZ2VuZXJpYyBoYW5kbGluZyBvZiBHTCBidWZmZXIgb2JqZWN0cyBhY2Nlc3NpYmxlIHVzaW5nCgkgIHRoZSBHTCBiaW5kIHBvaW50cyAoR0xfQVJSQVlfQlVGRkVSLCBHTF9QSVhFTF8qX0JVRkZFUikuCgkgIEltcGxlbWVudGF0aW9uIGJhc2VkIG9mZiB0aGUgY3VycmVudCBHc3RHTE1lbW9yeS4KCjIwMTUtMDYtMTAgMTY6MjM6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2J1ZmZlcnMuaDoKCSAgZ2wvcHJvdG90eXBlczogYWRkIHNvbWUgYnVmZmVyIGZ1bmN0aW9uIHByb3RvdHlwZXMKCjIwMTUtMDYtMTIgMTU6MTc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCB2aWRlbyBhc3BlY3QtcmF0aW8gaGFuZGxpbmcKCSAgRm9yIGJvdGggdGhlIHNvZnR3YXJlIGFuZCB0aGUgR0wgc2luaydzLgoJICBEb2Vzbid0IGRlYWwgd2l0aCB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGZpZWxkIGF0IGFsbCB5ZXQuCgoyMDE1LTA2LTEyIDEzOjE0OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBvbmx5IGxpc3RlbiBvbiB0aGUgWCBEaXNwbGF5IHdoZW4gbmVlZGVkCgkgIDU2OTdiNmI4OWI0YjJhMTVjNDViZDQ3YmU5NDBhMTdmNDQxMmVhMTEgY2F1c2VzIHVzIHRvIHBvc3NpYmx5IGxpc3RlbgoJICBvbiBhIHRvb2xraXQgcHJvdmlkZWQgRGlzcGxheSBjb25uZWN0aW9uLiAgV2UgdGh1cyBjb3VsZCBlYXQgdGhlaXIKCSAgcHJlY2lvdXMgd2luc3lzIGV2ZW50cy4gIE9ubHkgbGlzdGVuIGlmIHdlIG5lZWQgdG8KCSAgKCFmb3JlaWduX2Rpc3BsYXkgb3IgdmlkZW9vdmVybGF5KS4KCjIwMTUtMDYtMTIgMTI6NDA6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGs6IGZpeCBhIGNvdXBsZSBvZiB0eXBvcwoKMjAxNS0wNi0xMiAxMjoyOTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgZ3RrZ2xzaW5rOiByZXNldCB0aGUgY29udGV4dC9kaXNwbGF5IGluIFJFQURZX1RPX05VTEwKCSAgRml4ZXMgY29udGV4dCBwcm9wYWdhdGlvbiBpbiBwaXBlbGluZXMgd2l0aCB1cHN0cmVhbSBHTCBlbGVtZW50cy4KCjIwMTUtMDYtMTEgMTc6MjU6NDkgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggZXJyb3IgY2FsY3VsYXRpbmcgbGFyZ2UgcHJlc2VudGF0aW9uVGltZU9mZnNldCB2YWx1ZXMKCSAgSWYgdGhlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgYXR0cmlidXRlIG9mIGEgREFTSCBtYW5pZmVzdCBjb250YWlucwoJICBhIHZhbHVlIHRoYXQgaXMgbGFyZ2VyIHRoYW4gMl4zMiwgZ3N0bXBkcGFyc2VyIGluY29ycmVjdGx5IGNhbGN1bGF0ZXMKCSAgdGhlIHN0cmVhbSdzIHByZXNlbnRhdGlvbiB0aW1lIG9mZnNldC4gVGhpcyBpcyBkdWUgdG8gdHdvIGJ1Z3M6CgkgIDE6IFVzaW5nIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX3Vuc2lnbmVkX2ludGVnZXIgcmF0aGVyIHRoYW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfdW5zaWduZWRfaW50ZWdlcl82NCB0byBwYXJzZSB0aGUKCSAgYXR0cmlidXRlCgkgIDI6IGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uIG11bHRpcGx5aW5nIHRoZSB2YWx1ZSBieQoJICBHU1RfU0VDT05EIGFuZCB0aGVuIGRpdmlkaW5nIGJ5IHRpbWVzY2FsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODA0CgoyMDE1LTA2LTExIDEyOjQxOjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkgIGdzdGd0azogTm8gbmVlZCB0byByZWFsaXplIHRoZSB3aWRnZXQKCSAgVGhlIHdpZGdldCBhbHJlYWR5IGRvZXMgdGhhdC4KCjIwMTUtMDYtMTEgMTI6Mzg6NTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a3NpbmsuYzoKCSAgZ3N0Z3RrOiBEb24ndCBsZWFrIHRoZSB3aWRnZXQKCSAgZ19vYmplY3RfZ2V0KCkgcmV0dXJucyBhIHJlZiwgZ3RrX2NvbnRhaW5lcl9hZGQoKSBvbmx5IHJlZl9zaW5rKCkuCgkgIFRoYXQgbWVhbiB3ZSBzdGlsbCBuZWVkIHRvIHVucmVmIGFmdGVyd2FyZC4gVGhpcyBsZWFrIHdhcyBoaWRpbmcKCSAgYSByZWZlcmVuY2UgYnVnIHByZXZpb3VzbHkgcHJlc2VudC4KCjIwMTUtMDYtMTEgMTI6MTA6MjMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBnc3RndGs6IEFsbG93IGRvaW5nIGdzdC1pbnNwZWN0LTEuMCBvbiB0aGVzZSBlbGVtZW50cwoJICBUaGlzIHBhdGNoIGFsbG93IGdvaW5nIGdzdC1pbnNwZWN0LTEuMCBvbiB0aGVzZSBlbGVtZW50cyByZW1vdmluZwoJICB1Z2x5IGNyYXNoIHRoYXQgd2FzIHByZXZpb3VzbHkgb2NjdXJyaW5nLiBUaGUgbWV0aG9kIGNvbnNpc3Qgb2YKCSAgbWFraW5nIHRoZSB3aWRnZXQgY3JlYXRpb24gYXMgbGF6eSBhcyBwb3NzaWJsZS4gVGhpcyB3YXkgd2UgZG9uJ3QKCSAgZW5kdXAgZG9pbmcgZ3RrX2luaXQoKSBiZWZvcmUgdGhlIGFwcGxpY2F0aW9uLiBXZSBhbHNvIHJlZl9zaW5rKCkKCSAgdGhlIHdpZGdldCwgc28gd2UgZG9uJ3QgY3Jhc2ggaWYgdGhlIHBhcmVudCB3aWRnZXQgaXMgZGlzY2FyZGVkLAoJICBhbmQgY2xlYW5seSBlcnJvciBvdXQgd2l0aCBHTCBpZiB0aGUgd2lkZ2V0IGhhcyBubyBwYXJlbnQgd2luZG93LAoJICBiZWNhdXNlIGNhbGxpbmcgZ3RrX3dpZGdldF9yZWFsaXplZCgpIGNhbiBvbmx5IGJlIGRvbmUgaWYgdGhlIHdpZGdldAoJICBoYXMgYmVlbiBwYXJlbnRlZCB0byBhIHdpbmRvdykuCgoyMDE1LTA1LTMwIDAyOjE1OjUxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgdmlld3MgaW4gdXBsb2FkLCBjb2xvdXIgY29udmVydCBhbmQgZG93bmxvYWQKCSAgU3VwcG9ydCBtdWx0aXBsZSBhdHRhY2hlZCB2aWV3cyBvbiBpbnB1dC9vdXRwdXQgYnVmZmVycwoJICBieSBwcm9jZXNzaW5nIGVhY2ggb25lLCBub3QganVzdCB0aGUgZmlyc3QuCgoyMDE1LTA1LTMwIDAxOjM4OjE2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogQWRkIHN1cHBvcnQgZm9yIHBhc3Npbmcgc3RlcmVvc2NvcGljL211bHRpdmlldyBpbmZvCgkgIFBhc3MgYW55IG11bHRpdmlldyBpbmZvIGZyb20gdGhlIGNvbnRhaW5lciBvciBTRUkgaW5mbyBkb3duc3RyZWFtCgoyMDE1LTA2LTExIDAxOjU3OjA4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogRG9uJ3Qgc3dpdGNoIHRvIHBhc3N0aHJvdWdoIG9uIHNldF9jYXBzKCkKCSAgV2FpdCB1bnRpbCBhdCBsZWFzdCBvbmUga2V5ZnJhbWUgaGFzIGJlZW4gcGFyc2VkIGJlZm9yZQoJICBkZWNpZGluZyB0byBzd2l0Y2ggdG8gcGFzc3Rocm91Z2ggbW9kZSwgaW4gY2FzZSB0aGUKCSAgc3RyZWFtIGNvbnRhaW5zIFNFSSBtZXNzYWdlcyB0aGF0IHN1cHBsZW1lbnQgdGhlIG91dHB1dAoJICBjYXBzIC0gZm9yIGV4YW1wbGUgYnkgcHJvdmlkaW5nIHN0ZXJlb3Njb3BpYyBpbmZvcm1hdGlvbgoKMjAxNS0wNi0xMiAwMDozMjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93L3gxMTogZG9uJ3QgY3JlYXRlIG91ciBvd24gWDExIGRpc3BsYXkKCSAgSXQncyBub3QgbmVlZGVkIGFueW1vcmUgd2l0aCBtb3N0IHdpbmRvdyBvcGVyYXRpb25zIG9jY3VyaW5nIGluIHRoZQoJICBHTCB0aHJlYWQuCgoyMDE1LTA2LTEyIDAwOjMwOjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBoYW5kbGVfZXZlbnRzKCkgbWF5IGJlIGNhbGxlZCBiZWZvcmUgdGhlIHdpbmRvdyBoYXMgYmVlbiBjcmVhdGVkCgkgIEZpeGVzIGFuIFhJTyBmYXRhbCBlcnJvcgoKMjAxNS0wNi0xMiAwMDoyOToyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSAgZ2w6IG1vdmUgYmFzZXNpbmsgcHJvcGVydGllcyBmcm9tIGdsaW1hZ2VzaW5rYmluIHRvIGdsc2lua2JpbgoKMjAxNS0wMy0yNSAxOToyNzo0MiArMDIwMCAgWWFua28gS2FuZXRpIDx5YW5ldGlAZGVjbGVyYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IFJlbW92ZSBhcmJpdHJhcnkgY29uc3RyYWludCBvbiBwcm9nLW1hcCBwcm9ncmFtIGlkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NzY1CgoyMDE1LTA2LTExIDE1OjIyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJICBnbDogVXNlIGdzdF9vYmplY3RfcmVmX3NpbmsoKSBmb3IgZ2x7ZmlsdGVyLG1peGVyLHNyY31iaW4gdG9vCgoyMDE1LTA2LTExIDE1OjE3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJICBnbHNpbmtiaW46IFVzZSBnc3Rfb2JqZWN0X3JlZl9zaW5rKCkgZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIHZpZGVvLXNpbmsgcHJvcGVydHkgb24gcGxheWJpbgoKMjAxNS0wNi0xMSAxNTowMjo0NCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IERvIG5vdCB0cnkgdG8gaW5pdGlhbGl6ZSBkaXNwbGF5IGlmIHdlIGhhdmUgbm90IGhhdmUgYSBHTENvbnRleHQgeWV0CgoyMDE1LTA2LTExIDE0OjU4OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJICBndGs6IEFkZCBtaXNzaW5nIENGTEFHUyB0byBleGFtcGxlCgoyMDE0LTEyLTE4IDE3OjAwOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9NYWtlZmlsZS5hbToKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2dzdHBsdWdpbi5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuaDoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a3NpbmsuYzoKCSAgSW1wbGVtZW50IGd0ayBzaW5rcwoJICB0d28gc2lua3MgYXJlIHByb3ZpZGVkLiAgZ3Rrc2luayB3aGljaCBpcyBhIGNhaXJvL3NvZnR3YXJlIGJhc2VkIHJlbmRlcmVyCgkgIGFuZCBndGtnbHNpbmsgd2hpY2ggdXRpbGlzZXMgdGhlIEdMIHN1cHBvcnQgaW4gZ3RrIGFuZCBnc3RyZWFtZXIuCgoyMDE1LTA2LTEwIDEwOjM2OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSAgaDI2M3BhcnNlOiBGaXggUFNDIG1hdGNoaW5nCgkgIFdlIHdlcmUgb2ZmIGJ5IG9uZSBieXRlIGluIHRoZSBtYXRjaGluZwoJICBJdCBzaG91bGQgYmUgKHVzaW5nIDI0IGJpdCBtYXRjaGluZyk6CgkgICogc3RhcnRjb2RlICA6IDAwMDAgMDAwMCAwMDAwIDAwMDAgMTAwMCAwMHh4CgkgICogbWFzayAoYmluKSA6IDExMTEgMTExMSAxMTExIDExMTEgMTExMSAxMTAwCgkgICogbWFzayAoaGV4KSA6ICAgIGYgICAgZiAgICBmICAgIGYgICAgZiAgICBjCgkgICogbWF0Y2ggICAgICA6ICAgIDAgICAgMCAgICAwICAgIDAgICAgOCAgICAwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2ODUKCjIwMTUtMDUtMTEgMTY6NDc6MjUgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYWx3YXlzIGVucXVldWUgZnJhbWVzLCBldmVuIG9uIGVycm9yCgkgIEV2ZW4gd2hlbiB3ZSBmYWlsIHRvIGVuY29kZSBmcmFtZSwgd2Ugc2hvdWxkIHN0aWxsIGVucXVldWUgaXQgc28KCSAgaXQgY291bGQgYmUgcGFzc2VkIGludG8gaGFuZGxlX2ZyYW1lICh3aXRoIG91dHB1dF9idWZmZXIgPT0gTlVMTCkuCgkgIE90aGVyd2lzZSwgd2UgcmlzayBHc3RWaWRlb0VuY29kZXIncyBxdWV1ZSBvZiBmcmFtZXMgZ3Jvd2luZyB1bmJvdW5kZWQuCgkgIE5vdGU6IFdlJ3JlIHNsaWdodGx5IGNoYW5naW5nIHRoZSByZW5lZ290aWF0aW9uIGNvZGUgdG8gYWNjb21tb2RhdGUgZm9yCgkgIGZyYW1lcyB3aXRob3V0IG91dHB1dCBidWZmZXJzLCBidXQgdGhpcyBjb21taXQgdGFrZXMgbm8gb3duZXJzaGlwIG92ZXIKCSAgdGhlIHdheSBuZWdvdGlhdGlvbiBpcyBiZWluZyBkb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjY5CgoyMDE1LTA2LTEwIDE1OjAzOjMxICswMjAwICBGYWJpbyBDZXRyaW5pIDxmY2V0cmluaUBob3RtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEF2b2lkIGZyYW1lIHJlbmRlcmluZyB3aGlsZSB0aGUgd2luZG93IGlzIGNvbXBsZXRlbHkgaGlkZGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NTYKCjIwMTUtMDYtMTAgMTE6NDI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBPRVNfdmVydGV4X2FycmF5X29iamVjdCBpcyBpbXByb3Blcmx5IGltcGxlbWVudGVkIG9uIFBvd2VyVlIgU0dYIDU0NE1QCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxODUKCjIwMTUtMDUtMTEgMTY6NDA6MDcgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZnJlZSBpbnB1dCBidWZmZXIgQVNBUAoJICBWVENvbXByZXNzaW9uU2Vzc2lvbkVuY29kZUZyYW1lIHJldGFpbnMgdGhlIENWUGl4ZWxCdWZmZXIgZHVyaW5nCgkgIGVuY29kaW5nLCBhbmQgd2lsbCByZWxlYXNlIGl0IGFzIHNvb24gYXMgaXQgY2FuIChlLmcuIGJlZm9yZSBpdCBldmVuCgkgIGNhbGxzIG91ciBjYWxsYmFjaykuIFRoaXMgbWVhbnMgd2UgY2FuIHNhZmVseSByZWxlYXNlIGlucHV0IGJ1ZmZlcgoJICBhdCB0aGlzIHBvaW50LCBwb3NzaWJseSBhbGxvd2luZyB0aGUgc3lzdGVtIHRvIHJldXNlIGl0IHNvb25lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY3MQoKMjAxNS0wNS0xMSAxNjozOToxOSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBBZGQgbWlzc2luZyBnc3RfdnRlbmNfZnJhbWVfZnJlZSgpIGluIGVycm9yIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY2OAoKMjAxNS0wNi0wOSAxNjozMzozOSArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZpeCBtZW1vcnkgbGVha3MgaXRlcmF0aW5nIG92ZXIgcGFkcwoJICBSZWJhc2VkIGZvciBsYXRlc3QgbWFzdGVyIGJ5IE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzQ4CgoyMDE1LTA2LTEwIDAwOjE2OjI3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGFkZCBhbGlnbm1lbnQ9YXUgdG8gc2luayBjYXBzCgkgIFZUIGNvbXByZXNzaW9uIGNhbGxiYWNrIGdldHMgYSBDTVNhbXBsZUJ1ZmZlciBwZXIgZnJhbWUsIHNvIHZ0ZW5jX2gyNjQKCSAgc2hvdWxkIHNldCAnYWxpZ25tZW50PWF1JyBpbiBzaW5rIGNhcHMgdG8gaW5kaWNhdGUgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYzNQoKMjAxNS0wNi0wOSAxODozMDo1NSArMDEwMCAgQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MDEKCjIwMTUtMDUtMTIgMDA6MTg6MDIgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhdmZhc3NldHNyYzogZml4IGh1Z2UgbWVtb3J5IGxlYWsKCSAgQ01TYW1wbGVCdWZmZXJzIHdlcmUgcmV0YWluZWQgLT4gaHVnZSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYzOAoKMjAxNS0wNS0xMSAxNjo0NDozMyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBubyBuZWVkIGZvciBxdWV1ZV9sZW5ndGggd2l0aCB0cnlfcG9wCgoyMDE1LTA1LTA1IDE1OjA3OjUzICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGRvbid0IGNvcHkgbWV0YSBmcm9tIGlucHV0IHRvIG91dHB1dAoJICBDb3B5aW5nIGFyYml0cmFyeSBtZXRhcyBpcyBnb2luZyB0byBjYXVzZSBwcm9ibGVtcyBhbmQgdGhpcyBzaG91bGQgcmVhbGx5IGJlCgkgIGhhbmRsZWQgYnkgdGhlIGJhc2UgY2xhc3MuIEl0IG92ZXJyaWRlcyBtb3N0IG90aGVyIHRoaW5ncyBhbHJlYWR5IGFueXdheSwKCSAgaW5jbHVkaW5nIHRpbWVzdGFtcCBhbmQgZHVyYXRpb24uIFRob3NlIGFyZSBqdXN0IHNldCBoZXJlIG5vdyBzbyB3ZSBjYW4KCSAgaW5zZXJ0IHRoZSBmcmFtZSBzb3J0ZWQgaW50byB0aGUgcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg5MjIKCjIwMTUtMDYtMDkgMTU6MzI6MzYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IGFkZCB0aGUgb2Jzb2xldGUgdG1wbCBkaXIgdG8gY3J1ZnQtZGlycwoKMjAxNS0wNi0wOSAxNDozNzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogZml4IG1pc2xlYWRpbmcgZG9jdW1lbnRhdGlvbiBjb3BpZWQgZnJvbSBhZGRlcgoKMjAxNS0wNi0wOSAxMjoxMTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJICBkYXNoOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIExJQkFERAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjE5CgoyMDE1LTA2LTA5IDExOjMwOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkOWEzMzUzIHRvIDYwMTVkMjYKCjIwMTUtMDYtMDkgMDk6MDc6NDUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBNYXAgdGhlIHBpeGVsIGRhdGEgb25jZSBwZXIgcmVuZGVyLCBub3QgKmFoZW0qIHR3aWNlIHBlciBieXRlLgoJICBUaGUgbmFpdmUgcG9ydCB0byAxLjAgZnJvbSB5ZWFycyBhZ28gd2FzIHNpbGx5LCBtYWtlIGl0IGJldHRlci4KCjIwMTUtMDYtMDggMjM6MDg6MDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzN2FmMzIgdG8gZDlhMzM1MwoKMjAxNS0wNi0wNSAxNzoyMDoyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIHRoZSBwYXJzaW5nIG9mIE1QRCBlbGVtZW50CgkgIENyZWF0ZSBhIGRhc2ggdGVzdCB0YXJnZXQgYW5kIGFkZCB1bml0IHRlc3RzIHRoYXQgY2hlY2sgdGhlIHBhcnNpbmcgb2YKCSAgYXR0cmlidXRlcyBvZiB0aGUgTVBEIGVsZW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgY2hpbGQgZWxlbWVudHM6CgkgIC0gYmFzZVVSTAoJICAtIHByb2dyYW0gaW5mb3JtYXRpb24KCSAgLSBsb2NhdGlvbgoJICAtIG1ldHJpY3MKCSAgVGhlc2UgdGVzdHMgY2hlY2sgdGhlIGNvbXBsaWFuY2Ugb2YgcGFydHMgb2YgdGhlIE1QRCBwYXJzZXIgaW4gdGhlCgkgIGRhc2hkZW11eCBlbGVtZW50IGFnYWluc3QgdGhlIERBU0ggc3BlY2lmaWNhdGlvbiBbMV0uCgkgIFsxXSBodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXR0Zi9QdWJsaWNseUF2YWlsYWJsZVN0YW5kYXJkcy9jMDY1Mjc0X0lTT19JRUNfMjMwMDktMV8yMDE0X0VsZWN0cm9uaWNfaW5zZXJ0cy56aXAKCSAgaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2l0dGYvUHVibGljbHlBdmFpbGFibGVTdGFuZGFyZHMvYzA2NTI3NF9JU09fSUVDXzIzMDA5LTFfMjAxNC56aXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDM5MAoKMjAxNS0wNS0wNiAxNDoyOTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHNpbXBsaWZ5IGFnZ3JlZ2F0ZSByZXR1cm5pbmcKCSAgUmV3b3JrIHNwZWNpYWwgaGFuZGxpbmcgd2l0aCBnb3RvL2xhYmVscyB0byBvbmx5IGhhdmUgb25lIGNhc2UKCSAgYW5kIG90aGVyd2lzZSBqdXN0IHJldHVybiBub3JtYWxseS4KCjIwMTUtMDUtMDYgMTQ6MTk6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZWZhY3RvciBjYXBzIHJlY29uZmlndXJlIHRvIGl0cyBvd24gZnVuY3Rpb24KCSAgTWFrZXMgdGhlIGFnZ3JlZ2F0aW9uIGNvZGUgc2hvcnRlciBhbmQgZWFzaWVyIHRvIHJlYWQKCjIwMTUtMDUtMDYgMTM6NTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXhpbmcgdHlwZXMgaW4gYWdncmVnYXRlIGZ1bmN0aW9uCgkgIENvcnJlY3RseSB1c2UgYm9vbGVhbiBhbmQgR3N0Rmxvd1JldHVybiB0eXBlcyBpbiB0aGUgZnVuY3Rpb24uCgoyMDE1LTA1LTA2IDEzOjA4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXNlIG1hY3JvIHRvIGFjY2VzcyBhZ2dyZWdhdG9yIHNyYyBwYWQKCSAgTWFrZXMgY29kZSBhIGJpdCBtb3JlIHJlYWRhYmxlCgoyMDE1LTA1LTA2IDEzOjA3OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBhIGNvbnZlbmllbmNlIG1hY3JvIHRvIGdldCB0aGUgc291cmNlIHBhZAoJICBFYXNpZXIgdGhhbiBjYXN0aW5nIG9yIGFjZXNzaW5nIHRoZSBwYXJlbnQgZXZlcnl3aGVyZQoKMjAxNS0wNi0wOCAxNDoxNjoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvcnJlY3QgZml4IGZvciBkZWFkIGNvZGUKCSAgUmVuYW1lIHRlbXBsYXRlIHRvIGNhcHMgdG8ga2VlcCB0aGUgb3JpZ2luYWwgaW50ZW50aW9uIG9mIHRoZSBjb2RlIGFmdGVyCgkgIGNvbW1pdCBiNGM5YWExYwoJICBDSUQgIzEzMDQ2NzQKCjIwMTUtMDYtMDggMTQ6MTQ6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBSZXZlcnQgInRzZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDYzNWFjZmVjMDQxYjFjNjY0YmMwNzcwODM5YjFhNTc2ZTM1OThiMS4KCjIwMTUtMDYtMDggMTM6Mzc6MzIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgZGVhZCBjb2RlCgkgIEFmdGVyIGNvbW1pdCBiNGM5YWExYzMwOGY4OGJmNGUxZjY5YWIwMTU2ZWQ5Zjk5ODE1ZThlIHRlbXBsYXRlIHdpbGwgYWx3YXlzIGJlCgkgIE5VTEwuIFRoZSBpZiBjb25kaXRpb25hbCB3aWxsIGFsd2F5cyBiZSBGQUxTRSwgc28gcmVtb3ZpbmcgaXQuCgkgIENJRCAjMTMwNDY3NAoKMjAxNS0wNi0wNyAyMzowNjozOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjFiYTJlNSB0byBkMzdhZjMyCgoyMDE1LTA2LTA3IDE3OjMyOjA3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNDA4NTgzIHRvIDIxYmEyZTUKCjIwMTUtMDYtMDcgMTc6MDM6MTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIHZhcmlhYmxlcyB0aGF0IHdlIGRlZmluZSBpbiB0aGUgc25pcHBldCBmcm9tIGNvbW1vbgoJICBUaGlzIGlzIHN5bmNpbmcgb3VyIE1ha2VmaWxlLmFtIHdpdGggdXBzdHJlYW0gZ3RrZG9jLgoKMjAxNS0wNi0wNyAxNzoxNjoyNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDY3Njk5MyB0byBjNDA4NTgzCgoyMDE1LTA2LTA3IDE2OjQ1OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgoyMDE1LTA2LTA3IDE2OjI4OjQzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBvbmx5IGFkZCB0aGUgbGlicyB0aGF0IHdlIGFjdHVhbGx5IGRvY3VtZW50IHJpZ2h0IG5vdwoJICBLZWVwIHRoZSBsaWJzIGluIGFscGhhYmV0aWNhbCBvcmRlciB1bmxlc3MgYSBzcGVjaWZpYyBsaW5rIG9yZGVyIGlzIHJlcXVpcmVkLgoJICBBbHNvIHJlbW92ZSB0aGUgLUwgZGlyZWN0aXZlcyBhcyB3ZSBzcGVjaWZ5IHRoZSBkaXJlY3QgcGF0aCB0byB0aGUgLmxhIGZpbGVzLgoKMjAxNS0wNi0wNyAxNjoyODoyMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZG9jczogcmVtb3ZlIGR1cGxpY2F0ZWQgZW50cnkgZnJvbSB0eXBlcyBmaWxlCgoyMDE1LTA2LTA3IDE1OjU5OjU5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB6YmFyOiBzcGxpdCB0ZXN0CgkgIExldHMgbm90IGNyYW0gZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHRlc3QgLSB0aGlzIHdvdWxkIHJlbmRlciB0aGUgdGVzdCBuYW1lCgkgIHVzZWxlc3MgZm9yIHF1aWNrIGRpYWdub3Npcy4gSGF2aW5nIHNlcGFyYXRlIHRlc3RzIGZvciB0aGUgb3B0aW9uYWwgZmVhdHVyZSBpcwoJICBhbHNvIHZlcmlmeWluZyB0aGUgYmVoYXZpb3VyIHdoZW4gdGhlIGZlYXR1cmUgaXMgb2ZmLgoKPT09IHJlbGVhc2UgMS41LjEgPT09CgoyMDE1LTA2LTA3IDEwOjU1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjEKCjIwMTUtMDYtMDcgMDk6MzY6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDUtMzAgMjE6MzU6MzYgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCB3cm9uZyBnc3QtbGF1bmNoIGNvbW1hbmQgaW4gdGhlIGRlc2NyaXB0aW9uCgkgIEZpeCB3cm9uZyBnc3QtbGF1Y2ggY29tbWFuZCBpbiB0aGUgZGVzY3JpcHRpb24uCgkgIFRoaXMgcGF0Y2ggbWF5IGhlbHAgcGVvcGxlIHRvIGdldCByaWdodCB0ZXN0aW5nIHJlc3VsdHMgdXNpbmcgdGhlIHNjcmlwdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDE0MwoKMjAxNS0wNi0wNSAxNDo0OToxOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiByZW1vdmUgaWdub3JlZCBhc3NpZ25tZW50cwoJICBSZW1vdmUgYXNzaWdubWVudHMgdG8gREZCUmVzdWx0IHJlcyB0aGF0IGFyZSBuZXZlciByZWFkLgoKMjAxNS0wNi0wNSAxNDozNDo1NSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBpZ25vcmVkIGFzc2lnbm1lbnQKCSAgRnVuY3Rpb24gZ29lcyB0byBkb25lIGJlZm9yZSB0aGUgdmFsdWUgc2V0IGluIHN0YXJ0X29mZnNldCBpcyBldmVyIHVzZWQuCgoyMDE1LTA2LTA1IDA5OjM1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSAgRml4IGEgY29tbW9uIHR5cG86IHJldHJlaXZlIC0+IHJldHJpZXZlCgkgIFNlZW1zIHRvIGhhdmUgYmVlbiBjb3B5IHBhc3RlZCBhcm91bmQgYSBmZXcgcGxhY2VzCgoyMDE1LTA2LTA1IDA5OjIyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkcm9wIFRPRE8gdGhhdCBkb2Vzbid0IG5lZWQgYSBzb2x1dGlvbgoJICBDb25uZWN0aW9uIHNwZWVkIGlzIG9ubHkgY2hlY2tlZCBhdCB0aGF0IHBvaW50IGluIGhsc2RlbXV4IHNvIHRoZXJlCgkgIGlzIG5vIHJlYWwgbmVlZCB0byByZWZhY3RvciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyOAoKMjAxNS0wNi0wNSAwOToxNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSAgUmV2ZXJ0ICJobHNkZW11eDogU2ltcGxpZnkgbG9naWMgaW4gcHJvY2Vzc19tYW5pZmVzdCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0Y2EzYTIyYjZiMzNhZDhiZTQzODMwNjNlNzZmNzljNGQzNDY1MzVkLgoJICBUaGUgY29ubmVjdGlvbi1zcGVlZD0wIGlzIHVzZWQgYXMgYSBzcGVjaWFsIHZhbHVlIGluIHRoZSBwcm9wZXJ0eQoJICBvZiBobHNkZW11eCB0byBtZWFuICdhdXRvbWF0aWMnIHNlbGVjdGlvbiwgbTN1OC5jIGRvZXNuJ3QgbmVlZAoJICB0byBrbm93IGFib3V0IHRoYXQgYXMgaXQgc2hvdWxkIGJlIGFzIHNpbXBsZSBhcyBwb3NzaWJsZS4KCSAgU28gdGhpcyBwYXRjaCBoaWRlcyB0aGlzIGF1dG9tYXRpYyBzZWxlY3Rpb24gZG9jdW1lbnRlZCBpbiBobHNkZW11eAoJICBpbnRvIG0zdTggbG9naWMgYW5kIEkgdGhpbmsgdGhlIGdldHMgaGFyZGVyIHRvIHVuZGVyc3RhbmQgdGhlIGNvZGUuCgkgIEl0IGFsc28gbWFrZXMgdGhlIGhsc2RlbXV4IHVuaXQgdGVzdHMgd29yayBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI4CgoyMDE1LTA2LTA1IDE0OjMwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRml4IGludmVydGVkIGxvZ2ljIGludHJvZHVjZWQgaW4gbGFzdCBjb21taXQKCjIwMTUtMDYtMDUgMDg6NTg6MDMgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkgIHNpbXBsZXZpZGVvbWFya2RldGVjdDogZml4IGRldGVjdCBvZiB2aWRlb21hcmsgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUgdmlkZW8KCSAgSW4gY2FzZSBvZiB0aGUgdmlkZW9tYXJrIGJlaW5nIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlLAoJICBhbiBlcnJvciB3YXMgYmVpbiB0aHJvd24gc2F5aW5nLCBtYXJrIHdpZHRoIGlzIG1vcmUgdGhhbiB2aWRlbyB3aWR0aC4KCSAgQW5kIHdoZW4gdGhlIHdpZHRoLCBvZmZzZXQgcHJvcGVydGllcyBhcmUgc2V0IHRvIG1heGltdW0gaXQgcmVzdWx0ZWQgaW4gY3Jhc2guCgkgIEluc3RlYWQgb2YgdGhyb3dpbmcgZXJyb3IsIGFkZGVkIGxvZ2ljIHRvIGRldGVjdCB0aGUgbWFyawoJICBpbiBjYXNlIG9mIHBhcnRpYWwgdmlzaWJpbGl0eSBvciBkb250IHNob3cgdGhlIG1hcmsgd2hlbiBpdCBpcyBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA4CgoyMDE1LTA2LTA1IDE0OjEwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2Ygc2VnbWVudHMgd2UgaGF2ZSB3aGVuIGEgc2VnbWVudCB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIGEgbGlzdCBpcyB1c2VkCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBqdXN0IGNvbnRpbnVlIGRvd25sb2FkaW5nIG5ldyBmaWxlcyBmb3JldmVyIHVudGlsIHdlIGdldAoJICA0MDQgZm9yIHRoZSBmaXJzdCBvbmUsIGFuZCB0aGVuIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdvaW5nIEVPUy4KCjIwMTUtMDYtMDUgMDg6NTM6MzAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkgIHNpbXBsZXZpZGVvbWFyazogQWRkIEVycm9yIGxvZ3MKCSAgV2hlbiB0aGUgcGF0dGVybiBvZmZzZXQgaXMgb3V0c2lkZSB0aGUgdmlkZW8sIHRoZSBwcmludCBlcnJvciBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDgKCjIwMTUtMDYtMDUgMTM6Mjg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJtcGRwYXJzZXI6IERvbid0IGNvbnNpZGVyIHN0cmVhbXMgd2l0aCBhIGtub3duIG1lZGlhIHByZXNlbnRhdGlvbiBkdXJhdGlvbiBhcyBsaXZlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDM3MDExZTUxOTgzMGUwNzg2ZmE2ZTMwN2VkMjYwMDNhMmE4Nzc0ZjEuCgkgIFRoaXMgY2hhbmdlIHdhcyBhY3R1YWxseSBjb21wbGV0ZWx5IHVubmVjZXNzYXJ5LCB0aGUgc3RyZWFtcyBpbiBxdWVzdGlvbiBhcmUKCSAgbWFya2VkIGFzIHN0YXRpYyBhbmQgYXJlIG5vdCBjb25zaWRlcmVkIGxpdmUgYW55d2F5LgoKMjAxNS0wNi0wNSAxMzoyMTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IERvbid0IGNvbnNpZGVyIHN0cmVhbXMgd2l0aCBhIGtub3duIG1lZGlhIHByZXNlbnRhdGlvbiBkdXJhdGlvbiBhcyBsaXZlCgoyMDE1LTA2LTA1IDExOjI2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBFcnJvciBvdXQgaWYgZG93bmxvYWRpbmcgYSBzZWdtZW50IGZhaWxlZCB0b28gb2Z0ZW4gaW4gbGl2ZSBtb2RlCgkgIEl0J3MgdHJ1ZSB0aGF0IHdlIHNob3VsZG4ndCBjb25zaWRlciBlcnJvcnMgZmF0YWwgaW1tZWRpYXRlbHksIGJ1dCBpZiB3ZQoJICBhbHdheXMgaWdub3JlIHRoZW0gd2Ugd2lsbCBsb29wIGluZmluaXRlbHkgb24gbGl2ZSBzdHJlYW1zIHdpdGggc2VnbWVudHMKCSAgdGhhdCBjYW4ndCBiZSBkb3dubG9hZGVkIGF0IGFsbC4KCjIwMTUtMDYtMDMgMTI6MTc6MTkgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IEFsbG93IGdldHRpbmcgc3NyYyBvZiBtb3JlIHBhY2thZ2UgdHlwZXMgdGhhbiBSUiBhbmQgU1IKCSAgVGhpcyBhbGxvd3MgZGVjcnlwdGluZyByZWR1Y2Ugc2l6ZSBwYWNrYWdlcy4gU2VlIFJGQyA1NTA2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMjYKCjIwMTUtMDYtMDQgMTM6MzY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlZmFjdG9yIHBhZCBjcmVhdGlvbgoJICBBdm9pZCByZXBlYXRpbmcgdGhlIHNhbWUgcGFkIGNyZWF0aW9uIGNvZGUgZXZlcnl3aGVyZQoKMjAxNS0wNi0wNCAxNTo1Nzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IERvbid0IGNyYXNoIGluIGRlYnVnIG91dHB1dCBpZiBzdHJlYW0tPnNlZ21lbnRzIGlzIE5VTEwKCjIwMTUtMDYtMDQgMTM6MzE6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBmaXggbG9naWMgYW5kIHRpbWVzdGFtcCBub24tbXV4ZWQgc3RyZWFtcyBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzgxCgoyMDE1LTA2LTA0IDEyOjUzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYmRlMjY1L2dzdGxpYmRlMjY1LmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjVkZWM6IGZpeCB1cCBwbHVnaW4gbmFtZSBhbmQgZGVjb2RlciBkZXNjcmlwdGlvbgoKMjAxNS0wNi0wNCAxMzozNjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogQ2xhbXAgc2VlayB0aW1lcyB0byB0aGUgYXZhaWxhYmlsaXR5U3RhcnRUaW1lCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHNlZWsgdG8gbmVnYXRpdmUgdGltZXMsIHdoaWNoIGFyZSBpbnRlcnByZXRlZCBhcyB1bnNpZ25lZAoJICBpbnRlZ2VycyBsYXRlci4KCjIwMTUtMDYtMDQgMTM6MTM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCB3aGVuIGFkdmFuY2luZyBzZWdtZW50cwoKMjAxNS0wNi0wNCAxMjozNjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogUmVsZWFzZSB0aGUgbWFuaWZlc3QgbXV0ZXggYmVmb3JlIHdhaXRpbmcgZm9yIGEgZG93bmxvYWQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaHVydCBwYXJhbGxlbCBkb3dubG9hZHMgaW4gdGhlIGJlc3QgY2FzZSwgYW5kIG9mdGVuIGNhdXNlCgkgIGRlYWRsb2Nrcy4KCjIwMTUtMDYtMDQgMTE6NTQ6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IElmIGNoYW5uZWwvcmF0ZSBuZWdvdGlhdGlvbiBmYWlscywgZmFsbCBiYWNrIHRvIHN0ZXJlbyBhbmQgNDhrSHoKCjIwMTUtMDYtMDQgMTE6NTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBTZXQgdXAgZGVmYXVsdCBoZWFkZXIgd2l0aCA0OGtIeiBzYW1wbGUgcmF0ZSBpbnN0ZWFkIG9mIDAKCjIwMTUtMDYtMDQgMTE6NDU6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGdzdF9zdHJ1Y3R1cmVfZml4YXRlX2ZpZWxkX25lYXJlc3RfaW50KCkgb25seSB3b3JrcyBpZiB0aGUgc3RydWN0dXJlIGhhcyB0aGlzIGZpZWxkCgkgIEp1c3Qgc2V0IHRoZSByYXRlL2NoYW5uZWxzIGRpcmVjdGx5IGlmIHRoZSBjYXBzIGRvbid0IGhhdmUgdGhpcyBmaWVsZC4KCjIwMTUtMDYtMDQgMTE6MDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBVc2UgNjQgYml0IGludGVnZXIgZm9ybWF0IHN0cmluZ3Mgd2hlbiBwYXNzaW5nIGEgNjQgYml0IGludGVnZXIKCSAgT3RoZXJ3aXNlIHdlJ2xsIG9ubHkgZ2V0IGhhbGYgb2YgaXRzIGJpdHMgcHJpbnRlZCBvbiAzMiBiaXQgYXJjaGl0ZWN0dXJlcy4KCSAgRm9yIHRoaXMsIHByb21vdGUgdGhlICVkLXN0eWxlIGZvcm1hdCBzdHJpbmdzIHRvIHNvbWV0aGluZyB0aGF0IGFjY2VwdHMKCSAgNjQgYml0IGludGVnZXJzIHdpdGggR19HSU5UNjRfTU9ESUZJRVIuCgoyMDE1LTA2LTA0IDEwOjQ3OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBWYWxpZGF0ZSBmb3JtYXQgc3RyaW5ncyBiZWZvcmUgdXNpbmcgdGhlbQoJICBVc2luZyBmb3JtYXQgc3RyaW5ncyBmcm9tIGFuIHVudHJ1c3RlZCBzb3VyY2Ugd2l0aG91dCB2YWxpZGF0aW9uIGlzCgkgIGNhbGxpbmcgZm9yIHByb2JsZW1zLCBhbmQgYXQgbGVhc3QgYWxsb3dzIHRvIHJlbW90ZWx5IGNyYXNoIHlvdXIgYXBwbGljYXRpb24uCgkgIElmIG5vdCB3b3JzZS4KCjIwMTUtMDYtMDQgMDk6NDA6MTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBGaXggYnVpbGQKCjIwMTUtMDYtMDMgMjI6MjE6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGU6IGZpeCBidWlsZCBlcnJvciB3aGVuIGNvbXBpbGluZyBjb2NvYS12aWRlb292ZXJsYXkKCSAgbGlidG9vbDogZXJyb3I6IGlnbm9yaW5nIHVua25vd24gdGFnIE9CSkMKCSAgYW5kCgkgIGNsYW5nOiBlcnJvcjogYXJndW1lbnQgdW51c2VkIGR1cmluZyBjb21waWxhdGlvbjogJy1wdGhyZWFkJwoKMjAxNS0wNi0wNCAxNTowMToxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC93aW5kb3cvZGlzcG1hbng6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE1LTA2LTA0IDEyOjE2OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkgIGdsL3dpbmRvdzogdXNlIHRoZSBkZWZhdWx0IG1haW4gbG9vcCBpbXBsZW1lbnRhdGlvbiBmb3IgYWxsIGJhY2tlbmRzCgkgIGZpeGVzIGdsaW1hZ3NpbmsgYmVpbmcgdW5hYmxlIHRvIGRpc3BsYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMzcKCjIwMTUtMDYtMDMgMjE6MjI6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsd2luZG93X2NvY29hOiB1c2UgcGFyZW50IGRlZmF1bHQgaW1wbGVtZW50YXRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMzNwoKMjAxNS0wNi0wMyAyMDowMzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEFkZCB0aGUgc3RhcnROdW1iZXIgYXMgb2Zmc2V0IHRvIHRoZSBzZWdtZW50IGluZGV4IHdoZW4gdXNpbmcgYSB0ZW1wbGF0ZQoKMjAxNS0wNi0wMyAxNjo1OTo0NCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSAgZHRsc2RlYzogRml4IGNyaXRpY2FsIHdhcm5pbmcgImdvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCIKCSAgRm9yd2FyZCBzdGlja3kgZXZlbnRzIG9uIHJlcXVlc3RlZCBzcmMgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzQ4CgoyMDE1LTA2LTAzIDE1OjI1OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcmVtb3ZlIHVzZWxlc3MgdmFsdWUgYXNzaWdubWVudHMKCSAgSW4gYWxsIHRoZXNlIGNhc2VzIHJldCBpcyBzZXQgYnV0IG92ZXJ3cml0dGVuIGJlZm9yZSB0aGUgcmV0dXJuIG9mIHRoZSBmdW5jdGlvbgoKMjAxNS0wNi0wMyAxNDo0NDozMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYWJpbjItdGVzdDogcHJvdGVjdCBmcm9tIGRpdmlzaW9uIGJ5IHplcm8KCSAgSGlnaGx5IHVubGlrZWx5IHRvIGhhdmUgMCBjYXB0dXJlcywgYnV0IHByb3RlY3QgZnJvbSBjcmFzaGVzIGluIHRoZSBmdXR1cmUgYnkKCSAgZG9pbmcgbm9uZSBvZiB0aGUgbWF0aCBpZiB0aGVyZSBpcyBubyBkYXRhLgoKMjAxNS0wNi0wMiAyMDo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsb3dlciBjdXJsIHJlcXVpcmVtZW50IHRvIDcuMzUuMAoJICBCdWlsZCBhbmQgdW5pdCB0ZXN0cyB3ZXJlIHRlc3RlZCBhZ2FpbnN0IDcuMzUgdG9vIG5vdywKCSAgd2hpY2ggaXMgdGhlIHZlcnNpb24gaW4gVWJ1bnR1IDE0LjA0LgoKMjAxNS0wNi0wMiAxNjo0MDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZG8gbm90IGFjY2VzcyB2YXJpYWJsZSBhZnRlciB1bnJlZgoJICBEYXRhIG1pZ2h0IG5vdCBleGlzdCBhbnltb3JlCgoyMDE1LTA2LTAyIDE1OjQ1OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBhdWRpb2ludGVybGVhdmU6IHRlc3Qgbm90IHNldHRpbmcgcG9zaXRpb25zCgkgIERpc2FibGUgImNoYW5uZWwtcG9zaXRpb25zLWZyb20taW5wdXQiLCBidXQgd2l0aG91dCBhY3R1YWxseSBnaXZpbmcKCSAgYSBwb3NpdGlvbiB0YWJsZSwgc28gZXZlcnkgcG9zaXRpb24gc2hvdWxkIGJlIE5PTkUKCjIwMTUtMDYtMDIgMTU6NDQ6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IEZpeCBpbmRlbnRhdGlvbiBpbiBhdWRpb2ludGVybGVhdmUgdGVzdAoKMjAxNS0wNi0wMiAxMTozMTowMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBkb24ndCBpZ25vcmUgemJhcl9zY2FuX2ltYWdlKCkgZXJyb3JzCgoyMDE1LTA2LTAzIDAwOjMxOjQyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IFNldCBuZXcgc3luYyBwb2ludCB3aGVuIGNvcHlpbmcKCSAgU2V0IGEgbmV3IHN5bmMgcG9pbnQgd2hlbiBjb3B5aW5nIGluc3RlYWQgb2YKCSAgdHJhbnNmZXJyaW5nIHRoZSAobm9uLXJlZmNvdW50ZWQpIEdMIHN5bmMgb2JqZWN0CgkgIGZyb20gdGhlIHNvdXJjZSBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjc5CgoyMDE1LTA2LTAyIDIzOjU5OjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IEFkZCBzb21lIGRlYnVnIG91dHB1dAoKMjAxNS0wNi0wMiAxNjowMjozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92cDhwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBjaGVjazogVXNlIEdTVF9DSEVDS19NQUlOICgpIG1hY3JvIGV2ZXJ5d2hlcmUKCSAgTWFrZXMgc291cmNlIGNvZGUgc21hbGxlciwgYW5kIGVuc3VyZXMgd2UgZ28gdGhyb3VnaCBjb21tb24gaW5pdGlhbGl6YXRpb24KCSAgcGF0aCAobGlrZSB0aGUgb25lIHRoYXQgc2V0cyB1cCBYTUwgdW5pdCB0ZXN0IG91dHB1dCAuLi4pCgoyMDE1LTA2LTAyIDEwOjIxOjQyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJICBzaW1wbGV2aWRlb21hcms6IGZpeCBkaXNwbGF5IG9mIHZpZGVvbWFyayBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSB2aWRlbwoJICBJbiBjYXNlIG9mIHRoZSB2aWRlb21hcmsgYmVpbmcgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUsIGFuIGVycm9yIHdhcyBiZWluZwoJICB0aHJvd24gc2F5aW5nIHRoZSBtYXJrIHdpZHRoIGlzIG1vcmUgdGhhbiB2aWRlbyB3aWR0aC4gQW5kIHdoZW4gdGhlIHdpZHRoLAoJICBvZmZzZXQgcHJvcGVydGllcyBhcmUgc2V0IHRvIG1heGltdW0gaXQgcmVzdWx0ZWQgaW4gY3Jhc2guIEluc3RlYWQgb2YgdGhyb3dpbmcKCSAgYW4gZXJyb3IsIGFkZCBsb2dpYyB0byBkZXRlY3QgdGhlIG1hcmsgaW4gY2FzZSBvZiBwYXJ0aWFsIHZpc2liaWxpdHkgb3IgZG9uJ3QKCSAgc2hvdyB0aGUgbWFyayB3aGVuIGl0IGlzIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDgKCjIwMTUtMDMtMjQgMTU6MTc6MTYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBlbmFibGUgQ2hpbmVzZSBBVlMgdmlkZW8gc3RyZWFtCgkgIENoaW5lc2UgYnJvYWRjYXN0ZXIgZW5jYXBzdWxhdGUgQVZTIHZpZGVvIGNvZGVjIGludG8gTVBFRzItVFMuIFRoZXkKCSAgdXNlIHRoZSBzdHJlYW1faWQgMHg0MiB0byBpZGVudGlmeSBBVlMgdmlkZW8gc3RyZWFtcy4gSXQgc2hvdWxkIGJlIG5vdGVkCgkgIHRoYXQgdGhpcyBpZCBpcyBjdXJyZW50bHkgd2l0aGluIHRoZSBJU08gcmVzZXJ2ZWQgcmFuZ2UsIGhlbmNlIGl0J3MKCSAgdXRpbGlzYXRpb24gaXMgdW5vZmZpY2lhbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzczMQoKMjAxNS0wNi0wMiAxNzoyNDoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBwcm92aWRlIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBmb3IgR0xFUzIgZm9yIEdMX1JHQkE4CgoyMDE1LTA2LTAyIDE2OjMyOjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogY29uc29saWRhdGUgaW50ZXJuYWxfcmdiYV9mb3JtYXQgaW50byBnbG1lbW9yeQoJICBFeHBvc2Ugc29tZSB1c2VmdWwgdmFsdWUgZm9ybWF0IGNvbnZlcnNpb24gZnVuY3Rpb25zIGF2YWlsYWJsZSBpbgoJICBHc3RHTE1lbW9yeS4KCjIwMTUtMDYtMDEgMTk6NDM6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBbHdheXMgaGF2ZSAiY2hhbm5lbHMiIGJlIHRoZSBhY3R1YWwgcGFkIGNvdW50CgkgIERvbid0IGZvcmNlIGl0IGFueXdoZXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyNTIKCjIwMTUtMDYtMDEgMTk6NDI6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBVc2UgdGhlIGNoYW5uZWwgY291bnQgZnJvbSB0aGUgc2V0IGNhcHMKCSAgVGhpcyBpcyB0aGUgc2FtZSBudW1iZXIgdGhhdCB3YXMgdXNlZCB0byBhbGxvY2F0ZSB0aGUgYnVmZmVyCgoyMDE1LTA2LTAxIDE4OjUwOjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCB0aGF0IHRoZSBsYXRlbmN5IGlzIGluIG5zCgoyMDE1LTA2LTAxIDIwOjAzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBPbmx5IGxvd2VyIHJhbmtzIG9mIE9NWC5FeHlub3MuIGF1ZGlvIGNvZGVjcywgdGhlIHZpZGVvIGNvZGVjcyBhcmUgYWN0dWFsbHkgd29ya2luZwoKMjAxNS0wNi0wMSAxOTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogR2l2ZSBtYXJnaW5hbCByYW5rIHRvIGNvZGVjcyB0aGF0IHN0YXJ0IHdpdGggT01YLkV4eW5vcy4KCSAgT01YLkV4eW5vcy4gY29kZWNzIGFyZSBleGlzdGluZyBvbiBzb21lIGRldmljZXMgbGlrZSB0aGUKCSAgR2FsYXh5IFM1IG1pbmksIGFuZCBjYXVzZSByYW5kb20gY3Jhc2hlcyAob2YgdGhlIGRldmljZSwKCSAgbm90IHRoZSBhcHAhKSBhbmQgZ2VuZXJhbGx5IG1pc2JlaGF2ZS4gVGhhdCBzcGVjaWZpYyBkZXZpY2UKCSAgaGFzIG90aGVyIGNvZGVjcyB0aGF0IHdvcmsgd2l0aCBhIGRpZmZlcmVudCBuYW1lLCBidXQgbGV0J3MKCSAganVzdCBnaXZlIHRoZW0gbWFyZ2luYWwgcmFuayBpbiBjYXNlIHRoZXJlIGFyZSBkZXZpY2VzIHRoYXQKCSAgaGF2ZSBubyBvdGhlciBjb2RlY3MgYW5kIHRoZXNlIGFyZSBhY3R1YWxseSB0aGUgb25seSB3b3JraW5nCgkgIG9uZXMKCjIwMTUtMDYtMDEgMTk6MjM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEdpdmUgbG93ZXIgcmFua3MgdG8gY29kZWNzIG5vdCBzdGFydGluZyB3aXRoIE9NWC4KCSAgT24gc29tZSBkZXZpY2VzIHRoZXJlIGFyZSBjb2RlY3MgdGhhdCBkb24ndCBzdGFydCB3aXRoIE9NWC4sIHdoaWxlCgkgIHRoZXJlIGFyZSBhbHNvIHNvbWUgdGhhdCBkby4gQW5kIG9uIHNvbWUgb2YgdGhlc2UgZGV2aWNlcyB0aGUgb25lcwoJICB0aGF0IGRvbid0IHN0YXJ0IHdpdGggT01YLiBqdXN0IGNyYXNoIGR1cmluZyBpbml0aWFsaXphdGlvbiB3aGlsZQoJICB0aGUgb3RoZXJzIHdvcmsuIFRvIG1ha2UgdGhpbmdzIGV2ZW4gbW9yZSBjb21wbGljYXRlZCBvdGhlciBkZXZpY2VzCgkgIGhhdmUgY29kZWNzIHdpdGggdGhlIHNhbWUgbmFtZSB0aGF0IHdvcmsgYW5kIG5vIGFsdGVybmF0aXZlcy4KCSAgU28ganVzdCBnaXZlIGEgbG93ZXIgcmFuayB0byB0aGVzZSBub24tT01YIGNvZGVjcyBhbmQgaG9wZSB0aGF0CgkgIHRoZXJlJ3MgYW4gYWx0ZXJuYXRpdmUgd2l0aCBhIGhpZ2hlciByYW5rLgoJICBBbHNvIHN0YWdlZnJpZ2h0IGdpdmVzIGNvZGVjcyBzdGFydGluZyB3aXRoIE9NWC4gYSBoaWdoZXIgcmFuayB0b28gYW5kCgkgIGNvbnNpZGVycyBvdGhlciBjb2RlY3MgdGhhdCBkb24ndCBzdGFydCB3aXRoIE9NWC4gYXMgc29mdHdhcmUgY29kZWNzLgoKMjAxNS0wNi0wMSAxMToxMjoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogemJhcjogY2hlY2sgZm9yIGZyYW1lIGZpZWxkIG9uIGF0dGFjaC1mcmFtZT10cnVlCgkgIEFsc28gY2hlY2sgZm9yIHRoZSBzYW1wbGUgdG8gaGF2ZSBhIGJ1ZmZlciBhbmQgY2FwcwoJICBhc3NvY2lhdGVkIHdpdGggaXQuCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1NTcKCjIwMTUtMDUtMjAgMTU6MDQ6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFJlcXVpcmUgd2lkdGggYW5kIGhlaWdodCBmaWVsZCBmb3IgSDI2NAoJICBUaGlzIGRlY29kZXIgZG9lcyBub3Qgd29yayBpZiB3aWR0aCBhbmQgaGVpZ2h0IGZpZWxkIGFyZSBub3Qgc2V0CgkgIGluIHRoZSBzaW5rcGFkIGNhcHMuIExldCdzIG1ha2UgdGhpcyBleHBsaWNpdCBieSBhZGRpbmcgdGhlbSB0bwoJICB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY1NQoKMjAxNS0wNi0wMSAxNDowNzozNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuYzoKCSAgZ2xjb250ZXh0X2dwdV9wcm9jZXNzOiBjbG9zZSB0aGUgd2luZG93IHdoZW4gZG9uZQoKMjAxNS0wNi0wMSAxNDowNTo1OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5jOgoJICBnbHdpbmRvd19ncHVfcHJvY2VzczogYXZvaWQgZW1wdHkgc3RydWN0CgoyMDE1LTA2LTAxIDEyOjU4OjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogbW92ZSBtYWluIGxvb3AvY29udGV4dCBjcmVhdGlvbiBiYWNrIHRvIGluaXQvZmluYWxpemUKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDE5OQoKMjAxNS0wNi0wMSAxNDowNTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSAgZXhhbXBsZXM6IEZpeCBnbCB1c2FnZSB3aXRob3V0IHdheWxhbmQgc3VwcG9ydAoJICBOb3QgYWxsIHBsYXRmb3JtcyBoYXZlIHdheWxhbmQgc3VwcG9ydC4gSGFuZGxlIHRoYXQgZ3JhY2VmdWxseSBhdAoJICBjb21waWxlIHRpbWUKCjIwMTUtMDYtMDEgMTM6NTU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogSW5pdGlhbGl6ZSBHc3RNYXBJbmZvCgkgIEF2b2lkcyBkb2luZyBhIGNhbGwgdG8gdW5tYXAgd2l0aCBpdCB1bmluaXRpYWxpemVkCgkgIENJRCAjMTMwMjgzNAoKMjAxNS0wNi0wMSAxMjo1MTo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGNsZWFuIGRlcmVmZXJlbmNlcyBvZiBwcml2YXRlIHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA0LTI1IDIyOjU1OjI4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IGZpeCBrZXlmcmFtZSByZXF1ZXN0IHJhY2UgY29uZGl0aW9uCgkgIEl0IGlzIGluY29ycmVjdCB0byBtb2RpZnkgdGhlIGZyYW1lIHByb3BlcnRpZXMgYWZ0ZXIgcGFzc2luZyB0aGVtLCBzaW5jZQoJICBWVENvbXByZXNzaW9uU2Vzc2lvbkVuY29kZUZyYW1lIHRha2VzIHJlZmVyZW5jZSBhbmQgd2UgaGF2ZSBubyBjb250cm9sCgkgIG92ZXIgd2hlbiBpdCdzIGJlaW5nIHVzZWQuCgkgIEluIGZhY3QsIHRoZSBjb2RlIGNhbiBiZSBzaW1wbGlmaWVkLiBXZSBqdXN0IHByZWFsbG9jYXRlIHRoZSBmcmFtZQoJICBwcm9wZXJ0aWVzIGZvciBrZXlmcmFtZSByZXF1ZXN0cywgYW5kIHBhc3MgTlVMTCBvdGhlcndpc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0NjcKCjIwMTUtMDYtMDEgMTE6NTY6MTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogbWFrZSBwcml2YXRlIGFsbCB2YXJpYWJsZSBzdWJjbGFzc2VzIGRvbid0IG5lZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNS0wMSAyMzoyMDozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IGFkZCBmcmFtZSBzYW1wbGUgdG8gYmFyY29kZSBtZXNzYWdlCgkgIE5ldyBhdHRhY2gtZnJhbWUgcHJvcGVydHkgZW5hYmxlcyBiYXJjb2RlIGZyYW1lCgkgIGR1bXBpbmcgd2hlbiBzZXQgdG8gdHJ1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU1NwoKMjAxNS0wNS0zMSAyMTozMDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIGdsOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOjI0Njo0MTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnc3VyZmFjZV9saXN0ZW5lcicgWy1XZXJyb3IsLVd1bnVzZWQtY29uc3QtdmFyaWFibGVdCgkgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2xfc3VyZmFjZV9saXN0ZW5lciBzdXJmYWNlX2xpc3RlbmVyID0gewoJICBeCgoyMDE1LTA1LTI3IDIzOjM0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQ29uZGl0aW9uYWxseSB1c2UgZ2V0X3tpbnB1dCxvdXRwdXR9X2J1ZmZlcigpIEFuZHJvaWQgMjEgQVBJcwoJICBBbHNvIHByb3Blcmx5IHNldCBsaW1pdC9wb3NpdGlvbiBvbiBieXRlIGJ1ZmZlciwgc29tZSBjb2RlY3MgcHJlZmVyIHRvIGhhdmUKCSAgY29ycmVjdCB2YWx1ZXMgdGhlcmUuCgoyMDE1LTA1LTMxIDE2OjUzOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IGZpeCBjb21waWxlciBlcnJvcgoJICBnc3RnbHdpbmRvdy5jOjExMTg6NTQ0OiBlcnJvcjogJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yXQoJICBnX3JldHVybl9pZl9mYWlsIChHU1RfR0xfSVNfV0lORE9XICh3aW5kb3cpKTsKCjIwMTUtMDUtMzEgMTU6NDI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBndGsgZXhhbXBsZXMgZm9yIGdsdXBsb2FkCgoyMDE1LTA1LTMxIDE1OjQwOjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGd0ayBleGFtcGxlcyBmb3Igd2F5bGFuZAoKMjAxNS0wNS0yOSAxODowNjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2wvd2F5bGFuZDogaW1wbGVtZW50IHNldHRpbmcgdGhlIHJlbmRlciByZWN0YW5nbGUKCSAgUGxhY2VzIG91ciBzdWJzdXJmYWNlIGF0IHRoZSByZWN0YW5nbGUgcHJvdmlkZWQgcG9zaXRpb24KCjIwMTUtMDUtMjkgMTg6MDM6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogaGFuZGxlIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlCgoyMDE1LTA1LTI5IDE4OjAxOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiBkb24ndCBibG9jayB0aGUgZXZlbnQgbG9vcCBhZnRlciBwb2xsCgkgIFVzZSB0aGUgZGlzcGF0Y2hfcGVuZGluZyBzZXQgb2YgZnVuY3Rpb25zIHdoaWNoIGp1c3QgcnVuIHRoZSBjdXJyZW50bHkKCSAgcXVldWVkIHVwIGV2ZW50cyBpbnN0ZWFkIG9mIHBvdGVudGlhbGx5IHdhaXRpbmcgZm9yIGFuIGV2ZW50IHRvIG9jY3VyLgoKMjAxNS0wNS0yNyAxNjo0Mjo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmg6CgkgIHRlc3RzL2dsL2d0azogaW1wbGVtZW50IHNldHRpbmcgYSB3YXlsYW5kIGRpc3BsYXkvc3VyZmFjZQoKMjAxNS0wNS0yNyAxNjozOTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsL3dheWxhbmQ6IGltcGxlbWVudCBiYXNpYyB2aWRlbyBvdmVybGF5IHN1cHBvcnQgdmlhIHN1YnN1cmZhY2VzCgkgIEN1cnJlbnRseSBkb2VzIG5vdCBwb3NpdGlvbiB0aGUgc3Vic3VyZmFjZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IHN1cmZhY2UgYXQgYWxsCgoyMDE1LTA1LTI3IDE1OjQ0OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiBhbGxvdyBhIE5VTEwgd2xfZXZlbnRfcXVldWUKCSAgcGVyZm9ybSBvcGVyYXRpb25zIG9uIHRoZSBkZWZhdWx0IHdsX2Rpc3BsYXkgZXZlbnQgcXVldWUgaW4gdGhhdCBjYXNlCgoyMDE1LTA1LTI3IDE1OjQzOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbC91dGlsczogaW1wbGVtZW50IHdheWxhbmQgZGlzcGxheSBHc3RDb250ZXh0CgkgIHJlcXVyaWVkIGZvciBzaGFyaW5nIEdMIGNvbnRleHRzIG9yIHN1YnN1cmZhY2Ugc3VwcG9ydAoKMjAxNS0wNS0yMiAxNjowNzo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuaDoKCSAgZ2wvd2F5bGFuZDogcnVuIGVhY2ggd2luZG93IG9uIGEgc2VwYXJhdGUgcXVldWUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3NDcKCjIwMTUtMDUtMzAgMDI6MTk6MjUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBEb24ndCBsZWFrIHRlbXAgc3RyaW5ncyBpbiBfUkdCX3BpeGVsX29yZGVyKCkKCSAgRml4IGEgbWVtb3J5IGxlYWsgb2YgdGVtcG9yYXJ5IHN0cmluZ3Mgd2hlbiBjb21wdXRpbmcKCSAgc3dpenpsaW5nIG9mIFJHQiBmb3JtYXRzLgoKMjAxNS0wNS0zMCAwMjoyOTo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBBZGQgdHJhbnNmb3JtX2ludGVybmFsX2NhcHMoKSB2ZnVuYwoJICBBZGQgYSB2ZnVuYyB0aGF0IGlzIGNhbGxlZCBieSBnbGZpbHRlciBiZWZvcmUgaXQgc2V0cwoJICBjYXBzIGZlYXR1cmVzIGFuZCBpbnRlcnNlY3RzIHdpdGggdGhlIHBlZXIgY2FwcywgYW5kCgkgIG1vdmUgcmVtb3ZpbmcgdGhlIHNpemUgZnJvbSBjYXBzIGludG8gaXRzIGRlZmF1bHQKCSAgaW1wbGVtZW50YXRpb24uIEFsbG93cyBzdWItY2xhc3NlcyB0byBkbyBtb3JlCgkgIHNvcGhpc3RpY2F0ZWQgbWFuYWdlbWVudCBvZiB0aGUgc2l6ZSBmaWVsZHMgaW4gY2FzZSB0aGV5CgkgIGRvbid0IHN1cHBvcnQgYXJiaXRyYXJ5IHJlc2l6aW5nIG9yIGhhdmUgZGlzdGluY3QKCSAgcHJlZmVyZW5jZXMuCgoyMDE1LTA1LTMwIDAyOjIzOjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRG9uJ3QgcmVtb3ZlIHNpemUgZmllbGRzIGZyb20gY2FwcwoJICBJbnN0ZWFkIG9mIHJlbW92aW5nIHNpemUgZmllbGRzLCBzZXQgdGhlbSB0byB0aGUgZnVsbCByYW5nZQoJICBsaWtlIHZpZGVvc2NhbGUgZG9lcywgc28gdGhlIGNhcHMgYXJlIGNsZWFybHkgdW5maXhlZCBpbgoJICBhbGwgY2FzZXMuCgoyMDE1LTA1LTEwIDE4OjU1OjE2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFkZCBjbGFzcyBwcm9wZXJ0eSB0byBkaXNhYmxlIGNhcHMgc2NhbGluZwoJICBBZGQgcHJlc2VydmVfdXBkYXRlX2NhcHNfcmVzdWx0IGJvb2xlYW4gb24gdGhlIGNsYXNzIHRvIGFsbG93CgkgIHN1Yi1jbGFzc2VzIHRvIGRpc2FibGUgdmlkZW9hZ2dyZWdhdG9yIHJlbW92aW5nIHNpemVzIGFuZCBmcmFtZXJhdGUKCSAgZnJvbSB0aGUgdXBkYXRlX2NhcHMoKSByZXR1cm4gcmVzdWx0LgoKMjAxNS0wNS0wNCAxODoxNzoyMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ2F0Y2ggZXJyb3JzLCBhbmQgYWxsb3cgc3ViLWNsYXNzIHRvIHJldHVybiBOVUxMIGZyb20gZ2V0X291dHB1dF9idWZmZXIoKQoJICBBIHJldHVybiB2YWx1ZSBvZiBHU1RfRkxPV19PSyB3aXRoIGEgTlVMTCBidWZmZXIgZnJvbSBnZXRfb3V0cHV0X2J1ZmZlcigpCgkgIG1lYW5zIHRoZSBzdWItY2xhc3MgZG9lc24ndCB3YW50IHRvIHByb2R1Y2UgYW4gb3V0cHV0IGJ1ZmZlciwgc28KCSAgc2tpcCBpdC4KCSAgSWYgZ3N0X3ZpZGVvYWdncmVnYXRvcl9kb19hZ2dyZWdhdGUoKSBnZW5lcmF0ZXMgYW4gZXJyb3IsIG1ha2Ugc3VyZQoJICB0byBwcm9wYWdhdGUgaXQgLSBkb24ndCBqdXN0IGlnbm9yZSBhbmQgZGlzY2FyZCB0aGUgZXJyb3IgYnkKCSAgb3Zlci13cml0aW5nIGl0IHdpdGggdGhlIGdzdF9wYWRfcHVzaCgpIHJlc3VsdC4KCjIwMTUtMDUtMjkgMTY6MDI6MzEgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSAgcnRtcHNpbms6IERvIG5vdCBjcmFzaCB3aGVuIHJlY2VpdmluZyBidWZmZXJzIGFmdGVyIEdTVF9GTE9XX0VSUk9SCgkgIElmIHRoZSBSVE1QIFVSSSBpcyBpbnZhbGlkLCB0aGUgcnRtcHNpbmsgd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIElmIGl0IHN0aWxsIHJlY2VpdmVzIGJ1ZmZlcnMgYWZ0ZXIgdGhhdCwgaXQgc2hvdWxkbid0IGNyYXNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTA0CgoyMDE1LTA1LTI5IDA5OjAxOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhdm9pZCBhc3NlcnRpb24gd2hlbiBzcGxpdHRpbmcgYnVmZmVyCgkgIFBhc3Mgc2l6ZT0tMSBhcyBpcyBpZiB0aGF0IGlzIHRoZSBjYXNlIGluc3RlYWQgb2Ygc3VidHJhY3RpbmcKCSAgdGhlIG9mZnNldC4gT3RoZXJ3aXNlIHdlIGhhdmUgYW4gaW52YWxpZCBzaXplIHBhc3NlZCBmb3IgdGhhdAoJICBidWZmZXIuCgoyMDE1LTA1LTI4IDE1OjU5OjAyICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkgIGR0bHNzcnRwZGVjOiBSZWxlYXNlIHJlcXVlc3RlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMzYKCjIwMTUtMDUtMjggMTU6NTc6MTAgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBSZW1vdmUgdW5uZWNlc3NhcnkgcmVmL3VucmVmIG9wZXJhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAzNgoKMjAxNS0wNS0yOCAxNTo1NTowMyArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCByZWxlYXNlIHJlcXVlc3QgcGFkIGZ1bmN0aW9uCgkgIERvbid0IHVucmVmIHRoZSBwYWQgcmVmZXJlbmNlIHdlIGRvbid0IG93biBhbmQganVzdCByZW1vdmUgdGhlIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAzNgoKMjAxNS0wNS0yOCAxNDozMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU2VhcmNoIG1vcmUgd2hlbiBhZHZhbmNpbmcgZnJhZ21lbnQKCSAgSW4gbGl2ZSBzaXR1YXRpb25zLCBpdCBpcyBub3QgdW5jb21tb24gZm9yIHRoZSBjdXJyZW50IGZyYWdtZW50IHRvIGVuZAoJICB1cCBvdXQgb2YgdGhlICh1cGRhdGVkKSBwbGF5IHJhbmdlIChsb3dlc3QvaGlnaGVzdCBzZXF1ZW5jZSkuIEJ1dCB0aGUgbmV4dAoJICBmcmFnbWVudCB0byBwbGF5ICppcyogcHJlc2VudCBpbiB0aGUgcGxheSByYW5nZS4KCSAgV2hlbiBhZHZhbmNpbmcsIGlmIHdlIGNhbid0IGZpbmQgdGhlIGN1cnJlbnQgR3N0TTNVOE1lZGlhRmlsZSwgZG9uJ3QgYWJvcnQKCSAgc3RyYWlnaHQgYXdheS4gSW5zdGVhZCwgbG9vayBpZiBhIEdzdE0zVThNZWRpYUZpbGUgd2l0aCB0aGUgbmV4dCBzZXF1ZW5jZSB2YWx1ZQoJICBpcyBwcmVzZW50LCBhbmQgaWYgc28gc3dpdGNoIHRvIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDI4CgoyMDE1LTA1LTI3IDEwOjU4OjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogYWRkIEdzdEdMQ29udGV4dEdQVVByb2Nlc3MgYmFja2VuZAoJICBJdCBidWlsZHMgaXRzIEdMIHZ0YWJsZSBmcm9tIGEgcHJvYyBhZGRyZXNzIHByb3ZpZGVkCgkgIGJ5IHRoZSBhcHBsaWNhdGlvbi4KCjIwMTUtMDUtMjcgMTY6Mjg6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBhZGQgYW5kIHVzZSBnc3RfZ2xfaW50ZXJuYWxfZm9ybWF0X3JnYmEKCSAgUHJldmlvdXNseSB3aGVuIGNvbXBpbGluZyBHc3RHTCB3aXRoIGJvdGggR0wgYW5kIEdMRVMyLAoJICBHTF9SR0JBOCB3YXMgcGlja2VkIGZyb20gR0wvZ2wuaC4gQnV0IGEgY2xhc2ggbWF5IGhhcHBlbiBhdAoJICBydW50aW1lIHdoZW4gb25lIGlzIHNlbGVjdGluZyBHTEVTMi4KCSAgZ3N0X2dsX2ludGVybmFsX2Zvcm1hdF9yZ2JhIGFsbG93cyB0byBjaGVjayBhdCBydW50aW1lCgkgIGlmIGl0IHNob3VsZCB1c2UgR0xfUkdCQSBvciBHTF9SR0JBOC4KCjIwMTUtMDUtMjcgMTQ6MTA6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsd2luZG93X3gxMTogdXNlIHBhcmVudCBkZWZhdWx0IGltcGxlbWVudGF0aW9uCgoyMDE1LTA1LTI3IDExOjE2OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbGNvbnRleHRfZ2x4OiByZW5hbWUgdmFyaWFibGUgZnJvbSB3aW5kb3cgdG8gY29udGV4dAoKMjAxNS0wNS0yNyAxMToxMTo1NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IGluaXRpYWxpemUgZGVidWcgaW4gY2xhc3NfaW5pdAoJICBVc2VmdWwgaWYgb25lIHVzZXMgZ3N0X2dsX3dpbmRvd194MTFfbmV3IGRpcmVjdGx5CgkgIGluc3RlYWQgb2YgZ3N0X2dsX3dpbmRvd19uZXcuCgoyMDE1LTA1LTI3IDExOjA3OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBpbml0aWFsaXplIGRlYnVnIGluIGNsYXNzX2luaXQKCSAgVXNlZnVsIGlmIG9uZSB1c2VzIGdzdF9nbF9jb250ZXh0X2VnbF9uZXcgZGlyZWN0bHkKCSAgaW5zdGVhZCBvZiBnc3RfZ2xfY29udGV4dF9uZXcuCgoyMDE1LTA1LTI3IDEwOjU1OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBnc3RfZ2xfY29udGV4dF9zZXRfZGlzcGxheSBoZWxwZXIKCjIwMTUtMDUtMjcgMTU6MjU6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBtaXNzaW5nIF9DQVNUIGFmdGVyIEdfVFlQRV9DSEVDS19DTEFTUwoKMjAxNS0wNS0yNyAxMDo1MTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IGFkZCBtaXNzaW5nIF9DQVNUIGFmdGVyIEdfVFlQRV9DSEVDS19DTEFTUwoKMjAxNS0wNS0yNiAxODozODozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHByb3ZpZGVzIHNvbWUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMgdG8gZmFjdG9yaXplIHdpdGggYWxsIGJhY2tlbmRzCgoyMDE1LTA1LTI4IDAwOjU5OjM5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHVzaCBFT1Mgb24gZXJyb3IgcmV0dXJuLgoJICBCZWZvcmUgc2h1dHRpbmcgZG93biB0aGUgc3JjcGFkIHRhc2sgZHVlIHRvIGEKCSAgZG93bnN0cmVhbSBlcnJvciwgcHVzaCBhbiBFT1MgdG8gZ2l2ZSBkb3duc3RyZWFtCgkgIGEgY2hhbmNlIHRvIHNodXQgZG93biBzb21ld2hhdCBjbGVhbmx5LgoKMjAxNS0wNS0yNyAxMzoxMjo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3Qgb3ZlcndyaXRlIHZhbHVlCgkgIFZhbHVlIG9mIHJlcyBpcyByZXNldCB0byBGQUxTRSBpbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgd2hpbGUgbG9vcC4gV2Ugd2FudCB0bwoJICBjb25zZXJ2ZSBUUlVFIGlmIGFueSBwYWQgZXZlbnQgc3VjY2VlZGVkIHVudGlsIHdlIGFycml2ZSB0byBkb25lLgoJICBBbHNvLCBidWYgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiAqb3V0YnVmIHR3aWNlLiBSZW1vdmluZyB0aGUgZmlyc3QgYXNzaWdubWVudAoJICBzaW5jZSB0aGUgc2Vjb25kIG9uZSBpcyBvdXRzaWRlIG9mIGEgY29uZGl0aW9uYWwuCgoyMDE1LTA1LTI3IDEzOjA4OjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkgIG9wZW5jdjogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uCgkgICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIEM4OSwgbW92aW5nIHRoZSBkZWNsYXJhdGlvbnMKCSAgdG8gYmVmb3JlIHRoZSAnZm9yJyBsb29wcy4KCjIwMTUtMDUtMjcgMTM6MDU6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uCgkgICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluIEM4OSwgbW92aW5nIHRoZSBkZWNsYXJhdGlvbnMKCSAgdG8gYmVmb3JlIHRoZSAnZm9yJyBsb29wcy4KCjIwMTUtMDUtMjcgMTI6MDM6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIFRoZSBkYXRhIHZhcmlhYmxlIGlzIGluY3JlbWVudGVkIGJ1dCBuZXZlciByZWFkIGFnYWluLiBSZW1vdmUgdGhlIHVudXNlZCB2YWx1ZQoJICBhc3NpZ25tZW50LgoKMjAxNS0wNS0yNyAwNjoxNzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZW1vdmUgbW9yZSB1bnVzZWQgYXR0cmlidXRlcwoJICBUaG9zZSBhcmUgbm90IHVzZWQgb3Igb25seSByZWFkCgoyMDE1LTA1LTI3IDA1OjM1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgYXR0cmlidXRlCgkgIEl0IGlzIG5ldmVyIHJlYWQgZm9yIGFueXRoaW5nIHVzZWZ1bAoKMjAxNS0wNS0yNiAxNjo0Nzo0NyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IGZpeCBhIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNToxMDoyOCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IHByb3Blcmx5IGhhbmRsZSBlcnJvcnMgd2hpbGUgbG9hZGluZyBmaWxlCgkgIFBvc3QgYW4gZXJyb3Igb24gdGhlIGJ1cyBpZiBhbnl0aGluZyBiYWQgaGFwcGVucyB3aGlsZSByZWFkaW5nCgkgIGFuZCBwYXJzaW5nIHRoZSBpbWFnZSBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE1OjA0OjM0IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgZ2xvdmVybGF5OiByZW1vdmUgdW51c2VkIHR5cGVfZmlsZSBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE1OjAxOjM3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHByb3BhZ2F0ZSByZXR1cm4gdmFsdWUgZnJvbSBmaWx0ZXIgYW5kIGZpbHRlcl90ZXh0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTY6Mzk6NTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSB1bnVzZWQgYXNzaWdubWVudAoJICBidWYgaXMgaW5jcmVtZW50ZWQganVzdCBiZWZvcmUgcmV0dXJuaW5nLCB0aGlzIG5ldyB2YWx1ZSBpcyBuZXZlciB1c2VkLgoJICBSZW1vdmluZyB1bnVzZWQgYXNzaWdubWVudC4KCjIwMTUtMDUtMjYgMTU6MjQ6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbgoJICAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzg5LCBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9uCgkgIHRvIGJlZm9yZSB0aGUgJ2ZvcicgbG9vcC4KCjIwMTUtMDUtMjYgMTQ6MTQ6MzQgKzAxMDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZXhjbHVzaW9uOiBleGNlcHRpb24gd2hlbiBzZXQgZmFjdG9yIHRvIDAKCSAgV2hlbiBmYWN0b3IgcHJvcGVydHkgaXMgc2V0IHRvIDAsIHRyYW5zZm9ybSBqdXN0IHJldHVybnMuCgkgIEFkanVzdCB0aGUgbWluaW11bSB2YWx1ZSB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA3CgoyMDE1LTA1LTI2IDEyOjQ3OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogcHJvcGVybHkgaW5pdGlhbGl6ZSB0aGUgc2hhZGVycyBhY3Jvc3MgY29udGV4dHMgaW1wbGVtZW50aW5nIG11bHRpcGxlIEFQSSdzCgoyMDE1LTA1LTI2IDEyOjQ0OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0c19sYXBsYWNpYW46IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gaW4gZ2wzL2dsZXMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzOTMKCjIwMTUtMDUtMjUgMTI6MzM6NTAgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkgIGN1cmxzaW5rOiBoYW5kbGUgc29ja2V0IGNhbGxiYWNrIGZvciBhY3RpdmUgRlRQIGNvbm5lY3Rpb25zIGFzIHdlbGwKCSAgU2luY2UgdmVyc2lvbiA3LjI4LjAsIGxpYmN1cmwgYWxsb3dzIGFwcGxpY2F0aW9uIHRvIHNldAoJICBzb2NrZXQgb3B0aW9ucyBmb3IgYWN0aXZlIEZUUCBjb25uZWN0aW9ucy4KCSAgQnVtcCBsaWJjdXJsIHJlcXVpcmVtZW50IHRvIHZlcnNpb24gdGVzdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODE1CgoyMDE1LTA1LTIwIDEyOjA4OjM4ICswMTAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBGaXggc2VnZmF1bHQgaW50cm9kdWNlZCBieSBzZWdtZW50IGl0ZXJhdGlvbiByZWZhY3RvcmluZyAoMjEwNWEzMTApLgoJICBUaGUgZnVuY3Rpb25zIHRvIGdldCB0aGUgbmV4dCBmcmFnbWVudCwgbmV4dCBmcmFnbWVudCB0aW1lc3RhbXAgYW5kIHRvIGFkdmFuY2UKCSAgdG8gdGhlIG5leHQgZnJhZ21lbnQgbmVlZCB0byB3b3JrIGRpZmZlcmVudGx5IHdoZW4gc3RyZWFtLT5zZWdtZW50cyBpcyBOVUxMLgoJICBVc2UgbG9naWMgc2ltaWxhciB0byB0aGF0IGludHJvZHVjZWQgYnkgY29tbWl0IDIxMDVhMzEwIHRvIHBlcmZvcm0gdGhlc2UKCSAgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Njg0CgoyMDE1LTA1LTE4IDIyOjMzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdXNlIHNpZ25lZCBpbnRlZ2V0IHRvIHJlcHJlc2VudCBzZWdtZW50IGluZGV4CgkgIFdlIG5lZWQgdG8gYmUgYWJsZSB0byByZXByZXNlbnQgLTEgdG8gY2hlY2sgd2hlbiB3ZSBhcmUgRU9TCgkgIG9uIHJldmVyc2UgcGxheWJhY2sgYW5kIHVuc2lnbmVkIGludGVnZXIgd29uJ3QgYWxsb3cgdGhhdC4KCSAgQ0lEICMxMjk4MTkzCgkgIENJRCAjMTI5ODE5NAoJICBDSUQgIzEyOTgxOTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUzNAoKMjAxNS0wNS0yNSAxMDozMDo1NSArMDkwMCAgU3Vod2FuZyBLaW0gPHN1aHdhbmcua2ltQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggb3V0ZGF0ZWQgZXhhbXBsZSBsYXVuY2ggbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODA5CgoyMDE1LTA1LTIyIDEzOjEyOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiByZW1vdmUgZGVhZCBldmVudCBzb3VyY2UgY29kZQoKMjAxNS0wNS0yMSAxNzo0ODozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgZ2wvd2F5bGFuZDogYWRkIEdzdEdMRGlzcGxheVdheWxhbmQKCSAgU2ltcGxlIGltcGxlbWVudGF0aW9uIHNwbGl0IGZyb20gR3N0R0xXaW5kb3dXYXlsYW5kCgkgIENhbiBub3cgaGF2ZSBtdWx0aXBsZSBnbGltYWdlc2luayBlbGVtZW50cyBhbGwgZGlzcGxheWluZyBvdXRwdXQKCSAgbGlua2VkIHZpYSBHTCBvciBvdGhlcndpc2UgKGJhcnJpbmcgR0wgcGxhdGZvcm0gbGltaXRhdGlvbnMpLgoJICBUaGUgaW50ZWwgZHJpdmVyIGlzIHJhY3kgYW5kIGNhbiBjcmFzaCBzZXR0aW5nIHVwIHRoZSB0d28gZ2xpbWFnZXNpbmsgY29udGV4dHMuCgkgIGUuZy4KCSAgdmlkZW90ZXN0c3JjICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2x1cGxvYWQgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdC4gISBxdWV1ZSAhIGdsZWZmZWN0c19ibHVyICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHZpZGVvdGVzdHNyYyAhIGdsdXBsb2FkICEgZ2xmaWx0ZXJjdWJlICEgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHQuICEgcXVldWUgISBnbGVmZmVjdHNfYmx1ciAhIGdsaW1hZ2VzaW5rZWxlbWVudAoKMjAxNS0wNS0yNSAxNzoyNzo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZml4IERyYXdFbGVtZW50cyBjYWxsIGZvciBlbGVtZW50IGFycmF5IGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTczNAoKMjAxNS0wNS0yMyAwMTowMDoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBwcm92aWRlIHRoZSBleGFjdCBHTCBhcGkgdmVyc2lvbiBmb3IgdGhlIHdyYXBwZWQgY29udGV4dAoJICBPdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIGJlaW5nIG1pc3Rha2VuIGZvciB0aGUgZGlmZXJlbmNlIGJldHdlZW4gYQoJICBnbDMgYW5kIGEgZ2wyIGNvbnRleHQgcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBnZXR0aW5nIHRoZSBsaXN0IG9mCgkgIGV4dGVuc2lvbnMgZnJvbSB0aGUgd3JhcHBlZCBjb250ZXh0IGR1ZSB0byB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCgkgIGdsR2V0U3RyaW5nIGFuZCBnbEdldFN0cmluZ2kgZm9yIHRoZSBHTF9FWFRFTlNJT05TIHRva2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NzI4CgoyMDE1LTA1LTIyIDAyOjQwOjM3ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW5uZWNlc3Nhcnkgc2VtaWNvbG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2OTEKCjIwMTUtMDUtMjEgMTU6MzA6MzQgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IGRvIG5vdCBjYWxsIFNldFBhcmVudCBpbiByZWxlYXNlX3BhcmVudF93aW5faWQoKQoJICBXaGVuIGNhbGxlZCBmcm9tIGdzdF9nbF93aW5kb3dfd2luMzJfY2xvc2UoKSwgaW50ZXJuYWwgd2luZG93CgkgIGNvdWxkIG5vdCBleGlzdCwgYW5kIGlmIGl0IGRvZXMgaXQncyBnb2luZyB0byBiZSBkZXN0cm95ZWQganVzdAoJICBhZnRlciB0aGF0IGFueXdheS4gQWxzbyBpdCBjYXVzZXMgd2luZG93X3Byb2MoKSB0byBiZSBjYWxsZWQKCSAgYW5kIGNyYXNoIGJlY2F1c2UgaXQgZ2V0cyBhIE5VTEwgY29udGV4dC4KCSAgV2hlbiBjYWxsZWQgZnJvbSBnc3RfZ2xfd2luZG93X3dpbjMyX3NldF93aW5kb3dfaGFuZGxlKCkgd2UgYXJlCgkgIGdvaW5nIHRvIHNldCBhbm90aGVyIHBhcmVudCBhbnl3YXksIGFuZCBpdCdzIHByb2JhYmx5IGJldHRlciB0bwoJICByZXBhcmVudCBkaXJlY3RseSBpbnN0ZWFkIG9mIHBhc3NpbmcgYnkgYSBOVUxMIHBhcmVudCB3aGljaCBjb3VsZAoJICBjYXVzZSB0aGUgaW50ZXJuYWwgd2luZG93IHRvIHBvcHVwIGJyaWVmbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjEgMTU6MzA6MDAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IHJlbW92ZSB1bnVzZWQgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE3OjA5OjIxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBmaXggY3Jhc2ggd2hlbiBmaW5hbGl6aW5nIEdzdEdMQ29udGV4dAoJICBnc3RfZ2xfY29udGV4dF9maW5hbGl6ZSgpIGlzIGNhbGxpbmcgZ3N0X2dsX3dpbmRvd193aW4zMl9xdWl0KCkKCSAgd2hpY2ggd2FzIHBvc3RpbmcgYSBtZXNzYWdlLiBCdXQgdGhlbiB3aW5kb3dfcHJvYyB0YWtlcyB3aW5kb3cncwoJICBjb250ZXh0IGFuZCBnZXQgYSBOVUxMLgoJICBOb3cgdGhhdCB3ZSd2ZSBnb3QgYSBHTWFpbkxvb3Agd2UgY2FuIGRvIGxpa2Ugb3RoZXIgYmFja2VuZHMgYW5kCgkgIHNpbXBseSBjYWxsIGdfbWFpbl9sb29wX3F1aXQoKS4KCSAgVGhpcyBhbHNvIHJlbW92ZSBkdXBsaWNhdGVkIGNvZGUgdG8gcmVsZWFzZSB0aGUgcGFyZW50IHdpbmRvdyBhbmQKCSAgcG90ZW50aWFsIGNyYXNoIHRoZXJlIGJlY2F1c2UgcGFyZW50X3Byb2MgY291bGQgYmUgTlVMTCBpZiB3ZSBuZXZlcgoJICBjcmVhdGVkIHRoZSBpbnRlcm5hbCB3aW5kb3cuIFRoYXQgY291bGQgaGFwcGVuIGZvciBleGFtcGxlIGlmIHNldHRpbmcKCSAgc3RhdGUgdG8gUkVBRFkgdGhlbiBzZXR0aW5nIGEgd2luZG93X2hhbmRsZSwgYW5kIGdvIGJhY2sgdG8gTlVMTCBzdGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNzowNjo0MiAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogRml4IGxlYWtlZCBHc3RHTENvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNTozMDo0OSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogc2V0IHRoZSBwYXJlbnQgd2luZG93IHdoZW4gY3JlYXRpbmcgaW50ZXJuYWwgd2luZG93CgkgIFdoZW4gX3NldF93aW5kb3dfaGFuZGxlKCkgd2FzIGNhbGxlZCBpbiBSRUFEWSBzdGF0ZSwgaXQgd2Fzbid0CgkgIHNldCB0byB0aGUgaW50ZXJuYWwgd2luZG93IGNyZWF0ZWQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTU6Mjk6NTAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvd2luMzJfbWVzc2FnZV9zb3VyY2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL3dpbjMyX21lc3NhZ2Vfc291cmNlLmg6CgkgIGdsOiB3aW4zMjogdXNlIGEgR01haW5Db250ZXh0IHRvIGRpc3BhdGNoIHdpbjMyIG1lc3NhZ2VzCgkgIGdzdF9nbF93aW5kb3dfd2luMzJfc2VuZF9tZXNzYWdlX2FzeW5jKCkgY291bGQgYmUgY2FsbGVkIGJlZm9yZSB0aGUKCSAgaW50ZXJuYWwgd2luZG93IGlzIGNyZWF0ZWQgc28gd2UgY2Fubm90IHVzZSBQb3N0TWVzc2FnZSB0aGVyZS4KCSAgeDExIGFuZCB3YXlsYW5kIGJhY2tlbmRzIGJvdGggY3JlYXRlIGEgY3VzdG9tIEdTb3VyY2UgZm9yIHRoaXMsCgkgIHNvIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBub3QgZG8gdGhhdCBmb3Igd2luMzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjIgMDA6Mjc6MzYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBEb24ndCBsZWFrIGFsbCBtZW1vcnkgdXBsb2FkZWQgdmlhIHJhdyB1cGxvYWRzLgoJICBSZW1vdmUgYW4gZXh0cmEgcmVmIG1pc3NlZCB3aGVuIHN3aXRjaGluZyBvdmVyIHRvIG5vdAoJICByZXVzaW5nIG91dHB1dCB0ZXh0dXJlcwoKMjAxNS0wNS0yMSAxNjoyNDo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yL2dsdmlkZW9taXhlcjogRG9uJ3QgY2FsY3VsYXRlIFBBUi9EQVIgd2l0aCB1bnNldCBHc3RWaWRlb0luZm9zCgkgIE90aGVyd2lzZSB3ZSBkaXZpZGUgYnkgemVyby4KCjIwMTUtMDUtMjEgMTY6MTk6MDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEZpeCBkb3VibGUgYXNzaWdubWVudAoKMjAxNS0wNS0yMSAxNTowNTozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHJlcXVpcmUgYSBzaGFkZXIgdmVyc2lvbiB0byBpbml0aWFsaXplLgoJICBJdCdzIHZlcnkgbmVhciBwb2ludGxlc3MgdG8gdHJ5IG91ciBHTCBpbXBsZW1lbnRhdGlvbiB3aXRob3V0IHNoYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyODQKCjIwMTUtMDUtMjAgMDI6Mzg6NTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSAgRml4IGZsYWdzIG9yZGVyIGluIEdMIGV4YW1wbGVzIGZvciB1bmluc3RhbGxlZCBidWlsZAoKMjAxNS0wNS0yMCAwMTo1Nzo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IEZpeCBmbGFncyBvcmRlciBmb3IgdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTUtMDUtMjEgMDA6NTY6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yL2dsdmlkZW9taXhlcjogZml4IHVwIHBhciBoYW5kbGluZwoJICBXZSB3ZXJlIHVzaW5nIHRoZSB3cm9uZyBmb3JtdWxhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MzQKCjIwMTUtMDQtMTcgMTU6MzY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvbnNpZGVyIFNFSSBOQUxVIGFzICJIRUFERVIiIHBhY2tldHMKCSAgTGlrZSBTUFMvUFBTIHRoZXkgZG8gY29udGFpbiBpbmZvcm1hdGlvbiB3aGljaCB3aWxsIGJlIG5lZWRlZCB0bwoJICBkZWNvZGUgdGhlIGZvbGxvd2luZyBkYXRhIChhcyBwZXIgZGVmaW5pdGlvbiBvZiB0aGUgZmxhZykKCSAgQWxzbyBlbnN1cmVzIHRoYXQgdGhlIHNlcmllcyBvZiBTUFMvUFBTL1NFSSBOQUxVIGJlZm9yZSBhIGtleWZyYW1lCgkgIGNhbiBiZSBjb25zaWRlcmVkIGFzIG9uZSBjb250aWd1b3VzIGhlYWRlcgoKMjAxNS0wNC0xNyAxNTozNTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogQ2Fycnkgb3ZlciBHU1RfQlVGRkVSX0ZMQUdfSEVBREVSCgkgIEluIHRoZSBzYW1lIHdheSB3ZSBkbyBpdCBmb3IgdGhlIERFTFRBX1VOSVQgZmxhZwoJICBUaGlzIGFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIGtub3cgd2hldGhlciBhIGdpdmVuIG1wZWctdHMKCSAgcGFja2V0IGNvbnRhaW5zIGEgY29ycmVzcG9uZGluZyBIRUFERVIgZWxlbWVudGFyeSB1bml0CgoyMDE1LTA1LTIwIDEyOjExOjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogT25seSBjb3B5IFZQUy9TUFMvUFBTIE5BTCB1bml0cyBpbiBoZWFkZXIgYnVmZmVyCgkgIFByZXZpb3VzbHkgdGhlIFZQUyB1bml0IHdhcyBkZXRlY3RlZCBhbmQgYWxsIG5leHQgcGFja2V0cyB3aGVyZSBjb3BpZWQKCSAgaW50byB0aGUgaGVhZGVyIGJ1ZmZlciBhc3N1bWluZyBvbmx5IFNQUyBhbmQgUFBTIHdvdWxkIGZvbGxvdy4gIFRoaXMgaXMKCSAgbm90IGFsd2F5cyB0cnVlLCBhbHNvIG90aGVyIHR5cGVzIG9mIE5BTCB1bml0cyBmb2xsb3cgdGhlIFZQUyB1bml0IGFuZAoJICB3aGVyZSBjb3BpZWQgdG8gdGhlIGhlYWRlciBidWZmZXIuIE5vdyB0aGUgVlBTL1NQUy9QUFMgYXJlIGV4cGxpY2l0ZWx5CgkgIGRldGVjdGVkIGFuZCBjb3BpZWQgaW4gdGhlIGhlYWRlciBidWZmZXIuCgoyMDE1LTA1LTIwIDExOjI3OjI1ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogRml4IHR1bmUgcGFyYW1ldGVyIG1pc21hdGNoCgkgIFRoZXJlIHdhcyBhIG1pc21hdGNoIGJldHdlZW4gdGhlIHR1bmUgcGFyYW1ldGVyIGluIHgyNjUgYW5kIHRoZSBlbnVtCgkgIHVzZWQgaW4gdGhpcyBlbGVtZW50LiBUaGUgdmFsdWUgaW4gdGhlIGVudW0gaXMgdGhlIHgyNjUgdHVuZQoJICBwYXJhbWV0ZXIgKyAxLgoKMjAxNS0wNS0xOSAxODowMjozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogQWRkIGFuIG91dHB1dCBhZGFwdGVyIGZvciBjaHVua2luZyB0aGUgb3V0cHV0IGludG8gY29kZWMgZnJhbWVzCgkgIE90aGVyd2lzZSB0aGUgYmFzZSBjbGFzcyB3aWxsIGJlIGNvbmZ1c2VkLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTczMAoKMjAxNS0wNS0xOSAxMDo0MzoyOCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsOiBmaXggY3Jhc2ggb24gd2luZG93cyB3aXRoIGludGVsIGRyaXZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NDMwCgoyMDE1LTA1LTIwIDAwOjUwOjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHN0YXRpYyBjb25zdCB0aGUgaW5kaWNlcyBhcnJheQoJICB0aGUgY29udGVudHMgd2lsbCBuZXZlciBjaGFuZ2UgYW55d2F5LgoKMjAxNS0wNS0yMCAwMDoyODo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogY29ycmVjdGx5IHVzZSB0aGUgc3luYyBtZXRhIGFjcm9zcyBtdWx0aXBsZSBjb250ZXh0cwoJICAxLiBTZXQgdGhlIHN5bmMgcG9pbnQgYWZ0ZXIgdGhlIChwb3NzaWJsZSkgdXBsb2FkIGhhcyBvY2N1cmVkCgkgIDIuIFdhaXQgaW4gdGhlIGNvcnJlY3QgR0wgY29udGV4dCAodGhlIGRyYXcgY29udGV4dCkKCSAgTm90ZTogV2UgZG9uJ3QgYWRkIHRoZSBHTCBzeW5jIG1ldGEgdG8gdGhlIGlucHV0IGJ1ZmZlciBhcyBpdCdzIG5vdAoJICB3cml0YWJsZSBhbmQgYSBjb3B5IHdvdWxkIGJlIGV4cGVuc2l2ZS4KCSAgU2ltaWxhciB0byB0aGUgY2hhbmdlIHdpdGggdGhlIHNhbWUgbmFtZSBmb3IgZ2xpbWFnZXNpbmsKCjIwMTUtMDUtMjAgMDA6Mjg6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHVwZGF0ZSBmb3IgR0wzIGVsZW1lbnQgYXJyYXkgYnVmZmVyIHVzYWdlCgkgIGZpeGVzIGJsYW5rIG91dHB1dAoKMjAxNS0wNS0xOSAxNjoyMjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogY29ycmVjdGx5IHVzZSB0aGUgc3luYyBtZXRhIGFjcm9zcyBtdWx0aXBsZSBjb250ZXh0cwoJICAxLiBTZXQgdGhlIHN5bmMgcG9pbnQgYWZ0ZXIgdGhlIChwb3NzaWJsZSkgdXBsb2FkIGhhcyBvY2N1cmVkCgkgIDIuIFdhaXQgaW4gdGhlIGNvcnJlY3QgR0wgY29udGV4dCAodGhlIGRyYXcgY29udGV4dCkKCSAgTm90ZTogV2UgZG9uJ3QgYWRkIHRoZSBHTCBzeW5jIG1ldGEgdG8gdGhlIGlucHV0IGJ1ZmZlciBhcyBpdCdzIG5vdAoJICB3cml0YWJsZSBhbmQgYSBjb3B5IHdvdWxkIGJlIGV4cGVuc2l2ZS4KCjIwMTUtMDUtMTkgMTY6MTk6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBwcm92aWRlIGEgY3VycmVudCB3cmFwcGVkIEdzdEdMQ29udGV4dCBmb3IgY2FsbGJhY2tzCgkgIFNvIHRoYXQgdGhlIGRyYXcgYW5kIHJlc2l6ZSBjYWxsYmFja3MgY2FuIGdldCB0aGUgY3VycmVudCBHc3RHTENvbnRleHQuCgoyMDE1LTA1LTE5IDE2OjE0OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBlbnN1cmUgdGhhdCB0aGUgRmVuY2UgaXMgZ29pbmcgdG8gYmUgZXhlY3V0ZWQKCSAgT3RoZXJ3aXNlIGl0IGNvdWxkIHN0YXkgY2xpZW50IHNpZGUgd2l0aG91dCBiZWluZyBzdWJtaXR0ZWQgdG8gdGhlIEdMCgkgIHNlcnZlciByZXN1bHRpbmcgaW4gYW5vdGhlciBjb250ZXh0IHdhaXRpbmcgb24gYSBGZW5jZSB0aGF0IHdpbGwgbmV2ZXIKCSAgYmVjb21lIHNpZ25hbGxlZCBjYXVzaW5nIGEgZGVhZGxvY2suCgoyMDE1LTA1LTE5IDExOjQ3OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGRvbid0IHJldXNlIG91dHB1dCB0ZXh0dXJlcyBmb3IgcmF3IGRhdGEgdXBsb2FkCgkgIENhdXNlcyBzdGFsZSB0ZXh0dXJlcyB0byBiZSB1c2VkIGZ1cnRoZXIgZG93biB0aGUgY2hhaW4uCgoyMDE1LTA1LTE5IDExOjExOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBkb24ndCBjbGVhciB0aGUgZnJhbWVidWZmZXIKCSAgQnJlYWtzIGF0dGVtcHRpbmcgdG8gYmxlbmQgd2l0aCB0aGUgZGVzdGluYXRpb24gYnVmZmVyIGFuZCBzaG91bGQgYmUgZG9uZQoJICBleHBsaWNpdGx5IGJ5IHRoZSBjYWxsYmFjayBhbnl3YXkuCgoyMDE1LTA1LTE5IDExOjA5OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogdHJhY2sgZ2xfc3RhcnQvc3RvcCBjb3JyZWN0bHkKCSAgRG9uJ3Qgc3RhcnQgbXVsdGlwbGUgdGltZXMgd2l0aG91dCBjYWxsaW5nIGdsX3N0b3AuCgoyMDE1LTA1LTE4IDIwOjE2OjMyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIFJldmVydCAiZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBmZjZjNzM2ZmUwOGUwMWY0MzIwYzRiMDJlODExYTBiNTdjZjk3Y2MxLgoJICBUaGlzIGlzIGZpeGVkIGJ5IHRoZSBndGstZG9jIDEuMjMgcmVsZWFzZS4KCSAgPHBhcmE+IGNhbm5vdCBjb250YWluIDxyZWZzZWN0Mj46CgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcGFyYS5odG1sCgkgIGh0dHA6Ly93d3cuZG9jYm9vay5vcmcvdGRnL2VuL2h0bWwvcmVmc2VjdDIuaHRtbAoKMjAxNS0wNS0xNCAwMjoxMTo1MCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNpbXBsaWZ5IGxvZ2ljIGluIHByb2Nlc3NfbWFuaWZlc3QKCSAgU2ltcGxpZnkgbG9naWMgaW4gcHJvY2Vzc19tYW5pZmVzdCBhbmQgcmVtb3ZlIGEgVE9ETyBpdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI4CgoyMDE1LTA1LTE4IDE0OjEyOjU2ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJICBjdnNtb290aDogcmVuYW1lIHByb3BlcnRpZXMKCSAgVGhlIHByb3BlcnRpZXMgYXJlIG5hbWVkIGFzIHBhcmFtMSB0byBwYXJhbTQsIHdoaWNoIG1ha2VzIHZlcnkgbGl0dGxlIHNlbnNlCgkgIGhlbmNlIHJlbmFtZWQgdGhlIHByb3BlcnRpZXMgYWNjb3JkaW5nIHRvIHdoYXQgaXQgaXMgZG9pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MjMKCjIwMTUtMDUtMTggMTQ6MDE6NTkgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJICBjdnNtb290aDogV3JvbmcgYXNzaWdubWVudCBvZiBwcm9wIGxlYWRzIHRvIGNyYXNoCgkgIHdoZW4gc2V0dGluZyBwYXJhbTIgcHJvcGVydHksIGl0IGlzIHdyb25nbHkgYmVpbmcgYXNzaWduZWQgdG8gcGFyYW0xLgoJICBUaGlzIGxlYWRzIHRvIHdyb25nIGJlaGF2aW9yIGFuZCBhIGNyYXNoIHdoZW4gcGFyYW0yIGlzIHNldCBhcyAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTIzCgoyMDE1LTA1LTE4IDE0OjMwOjE5ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IHdyb25nIHZhbHVlIG9mIGxldmVsIHByb3BlcnR5CgkgIFRoZSBwcm9wZXJ0eSBsZXZlbCBoYXMgYSBtaW5pbXVtIHZhbHVlIG9mIDAuIEJ1dCB3aGVuIHdlIHNldCB0aGUgbGV2ZWwgYXMgMCwKCSAgaXQgZ2V0cyBhbiBhc3NlcnRpb24gZXJyb3IuIFRoZSBmdW5jdGlvbiBpY3ZQeXJTZWdtZW50YXRpb244dUMzUiByZXR1cm5zIGZhbHNlCgkgIGlmIGxldmVsIGlzIHNldCBhcyAwLCBzaW5jZSB0aGUgbWluaW11bSBsZXZlbCBjYW50IGJlIDAgYW5kIHRodXMgcmVzdWx0cyBpbiBlcnJvci4KCSAgSGVuY2UgY2hhbmdpbmcgdGhlIG1pbmltdW0gdmFsdWUgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUyNQoKMjAxNS0wNS0xNiAyMzozODoxNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgZG9jOiBXb3JrYXJvdW5kIGd0a2RvYyBpc3N1ZQoJICBXaXRoIGd0a2RvYyAxLjIyLCB0aGUgWE1MIGdlbmVyYXRvciBmYWlscyB3aGVuIGEgaXRlbWl6ZWRsaXN0IGlzCgkgIGZvbGxvd2VkIGJ5IGEgcmVmc2VjdDIuIFdvcmthcm91bmQgdGhlIGlzc3VlIGJ5IHdyYXBwaW5nIHRoZQoJICByZWZzZWN0MiBpbnRvIHBhcmEuCgoyMDE1LTA1LTA2IDE1OjE3OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBidWZmZXIgdGltZXN0YW1wIG5vdCBiZWluZyBpbiBzdHJlYW0gdGltZQoJICBUaW1lc3RhbXBzIHNob3VsZCBzdGFydCBhdCB0aGUgc2VnbWVudCBzdGFydCwgcmF0aGVyIHRoYW4gMCwgc28KCSAgd2UgbmVlZCB0byBub3Qgc3VidHJhY3QgdGhlIGZpcnN0IHRpbWVzdGFtcC4gVGhpcyBtYWtlcyB0aGUgc2luawoJICBjb3JyZWN0bHkgYWNjb3VudCBmb3IgcnVubmluZyB0aW1lIHdoZW4gc3dpdGNoaW5nIFBNVHMgd2hlcmUgYQoJICBzdHJlYW0gc3RhcnRzIG5vdCBxdWl0ZSBhdCB6ZXJvLCBjYXVzaW5nIHRpbWluZyBvZmZzZXRzIHRoYXQgY2FuCgkgIGJlY29tZSBub3RpY2VhYmxlIGFuZCBjYXVzaW5nIGRyb3BwZWQgZnJhbWVzIGFmdGVyIGEgZmV3IHRpbWVzLgoKMjAxNS0wNS0wNiAxNToxNjozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhY2N1bXVsYXRlIHByZXZpb3VzIHNlZ21lbnQgYmFzZSB0aW1lCgoyMDE1LTA0LTI0IDEyOjU2OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IGZpeCByZWZjb3VudGluZyB3aGVuIGFwcGx5aW5nIGEgbmV3IFBNVAoJICBBIG5ldyBwcm9ncmFtIG9iamVjdCBpcyBjcmVhdGVkIHRvIHJlcGxhY2UgYW4gZXhpc3Rpbmcgb25lCgkgIGluIHRoZSBwcm9ncmFtcyBoYXNoIHRhYmxlLCBzbyBpdHMgcmVmY291bnQgbmVlZHMgdG8gbWF0Y2guCgkgIFdpdGggdGhlIGRlZmF1bHQgb2YgMCByZWZjb3VudCBvbiBjcmVhdGlvbiwgdGhlIG5leHQgUEFUCgkgIGNoYW5nZSB3aWxsIGNhdXNlIHRoYXQgcmVmY291bnQgdG8gYmUgYm90aCBpbmNyZW1lbnRlZCBhbmQKCSAgZGVjcmVtZW50ZWQgKGFzc3VtaW5nIHRoZSBuZXcgUEFUIHJlZmVyZW5jZXMgdGhhdCBzdHJlYW0gdG9vKSwKCSAgd2hpY2ggd2lsbCBjYXVzZSB0aGUgcHJvZ3JhbSB0byBiZSBkZXN0cm95ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MTIKCjIwMTUtMDUtMTQgMTY6MDY6NTUgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSAgZHRsczogRml4IG1lbW9yeSBsZWFrCgkgIEtleXMgd2VyZSBub3QgY29ycmVjdGx5IHJlbGVhc2VkIHdoZW4gaXQgd2FzIGdldCBhcyBhIHByb3BlcnR5CgkgIG5vciB3aGVuIGEgc2Vjb25kIGtleSB3YXMgcmVjZWl2ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTM4MAoKMjAxNS0wNS0xNCAyMToyMTowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmcmVlIHRoZSB2ZXJ0ZXggYnVmZmVyIHdoZW4gZG9uZQoJICBmaXhlcyBhIG1lbW9yeSBsZWFrCgoyMDE1LTAxLTIyIDE4OjAwOjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogaW1wbGVtZW50IEdMMyBjb3JlIGNvbnRleHQgc2VsZWN0aW9uCgoyMDE1LTA1LTE0IDE4OjM1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0cy9nbDogZml4IHR5cG8KCjIwMTUtMDUtMTQgMTY6NDI6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiByZW1vdmUgdXNlbGVzcyBnbHtFbixEaXN9YWJsZSAoR0xfVEVYVFVSRV8qKSBjYWxscwoJICBXZSBhcmUgdXNpbmcgc2hhZGVycyBldmVyeXdoZXJlIGFuZCBzbyB0aGV5IGFyZSBub3QgbmVlZGVkCgoyMDE1LTA1LTE0IDE1OjEwOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBjbGVhbnVwIHByb3BlcnRpZXMKCSAgcmVtb3ZlIHVudXNlZCAiZGlzcGxheS1uYW1lIgoJICBlbnN1cmUgZGVmYXVsdHMgYmV0d2VlbiB0aGUgYmluL2VsZW1lbnQgYXJlIHRoZSBzYW1lCgoyMDE1LTA1LTE0IDE0OjU2OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogb25seSB0cnkgdGhlIEdMMiBzaGFkZXIgaW5pdCBwYXRoIGlmIHdlIGhhdmUgYSBHTDIgY29udGV4dAoKMjAxNS0wNS0xMiAyMjowNDoyNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBhdHRlbXB0IHRvIGRldGVjdCB0aGUgZ2xlczIgaW5zaWRlIG9wZW5nbDMgY2FzZQoJICBUaGlzIGlzIG5lY2Vzc2FyeSB0byB1c2UgZ2xlczIgc2hhZGVycyBpbiBhIEdMIDMgY29yZSBjb250ZXh0IG9uCgkgIE9TIFggd2hpY2ggZmFpbHMgd2l0aG91dCBhIHByb3BlciAjdmVyc2lvbiBiZWluZyBzZXQgb24gdGhlIHNoYWRlcnMuCgoyMDE1LTA1LTEyIDE3OjU1OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IHJlbW92ZSByZWZlcmVuY2VzIHRvIGdsMyBzcGVjaWZpYyBzaGFkZXJzCgkgIFdlIHJlbHkgc3BlY2lmaWNhbGx5IG9uIGdsZXMyIHNoYWRlcnMgYmVpbmcgc3VwcG9ydGVkIGJ5IHRoZSBHTAoJICBpbXBsZW1lbnRhdGlvbiB3aXRoIEdMMyBjb3JlIHByb2ZpbGUuCgoyMDE1LTA1LTAxIDEyOjA0OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBlbGVtZW50IGJ1ZmZlcnMgYXJlIHBhcnQgb2YgdmFvIHN0YXRlCgkgIFVzZSB0aGVtIGFzIHN1Y2guICBUaGV5IGFyZSBhbHNvIHJlcXVpcmVkIGZvciBHTDMgY29yZSBwcm9maWxlIHN1cHBvcnQKCSAgd2l0aCBnbERyYXdFbGVtZW50cyBvbiBPUyBYLgoKMjAxNS0wNS0wNyAxMjoyNToxMCArMDcwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBwcm9wZXJseSBkZXRlY3QgKGhvcGVmdWxseSkgdGhlIGNvcnJlY3QgZXh0X3JnL2FyYl9yZyB2YXJpYW50CgkgIEdMX0VYVF90ZXh0dXJlX3JnIGlzIG9ubHkgdmFsaWQgZm9yIEdMRVMyLiBHTEVTMyB1c2VzIHNpbWlsYXIgd29yZGluZyB0bwoJICB0aGUgR0xfQVJCX3RleHR1cmVfcmcgd2hpY2ggcmVxdWlyZXMgYSBzaXplZCBpbnRlcm5hbCBmb3JtYXQgdGhhdCB0aGUKCSAgR0xfRVhUX3RleHR1cmVfcmcgZG9lcyBub3QgcmVxdWlyZS4KCSAgaHR0cHM6Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkvZ2xlcy9leHRlbnNpb25zL0VYVC9FWFRfdGV4dHVyZV9yZy50eHQKCSAgaHR0cHM6Ly93d3cub3BlbmdsLm9yZy9yZWdpc3RyeS9zcGVjcy9BUkIvdGV4dHVyZV9yZy50eHQKCjIwMTUtMDUtMTQgMTM6MDQ6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBpbXBsZW1lbnQgcHJvcGVyIHBhciBoYW5kbGluZwoJICBXZSB3ZXJlIHByZXZpb3VzbHkgZmFpbGluZyBvbiBkaWZmZXJlbnQgaW5wdXQgYW5kIG91dHB1dCBwYXIKCjIwMTUtMDUtMTIgMTM6NDE6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogYXZvaWQgYnVzeS1sb29waW5nIHdoZW4gd2FpdGluZyBmb3IgbmV3IGZyYWdtZW50CgkgIFdoZW4gYWxsIGZyYWdtZW50cyBoYXZlIGFscmVhZHkgYmVlbiBkb3dubG9hZGVkIG9uIGEgbGl2ZSBzdHJlYW0KCSAgZGFzaGRlbXV4IHdvdWxkIGJ1c3kgbG9vcCBhcyB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZgoJICBoYXNfbmV4dF9mcmFnbWVudCB3b3VsZCByZXR1cm4gVFJVRS4gSW1wbGVtZW50IGl0IHRvIGNvcnJlY3RseQoJICBzaWduYWwgaWYgYWRhcHRpdmVkZW11eCBzaG91bGQgd2FpdCBmb3IgdGhlIG1hbmlmZXN0IHVwZGF0ZSBiZWZvcmUKCSAgdHJ5aW5nIHRvIGdldCBuZXcgZnJhZ21lbnRzLgoKMjAxNS0wNS0xMSAxNDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBJbXByb3ZlIGxpdmUgc3RyZWFtIG1hbmlmZXN0IHVwZGF0ZSByZXBvc2l0aW9uaW5nCgkgIFdoZW4gdXBkYXRpbmcgdGhlIG1hbmlmZXN0IHRoZSB0aW1lc3RhbXBzIG9uIGl0IG1pZ2h0IGhhdmUgY2hhbmdlZCBhIGxpdHRsZQoJICBkdWUgdG8gcm91bmRpbmcgYW5kIHRpbWVzY2FsZSBjb252ZXJzaW9ucy4gSWYgdGhlIGNoYW5nZSBtYWtlcyB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBjdXJyZW50IHNlZ21lbnQgdG8gZ28gdXAgaXQgbWFrZXMgZGFzaGRlbXV4IHJlcG9zaXRpb24gdG8gdGhlIHByZXZpb3VzCgkgIG9uZSBjYXVzaW5nIG9uZSBleHRyYSB1bm5lY2Vzc2FyeSBkb3dubG9hZC4KCSAgU28gd2hlbiByZXBvc2l0aW9uaW5nIGFkZCBhbiBleHRyYSAxMCBtaWNyb3NlY29uZHMgdG8gY292ZXIgZm9yIHRoYXQgcm91bmRpbmcKCSAgaXNzdWVzIGFuZCBpbmNyZWFzZSB0aGUgY2hhbmNlIG9mIGZhbGxpbmcgaW4gdGhlIHNhbWUgc2VnbWVudC4KCSAgQWRkaXRpb25hbGx5LCBhbHNvIGltcHJvdmUgdGhlIHRpbWUgdXNlZCB3aGVuIHRoZSBjbGllbnQgaXMgYWxyZWFkeSBhZnRlciB0aGUKCSAgbGFzdCBzZWdtZW50LiBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBsYXN0IHNlZ21lbnQgc3RhcnRpbmcgdGltZXN0YW1wIHVzZSB0aGUKCSAgZmluYWwgdGltZXN0YW1wIHRvIG1ha2UgaXQgcmVwb3NpdGlvbiB0byB0aGUgbmV4dCBvbmUgYW5kIG5vdCB0byB0aGUgb25lIHRoYXQKCSAgaGFzIGFscmVhZHkgYmVlbiBkb3dubG9hZGVkLgoKMjAxNS0wNS0xMSAxMjozMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkIG1vcmUgcHJvdGVjdGlvbiB3aGVuIGFjZXNzaW5nIGdwdHJhcnJheSBlbnRyaWVzCgkgIFRoZSBnbGliIHN0cnVjdHVyZSBkb2Vzbid0IGRvIHJhbmdlIGNoZWNraW5nIHNvIHdlIGhhdmUgdG8gZG8gaXQKCSAgb3Vyc2VsdmVzLgoJICBBbHNvIGFkZHMgc29tZSBtb3JlIGRlYnVnZ2luZyBtZXNzYWdlcwoKMjAxNS0wNS0wOCAxNjo1ODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgkgIFRoZXNlIGZ1bmN0aW9ucyBvZiBkaXJlY3RseSBnZXR0aW5nIGFuZCBzZXR0aW5nIHNlZ21lbnQgaW5kZXhlcwoJICBhcmUgbm8gbG9uZ2VyIHVzZWZ1bCBhcyBub3cgd2UgbmVlZCAyIGluZGV4ZXM6IHJlcGVhdCBhbmQgc2VnbWVudAoJICBpbmRleC4KCSAgVGhlIG9ubHkgb3BlcmF0aW9ucyBuZWVkZWQgYXJlIGFkdmFuY2Vfc2VnbWVudCwgZ29pbmcgYmFjayB0byB0aGUKCSAgZmlyc3Qgb25lIG9yIHNlZWtpbmcgZm9yIGEgdGltZXN0YW1wLgoKMjAxNS0wNS0wOCAxNjo0OTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZXVzZSBzZWVraW5nIGZ1bmN0aW9uIHRvIHJlZHVjZSByZXBlYXRlZCBjb2RlCgkgIEluc3RlYWQgb2Ygd3JpdGluZyBhIHNlZWsgcm91dGluZSwganVzdCB1c2UgdGhlIG1wZHBhcnNlciBmdW5jdGlvbi4KCSAgQWxzbyByZW1vdmUgZnVuY3Rpb24gdGhhdCBpcyBub3QgbmVlZGVkIGFueW1vcmUKCjIwMTUtMDUtMDggMTY6MzE6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3Igc2VnbWVudCBpdGVyYXRpb24gZm9yIGJldHRlciBwZXJmb3JtYW5jZQoJICBTZWdtZW50cyBhcmUgbm93IHN0b3JlZCB3aXRoIHRoZWlyIHJlcGVhdCBjb3VudHMgaW5zdGVhZCBvZiBzcGFuZGluZwoJICB0aGVtIHRvIG11bHRpcGxlIHNlZ21lbnRzLiBUaGlzIGNhdXNlZCBhZHZhbmNpbmcgdG8gdGhlIG5leHQgc2VnbWVudAoJICB1c2luZyBhIHNpbmdsZSBpbmRleCB0byBoYXZlIHRvIGl0ZXJhdGUgb3ZlciB0aGUgd2hvbGUgbGlzdCBldmVyeSB0aW1lLgoJICBUaGlzIGNvbW1pdCBhZGRyZXNzZXMgdGhpcyBieSBzdG9yaW5nIGJvdGggdGhlIHNlZ21lbnQgaW5kZXggYXMgd2VsbAoJICBhcyB0aGUgcmVwZWF0IGluZGV4IGFuZCBtYWtlcyBhZHZhbmNpbmcgdG8gbmV4dCBzZWdtZW50IGp1c3QgYW4KCSAgaW5jcmVtZW50IG9mIHRoZSByZXBlYXQgb3IgdGhlIHNlZ21lbnQgaW5kZXguCgoyMDE1LTA1LTA3IDE2OjMwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaW1wcm92ZSBtcGQgcGFyc2luZyBmb3IgcmVwZWF0ZWQgc2VnbWVudCBlbnRyaWVzCgkgIFVzZSBhIHNpbmdsZSBzZWdtZW50IHRvIHJlcHJlc2VudCBpdCBpbnRlcm5hbGx5IHRvIGF2b2lkIHVzaW5nIHRvbwoJICBtdWNoIG1lbW9yeS4gVGhpcyBoYXMgdGhlIGRyYXdiYWNrIG9mIGlzc3VpbmcgYSBsaW5lYXIgc2VhcmNoIHRvCgkgIGZpbmQgdGhlIGNvcnJlY3Qgc2VnbWVudCB0byBwbGF5IGJ1dCB0aGlzIGNhbiBiZSBmaXhlZCBieSB1c2luZwoJICBiaW5hcnkgc2VhcmNoZXMgb3IgY2FjaGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBhbmQganVzdCBsb29raW5nCgkgIGZvciB0aGUgbmV4dCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNjkKCjIwMTUtMDUtMTIgMTI6NTU6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZHJvcCBkZWJ1ZyBtZXNzYWdlIHRoYXQgd2FzIHdyb25nCgkgIEVPUyBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1lYW4gdGhhdCBubyBmcmFnbWVudCB3YXMgZG93bmxvYWRlZAoKMjAxNS0wNS0xMiAxMjo1NToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBydW4gZ3N0LWluZGVudAoJICBUbyBhbGxvdyBjb21taXRpbmcgb24gdGhpcyBmaWxlIGNsZWFubHkKCjIwMTUtMDUtMTEgMTE6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdGhlIHBhcmVudCBpcyBwcm92aWRlZCBpbiB0aGUgZnVuY3Rpb24KCSAgTm8gbmVlZCB0byBnZXQgaXQgYWdhaW4KCjIwMTUtMDUtMTMgMTU6NTk6NDggKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IEZpeCBtZW1vcnkgbGVhayByZWxlYXNpbmcgY29ubmVjdGlvbl9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzE4CgoyMDE1LTA1LTEzIDE1OjMzOjQ5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBGaXggbWVtb3J5IGxlYWsgd2hpbGUgc2V0dGluZyBjb25uZWN0aW9uLWlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMTgKCjIwMTUtMDUtMTMgMTc6MTU6NTcgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCBtZW1vcnkgbGVhaywgcmVsZWFzZSBwcmV2aW91cyBwZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyMgoKMjAxNS0wNS0xMyAxNjowNjo1MiArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IG1lbW9yeSBsZWFrIG9uIGRpc3Bvc2UKCSAgUGFyZW50IGRpc3Bvc2UgZnVuY3Rpb24gd2FzIG5vdCBjYWxsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyMgoKMjAxNS0wNS0xMyAxNzoxOToyNSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHNjb25uZWN0aW9uOiBGaXggbWVtb3J5IGxlYWsgd2hpbGUgc2V0dGluZyBjbG9zdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjUKCjIwMTUtMDUtMTMgMTY6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggZmFhZDIgdmVyc2lvbiBjaGVjawoJICBPbiBmZWRvcmEgMjIsIHRoZSBvdXRwdXQgb2YgY3BwIGluc2VydHMgZXh0cmEgZGVidWcgY29tbWVudHMsIHdoaWNoCgkgIG1ha2VzIG91ciByZWdleHAgZm9yIHRoZSBmYWFkMiB2ZXJzaW9uIGNoZWNrIGZhaWwuIFRoaXMgaW4gdHVybiBjYXVzZXMKCSAgaXQgdG8gY29tcGlsZSB3aXRoIHRoZSB3cm9uZyBhcmd1bWVudHMgcGFzc2VkIHdoaWNoIHRoZW4gY2F1c2VzIHN0YWNrCgkgIGNvcnJ1cHRpb24gYW5kIGNyYXNoZXMuCgkgIEZpeCB0aGlzIGJ5IG9ubHkgY2hlY2tpbmcgZm9yIHRoZSB2ZXJzaW9uICh3aGljaCBzaG91bGQgYmUgYnkgaXRzZWxmIG9uCgkgIGEgc2luZ2xlIGxpbmUpLiBUaGlzIGlzIHBvdGVudGlhbGx5IGxlc3Mgc2FmZSwgaXQgbWlnaHQgYmUgcG9zc2libGUgdGhhdAoJICBhIHNpbWlsYXIgc3RyaW5nIHdvdWxkIGFwcGVhciBpbiBhIGxhdGVyIHZlcnNpb24gaW4gdGhlIGhlYWRlciBmaWxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTcxCgoyMDE1LTA1LTEzIDIzOjU1OjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogcHJvcGFnYXRlIHRoZSB2ZXJzaW9uL2V4dGVuc2lvbiBmYWlsdXJlIHVwd2FyZHMKCSAgT3RoZXJ3aXNlIHRoZSBjYWxsaW5nIGNvZGUgaGFzIG5vIGlkZWEgdGhhdCB0aGUgY29udGV4dCBmYWlsZWQgdG8KCSAgYmUgY3JlYXRlZCBmdWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI4NAoKMjAxNS0wNS0xMyAyMzo1NDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGRvbid0IGRlYWRsb2NrIG9uIGNvbnRleHQgY3JlYXRpb24gZmFpbHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Mjg0CgoyMDE1LTA1LTEzIDE1OjQyOjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogRG9uJ3QgdW5yZWYgcGFkIHRlbXBsYXRlcwoJICBPdGhlcndpc2Ugd2UgdW5yZWYgdGhlIHJlZmVyZW5jZSB0aGF0IGlzIG93bmVkIGJ5IHRoZSBlbGVtZW50IGNsYXNzLgoKMjAxNS0wNS0xMyAxMjozMTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogZml4IGZhaWx1cmUgcmV0dXJuIHZhbHVlcyBmcm9tIGNyZWF0ZV9zZXNzaW9uKCkKCSAgY3JlYXRlX3Nlc3Npb24oKSByZXR1cm5zIGFuIGVycl9zdGF0dXNfdCB3aXRoCgkgIGVycl9zdGF0dXNfb2s9MCBhbmQgZXJyX3N0YXR1c19mYWlsPTEsIHNvCgkgIHJldHVybmluZyBUUlVFL0ZBTFNFIGlzIG5vdCBxdWl0ZSByaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMwNAoKMjAxNS0wNS0xMyAxMzoxNDoxNCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGZpeCBvdmVyIHVubG9ja2luZwoJICBDYWxsZWQgc2hvdWxkIGNhbGwgZnVuY3Rpb24gd2l0aCBsb2NrLCBhbmQgaXMKCSAgYWxzbyByZXNwb25zaWJsZSBmb3IgdW5sb2NraW5nIGl0IGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzA0CgoyMDE1LTA1LTEyIDE1OjQ3OjMzICswODAwICBMeW9uIFdhbmcgPGx5b24ud2FuZ0BmcmVlc2NhbGUuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY3VzdG9tIHBpY3R1cmUgZm9ybWF0IChDUEZNVCkgcGFyc2luZwoJICBJbiB0aGUgSDI2MyBzcGVjLCBDUEZNVCBpcyBwcmVzZW50IG9ubHkgaWYgdGhlIHVzZSBvZiBhIGN1c3RvbQoJICBwaWN0dXJlIGZvcm1hdCBpcyBzaWduYWxsZWQgaW4gUExVU0VQVFlQRSBhbmQgVUZFUCBpcyAiMDAxIiwKCSAgc28gd2UgbmVlZCB0byBjaGVjayBwYXJhbXMtPmZvcm1hdCBhbmQgb25seSBpZiB0aGUgdmFsdWUgaXMKCSAgNiAoY3VzdG9tIHNvdXJjZSBmb3JtYXQpIHRoZSBDUEZNVCBzaG91bGQgYmUgcmVhZCwgb3RoZXJ3aXNlCgkgIGl0J3Mgbm90IHByZXNlbnQgYW5kIHdyb25nIGRhdGEgd2lsbCBiZSBwYXJzZWQuCgkgIFdoZW4gcmVhZGluZyB0aGUgQ1BGTVQsIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IHdlcmUgbm90CgkgIGNhbGN1bGF0ZWQgY29ycmVjdGx5ICh3cm9uZyBiaXRtYXNrKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDkyNTMKCjIwMTUtMDUtMTMgMTc6Mzg6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBmaXggcmVjdGFuZ2xlIG9ic2N1cmUgdGVzdCB0byBjbGFtcCBhZ2FpbnN0IHRoZSBvdXRwdXQgZnJhbWUgc2l6ZQoJICBSYXRoZXIgdGhhbiBvbmUgb2YgdGhlIGlucHV0IHBhZCB2aWRlbyBpbmZvJ3MuCgkgIFRoZSB0ZXN0IGNoZWNraW5nIHRoaXMgd2FzIG5vdCBjb25zdHJhaW5pbmcgdGhlIG91dHB1dCBmcmFtZSBzaXplCgkgIHRvIGVuc3VyZSB0aGF0IHRoZSBvdXQgb2YgZnJhbWUgc3RyZWFtIHdhcyBub3QgYmVpbmcgZGlzcGxheWVkLgoKMjAxNS0wNS0xMyAxNzoxMTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCBwYXIgaGFuZGxpbmcKCSAgV2Ugd2VyZSBwcmV2aW91c2x5IGlnbm9yaW5nIGl0IGNvbXBsZXRlbHkKCjIwMTUtMDUtMTMgMTc6MTA6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCB1cGxvYWQgdGhlIHZlcnRleCBkYXRhIGV2ZXJ5IGZyYW1lCgkgIEFkZCB0aGUgbWlzc2luZyBjYWNoZSB0cmFja2luZyBzdGF0ZW1lbnQuCgoyMDE1LTA1LTEyIDE2OjM2OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBSZW1vdmUgdW5lZWRlZCBoZWFkZXIgYW5kIGRlZmluZXMKCjIwMTUtMDUtMTEgMTU6MDI6MDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBVc2UgZGVmYXVsdCBnZXRfY2FwcyBpbXBsZW1lbnRhdGlvbgoJICBUaGUgY3VzdG9tIGNvZGUgaXMgd3JvbmcgYXMgaXQgaWdub3JlcyB0aGUgdGVtcGxhdGVzLCB3aGljaCBsZWFkcyB0bwoJICBtaXNzaW5nIGZpZWxkcyBpbiB0aGUgcmVzdWx0LiBJbnN0ZWFkLCBzaW1wbHkgdXNlIHRoZSBkZWZhdWx0IGdldF9jYXBzCgkgIGltcGxlbWVudGF0aW9uIHdoaWNoIGRvZXMgaXQgY29ycmVjdGx5IChnZXQgdGhlIHRlbXBsYXRlLCBpbnRlcnNlY3QKCSAgd2l0aCBmaWx0ZXIgYW5kIHJldHVybikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMzcKCjIwMTUtMDUtMTEgMTU6NTQ6NTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBJbXBsZW1lbnQgR3N0VmlkZW9BZ2dyZWdhdG9yOjpmaW5kX2Jlc3RfZm9ybWF0KCkKCSAgV2l0aG91dCB0aGlzLCB3ZSB3aWxsIGZpeGF0ZSB3ZWlyZCBwaXhlbC1hc3BlY3QtcmF0aW9zIGxpa2UgMS8yMTQ3NDgzNjQ3LiBCdXQKCSAgaW4gdGhlIGVuZCwgYWxsIHRoZSBuZWdvdGlhdGlvbiBjb2RlIGluIHZpZGVvYWdncmVnYXRvciBuZWVkcyBhIGJpZyBjbGVhbnVwCgkgIGFuZCB2aWRlb2FnZ3JlZ2F0b3IgbmVlZHMgdG8gZ2V0IHJpZCBvZiB0aGUgc29mdHdhcmUtbWl4ZXIgc3BlY2lmaWMgdGhpbmdzCgkgIGV2ZXJ5d2hlcmUuCgoyMDE1LTA1LTExIDIyOjUzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBkZW1vdGUgdXBsb2FkL2NvbnZlcnQvZG93bmxvYWQgZWxlbWVudHMgdG8gbm9uZQoJICBDb3B5IHBhc3RlIGVycm9yCgoyMDE1LTA1LTExIDIyOjM3OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBleHBvc2UgaW50ZXJuYWwgZ2x2aWRlb21peGVyZWxlbWVudFwKCSAgV2UgbWlnaHQgd2FudCBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgZXhhY3QgcGlwZWxpbmUKCSAgQWxzbyByZWR1Y2VzIG92ZXJoZWFkCgoyMDE1LTA1LTExIDIyOjM1OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBleHBvc2UgaW50ZXJuYWwgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIFdlIG1pZ2h0IHdhbnQgbW9yZSBjb250cm9sIG92ZXIgdGhlIGV4YWN0IHBpcGVsaW5lLgoJICBBbHNvIHJlZHVjZXMgb3ZlcmhlYWQuCgoyMDE1LTA1LTA3IDIxOjE4OjI3ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCB1bmNvbmRpdGlvbmFsIGJ1ZmZlciBxdWV1ZSB1bmxvY2sKCSAgVW5sZXNzIHN0b3BSZXF1ZXN0IGlzIHNldCwgd2Ugc2hvdWxkIHVubG9jayBjb25kaXRpb25hbGx5IC0tIG90aGVyd2lzZSwKCSAgdGhlICdjcmVhdGU6JyBtZXRob2QgY2FuIHdha2UgdXAgdG8gYW4gZW1wdHkgYnVmZmVyIHF1ZXVlCgkgIGFuZCBwdWxsIGEgbmlsIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA1NAoKMjAxNS0wNS0xMSAxMjoxODoyOCArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IFJlbmFtZSBtb2RlIDIwNDhwIHRvIDE1NTZwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMTgKCjIwMTUtMDUtMTEgMTI6MDQ6NDcgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IFVzZSBjb3JyZWN0IGZyYW1lIHJhdGUgZm9yIG1vZGUgMjE2MHA1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjE4CgoyMDE1LTA1LTExIDEyOjAyOjQ3ICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogUmVuYW1lIG1vZGUgMzE4NHAgdG8gMjE2MHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIxOAoKMjAxNS0wMS0yMiAxNTo0MzoyMiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUy5za2lwIGFuZCBQT1RGSUxFUy5pbgoJICBUaGUgb25lcyBpbiAuc2tpcCBuZWVkIHRvIGJlIGFkZGVkIGJhY2sgdG8gUE9URklMRVMuaW4KCSAgYWZ0ZXIgcG9ydGluZyB0byAxLnguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNTIKCjIwMTUtMDUtMDggMTQ6MjA6NDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHJlbW92ZSBnc3RfcmVtb3ZlX3NpbGVuY2VfcmVzZXQoKQoJICBObyBuZWVkIHRvIGNhbGwgZ3N0X3JlbW92ZV9zaWxlbmNlX3Jlc2V0KCkgaW4gZ3N0X3JlbW92ZV9zaWxlbmNlX2luaXQoKSBiZWNhdXNlCgkgIHZhZF9uZXcoKSBhbHJlYWR5IGNhbGxzIHRoaXMgZnVuY3Rpb24uIFNpbmNlIHRoZXJlIGFyZSBubyBtb3JlIHVzZXMgb2YKCSAgX3NpbGVuY2VfcmVzZXQoKSwgd2UgY2FuIHJlbW92ZSBpdCBhbHRvZ2V0aGVyLgoKMjAxNS0wNS0wOCAxNDo1NToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBXZSBzaG91bGRuJ3QgbWFudWFsbHkgY2hlY2sgcmVjb25maWd1cmUgZmxhZyBvbiBwYWRzIGJ1dCBpbnN0ZWFkIGltcGxlbWVudCA6Om5lZ290aWF0ZSgpCgkgIEFkZCBGSVhNRSBjb21tZW50IHJlbGF0ZWQgdG8gdGhhdC4KCjIwMTUtMDUtMDggMTM6NTQ6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIFVwZGF0ZSByZWZlcmVuY2VzIHRvIGRlY29kZWJpbgoJICBVcGRhdGUgb2xkIHJlZmVyZW5jZXMgZm9yIGRlY29kZWJpbjIgdG8gZGVjb2RlYmluLgoKMjAxNS0wNS0wOCAxMzo0OTozOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogdXBkYXRlIGV4YW1wbGUgbGF1bmNoIGxpbmUKCjIwMTUtMDUtMDcgMjE6MDQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5oOgoJICBkdGxzc3J0cGRlYzogRG9uJ3QgbWVyZ2UgUlRQIGFuZCBSVENQIHN0cmVhbXMgdGhhdCB3ZXJlIGp1c3Qgc3BsaXQgYnkgc3J0cGRlYwoJICBUaGUgZnVubmVsIGhhcyBzb21lIG92ZXJoZWFkLCBhbmQgbGF0ZXIgcnRwYmluIHdpbGwgaGF2ZSB0byBzcGxpdCBib3RoIHN0cmVhbXMKCSAgYWdhaW4gYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NzIzCgoyMDE1LTA1LTA2IDE1OjQ3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbGltYWdlc2luazogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvbiB0aGUgYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkOTZlNDNiMDM0YTAzZmU1NDYzMzkwN2JjMWJmMmEyNmZlNWY5NWZiLgoKMjAxNS0wNS0wNiAxNTo0NzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2xpbWFnZXNpbms6IGZvcndhcmQgQUxMIHRoZSBwcm9wZXJ0aWVzIG9uIHRoZSBiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU5ZmIwZjgzMGYwOGUzZTU5Zjg3ZjgzZGY4ZmEzYzJkOWYzZDk3NDEuCgoyMDE1LTA1LTA2IDE1OjQ3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbGltYWdlc2luazogaW1wbGVtZW50IGFzIGEgYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiZTkzOGY5MmQ5NGU4YWNjY2Y1OTMxMjgyODFmNmUwOTIxMzYwMGEwLgoKMjAxNS0wNS0wNiAxNTo0Njo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFJldmVydCAiZ2w6IHJlYWRkIGdsdXBsb2FkL2Rvd25sb2FkIG9udG8gZWxlbWVudCBwYWRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDg3ZDgyNzBmMzAyYjAzZjYzY2UwNGY5ODZkODI0ODkyYTJjMTMxZmQuCgoyMDE1LTA1LTA2IDE1OjQzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsdmlkZW9taXhlcjogaW1wbGVtZW50IHdpdGggZ2xtaXhlcmJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjRiZDExZjJmM2E2MDIyNGQxODhiMjdhYjU1YjI3ODA3N2NiMTIxNy4KCjIwMTUtMDUtMDYgMTI6NTk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFjdHVhbGx5IHNldCB0aGUgY2FwcyBvbiB0aGUgc3JjcGFkIGluc3RlYWQgb2YganVzdCBjYWxsaW5nIHRoZSBkZWZhdWx0IGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBzaW5rcGFkCgkgIEZpeGVzIHVwIGRhZmExMWI5ZDIxZDA2YTAyNzMwMDc2MjhhMmEwYmI0ZDc4NTg2NTgKCjIwMTUtMDQtMjkgMTg6MjM6MzEgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogb25seSB1cGRhdGUgc3RyZWFtIHBvc2l0aW9uIGlmIHF1ZXJ5IHN1Y2Nlc3MKCSAgV2UgZG9uJ3QgbmVlZCB0byBjaGVjayBhYm91dCB0aGUgcXVlcnkgZmFpbCBjYXNlLgoJICBiZWNhdXNlIGl0IGlzIHVwZGF0ZSB0byBzZWdtZW50IHBvc2l0aW9uIGV2ZW4gdGhvdWdoIHF1ZXJ5IGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MjkKCjIwMTUtMDUtMDUgMTI6NDU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGRlY2tsaW5rOiBEaXNhYmxlIGRlY2tsaW5rIHBsdWdpbiBvbiBBbmRyb2lkCgoyMDE1LTA1LTA1IDE0OjQ0OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBmaXh1cCBzaXplIGRlY2xhcmF0aW9uCgoyMDE1LTA1LTA0IDIzOjQyOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGhhbmRsZSB0aGUgbG9jYWxfY29udGV4dCBxdWVyeQoJICBzbyB0aGF0IHVwc3RyZWFtIGVsZW1lbnRzIGNhbiBnZXQgdGhlIEdMIGNvbnRleHQgZnJvbSBnbGltYWdlc2luawoKMjAxNS0wNS0wMyAxNDo1NjowNSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBvcnQgZm9yIENPTE9SX0Zvcm1hdFlWMTIKCSAgUmVmZXJlbmNlOiBodHRwOi8vZGV2ZWxvcGVyLmFuZHJvaWQuY29tL3JlZmVyZW5jZS9hbmRyb2lkL2dyYXBoaWNzL0ltYWdlRm9ybWF0Lmh0bWwjWVYxMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTA0LTMwIDExOjQ0OjA2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkgIGFuZHJvaWRtZWRpYTogRGVjbGFyZSBRT01YX0NPTE9SX0ZPUk1BVFlWVTQyMFBhY2tlZFNlbWlQbGFuYXIzMm1NdWx0aVZpZXcgY29uc3RhbnQKCSAgVGhpcyBjb2xvciBmb3JtYXQgaXMgdGhlIHNhbWUgYXMgUU9NWF9DT0xPUl9GT1JNQVRZVVY0MjBQYWNrZWRTZW1pUGxhbmFyMzJtCgkgIGJ1dCBzdG9yZXMgdHdvIGltYWdlcyBvbmUgYWZ0ZXIgdGhlIG90aGVyIGluIGEgdG9wLWJvdHRvbSBsYXlvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDUtMDQgMTE6MjM6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSAgb3B1c2RlcGF5OiBTZXQgbXVsdGlzdHJlYW09RkFMU0Ugb24gdGhlIE9wdXMgY2FwcwoJICBUaGUgUlRQIE9wdXMgbWFwcGluZyBvbmx5IGFsbG93cyBtb25vL3N0ZXJlbywgYW5kIG5vdCBtdWx0aXN0cmVhbSBPcHVzCgkgIHN0cmVhbXMuCgoyMDE1LTA1LTA0IDEwOjM1OjU1ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzaGVhZGVyOiBEbyBub3QgaW5jbHVkZSByYXRlIGluIGNhcHMgaWYgaXQgaXMgMAoJICBBcyBleHByZXNzZWQgaW4gZ3N0X29wdXNfaGVhZGVyX2NyZWF0ZV9jYXBzLCB2YWx1ZSAwIG1lYW5zIHVuc2V0LgoJICBTZXR0aW5nIHJhdGUgdmFsdWUgdG8gMCBtYWtlIG5lZ290aWF0aW9uIHdpdGggZGVjb2RlciBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4ODc1CgoyMDE1LTA1LTA0IDA4OjA2OjM1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggc2xpY2UtaGVpZ2h0IGZvciBUZWdyYSAzIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODg2NwoKMjAxNS0wMy0xMyAxNjowNzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBDT0xPUl9Gb3JtYXRZVVY0MjBGbGV4aWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTAzLTI1IDE3OjQzOjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cG9ydCBmb3IgSW50ZWwgY29sb3IgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTA1LTAyIDE4OjA2OjE4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBwcm9maWxlIGFuZCBsZXZlbCBzZXR0aW5nIGluIGNhcHMKCSAgRG9uJ3QgdXNlIHRoZSBhcGlzIGluIGNvZGVjLXV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUgYW5kIGxldmVsCgkgIHN5bnRheCBlbGVtZW50cyBzaW5jZSBpdCBpcyB3cm9uZyBpZiB0aGVyZSBhcmUgZW11bGF0aW9uIHByZXZlbnRpb24KCSAgYnl0ZXMgZXhpc3RpbmcgaW4gdGhlIGJ5dGUtc3RyZWFtIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDUtMDMgMjM6MDg6MTUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogSW1wcm92ZSBwYXNzdGhyb3VnaCBjaGVjayB3aGVuIG5vIGNvbnZlcnNpb24gaXMgbmVlZGVkLgoJICBNYWtlIHRoZSBwYXNzdGhyb3VnaCBjaGVjayBjb250aW5nZW50IG9uIG9ubHkgdGhlIGZpZWxkcyB3ZQoJICBjYW4gbW9kaWZ5IGJlaW5nIHVuY2hhbmdlZCwgYW5kIHByZS1jb21wdXRlIGl0IHdoZW4gY2FwcwoJICBjaGFuZ2UgaW5zdGVhZCBvZiBjaGVja2luZyBvbiBlYWNoIGJ1ZmZlci4gTWFrZXMgdGhlIHBhc3N0aHJvdWdoCgkgIG1vcmUgbGVuaWVudCBpZiBjb25zdW1lcnMgYXJlIGxheCBhYm91dCBtYWtpbmcgaW5wdXQgYW5kIG91dHB1dAoJICBjYXBzIGNvbXBsZXRlLgoKMjAxNS0wNS0wMSAxOTozOTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBoYW5kbGUgd2hlbiBzb3VyY2UgY3JlYXRpb24gZmFpbAoJICBSZW1lbWJlciB0byBzZXQgdGhlIHNvdXJjZSB0byBOVUxMIHN0YXRlIGFzIGFkZGluZyBpdCB0byB0aGUgcGlwZWxpbmUKCSAgd2lsbCBzZXQgaXQgdG8gdGhlIFJFQURZIHN0YXRlLgoKMjAxNS0wNS0wMSAxOTozMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggZWxlbWVudCBsaW5raW5nIG9yZGVyCgkgIFZpZGVvIHNvdXJjZSBzaG91bGQgYmUgbGlua2VkIHRvIHZpZGVvY3JvcCBhbmQgbm90IHRvCgkgIHZpZGVvY29udmVydCBhcyBpdCBpcyBkb25lIGluIHRoZSBtYWluIGxpbmtpbmcgcGF0aAoKMjAxNS0wMy0xMyAwNjoxMDo1MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IEFkZCBhIGNoZWNrIGZvciB0aGUgbmV3IGNvbXBvc2l0b3IgcGFkLWlzLW9ic2N1cmVkIG9wdGltaXphdGlvbgoJICBXZSB2ZXJpZnkgdGhhdCBhbGwgdGhlIGJ1ZmZlcnMgb24gYW4gb2JzY3VyZWQgc2lua3BhZCBhcmUgc2tpcHBlZCBieSBvdmVycmlkaW5nCgkgIHRoZSBtYXAoKSBmdW5jdGlvbiBpbiB0aGUgR3N0VmlkZW9NZXRhIG9mIHRoZSBidWZmZXJzIHRvIHNldCBhIHZhcmlhYmxlIHdoZW4KCSAgY2FsbGVkLiBXZSBhbHNvIHRlc3QgdGhhdCB0aGUgYnVmZmVycyBkbyBnZXQgbWFwcGVkIHdoZW4gdGhleSdyZSBub3Qgb2JzY3VyZWQuCgkgIEJsYW1lXldDcmVkaXQgZm9yIHRoZSBHc3RWaWRlb01ldGEgbWFwKCkgaWRlYSBnb2VzIHRvIFRpbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0xOCAxNToxMDowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBPbmx5IG1hcCB0aGUgZnJhbWUgZnJvbSBhIGJ1ZmZlciBpZiBpdCB3aWxsIGJlIHVzZWQKCSAgSXQncyBhIHdhc3RlIG9mIHJlc291cmNlcyB0byBtYXAgaXQgaWYgaXQgd29uJ3QgYmUgY29udmVydGVkCgkgIG9yIHVzZWQgYXQgYWxsLiBTaW5jZSB3ZSBtb3ZlZCB0aGUgZnJhbWUgbWFwcGluZyBkb3duLCB3ZSBuZWVkCgkgIHRvIHVzZSB0aGUgR1NUX1ZJREVPX0lORk8gYWNjZXNzb3IgbWFjcm9zIG5vdyBpbiB0aGUgY29kZSBhYm92ZQoJICB0aGF0IGluc3RlYWQgb2YgdGhlIEdTVF9WSURFT19GUkFNRSBhY2Nlc3NvciBtYWNyb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMTggMTU6MDk6MDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdXNlIGFjY2Vzc29yIG1hY3JvcyBmb3IgY29uc2lzdGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0xOCAxNTowOTowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBTa2lwIHBhZHMgdGhhdCBhcmUgY29tcGxldGVseSBvYnNjdXJlZCBieSBhIGhpZ2hlciB6b3JkZXIgcGFkCgkgIEZvciBlYWNoIGZyYW1lLCBjb21wYXJlIHRoZSBmcmFtZSBib3VuZGFyaWVzLCBjaGVjayBpZiB0aGUgZm9ybWF0IGNvbnRhaW5zIGFuCgkgIGFscGhhIGNoYW5uZWwsIGNoZWNrIG9wYWNpdHksIGFuZCBza2lwIHRoZSBmcmFtZSBpZiBpdCdzIGdvaW5nIHRvIGJlIGNvbXBsZXRlbHkKCSAgb3ZlcndyaXR0ZW4gYnkgYSBoaWdoZXIgem9yZGVyIGZyYW1lLiBUaGUgY2hlY2sgaXMgTyhuXjIpLCBidXQgdGhhdCBkb2Vzbid0CgkgIG1hdHRlciBoZXJlIGJlY2F1c2UgdGhlIG51bWJlciBvZiBzaW5rcGFkcyBpcyBzbWFsbC4KCSAgTW9yZSBjYW4gYmUgZG9uZSB0byBhdm9pZCBuZWVkbGVzcyBkcmF3aW5nLCBidXQgdGhpcyBjb3ZlcnMgdGhlIG1ham9yaXR5IG9mCgkgIGNhc2VzLiBTZWUgVE9ET3MuIElkZWFsbHksIGEgcmV2ZXJzZSBwYWludGVyJ3MgYWxnb3JpdGhtIHNob3VsZCBiZSB1c2VkIGZvcgoJICBvcHRpbWFsIGRyYXdpbmcsIGJ1dCBtZW1jcHkgZHVyaW5nIGNvbXBvc2l0aW5nIGlzIHNtYWxsIGNvbXBhcmVkIHRvIHRoZSBDUFUgdXNlZAoJICBmb3IgZnJhbWUgY29udmVyc2lvbiBvbiBlYWNoIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0zMCAxOTowODoyNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggc291cmNlIGNhcHMgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE1OjM0OjQwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCB0aGUgbWVtb3J5IGZyZWVpbmcgb2Ygc3RvcmVkIFZQUyBuYWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMzAgMTg6MzY6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHByb2ZpbGUsIHRpZXIgYW5kIGxldmVsIHNldHRpbmcgaW4gY2FwcwoJICBEb24ndCB1c2UgdGhlIGFwaXMgaW4gY29kZWMtdXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSx0aWVyIGFuZCBsZXZlbAoJICBzeW50YXggZWxlbWVudHMgc2luY2UgaXQgaXMgd3JvbmcgaWYgdGhlcmUgYXJlIGVtdWxhdGlvbiBwcmV2ZW50aW9uCgkgIGJ5dGVzIGV4aXN0aW5nIGluIHRoZSBieXRlLXN0cmVhbSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTE3IDE1OjE1OjMzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCBuYWwgdW5pdCBzaXplIGNoZWNraW5nCgkgIFRoZSBFT1MgYW5kIEVPQiBuYWxzIGhhdmUgdGhlIHNpemUgMiB3aGljaCBpcyB0aGUgc2l6ZSBvZgoJICBuYWwgdW5pdCBoZWFkZXIgaXRzZWxmLiBUaGUgZ3N0X2gyNjVfcGFyc2VyX2lkZW50aWZ5X25hbHUoKQoJICBpcyBub3QgcmVxdWlyZWQgdG8gc2NhbiBzdGFydCBjb2RlIGFnYWluIGluIHRoaXMgY2FzZS4KCSAgSW4gb3RoZXIgY2FzZXMsIGZvciBhIHZhbGlkIG5hbHVuaXQgdGhlIG1pbmltdW0gcmVxdWlyZWQgc2l6ZQoJICBpcyAzIGJ5dGVzICgyIGJ5dGUgaGVhZGVyIGFuZCBhdCBsZWFzdCAxIGJ5dGUgUkJTUCBwYXlsb2FkKQoKMjAxNS0wNC0xNyAxNTowMzozNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogaDI2NTogQ2FsY3VsYXRlIGNyb3AgcmVjdGFuZ2xlIGRpbWVuc2lvbnMKCjIwMTUtMDQtMTcgMTU6MDE6NTcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCBwYXJzaW5nIG11bHRpcGxlIFNFSSBtZXNzYWdlcyBpbiBhIHNpbmdsZSBTRUkgTmFsCgkgIEFuIFNFSSBOYWwgY2FuIGhhdmUgbW9yZSB0aGFuIG9uZSBTRUkgbWVzc2FnZS4KCSAgQ2hhbmdlIGluIEFQSTogdGhlIGdzdF9oMjY1X3BhcnNlcl9wYXJzZV9zZWkoKQoKMjAxNS0wNC0zMCAyMTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogTWFrZSBzdXJlIHRvIHNlbmQgY2FwcyBldmVudHMgZG93bnN0cmVhbSBiZWZvcmUgYW55IHNlZ21lbnQgZXZlbnRzCgkgIFVwc3RyZWFtIG1pZ2h0IG5vdCBnaXZlIHVzIGEgY2FwcyBldmVudCAoZHRsc3NydHBkZWMpIGJlY2F1c2UgaXQgbWlnaHQgYmUgYW4KCSAgUlRQL1JUQ1AgbWl4ZWQgc3RyZWFtLCBidXQgd2Ugc3BsaXQgdGhlIHR3byBzdHJlYW1zIGFueXdheSBhbmQgc2hvdWxkIHJlcG9ydAoJICBwcm9wZXIgY2FwcyBkb3duc3RyZWFtIGlmIHBvc3NpYmxlLgoJICBGaXhlcyAic3RpY2t5IGV2ZW50IG1pc29yZGVyaW5nIiB3YXJuaW5ncyB3aXRoIGR0bHNzcnRwZGVjLgoKMjAxNS0wNC0zMCAxMDo1MDoxOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgIHJ0anBlZzogcmVtb3ZlIHVudXNlZCBxdWFsaXR5IHByb3BlcnR5CgoyMDE1LTA0LTMwIDExOjE1OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogcmVhZGQgZ2x1cGxvYWQvZG93bmxvYWQgb250byBlbGVtZW50IHBhZHMKCSAgQWxsb3dzIGluc2VydGlvbiBvZiBnbCBlbGVtZW50cyBpbnRvIG5vbi1nbCBwaXBlbGluZXMgd2l0aG91dCBjb252ZXJ0ZXIKCSAgKHVwbG9hZC9kb3dubG9hZCkgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5NzQKCjIwMTUtMDQtMjkgMjI6NTU6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgd2l0aCBnbG1peGVyYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBmYjU2NzM4YTE0MzkxZjI0OGFhMGJlODc1NmFkZWFmOTc4YmFhMGMuCgoyMDE1LTA0LTI5IDIyOjM4OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJnbGltYWdlc2luazogaW1wbGVtZW50IGFzIGEgYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhhMDAxN2UyMWQ1ZjlhODUwN2YwNTkzYzZiMjRmNzIzYWE0MTUyNTguCgoyMDE1LTA0LTI5IDIyOjMyOjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJnbGltYWdlc2luazogZm9yd2FyZCBBTEwgdGhlIHByb3BlcnRpZXMgb24gdGhlIGJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0YmU0NWU1ZjMwZGM2MTIxZjI3NjkzMjM2MDM0NDdmNTkxY2E0YTBhLgoKMjAxNS0wNC0yOSAyMjozMjoyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiZ2xpbWFnZXNpbms6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb24gdGhlIGJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyYmE2YmI5YjkzMjViNjNmNThhOWZmMGIyYzgyZmEyODc1OWRjYWJjLgoKMjAxNS0wNC0yOSAwOTo1Nzo1MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IGRvbid0IHRpbWVzdGFtcCBidWZmZXJzIGZvciBtdXhlZCBzdHJlYW1zCgoyMDE1LTA0LTI5IDIxOjM3OjU2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAga3N2aWRlb3NyYzogZml4IGhlYWRlciBzaXplIGZvciBtdXhlZCBzdHJlYW1zCgoyMDE1LTA0LTI5IDE5OjM5OjE0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCB0aGUgbnVtYmVyIG9mIHRpbGUgcm93cy9jb2x1bW5zIHBhcnNpbmcKCSAgVGhlIHBvc3NpYmxlIG1pbmltdW0gdmFsdWUgZm9yIG51bV90aWxlX2NvbHVtbnNfbWludXMxIGFuZCBudW1fdGlsZV9yb3dzX21pbnVzMQoJICBpcyB6ZXJvICg3LjQuMy4zKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODY0MQoKMjAxNS0wNC0yOSAxNzoyMDo1OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgIG1peG1hdHJpeDogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eSBlbnVtIGl0ZW1zCgkgIFRoZXNlIHR3byBwcm9wZXJ0aWVzIGhhdmUgYmVlbiB0aGVyZSBzaW5jZSB0aGUgb3JpZ2luIG9mIHRoZSBlbGVtZW50IGJ1dCB0aGV5CgkgIGFyZW4ndCB1c2VkLiBSZW1vdmluZyB0aGVtLgoKMjAxNS0wNC0yOSAxNTo0MTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IGNvbXBhcmlzaW9uIGxvZ2ljCgkgIFdlIGNhbid0IGFuc3dlciB0aGUgU0VFS0lORyBxdWVyeSBpZiB3ZSBkbyAqbm90KiBoYXZlIHRoZSBtYW5pZmVzdAoKMjAxNS0wNC0yOSAxMDo1NjoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJICBhaWZmOiBSZS1hZGQgbm9pbnN0X0hFQURFUlMgaW5zdHJ1Y3Rpb24KCSAgV2FzIHJlbW92ZWQgaW4gdGhlIHByZXZpb3VzIGFuZHJvaWQgY2xlYW51cCBjb21taXQKCjIwMTUtMDQtMjggMjE6NDM6NTYgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3NkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvd2lua3Mva3NkZXZpY2Vwcm92aWRlci5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSAgR3N0RGV2aWNlUHJvdmlkZXIgaW1wbGVtZW50YXRpb24gZm9yIFdJTiBLZXJuZWwgU3RyZWFtaW5nIHBsdWdpbgoJICBnc3Rfa3NfZGV2aWNlX3Byb3ZpZGVyX3Byb2JlKCkgaXMgYSBuby1icmFpZXIsIGp1c3QgcnVucyBrc19lbnVtZXJhdGVfZGV2aWNlcygpCgkgIGFuZCByZXBvcnRzIHRoZSByZXN1bHRzLgoJICBNb25pdG9yaW5nIGlzIGEgYml0IG1vcmUgdHJpY2t5LiBXZSBoYXZlIHRvIGNyZWF0ZSBhIGR1bW15IG1lc3NhZ2UtcHJvY2Vzc2luZwoJICB3aW5kb3cgYW5kIHJlZ2lzdGVyIGRldmljZSBjaGFuZ2Ugbm90aWZpY2F0aW9ucyBmb3IgaXQuCgkgIEFzIGtlcm5lbCBzdHJlYW1pbmcgY2FuIChhbmQgc2hvdWxkKSBiZSB1c2VkIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBhdWRpbwoJICBwbGF5YmFjaywgdGhpcyBjaGFuZ2UgYWxzbyBoYXMgY2VydGFpbiBwbGFjZWhvbGRlcnMgZm9yIHN1Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3NTcKCjIwMTUtMDQtMjkgMDI6MzA6MDUgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogQ2FjaGUgY2FwcyBmb3IgcGFzc2luZyB0byB0aGUgY2xpZW50IGRyYXcgY2FsbAoJICBEb24ndCBjb252ZXJ0IHRoZSBHc3RWaWRlb0luZm8gdG8gY2FwcyBvbiBldmVyeSBkcmF3IGNhbGwsCgkgIGp1c3QgY2FjaGUgdGhlIGNhcHMgYW5kIHBhc3MgdGhlbSBpbnRvIHRoZSBHc3RTYW1wbGUuCgoyMDE1LTA0LTI5IDAyOjIwOjA5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogTWFrZSB1cGxvYWQgbWV0aG9kIHN0YXRpYyBjYXBzIG5vbi1jb25zdC4KCSAgUmV0cmlldmluZyBhIEdzdFN0YXRpY0NhcHMgZG9lcyBhIG9uZSB0aW1lIGludGVybmFsCgkgIGluaXRpYWxpc2F0aW9uIGFuZCBjYWNoZXMgaXQgLSB0aGV5IGNhbid0IGJlIHN0b3JlZCBhcwoJICBjb25zdCBzdHJ1Y3R1cmVzLgoKMjAxNS0wNC0yOCAxNzoyNDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBmaXggaW5jbHVkZXMgYW5kIGNvbXBpbGF0aW9uIGFnYWluc3Qgb3B1cyBpbiBub24tc3RhbmRhcmQgcHJlZml4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1OTQKCjIwMTUtMDQtMjggMTY6NTg6MjEgKzAyMDAgIE1lcnNhZCBKZWxhY2ljIDxtZXJzYWRAYXhpcy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jCgkgIFVzZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGF2YWlsYWJsZSBpbiB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTg1CgoyMDE1LTA0LTI4IDE2OjA2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBkZTI2NWRlYzogdXNlIGdfZ2V0X251bV9wcm9jZXNzb3JzKCkgaWYgYXZhaWxhYmxlCgkgIEFuZCBwcm92aWRlIGhvbWUtbWFkZSBmYWxsYmFjayBmb3Igb2xkZXIgR0xpYiB2ZXJzaW9ucywKCSAgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgZmluZCB0aGVzZSBhbmQgcmVtb3ZlIHRoZW0gd2hlbgoJICB3ZSBidW1wIHRoZSBHTGliIHJlcXVpcmVtZW50ICh3aGljaCBpcyBjZXJ0YWlubHkgZ29pbmcKCSAgdG8gaGFwcGVuIGJlZm9yZSAyLjApLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk1CgoyMDE1LTA0LTI4IDE2OjAyOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBnc3Q6IHJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGdsaWIgdmVyc2lvbiBjaGVja3MKCSAgV2UgcmVxdWlyZSAyLjMyLCBubyBuZWVkIHRvIGNoZWNrIGZvciBhbnl0aGluZyBvbGRlcgoJICB0aGFuIHRoYXQuCgoyMDE1LTA0LTI4IDExOjI4OjM5ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBmaXggZGVzY3JpcHRvciBsZWFrCgkgIEZyZWUgdGhlIGV4aXN0aW5nIGRlc2NyaXB0b3IgYXJyYXksIGlmIGFueSwgYmVmb3JlIHJlcGxhY2luZyBpdC4KCSAgRml4IGxlYWtzIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUucGxheWJhY2suc2NydWJfZm9yd2FyZF9zZWVraW5nLnRlc3QtbXBlZzItbXAzX214ZiBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU4MAoKMjAxNS0wNC0yOCAxMDoxMzozNSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggdGFnbGlzdCBsZWFrCgkgIElmIHRoZSBzdHJlYW0gd2hpY2ggaXMgYWJvdXQgdG8gYmUgcmVtb3ZlZCBzdGlsbCBoYXMgYSByZWYgb24gYSB0YWcgbGlzdCB3ZQoJICBzaG91bGQgZHJvcCBpdC4KCSAgRml4IGEgbGVhayB3aGljaCB3YXMgb2NjYXNpb25hbGx5IGhhcHBlbmluZyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLmNoYW5nZV9zdGF0ZV9pbnRlbnNpdmUudHJvbl9lbl9nZV9hYWNfaDI2NF90cyBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU3NgoKMjAxNS0wNC0yNyAyMjo0NDoyOCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IGZpbmRfc3VidGFibGUoKSByZXR1cm4gdmFsdWUKCSAgZmluZF9zdWJ0YWJsZSgpIHJldHVybnMgYSBwb2ludGVyLCBzbyByZXR1cm4gTlVMTCBhbmQKCSAgbm90IEZBTFNFIHdoZW4gbm90aGluZyBpcyBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUyNwoKMjAxNS0wNC0yOCAxNDo1MjozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIGRlZnMKCjIwMTUtMDQtMjggMjA6NDY6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVtb3ZlIHVuZWVkZWQgdW5yZWYKCSAgVGhlIGNhbGwgdG8gX2dsX21lbV9hbGxvY19kYXRhIHdpbGwgdW5yZWYgYW5kIE5VTExpZnkgJ2Rlc3QnIGZvciB1cy4KCSAgV2UganVzdCBuZWVkIHRvIHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wNC0yOCAwOTozNzo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogVXNlIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzIGluIDo6Z2V0X2NhcHMoKQoKMjAxNS0wNC0yOCAyMDoxMTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbHVwbG9hZDogcHJvdmlkZSB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzIHRoYXQgY291bGQgYmUgdXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzk5CgoyMDE1LTA0LTI3IDE5OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmE6IGFkZCB6b29tIHByb3BlcnR5IHRvIFVJCgkgIEFkZCBhIHNsaWRlciB0byBtb2RpZnkgdGhlIHpvb20gaW4gY2FtZXJhYmluCgoyMDE1LTA0LTI3IDE4OjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYTogcmVtb3ZlIHdpZGdldHMgZGVwcmVjYXRlZCBpbiBHVEszLjAKCSAgVkJveCBhbmQgSEJveCBhcmUgbm93IHNpbXBseSBCb3gKCjIwMTUtMDQtMjcgMTU6NDE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmE6IHVwZGF0ZSB0byBHVEszCgkgIFdoZW4gb3BlbmluZyB0aGUgLnVpIGZpbGUgaXQgY29tcGxhaW5zIGFib3V0IGJlaW5nIGZvciBHVEsgMiBhbmQKCSAgYXV0b21hdGljYWxseSB1cGRhdGVzIGl0IHRvIEdUSzMuIENvbW1pdCB0aGlzIHZlcnNpb24gYW5kIHVwZGF0ZQoJICB0aGUgbWFrZWZpbGUKCjIwMTUtMDQtMjcgMTM6NDE6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIFRoZSBzdHJ1Y3R1cmUgaXMgY3JlYXRlZCBhbmQgbmV2ZXIgdXNlZCBhbnltb3JlLiBSZW1vdmUgaXQuCgoyMDE1LTA0LTI3IDEzOjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogdXNlIGRpZ2l0YWx6b29tIGVsZW1lbnQKCSAgUmVwbGFjZSB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlciB3aXRoIHRoZSBkaWdpdGFsem9vbQoJICBiaW4gdGhhdCBoYXMgdGhlIHNhbWUgcGlwZWxpbmUgaW50ZXJuYWxseSBhbmQgYWxyZWFkeSB1cGRhdGVzCgkgIHRoZSBjYXBzZmlsdGVyIGF1dG9tYXRpY2FsbHkgd2hlbiBjYXBzIGNoYW5nZSwgcmVtb3ZpbmcgdGhpcyBjb2RlCgkgIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyBhbmQgbWFraW5nIGl0IGNsZWFuZXIuCgoyMDE1LTA0LTI3IDIxOjE0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJICBkaWdpdGFsem9vbTogY2hhbmdlIHZpZGVvY3JvcCBwYXJhbWV0ZXJzIGJlZm9yZSBwYXNzaW5nIGNhcHMgZXZlbnQKCSAgQXZvaWRzIG9uZSBleHRyYSB1bmVlZGVkIHJlbmVnb3RpYXRpb24gaWYgdGhlIGVsZW1lbnRzIGFyZSBhbHJlYWR5CgkgIGNvbmZpZ3VyZWQgdG8gdGhlaXIgZmluYWwgcHJvcGVydHkgdmFsdWVzIHdoZW4gdGhlIGNhcHMgZXZlbnQKCSAgZ29lcyB0aHJvdWdoLgoJICBBbHNvIGF2b2lkcyBoaXR0aW5nIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzQ0CgoyMDE1LTA0LTIyIDEzOjA2OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJICBkaWdpdGFsem9vbTogYWxzbyBza2lwIGludGVybmFsIHBpcGVsaW5lIGluIHVwc3RyZWFtIGNhcHMgcXVlcnkKCSAgVG8gYXZvaWQgZ29pbmcgdGhyb3VnaCBvdXIgY2Fwc2ZpbHRlciB3aGljaCB3b3VsZCBsaW1pdCB0aGUgY2hvaWNlcy4KCjIwMTUtMDQtMjIgMTM6MDU6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkgIGRpZ2l0YWx6b29tOiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIGNhcHMgaXMgYW55CgoyMDE1LTA0LTIxIDIzOjEwOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uaDoKCSAgY2FtZXJhYmluOiBkaWdpdGFsem9vbTogY3JlYXRlIGEgYmluIGVsZW1lbnQgZm9yIGRpZ2l0YWwgem9vbWluZwoJICBJdCBjb250YWlucyB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlciBhbmQgaW1wbGVtZW50cyBkaWdpdGFsCgkgIHpvb21pbmcuCgkgIEF0IHRoaXMgbW9tZW50LCBpdCBpcyBhIHByaXZhdGUgZWxlbWVudCBvZiB0aGUgY2FtZXJhYmluIHBsdWdpbi4KCSAgVGhpcyB3aWxsIHJlbW92ZSBzb21lIGNvZGUgdXNlZCBpbiB3cmFwcGVyY2FtZXJhYmluc3JjIHRvIG1ha2UKCSAgY29kZSBjbGVhcmVyIGFuZCBkaWdpdGFsem9vbSBjYW4gcG90ZW50aWFsbHkgYmUgdXNlZCBieSBvdGhlcgoJICBhcHBsaWNhdGlvbnMgaW4gdGhlIGZ1dHVyZSwgaXQgaGFzIG5vdGhpbmcgY2FtZXJhYmluIHNwZWNpZmljLgoKMjAxNS0wNC0yNyAxMDoxMTo0MSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGVnbDogVXNlIG1heGltdW0gYml0cyBwZXIgY29sb3IgaW5zdGVhZCBvZiBtaW5pbXVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MjUKCjIwMTUtMDQtMjYgMjA6NTU6MDMgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NTogVzMyIHRocmVhZCBjb3VudCBzdXBwb3J0CgkgIFRoaXMgY29kZSBpcyBpbXBvcnRlZCBmcm9tIEdMaWIgZ19nZXRfbnVtX3Byb2Nlc3NvcnMoKS4gVGhpcyBmdW5jdGlvbgoJICB3YXMgYWRkZWQgaW4gMi4zNiBidXQgd2UgZGVwZW5kIG9uIDIuMzIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTUKCjIwMTUtMDQtMjYgMjE6MDA6MDYgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NTogRml4IGZvcm1hdCBzdHJpbmcgZm9yIGdzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTYKCjIwMTUtMDQtMjYgMjE6MDM6NDUgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFuZHNwOiBEb24ndCB1c2UgdGhlIHByaXZhdGUgZmllbGQgJ21pc3Npbmdfc2FtcGxlcycKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NwoKMjAxNS0wNC0yNyAxNDo1NjowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eSBlbnVtIGl0ZW0KCSAgVGhlIHByb3BlcnR5IGVudW0gaXRlbSBoYXMgYmVlbiB0aGVyZSBzaW5jZSB0aGUgb3JpZ2luIG9mIHRoZSBlbGVtZW50IGJ1dCBpdAoJICBoYXMgbmV2ZXIgYmVlbiB1c2VkLiBSZW1vdmluZyBpdC4KCjIwMTUtMDQtMjcgMTQ6NDk6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIGdsZmlsdGVyY3ViZTogRG9uJ3QgaW5pdGlhbGl6ZSBtdWx0aXBsZSBzaGFkZXJzIG9uIHJlbmVnb3RpYXRpb24KCjIwMTUtMDQtMjcgMTA6NTU6MTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIFJlbmFtZSBwcm9wZXJ0eSBlbnVtcyBmcm9tIEFSR18gdG8gUFJPUF8KCSAgUHJvcGVydHkgZW51bSBpdGVtcyBzaG91bGQgYmUgbmFtZWQgUFJPUF8gZm9yIGNvbnNpc3RlbmN5IGFuZCByZWFkYWJpbGl0eS4KCjIwMTUtMDQtMjcgMTA6MjQ6MDAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFJlbW92ZSB1bnVzZWQgc3RvcCBmdW5jdGlvbgoKMjAxNS0wNC0yNyAxNjowNDo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgcG9vbCBpbiB0aGUgY29ycmVjdCBwbGFjZQoJICBPdGhlcndpc2Ugd2UgY291bGQgaG9sZCBhIHBvb2wgdG8gYSBjb250ZXh0IHRoYXQgaXMgbmV2ZXIgZ29pbmcgdG8gYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNQoKMjAxNS0wNC0yNyAxMDowMTo1MyArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IFVucmVmIHNoYWRlciBpbiA6OnN0b3AoKQoKMjAxNS0wNC0yNyAxNToyMDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IHVucmVmIGRpc3BsYXkvb3RoZXItY29udGV4dCBpbiB0aGUgY29ycmVjdCBwbGFjZQoJICBPdGhlcndpc2Ugc3RhdGUgY2hhbmdlcyBmcm9tIFBMQVlJTkctPlJFQURZLT5QQVVTRUQgd2lsbCBjYXVzZSB0aGVyZSB0bwoJICB0byBiZSBubyBkaXNwbGF5IGNvbmZpZ3VyZWQgb24gdGhlIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDUKCjIwMTUtMDQtMTAgMTQ6MDg6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcwoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWctemFnIHNjYW4KCSAgb3JkZXIgaW50byByYXN0ZXIgc2NhbiBvcmRlciBhbmQgdmljZS12ZXJzYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE0OjA3OjU2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IHNraXAgYnl0ZSBhbGlnbm1lbnQgYml0cyB3aGlsZSBwYXJzaW5nIHNsaWNlIGhlYWRlcgoJICBTa2lwIHRoZSBieXRlIGFsaWdubWVudCBiaXRzIGFzIHBlciB0aGUgbG9naWMgb2YgYnl0ZV9hbGlnbm1lbnQoKQoJICBwcm92aWRlZCBpbiBoZXZjIHNwZWNpZmljYXRpb24uIFRoaXMgd2lsbCBmaXggdGhlIGNhbGN1bGF0aW9uIG9mCgkgIHNsaWNlIGhlYWRlciBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE0OjA3OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCB0aGUgTnVtRGVsdGFQb2NzIGNhbGN1bGF0aW9uCgkgIEFsd2F5cyB1c2UgdGhlIGVxdWF0aW9uIHByb3ZpZGVkIGluIHNwZWMgKDctNTcpIGZvciBmaW5kaW5nCgkgIHRoZSBOdW1EZWx0YVBvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNDowNDoxNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggdGhlIE51bVBvY1RvdGFsQ3VyciBjYWxjdWxhdGlvbgoJICBUaGUgTnVtUG9jVG9hbEN1cnIgc2hvdWxkIGJlIGNhbGN1bGF0ZWQgZm9yIGFsbCBCIGFuZCBQIHNsaWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxMzo1OTo1MCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggbmFsIHNpemUgY2FsY3VsYXRpb24gZm9yIEVPUyBhbmQgRU9CCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMjYgMjE6NDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogRGUtY2FtZWxjYXNlIG9uSW5pdEZCTygpIHZmdW5jCgoyMDE1LTA0LTI2IDIxOjM5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSBvblN0YXJ0L29uU3RvcCB2ZnVuY3MsIGFuZCB1bnVzZWQgb25SZXNldCgpCgkgIG9uU3RhcnQvb25TdG9wIGFyZSBqdXN0IGR1cGxpY2F0ZXMgb2YgdGhlIGJhc2V0cmFuc2Zvcm0gb25lcywgb25SZXNldAoJICB3YXMgbmV2ZXIgY2FsbGVkIGJ1dCB3YXMgdXNlZCBldmVyeXdoZXJlIHdoZW4gc3RvcCBzaG91bGQndmUgYmVlbiB1c2VkLgoKMjAxNS0wNC0yMSAwOTo0Mzo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZG9uJ3QgaW5pdGlhbGl6ZSBtdWx0aXBsZSBzaGFkZXJzIG9uIHJlbmVnb3RpYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNwoJICAqIGRlbGV0ZSBzaGFkZXIgaWYgb25lIGV4aXN0cwoJICAqIHNldCBpdCB0byBOVUxMIGFmdGVyIHVucmVmaW5nCgoyMDE1LTA0LTI2IDIxOjExOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6MjMwOjE5OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdpbl9zdHJ1Y3R1cmUnCgkgIFstV2Vycm9yLC1XdW51c2VkLXZhcmlhYmxlXQoJICBHc3RTdHJ1Y3R1cmUgKmluX3N0cnVjdHVyZSA9IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUgKGNhcHMsIDApOwoJICBeCgoyMDE1LTA0LTE1IDAxOjI0OjQ1ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRyb3AgZnJhbWVzIHdlIGdldCBiZWZvcmUgd2UgaGF2ZSBhIGNsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNTQKCjIwMTUtMDQtMjYgMjA6MzM6NDEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBVbnJlZiBvdGhlciBjb250ZXh0IGluIGZpbmFsaXplLCBhbmQgZGlzcGxheSBpbiBSRUFEWS0+TlVMTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA1CgoyMDE1LTA0LTE5IDE5OjE2OjU1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydDogS2VlcCBjb2xvcmltZXRyeSBhbmQgY2hyb21hLXNpdGUgZmllbGRzIGlmIHBhc3N0aHJvdWdoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxNDEKCjIwMTUtMDQtMjYgMTg6MDQ6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY1L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4YmFkL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBvYnNvbGV0ZSBBbmRyb2lkIGJ1aWxkIGNydWZ0CgkgIFRoaXMgaXMgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLgoKMjAxNS0wNC0xOSAwMDo1NTo1MCArMDkwMCAgWXVqaW4gTGVlIDxzYWRkb3BvcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgdnRkZWM6IGZpeCBidWlsZCBlcnJvciB3aXRoIGNsYW5nCgkgIFRoaXMgY29tbWl0IGZpeGVzIGEgc2ltcGxlIGJ1aWxkIGVycm9yIGJ5IGNsYW5nIHdpdGgKCSAgYnkgY2xhbmcgd2l0aCBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1wb2ludGVyLWNvbXBhcmVdIG9wdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMTAKCjIwMTUtMDQtMjYgMTk6MDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE9ubHkgYW5zd2VyIHRoZSBkdXJhdGlvbiBxdWVyeSBpbiBub24tbGl2ZSBtb2RlCgoyMDE1LTA0LTI1IDE4OjUwOjUyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IHRoZSBsaWNlbnNlIGZyb20gR1BMIHRvIExHUEwKCSAgVGhpcyB3YXMgYSBjb3B5J24ncGFzdGUgYnVmIGluIHRoZSBpbml0aWFsIGNvbW1pdCBkb25lIGJ5IG15c2VsZi4KCjIwMTUtMDQtMjUgMTg6NDY6NDEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IHRoZSBsaWNlbnNlIGZyb20gR1BMIHRvIExHUEwKCSAgVGhpcyB3YXMgYSBjb3B5J24ncGFzdGUgYnVmIGluIHRoZSBpbml0aWFsIGNvbW1pdCBkb25lIGJ5IG15c2VsZi4KCjIwMTUtMDQtMjUgMTM6Mzg6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHJlbW92ZSBHUEwzIGNvZGUgd2UgZG9uJ3QgbmVlZAoJICBJZiA5NSUgb2YgdGhlIGNvZGUgb2YgYW4gZXhhbXBsZSBhcHAgY29uc2lzdHMgb2YgR09iamVjdAoJICBjb2RlLCBtYXliZSB0aGF0J3MgZGVmZWF0aW5nIHRoZSBwb2ludCBhIGxpdHRsZS4gU28ganVzdAoJICByZW1vdmUgYSBsb3Qgb2YgdGhhdCBhbmQgdHJpbSBkb3duIHRoZSBleGFtcGxlIHRvIHRoZQoJICBhYnNvbHV0ZSBtaW5pbXVtLiBBbHNvIHJlbW92ZXMgdGhlIGxhc3QgcmVtYWluaW5nIEdQTDMKCSAgbGljZW5zZWQgY29kZSBpbiAtYmFkLgoKMjAxNS0wNC0yNSAxMjo1MjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiBzaW1wbGlmeSBwcm9wZXJ0eSBzZXR0aW5nCgoyMDE1LTA0LTI1IDEyOjQ4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHBvcnQgdG8gMS54CgoyMDE0LTExLTIwIDAwOjMzOjQ0ICswMTAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogcmVsaWNlbnNlIG9wZW5jdiBleGFtcGxlIHRvIExHUEx2MgoKMjAxNS0wNC0yNCAxNDowNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGFkZCB0ZXN0cyBmb3IgR3N0UGhvdG9ncmFwaHkgaW1hZ2UgY2FwdHVyZQoJICBHc3RQaG90b2dyYXBoeSBlbmFibGVzIG5ldyBwYXRocyBpbiB3cmFwcGVyY2FtZXJhYmluc3JjIHRoYXQgYWxsb3dzCgkgIHRoZSBzb3VyY2UgdG8gYmUgbm90aWZpZWQgYWJvdXQgdGhlIGNhcHR1cmUgY2FwcyBhbmQgcHJvdmlkZSBhbgoJICBhbHRlcm5hdGl2ZSBjYXBzIGlmIGRlc2lyZWQgYnlwYXNzaW5nIHRoZSBuZWdvdGlhdGlvbiAodGhpcyBkb2Vzbid0CgkgIHNlZW0gbGlrZSBhIGdvb2QgaWRlYSB0aGVzZSBkYXlzKS4gVG8gbWFrZSBzdXJlIGl0IGtlZXBzIHdvcmtpbmcKCSAgdW50aWwgd2UgcmVtb3ZlIGl0IGZyb20gdGhlIEFQSSBpbiBmYXZvciBvZiBzdGFuZGFyZCBjYXBzIG5lZ290aWF0aW9uCgkgIGZlYXR1cmVzIHRoaXMgdGVzdCB3YXMgYWRkZWQuCgkgIEl0IGFkZHMgMyBleHRyYSB0ZXN0cyB3aXRoIGEgc2ltcGxlIHRlc3Qgc291cmNlIHRoYXQgd2lsbDoKCSAgMSkgVGVzdCB0aGF0IGNhcHR1cmluZyB3aXRoIEFOWSBjYXBzIHdvcmsKCSAgMikgVGVzdCB0aGF0IGNhcHR1cmluZyB3aXRoIGEgZml4ZWQgY2FwcyB3b3JrCgkgIDMpIFRlc3QgdGhhdCBjYXB0dXJpbmcgd2l0aCBhIGZpeGVkIGNhcHMgYW5kIGhhdmluZyB0aGUgc291cmNlCgkgIHBpY2sgYSBkaWZmZXJlbnQgcmVzb2x1dGlvbiBmcm9tIEdzdFBob3RvZ3JhcGh5IEFQSSB3b3JrcwoJICBieSBoYXZpbmcgd3JhcHBlcmNhbWVyYWJpbnNyYyBjcm9wIHRoZSBjYXB0dXJlIHRvIHRoZSBmaW5hbAoJICByZXF1ZXN0ZWQgZGltZW5zaW9ucwoKMjAxNS0wNC0yNCAxNDoxOTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJld29yayBjcm9wcGluZyBmb3Igem9vbSBhbmQgZGltZW5zaW9uIHJlZHVjdGlvbgoJICB3cmFwcGVyY2FtZXJhYmluc3JjIGhhcyBhIHZpZGVvY3JvcCBlbGVtZW50IHRvIGJlIHVzZWQgZm9yCgkgIHpvb21pbmcgYW5kIGZvciBjcm9wcGluZyB3aGVuIGlucHV0IGNhcHMgaXMgZGlmZmVyZW50IHdoZW4gdXNlZAoJICB3aXRoIHRoZSBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UuIFRoZSB6b29taW5nIHBhcnQgbmVlZHMKCSAgdGhlIGZvbGxvd2luZyBlbGVtZW50czoKCSAgY2Fwc2ZpbHRlciAhIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyCgkgIFRoZSBjYXBzZmlsdGVycyBzaG91bGQgYWx3YXlzIGhhdmUgdGhlIHNhbWUgY2FwcyB0byBlbnN1cmUgdGhlCgkgIHpvb21pbmcgaXMgZG9uZSBhbmQgcHJlc2VydmVzIGRpbWVuc2lvbnMsIHVubGVzcyB3aGVuIGl0IGlzIG5lZWRlZAoJICB0byBkbyBtb3JlIGNyb3BwaW5nIGR1ZSB0byBpbnB1dCBkaW1lbnNpb25zIHRob3NlIGNhcHMKCSAgbmVlZCB0byBiZSBtb2RpZmllZCBhY2NvcmRpbmdseSB0byBwcmVzZXJ2ZSB0aGUgb3V0cHV0IGRpbWVuc2lvbnMuCgkgIFRoaXMsIGhvd2V2ZXIsIG1ha2VzIGl0IGhhcmQgdG8gZ2V0IGNhcHMgbmVnb3RpYXRpb24gdG8gd29yayBwcm9wZXJseQoJICBhcyB3ZSBuZWVkIHRvIGhhdmUgZGlmZmVyZW50IGNhcHMgaW4gdGhlIGNhcHNmaWx0ZXJzIHRvIGFjY291bnQgZm9yCgkgIHRoZSBleHRyYSBjcm9wcGluZyBuZWVkZWQuIEl0IGNvdWxkIGJlIHNpbXBsZSBmb3IgZml4ZWQgY2FwcyBidXQgaXQKCSAgZ2V0cyB0cmlja3kgd2l0aCB1bmZpeGVkIG9uZXMuCgkgIFRvIHNvbHZlIHRoaXMsIHRoaXMgcGF0Y2ggc3BsaXRzIHRoZSB6b29taW5nIGFuZCBkaW1lbnNpb24gcmVkdWN0aW9uCgkgIGNyb3BwaW5nIGludG8gMiBzZXBhcmF0ZSB2aWRlb2Nyb3AgZWxlbWVudHMuIFRoZSBmaXJzdCBvbmUgZG9lcwoJICB0aGUgZGltZW5zaW9uIGNyb3BwaW5nLCB3aGljaCBpcyBvbmx5IG5lZWRlZCB3aGVuIHRoZSBHc3RQaG90b2dyYXBoeQoJICBBUEkgaXMgdXNlZCBhbmQgdGhlIHNvdXJjZSBwcm92aWRlcyBhIGNhcHMgdGhhdCBpcyBkaWZmZXJlbnQgdGhhbgoJICB3aGF0IGlzIHJlcXVlc3RlZCwgd2hpbGUgdGhlIHNlY29uZCBpcyBkZWRpY2F0ZWQgdG8gem9vbSBjcm9wIG9ubHkuCgkgIFRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBwaXBlbGluZSBnb2VzIGZyb206CgkgIHNyYyAhIHZpZGVvY29udmVydCAhIGNhcHNmaWx0ZXIgISB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlcgoJICB0bwoJICBzcmMgISB2aWRlb2Nyb3AgISB2aWRlb2NvbnZlcnQgISBjYXBzZmlsdGVyICEgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIKCSAgSXQgbWlnaHQgYWRkIGFuIGV4dHJhIG92ZXJoZWFkIGluIHRoZSBpbWFnZSBjYXB0dXJlIGFzIHRoZSBpbWFnZSBtaWdodCBuZWVkCgkgIHRvIGJlIGNyb3BwZWQgdHdpY2UgYnV0IHRoaXMgY2FuIGJlIHNvbHZlZCBieSBlbmFibGluZyB2aWRlb2Nyb3AgdG8gdXNlCgkgIGNyb3AgbWV0YXMgc28gb25seSB0aGUgbGF0ZXIgb25lIGRvZXMgdGhlIHJlYWwgY3JvcHBpbmcuCgkgIEl0IGFsc28gbWFrZXMgdGhlIGNvZGUgYSBiaXQgc2ltcGxlci4KCjIwMTUtMDQtMjQgMTQ6MTc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQKCSAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgaW4gYW5vdGhlciBwbGFjZSBhbmQgZG9lc24ndCBtYWtlIHNlbnNlCgkgIGluIHRoZSBmdW5jdGlvbiBjb250ZXh0IGFueW1vcmUKCjIwMTUtMDQtMjQgMTQ6MTY6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZXJyb3Igb3V0IGlmIHNvdXJjZSBmYWlscyB0byBwcmVwYXJlIGZvciBjYXB0dXJlCgkgIFBvc3QgYW4gZXJyb3Igd2hlbiBwcmVwYXJpbmcgdGhlIGltYWdlIGNhcHR1cmUgdGhyb3VnaCBwaG90b2dyYXBoeQoJICBpbnRlcmZhY2UgZmFpbHMKCjIwMTUtMDQtMjQgMTQ6MTM6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogaW50ZXJzZWN0IGluc3RlYWQgb2YgY29tcGFyZSBmb3IgZXF1YWxpdHkKCSAgSW50ZXJzZWN0IGlzIGVub3VnaCB0byBjaGVjayBpZiB0aGUgcmVxdWVzdGVkIGNhcHMgYXJlIGNvbXBhdGlibGUKCSAgd2l0aCB3aGF0IHRoZSBzb3VyY2UgaXMgZ29pbmcgdG8gcHJvdmlkZS4gRXF1YWxpdHkgd2lsbCBiZSB0b28gc3RyaWN0LgoKMjAxNS0wNC0yNCAxNDoxMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggdHlwbwoKMjAxNS0wNC0yNCAwMjoyMjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdGVzdHM6IHJlbW92ZSB1bnVzZWQgbWFjcm9zCgkgIFRob3NlIG1hY3JvcyB3ZXJlIHdpdGggdGhlIHdyb25nIG5hbWUgKGxpa2VseSBhIGNvcHkgbiBwYXN0ZSBtaXN0YWtlKQoJICBhbmQgd2VyZSB1bnVzZWQuCgoyMDE1LTA0LTIzIDE0OjI4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVtb3ZlIG9ic29sZXRlIGNoZWNrIGZvciAwLjEwIGZlYXR1cmUKCjIwMTUtMDQtMjQgMTY6NDg6MjMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgcmVtb3ZlIHVudXNlZCBlbnVtIGl0ZW1zIFBST1BfTEFTVAoJICBUaGlzIHdlcmUgcHJvYmFibHkgYWRkZWQgdG8gdGhlIGVudW1zIGR1ZSB0byBjYXJnbyBjdWx0IHByb2dyYW1taW5nIGFuZCBhcmUKCSAgdW51c2VkLgoKMjAxNS0wNC0yNCAxNzoxMzoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBiYWxhbmNlIGNoYW5nZV9zdGF0ZSBkaXNwbGF5IHJlZi91bnJlZgoJICB0aGUgZGlzcGxheSB3YXMgYmVpbmcgdW5yZWZmZWQgb24gdGhlIGluY29ycmVjdCBzdGF0ZSBjaGFuZ2UgY2F1c2luZwoJICBpbnZhbGlkIHN0YXRlIHdoZW4gY2hhbmdpbmcgZnJvbSBQTEFZSU5HL1BBVVNFRC0+UkVBRFktPlBBVVNFRC9QTEFZSU5HLgoKMjAxNS0wNC0yMyAxNzo0MzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRG9uJ3QgY2xhaW0gdG8gYmUgbGl2ZSB3aGVuIGFuc3dlcmluZyB0aGUgTEFURU5DWSBxdWVyeQoJICBFdmVuIGZvciAibGl2ZSIgc3RyZWFtcyB3ZSBhcmUgbm90IGxpdmUgaW4gdGhlIEdTdHJlYW1lciBtZWFuaW5nIG9mIHRoZSB3b3JkLgoJICBXZSBkb24ndCBwcm9kdWNlIGJ1ZmZlcnMgdGhhdCBhcmUgdGltZXN0YW1wZWQgYmFzZWQgb24gdGhlaXIgImNhcHR1cmUgdGltZSIKCSAgYW5kIG91ciBjbG9jaywgYnV0IGp1c3QgYmFzZWQgb24gd2hhdGV2ZXIgdGltZXN0YW1wcyB0aGUgc3RyZWFtIG1pZ2h0IGNvbnRhaW4uCgkgIEFsc28gZXZlbiBpZiB3ZSB3YW50ZWQgdG8gY2xhaW0gdG8gYmUgbGl2ZSwgdGhhdCB3b3VsZG4ndCB3b3JrIHdlbGwgYXMgd2UKCSAgd291bGQgaGF2ZSB0byByZXR1cm4gR1NUX1NUQVRFX0NIQU5HRV9OT19QUkVST0xMIHdoZW4gZ29pbmcgZnJvbSBSRUFEWSB0bwoJICBQQVVTRUQsIHdoaWNoIHdlIGNhbid0LiBXZSBmaXJzdCBuZWVkIGRhdGEgdG8ga25vdyBpZiB3ZSBhcmUgImxpdmUiIG9yIG5vdC4KCjIwMTUtMDQtMjMgMTc6Mzk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFVzZSB0aGUgZG93bmxvYWRlciBvZiB0aGUgYmFzZSBjbGFzcyBpbnN0ZWFkIG9mIGNyZWF0aW5nIG91ciBvd24KCSAgVGhlIG9uZSBvZiB0aGUgYmFzZSBjbGFzcyBpcyBjb21wbGV0ZWx5IHVudXNlZCBiZWNhdXNlIHdlIG92ZXJyaWRlIGFsbAoJICB0aGUgZG93bmxvYWRpbmcgaGVyZSwgc28gbGV0J3MganVzdCB1c2UgdGhhdCBvbmUgaW5zdGVhZC4KCjIwMTUtMDQtMjMgMTc6MzY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IERvbid0IGVycm9yIG91dCBpZiB3ZSBjYW4ndCBtYXRjaCB2YXJpYW50IHBsYXlsaXN0cyBhZnRlciB1cGRhdGluZwoJICBJdCdzIGJldHRlciB0byBqdXN0IHNlbGVjdCBzb21lIHJhbmRvbSB2YXJpYW50IHBsYXlsaXN0IGluc3RlYWQgb2Ygc3RvcHBpbmcsCgkgIGNoYW5jZXMgYXJlIHRoYXQgaXQncyBzdGlsbCBjb250aW51aW5nIHRvIHdvcmsgYW5kIHdlIG1pZ2h0IGp1c3QgaGF2ZSB0bwoJICBzZWxlY3QgYSBkaWZmZXJlbnQgdmFyaWFudCBhZ2FpbiBsYXRlci4KCjIwMTUtMDQtMjMgMTc6MzM6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggaG93IHRoZSBwbGF5bGlzdHMgYXJlIHJlZnJlc2hlZAoJICBXZSBzaG91bGQgb25seSByZWZyZXNoIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdmFyaWFudCBwbGF5bGlzdCAoaWYgYW55LAoJICBvdGhlcndpc2UgdGhlIG1haW4gcGxheWxpc3QpLCBub3QgdGhlIG1haW4gcGxheWxpc3QuIEFuZCBvbmx5IHRyeSB0bwoJICByZWZyZXNoIHRoZSBtYWluIHBsYXlsaXN0IGlmIHVwZGF0aW5nIHRoZSB2YXJpYW50IHBsYXlsaXN0IGZhaWxzLgoJICBTb21lIHNlcnZlcnMgKFdvd3phKSB1c2UgdGhlIHJlcXVlc3Qgb2YgdGhlIG1haW4gcGxheWxpc3QgdG8gY3JlYXRlIGEKCSAgInNlc3Npb24iLCB3aGljaCBpcyB0aGVuIHBhcnQgb2YgdGhlIFVSSSBvZiB0aGUgdmFyaWFudCBwbGF5bGlzdCBhbmQKCSAgYWxzbyB0aGUgZnJhZ21lbnRzLiBSZWZyZXNoaW5nIHRoZSBtYWluIHBsYXlsaXN0IHdvdWxkIGdlbmVyYXRlIGEgbmV3CgkgIHNlc3Npb24sIGFuZCB0aGUgc2VydmVyIHJhdGUgbGltaXRzIHRoYXQgdXN1YWxseS4gQW5kIGFmdGVyIGEgZmV3IHJldHJpZXMKCSAgdGhlIHNlcnZlciBqdXN0IGtpY2tzIHVzIG91dC4KCSAgQWxzbyBhcyBhIHNpZGUgZWZmZWN0IHdlIG5vdyB1c2UgdGhlIHNhbWUgZG93bmxvYWRlciBmb3IgYWxsIHBsYXlsaXN0cywgc28KCSAgdGhhdCB3ZSBvbmx5IGhhdmUgMiBpbnN0ZWFkIG9mIDMgY29ubmVjdGlvbnMgdG8gdGhlIHNlcnZlci4gQW5kIGFsc28KCSAgcHJldmlvdXNseSB3ZSBqdXN0IGlnbm9yZWQgdGhlIGRvd25sb2FkZWQgZGF0YSBmcm9tIHRoZSBtYWluIHBsYXlsaXN0IHRoYXQKCSAgdGhlIGJhc2UgY2xhc3MgZ2F2ZSB0byB1cy4KCjIwMTUtMDQtMjMgMTc6MjI6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEFsbG93IHN1YmNsYXNzZXMgdG8gb3ZlcnJpZGUgaG93IGEgbmV3IG1hbmlmZXN0IHdvdWxkIGJlIGRvd25sb2FkZWQKCjIwMTUtMDQtMjMgMTc6MDI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogRXhwb3NlIGRvd25sb2FkZXIKCSAgVGhpcyBhbGxvd3Mgc3ViY2xhc3NlcyB0byB1c2UgaXQgYW5kIHNoYXJlIGNvbm5lY3Rpb25zIGlmIHBvc3NpYmxlLgoKMjAxNS0wNC0yMyAxNjo0MzoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDE1LTA0LTIzIDE2OjQwOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkZWZpbmUgR1NUX0NIRUNLX1RFU1RfRU5WSVJPTk1FTlRfQkVBQ09OCgkgIE1ha2Ugc3VyZSB0aGUgdGVzdCBlbnZpcm9ubWVudCBpcyBzZXQgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjI0CgoyMDE1LTA0LTIzIDE2OjM5OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xNCBhbmQgYXV0b2NvbmYgdG8gMi42OQoJICBUaGlzIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGJ1aWxkcyBmcm9tIGdpdCwgcGVvcGxlIGNhbiBzdGlsbAoJICBidWlsZCB0YXJiYWxscyBpZiB0aGV5IG9ubHkgaGF2ZSBvbGRlciBhdXRvdG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjI0CgoyMDE1LTA0LTIzIDE2OjQ3OjQwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZDogUmVsZWFzZSBnbHVwbG9hZCBidWZmZXIgd2hlbiBjYXBzIGFyZSBjaGFuZ2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzEKCjIwMTUtMDQtMjMgMTE6NDc6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJICBnYXVkaTogZG9uJ3QgcnVuIGdhdXNzaWFuIGZ1bmN0aW9uIGlmIHNpZ21hIGlzIDAKCjIwMTUtMDQtMjIgMTk6Mjg6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSB0b28gc2hvcnQgc2VnbWVudHMKCSAgV2hlbiB0aGUgc2VnbWVudCBpcyB2ZXJ5IHNob3J0IGl0IG1pZ2h0IGJlIHRoZSBjYXNlIHRoYXQgdGhlCgkgIHR5cGVmaW5kaW5nIGZhaWxzIGFuZCB3aGVuIGZpbmlzaGluZyB0aGUgc2VnbWVudCBobHNkZW11eCB3b3VsZAoJICBjb25zaWRlciB0aGUgcmVtYWluaW5nIGRhdGEgKHBlbmRpbmdfYnVmZmVyKSBhcyBhbiBlbmNyeXB0aW9uCgkgIGxlZnRvdmVyLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGFuZCBtYWtlcyBzdXJlIGFuIGVycm9yIGlzIHByb3Blcmx5IHBvc3RlZAoJICBpZiB0eXBlZmluZCBmYWlsZWQgYnkgcmVmYWN0b3JpbmcgYnVmZmVyIGhhbmRsaW5nIHRvIGEgZnVuY3Rpb24KCSAgYW5kIHVzaW5nIGl0IGZyb20gdGhlIGRhdGFfcmVjZWl2ZWQgYW5kIGZpbmlzaF9mcmFnbWVudCBmdW5jdGlvbnMuCgoyMDE1LTA0LTIyIDE5OjA0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1c2UgY29ycmVjdCB2YXJpYWJsZSB0eXBlCgkgIGdzdF9idWZmZXJfcmVzaXplIG5lZWRzIGdzc2l6ZSBhbmQgbm90IGdzaXplLiBUaGlzIG1ha2VzIGdkYgoJICBwcmludCBpdCBjb3JyZWN0bHkgd2hlbiBkZWJ1Z2dpbmcuCgoyMDE1LTA0LTIyIDE3OjA4OjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IGZpeCBtb2RlIGF1dG9kZXRlY3Rpb24KCSAgVGhlIGF1dG9kZXRlY3Rpb24gbW9kZSB3YXMgYnJva2VuIGJlY2F1c2UgYSByYWNlIGNvbmRpdGlvbiBpbiB0aGUgaW5wdXQgbW9kZQoJICBzZXR0aW5nLiBUaGUgbW9kZSBjb3VsZCBiZSByZXZlcnRlZCBiYWNrIHdoZW4gaXQgd2FzIHJlcGxhY2VkIGluCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGJ5IHRoZSBvbGQgbW9kZSBpbiB0aGUgbWlkZGxlIG9mIG1vZGUgY2hhbmdlZCBjYWxsYmFjay4KCjIwMTUtMDQtMjIgMTc6MDQ6MjUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBkbyBub3QgcmVwZWF0IGZpcnN0IHZpZGVvIGZvcm1hdCBpbiBjYXBzIHRlbXBsYXRlCgkgIFRoZSBmaXJzdCBlbnRyeSBpbiB0aGUgbW9kZXMgYXJyYXkgaXMgdXNlZCBhcyBkZWZhdWx0IG1vZGUgZm9yIGF1dG9kZXRlY3Rpb24uCgkgIFRoZXJlJ3Mgbm8gbmVlZCB0byBjb3B5IGl0IGludG8gdGhlIGNhcHMgdGVtcGxhdGUuCgoyMDE1LTA0LTIyIDE1OjA0OjAzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGk6IGZpeCB0byAzMDc4MGRiMQoJICBUaGUgc2Vjb25kIGNoZWNrIGZvciAoZmFjdG9yID09IDApIGNyZWVwZWQgaW4gdGhlIGxhc3QgY29tbWl0LgoJICBBcG9sb2dpZXMuCgoyMDE1LTA0LTIyIDE0OjMwOjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGk6IGZpeCBleGNsdXNpb24ncyBmYWN0b3IgcmFuZ2UKCSAgQXZvaWQgZGl2aWRpbmcgYnkgemVybyB3aGVuIHRoZSBmYWN0b3IgaXMgemVyby4gSW5zdGVhZCwgb3V0cHV0IGEgYnVmZmVyIHdpdGgKCSAgYWxsIGNvbG9yIHZhbHVlcyBhcyB6ZXJvLgoKMjAxNS0wNC0yMiAxNDoxNToxMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGk6IHJlbW92ZSBmbG9vciB2YXJpYWJsZSBpbiBzb2xhcml6ZQoJICBGbG9vciB2YXJpYWJsZSBoYXMgbm8gZWZmZWN0IGFuZCBpdCBpc24ndCB3b3J0aCBpdCB0byBoYXZlIGl0IGFkanVzdGFibGUuCgoyMDE1LTA0LTIyIDEzOjU1OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaTogcmVtb3ZlIHVudXNlZCBwcm9wZXJ0eQoKMjAxNS0wNC0yMiAxODo1NDo0NSArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBQb3NzaWJsZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgV2hpbGUgcHJpbnRpbmcgZXJyb3IgbWVzc2FnZSB3aGVuIGNvbnRleHQgZmFpbHMsIGVycm9yIHZhcmlhYmxlIGlzIG5vdCBiZWluZyB1c2VkIGFueW1vcmUKCSAgc28gaXQgd2lsbCBsZWFkIHRvIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mjg3CgoyMDE1LTA0LTIyIDEwOjM4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogSU5TVEFMTDoKCSAgUmVtb3ZlIElOU1RBTEwgZmlsZQoJICBhdXRvdG9vbHMgYXV0b21hdGljYWxseSBnZW5lcmF0ZSB0aGlzLCBhbmQgd2hlbiB1c2luZyBkaWZmZXJlbnQgdmVyc2lvbnMKCSAgZm9yIGF1dG9nZW4uc2ggdGhlcmUgd2lsbCBhbHdheXMgYmUgY2hhbmdlcyB0byBhIGZpbGUgdHJhY2tlZCBieSBnaXQuCgoyMDE1LTA0LTIyIDEwOjM4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkgIFJlbW92ZSBMSUNFTlNFX3JlYWRtZQoJICBJdCdzIGNvbXBsZXRlbHkgb3V0ZGF0ZWQgYW5kIGp1c3QgY29uZnVzaW5nLCBiZXR0ZXIgaWYgcGVvcGxlIGFyZQoJICBmb3JjZWQgdG8gbG9vayBhdCB0aGUgYWN0dWFsIGNvZGUgaW4gcXVlc3Rpb24gdGhhbiB0cnVzdGluZyB0aGlzIGZpbGUuCgoyMDE1LTA0LTIxIDIyOjA0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBzdG9wIGFsbCB0YXNrcyBhbmQgc3RyZWFtcyBmcm9tIHRoZSB1cGRhdGUgdGFzayBvbiBlcnJvcnMKCSAgSXQgd2lsbCBkZWFkbG9ja3MgYXMgd2Ugd2lsbCB0aGVuIGpvaW4oKSB0aGUgdXBkYXRlIHRhc2sgZnJvbSBpdHNlbGYuIEluc3RlYWQKCSAganVzdCBwb3N0IGFuIGFjdHVhbCBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgYW5kIG9ubHkgc3RvcCB0aGUgdXBkYXRlIHRhc2suCgkgIFRoZSBhcHBsaWNhdGlvbiBpcyB0aGVuIHJlc3BvbnNpYmxlIGZvciBzaHV0dGluZyBkb3duIHRoZSBlbGVtZW50LCBhbmQgdGh1cwoJICBhbGwgdGhlIG90aGVyIHRhc2tzIGFuZCBldmVyeXRoaW5nLCBiYXNlZCBvbiB0aGUgZXJyb3IgbWVzc2FnZSBpdCBnZXRzLgoKMjAxNS0wNC0yMSAxODoyOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBzZWVraW5nCgkgIFdlIGFsc28gaGF2ZSB0byB1cGRhdGUgdGhlIGN1cnJlbnRfZmlsZSBHTGlzdCBwb2ludGVyIGluIHRoZSBNM1UgcGxheWxpc3QKCSAgY2xpZW50LCBvdGhlcndpc2Ugd2UgYXJlIGp1c3QgY29udGludWluZyBwbGF5YmFjayBmcm9tIHRoZSBjdXJyZW50IHBvc2l0aW9uCgkgIGluc3RlYWQgb2Ygc2Vla2luZy4KCjIwMTUtMDQtMjEgMTg6MDU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBjYWxsIHVubG9jaygpIGp1c3QgdG8gY2FsbCBsb2NrKCkgaW1tZWRpYXRlbHkgYWZ0ZXJ3YXJkcwoKMjAxNS0wNC0yMCAwODoyMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZXNldCB6b29tIGVsZW1lbnQgY2FwcyB0byBnbyB0byB2aWV3ZmluZGVyIG1vZGUKCSAgQXZvaWRzIG5vdC1uZWdvdGlhdGVkIGZhaWx1cmVzIHJlbGF0ZWQgdG8gdXNpbmcgaW1hZ2UgY2FwdHVyZSBjYXBzCgkgIHN0aWxsIHdoZW4gYWRqdXN0aW5nIHRvIGdvIGJhY2sgdG8gdmlld2ZpbmRlci4KCjIwMTUtMDQtMjAgMDg6MjA6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBhZGQgdGVzdCBmb3IgY2FwdHVyZSB3aXRoIGRpZmZlcmVudCBjYXBzCgkgIEFkZHMgYSB0ZXN0IHRvIHZlcmlmeSB0aGF0IHZpZXdmaW5kZXIgYW5kIGltYWdlIGNhcHR1cmUgY2FwcwoJICBjYW4gYmUgc2V0IHRvIG5vbi1pbnRlcnNlY3RpbmcgY2FwcyBhbmQgc3RpbGwgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg2OAoKMjAxNS0wNC0yMCAwODo0Mjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggbGVhayBvZiBkcmFpbiBxdWVyeQoJICBnc3RfcGFkX3BlZXJfcXVlcnkgZG9lc24ndCB0YWtlIG93bmVyc2hpcCBvZiB0aGUgcXVlcnkgb2JqZWN0CgoyMDE1LTA0LTIwIDA4OjQyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVmYWN0b3IgaW50ZXJuYWwgcGlwZWxpbmUKCSAgUmVtb3ZlIHRlZSBhbmQgb3V0cHV0LXNlbGVjdG9yIGFuZCBqdXN0IGxpbmsgdGhlIHNvdXJjZQoJICBwYWQgdG8gdGhlIG91dHB1dHMgd2Ugd2FudCBhcyBuZWVkZWQuCgkgIFRoZSB3YXkgd2UgbmVlZCB0byBwcmlvcml0aXplIGNhcHMgbmVnb3RpYXRpb24gYW5kIGFsbG9jYXRpb24KCSAgcXVlcmllcyBkZXBlbmRpbmcgb24gdGhlIG1vZGUgZW5hYmxlZCBpcyB0b28gY3VzdG9tIHRvIGJlCgkgIGhhbmRsZWQgdXNpbmcgdGVlIGFuZCBvdXRwdXQtc2VsZWN0b3IuCgkgIFRoaXMgcHJvdmlkZXMgbW9yZSBmbGV4aWJpbGl0eSBhbmQgZG9lc24ndCBnZXQgaW4gdGhlIHdheSBvZiBwcm9wZXIKCSAgaGFuZGxpbmcgb2YgbmVnb3RpYXRpb24gYW5kIGFsbG9jYXRpb24gcXVlcmllcy4KCjIwMTUtMDQtMDUgMjA6MTg6NTYgKzAyMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogQ3JlYXRlIGVsZW1lbnQgZm9yIGVhY2ggZWZmZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjIgMTE6MjI6NTIgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBNZXJnZSBsYXBsYWNpYW4gZmlsdGVyIGludG8gZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIyIDExOjIwOjQ5ICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBNZXJnZSBzb2JlbCBmaWx0ZXIgaW50byBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjIgMTE6MTM6MzAgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IE1lcmdlIGJsdXIgZmlsdGVyIGludG8gZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIxIDIzOjUwOjMzICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBnbGVmZmVjdHM6IENvcnJlY3QgYXR0cmlidXRlcyBmb3IgaGNvbnYgYW5kIHZjb252IHNoYWRlcnMKCSAgV2lkdGggYW5kIGhlaWdodCB3ZXJlIHN3aXRjaGVkIGZvciBnbG93IHNoYWRlcnMuIEZvciBibHVyCgkgIGZpbHRlciBhdHRyaWJ1dGVzIG5hbWVzIHdlcmUgb2Jzb2xldGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjEgMjM6MjE6MTMgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzOiBGaXggZmlzaGV5ZSBzaGFkZXIgLSBwYXNzIGZsb2F0IHRvIHNxcnQKCSAgT24gT1NYIHBhc3NpbmcgbGl0ZXJhbCBpbnQgdG8gc3FydCgpIGluIEdMU0wgcmVzdWx0cyBpbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wNC0yMSAwNzoyODo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZml4IHNoYWRlciBtZW1vcnkgbGVhawoKMjAxNS0wNC0yMSAxMjoyNToxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiB0cmFjayBjb250ZXh0IGFjdGl2YXRpb24gcHJvcGVybHkKCSAgV2Ugb25seSBuZWVkIHRvIGRlYWN0aXZhdGUvcmVhY3RpdmF0ZSB0aGUgY29udGV4dCBpZmYgaXQgd2FzIGFscmVhZHkKCSAgYWN0aXZlLgoKMjAxNS0wNC0yMSAxMjoxOTo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2xkaXNwbGF5OiBzeW5jaHJvbml6ZSB0aGUgc2VhcmNoaW5nIGFuZCBjcmVhdGlvbiBvZiBHc3RHTENvbnRleHQncwoJICBPb3RoZXJ3aXNlIHdlIGNvdWxkIGVuZCB1cCB3aXRoIG11bHRpcGxlIGVsZW1lbnRzIGluIGRpZmZlcmVudCBjaGFpbnMKCSAgZWFjaCBjcmVhdGluZyBhIGNvbnRleHQuICBGaXhlcyBjb250ZXh0IGNyZWF0aW9uIHdpdGggZ2x2aWRlb21peGVyLgoKMjAxNS0wNC0yMCAxNDozNToxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUmVtb3ZlIGRlYWQgY29kZQoJICBUaGUgZGV0ZWN0aW9uIGZvciBtaXNzaW5nIGZvcm1hdC9hbGlnbm1lbnQgaXMgZG9uZSB3YXkgYmVmb3JlIHRoaXMKCSAgY29kZXBhdGggaXMgcmVhY2hlZCAoYXQgd2hpY2ggcG9pbnQgd2UgaGF2ZSBhbHJlYWR5IGRlY2lkZWQgb2YgYQoJICBmb3JtYXQgYW5kIGFsaWdubWVudCkuCgkgIENJRCAjMTIzMjgwMAoKMjAxNS0wMS0wNyAxNjoyNjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgVmFyaWFibGUgaGFuZHMgaXMgYWxyZWFkeSBjaGVja2VkIHRvIGNvbnRhaW4gYSB2YWx1ZSBwcmV2aW91c2x5IGF0IHRoZSBiZWdpbm5pbmcKCSAgb2YgdGhlIGN1cnJlbnQgYmxvY2suIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW4uIFRoaXMgaXMgbG9naWNhbGx5IGRlYWQgY29kZS4KCSAgQ0lEIDExOTc2OTMKCjIwMTUtMDQtMjAgMTQ6MjA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRW5zdXJlIHN0cmluZyByZWNlaXZlZCBmcm9tIHJlY3YoKSBpcyBOVUxMLXRlcm1pbmF0ZWQKCSAgV2Ugd2lsbCBiZSBkb2luZyBzdHJpbmcgb3BlcmF0aW9ucyBvbiBpdCBsYXRlci4KCSAgQ0lEICMxMjkyODMwCgoyMDE1LTA0LTIwIDExOjMwOjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY2xlYW4gYXNzaWdubWVudCB0eXBvCgkgIE5vIG5lZWQgdG8gc2V0IHRoZSB2YWx1ZSB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoJICBDSUQgIzI5NTEyMgoKMjAxNS0wNC0yMCAxMDo1Nzo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUKCSAgcG9zaXRpb24gb2YgR3N0U2VnbWVudCBpcyBhbiB1bnNpZ25lZCBpbnQ2NCwgaXQgY2FuIG5ldmVyIGJlIGJlbG93IHplcm8uCgkgIENJRCAjMTI5NTEyMwoKMjAxNS0wMi0wOSAxMToyOTo0NiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IGV4Y2VwdGlvbiB3aGVuIGJsb2NrIHdpZHRoIHRvIDAKCSAgV2hlbiBibG9jayB3aWR0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgZXhjZXB0aW9uIG9jY3Vycy4KCSAgVGhpcyBoYXBwZW5zIGR1ZSB0byBkaXZpZGUgYnkgemVybyBlcnJvcnMgaW4gY2FsY3VsYXRpb25zLgoJICBibG9jayB3aWR0aCBwcm9wZXJ0eSBjYW4gbmV2ZXIgYmUgMC4gSGVuY2UgYWRqdXN0aW5nIHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxODgKCjIwMTUtMDQtMTUgMTU6MjI6MzcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZml4IGNhcHMgbGVhayBpbiBnc3RfZ2xfbWl4ZXJfcGFkX3NpbmtfZ2V0Y2FwcygpCgkgIENhcHMgcmVmY291bnRpbmcgd2FzIGFsbCB3cm9uZyBpbiB0aGlzIGZ1bmN0aW9uLiBSZXdyb3RlIGl0IGFuZCBhZGQgc29tZQoJICBjb21tZW50cyB0byBtYWtlIGl0IGNsZWFyZXIuCgkgIEZpeCBjYXBzIGxlYWtzIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTUKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTIwIDE3OjA4OjIzICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXZvaWQgaW1wbGljaXQgY29sb3IgY29udmVyc2lvbnMKCSAgUmV3b3JrIHRoZSBHTCB0ZXh0dXJlIGNvZGUgYSBsaXR0bGUgdG8gYXZvaWQgaW1wbGljaXQgY29sb3IgY29udmVyc2lvbiBpbnNpZGUKCSAgQVZGL1ZUIG9uIGJvdGggaU9TIGFuZCBPU1guCgoyMDE1LTA0LTE5IDAxOjE1OjA3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGNvcmV2aWRlb3RleHR1cmVjYWNoZTogZnJlZSB0ZXh0dXJlIGNhY2hlIG9uIGlPUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTIyCgoyMDE1LTA0LTE5IDAxOjIxOjQwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGNoZWNrIGZvciBmYWlsdXJlIHRvIGNyZWF0ZSBidWZmZXIKCSAgZ3N0X2NvcmVfbWVkaWFfYnVmZmVyX25ldyBhbmQgZ3N0X2NvcmVfdmlkZW9fdGV4dHVyZV9jYWNoZV9nZXRfZ2xfYnVmZmVyCgkgIGNhbiBmYWlsIGZvciB2YXJpb3VzIHBsYXRmb3JtIHJlYXNvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMjIKCjIwMTUtMDQtMTkgMTM6MTI6MDUgKzA5MDAgIFl1amluIExlZSA8c2FkZG9wb3BAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCBmYWlsdXJlIHdpdGggY2xhbmcKCSAgVXNlIGZhYnMgZm9yIGZsb2F0aW5nIHBvaW50IGlucHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTI4CgoyMDE1LTA0LTE3IDEzOjU3OjM4IC0wNjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIHVudXNlZCBsYXRlbmN5IHF1ZXJ5IGNvZGUKCSAgVGhlIGJlaGF2aW9yIGNoYW5nZXMgYmFzZWQgb24gdGhlIHR5cGUgb2Ygc2VnbWVudCwKCSAgbm90IG9uIHRoZSBsaXZlbmVzcyBvZiB0aGUgc291cmNlLgoKMjAxNS0wNC0xNyAxMzo1NToyNiAtMDYwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFudXAgbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoJICBUaGUgbWluaW11bSBsYXRlbmN5IGlzIGFsd2F5cyAwIG9yIG1vcmUuIEFuZCB3ZSBzaG91bGQKCSAgcmVxdWVyeSB1cHN0cmVhbSBhcyBpdCBtYXkgaGF2ZSBjaGFuZ2VkLgoKMjAxNC0wNy0xNyAxMDo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhbmRsZSBxdWV1ZS9yZWxlYXNlIGVycm9ycyBub24tZmF0YWwKCSAgVGhleSBjYW4gaGFwcGVuIHNvbWV0aW1lcyBhcyBhIHRyYW5zaWVudCBwcm9ibGVtLCBlLmcuIGlmIHRoZXJlCgkgIGlzIGEgcHJvYmxlbSBpbiB0aGUgc3RyZWFtLiBPbmx5IGhhbmRsZSB0aGVtIGFzIGZhdGFsIGlmIG1hbnkgb2YKCSAgdGhlbSBoYXBwZW4gaW4gYSByb3cuCgoyMDE1LTA0LTExIDE2OjUzOjM4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuaDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogQ2hhbmdlIG9wZW5jdiBwbHVnaW4gdG8gdXNlIG9wZW5jdjItc3R5bGUgaW5jbHVkZXMKCSAgSWYgb2xkIG9wZW5jdjEtc3R5bGUgbGVnYWN5IGluY2x1ZGUgZGlyZWN0b3J5IGlzIGF2YWlsYWJsZSwKCSAgdGhpcyBjaGFuZ2UgYmVjb21lcyBwdXJlbHkgY29zbWV0aWMgKG1heWJlIHdpbGwgY29tcGlsZSBhIGJpdCBmYXN0ZXIpLgoJICBJdCBiZWNvbWVzIGFuIEZUQkZTIGZpeCB3aGVuIG9wZW5jdjEtc3R5bGUgaW5jbHVkZSBkaXJlY3RvcnkgaXMgbWlzc2luZwoJICAocG9zc2libHkgYmVjYXVzZSBvcGVuY3YgcGFja2FnZSBtYWludGFpbmVyIGRlY2lkZWQgbm90IHRvIHBhY2sgaXQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzA1CgoyMDE1LTA0LTEyIDAwOjU2OjQ4ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBDaGFuZ2UgY29uZmlndXJlIHRlc3QgdG8gY2hlY2sgZm9yIE9wZW5DVjIgaGVhZGVycwoJICAqIENoZWNrcyBmb3Igb3BlbmN2MiBoZWFkZXJzIG9ubHksIG5vdCBmb3IgbGVnYWN5IG9wZW5jdjEgaGVhZGVycwoJICAqIENoZWNrcyBmb3IgZXZlcnkgb3BlbmN2MiBoZWFkZXIgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gbmVlZHMsCgkgIG5vdCBqdXN0IGhpZ2hndWlfYy5oCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNjMKCjIwMTUtMDQtMTcgMDU6MTI6MTAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZ2V0IGNvbm5lY3Rpb24gYW5kIGlucHV0IGNsb2NrIGVhcmx5CgoyMDE1LTA0LTE3IDE1OjMyOjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVW5pZnkgZGVidWcgc3RhdGVtZW50cwoJICBVc2UgMHglMDR4IGZvciBQSURzCgoyMDE1LTA0LTE3IDE1OjMwOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVW5pZnkgZHVyYXRpb24gcXVlcnlpbmcgY29kZQoJICBBbmQgcHJvcGVybHkgdXNlIGl0IGluIHRoZSBTRUVLSU5HIHF1ZXJ5LgoJICBGaXhlcyBzZWVraW5nIHdpdGggZ3N0LXBsYXkKCjIwMTUtMDQtMTYgMTQ6MTc6MDQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjYXBzIGxlYWsgd2hlbiBlYXJseSByZXR1cm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzk5MwoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMTYgMTQ6MjE6MTYgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogdW5yZWYgb3duZWQgY2FwcyB3aGVuIGZpbmFsaXppbmcgdGhlIG1peGVyCgkgIEZpeCBhIGNhcHMgbGVhayB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTE1CgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0xNSAxNToxNjozMyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBwYXNzIHRoZSBwcm9wZXIgZnJlZSBmdW5jdGlvbiB0byBmcmFtZXMgYW5kIGJ1ZmZlcnMgYXJyYXkKCSAgJ2FycmF5X2J1ZmZlcnMnIGNvbnRhaW4gYm9ycm93ZWQgR3N0QnVmZmVyIGFuZCBzbyBzaG91bGRuJ3QgaGF2ZSBhIGZyZWUKCSAgZnVuY3Rpb24uICdmcmFtZXMnIGlzIHRoZSBvbmUgY29udGFpbmluZyBHc3RHTE1peGVyRnJhbWVEYXRhIGFuZCBzbyBzaG91bGQgdXNlCgkgIF9mcmVlX2dsbWl4ZXJfZnJhbWVfZGF0YSBhcyBmcmVlIGZ1bmN0aW9uLgoJICBGaXggR3N0R0xNaXhlckZyYW1lRGF0YSBsZWFrcyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTEzCgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0xNyAxNToyMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkZWxlbWVudDogRG93bmxvYWQgKmZyb20qIE9wZW5HTCwgbm90IGludG8KCjIwMTUtMDQtMTcgMDk6MjQ6MTIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGVyaWNzc29uLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgY29tcGxleGl0eSBwcm9wZXJ0eSBmb3Igc3BlZWQvcXVhbGl0eSB0cmFkZW9mZgoKMjAxNS0wNC0xNyAxNDoyNDoyOCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbGNvbnRleHQ6IE1ha2UgZ3N0X2dsX2NvbnRleHRfZWdsX2FjdGl2YXRlIGZhaWwgaWYgdGhlIG9sZCBzdXJmYWNlIGNvdWxkIG5vdCBiZSBkZXN0cm95ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI1MQoKMjAxNS0wNC0xNyAxMDozODoxNiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBVbnJlZiBHc3RHTFVwbG9hZCBvYmplY3QgYW5kIGNhcHMgaW4gOjpzdG9wKCkKCSAgRml4IGxlYWsgb2YgdGhlIEdzdEdMVXBsb2FkIG9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODAzMwoKMjAxNS0wNC0xNyAxNDowOTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSAgZ2w6IFJlbW92ZSBzb21lIGVtcHR5IDo6ZmluYWxpemUoKSBpbXBsZW1lbnRhdGlvbnMKCjIwMTUtMDQtMTcgMTQ6MDY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZGVsZW1lbnQ6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDE1LTA0LTE3IDE0OjA1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWRlbGVtZW50OiBSZW1vdmUgdW51c2VkIDo6ZmluYWxpemUoKSBpbXBsZW1lbnRhdGlvbgoKMjAxNS0wNC0xNyAxNDowMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnRlbGVtZW50OiBBbHNvIHVucmVmIGNhcHMgaW4gOjpzdG9wKCkgYWxyZWFkeQoJICBUaGV5IGFyZSBub3QgdXNlZnVsIGFueW1vcmUgYWZ0ZXJ3YXJkcywgc28ga2VlcGluZyB0aGVtIHVudGlsIDo6ZmluYWxpemUoKQoJICBtaWdodCBvbmx5IGNhdXNlIHNvbWVvbmUgdG8gdXNlIHRoZW0gbGF0ZXIgYW5kIHRoZW4gZmFpbC4KCjIwMTUtMDQtMTUgMTQ6NDk6MDIgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydGVsZW1lbnQ6IGZpeCBHc3RHTENvbG9yQ29udmVydCBsZWFrCgkgIGNvbnZlcnQtPmNvbnZlcnQgd2FzIG5ldmVyIHVucmVmZmVkLgoJICBUaGlzIGNhbiBiZSByZXByb2R1Y2Ugd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxMQoKMjAxNS0wNC0xNiAyMjo0Mzo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSAgYXBleHNpbms6IEZpeCBidWZmZXIgb3ZlcmZsb3csIGluIGNhc2UgYW55b25lIGV2ZXIgcG9ydHMgaXQuCgkgIEZpeCBhIHNpbXBsZSBidWZmZXIgb3ZlcmZsb3cgLSAxNiBieXRlcyBpc24ndCBlbm91Z2ggdG8gaG9sZAoJICB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgZ3Vsb25nIG9uIHg4Nl82NC4gSSBndWVzcyB0aGUKCSAgaW50ZW50IHdhcyB0byBnZW5lcmF0ZSBhIDMyIGJpdCByYW5kb20ga2V5LCBzbyBsZXQncyBkbyB0aGF0LgoJICBPbmx5IG1hdHRlcnMgaWYgYW55b25lIGV2ZXIgcG9ydHMgdGhlIHNpbmsgdG8gMS54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY1MjQKCjIwMTUtMDQtMTYgMTM6MzU6MDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggcGFkIGxlYWsgd2hlbiBub3QgYWRkaW5nIGEgbmV3IHBhZCBhZnRlciBuby1tb3JlLXBhZHMKCjIwMTUtMDQtMDkgMTc6MzU6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHNlZ21lbnQgcG9zaXRpb24gdHJhY2tpbmcgZm9yIHRoZSBnZW5lcmFsIGNhc2UKCSAgRGlmZmVyZW50IHN0cmVhbXMgY2FuIGhhdmUgZGlmZmVyZW50IFBUUy9EVFMgYmFzZXMsIGFuZCBzb21lCgkgIHN0cmVhbXMgbWF5IG5vdCBldmVuIGhhdmUgRFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTA0LTE2IDEwOjQyOjQ1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2xjb250ZXh0OiBNYWtlIGdzdF9nbF9jb250ZXh0X2VnbF9hY3RpdmF0ZSBmYWlsIGlmIHRoZSBzdXJmYWNlIGNvdWxkIG5vdCBiZSBjcmVhdGVkCgkgIEFsc28gYWRkIHNvbWUgZXJyb3IgbG9nZ2luZy4KCjIwMTUtMDQtMTUgMjE6MDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvbid0IHVucmVmIGJ1ZmZlciB0aGF0IHdhcyB1bnJlZmZlZCBqdXN0IGEgZmV3IGxpbmVzIGJlZm9yZSBhbHJlYWR5CgoyMDE1LTA0LTExIDA0OjIwOjQzICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgQWRkIGFkYXB0aXZlZGVtdXgsIGJhZHZpZGVvIGFuZCBiYWRiYXNlIHRvIHRoZSBsaW5rLWxpc3QgZm9yIHRoZSBkb2NzY2FubmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2OTcKCjIwMTUtMDQtMTIgMDE6NTg6MzEgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCSAgQ29tcGxlbWVudCBjb21taXQgNTQ5NmZkM2U3NWU2NWE0ZTM4NzcxNWQwYmEwNzQwNzkwYWVmYTVmNiBieSByZW1vdmluZwoJICB0aGUgaW52b2x2ZWQgdmFyaWFibGVzLgoKMjAxNS0wNC0xNCAyMDozMzoyNSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IEdMIG5lZ290aWF0aW9uCgoyMDE1LTA0LTE0IDE4OjA1OjMxICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBsb2cgdGltZXN0YW1wcwoKMjAxNS0wNC0xMyAxMTo1NTo0MiArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzdWJ0cmFjdCB0aW1lIHNwZW50IGluIEFWRiBxdWV1ZXMKCSAgVGhlIHRpbWUgc3BlbnQgaW4gQVZGIHF1ZXVlcyB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgYWRkZWQgdG8gcnVubmluZyB0aW1lCgkgIHJhdGhlciB0aGFuIHN1YnRyYWN0ZWQuCgoyMDE1LTA0LTExIDA3OjM4OjU3ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBHTCB0ZXh0dXJlIG5lZ290aWF0aW9uCgkgIEdTVF9WSURFT19HTF9URVhUVVJFX1VQTE9BRF9NRVRBX0FQSV9UWVBFIHNob3VsZCBubyBsb25nZXIgYmUgdXNlZC4KCSAgSW5zdGVhZCwganVzdCBnZXQgdGhlIEdMIGNvbnRleHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTIKCjIwMTUtMDQtMTMgMTk6NDA6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCB0eXBvCgoyMDE1LTA0LTEzIDE5OjQwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsc3NydHBkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTA0LTEzIDE5OjQwOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wNC0xMCAwOTozNDowMSArMDkwMCAgWXVqaW4gTGVlIDxzYWRkb3BvcEBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBlbmFibGUgcGxheWJhY2sgb2YgY29udGVudCB3aXRoIHRleHQgc3RyZWFtcwoJICBUaGVyZSBpcyBhIHBsYXliYWNrIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHBsYXkgYSBjb250ZW50IHRoYXQKCSAgaGFzICdhcHBsaWNhdGlvbicgbWltZVR5cGUuIFRoaXMgY29tbWl0IHByZXZlbnRzIGFuIGV4Y2VwdGlvbiBmcm9tCgkgIHNldHVwIHRleHQgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzUyNQoKMjAxNS0wNC0xMiAxMzowMTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBSZXNldCBEVFMgdG8gR1NUX0NMT0NLX1RJTUVfTk9ORQoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IGEgcHJldmlvdXMgRFRTIHNldCBmcm9tIGEgcmVjeWNsZWQgYnVmZmVyIHRoYXQgd2UgZ2V0CgkgIGJhY2sgZnJvbSBhIGJ1ZmZlciBwb29sLCB3aGljaCB0aGVuIGNvbmZ1c2VzIHN5bmNocm9uaXphdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcyMgoKMjAxNS0wMy0yOCAxNTo0NDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFtYzogVXNlIG5ldyBKTkkgdXRpbHMgYWxtb3N0IGV2ZXJ5d2hlcmUKCjIwMTUtMDMtMjggMTU6NDg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBBbGxvdyBjcmVhdGluZyBnbG9iYWwgYW5kIGxvY2FsIHJlZmVyZW5jZXMgb2Ygb2JqZWN0cwoKMjAxNS0wMy0yOCAxNToyMTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IE1ha2UgR0Vycm9yIGFyZ3VtZW50IG9yZGVyIG1vcmUgY29uc2lzdGVudAoKMjAxNS0wMy0yOCAxNTowODoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEFkZCBoZWxwZXIgZnVuY3Rpb24gZm9yIGdldHRpbmcgYSBkaXJlY3QgYnVmZmVyIGFycmF5CgoyMDE1LTAzLTI4IDE1OjA4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogSmF2YSBsb25ncyBhcmUgZ2ludDY0cwoKMjAxNS0wMy0yOCAxNDozMTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEltcHJvdmUgSk5JIHV0aWxpdGllcyBhbmQgYWRkIHNvbWUgbWlzc2luZyBvbmVzCgkgIFdlIG5vdyBmaWxsIEdFcnJvcnMgZm9yIGV2ZXJ5dGhpbmcgdGhhdCBjb3VsZCB0aHJvdyBhbiBleGNlcHRpb24sIGFuZCBtZXRob2QKCSAgY2FsbHMgbm93IGFsd2F5cyByZXR1cm4gYSBnYm9vbGVhbiBhbmQgdGhlaXIgdmFsdWUgaW4gYW4gb3V0LXBhcmFtZXRlciB0bwoJICBkaXN0aW5ndWlzaCBmYWlsdXJlcyBmcm9tIG90aGVyIHZhbHVlcy4KCjIwMTUtMDQtMTEgMTk6MzU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBsYXN0IGNvbW1pdAoKMjAxNS0wNC0xMSAxOToxNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IFJlbW92ZSBpT1MvRUFHTCB3b3JrYXJvdW5kIGZvciBSL1JHIHRleHR1cmVzCgkgIFRoaXMgc2hvdWxkIGJlIHVubmVlZGVkIG5vdyBhZnRlciBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTA3CgoyMDE1LTA0LTExIDE5OjE0OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBBZGQgY29ycmVjdCBjaGVjayBmb3IgUkcvUiB0ZXh0dXJlcyBpbiBnbGNvbG9yY29udmVydCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUwNwoKMjAxNS0wNC0xMSAxMjoxMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZml4IGRlYnVnIG1lc3NhZ2UgcGFyYW1ldGVyIGZvcm1hdAoJICBUaGUgZmlyc3QgcGFydCBvZiB0aGUgR1VJRCBzdHJ1Y3R1cmUgaXMgYSBEV09SRAoJICB3aGljaCBpcyBkZWZpbmVkIGFzIGFuIHVuc2lnbmVkIGxvbmcsIHNvIHdlIG5lZWQKCSAgdG8gZWl0aGVyIGNhc3Qgb3IgdXNlICUwOGx4LgoKMjAxNS0wNC0xMCAyMDoyNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogVGFrZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgYWRhcHRlcgoJICBObyBuZWVkIHRvIG1ha2UgYSBjb3B5IGludG8gYSBuZXcgYnVmZmVyLCBqdXN0IHRha2UgdGhlIGRhdGEKCSAgZnJvbSB0aGUgYWRhcHRlci4KCjIwMTUtMDQtMTAgMjA6MTU6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFByb2R1Y2UgR3N0QnVmZmVyTGlzdAoKMjAxNS0wNC0xMCAxNjoyMzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92ZSB1bnVzZWQgYXR0cmlidXRlIGFuZCByZWxhdGVkIHBhZCBwcm9iZQoJICBUaGUgdmFyaWFibGUgd2FzIG5ldmVyIHNldCB0byB0cnVlIGFuZCBjYW4gYmUgcmVtb3ZlZCBhbG9uZwoJICB3aXRoIHRoZSBwcm9iZSBpbiB3aGljaCBpdCB1c2VkIHRvIGFjdAoKMjAxNS0wMy0zMSAxNzoxMDo0NSArMDEwMCAgQW50b24gT2J6aGlyb3YgPG9iemhpcm92QHlhaG9vLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IGF2b2lkIHNlZ2ZhdWx0IHdoZW4gZ2wgcGxhdGZvcm0gaXMgbm90IGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI0CgoyMDE1LTA0LTA5IDE2OjIwOjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGZpeCB0eXBlIG1pc21hdGNoIGluIHZhcmFyZ3MgcGFzc2luZwoJICBBIGJpdG1hc2sgaXMgNjQgYml0cywgYnV0IGludGVnZXIgaW1tZWRpYXRlcyBhcmUgcGFzc2VkIGFzIGludAoJICBpbiB2YXJhcmdzLCB3aGljaCBoYXBwZW4gdG8gYmUgMzIgYml0IHdpdGggaGlnaCBwcm9iYWJpbGl0eS4KCSAgVGhpcyB0cmlnZ2VyZWQgYSB2YWxncmluZCBqdW1wLXJlbGllcy1vbi11bmluaXRhbGl6ZWQtdmFsdWUKCSAgcmVwb3J0IHdlbGwgYXdheSBmcm9tIHRoZSBzaXRlLCBzaW5jZSBpdCBkb2Vzbid0IHRyaWdnZXIgb24KCSAgc3RhY2sgYWNjZXNzZXMsIGFuZCB0aGVyZSBtdXN0IGhhdmUgYmVlbiBlbm91Z2ggemVyb2VzIHRvIHN0b3AKCSAgZ19vYmplY3Rfc2V0IGF0IHRoZSByaWdodCBwbGFjZS4KCjIwMTQtMDgtMjAgMTM6NDY6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaGFuZGxlIHNlZWtzIHdpdGggbm8gdGFyZ2V0IChpZSwga2VlcCBjdXJyZW50IHBvc2l0aW9uKQoJICBTdWNoIHNlZWtzIGFyZSB1c2VkIHRvIGNoYW5nZSBwbGF5YmFjayByYXRlIGFuZCB3ZSBkbyBub3Qgd2FudAoJICB0byBhbHRlciB0aGUgcG9zaXRpb24gaW4gdGhhdCBjYXNlLCBzbyB3ZSBieXBhc3MgdGhlIGZsdXNoL3NlZWsKCSAgbG9naWMsIGFuZCBzZXQgdGhpbmdzIHVwIHNvIGEgbmV3IHNlZ21lbnQgaXMgc2NoZWR1bGVkIHRvIGJlCgkgIHJlZ2VuZXJhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MTAwCgoyMDE1LTAzLTI2IDEzOjQ2OjE2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogZml4IHRpbWVzdGFtcHMgbm90IHVwZGF0aW5nIGFmdGVyIGEgUE1UIGNoYW5nZQoJICBUaGUgUENScyBzdGF5IGxvY2tlZCBvbnRvIHRoZSBzYW1lIFBJRCBhcyBiZWZvcmUgdGhlIGNoYW5nZSwKCSAgYnV0IHRoZSByZWxldmFudCBQSUQgaGFzIG5vIHJlYXNvbiB0byBiZSB0aGUgc2FtZSBhZnRlciBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wMy0yNCAxMjo1Njo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZW5kIG5ldyBzZWdtZW50IHdoZW4gYSBzdHJlYW0gaXMgYWRkZWQKCSAgVGhpcyB3aWxsIGhhcHBlbiB3aGVuIHRoZSBQTVQgY2hhbmdlcywgcmVwbGFjaW5nIHN0cmVhbXMgd2l0aAoJICBuZXcgb25lcy4gSW4gdGhhdCBjYXNlLCB3ZSBuZWVkIHRvIGFjY3VtdWxhdGUgdGhlIHJ1bm5pbmcgdGltZQoJICBmcm9tIHRoZSBwcmV2aW91cyBjaGFpbiBpbiB0aGUgc2VnbWVudCBiYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTAzLTA5IDA5OjU2OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGtlZXAgdHJhY2sgb2YgY3VycmVudCBwb3NpdGlvbgoJICBUaGlzIGFsbG93cyBzZWVraW5nIHRvIGNvcnJlY3RseSBzZXQgdGhlIGJhc2Ugb24gdGhlIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDQtMDkgMTU6NDE6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERvbid0IHJ1biB0aGUgc3RhdGUgY2hhbmdlIHRlc3Qgb24gdGhlIGR0bHMgZWxlbWVudHMKCSAgVGhlcmUgaXNuJ3QgcmVhbGx5IGFueSB3YXkgdG8gdGVzdCB0aGUgZWxlbWVudHMgc3RhbmRhbG9uZS4KCjIwMTUtMDQtMDggMTk6Mjk6NDAgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIGJyb2tlbiB0aW1lc3RhbXBzLWdvaW5nLWJhY2t3YXJkcyBjaGVjawoJICBUaGlzIHdvdWxkJ3ZlIGFsc28gdHJpZ2dlcmVkIGlmIGZvciBzb21lIHJlYXNvbiB0aGUgc2VnbWVudCB3YXMgdXBkYXRlZAoJICBpbiBzdWNoIGEgd2F5IHRoYXQgUFRTIHdlbnQgYmFja3dhcmRzLCBidXQgdGhlIHJ1bm5pbmcgdGltZSBpbmNyZWFzZWQuIExpa2UKCSAgd2hhdCBoYXBwZW5zIHdoZW4gbm9uLWZsdXNoaW5nIHNlZWtzIGFyZSBkb25lLgoJICBXZSdyZSBkb2luZyBhIHByb3BlciBidWZmZXItZnJvbS10aGUtcGFzdCBjaGVjayBhIGZldyBsaW5lcyBiZWxvdyBiYXNlZCBvbiB0aGUKCSAgcnVubmluZyB0aW1lLCB3aGljaCBpcyB0aGUgb25seSB0aW1lIHdlIHNob3VsZCBjYXJlIGFib3V0IGhlcmUuCgoyMDE1LTA0LTA4IDE4OjUxOjUwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICBrc3ZpZGVvc3JjOiBmaXggc3VwcG9ydCBmb3IgRFYgZGV2aWNlcwoKMjAxNS0wMi0xMCAxMzozMjowMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAga3N2aWRlb3NyYzogb25seSBsaXN0IGNhcHR1cmUgZGV2aWNlcwoKMjAxNS0wNC0wOCAxNjo0NjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBVc2UgQU1fVEVTVFNfRU5WSVJPTk1FTlQKCSAgTmVlZGVkIGJ5IHRoZSBuZXcgYXV0b21ha2UgdGVzdCBydW5uZXIKCjIwMTUtMDQtMDggMTA6NTI6MTcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IEV4cGxpY2l0bHkgc3BlY2lmeSBsYXlvdXQ9aW50ZXJsZWF2ZWQgaW4gY2FwcwoJICBUaGlzIGlzIGZpbmUgdG8gaGFyZC1jb2RlLiBTZWN0aW9uIDkuMS44IG9mIHRoZSBPcGVuU0wgRVMgMS4xCgkgIHNwZWNpZmljYXRpb24sIGl0IGlzIGV4cGVjdGVkIHRoYXQgbXVsdGktY2hhbm5lbCBhdWRpbyBpcyBhbHdheXMKCSAgaW50ZXJsZWF2ZWQuCgoyMDE1LTA0LTA3IDE1OjU3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERlcGVuZCBvbiBvcGVuaDI2NCA+PSAxLjMuMAoJICBSZXF1aXJlZCBmb3IgdGhlIHZlcnNpb24gY2hlY2sgaGVhZGVyLCBhcyBhZ3JlZWQgdXBvbiBvbiBJUkMKCjIwMTUtMDQtMDUgMDU6Mzc6MDkgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IHNldHRpbmcgb2YgYnVmZmVyIG9mZnNldCBlbmQKCSAgRG9uJ3Qgc2V0IG9mZnNldCBlbmQgdG8gcmFuZG9tIHZhbHVlcyBvZmYgdGhlIHN0YWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzUyCgoyMDE1LTA0LTA3IDExOjA5OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbjI2NDogRml4IEdUeXBlL2dzaXplIHVzYWdlCgkgIGdzdG9wZW5oMjY0ZW5jLmNwcDoxMDg6Nzogd2FybmluZzogZGVyZWZlcmVuY2luZyB0eXBlLXB1bm5lZCBwb2ludGVyIHdpbGwgYnJlYWsgc3RyaWN0LWFsaWFzaW5nIHJ1bGVzIFstV3N0cmljdC1hbGlhc2luZ10KCjIwMTUtMDQtMDcgMTE6MjE6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogRGV0ZWN0IDEuNCBBUEkgY2hhbmdlCgkgIEFzIG1lbnRpb25uZWQgaW4gcmVsZWFzZSBub3RlcyA6IEFkZGVkIG5ldyBTcHMvUHBzIHN0cmF0ZWdpZXMgZm9yIHJlYWwtdGltZQoJICB2aWRlbyAocmVwbGFjZSB0aGUgb2xkIHNldHRpbmcgdmFyaWFibGUgJ2JFbmFibGVTcHNQcHNJZEFkZGl0aW9uJyB3aXRoCgkgICdlU3BzUHBzSWRTdHJhdGVneScpCgoyMDE1LTA0LTA2IDIwOjI4OjIyIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBEaXNjb25uZWN0IG1vdXNlL2tleSBldmVudCBzaWduYWwgaGFuZGxlcnMgZnJvbSB3aW5kb3cgd2hlbiBzaHV0dGluZyBkb3duIGNvbnRleHQKCjIwMTUtMDQtMDYgMjA6MjQ6MDYgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEd1YXJkIGFnYWluc3QgZGlzY29ubmVjdGluZyBpbnZhbGlkIHNpZ25hbCBpZHMKCjIwMTUtMDMtMjYgMTE6NTI6MzMgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IG1lbW9yeSBsZWFrCgkgIFJlc2V0IHRoZSBpbnRlcm5hbCBzZWdtZW50IGJlZm9yZSBmcmVlaW5nIGl0LgoJICBteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSgpIGFsbG9jYXRlcyBkYXRhIGluc2lkZSB0aGUgc2VnbWVudAoJICAobGlrZSBzZWdtZW50LT5kZWx0YV9lbnRyaWVzKSB3aGljaCBoYXZlIHRvIGJlIGZyZWVkIHVzaW5nCgkgIG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3Jlc2V0KCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY4MDMKCjIwMTUtMDQtMDQgMTA6NTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiB3cml0ZSB0aGUgcGxheWxpc3QgZW5kIG1hcmtlciBvbiBFT1MKCSAgQ2F0Y2ggRU9TIGZyb20gdGhlIG11bHRpZmlsZXNpbmsgYW5kIGFkZCB0aGUgZW5kbGlzdCBtYXJrZXIgdG8KCSAgdGhlIHBsYXlsaXN0IHdoZW4gaXQgaGFwcGVucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzE5CgoyMDE1LTAzLTI5IDE3OjUzOjIzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRvY3VtZW50IGdhcCBoYW5kbGluZyBiZWhhdmlvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQ5CgoyMDE1LTAzLTI3IDE5OjM2OjQyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRyb3Agc3RhbGUgd2hpdGUgc3BhY2UgYXQgd2FybmluZwoKMjAxNS0wMy0yNyAxOToyODowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGZpeCB0eXBvIGluIHRlc3Qgc3VpdGUKCjIwMTUtMDMtMjcgMTg6MzI6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgZ2FwIGV2ZW50IGhhbmRsaW5nIHVuaXQgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQ5CgoyMDE1LTAzLTE3IDIyOjEzOjA2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGltcGxlbWVudCBnYXAgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0OQoKMjAxNS0wNC0wMyAxODo1Nzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmM3NmE4YiB0byBjOGZiMzcyCgoyMDE1LTA0LTAzIDExOjQ2OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogRml4IGluY29ycmVjdCBmYWxsLXRocm91Z2ggY29uZGl0aW9uIGluIHByb3BlcnR5IGdldHRlcgoKMjAxMi0wNC0yNyAxODoyOToxNCArMDIwMCAgR3VpbGxhdW1lIEVtb250IDxndWlqZW1vbnRAaWdhbGlhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogYWRkIGFuIHNobS1hcmVhLW5hbWUgcHJvcGVydHkKCSAgVGhlIHNobS1hcmVhLXByb3BlcnR5IHRlbGxzIHRoZSBuYW1lIG9mIHRoZSBzaG0gYXJlYSB1c2VkIGJ5IHRoZSBlbGVtZW50LiBUaGlzCgkgIGlzIHVzZWZ1bCBmb3IgY2FzZXMgd2hlcmUgc2htc2luayBpcyBub3QgYWJsZSB0byBjbGVhbiB1cCAoY2FsbGluZwoJICBzaG1fdW5saW5rKCkpLCBlLmcuIGlmIGl0IGlzIGluIGEgc2FuZGJveC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTEzNAoKMjAxNS0wNC0wMSAyMjoxMDoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5pZnkgZG93bnN0cmVhbSBmbG93IHJldHVybiBhbmQgZmx1c2hpbmcKCSAgQWxzbyBtZWFucyB0aGF0IGhhdmluZyBhIG5vbi1PSyBkb3duc3RyZWFtIGZsb3cgcmV0dXJuCgkgIHdha2VzIHVwIHRoZSBjaGFpbiBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDEgMjE6NDU6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZsdXNoaW5nIGlzIGFsd2F5cyBpbiBwYWQgbG9jaywgbm8gbmVlZCB0byBhdG9taWNzCgkgIFRoZSB1c2FnZSBvZiBhdG9taWNzIHdhcyBhbHdheXMgZG91YnRmdWwgYXMgaXQgd2FzIHVzZWQgdG8gcmVsZWFzZSBhCgkgIEdDb25kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDEgMjE6Mzg6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlc2V0IHBlbmRpbmdfZW9zIG9uIHBhZCBmbHVzaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAxIDIxOjM3OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbmlmeSBjb2RlIHRvIHNldCBhIHBhZCBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAyIDE4OjA1OjU1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGZpeCByZW5kZXJpbmcgb24gaU9TCgkgIFN0b3AgYXNzdW1pbmcgdGhhdCB0aGUgaGFuZGxlIGhhcyBiZWVuIHNldCBieSB0aGUgdGltZSAtPmNyZWF0ZV9jb250ZXh0IGlzCgkgIGNhbGxlZC4gQWZ0ZXIgYmM3YTcyNTlmMzU3YjAwNjVkZDk0ZTA2NjhiNWE4OTVkODNmYTUzYSBzZXRfd2luZG93X2hhbmRsZSBhbHdheXMKCSAgaGFwcGVucyBhZnRlciAtPmNyZWF0ZV9jb250ZXh0IGluIGZhY3QuCgkgIFNlZSBhbHNvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwOTAKCjIwMTUtMDMtMDYgMjE6MTI6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWVyeSBsYXRlbmN5IG9uIGZpcnN0IGluY29taW5nIGJ1ZmZlci4KCSAgQW5kIGtlZXAgb24gcXVlcnlpbmcgdXBzdHJlYW0gdW50aWwgd2UgZ2V0IGEgcmVwbHkuCgkgIEFsc28sIHRoZSBfZ2V0X2xhdGVuY3lfdW5sb2NrZWQoKSBtZXRob2QgcmVxdWlyZWQgYmVpbmcgY2FsbGQKCSAgd2l0aCBhIHByaXZhdGUgbG9jaywgc28gcmVtb3ZlZCB0aGUgX3VubG9ja2VkKCkgdmFyaWFudCBmcm9tIHRoZSBBUEkuCgkgIEFuZCBpdCBub3cgcmV0dXJucyBHU1RfQ0xPQ0tfVElNRV9OT05FIHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IGxpdmUgYXMKCSAgd2UgdGhpbmsgdGhhdCAwIHVwc3RyZWFtIGxhdGVuY3kgaXMgcG9zc2libGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDQtMDEgMjA6MzI6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWxsb3cgZG93bnN0cmVhbSBjYXBzIHdpdGggYSBub24tZGVmYXVsdCBjaGFubmVsLW1hc2sKCSAgSW5zdGVhZCBvZiBmYWlsaW5nLCB0YWtlIHRoZSBkb3duc3RyZWFtIGNoYW5uZWwgbWFzayBpZiB0aGUgY2hhbm5lbAoJICBjb3VudCBpcyAxLgoKMjAxNS0wMy0zMSAxNjoyNzowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBEb24ndCB1c2UgY29udGV4dCBpZiBub3QgcHJlc2VudAoJICBBdm9pZHMgYXNzZXJ0aW9ucyBhdCBydW50aW1lCgoyMDE1LTAzLTMxIDExOjI0OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJICBpbnRyb3NwZWN0aW9uOiBEb24ndCB1c2UgZy1pci1zY2FubmVyIGNhY2hlIGF0IGNvbXBpbGUgdGltZQoJICBJdCBwb2xsdXRlcyB1c2VyIGRpcmVjdG9yaWVzIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGNhY2hlIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcwOTUKCjIwMTUtMDMtMzEgMTA6NTM6NTUgKzAxMDAgIFZpY3RvciBUb3NvIDx2aWN0b3J0b3NvQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogSW1wbGVtZW50IHZvbHVtZSBhbmQgbXV0ZQoJICBVc2luZyB0aGUgTWl4ZXJBUEkgYXMgSURpcmVjdFNvdW5kQ2FwdHVyZUJ1ZmZlciBkb2Vzbid0IGltcGxlbWVudCB2b2x1bWUKCSAgY29udHJvbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM4MwoKMjAxNS0wMy0zMCAxMzo0OTowMSArMDEwMCAgQW50b24gT2J6aGlyb3YgPG9iemhpcm92QHlhaG9vLmNvLnVrPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgZ2xlZmZlY3RzOiBwb3J0IGFsbCBlZmZlY3RzIHRvIEdMRVMyLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTk1NQoKMjAxNS0wMy0yOCAxMTo0MDoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGltcGxlbWVudCBhIGNoYWluX2xpc3QgdG8gcmVxdWVzdCBrZXkgdW5pdCBmb3Igc2VnbWVudHMKCSAgdXBzdHJlYW0gbWlnaHQgc2VuZCBidWZmZXIgbGlzdHMgaW5zdGVhZCBvZiBidWZmZXJzIGFuZCBobHNzaW5rJ3MKCSAgcHJvYmUgd29uJ3QgZ2V0IGNhbGxlZCBhbmQgYSBuZXcgc2VnbWVudCB3b24ndCBiZSBjcmVhdGVkIHdoZW4gbmVlZGVkLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IGFkZGluZyBhIGNoYWluX2xpc3QgZnVuY3Rpb24gdG8gdGhlIHNpbmsgcGFkCgkgIHRoYXQgd2lsbCBqdXN0IHBhc3MgdGhyb3VnaCB0aGUgd2hvbGUgYnVmZmVybGlzdCBpZiBubyBzZWdtZW50IG5lZWRzCgkgIHRvIGJlIHJlcXVlc3RlZCBhdCB0aGUgbW9tZW50IG9yIGNvbnZlcnQgdGhlIGxpc3QgaW50byBidWZmZXJzIHRvCgkgIGNoZWNrIHRoZSBwcm9wZXIgdGltZXN0YW1wIHRvIHJlcXVlc3QgdGhlIG5leHQga2V5LXVuaXQgdGhhdCB3aWxsCgkgIHN0YXJ0IHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2OTA2CgoyMDE1LTAzLTI4IDE3OjI4OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTI4IDE3OjI4OjI2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjcgMDA6Mjc6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IHRyeSB0byBhZHZhbmNlIGZyYWdtZW50IGlmIHRoZXJlIGlzIG5vbmUKCSAgSXQgbWlnaHQgcmV0dXJuIE9LIGZyb20gc3ViY2xhc3NlcyBhbmQgaXQgY291bGQgY2F1c2UgYSBiaXRyYXRlCgkgIHJlbmVnb3RpYXRpb24uIEZvciBEQVNIIGFuZCBNU1MgdGhhdCBpcyBvayBhcyB0aGV5IHdvbid0IGV4cG9zZQoJICBuZXcgcGFkcyBhcyBwYXJ0IG9mIHRoaXMgYnV0IGl0IGNhbiBjYXVzZSBpc3N1ZXMgZm9yIEhMUyBhcwoJICBpdCB3aWxsIGV4cG9zZSBuZXcgcGFkcywgbGVhZGluZyB0byBwYWRzIHRoYXQgd2lsbCBvbmx5IGhhdmUgRU9TCgkgIHRoYXQgY2F1c2UgZGVjb2RlYmluIHRvIGZhaWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTkwNQoKMjAxNS0wMy0yNCAxMzo1Nzo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogRm9yd2FyZCBzdGVyZW8gcHJlZmVyZW5jZXMgZnJvbSBjYXBzIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjQgMTM6NTY6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IFNldCB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIDIgYXMgcGVyIFJGQyBkcmFmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTE3IDIxOjQ5OjQwICswODAwICBKdW4gWGllIDx4aXhpMTAxMTEwMTFAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogc2V0IGRlZmF1bHQgQHN0YXJ0TnVtYmVyIGFuZCBhbHNvIGF2b2lkIHdyb25nIG92ZXJ3cml0ZQoJICBTZXQgZGVmYXVsdCBAc3RhcnROdW1iZXIgdG8gMSwgaWYgQHN0YXJ0TnVtYmVyIGlzIG1pc3NpbmcgYXQgYWxsIGxldmVsLgoJICBBbHNvIGF2b2lkIGluY29ycmVjdCBvdmVyd3JpdGluZyBpbmhlcml0ZWQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzNDcKCjIwMTUtMDMtMjQgMTY6MTg6MjIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBjaGVjayBzaW5rIGNhcHMgYXJlIHZhbGlkCgoyMDE1LTAzLTI0IDE2OjE3OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIFJldmVydCAiYXVkaW9hZ2dyZWdhdG9yOiBjaGVjayBzaW5rIGNhcHMgYXJlIHZhbGlkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkNGQwZDFjZGY3Yzc1MzFmYmY3MmNlMzllMWVhYjEyNjBkMjA1NTAuCgkgIE5ldmVyIHB1dCBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIGludG8gYW4gYXNzZXJ0aW9uLCBpdCBjYW4gYmUgY29tcGlsZWQgb3V0CgoyMDE1LTAzLTI0IDE1OjQ1OjI1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogY2hlY2sgc2luayBjYXBzIGFyZSB2YWxpZAoJICBDSUQgIzEyOTE2MjIKCjIwMTUtMDMtMjQgMTU6MTM6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZhbGwgdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEFkZGluZyBhIGNvbW1lbnQgbWFrZXMgY292ZXJpdHkgaGFwcHkgYW5kIHF1ZWxscyB0aGUgaXNzdWUuCgkgIENJRCAxMjkxNjI5CgoyMDE1LTAzLTI0IDE5OjA1OjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9jdW1lbnQgd2h5IGJ1ZmZlcl92aW5mbyBpcyBuZWVkZWQKCjIwMTUtMDMtMjQgMTk6MDQ6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDaGVjayBpZiB0aGVyZSdzIGEgcHJldmlvdXMgYnVmZmVyIHRvICdrZWVwJwoJICBJZiB3ZSB3YW50IHRvIGtlZXAgYSBwcmV2aW91cyBidWZmZXIgYnV0IHRoZXJlJ3Mgbm8gcHJldmlvdXMgYnVmZmVyLCB3ZSBhY3R1YWxseQoJICBuZWVkIG1vcmUgZGF0YSBpbnN0ZWFkLgoKMjAxNS0wMy0yMyAxNjo0MzowMSArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IHN1cmZhY2VsZXNzIEVHTCBjb250ZXh0IHN1cHBvcnQKCSAgU2hvdyB0aGUgRGlzcG1hblggd2luZG93IG9ubHkgaWYgdGhlcmUncyBubyBzaGFyZWQgZXh0ZXJuYWwgR0wgY29udGV4dAoJICBzZXQgdXAuIFdoZW4gYSB3aW5kb3cgaXMgcmVxdWlyZWQgYnkgdGhlIGNvbnRleHQgYSB0cmFuc3BhcmVudAoJICBEaXNwbWFuWCBlbGVtZW50IGlzIGNyZWF0ZWQgYW5kIGxhdGVyIG9uIG1hZGUgdmlzaWJsZSBieSB0aGUgOjpzaG93CgkgIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYzMgoKMjAxNS0wMy0yMyAxNTowOTozMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBjbGVhbiBzb2xhcml6ZSBjb2RlCgoyMDE1LTAzLTIzIDE0OjM5OjU2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogcmVtb3ZpbmcgdmFsdWVzIG9ubHkgdXNlZCBvbmNlCgoyMDE1LTAzLTIzIDExOjEzOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHNtYWxsIGNsZWFudXAgaW4gaGVhZGVycwoKMjAxNS0wMy0yMyAxMzoxNTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogU2V0IG91dHB1dCBmb3JtYXQgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpbmcgdGhlIGVuY29kZXIgaW5zdGFuY2UKCSAgV2Uga25vdyB0aGUgY2FwcyBieSB0aGVuLCB0aGVyZSdzIG5vIG5lZWQgdG8gd2FpdCB1bnRpbCB3ZSBhY3R1YWxseSByZWNlaXZlCgkgIHRoZSBmaXJzdCBidWZmZXIuCgoyMDE1LTAzLTIzIDEzOjEzOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IFJlbW92ZSBhbm90aGVyIHVudXNlZCB2YXJpYWJsZQoKMjAxNS0wMy0yMyAxMzoxMTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNlbmM6IFJlbW92ZSB1c2VsZXNzIGhlYWRlcnMgYW5kIGhlYWRlcl9zZW50IHZhcmlhYmxlcyBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgVGhleSBhcmUgb25seSB1c2VkIGluc2lkZSBhIHNpbmdsZSBmdW5jdGlvbi4KCjIwMTUtMDMtMjMgMTI6MjQ6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzOiBIYW5kbGUgc3Byb3Atc3RlcmVvIGFuZCBzcHJvcC1tYXhjYXB0dXJlcmF0ZSBSVFAgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yMyAxMjowOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVGFrZSBjaGFubmVscyBhbmQgc2FtcGxlIHJhdGUgZnJvbSB0aGUgY2FwcyBpZiB3ZSBoYXZlIG5vIHN0cmVhbSBoZWFkZXIKCjIwMTUtMDMtMjMgMTI6MDc6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFJlc2V0IHRoZSBkZWNvZGVyIGlmIHRoZSBjYXBzIGNoYW5nZQoKMjAxNS0wMy0yMyAxMTo1NzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogVGFrZSBvdXRwdXQgc2FtcGxlIHJhdGUgZnJvbSB0aGUgc3RyZWFtIGhlYWRlcnMgdG9vCgkgIFRoaXMgd2F5IHdlIGxldCBvcHVzZGVjIGRvIHRoZSByZXNhbXBsaW5nIGlmIG5lZWRlZCBhbmQgZG9uJ3QgY2FycnkKCSAgYXJvdW5kIGJ1ZmZlcnMgd2l0aCBhIHRvbyBoaWdoIHNhbXBsZSByYXRlIGlmIG5vdCByZXF1aXJlZC4KCSAgV2hpbGUgT3B1cyBhbHdheXMgdXNlcyA0OGtIeiBpbnRlcm5hbGx5LCB0aGlzIGluZm9ybWF0aW9uIGZyb20gdGhlCgkgIGhlYWRlciBzcGVjaWZpZXMgd2hpY2ggZnJlcXVlbmNpZXMgYXJlIHNhZmUgdG8gZHJvcC4KCjIwMTUtMDMtMjMgMTE6NTY6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNoZWFkZXI6IFB1dCBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZSByYXRlIGludG8gdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yMiAxOToxMjoxNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHJlbW92ZSB1bnVzZWQgZ2xfdGhyZWFkIGZpZWxkCgoyMDE1LTAzLTIyIDE5OjAzOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBmaXggR1RocmVhZCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDEKCjIwMTUtMDMtMjAgMTg6MzM6NDUgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY1NDEKCjIwMTUtMDMtMTggMTE6MjU6NDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE5IDE2OjE3OjU4ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBEbyBub3QgZHJvcCBhbGwgYnVmZmVycyBpbiBidWZmZXIgbGlzdCBpZiBvbmUgZmFpbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOSAxMzo1OTo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogdXBkYXRlIGNvcHlyaWdodCBkYXRlcyBvZiBkaWxhdGUKCjIwMTUtMDMtMTkgMTM6NTg6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGZhY3Rvcml6ZSB0cmFuc2Zvcm0gY29kZSBvZiBkaWxhdGUKCjIwMTUtMDMtMTkgMTQ6MDQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBQYXNzIHRoZSBjb25uZWN0aW9uIGluc3RhbmNlIGFzIGRhdGEgdG8gdGhlIHRocmVhZCBwb29sCgkgIE5vIG5lZWQgdG8gcmVmL3VucmVmIHRoZSBjb25uZWN0aW9uIGV2ZXJ5IHRpbWUgd2UgcHVzaCBzb21ldGhpbmcgb24gdGhlIHBvb2wuCgkgIEhvd2V2ZXIgd2UgaGF2ZSB0byBwcm92aWRlIG5vbi1OVUxMIGRhdGEgdG8gdGhlIHBvb2wsIHNvIGxldCdzIGp1c3QgZ2l2ZSBpdAoJICBzb21lIGNvZmZlZS4KCjIwMTUtMDMtMTkgMTM6NTU6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBSZW1vdmUgdW51c2VkIHRocmVhZCBzdHJ1Y3QgZmllbGQKCjIwMTUtMDMtMTkgMTM6MzA6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHM6IFVzZSBhIHNoYXJlZCB0aHJlYWQgcG9vbCBmb3IgdGhlIHRpbWVvdXRzCgkgIFRoaXMgd2F5IHdlIHdpbGwgc2hhcmUgdGhyZWFkcyB3aXRoIG90aGVyIERUTFMgY29ubmVjdGlvbnMgaWYgcG9zc2libGUsIGFuZAoJICBkb24ndCBoYXZlIHRvIHN0YXJ0L3N0b3AgdGhyZWFkcyBmb3IgdGltZW91dHMgaWYgdGhlcmUgYXJlIG1hbnkgdG8gYmUgaGFuZGxlZAoJICBpbiBhIHNob3J0IHBlcmlvZCBvZiB0aW1lLgoJICBBbHNvIHVzZSB0aGUgc3lzdGVtIGNsb2NrIGFuZCBhc3luYyB3YWl0aW5nIG9uIGl0IGZvciBzY2hlZHVsaW5nIHRoZSB0aW1lb3V0cy4KCjIwMTUtMDMtMTggMTg6MTc6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBTaHV0ZG93biB0aW1lb3V0IHRocmVhZCB3aGVuIGl0J3Mgbm90IG5lZWRlZAoJICBJdCBpcyBub3QgbmVlZGVkIG1vc3Qgb2YgdGhlIHRpbWUgYW5kIHVzdWFsbHkgd2UgaGF2ZSBhIHRocmVhZAoJICBpZGxpbmcgYXJvdW5kIGRvaW5nIG5vdGhpbmcgYWxsIHRoZSB0aW1lIGFmdGVyIHRoZSBmaXJzdCBmZXcgc2Vjb25kcy4KCjIwMTUtMDMtMTggMTA6MTI6NDkgLTA3MDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2RvY3M6IHVwZGF0ZSBzb21lIGRvYyBjb21tZW50cwoKMjAxNS0wMy0xOCAxNzo0MDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogQ2xlYXIgdGhlIHF1ZXVlIHdoZW4gZGVhY3RpdmF0aW5nIHRoZSBwYWQKCjIwMTUtMDMtMTggMTc6Mzg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSAgZHRsc2VuYzogSGFuZGxlIHBhZCBhY3Rpdml0eSBzdGF0ZXMgcHJvcGVybHkKCjIwMTUtMDMtMTggMTc6MzU6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IERvbid0IG1hbnVhbGx5IGFjdGl2YXRlL2RlYWN0aXZhdGUgc3JjcGFkCgoyMDE1LTAzLTE4IDEwOjQ3OjE1ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBTZXBhcmF0ZSBidWZmZXIgZW5jb2RpbmcgZnVuY3Rpb25hbGl0eSBpbnRvIGEgZGlmZmVyZW50IGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMTA6MTY6NDEgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDA5OjM5OjQ5ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBBZGQgbWlzc2luZyBsb2NrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDA5OjE3OjMxICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBTcGxpdCBjaGFpbiBmdW5jdGlvbmFsaXR5IHNvIGl0IGNhbiBiZSByZXVzZWQgZm9yIGJ1ZmZlciBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMTM6NTI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSAgZHRsc2VuYzogVXNlIGEgR1F1ZXVlIGluc3RlYWQgb2YgYSBHUHRyQXJyYXkKCSAgVXNpbmcgYSBHUHRyQXJyYXkgYXMgYSBxdWV1ZSBpcyBub3QgdmVyeSBlZmZpY2llbnQgYXMgdGhlIHdob2xlCgkgIGFycmF5IGhhcyB0byBiZSBjb3BpZWQgd2hlbmV2ZXIgYW4gZWxlbWVudCBpcyByZW1vdmVkIGZyb20gdGhlCgkgIGJlZ2lubmluZy4KCjIwMTUtMDMtMTggMTA6MDY6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCBsb2NraW5nCgkgIEVzcGVjaWFsbHkgZG9uJ3QgaG9sZCBhbnkgbXV0ZXggd2hpbGUgYWRkaW5nL3JlbW92aW5nIHBhZHMgb3IgcHVzaGluZyBkYXRhLgoKMjAxNS0wMy0xOCAwOTo1NzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0cwoKMjAxNS0wMy0xOCAwOTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuaDoKCSAgZHRsczogRml4IHNvbWUgc2VhcmNoICYgcmVwbGFjZSBtaXN0YWtlcyBmcm9tIHJlbmFtaW5nIHRoZSBlbGVtZW50cwoKMjAxNS0wMy0xNyAxNjo0OTo1NCArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogSW1wcm92ZSBtZW1vcnkgbWFuYWdlbWVudCBvbiBjaGFpbiBmdW5jdGlvbgoJICBBdm9pZGluZyBjb3B5IHRoZSBidWZmZXIgdHdpY2UsIG9uZSB3aGlsZSBtYXBwaW5nIGFuZCBvdGhlciB3aXRoIG1lbmNweQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MzU2CgoyMDE1LTAzLTE3IDE2OjUwOjQxICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBGaXggdHlwbyBpbiBsb2cKCjIwMTUtMDMtMTcgMTE6NDM6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSAgZHRsczogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBlYXJsaWVyCgkgIE90aGVyd2lzZSB0aGUgb3BlbnNzbCBpbml0aWFsaXphdGlvbiB3aWxsIHVzZSBpdCBiZWZvcmUgaW5pdGlhbGl6YXRpb24KCjIwMTQtMTEtMTMgMjA6Mzk6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQWRkIHVuaXQgdGVzdHMKCSAgQWxtb3N0IGEgY29weSBvZiB0aGUgImludGVybGVhdmUiIHVuaXQgdGVzdHMsIGltcHJvdmVkIHRvIHN1cHBvcnQKCSAgdGhlIHRocmVhZCBvbiB0aGUgc3JjIHBhZCBvbiBHc3RBZ2dyZWdhdG9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE1LTAzLTA2IDEzOjQ5OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJICBhdWRpb2ludGVybGVhdmU6IFNldCBzcmMgY2FwcyBpbiBhZ2dyZWdhdGUKCSAgVGhpcyBwcmV2ZW50cyByYWNlcyBiZXR3ZWVuIHRoZSBzZXRjYXBzIG9mIHRoZSBzaW5rIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNC0xMS0xMyAxNTo0MDoxNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBZGQgaW50ZXJsZWF2ZSBlbGVtZW50IGJhc2VkIG9uIGF1ZGlvYWdncmVnYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE1LTAzLTA2IDE2OjUxOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogUHJpbnQgYSBtZXNzYWdlIHdoZW4gYSBidWZmZXIgaXMgbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE0LTExLTE1IDE3OjU0OjUxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogRG9uJ3QgcmUtc2VuZCB0aGUgY2FwcyBpZiB0aGV5IGRpZCBub3QgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTQtMTEtMDYgMTc6MTU6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBTcGxpdCBiYXNlIGNsYXNzIGZyb20gYXVkaW9taXhlcgoJICBBbHNvOgoJICAtICBEb24ndCBtb2RpZnkgc2l6ZSBvbiBlYXJseSBidWZmZXIKCSAgVGhlIHNpemUgaXMgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciwgbm90IG9mIHJlbWFpbmluZyBwYXJ0LgoJICAtIFVzZSB0aGUgaW5wdXQgY2FwcyB3aGVuIG1hbmlwdWxhdGluZyB0aGUgaW5wdXQgYnVmZmVyCgkgIEFsc28gc3RvcmUgaW4gaW4gdGhlIHNpbmsgcGFkCgkgIC0gUmVwbHkgdG8gdGhlIHBvc2l0aW9uIHF1ZXJ5IGluIGJ5dGVzIHRvbwoJICAtIFB1dCBHQVAgZmxhZyBvbiBvdXRwdXQgaWYgYWxsIGlucHV0cyBhcmUgR0FQIGRhdGEKCSAgLSBPbmx5IHRyeSB0byBjbGlwIGJ1ZmZlciBpZiB0aGUgaW5jb21pbmcgc2VnbWVudCBpcyBpbiB0aW1lIG9yIHNhbXBsZXMKCSAgLSBVc2UgaW5jb21pbmcgc2VnbWVudCB3aXRoIGluY29taW5nIHRpbWVzdGFtcAoJICBIYW5kbGUgbm9uLXRpbWUgc2VnbWVudHMgYW5kIE5PTkUgdGltZXN0YW1wcwoJICAtIERvbid0IHJlc2V0IHRoZSBwb3NpdGlvbiB3aGVuIHB1c2hpbmcgb3V0IG5ldyBjYXBzCgkgIC0gTWFrZSBhIG51bWJlciBvZiBtZW1iZXIgdmFyaWFibGVzIHByaXZhdGUKCSAgLSBDb3JyZWN0bHkgaGFuZGxlIGNhc2Ugd2hlcmUgbm8gcGFkIGhhcyBhIGJ1ZmZlcgoJICBJZiBub25lIG9mIHRoZSBwYWRzIGhhdmUgYnVmZmVycyB0aGF0IGNhbiBiZSBoYW5kbGVkLCBkb24ndCBjbGFpbSB0byBiZSBFT1MuCgkgIC0gRW5zdXJlIHByb3BlciBsb2NraW5nCgkgIC0gT25seSBzdXBwb3J0IHRpbWUgc2VnbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNS0wMy0wNyAyMjowODo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAb2NyZXRlLmNhPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZWxlYXNlIHBhZCBvYmplY3QgbG9jayBiZWZvcmUgZHJvcHBpbmcgYnVmZmVyCgkgIE90aGVyd2lzZSwgdGhlIGxvY2tpbmcgb3JkZXIgaXMgdmlvbGF0ZWQgYW5kIGRlYWRsb2NrcyBoYXBwZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjA6MjI6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE9ubHkgaWdub3JlIHBhZHMgd2l0aCBubyBidWZmZXJzIG9uIHRpbWVvdXQKCSAgV2hlbiB0aGUgdGltZW91dCBpcyByZWFjaGVkLCBvbmx5IGlnbm9yZSBwYWRzIHdpdGggbm8gYnVmZmVycywgaXRlcmF0ZQoJICBvdmVyIHRoZSBvdGhlciBwYWRzIHVudGlsIGFsbCBidWZmZXJzIGhhdmUgYmVlbiByZWFkLiBUaGlzIGlzIGltcG9ydGFudAoJICBpbiB0aGUgY2FzZXMgd2hlcmUgdGhlIGlucHV0IGJ1ZmZlcnMgYXJlIHNtYWxsZXIgdGhhbiB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMToxMjoxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQmUgbW9yZSBhZ2dyZXNzaXZlIHdpdGggaW52YWxpZCByZXBsaWVzIHRvIG91ciBsYXRlbmN5IHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjA6MjU6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE9ubHkgYWR2YW5jZSBieSB0aGUgYnVmZmVyIHNpemUgd2hlbiBhIGJ1ZmZlciBpcyBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMTYgMTc6NDk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IG1ha2Ugc3VyZSB3ZSBhY3R1YWxseSBsb2cgaW50byB0aGUgcmlnaHQgZGVidWcgY2F0ZWdvcnkKCSAgR1NUX0RUTFNfVVNFX0dTVF9MT0cgaXMgbm90IGRlZmluZWQgYW55d2hlcmUsIHNvCgkgIHdlJ2QganVzdCBsb2cgaW50byB0aGUgZGVmYXVsdCBjYXRlZ29yeSBieSBhY2NpZGVudC4KCSAgV2UgdXNlIHRoZSBnc3QgbG9nZ2luZyBzeXN0ZW0gdW5jb25kaXRpb25hbGx5IG5vdywKCSAgc28gbWlnaHQganVzdCBhcyB3ZWxsIHJlbW92ZSB0aGlzICNpZiAjZWxzZS4KCjIwMTUtMDMtMTYgMTc6MzY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogZml4IHNvbWUgbW9yZSBjb21waWxlciB3YXJuaW5ncwoJICBnY2MtNC45LjI6CgkgIGdzdGR0bHNhZ2VudC5jOjExNDoxOiBlcnJvcjogb2xkLXN0eWxlIGZ1bmN0aW9uIGRlZmluaXRpb24KCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoyNTM6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoyOTE6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzozOTE6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo0MzQ6MzogZXJyb3I6IElTTyBDOTAgZm9yYmlkcyBtaXhlZCBkZWNsYXJhdGlvbnMgYW5kIGNvZGUKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo3NzM6MTogZXJyb3I6ICdCSU9fc19nc3RfZHRsc19jb25uZWN0aW9uJyB3YXMgdXNlZCB3aXRoIG5vIHByb3RvdHlwZSBiZWZvcmUgaXRzIGRlZmluaXRpb24KCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo3NzM6MTogZXJyb3I6IG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uCgoyMDE1LTAzLTE2IDE3OjUzOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NvbW1vbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkgIGR0bHM6IFVuY29uZGl0aW9uYWxseSB1c2UgR1N0cmVhbWVyIGRlYnVnIGxvZyBzeXN0ZW0KCjIwMTUtMDMtMTYgMTc6NDg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NvbW1vbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5oOgoJKiBleHQvZHRscy9wbHVnaW4uYzoKCSAgZHRsczogUmUtbmFtZXNwYWNlIGZyb20gRXIgdG8gR3N0CgoyMDE1LTAzLTE2IDE3OjM1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoxMjg6MzI6IGVycm9yOiBwYXNzaW5nICdjb25zdCBjaGFyIFszMF0nIHRvIHBhcmFtZXRlciBvZiB0eXBlICd2b2lkIConCgkgIGRpc2NhcmRzIHF1YWxpZmllcnMgWy1XZXJyb3IsLVdpbmNvbXBhdGlibGUtcG9pbnRlci10eXBlcy1kaXNjYXJkcy1xdWFsaWZpZXJzXQoJICBTU0xfZ2V0X2V4X25ld19pbmRleCAoMCwgImdzdGR0bHNhZ2VudCBjb25uZWN0aW9uIGluZGV4IiwgTlVMTCwgTlVMTCwKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICAvdXNyL2luY2x1ZGUvb3BlbnNzbC9zc2wuaDoxOTgxOjQzOiBub3RlOiBwYXNzaW5nIGFyZ3VtZW50IHRvIHBhcmFtZXRlciAnYXJncCcgaGVyZQoJICBpbnQgU1NMX2dldF9leF9uZXdfaW5kZXgobG9uZyBhcmdsLCB2b2lkICphcmdwLCBDUllQVE9fRVhfbmV3ICpuZXdfZnVuYywKCSAgXgoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjgyMjo0MDogZXJyb3I6IGFyaXRobWV0aWMgb24gYSBwb2ludGVyIHRvIHZvaWQgaXMgYSBHTlUgZXh0ZW5zaW9uCgkgIFstV2Vycm9yLC1XcG9pbnRlci1hcml0aF0KCSAgbWVtY3B5IChvdXRfYnVmZmVyLCBwcml2LT5iaW9fYnVmZmVyICsgcHJpdi0+YmlvX2J1ZmZlcl9vZmZzZXQsIGNvcHlfc2l6ZSk7CgkgIH5+fn5+fn5+fn5+fn5+fn4gXgoKMjAxNS0wMy0xNiAxNzozNDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvcGx1Z2luLmM6CgkgIGR0bHM6IEZpeCBpbmRlbnRpb24KCjIwMTUtMDMtMTYgMTc6MzM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2R0bHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29tbW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmg6CgkqIGV4dC9kdGxzL3BsdWdpbi5jOgoJICBkdGxzOiBBZGQgbmV3IERUTFMgcGx1Z2luCgkgIFRoaXMgaXMgYSBjb3B5IG9mIHRoZSBFcmljc3NvbiBEVExTIHBsdWdpbiBmcm9tCgkgIGh0dHBzOi8vZ2l0aHViLmNvbS9Fcmljc3NvblJlc2VhcmNoL29wZW53ZWJydGMtZ3N0LXBsdWdpbnMvdHJlZS9tYXN0ZXIvZXh0L2VyZHRscy9zcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU4MgoKMjAxNS0wMy0xNiAwMzo1MzozMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLm9yYzoKCSAgY29tcG9zaXRvcjogUmV2ZXJ0IG1vc3Qgb2YgcHJldmlvdXMgcGF0Y2guCgkgIFRoZSBjYWxjdWxhdGlvbiBkb2Vzbid0IHByb2R1Y2UgdGhlIHNhbWUgcmVzdWx0cy4KCSAgS2VlcCBqdXN0IHRoZSBjaGFuZ2UgdG8gZGl2aWRlIGFscGhhIGJ5IDI1NSBpbnN0ZWFkIG9mIDI1NiwKCSAgZm9yIHNsaWdodGx5IGJldHRlciBhY2N1cmFjeQoKMjAxNS0wMy0xNSAxNjo1NTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBoZWxwZXJzIGZvciBjYWxsaW5nIHN0YXRpYyBtZXRob2RzCgoyMDE1LTAzLTE1IDE2OjM4OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogRml4IGluZGVudGlvbgoKMjAxNC0wNi0wNSAxMDozMzo1NiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBtb3JlIEpOSSBoZWxwZXIgZnVuY3Rpb25zCgoyMDE0LTA2LTAyIDEyOjM3OjA5ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogU3BsaXQgam5pIGNvZGUgdG8gZ3N0am5pdXRpbHMuYwoKMjAxNS0wMy0xNSAxNjoxMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZHJvcCBzb21lIHN1cGVyZmx1b3VzIGFzc2VydGlvbnMKCSAgZ19yZXR1cm5fKl9pZl9mYWlsKCkgaXMgZm9yIHB1YmxpYyBBUEkgdG8gY2F0Y2gKCSAgcHJvZ3JhbW1pbmcgZXJyb3JzLiBGb3IgaW50ZXJuYWwgY29kZSwgd2Ugc2hvdWxkCgkgIGp1c3QgdXNlIGdfYXNzZXJ0KCkgdG8gY2hlY2sgaW50ZXJuYWwgc3RhdGUuCgoyMDE1LTAzLTE1IDE1OjU0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCB0ZXN0IGZvciBrZXlmcmFtZS9kZWx0YSBmbGFnIHByb3BhZ2F0aW9uCgkgIFRoZSBmaXJzdCBvdXRwdXQgTVBFRy1UUyBwYWNrZXQgdGhhdCBjb3JyZXNwb25kcyB0byBhIHZpZGVvIGlucHV0CgkgIGJ1ZmZlciB3aGljaCBoYWQgdGhlIGRlbHRhIGZsYWcgY2xlYXJlZCAoaS5lLiB3YXMgYSBrZXlmcmFtZSkKCSAgc2hvdWxkIGhhdmUgdGhlIGRlbHRhIGZsYWcgY2xlYXJlZCBhcyB3ZWxsLgoJICBUaGlzIGlzIG5lZWRlZCBlLmcuIGJ5IHRjcHNlcnZlcnNpbmsgaW4gb3JkZXIgdG8ga2VlcCB0cmFjawoJICBvZiB0aGUgbGFzdCBrZXlmcmFtZSBhbmQgYmUgYWJsZSB0byBidXJzdCBkYXRhIHRvIG5ld2x5LQoJICBjb25uZWN0ZWQgY2xpZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjg3MgoKMjAxNS0wMy0xNSAxNDozNToxNSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBnbC9kb2NzOiBhZGQgbWlzc2luZyBmdW5jdGlvbnMvb2JqZWN0cwoKMjAxNS0wMy0xNSAxMjo1ODoyNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IHRlbnRhdGl2ZSBwcm9wZXIgY29udGV4dCBjb2xsaXNpb24gZGV0ZWN0aW9uCgkgIEZpeGVzCgkgIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsaWFtZ2VzaW5rIHQuICEgcXVldWUgISBnbGltYWdlc2luawoKMjAxNC0wNy0xOCAxMDo0NDo1OSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IG5hbWVzcGFjZSBvZiBzb21lIGludGVybmFsIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzQ3CgoyMDE1LTAzLTE2IDAwOjIyOjE0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJICBjb21wb3NpdG9yOiBGaXggYmxlbmRpbmcgZnVuY3Rpb25zCgkgIENvcnJlY3RseSBjYWxjdWxhdGUgYWxwaGEgaW4gYSBmZXcgcGxhY2VzIGJ5IGRpdmlkaW5nIGJ5IDI1NSwKCSAgbm90IDI1Ni4KCSAgRml4IHRoZSBhcmdiIGFuZCBiZ3JhIGJsZW5kaW5nIGZ1bmN0aW9ucyB0byBhdm9pZCBhbiBvZmYtYnktb25lCgkgIGVycm9yIGluIHRoZSBjYWxjdWxhdGlvbnMsIHNvIHBhaW50aW5nIHdpdGggYWxwaGEgPSAweGZmIGRvZXNuJ3QKCSAgZXZlciBibGVlZCB0aHJvdWdoIGZyb20gYmVoaW5kCgoyMDE1LTAzLTE1IDEyOjA2OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCB1bml0IHRlc3QgZm9yICJhbGlnbm1lbnQiIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjkKCjIwMTUtMDMtMTQgMTU6Mjc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1ha2UgImFsaWdubWVudCIgcHJvcGVydHkgbW9yZSB1c2VmdWwgZm9yIHBhY2tldGlzYXRpb24KCSAgQ3VycmVudGx5IHRoZSBhbGlnbm1lbnQgcHJvcGVydHkganVzdCBtYWtlcyBzdXJlIHRoYXQgd2UKCSAgb3V0cHV0IHRoaW5ncyBpbiBtdWx0aXBsZXMgb2YgYWxpZ24qcGFja2V0X3NpemUgYnl0ZXMsIGJ1dAoJICB3aXRoIG5vIGNsZWFyIG1heGltdW0gc2l6ZS4gV2hlbiBzdHJlYW1pbmcgTVBFRy1UUyBvdmVyCgkgIFVEUCBvbmUgd2FudHMgYnVmZmVycyB3aXRoIGEgbWF4aW11bSBwYWNrZXQgc2l6ZSBvZiAxMzE2LgoJICBUaGUgYWxpZ25tZW50IHByb3BlcnR5IHNvIGZhciB3b3VsZCBqdXN0IG91dHB1dCBidWZmZXJzCgkgIHRoYXQgYXJlIGEgbXVsdGlwbGUgb2YgMTMxNiB0aGVuLgoJICBJbnN0ZWFkIHdlIG5vdyBtYWtlIHRoZSBhbGlnbm1lbnQgcHJvcGVydHkgb3V0cHV0CgkgIGluZGl2aWR1YWwgYnVmZmVycyB3aXRoIHRoZSBhbGlnbm1lbnQgc2l6ZSwgd2hpY2gKCSAgaXMgZW50aXJlbHkgYmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXhwZWN0ZWQKCSAgYmVoYXZpb3VyIHVwIHVudGlsIG5vdy4gRm9yIGVmZmljaWVuY3kgcmVhc29uCgkgIGNvbGxlY3QgYWxsIHRob3NlIGJ1ZmZlcnMgaW4gYSBidWZmZXIgbGlzdCBhbmQKCSAgc2VuZCB0aGF0IGRvd25zdHJlYW0uCgkgIEFsc28gY29sbGVjdCBkYXRhIHRvIHB1c2ggZG93bnN0cmVhbSBpbiBhIGJ1ZmZlcgoJICBsaXN0IGZyb20gdGhlIGFkYXB0ZXIgaWYgd2UgZG9uJ3QgYWxpZ24gdGhpbmdzLAoJICB3aGljaCBpcyBzdGlsbCBtb3JlIGVmZmljaWVudCBiZWNhdXNlIG9mIHRoZQoJICBzaWxseSB3YXkgdGhlIG11eGVyIGN1cnJlbnRseSBjcmVhdGVzIG91dHB1dAoJICBwYWNrZXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI5CgoyMDE1LTAzLTExIDIzOjAzOjI0ICswODAwICB4aXhpIDx4aXhpMTAxMTEwMTFAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZmV0Y2ggd3Jvbmcgc2VnbWVudCBhdCB0aGUgZW5kIG9mIFBlcmlvZAoJICBGaXggY2hlY2sgZm9yIGVuZCBvZiBQZXJpb2QgdGltZSB0byBhdm9pZCB0cnlpbmcKCSAgdG8gZmV0Y2ggYSBzZWdtZW50IHRoYXQgZG9lc24ndCBleGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDM4CgoyMDE1LTAzLTE0IDE5OjQ4OjIxICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBtb3ZlIG1ldGEtZGF0YSBjb3B5IGludG8gZ3N0LWdsIGxpYnJhcnkKCSAgSW4gc29tZSB1cGxvYWQgaW1wbGVtZW50YXRpb25zIHRoZSBvdXQgYnVmZmVyIGhhcyBtb3JlIHRoYW4gb25lIHJlZmVyZW5jZXMsCgkgIHR1cm5pbmcgdGhlIGJ1ZmZlciBub3Qgd3JpdGFibGUsIHNvIGl0IHdvbid0IGJlIHBvc3NpYmxlIHRvIG1vZGlmeSBpdHMKCSAgbWV0YS1kYXRhLgoJICBUaGlzIHBhdGNoIG1vdmVzIHRoZSBtZXRhLWRhdGEgY29weSBiZWZvcmUgaW5jcmVhc2luZyB0aGUgcmVmZXJlbmNlIG9mIHRoZSBvdXQKCSAgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTczCgoyMDE1LTAzLTE0IDE4OjQ1OjAxICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGZpeCB0aGUgc2xpZ2h0IGRpZmZlcmVuY2UgYmV0d2VlbiBFWFRfcmcgYW5kIEFSQl9yZwoJICBHTF9FWFRfdGV4dHVyZV9yZyBkb2Vzbid0IHRha2Ugc2l6ZWQgZm9ybWF0cyBmb3IgdGhlIGludGVybmFsZm9ybWF0CgkgIHBhcmFtZXRlciBvZiBUZXhJbWFnZSogYnV0IEdMX0FSQl90ZXh0dXJlX3JnIGFuZCBHTChFUykzIGRvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTA3CgoyMDE1LTAzLTE0IDE3OjI5OjAyICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGhhY2sgYXJvdW5kIGJ1ZyA2NDgzNTkKCSAgSXQgaXMgYWxyZWFkeSBmaXhlZAoKMjAxNS0wMy0xNCAxMjoyNDo1MyArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBkZXByZWNhdGVkIGdfYXRvbWljIGZ1bmN0aW9uCgkgIFdlIGRlcGVuZCBvbiAyLjMyIGFscmVhZHkKCjIwMTUtMDMtMTQgMTE6NDU6MjAgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IHBhZCBsZWFrCgkgIE9ubHkgZ2V0IHRoZSBwYWQgaWYgaXQgaXMgcmVhbGx5IGdvaW5nIHRvIGJlIHVzZWQgdG8gYXZvaWQKCSAgbGVha2luZyBpdAoKMjAxNS0wMy0xNCAxODoxMDoyNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJICBnbC9leGFtcGxlczogZml4dXAgZ2VuZXJpYyBjdWJlIGV4YW1wbGUgZm9yIE5EQwoJICB0cmFuc2xhdGluZyBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbiBkb2Vzbid0IHdvcmsKCjIwMTUtMDMtMTQgMTU6Mzg6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlMi5jOgoJICBnbC9leGFtcGxlczogYWRkIHNkbHNoYXJlMiB0aGF0IHVzZXMgZ2xpbWFnZXNpbmsgdG8gb3V0cHV0IHRleHR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk2ODEKCjIwMTUtMDMtMTQgMTY6MzA6NDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBrZWVwIHdpbmRvdyBpbnZpc2libGUgd2hlbiBzaGFyaW5nIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NjgxCgoyMDE1LTAzLTE0IDE1OjE2OjU1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkgIGdsaW1hZ2VzaW5rOiBwcm92aWRlIEdzdFNhbXBsZSBpbiBjbGllbnQtZHJhdyBzaWduYWwKCSAgSW5zdGVhZCBvZiBwcml2aWRpbmcgdGV4dHVyZSBhbmQgc2l6ZSBkaXJlY3RseS4KCSAgQW5kIGFwcGx5IGNoYW5nZXMgdG8gZXhhbXBsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk2ODEKCjIwMTUtMDMtMTQgMTU6Mzc6MDUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIHNkbHNoYXJlOiB1c2UgZ2x1cGxvYWQgYW5kIHVubWFwIGZyYW1lCgoyMDE1LTAzLTE0IDE2OjI1OjI5ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsc3luY21ldGE6IG1ha2UgY29udGV4dCB0byB3YWl0IGFuZCBzZXQgc3luYyBleHBsaWNpdAoJICBvdGhlcndpc2Ugd2UgbWF5IHdhaXQgb24gYSBzeW5jIG9iamVjdCBpbiBzYW1lIGNvbnRleHQgYnkgYWNjaWRlbnQKCjIwMTUtMDMtMTQgMTU6MTY6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkCgkgIFdhcyBzdXBwb3NlZCB0byBiZSBzcXVhc2hlZCBpbnRvIGVhcmxpZXIgY29tbWl0LgoKMjAxNS0wMy0xNCAxNToxNTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDE1LTAzLTE0IDE0OjQzOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSAgUmVtb3ZlIHVucG9ydGVkIGFuZCB1c2VsZXNzIG9zeHZpZGVvc3JjIGVsZW1lbnQKCSAgVGhlcmUgYXJlIG90aGVyIGVsZW1lbnRzIGZvciB0aGlzIG5vdy4KCjIwMTUtMDMtMTMgMTg6MjQ6NDMgKzAwMDAgIFJhbWlybyBQb2xsYSA8cmFtaXJvLnBvbGxhQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHByb3Blcmx5IGVzY2FwZSBwZXJjZW50IHNpZ24gaW4gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMy0xNCAxMjo1ODoyMiArMDAwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBBZGQgTlVMTCBjaGVjayBpbiBlcnJvciBjYXNlCgkgIE90aGVyIGNvbnRleHQgbWF5IGJlIE5VTEwgaWYgc29tZXRoaW5nIHdlbnQgd3JvbmcuIEF2b2lkIHRyeWluZyB0byB1bnJlZgoJICBhIE5VTEwgcG9pbnRlci4KCjIwMTUtMDMtMTQgMTE6MDE6MTIgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGZpeCBhIGNvdXBsZSBvZiB0eXBvcyBpbiBjb25maWd1cmUuYWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDAyMAoKMjAxNS0wMy0xNCAxMDozOTowNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkL2NvbG9yY29udmVydDogb25seSBjb3B5IHRpbWVzdGFtcHMgaWYgdGhlIGlucHV0IGJ1ZmZlciAhPSBvdXRwdXQKCjIwMTUtMDMtMTEgMDA6MDY6NTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGRpc3BsYXlfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsZGlzcGxheV9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgR3N0R0xEaXNwbGF5Q29jb2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAxMgoKMjAxNS0wMy0xMyAwOTowNzoxNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZXhhbXBsZXM6IGluaXRpYWxpemUgTlNBcHAgYXQgdGhlIGJlZ2lubmluZwoKMjAxNS0wMy0xNCAwNzo0OToxNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGRvIG5vdCB0ZXJtaW5hdGUgbG9vcCBpbiBnc3RfZ2xfd2luZG93X2NvY29hX2Nsb3NlCgkgIEl0IGlzIG5vdyBkb25lIGluIF9maW5hbGl6ZS4KCSAgRml4IHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieQoJICAiZ2wvd2luZG93OiBjcmVhdGUgdGhlIG1haW4gbG9vcC9jb250ZXh0IG9uIGluaXQvZmluYWxpemUiCgkgIGJjN2E3MjU5ZjM1N2IwMDY1ZGQ5NGUwNjY4YjVhODk1ZDgzZmE1M2EKCjIwMTUtMDMtMTMgMTU6MzQ6NTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGF2b2lkIG92ZXJ3cml0aW5nIGRpc3BsYXkgYW5kIGNvbnRleHQgdG8gTlVMTAoJICBJdCBoYXBwZW5zIHdoZW4gdGhlIGFwcGxpY2F0aW9uIHByb3ZpZGVzIGRpc3BsYXkKCSAgYW5kL29yIGNvbnRleHQuCgoyMDE1LTAzLTEzIDE3OjQxOjE3ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogYXR0cmlidXRlIGxvY2F0aW9ucyBhcmUgLTEgb24gZXJyb3IKCjIwMTUtMDMtMTMgMTc6MDQ6MTcgKzAwMDAgIE5lb3MzNDUyIDxuZW9zMzQ1MkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IHByZXZlbnQgZnJvbSBnZXR0aW5nIGF0dHJpYnV0ZXMgd2l0aG91dCB2ZXJ0ZXggc2hhZGVyCgkgIEl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBxdWVyeSBmb3IgdmVydGV4IGF0dHJpYnV0ZXMgd2l0aG91dCBhIHZlcnRleAoJICBzaGFkZXIuIE1vcmVvdmVyIHRoaXMgaXMgY2F1c2luZyBhIGNyYXNoIG9uIE9TWC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE2OAoKMjAxNS0wMy0xNCAwMjo1MzowMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSAgR0w6IFJlbW92ZSBhbm5veWluZyBwcmludGYgaW4gdGhlIGZpbHRlcmJpbiBjbGFzc19pbml0CgoyMDE1LTAzLTEyIDA5OjI3OjMwICswMTAwICBpanNmIDxpanNmQGdteC5uZXQ+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBSZXN0cmljdGVkIGFjdGl2ZVZpZGVvTWF4RnJhbWVEdXJhdGlvbiB0byBmaXggZnJhbWUgcmF0ZQoKMjAxNS0wMy0xMyAxMjo0MzoxMyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9uIHRoZSBiaW4KCjIwMTUtMDMtMTMgMTI6NDA6MDQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogdW5yZWYgdGhlIGJ1ZmZlcnBvb2wKCjIwMTUtMDMtMTMgMTI6Mjk6NTQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZm9yd2FyZCBBTEwgdGhlIHByb3BlcnRpZXMgb24gdGhlIGJpbgoKMjAxNS0wMy0xMyAxMjoyODozNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IHByb3Blcmx5IHVucmVmIGJ1ZmZlcnMgdGhhdCBhcmUgdGhlIHNhbWUgYXMgdGhlIGlucHV0CgkgIGJhc2V0cmFuc2Zvcm0gZG9lc24ndCB1bnJlZiBlcXVhbCBpbnB1dCBhbmQgb3V0cHV0IGJ1ZmZlcnMKCjIwMTUtMDMtMTMgMTA6MjU6MzUgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGdldCB0aGUgY29udGV4dCBmcm9tIGJhc2VtaXhlci9iYXNlZmlsdGVyCgoyMDE1LTAzLTEzIDA5OjM4OjU0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHJldHJlaXZlIHRoZSBnbGRpc3BsYXkvYXBwIGdsIGNvbnRleHQgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBmaXhlcyB0aGUgdXNhZ2Ugb2YgZ3N0X2dsX2Rpc3BsYXlfZmlsdGVyX2dsX2FwaQoKMjAxNS0wMy0xMyAwOTozNzo0NiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvdGVzdHM6IGZpeCBkZWFkbG9jayBvbiBnbGNvbnRleHQgd3JhcHBlZCBjb250ZXh0IHRlc3QKCjIwMTUtMDMtMTIgMTY6NDY6NDQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBjYWNoZSBpbmRpY2VzIGluIGEgYnVmZmVyIG9iamVjdAoKMjAxNS0wMy0xMiAxNzoxMTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IGRpc2NvbnQgZGV0ZWN0aW9uIGFuZCBidWZmZXIgYWxpZ25tZW50IGNvZGUKCSAgQWN0dWFsbHkgYWNjdW11bGF0ZSB0aGUgc2FtcGxlIGNvdW50ZXIgdG8gY2hlY2sgdGhlIGFjY3VtdWxhdGVkIGVycm9yCgkgIGJldHdlZW4gYWN0dWFsIHRpbWVzdGFtcHMgYW5kIGV4cGVjdGVkIG9uZXMgaW5zdGVhZCBvZiBqdXN0IHJlc2V0dGluZwoJICB0aGUgZXJyb3IgYmFjayB0byAwIHdpdGggZXZlcnkgbmV3IGJ1ZmZlci4KCSAgQWxzbyBkb24ndCByZXNldCBkaXNjb250X3RpbWUgd2hlbmV2ZXIgd2UgZG9uJ3QgcmVzeW5jLiBUaGUgd2hvbGUgcG9pbnQgb2YKCSAgZGlzY29udF90aW1lIGlzIHRvIHJlbWVtYmVyIHdoZW4gd2UgZmlyc3QgZGV0ZWN0ZWQgYSBkaXNjb250IHVudGlsIHdlIGFjdHVhbGx5CgkgIGFjdCBvbiBpdCBhIGJpdCBsYXRlciBpZiB0aGUgZGlzY29udCBzdGF5ZWQgYXJvdW5kIGZvciBkaXNjb250X3dhaXQgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAzMgoKMjAxNS0wMy0wOCAxODoxNjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4gbGlrZSBnbGltYWdlc2luawoKMjAxNS0wMy0wMyAxODowNTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGF2b2lkIGRlYWRsb2NrIHdoZW4gY3JlYXRpbmcgY29udGV4dCBvbiB0aGUgbWFpbiB0aHJlYWQuCgkgIE1ha2Ugd2luZG93L3ZpZXcgY3JlYXRpb24gYXN5bmMgc28gdGhhdCBpdCBpcyBwb3NzaWJsZSB0bwoJICBnc3RfZ2xfY29udGV4dF9jcmVhdGUgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCgoyMDE1LTAzLTAzIDE3OjI2OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2w6IHN0b3JlIHRoZSBsaXN0IG9mIGNvbnRleHRzIHdpdGhpbiBnbGRpc3BsYXkKCSAgUmVtb3ZlcyB0aGUgcmVsaWFuY2Ugb24gdGhlIGFsbG9jYXRpb24gcXVlcnkgdG8gcHJvcG9nYXRlIEdMIGNvbnRleHRzLgoJICBBbGxvd3MgdGhyZWFkIHNhZmVseSBnZXR0aW5nIGEgY29udGV4dCBmb3IgdGhlIGEgc3BlY2lmaWMgdGhyZWFkLgoKMjAxNS0wMy0wMyAxNjo0ODoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnNldCB0aGUgY3VycmVudCBzaGFkZXIgYWZ0ZXIgcmVuZGVyaW5nCgkgIGZpeGVzIGdsdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIHdoZW4gZ2x0ZXN0c3JjIGRvZXNuJ3QgdXNlIGEgc2hhZGVyCgoyMDE1LTAzLTAzIDE2OjM4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiByZW1vdmUgdXNhZ2Ugb2YgZ2xkb3dubG9hZCBsaWJyYXJ5IG9iamVjdAoKMjAxNS0wMi0yOCAwMDozMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogc3RvcmUgdGhlIHRocmVhZCBjdXJyZW50IGNvbnRleHQKCjIwMTUtMDItMjYgMTg6MjY6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZ2xzcmNiaW4gZWxlbWVudAoKMjAxNS0wMi0yNiAxMzo0NTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgd2l0aCBnbG1peGVyYmluCgkgIFRoZSByZWxldmFudCBwcm9wZXJ0aWVzIGFyZSBmb3J3YXJkZWQgdG8vZnJvbSB0aGUgY29udGFpbmluZyBiaW4KCSAgYW5kIHNpbmsgcGFkcy4KCjIwMTUtMDItMjYgMDA6MjA6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHJlbW92ZSB1c2FnZSBvZiB1cGxvYWQvZG93bmxvYWQgb2JqZWN0cwoKMjAxNS0wMi0yNSAyMzo0ODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZ2xtaXhlcmJpbiBlbGVtZW50CgoyMDE1LTAyLTIwIDE2OjQ3OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xpbWFnZXNpbms6IGltcGxlbWVudCBhcyBhIGJpbgoJICBnbHVwbG9hZCAhIGdsY29sb3Jjb252ZXJ0ICEgc2luawoJICBTb21lIHByb3BlcnRpZXMgYXJlIG1hbnVhbGx5IGZvcndhcmRlZC4gIFRoZSByZXN0IGFyZSBhdmFpbGFibGUgdXNpbmcKCSAgR3N0Q2hpbGRQcm94eS4KCSAgVGhlIHR3byBzaWduYWxzIGFyZSBmb3J3YXJkZWQgYXMgd2VsbC4KCjIwMTUtMDItMTkgMTg6MjM6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBnbHNpbmtiaW4gZWxlbWVudAoJICBzaW1pbGFyIHRvIGdsZmlsdGVyYmluIGJ1dCBmb3Igc2lua3MKCjIwMTUtMDItMTkgMTQ6MTk6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZG9uJ3QgdXNlIHRoZSBsaWJyYXJ5IHVwbG9hZC9jb252ZXJ0IG9iamVjdHMKCjIwMTUtMDItMTkgMTM6MzM6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZWxlbWVudCBnbGZpbHRlcmJpbgoJICBJdCBlbmNhcHN1bGF0ZXMgYSBjb25maXVyYWJsZSBHTCBwcm9jZXNzaW5nIGVsZW1lbnQgaW4gdGhlCgkgIHVwbG9hZC9jb2xvcmNvbnZlcnQvZG93bmxvYWQgZGFuY2UgcmVxdWlyZWQgdG8gdHJhbnNwYXJlbnRseSBwcm9jZXNzCgkgIHRoZSBtYWpvcml0eSBvZiBHc3RCdWZmZXIncy4KCjIwMTUtMDItMTkgMTM6MjQ6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgbmV3IGdsZG93bmxvYWRlbGVtZW50CgkgIFNpbXBseSB0cmFuc2Zvcm1zIGNhcHMgdG8vZnJvbSByYXcvZ2xtZW1vcnkgY2Fwc2ZlYXR1cmVzCgoyMDE1LTAyLTEyIDE3OjU5OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgYSBuZXcgZ2xjb2xvcmNvbnZlcnQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2xjb2xvcmNvbnZlcnQgbGlicmFyeSBvYmplY3QKCjIwMTUtMDMtMTEgMTY6NTY6MTYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogaW1wbGVtZW50IHByb3Bvc2VfYWxsb2NhdGlvbiBwb29sIGhhbmRsaW5nIGZvciBnbG1lbW9yeSB1cGxvYWQKCjIwMTUtMDItMTEgMjM6Mjk6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBhIG5ldyBnbHVwbG9hZCBlbGVtZW50IGJhc2VkIG9uIHRoZSBnbHVwbG9hZCBsaWJyYXJ5IG9iamVjdAoKMjAxNS0wMi0xMSAxNDo0ODo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2w6IGFkZCBhIG5ldyBnbGJhc2VtaXhlciBjbGFzcyBiZWxvdyBnbG1peGVyCgkgIEl0IGRlYWxzIHdpdGggcHJvcGFnYXRpbmcgdGhlIGdsIGRpc3BsYXkvY29udGV4dHMgdGhyb3VnaG91dCB0aGUKCSAgYXBwbGljYXRpb24vcGlwZWxpbmUKCjIwMTUtMDItMTEgMDE6NDg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGFkZCBhIG5ldyBnbGJhc2VmaWx0ZXIgY2xhc3MgYmVsb3cgZ2xmaWx0ZXIKCSAgSXQgZGVhbHMgd2l0aCBwcm9wYWdhdGluZyB0aGUgZ2wgZGlzcGxheS9jb250ZXh0cyB0aHJvdWdob3V0IHRoZQoJICBhcHBsaWNhdGlvbi9waXBlbGluZQoKMjAxNS0wMi0xMSAwMToyNzoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1dGlsczogZXhwb3NlIHJ1bm5pbmcgYSBxdWVyeSBvbiBhIHNldCBvZiBzcmMvc2luayBwYWRzCgoyMDE1LTAzLTEyIDEyOjQ5OjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiByZXBsYWNlIGNiciBhbmQgY29uc3RyYWluZWQtdmJyIHByb3BlcnRpZXMgd2l0aCBhbiBlbnVtCgkgIEl0IHdhcyBkZWVtZWQgY29uZnVzaW5nIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDkwOQoKMjAxNS0wMy0xMiAxMDoxNDo1MCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBhZHZlcnRpc2UgcmVzaXplIGluIHRoZSBjYXBzIG5lZ290aWF0aW9uIHByb3Blcmx5CgoyMDE1LTAzLTEyIDAxOjQ5OjU4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBsb2NraW5nIHRvIGZpbGxfYnVmZmVyIGFuZCBmaXggbWl4X2J1ZmZlcgoJICBUaGUgYXVkaW9taXhlciBwYWQgc3RydWN0IGZpZWxkcyBtYXkgYmUgY2hhbmdlZCBmcm9tIG90aGVyIHRocmVhZHMKCjIwMTUtMDMtMTIgMDE6NTY6NDQgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiBNYXJrIGEgZGlzY29udCB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudAoJICBUaGlzIGFsbG93cyB1cyB0byBoYW5kbGUgbmV3IHNlZ21lbnQgZXZlbnRzIGNvcnJlY3RseTsgZWl0aGVyIGJ5IGRyb3BwaW5nCgkgIGJ1ZmZlcnMgb3IgaW5zZXJ0aW5nIHNpbGVuY2U7IGZvciBleGFtcGxlIGlmIHRoZSBvZmZzZXQgaXMgY2hhbmdlZCBvbiBhbiBzcmNwYWQKCSAgY29ubmVjdGVkIHRvIGF1ZGlvbWl4ZXIuCgoyMDE1LTAzLTEyIDA5OjQ2OjAyICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHdlIGRvbid0IGRvIHJlc2l6aW5nIG9mIHRoZSB2aWRlbyBmcmFtZXMKCSAgQXMgd2UgY2Fubm90IGRvIGFjY3VyYXRlIHRleGVsIHNhbXBsaW5nIHRoZW4gZHVlIHRvIHRoZSB0ZXh0dXJlCgkgIGNvb3JkaW5hdGVzIGJlaW5nIGludGVycG9sYXRlZCBiYXNlZCBvbiB0aGUgb3V0cHV0IGZyYW1lIHNpemUuCgoyMDE1LTAxLTIwIDE5OjUzOjA5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogV2hpbGUgYWdncmVnYXRpbmcsIHN5bmMgdmFsdWVzIGZvciBhbGwgcGFkcyBiZWZvcmUgY29udmVydGluZyBmcmFtZXMKCjIwMTUtMDMtMTEgMTg6NDk6MjIgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogZG9uJ3QgWEdldFdpbmRvd0F0dHJpYnV0ZXMgZXZlcnkgWEV2ZW50CgkgIGZpeGVzIGEgZGVhZGxvY2sgaW4geGNiIHdoZXJlIHRoZSBYIHdpbmRvdyBtYXkgbm90IGV4aXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NjMzCgoyMDE1LTAzLTExIDE0OjUwOjI4ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL3dpbmRvdzogaG9wZWZ1bGx5IGZpeHVwIGNvbXBpbGUgd2FybmluZ3Mgb24gYW5kcm9pZC9pb3MKCjIwMTUtMDMtMTEgMTc6MTk6MTcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBSZW1vdmUgcmVkdW5kYW50IGNoZWNrIGZvciBjbGVhcmluZyBjb250ZXh0IG9uIHJlc2V0LgoJICBUaGUgY29udGV4dCBpcyBhbHJlYWR5IGNsZWFyZWQgYSBmZXcgbGluZXMgYWJvdmUuCgoyMDE1LTAzLTExIDE2OjU1OjE0ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkgIFJlbW92ZSBhIGJ1bmNoIG9mIHNpbGx5ICc7OycgdHlwb3MgYXQgdGhlIGVuZCBvZiBsaW5lcwoKMjAxNS0wMy0wNiAxNTozMToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93OiBjcmVhdGUgdGhlIG1haW4gbG9vcC9jb250ZXh0IG9uIGluaXQvZmluYWxpemUKCSAgQXZvaWRzIHJhY2VzIHNldHRpbmcgdGhlIHdpbmRvdyBoYW5kbGUgZnJvbSB0aGUgbWFpbiB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU2MzMKCjIwMTUtMDMtMDggMDI6MDQ6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcnk6IGRvbid0IHJlZGVmaW5lIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTCgoyMDE1LTAzLTA0IDExOjEyOjMyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbW92ZSB1bnVzZWQgbGFiZWwvdmFyaWFibGUKCjIwMTUtMDMtMTAgMTU6MzE6MjEgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGdldF9wcmVzZW50YXRpb25fb2Zmc2V0IGNoZWNrLgoJICBBbmQgcmV0dXJuIDAgaXNudGVhZCBvZiBGQUxTRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wMiAxNDowMDowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgZ2V0X3ByZXNlbnRhdGlvbl9vZmZzZXQuCgkgIFRvIGFjY291bnQgZm9yIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgYXMgcGVyIHNlY3Rpb24gNy4yLjEgLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTAyIDEzOjUzOjAzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogW0FQSV06IGdldF9wcmVzZW50YXRpb25fb2Zmc2V0IHZpcnR1YWwgbWV0aG9kLgoJICBBc2tzIHRoZSBzdWJjbGFzcyBmb3IgYSBwb3RlbnRpYWwgdGltZSBvZmZzZXQgdG8gYXBwbHkgdG8gZWFjaAoJICBzZXBhcmF0ZSBzdHJlYW0sIGluIGRhc2ggc3RyZWFtcyBjYW4gaGF2ZSAicHJlc2VudGF0aW9uIHRpbWUgb2Zmc2V0cyIsCgkgIHdoaWNoIGNhbiBiZSBkaWZmZXJlbnQgZm9yIGVhY2ggc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTA2IDEyOjI0OjQ0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZ3N0bXBkcGFyc2VyOiBSZWFsbHkgc2V0IHRoZSBkZWZhdWx0IHZhbHVlIGZvciBzdGFydE51bWJlci4KCSAgKyBUaGUgc3BlY3MgYXNrIGZvciBhIGRlZmF1bHQgb2YgMSwgdGhlIGN1cnJlbnQgY29kZSBvbmx5IGRpZAoJICBzZXQgYSBkZWZhdWx0IHdoZW4gdGhlIGZpZWxkIHdhcyBwcmVzZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTA5IDExOjExOjE2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcjogdW51c2VkIHZhbHVlCgkgIFZhbHVlIHNldCBpbiBvZmYgd2lsbCBiZSBpbW1lZGlhdGVseSBvdmVyd3JpdHRlbiBhZnRlciBnb2luZyB0byBuZXh0LgoJICBDSUQgIzEyMjY0NzYKCjIwMTUtMDMtMDkgMTI6NTE6MjEgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiByZW1vdmUgdW5uZWNlc3Nhcnkgc2VtaWNvbG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4NzcKCjIwMTUtMDMtMDkgMTI6NDE6NTkgKzA5MDAgIGhvb25oZWUubGVlIDxob29uaGVlLmxlZUBsZ2UuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgdGVzdHM6IGdsY29udGV4dDogcmVtb3ZlIHVubmVjZXNzYXJ5IHNlbWljb2xvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODc1CgoyMDE1LTAzLTA2IDE0OjQ5OjIwICswMjAwICBNb2hhbW1lZCBIYXNzYW4gPG1vaGFtbWVkLmhhc3NhbkBqb2xsYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHpvb20gcGFyYW0gc3BlYyBpZiB2aWRlbyBzb3VyY2UgY2hhbmdlcyBpdHMgbWF4LXpvb20KCSAgSWYgdGhlIHZpZGVvIHNvdXJjZSBoYXBwZW5zIHRvIGFsbG93IG1heC16b29tIHRvIGJlIGdyZWF0ZXIgdGhhbiBvdXIgbWF4aW11bSBoYXJkIGNvZGVkCgkgIHZhbHVlIG9mIDEwIHRoZW4gdGhlIHVzZXIgY2Fubm90IHNldCBhbnl0aGluZyBncmVhdGVyIHRoYW4gb3VyIG1heGltdW0gc3BlY2lmaWVkIGluIHRoZQoJICBwYXJhbSBzcGVjLiBXZSBoYXZlIHRvIHVwZGF0ZSBvdXIgcGFyYW0gc3BlYyB0byBwcmV2ZW50IGdsaWIgZnJvbSBjYXBwaW5nIHRoZSB2YWx1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzQwCgoyMDE1LTAzLTA3IDEwOjI4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIHZ0ZGVjOiBSZWdpc3RlciBhIGhhcmR3YXJlLW9ubHkgdnRkZWNfaHcgb24gT1NYIGFuZCBnaXZlIGl0IGEgaGlnaGVyIHJhbmsKCSAgd2hpbGUgaGF2aW5nIHRoZSBkZWZhdWx0IHZ0ZGVjIGF0IHNlY29uZGFyeSByYW5rLiBUaGlzIGFsbG93cyBkZWNvZGViaW4vcGxheWJpbgoJICB0byBwcmVmZXIgdGhlIGhhcmR3YXJlIGJhc2VkIGRlY29kZXJzLCBhbmQgaWYgdGhhdCBmYWlscyB0byBpbml0aWFsaXplIGJlY2F1c2UKCSAgaGFyZHdhcmUgcmVzb3VyY2VzIGFyZSBidXN5IHRvIGZhbGwgYmFjayB0byBlLmcuIHRoZSBsaWJhdiBiYXNlZCBoMjY0IGRlY29kZXIKCSAgaW5zdGVhZCBvZiB0aGUgc29mdHdhcmUgYmFzZWQgdnRkZWMgKHdoaWNoIGlzIHNsb3dlciksIGFuZCBvbmx5IGZhbGwgYmFjayB0bwoJICB0aGUgc29mdHdhcmUgYmFzZWQgdnRkZWMgaWYgdGhlcmUgaXMgbm8gaGlnaGVyIHJhbmtlZCBkZWNvZGVyIGF2YWlsYWJsZS4KCjIwMTUtMDMtMDYgMjA6MTE6MDAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IERvbid0IHNoYXJlIG91ciBkb3duc3RyZWFtIHBvb2wgd2l0aCB1cHN0cmVhbQoJICBQb29sIGNhbm5vdCBoYXZlIG11bHRpcGxlIG93bmVyLiBUaGlzIGNhbiBsZWFkIHRvIHNwdXJpb3VzCgkgIHBvb2wgd2FzIGZsdXNoaW5nIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzAKCjIwMTUtMDMtMDUgMTY6Mjg6MzYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogRG9uJ3QgY2hhaW4gZG93bnN0cmVhbSBwb29sCgkgIENoYWluaW5nIGEgZG93bnN0cmVhbSBwb29sIHdvdWxkIGxlYWQgdG8gdHdvIG93bmVyIG9mIHRoZSBzYW1lCgkgIHBvb2wuIEluIGR5bmFtaWMgcGlwZWxpbmUsIGlmIG9uZSBvd25lciBpcyByZW1vdmVkIGZyb20gdGhlIHBpcGVsaW5lCgkgIHRoZSBwb29sIHdpbGwgYmUgc3RvcHBlZCwgYW5kIHRoZSByZXN0IG9mIHRoZSBwaXBlbGluZSB3aWxsIGZhaWwKCSAgc2luY2UgdGhlIHBvb2wgd2lsbCBub3cgYmUgZmx1c2hpbmcuIEFsc28gZml4IHByb3Bvc2VkIHBvb2wgY2FjaGluZywKCSAgZmlsdGVyLT5wb29sIHdhcyBuZXZlciBzZXQsIG5ldmVyIHVucmVmZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDUKCjIwMTUtMDMtMDUgMTU6NDk6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogT25seSBjYWNoZSBwb29sLCBkb24ndCBtYW5hZ2UgaXQKCSAgR0xJbWFnZSBkb2VzIG5vdCB1c2UgYW55IGtpbmQgb2YgaW50ZXJuYWwgcG9vbC4gVGhlcmUgd2FzIHNvbWUKCSAgcmVtYWluaW5nIGNvZGUgYW5kIGNvbW1lbnQgc3RhdGluZyB0aGF0IGl0IHdhcyBtYW5hZ2luZyB0aGUKCSAgcG9vbCwgYW5kIGl0IHdhcyBpbiBmYWN0IHNldHRpbmcgdGhlIGFjdGl2ZSBzdGF0ZSB3aGVuIGRvaW5nCgkgIHRvIHJlYWR5IHN0YXRlLgoJICAqIE9ubHkgY3JlYXRlIHRoZSBwb29sIGlmIHJlcXVlc3RlZCBhbmQgaW4gcHJvcG9zZV9hbGxvY2F0aW9uCgkgICogQ2FjaGUgdGhlIHBvb2wgdG8gYXZvaWQgcmVhbGxvY2F0aW9uIG9uIHNwdXJpb3VzIHJlY29uZmlndXJlCgkgICogRG9uJ3QgdHJ5IHRvIGRlYWN0aXZhdGUgdGhlIHBvb2wgKHdlIGRvbid0IG93biBpdCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwNQoKMjAxNS0wMy0wNiAxMjowNzo0NyAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogc3RvcCBzcGFtbWluZyBpbmZvIG1lc3NhZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NTUKCjIwMTUtMDMtMDYgMTg6NTQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbGRvd25sb2FkOiBTaW1wbGlmeSBjYXBzIGZlYXR1cmUgc2V0dGluZyBjb2RlCgoyMDE1LTAzLTA2IDE4OjE1OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogUmVtb3ZlIGZvcm1hdCBpbmZvIGluIGdsY29sb3Jjb252ZXJ0J3MgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24gaW5zdGVhZCBvZiBvbiBldmVyeSBjYWxsZXIKCSAgLi4uIGFuZCBsZXQgZ2xtaXhlciBhY3R1YWxseSB0cmFuc2Zvcm0gdGhlIGNhcHMgaXQgaXMgc3VwcG9zZWQgdG8gdHJhbnNmb3JtCgkgIGluc3RlYWQgb2YgaW52ZW50aW5nIG5ldyBjYXBzLgoKMjAxNS0wMy0wNiAxODo0OToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgUmV2ZXJ0ICJ2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBuZXcgY2FwcyBmcm9tIHRoZSB2aWRlby1pbmZvIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc4MjE1YmUwZGZiYjRlOGVkNGYyNDllMTYxYTk0YzY0NDMyOGQyOGQuCgkgIGJlY2F1c2UgaXQgYnJva2UgZ2x2aWRlb21peGVyIHdpdGggY3VzdG9tIGNhcHMgZmVhdHVyZXMuCgoyMDE1LTAzLTA2IDE4OjM2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBTaW1wbGlmeSBjYXBzIGZlYXR1cmUgc2V0dGluZyBjb2RlCgoyMDE1LTAzLTA2IDE0OjU0OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBkb25sX3ByZXNlbnQgdmFyaWFibGUgdW51c2VkCgkgIGRvbmxfcHJlc2VudCBpcyBub3QgaW1wbGVtZW50ZWQsIHlldCB0aGUgdmFsdWUgaXMgc2V0IGFuZCBjaGVja2VkIGEgZmV3IHRpbWVzLgoJICBDbGVhbmluZyB0aGlzLgoJICBDSUQgIzEyNDk2ODcKCjIwMTUtMDMtMDYgMTQ6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogZmFsbCB0aHJvdWdoIHN3aXRjaCBzdGF0ZW1lbnQKCSAgQWRkaW5nIGEgY29tbWVudCBtYWtlcyBjb3Zlcml0eSBoYXBweSBhbmQgcXVlbGxzIHRoZSBpc3N1ZS4KCSAgQ0lEICMxMTM5NzQ4CgoyMDE1LTAzLTA2IDE0OjM2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENyZWF0ZSBuZXcgY2FwcyBmcm9tIHRoZSB2aWRlby1pbmZvCgkgIEluIGNhc2UgdGhlIG9yaWdpbmFsIGNhcHMgd2VyZSBtaXNzaW5nIHNvbWUgb3B0aW9uYWwgZmllbGRzIGxpa2UKCSAgaW50ZXJsYWNlLW1vZGUuIFdlIGFzc3VtZSBkZWZhdWx0IHZhbHVlcyBmb3IgdGhvc2UgZXZlcnl3aGVyZSwKCSAgYnV0IHRoZXkgY2FuIHN0aWxsIGNhdXNlIG5lZ290aWF0aW9uIHRvIGZhaWwgaWYgYSBkb3duc3RyZWFtIGVsZW1lbnQKCSAgZXhwZWN0cyB0aGUgZmllbGQgdG8gYmUgdGhlcmUgYW5kIGF0IGEgc3BlY2lmaWMgdmFsdWUuCgoyMDE1LTAyLTI1IDEzOjUyOjIxICswMTAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFsbG93ICJjYXB0dXJlLXNjcmVlbiIgbW9kZSB0byBzZWxlY3Qgd2hpY2ggc2NyZWVuIHRvIGNhcHR1cmUgdmlhIHRoZSAiZGV2aWNlLWluZGV4IiBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE2MQoKMjAxNS0wMy0wNSAxOTowOTo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBPbmx5IHVzZSBkZWJ1Z2dpbmcgaWYgd2UgaGF2ZSB2YWxpZCB2YWx1ZXMKCSAgVGhlIGRlYnVnIGNhdGVnb3J5IHdvbid0IGhhdmUgYmVlbiBjcmVhdGVkL2FjdGl2YXRlZCBpZiBpdCdzIG5vdCBhCgkgIHZhbGlkIGRpc3BsYXkKCjIwMTUtMDMtMDUgMTU6NTQ6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBtb3Rpb25jZWxsczogcHJvdGVjdCBhZ2FpbnN0IG5vdCBmb3VuZCBpZAoJICBJZiBzZWFyY2hJZHgoKSBkb2Vzbid0IGZpbmQgdGhlIGlkIGl0IHJldHVybnMgLTEsIHdoaWNoIGJyZWFrcwoJICBtb3Rpb25jZWxzc3ZlY3Rvci5hdCAoaWR4KS4gQ2hlY2sgZm9yIGl0IGFuZCByZXR1cm4gaWYgbm90IGZvdW5kLgoJICBDaGFuZ2luZyBhIGZldyBvdGhlciBsaW5lcyBmb3Igc3R5bGUgY29uc2lzdGVuY3kuCgoyMDE1LTAzLTA1IDE1OjM0OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogcmVtb3ZlIGFsd2F5cy10cnVlIGNoZWNrCgkgIGZpbHRlci0+Y3ZJbWFnZSBoYXMganVzdCBiZWVuIHVzZWQvZGVyZWZlcmVuY2VkLCB0aGVyZSB3b3VsZCBiZSBhbiBlcnJvcgoJICB0aGVyZSBpZiB0aGUgcG9pbnRlciB3YXMgTlVMTC4gTm8gbmVlZCB0byBjaGVjayBzaW5jZSBpdCB3aWxsIGFsd2F5cyBiZSB0cnVlLgoKMjAxNS0wMy0wNCAxNjoxMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogQ2FsY3VsYXRlIHRoZSBkdXJhdGlvbiBtb3JlIGFjY3VyYXRlbHkgZnJvbSB0aGUgY2FwdHVyZSB0aW1lIGFuZCBudW1iZXJzIG9mIHNhbXBsZXMKCSAgVGhpcyBzaG91bGQgcHJldmVudCBhbnkgYWNjdW11bGF0aW5nIHJvdW5kaW5nIGVycm9ycyB3aXRoIHRoZSBkdXJhdGlvbi4KCjIwMTUtMDMtMDQgMTY6MDU6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEZpeCB0aGUgdGltZXN0YW1wIGFuZCBvZmZzZXQgY2FsY3VsYXRpb25zIGV2ZW4gbW9yZQoKMjAxNS0wMy0wNCAxNjowNDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3Qgc3VidHJhY3QgdGhlIGR1cmF0aW9uIGZyb20gdGhlIGNhcHR1cmUgdGltZQoJICBXZSBhbHJlYWR5IGhhdmUgdGhlIHJlYWwgY2FwdHVyZSB0aW1lLCBub3QgdGhlIHRpbWUgd2hlbiB3ZSByZWNlaXZlZAoJICB0aGUgZW5kIG9mIHRoZSBwYWNrZXQuCgoyMDE1LTAzLTA0IDEzOjE2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBSZXZlcnQgImF1ZGlvbWl4ZXI6IExhdGVuY3kgaXMgdHdpY2UgdGhlIG91dHB1dCBidWZmZXIgZHVyYXRpb24sIG5vdCBvbmx5IG9uY2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDM4N2NmNjdkZjkxYjU5NTQwZjMyZWUxN2I0YzAyZjc0Nzk2OWFkZC4KCSAgVGhlIGFuYWx5c2lzIHdhcyB3cm9uZzogVGhlIGZpcnN0IDIwbXMgb2YgbGF0ZW5jeSBhcmUgaW50cm9kdWNlZCBieSB0aGUgc291cmNlCgkgIGFscmVhZHkgYW5kIHB1dCBpbnRvIHRoZSBsYXRlbmN5IHF1ZXJ5LCBtYWtpbmcgaXQgb25seSBuZWNlc3NhcnkgdG8gY292ZXIgdGhlCgkgIGFkZGl0aW9uYWwgMjBtcyBvZiBhdWRpb21peGVyIGluc2lkZSBhdWRpb21peGVyLgoKMjAxNS0wMy0wNCAwOToyNDoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBsYXRlbmN5IHF1ZXJ5IGluIEZFQyBjYXNlCgkgIFRoZSBtYXggbGF0ZW5jeSBwYXJhbWV0ZXIgaXMgInRoZSBtYXhpbXVtIHRpbWUgYW4gZWxlbWVudAoJICBzeW5jaHJvbml6aW5nIHRvIHRoZSBjbG9jayBpcyBhbGxvd2VkIHRvIHdhaXQgZm9yIHJlY2VpdmluZyBhbGwKCSAgZGF0YSBmb3IgdGhlIGN1cnJlbnQgcnVubmluZyB0aW1lIiAoZG9jcy9kZXNpZ24vcGFydC1sYXRlbmN5LnR4dCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzMzgKCjIwMTUtMDMtMDMgMTE6NDI6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVzZXQgdGhlIHBhcnNlciBpbmZvcm1hdGlvbiB3aGVuIGNhcHMgY2hhbmdlcwoJICBUaGlzIHByZXZlbnRzIGl0IGZyb20gZ29pbmcgaW50byBwYXNzdGhyb3VnaCBhZnRlciByZWNlaXZpbmcgMgoJICBieXRlLXN0cmVhbSBjYXBzIChkaWZmZXJlbnQgb25lcykgYXMgaXQgd291bGQga2VlcCB0aGUgaGF2ZV9wcHMgYW5kCgkgIGhhdmVfc3BzIHNldCB0byB0cnVlIGFuZCB3b3VsZCBqdXN0IGdvIGludG8gcGFzc3Rocm91Z2ggd2l0aG91dAoJICB1cGRhdGluZyBpdHMgY2Fwcy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCByZXNldCBpdHMgc3RyZWFtIGluZm9ybWF0aW9uIHRvIHJlc3RhcnQgcHJvcGVybHkKCSAgd2hlbiBuZXcgY2FwcyBhcmUgcmVjZWl2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0MDkKCjIwMTUtMDMtMDMgMTc6NDc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCB0aW1lc3RhbXAgb24gZGlzY29udCBidWZmZXJzCgkgIE1ha2Ugc3VyZSBkaXNjb250IGJ1ZmZlcnMgaGF2ZSBpdHMgdGltZXN0YW1wIHNldCB0byBhbGxvdyBkb3duc3RyZWFtCgkgIHRvIHJlc3luYyBpZiBuZWVkZWQKCjIwMTItMDMtMjIgMDg6NDc6NTcgKzAxMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogY2hlY2sgbmVnb3RpYXRlZCBjYXBzIGF2b2lkIHJlc2V0aW5nIG9mIHRoZSBwaXBlCgkgIFRvIGF2b2lkIHVzZWxlc3MgcmVuZWdvdGlhdGlvbiBvZiB0aGUgcGlwZSB3ZSBjYW4gY2hlY2sgZm9yCgkgIG5lZ290aWF0ZWQgY2FwcyBvbiBzcmNfZmlsdGVyIGFuZCBjb21wYXJlIGl0IHdpdGggcmVxdWVzdGVkCgkgIGZpbHRlci4gSWYgdGhlIGNhcHMgaW50ZXJzZWN0LCBhdm9pZCByZXN0YXJ0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNjEwCgoyMDE1LTAzLTAyIDAxOjA4OjE1ICswMzAwICBJbHlhIEF2ZXJ5YW5vdiA8aS5hdmVyeWFub3ZAZ2Vvc2Nhbi5hZXJvPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgZHVwbGljYXRlIGNvZGUKCSAgVGhlIG11eGVyIGlzIGFscmVhZHkgYWxsb2NhdGVkIGluIHJlc2V0KCksIHdoaWNoIGlzIGNhbGxlZCBzb29uIGFmdGVyd2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1MDYKCjIwMTUtMDMtMDMgMTA6MTI6MTEgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFNldCBxdWVyeSBBTExPQ0FUSU9OIG5lZWRfcG9vbCB0byBGQUxTRQoJICBTZXQgcXVlcnkgQUxMT0NBVElPTiBuZWVkX3Bvb2wgdG8gRkFMU0UgYXMgaXQgb25seSBuZWVkIHF1ZXJ5IGlmIGNhbgoJICBzdXBwb3J0IHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ5NQoKMjAxNS0wMy0wNCAxNDozODozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXBwbGVtZWRpYS9hdnNhbXBsZXNpbms6IHV0aWxpc2UgYSBwdWxsIGJhc2VkIGFwcHJvYWNoIG9mIGRpc3BsYXlpbmcgdmlkZW8gZnJhbWVzCgkgIFVzaW5nIHJlcXVlc3RNZWRpYURhdGFXaGVuUmVhZHlPblF1ZXVlIHRoZSBsYXllciB3aWxsIGV4ZWN1dGUgYSBibG9jawoJICB3aGVuIGl0IHdvdWxkIGxpa2UgbW9yZSBmcmFtZXMuIFVzaW5nIHRoaXMgd2UgY2FuIHByb3ZpZGUgdGhlIGN1cnJlbnQKCSAgZnJhbWUgYW5kIGF2b2lkIG5lZWRsZXNzbHkgZmlsbGluZyB0aGUgbGF5ZXIncyBidWZmZXIgcXVldWUgY2F1c2luZwoJICBvbGRlciBmcmFtZXMgdG8gYmUgZGlzcGxheWVkIHdoZW4gdW5kZXIgcmVzb3VyY2UgcHJlc3N1cmUuCgoyMDE1LTAzLTAzIDE1OjIyOjM4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogRml4IHVwc2lkZSBkb3duIGFuZCBtaXNzLWFsaWduZWQgSlBFRwoJICBMaWJKUEVHIHVzZXMgbWFjcm9ibG9jayBvZiA4eDggc2FtcGxlLiBJbiB0aGlzIGVsZW1lbnQgd2UgdXNlIFJHQiBhbmQKCSAgWTQ0NCwgdHdvIDI0Yml0IGZvcm1hdHMgdGhhdCBhcmUgc3RvcmVkIGluIDMyYml0IHBpeGVscy4gVGhpcyBtZWFuIHdlCgkgIGhhdmUgMzJ4MzIgYnl0ZXMgbWFjcm9ibG9ja3MuIEZvciB0aGlzIHJlYXNvbiwgd2UgbmVlZCB0byBhbGxvY2F0ZQoJICBvdXIgYnVmZmVyIHNsaWdodGx5IGxhcmdlci4gV2UgYWxzbyBuZWVkIHRvIHBhc3MgdGhlIGxpbmUgcG9pbnRlciBpbgoJICB0aGUgcmlnaHQgb3JkZXIsIG90aGVyd2lzZSB0aGUgaW1hZ2UgZW5kdXAgdXBzaWRlLWRvd24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDkKCjIwMTUtMDMtMDMgMjA6MDM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IExhdGVuY3kgaXMgdHdpY2UgdGhlIG91dHB1dCBidWZmZXIgZHVyYXRpb24sIG5vdCBvbmx5IG9uY2UKCSAgTGV0J3MgYXNzdW1lIGEgc291cmNlIHRoYXQgb3V0cHV0cyBvdXRwdXRzIDIwbXMgYnVmZmVycywgYW5kIGF1ZGlvbWl4ZXIgaGF2aW5nCgkgIGEgMjBtcyBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uLiBIb3dldmVyIHRpbWVzdGFtcHMgZG9uJ3QgYWxpZ24gcGVyZmVjdGx5LCB0aGUKCSAgc291cmNlIGJ1ZmZlcnMgYXJlIG9mZnNldHRlZCBieSA1bXMuCgkgIEZvciBvdXIgQVNDSUkgYXJ0IHBpY3R1cmUsIGVhY2ggbGV0dGVyIGlzIDVtcywgZWFjaCBwaXBlIGlzIHRoZSBzdGFydCBvZiBhCgkgIDIwbXMgYnVmZmVyLiBTbyB3aGF0IGhhcHBlbnMgaXMgdGhlIGZvbGxvd2luZzoKCSAgMCAgIDIwICA0MCAgNjAKCSAgT09PT09PT09PT09PT09PTwoJICB8ICAgfCAgIHwgICB8CgkgIDUgICAyNSAgNDUgIDY1CgkgIElJSUlJSUlJSUlJSUlJSUkKCSAgfCAgIHwgICB8ICAgfAoJICBUaGlzIG1lYW5zIHRoYXQgdGhlIHNlY29uZCBvdXRwdXQgYnVmZmVyICgyMCB0byA0MG1zKSBvbmx5IGdldHMgaXRzIGxhc3QgNW1zCgkgIGF0IHRpbWUgNDVtcyAodGhlIHRpbWVzdGFtcCBvZiB0aGUgbmV4dCBidWZmZXIgaXMgdGhlIHRpbWUgd2hlbiB0aGUgYnVmZmVyCgkgIGFycml2ZXMpLiBCdXQgaWYgd2Ugb25seSBoYXZlIGEgbGF0ZW5jeSBvZiAyMG1zLCB3ZSB3b3VsZCB3YWl0IHVudGlsIDQwbXMKCSAgdG8gZ2VuZXJhdGUgdGhlIG91dHB1dCBidWZmZXIgYW5kIG1pc3MgdGhlIGxhc3QgNW1zIG9mIHRoZSBpbnB1dCBidWZmZXIuCgoyMDE1LTAyLTE4IDIxOjIxOjAxIC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJICBnbHRyYW5zZm9ybWF0aW9uOiBub3JtYWxpemUgdHJhbnNsYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NjMKCSAgKiBMdWJvc3o6IHVzZSBtYXhmbG9hdCBmb3IgdHJhbnNmb3JtYXRpb24gcmFuZ2UKCjIwMTUtMDItMTggMjA6NDE6MTQgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IEZpeCBkb2MgdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NzYzCgoyMDE1LTAzLTAzIDEzOjQ1OjQ2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IEdldCByaWQgb2YgdXBsb2FkZXIgaWYgY2FwcyBoYXZlIGNoYW5nZWQKCSAgV2UgbmVlZCB0byB1cGRhdGUgdGhlIHVwbG9hZGVyIGZvcm1hdCBpZiB0aGF0IGNhcHMgaGF2ZSBjaGFuZ2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTQ5CgoyMDE1LTAzLTAzIDE2OjUwOjMwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgd2F5bGFuZHNpbms6IGdfbWtzdGVtcCBpcyBzYWZlciB0aGFuIG1rc3RlcAoKMjAxNS0wMy0wMyAxNjo0OTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIFJldmVydCAid2F5bGFuZHNpbms6IG1rc3RlbXAgcmVxdWlyZXMgc2V0dGluZyBwZXJtaXNzaW9uIG1hc2siCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTg5MGU3MzU1YTU0NjRmY2ZmZjU4NjMzODUxMjY1YjNmYzdhMzczMS4KCSAgQmV0dGVyIHRvIHVzZSBnX21rc3RlbXAgdGhhdCB0YWtlcyBjYXJlIG9mIHRoZSBtYXNrIHdpdGhvdXQgYWZmZWN0aW5nIHRoZQoJICBlbnRpcmUgcHJvY2Vzcy4KCjIwMTUtMDMtMDMgMTY6NTU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IEZpeCBjb250ZXh0IGxlYWtzCgkgIEludHJvZHVjZWQgYnkgYTEyY2ExMzc1MGExNTMwMGFiM2M3MThlYmRlMjk4NGRjM2Q1ODdiMwoKMjAxNS0wMy0wMyAxNjoyMzo0MCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNvbmRpdGlvbmFsCgkgIFRoZSB0d28gYnJhbmNoZXMgb2YgdGhlIGlmIGNvbmRpdGlvbmFsIGFyZSBpZGVudGljYWwsIHdoaWNoIG1lYW5zIGluIGFsbCBjYXNlcwoJICB0aGUgc2FtZSBnc3RfYXNmX3B1dF9ndWlkKCkgd2lsbCBiZSBleGVjdXRlZC4gRG8gaXQgZGlyZWN0bHkuCgkgIENJRCAjMTIyNjQ0OAoKMjAxNS0wMy0wMyAxNTo1MTo1MCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIHdheWxhbmRzaW5rOiBta3N0ZW1wIHJlcXVpcmVzIHNldHRpbmcgcGVybWlzc2lvbiBtYXNrCgkgIFVzaW5nIG1rc3RlbXAgd2l0aG91dCBzZXR0aW5nIHRoZSBwZXJtaXNzaW9uIG1hc2sgaXMgcG90ZW50aWFsbHkgaGFybWZ1bC4KCSAgUE9TSVggc3BlY2lmaWNhdGlvbiBvZiBta3N0ZW1wKCkgZG9lcyBub3Qgc2F5IGFueXRoaW5nIGFib3V0IGZpbGUgbW9kZXMsIHNvIHdlCgkgIG5lZWQgdG8gbWFrZSBzdXJlIGl0cyBmaWxlIG1vZGUgY3JlYXRpb24gbWFzayBpcyBzZXQgYXBwcm9wcmlhdGVseSBiZWZvcmUKCSAgY2FsbGluZyBpdC4KCjIwMTUtMDMtMDIgMTY6NDU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBSZXNldCB0aGUgY2xvY2sgY2FsaWJyYXRpb24gd2hlbiB1bnNldHRpbmcgdGhlIG1hc3RlciBjbG9jawoJICBPdGhlcndpc2UgdGhlIG9sZCBjYWxpYnJhdGlvbiB3aWxsIHN0aWNrIGFyb3VuZCBmb3IgdGhlIG5leHQgdGltZSB3ZSB1c2UgaXQsCgkgIHBvdGVudGlhbGx5IGdpdmluZyB1cyBjb21wbGV0ZWx5IHdyb25nIHRpbWVzLgoKMjAxNS0wMy0wMiAxMzo1NzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTAyLTEyIDEzOjQzOjMwICswMTAwICBEYW5pZWxEMTAgPGQuZGVkaXNzZUB2b2dvLmZyPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEluY29ycmVjdCBmcmFtZSByYXRlIGZvciBpbnRlcmxhY2VkIG1vZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzODYKCjIwMTUtMDMtMDEgMTk6NTc6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogcmVnaXN0ZXIgb25seSBvbmUgY3VzdG9tIG5zYXBwIGxvb3AKCSAgT3RoZXJ3aXNlIHRoZSBwaXBlbGluZSBzdGFsbHMgd2hlbiBydW5uaW5nCgkgIG1vcmUgdGhhbiBvbmUgZ2xpbWFnZXNpbmsgd2l0aCBnc3QtbGF1bmNoLgoJICBBbHNvIG9ubHkgcmVnaXN0ZXIgdGhlIGN1c3RvbSBuc2FwcCBsb29wCgkgIHdoZW4gc2V0dGluZyB1cCB0aGUgbnNhcHAgZnJvbSBnc3RnbC4KCjIwMTUtMDMtMDEgMTY6NTQ6MTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogaW5zdGVhZCBvZiBjbGFzc19pbml0IHVzZSBnX29uY2UgdG8gc2V0dXAgbnNhcHAKCjIwMTUtMDItMjYgMjM6MDQ6MDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogY2hlY2sgZm9yIGRlcHJlY2F0ZWQgY29uc3RhbnRzIHByaW9yIHRvIE9TWCAxMC4xMAoKMjAxNS0wMy0wMSAwOTo0MzozMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogRml4IG9mZnNldCBmb3Igb2RkIGhlaWdodAoJICBXZSBhbHNvIG5lZWQgdG8gcmVjYWxjdWxhdGUgdGhlIG9mZnNldCwgc2luY2Ugb3RoZXJ3aXNlIHRoZSBmcmFtZQoJICBtYXBwaW5nIHdpbGwgYmUgZm9yd2FyZCB0d28gbGluZXMgaW4gdGhlIFUgYW5kIFYgcGxhbmVzIChJNDIwKSBkdWUKCSAgdG8gZ3N0X3ZpZGVvX2luZm9fYWxpZ24oKSByb3VuZCB1cCB0aGUgWSBwbGFuZSB0byBhIGV2ZW4gbnVtYmVyIG9mCgkgIGxpbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDU0CgoyMDE1LTAzLTAxIDAwOjA4OjQyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wtdGVzdDogUG9ydCB1bml0IHRlc3RzIHRvIG5ldyBBUEkKCjIwMTUtMDItMjggMTU6MDA6MTMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBTdXBwb3J0IG9mZnNldCB3aGVuIGRvd25sb2FkaW5nCgkgIE1ha2Ugc3VyZSB3ZSBzdXBwb3J0IG9mZnNldCBhbmQgdmlkZW8gYWxpZ25tZW50IHdoZW4gZG93bmxvYWRpbmcgdG9vLgoJICBUaGlzIGlzIGN1cnJlbnRseSBub3QgdXNlZCAocGxhbmVfc3RhcnQgaXMgYWx3YXlzIDApLCBidXQgaXQgbWFrZXMKCSAgdGhlIGNvZGUgY29ycmVjdCBpZiB3ZSB3YW50IHRvIHVzZSB0aGF0IGxhdGVyLgoKMjAxNS0wMi0yOCAxMzowMToxNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFByb3ZpZGUgY29ycmVjdCBzaXplIG9uIHVwbG9hZAoJICBQcm92aWRlIHRoZSByaWdodCBzaXplIHRvIEdMIHdoZW4gdXBsb2FkaW5nLiBVc2luZyBtYXhzaXplIGlzIHdyb25nCgkgIHNpbmNlIHdlIG9mZnNldCB0aGUgZGF0YSBwb2ludCB3aXRoIHRoZSBtZW1vcnkgb2Zmc2V0IGFuZCB2aWRlbwoJICBhbGlnbmVtZW50IG9mZnNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yOCAxMjo0ODowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFByb3ZpZGUgY29ycmVjdCBzaXplIG9uIGRvd25sb2FkCgkgIFByb3ZpZGUgdGhlIHJpZ2h0IHNpemUgdG8gR0wgd2hlbiBkb3dubG9hZGluZy4gVGhpcyBmaXhlcyBkb3dubG9hZGluZwoJICBmcm9tIEdMTWVtb3J5IHRoYXQgd2hlcmUgY3JlYXRlZCBmb3IgbGliYXYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjggMTE6NTU6MjYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogVXNlIGZhbGxiYWNrIGZvciBwYXJ0aWFsIGNvcHkKCSAgV2hlbiB0aGUgbWVtb3J5IGlzIHBhcnRpYWwgY29weSwgdGhlIHRleHR1cmUgc2l6ZSBhbmQgdmlkZW9pbmZvIG5vCgkgIGxvbmdlciBtYWtlIHNlbnNlLiBBcyB3ZSBjYW5ub3QgZ3Vlc3Mgd2hhdCB0aGUgYXBwbGljYXRpb24gd2FudHMsIHdlCgkgIHNhZmVseSBjb3B5IGludG8gYSBzeXNtZW0gbWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI1IDE4OjA3OjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xtZW1vcnk6IEFkZCBHc3RBbGxvY2F0aW9uUGFyYW1zIGFuZCBhbGlnbm1lbnQgc3VwcG9ydAoJICBUaGlzIGltcGxlbWVudHMgc3VwcG9ydCBmb3IgR3N0QWxsb2NhdGlvblBhcmFtcyBhbmQgbWVtb3J5IGFsaWdubWVudHMuCgkgIFRoZSBwYXJhbWV0ZXJzIHdoZXJlIHNpbXBseSBpZ25vcmVkIHdoaWNoIGNvdWxkIGxlYWQgdG8gY3Jhc2ggb24KCSAgY2VydGFpbiBwbGF0Zm9ybSB3aGVuIHVzZWQgd2l0aCBsaWJhdiBhbmQgbm8gbHVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yOCAxODoyMTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBwZXJmb3JtIGVnbCB1cGxvYWQgb24gdGhlIGdsIHRocmVhZAoJICBGaXhlcyBFR0xJbWFnZSB1c2FnZSBvbiByYXNwYmVycnkgcGkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkxNAoKMjAxNS0wMi0yNyAxMTowNzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogRml4IHNjYWxpbmcgd2l0aCByYXRlIG9mIGludGVybmFsL2V4dGVybmFsIGNsb2NrCgoyMDE1LTAyLTI3IDAwOjI2OjAwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHN0YW5kYXJkIHVwc3RyZWFtIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMKCSAgVGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBpcyBkdXBsaWNhdGVkIGluIHRoZSBkZWZhdWx0IGxhdGVuY3kgcXVlcnlpbmcKCSAgbm93LgoKMjAxNS0wMi0yNyAwMDowMTo0MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IFVzZSBkZWZhdWx0IHVwc3RyZWFtIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMKCSAgV2UgY2FuIHJlbHkgb24gdGhlIHN0YW5kYXJkIHVwc3RyZWFtIGxhdGVuY3kgcXVlcnlpbmcgbG9naWMgYW5kIHRoZW4gYWRkCgkgIG91ciBvd24gbGF0ZW5jeS4KCjIwMTUtMDItMjYgMTM6MjA6MjYgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBTZXQgZnJlZWQgbWV0aG9kIGltcGxlbWVudGF0aW9uIHRvIE5VTEwKCSAgV2hlbiB0cnlpbmcgdG8gcmVuZGVyIGJ1ZmZlcnMgd2l0aCBtZXRhOkdMVGV4dHVyZVVwbG9hZCB0aGUgZ2xpbWFnZXNpbmsgY3Jhc2hlcwoJICB3aXRoIGEgc2VnbWVudGF0aW9uIGZhdWx0LgoJICBUaGlzIHBhdGNoIHdvcmthcm91bmRzIHRoaXMgY3Jhc2ggc2V0dGluZyB0byBOVUxMIHRoZSBtZXRob2QgaW1wbGVtZW50YXRpb24KCSAgYWZ0ZXIgZnJlZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTIwNgoKMjAxNS0wMi0yNSAxNDo0ODo1OSArMDEwMCAgUm9tYW4gTm93aWNraSA8ci5ub3dpY2tpQHNpbXMucGw+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIGV4aXN0aW5nIEQzRCBzd2FwIGNoYWluIG9uIGluaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTE1OQoKMjAxNS0wMi0yNCAxOTowMTo0NSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBvcGVuZ2w6IENsZWFuIE1ha2VmaWxlLmFtCgkgICsgU3BsaXQgaGVhZGVycyBmcm9tIHNvdXJjZQoJICArIFJlbW92ZSB1bmVlZGVkIEFNX0NGTEFHUywgQU1fTERGTEFHUwoJICArIEFsd2F5cyBzZXQgT0JKQ0ZMQUdTCgkgIER1ZSB0byB0aGUgcHJlc2VuY2Ugb2YgYSAubSBhbmQgcmVnYXJkbGVzcyBvZiB0aGUgY29uZGl0aW9uYWwgdmFsdWVzLAoJICBhdXRvbWFrZSB3aWxsIHByb21vdGUgdGhlIGxpbmsgY29tbWFuZCB0byBPQkpDIHVzaW5nIE9CSkNGTEFHUy4gT25seQoJICB0aGUgYmFzaWMgZmxhZ3MgKGxpa2Ugd2FybmluZ3MgYW5kIG9wdGltaXphdGlvbikgYXJlIGdvaW5nIHRvIG1ha2UgYQoJICBkaWZmZXJlbmNlIHRob3VnaC4KCSAgVGhpcyBjbGVhbnVwIGJ1aWxkcyB1cCB0aGUgbWFrZWZpbGUgd2l0aCBsZXNzIHNwZWNpZmljIGZpbGVzIGZpcnN0CgkgIHRvd2FyZCBtb3JlIHNwZWNpZmljIGZpbGUuIEZMQUdTIGFyZSBidWlsdCB3aXRoIHRoZSBiYXNpYyB0aGF0IHVudXNlZAoJICBmbGFncyB3aWxsIGhhdmUgZW1wdHkgdmFyaWFibGUuCgoyMDE1LTAyLTI0IDEyOjU0OjU0IC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNvc21ldGljIGNsZWFudXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNQoKMjAxNS0wMi0yNCAxOTo1Mjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgb3BlbmdsOiBkb24ndCBhZGQgLS10YWc9Q0MgdHdpY2UgdG8gTElCVE9PTEZMQUdTCgoyMDE1LTAyLTI0IDE0OjM1OjM3IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIG9wZW5nbDogQWRkIC0tdGFnPUNDIHRvIExJQlRPT0xDTEZBR1MKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3Igc3RhdGljIGJ1aWxkLgoKMjAxNS0wMi0yNCAxODo1MDowMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbnRlcmxhY2VkIGRvZXNuJ3QgbWVhbiBwcm9ncmVzc2l2ZSBzY2FuCgkgIFJlbW92aW5nIGludGVybGFjZWQgdmFyaWFibGUgc2luY2UgaXQgaXMgbWVhbnQgdG8gbWVhbiBwcm9ncmVzc2l2ZSBzY2FuCgkgIGFuZCB0aGF0IGlzbid0IHVzZWQuCgoyMDE1LTAyLTI0IDE4OjM4OjMxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIFJldmVydCAidGVzdHM6IGNoZWNrIGpwZWdwYXJzZSBmb3IgcHJvZ3Jlc3NpdmUgbWFya2VyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFjNzdkMTJjZTg3NzBmMGUwNjVlOWMwMGMzNWQ3MTFmZGVmMWM5ZjguCgkgICJpbnRlcmxhY2VkIiBpbiB0aGUgY2FwcyBkb24ndCBtZWFuIHRoZSBzYW1lIHRoaW5nIGFzIHRoZSBTT0YyIG1hcmtlciBpbiB0aGUKCSAgSlBFRyBmb3JtYXQuIFRoaXMgdGVzdCBwYXNzZXMgYmVjYXVzZSBvZiBicm9rZW4gYmVoYXZpb3VyLgoKMjAxNS0wMi0yNCAxNzo0MTo0MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogY2hlY2sganBlZ3BhcnNlIGZvciBwcm9ncmVzc2l2ZSBtYXJrZXIKCjIwMTUtMDItMjQgMTQ6MDE6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IERlYWN0aXZhdGUgd2luZG93IGJlZm9yZSBjaGFuZ2luZyBoYW5kbGUKCSAgV2hlbiBzZXR0aW5nIGEgbmV3IHdpbmRvdyBoYW5kbGUsIHdlIG5lZWQgdG8gZW5zdXJlIGFsbCBpbXBsZW1lbnRhdGlvbnMKCSAgd2lsbCBkZXRlY3QgdGhlIGNoYW5nZS4KCSAgRm9yIHRoYXQgd2UgZGVhY3RpdmF0ZSB0aGUgY29udGV4dCBiZWZvcmUgc2V0dGluZyB0aGUgd2luZG93IGhhbmRsZSwgdGhlbgoJICByZWFjdGl2YXRlIHRoZSBjb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwOTAKCjIwMTUtMDItMjQgMTM6NTg6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkgIGdsL2VnbDogRGV0ZWN0IHdpbmRvdyBoYW5kbGUgY2hhbmdlcwoJICBXaGVuIChyZSlhY3RpdmF0aW5nIHRoZSBjb250ZXh0LCB0aGUgYmFja2luZyB3aW5kb3cgaGFuZGxlIG1pZ2h0IGhhdmUgY2hhbmdlZC4KCSAgSWYgdGhhdCBoYXBwZW5lZCwgZGVzdHJveSB0aGUgcHJldmlvdXMgc3VyZmFjZSBhbmQgY3JlYXRlIGEgbmV3IG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDkwCgoyMDE1LTAyLTI0IDE0OjIwOjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkgIGdsOiByZW1vdmUgZG9jYm9vayByZWxhdGVkIHdhcm5pbmdzCgoyMDE1LTAyLTI0IDEzOjUxOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNS0wMi0yNCAxMzozNjowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IG5vdCB1c2luZyBkZXByZWNhdGVkIEFQSSBhbnltb3JlCgoyMDE1LTAyLTI0IDEzOjE2OjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogdXBkYXRlIGV4YW1wbGUgcGlwZWxpbmUgY29tbWFuZAoKMjAxNS0wMi0yNCAxOTowMzo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgQ2F1c2VzIHRoZSBmb2xsb3dpbmcgd2FybmluZyBvbiBjbGFuZzoKCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6NTY3OjM2OiBlcnJvcjogZm9ybWF0IHNwZWNpZmllcyB0eXBlICd1bnNpZ25lZCBsb25nJyBidXQgdGhlIGFyZ3VtZW50IGhhcyB0eXBlICdpbnQnIFstV2Vycm9yLC1XZm9ybWF0XQoJICBkZXNjcmlwdG9yc19sb29wX2xlbmd0aCwgZW5kIC0gNCAtIGRhdGEpOwoJICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+fn5+CgoyMDE1LTAyLTI0IDIzOjU0OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogb25seSBhdHRlbXB0IHVzZSBvZiB0aGUgdGV4dHVyZSBjYWNoZSB3aXRoIEdMTWVtb3J5IGNhcHMgZmVhdHVyZXMKCSAgT3RoZXJ3aXNlIHdlIHNlbmQgcmVjdGFuZ2xlIHRleHR1cmVzIHRvIGdsaW1hZ2VzaW5rCgoyMDE1LTAyLTI0IDIzOjUyOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHJlbmRlciBibGFjayB3aGVuIHdlIGRvbid0IGhhdmUgYSB0ZXh0dXJlIHRvIGRpc3BsYXkKCSAgTGlrZSB3aGVuIHRoZSB3aW5zeXMgYXNrcyB1cyB0byByZWRyYXcgYmVmb3JlIHRoZSBwaXBlbGluZSBoYXMgc3RhcnRlZAoKMjAxNS0wMi0yNSAwMDowMDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhbGxvdyBzaGFyaW5nIGJldHdlZW4gYnVmZmVycwoJICBUaGVyZSB3YXMgbm8gcmVhbCByZWFzb24gd2h5IHRoZSBmbGFnIHdhcyBzZXQuICBXZSBzaG91bGQgYmUgYWJsZQoJICB0byBoYW5kbGUgaXQuICBGaXhlcyBsYXN0LXNhbXBsZSBoYW5kbGluZyBvbiBnbCBzaW5rcwoKMjAxNS0wMi0yNCAyMDozNDozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogYWRkIGNvbXBhdCBkZWZpbml0aW9uIGZvciBnbGVzMgoKMjAxNS0wMi0yNCAxMToxOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGluaXRpYWxpemUgdGhlIHJlbmRlciB3aW5kb3cgc3dhcCBjaGFpbiB3aGlsZSB0aGUgZGV2aWNlIGlzIGxvc3QgYW5kIHdlJ3JlIHdhaXRpbmcgZm9yIHJlc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTUKCjIwMTUtMDItMjQgMTE6MTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IERlYWN0aXZhdGUgdGhlIGZhbGxiYWNrIGJ1ZmZlciBwb29sIHdoZW4gcmVwbGFjaW5nIGl0IGR1cmluZyBjYXBzIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxNQoKMjAxNS0wMS0yOSAxNzo0MToxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgbmV3IGNhb3BlbmdsbGF5ZXJzaW5rIGVsZW1lbnQKCSAgcmVuZGVycyBnc3RyZWFtZXIgZ2wgc2NlbmUvdmlkZW8gZnJhbWVzIHRvIGEgY2FvcGVuZ2xsYXllciByZXRyZWl2YWJsZQoJICBmcm9tIHRoZSAibGF5ZXIiIHByb3BlcnR5LgoKMjAxNS0wMS0xOSAxMjo0MzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdnNhbXBsZXNpbmsvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hdnNhbXBsZXNpbmsvbWFpbi5tOgoJICBhcHBsZW1lZGlhOiBuZXcgQVZTYW1wbGVCdWZmZXJMYXllclNpbmsKCSAgUmVuZGVycyBidWZmZXJzIHVzaW5nIHRoZSBDQUxheWVyIHN1YmNsYXNzIEFWU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyCgkgIHdoaWNoIGNhbiBiZSBwbGFjZWQgaW5zaWRlIGEgQ29yZSBBbmltYXRpb24gcmVuZGVyIHRyZWUuCgoyMDE1LTAyLTI0IDE5OjA2OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IGRvbid0IHVzZSB0aGUgYXN5bmMgY2FsbGJhY2sgdG8gcmVuZGVyCgkgIG5vdCB1bnRpbCB3ZSBjYW4gcHJvdmlkZSBlcXVpdmFsZW50IGZ1bmN0aW9uYWxpdHkgZm9yIG90aGVyIHdpbmRvdwoJICBpbXBsZW1lbnRhdGlvbnMuCgoyMDE1LTAyLTI0IDAxOjIwOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBhbHNvIHN1cHBvcnRlZCB3aXRoIGdsZXMzCgoyMDE1LTAyLTI0IDE0OjIzOjQ5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGVhZ2w6IGhhbmRsZSBDQUxheWVyIHJlc2l6ZQoKMjAxNS0wMi0yMyAxNjoxMzozMSArMDEwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBGaXggdHJhbnNmZXJfcGJvIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5NzcKCjIwMTUtMDItMjIgMTA6MDM6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogcmVkdWNlIGN1c3RvbSBtYWluIGxvb3AgbGF0ZW5jeQoJICBUaGlzIGZpeCBhIHZlcnkgc2xvdyByZW5kZXJpbmcgcmF0ZSByZWdyZXNzaW9uIHRoYXQgb25seQoJICBoYXBwZW5zIHdoZW4gdXNpbmcgZ3N0LWxhdW5jaCwgaS5lLiBpbiB0aGUgY2FzZSB3aGVyZQoJICB0aGUgbWFpbiB0aHJlYWQgZG9lcyBub3QgcnVuIGFueSBOU0FwcCBsb29wLgoJICBHaXQgYmlzZWN0IHJlcG9ydGVkIGl0IGhhcyBiZWVuIGludHJvZHVjZWQgYnkgdGhlIGNvbW1pdAoJICBlMTBkMjQxN2UyZmU3YWE0NzMzYzA3Njk4NDMzOWIwZDYxY2FhMTY5OgoJICAibW92ZSB0byBDR0wgYW5kIENBT3BlbkdMTGF5ZXIgZm9yIHJlbmRlcmluZyIuCgkgIFRoZW4gdGhlIGNvbW1pdCA3ZDQ2MzU3NjI3MWU1YTRjYzEwNzA3ODBiYTFhNjljOTcxZThiZTFkOgoJICAiZ3N0Z2x3aW5kb3dfY29jb2E6IGZpeCBzbG93IHJlbmRlciByYXRlIiBhdHRlbXB0ZWQgdG8gZml4CgkgIHRoZSBzbG93IHJlbmRlcmluZyByYXRlIHByb2JsZW0gd2hlbiB1c2luZyBnc3QtbGF1bmNoLgoJICBBdCBsZWFzdCBmb3IgbWUgaXQgZG9lcyBub3Qgd29yay4gSSB0cmllZCBzZXZlcmFsCgkgIGNvbWJpbmF0aW9ucywgZm9yIGV4YW1wbGUgdG8gZmx1c2ggQ0EgdHJhbnNhY3Rpb25zIGluIHRoZQoJICBjdXN0b20gYXBwIGxvb3AsIGFzIG1lbnRpb25lZCBpbiB0aGUgZG9jLCBidXQgdGhlIG9ubHkgc29sdXRpb24KCSAgdGhhdCBmaXhlcyB0aGUgc2xvdyByZW5kZXJpbmcgaXMgYnkgcmVkdWNpbmcgdGhlIGxvb3AgbGF0ZW5jeS4KCSAgRnJvbSB3aGF0IEkgdGVzdGVkLCBubyBuZWVkIHRvIHB1dCBsZXNzIHRoYW4gNjBtcywgZXZlbiBpZiB0aGUKCSAgZnJhbWVyYXRlIGhhcyBhbiBpbnRlcnZhbCBtdWNoIGxvd2VyICgxNi42bXMgZm9yIDYwIGZwcykuCgoyMDE1LTAyLTE3IDIzOjUwOjUxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIGdsbWl4ZXI6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yCgkgIGdzdGdsbWl4ZXIuaDo0MzogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIOKAmEdzdEdMTWl4ZXLigJkKCSAgZ3N0Z2xtaXhlcnBhZC5oOjMyOiBlcnJvcjogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYR3N0R0xNaXhlcuKAmSB3YXMgaGVyZQoJICBnc3RnbG1peGVyLmg6NDY6IGVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiDigJhHc3RHTE1peGVyRnJhbWVEYXRh4oCZCgkgIGdzdGdsbWl4ZXJwYWQuaDozMzogZXJyb3I6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmEdzdEdMTWl4ZXJGcmFtZURhdGHigJkgd2FzIGhlcmUKCjIwMTUtMDItMjEgMTk6MDc6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxNS0wMi0yMSAxOTowNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBvcHVzIGVsZW1lbnRzIHRvIGRvY3VtZW50YXRpb24KCjIwMTUtMDItMjEgMTg6NTI6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBkb24ndCBxdWl0IG9uIFdhcm5pbmcKCSAgRG9uJ3QgcXVpdCBvbiBXYXJuaW5nLgoJICBQcmludCBvdXQgYSBtZXNzYWdlIHdoZW4gdGhlcmUgaXMgYW4gRXJyb3Igb3IgV2FybmluZy4KCjIwMTUtMDItMjEgMTg6NDc6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBhbHdheXMgc2hvdyBndGsgd2luZG93CgkgIFNob3cgZ3RrIHdpbmRvdyBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIHRhZ3MsIHRvIGFsd2F5cyBoYXZlIHZpc3VhbCBmZWVkYmFjawoJICBhYm91dCB0aGUgcGlwZWxpbmUgcnVubmluZy4KCjIwMTUtMDItMjEgMTc6MzU6MDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBtZXJnZSByZXR1cm5zIGluIGdfdmFsdWVfdG9fc3RyaW5nKCkKCjIwMTUtMDItMjEgMTc6MjU6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBtYWtlIGJ1c19jYWxsYmFjayBjb25zaXN0ZW50CgkgIFNpbXBsaWZ5IHRoZSBidXNfY2FsbGJhY2sgdG8gbWFrZSBpdCBjb25zaXN0ZW4gd2l0aCBvdGhlciBleGFtcGxlcy4KCjIwMTUtMDItMjEgMTc6MTg6MDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14Zi1leGFtcGxlOiBmaXggdXNhZ2Ugb2YgYXJnYyBhbmQgYXJndgoKMjAxNS0wMi0yMSAxNzowMjowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluIGV4YW1wbGVzOiByZW1vdmUgdW5uZWVkZWQgdmFyaWFibGUKCSAgcmV0IGlzIG9ubHkgdXNlZCBvbmNlLCB3ZSBkb24ndCBuZWVkIHRvIHN0b3JlIGl0IGluIGEgdmFyaWFibGUgZm9yIHRoYXQuCgoyMDE1LTAyLTIxIDE0OjQyOjA1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ3N0Z2xtZW1vcnk6IFJlbW92ZSBub3cgdW51c2VkIHRyYW5zZmVyX3VwbG9hZCBmdW5jdGlvbi4KCjIwMTUtMDItMjEgMjM6Mjk6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZGlzYWJsZSBhdXRvbWF0aWMgcGJvIHVwbG9hZAoJICB1bnRpbCB3ZSBjYW4gdHJhY2sgd2hlcmUgdGhlIGRhdGEgaXMvb3IgaXMgZ29pbmcgdG8gYmUuCgoyMDE1LTAyLTIwIDEzOjU1OjA1ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IHNlbGVjdCBjb3JyZWN0IHN0YXJ0aW5nIHBvc2l0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgV2hlbiBwbGF5aW5nIGxpdmUgSExTIHN0cmVhbXMsIHRoZSBtZWRpYSBwbGF5YmFjayBzdGFydHMgZnJvbSB0aGUKCSAgYmVnaW5uaW5nIG9mIHRoZSBtZWRpYSBwbGF5bGlzdC4gV2hlbiBwbGF5aW5nIGEgbGl2ZSBITFMgc3RyZWFtLAoJICBtZWRpYSBwbGF5YmFjayBzaG91bGQgc3RhcnQgZnJvbSAzIGZyYWdtZW50cyBmcm9tIHRoZSBlbmQgb2YgdGhlCgkgIHBsYXlsaXN0LgoJICBTZWUgc2VjdGlvbiA2LjMuMy4gb2YgdGhlIEhMUyBkcmFmdCBbMV0KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB0aGUgbG9naWMgdG8gc2VsZWN0IDMgZnJhZ21lbnRzIGZyb20gdGhlIGVuZCB3aGVuCgkgIHBsYXlpbmcgYSBsaXZlIHN0cmVhbS4KCSAgWzFdIGh0dHA6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LXBhbnRvcy1odHRwLWxpdmUtc3RyZWFtaW5nLTEyI3BhZ2UtMjkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzc0MgoKMjAxNS0wMi0yMCAxODo0MjoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbGVtZW1vcnk6IG9ubHkgc3RvcmUgYW5kIGFjdCBvbiB0aGUgbWFwIGZsYWdzIG9uIGZpcnN0L2xhc3QgbWFwL3VubWFwCgkgIEFueXRpbWUgZWxzZSwgd2UgaGF2ZSBubyBpZGVhIGhvdyB0byBtYXRjaCB1cCBtYXAgYW5kIHVubWFwcy4KCSAgV2UgYWxzbyBkb24ndCBrbm93IGV4YWN0bHkgaG93IHRoZSBjYWxsaW5nIGNvZGUgaXMgdXNpbmcgdXMuCgkgIEFsc28gZml4ZXMgdGhlIGNhc2Ugd2hlcmUgd2UncmUgdHJ5aW5nIHRvIHRyYW5zZmVyIHdoaWxlIHNvbWVvbmUgZWxzZQoJICBpcyBhY2Nlc3Npbmcgb3VyIGRhdGEgcG9pbnRlciBvciB0ZXh0dXJlIHJlc3VsdGluZyBpbiBtaXNtYXRjaGVkIHZpZGVvCgkgIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDgzOQoKMjAxNS0wMi0xOSAyMToyMTo1NiAtMDUwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2Ugc3JjX2xvY2sgdG8gcHJvdGVjdCBsYXRlbmN5IHJlbGF0ZWQgbWVtYmVycwoJICBPbmUgaGFzIHRvIHVzZSB0aGUgc3JjX2xvY2sgYW55d2F5IHRvIHByb3RlY3QgdGhlIG1pbi9tYXgvbGl2ZSBzbyB0aGV5CgkgIGNhbiBiZSBub3RpZmllZCBhdG9taWNhbGx5IHRvIHRoZSBzcmMgdGhyZWFkIHRvIHdha2UgaXQgdXAgb24gY2hhbmdlcywKCSAgc3VjaCBhcyBwcm9wZXJ0eSBjaGFuZ2VzLiBTbyBubyBwb2ludCBpbiBoYXZpbmcgYSBzZWNvbmQgbG9jay4KCSAgQWxzbywgdGhlIG9iamVjdCBsb2NrIHdhcyBiZWluZyBoZWxkIGFjcm9zcyBhIGNhbGwgdG8KCSAgR1NUX0VMRU1FTlRfV0FSTklORywgZ3VhcmFudGVlaW5nIGEgZGVhZGxvY2suCgoyMDE1LTAyLTE5IDE4OjUzOjMyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW1vdmUgdW50cnVlIGNvbW1lbnQKCjIwMTUtMDItMTkgMTg6MzA6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IHRyeSB0byBwdXNoIHRhZ3Mgd2hpbGUgZmx1c2ggc2Vla2luZwoJICBUaGUgZG93bnN0cmVhbSBzZWdtZW50IGNvdWxkIGhhdmUgYmVlbiBmbHVzaGVkIGFscmVhZHksIHNvCgkgIG5lZWQgdG8gcmUtc2VuZCB0aGUgc2VnbWVudCBldmVudCBiZWZvcmUgcmUtc2VuZGluZyB0aGUgdGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOSAxNDozNDoyMyArMDEwMCAgR3VpbGxhdW1lIFNlZ3VpbiA8Z3VpbGxhdW1lQHNlZ3UuaW4+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogcmVkdWNlIHBsYXlsaXN0J3MgRVhULVgtVkVSU0lPTiB0byAzCgkgIFdlIGFyZSBub3QgdXNpbmcgYW55IGZlYXR1cmVzIGdyZWF0ZXIgdGhhbiB0aGUgM3JkIHZlcnNpb24sCgkgIHNvIHJlZHVjZSB0byB3aGF0IHdlIGFjdHVhbGx5IHVzZSB0byBtYWtlIGl0IGNvbXBhdGlibGUgd2l0aAoJICBtb3JlIHBsYXllcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDY4OQoKMjAxNS0wMi0xOSAxNDozMDoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IGRlZmF1bHQgZW5jb2RpbmcgbmFtZSB0byBPUFVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTQ6MDU6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBtYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIHRydW5jYXRpbmcgdGhlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTA1IDEwOjI3OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbmVnb3RpYXRlIHRoZSBlbmNvZGluZyBuYW1lCgkgIENocm9tZSB1c2VzIGEgZGlmZmVyZW50IGVuY29kaW5nIG5hbWUgdGhhdCBnc3RyZWFtZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMTkgMTc6MjE6NDYgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJICBzaW1wbGV2aWRlb21hcmtkZXRlY3Q6IG1vdmUgb2Zmc2V0IGNhbGN1bGF0aW9ucyBvdXQgb2YgaW5uZXIgbG9vcHMKCSAgdGhlIGNhbGN1bGF0aW9ucyBmb3IgZGV0ZWN0aW5nIHRoZSB2aWRlb21hcmsgaXMgYmVpbmcgcmVwZWF0ZWQKCSAgaW4gZm9yIGxvb3AgdW5uZWNlc3NhcmlseS4gTW92aW5nIHRoaXMgb3V0c2lkZSBvZiBmb3IgbG9vcAoJICBzdWNoIHRoYXQgdGhlIGNvZGUgbmVlZCBub3QgYmUgZXhlY3V0ZWQgZXZlcnRpbWUgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NzgKCjIwMTUtMDItMTkgMTE6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSB0aGUgc2lua3BhZHMgaXRlcmF0b3IgZGlyZWN0bHkgdG8gcXVlcnkgdXBzdHJlYW0gbGF0ZW5jaWVzCgkgIFdoaWxlIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKSBtYWtlcyBzdXJlIHRoYXQgZXZlcnkgcGFkIGlzIG9ubHkKCSAgdmlzaXRlZCBvbmNlLCBldmVuIHdoZW4gdGhlIGl0ZXJhdG9yIGhhcyB0byByZXN5bmMsIHRoaXMgaXMgbm90IGFsbCB3ZSBoYXZlCgkgIHRvIGRvIGZvciBxdWVyeWluZyB0aGUgbGF0ZW5jeS4gV2hlbiB0aGUgaXRlcmF0b3IgcmVzeW5jcyB3ZSBhY3R1YWxseSBoYXZlCgkgIHRvIHF1ZXJ5IGFsbCBwYWRzIGZvciB0aGUgbGF0ZW5jeSBhZ2FpbiBhbmQgZm9yZ2V0IG91ciBwcmV2aW91cyByZXN1bHRzLiBJdAoJICBtaWdodCBoYXZlIGhhcHBlbmVkIHRoYXQgYSBwYWQgd2FzIHJlbW92ZWQsIHdoaWNoIGluZmx1ZW5jZWQgdGhlIHJlc3VsdCBvZgoJICB0aGUgbGF0ZW5jeSBxdWVyeS4KCjIwMTUtMDItMTkgMTA6NTc6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE1vdmUgZ3N0X2FnZ3JlZ2F0b3JfZ2V0X2xhdGVuY3lfdW5sb2NrZWQoKSBhIGJpdAoJICBJdCB3YXMgYmV0d2VlbiBhbm90aGVyIGZ1bmN0aW9uIGFuZCBpdHMgaGVscGVyIGZ1bmN0aW9uIGJlZm9yZSwgd2hpY2ggd2FzCgkgIGNvbmZ1c2luZyB3aGVuIHJlYWRpbmcgdGhlIGNvZGUgYXMgaXQgaGFkIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgb3RoZXIKCSAgZnVuY3Rpb25zLgoKMjAxNS0wMi0xOSAwMToyODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkgIHJzbmlucHV0c2VsZWN0b3I6IEZhaWwgdGhlIGxhdGVuY3kgcXVlcnkgaWYgb25lIG9mIHRoZSB1cHN0cmVhbSBxdWVyaWVzIGZhaWxzCgoyMDE1LTAyLTE5IDAxOjI4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGYWlsIHRoZSBsYXRlbmN5IHF1ZXJ5IGlmIG9uZSBvZiB0aGUgdXBzdHJlYW0gcXVlcmllcyBmYWlscwoKMjAxNS0wMi0xOSAwMToyODowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRmFpbCB0aGUgbGF0ZW5jeSBxdWVyeSBpZiBvbmUgb2YgdGhlIHVwc3RyZWFtIHF1ZXJpZXMgZmFpbHMKCjIwMTUtMDItMTggMTk6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogT25seSBzZXQgbGF0ZW5jeSBpZiB3ZSBhbHJlYWR5IGtub3cgb3VyIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHNldCBib2d1cyB2YWx1ZXMgb3IgR1NUX0NMT0NLX1RJTUVfTk9ORS4KCSAgQWxzbyBtYWtlIHN1cmUgdG8gcmVzZXQgdGhlIGNhcHMgZmllbGQgdG8gTlVMTCBhZnRlciB1bnJlZmZpbmcKCSAgdGhlIGNhcHMgdG8gcHJldmVudCBhY2NpZGVudGlhbCB1c2UgYWZ0ZXJ3YXJkcywgYW5kIHVucmVmIGFueQoJICBvbGQgY2FwcyBiZWZvcmUgd2UgcmVtZW1iZXIgbmV3IGNhcHMuCgoyMDE1LTAyLTE4IDE1OjUzOjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBsb2NraW5nIG9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTU6MTE6MTQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbmFtZSBjb25mdXNpbmx5IG5hbWVkIFNSQ19TVFJFQU1fTE9DSyBtYWNyb3MgdG8gU1JDX0xPQ0sKCSAgVGhpcyB3aWxsIG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBsb2NrIGl0c2VsZi4gSXQgaXMgYWxzbyBub3QgYSBzdHJlYW0KCSAgbG9jayBhcyBpdCBub3QgcmVjdXJzaXZlIGFuZCBub3QgaGVsZCB3aGlsZSBwdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE1OjA2OjAxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW5hbWUgY29uZnVzaW5nbHkgbmFtZWQgc3RyZWFtIGxvY2sgdG8gZmx1c2ggbG9jawoJICBUaGlzIGxvY2sgaXMgbm90IHdoYXQgaXMgY29tbW9ubHkga25vd24gYXMgYSAic3RyZWFtIGxvY2siIGluIEdTdHJlbWVyLAoJICBpdCdzIG5vdCByZWN1cnNpdmUgYW5kIGl0J3MgdGFrZW4gZnJvbSB0aGUgbm9uLXNlcmlhbGl6ZWQgRkxVU0hfU1RBUlQgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTU6MDQ6MDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBtYWNybyBpbmRlbmRhdGlvbgoJICBDaGFuZ2VzIG5vIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNzoxMDo0OCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm06IEZpeCBpbmNsdWRlcyBvZiBncmFwaGVuZSBoZWFkZXJzCgkgIFRoZSBncmFwaGVuZS0xLjAgcGFydCBzaG91bGQgbm90IGJlIGluIHRoZSBzb3VyY2UgY29kZS4gVGhpcyBkaXJlY3RvcnkKCSAgaXMgcGFydCBvZiB0aGUgY2ZsYWdzIGluY2x1ZGUuIFRoaXMgaXMgc2ltaWxhciB0byBnc3RyZWFtZXItMS4wLwoJICBkaXJlY3RvcnkuIFRoaXMgYnJlYWsgY29tcGlsYXRpb24gaWYgdGhlIGluY2x1ZGUgZGlyZWN0b3J5IHdoZXJlCgkgIGdyYXBoZW5lIGlzIGluc3RhbGxlZCBpcyBub3QgaW4geW91ciBpbmNsdWRlIHBhdGguCgoyMDE1LTAyLTE4IDE5OjA3OjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVtb3ZlIHVubmVlZGVkIHZhbHVlcwoJICBObyBuZWVkIHRvIHN0b3JlIHRoZSBHc3RGbG93UmV0dXJuIHdoZW4gd2UgY2FuIGNoZWNrIGlmIGl0IGlzIG5vdCBPSyBkaXJlY3RseQoKMjAxNS0wMi0xOCAxODozMzoyMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlbmFtaW5nIEdzdEZsb3dSZXR1cm4gdmFyaWFibGUKCSAgSGF2aW5nIGEgdmFyaWFibGUgbmFtZWQgcmV0IGluIGEgc3RhdGljIHZvaWQgZnVuY3Rpb24gaXMgdmVyeSBjb25mdXNpbmcgc2luY2UKCSAgdGhpcyB1c3VhbGx5IGlzIHRvIHN0b3JlIHdoYXQgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuLgoKMjAxNS0wMi0xOCAxODowMDo0OCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlbW92ZSBpZ25vcmVkIHZhbHVlCgkgIFZhbHVlIHN0b3JlZCBpbiByZXQgd2lsbCBiZSBvdmV3cml0dGVuIGluIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgbG9vcC4gV2hpY2gKCSAgbWVhbnMgaXQgaXMgbmV2ZXIgdXNlZC4KCSAgUGx1cyBhIHN0eWxlIGlzc3VlIHRvIG1ha2UgZ3N0LWluZGVudCBoYXBweSBhbmQgYWxsb3cgdGhlIGNvbW1pdC4KCjIwMTUtMDItMTggMTc6NDE6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFJlbW92ZSBnX3dhcm5pbmdzKCkgZm9yIHRoZSBkZXByZWNhdGVkIGF1ZGlvIHByb3BlcnR5CgkgIE90aGVyd2lzZSB0aGVyZSBhcmUgZ193YXJuaW5ncygpIGFscmVhZHkgd2hlbiBqdXN0IHVzaW5nIGdzdC1pbnNwZWN0IG9yCgkgIGR1bXBpbmcgYSBwaXBlbGluZSBncmFwaC4KCjIwMTUtMDItMTUgMjM6MTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGFnYWluc3QgbWFsZm9ybWVkIGlzb21iZmYgZm9ybWF0CgkgIEJlIG1vcmUgY2FyZWZ1bCBhcm91bmQgbWFsZm9ybWVkIG1wZHMgdGhhdCBhbm5vdW5jZSB1c2luZwoJICBpc29tYmZmIHByb2ZpbGUgYnV0IGFjdHVhbGx5IGFyZSByZWd1bGFyIG1wZHMKCjIwMTUtMDItMTggMTI6NDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBEZWFjdGl2YXRlIHRoZSBmYWxsYmFjayBwb29sIGFuZCB1bnJlZiB0aGUgZmFsbGJhY2sgYnVmZmVyIHdoZW4gcmVzZXR0aW5nCgkgIE90aGVyd2lzZSB3ZSB3aWxsIHN0aWxsIGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlIHN1cmZhY2UgbGVmdCwgd2hpY2ggd291bGQKCSAgcHJldmVudCBhY3RpdmF0aW5nIHRoZSBzaW5rIGFnYWluIGxhdGVyLiBFLmcuIGFmdGVyIHdlIGxvc3QgdGhlIGRldmljZS4KCSAgSG9wZWZ1bGx5IGZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTUKCjIwMTUtMDItMTcgMTE6NTM6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgZGVmaW5lCgoyMDE1LTAyLTE3IDExOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgY29ycmVjdCBmdW5jdGlvbiB0byBjbGVhciBmcmFnbWVudCBpbmZvCgkgIEp1c3QgZnJlZWluZyB0aGUgdXJsIHdvbid0IHJlc2V0IHRoZSBieXRlIHJhbmdlcyBhbmQgY2FuIGxlYWQgdG8gd3JvbmcKCSAgcmFuZ2VzIGJlaW5nIHVzZWQuCgoyMDE1LTAyLTE3IDEwOjUwOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogZGVwcmFjYXRlIGJhbmR3aWR0aC11c2FnZSBpbiBmYXZvciBvZiBiaXRyYXRlLWxpbWl0CgkgIEJpdHJhdGUtbGltaXQgaXMgYWxyZWFkeSBhdmFpbGFibGUgaW4gdGhlIGJhc2VjbGFzcyBhbmQsIGV2ZW4gdGhvdWdoCgkgIHRoZSBiYW5kd2lkdGgtdXNhZ2UgbmFtZSBpcyBiZXR0ZXIsIGhscyBhbmQgbXNzIGFscmVhZHkgdXNlZAoJICBiaXRyYXRlLWxpbWl0LiBUaGlzIHBhdGNoIGRlcHJlY2F0ZXMgdGhlIGJhbmR3aWR0aC11c2FnZSBhbmQgbWFwcwoJICBpdCB0byB0aGUgYmFzZWNsYXNzIGJpdHJhdGUtbGltaXRlLgoKMjAxNS0wMi0xNyAxMDo0MDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGJpdHJhdGUtbGltaXQgcHJvcGVydHkKCSAgTW92ZSB0aGUgcHJvcGVydHkgZnJvbSBzdWJjbGFzc2VzIHRvIGFkYXB0aXZlZGVtdXgsIGl0IGFsbG93cwoJICBzZWxlY2luZyB0aGUgcGVyY2VudGFnZSBvZiB0aGUgbWVhc3VyZWQgYml0cmF0ZSB0byBiZSB1c2VkIHdoZW4KCSAgc2VsZWN0aW5nIHN0cmVhbSBiaXRyYXRlcwoKMjAxNS0wMi0xNyAxMDowNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IGFsbG93IGNyZWF0aW9uIG9mICdpbmZpbml0ZScgcGxheWxpc3QKCSAgQWxsb3cgdGhlIHBsYXlsaXN0LWxlbmd0aCB0byBhY2NlcHQgJzAnIGFzIGEgdmFsdWUsIGluZGljYXRpbmcKCSAgdGhhdCBubyBzZWdtZW50IHNob3VsZCBiZSByZW1vdmVkIGZyb20gdGhlIHBsYXlsaXN0LiBUaGlzIGFsbG93cwoJICBnZW5lcmF0aW5nIHBsYXlsaXN0cyB0byBiZSB1c2VkIGFzIFZPRCB3aGVuIGNvbXBsZXRlLgoKMjAxNS0wMi0xNyAxMDowNDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsc3Npbms6IHJlbW92ZSB1bnVzZWQgYXR0cmlidXRlCgkgIHRoZSBHRmlsZSBhdHRyaWJ1dGUgaXMgbmV2ZXIgdXNlZAoKMjAxNS0wMi0xNyAxMDowMzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgQWxsb3dzIHRvIHNldCBhIGJpdHJhdGUgZGlyZWN0bHkgaW5zdGVhZCBvZiBtZWFzdXJpbmcgaXQgaW50ZXJuYWxseQoJICBiYXNlZCBvbiB0aGUgcmVjZWl2ZWQgY2h1bmtzLiBUaGUgY29ubmVjdGlvbi1zcGVlZCB3YXMgcmVtb3ZlZCBmcm9tCgkgIG1zc2RlbXV4IGFuZCBobHNkZW11eCBhcyBpdCBpcyBub3cgaW4gdGhlIGJhc2UgY2xhc3MKCjIwMTUtMDItMTcgMDA6MzQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IGRvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzCgkgIERvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHRvIGNoZWNrCgkgIHdoZXRoZXIgaXQgaGFzIGJlZW4gZnJlZWQgYWxyZWFkeSBvciBub3QuIEp1c3QgY2xlYXIgbXV0ZXgKCSAgYW5kIEdDb25kIHVuY29uZGl0aW9uYWxseSBpbiBmcmVlIGZ1bmN0aW9uLCB0aGV5IGFyZSBhbHdheXMKCSAgaW5pdGVkIGFueXdheSwgYW5kIHRoZSBmcmVlIGZ1bmN0aW9uIGNhbid0IGJlIGNhbGxlZCBtdWx0aXBsZQoJICB0aW1lcyBlaXRoZXIuCgoyMDE1LTAyLTE2IDIzOjU0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMKCSAgRG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMgdG8gY2hlY2sKCSAgd2hldGhlciBpdCBoYXMgYmVlbiBmcmVlZCBhbHJlYWR5IG9yIG5vdC4gSnVzdCB0dXJuIGRpc3Bvc2UKCSAgZnVuY3Rpb24gaW50byBmaW5hbGl6ZSBmdW5jdGlvbiB3aGljaCB3aWxsIG9ubHkgYmUgY2FsbGVkCgkgIG9uY2UsIHRoYXQgd2F5IHdlIGNhbiBqdXN0IGNsZWFyIHRoZSBtdXRleCB1bmNvbmRpdGlvbmFsbHkuCgoyMDE1LTAyLTE3IDE4OjE3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZG9uJ3QgZGVhZGxvY2sgaWYgdGhlIGRpc3BhdGNoX3N5bmMgaXMgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkCgkgIFByb3ZpZGUgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgd2hldGhlciB3ZSBhcmUgYmVpbmcgY2FsbGVkIGZyb20KCSAgdGhlIG1haW4gdGhyZWFkIGFuZCBhY3QgYXBwcm9wcmlhdGVseS4KCjIwMTUtMDItMTcgMTY6NDE6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBvbmx5IHN0YXJ0IGRyYXdpbmcgaWYgdGhlIHBhcmVudCBnbCBjb250ZXh0IGlzIHJlYWR5CgkgIG90aGVyd2lzZSB3ZSBtYXkgdHJ5IHRvIHVzZSBHc3RHTEZ1bmNzICogdGhhdCBoYXNuJ3QgYmVlbiBzZXQgeWV0CgoyMDE1LTAyLTE3IDE2OjM5OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogc21hbGwgcmVmYWN0b3Igb2YgbGF5ZXIvdmlldyBjcmVhdGlvbiBpbnRvIHRoZSB3aW5kb3cKCjIwMTUtMDItMTcgMDE6MDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IFJlbW92ZSBhc3NlcnRpb24gaW4gZ3N0X2dsX3dpbmRvd19zaG93KCkgZm9yIHN1YmNsYXNzZXMgbm90IGltcGxlbWVudGluZyBpdAoJICBPbiBBbmRyb2lkIGFuZCBpT1Mgd2UgY2FuJ3QgY3JlYXRlIGEgd2luZG93IG91cnNlbHZlcywgc28gYWxzbyBjYW4ndCBqdXN0IHNob3cKCSAgb25lLiBUaGF0J3Mgbm90IGEgcHJvYmxlbSBhbmQgYW4gYXNzZXJ0aW9uIGlzIG5vdCByZWFsbHkgbmVlZGVkIGhlcmUuCgoyMDE1LTAyLTE2IDEyOjM1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IENoZWNrIGlmIFZUU2Vzc2lvbkNvcHlQcm9wZXJ0eSgpIHN1Y2NlZWRzIGJlZm9yZSB1c2luZyB0aGUgcmVzdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1ODUKCjIwMTUtMDItMTMgMjM6NDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRyb3AgR0FQIGV2ZW50cyB1bnRpbCB3ZSBoYW5kbGUgdGhlbSBwcm9wZXJseQoKMjAxNS0wMi0xMiAxMjowNDo0NCArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkgIHNpbXBsZXZpZGVvbWFyazogcmVmYWN0b3IgY29kZQoJICB0aGUgY2FsY3VsYXRpb25zIGZvciBkcmF3aW5nIHRoZSB2aWRlb21hcmsgaXMgYmVpbmcgcmVwZWF0ZWQKCSAgaW4gZm9yIGxvb3AgdW5uZWNlc3NhcmlseS4gTW92aW5nIHRoaXMgb3V0c2lkZSBvZiBmb3IgbG9vcAoJICBzdWNoIHRoYXQgdGhlIGNvZGUgbmVlZCBub3QgYmUgZXhlY3V0ZWQgZXZlcnRpbWUgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNzEKCjIwMTUtMDItMDkgMTE6MjE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IEZpeCBzZWdtZW50IGFuZCBzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGR1cmluZyBzZWVraW5nCgkgIEFsd2F5cyB1cGRhdGUgdGhlIHNlZ21lbnQgYW5kIG5vdCBvbmx5IGZvciBhY2N1cmF0ZSBzZWVraW5nIGFuZCBhbHdheXMKCSAgc2VuZCBhIG5ldyBzZWdtZW50IGV2ZW50IGFmdGVyIHNlZWtzLgoJICBGb3Igbm9uLWFjY3VyYXRlIGZvcmNlIGEgcmVzZXQgb2Ygb3VyIHNlZ21lbnQgaW5mbyB0byBzdGFydCBmcm9tCgkgIHdoZXJlIG91ciBzZWVrIGxlZCB1cyBhcyB3ZSBkb24ndCBuZWVkIHRvIGJlIGFjY3VyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNjMKCjIwMTUtMDItMTMgMTY6MDY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHVzZSBuZXcgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCjIwMTUtMDItMTMgMTY6MDM6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXNlIG5ldyBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoKMjAxNS0wMi0xMyAxNTo1MzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHVzZSBuZXcgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCjIwMTUtMDItMTMgMTU6NDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgkgIHN0ZWFsX2J1ZmZlcigpICsgdW5yZWYgc2VlbXMgdG8gYmUgYSB3aWRlLXNwcmVhZCBpZGlvbQoJICAod2hpY2ggcGVyaGFwcyBpbmRpY2F0ZXMgdGhhdCBzb21ldGhpbmcgaXMgbm90IHF1aXRlCgkgIHJpZ2h0IHdpdGggdGhlIHdheSBhZ2dyZWdhdG9yIHBhZCB3b3JrcyBjdXJyZW50bHkpLgoKMjAxNS0wMi0xMiAxMzozMjozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogb25seSBwb3N0IGxhdGVuY3kgbWVzc2FnZSBpZiBhbnl0aGluZyBjaGFuZ2VkCgkgIFBlcmhhcHMgd2Ugc2hvdWxkIGNoZWNrIGZvciBlbGVtZW50IHN0YXRlIGFzIHdlbGwgYW5kCgkgIG9ubHkgcG9zdCBpdCBpZiBpbiBQTEFZSU5HIHN0YXRlLgoKMjAxNS0wMi0xMiAxNTo0ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogcmVtb3ZlIEdTVF9ESVNBQkxFX1BBUlNFIGd1YXJkcyBmcm9tIHR3byB0ZXN0cyB0aGF0IGRvbid0IHJlcXVpcmUgaXQKCjIwMTUtMDEtMjggMTI6MTI6MjYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IE1ha2UgZGVidWcgY2F0ZWdvcnkgbmFtaW5nIGEgYml0IG1vcmUgY29uc2lzdGVudAoKMjAxNS0wMi0xMyAxOToxMjoyMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogZml4IGNyYXNoIHdoZW4gbm9uLUdMIG1lbW9yeSBpcyB1c2VkCgoyMDE1LTAyLTA1IDE4OjEwOjE1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBsb2dpYyBpbiBmcmFnbWVudF9kb3dubG9hZF9maW5pc2guCgkgIFRoaXMgd2FzIHByZXZlbnRpbmcgdXMgZnJvbSBzdXJmYWNpbmcgYSBtZWFuaW5nZnVsIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzNzAzCgoyMDE1LTAyLTEyIDIyOjA2OjE3ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggaGFuZGxpbmcgb2YgbGl2ZSBzdHJlYW1zIHdpdGggdGltZXNoaWZ0IGJ1ZmZlcnMuCgkgIEJ5IGltcGxlbWVudGluZyBnZXRfbGl2ZV9zZWVrX3JhbmdlLgoJICBBcyBzaG93biBieSA6CgkgIGdzdC12YWxpZGF0ZS0xLjAgcGxheWJpbiBcCgkgIHVyaT1odHRwOi8vZGV2LWlwbGF0Zm9ybXMua3cuYmJjLmNvLnVrL2Rhc2gvbmV3czI0LWF2YzMvbmV3czI0LnBocAoJICBUaGlzIHBhdGNoIGhhbmRsZXMgbGl2ZSBzZWVraW5nLCBieSBzZXR0aW5nIGEgbGl2ZSBzZWVrIHJhbmdlCgkgIGNvbXByaXNlZCBiZXR3ZWVuIG5vdyAtIHRpbWVTaGlmdEJ1ZmZlckRlcHRoIGFuZCBub3cuCgkgIFRoZSBpbnRlZXJzdGluZyB0aGluZyB3aXRoIHRoaXMgc3RyZWFtIGlzIHRoYXQgb25lIGNhbiBhY3R1YWxseQoJICBhc2sgZnJhZ21lbnRzIHVwIHRvIGF2YWlsYWJpbGl0eVN0YXJ0VGltZSwgYnV0IGl0IHNlZW1zIHF1aXRlIGNsZWFyCgkgIGluIHRoZSBzcGVjIHRoYXQgY29udGVudCBpcyBvbmx5IGd1YXJhbnRlZWQgdG8gZXhpc3QgdXAgdG8KCSAgdGltZVNoaWZ0QnVmZmVyRGVwdGguCgkgIE9uZSBjYW4gdGVzdCBsaXZlIHNlZWtpbmcgdGhpcyB3YXkgOgoJICBnc3QtdmFsaWRhdGUtMS4wIHBsYXliaW4gXAoJICB1cmk9aHR0cDovL2Rldi1pcGxhdGZvcm1zLmt3LmJiYy5jby51ay9kYXNoL25ld3MyNC1hdmMzL25ld3MyNC5waHAgXAoJICAtLXNldC1zY2VuYXJpbyBzZWVrX2JhY2suc2NlbmFyaW8KCSAgd2l0aCBzY2VuYXJpbyBiZWluZzoKCSAgZGVzY3JpcHRpb24sIHNlZWs9dHJ1ZQoJICBzZWVrLCBwbGF5YmFjay10aW1lPXBvc2l0aW9uKzUuMCwgc3RhcnQ9InBvc2l0aW9uLTYwMC4wIiwKCSAgZmxhZ3M9YWNjdXJhdGUrZmx1c2gKCSAgVGhpcyBleGFtcGxlIHdpbGwgcGxheSB0aGUgc3RyZWFtLCB3YWl0IGZvciBmaXZlIHNlY29uZHMsIHRoZW4gc2VlayBiYWNrCgkgIHRvIGEgcG9zaXRpb24gMTAgbWludXRlcyBlYXJsaWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzYyCgoyMDE1LTAyLTEyIDIyOjA0OjEwICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFNldCBmaXJzdCBzZWdtZW50IHRpbWUgdG8gc2VnbWVudCBzdGFydC4KCSAgT3RoZXJ3aXNlIGFzIGxvbmcgYXMgYSBzZWVrIHdhc24ndCBleGVjdXRlZCwgdGhlIHBvc2l0aW9uIHdhcwoJICByZXBvcnRlZCBpbmNvcnJlY3RseToKCSAgZ3N0LXZhbGlkYXRlLTEuMCBwbGF5YmluIFwKCSAgdXJpPWh0dHA6Ly9kZXYtaXBsYXRmb3Jtcy5rdy5iYmMuY28udWsvZGFzaC9uZXdzMjQtYXZjMy9uZXdzMjQucGhwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNjIKCjIwMTUtMDItMTIgMTc6MzM6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMTUtMDItMTIgMTU6MDI6MzEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbDogQWRkL1VwZGF0ZSBtb3JlIGRlYnVnIHN0YXRlbWVudHMKCSAgV2hlcmUgcG9zc2libGUsIHVzZSB0aGUgX09CSkVDVCB2YXJpYW50cyBpbiBvcmRlciB0byB0cmFjayBiZXR0ZXIgZnJvbQoJICB3aGljaCBvYmplY3QgdGhlIGRlYnVnIHN0YXRlbWVudCBpcyBjb21pbmcgZnJvbQoJICBEZWZpbmUgKGFuZCB1c2UpIEdTVF9DQVRfREVGQVVMVCB3aGVyZSBhcHBsaWNhYmxlCgkgIFVzZSBHU1RfUFRSX0ZPUk1BVCB3aGVyZSBhcHBsaWNhYmxlCgoyMDE1LTAyLTEyIDE0OjU4OjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2w6IE1ha2UgZ2xjb250ZXh0IGRlYnVnIGNhdGVnb3J5IHVzZWQgaW4gbW9yZSBwbGFjZXMKCSAgQXMgYSBib251cyBpdCBtYWtlcyB0aGUgZWdsIGNvbnRleHQgZGVidWcgbWVzc2FnZXMgdmlzaWJsZSBub3cgOikKCjIwMTUtMDItMTIgMTQ6NTY6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFNwcmlua2xlIG1vcmUgZGVidWcKCjIwMTUtMDItMTIgMTE6MTU6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHNldCBwcm9wZXIgc3RyZWFtIHR5cGUgdG8gc3RyZWFtcwoJICBzdHJuY21wIHJldHVybnMgMCB3aGVuIGl0IGNvbXBhcmVzIGVxdWFsIGFuZCBub3QgYQoJICBib29sZWFuCgoyMDE1LTAyLTEyIDExOjI2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBjYWxjdWxhdGUgc3RyZWFtX3RpbWUgdXNlZCB0byBzeW5jIHBhZCB2YWx1ZXMgY29ycmVjdGx5CgkgIFVzZSBwYWQgKGlucHV0KSBzZWdtZW50IHRvIGNhbGN1bGF0ZSB0aGUgc3RyZWFtIHRpbWUgZnJvbSB0aGUKCSAgaW5wdXQgdGltZXN0YW1wLCBub3QgdGhlIGFnZ3JlZ2F0b3IgKG91dHB1dCkgc2VnbWVudC4KCjIwMTUtMDItMTIgMTE6MTE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogT25seSB1c2UgdGhlIGR1cmF0aW9uIG9mIHRoZSBzYW1wbGUgaWYgaXQgaXMgdmFsaWQKCjIwMTUtMDEtMjcgMTM6NDg6NDIgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0cmFjayBwZXItZnJhZ21lbnQgYml0cmF0ZXMuCgkgIEFuZCB1c2UgdGhlIGF2ZXJhZ2UgdG8gZ28gdXAgaW4gcmVzb2x1dGlvbiwgYW5kIHRoZSBsYXN0IGZyYWdtZW50CgkgIGJpdHJhdGUgdG8gZ28gZG93bi4KCSAgVGhpcyBhbGxvd3MgdGhlIGRlbXV4ZXIgdG8gcmVhY3QgcmFwaWRseSB0byBiaXRyYXRlIGxvc3MsIGFuZAoJICBiZSBjb25zZXJ2YXRpdmUgZm9yIGJpdHJhdGUgaW1wcm92ZW1lbnRzLgoJICArIEFkZCBhIGNvbnN0cnVjdCBvbmx5IHByb3BlcnR5IHRvIGRlZmluZSB0aGUgbnVtYmVyIG9mIGZyYWdtZW50cwoJICB0byBjb25zaWRlciB3aGVuIGNhbGN1bGF0aW5nIHRoZSBhdmVyYWdlIG1vdmluZyBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyOTc5CgoyMDE1LTAyLTExIDE0OjQ0OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBBZGQgc3VwcG9ydCBmb3IgMTBiaXQgNDoyOjAgYW5kIDQ6NDo0IGZvcm1hdHMKCjIwMTUtMDItMTEgMTQ6MTY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIEltcHJvdmUgYW5kIGZpeCBMQVRFTkNZIHF1ZXJ5IGhhbmRsaW5nCgkgIFRoaXMgbm93IGZvbGxvd3MgdGhlIGRlc2lnbiBkb2NzIGV2ZXJ5d2hlcmUsIGVzcGVjaWFsbHkgdGhlIG1heGltdW0gbGF0ZW5jeQoJICBoYW5kbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDEwNgoKMjAxNS0wMi0xMCAxNTo1NTo1MCArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluIGV4YW1wbGVzOiBtZW1vcnkgbGVhayBpbiBjYW1lcmFiaW4gZXhhbXBsZXMgY29kZQoJICBzaG91bGQgdW5yZWYgY2FwcyBhZnRlciBzZXQgdG8gcHJvZmlsZS4gcHJvZmlsZSB3aWxsIHJlZiBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxOQoKMjAxNS0wMi0xMCAxNTo1MzoyMSArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4gZXhhbXBsZXM6IG1lbW9yeSBsZWFrIGluIGNhbWVyYWJpbiBleGFtcGxlcyBjb2RlCgkgIHNob3VsZCB1bnJlZiBhZnRlciBzZXQgb2JqZWN0LiBUaGUgb2JqZWN0IHdpbGwgYmUgcmVmZWQgd2hlbiBzZXQKCSAgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTkKCjIwMTUtMDItMTAgMTY6MTg6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogT25seSBhbGxvY2F0ZSBhdCBtb3N0IGhhbGYgdGhlIG51bWJlciBvZiBpbnRlcm5hbCBidWZmZXJzIGFzIGV4dGVybmFsIGF1ZGlvcmluZ2J1ZmZlciBvbmVzCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBlbmQgdXAgcmVhZGluZyB0b28gbXVjaCBmcm9tIHRoZSBhdWRpb3JpbmdidWZmZXIsIHdoaWNoCgkgIHdvdWxkIHJlc3VsdCBpbiByZWFkaW5nIHNpbGVuY2UuCgoyMDE1LTAyLTEwIDE2OjAxOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBcHBseSB0aGUgZGlmZiBiZXR3ZWVuIGVsZW1lbnQgYW5kIHBpcGVsaW5lICJiYXNlIiB0aW1lIGluIGFsbCBjYXNlcwoJICBFdmVuIGlmIGJvdGggY2xvY2tzIGhhdmUgdGhlIHNhbWUgcmF0ZSwgd2UgbmVlZCB0byBhcHBseSB0aGlzIGRpZmYuIE9ubHkgd2hlbgoJICBpdCdzIHRoZSBzYW1lIGNsb2NrIHdlIGRvbid0LCBhcyBpdCdzIG91ciBjbG9jayB0aGVuLgoKMjAxNS0wMi0xMCAxNTozMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIHRoZSBkaWZmIGJldHdlZW4gdGhlIHBpcGVsaW5lIGJhc2UgdGltZSBhbmQgd2hlbiB3ZSBzdGFydCB0byBwbGF5CgkgIEFkZCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSBleHRlcm5hbCB0aW1lIHdoZW4gd2Ugd2VudCB0byBwbGF5aW5nIGFuZAoJICB0aGUgZXh0ZXJuYWwgdGltZSB3aGVuIHRoZSBwaXBlbGluZSB3ZW50IHRvIHBsYXlpbmcuIE90aGVyd2lzZSB3ZQoJICB3aWxsIGFsd2F5cyBzdGFydCBvdXRwdXR0aW5nIGZyb20gMCBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcKCSAgdGltZS4KCjIwMTUtMDItMTAgMTQ6NTM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWN0dWFsbHkgaW5jbHVkZSB0aGUgY2hhbmdlIG1lbnRpb25lZCBpbiB0aGUgbGFzdCBjb21taXQKCjIwMTUtMDItMTAgMTQ6NDg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW97c3JjLHNpbmt9OiBTYW1wbGUgdGhlIGludGVybmFsIGNsb2NrIGltbWVkaWF0ZWx5IGFmdGVyIHN0YXJ0aW5nIHRoZSBkZXZpY2UKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHN0YXkgYXQgMC4wcyBmb3IgdG9vIGxvbmcgYmVjYXVzZSB3ZSB3aWxsIHRha2UgdGhlIGZpcnN0CgkgIHRpbWVzdGFtcCB3ZSBldmVyIHNlZSBhcyAwLjAuLi4gd2hpY2ggd2lsbCBiZSBhZnRlciB3ZSBzdGFydGVkIHRoZSBkZXZpY2UuCgoyMDE1LTAyLTEwIDEwOjU2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFdoZW4gcmVjZWl2aW5nIHRpbWVvdXQgYmVmb3JlIGNhcHMsIG1ha2Ugc3VyZSB0byBhbHNvIGFkdmFuY2Ugb3VyIGZyYW1lIGNvdW50ZXIKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZGlyZWN0bHkgZ28gRU9TIG9uIHRoZSBuZXh0IG5vbi10aW1lb3V0LgoKMjAxNS0wMi0xMCAxMDo0OToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUGF1c2Ugc3JjcGFkIHRhc2sgb24gZmxvdyBlcnJvcnMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY2FsbCB0aGUgdGFzayBmdW5jdGlvbiBvdmVyIGFuZCBvdmVyIGFnYWluIHVudGlsCgkgIHVwc3RyZWFtIGZpbmFsbHkgaGFuZGxlZCB0aGUgZmxvdyByZXR1cm4gYW5kIHNodXRzIHVzIGRvd24uCgoyMDE1LTAyLTA5IDAwOjU5OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGJ1ZmZlciBzZWxlY3Rpb24gd2hlbiBkdXJhdGlvbj0tMQoJICBJZiB0aGUgc3JjIGZyYW1lcmF0ZSBhbmQgdmlkZW9hZ2dyZWF0b3IncyBvdXRwdXQgZnJhbWVyYXRlIHdlcmUKCSAgZGlmZmVyZW50LCB0aGVuIHdlIHdlcmUgdGFraW5nIGV2ZXJ5IHNpbmdsZSBidWZmZXIgdGhhdCBoYWQgZHVyYXRpb249LTEKCSAgYXMgaXQgY2FtZSBpbiByZWdhcmRsZXNzIG9mIHRoZSBidWZmZXIncyBzdGFydCB0aW1lLiAgVGhpcyBjYXVzZWQgdGhlIHNyYwoJICB0byBwb3NzaWJseSBydW4gYXQgYSBkaWZmZXJlbnQgc3BlZWQgdG8gdGhlIG91dHB1dCBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQwOTYKCjIwMTUtMDItMDkgMjE6MDQ6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MKCSAgZ3N0ZGVja2xpbmsuY3BwOiBJbiBtZW1iZXIgZnVuY3Rpb24gJ3ZpcnR1YWwgSFJFU1VMVCBHU3RyZWFtZXJEZWNrbGlua0lucHV0Q2FsbGJhY2s6OlZpZGVvSW5wdXRGcmFtZUFycml2ZWQoSURlY2tMaW5rVmlkZW9JbnB1dEZyYW1lKiwgSURlY2tMaW5rQXVkaW9JbnB1dFBhY2tldCopJzoKCSAgZ3N0ZGVja2xpbmsuY3BwOjQ5ODoyMjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQoJICBpZiAoY2FwdHVyZV90aW1lID4gbV9pbnB1dC0+Y2xvY2tfc3RhcnRfdGltZSkKCSAgXgoJICBnc3RkZWNrbGluay5jcHA6NTAzOjIyOiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQgaW50ZWdlciBleHByZXNzaW9ucyBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCgkgIGlmIChjYXB0dXJlX3RpbWUgPiBtX2lucHV0LT5jbG9ja19vZmZzZXQpCgkgIF4KCjIwMTUtMDItMDkgMTc6MTc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogSW1wbGVtZW50IGNsb2NrIHNsYXZpbmcgaWYgdGhlIHBpcGVsaW5lIGNsb2NrIGlzIG5vdCB0aGUgZGVja2xpbmsgY2xvY2sKCjIwMTUtMDItMDkgMTc6MTU6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW97c3JjLHNpbmt9OiBPbmx5IHN0YXJ0IHN0cmVhbXMgLyBzY2hlZHVsZWQgcGxheWJhY2sgaWYgdGhlcmUgaXMgYSB2aWRlb3NyYyBhdCB0aGlzIHBvaW50CgoyMDE1LTAyLTA5IDE3OjA0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlIGF1ZGlvIHNvdXJjZSBvbmx5IHdvcmtzIHRvZ2V0aGVyIHdpdGggdGhlIHZpZGVvIHNvdXJjZSwgYW5kIHRoZSB2aWRlbwoJICBzb3VyY2UgaXMgYWxyZWFkeSBwcm92aWRpbmcgYSBjbG9jay4KCjIwMTUtMDItMDkgMTY6MTg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogVGhyb3R0bGUgcmVhZGluZyBmcm9tIHRoZSByaW5nYnVmZmVyCgkgIFRoZSBkcml2ZXIgaGFzIGFuIGludGVybmFsIGJ1ZmZlciBvZiB1bnNwZWNpZmllZCBhbmQgdW5jb25maWd1cmFibGUgc2l6ZSwgYW5kCgkgIGl0IHdpbGwgcHVsbCBkYXRhIGZyb20gb3VyIHJpbmcgYnVmZmVyIGFzIGZhc3QgYXMgaXQgY2FuIHVudGlsIHRoYXQgaXMgZnVsbC4KCSAgVW5mb3J0dW5hdGVseSB0aGF0IG1lYW5zIHRoYXQgd2UgcHVsbCBzaWxlbmNlIGZyb20gdGhlIHJpbmdidWZmZXIgdW5sZXNzIGl0cwoJICBzaXplIGlzIGJ5IGNvbmluY2lkZW5jZSBsYXJnZXIgdGhhbiB0aGUgZHJpdmVyJ3MgaW50ZXJuYWwgcmluZ2J1ZmZlci4KCSAgVGhlIGdvb2QgbmV3cyBpcyB0aGF0IGl0J3Mgbm90IHJlcXVpcmVkIHRvIGNvbXBsZXRlbHkgZmlsbCB0aGUgYnVmZmVyIGZvcgoJICBwcm9wZXIgcGxheWJhY2suIFNvIHdlIG5vdyB0aHJvdHRsZSByZWFkaW5nIGZyb20gdGhlIHJpbmdidWZmZXIgd2hlbmV2ZXIKCSAgdGhlIGRyaXZlciBoYXMgYnVmZmVyZWQgbW9yZSB0aGFuIGhhbGYgb2Ygb3VyIHJpbmdidWZmZXIgc2l6ZSBieSB3YWl0aW5nCgkgIG9uIHRoZSBjbG9jayBmb3IgdGhlIGFtb3VudCBvZiB0aW1lIHVudGlsIGl0IGhhcyBidWZmZXJlZCBsZXNzIHRoYW4gdGhhdAoJICBhZ2Fpbi4KCjIwMTUtMDItMDkgMTU6MTk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJICBkZWNrbGlua2F1ZGlvc2luazogU3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIHdoZW4gZ29pbmcgdG8gUExBWUlORwoJICBUaGUgcmluZ2J1ZmZlcidzIGFjcXVpcmUoKSBpcyB0b28gZWFybHksIGFuZCByaW5nYnVmZmVyJ3Mgc3RhcnQoKSB3aWxsIG9ubHkgYmUKCSAgY2FsbGVkIGFmdGVyIHRoZSBjbG9jayBoYXMgYWR2YW5jZWQgYSBiaXQuLi4gd2hpY2ggaXQgd29uJ3QgdW5sZXNzIHdlIHN0YXJ0CgkgIHNjaGVkdWxlZCBwbGF5YmFjay4KCjIwMTUtMDItMDkgMjE6MTg6MjQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBmaXggdGV4dHVyZSBzaGFyaW5nIG9uIGlPUwoJICBNb3ZlIEdMRVMgY2FsbHMgdG8gdGhlIGNvbnRleHQgdGhyZWFkLiBGaXgKCSAgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZUNyZWF0ZVRleHR1cmVGcm9tSW1hZ2UgdXNhZ2Ugb24gaU9TLgoKMjAxNS0wMi0wOSAyMDo0NDo1MCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgbGliZ3N0Z2w6IHNldCB1c2VyIGRhdGEgYW5kIEdEZXN0cm95Tm90aWZ5IGZvciB3cmFwcGVkIHRleHR1cmVzCgoyMDE1LTAyLTA4IDIxOjUzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IFRha2UgdGhlIGNhcHR1cmUgdGltZXMgZnJvbSB0aGUgcGlwZWxpbmUgY2xvY2sKCSAgTm90IGZyb20gdGhlIGRlY2tsaW5rIGNsb2NrLiBCb3RoIHdpbGwgcmV0dXJuIGV4YWN0bHkgdGhlIHNhbWUgdGltZSBvbmNlIHRoZQoJICBkZWNrbGluayBjbG9jayBnb3Qgc2xhdmVkIHRvIHRoZSBwaXBlbGluZSBjbG9jayBhbmQgcmVjZWl2ZWQgdGhlIGZpcnN0CgkgIG9ic2VydmF0aW9uLCBidXQgdW50aWwgdGhlbiBpdCB3aWxsIHJldHVybiBib2d1cyB2YWx1ZXMuIEJ1dCBhcyBib3RoIHJldHVybgoJICBleGFjdGx5IHRoZSBzYW1lIHZhbHVlcywgd2UgY2FuIGFzIHdlbGwgdXNlIHRoZSBwaXBlbGluZSBjbG9jayBkaXJlY3RseS4KCjIwMTUtMDItMDggMTQ6MzI6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3Qgc2V0IGVsZW1lbnQgZmFjdG9yeSBkZXRhaWxzCgkgIFRoaXMgaXMgYW4gYWJzdHJhY3QgYmFzZSBjbGFzcywgbm90IGFuIGVsZW1lbnQuCgoyMDE1LTAyLTA4IDAxOjE5OjQyICsxMTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogc29tZSBvcHRpbWl6YXRpb25zCgkgIERldGVjdCBpbnZpc2libGUgcGl4ZWxzLCBhbmQgc2tpcCBnc3RzcHVfdm9ic3ViX2JsZW5kX2NvbXBfYnVmZmVycygpCgkgIHdoZW4gdGhlcmUgYXJlIG9ubHkgaW52aXNpYmxlIHBpeGVscy4gIFRoaXMgc2lnbmlmaWNhbnRseSByZWR1Y2VzIHRoZQoJICBDUFUgbG9hZCBpbiBjYXNlcyBvZiBEVkRzIHdoaWNoIGRvbid0IHVzZSB0aGUgY2xpcF9yZWN0IHRvIGV4Y2x1ZGUKCSAgcHJvY2Vzc2luZyBmb3IgcGFydHMgb2YgdGhlIHNjcmVlbiB3aGVyZSB0aGUgdmlkZW8gaXMgdmlzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMQoKMjAxNS0wMi0wOCAwNTowNjo0OCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEF2b2lkIHdhcm5pbmcgaWYgdGhlIHZpZGVvIGZvciBhIHN0aWxsIGZyYW1lIGFycml2ZXMgYWZ0ZXIgdGhlIFNQVQoJICBXaGVuIHdlIGRvbid0IGhhdmUgYSBzZWdtZW50IG9uIHRoZSB2aWRlbyBwYWQgeWV0IGR1cmluZyBhIHN0aWxsIGZyYW1lCgkgIGRvbid0IGZyZWFrIG91dC4KCjIwMTUtMDItMDggMDQ6NTE6MTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBtZWFuaW5nbGVzcyBzZWdtZW50IHBvc2l0aW9uIGRvd25zdHJlYW0KCSAgRG9uJ3QgcGxhY2UgYSBtZWFuaW5nbGVzcyB2YWx1ZSBpbiB0aGUgcG9zaXRpb24gZmllbGQgaW4KCSAgb3V0Z29pbmcgc2VnbWVudHMgLSB2YWx1ZXMgaGF2ZSB0byBiZSBpbiB0aGUgcmFuZ2Ugc3RhcnQtPnN0b3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NTgKCjIwMTUtMDItMDYgMTY6MjI6MjYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhaWZmcGFyc2U6IG1ha2Ugc3VyZSB3ZSBoYXZlIGRhdGEgYmVmb3JlIGhhbmRsaW5nIHNpbmsgZXZlbnQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTRiYWFiYjQ4ZDI1MjIxNGQzODMzYjUwMmM3OTAzZDlmMTVmMzUwMi4KCjIwMTUtMDItMDYgMTU6MTA6NTUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBkYXRhIGJlZm9yZSBoYW5kbGluZyBzaW5rIGV2ZW50CgkgIENoZWNrIEFJRkZfUEFSU0VfREFUQSBpcyBUcnVlIGJlZm9yZSBoYW5kbGluZyBzaW5rIGV2ZW50LCBpZiBub3QgZ290byBleGl0LgoKMjAxNS0wMi0wNSAxNTo1Nzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogcmVtb3ZlIG5vdy11bnVzZWQgYmFzZV90aW1lIGZpZWxkIGluIG9iamVjdCBzdHJ1Y3R1cmUKCjIwMTUtMDItMDYgMTA6NTk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFN0cmVhbWxpbmUgbGF0ZW5jeSBjYWxjdWxhdGlvbnMKCSAgTWluIGxhdGVuY3kgY2FuIG5ldmVyIGJlIGludmFsaWQsIGxhdGVuY3kgcHJvcGVydHkgY2FuIG5ldmVyIGJlIGludmFsaWQKCSAgZWl0aGVyLiBTbyBubyBuZWVkIHRvIGNoZWNrIGZvciBhbGwgdGhlc2UgdGhpbmdzIGluIHZhcmlvdXMgcGxhY2VzLgoKMjAxNS0wMi0wNiAxMDozNjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSWYgdXBzdHJlYW0gaGFzIG5vIG1heCBsYXRlbmN5IGJ1dCB0aGUgc3ViY2xhc3MgaGFzLCB0YWtlIHRoZSBzdWJjbGFzcyBtYXggbGF0ZW5jeQoKMjAxNS0wMi0wNiAxMDozMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IG1pbj5tYXggbGF0ZW5jeSBlcnJvciBjaGVjawoJICBXZSBoYXZlIHRvIGluY2x1ZGUgdGhlIHVwc3RyZWFtIGxhdGVuY3ksIG91ciBvd24gbGF0ZW5jeSBhbmQgdGhlIHN1YmNsYXNzCgkgIGxhdGVuY3kgaW4gdGhlIGNhbGN1bGF0aW9ucy4KCSAgRklYTUU6IFRoaXMgaXMgc3RpbGwgbm90IGVudGlyZWx5IGNvcnJlY3QKCjIwMTUtMDItMDYgMTA6MzA6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGFkZCB0aGUgbGF0ZW5jeSBwcm9wZXJ0eSB0byB0aGUgbWF4IGxhdGVuY3kKCSAgSXQgaGFzIG5vIG1lYW5pbmcgZm9yIHRoZSBtYXggbGF0ZW5jeSBhbmQgaXMgb25seSB1c2VkIHRvIGluY3JlYXNlIHRoZSBtaW4KCSAgbGF0ZW5jeS4KCjIwMTUtMDItMDYgMTI6NTM6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvdmFvLmg6CgkgIGdscHJvdG8vdmFvOiBvbmx5IHN1cHBvcnRlZCBpbiBjb3JlIGZvciBFUyAzLjArCgkgIFdhcyBjYXVzaW5nIGhvcml6b250YWxseSBmbGlwcGVkIHZpZGVvIGZvciBmcmFtZSAyIG9ud2FyZCBvbiBhbmRyb2lkCgoyMDE1LTAyLTA1IDEzOjMxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlbGFjZSBwYXJzZWQgd2l0aCBmcmFtZWQgaW4gYWFjIGNhcHMKCSAgRm9yIEFBQyBpdCBzaG91bGQgYWx3YXlzIGJlICdmcmFtZWQnIGFuZCBub3QgJ3BhcnNlZCcKCjIwMTUtMDItMDUgMTE6Mzk6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IG91dHB1dCBjYXBzIHRvIG5lZ290aWF0ZSB3aXRoIHNvbWUgbXV4ZXJzCgkgIEFkZCBwYXJzZWQvZnJhbWVkPXRydWUgdG8gYWxsb3cgbmVnb3RpYXRpb24gd2l0aCBzb21lCgkgIG11eGVycyB0aGF0IHJlcXVpcmVkIHBhcnNlZCBpbnB1dC4gRW5jb2RlcnMgYWxyZWFkeSBwcm92aWRlCgkgIHBhcnNlZC9mcmFtZWQgb3V0cHV0IHNvIGl0IHNob3VsZCBzYXkgc28gaW4gY2Fwcy4KCjIwMTUtMDItMDUgMTU6NDg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBjb21wb3NpdG9yOiBhZGQgdW5pdCB0ZXN0IGZvciBwcm9wZXIgc2VnbWVudC5iYXNlIGhhbmRsaW5nCgkgIEFzIGFkanVzdGVkIGJ5IGdzdF9wYWRfc2V0X29mZnNldCgpLCBvciB3aGVuIGRvaW5nIHNlZ21lbnQgc2Vla3MKCSAgb3IgbG9vcGluZyBmb3IgZXhhbXBsZS4KCjIwMTUtMDItMDUgMTU6MjM6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBhdWRpb21peGVyOiBhZGQgdW5pdCB0ZXN0IGZvciBwcm9wZXIgc2VnbWVudC5iYXNlIGhhbmRsaW5nCgkgIEFzIGFkanVzdGVkIGJ5IGdzdF9wYWRfc2V0X29mZnNldCgpLCBvciB3aGVuIGRvaW5nIHNlZ21lbnQgc2Vla3MKCSAgb3IgbG9vcGluZyBmb3IgZXhhbXBsZS4gU2VlIHByZXZpb3VzIGF1ZGlvbWl4ZXIgY29tbWl0LgoKMjAxNS0wMi0wNSAxNjowMjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHdlaXJkIGFuZCB3cm9uZyBzZWdtZW50IGhhbmRsaW5nCgkgIFRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBhdWRpb21peGVyIHNob3VsZCBvdmVycmlkZSB0aGUgc2VnbWVudAoJICBiYXNlIG9mIHVwc3RyZWFtIHdpdGggd2hhdGV2ZXIgdmFsdWUgaXQgZ290IGZyb20gYSBTRUVLIGV2ZW50LAoJICBvciBldmVuIHdvcnNlLi4uIHdpdGggMCBpZiB0aGVyZSB3YXMgbm8gU0VFSyBldmVudCB5ZXQuIFRoaXMKCSAgYnJva2Ugc3luY2hyb25pemF0aW9uIGlmIHVwc3RyZWFtIHByb3ZpZGVkIGEgc2VnbWVudCBiYXNlIG90aGVyCgkgIHRoYW4gMCwgZS5nLiB3aGVuIHVzaW5nIHBhZCBvZmZzZXRzLgoJICBBbHNvIHRoYXQgdGhpcyBjb2RlIGRpZCB0aGluZ3MgY29uZGl0aW9uYWwgb24gdGhlIGVsZW1lbnQncyBzdGF0ZQoJICBzaG91bGQndmUgYmVlbiBhIGJpZyB3YXJuaW5nIGFscmVhZHkgdGhhdCBzb21ldGhpbmcgaXMganVzdCB3cm9uZy4KCSAgSWYgdGhpcyBicmVha3MgYW55dGhpbmcgZWxzZSBub3csIGxldCdzIGZpeCBpdCBwcm9wZXJseSA6KQoJICBBbHNvIGRvbid0IGRvIGZhbmN5IHNlZ21lbnQgcG9zaXRpb24gdHJpY2tlcnkgd2hlbiByZWNlaXZpbmcgYQoJICBzZWdtZW50IGV2ZW50LiBJdCdzIGp1c3Qgbm90IGNvcnJlY3QuCgoyMDE1LTAyLTA1IDEyOjI0OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IE9ubHkgcHJlLXJvbGwgYSBzaW5nbGUgYnVmZmVyCgkgIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBwcmUtcm9sbCBtb3JlIGJ1ZmZlcnMgaGVyZSBhcyB3ZSBoYXZlIG91ciBvd24gcmluZ2J1ZmZlcgoJICB3aXRoIG1vcmUgc2VnbWVudHMgYXJvdW5kIGl0LCBhbmQgd2UgY2FuIGltbWVkaWF0ZWx5IHByb3ZpZGUgbW9yZSBidWZmZXJzIHRvCgkgIE9wZW5TTCBFUyB3aGVuIGl0IHJlcXVlc3RzIHRoYXQgZnJvbSB0aGUgY2FsbGJhY2suCgkgIFByZS1yb2xsaW5nIGEgc2luZ2xlIGJ1ZmZlciBiZWZvcmUgc3RhcnRpbmcgaXMgbmVjZXNzYXJ5IHRob3VnaCwgYXMgb3RoZXJ3aXNlCgkgIHdlIHdpbGwgb25seSBvdXRwdXQgc2lsZW5jZS4KCSAgTG93ZXJzIGxhdGVuY3kgYSBiaXQsIGRlcGVuZGluZyBvbiBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lIHNldHRpbmdzLgoKMjAxNS0wMi0wNSAxMjoyMjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBBbGxvY2F0ZSBhdCBtb3N0IDQgaW50ZXJuYWwgYnVmZmVycwoJICA0IGlzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGJ1ZmZlcnMgZGVmaW5lZCBieSBBbmRyb2lkJ3MgT3BlblNMIEVTCgkgIGltcGxlbWVudGF0aW9uLCBhbmQgaXRzIGNvZGUgaXMgb3B0aW1pemVkIGZvciB0aGlzLiBBbHNvIGJlY2F1c2Ugd2UKCSAgaGF2ZSBvdXIgb3duIHJpbmdidWZmZXIgYXJvdW5kIHRoaXMsIHdlIHdpbGwgYWx3YXlzIGhhdmUgZW5vdWdoCgkgIGJ1ZmZlcmluZyBvbiBvdXIgc2lkZSBhbHJlYWR5LgoJICBBbGxvd3MgZm9yIG1vcmUgZWZmaWNpZW50IHByb2Nlc3NpbmcuCgoyMDE1LTAyLTA1IDEyOjIxOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXNzaW5rL3NyYzogTG93ZXIgZGVmYXVsdCBidWZmZXIgdGltZSB0byAyMDBtcyBsaWtlIGFsc2FzaW5rCgoyMDE1LTAyLTA1IDE2OjQ2OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGVuc3VyZSB0aGF0IHRoZSBpbnB1dCB1cGxvYWQvY29sb3Jjb252ZXJ0IGFyZSBhbHdheXMgYXZhaWxhYmxlCgoyMDE1LTAyLTA1IDExOjA2OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGxvZyB0aGUgY29udmVydGVkIGNhcHMKCjIwMTUtMDItMDUgMTE6MDU6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVzdHJpY3QgRUdMIGFuZCBVcGxvYWRNZXRhIHRvIFJHQkEKCSAgb3RoZXIgZm9ybWF0cyBhcmUgaGlnaGx5IHVudGVzdGVkLgoKMjAxNS0wMi0wNSAxMTowNDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBkb24ndCBpbnRlcnNlY3Qgd2l0aCB0aGUgaW5wdXQgY2FwcwoJICB0aGF0IGxpbWl0cyBvdXIgZm9ybWF0cyB0byB3aGF0ZXZlciBpcyBpbiB0aGUgaW5wdXQgY2FwcwoKMjAxNS0wMi0wNCAxNDoxMDoxMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogZml4IG1lbW9yeSBsZWFrCgkgIEluIGdzdF9nbF9maWx0ZXJfZml4YXRlX2NhcHMgKCkgaXQgY2FuIGdvdG8gZG9uZSB3aXRob3V0IGZyZWVpbmcgdGhlIG1lbW9yeSBvZgoJICB0aGUgdG1wIEdzdFN0cnVjdHVyZS4gVGhpcyBtYWtlcyBpdCBnbyBvdXQgb2Ygc2NvcGUgYW5kIGxlYWsuCgkgIENJRCAjMTI2NTc2NQoKMjAxNS0wMi0wNCAxMTo1MjoyNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogaW5pdGlhbGl6ZSBjbGFzcyB2YXJpYWJsZXMKCSAgU29tZSB2YXJpYWJsZXMgYXJlIG5vdCBpbml0aWFsaXplZCBpbiB0aGUgY29uc3RydWN0b3IuIEl0IGlzIGhpZ2hseSB1bmxpa2VseQoJICB0aGV5IGFyZSB1c2VkIGJlZm9yZSBiZWluZyBzZXQsIGJ1dCBpdCBpcyBzYWZlciB0byBpbml0aWFsaXplIHRoZW0uCgkgIENJRCAjMTE5NzcwNAoKMjAxNS0wMi0wMyAxODoxMzoyNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICBrc3ZpZGVvc3JjOiBGaXggbWlzc2luZyBicmFjZSB3YXJuaW5nCgkgIFRoZXJlIGlzIG1vcmUgYnV0IGl0J3MgZnJvbSBrcy5oIEdVSUQgaW5pdGlhbGl6ZXIsIHdoaWNoIGlzIHNoaXBwZWQKCSAgdGhpcyB3YXkgd2l0aCBtaW5ndy4KCjIwMTUtMDItMDMgMTc6NDQ6MzQgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcKCSAgVGhlIHBzZXVkbyBidWZmZXIgcG9vbCBjb2RlIHdhcyB1c2luZyBnc3RfYnVmZmVyX2lzX3dyaXRhYmxlKCkKCSAgYWxvbmUgdG8gdHJ5IGFuZCBmaWd1cmUtb3V0IGlmIGNhY2hlZCBidWZmZXIgY291bGQgYmUgcmV1c2VkLgoJICBJdCBuZWVkcyB0byBjaGVjayBmb3IgbWVtb3J5IHdyaXRhYmlsaXR5IHRvby4gQWxzbyBjaGVjayBtYXAKCSAgcmVzdWx0IGFuZCBmaXggbWFwIGZsYWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY0CgoyMDE1LTAyLTAzIDE3OjA1OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIGxlYWtpbmcgZm9yY2Uga2V5dW5pdCBldmVudCB3aGVuIGdvaW5nIHRvIE5VTEwKCSAgRG8gbm90IHNldCB0byBOVUxMIGJlZm9yZSB1bnJlZmZpbmcgdGhlIGV2ZW50IG9yIGl0IHdpbGwgbGVhawoKMjAxMy0wMy0xOCAwODoxNTowMCArMDAwMCAgQW50b24gR3JpdHNheSA8YW50b25AYW5ncmkucnU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHBhcnNlIGZvcmNlIGtleSB1bml0IGV2ZW50cyB3aXRoIHRoZSBjb3JyZWN0IGZ1bmN0aW9uCgkgIE90aGVyd2lzZSBpdCB3b24ndCBiZSBwYXJzZWQgYW5kIGJvZ3VzIHZhbHVlcyB3b3VsZCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MDMyCgoyMDE1LTAxLTI2IDIwOjQyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiByZW1vdmUgdXBkYXRlIHNlZ21lbnQgbG9naWMKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGluIDEueCBzZXJpZXMgYW55bW9yZQoKMjAxNS0wMi0wMyAxMDo1OToxNiAtMDMwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAZGFya29zcGhlcmUuZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkb24ndCBtYXJrIHN0cmVhbXMgYXMgbmVlZGluZyBhIG5ldyBzZWdtZW50IG9uIGZsdXNoCgkgIFRoZSBmbHVzaCBpcyBjYWxsZWQgb24gZGlzY29udCBhbmQgd2Ugc2hvdWxkbid0IG91dHB1dCBhIG5ldyBzZWdtZW50CgkgIGVhY2ggdGltZSBhIGRpc2NvbnQgaGFwcGVucy4gU28gdGhpcyBjb21taXQgcmVtb3ZlIHRoZSBtYXJrIGZvciBhIG5ldwoJICBzZWdtZW50IHdoZW4gZmx1c2hpbmcgc3RyZWFtcyBieSBwcm9wYWdhdGluZyB0aGUgJ2hhcmQnIGZsYWcgcGFzc2VkCgkgIG9uIHRoZSBmbHVzaW5nIGZyb20gdGhlIGJhc2UgY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNjMKCjIwMTUtMDItMDMgMTc6MzI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBBZGQgc29tZSBhc3NlcnRpb25zIGluc3RlYWQgb2YganVzdCBkZXJlZmVyZW5jaW5nIE5VTEwKCjIwMTUtMDItMDMgMTc6Mjk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBEb24ndCB1bmNvbmRpdGlvbmFsbHkgdXNlIHRoZSBDb3JlTWVkaWEgbWV0YSBvbiBpT1MKCSAgV2UgbWlnaHQgaW5zdGVhZCBoYXZlIGEgQ29yZVZpZGVvIG1ldGEuCgoyMDE1LTAyLTAzIDE0OjU1OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVbmRvIGFjY2lkZW50YWwgY29tbW9uIG1vZHVsZSByZXdpbmQKCSAgaW4gY29tbWl0IDdkNDYzNTc2CgoyMDE1LTAyLTAzIDE1OjM4OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgZnJhbWVzIHdoZW4gZHJhaW5pbmcvZmx1c2hpbmcKCjIwMTUtMDItMDMgMTU6MzA6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiByZW1vdmUgdGhlIGVnbCBjYXBzIGZyb20gdGhlIHNyYyBwYWRzCgkgIHdlIGRvbid0IGFjdHVhbGx5IHN1cHBvcnQgcHJvZHVjaW5nIEVHTEltYWdlIGJ1ZmZlcnMgYW55d2hlcmUuCgoyMDE1LTAyLTAzIDEzOjMyOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBwdXQgR3N0R0xTeW5jTWV0YSBvbiBvdXRwdXQgYnVmZmVycwoJICBhbGxvd3MgdGhyZWFkIHNhZmVseSB1c2luZyB0aGUgcHJvdmlkZWQgb3V0cHV0IGJ1ZmZlciBpbiBhIHNlcGFyYXRlCgkgIHRocmVhZAoKMjAxNS0wMi0wMyAwMDozNToyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBvbmx5IHRyeSB0aGUgZ2xtZW1vcnkgdXBsb2FkIGZvciBzeXNtZW0vZ2xtZW1vcnkgY2FwcyBmZWF0dXJlcwoJICBBbGxvd3Mgc2VsZWN0aW5nL3Rlc3RpbmcgdGhlIHVwbG9hZCBwYXRoIHdpdGggZXhwbGljaXQgY2FwcyBmZWF0dXJlcy4KCjIwMTUtMDItMDMgMDA6MjY6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIG1pc3NpbmcgaW5pdGlsaXNhdGlvbiBvZiB0ZXhfdGFyZ2V0IHdoZW4gY29weWluZwoJICBmaXhlczoKCSAgZ2xjb2xvcnNjYWxlICEgdmlkZW8veC1yYXdcKG1ldGE6R3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhXCkgIQoJICBnbGltYWdlc2luawoKMjAxNS0wMi0wMyAwMDoxNTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBhbGxvdyBOVUxMIGJ1ZmZlciBmb3IgYWNjZXB0IHZmdW5jCgoyMDE1LTAyLTAzIDAwOjEzOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlbW92ZSB1bnNlZCBjb252ZXJ0IGZpZWxkIGluIHByaXZhdGUgc3RydWN0CgoyMDE1LTAyLTAzIDAwOjExOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXBsb2FkL2Rvd25sb2FkL2NvbnZlcnQ6IHByb3ZpZGUgdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb25zCgkgIEFsbG93cyBmaW5lciBncmFpbiBkZWNpc2lvbnMgYWJvdXQgZm9ybWF0cyBhbmQgZmVhdHVyZXMgYXQgZWFjaAoJICBzdGFnZSBvZiB0aGUgcGlwZWxpbmUuCgkgIEFsc28gcHJvdmlkZSBwcm9wb3NlX2FsbG9jYXRpb24gZm9yIGdsdXBsb2FkIGJlc2VkIG9uIHRoZSBzdXBwb3J0ZWQKCSAgbWV0aG9kcy4KCjIwMTUtMDItMDMgMTE6MDc6NTggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29tbW9uOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ3N0Z2x3aW5kb3dfY29jb2E6IGZpeCBzbG93IHJlbmRlciByYXRlCgkgIEluIGdzdF9nbF93aW5kb3dfY29jb2FfZHJhdyB3ZSB1c2VkIHRvIGp1c3QgY2FsbCBzZXROZWVkc0Rpc3BsYXk6WUVTLiBUaGF0IHdhcwoJICBjcmVhdGluZyBhbiBpbXBsaWNpdCBDQSB0cmFuc2FjdGlvbiB3aGljaCB3YXMgZ2V0dGluZyBjb21taXR0ZWQgYXQgdGhlIG5leHQKCSAgcnVubG9vcCBpdGVyYXRpb24uIFNpbmNlIHdlIGRvbid0IGtub3cgaG93IG9mdGVuIHRoZSBtYWluIHJ1bmxvb3AgaXMgcnVubmluZywKCSAgYW5kIHdoZW4gd2UgcnVuIGl0IGltcGxpY2l0bHkgKGZyb20gZ3N0X2dsX3dpbmRvd19jb2NvYV9uc2FwcF9pdGVyYXRpb24pIHdlIG9ubHkKCSAgZG8gc28gZXZlcnkgMjAwbXMsIHVzZSBhbiBleHBsaWNpdCBDQSB0cmFuc2FjdGlvbiBpbnN0ZWFkIGFuZCBjb21taXQgaXQKCSAgaW1tZWRpYXRlbHkuIENBIHRyYW5zYWN0aW9ucyBuZXN0IGFuZCBkZWJvdW5jZSBhdXRvbWF0aWNhbGx5IHNvIHRoaXMgd2lsbCBuZXZlcgoJICByZXN1bHQgaW4gZXh0cmEgd29yay4KCjIwMTUtMDItMDIgMjM6NDA6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSAgZ3N0Z2xjYW9wZW5nbGxheWVyOiB1c2UgdGhlIGNvcnJlY3QgcmVjdGFuZ2xlIHR5cGUgZm9yIGlPUyBhbmQgT1MgWAoKMjAxNS0wMi0wMiAyMTowNzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiB1c2UgdGhlIGNvcnJlY3QgY2FwcyBmZWF0dXJlIGZvciBzdXBwb3J0ZWQgY2FwcwoJICBnbGNvbG9yY29udmVydCBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBjb252ZXJ0aW5nIGJldHdlZW4gR0xNZW1vcnkKCSAgdGFyZ2V0cy4KCjIwMTUtMDItMDIgMjA6NTE6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGRvbid0IHVzZSB0aGUgZ3N0IGRlYnVnIG9iamVjdCB2YXJpYW50cwoJICBXZSBhcmUgbm90IGEgR09iamVjdCBvciBhbnkgaW5mZXJhYmxlIEdzdE1pbmlPYmplY3Qgc3VwcG9ydGVkIGJ5CgkgIHRoZSBnc3QgZGVidWcgc3lzdGVtLiAgQWxzbyBmaXhlcyBhIHNlZ2ZhdWx0LgoKMjAxNS0wMS0zMCAxODo1MToxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbDogdXBkYXRlIHVuaXQgdGVzdCBmb3IgZ2xtZW1vcnkgYXBpIGNoYW5nZQoKMjAxNS0wMS0zMCAxNToxMzoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogY2xvYmJlciB0aGUgYWxwaGEgY2hhbm5lbCBieSBkZWZhdWx0CgkgIHRoaXMgY2FuIGJlIGRpc2FibGVkIHdpdGggdGhlIGlnbm9yZS1hbHBoYSBwcm9wZXJ0eQoKMjAxNS0wMS0zMCAxMjozMjoxNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIFJldmVydCAibGliZ3N0Z2w6IGdzdGdsY2FvcGVuZ2xsYXllcjogc2V0IHRoZSBsYXllciBhcyBvcGFxdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmYxNTJkMzgxY2EyMTU5NWNkYzgyM2YzMjM0MWM4ZjJmZTcxYjljNy4KCSAgVGhlIGxheWVyIHNob3VsZG4ndCBiZSBhbHdheXMgb3BhcXVlLCBpdCBzaG91bGQgYmUgbWFkZSBhIHByb3BlcnR5LgoKMjAxNS0wMS0zMCAxMjoyMjoyNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGxpYmdzdGdsOiBnc3RnbGNhb3BlbmdsbGF5ZXI6IHNldCB0aGUgbGF5ZXIgYXMgb3BhcXVlCgoyMDE1LTAxLTI5IDE2OjMwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBBZGQgRklYTUUgY29tbWVudCBhYm91dCBwb3NzaWJpbGl0eSBvZiBub24tQXBwbGUgWUNiQ3I0MjIgcmVjdGFuZ3VsYXIgdGV4dHVyZXMKCjIwMTUtMDEtMjkgMTY6MjY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IE9ubHkgdXNlIEdMX1RFWFRVUkVfUkVDVEFOR0xFIHdpdGggT3BlbkdMCgkgIEl0J3Mgbm90IGRlZmluZWQgZm9yIEdMRVMuCgoyMDE1LTAxLTMwIDAwOjI4OjE4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogcmV3b3JrIEdMIHRleHR1cmUgc2hhcmluZwoJICBVc2UgWVVWIGluc3RlYWQgb2YgUkdCIHRleHR1cmVzLCB0aGVuIGNvbnZlcnQgdXNpbmcgdGhlIG5ldyBhcHBsZSBzcGVjaWZpYwoJICBzaGFkZXIgaW4gR3N0R0xDb2xvckNvbnZlcnQuIEFsc28gdXNlIEdMTWVtb3J5IGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlCgkgIEdMIHVwbG9hZCBtZXRhLCBhdm9pZGluZyBhbiBleHRyYSB0ZXh0dXJlIGNvcHkgd2UgdXNlZCB0byBoYXZlIGJlZm9yZS4KCjIwMTUtMDEtMjggMDA6NTM6NTkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBDTUJsb2NrQnVmZmVyUmVmIGxlYWsKCSAgRml4IGh1Z2UgbGVhayB0aGF0IHdlbnQgdW5ub3RpY2VkIGZvciB0b28gbG9uZy4gT29wcy4KCjIwMTUtMDEtMjggMDA6NDg6MjcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGxpYmdzdGdsOiBydW4gYSBjdXN0b20gc2hhZGVyIHRvIGNvbnZlcnQgWVVWIHRvIFJHQiBvbiBtYWMgYW5kIGlvcwoJICBXaGVuIEdMX0FQUExFX3ljYmNyXzQyMiBpcyBhdmFpbGFibGUsIHJ1biBhIGN1c3RvbSBzaGFkZXIgdG8gY29udmVydAoJICBHTF9URVhUVVJFX1JFQ1RBTkdMRSB0ZXh0dXJlcyBmcm9tIFlVViB0byBSR0IuCgkgIFNlZSBodHRwczovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5L3NwZWNzL0FQUExFL3ljYmNyXzQyMi50eHQKCjIwMTUtMDEtMjggMDA6NDM6MDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCBjYWxsIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3Mgd2hlbiBkb2luZyB0ZXh0dXJlIHNoYXJpbmcKCSAgV2hlbiBkb2luZyB0ZXh0dXJlIHNoYXJpbmcgd2UgZG9uJ3QgbmVlZCB0byBjYWxsIENWUGl4ZWxCdWZmZXJMb2NrQmFzZUFkZHJlc3MgdG8KCSAgbWFwIHRoZSBidWZmZXIgaW4gQ1BVLiBUaGlzIGN1dHMgYWJvdXQgMTAlIHJlbGF0aXZlIGNwdSB0aW1lIGZyb20gYSB2dGRlYyAhCgkgIGdsaW1hZ2VzaW5rIHBpcGVsaW5lLgoKMjAxNS0wMS0yOCAwMDoxMzo0NiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsOiBpbml0aWFsIHN1cHBvcnQgZm9yIHRleHR1cmUgdGFyZ2V0cyBvdGhlciB0aGFuIEdMX1RFWFRVUkVfMkQKCSAgTWFrZSBHc3RHTE1lbW9yeSBob2xkIHRoZSB0ZXh0dXJlIHRhcmdldCAodGV4X3RhcmdldCkgdGhlIHRleHR1cmUgaXQgcmVwcmVzZW50cwoJICAodGV4X2lkKSBpcyBib3VuZCB0by4gTW9kaWZ5IGdzdF9nbF9tZW1vcnlfd3JhcHBlZF90ZXh0dXJlIGFuZAoJICBnc3RfZ2xfZG93bmxvYWRfcGVyZm9ybV93aXRoX2RhdGEgdG8gdGFrZSB0aGUgdGV4dHVyZSB0YXJnZXQgYXMgYW4gYXJndW1lbnQuCgkgIFRoaXMgY2hhbmdlIGlzIG5lZWRlZCB0byBzdXBwb3J0IHdyYXBwaW5nIHRleHR1cmVzIGNyZWF0ZWQgb3V0c2lkZSBsaWJnc3RnbCwKCSAgd2hpY2ggbWlnaHQgYmUgYm91bmQgdG8gYSB0YXJnZXQgb3RoZXIgdGhhbiBHTF9URVhUVVJFXzJELiBGb3IgZXhhbXBsZSBvbiBPU1gKCSAgdGV4dHVyZXMgY29taW5nIGZyb20gVmlkZW9Ub29sYm94IGhhdmUgdGFyZ2V0IEdMX1RFWFRVUkVfUkVDVEFOR0xFLgoJICBXaXRoIHRoaXMgY2hhbmdlIHdlIHN0aWxsIGtlZXAgKGFuZCBzb21ldGltZXMgaW1wbHkpIEdMX1RFWFRVUkVfMkQgYXMgdGhlCgkgIHRhcmdldCBvZiB0ZXh0dXJlcyBjcmVhdGVkIHdpdGggbGliZ3N0Z2wuCgkgIEFQSTogbW9kaWZ5IEdzdEdMTWVtb3J5CgkgIEFQSTogbW9kaWZ5IGdzdF9nbF9tZW1vcnlfd3JhcHBlZF90ZXh0dXJlCgkgIEFQSTogZ3N0X2dsX2Rvd25sb2FkX3BlcmZvcm1fd2l0aF9kYXRhCgoyMDE1LTAxLTIyIDEzOjE4OjIzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnc3RnbGNvbG9yY29udmVydDogbWljcm8gb3B0aW1pemF0aW9uCgkgIERvbid0IGNhbGwgZ2xDbGVhciAmJiBnbENsZWFyQ29sb3IgYXQgZWFjaCBkcmF3IHNpbmNlIHdlJ3JlIGdvaW5nIHRvIGRyYXcgdGhlCgkgIHdob2xlIHZpZXdwb3J0IGFueXdheS4gR2V0cyByaWQgb2YgYSBnbEZsdXNoIHRyaWdnZXJlZCBieSBnbENsZWFyIG9uIE9TWC4KCjIwMTUtMDEtMjIgMTM6MTc6MTEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb2J1ZmZlcjogbWFrZSBtYXBwaW5nIHRoZSBDVlBpeGVsQnVmZmVyIGluIENQVSBvcHRpb25hbAoJICBNYXBwaW5nIGlzIG5vdCBuZWNlc3NhcnkgYW5kIGltcGFjdHMgcGVyZm9ybWFuY2Ugd2hlbiBkb2luZyB0ZXh0dXJlIHNoYXJpbmcgd2l0aAoJICBkb3duc3RyZWFtCgoyMDE1LTAxLTIyIDEzOjExOjQ2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnc3RnbGNvbG9yY29udmVydDogcmVsYXggY2FwcyBmZWF0dXJlcyBjaGVjawoJICBSZXF1aXJlIGNhcHMgdG8gaGF2ZSB0aGUgR1NUX0NBUFNfRkVBVFVSRV9NRU1PUllfR0xfTUVNT1JZIGZlYXR1cmUgYnV0IGFsbG93CgkgIHRoZW0gdG8gaGF2ZSBtb3JlIGZlYXR1cmVzLgoKMjAxNS0wMS0yOCAxNjo0Mzo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogY2hhbmdlIGF1ZGlvIHByb3BlcnR5IHRvIGF1ZGlvLXR5cGUKCSAgVGhpcyBpcyBub3cgYW4gZW51bSB3aXRoIHZhbHVlcyBnZW5lcmljIChkZWZhdWx0KSBhbmQgdm9pY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA4OTEKCjIwMTUtMDEtMjkgMjM6NDU6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW4zMjogZml4dXAgY29tcGlsYXRpb24KCjIwMTUtMDEtMjkgMTE6NTQ6MzUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgZG91YmxlLXNldHRpbmcgb2YgcmVuZGVyIGZ1bmN0aW9uCgkgIE5vIG5lZWQgdG8gc2V0IHRoZSBhdWRpb3Zpc3VhbGl6ZXItPnJlbmRlciBmdW5jdGlvbiB0d2ljZS4gT25jZSBpcyBlbm91Z2guCgoyMDE1LTAxLTI5IDIyOjI1OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBtYWtlIHNob3dpbmcgYSB3aW5kb3cgZXhwbGljaXQKCSAgQWxzbyBmaXhlcyB0aGUgY2dsIGNvbnRleHQgYWx3YXlzIGRpc3BsYXlpbmcgYSB3aW5kb3cgdG8gcmVuZGVyIHRvIGZvcgoJICBldmVyeSBHc3RHTENvbnRleHRDb2NvYSBjcmVhdGVkCgoyMDE1LTAxLTI2IDE3OjA2OjI5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENsZWFudXAgbG9ja2luZyBhcm91bmQgQWdncmVnYXRvclBhZCBmbHVzaCByZWxhdGVkIGZpZWxkcwoJICBBbmQgZG9jdW1lbnQgdGhlIGxvY2tpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMzoxMTowNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBrZWVwIGNoYWluIGZ1bmN0aW9ucyBhcyBkdW1iIGFzIHBvc3NpYmxlLgoJICArIEEgcGFkIGNoYWluIGZ1bmN0aW9uIGhhcyBubyBidXNpbmVzcyBjaGVja2luZyBvdGhlciBwYWRzLAoJICB0aGF0J3Mgd2hhdCB0aGUgYWdncmVnYXRlIHRocmVhZCBpcyBmb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTE6MzI6NDcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBNb3JlIGZpeGVzIGFyb3VuZCBsb2NraW5nIHdoZW4gYWNjZXNzaW5nIHByb3RlY3RlZCBwcml2YXRlIGZpZWxkcwoJICBJbiBzb21lIG1vcmUgcGxhY2VzIHdlIHdlcmUgYWNjZXNzaW5nIEdzdEFnZ3JlZ2F0b3ItPnNlZ21lbnQKCSAgYW5kIEdzdEFnZ3JlZ2F0b3ItPnNlcW51bSB3aXRob3V0IGhvbGRpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDExOjI5OjA4ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBNYWtlIHRoZSBQQURfTE9DSyBwcml2YXRlCgkgIEluc3RlYWQgb2YgdXNpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSyB3ZSBzaG91bGQgaGF2ZQoJICBhIGRlZGljYXRlZCBtdXRleCBmb3IgdGhlIHBhZCBhcyBpdCBpcyBhbHNvIGFzc29jaWF0ZWQKCSAgd2l0aCB0aGUgbXV0ZXggb24gdGhlIEVWRU5UX01VVEVYIG9uIHdoaWNoIHdlIHdhaXQKCSAgaW4gdGhlIF9jaGFpbiBmdW5jdGlvbiBvZiB0aGUgcGFkLgoJICBUaGUgR3N0QWdncmVnYXRvclBhZC5zZWdtZW50IGlzIHN0aWxsIHByb3RlY3RlZCB3aXRoIHRoZQoJICBHU1RfT0JKRUNUX0xPQ0suCgkgIFJlbW92ZSB0aGUgZ3N0X2FnZ3JlZ2F0b3JfcGFkX3BlYWtfdW5sb2NrZWQgbWV0aG9kIGFzIGl0IGRvZXMgbm90IG1ha2UKCSAgc2Vuc2UgYW55bW9yZSB3aXRoIGEgcHJpdmF0ZSBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDExOjI1OjU0ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBIaWRlIEdzdEFnZ3JlZ2F0b3JQYWQgYnVmZmVyIGFuZCBFT1MgZmlsZWRzCgkgIEFuZCBhZGQgYSBnZXR0ZXIgZm9yIHRoZSBFT1MuCgkgIFRoZSB1c2VyIHNob3VsZCBhbHdheXMgdXNlIHRoZSB2YXJpb3VzIGdldHRlcnMgdG8gYWNjZXNzCgkgIHRob3NlIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjA5OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBNYWtlIGZsdXNoIHN0YXJ0L3N0b3AgdGVzdCBub24tcmFjeQoJICBUaGUgZmx1c2ggc3RvcCBjb3VsZCBoYXZlIGhhcHBlbmVkIGJldHdlZW4gdGhlIHNvdXJjZSB0cnlpbmcKCSAgdG8gcHVzaCB0aGUgc2VnbWVudCBldmVudCBhbmQgdGhlIGJ1ZmZlciwgdGhpcyB3b3VsZCBjYXVzZSBhIHdhcm5pbmcuCgkgIFByZXZlbnQgdGhhdCBieSB0YWtpbmcgdGhlIHNvdXJjZSdzIHN0cmVhbSBsb2NrIHdoaWxlIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIyIDE3OjQxOjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZXBsYWNlIHJhY3kgdGltZW91dCBiYXNlZCB0ZXN0ZWQgd2l0aCBkcmFpbiBxdWVyeQoJICBVc2luZyB0aGUgZHJhaW4gcXVlcnksIHdlIGNhbiBiZSBjZXJ0YWluIHRoYXQgdGhlIGJ1ZmZlciBoYXMgZG9uZSBnb2luZwoJICB0aHJvdWdoIHRoZSBhZ2dyZWdhdG9yIGJ5IHRha2luZyB0aGUgc3RyZWFtIGxvY2tzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQxOjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBsb2NraW5nIG9mIEdzdEFnZ3JlZ2F0b3JQcml2YXRlIG1lbWJlcnMKCSAgTW9zdCBvZiB0aGVtIGFyZSBwcm90ZWN0ZWQgYnkgdGhlIG9iamVjdCBsb2NrLCBzcGVjaWZ5CgkgIHdoaWNoIG9uZXMgdXNlIGEgZGlmZmVyZW50IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGhvdyB0aGUgc2VnbWVudCBpcyBwcm90ZWN0ZWQKCSAgRG9jdW1lbnQgdGhhdCBpdCBjYW4gb25seSBiZSBhY2Nlc3NlZCB3aXRoIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTo0NDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCBhbGwgbGF0ZW5jeSByZWxhdGVkIG1lbWJlcnMgd2l0aCB0aGUgb2JqZWN0IGxvY2sKCSAgVGhlIGxvY2tpbmcgd2FzIG5vdCBjb25zaXN0ZW50LCBub3cgY29uc2lzdGVudGx5IHVzZSB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6NDM6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBsb2NraW5nIGZvciBnc3RfYWdncmVnYXRvcl9nZXRfbGF0ZW5jeV91bmxvY2tlZCgpCgkgIFJlbmFtZWQgaXQgdG8gX3VubG9ja2VkKCkgdG8gbWFrZSBpdCBjbGVhci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTozNToyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCB0aGUgc3JjcGFkIGNhcHMgbmVnb3RpYXRpb24gd2l0aCB0aGUgc3RyZWFtIGxvY2sKCSAgSW5zdGVhZCBvZiBhZGRpbmcgYW5vdGhlciBsb2NrLCB1c2UgdGhlIHNyY3BhZCBzdHJlYW0gbG9jaywgd2hpY2ggaXMgYWxyZWFkeQoJICB0YWtlbiBhbnl3YXkgdG8gcHVzaCBvdXQgdGhlIG5ldyBjYXBzIGlmIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTozMzoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCB0aGUgdGFncyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGUgdGFncyByZWxhdGVkIHZhcmlhYmxlcyB3ZXJlIHNvbWV0aW1lcyBwcm90ZWN0ZWQsIHNvbWV0aW1lcyBub3QgYW5kCgkgIHNvbWV0aW1lcyBhdG9taWMuIFB1dCB0aGVtIGFsbCB1bmRlciB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MzI6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEF2b2lkIHJhY2UgaW4gY2FwcyBuZWdvdGlhdGlvbgoJICBXaXRoIHRoZSBjdXJyZW50IGF1ZGlvbWl4ZXIsIHRoZSBpbnB1dCBjYXBzIG5lZWQgdG8gYmUgdGhlIHNhbWUsCgkgIG90aGVyd2lzZSB0aGVyZSBpcyBhbiB1bmF2b2lkYWJsZSByYWNlIGluIHRoZSBjYXBzIG5lZ290aWF0aW9uLiBTbwoJICBlbmZvcmNlIHRoYXQgdXNpbmcgY2Fwc2ZpbHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo1MzoyMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ29uc2lzdGVubHkgbG9jayB0aGUgZmxvd19yZXR1cm4gc3RhdGUKCSAgVXNlIHRoZSBvYmplY3QncyBsb2NrIHRvIHByb3RlY3QgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDc6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IENsZWFyIEdzdEF1ZGlvSW5mbyB0aGUgdGhlIGNhcHMKCSAgV2hlbiBjbGVhcmluZyB0aGUgY2FwcywgYWxzbyBjbGVhciB0aGUgbWF0Y2hpbmcgR3N0QXVkaW9JbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDU6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENvbnNpc3RlbnRseSBsb2NrIHNvbWUgbWVtYmVycwoJICBTb21lIG1lbWJlcnMgc29tZXRpbWVzIHVzZWQgYXRvbWljIGFjY2Vzcywgc29tZXRpbWVzIHdoZXJlIG5vdCBsb2NrZWQgYXQKCSAgYWxsLiBJbnN0ZWFkIGNvbnNpc3RlbnRseSB1c2UgYSBtdXRleCB0byBwcm90ZWN0IHRoZW0sIGFsc28gZG9jdW1lbnQKCSAgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODozOToyNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9uJ3QgcmVzZXQgY2FwcyBvbiBmbHVzaAoJICBBIGZsdXNoIGV2ZW50IGRvZXNuJ3QgaW52YWxpZGF0ZSB0aGUgcHJldmlvdXMgY2FwcyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0xNCAxNDo0NTowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBMb2NrIGFjY2VzcyB0byBtZW1iZXJzIG9mIEdzdEFnZ3JlZ2F0b3JQYWQKCSAgVGFrZSB0aGUgcGFkJ3Mgb2JqZWN0IGxvY2sgYmVmb3JlIGFjY2Vzc2luZyBtZW1iZXJzIG9mIHRoZQoJICBHc3RBZ2dyZWdhdG9yUGFkIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0xNCAxNDozODowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IGV4cG9ydGVkIHBhZCBtZW1iZXJzIHdpdGggdGhlIHBhZCdzIG9iamVjdCBsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMTQgMTQ6MzU6MTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBSZXBsYWNlIGV2ZW50IGxvY2sgd2l0aCBwYWQncyBvYmplY3QgbG9jawoJICBSZWR1Y2UgdGhlIG51bWJlciBvZiBsb2NrcyBzaW1wbGlmeSBjb2RlLCB3aGF0IGlzIHByb3RlY3RzCgkgIGlzIGV4cG9zZWQsIGJ1dCB0aGUgbG9jayB3YXMgbm90LgoJICBBbHNvIG1lYW5zIGFkZGluZyBhbiBfdW5sb2NrZWQgdmVyc2lvbiBvZiBnc3RfYWdncmVnYXRvcl9wYWRfc3RlYWxfYnVmZmVyKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMDkgMjI6MDE6MDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgZGF0YSB3aXRoIHRoZSBzYW1lIG11dGV4IGFzIEdDb25kCgkgIFdoZW5ldmVyIGEgR0NvbmQgaXMgdXNlZCwgdGhlIHNhZmVzdCBwYXJhZGlnbSBpcyB0byBwcm90ZWN0CgkgIHRoZSB2YXJpYWJsZSB3aGljaCBjaGFuZ2UgaXMgc2lnbmFsbGVkIGJ5IHRoZSBHQ29uZCB3aXRoIHRoZSBzYW1lCgkgIG11dGV4IHRoYXQgdGhlIEdDb25kIGRlcGVuZHMgb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjkgMDI6Mjg6MzggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBJZiBnZXR0aW5nIGEgdGltZW91dCBiZWZvcmUgaGF2aW5nIGNhcHMsIGp1c3QgYWR2YW5jZSBvdXIgcG9zaXRpb24KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoaXMgaXMgYSBsaXZlIHBpcGVsaW5lIGFuZCBubyBzb3VyY2UgcHJvZHVjZWQgYW55IGJ1ZmZlcgoJICBhbmQgc2VudCBubyBjYXBzIHVudGlsIGFuIG91dHB1dCBidWZmZXIgc2hvdWxkJ3ZlIGJlZW4gcHJvZHVjZWQgYWNjb3JkaW5nIHRvIHRoZQoJICBsYXRlbmN5LgoJICBUaGlzIGZpeCBpcyBzaW1pbGFyIGluIHNwaXJpdCB0byBjb21taXQgYmU3MDM0ZDEgYnkgU2ViYXN0aWFuIGZvciBhdWRpb21peGVyLgoKMjAxNS0wMS0yOSAxNzozMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jYWxheWVyOiBhZGQgcmVzaXplIGNhbGxiYWNrIGJhc2VkIG9uIHRoZSBib3VuZHMgcmVjdGFuZ2xlCgoyMDE1LTAxLTI5IDE1OjI2OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXI6IGRyYXcgYXN5bmNocm9ub3VzbHkKCSAgVGhpcyBlc3NlbnRpYWxseSBtYWtlcyB0aGUgQ0FPcGVuR0xMYXllciBkcmF3IGV2ZXJ5IHJlZnJlc2ggY3ljbGUuCgoyMDE1LTAxLTI4IDE3OjU5OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGRvbid0IHNlZ2ZhdWx0IGlmIHdlIGhhdmUgYSBOVUxMIGRyYXcvcmVzaXplL2Nsb3NlIGNhbGxiYWNrCgoyMDE1LTAxLTI4IDE3OjE2OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGNnbC9jYWxheWVyOiB1c2UgYSBjYWxsYmFjayBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdGhlIGRyYXcgZnVuY3Rpb25hbGl0eQoKMjAxNS0wMS0yOCAxNzoxMzowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBjZ2w6IGluc3RhbGwgdGhlIGdsIGNvbnRleHQgYW5kIGdsIGxheWVyIGhlYWRlcnMKCjIwMTUtMDEtMjggMTc6MDU6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBjZ2w6IGFkZCBhIGhlYWRlciBmb3IgdGhlIENBT3BlbkdMTGF5ZXIgc3VwcG9ydAoKMjAxNS0wMS0yOCAxNzowMjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBbHdheXMgbG9jayB0aGUgbXV0ZXggYmVmb3JlIHN0YXJ0aW5nIHRoZSBzdHJlYW1zCgoyMDE1LTAxLTI4IDE2OjU4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEZpeCBkZWFkbG9jawoKMjAxNS0wMS0yOCAxNTo0ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNpbms6IE9ubHkgc3RhcnQgc2NoZWR1bGVkIHBsYXliYWNrIG9uY2UgYm90aCBzb3VyY2VzIGFyZSByZWFkeSBhbmQgd2UgYXJlIGluIFBMQVlJTkcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHN0YXJ0IHRoZSBzY2hlZHVsZWQgcGxheWJhY2sgYmVmb3JlIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW1zIGFyZQoJICBhY3R1YWxseSBlbmFibGVkLCBhbmQgdGhlbiBlcnJvciBvdXQgbGF0ZXIgYmVjYXVzZSB0aGV5IGFyZSBlbmFibGVkIHRvIGxhdGUuCgkgIFdlIGVuYWJsZSB0aGUgc3RyZWFtcyB3aGVuIGdldHRpbmcgdGhlIGNhcHMsIHdoaWNoIG1pZ2h0IGJlICphZnRlciogd2Ugd2VyZQoJICBzZXQgdG8gUExBWUlORyBzdGF0ZS4KCjIwMTUtMDEtMjggMTU6MjY6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogT25seSBzdGFydCB0aGUgc3RyZWFtcyBvbmNlIGJvdGggc291cmNlcyBhcmUgcmVhZHkgYW5kIHdlIGFyZSBpbiBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzdGFydCB0aGUgc3RyZWFtcyBiZWZvcmUgdGhlIGF1ZGlvIG9yIHZpZGVvIHN0cmVhbXMgYXJlCgkgIGFjdHVhbGx5IGVuYWJsZWQsIGFuZCB0aGVuIGVycm9yIG91dCBsYXRlciBiZWNhdXNlIHRoZXkgYXJlIGVuYWJsZWQgdG8gbGF0ZS4KCSAgV2UgZW5hYmxlIHRoZSBzdHJlYW1zIHdoZW4gZ2V0dGluZyB0aGUgY2Fwcywgd2hpY2ggbWlnaHQgYmUgKmFmdGVyKiB3ZSB3ZXJlCgkgIHNldCB0byBQTEFZSU5HIHN0YXRlLgoKMjAxNS0wMS0yOCAxNDoyMTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IE1ha2Ugc3VyZSBvdXIgY2xvY2sgbmV2ZXIgcmV0dXJucyBOT05FLCBhbHdheXMgYWR2YW5jZXMgYW5kIGRvZXMgbm90IGp1bXAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBQTEFZSU5HCgkgIEl0IGJhc2ljYWxseSBiZWhhdmVzIHRoZSBzYW1lIGFzIHRoZSBhdWRpbyBjbG9ja3MuCgoyMDE1LTAxLTI4IDEyOjIwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEhhbmRsZSB0aGUgY2xvY2sgcmV0dXJuaW5nIEdTVF9DTE9DS19USU1FX05PTkUgcHJvcGVybHkKCjIwMTUtMDEtMjggMTE6NDE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW97c2luayxzcmN9OiBNYWtlIGVsZW1lbnRzIG1vcmUgc2ltaWxhciB0byB0aGUgYXVkaW8gZWxlbWVudHMgYnkgZW5hYmxpbmcgdGhlIHZpZGVvIGlucHV0L291dHB1dCBvbmx5IHdoZW4gZ2V0dGluZyB0aGUgYWN0dWFsIGNhcHMKCSAgVGhpcyB3aWxsIGFsc28gbWFrZSBpdCBlYXNpZXIgbGF0ZXIgdG8gc3VwcG9ydCBjYXBzIGNoYW5nZXMgYW5kIHN1cHBvcnQKCSAgc2VsZWN0aW5nIHRoZSBtb2RlIGJhc2VkIG9uIHRoZSBjYXBzIGlmIHRoYXQgc2hvdWxkIGV2ZXIgYmUgaW1wbGVtZW50ZWQuCgoyMDE1LTAxLTI2IDE5OjAyOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBQcm9wZXJseSByZXBvcnQgY2FwcyBpZiBtb2RlIT1hdXRvIGFuZCBoYW5kbGUgY2FwcyBjaGFuZ2VzIHByb3Blcmx5IGZvciBtb2RlPWF1dG8KCjIwMTUtMDEtMjYgMTg6Mjc6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IHJlbGVhc2UgaW5wdXQgZGV2aWNlIHR3aWNlIG9uIGVycm9ycyBpbiBzZXRfY2FwcygpCgoyMDE1LTAxLTI3IDExOjI1OjUzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogZml4IGJ1aWxkCgkgIENvbW1pdCBhYjQ4YmI2ZjBmNTUwOTE2NjJlNTk1YTAwMWUxNzgxNTRjZTYwY2RiIGNoYW5nZWQgdGhlIEFQSSBvZgoJICBHc3RHTFdpbmRvdy4KCjIwMTUtMDEtMjcgMTQ6NTI6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogbW9yZSBjb21wYXRpYmlsaXR5IGRlZmluZXMgZm9yIGdsZXMyIHN5c3RlbXMKCjIwMTUtMDEtMjcgMTI6MTU6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IGFkZCBzb21lIHRocmVhZCBzYWZldHkgZm9yIGdsIG9wZXJhdGlvbnMKCjIwMTUtMDEtMjcgMTE6NTM6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IHVzZSBwYm8ncyBmb3IgZG93bmxvYWQKCSAgSW4gb3JkZXIgdG8gdXNlIHBibydzIGVmZmljaWVudGx5LCB0aGUgdHJhbnNmZXIgb3BlcmF0aW9uIGhhcyB0bwoJICBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgdXNlIG9mIHRoZSBkb3dubG9hZGVkIGRhdGEgd2hpY2ggcmVxdWlyZXMgc29tZQoJICByZWFyY2hpdGVjdHVyaW5nIGFyb3VuZCBnbGNvbG9yY29udmVydC9nbGRvd25sb2FkIGFuZCBlbGVtZW50cwoKMjAxNS0wMS0yNyAxMTowNDowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkgIGdscHJvdG90eXBlczogYWRkIHNvbWUgKHVuKW1hcCBidWZmZXIgdmFyaWFudHMgZm9yIEdML0dMRVMKCjIwMTUtMDEtMjYgMTc6NTE6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB1c2UgYXVkaW9fJTAydSBhbmQgdmlkZW9fJTAydSBuYW1lcyBmb3IgcGFkcwoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IGdob3N0cGFkJXUgbmFtaW5nLiBUaGUgYXVkaW9fL3ZpZGVvXwoJICBuYW1lcyBhcmUgbW9yZSBjb21tb24gaW4gZGVtdXhlcnMKCjIwMTUtMDEtMjYgMTU6MzM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IFJlbGVhc2UgdGhlIGF1ZGlvIGlucHV0IG9uIGVycm9ycywgbm90IHRoZSB2aWRlbyBpbnB1dAoKMjAxNS0wMS0yNiAxMzo0Njo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZQoJICBUaGUgYnBzIHZhcmlhYmxlIGlzIGRlY2xhcmVkIHdpdGggdmFsdWUgYWlmZi0+YnBzLCByZWFkIG9uY2UgYW5kIG5ldmVyIHdyaXR0ZW4uCgkgIGFpZmYtPmJwcyBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbnN0ZWFkLgoKMjAxNS0wMS0yNiAxMjo0OTo0NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCB3aGljaCBzdG9wIHZhcmlhYmxlIGlzIHVzZWQgaW4gYXNzaWdubWVudAoJICBBc3NpZ25tZW50IGlzIGRvbmUgdG8gdmFyaWFibGUgc2VnbWVudC5zdG9wIHdoZW4gdGhlIGludGVudGlvbiB3YXMgdG8gYXNzaWduIHRvCgkgIGxvY2FsIHZhcmlhYmxlIHN0b3AuIEluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgaXQsIHRoZSB2YWx1ZSBpcyBub3cgY2xhbXBlZCBhbmQKCSAgc2VnbWVudC5zdG9wIGlzIHNldCB0byBpdCBzb29uIGFmdGVyLgoJICBDSUQgIzEyNjU3NzIKCjIwMTUtMDEtMjYgMDk6MjI6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNyYXNoIHdoZW4gcmVjZWl2aW5nIGJ1ZmZlciB3aXRob3V0IHRpbWVzdGFtcHMKCSAgVW5zZXQgb3V0IGJ1ZmZlciBpbiBjbGlwIGZ1bmN0aW9uIHdoZW4gd2UgdW5yZWYgdGhlIGJ1ZmZlciB0byBiZQoJICBjbGlwcGVkLCBvdGhlcndpc2UgYWdncmVnYXRvciB3aWxsIGNvbnRpbnVlIHRvIHVzZSB0aGUgYWxyZWFkeS0KCSAgZnJlZWQgYnVmZmVyLiBGaXhlcyBjcmFzaCB3aGVuIGJ1ZmZlcnMgd2l0aG91dCB0aW1lc3RhbXBzIGFyZQoJICBiZWluZyBmZWQgdG8gYWdncmVnYXRvci4gUGFydGx5IGJlY2F1c2UgYWdncmVnYXRvciBpZ25vcmVzIHRoZQoJICBlcnJvciBmbG93IHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzMzNAoKMjAxNS0wMS0xOCAxODowNTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgUmVtb3ZlIHVucG9ydGVkIGRpcmVjdGRyYXcgcGx1Z2luCgkgIFRoaXMgQVBJIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGV0ZXJuaXRpZXMgYW5kIG1pY3Jvc29mdAoJICBzdG9wcGVkIHNoaXBwaW5nIHRoZSBoZWFkZXJzIGluIDIwMTAgYWNjb2RpbmcgdG8gd2lraXBlZGlhLAoJICBzbyBsZXQncyBqdXN0IHJlbW92ZSBpdCBhbmQgZm9jdXMgb24gYnJpbmdpbmcgdGhlIHBsdWdpbnMKCSAgYmFzZWQgb24gdGhlIG5ld2VyIEFQSXMgdXAgdG8gc251ZmYuCgoyMDE0LTAzLTI2IDE3OjQzOjMzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiB3cml0ZSBwYWRkaW5nIGJ5dGUgYXQgZW5kIG9mIFNTTkQgY2h1bmsgaWYgbmVlZGVkCgkgIEFJRkYgY2h1bmtzIGFyZSBzdXBwb3NlZCB0byBiZSBldmVuIGFsaWduZWQuCgkgIEFsaWduaW5nIHRoZSBTU05EIGNodW5rIHdpbGwgYWxsb3cgdGhlIGFpZmYgbXV4ZXIgdG8gcHJvcGVybHkgd3JpdGUKCSAgY2h1bmtzIChsaWtlIHRoZSBJRDMgb25lKSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAyCgoyMDE1LTAxLTIzIDEyOjQ0OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZyZWUgbGVha2VkIEdzdFN0cnVjdHVyZQoJICBDb3Zlcml0eSBDSUQgOiAxMjU2NTY1CgoyMDE1LTAxLTIzIDEyOjQxOjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IEVuc3VyZSB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCBiZWZvcmUgdXNhZ2UKCSAgQ292ZXJpdHkgQ0lEOiAxMjU2NTY5CgoyMDE1LTAxLTIzIDEyOjI2OjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuYzoKCSAgY29kZWNwYXJzZXJzOiBJbmRlbnQgZmlsZQoJICBTb21lb25lJ3MgYmVlbiBjb21taXRpbmcgd2l0aG91dCB1c2luZyBnc3QtaW5kZW50IDopCgoyMDE1LTAxLTIzIDEyOjI0OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIFJFQURfVUVfTUFYIG1hY3JvCgkgIFJFQURfVUVfQUxMT1dFRCB3YXMgYWxtb3N0IGV4Y2x1c2l2ZWx5IHVzZWQgd2l0aCBtaW4gPT0gMCwgd2hpY2ggZG9lc24ndAoJICBtYWtlIG11Y2ggcG9pbnQgZm9yIHVuc2lnbmVkIGludGVnZXJzLgoJICBBZGQgYSBSRUFEX1VFX01BWCB2YXJpYW50IGFuZCB1c2UgdGhhdCBpbnN0ZWFkLiBBbHNvIHJlcGxhY2VkIHR3byB1c2FnZXMKCSAgb2YgQ0hFQ0tfQUxMT1dFRCAoYSwwLHNvbWV0aGluZykgYnkgQ0hFQ0tfQUxMT1dFRF9NQVggKGEsIHNvbWV0aGluZykKCjIwMTUtMDEtMjMgMTI6Mjg6NDIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IEdBUCBmbGFnIHNldHRpbmcgb24gbm9uLWJsYWNrIGZyYW1lcwoJICBUaGUgcHJldmlvdXMgY29tbWl0IGZpeGVkIHNldHRpbmcgdGhlIEdBUCBmbGFnIG9uIGJsYWNrIGZyYW1lcywgYnV0CgkgIGluY29ycmVjdGx5IGRyb3BwZWQgdGhlIGZsYWcgb24gcmVwZWF0ZWQgcHVzaGVzIG9mIHRoZSBzYW1lIHZpZGVvCgkgIGJ1ZmZlci4KCjIwMTUtMDEtMjMgMTc6Mjc6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBnbHdpbmRvdyBhcGkgY2hhbmdlCgoyMDE1LTAxLTIzIDE2OjUyOjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL3dpbmRvdy9lYWdsOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MKCjIwMTUtMDEtMjMgMTY6Mzk6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogY2xlYW51cC9yZW9yZ2FuaXplIGZ1bmN0aW9ucy9tZW1iZXJzIGludG8gbG9naWNhbCBncm91cHMKCjIwMTUtMDEtMjMgMTU6MDI6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZm9yIGdzdGdsIGNvY29hIC0+IGNnbCBjaGFuZ2UKCjIwMTUtMDEtMjMgMTQ6MTg6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvY29jb2FfdXRpbHMubW06CgkgIGdsL3F0L2V4YW1wbGVzOiB1cGRhdGUgZm9yIE5TT3BlbkdMIC0+IENHTCBjaGFuZ2UKCjIwMTUtMDEtMjMgMTQ6MTE6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IHJlbW92ZSB3aWR0aC9oZWlnaHQgZnJvbSBfZHJhdygpCgkgIERlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0sIGl0IHdhcyBvbmx5IGV2ZXIgaW1wbGVtZW50ZWQgdG8gMSkgc2V0IGEKCSAgZGVmYXVsdCBzdXJmYWNlIHNpemUsIDIpIHJlc2l6ZSBiYXNlZCBvbiB0aGUgdmlkZW8gZnJhbWUgb3IgMykgbm90aGluZy4KCSAgSW5zdGVhZCwgcHJvdmlkZSBhIHNldF9wcmVmZXJyZWRfc2l6ZSAoKSB0aGF0IGVsZW1lbnRzL2FwcGxpY2F0aW9ucwoJICBjYW4gdXNlIHRvIHJlcXVlc3QgYSBjZXJ0YWluIHNpemUgd2hpY2ggbWF5IGJlIGlnbm9yZWQgZm9yCgkgIHZpZGVvb3ZlcmxheS9vdGhlciBjYXNlcy4KCjIwMTUtMDEtMjIgMjE6NDM6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb250ZXh0L2NvY29hOiBhdm9pZCBkZXN0cm95aW5nIGEgcG9zc2libHkgMCBHU291cmNlIGlkCgoyMDE1LTAxLTIwIDIyOjAxOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbW92ZSB0byBDR0wgYW5kIENBT3BlbkdMTGF5ZXIgZm9yIHJlbmRlcmluZwoJICBSZW1vdmVzIHRoZSB1c2Ugb2YgTlNPcGVuR0wqIHZhcmlldHkgYW5kIGZ1bmN0aW9ucy4gIEFueSBDb2NvYQoJICBzcGVjaWZpYyBmdW5jdGlvbnMgdGhhdCB0b29rL3JldHVybmVkIGEgTlNPcGVuR0wqIG9iamVjdCBub3cKCSAgdGFrZS9yZXR1cm4gdGhlIENHTCBlcXVpdmFsZW50cy4KCjIwMTUtMDEtMjIgMTY6MDg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb250ZXh0L2NvY29hOiBhZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTUtMDEtMjIgMTA6NTA6MjMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IEdBUCBmbGFnIHNldHRpbmcgb24gYmxhY2sgZnJhbWVzIGNvcnJlY3RseQoJICBUaGlzIGRpZCBub3QgYWN0dWFsbHkgd29yayBzaW5jZSB0aGUgdmlkZW9fYnVmZmVyIHdhcyBzZXQgdG8gTlVMTCBhZnRlcgoJICB0aGUgZmlyc3QgYmxhY2sgZnJhbWUuCgkgIFJlcG9ydGVkIGJ5OiBQYXRyaWsgT2xkc2JlcmcgPHBhdHJpay5vbGRzYmVyZ0Blcmljc3Nvbi5jb20+CgoyMDE1LTAxLTIxIDIzOjM3OjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBtYXggdmFsdWUgb2YgdGhlIHRpbWVvdXQgcHJvcGVydHkKCSAgUmVwb3J0ZWQgYnk6IFBhdHJpayBPbGRzYmVyZyA8cGF0cmlrLm9sZHNiZXJnQGVyaWNzc29uLmNvbT4KCjIwMTUtMDEtMjEgMjM6MzU6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IEltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZQoJICBXaWxsIGJlIHVzZWZ1bCB3aGVuIHdlIHdhbnQgdG8gc2V0IHByZXNldHMgb24gdGhlIGVuY29kZXIgdmlhIGVuY29kZWJpbgoJICBvciBzdWNoLgoKMjAxNS0wMS0yMSAxNTozMToyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN5bmMgd2l0aCBiYXNlIGNsYXNzIGluIC1iYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDEtMjEgMTU6MDY6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBlbnN1cmUgZGVmYXVsdCBxdWVyeS9ldmVudCBoYW5kbGVycyBhcmUgdXNlZAoJICBTeW5jIGF1ZGlvdmlzdWFsaXplciBjbGFzcyBpbXBsZW1lbnRhdGlvbiB0byB0aGUgb25lIGluIGdzdC1wbHVnaW5zLWJhc2UuIFRoaXMKCSAgY29tbWl0IG1hdGNoZXMgOWRkMGU2Y2NjYzk3MWQ4YTZiY2NhNGU5ZTRkMmVlMWRiYjIwZmZmYSBpbiB0aGF0IG1vZHVsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wMS0yMSAxMDoxODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkgIHNpcmVuOiBNYWtlIHNvbWUgbG9jYWwgdmFyaWFibGVzIG5vbi1zdGF0aWMgZm9yIHRocmVhZC1zYWZldHkKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgb3ZlcnJpZGUgdmFsdWVzIGZyb20gYW5vdGhlciB0aHJlYWQgaWYgd2UgZW5jb2RlCgkgIG9yIGRlY29kZSBmcmFtZXMgYXQgdGhlIHNhbWUgdGltZSBpbiBkaWZmZXJlbnQgdGhyZWFkcy4KCjIwMTUtMDEtMjEgMTA6MTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnMyYi9nc3RiczJiLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgQ29uc3RpZnkgc29tZSBzdGF0aWMgYXJyYXlzIGV2ZXJ5d2hlcmUKCjIwMTUtMDEtMjEgMDg6NDk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IEZpeCBsaXN0IG9mIGZpbGVzIHRyYWNrZWQKCSAgc2ZzaW5rL3Nmc3JjIGhhdmVuJ3QgYmVlbiBwb3J0ZWQgKGFuZCB0aGVyZWZvcmUgZGlzdCdlZCkgaW4gMS54CgoyMDE0LTEyLTA5IDA5OjU4OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBtaW5vciBkZWJ1ZyB1cGRhdGUKCSAgT25seSBzaG93IFBUUy9EVFMgd2hlbiB0aGV5IGFyZSB2YWxpZCwgYW5kIGluY2x1ZGUgdGhlIHN0cmVhbSBpZAoKMjAxNS0wMS0yMCAxNDo1NTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3Qgc2tpcCB0aGUgZmlyc3QgZnJhZ21lbnQKCSAgQXZvaWQgYWR2YW5jaW5nIGZyYWdtZW50IHJpZ2h0IGFmdGVyIGRvd25sb2FkaW5nIHRoZSBoZWFkZXIuIElmIGl0CgkgIGlzIHRoZSBoZWFkZXIsIGJ5IGRlZmF1bHQsIGRvbid0IGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQuCgoyMDE1LTAxLTIwIDE2OjU3OjE1ICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMyNTEKCjIwMTUtMDEtMTYgMTk6MzI6MTUgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2Ugc3RlcmVvLWhpZ2ggcHJvZmlsZQoJICBFeHBvc2luZyBzdGVyZW8taGlnaCBwcm9maWxlIGFzIGEgY29tcGF0aWJsZSBwcm9maWxlIG9mIG11bHRpdmlldy1oaWdoCgkgIGlmIHRoZSBtYXhpbXVtIG51bWJlciBvZiBlbmNvZGVkIHZpZXdzIGluIHRoZSBzdHJlYW0gaXMgdHdvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTc0CgoyMDE1LTAxLTE5IDE3OjMxOjI2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGFyc2UgU1BTIHN1YnNldAoJICBUaGlzIHBhdGNoIGNhbGxzIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zdWJzZXRfc3BzKCkgd2hlbiBhCgkgIFNQUyBzdWJzZXQgTkFMIHR5cGUgaXMgZm91bmQuCgkgIEFsbCB0aGUgYml0cyByZXF1aXJlZCBmb3IgcGFyc2luZyB0aGUgU1BTIHN1YnNldCBpbiBOQUxzIHdlcmUKCSAgYWxyZWFkeSB0aGVyZSwganVzdCB3ZSBuZWVkIHRvIGNhbGwgdGhlbSB3aGVuIHRoZSB0aGlzIE5BTCB0eXBlCgkgIGlzIGZvdW5kLgoJICBXaXRoIHRoaXMgcGFyc2luZywgdGhlIG51bWJlciBvZiB2aWV3cyAobWludXMgMSkgYXR0cmlidXRlIGlzCgkgIGZpbGxlZCwgd2hpY2ggd2FzIGEgcmVxdWlyZW1lbnQgZm9yIG5lZ290aWF0aW5nIHRoZSBzdGVyZW8taGlnaAoJICBwcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTc0CgoyMDEzLTAzLTE5IDE0OjIzOjAwICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE1WQyBOQUwgdW5pdHMuCgkgIEluaXRpYWwgc3VwcG9ydCBmb3IgTVZDIE5BTCB1bml0cy4gSXQgaXMgb25seSBuZWVkZWQgdG8gcHJvcGFnYXRlIHRoZQoJICBjb21wbGV0ZSBzZXQgb2YgTkFMIHVuaXRzIGRvd25zdHJlYW0gYXQgdGhpcyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MTM1CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNS0wMS0yMCAwOToyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgZXhwbGljaXQgY2FzdCB0byBtYWtlIGNsYW5nIGhhcHB5CgkgIEZpeGVzIGNvbXBpbGF0aW9uCgoyMDE1LTAxLTE1IDE3OjQ0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmVmYWN0b3IgY2h1bmsgZG93bmxvYWRpbmcgZmxvdwoJICBBZGQgbW9yZSBwb3dlciB0byB0aGUgY2h1bmtfcmVjZWl2ZWQgZnVuY3Rpb24gKHJlbmFtZWQgdG8gZGF0YV9yZWNlaXZlZCkKCSAgYW5kIGFsc28gdG8gdGhlIGZyYWdtZW50X2ZpbmlzaCBmdW5jdGlvbi4KCSAgVGhlIGRhdGFfcmVjZWl2ZWQgZnVuY3Rpb24gbXVzdCBwYXJzZS9kZWNyeXB0IHRoZSBkYXRhIGlmIG5lY2Vzc2FyeSBhbmQKCSAgYWxzbyBwdXNoIGl0IHVzaW5nIHRoZSBuZXcgcHVzaF9idWZmZXIgZnVuY3Rpb24gdGhhdCBpcyBleHBvc2VkIG5vdy4gVGhlCgkgIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZ2V0cyBkYXRhIGZyb20gdGhlIHN0cmVhbSBhZGFwdGVyIChhbGwgYXZhaWxhYmxlKQoJICBhbmQgcHVzaGVzIGl0LgoJICBUaGUgZnJhZ21lbnRfZmluaXNoIGZ1bmN0aW9uIG11c3QgYWxzbyBhZHZhbmNlIHRoZSBmcmFnbWVudC4gVGhlIGRlZmF1bHQKCSAgaW1wbGVtZW50YXRpb24gb25seSBhZHZhbmNlcyB0aGUgZnJhZ21lbnQuCgkgIFRoaXMgYWxsb3dzIHRoZSBzdWJzZWdtZW50IGhhbmRsaW5nIGluIGRhc2hkZW11eCB0byBjb250aW51b3VzbHkgZG93bmxvYWQKCSAgdGhlIHNhbWUgZmlsZSBmcm9tIHRoZSBzZXJ2ZXIgaW5zdGVhZCBvZiBzdG9wcGluZyBhdCBldmVyeSBzdWJzZWdtZW50CgkgIGJvdW5kYXJ5IGFuZCBzdGFydGluZyBhIG5ldyByZXF1ZXN0CgoyMDE1LTAxLTE5IDEyOjM3OjIzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kLmM6CgkgIGNvbXBvc2l0b3I6IGZpeCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gYmxlbmQgZnVuY3Rpb24gd2l0aCBuZWdhdGl2ZSB5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMTUKCjIwMTUtMDEtMTkgMDg6Mzc6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBsb2cgbWVzc2FnZSBhYm91dCBzZWdtZW50IHRpbWUgaW5mb3JtYXRpb24KCSAgRm9yIGRlYnVnZ2luZyBwdXJwb3NlcwoKMjAxNS0wMS0xOSAwODozNjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggbXVsdGktcGVyaW9kIHBsYXliYWNrCgkgIElmIHdlIHNheSBpdCBpcyB0aGUgZmlyc3Qgc2VnbWVudCBhZnRlciBhIG5ldyBwZXJpb2QgaXQgd2lsbCByZXN5bmMKCSAgdGhlIHNlZ21lbnQuc3RhcnQgdmFsdWUgYW5kIGFsbCBidWZmZXJzIHdpbGwgYmUgbGF0ZSBmb3IgdGhlIG5ldyBwZXJpb2QKCSAgd2UgYXJlIHRyeWluZyB0byBwbGF5LiBPdGhlcndpc2Ugd2Ugd2FudCB0byBrZWVwIHRoZSBzZWdtZW50LnN0YXJ0IHdpdGgKCSAgdGhlIHByZXZpb3VzIHZhbHVlIHRvIGFsbG93IHRoZSBydW5uaW5nIHRpbWUgdG8gc21vb3RobHkgaW5jcmVhc2UKCjIwMTUtMDEtMTkgMTE6MjM6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZyB3aXRoIGNsYW5nCgkgIGdzdGRhc2hkZW11eC5jOjEzMzA6MTM6IGVycm9yOiBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnZW51bSBfR3N0QWRhcHRpdmVEZW11eEZsb3dSZXR1cm4nIHRvIGRpZmZlcmVudCBlbnVtZXJhdGlvbiB0eXBlCgkgICdHc3RGbG93UmV0dXJuJyBbLVdlcnJvciwtV2VudW0tY29udmVyc2lvbl0KCSAgcmV0ID0gR1NUX0FEQVBUSVZFX0RFTVVYX0ZMT1dfU1VCU0VHTUVOVF9FTkQ7CgkgIH4gXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCjIwMTUtMDEtMTggMjE6MDU6NDQgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggbWVtbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMTQyCgoyMDE1LTAxLTE4IDE3OjI1OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgUmVtb3ZlIHJlYWwgcGx1Z2luIHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQgYW5kIGhhcyBuZXZlciBiZWVuIHBvcnRlZAoJICBEZWNvZGVycyBmb3IgdGhlc2UgZm9ybWF0cyBleGlzdCBpbiBnc3QtbGliYXYsIGlmIGFueW9uZQoJICBzdGlsbCBoYXMgYSBuZWVkIGZvciB0aGVtLgoKMjAxNS0wMS0xOCAxNzoxMDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIGxpYmdteXRoLWJhc2VkIE15dGhUViBzb3VyY2UgZWxlbWVudCB3aGljaCB3YXMgbmV2ZXIgcG9ydGVkCgkgIGdteXRoIHNlZW1zIHRvIGJlIHVubWFpbnRhaW5lZCB1cHN0cmVhbSwgYW5kIG5vIG9uZSBoYXMgYXNrZWQKCSAgZm9yIHRoaXMgdG8gYmUgcG9ydGVkIGZvciBhIHZlcnkgbG9uZyB0aW1lLCBzbyBsZXQncyBqdXN0CgkgIHJlbW92ZSBpdC4gTmVpdGhlciBkZWJpYW4gbm9yIEZlZG9yYSBzZWVtIHRvIHNoaXAgbGliZ215dGgKCSAgYW55IGxvbmdlciwgYW5kIGluIGFueSBjYXNlIGl0J3MgbW9zdCBsaWtlbHkgZGVwcmVjYXRlZCBieQoJICB0aGUgVVBuUCBzdXBwb3J0IGluIE15dGhUVi4KCjIwMTUtMDEtMTcgMTA6MDY6NDAgKzExMDAgIExhc3NlIExhdXJzZW4gPGxhc3NlQGxhc3NlbGF1cnNlbi5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2xhcGk6IGZpeCBjb21waWxhdGlvbiB3aXRoIGxhdGVzdCBNU1ZDCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwNDEKCjIwMTUtMDEtMTUgMTI6NTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdXNlIHRoZSBjb3JyZWN0IHNpemUgZm9yIHRoZSBwYm8KCSAgSXQgd2FzIG1pc3NpbmcgdGhlIEdzdFZpZGVvQWxpZ25tZW50IHBhZGRpbmcgd2hpY2ggY291bGQgY2F1c2UgR0wKCSAgZXJyb3JzIHJlbGF0ZWQgdG8gb3ZlcnJ1bm5pbmcgdGhlIHNpemUgb2YgdGhlIHBiby4KCjIwMTUtMDEtMTYgMTY6MTg6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcHJldmVudCBlYXJseSBFT1Mgd2hlbiBzd2l0Y2hpbmcgYXQgbGFzdCBmcmFnbWVudAoJICBDaGVjayBpZiB0aGVyZSBpcyBhIG5leHQgZnJhZ21lbnQgYmVmb3JlIGFkdmFuY2luZyB0byBhdm9pZCBjYXVzaW5nCgkgIGEgYml0cmF0ZSBzd2l0Y2ggKGFuZCBtYXliZSBleHBvc2luZyBuZXcgcGFkcykgb25seSB0byBwdXNoIEVPUy4KCSAgVGhpcyBjYXVzZXMgcGxheWJhY2sgdG8gc3RvcCB3aXRoIGFuIGVycm9yIGluc3RlYWQgb2YgcHJvcGVybHkKCSAgZmluaXNoaW5nIHdpdGggRU9TIG1lc3NhZ2UuCgoyMDE1LTAxLTEzIDE0OjIyOjAyICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBGaXggZGV0ZWN0aW9uIGZvciB0aGUgZW5kIG9mIHNlZ21lbnQuCgkgIFRoZSBzZWdtZW50IHN0YXJ0IHRpbWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgb2Zmc2V0IGludG8gdGhlIGN1cnJlbnQgc2VnbWVudC4KCSAgVGhlIG9sZCBjb25kaXRpb24gdG8gZGV0ZWN0IHRoZSBlbmQgb2YgcGVyaW9kIChpLmUuIHNlZ21lbnQgc3RhcnQgdGltZSA+CgkgIHBlcmlvZCBzdGFydCArIHBlcmlvZCBkdXJhdGlvbikgZmFpbGVkIHdoZW4gdGhlIHBlcmlvZCBzdGFydCB3YXMgbm90IDAgc2luY2UKCSAgdGhlIHNlZ21lbnQgc3RhcnQgdGltZSBkb2VzIG5vdCB0YWtlIHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBpbnRvIGFjY291bnQuCgkgIEZpeCB0aGlzIGRldGVjdGlvbiBieSBvbmx5IGNvbXBhcmluZyB0aGUgc2VnbWVudCBzdGFydCB0byB0aGUgcGVyaW9kIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzY5CgoyMDE1LTAxLTE0IDIzOjExOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBzZWdtZW50IGF0dHJpYnV0ZQoJICBJdCB3YXMgbmV2ZXIgdXNlZCwgb25seSBpbml0aWFsaXplZAoKMjAxNS0wMS0xMiAxNzo0MDo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBJU09CTUZGIHByb2ZpbGUgaGFuZGxpbmcKCSAgVGhlIElTT0JNRkYgcHJvZmlsZSBhbGxvd3MgZGVmaW5pbmQgc3Vic2VnbWVudHMgaW4gYSBzZWdtZW50LiBBdCB0aG9zZQoJICBzdWJzZWdtZW50IGJvdW5kYXJpZXMgdGhlIGNsaWVudCBjYW4gc3dpdGNoIGZyb20gb25lIHJlcHJlc2VudGF0aW9uIHRvCgkgIGFub3RoZXIgYXMgdGhleSBoYXZlIGFsaWduZWQgaW5kZXhlcy4KCSAgVG8gaGFuZGxlIHRob3NlIHRoZSAnc2lkeCcgaW5kZXggaXMgcGFyc2VkIGZyb20gdGhlIHN0cmVhbSBhbmQgdGhlCgkgIGVudHJpZXMgcG9pbnQgdG8gcHRzL29mZnNldCBvZiB0aGUgc2FtcGxlcyBpbiB0aGUgc3RyZWFtLiBLbm93aW5nIHRoYXQKCSAgdGhlIGVudHJpZXMgYXJlIGFsaWduZWQgaW4gdGhlIGRpZmZlcmVudCByZXByZXNlbnRhdGlvbiBhbGxvd3MgdGhlIGNsaWVudAoJICB0byBzd2l0Y2ggbWlkIGZyYWdtZW50LiBJbiB0aGlzIHByb2ZpbGUgYSBzaW5nbGUgZnJhZ21lbnQgaXMgdXNlZCBwZXIKCSAgcmVwcmVzZW50YXRpb24gYW5kIHRoZSBzdWJzZWdtZW50cyBhcmUgY29udGFpbmVkIGluIHRoaXMgZnJhZ21lbnQuCgkgIFRvIG5vdGlmeSB0aGUgc3VwZXJjbGFzcyBhYm91dCB0aGUgc3Vic2VnbWVudCBib3VuZGFyeSB0aGUgY2h1bmtfcmVjZWl2ZWQKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHNwZWNpYWwgZmxvdyByZXR1cm4gdGhhdCBpbmRpY2F0ZXMgdGhhdC4gSW4gdGhpcyBjYXNlLAoJICB0aGUgc3VwZXIgY2xhc3Mgd2lsbCBjaGVjayBpZiBhIG1vcmUgc3VpdGFibGUgYml0cmF0ZSBpcyBhdmFpbGFibGUgYW5kIHdpbGwKCSAgY2hhbmdlIHRvIHRoZSBzYW1lIHN1YnNlZ21lbnQgaW4gdGhpcyBuZXcgcmVwcmVzZW50YXRpb24uCgkgIEl0IGFsc28gcmVxdWlyZXMgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgcG9zaXRpb24gaW4gdGhlIHN0cmVhbSBhcyB0aGUKCSAgZnJhZ21lbnQgYWR2YW5jaW5nIGlzIG5vdyBkb25lIGJ5IGluY3JlbWVudGluZyB0aGUgaW5kZXggb2YgdGhlIHN1YnNlZ21lbnQuCgkgIEl0IHdpbGwgb25seSBhZHZhbmNlIHRvIHRoZSBuZXh0IGZyYWdtZW50IG9uY2UgYWxsIHN1YnNlZ21lbnRzIGhhdmUgYmVlbgoJICBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjQ4CgoyMDE1LTAxLTEyIDExOjU3OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5oOgoJICBkYXNoZGVtdXg6IHBhcnNlIHRoZSBzaWR4IGluZGV4IGZyb20gaXNvYm1mZiBzdHJlYW1zCgkgIEFsbG93cyBkYXNoZGVtdXggdG8gaWRlbnRpZnkgdGhlIHN1YnNlZ21lbnRzIGluIHRoZSBzdHJlYW0gYW5kCgkgIHN3aXRjaCBiaXRyYXRlcyB3aGVuIG5lZWRlZAoKMjAxNS0wMS0wOSAxNjo0MzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNoZWNrIGZvciBwcm9maWxlcwoJICBDaGVjayBmb3IgYXZhaWxhYmxlIHByb2ZpbGVzIHRvIGVuYWJsZSBjZXJ0YWluIGZlYXR1cmVzIGZvcgoJICBkYXNoIHBsYXliYWNrLiBGb3Igbm93IHdlIGNoZWNrIGZvciB0aGUgSVNPRkYgT24gRGVtYW5kIDIwMTEgcHJvZmlsZS4KCjIwMTUtMDEtMTMgMTA6MTY6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgYSBzcGVjaWFsIHJldHVybiB0byBzaWduYWwgc3Vic2VnbWVudCBib3VuZGFyeQoJICBUaGUgc3Vic2VnbWVudCBib3VuZGFyeSByZXR1cm4gdGVsbHMgdGhlIGFkYXB0aXZlZGVtdXggdGhhdCBpdCBjYW4KCSAgdHJ5IHRvIHN3aXRjaCB0byBhbm90aGVyIHJlcHJlc2VudGF0aW9uIGFzIHRoZSBzdHJlYW0gaXMgYXQgYSBzdWl0YWJsZQoJICBwb3NpdGlvbiBmb3Igc3RhcnRpbmcgZnJvbSBhbm90aGVyIGJpdHJhdGUuCgoyMDE1LTAxLTEzIDEwOjE1OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFjdHVhbGx5IHVzZSB0aGUgYnl0ZSByYW5nZSBmb3IgdGhlIGZyYWdtZW50IHVybAoJICBPdGhlcndpc2Ugd2Ugd291bGQgYWx3YXlzIGRvd25sb2FkIHRoZSBmdWxsIGZyYWdtZW50LiBUaGlzIHdvdWxkCgkgIG1ha2UgaGFuZGxpbmcgc3Vic2VnbWVudHMgaW4gREFTSCBpbXBvc3NpYmxlLgoKMjAxNS0wMS0xMyAxMDoxMzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGxvdyBkb3dubG9hZHMgb2YgaGVhZGVycyBvbmx5CgkgIEluIG9yZGVyIHRvIGdldCBzb21lIHN1YnNlZ21lbnQgaW5mb3JtYXRpb24sIHN1YmNsYXNzZXMgbWlnaHQgd2FudAoJICB0byBkb3dubG9hZCBvbmx5IHRoZSBoZWFkZXJzIHRvIGhhdmUgZW5vdWdoIGRhdGEgKHRoZSBpbmRleCkKCSAgdG8gZGVjaWRlIHdoZXJlIHRvIHN0YXJ0IGRvd25sb2FkaW5nIGZyb20gdGhlIHN1YnNlZ21lbnQuCgoyMDE1LTAxLTEyIDE4OjIyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlZmFjdG9yIGNvbW1vbiBjb2RlIHRvIGZ1bmN0aW9uCgkgIFJldXNlIHRoZSBzYW1lIGZ1bmN0aW9uIHdoZW4gZmluaXNoaW5nIGRvd25sb2FkaW5nIGFuZCBzaWduYWxpbmcgdG8KCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIGdldCB0aGUgbmV4dCBmcmFnbWVudCBvciBhYm9ydAoKMjAxNS0wMS0wOSAxNzoxOTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGluZm9ybSBzdWJjbGFzcyB3aGVuIGhlYWRlcnMvaW5kZXggYXJlIGJlaW5nIGRvd25sb2FkZWQKCSAgVGhpcyBhbGxvd3MgdGhlIHN1YmNsYXNzZXMgdG8ga25vdyBpZiB0aGUgY2h1bmtzIHRoYXQgYXJlIGRvd25sb2FkZWQgYXJlCgkgIHBhcnQgb2YgdGhlIGhlYWRlciBvciBvZiB0aGUgaW5kZXggYW5kIHdpbGwgcGFyc2UgdGhlIHBhcnRzIHRoYXQgYXJlCgkgIG9mIHRoZWlyIGludGVyZXN0LgoKMjAxNS0wMS0xNSAxNjoxMToyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGEgZmV3IGxlYWsgZml4ZXMKCjIwMTUtMDEtMTUgMTM6MTY6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSAgZnJhZ21lbnQ6IGZpeCBjYXBzIGFuZCBidWZmZXIgbGVha3MgaW4gZ2V0X3Byb3BlcnR5CgoyMDE1LTAxLTE0IDE3OjQzOjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgZnJhZ21lbnRzX2NhY2hlIGZpZWxkCgoyMDE1LTAxLTE0IDE2OjQyOjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGEgZmV3IGxlYWsgZml4ZXMKCjIwMTUtMDEtMTIgMjE6MjI6MDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYnMyYi9nc3RiczJiLmM6CgkgIGJzMmI6IGltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZQoJICBJbnN0ZWFkIG9mIGEgcHJlc2V0IHByb3BlcnR5IGltcGxlbWVudCB0aGUgcHJlc2V0IGludGVyZmFjZSBpbiBhIHJlYWQtb25seQoJICBmYXNoaW9uLgoKMjAxNS0wMS0xMiAxMjoxMTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkgIGRvY3M6IGFkZCBuZXcgYnMyYiBwbHVnaW4gYW5kIGVsZW1lbnQKCjIwMTUtMDEtMTAgMjE6NDE6MTIgKzAxMDAgIENocmlzdG9waCBSZWl0ZXIgPHJlaXRlci5jaHJpc3RvcGhAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9iczJiL01ha2VmaWxlLmFtOgoJKiBleHQvYnMyYi9nc3RiczJiLmM6CgkqIGV4dC9iczJiL2dzdGJzMmIuaDoKCSAgYnMyYjogYWRkIG5ldyBwbHVnaW4gKEVmZmVjdC9BdWRpbywgY3Jvc3NmZWVkKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjg5CgoyMDE1LTAxLTE1IDEzOjEzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBNYWtlIHN1cmUgdGhhdCBidWZmZXIgdGltZSBpcyBhbHdheXMgYmlnZ2VyIHRoYW4gcGVyaW9kIHRpbWUKCjIwMTUtMDEtMTUgMTI6NDk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWxzbyBjb25zaWRlciBtYXgtbGF0ZW5lc3MgcHJvcGVydHkgdmFsdWUgYmVmb3JlIGRyb3BwaW5nIGxhdGUgZnJhbWVzCgoyMDE1LTAxLTE1IDE0OjA5OjQzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICB2dGRlYzogaW1wbGVtZW50IHRoZSBHTCB0ZXh0dXJlIHVwbG9hZCBtZXRhCgoyMDE1LTAxLTA5IDAwOjE2OjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhdmZ2aWRlb3NyYzogaW1wbGVtZW50IHRoZSBHTCB0ZXh0dXJlIHVwbG9hZCBtZXRhCgoyMDE1LTAxLTE1IDA5OjQ3OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgdXBsb2FkIGlmIGFscGhhIDw9IDAKCSAgSW1wbGVtZW50ZWQgdXNpbmcgYSB1cGxvYWRfYnVmZmVyIHZmdW5jIHdpdGhpbiBHc3RHTE1peGVyIGFsbG93aW5nCgkgIE5VTEwgdXBsb2FkZWQgYnVmZmVycy4KCjIwMTUtMDEtMTUgMDk6NDU6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVtb3ZlIHNwdXJpb3VzIGdzdF92aWRlb19pbmZvX2FsaWduCgkgIFRoYXQgd2lsbCBiZSB0YWtlbiBjYXJlIG9mIGJ5IHRoZSBjYWxsaW5nIGNvZGUgKHR5cGljYWxseSBhIGJ1ZmZlcnBvb2wpLgoJICBUaGUgR3N0VmlkZW9BbGlnbm1lbnQgaXMgcHVyZWx5IGluZm9ybWF0aW9uYWwgdG8gY29tcHV0ZSBwbGFuZSBkYXRhIHNpemVzLgoKMjAxNS0wMS0xNCAyMzo0ODoxNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb2N1bWVudCB0aGUgem9yZGVyIHBhZCBwcm9wZXJ0eSBmcm9tIGdzdHZpZGVvYWdncmVnYXRvcgoKMjAxNS0wMS0xNCAyMzo0NzoxOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBOaXRwaWNrIHNwYWNpbmcvcHVuY3R1YXRpb24gaW4gZGVidWcgbG9nZ2luZwoKMjAxNS0wMS0xNCAxNjozMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBTdG9wIHNjaGVkdWxlZCBwbGF5YmFjayBzaG9ydGx5IGluIFBBVVNFRC0+UExBWUlORyBpZiBpdCB3YXMgcnVubmluZyBhbHJlYWR5CgkgIFRoaXMgZml4ZXMgaGFuZGxpbmcgb2YgZmx1c2hpbmcgc2Vla3MsIHdoZXJlIHdlIHdpbGwgZ2V0IGEgUEFVU0VELT5QTEFZSU5HCgkgIHN0YXRlIHRyYW5zaXRpb24gYWZ0ZXIgdGhlIHByZXZpb3VzIG9uZSB3aXRob3V0IGFjdHVhbGx5IGdvaW5nIHRvIFBBVVNFRAoJICBmaXJzdC4KCjIwMTUtMDEtMTQgMTY6MDE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IERvbid0IHNjaGVkdWxlIHRvbyBsYXRlIGZyYW1lcyBpbiBwcmVwYXJlKCkKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgb3ZlcmZsb3cgdGhlIGludGVybmFsIGJ1ZmZlciBvZiB0aGUgaGFyZHdhcmUKCSAgd2l0aCB1c2VsZXNzIGZyYW1lcyBhbmQgcnVuIGludG8gYW4gZXJyb3IuIFRoaXMgaXMgbmVjZXNzYXJ5IHVudGlsCgkgIHRoaXMgYnVnIGluIGJhc2VzaW5rIGlzIGZpeGVkOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyOTE2CgoyMDE1LTAxLTE0IDE1OjU0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBLZWVwIHRyYWNrIG9mIHRoZSB0aW1lIHdoZW4gd2Ugd2VudCB0byBQTEFZSU5HIGZvciB0aGUgZXh0ZXJuYWwgY2xvY2sgdG9vCgkgIE90aGVyd2lzZSB3ZSdyZSBhZGRpbmcgYW4gb2Zmc2V0IG9mIHRoZSB0aW1lIHRoZSBwaXBlbGluZSB3YXMgaW4gUExBWUlORwoJICBhbHJlYWR5IHRvIHRoZSBydW5uaW5nIHRpbWUgd2hlbiBjb252ZXJ0aW5nIGl0IHRvIG91ciBpbnRlcm5hbCBjbG9jay4KCjIwMTUtMDEtMTQgMTM6MzI6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogRW5hYmxlIFFvUyBhbmQgc2V0IG1heC1sYXRlbmVzcyB0byAyMG1zCgoyMDE1LTAxLTEyIDE3OjI0OjUyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggc3RhY2sgc21hc2hpbmcKCSAgRW5zdXJlIHRoYXQgd2UgZG8gbm90IHRydXN0IHRoZSBiaXRzdHJlYW0gd2hlbiBmaWxsaW5nIGEgdGFibGUKCSAgd2l0aCBhIGZpeGVkIG1heCBzaXplLgoJICBBZGRpdGlvbmFsbHksIHRoZSBjb2RlIHdhcyBub3QgcXVpdGUgbWF0Y2hpbmcgd2hhdCB0aGUgc3BlYyBzYXlzOgoJICAtIGEgdmFsdWUgb2YgMyBicm9rZSBmcm9tIHRoZSBsb29wIGJlZm9yZSBhZGRpbmcgYW4gZW50cnkKCSAgLSBhbiB1bmhhbmRsZWQgdmFsdWUgZGlkIG5vdCBhZGQgYW4gZW50cnkKCSAgVGhlIHJlZmVyZW5jZSBhbGdvcml0aG0gZG9lcyB0aGVzZSB0aGluZ3MgZGlmZmVyZW50bHkgKDcuMy4zLjEKCSAgaW4gSVRVLVQgUmVjLiBILjI2NCAoMDUvMjAwMykpLgoJICBUaGlzIHBsYXlzIChhcHBhcmVudGx5IGNvcnJlY3RseSkgdGhlIG9yaWdpbmFsIHJlcHJvIGZpbGUsIHdpdGgKCSAgbm8gc3RhY2sgc21hc2hpbmcuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYW5kIGJ1ZyByZXBvcnQgYnkgQW5kcsOpIERyYXN6aWsgPGdpdEBhbmRyZWQubmV0PgoKMjAxNS0wMS0xNCAyMjowODo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBzcGxpdCBnbGNvbG9yY29udmVydCB1c2FnZSBmcm9tIGdsdXBsb2FkCgkgIHRoZSBzZXBhcmF0aW9uIGFsbG93cyB0aGUgdHJhbnNmZXIgb3BlcmF0aW9uIHRvIG9jY3VyIGluIGEgc2VwYXJhdGUKCSAgdGhyZWFkL3RpbWUgd2hpY2ggbWF5IGluY3JlYXNlIHBlcmZvcm1hbmNlIGluIHNwZWNpZmljIGNpcmN1bXN0YW5jZXMuCgoyMDE1LTAxLTE0IDEyOjM5OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IG9mZnNldCB0aGUgZGF0YSBwb2ludGVyIGZvciB1cGxvYWQgZm9yIEdzdFZpZGVvQWxpZ25tZW50CgkgIG90aGVyd2lzZSB3ZSBhdHRlbXB0IHRvIHJlYWQgZnJvbSB0aGUgcGFkZGluZyBkYXRhCgoyMDE1LTAxLTE0IDAwOjA4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiB1c2UgcGJvJ3MgZm9yIHVwbG9hZAoKMjAxNS0wMS0xMyAyMzo0NzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZWxheCB0aGUgR0xNZW1vcnkgdXBsb2FkZXIgY2hlY2sgZm9yIGlucHV0IGNhcHMgZmVhdHVyZXMKCSAgQXMgdGhlcmUgbWF5IGJlIGEgc3lzbWVtIGNhcHMgZmVhdHVyZXMgd2l0aCBHTE1lbW9yeSBmaWxsZWQgYnVmZmVycy4KCSAgZS5nLgoJICB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoKMjAxNS0wMS0xMyAxMTozMjowMyAtMDgwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgUmV2ZXJ0ICJSZXZlcnQgIm9wZW5oMjY0OiBmaXggdG8gd29yayB3aXRoIHJlbGVhc2VkIHZlcnNpb25zIGFuZCBtYXN0ZXIgb2YgdXBzdHJlYW0iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMyOWYwY2NiYTFhYTYwNGRhMWJkODAyOTNmZDFmZTcxNzQ0N2RmNWQuCgoyMDE0LTEyLTE3IDA5OjE5OjUyIC0wODAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IHJlbW92ZSBhbGwgdHJhY2Ugb3V0cHV0IHRvIGNvbnNvbGUgZnJvbSBlbmNvZGVyCgoyMDE1LTAxLTEzIDE5OjU2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBVc2UgQlQyMDIwIGNvbG9yc3BhY2UgZm9yIFVsdHJhSEQgcmVzb2x1dGlvbnMKCjIwMTUtMDEtMTMgMTk6NTU6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbiBvbmNlIGFnYWluCgoyMDE1LTAxLTEzIDE2OjQ5OjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogaGFuZGxlIHRoZSByZXR1cm4gb2YgdGhlIHNldHVwIGZ1bmN0aW9uCgkgIE1ha2UgdGhlIGNsYXNzIGZ1dHVyZSBwcm9vZiBieSBoYW5kbGluZyB0aGUgZ2Jvb2xlYW4gcmV0dXJuIG9mIHRoZSBzZXR1cAoJICBmdW5jdGlvbi4gU28gaWYvd2hlbiBhIGNoaWxkIGNsYXNzIHVzZXMgdGhpcyB0aGUgYmFzZSBjbGFzcyBpcyByZWFkeS4KCjIwMTUtMDEtMTMgMTY6NDY6MTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgUmV2ZXJ0ICJhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSB1bnVzZWQgdmFsdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjVjOTc1NzA4MzRkNmRlMWMxNDQyNGU3MTIyMWQxOWViMGQzM2VlMy4KCSAgSXQgaXMgcHJlZmVyYWJsZSB0byBoYW5kbGUgdGhlIHJldHVuIG9mIHRoZSBzZXR1cCBmdW5jdGlvbi4KCjIwMTUtMDEtMTMgMTc6NDQ6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogR2V0IG91ciBvd24gInN0YXJ0IHRpbWUiIGluc3RlYWQgb2YgdGhlIG9uZSBvZiB0aGUgcGlwZWxpbmUKCSAgZGVja2xpbmt2aWRlb3NpbmsgbWlnaHQgYmUgYWRkZWQgbGF0ZXIgdG8gdGhlIHBpcGVsaW5lLCBvciBpdHMgc3RhdGUgbWlnaHQKCSAgYmUgaGFuZGxlZCBzZXBhcmF0ZWx5IGZyb20gdGhlIHBpcGVsaW5lLiBJbiB3aGljaCBjYXNlIHRoZSBydW5uaW5nIHRpbWUgd2hlbgoJICB3ZSAobGFzdCkgd2VudCBpbnRvIFBMQVlJTkcgc3RhdGUgd2lsbCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgcGlwZWxpbmUncy4KCSAgSG93ZXZlciB3ZSBuZWVkIG91ciBvd24gc3RhcnQgdGltZSB0byB0ZWxsIHRoZSBEZWNrbGluayBBUEksIHdoaWNoIHJ1bm5pbmcKCSAgdGltZSBzaG91bGQgYmUgZGlzcGxheWVkIGF0IHRoZSBtb21lbnQgd2UgZ28gdG8gUExBWUlORyBhbmQgc3RhcnQgc2NoZWR1bGVkCgkgIHJlbmRlcmluZy4KCjIwMTUtMDEtMTMgMTc6MDA6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVyOiBVc2UgYSAjZGVmaW5lIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxNS0wMS0xMyAxNjo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVydmlkZW9zcmM6IE1ha2UgdGhlIHRpbWVvdXQgY29uZmlndXJhYmxlIGFmdGVyIHdoaWNoIHdlIHN0YXJ0IHNob3dpbmcgYSBibGFjayBmcmFtZQoKMjAxNS0wMS0xMyAxNTo0MjoyNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAga2xhc3MtPnNldHVwIChzY29wZSkgd2lsbCBhbHdheXMgcmV0dXJuIFRSVUUgc2luY2UgYWxsIGNoaWxkcmVuIG9mIHRoaXMgY2xhc3MKCSAgZG8gc28sIG5vIG5lZWQgdG8gc3RvcmUgdGhlIHJldHVybi4gQmVzaWRlcywgdGhlIHZhbHVlIGlzIG92ZXJ3cml0dGVuIGEgZmV3CgkgIGxpbmVzIGRvd24gYmVmb3JlIGl0IGlzIHVzZWQuCgkgIENoYW5nZSBoZWxwcyBrZWVwIGZpbGVzIGluIHN5bmMgYWZ0ZXI6CgkgIC1iYXNlIGNvbW1pdCBhOTFkNTIxYTM2MDJmMzMwODM0MDU0NjdkYjk0NTRkNDIyYjlkYTFiCgoyMDE1LTAxLTEzIDE0OjU0OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb24ndCBkbyBhbnkgY29udmVyc2lvbnMgaWYgdGhlIHBhZCBpcyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGFueXdheQoKMjAxNS0wMS0xMiAxMjo1ODoyNyArMDEwMCAgQnJhbmlzbGF2IEthdHJlbmlhayA8YmthdHJlbmlha0BudXZvdGVjaG5vbG9naWVzLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogc2lsZW5jZSBtZXNzYWdlcyBmb3IgZmx1c2hlZCAvIGNyZWF0ZWQgc2FtcGxlcwoJICBUaGVzZSBtZXNzYWdlcyBhcmUgbG9nZ2VkIHBlcmlvZGljYWxseSBhbmQgcG9sdXRlIHRoZSBsb2cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTU5MgoKMjAxNC0xMi0yNSAyMzoxMDoxOSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBtZW1sZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE5NDMKCjIwMTQtMTItMjUgMjI6NTk6NDIgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmaXggc29tZSBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTk0MwoKMjAxNC0xMi0zMSAxNzo0NTo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYWxsb3cgd3JhcHBlZCBjb250ZXh0cyB0byBiZSB1dGlsaXNlZCBsaWtlIG5vbi13cmFwcGVkIGNvbnRleHRzCgkgIEZpbGwgaW4gdGhlIG1pc3NpbmcgcGllY2VzIGxpa2UgZ2V0X3Byb2NfYWRkcmVzcywgdGhlIGdsIGZ1bmN0aW9uIHZ0YWJsZQoKMjAxNS0wMS0xMiAyMToyNToxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby8uZ2l0aWdub3JlOgoJKiBnc3QvY29tcG9zaXRvci8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSBmaWxlcwoKMjAxNS0wMS0xMiAxNTozMzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICB2aXN1YWw6IHVzZSB1bnVzZWQgdmFsdWUKCSAgcmV0IGlzIGFzc2lnbmVkIGJ1dCBub3QgdXNlZCBhbmQgaW4gdGhlIG5leHQgY3ljbGUgb2YgdGhlIGxvb3AgaXQgaXMgb3ZlcndyaXR0ZW4KCSAgd2l0aCBkZWZhdWx0X3ByZXBhcmVfb3V0cHV0X2J1ZmZlciAoKS4gSWYgdGhlcmUgaXMgYSBmbG93IGVycm9yIHRoZSBmdW5jdGlvbgoJICBzaG91bGQgcmV0dXJuIGluc3RlYWQuCgkgIENJRCAjMTIyNjQ3NQoKMjAxNS0wMS0xMiAxNjoxMDozMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjJjNmI5NSB0byBiYzc2YThiCgoyMDE1LTAxLTEyIDE1OjU3OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbms6IEluaXRpYWxpemUgcmVmY291bnQgb2Ygb3VyIEMrKyBjbGFzc2VzIGluIHRoZSBjb25zdHJ1Y3RvcgoJICBDSUQgMTI2MjI4OAoJICBDSUQgMTI2MjI4NwoJICBDSUQgMTI2MjI4OQoKMjAxNS0wMS0xMiAxNDoyMjo0NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogc3RvcmVkIHZhbHVlIGlzIG92ZXJ3cml0dGVuCgkgIFZhbHVlIGZyb20gbGVmdF9sdW1pbmFuY2UgaXMgYXNzaWduZWQgdG8gb3V0X2x1bWluYW5jZSBoZXJlLCBidXQgdGhhdCBzdG9yZWQKCSAgdmFsdWUgaXMgbm90IHVzZWQgYmVmb3JlIGl0IGlzIG92ZXJ3cml0dGVuIGluIHRoZSBuZXh0IGN5Y2xlIG9mIHRoZSBsb29wLgoJICBSZW1vdmluZyBhc3NpZ25hdGlvbi4KCSAgQ0lEICMxMjI2NDczCgoyMDE1LTAxLTEyIDEyOjUwOjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggZGVhZCBjb2RlCgkgIGZvdW5kIGlzIGluaXRpYWxpemVkIHRvIEZBTFNFIHRvIHRoZW4gb25seSBiZSB1c2VkIGluIHR3byBjb25kaXRpb25hbCBzdGF0ZW1lbnRzCgkgIHRoYXQgd2lsbCBhbHdheXMgYmUgZmFsc2UsIG1ha2luZyB0aGUgYmxvY2tzIGluc2lkZSB0aGVtIGRlYWQgY29kZS4gTG9va2luZyBiYWNrCgkgIGluIHRoZSBmaWxlJ3MgaGlzdG9yeSB0aGUgc2V0dGluZyBvZiB0aGUgdmFyaWFibGUncyB2YWx1ZSBiZWZvcmUgaXQgaXMgY2hlY2tlZAoJICB3YXMgZHJvcHBlZCBhcyBwYXJ0IG9mIHRoZSBwb3J0IHRvIDAuMTEsIGJyaW5naW5nIHRoYXQgdmFsdWUgc2V0dGluZyBiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjM4CgoyMDE1LTAxLTExIDIwOjQwOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBtaW5vciBvcHRpbWlzYXRpb24gd2hlbiBzY2FubmluZyBmb3IgU0NScwoJICBCYWlsIG91dCBlYXJseSB3aGVuIHdlJ3JlIHNjYW5uaW5nIGZvciBTQ1IsIG5vIG5lZWQgdG8KCSAgcGFyc2Ugc3R1ZmYgd2UncmUgbm90IGdvaW5nIHRvIHVzZSBub3IgaW50ZXJlc3RlZCBpbi4KCjIwMTUtMDEtMTEgMDE6MDg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4IGNvbXBpbGVyIHdhcm5pbmcgYW5kIHNpbXBsaWZ5IGNoZWNrcyBpbiBzZXRfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTk1CgoyMDE1LTAxLTAzIDEzOjA2OjQ1ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcmV3b3JrIHNldF9mb3JtYXQgY29kZSBzbyBtcGcxMjNhdWRpb2RlYyB3b3JrcyB3aXRoIGRlY29kZWJpbi9wbGF5YmluCgkgIFRoZSBvbGQgY29kZSB3YXMgdXNpbmcgZ3N0X2NhcHNfbm9ybWFsaXplKCkgYW5kIHdhcyBnZW5lcmFsbHkgb3Zlcmx5CgkgIGNvbXBsZXguIFNpbXBsaWZ5IGJ5IHBpY2tpbmcgc2FtcGxlIHJhdGUgYW5kIG51bWJlciBvZiBjaGFubmVscyBmcm9tCgkgIHVwc3RyZWFtIGFuZCB0aGUgc2FtcGxlIGZvcm1hdCBmcm9tIHRoZSBhbGxvd2VkIGNhcHMuIElmIHRoZSBmb3JtYXQgY2FwcwoJICBpcyBhIGxpc3Qgb2Ygc3RyaW5zLCBqdXN0IHBpY2sgdGhlIGZpcnN0IG9uZS4gQW5kIGlmIHRoZSBzcmNwYWQgaXNuJ3QKCSAgbGlua2VkIHlldCwgdXNlIHRoZSBkZWZhdWx0IGZvcm1hdCAoUzE2KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5NQoKMjAxNS0wMS0xMCAxNTozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IERpc2FibGUgaGFjayBmb3IgTlNBcHAgaXRlcmF0aW9uIHdpdGggYSBzcGVjaWFsICNkZWZpbmUKCSAgVGhlIGhhY2sgY2F1c2VzIGRlYWRsb2NrcyBhbmQgb3RoZXIgaW50ZXJlc3RpbmcgcHJvYmxlbXMgYW5kIGl0IHJlYWxseQoJICBjYW4gb25seSBiZSBmaXhlZCBwcm9wZXJseSBpbnNpZGUgR0xpYi4gV2Ugd2lsbCBpbmNsdWRlIGEgcGF0Y2ggZm9yCgkgIEdMaWIgaW4gb3VyIGJ1aWxkcyBmb3Igbm93IHRoYXQgaGFuZGxlcyB0aGlzLCBhbmQgaG9wZWZ1bGx5IGF0IHNvbWUKCSAgcG9pbnQgR0xpYiB3aWxsIGFsc28gbWVyZ2UgYSBwcm9wZXIgc29sdXRpb24uCgkgIEEgcHJvcGVyIHNvbHV0aW9uIHdvdWxkIGZpcnN0IHJlcXVpcmUgdG8gcmVmYWN0b3IgdGhlIHBvbGxpbmcgaW4KCSAgR01haW5Db250ZXh0IHRvIG9ubHkgcHJvdmlkZSBhIHNpbmdsZSBmZCwgZS5nLiB2aWEgZXBvbGwva3F1ZXVlCgkgIG9yIGEgdGhyZWFkIGxpa2UgdGhlIG9uZSBhZGRlZCBieSBvdXIgcGF0Y2guIFRoZW4gdGhpcyBzaW5nbGUKCSAgZmQgY291bGQgYmUgcmV0cmlldmVkIGZyb20gdGhlIEdNYWluQ29udGV4dCBhbmQgZGlyZWN0bHkgaW50ZWdyYXRlZAoJICBpbnRvIGEgTlNSdW5Mb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQzNzQKCjIwMTUtMDEtMTAgMTU6NDA6MzAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGludGVyYXVkaW9zcmMgLSBmaXhhdGUgbGF5b3V0IGZvciBkZWZhdWx0IGNhcHMKCSAgTWFrZXMgaW50ZXJhdWRpb3NyYyBwcm9kdWNlIHZhbGlkIGF1ZGlvIGNhcHMgaW4gdGhlIGFic2VuY2Ugb2YgYW55IG90aGVyCgkgIGd1aWRhbmNlIGJ5IGFkZGluZyB0byB0aGUgcGFkIHRlbXBsYXRlIGFuZCBmaXhhdGUgZnVuY3Rpb24KCjIwMTUtMDEtMDkgMjE6NTE6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSBwb2ludGxlc3MgYXRvbWljCgkgIEl0IGlzIG9ubHkgbW9kaWZpZWQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxNS0wMS0wOSAyMTozMDozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHF1ZXJ5IGxlYWsKCjIwMTUtMDEtMDkgMTc6NTY6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgY2hlY2sgZm9yIGJlbG93IHplcm8gZm9yIHVuc2lnbmVkIHZhbHVlCgkgIENMQU1QIGNoZWNrcyBib3RoIGlmIHZhbHVlIGlzICc8IDAnIGFuZCAnPiBtYXgnLiBWYWx1ZSB3aWxsIG5ldmVyIGJlIGEgbmVnYXRpdmUKCSAgbnVtYmVyIHNpbmNlIGl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIuIFJlbW92aW5nIHRoYXQgY2hlY2sgYW5kIG9ubHkgY2hlY2tpbmcgaWYKCSAgaXQgaXMgYmlnZ2VyIHRoYW4gbWF4IGFuZCBzZXR0aW5nIGl0IGFwcHJvcHJpYXRlbHkuCgkgIEFsc28gY29udmVydGluZyB0aGUgcHJldmlvdXMgaW5zdGFuY2Ugb2YgdGhpcyBpbnRvIE1JTigpIGZvciBjb25zaXN0ZW5jeS4KCSAgQ0lEIDExMzk3OTMKCjIwMTQtMTItMDIgMTA6MTA6MzkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbQoJICBTb21lIHZpZGVvIGJpdHN0cmVhbXMgcmVwb3J0IGEgdG9vIHJlc3RyaWN0aXZlIHNldCBvZiBwcm9maWxlcy4gSWYgYSB2aWRlbwoJICBkZWNvZGVyIHdhcyB0byBzdHJpY3RseSBmb2xsb3cgdGhlIGluZGljYXRlZCBwcm9maWxlLCBpdCB3b3VsZG4ndCBzdXBwb3J0IHRoYXQKCSAgc3RyZWFtLCB3aGVyZWFzIGl0IGNvdWxkIGluIHRoZW9yeSBhbmQgaW4gcHJhY3RpY2UuIFNvIHdlIHNob3VsZCByZWxheCB0aGUKCSAgcHJvZmlsZSByZXN0cmljdGlvbiBmb3IgYWxsb3dpbmcgdGhlIGRlY29kZXIgdG8gZ2V0IGNvbm5lY3RlZCB3aXRoIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5MgoKMjAxNS0wMS0wOSAxNjo0MzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJpbnQgaml0dGVyIGZyb20gY2xvY2sgd2FpdGluZyBpbiB0aGUgZGVidWcgbG9ncwoKMjAxNS0wMS0wOSAxNDo0MjozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSBjaGVjayBpZiBiZWxvdyB6ZXJvIGZvciB1bnNpZ25lZCB2YWx1ZQoJICBDTEFNUCBjaGVja3MgYm90aCBpZiB5IGlzICc8IDAnIGFuZCAnPiBoMScuIHkgd2lsbCBuZXZlciBiZSBhIG5lZ2F0aXZlIG51bWJlcgoJICBzaW5jZSBpdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLiBSZW1vdmluZyB0aGF0IGNoZWNrIGFuZCBvbmx5IGNoZWNraW5nIGlmIGl0CgkgIGJpZ2dlciB0aGFuIGgxIGFuZCBzZXR0aW5nIGl0IHRvIHRoYXQgbWF4IGFwcHJvcHJpZXRhbHkuCgkgIENJRCAxMTM5NzkyCgoyMDE1LTAxLTA4IDE2OjI0OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBjYWNoZSBjdXJyZW50IGZpbGUgcG9zaXRpb24gaW4gdGhlIGxpc3QKCSAgQXZvaWRzIGl0ZXJhdGluZyB0aGUgbGlzdCBldmVyeXRpbWUgdG8gbG9vayBmb3IgdGhlIG5leHQgc2VnbWVudAoJICB0byBiZSB1c2VkIChvciB0byBhZHZhbmNlIHRvIHRoZSBuZXh0IG9uZSkuCgoyMDE1LTAxLTA4IDE1OjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHNpbXBsaWZ5IG5leHQgc2VnbWVudCBjaGVja2luZyBmdW5jdGlvbnMKCSAgT3B0aW1pemUgbG9vcCBieSBtb3ZpbmcgY29uZGl0aW9uIG91dHNpZGUgb2YgaXQgYW5kIHJldXNlIHRoZQoJICBmaW5kX25leHRfZnJhZ21lbnQgZnVuY3Rpb24gdG8gY2hlY2sgaWYgdGhlcmUgaXMgbmV4dCBpbnN0ZWFkIG9mCgkgIHJlcGxpY2F0aW5nIHRoZSBzYW1lIGxvb3AKCjIwMTUtMDEtMDggMTM6MDM6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGNhY2hlIHRvdGFsIGR1cmF0aW9uIHRvIGF2b2lkIGl0ZXJhdGluZyBhdCBldmVyeSBxdWVyeQoJICBEdXJhdGlvbiBxdWVyaWVzIGNhbiBiZSBkb25lIGEgZmV3IHRpbWVzIHBlciBzZWNvbmQgYW5kIHdvdWxkIGNhdXNlCgkgIHRoZSBzZWdtZW50IGxpc3QgdG8gYmUgdHJhdmVyc2VkIGZvciBldmVyeSBvbmUuIENhY2hpbmcgdGhlIGR1cmF0aW9uCgkgIHByZXZlbnRzIHRoYXQuCgoyMDE1LTAxLTA4IDE4OjE1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBQb3N0IExBVEVOQ1kgbWVzc2FnZSB3aGVuIHRoZSBtb2RlIGNoYW5nZXMKCSAgRGlmZmVyZW50IG1vZGVzIGhhdmUgZGlmZmVyZW50IGZyYW1lcmF0ZXMsIGFuZCB0aHVzIGRpZmZlcmVudCBsYXRlbmNpZXMuIFdlCgkgIG1pZ2h0IG5lZWQgdG8gcmVjb25maWd1cmUgdGhlIGxhdGVuY3kgb2YgdGhlIHBpcGVsaW5lLgoKMjAxNS0wMS0wOCAxODoxNDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTUtMDEtMDggMTY6NDI6MzEgKzAxMDAgIEZsb3JpYW4gTGFuZ2xvaXMgPGZsb3JpYW4ubGFuZ2xvaXNAZnIudGhhbGVzZ3JvdXAuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIGF1dG9tYXRpYyBtb2RlIGRldGVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mjg0CgoyMDE1LTAxLTA4IDE1OjU0OjE4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBnX3JldHVybl9pZl9mYWlsIGluIGZ1bmN0aW9uIHdpdGggcmV0dXJuIHR5cGUKCSAgTmVlZCB0byB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSB3aGVuIHRoZSBmdW5jdGlvbiByZXR1cm5zIGEgdHlwZSwgaW4gdGhpcwoJICBjYXNlIGEgZ2Jvb2xlYW4KCjIwMTUtMDEtMDggMTU6MzY6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwOiB2YWx1ZSB0cnVuY2F0ZWQgdG9vIHNob3J0IGNyZWF0ZXMgZGVhZCBjb2RlCgkgIHR5cGUgaXMgdHJ1bmNhdGVkIHRvIDAtMzEgd2l0aCAiJiAweDFmIiwgYnV0IHJpZ2h0IGFmdGVyIHRoYXQgaXQgaXMgY2hlY2tzIGlmCgkgIHRoZSB2YWx1ZSBpcyBlcXVpdmFsZW50IHRvIEdTVF9IMjY1X05BTF9WUFMsIEdTVF9IMjY1X05BTF9TUFMsIGFuZAoJICBHU1RfSDI2NV9OQUxfUFBTICh3aGljaCBhcmUgMzIsIDMzLCBhbmQgMzQgcmVzcGVjdGl2ZWx5KS4gT2J2aW91c2x5LCB0aGlzIHdpbGwKCSAgbmV2ZXIgYmUgVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgbWF4aW11bSAzMSBhZnRlciB0aGUgdHJ1bmNhdGlvbi4KCSAgVGhlIGludGVudGlvbiBvZiB0aGUgY29kZSB3YXMgdG8gdHJ1bmNhdGUgdG8gMC02My4KCjIwMTUtMDEtMDggMTU6Mjc6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBuYWwgdW5pdCB0eXBlIGNoZWNrCgkgIEFmdGVyIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiB0aGUgcHJldmlvdXMgY29tbWl0IGlzIHdyb25nLiBUaGUgY29kZSBpbnRlbmRlZCB0bwoJICBjaGVjayBpZiB0aGUgdHlwZSBpcyAzOSBvciB0aGUgcmFuZ2VzIDQxLTQ0IGFuZCA0OC01NS4gSnVzdCBsaWtlIGdzdGgyNjVwYXJzZS5jCgkgIGRvZXMuIFR5cGUgNDAgd291bGQgbm90IGJlIGNvbXBsZXRlLgoKMjAxNS0wMS0wOCAxMzo0NzowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IGRlYWQgY29kZSBhbmQgY2hlY2sgZm9yIGltcG9zc2libGUgdmFsdWVzCgkgIG5hbF90eXBlIGlzIHRoZSBpbmRleCBmb3IgYSBHc3RIMjY1TmFsVW5pdFR5cGUgZW51bS4gVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkZWFkCgkgIGNvZGUgaGVyZToKCSAgRmlyc3QsIGFmdGVyIGNoZWNraW5nIGlmIG5hbF90eXBlIGlzID49IDM5IHRoZXJlIGFyZSB0d28gT1IgY29uZGl0aW9uYWxzIHRoYXQKCSAgY2hlY2sgaWYgdGhlIHZhbHVlIGlzIGluIHJhbmdlcyBoaWdoZXIgdGhhbiB0aGF0IG51bWJlciwgc28gaWYgbmFsX3R5cGUgPj0gMzkKCSAgZmFsbHMgaW4gdGhlIFRydWUgYnJhbmNoIHRob3NlIG90aGVyIGNvbmRpdGlvbnMgYXJlbid0IGNoZWNrZWQgYW5kIGlmIGl0IGZhbGxzCgkgIGluIHRoZSBGYWxzZSBicmFuY2ggYW5kIHRoZXkgYXJlIGNoZWNrZWQsIHRoZXkgd2lsbCBhbHdheXMgYWxzbyBiZSBGYWxzZS4gVGhleQoJICBhcmUgcmVkdW5kYW50LgoJICBTZWNvbmQsIHRoZSBlbnVtIGhhcyBhIHJhbmdlIG9mIDAgdG8gNDAuIFNvIHRoZSBjaGVja3MgZm9yIHJhbmdlcyBoaWdoZXIgdGhhbiA0MQoJICBzaG91bGQgbmV2ZXIgYmUgVHJ1ZS4KCSAgUmVtb3ZpbmcgdGhpcyByZWR1bmRhbnQgY2hlY2tzLgoJICBDSUQgMTI0OTY4NAoKMjAxNS0wMS0wOCAxNDo0NzoxNiArMDEwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBVbmxvY2sgdGhlIHN0cmVhbSBsb2NrIHdoaWxlIHdhaXRpbmcgZm9yIHBlbmRpbmcgZnJhbWVzIHRvIGJlIGNvbXBsZXRlZCBpbiBmaW5pc2goKQoJICBXZSBtaWdodCBvdGhlcndpc2UgZGVhZGxvY2sgYmVjYXVzZSBnc3RfdnRlbmNfZW5xdWV1ZV9idWZmZXIoKSBjYW4gYmUKCSAgY2FsbGVkIGFnYWluIGFuZCB3aWxsIHRha2UgdGhlIHN0cmVhbSBsb2NrIGFnYWluIGZyb20gYW5vdGhlciB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIxNzQKCjIwMTUtMDEtMDggMDg6NDY6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogaW1wbGVtZW50IF9oYXNfbmV4dF9mcmFnbWVudCB0byBhdm9pZCBidXN5IGxvb3BpbmcKCSAgSXQgd2lsbCBhbGxvdyB0aGUgZGVtdXhlciB0byB3YWl0IGZvciBhIGZyYWdtZW50IHRvIGJlIGF2YWlsYWJsZSBpbnN0ZWFkCgkgIG9mIGJ1c3kgbG9vcGluZyBwb2xsaW5nIHRoZSBwbGF5bGlzdCBmb3IgYSBuZXcgZnJhZ21lbnQKCjIwMTUtMDEtMDggMTI6NTU6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogQWRkIGEgZHVtbXkgdmFsdWUgdG8gdGhlIHZpZGVvIGNvbm5lY3Rpb24gbWFwcGluZyB0YWJsZSBmb3IgYXV0bwoKMjAxNS0wMS0wOCAxMjo0ODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbmthdWRpb3NyYzogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgYXVkaW8gaW5wdXQgY29ubmVjdGlvbgoKMjAxNS0wMS0wOCAxMjoyMzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogQWRkIFhMUiBhbmQgUkNBIGF1ZGlvIGNvbm5lY3Rpb24gZW51bXMKCjIwMTUtMDEtMDggMTI6MTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgYXV0byB2YWx1ZSBmb3IgdGhlIGNvbm5lY3Rpb24gcHJvcGVydHkKCSAgVGhpcyB3aWxsIHVzZSB0aGUgZGVmYXVsdC9hdXRvIGNvbm5lY3Rpb24gZm9yIHZpZGVvIGNhcHR1cmluZywgYW5kIGNhbgoJICBiZSBzZXQgdmlhIHRoZSBEZWNrbGluayBjb25maWd1cmF0aW9uIHRvb2xzLgoKMjAxNS0wMS0wOCAxMjoxMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbiBvbmNlIGFnYWluCgoyMDE1LTAxLTA2IDE0OjAyOjM4ICswMTAwICBGbG9yaWFuIExhbmdsb2lzIDxmbG9yaWFuLmxhbmdsb2lzQGZyLnRoYWxlc2dyb3VwLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgZm9yIGNvbmZpZ3VyaW5nIHRoZSBpbnB1dCBjb25uZWN0aW9uIG9mIHRoZSB2aWRlbyBzb3VyY2VzCgoyMDE1LTAxLTA4IDA5OjM1OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogRG9uJ3QgaW5pdCBhbmQgY2xlYXIgc3RhdGljIEdNdXRleCAvIEdDb25kCgkgIFdlIHdvdWxkIHBvdGVudGlhbGx5IHVzZSBpdCBmcm9tIHRoZSBtYWluIGxvb3AgbGF0ZXIgaW4KCSAgZ3N0X2dsX3dpbmRvd19jb2NvYV9pbml0X25zYXBwKCkgaWYgaXQgdGltZWQgb3V0IGJlZm9yZS4KCjIwMTUtMDEtMDcgMTY6NTM6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHJlbW92ZSBsb2dpY2FsbHkgZGVhZCBjb2RlCgkgIFNvb24gYWZ0ZXIgc2V0dGluZyB0d28gdmFyaWFibGVzIHRvIDEsIHRoZSBjb2RlIGNoZWNrcyBpZiB0aGVpciB2YWx1ZXMgYXJlCgkgIGRpZmZlcmVudCBmcm9tIGVhY2ggb3RoZXIuIFRoaXMgd291bGQgbmV2ZXIgYmUgdHJ1ZS4gUmVtb3ZpbmcgdGhpcy4KCSAgQ0lEIDEyMjY0NDMKCjIwMTUtMDEtMDcgMTY6NDA6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSAgUmV2ZXJ0ICJwbmdwYXJzZTogaW1wcm92ZSBwYXJzaW5nIG9mIHRoZSBpbWFnZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1OWU3ZjA1OTdkMWNjNTI0MTc0ZTg0N2RlN2I5MTQwNzkyMjMwNGM4LgoJICBUaGlzIHBhdGNoIHNob3VsZCBub3QgaGF2ZSBiZWVuIHB1c2hlZCwgc2VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNTgjYzMKCjIwMTUtMDEtMDcgMTY6MjY6NTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIHVubmVlZGVkIGNoZWNrCgkgIFZhcmlhYmxlIGhhbmRzIGlzIGFscmVhZHkgY2hlY2tlZCB0byBjb250YWluIGEgdmFsdWUgcHJldmlvdXNseSBhdCB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBjdXJyZW50IGJsb2NrIChpbiBsaW5lIDUwNCkuIFRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgYWdhaW4uIFRoaXMgaXMKCSAgbG9naWNhbGx5IGRlYWQgY29kZS4KCSAgQ0lEIDExOTc2OTMKCjIwMTQtMTEtMTMgMTU6NTY6MDcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIHBuZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcgb2YgdGhlIGltYWdlCgkgIEV2ZXJ5dGltZSBhIGJ1ZmZlciBpcyBiZWluZyBwcm92aWRlZCBmcm9tIGJhc2VwYXJzZSwgd2UgYXJlIHBhcnNpbmcgYWxsIHRoZSBkYXRhIGZyb20gdGhlIGJlZ2lubmluZy4KCSAgQnV0IHNpbmNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwYXJzZWQgc29tZSBvZiB0aGUgZGF0YSBpbiB0aGUgcHJldmlvdXMgaXRlcmF0aW9ucywKCSAgaXQgZG9lc250IG1ha2UgbXVjaCBzZW5zZSB0byBrZWVwIHBhcnNpbmcgdGhlIHNhbWUgZXZlcnl0aW1lLgoJICBIZW5jZSBza2lwcGluZyB0aGUgZGF0YSB3aGljaCBpcyBhbHJlYWR5IHJlYWQgaW4gcHJldmlvdXMgaXRlcmF0aW9ucyB0byBpbXByb3ZlIHRoZSBwYXJzaW5nIHBlcmZvcm1hbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDU4CgoyMDE1LTAxLTA3IDE1OjMyOjA1ICswMTAwICBGbG9yaWFuIExhbmdsb2lzIDxmbG9yaWFuLmxhbmdsb2lzQGZyLnRoYWxlc2dyb3VwLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogRml4IGxhdGVuY3kgdmFsdWVzIGZvciBzb3VyY2VzCgoyMDE1LTAxLTA3IDEwOjIzOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBkdXBsaWNhdGUgY2FsbCB0byB1cmlfam9pbgoKMjAxNS0wMS0wNyAwOTozMDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBza2lwIGNoZWNraW5nICcjRVhULVgtJyB0b2tlbiBmb3IgYWxsIGVudHJpZXMKCSAgUHV0IHRoaXMgY29tbW9uIGNoZWNrIGJlZm9yZSB0byBhdm9pZCByZXBlYXRpbmcgaXQgZm9yIGFsbCBwb3NzaWJsZQoJICBlbnRyaWVzIHRvIHNhdmUgc29tZSBjeWNsZXMKCjIwMTUtMDEtMDcgMDk6MjE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogYXZvaWQgdXNpbmcgZ19saXN0X2FwcGVuZCBmb3IgY3JlYXRpbmcgc2VnbWVudHMgbGlzdAoJICBVc2UgZ19saXN0X3ByZXBlbmQgYW5kIHJldmVyc2UgaXQgYXQgdGhlIGVuZCB0byBza2lwIHRyYXZlcnNpbmcgdGhlCgkgIHNhbWUgbGlzdCBmb3IgZXZlcnkgbmV3IHNlZ21lbnQKCjIwMTQtMDYtMjAgMTI6Mzg6NTkgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IERvbid0IHVzZSBhcHByb3hpbWF0ZSBkdXJhdGlvbiBmb3IgZnJhZ21lbnQgYnVmZmVyIHB0cwoJICBUaGUgZHVyYXRpb24gdmFsdWVzIGluIHBsYXlsaXN0cyBhcmUgYXBwcm94aW1hdGUgb25seSwgYW5kIGZvcgoJICBwbGF5bGlzdCB2ZXJzaW9ucyAyIGFuZCBvbGRlciB0aGV5IGFyZSBvbmx5IHJvdW5kZWQgaW50ZWdlciB2YWx1ZXMuCgkgIFRoZXkgY2Fubm90IGJlIHVzZWQgdG8gdGltZXN0YW1wIGJ1ZmZlcnMuICBUaGlzIHJlc3VsdGVkIGluIHBsYXliYWNrCgkgIGdhcHMgYW5kIHNraXBzIGJlY2F1c2UgdGhlIGFjdHVhbCBkdXJhdGlvbiBvZiBmcmFnbWVudHMgaXMgc2xpZ2h0bHkKCSAgZGlmZmVyZW50LiAgVGhlIHNvbHV0aW9uIGlzIHRvIG9ubHkgc2V0IHRoZSBwdHMgb2YgdGhlIHZlcnkgZmlyc3QKCSAgYnVmZmVyIHByb2Nlc3NlZCwgbm90IGZvciBlYWNoIGZyYWdtZW50LgoKMjAxNS0wMS0wNiAxODo0NDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBvbmx5IHVwZGF0ZSBzZWdtZW50IGlmIHdlIGhhdmUgYSB2YWxpZCBQVFMKCSAgT3RoZXJ3aXNlIHdlIHNldCB0aGUgcG9zaXRpb24gdG8gR1NUX0NMT0NLX1RJTUVfTk9ORSBhbmQgaXQgZGlzcnVwdHMKCSAgYml0cmF0ZSBzd2l0Y2hpbmcKCjIwMTUtMDEtMDcgMTE6MzE6MzAgKzA1MzAgIFJhamF0IFZlcm1hIDxyYWphdC52ZXJtYUBzdC5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggY3Jhc2ggd2hpbGUgc2V0dGluZyBiaXRyYXRlIGluIGNhcHMgc3RydWN0dXJlCgkgIHEtPmJpdHJhdGUgaXMgYSBndWludDY0LCBidXQgR19UWVBFX0lOVCBtYXkgcmVhZCBmZXdlciBiaXRzCgkgIG9mZiB0aGUgc3RhY2ssIGFuZCBpZiB3ZSBwYXNzIG1vcmUgdGhlbiB0aGUgTlVMTCBzZW50aW5lbAoJICBtYXkgbm90IGJlIGZvdW5kIGF0IHRoZSByaWdodCBwbGFjZSwgd2hpY2ggaW4gdHVybiBtaWdodAoJICBsZWFkIHRvIGNyYXNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE3NTEKCjIwMTUtMDEtMDIgMDA6NTk6MDAgKzAwMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBwZXJpb2RpYyBTUFMvUFBTIHNlbmRpbmcgd29yayBhZnRlciBhIHNlZWsKCSAgUmVzZXQgdGhlIGludGVydmFsIHZhcmlhYmxlIHRvIGhhdmUgU1BTL1BQUyBzZW5kaW5nIHdvcmsgYWZ0ZXIKCSAgYSAoYmFja3dhcmRzKSBzZWVrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMjEyCgoyMDE1LTAxLTA1IDIxOjI2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBkZWFkbG9jayB3aXRoIHBhZCBvYmplY3QgbG9jawoJICBUaGUgaW1hZ2UgY2FwdHVyZSBtdXRleCBhbmQgdGhlIHBhZCBvYmplY3QgbG9jayB3b3VsZCBjYXVzZSBhIHJhY2UKCSAgaWYgdGhlIHBhZCBxdWVyeSB3YXMgbWFkZSByaWdodCB3aGVuIHRoZSBpbWFnZSBwcm9iZSB3YXMgcnVubmluZy4KCSAgVGhlIGltYWdlIHByb2JlIG5lZWRzIHRoZSBjYXB0dXJlIG11dGV4IGFuZCB0aGUgcXVlcnlpbmcgd291bGQgbmVlZAoJICB0aGUgcGFkIG9iamVjdCBsb2NrLgoKMjAxNS0wMS0wNSAxNToxNjoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBzaW1wbGlmeSB3ZWlyZCBpZi9lbHNlIGNsYXVzZQoJICBJdCBpcyBub3QgYW4gaWYvZWxzZSBzaXR1YXRpb24gYnV0IGFuIGlmIGVycm9yIGFib3J0IG90aGVyd2lzZQoJICBqdXN0IGNvbnRpbnVlLiBSZW1vdmUgZWxzZSB0byBtYWtlIGl0IG1vcmUgcmVhZGFibGUKCjIwMTQtMDQtMDQgMTY6NDU6NTEgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IGxpdmUgc2Vla2luZwoJICBobHNkZW11eCBhc3N1bWVzIHRoYXQgc2Vla2luZyBpcyBub3QgYWxsb3dlZCBmb3IgbGl2ZSBzdHJlYW1zLAoJICBob3dldmVyIHNlZWsgaXMgcG9zc2libGUgaWYgdGhlcmUgYXJlIHN1ZmZpY2llbnQgZnJhZ21lbnRzIGluIHRoZQoJICBtYW5pZmVzdC4gRm9yIGV4YW1wbGUgdGhlIEJCQyBoYXZlIGxpdmUgc3RyZWFtcyB0aGF0IGNvbnRhaW4gMiBob3VycwoJICBvZiBmcmFnbWVudHMuCgkgIFRoZSBzZWVrIGNvZGUgZm9yIGJvdGggbGl2ZSBhbmQgb24tZGVtYW5kIGlzIGNvbW1vbiBjb2RlLiBUaGUKCSAgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gaXMgdGhhdCBhbiBvZmZzZXQgaGFzIHRvIGJlIGNhbGN1bGF0ZWQKCSAgZm9yIHRoZSB0aW1lY29kZSBvZiB0aGUgZmlyc3QgZnJhZ21lbnQgaW4gdGhlIGxpdmUgcGxheWxpc3QuCgkgIFdoZW4gaGxzZGVtdXggc3RhcnRzIHRvIHBsYXkgYSBsaXZlIHN0cmVhbSwgdGhlIHBvc3NpYmxlIHNlZWsgcmFuZ2UKCSAgaXMgYmV0d2VlbiAwIGFuZCBBIHNlY29uZHMuIEFmdGVyIHNvbWUgdGltZSBoYXMgcGFzc2VkLCB0aGUgYmVnaW5uaW5nIG9mCgkgIHRoZSBzdHJlYW0gd2lsbCBubyBsb25nZXIgYmUgYXZhaWxhYmxlIGluIHRoZSBwbGF5bGlzdCBhbmQgdGhlIHNlZWsKCSAgcmFuZ2UgaXMgYmV0d2VlbiBCIGFuZCBDIHNlY29uZHMuCgkgIFNlZWsgcmFuZ2U6CgkgIHN0YXJ0ICAgICAgICAgIDAgLi4uLi4uLi4uLi4gQQoJICBsYXRlciAgICAgICAgICAgICAgIEIgLi4uLi4uLi4uLi4gQwoJICBUaGlzIGNvbW1pdCBhZGRzIGNvZGUgdG8ga2VlcCBhIG5vdGUgb2YgdGhlIEIgYW5kIEMgdmFsdWVzCgkgIGFuZCB0aGUgaGlnaGVzdCBzZXF1ZW5jZSBudW1iZXIgaXQgaGFzIHNlZW4uIEV2ZXJ5IHRpbWUgaXQgdXBkYXRlcyB0aGUKCSAgbWVkaWEgcGxheWxpc3QsIGl0IHdhbGtzIHRoZSBsaXN0IG9mIGZyYWdtZW50cywgc2VlaW5nIGlmIHRoZXJlIGlzIGEKCSAgZnJhZ21lbnQgd2l0aCBzZXF1ZW5jZSBudW1iZXIgPiBoaWdoZXN0X3NlZW5fc2VxdWVuY2UuIElmIHNvLCB0aGUgdmFsdWVzCgkgIG9mIEIgYW5kIEMgYXJlIHVwZGF0ZWQuIFRoZSB2YWx1ZSBvZiBCIGlzIHVzZWQgd2hlbiB0aW1lc3RhbXBpbmcKCSAgYnVmZmVycy4KCSAgSXQgYWxzbyBtYWtlcyBzdXJlIHRoZSBzZWVrIHJhbmdlIGlzIG5ldmVyIGNsb3NlciB0aGFuIHRocmVlIGZyYWdtZW50cwoJICBmcm9tIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0IC0gc2VlIDYuMy4zLiAiUGxheWluZyB0aGUgUGxheWxpc3QgZmlsZSIKCSAgb2YgdGhlIEhMUyBkcmFmdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQzNQoKMjAxNS0wMS0wNSAxNzo1ODo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHByZXBhcmUgZm9yIHN1cHBvcnRpbmcgc2Vla3MgaW4gbGl2ZSBzdHJlYW1zCgkgIEFkZCBmdW5jdGlvbiB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIHNwZWNpZnkgc2Vla2luZyByYW5nZSBmb3IKCSAgbGl2ZSBzdHJlYW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0MzUKCjIwMTUtMDEtMDQgMTc6MTU6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGRvbid0IHVzZSBpdGVyYXRvciB3aGVuIHNldHRpbmcgZmx1c2ggcGVuZGluZyBvbiBwYWRzCgoyMDE1LTAxLTA0IDE2OjU3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBjaGVjayBpZiBwYWRzIGFyZSByZWFkeSBtb3JlIGVmZmljaWVudGx5CgkgIE5vIG5lZWQgdG8gdXNlIGFuIGl0ZXJhdG9yIGZvciB0aGlzIHdoaWNoIGNyZWF0ZXMgYSB0ZW1wb3JhcnkKCSAgc3RydWN0dXJlIGV2ZXJ5IHRpbWUgYW5kIGFsc28gaW52b2x2ZXMgdGFraW5nIGFuZCByZWxlYXNpbmcgdGhlCgkgIG9iamVjdCBsb2NrIG1hbnkgdGltZXMgaW4gdGhlIGNvdXJzZSBvZiBpdGVyYXRpbmcuIE5vdCB0byBtZW50aW9uCgkgIGFsbCB0aGF0IEdMaXN0IGhhbmRsaW5nIGluIGdzdF9hZ2dyZWdhdG9yX2l0ZXJhdGVfc2lua3BhZHMoKS4KCjIwMTUtMDEtMDQgMTI6NTk6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IG5hbWUgdmZ1bmMgYXJndW1lbnRzIGNvbnNpc3RlbnRseQoKMjAxNC0xMi0zMSAyMDo0NzoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBub2Rpc3QgZm9yIG9yYyBnZW5lcmF0ZWQgY29kZQoKMjAxNS0wMS0wMSAxNTo0NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGctaSB0cmFuc2ZlciBhbmQgc2NvcGUgYW5ub3RhdGlvbnMKCjIwMTUtMDEtMDEgMTQ6MTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlZ2lzdGVyIG5hbWVzIG9mIGl0ZXJhdGVfc2lua3BhZHMgZnVuY3Rpb25zIHdpdGggZGVidWcgc3lzdGVtCgoyMDE1LTAxLTAxIDE0OjAzOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZWR1Y2UgZGVidWcgbWVzc2FnZXMgZm9yIHRha2luZy9yZWxlYXNpbmcgbG9ncyB0byBUUkFDRSBsZXZlbAoJICBEb24ndCBzcGFtIGRlYnVnIGxvZyB3aXRoIHRoaXMgc3R1ZmYuCgoyMDE0LTEyLTMxIDE4OjE2OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IG1vdmUgcHJvcGVydHkgbWVtYmVyIGludG8gcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgT3VyIGxvY2tpbmcgKG9yIGxhY2sgdGhlcmVvZikgd2hpbGUgYWNjZXNzaW5nIHRoaXMgYWxzbwoJICBsb29rcyBnZW5lcmFsbHkgcXVpdGUgZG9kZ3kuCgoyMDE0LTEyLTMxIDE0OjUwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBmdW5jdGlvbgoKMjAxNC0xMi0zMCAyMzo1ODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBnaXZlIHByaXZhdGUgZnVuY3Rpb25zIG5hbWVzcGFjZSBwcmVmaXgKCSAgRXNwZWNpYWxseSB0aGUgR1NUX0RFQlVHX0ZVTkNQVFIgb25lcy4KCjIwMTQtMTItMzEgMTI6MzU6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGZpeCB1cCBzb21lIGRvY3MgY29tbWVudHMgaW4gaGVhZGVyCgoyMDE0LTEyLTMwIDIzOjQ0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBub3ctdW51c2VkIHN5c3RlbSBjbG9jayBtZW1iZXIKCjIwMTQtMTItMzAgMTk6NDM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsbWl4ZXIsIGdsdmlkZW9taXhlcjogdXBkYXRlIGZvciBHc3RBZ2dyZWdhdG9yUGFkRm9yZWFjaEZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE5OjI2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogdXBkYXRlIGZvciBhZ2dyZWdhdG9yIHN0YXJ0L3N0b3AgdmZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE5OjIyOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IG1ha2UgR3N0QWdncmVnYXRvclBhZEZvcmVhY2hGdW5jIHRha2UgYW4gR3N0QWdncmVnYXRvclBhZAoKMjAxNC0xMi0zMCAxODowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogdXBkYXRlIGZvciBhZ2dyZWdhdG9yIHN0YXJ0L3N0b3AgdmZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE3OjU2OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVwZGF0ZSBmb3IgYWdncmVnYXRvciBzdGFydC9zdG9wIHZmdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxNzo1MDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYnJpbmcgc3RhcnQvc3RvcCB2ZnVuYyBzZW1hbnRpY3MgaW4gbGluZSB3aXRoIG90aGVyIGJhc2VjbGFzc2VzCgkgIFN1Yi1jbGFzcyBzaG91bGQgbm90IGhhdmUgdG8gY2hhaW4gdXAgdG8gR3N0QWdncmVnYXRvcidzIHN0YXJ0L3N0b3AKCSAgdmZ1bmNzLCBzYW1lIGFzIGluIEdzdEJhc2VTcmMsIEdzdEJhc2VTaW5rLCBHc3RCYXNlVHJhbnNmb3JtIGV0Yy4KCjIwMTQtMTItMzAgMTU6Mjk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGZpeCBvdXRwdXQtYmxvY2stc2l6ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxNC0xMi0zMCAwODowNzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb25seSB0eXBlZmluZCB3aGVuIHdlIGhhdmUgYSBtaW5pbXVtIGFtb3VudCBvZiBkYXRhCgkgIEZvciBzbWFsbCBhbW91bnRzIHNvbWUgZGF0YSBtaWdodCBiZSBtaXN0eXBlZCBhbmQgaXQgd291bGQgY2F1c2UKCSAgdGhlIHBpcGVsaW5lIHRvIGZhaWwuIEZvciBleGFtcGxlIGlmIHlvdSBoYXZlIEFBQyBpbnNpZGUgbXBlZ3RzLAoJICBmb3Igc21hbGwgYW1vdW50cywgdGhlIEFBQyBzYW1wbGVzIHdvdWxkIGNhdXNlIHRoZSB0eXBlZmluZGVyIHRvCgkgIHRoaW5rIGl0IGlzIEFBQyBhbmQgbm90IG1wZWd0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA2MQoKMjAxNC0xMi0yOSAxMTo0OTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIDRLIC8gVUhEIG1vZGVzCgoyMDE0LTEyLTI5IDExOjQ5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24KCjIwMTQtMTItMjkgMTA6NDQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCB0cnkgdG8gcmVmIG51bGwgcG9pbnRlcgoJICBQbGF5bGlzdHMgbWlnaHQgYmUgbWlzc2luZyB0aGUgYXZhaWxhYmlsaXR5IHN0YXJ0IHRpbWUsIHNvIGNoZWNrIGZvcgoJICBpdCBiZWZvcmUgdHJ5aW5nIHRvIHJlZiB0aGUgb2JqZWN0CgoyMDE0LTEyLTI5IDEwOjQ0OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBydW4gZ3N0LWluZGVudCBvbiBtcGRwYXJzZXIKCSAgUnVuIGdzdC1pbmRlbnQgb24gbXBkcGFyc2VyIHRvIGhhdmUgaXQgc3RvcCBjb21wbGFpbmluZyBvbiBldmVyeQoJICBjb21taXQKCjIwMTQtMTItMjggMTg6MjY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBwb2ludGxlc3MgR1NUX0RFQlVHX0ZVTkNQVFIKCSAgTm90IHVzZWZ1bCBmb3IgR09iamVjdCB2ZnVuY3MuCgoyMDE0LTEyLTI4IDE4OjI0OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgZHVwbGljYXRlIHBhZCBwYXJlbnRfY2xhc3MgdmFyaWFibGUKCSAgR19ERUZJTkVfVFlQRSBhbHJlYWR5IHByb3ZpZGVzIG9uZSwganVzdCBuZWVkIHRvIHVzZSBpdC4KCjIwMTQtMTItMjggMTg6MjI6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBfQ0FTVCgpIHZhcmlhbnRzIGZvciBjYXN0IG1hY3JvcwoKMjAxNC0xMi0yOCAwMToxMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIGFnZ3JlZ2F0b3I6IG1ha2UgcGFkZGluZyBsYXJnZXIKCSAgRXNwLiB0aGUgY2xhc3Mgc3RydWN0dXJlcywgY2FuJ3QgaGF2ZSBlbm91Z2gKCSAgc3BhcmUgc3BhY2UgZm9yIHZpcnR1YWwgZnVuY3Rpb25zLgoKMjAxNC0xMi0yOCAwMDo1ODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuOiByZW1vdmUgdW5uZWVkZWQgc3RydWN0dXJlIHBhZGRpbmcKCSAgUHVibGljIGhlYWRlcnMgYXJlIHByaXZhdGUgYW5kIG5vdCBpbnN0YWxsZWQuCgoyMDE0LTEyLTI3IDE2OjE1OjQxICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IExvZyB0byB0aGUgcGFkIGluc3RlYWQgb2YgdGhlIGVsZW1lbnQKCSAgTW9yZSBjb3JyZWN0IHdheSBvZiBkb2luZyB0aGUgc2FtZSB0aGluZyBhcyBiZWZvcmUKCjIwMTQtMTItMjcgMTU6NTA6MTcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBQb2ludCB0byBjb21wb3NpdG9yIGZvciB0aGUgcGFkIHByb3BlcnRpZXMgZG9jdW1lbnRhdGlvbgoKMjAxNC0xMi0yNyAxNTo0OTo0NyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBEb2N1bWVudCB0aGUgcGFkIHByb3BlcnRpZXMKCjIwMTQtMTItMjcgMTU6NDk6MzkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9jdW1lbnQgdGhlIHBhZCBwcm9wZXJ0aWVzCgoyMDE0LTEyLTI3IDA5OjQ5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBNYWtlIHN1cmUgdGhhdCB0aGUgbWluaW11bSBsYXRlbmNpZXMgYXJlIG5ldmVyIEdTVF9DTE9DS19USU1FX05PTkUKCjIwMTQtMTItMjcgMDk6NDI6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFdhaXQgZm9yIHRoZSBtaW5pbXVtIGxhdGVuY3ksIG5vdCB0aGUgbWF4aW11bQoJICBUaGUgbWluaW11bSBsYXRlbmN5IGlzIHRoZSBsYXRlbmN5IHdlIGhhdmUgdG8gd2FpdCBhdCBsZWFzdAoJICB0byBndWFyYW50ZWUgdGhhdCBhbGwgdXBzdHJlYW1zIGhhdmUgcHJvZHVjZWQgZGF0YS4gVGhlIG1heGltdW0KCSAgbGF0ZW5jeSBoYXMgbm8gbWVhbmluZyBsaWtlIHRoYXQgYW5kIHNob3VsZG4ndCBiZSB1c2VkIGZvciB3YWl0aW5nLgoKMjAxNC0xMi0yNyAwNDoyMTozNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDbGFtcCB0aGUgbWluIGxhdGVuY3kgYXQgdGhlIG1heCBpZiBpdCdzIGdyZWF0ZXIKCjIwMTQtMTItMjcgMDQ6MjE6MjYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJpbnQgdGhlIHNpbmtwYWQgbmFtZSB3aGlsZSBsb2dnaW5nIGxhdGVuY3kgcXVlcmllcwoJICBWZXJ5IHVzZWZ1bCB3aGlsZSBkZWJ1Z2dpbmcuCgoyMDE0LTEyLTI3IDA0OjE5OjUyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFRha2UgdGhlIHN0cmVhbSBsb2NrIHdoZW4gaXRlcmF0aW5nIHNpbmsgcGFkcwoJICBXaGVuIGl0ZXJhdGluZyBzaW5rIHBhZHMgdG8gY29sbGVjdCBzb21lIGRhdGEsIHdlIHNob3VsZCB0YWtlIHRoZSBzdHJlYW0gbG9jayBzbwoJICB3ZSBkb24ndCBnZXQgc3RhbGUgZGF0YSBhbmQgcG9zc2libHkgZGVhZGxvY2sgYmVjYXVzZSBvZiB0aGF0LiBUaGlzIGZpeGVzCgkgIGEgZGVmaW5pdGl2ZSBkZWFkbG9jayBpbiBfd2FpdF9hbmRfY2hlY2soKSB0aGF0IG1hbmlmZXN0cyB3aXRoIGhpZ2ggbWF4CgkgIGxhdGVuY2llcyBpbiBhIGxpdmUgcGlwZWxpbmUsIGFuZCBmaXhlcyBvdGhlciBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbnMuCgoyMDE0LTEyLTI2IDIzOjA1OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGRvIG5vdCBzZXQgc291cmNlIHN0YXRlIHdpdGggbG9jawoJICBJdCBtaWdodCBiZSByYWN5IHdpdGggdGhlIGltYWdlIHByb2JlIHRocmVhZCBhcyBpdCB1c2VzIHRoZSBjYXB0dXJlCgkgIG11dGV4IGp1c3QgbGlrZSB0aGUgc3RhcnQtY2FwdHVyZSBoYW5kbGVyIGZyb20gY2FtZXJhYmluLiBUaGUKCSAgc3RhcnQtY2FwdHVyZSB3b3VsZCBiZSB3YWl0aW5nIGZvciB0aGUgc291cmNlJ3Mgc3RyZWFtaW5nIHRocmVhZAoJICB0byBzdG9wIHRvIGJlIGFibGUgdG8gc2V0IHRoZSBzb3VyY2Ugc3RhdGUgdG8gcmVhZHkgd2hpbGUgdGhlCgkgIHByb2JlIHdvdWxkIGJlIGJsb2NrZWQgd2FpdGluZyB0byBhY3F1aXJlIHRoZSBjYXB0dXJlIG11dGV4LgoJICBJdCBjYXVzZXMgYSBkZWFkbG9jay4KCjIwMTQtMTItMjYgMTA6MTc6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogdXNlIHRoZSBkcmFpbiBxdWVyeSBpbnN0ZWFkIG9mIGZsdXNoCgkgIFRoZSBmbHVzaCBtaWdodCBjbGVhciBhbnkgcGVuZGluZyBjYXB0dXJlcyB0aGF0IGFyZSBzdGlsbCBpbgoJICBxdWV1ZXMgYmVpbmcgcHJvY2Vzc2VkIHdoaWxlIHRoZSBkcmFpbiBxdWVyeSB3aWxsIHdhaXQgZm9yIHRob3NlCgkgIHRvIGJlIHByb3Blcmx5IGRvbmUKCjIwMTQtMTItMjYgMjI6NDU6NDEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGltcHJvdmUgdGltZXN0YW1wIGNvZGUKCSAgVXNlIGEgY29tYmluYXRpb24gb2YgdGhlIHJ1bm5pbmcgdGltZSBhbmQgQ01DbG9ja0dldFRpbWUgZnJvbSBBVkYgdG8gY29tcHV0ZQoJICB0aW1lc3RhbXBzLgoKMjAxNC0xMi0yNiAxMTo0ODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogdXNlIHB1YmxpYyBBUEkgZm9yIGFjY2Vzc2luZyBzdHJlYW0gaGVhZGVyIGFycmF5cyBpbiBjYXBzCgkgIERvbid0IHJlbHkgb24gY29yZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLCB3aGljaCBhcmUgcHJpdmF0ZSBhbmQKCSAgbWF5IGNoYW5nZS4gSXQncyBhbHNvIG5vdCBuZWVkZWQgaGVyZSwgdGhlIHBlcmZvcm1hbmNlIGltcGFjdCBpcwoJICBjbG9zZSB0byBub25lLiBBbHNvIGNvcHkgYnVmZmVyIGJlZm9yZSBjaGFuZ2luZyBpdHMgbWV0YWRhdGEuCgoyMDE0LTEyLTI2IDExOjI5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgdGVzdHM6IGdkcGRlcGF5OiB1cGRhdGUgZm9yIGludGVybmFsIGdkcCByZWZhY3RvcmluZwoJICBUaGlzIHRlc3QgdXNlcyBzb21lIGludGVybmFsL3ByaXZhdGUgQVBJLCBzbyBuZWVkcyB0bwoJICBiZSB1cGRhdGVkIGZvciByZWNlbnQgY2hhbmdlcy4KCjIwMTQtMTItMjYgMTE6Mjc6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHJlZmFjdG9yIHBheWxvYWRpbmcgY29kZSBhIGxpdHRsZQoJICBHZXQgcmlkIG9mIHNvbWUgaW5kaXJlY3Rpb25zIGFuZCBpbmVmZmljaWVuY2llcywKCSAganVzdCBwYXlsb2FkIHRoaW5ncyBkaXJlY3RseSB3aGljaCBnaXZlcyB1cyBtb3JlCgkgIGNvbnRyb2wgb3ZlciB3aGF0IG1lbW9yeSBpcyBhbGxvY2F0ZWQgd2hlcmUgYW5kCgkgIGhvdyBhbmQgbWFrZXMgdGhpbmdzIG11Y2ggc2ltcGxlci4gSW4gcGFydGljdWxhciwKCSAgd2UgY2FuIG5vdyBhbGxvY2F0ZSB0aGUgcGF5bG9hZCBoZWFkZXIgcGx1cyB0aGUKCSAgR3N0TWVtb3J5IHRvIHJlcHJlc2VudCBpdCBpbiBvbmUgZ28uCgoyMDE0LTEyLTE1IDAwOjQxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgZ2RwcGF5OiByZWZhY3RvciBhIGxpdHRsZQoJICBHZXQgcmlkIG9mIG5vdy11c2VsZXNzIHBhY2tldGl6ZXIgc3RydWN0IGFuZCBqdXN0CgkgIGNhbGwgaW50ZXJuYWwgZnVuY3Rpb25zIGRpcmVjdGx5LiBBbHNvIHJlbW92ZQoJICB2ZXJzaW9uIHByb3BlcnR5IHdoaWNoIGlzIG5vdyBkZWZ1bmN0LCBub3QgbGVhc3QKCSAgYmVjYXVzZSB3ZSBjcmVhdGUgdGhlIHBhY2tldGl6ZXIgd2l0aCB0aGUKCSAgdmVyc2lvbiBpbiB0aGUgaW5pdCBmdW5jdGlvbiBiZWZvcmUgYSB2ZXJzaW9uCgkgIGNhbiBiZSBzZXQuCgoyMDE0LTEyLTEzIDE2OjQ2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBnZHBwYXk6IGluaXRpYWxpc2UgbWVtb3J5IG9mIGJ1ZmZlcnMgdXNlZCBpbiB1bml0IHRlc3QKCjIwMTQtMTItMTMgMTU6MjM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHBwYXk6IG9wdGltaXNlIHBheWxvYWRpbmcgb2YgYnVmZmVycyB3aXRoIG11bHRpcGxlIG1lbW9yaWVzCgkgIEFkZCBmdW5jdGlvbiB0byBjYWxjdWxhdGUgYSBwYXlsb2FkIENSQyBhY3Jvc3MgbXVsdGlwbGUgbWVtb3JpZXMKCSAgc28gd2UgZG9uJ3QgaGF2ZSB0byBtZXJnZSBidWZmZXJzIHdpdGggbXVsdGlwbGUgbWVtb3JpZXMganVzdCB0bwoJICBjYWxjdWxhdGUgdGhlIENSQy4gQWxzbyBtYWtlIENSQyBjYWxjdWxhdGlvbiBmdW5jdGlvbiBzdGF0aWMsCgkgIHNpbmNlIGl0J3Mgbm90IHVzZWQgb3V0c2lkZSBkYXRhcHJvdG9jb2wuaCBhbmQgbW92ZSBzcGVjaWFsLWNhc2luZwoJICBvZiBsZW5ndGggPSAwIC0+IENSQyA9IDAgaW50byBDUkMgZnVuY3Rpb24gKGZyb20gY2FsbGVyKS4KCSAgUGVyaGFwcyBtb3JlIGltcG9ydGFudGx5LCBzaW5jZSBwYXlsb2FkIENSQyBpcyBvZmYgYnkgZGVmYXVsdDoKCSAgZG9uJ3QgbWFwIGJ1ZmZlciAoYW5kIHBvc3NpYmx5IG1lcmdlIG1lbW9yaWVzIGluIHRoZSBwcm9jZXNzKQoJICBpZiB3ZSBhcmUgbm90IGdvaW5nIHRvIHVzZSBpdCB0byBjYWxjdWxhdGUgYSBDUkMgYW55d2F5LgoKMjAxNC0xMi0xMyAxNToxOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcHBheTogZGF0YXByb3RvY29sOiBkcm9wIGJvZ3VzIGNvbnN0CgkgIERvZXNuJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UgZ2l2ZW4gdGhhdCB3ZSBtYXAKCSAgaXQgYW5kIHBvc3NpYmx5IG1lcmdlIG1lbW9yaWVzIGFuZCBzdWNoLgoKMjAxNC0xMS0yNCAxMjoxODozNiAtMDcwMCAgVmlqYXkgSmF5YXJhbWFuIDxWaWpheS5KYXlhcmFtYW5AZWNob3N0YXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdHlwZWZpbmQgbWlnaHQgZmFpbCBpZiBmaXJzdCBidWZmZXIgaXMgdG9vIHNob3J0CgkgIElmIHR5cGVmaW5kIGZhaWxzLCBjaGVjayB0byBzZWUgaWYgdGhlIGJ1ZmZlciBpcyB0b28gc2hvcnQgZm9yIHR5cGVmaW5kLiBJZiB0aGlzIGlzIHRoZSBjYXNlLAoJICBwcmVwZW5kIHRoZSBkZWNyeXB0ZWQgYnVmZmVyIHRvIHRoZSBwZW5kaW5nIGJ1ZmZlciBhbmQgdHJ5IGFnYWluIHRoZSBuZXh0IHRpbWUgYXJvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDU4CgoyMDE0LTA4LTI3IDE2OjI2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHBvcnQgdG8gYWRhcHRpdmUgYmFzZSBjbGFzcwoJICBDb25mbGljdHM6CgkgIGV4dC9obHMvZ3N0aGxzZGVtdXguYwoJICBleHQvaGxzL2dzdGhsc2RlbXV4LmgKCjIwMTQtMTItMjMgMDE6NTE6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogY2hlY2sgaWYgZWxlbWVudCBleGlzdHMgYmVmb3JlIHNldHRpbmcgaXQgdG8gbnVsbAoJICBVbmRlciBjZXJ0YWluIGVycm9yIGNvbmRpdGlvbnMgaXQgbWlnaHQgaGFwcGVuIHRoYXQgdGhlIGVsZW1lbnQKCSAgaGFzIGJlZW4gZnJlZWQgYWxyZWFkeSBhbmQgdHJ5aW5nIHRvIHNldCBpdCB0byBOVUxMIGNhdXNlcyBhbgoJICBhc3NlcnRpb24KCjIwMTQtMTItMjMgMDE6NTE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogbWFrZSBzdXJlIHRhc2sgaGFzIHN0b3BwZWQgYmVmb3JlIGZyZWVpbmcgaXQKCSAgT3RoZXJ3aXNlIHRoZSB0aHJlYWQgd2lsbCBiZSBydW5uaW5nIGFuZCBpdHMgbWVtb3J5IHdpbGwgZ2V0IGZyZWVkLgoJICBUaGlzIGxlYWRzIHRvIG1lbW9yeSBjb3JydXB0aW9uCgoyMDE0LTEyLTIzIDAxOjQ4OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWdtZW50IHN0YXJ0IHdoZW4gZXhwb3NpbmcgbmV3IHN0cmVhbXMKCSAgU2VnbWVudCBzdGFydCBuZWVkcyBvbmx5IHRvIGJlIHVwZGF0ZWQgd2hlbiBzdGFydGluZyB0aGUgc3RyZWFtcwoJICBvciBhZnRlciBhIHNlZWssIGRvaW5nIGl0IGR1cmluZyBiaXRyYXRlIGNoYW5nZXMgd2lsbCBjYXVzZSB0aGUKCSAgcnVubmluZyB0aW1lIHRvIGdvIGRpc2NvbnRpbnVvdXMgKGp1bXAgYmFjayB0byBhIHByZXZpb3VzIHRzKQoJICBhbmQgUU9TIHdpbGwgZHJvcCBidWZmZXJzCgoyMDE0LTEyLTE5IDAyOjIyOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbG93IHN1YmNsYXNzIHRvIHVzZSBuZXcgcGFkcyBncm91cCB3aGVuIHN3aXRjaGluZyBiaXRyYXRlCgkgIEZpeCBwYWQgZ3JvdXBzIHN3aXRjaGluZyB3aGVuIGJpdHJhdGUgY2hhbmdlcyB0byBhbGxvdyBITFMgdG8gdXNlIHRoaXMgZmVhdHVyZQoKMjAxNC0xMi0yMyAxMjoyNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogSWYgZ2V0dGluZyBhIHRpbWVvdXQgYmVmb3JlIGhhdmluZyBjYXBzLCBqdXN0IGFkdmFuY2Ugb3VyIHBvc2l0aW9uCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGlzIGlzIGEgbGl2ZSBwaXBlbGluZSBhbmQgbm8gc291cmNlIHByb2R1Y2VkIGFueSBidWZmZXIKCSAgYW5kIHNlbnQgbm8gY2FwcyB1bnRpbCB0aGUgYW4gb3V0cHV0IGJ1ZmZlciBzaG91bGQndmUgYmVlbiBwcm9kdWNlZCBhY2NvcmRpbmcKCSAgdG8gdGhlIGxhdGVuY3kuCgoyMDE0LTEyLTIzIDEyOjE1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBNYWtlIHN1cmUgdG8gcmVsZWFzZSB0aGUgY3VycmVudCBidWZmZXIgaW4gcmVzZXQoKQoJICBJZiB3ZSBkaWRuJ3Qgb3V0cHV0IHRoZSBsYXN0IG9uZSBpbiBhZ2dyZWdhdGUgYmVjYXVzZSB3ZSB3ZXJlIHNodXR0aW5nIGRvd24KCSAgZWFybGllciB3ZSBtaWdodCBvdGhlcndpc2UgbGVhayBpdC4KCjIwMTQtMTItMjMgMTE6NDU6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBDaGFuZ2UgYmxvY2tzaXplIHByb3BlcnR5IHRvIG91dHB1dC1idWZmZXItZHVyYXRpb24gaW4gdGltZSBmb3JtYXQKCSAgVGhpcyBtYWtlcyB0aGUgaW50ZXJmYWNlIG9mIGF1ZGlvbWl4ZXIgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBjYXBzLgoKMjAxNC0xMi0yMyAxMTo0NTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgbGVhayBmbHVzaC1zdGFydCBldmVudHMKCjIwMTQtMTItMjMgMTA6MjQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFsc28gY2hhbmdlIHRoZSBkZWZhdWx0IGxhdGVuY3kgdG8gMCwgbm90IGp1c3QgdGhlIG1pbmltdW0KCjIwMTQtMTItMjMgMDk6NTI6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBkb2NzIGFuZCBkZWZhdWx0IHZhbHVlIG9mIHRoZSBsYXRlbmN5IHByb3BlcnR5CgoyMDE0LTEyLTIyIDIyOjE5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBbHNvIGluY2x1ZGUgdGhlIHN1YmNsYXNzIGxhdGVuY3kgaW4gdGhlIHJlc3VsdCBvZiB0aGUgbGF0ZW5jeSBxdWVyeQoKMjAxNC0xMi0yMiAyMjoxMTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBVc2UgdGhlIHNyYyBxdWVyeSBpbXBsZW1lbnRhdGlvbiBvZiBhZ2dyZWdhdG9yIGFzIHRoZSBkZWZhdWx0IGNhc2UKCjIwMTQtMTItMjIgMjI6MTE6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFVzZSB0aGUgc3JjIHF1ZXJ5IGltcGxlbWVudGF0aW9uIG9mIGFnZ3JlZ2F0b3IgYXMgdGhlIGRlZmF1bHQgY2FzZQoKMjAxNC0xMi0yMiAxNjo0NTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiB0YWtlIGludG8gYWNjb3VudCBmaWx0ZXIgaW4gdHJhbnNmb3JtX2NhcHMgZnVuY3Rpb24KCSAgRml4ZXMgY3JpdGljYWxzIHdoZW4gZmlsdGVyIGNhcHMgYXJlIHBhc3NlZC4KCSAgQWxzbyBmaXggd3JvbmcgR1NUX0RFQlVHX09CSkVDVCB1c2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE4NjMKCjIwMTQtMTItMjIgMTU6MjY6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFBvc3QgYSBsYXRlbmN5IG1lc3NhZ2UgaWYgdGhlIHZhbHVlIG9mIHRoZSBsYXRlbmN5IHByb3BlcnR5IGNoYW5nZXMKCjIwMTQtMTItMjIgMTU6MDM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFdha2UgdXAgdGhlIHNyYyB0aHJlYWQgYWZ0ZXIgaGFuZGxpbmcgYSBsYXRlbmN5IHF1ZXJ5CgkgIER1ZSB0byBjaGFuZ2VkIGxhdGVuY2llcyBvciBjaGFuZ2VkIGxpdmUtbmVzcyB3ZSBtaWdodCBoYXZlIHRvCgkgIGFkanVzdCBpZiB3ZSB3YWl0IG9uIGEgZGVhZGxpbmUgYXQgYWxsIGFuZCBob3cgbG9uZy4KCjIwMTQtMTItMjIgMTU6MDA6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGNvdW50IHRoZSBudW1iZXIgb2YgdGltZXMgd2UgbmVlZCB0byB3YWtlIHVwIGJ1dCBpbnN0ZWFkIGNoZWNrIGFsbCBjb25kaXRpb25zIGZvciB3YWl0aW5nIGFnYWluCgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhbmQgYWxzbyBtYWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgZm9yZ2V0IHRvIGNoZWNrIGFsbAoJICBjb25kaXRpb25zIGZvciB3YWl0aW5nLgoJICBBbHNvIGZpeCBhIHBvdGVudGlhbCBkZWFkbG9jayBjYXVzZWQgYnkgbm90IGNoZWNraW5nIGlmIHdlJ3JlIGFjdHVhbGx5IHN0aWxsCgkgIHJ1bm5pbmcgYmVmb3JlIHN0YXJ0aW5nIHRvIHdhaXQuCgoyMDE0LTEyLTIyIDExOjQ5OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEluc3RlYWQgb2YgY3Jhc2hpbmcgaWYgbm8gY29ycmVzcG9uZGluZyBmcmFtZSBpcyBmb3VuZCwgaWdub3JlIHRoaXMKCSAgLi4uIGFuZCBob3BlIHRoYXQgZXZlcnl0aGluZyB3aWxsIGJlIGZpbmUuIFRoaXMgc2hvdWxkbid0IHJlYWxseSBoYXBwZW4gYnV0CgkgIHByZXZpb3VzbHkgaGFwcGVuZWQgZHVyaW5nIHNodXRkb3duLiBJdCBzaG91bGQgYmUgZml4ZWQgaW4gdmlkZW9lbmNvZGVyIG5vdywKCSAgYnV0IGJldHRlciBiZSBvbiB0aGUgc2FmZSBzaWRlIGhlcmUuCgoyMDE0LTEyLTIyIDExOjQ2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTUFJTlRBSU5FUlM6CgkgIE1BSU5UQUlORVJTOiBVcGRhdGUgbXkgbWFpbCBhZGRyZXNzCgoyMDE0LTEyLTIxIDA3OjQ3OjI1IC0wNTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkgIGF1ZGlvbWl4ZXI6IGZpeCBidWlsZCBmbGFnIG9yZGVyCgkgIEhhdmUgdGhlIGxpYnJhcmllcy9pbmxjdWRlcyBmcm9tIHBsdWdpbnMtYmFkIGZpcnN0IHRvIGF2b2lkIHBpY2tpbmcgdXAgdGhlIGluc3RhbGxlZCB2ZXJzaW9uLgoJICBGaXhlcyB0aGUgYnVpbGQgd2hlbiB0aGUgbG9jYWwgYXBpIGNoYW5nZWQuCgoyMDE0LTEyLTIwIDEyOjI0OjUzIC0wNTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZyZWV2ZXJiL0dzdEZyZWV2ZXJiLnByczoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJICBmcmVldmVyYjogYWRkIGEgZmV3IHByZXNldHMKCjIwMTQtMTItMTkgMTM6MTg6NTAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdGVzdDogUG9ydCB0byBuZXcgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTkgMTI6MjI6MTIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBBbHdheXMgcmVjYWxjdWxhdGUgYnVmZmVyIHNpemUKCSAgQWN0dWFsbHkgd2Ugc2hvdWxkIGFsd2F5cyByZWNhbGN1bGF0ZSBidWZmZXIgc2l6ZSBzaW5jZSBvdXIgYnVmZmVyIHNpemUKCSAgZXZlbiB3aGVuIG5vdC1wYWRkZWQgaXMgc21hbGxlciBmb3IgbWFueSBzdWItc2FtcGxlZCBmb3JtYXRzLiBUaGlzIGlzCgkgIGJlY2F1c2Ugd2UgZG9uJ3QgYWRkIHBhZGRpbmcgYmV0d2VlbiB0aGUgcGxhbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTE5IDEyOjEyOjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IE5vIG5lZWQgZm9yIHBhZGRpbmcKCSAgQSBtZW1vcnkgb2JqZWN0IGNhbm5vdCBiZSBwdXQgb24gc3RhY2ssIHNvIG5vIG5lZWQgZm9yIHBhZGRpbmcuCgoyMDE0LTEyLTE5IDEyOjExOjA4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb0FsaWdubWVudAoJICBUaGlzIGFsbG93IHNhdmluZyBhIGNvcHkgd2l0aCBsaWJhdiB2aWRlbyBkZWNvZGVycyBvciBkZWNvZGVycyB3aXRoCgkgIHNpbWlsYXIgcGFkZGluZyByZXF1aXJlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMS0yMiAxMToyNToyMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBIYW5kbGUgdXBsb2FkL2Rvd25sb2FkIGZsYWdzIGZyb20gbWFwCgkgIFByb2JsZW0gd2FzIHRoYXQgaWYgYnVmZmVyIHdhcyBtYXBwZWQgUkVBRFdSSVRFIChzdGF0ZSBvZiBidWZmZXJzIGZyb20KCSAgbGliYXYgcmlnaHQgbm93KSwgbWFwcGluZyBpdCBSRUFEL0dMIHdpbGwgbm90IHVwbG9hZC4gVGhpcyBpcyBiZWNhdXNlIHRoZQoJICBmbGFnIGlzIG9ubHkgc2V0IHdoZW4gdGhlIGJ1ZmZlciBpcyB1bm1hcHBlZC4gV2UgY2FuIGZpeCB0aGlzIGJ5IHNldHRpbmcKCSAgdGhlIGZsYWdzIGluIG1hcC4gVGhpcyByZXN1bHQgaW4gYWxyZWFkeSBtYXBwZWQgYnVmZmVyIHRoYXQgZ2V0IG1hcHBlZAoJICB0byBiZSByZWFkIGluIEdMIHdpbGwgYmUgdXBsb2FkZWQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgaWYgdGhlIHdyaXRlCgkgIG1hcHBlciBtYWtlcyBtb2RpZmljYXRpb24gYWZ0ZXJ3YXJkLCB0aGUgbW9kaWZpY2F0aW9uIHdpbGwgbmV2ZXIgZ2V0CgkgIHVwbG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTEzIDIxOjQ3OjM4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogSGFuZGxlIGN1c3RvbSBzdHJpZGUgd2l0aCBPUEVOR0wzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTkgMTU6MDU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYwoKMjAxNC0xMi0xOSAxNDo1MDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBSZS1hZGQgdGhlIENPTSBpbml0aWFsaXphdGlvbiBjb2RlIGZvciBXaW5kb3dzCgkgIFVudGVzdGVkLCBhbmQgd2Ugd2lsbCBuZXZlciBkZWluaXRpYWxpemUgQ09NIGFnYWluLgoKMjAxNC0xMi0xOSAxNDozODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbms6IFJlbW92ZSBpbi1zYW1lLXBpcGVsaW5lIGRldGVjdGlvbiBjb2RlIGZvciBhdWRpby92aWRlbyBlbGVtZW50cyBvZiB0aGUgc2FtZSBkZXZpY2UKCSAgVGhpcyBjYXVzZXMgZGVhZGxvY2tzIHNvbWV0aW1lcyBmb3Igc29tZSByZWFzb24uCgoyMDE0LTEyLTE5IDE0OjM1OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBJbXBsZW1lbnQgY2xvY2sgc2xhdmluZwoKMjAxNC0xMi0xOSAxMzo1MjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dCBmb3Igd2hlbiBmcmFtZXMgYXJlIHNjaGVkdWxlZAoKMjAxNC0xMi0xOSAxMzoyODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IGZvciBjb25maWd1cmluZyB0aGUgYnVmZmVyIHNpemUgb2YgdGhlIHNvdXJjZXMKCjIwMTQtMTItMTkgMTM6MjQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEltcGxlbWVudCB0aW1lc3RhbXAgaml0dGVyIGFuZCBkaXNjb250IGhhbmRsaW5nCgoyMDE0LTEyLTE5IDEyOjM3OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBPdXIgY2FwdHVyZSB0aW1lIGlzIHRoZSBlbmQgdGltZXN0YW1wIG9mIHRoZSBidWZmZXIsIHN1YnRyYWN0IHRoZSBkdXJhdGlvbgoKMjAxNC0xMi0xOSAxMjozMDowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWxsb3cgZm9yIGEgbWF4aW11bSBvZiA1IHBhY2tldHMgdG8gYmUgcXVldWVkIHVwCgkgIEluIGNhc2UgZG93bnN0cmVhbSBpcyBhIGJpdCBzbG93IHdpdGggY29uc3VtaW5nIHBhY2tldHMgYXQgdGltZXMuCgoyMDE0LTEyLTE5IDEyOjAzOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgaW4gc291cmNlcyBhbmQgcmVtZW1iZXIgc2VsZWN0ZWQgbW9kZQoKMjAxNC0xMi0xOCAxODozMDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBSZW1vdmUgb2Jzb2xldGUgZmlsZXMKCjIwMTQtMTItMTggMTc6MzE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBpbml0aWFsIHZlcnNpb24gb2YgYXVkaW8gYW5kIHZpZGVvIHNvdXJjZXMKCjIwMTQtMTItMTMgMTc6MjM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rOiBJbml0aWFsIHZlcnNpb24gb2YgdGhlIGF1ZGlvL3ZpZGVvIHNpbmsgcmV3cml0ZQoKMjAxNC0xMi0xOSAxMzowNDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiBUcmFjayBkaXNjb250LXRpbWUgcGVyIHBhZCBpbnN0ZWFkIG9mIGdsb2JhbGx5CgkgIFdlIGRvIGRpc2NvbnQgaGFuZGxpbmcgcGVyIHBhZCwgbm90IHBlciBlbGVtZW50IQoKMjAxNC0xMi0xNSAxNjoyNzoxNiArMDEwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSAgY3VybHNtdHBzaW5rOiBhZGQgZmluYWwgYm91bmRhcnkgdG8gYWxsIG11bHRpcGFydCBlbWFpbHMKCSAgQ29ycmVjdGVkIHRoZSBmaW5hbCBib3VuZGFyeSBtZWNoYW5pc20gc28gdGhhdCBhIGZpbmFsIGJvdW5kYXJ5IGlzCgkgIGFkZGVkIHRvIGVhY2ggbWFpbCB3aXRoIG11bHRpcGFydCBjb250ZW50IHRoYXQgaXMgc2VudCwKCSAgbm90IGp1c3QgdG8gdGhlIGxhc3Qgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTUzCgoyMDE0LTEyLTE4IDIzOjMzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBXZSdyZSBvbmx5IEVPUyBpZiBhbGwgb3VyIHBhZHMgYXJlIGFjdHVhbGx5IEVPUwoJICBIYXZpbmcgYSBidWZmZXIgb3Igbm90IG9uIHRoZSBwYWQgaXMgaXJyZWxldmFudC4KCjIwMTQtMTItMTggMjI6NDI6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFRoZSBwYWQncyBzaXplIGlzIGFsd2F5cyBzdXBwb3NlZCB0byBiZSB0aGUgd2hvbGUgYnVmZmVyIHNpemUKCSAgQW5kIHRoZSBvZmZzZXQgdGhlIG9mZnNldCBpbnRvIHRoYXQgYnVmZmVyLiBDaGFuZ2luZyB0aGUgc2l6ZSB3aWxsCgkgIGNhdXNlIGFsbCBraW5kcyBvZiBhc3N1bXB0aW9ucyB0byBmYWlsIGFuZCBjYXVzZSBjcmFzaGVzLgoKMjAxNC0xMi0xOCAyMjowNDozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCB0cnkgdG8gbWFwIE5VTEwgYnVmZmVycwoKMjAxNC0xMi0xOCAyMjowMzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVwZGF0ZSB0aGUgcGFkJ3MgdmlkZW9pbmZvIHRvZ2V0aGVyIHdpdGggYnVmZmVycwoJICBPdGhlcndpc2UgdGhlIHZpZGVvaW5mbyBhbmQgdGhlIGJ1ZmZlciBjb250ZW50IGNhbiBnbyBvdXQgb2Ygc3luYy4KCjIwMTQtMTItMTggMTE6NDg6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEZpeCBtZW1vcnkgbGVhayB3aGVuIG5vIGJ1ZmZlciBpcyBhdmFpbGFibGUgZm9yIGEgcGFkIGN1cnJlbnRseQoJICBDSUQgMTI1ODcxOAoKMjAxNC0xMi0xOCAxMDo1NDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWYxZmZkYyB0byBmMmM2Yjk1CgoyMDE0LTEyLTE3IDIyOjAxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IHJldXNlIHRoZSBnc3R2aWRlbyBwcm94eSBnZXRjYXBzCgkgIFRoZSBjYXBzIHF1ZXJ5IGlzIGltcGxlbWVudGluZyB0aGUgc2FtZSBsb2dpYyBhcyB0aGUgZGVmYXVsdAoJICBoYW5kbGVyIGZyb20gdGhlIGJhc2UgY2xhc3MuIFJldXNlIGl0IHRvIHNpbXBsaWZ5IGNvZGUuCgoyMDE0LTEyLTE3IDIxOjUyOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHBsdWcgcmVmIGxlYWsgb2YgdGVtcGxhdGUgY2FwcwoJICB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgaXMgYWxyZWFkeSBhIG5ldyByZWYuIE5vIG5lZWQgdG8gY29weS4KCjIwMTQtMTItMTcgMTk6NTE6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBmdW5jdGlvbiB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIHNldCB0aGVpciBvd24gbGF0ZW5jeQoJICBGb3IgYXVkaW9taXhlciB0aGlzIGlzIG9uZSBibG9ja3NpemUsIGZvciB2aWRlb2FnZ3JlZ2F0b3IgdGhpcyBzaG91bGQKCSAgYmUgdGhlIGR1cmF0aW9uIG9mIG9uZSBvdXRwdXQgZnJhbWUuCgoyMDE0LTEyLTE3IDE5OjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBNYWtlIHN1cmUgdG8gbm90IGhhdmUgcGFkcyBiZWluZyBiZWhpbmQgdGhlIGN1cnJlbnQgb2Zmc2V0CgkgIFdlIHdvdWxkIGJyZWFrIHN5bmMgYmV0d2VlbiB0aGUgZGlmZmVyZW50IHN0cmVhbXMgdGhlbi4KCjIwMTQtMTItMTcgMTc6NTQ6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBhIHRpbWVvdXQgcGFyYW1ldGVyIHRvIDo6YWdncmVnYXRlKCkKCSAgV2hlbiB0aGlzIGlzIFRSVUUsIHdlIHJlYWxseSBoYXZlIHRvIHByb2R1Y2Ugb3V0cHV0LiBUaGlzIGhhcHBlbnMKCSAgaW4gbGl2ZSBtaXhpbmcgbW9kZSB3aGVuIHdlIGhhdmUgdG8gb3V0cHV0IHNvbWV0aGluZyBmb3IgdGhlIGN1cnJlbnQKCSAgdGltZSwgbm8gbWF0dGVyIGlmIHdlIGhhdmUgZW5vdWdoIGlucHV0IG9yIG5vdC4KCjIwMTQtMTItMTcgMTg6MjA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBxdWV1ZXMgYWZ0ZXIgdGhlIChsaXZlKSBzb3VyY2VzIGluIHRoZSB1bml0IHRlc3QKCjIwMTQtMTItMTcgMTI6MjA6NTQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGltcHJvdmUgdGltZXN0YW1waW5nIGFuZCBsYXRlbmN5IHJlcG9ydGluZwoJICBVc2UgQVZGIHByb3ZpZGVkIHRpbWluZ3MgdG8gdGltZXN0YW1wIG91dHB1dCBidWZmZXJzLiBVc2UgdGhlIHJ1bm5pbmcgdGltZSBhdAoJICB0aGUgdGltZSB0aGUgZmlyc3QgYnVmZmVyIGlzIHByb2R1Y2VkIHRvIGJhc2UgdGltZXN0YW1wcyBvbi4gUmVwb3J0IDEtZnJhbWUKCSAgbGF0ZW5jeSBiYXNlZCBvbiB0aGUgbmVnb3RpYXRlZCBmcmFtZXJhdGUgaW5zdGVhZCBvZiBoYXJkY29kaW5nIDRtcyBsYXRlbmN5LgoKMjAxNC0xMi0xNSAyMjoyNDoyNiAtMDUwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IFJlbW92ZSBkZXBlbmRlbmN5IG9uIEFUTAoJICBUaGlzIGZpeGVzIGNvbXBpbGluZyB3aXRoIFZpc3VhbCBDKysgRXhwcmVzcwoJICB0aGF0IGRvZXNuJ3QgaW5jbHVkZSBBVEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzcyMjMKCjIwMTQtMTItMDQgMjM6MzA6MjMgLTA1MDAgIE1hdHRoZXcgQmFkZXIgPG1hdHRAaHlwZXJsb2JpYy5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBBZGRlZCBzdXBwb3J0IGZvciBpbWFnZS9qcGVnIGFuZCBoMjY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExODgKCjIwMTQtMTItMTYgMTk6NDk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHM6IGZpeCBhZ2dyZWdhdG9yIHVuaXQgdGVzdCBhZnRlciBwcm9wZXJ0eSByZW5hbWluZwoKMjAxNC0xMi0xNiAxNzozNzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogSW1wbGVtZW50IGdldF9uZXh0X3RpbWUoKQoKMjAxNC0xMi0xNiAxNzozMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDE0LTEyLTA1IDE4OjE5OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBtYWtlIHRoZSBzcmMgcGFkIHRhc2sgZHJpdmUgdGhlIHBpcGVsaW5lIGZvciBsaXZlIHBpcGVsaW5lcwoJICBUaGlzIHJlbW92ZXMgdGhlIHVzZXMgb2YgR0FzeW5jUXVldWUgYW5kIHJlcGxhY2VzIGl0IHdpdGggZXhwbGljaXQKCSAgR011dGV4LCBHQ29uZCBhbmQgd2FrZXVwIGNvdW50IHdoaWNoIGlzIHVzZWQgZm9yIHRoZSBub24tbGl2ZSBjYXNlLgoJICBGb3IgbGl2ZSBwaXBlbGluZXMsIHRoZSBhZ2dyZWdhdG9yIHdhaXRzIG9uIHRoZSBjbG9jayB1bnRpbCBlaXRoZXIKCSAgZGF0YSBhcnJpdmVzIG9uIGFsbCBzaW5rIHBhZHMgb3IgdGhlIGV4cGVjdGVkIG91dHB1dCBidWZmZXIgdGltZQoJICBhcnJpdmVzIHBsdXMgdGhlIHRpbWVvdXQvbGF0ZW5jeSBhdCB3aGljaCB0aW1lLCB0aGUgc3ViY2xhc3MKCSAgcHJvZHVjZXMgYSBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExNDYKCjIwMTQtMTItMDggMTU6MTg6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBhbHdheXMgdHJ5IHRvIHVzZSBuZXdlciBidWZmZXJzCgkgIGluc3RlYWQgb2YgZHJvcHBpbmcgdGhlbSBmb3IgYmVpbmcgdG9vIG9sZC4gIFRoaXMgZW5zdXJlcyB0aGF0CgkgIHRoZSBuZXdlc3QgYnVmZmVyIGlzIGFsd2F5cyB1c2VkIGZvciByZW5kZXJpbmcKCjIwMTQtMTItMTYgMTM6MzU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHJlY3RhbmdsZTogY2xlYXIgcmVjdGFuZ2xlIHN0cnVjdCBiZWZvcmUgdXNlCgoyMDE0LTEyLTE1IDE1OjIxOjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBmcmFtZSBzaXplIGRldGVybWluYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTMyMQoKMjAxNC0wNi0xOSAyMTozMjowOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFVzZSBJbmRleFRhYmxlU2VnbWVudHMuCgkgIFRoaXMgc3BlZWRzIHVwIHNlZWtpbmcgZHJhc3RpY2FsbHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyOTQKCjIwMTQtMTItMTQgMDE6Mjk6MjYgKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0cy9hZ2dyZWdhdG9yOiBVc2UgY29ycmVjdCB0eXBlIHdoZW4gc2V0dGluZyBwcm9wZXJ0eQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNDk1CgoyMDE0LTA1LTA4IDEwOjQxOjAzICswNTMwICBTdWRpcCBKYWluIDxzdWRpcC5qYWluQGxpbmFyby5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBzY2FuIG1vcmUgYnl0ZXMgdG8gZmluZCBpbml0aWFsIFBDUnMKCSAgRml4ZXMgcGxheWJhY2sgb2YgU2Ftc3VuZy1Db2xvcmZ1bC1WYXJpZXR5LTEwODBpLnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzY4CgoyMDE0LTEyLTEyIDIwOjU3OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBSZXZlcnQgIm9wZW5oMjY0OiBmaXggdG8gd29yayB3aXRoIHJlbGVhc2VkIHZlcnNpb25zIGFuZCBtYXN0ZXIgb2YgdXBzdHJlYW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMTUzOTRhYTcwNTQzZjU1YzU0ZmE4YTQ3NDgwNTIyNGY0MTM4Zjc2Yy4KCSAgVGhlIGxhdGVzdCByZWxlYXNlICh2MS4xKSBkb2VzIG5vdCBoYXZlIHBrZy1jb25maWcgc3VwcG9ydAoJICB5ZXQsIHNvIHRoaXMgcGx1Z2luIHdvbid0IGJlIGJ1aWx0IHdpdGggdGhlIGxhdGVzdCByZWxlYXNlLgoJICBDZXJiZXJvIHVzZXMgdGhlIGxhdGVzdCByZWxlYXNlLCBzbyB0aGlzIG1ha2VzIGNlcmJlcm8KCSAgYnVpbGRzIGZhaWwsIHdoaWNoIGV4cGVjdCB0aGUgcGx1Z2luIHRvIGJlIGJ1aWx0LgoJICBXZSBjYW4gcmUtY29tbWl0IHRoaXMgb25jZSB0aGVyZSdzIGEgcmVsZWFzZSB0aGF0IGluY2x1ZGVzCgkgIHBrZy1jb25maWcgc3VwcG9ydC4KCjIwMTQtMTItMTIgMTA6MDU6MjMgLTA4MDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBmaXggdG8gd29yayB3aXRoIHJlbGVhc2VkIHZlcnNpb25zIGFuZCBtYXN0ZXIgb2YgdXBzdHJlYW0KCjIwMTQtMTItMTIgMTE6MjE6MjcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBHc3RFbGVtZW50LT5zdGF0ZSBpcyBwcm90ZWN0ZWQgd2l0aCB0aGUgT0JKRUNUX0xPQ0sKCSAgTm90IHRoZSBTVEFURV9MT0NLLgoJICBnc3Rfd2F0Y2hkb2dfZmVlZCB3YXMgYWxyZWFkeSBhbHdheXMgY2FsbGVkIHdpdGggdGhlIE9CSkVDVF9MT0NLIHRha2VuLgoKMjAxNC0xMS0yNyAyMDo0ODoyNCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogSGlkZSBzb21lIG1vcmUgZmllbGRzIGZyb20gdGhlIEFQSQoJICArIEFkZCBzb21lIGRvY3VtZW50YXRpb24KCjIwMTQtMTItMTIgMDA6MzA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkgIG9udmlmOiBmaXggJ21ha2UgZGlzdCcKCjIwMTQtMTItMTEgMjE6MDE6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZWsgZXZlbnQgaGFuZGxpbmcKCSAgUHJvcGVybHkgZG8gc2Vla2luZyBhbmQgYXZvaWQgb25seSBzZWVraW5nIHdoZW4gdGhlIHNlZ21lbnQgd2FzIHVwZGF0ZWQuCgkgIEl0IHdvdWxkIGNhdXNlIHNlZWtzIGFmdGVyIHRoZSBzdHJlYW0gd2FzIEVPUyB0byBmYWlsLCBmb3IgZXhhbXBsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODkyMAoKMjAxNC0xMS0xNyAxOToyNjo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IEF1dG9tYXRpY2FsbHkgZGlzY292ZXIgdGhlIG50cC1vZmZzZXQgYnkgZGVmYXVsdC4KCSAgVGhpcyBvbmx5IHdvcmtzIGlmIG5vIHBhY2tldHMgYXJlIHB1c2hlZCBpbiBiZWZvcmUgdGhlIHBpcGVsaW5lIGdvZXMKCSAgdG8gcGxheWluZy4gU28gaXQgaGVscHMgdG8gaGF2ZSBhIGxpdmUgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY5CgoyMDE0LTA2LTA1IDE1OjA2OjMzICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnBhcnNlLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnBhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkgIGFkZCBydHBvbnZpZmV4dHJhY3QgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY5CgoyMDE0LTA0LTI4IDExOjA3OjE3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWYuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSAgYWRkIHJ0cG9udmlmdGltZXN0YW1wIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OQoKMjAxNC0xMi0wOCAxMTowMjo1MSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZml4IHBvc2l0aW9uL3RleGNvb3JkIGF0dHJpYiBpbmRleCB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjMxCgoyMDE0LTEyLTExIDE4OjE3OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIGdsZmlsdGVyY3ViZTogdXNlIGEgc2hhZGVyIGV2ZXJ5d2hlcmUKCjIwMTQtMTItMTEgMTg6MTU6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGZpeHVwIHZhbyBhbmQgdmJvIHVzYWdlIGZvciBsZWdhY3kgR0wKCjIwMTQtMTItMTEgMTQ6NTc6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBkb24ndCBhYm9ydCB3aGVuIHNldHRpbmcgdGhlIGVmZmVjdCB0byAwLDEsMgoKMjAxNC0xMi0xMCAxMjo0ODozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzOiBmaXh1cCBzZGwgZXhhbXBsZSBmb3IgZ2x1UGVyc3BlY3RpdmUgcmVtb3ZhbAoKMjAxNC0xMi0wOSAwODozODo1NSAtMDgwMCAgTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogc3VwcG9ydCBjb21waWxlLXRpbWUgZGlzdGluY3Rpb24gYmV0d2VlbiBibHVlejQgYW5kIGJsdWV6NQoJICBTaWduZWQtb2ZmLWJ5OiBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NjI2CgoyMDE0LTEyLTEwIDE4OjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGNoZWNrIHRoZSByZXR1cm4gZnJvbSB1cGRhdGVfbWFuaWZlc3QgY29ycmVjdGx5CgkgIEl0IGlzIGEgR3N0Rmxvd1JldHVybiBhbmQgbm90IGEgYm9vbGVhbgoKMjAxNC0xMi0xMCAwOToyNDoxNyArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQ2hhbmdlIHBlcmlvZCB3aGVuIHNldHRpbmcgYnkgcGVyaW9kIGlkLgoJICBNYWtlIGdzdF9tcGRfY2xpZW50X3NldF9wZXJpb2RfaWQgc2V0IHRoZSBjdXJyZW50IHBlcmlvZCBpbmRleCB3aGVuIGl0IGZpbmRzIGEKCSAgcGVyaW9kIHdpdGggYSBtYXRjaGluZyBwZXJpb2QgaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzMjIKCjIwMTQtMTItMTAgMTU6Mjc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCByZXZlcnNlIHBsYXliYWNrIGZyYWdtZW50IHRyYWNraW5nCgkgIFJld29yayByZXZlcnNlIGZyYWdtZW50IHRyYXZlcnNpbmcgd2l0aCByZXBldGl0aW9uIGZpZWxkcyB0byBwcmV2ZW50CgkgIE5VTEwgcG9pbnRlciBkZXJlZiBhbmQgYXZvaWQgbmV2ZXIgYWR2YW5jaW5nIGEgZnJhZ21lbnQgYXMgdGhlIHZhcmlhYmxlCgkgIGlzIHVuc2lnbmVkIGFuZCB3b3VsZCBhbHdheXMgYmUgbm9uLW5lZ2F0aXZlLgoJICBDSUQgIzEyNTc2MjcKCSAgQ0lEICMxMjU3NjI4CgoyMDE0LTEyLTExIDAwOjAyOjI2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBidW1wIHJhbmsgdG8gUFJJTUFSWQoKMjAxNC0xMi0xMCAyMjozNjo1MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogbmVnb3RpYXRlIHByb2ZpbGUgYW5kIGxldmVsIHdpdGggZG93bnN0cmVhbQoKMjAxNC0xMi0xMCAxOTo0NDowMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogcmVwb3J0IGxhdGVuY3kKCjIwMTQtMTItMDUgMTY6MjA6MDggKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpbmQgY3VycmVudCBzZWdtZW50IGluIHRoZSBzdHJlYW1zIHRoYXQgaGF2ZSBqdXN0IGJlZW4gc2V0dXAKCSAgVXNpbmcgZGVtdXgtPnN0cmVhbXMgd2lsbCBqdXN0IHNraXAgdGhlIHdob2xlIGxvb3AgYXMgZGVtdXgtPnN0cmVhbXMgd2lsbAoJICBhbHdheXMgYmUgTlVMTCBhdCB0aGF0IHBvaW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyODUKCjIwMTQtMTItMDkgMDU6MDM6MTEgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkgIG1pcnJvcjogTmVlZHMgcmVtYXAgd2hlbiB0aGUgbW9kZSBjaGFuZ2VzLgoJICBUaGlzIGNhdXNlZCB0aGUgdXNlciB0byB0aGluayB0aGUgbW9kZSB3YXNuJ3QgdGFrZW4gaW50byBhY2NvdW50LgoKMjAxNC0xMi0wOSAwNDoyODoxNyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzkxMGNiZTdjZTFhNjdlZDU1MDZmODdlNGM1YTAwNWMxNjhkMGU2Yy4KCjIwMTQtMTItMDggMDg6NTM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IHRyeSB0byB1bmxvY2sgbm90IGxvY2tlZCBtdXRleAoJICBBIG1pc3BsYWNlZCB1bmxvY2sgd2FzIGNhdXNpbmcgYW4gYXNzZXJ0aW9uIGZvciBwbGF5YmFjayB3aXRoIGEKCSAgc2V0IHN0b3AgdGltZQoKMjAxNC0xMi0wOCAwODoyNDoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogYnVpbGQgb3JkZXI6IHVyaWRvd25sb2FkZXIgYmVmb3JlIGFkYXB0aXZlZGVtdXgKCSAgT3RoZXJ3aXNlIG1ha2UgaW5zdGFsbCBmYWlscwoKMjAxNC0xMi0wNSAxNjozMzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBtYXhpbXVtIGtleWZyYW1lIGludGVydmFsIGluIGZyYW1lcyBhbmQgc2Vjb25kcwoKMjAxNC0xMi0wNSAxNjoxNToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBGaXggY29udmVyc2lvbiBvZiB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbmQgb3VyIGludGVybmFsIGJpdHJhdGUgc3RvcmFnZQoJICBUaGUgcHJvcGVydHkgaXMgaW4ga2JpdC9zIGFuZCB3ZSBzdG9yZSBpdCBpbiBiaXQvcywgc28ganVzdCBtdWx0aXBseSBhbmQKCSAgZGl2aWRlIGJ5IDEwMDAuIE5vIG5lZWQgdG8gcHV0IGEgZmFjdG9yIG9mIDggaW4gdGhlcmUuCgkgIGtWVENvbXByZXNzaW9uUHJvcGVydHlLZXlfQXZlcmFnZUJpdFJhdGUgaXMgYWxzbyBpbiBiaXQvcyBhY2NvcmRpbmcgdG8KCSAgaXRzIGRvY3VtZW50YXRpb24uCgoyMDE0LTEyLTA1IDEzOjEyOjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBhIG1lbW9yeSBsZWFrCgkgIEZyZWVzIHRoZSBzb3VyY2UgQVJHQiBibGFjayBmcmFtZSB0aGF0IHdlIHVzZSB0byBjcmVhdGUgdGhlIGJsYWNrIGZyYW1lCgkgIGluIG91ciB0YXJnZXQgZm9ybWF0LgoKMjAxNC0xMi0wMiAxMDoxMDozOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtCgkgIFNvbWUgdmlkZW8gYml0c3RyZWFtcyByZXBvcnQgYSB0b28gcmVzdHJpY3RpdmUgc2V0IG9mIHByb2ZpbGVzLiBJZiBhIHZpZGVvCgkgIGRlY29kZXIgd2FzIHRvIHN0cmljdGx5IGZvbGxvdyB0aGUgaW5kaWNhdGVkIHByb2ZpbGUsIGl0IHdvdWxkbid0IHN1cHBvcnQgdGhhdAoJICBzdHJlYW0sIHdoZXJlYXMgaXQgY291bGQgaW4gdGhlb3J5IGFuZCBpbiBwcmFjdGljZS4gU28gd2Ugc2hvdWxkIHJlbGF4IHRoZQoJICBwcm9maWxlIHJlc3RyaWN0aW9uIGZvciBhbGxvd2luZyB0aGUgZGVjb2RlciB0byBnZXQgY29ubmVjdGVkIHdpdGggcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTkyCgoyMDEzLTA1LTAxIDExOjE3OjAyICswODAwICBDaHVuLXdlaSBGYW4gPGZhbmNodW53ZWlAc3JjLmdub21lLm9yZz4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogUG9ydCB0byAxLjAgYW5kIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCSAgVGhpcyB1cGRhdGVzIHRoZSBkc2hvd3ZpZGVvc2luayB0byB3b3JrIHdpdGggdGhlIEdTdHJlYW1lciAxLjAueCBBUElzLCBhbmQKCSAgYXZvaWRzIHRoZSB1c2Ugb2YgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkgdGhhdCBhcmUgbm93IHVzZWQgc2luY2UKCSAgR0xpYiAyLjMyKwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5MzY0CgoyMDE0LTEyLTA0IDAxOjQ2OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGxpdmUgc3VwcG9ydAoJICBJbXBsZW1lbnQgdGhlIGZ1bmN0aW9ucyBvZiBhZGFwdGl2ZWRlbXV4IHRvIGhhdmUgbGl2ZSBzdXBwb3J0CgkgIGVuYWJsZWQuIFRoaXMgYWxsb3dzIG1zc2RlbXV4IHRvIHJlZnJlc2ggdGhlIE1hbmlmZXN0IHBlcmlvZGljYWxseQoKMjAxNC0xMi0wNCAxNTo1Mjo0NCAtMDUwMCAgTWF0dGhldyBCYWRlciA8bWF0dEBoeXBlcmxvYmljLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvQ01ha2VMaXN0cy50eHQ6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWN3cmFwcGVyOiBQb3J0IHRvIDEueAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTQ1CgoyMDE0LTEyLTAxIDE2OjQwOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIHZjZHNyYzogcG9ydCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ3NjYxCgoyMDE0LTEyLTA0IDEyOjIxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggZ2V0dGluZyBjdXJyZW50IHBvc2l0aW9uIGluIHNlZ21lbnRzIHdoZW4gYWZ0ZXIgbGFzdCBvbmUKCSAgRm9yIGxpdmUgc3RyZWFtcyB0aGlzIG1ha2VzIGEgZGlmZmVyZW5jZSB3aGVuIHJlc3luY2luZyBhZnRlciBhCgkgIE1hbmlmZXN0IHJlZnJlc2gsIG90aGVyd2lzZSBpdCBkb2Vzbid0IGtub3cgd2hlcmUgdG8gcmVzdGFydAoKMjAxNC0xMi0wMiAyMzoyNzoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogc3VwcG9ydCBtYW5pZmVzdHMgd2l0aCByZXBldGl0aW9uIGZyYWdtZW50cwoJICBSZWFkIHRoZSAiciIgYXR0cmlidXRlIGZyb20gZnJhZ21lbnRzIHRvIHN1cHBvcnQgZnJhZ21lbnRzIG5vZGVzCgkgIHRoYXQgdXNlIHJlcGV0aXRpb24gdG8gaGF2ZSBhIHNob3J0ZXIgTWFuaWZlc3QgeG1sLgoJICBJbnN0ZWFkIG9mIGRvaW5nOgoJICA8YyBkPSIxMDAiIC8+CgkgIDxjIGQ9IjEwMCIgLz4KCSAgWW91IGNhbiB1c2U6CgkgIDxjIGQ9IjEwMCIgcj0iMiIgLz4KCjIwMTQtMTEtMjIgMDE6MDE6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHBvcnQgdG8gYWRhcHRpdmVkZW11eCBiYXNlIGNsYXNzCgoyMDE0LTEyLTAzIDE2OjEzOjE3IC0wNTAwICBNYXR0aGV3IEJhZGVyIDxtYXR0QGh5cGVybG9iaWMubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBGaXhlZCBudWxsIGNhcHMgY29tcGFyaXNvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMDg2CgoyMDE0LTEyLTA0IDAyOjEyOjA4IC0wMjAwICBGbMOhdmlvIFJpYmVpcm8gPGVtYWlsQGZsYXZpb3JpYmVpcm8uY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IHJlbW92ZSB1bm5lY2Vzc2FyeSB0aXRsZSBvbiBFWFRJTkYgdGFnCgkgIEFjY29yZGluZyB0byB0aGUgSExTIHNwZWMgdGhlIHJlbWFpbmRlciBvZiB0aGUgbGluZSBmb2xsb3dpbmcKCSAgdGhlIGNvbW1hIG9uIEVYVElORiB0YWcgaXMgbm90IHJlcXVpcmVkLiBUaGlzIHBhdGNoIHJlbW92ZXMKCSAgdGhlIGZha2UgdGl0bGUgYW5kIHNhdmVzIHNvbWUgYnl0ZXMgb24gdGhlIHBsYXlsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMDk2CgoyMDE0LTEyLTA0IDIwOjM3OjUxICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFJlbmFtZSBnc3QtbGF1bmNoLTAuMTAgdG8gZ3N0LWxhdW5jaC0xLjAgaW4gZG9jcwoKMjAxNC0xMi0wNCAxNTo0Mjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEZpeCBtYWtlIGRpc3RjaGVjawoJICBBbmQgcHJvcGVybHkgZGlzdCBhbGwgaGVhZGVycyBhbmQgc291cmNlIGZpbGVzLgoKMjAxNC0xMi0wMyAxODozMTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWxlYXNlIHRocmVhZHMgd2FpdGluZyBmb3IgbWFuaWZlc3QgdXBkYXRlIG9uIHNodXRkb3duCgkgIEZvciBsaXZlIHN0cmVhbXMsIGFsc28gdW5ibG9jayB0aHJlYWRzIHRoYXQgbWlnaHQgYmUgd2FpdGluZyBmb3IgYSBtYW5pZmVzdAoJICB1cGRhdGUgd2hlbiBzdG9wcGluZyB0aGUgcGlwZWxpbmUuCgkgIEFsc28gYWRkIHNvbWUgbW9yZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxNC0xMi0wMyAxMzo1MjowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB1c2UgZ3N0X3Rhc2tfc3RvcCBpbnN0ZWFkIG9mIGdzdF90YXNrX3BhdXNlCgkgIFRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucyB3aXRoIGdzdF90YXNrX3N0b3AoKTsgZ3N0X3Rhc2tfam9pbigpIHdpdGgKCSAgYW5vdGhlciB0aHJlYWQgZG9pbmcgZ3N0X3Rhc2tfcGF1c2UoKSwgdGhlIGpvaW5pbmcgdGhyZWFkIHdvdWxkIGJlCgkgIHdhaXRpbmcgZm9yIHRoZSB0YXNrIHRvIHN0b3AgYnV0IGl0IHdvdWxkIG5ldmVyIGhhcHBlbi4gU28ganVzdAoJICB1c2UgZ3N0X3Rhc2tfc3RvcCgpIGV2ZXJ5d2hlcmUgdG8gcHJldmVudCBtb3JlIG11dGV4ZXMKCjIwMTQtMTItMDMgMTI6NDg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGRlYWRsb2NrIHdoZW4gc3RvcHBpbmcgc3RyZWFtcwoJICBSZW1lbWJlciB0byB1bmxvY2sgdGhlIG1hbmlmZXN0J3MgbG9jayB3aGVuIGxlYXZpbmcgdGhlIGRvd25sb2FkIHRhc2suCgoyMDE0LTEyLTAzIDE2OjAxOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJICBkZWNrbGluazogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIGluIHRoZSBkaXNwYXRjaGVyCgoyMDE0LTEyLTAzIDE1OjMwOjQzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2xzeW5jbWV0YTogYWRkIEdfRU5EX0RFQ0xTCgoyMDE0LTEyLTAzIDE1OjA3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IFVwZGF0ZSBXaW5kb3dzIFNESyBoZWFkZXJzIHRvIDEwLjMuMQoJICBObyBpZGVhIHdoZXJlIHRoZSBEZWNrbGlua0FQSURpc3BhdGNoLmNwcCBjb21lcyBmcm9tIG9uIFdpbmRvd3MsCgkgIGJ1dCB0aGlzIHNob3VsZCBzdGlsbCB3b3JrLiBXaWxsIGp1c3QgYmVjb21lIGEgcHJvYmxlbSBvbmNlIHdlCgkgIHVzZSBvdGhlciBwYXJ0cyBvZiB0aGUgQVBJLgoKMjAxNC0xMi0wMyAxNDo0Mjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJQ29uZmlndXJhdGlvbi5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVN0cmVhbWluZy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSAgZGVja2xpbms6IFVwZGF0ZSBPUyBYIFNESyBoZWFkZXJzIHRvIDEwLjMuMQoKMjAxNC0xMi0wMyAxNDozOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSVR5cGVzLmg6CgkgIGRlY2tsaW5rOiBVcGRhdGUgTGludXggU0RLIGhlYWRlcnMgdG8gMTAuMy4xCgoyMDE0LTEyLTAzIDEwOjA2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSB1bnVzZWQgZXJyb3IgdmFyaWFibGUKCSAgQ0lEICMxMjU2NTU2CgoyMDE0LTEyLTAzIDA5OjQ1OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBtb3JlIGdldF9kdXJhdGlvbiBjaGVja3MKCSAgU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCBnZXRfZHVyYXRpb24gZnVuY3Rpb24uIElmIHRoZXkgZG8gbm90IGtub3cKCSAgdGhlIGR1cmF0aW9uIHRoZXkgY2FuIHJldHVybiBHU1RfQ0xPQ0tfVElNRV9OT05FCgoyMDE0LTEyLTAzIDA5OjQwOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbCBzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IGdldF9kdXJhdGlvbgoJICBDSUQgIzEyNTY1NTcKCjIwMTQtMTItMDIgMjM6Mjk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogbWFrZSBzdXJlIHRvIGFsd2F5cyBzdG9wIHRoZSBzdHJlYW0gb24gRU9TCgkgIEZvciBPbi1EZW1hbmQgc3RyZWFtcywgYWx3YXlzIHN0b3AgdGhlIHRhc2tzIGZvciBzdHJlYW1zIHRoYXQgcmVhY2hlZAoJICBFT1MKCjIwMTQtMTItMDMgMDg6MDI6NTggKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHRyeSBjZ2wgYmVmb3JlIGdseAoJICBJdCB3YXMgYWxyZWFkeSBkb25lIGJ5IGNvbW1pdAoJICBmNTA2ZTgwNjg2ZWVkYzY2OTEyNTgzZGIxMTkxNGVjM2Y3MTNiNDc4CgkgIGJ1dCBpdCBoYXMgYmVlbiBicm9rZW4gYnkgY29tbWl0CgkgIDQ1ZWM3NzdjZWEwZTY5YjI1OTdkMWVjMDJiMThlYzMxZDYxOGM5MjAKCjIwMTQtMTItMDMgMDc6NDY6NTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBnbGltYWdlc2luayB1bml0IHRlc3QgdG8gLmdpdGlnbm9yZQoKMjAxNC0xMi0wMiAxNTo1Mjo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IGRvdWJsZSB1bnJlZiBvZiBvYmplY3QKCSAgdGhlIGRhdGV0aW1lIGlzIGFscmVhZHkgcmVsZWFzZWQgYnkgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24KCjIwMTQtMTAtMTAgMTE6MjQ6MDggKzAxMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogRmluZCB0aGUgY3VycmVudCBwZXJpb2QgaW4gYSBsaXZlIHN0cmVhbQoJICBTdGFydCBmcm9tIHRoZSBjb3JyZWN0IHBlcmlvZCBvbiBhIGxpdmUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc0MjEKCjIwMTQtMTItMDIgMTA6MDY6MDAgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBwZXJpb2Qgc2VsZWN0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgRml4IHBlcmlvZCBzZWxlY3Rpb24gYW5kIHByb3Blcmx5IGVycm9yIG91dCB3aGVuIHVwZGF0ZSBjYW5ub3QgYmUgZG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1Mjk4CgoyMDE0LTA3LTA5IDEwOjExOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBJbXByb3ZlIGxhc3QgUENSIGRldGVjdGlvbgoJICBXaGVuIGRlYWxpbmcgd2l0aCByYW5kb20tYWNjZXNzIGNvbnRlbnQgKHN1Y2ggYXMgZmlsZXMpLCB3ZSBpbml0aWFsbHkKCSAgc2VhcmNoIGZvciB0aGUgbGFzdCBQQ1IgaW4gb3JkZXIgdG8gZmlndXJlIG91dCBkdXJhdGlvbiBhbmQgdG8gaGFuZGxlCgkgIG90aGVyIHBvc2l0aW9uIGVzdGltYXRpb24gc3VjaCBhcyB0aG9zZSB1c2VkIGluIHNlZWtpbmcuCgkgIFByZXZpb3VzbHksIHRoZSBjb2RlIGxvb2tpbmcgZm9yIHRoYXQgbGFzdCBQQ1Igd291bGQgc2VhcmNoIGluIHRoZSBsYXN0CgkgIDY0MGtCIG9mIHRoZSBmaWxlIGdvaW5nIGZvcndhcmQsIGFuZCBzdG9wIGF0IHRoZSBmaXJzdCBQQ1IgZW5jb3VudGVyZWQuCgkgIFRoZSBwcm9ibGVtIHdpdGggdGhhdCB3YXMgdHdvLWZvbGQ6CgkgICogSXQgd291bGRuJ3QgcmVhbGx5IGJlIHRoZSBsYXN0IFBDUiAoaXQgd291bGQgYmUgdGhlIGZpcnN0IG9uZSB3aXRoaW4KCSAgdGhvc2UgbGFzdCA2NDBrQi4gSW4gY2FzZSBvZiBWQlIgZmlsZXMsIHRoaXMgd291bGQgcHV0IG9mZiBkdXJhdGlvbgoJICBhbmQgc2VlayBjb2RlIHNsaWdodGx5LgoJICAqIEl0IHdvdWxkIGZhaWwgb24gZmlsZXMgd2l0aCBiaXRyYXRlcyBoaWdoZXIgdGhhbiA1Mk1iaXQvcyAobm90IGNvbW1vbikKCSAgSW5zdGVhZCB0aGlzIHBhdGNoIG1vZGlmaWVzIHRoYXQgY29kZSBieToKCSAgKiBTY2FubmluZyBvdmVyIHRoZSBsYXN0IDIwNDhrQiAoYWxsb3dzIHRvIGNvcGUgd2l0aCBzdHJlYW1zIHVwIHRvIDE2ME1iaXQvcykKCSAgKiBTdGFydHMgYnkgdGhlIGVuZCBvZiB0aGUgZmlsZSwgZ29pbmcgb3ZlciBjaHVua3Mgb2YgMzAwIE1QRUctVFMgcGFja2V0cwoJICAqIERvZXNuJ3Qgc3RvcCBhdCB0aGUgZmlyc3QgUENSIGRldGVjdGVkIGluIGEgY2h1bmssIGJ1dCBpbnN0ZWFkIHJlY29yZHMgYWxsCgkgIG9mIHRoZW0sIGFuZCBvbmx5IHN0b3Agc2VhcmNoaW5nIGlmIHRoZXJlIHdhcyAiYXQgbGVhc3QiIG9uZSBQQ1Igd2l0aGluCgkgIHRoYXQgY2h1bmsKCSAgVGhpcyBzaG91bGQgaW1wcm92ZSBkdXJhdGlvbiByZXBvcnRpbmcgYW5kIHNlZWtpbmcgb3BlcmF0aW9ucyBvbiBWQlIgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODUzMgoKMjAxNC0xMi0wMSAxMTo0NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE9ubHkgYWN0aXZhdGUgd2FybmluZyBmb3IgcmVhbCBzdHJlYW1zCgkgIHN0cmVhbXMgd2l0aCBzdHJlYW1fdHlwZSAweGZmIGFyZSBQQ1Itb25seSBzdHJlYW1zLCBpdCdzIG5vcm1hbCBub3QKCSAgdG8gaGF2ZSBhIHBhZCBmb3IgdGhlbS4KCjIwMTQtMTItMDEgMTI6MTQ6MjAgKzAxMDAgIErDvHJnZW4gU2xvd2FjayA8anVyZ2VuLnNsb3dhY2tAYmFyY28uY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmg6CgkgIHgyNjVlbmM6IGFkZCBxcCBwcm9wZXJ0eQoJICBRUCBwcm9wZXJ0eSBlbmFibGVzIENRUCBtb2RlIGFuZCBzZXRzIHRoZSBRUCBmb3IgUCBzbGljZXMuCgoyMDE0LTEyLTAxIDEwOjU5OjMyICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqcy52ZXJtZWlyQGJhcmNvLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbC9jb2NvYTogRml4IGV4YW1wbGUgb24gTWFjIE9TIFggMTAuMTAKCSAgVXNpbmcgTlNBcHAgZGlyZWN0bHkgc2VlbXMgdG8gY29uZnVzZSBzb21ldGhpbmcsIGFzIHRoZSBjb21waWxlcgoJICB3YXMgZXhwZWN0aW5nIGFuIGlkPE5TRmlsZU1hbmFnZXJEZWxlZ2F0ZT4uIFN3aXRjaGVkIHRvIHVzaW5nCgkgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSwgYW5kIHNwZWNpZmllZCB0aGUgZGVsZWdhdGUKCSAgcHJvdG9jb2wgb24gdGhlIHdpbmRvdyBjbGFzcyBhcyB3ZWxsLgoJICBTaW1pbGFyIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3NDAKCjIwMTQtMTItMDEgMTA6Mjc6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJICBnc3QtbGliczogRml4IGRlcGVuZGVuY3kgYnVpbGQKCSAgYWRhcHRpdmVkZW11eCBkZXBlbmRzIG9uIHVyaWRvd25sb2FkZXIgYW5kIHZpZGVvIGRlcGVuZHMgb24gYmFzZQoKMjAxNC0xMi0wMSAwOTo0ODo0MSArMDEwMCAgVGhvbWFzIEtsYXVzbmVyIDx3aXpAZGFuYmFsYS50dXdpZW4uYWMuYXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG8gY29tcGFyaXNvbnMgaW4gYSBwb3J0YWJsZSB3YXkgd2l0aCA9IGluc3RlYWQgb2YgPT0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk1MwoKMjAxNC0xMS0zMCAyMTo1NDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZXdvcmtpbmcgbGl2ZSBtYW5pZmVzdCB1cGRhdGUgd2FpdAoJICBDaGVjayBpZiB0aGUgc3RyZWFtIGlzIGxpdmUgYmVmb3JlIGNoZWNraW5nIGlmIGl0IGlzIEVPUyBhcyBhIGxpdmUKCSAgc3RyZWFtIG1pZ2h0IGJlIGNvbnNpZGVyZWQgRU9TIHdoZW4gaXQganVzdCBuZWVkcyB0byB3YWl0IGZvciBhIG1hbmlmZXN0CgkgIHVwZGF0ZSB0byBwcm9jZWVkIHdpdGggdGhlIG5leHQgZnJhZ21lbnRzCgoyMDE0LTExLTI5IDEwOjI4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBtYW5pZmVzdCB1cGRhdGUgbG9ja2luZwoJICBUbyBhdm9pZCB1bmxvY2tpbmcgYSBub3QgbG9ja2VkIG11dGV4CgoyMDE0LTExLTI5IDEwOjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBzZWdtZW50IGZvciBtYW5pZmVzdHMgdGhhdCB3b24ndCBzdGFydCBhdCAwCgkgIEZvciBsaXZlIHN0cmVhbXMsIHRoZSBtYW5pZmVzdCBtaWdodCBzdGFydCBhdCBhbiBhZHZhbmNlZCBwb3NpdGlvbi4gQXZvaWQKCSAgdXNpbmcgc2VnbWVudCBzdGFydD0wIHRvIGhhdmUgcGxheWJhY2sgc3RhcnQgaW1tZWRpYXRlbHkKCjIwMTQtMTEtMjkgMTA6MjY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlcGxhY2UgdGhlIHN0cmVhbXMgd2l0aCB0aGUgbmV3IG1wZCBjbGllbnQncyBzdHJlYW1zCgkgIE90aGVyd2lzZSBpdCB3b24ndCB1cGRhdGUgd2l0aCB0aGUgbmV3IHNlZ21lbnQgaW5mbyBmcm9tIHRoZSBwbGF5bGlzdAoJICB1cGRhdGUKCjIwMTQtMTEtMjkgMTA6MjU6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHdoZW4gdXBkYXRpbmcgdGhlIG1hbmlmZXN0LCBzZXQgdGhlIHVyaQoJICBUaGlzIHdpbGwgYWxsb3cgZGFzaGRlbXV4IHRvIGNyZWF0ZSB0aGUgY29ycmVjdCBmdWxsIHBhdGggVVJJcyB0bwoJICBjb250aW51ZSBkb3dubG9hZGluZyBmcmFnbWVudHMKCjIwMTQtMDgtMjYgMTY6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBwb3J0IHRvIGFkYXB0aXZlIGRlbXV4CgoyMDE0LTExLTIyIDE3OjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsc28gY2xlYXIgZmx1c2hpbmcgc3RhdGUgb24gcGFkcyBiZWZvcmUgcmVzdGFydGluZwoJICBEdXJpbmcgZmx1c2hpbmcgc2Vla3MgdGhlIGZsdXNoaW5nIGZsb3cgcmV0dXJuIHdpbGwgcHJvcGFnYXRlIHVwIHRvIHRoZQoJICBzb3VyY2UgZWxlbWVudCBhbmQgYWxsIHBhZHMgYXJlIGdvaW5nIHRvIGhhdmUgdGhlIGZsdXNoaW5nIGZsYWcgc2V0LgoJICBTbyBiZWZvcmUgcmVzdGFydGluZyBhbHNvIHJlbW92ZSB0aGF0IGZsYWcgdG9nZXRoZXIgd2l0aCB0aGUgRU9TIG9uZS4KCSAgV2UgZG9uJ3QgZG8gdGhhdCB3aGVuIHB1c2hpbmcgdGhlIGZsdXNoIHN0b3AgZXZlbnQgYmVjYXVzZSBvdXIgZXZlbnQKCSAgaGFuZGxlciBmb3IgdGhlIHByb3h5cGFkIHdpbGwgZHJvcCBhbGwgZXZlbnRzLgoKMjAxNC0xMS0yMSAyMDo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGFkYXB0aXZlZGVtdXggYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODQ4CgoyMDE0LTExLTI5IDEzOjE2OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBtaW5vciBjYXBzIGV2ZW50IHBheWxvYWRpbmcgb3B0aW1pc2F0aW9uCgkgIEF2b2lkIGNyZWF0aW9uIG9mIGJ1ZmZlciB3ZSdyZSBqdXN0IGdvaW5nIHRvIHRocm93CgkgIGF3YXkgdHdvIGxpbmVzIGxhdGVyIGFueXdheS4KCjIwMTQtMTEtMjkgMTM6MTU6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeCBzb21lIG1lbW9yeSBsZWFrcwoKMjAxNC0xMS0zMCAwMDo0MjoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHJlcXVpcmUgR0xfQVJCX0VTMl9jb21wYXRpYmlsaXR5IGZvciBvcGVuZ2wzCgkgIHVudGlsIHdlIGdlbmVyYXRlIGdsMyBjb21wbGlhbnQgc2hhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDEyCgoyMDE0LTExLTMwIDAwOjE4OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBwcm9wZXJseSBoYW5kbGUgdGhlICFvcGVuZ2wzIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDAxMgoKMjAxNC0xMS0yOCAxNzozMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IERyb3AgdG9vIGxhdGUgZnJhbWVzIGFuZCBzdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgYXQgdGhlIGNvcnJlY3QgdGltZQoKMjAxNC0xMS0yOCAxNjowNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBnbGZpbHRlcmFwcDogZml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIFdoZW4gR1NUX0dMX0hBVkVfT1BFTkdMIGlzIDAgb3IgdW5zZXQuCgoyMDE0LTExLTI4IDE1OjA2OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEZvciB0aGUgc291cmNlLCB1bnNldHRpbmcgdGhlIGNhbGxiYWNrIGFscmVhZHkgZGVsZXRlcyBpdAoKMjAxNC0xMS0xNCAxMToxOTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IFdhaXQgZm9yIHRoZSBwaXBlbGluZSBjbG9jayBpbnN0ZWFkIG9mIHRoZSBkZWNrbGluayBjbG9jawoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gc3RhcnZlIG90aGVyIGVsZW1lbnRzIGlmIHRoZSBkZWNrbGluayBjbG9jawoJICBpcyBzbG93ZXIgdGhhbiB0aGUgcGlwZWxpbmUgY2xvY2ssIG9yIHN0YXJ0cyBtdWNoIGxhdGVyLgoJICBPZiBjb3Vyc2UgdGhpcyB3aWxsIHN0aWxsIGNhdXNlIHByb2JsZW1zIGlmIHRoZSBkZWNrbGluayBjbG9jayBhbmQgb3VycyBhcmUKCSAgY29tcGxldGVseSBvdXQgb2Ygc3luYywgb3IgcnVubmluZyBhdCBhIHZlcnkgZGlmZmVyZW50IHJhdGUuIEJ1dCB0aGlzIGF0IGxlYXN0CgkgIHdvcmtzIGJldHRlciBub3cuCgoyMDE0LTExLTE0IDEwOjU4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBTY2hlZHVsZSB2aWRlbyBmcmFtZXMgYWNjb3JkaW5nIHRvIHRoZWlyIHRpbWVzdGFtcHMsIG5vdCBhY2NvcmRpbmcgdG8gYSBmcmFtZSBjb3VudGVyCgoyMDE0LTExLTE0IDExOjAyOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogQWRkIHNvbWUgRklYTUUgY29tbWVudHMgYWJvdXQgc3luY2hyb25pemF0aW9uCgoyMDE0LTExLTE0IDEwOjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IFNhbXBsZSB0aGUgcGlwZWxpbmUgY2xvY2sgZm9yIHRoZSB0aW1lc3RhbXBzIGluc3RlYWQgb2YgY29taW5nIHVwIHdpdGggb3VyIG93bgoJICBJZiB3ZSBqdXN0IGNvdW50IHRoZSBmcmFtZXMgYW5kIGNhbGN1bGF0ZSB0aW1lc3RhbXBzIGZyb20gdGhhdCwgYWxsIGZyYW1lcwoJICB3aWxsIGFycml2ZSBsYXRlIGluIHRoZSBzaW5rIGFzIHdlIGhhdmUgYSBsaXZlIHNvdXJjZSBoZXJlLiBJbnN0ZWFkIHRha2UKCSAgdGhlIHBpcGVsaW5lIGNsb2NrIGF0IGNhcHR1cmUgdGltZSBhcyByZWZlcmVuY2UuCgoyMDE0LTExLTI4IDE0OjUwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBIYW5kbGUgY2FsbGJhY2svZGVsZWdhdGUgb2JqZWN0IHRoZSBzYW1lIHdheSBhcyBpbiB0aGUgc2luawoJICBQb3RlbnRpYWxseSBmaXhlcyBjcmFzaGVzLgoKMjAxNC0xMS0yOCAxNDo0NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogRG9uJ3QgY3Jhc2ggd2hlbiBnb2luZyB0byBSRUFEWSBhbm90aGVyIHRpbWUKCSAgV2UgaGF2ZSB0byBoYW5kbGUgdGhlIGNhbGxiYWNrIG9iamVjdCBhIGJpdCBkaWZmZXJlbnQ6CgkgIGEpIGl0IG5lZWRzIGEgdmlydHVhbCBkZXN0cnVjdG9yCgkgIGIpIHdlIG5lZWQgdG8gc2V0IHRoZSBjYWxsYmFjayB0byBOVUxMIHdoZW4gd2UncmUgZG9uZSB3aXRoIHRoZSBvdXRwdXQKCSAgYykgY3JlYXRlIGEgbmV3IG9uZSBldmVyeSB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MTYKCjIwMTQtMTEtMjggMTA6MjM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEZhaWx1cmUgdG8gbWFwIGEgdmlkZW8gZnJhbWUgaXMgbm90IGp1c3QgYSB3YXJuaW5nCgkgIEFsc28gYWRkIHNvbWUgd2FybmluZyBkZWJ1ZyBvdXRwdXQgaWYgbWFwcGluZyBhIG91dHB1dCBidWZmZXIgZmFpbHMKCjIwMTQtMTEtMjggMTA6MjI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRmFpbHVyZSB0byBtYXAgYSB2aWRlbyBmcmFtZSBpcyBub3QganVzdCBhIHdhcm5pbmcKCjIwMTQtMTEtMjggMTQ6MDg6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2xmaWx0ZXJhcHAgaXMgbm93IGF2YWlsYWJsZSBvbiBnbGVzMiBhcyB3ZWxsIHNvIGJ1aWxkIGl0CgoyMDE0LTExLTI4IDEzOjA0OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIGdsOiBmaXh1cCBjb21wYXQgZGVmaW5pdGlvbiBmb3IgR0x1aW50NjQgZm9yIE9TIFgKCjIwMTQtMTEtMjggMTE6NTY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIGdsOiBhZGQgY29tcGF0IGRlZmluaXRpb24gZm9yIEdMdWludDY0IGZvciBhbmRyb2lkCgkgIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOjQxOjIzOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0dMdWludDY0JwoJICBHTHVpbnQ2NCB0aW1lb3V0KSkKCjIwMTQtMTEtMjggMDI6MjE6NDkgKzA5MDAgIERhbm55IFNvbmcgPGRhbm55LnNvbmcuZ2FAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBmaXggdHlwbyBpbiBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA4MTUKCjIwMTQtMTEtMjggMTE6MTE6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luYzogZml4IGJ1aWxkIHdpdGggZGVza3RvcCBnbAoKMjAxNC0xMS0yOCAxMTowNDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbDogZml4IHR5cG8gaW4gI2lmCgkgIEdTVF9HTF9BUElfSEFWRV9PUEVOR0wgZG9lc24ndCBleGlzdAoKMjAxNC0xMS0yOCAxMDo1OTo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2w6IGZpeCB2YXJpb3VzIGJ1aWxkIGVycm9ycyB3aXRob3V0IGRlc2t0b3AgZ2wKCjIwMTQtMTEtMjggMTA6MDM6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBmaXggYnVpbGQgZXJyb3IKCSAgZ3N0Z2xkaXNwbGF5LmM6MjM0OjU0MTogZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcl0KCSAgZ19yZXR1cm5faWZfZmFpbCAoR1NUX0lTX0dMX0RJU1BMQVkgKGRpc3BsYXkpKTsKCjIwMTQtMTEtMjcgMjE6MDU6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZGlzcGxheTogaW1wbGVtZW50IHJ1bnRpbWUgR0wgYXBpIGZpbHRlcmluZwoJICBOZWVkZWQgc28gdGhhdCB0aGUgcGlwZWxpbmUvYXBwbGljYXRpb24gY2FuIGxpbWl0IHRoZSBjaG9pY2Ugb2YgR0wgYXBpCgkgIHRvIHdoYXQgaXQgc3VwcG9ydHMKCjIwMTQtMTEtMjcgMTY6MTc6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsOiByZW1vdmUgdGhlIHVzZSBvZiBnbHUKCjIwMTQtMTAtMTcgMTU6MjI6MjQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbDogYWRkIGEgc3luYyBtZXRhIGZvciBzeW5jaHJvbml6aW5nIGFjcm9zcyBHTCBjb250ZXh0cwoJICBBIGNvbnRleHQgY2FuIGNyZWF0ZSBhIEdMc3luYyBvYmplY3QgdGhhdCBjYW4gYmUgd2FpdGVkIG9uIGluIG9yZGVyCgkgIHRvIGVuc3VyZSB0aGF0IEdMIHJlc291cmNlcyBjcmVhdGVkIGluIG9uZSBjb250ZXh0IGFyZSBhYmxlIHRvIGJlCgkgIHVzZWQgaW4gYW5vdGhlciBzaGFyZWQgY29udGV4dCB3aXRob3V0IGFueSBjaGFuY2Ugb2YgcmVhZGluZyBpbnZhbGlkCgkgIGRhdGEuCgkgIFRoaXMgbWV0YSB3b3VsZCBiZSBwbGFjZWQgb24gYnVmZmVycyB0aGF0IGFyZSBrbm93biB0byBjcm9zcyBmcm9tCgkgIG9uZSBjb250ZXh0IHRvIGFub3RoZXIuICBUaGUgcmVjZWl2aW5nIGVsZW1lbnQgd291bGQgdGhlbiB3YWl0CgkgIG9uIHRoZSBzeW5jIG9iamVjdCB0byBlbnN1cmUgdGhhdCB0aGUgZGF0YSB0byBiZSB1c2VkIGlzIGNvbXBsZXRlLgoKMjAxNC0xMC0xNyAxNTowODoyOSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJICBnbHByb3RvdHlwZXM6IGFkZCBzeW5jIGZ1bmN0aW9uIGRlZmluaXRpb25zCgoyMDE0LTExLTE3IDE4OjA2OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGZpbHRlcmFwcDogcG9ydCB0byBnbGVzMiBhbmQgZ2wzCgoyMDE0LTExLTE0IDIzOjI0OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgZ2xvdmVybGF5OiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xNCAwMDoyMDoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMS0xMyAyMTozMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkgIGdsZmlsdGVyY3ViZTogYWRkIGEgZ2wzIGNvZGUgcGF0aAoKMjAxNC0xMS0xMyAxNTowOTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsZmlsdGVyc2hhZGVyOiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xMyAxMjoxMjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogc3VwcG9ydCBnbDMKCjIwMTQtMTEtMTIgMjM6NDg6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzOiBzdXBwb3J0IGdsMyB3aGVyZWV2ZXIgZ2xlczIgaXMgc3VwcG9ydGVkCgoyMDE0LTExLTEyIDIzOjQ3OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgZ2xjb2xvcnNjYWxlOiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xMiAyMjo0OToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogYWRkIGEgZ2wzIGNvZGUgcGF0aCB1c2luZyB2YW8ncyBhbmQgdmJvJ3MKCjIwMTQtMTEtMTIgMjI6NDg6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTAtMjMgMjI6MzU6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTAtMjEgMjI6MTg6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHVzZSB2Ym8ncyBhbmQgdmFvJ3MgZm9yIGdsMwoKMjAxNC0xMC0yMSAxOTozMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlciBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTEwLTE5IDA4OjA5OjM3ICswNDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdseDogYXNrIGZvciBhIEdMMyBjb3JlIGNvbnRleHQKCjIwMTQtMTEtMjcgMjE6MjI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWlub3IgY2xlYW51cAoKMjAxNC0xMS0yNiAxNTowMjoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcnBhZC5oOgoJICBjb21wb3NpdG9yOiBJbXBsZW1lbnQgcmVzY2FsaW5nIG9mIHRoZSBpbnB1dCB2aWEgcGFkIHByb3BlcnRpZXMKCSAgY29tcG9zaXRvciBoYXMgbm93IHRoZSBzYW1lIGludGVyZmFjZSBhcyBnbHZpZGVvbWl4ZXIuCgoyMDE0LTExLTI3IDIwOjM0OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENvcHkgb3ZlciBtb3JlIGZpZWxkcyBmcm9tIHRoZSByZWxldmFudCB2aWRlby1pbmZvCgkgIGdzdF92aWRlb19pbmZvX3NldF9mb3JtYXQoKSB3aWxsIHJlc2V0IHRoZSBjb21wbGV0ZSB2aWRlby1pbmZvLCBidXQKCSAgd2Ugd2FudCB0byBrZWVwIHZhbHVlcyBsaWtlIHRoZSBQQVIsIGNvbG9yaW1ldHJ5IGFuZCBjaHJvbWEgc2l0ZS4KCSAgT3RoZXJ3aXNlIHdlIHJpc2sgc2V0dGluZyBkaWZmZXJlbnQgdmFsdWVzIG9uIHRoZSBzcmNwYWQgY2FwcyB0aGFuCgkgIHdoYXQgaXMgYWN0dWFsbHkgaW5zaWRlIHRoZSBidWZmZXJzLgoKMjAxNC0xMS0yNyAyMDoyNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEaXJlY3RseSB1c2UgdGhlIGNvbnZlcnRlcnMgdmlkZW8taW5mbyBpbnN0ZWFkIG9mIHJlY2FsY3VsYXRpbmcgaXQKCjIwMTQtMTEtMjcgMTk6NTI6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gc291cmNlIHBhZCBuZWdvdGlhdGlvbiBvbmx5IGZyb20gdGhlIGFnZ3JlZ2F0ZWQgZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IG5lZ290aWF0ZSBmcm9tIHRoZSBzaW5rcGFkIHN0cmVhbWluZyB0aHJlYWRzIGF0CgkgIHRoZSBzYW1lIHRpbWUgYXMgb24gdGhlIHNyY3BhZCBzdHJlYW1pbmcgdGhyZWFkLCBhbmQgdGhlbiBhbGwga2luZHMKCSAgb2YgY3JhenkgYnVncyBoYXBwZW4gdGhhdCBkb24ndCBtYWtlIGFueSBzZW5zZSBhdCBhbGwuCgoyMDE0LTExLTI3IDE4OjQ2OjAzICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9jb252ZXJ0OiBIaWRlIGFsbCBjb252ZXJzaW9uIHJlbGF0ZWQgZmllbGRzCgkgIEFuZCBkbyBub3QgZGVsYXkgdGhlIHNldHRpbmcgb2YgdGhlIGNvbnZlcnNpb25faW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzY4CgoyMDE0LTExLTI3IDE2OjQzOjM5ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvIG5vdCB0cnkgdG8gcmVzaXplIGEgYnVmZmVyIHRvIGEgbmVnYXRpdmUgc2l6ZSBvbiBFT1MKCjIwMTQtMTEtMjYgMTg6MjQ6MDUgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogRXhwb3NlIHZtZXRob2RzIHRvIHNldCBjb252ZXJ0ZXJzIGFuZCBwcmVwYXJlL2NsZWFuIGZyYW1lcwoJICBUaGlzIGdpdmVzIG1vcmUgZmxleGliaWxpdHkgdG8gdGhlIHN1YmNsYXNzZXMgYW5kIHBlcm1pdHMgdG8gcmVtb3ZlIHRoZQoJICBHc3RWaWRlb0FnZ3JlZ2F0b3JDbGFzcy0+ZGlzYWJsZV9mcmFtZV9jb252ZXJzaW9uIHVnbHkgQVBJLgoJICBXQVJOSU5HOiBUaGlzIGJyZWFrcyB0aGUgQVBJIGFzIGl0IHJlbW92ZXMgdGhlIGRpc2FibGVfZnJhbWVfY29udmVyc2lvbgoJICBmaWVsZAoJICBBUEk6CgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yQ2xhc3MtPmZpbmRfYmVzdF9mb3JtYXQKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWRDbGFzcy0+c2V0X2Zvcm1hdAoJICArIEdzdFZpZGVvQWdncmVnYXRvclBhZENsYXNzLT5wcmVwYXJlX2ZyYW1lCgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkQ2xhc3MtPmNsZWFuX2ZyYW1lCgkgIC0gR3N0VmlkZW9BZ2dyZWdhdG9yQ2xhc3MtPmRpc2FibGVfZnJhbWVfY29udmVyc2lvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzY4CgoyMDE0LTExLTI2IDE1OjQxOjM3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5oOgoJICB3YXRjaGRvZzogSGFuZGxlIEZMVVNISU5HIHNlZWsgZXZlbnRzIGV2ZW4gaW4gUEFVU0VEIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NTcKCjIwMTQtMTEtMjYgMTU6NDM6MTIgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBQcm9wZXJseSBoYW5kbGUgUEFVU0VEIHN0YXRlCgkgIEluIFBBVVNFRCBzdGF0ZSB3ZSBzaG91bGQganVzdCBwcmVyb2xsLCBzbyBnZXQgb25lIGJ1ZmZlcgoJICBhbmQgc3RvcCBtb25pdG9yaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNzU3CgoyMDE0LTEwLTMxIDExOjAxOjQ3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTGV0IGEgZnVsbCByZW5lZ290aWF0aW9uIGhhcHBlbiBhZnRlciByZW1vdmluZyB0aGUgbGFzdCBwYWQKCSAgV2l0aCB0aGUgY3VycmVudCBjb2RlLCB3ZSB3aWxsIGVuZCB1cCBzZXR0aW5nIHRoZSBwcmVmZXJyZWQgZG93bnN0cmVhbQoJICBmb3JtYXQgYXMgdGhlIHNyY3BhZCBmb3JtYXQsIGFuZCBpdCBtaWdodCBub3QgYmUgYWNjZXB0ZWQgYnkgdGhlIG5leHQKCSAgc2lua3BhZCB0byBiZSBhZGRlZC4gV2Ugc2hvdWxkIGluc3RlYWQgbGV0IHRoZSBuZXh0IHNpbmtwYWQgcmVjb25maWd1cmUKCSAgZXZlcnl0aGluZy4KCjIwMTQtMTEtMjcgMTM6NDA6NTYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IGFkZCBxdWFsaXR5IHByb3BlcnR5CgoyMDE0LTExLTI3IDEzOjMzOjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogc2V0IHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCjIwMTQtMTEtMjcgMTg6MDk6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IFVucmVmIGJ1ZmZlciB3aXRoIHRoZSBjb3JyZWN0IGZ1bmN0aW9uCgoyMDE0LTExLTI3IDE4OjA5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBIYW5kbGUgZmFpbHVyZSBvZiBtZW1vcnkgYWxsb2NhdGlvbiBncmFjZWZ1bGx5CgoyMDE0LTExLTI3IDE4OjA0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBVc2UgZ190cnlfbWFsbG9jKCkgaW4gdGhlIGFwcHJvcHJpYXRlIHBsYWNlcwoJICBnX21hbGxvYygpIGFib3J0cyBpZiBhbGxvY2F0aW9uIGZhaWxzLCBpdCdzIHBvaW50bGVzcyB0byBjaGVjayBhZ2FpbnN0IE5VTEwKCSAgYWZ0ZXJ3YXJkcy4gVGhhdCdzIHdoeSBnX3RyeV9tYWxsb2MoKSBleGlzdHMuCgoyMDE0LTExLTI3IDE3OjExOjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMzJjZmNkIHRvIGVmMWZmZGMKCjIwMTQtMTEtMjcgMTA6NDg6NDMgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHN1cHBvcnQgUkdCMTYvQkdSMTYgdmlkZW8gZm9ybWF0IGRvd25sb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA4MDEKCjIwMTQtMTEtMjcgMTM6MDE6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogb25seSBhdHRlbXB0IGEgcmVzaXplIHdoZW4gdGhlIHdpbmRvdyBoYXMgYWxyZWFkeSByZXNpemVkCgkgIGZpeGVzIGEgYmxhY2sgc3RhcnR1cCBzY3JlZW4gb24gd2F5bGFuZAoKMjAxNC0xMS0yNyAxMTo0NzozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2wvd2F5bGFuZDogaW1wbGVtZW50IHJlc2l6aW5nIHRoZSB3aW5kb3cgdXNpbmcgdGhlIHJpZ2h0IG1vdXNlIGJ1dHRvbgoKMjAxNC0xMS0yNiAyMjowNToxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IFVzZSBuZXdlciBBWF9QVEhSRUFEIGluc3RlYWQgb2YgQUNYX1BUSFJFQUQKCjIwMTQtMTEtMjYgMTQ6MzY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgUmVtb3ZlIHVucG9ydGVkIGFuZCBvYnNvbGV0ZSBxdHdyYXBwZXIgcGx1Z2luIGNvZGUKCSAgUXVpY2tUaW1lIGlzIGRlcHJlY2F0ZWQsIHdlIHdhbnQgbmV3IHBsdWdpbnMgYmFzZWQKCSAgb24gYXZmb3VuZGF0aW9uIChvc3gpIG9yIGR4dmEvbWVkaWFmb3VuZGF0aW9uICh3aW5kb3dzKS4KCjIwMTQtMTEtMjcgMDE6Mjc6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogc3VwcG9ydCBmaXhlZCBkaW1lbnNpb25zIG9uIGJvdGggc2lkZXMgb2YgdGhlIGVsZW1lbnQKCSAgRml4ZXM6CgkgIHdpZHRoPTMyMCxoZWlnaHQ9MjQwICEgZ2xmaWx0ZXIgISB3aWR0aD04MDAsaGVpZ2h0PTYwMAoJICB3aWR0aD0yMzAsaGVpZ2h0PTI0MCAhIGdsZmlsdGVyICEgd2lkdGg9NjAwCgkgIC4uLiAhIGdsZmlsdGVyICEgd2lkdGg9ODAwCgoyMDE0LTExLTI1IDEzOjMzOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBmaXggYXV0b21hZ2ljIGRpc2FibGluZyBvZiBkZXNrdG9wIEdMCgkgIElmIGNvbmZpZ3VyZSBmaW5kcyBHTCArIEdMRVMyIGJ1dCB0aGUgdXNlciBwYXNzZXMgLS1lbmFibGUtZ2xlczIgYW5kCgkgIHRoZSB0d28gR0wgQVBJJ3MgY2Fubm90IGJlIGJ1aWx0IGFnYWluc3QgdG9nZXRoZXIsIGNvbmZpZ3VyZSB3YXMgc3RpbGwKCSAgYWxsb3dpbmcgdGhlIGRlc2t0b3AgR0wgc3RhY2sgdG8gYmUgYnVpbHQuCgoyMDE0LTExLTI2IDEzOjA2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFsc28gc3luYyBwYWQgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBjb252ZXJzaW9uIGlzIGRpc2FibGVkCgoyMDE0LTExLTI2IDEyOjM1OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkgIGNvbXBvc2l0b3I6IFJlbW92ZSB1bnVzZWQgem9yZGVyIHBhZCBwcm9wZXJ0eQoJICBJdCdzIGhhbmRsZWQgaW4gdmlkZW9hZ2dyZWdhdG9yIGFscmVhZHkuCgoyMDE0LTExLTIzIDIzOjQ5OjUwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIgKEdDQykgNC4yLjEKCSAgIndhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQKCSAgcmFuZ2Ugb2YgZGF0YSB0eXBlIgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjczCgoyMDE0LTExLTI1IDE4OjUzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBHc3RWaWRlb01ldGEgaXMgc3VwcG9ydGVkIGp1c3QgZmluZSwgdGVsbCB1cHN0cmVhbSBhYm91dCB0aGF0CgkgIEFsc28gcHJvdmlkZSBhIEdzdFZpZGVvQnVmZmVyUG9vbCB0byB1cHN0cmVhbSBqdXN0IGluIGNhc2UuCgoyMDE0LTExLTI0IDEzOjI1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZGVidWcgbWVzc2FnZSBmb3JtYXQgaXNzdWVzCgkgIEFuZCBwcmludCBsYXN0IGJpdHMgb2YgR1VJRCBwcm9wZXJseSBpbnN0ZWFkCgkgIG9mIHByaW50aW5nIG5vbnNlbnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDU1CgoyMDE0LTExLTI1IDA4OjI0OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGk2ODYtYXBwbGUtZGFyd2luMTEtbGx2bS1nY2MtNC4yIChHQ0MpIDQuMi4xCgkgICJ3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkCgkgIHJhbmdlIG9mIGRhdGEgdHlwZSIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDY3NAoKMjAxNC0xMS0yNCAxOTo1Mzo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgWDExCgkgIExpa2Ugd2UgZG8gaW4gLWJhc2UgYW5kIC1nb29kIG5vdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA0NwoKMjAxNC0xMS0yNCAxOToyMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBVc2UgYSBmaXhlZCBudW1iZXIgb2Ygc2xpY2VzIGJ5IGRlZmF1bHQKCjIwMTQtMTEtMjQgMTk6MTY6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIHNvbWUgbW9yZSBlbmNvZGluZyBwcm9wZXJ0aWVzCgkgIE1lcmdlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9Fcmljc3NvblJlc2VhcmNoL29wZW53ZWJydGMtZ3N0LXBsdWdpbnMKCSAgYmFzZWQgb24gYSBwYXRjaHNldCBieSBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBlcmljc3Nvbi5jb20+CgoyMDE0LTExLTI0IDE4OjQwOjUzICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgYnkgbW92aW5nIGRlY2xhcmF0aW9uIHdoZXJlIGl0IGlzIGFjdHVhbGx5IHVzZWQKCjIwMTQtMTEtMjQgMTQ6MDc6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciAyayBtb2RlcwoKMjAxNC0xMS0yNCAxMzo1Njo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBIRDEwODBpNTAgaXMgNTAgZnJhbWVzIHBlciBzZWNvbmQKCjIwMTQtMTEtMjQgMTc6NTg6NDIgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZwoKMjAxNC0xMS0yNCAxNzoxODo0NCArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBkdmJzZWN0aW9uOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDE0LTExLTI0IDE2OjU0OjQyICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHNkZXNjcmlwdG9yOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgkgIGdzdG1wZWd0c2Rlc2NyaXB0b3IuYzo3Nzg6MTY6IHdhcm5pbmc6IGZvcm1hdCBzcGVjaWZpZXMgdHlwZSAndW5zaWduZWQgbG9uZycgYnV0IHRoZSBhcmd1bWVudCBoYXMgdHlwZSAnaW50JyBbLVdmb3JtYXRdCgoyMDE0LTExLTI0IDExOjMyOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggdmFsaWQgY29tcGlsZXIgd2FybmluZwoJICBnc3RnbHVwbG9hZC5jOjQ0MjozMjogZXJyb3I6IGlmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keSBbLVdlcnJvciwtV2VtcHR5LWJvZHldCgkgIGlmICh1cGxvYWQtPnRleHR1cmVfaWRzW2ldKTsKCSAgXgoKMjAxNC0xMS0yNCAxMDo0MzoyMyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBzaGlwIHRoZSBnc3RnbGNvbnRleHRfZWdsLmggaGVhZGVyCgkgIEl0IGlzIHJlcXVpcmVkIGJ5IGdzdGVnbGltYWdlbWVtb3J5LmguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2MTEKCjIwMTQtMTEtMjMgMjE6NDM6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2w6IHNoYWRlcnZhcmlhYmxlczogbWFrZSBwYXJzaW5nIG9mIGZsb2F0cyBsb2NhbGUtaW5kZXBlbmRlbnQKCSAgRmxvYXRpbmcgcG9pbnQgbnVtYmVycyBhcmUgd3JpdHRlbiBkaWZmZXJlbnRseSBpbiBkaWZmZXJlbnQKCSAgbG9jYWxlcywgZS5nLiBpbiBtYW55IGNvdW50cmllcyAxLzIgPSAwLDUgaW5zdGVhZCBvZiAwLjUsIGFuZAoJICBzdHJ0b2Qgd2lsbCBub3QgYmUgYWJsZSB0byBwYXJzZSAiMC41IiBjb3JyZWN0bHkgaW4gc3VjaCBhCgkgIGxvY2FsZS4KCjIwMTQtMTEtMjQgMDI6NTI6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbHNoYWRlcnZhcmlhYmxlczogYWxzbyB0cmltIFxyIGFzIHdlbGwgYXMgXG4KCjIwMTQtMTEtMDUgMjA6MTg6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZWFyY2hpdGVjdHVyZSBmb3Igbm9uIEdMTWVtb3J5IGlucHV0cy9vdXRwdXRzCgkgIEFsbG93cyBvdGhlciBtZW1vcnkgdHlwZXMgdG8gYmUgaW1wbGVtZW50ZWQvcmV0dXJuZWQvdXNlZCBieSB0aGUgY2FsbGVyLgoKMjAxNC0xMS0xNCAxMDo1NToxNCArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWw4Ni5sZWVAbGdlLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogc2VuZCBTRUVLSU5HIHF1ZXJ5IHVwc3RyZWFtIGZpcnN0CgkgIFNvbWV0aW1lcyByYXdwYXJzZSBkb2VzIG5vdCBoYW5kbGUgdGhlIHNlZWtpbmcgcXVlcnkKCSAgcHJvcGVybHksIHRoZSByYXdwYXJzZSBzaG91bGQgc2VuZCB0aGUgcXVlcnkgdXBzdHJlYW0KCSAgZmlyc3QuIEZvciBleGFtcGxlLCB1cHN0cmVhbSBjb3VsZCBzdXBwb3J0IHNlZWtpbmcgaW4KCSAgVElNRSBmb3JtYXQgKGJ1dCBub3QgaW4gQllURSBmb3JtYXQpLCBzbyB0aGUgQllURSBmb3JtYXQKCSAgc2Vla2luZyBxdWVyeSB0aGF0IHJhd3BhcnNlIHNlbmRzIGluIHB1c2ggbW9kZSB3b3VsZAoJICBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzY0CgoyMDE0LTExLTIxIDE1OjQ2OjQ5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBsZXQgVlQgcGljayB0aGUgYml0cmF0ZSBieSBkZWZhdWx0CgoyMDE0LTExLTIwIDEwOjIzOjMwIC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogZml4IHJ0cC9ydGNwIHNpbmsgZXZlbnQgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQ1MQoKMjAxNC0xMS0yMCAxNjowNDozNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogc2V0IEgyNjRfQmFzZWxpbmVfQXV0b0xldmVsIG9uIE9TWCBhcyB3ZWxsCgoyMDE0LTExLTIwIDE1OjUwOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBkaXNhYmxlIHRoZSByZW9yZGVyIHF1ZXVlIGZvciBiYXNlbGluZSBzdHJlYW1zCgoyMDE0LTExLTIwIDA5OjQxOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBkaXZpZGUgYnkgemVybyBpbiB0aGUgcGljdHVyZSBidWZmZXIgbGVuZ3RoIGNhbGN1bGF0aW9uCgoyMDE0LTExLTIwIDA5OjEzOjU4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY3JpdGljYWwgZXJyb3Igd2hpbGUgc2VlayBwbGF5YmFjay10ZXN0KHN0b3Agc3RhdGUpCgkgIElmIHdlIHNlZWsgd2hlbiBtZWRpYSBpcyBpbiBzdG9wIHN0YXRlLCBwbGF5YmFjay10ZXN0IGdpdmVzCgkgIGNyaXRpY2FsIGVycm9yLCBzaW5jZSBjb250ZXh0IG9mIGdsaW1hZ2VzaW5rIGlzIGRlc3Ryb3llZCBkdXJpbmcgc3RvcC4KCSAgQnV0IHNpbmNlIGNvbnRleHQgaXMgbm90IHByZXNlbnQsIHdlIG5lZWQgbm90IGhhbmRsZSBzZW5kX2V2ZW50IGluIGdsaW1hZ2VzaW5rCgkgIEhlbmNlIGFkZGluZyBhIGNvbmRpdGlvbiB0byBjaGVjayBpZiBjb250ZXh0IGlzIHZhbGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzA1CgoyMDE0LTExLTE5IDE3OjE3OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbmJsb2NrIGV2ZW50cy9xdWVyaWVzIGltbWVkaWF0ZWx5IGlmIHRoZSBwYWQgaXMgZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzoxNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRHJvcCBzZXJpYWxpemVkIGV2ZW50cy9xdWVyaWVzIGlmIHRoZSBwYWQgaXMgZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzowMzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQmxvY2sgc2VyaWFsaXplZCBldmVudHMvcXVlcmllcyB1bnRpbCB0aGUgcGFkIGhhcyBjb25zdW1lZCBhbGwgYnVmZmVycwoJICBPdGhlcndpc2UgdGhlIGNhcHMgb2YgdGhlIHBhZCBtaWdodCBjaGFuZ2Ugd2hpbGUgdGhlIHN1YmNsYXNzIHN0aWxsIHdvcmtzIHdpdGgKCSAgYSBidWZmZXIgb2YgdGhlIG9sZCBjYXBzLCBhc3N1bWluZyB0aGUgdGhlIGN1cnJlbnQgcGFkIGNhcHMgYXBwbHkgdG8gdGhhdAoJICBidWZmZXIuIFdoaWNoIHRoZW4gbGVhZHMgdG8gY3Jhc2hlcyBhbmQgb3RoZXIgbmljZSBlZmZlY3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjAyOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IG91dHB1dCAwLWR1cmF0aW9uIGJ1ZmZlcnMgYXQgdGhlIHNlZ21lbnQgZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MDM6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCB0eXBvIGluIGRlYnVnIG91dHB1dAoKMjAxNC0xMS0xNyAxNDowNTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCB1cCBRb1MgaGFuZGxpbmcgZm9yIGxpdmUgc291cmNlcwoJICBPbmx5IGF0dGVtcHQgYWRhcHRpdmUgZHJvcCB3aGVuIHdlIGFyZSBub3QgbGl2ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTk2CgoyMDE0LTExLTE3IDE0OjAwOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIF9nZXRfbGF0ZW5jeSgpIGZvciBzdWJjbGFzcyB1c2FnZQoJICBBUEk6IGdzdF9hZ2dyZWdhdG9yX2dldF9sYXRlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTYKCjIwMTQtMTEtMTcgMDk6MzY6NTIgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGJ1aWxkIGVycm9ycyB3aGVuIEdTVF9HTF9IQVZFX09QRU5HTCBpcyAwCgkgIE1vdmluZyB2YXJpYWJsZXMgd2l0aGluICNpZiBHU1RfR0xfSEFWRV9PUEVOR0wsIHdoaWNoIGFyZSBub3QgZ29pbmcgdG8gYmUgdXNlZCBvdGhlcndpc2UuCgkgIGFuZCB3aGljaCBhcmUgbmVlZGVkIG9ubHkgd2hlbiBPcGVuR2wgaXMgcHJlc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM1CgoyMDE0LTExLTE3IDExOjEwOjM1ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiByZWxpY2Vuc2Ugb3BlbmN2IGdzdGhhbmRkZXRlY3RfdGVzdCB0byBMR1BMdjIrCgkgIFRoZSBHUEwzIGxpY2Vuc2UgaGVhZGVyIHdhcyBjb3B5J24ncGFzdGVkIGZyb20gYQoJICBuZWlnaGJvdXJpbmcgc291cmNlIGZpbGUgYnkgbWlzdGFrZSwgdGhlIG9yaWdpbmFsCgkgIGNvZGUgd2FzIG5vdCBHUEwzIGxpY2Vuc2VkLCBidXQgZmVsbCB1bmRlciB0aGUKCSAgZGVmYXVsdCBHU3RyZWFtZXIgbGljZW5zZSwgd2hpY2ggaXMgTEdQTHYyKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxNC0xMS0xNyAxODo1MDoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBhZGQgcmVhZC1vbmx5IGNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTEtMTcgMTg6NTA6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGFkZCByZWFkLW9ubHkgY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMS0xMSAxNzowODoyNSArMDkwMCAgSHl1bmp1biBLbyA8enpvb25pc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICBvcGVuY3YtZXhhbXBsZTogVXNlIGdfc25wcmludGYgaW5zdGVhZCBvZiBzcHJpbnRmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk4NDYKCjIwMTQtMTEtMTYgMjA6MzI6NTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgZXhwbGljaXQgY29tcGFyaXNvbnMgYWdhaW5zdCAwIGZvciB0cnVlL2ZhbHNlCgoyMDE0LTExLTE2IDExOjAwOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBPbmx5IHVzZSBjb252ZXJ0UmVjdFRvQmFja2luZyBvbiBPU1ggPj0gMTAuNwoJICBJdCBkb2VzIG5vdCBleGlzdCBiZWZvcmUgYW5kIG9sZGVyIHZlcnNpb25zIGFsc28gZG9uJ3QgaGF2ZQoJICBzdXBwb3J0IGZvciBIaURQSSBkaXNwbGF5cyBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMDEKCjIwMTQtMTEtMTYgMTA6NTc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogVXNlIG51bWVyaWMgT1NYIHZlcnNpb24gaW5zdGVhZCBvZiB0aGUgbWFjcm8KCSAgVGhlIG1hY3JvIGlzIG5vdCBkZWZpbmVkIG9uIG9sZGVyIE9TWCB2ZXJzaW9ucyBhbmQgZXZhbHVhdGVzIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMDEKCjIwMTQtMTEtMTUgMjE6NTk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IHBvc3NpYmxlIGNyYXNoIGJ5IHBhc3NpbmcgNjQgYml0cyBmb3IgNjQtYml0IHF1ZXVlIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTEKCjIwMTQtMTEtMTQgMTA6NDA6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uCgoyMDE0LTExLTEwIDEwOjAxOjI0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGdiLmRldmVsQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBkZXJpdmF0aW9uIG9mIE1heFBpY051bSB2YXJpYWJsZS4KCSAgVGhlIGxvZ2ljIHRvIGNvbXB1dGUgdGhlIE1heFBpY051bSB2YXJpYWJsZSB3YXMgcmV2ZXJzZWQuIEluIHBhcmljdWxhciwKCSAgTWF4UGljTnVtIGlzIGRvdWJsZSBNYXhGcmFtZU51bSBvbmx5IGlmIGZpZWxkX3BpY19mbGFnIGlzIHNldCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MjkxCgoyMDE0LTExLTEzIDEyOjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBEb24ndCBvdmVycmlkZSB0aGUgYXBwbGljYXRpb24gZGVsZWdhdGUKCSAgT3RoZXJ3aXNlIGludGVyZXN0aW5nIHRoaW5ncyB3aWxsIGhhcHBlbiBpbiBDb2NvYSBhcHBsaWNhdGlvbnMsIGxpa2UKCSAgaW5maW5pdGUgZXZlbnQgbG9vcHMgdGhhdCBibG9jayB0aGUgTlNBcHBsaWNhdGlvbiBsb29wIGZvcmV2ZXIuCgkgIFRoaXMgd2FzIG9ubHkgbmVlZGVkIGZvciBHTlVTdGVwIGFuZCB0aHVzIGNhbiBzYWZlbHkgYmUgcmVtb3ZlZCBub3cuCgoyMDE0LTExLTEzIDExOjU4OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2wvY29jb2E6IFJlbW92ZSBHTlVTdGVwIHN1cHBvcnQKCSAgVW50aWwgZ2NjIGFuZCBHTlVTdGVwIHByb3Blcmx5IHN1cHBvcnQgT2JqZWN0aXZlLUMgYmxvY2tzIGFuZCBvdGhlcgoJICAibmV3IiBmZWF0dXJlcyBvZiBPYmplY3RpdmUtQyB3ZSBjYW4ndCBwcm9wZXJseSBzdXBwb3J0IHRoZW0gd2l0aG91dAoJICBtYWtpbmcgdGhlIGNvZGUgbXVjaCBtb3JlIHVnbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkxNTIKCjIwMTQtMTEtMTIgMTg6MDY6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkgIGludGVyYXVkaW9zaW5rOiBNYWtlIHN1cmUgdG8gc3RvcmUgYXQgbGVhc3QgcGVyaW9kLXRpbWUgc2FtcGxlcyBhdCBvbmNlIGluIHRoZSBhZGFwdGVyCgkgIEl0J3MgYmV0dGVyIHRvIGNyZWF0ZSBzb21lIG1vcmUgc2lsZW5jZSB0aGFuIGhhdmluZyB0aGUgc291cmNlIHB1bGwgbXVsdGlwbGUKCSAgc2hvcnQgYnVmZmVycyBvdXQgb2YgdGhlIGFkYXB0ZXIgYW5kIGluc2VydCBzaWxlbmNlIGJldHdlZW4gdGhlbS4KCjIwMTQtMTEtMTIgMTY6NDU6MTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBidWlsZCBvbiBpT1MKCjIwMTQtMTEtMTIgMTU6MzU6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjogc2V0IC0+cGl4ZWxfYnVmIGZvciBDVlBpeGVsQnVmZmVyIGJ1ZmZlcnMKCSAgRml4IGEgYnVnIGZvciB3aGljaCB3ZSBuZXZlciBhY3R1YWxseSBzZXQgLT5waXhlbF9idWYgdG8gbm9uLU5VTEwgZm9yCgkgIENWUGl4ZWxCdWZmZXIgYnVmZmVycy4KCjIwMTQtMDYtMDYgMTM6NTc6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgdXNpbmcgdGhlIGFwcHJvcHJpYXRlIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDM4CgoyMDE0LTExLTEyIDEzOjU4OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogU3RvcCBzaG93aW5nIHRoZSBjdXJyZW50IGZyYW1lIGFmdGVyIDEgc2Vjb25kLCBub3QgYWZ0ZXIgMzAgZnJhbWVzCgoyMDE0LTExLTEyIDA5OjQxOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIENGTEFHUyBhbmQgTEFERCBmb3IgZ2xpbWFnZXNpbmsgdW5pdCB0ZXN0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTIgMTE6NTI6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIG5ldyBlbmFibGUtZnJhbWUtc2tpcCBwcm9wZXJ0eSBhbmQgZGlzYWJsZSBpdCBieSBkZWZhdWx0CgkgIE90aGVyd2lzZSBlLmcuIHZpZGVvdGVzdHNyYyAhIG9wZW5oMjY0ZW5jICEgLi4uIHdpbGwgZHJvcCBldmVyeSBzZWNvbmQgZnJhbWUKCSAgYmVjYXVzZSBvdGhlcndpc2UgdGhlIHRhcmdldCBiaXRyYXRlIGNhbid0IGJlIHJlYWNoZWQgd2l0aG91dCBsb29zaW5nIHRvbwoJICBtdWNoIHF1YWxpdHkuCgoyMDE0LTExLTEyIDA5OjU5OjUzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggY29tcGlsYXRpb24gb24gPCAxMC45CgoyMDE0LTExLTEyIDExOjQ0OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IHNldCB0aGUgdXBsb2FkIHRvIE5VTEwgb24gdGhlIGRyYWluIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2OTQKCjIwMTQtMTEtMTEgMTc6MDQ6NDggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uaXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBDb3JyZWN0IGludmFsaWQgY29tbWVudCB0ZXh0CgoyMDE0LTExLTExIDIzOjU0OjQ0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBnbDogYWRkIHVuaXQgdGVzdCB0aGF0IGNoZWNrcyBmb3IgZ2xpbWFnZXNpbmsgZHJhaW4gcXVlcnkgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMSAyMzo0OTo1OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlbGVhc2Ugc3RvcmVkIGJ1ZmZlcnMgb24gZHJhaW4gcXVlcnkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMSAyMzo0Mzo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IGRvIG5vdCByYWlzZSBhIGNyaXRpY2FsIG1zZyBpZiB0aGUgYmFja2VuZCBkb2VzIG5vdCBoYW5kbGUgd2luZG93IGV2ZW50cwoJICBGaXggImFzc2VydGlvbiAnd2luZG93X2NsYXNzLT5oYW5kbGVfZXZlbnRzICE9IE5VTEwnIGZhaWxlZCIKCSAgaWYgbm90IHVzaW5nIGEgWDExIHdpbmRvdy4KCjIwMTQtMTEtMTEgMTg6MDE6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGVuYWJsZSB0aGUgaHcgZW5jb2RlciBvbiBPU1gKCjIwMTQtMTEtMTEgMTI6MDA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBDaGVjayB0aGUgY29ycmVjdCB2YXJpYWJsZSBmb3IgZmFpbHVyZQoJICBJZiB3ZSBjYW4ndCBnZXQgYW4gb3V0cHV0LCB3ZSB3b3VsZCBvdGhlcndpc2UganVzdCB1c2UgaXQgbGF0ZXIgYW5kIGNyYXNoLgoKMjAxNC0xMS0xMSAxMToxODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IE1ha2Ugc3VyZSB3ZSBoYXZlIGEgd3JpdGFibGUgYnVmZmVyIGJlZm9yZSB3ZSBzdGFydCBjaGFuZ2luZyBtZXRhZGF0YQoKMjAxNC0xMS0xMSAxMToxNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IFNldCB0aGUgR0FQIGZsYWcgb24gcmVwZWF0ZWQgYnVmZmVycwoJICB2aWRlb3JhdGUgZG9lcyB0aGUgc2FtZSBhbmQgaXQgYWxsb3dzIG9wdGltaXphdGlvbnMgZG93bnN0cmVhbS4KCjIwMTQtMTEtMTEgMTE6MTI6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBTZXQgdGhlIEdBUCBmbGFnIG9uIGJ1ZmZlcnMgdGhhdCBvbmx5IGNvbnRhaW4gc2lsZW5jZQoKMjAxNC0xMS0xMSAxNDoyMzo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiByZW1vdmUgdGhlIHdpZHRoL2hlaWdodCBmaWVsZHMgZnJvbSB0aGUgY2FwcyB0byBzdXBwb3J0IGZyYW1lIHJlc2l6aW5nCgkgIEl0IHdhcyBwcmV2aW91c2x5IG9ubHkgb2NjdXJpbmcgd2l0aCBzeXNtZW0gY2FwcyBmZWF0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzM0CgoyMDE0LTExLTEwIDE3OjQyOjIwICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBmaXggR3N0SDI2NFBhcnNlclJlc3VsdCBkb2N1bWVudGF0aW9uIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTkwNgoKMjAxNC0xMS0xMCAxNjowMToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBBZGQgeDI2NWVuYyB1bml0IHRlc3QgdG8gLmdpdGlnbm9yZQoKMjAxNC0xMS0wOSAyMDo1MzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IG9wdGltaXNlIHJlYWRpbmcgb2YgcG5nIGZpbGVzCgkgIFJlYWQgUE5HIGRhdGEgY2h1bmsgaW4gb25lIGdvIGJ5IGxldHRpbmcgdGhlIHBhcnNlcgoJICBiYXNlIGNsYXNzIGtub3cgdGhlIHNpemUgd2UgbmVlZCwgc28gdGhhdCBpdCBkb2Vzbid0CgkgIGRyaXAtZmVlZCB1cyBzbWFsbCBjaHVua3Mgb2YgZGF0YSAoY2F1c2luZyBhIGxvdCBvZgoJICByZWFsbG9jcyBhbmQgbWVtY3B5IGluIHRoZSBwcm9jZXNzKSB1bnRpbCB3ZSBoYXZlCgkgIGV2ZXJ5dGhpbmcuCgkgIEltcHJvdmVzIHBhcnNpbmcgcGVyZm9ybWFuY2Ugb2YgdmVyeSBsYXJnZSBQTkcgZmlsZXMKCSAgKDY1TUIpIGZyb20gfjEzIHNlY29uZHMgdG8gYSBjb3VwbGUgb2YgbWlsbGlzZWNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTc2CgoyMDE0LTExLTA5IDE5OjIzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzbXV4L21wdHNfdGVzdDIuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBwb2ludGxlc3MgbXBlZ3RzbXV4IGV4YW1wbGUKCSAgU2VydmVzIG5vIHB1cnBvc2UsIGlzIG5vdCBldmVuIGhvb2tlZCB1cCB0byB0aGUKCSAgYnVpbGQgc3lzdGVtLCBoYXMgaGFyZCBjb2RlZCBmaWxlIG5hbWVzIGFuZCBwYXRocywKCSAgYW5kIGNhbiBlYXNpbHkgYmUgcmVwbGFjZWQgd2l0aCBhIGdzdC1sYXVuY2ggbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg0NAoKMjAxNC0xMS0wOSAxMDoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBEb24ndCBwcmV0ZW5kIHRvIHN1cHBvcnQgcmVjb25maWd1cmF0aW9uCgkgIFdlIHdpbGwgcnVuIGludG8gYW4gYXNzZXJ0aW9uIGluIHNldF9jYXBzKCkgaWYgd2UgdHJ5IHRvIGNoYW5nZQoJICBjYXBzIHdoaWxlIHRoZSBzb3VyY2UgaXMgYWxyZWFkeSBydW5uaW5nLiBEb24ndCB0cnkgdG8gZmluZCBuZXcKCSAgY2FwcyBpbiBHc3RCYXNlU3JjOjpuZWdvdGlhdGUoKSB0byBwcmV2ZW50IGNhcHMgY2hhbmdlcy4KCjIwMTQtMTAtMDkgMTM6MTE6NDggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBzZXQgc2VxX2xheWVyX3NlbnQgdG8gRkFMU0Ugb24gcmVzZXQoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTEwLTA5IDEzOjAzOjU2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBpbXBsZW1lbnQgYXNmIHRvICotZnJhbWUtbGF5ZXIgc3RyZWFtLWZvcm1hdAoJICBUaGlzIGNvbW1pdCBhZGQgYW4gaGVscGVyIHRvIGNvbnZlcnQgYSBmcmFtZSB0byBmcmFtZS1sYXllciBmb3JtYXQgYW5kCgkgIHVzZSBpdCB0byBpbXBsZW1lbnQgdGhlc2UgdHdvIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbjoKCSAgLSBhc2YgLS0+IHNlcXVlbmNlLWxheWVyLWZyYW1lLWxheWVyCgkgIC0gYXNmIC0tPiBmcmFtZS1sYXllcgoJICBJbiBzaW1wbGUvbWFpbiBwcm9maWxlLCB3ZSBiYXNpY2FsbHkgaGF2ZSBhIHJhdyBmcmFtZSwgc28gYnVpbGRpbmcgYQoJICBmcmFtZSBsYXllciBpc24ndCB0b28gY29tcGxpY2F0ZWQuIEJ1dCBpbiBhZHZhbmNlZCBwcm9maWxlLCB0aGUgZmlyc3QKCSAgZnJhbWUtbGF5ZXIgc2hvdWxkIGNvbnRhaW4gc2VxdWVuY2UtaGVhZGVyLCBlbnRyeXBvaW50LCBhbmQgZnJhbWUgYW5kCgkgIGVhY2gga2V5ZnJhbWUgc2hvdWxkIGNvbnRhaW4gZW50cnlwb2ludCwgc28gd2UgaGF2ZSB0byBoYW5kbGUgdGhlc2UKCSAgY2FyZWZ1bGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTEwLTA5IDEwOjM4OjQwICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogY2hlY2sgb3V0cHV0IGZvcm1hdCBhdCBuZWdvdGlhdGlvbiB0aW1lCgkgIEFkZCBhbiBoZWxwZXIgdG8gY2hlY2sgdGhhdCBvdXRwdXQgc3RyZWFtLWZvcm1hdCBpcyBjb2hlcmVudCB3aXRoCgkgIHByb2ZpbGUgYW5kIGhlYWRlci1mb3JtYXQuIEl0IGFsc28gY2hlY2sgaWYgd2Uga25vdyBob3cgdG8gZG8gdGhlCgkgIGNvbnZlcnNpb24gaWYgdGhlIGlucHV0IHN0cmVhbS1mb3JtYXQgZGlmZmVycyBmcm9tIHNlbGVjdGVkCgkgIG91dHB1dC1mb3JtYXQuCgkgIFNvLCBpbiBjYXNlIG91dHB1dCBzdHJlYW0tZm9ybWF0IGlzIG5vdCBhbGxvd2VkLCBpdCB3aWxsIG5vdyBmYWlsIGF0CgkgIG5lZ290aWF0aW9uIHJhdGhlciB0aGFuIGluIHByZV9wdXNoX2ZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTMwIDE1OjM1OjM4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogYWRkIHNvbWUgYXNmIHJlbGF0ZWQgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9ucwoJICBUaGlzIGNvbW1pdCBpbnRyb2R1Y2VzIGFuIGhlbHBlciB0byBjb252ZXJ0IGFuIEFTRiBmcmFtZSB0byBCRFVzIGZvcm1hdCB3aXRoCgkgIHN0YXJ0Y29kZXMgYW5kIHVzZSB0aGlzIGhlbHBlciB0byBpbXBsZW1lbnRzIGZvbGxvd2luZyBzdHJlYW0tZm9ybWF0CgkgIGNvbnZlcnNpb25zOgoJICAtIGFzZiAtLT4gYmR1CgkgIC0gYXNmIC0tPiBzZXF1ZW5jZS1sYXllci1iZHUKCSAgLSBhc2YgLS0+IHNlcXVlbmNlLWxheWVyLXJhdy1mcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTI2CgoyMDE0LTA5LTMwIDE1OjI4OjU1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBzaW1wbGUgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uCgkgIEl0IGFkZCB0aGUgc3VwcG9ydCBvZiBmb2xsb3dpbmcgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uOgoJICAtIGJkdSAtLT4gc2VxdWVuY2UtbGF5ZXItYmR1CgkgIC0gYmR1LWZyYW1lIC0tPiBzZXF1ZW5jZS1sYXllci1iZHUtZnJhbWUKCSAgLSBmcmFtZS1sYXllciAtLT4gc2VxdWVuY2UtbGF5ZXItZnJhbWUtbGF5ZXIKCSAgRm9yIHRoZXNlIGNvbnZlcnNpb24sIHRoZSBvbmx5IHJlcXVpcmVtZW50cyBpcyB0byBwdXNoIGEgc2VxdWVuY2UtbGF5ZXIKCSAgYnVmZmVyIHByaW9yIHRvIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMzAgMTQ6NTM6MjUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBwcmVwYXJlIHRoZSBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gY29kZSBhbmQgYWRkIHRoZSBzaW1wbGVzdCBvbmVzCgkgIEl0IHByZXBhcmVzIHRoZSB0ZW1wbGF0ZSBmb3Igc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uIGFuZCBpdCBpbXBsZW1lbnRzCgkgIHRoZSBmb2xsb3dpbmcgY29udmVyc2lvbjoKCSAgLSBzZXF1ZW5jZS1sYXllci1iZHUgLS0+IGJkdQoJICAtIHNlcXVlbmNlLWxheWVyLWJkdS1mcmFtZSAtLT4gYmR1LWZyYW1lCgkgIC0gc2VxdWVuY2UtbGF5ZXItZnJhbWUtbGF5ZXIgLS0+IGZyYW1lLWxheWVyCgkgIFdvcmsgaXMgZG9uZSBpbiB0aGUgcHJlX3B1c2hfZnJhbWUoKSBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMDUgMTc6NTc6NDcgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkbyBub3Qgb3ZlcnJpZGUgbGFzdCBrbm93biBzdHJlYW0gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjE0MQoKMjAxNC0xMS0wNyAxOTozMDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHNlZWtzIGluIHRoZSBtYW5pZmVzdCBuZXZlciBmYWlsCgkgIFNldCB2b2lkIGFzIHRoZSByZXR1cm4gYW5kIHJlbW92ZSBlcnJvciBoYW5kbGluZyBhcyBpdCBjb3VsZAoJICBuZXZlciBmYWlsCgoyMDE0LTExLTA3IDE5OjE2OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtYWtlIHN1cmUgZmx1c2hlcyBoYXZlIHRoZSBzYW1lIHNlcW51bSBhcyB0aGUgc2VlayBldmVudAoJICBUaGV5IGFyZSBwYXJ0IG9mIHRoZSBzYW1lIG9wZXJhdGlvbiBhbmQgc2hvdWxkIHByZXNlcnZlIHRoZSBzZXFudW0KCjIwMTQtMTEtMDcgMTk6MDk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNpbXBsaWZ5IHNlZWsgdG8gZW9zIGhhbmRsaW5nCgkgIFJlbW92ZSByZWR1bmRhbnQgZmx1c2ggc3RvcCBwdXNoaW5nIGFuZCByZW1vdmUgYSBnb3RvIHRvIG1ha2UKCSAgdGhlIGNvZGUgZmxvdyBzaW1wbGVyCgoyMDE0LTA5LTE3IDE1OjIyOjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBtaXNzaW5nIEZMVVNIX1NUT1AvRU9TIHdoZW4gbm8gc2Vla2luZyBwZXJpb2QgaXMgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjgwMAoKMjAxNC0xMS0wNyAxNTo1MDo1MSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBzZXQgdGhlIEhFQURFUiBmbGFnIG9uIGJ1ZmZlcnMgY29udGFpbmluZyBTUFMgb3IgUFBTCgoyMDE0LTExLTA3IDE1OjQxOjE1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJICBoMjY1cGFyc2U6IHNldCB0aGUgSEVBREVSIGZsYWcgb24gYnVmZmVycyBjb250YWluaW5nIFZQUywgU1BTIG9yIFBQUwoKMjAxNC0xMS0wNyAxMTo0MTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgZ3N0Z2xjb25maWc6IFB1dCBnc3RnbGNvbmZpZy5oIGludG8gJChsaWJkaXIpL2dzdHJlYW1lci0xLjAvaW5jbHVkZQoJICBJdCdzIGFyY2hpdGVjdHVyZSBkZXBlbmRlbnQgYW5kIHNob3VsZCBub3QgYmUgcGxhY2VkIGludG8gdGhlIGluY2x1ZGUKCSAgZGlyZWN0b3J5IGFzIHRoZSBhc3N1bXB0aW9uIGlzIHRoYXQgYWxsIHRob3NlIGhlYWRlcnMgYXJlIGFyY2hpdGVjdHVyZQoJICBpbmRlcGVuZGVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTc2NwoKMjAxNC0xMS0wNyAwMDoxNjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBpbml0aWFsaXNlIG5ldyBHc3RIMjY0TmFsVW5pdCBmaWVsZHMKCSAgQ0lEICMxMjUxMTA3LgoKMjAxNC0xMS0wNiAyMzo1ODowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGRvbid0IG1ha2UgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzIGNhbGwgX2Vuc3VyZV9nbF9zZXR1cAoJICBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMgY2FuIGJlIGNhbGxlZCBmcm9tIHRoZSBvdmVybGF5IGludGVyZmFjZSBhbmQgZnJvbQoJICB0aGUgbWFpbiB0aHJlYWQgYmVmb3JlIEdMIGlzIHNldHVwLiBCZWZvcmUgdGhpcyBjaGFuZ2UsIHRoYXQgd291bGQgY2FsbAoJICBfZW5zdXJlX2dsX3NldHVwKCkgYW5kIGRlYWRsb2NrIG9uIE9TWC4KCSAgQ2hhbmdlIHRoaW5ncyBzbyB0aGF0IGl0J3MgYWx3YXlzIHNhZmUgdG8gY2FsbCBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMoKQoJICB3aXRob3V0IHN0dWZmIGRlYWRsb2NraW5nLgoKMjAxNC0xMS0wNiAyMzo1NToyMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBwb3NzaWJsZSBkZWFkbG9jayBvbiBvc3gKCSAgUmVtb3ZlIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cyBjYWxsIGluIGdzdF9nbGltYWdlX3NpbmtfaW5pdC4gSXQgd2FzCgkgIHVubmVjZXNzYXJ5IGFuZCB3aGVuIHRoZSBlbGVtZW50IHdhcyBpbnN0YW50aWF0ZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQsIGNhdXNlZCBhCgkgIGRlYWRsb2NrIGluIE9TWCBjcmVhdGluZyB0aGUgY29udGV4dCAodGhyZWFkKS4KCjIwMTQtMTEtMDYgMTM6MjI6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IGFkZCByZWFsdGltZSBhbmQgYWxsb3ctZnJhbWUtcmVvcmRlcmluZyBwcm9wZXJ0aWVzCgoyMDE0LTExLTA3IDEwOjAxOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNsYW1wIHRoZSByZXNpemUgd2lkdGgvaGVpZ2h0IHRvID49IDEgdG8gYXZvaWQgYSBHTCBlcnJvcgoKMjAxNC0xMS0wNiAxNzozNjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IFByaW50IGEgd2FybmluZyBpbnRvIHRoZSBkZWJ1ZyBsb2cgb24gZ2VuZXJhdGluZyBibGFjayBmcmFtZXMKCjIwMTQtMTEtMDYgMTc6MjE6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXJ2aWRlb3Npbms6IEFkZCBzb21lIGRlYnVnIG91dHB1dCBpbiB0aGUgcmVuZGVyIGZ1bmN0aW9uCgoyMDE0LTExLTA2IDExOjUzOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBkb24ndCB1bm5lY2VzYXJpbHkgc2V0IHNyY19jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNzQKCjIwMTQtMTAtMjkgMjI6NTU6NDcgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IHVubmVjZXNhcmlseSBzZXQgc3JjX2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM3NAoKMjAxNC0xMS0wNiAxODo0MzowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2x1dGlsczogb25seSBhdHRlbXB0IGdldHRpbmcgdGhlIGFwcCBjb250ZXh0IHdoZW4gd2UgZG9uJ3QgYWxyZWFkeSBoYXZlIGEgZGlzcGxheQoJICBhdm9pZHMgcXVlcnlpbmcvbWVzc2FnaW5nIHRoZSB3b3JsZCBvbiBlYWNoIGZyYW1lCgoyMDE0LTExLTA2IDE4OjM3OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZmFpbCBjb250ZXh0IGNyZWF0aW9uIGlmIGdsR2V0U3RyaW5nIHJldHVybnMgTlVMTAoKMjAxNC0xMC0yOSAxMjoyNDoxNiArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgZ3N0X3ZpZGVvX292ZXJsYXlfaGFuZGxlX2V2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDM1CgoyMDE0LTExLTA0IDE1OjE2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHZhcmlhYmxlcwoJICBnc3RpbnRlcmF1ZGlvc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfaW50ZXJfYXVkaW9fc3JjX2NyZWF0ZSc6CgkgIGdzdGludGVyYXVkaW9zcmMuYzozMzk6Mjc6IGVycm9yOiB2YXJpYWJsZSAnYnVmZmVyX3NhbXBsZXMnIHNldCBidXQgbm90IHVzZWQgWy1XZXJyb3I9dW51c2VkLWJ1dC1zZXQtdmFyaWFibGVdCgkgIGd1aW50NjQgcGVyaW9kX3NhbXBsZXMsIGJ1ZmZlcl9zYW1wbGVzOwoJICBeCgoyMDE0LTExLTA0IDE0OjU2OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcmF1ZGlvOiBNYWtlIGJ1ZmZlciBzaXplIGFuZCBsYXRlbmN5IGhhbmRsaW5nIG1vcmUgZXhwbGljaXQgYW5kIGFkZCBwcm9wZXJ0aWVzIGZvciB0aGVtCgkgIFRoaXMgbm93IG1ha2VzIGF1ZGlvIHdvcmsgbW9yZSByZWxpYWJsZSB3aXRob3V0IGRpc2NvbnRzLgoKMjAxNC0xMS0wNCAxMzo1OToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogVXNlIHRoZSBicGYgZnJvbSB0aGUgYXVkaW8gaW5mbyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgNAoKMjAxNC0xMS0wNCAxMzo1ODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IE9ubHkgZmx1c2ggdGhlIHJpbmdidWZmZXIgb24gdGhlIHNpbmsgc2lkZQoKMjAxNC0xMS0wNCAxMzo0Njo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogRmx1c2ggdGhlIGFkYXB0ZXIgd2hlbiB3ZSBnZXQgbmV3IGNhcHMKCSAgSWRlYWxseSB3ZSB3b3VsZCBkcmFpbiB0aGUgc291cmNlIGJ1dCB0aGF0IHdvdWxkIHJlcXVpcmUgbW9yZSBjb29yZGluYXRpb24KCSAgYmV0d2VlbiBzaW5rIGFuZCBzb3VyY2UgdGhhbiB3aGF0IHdlIGN1cnJlbnRseSBoYXZlLgoKMjAxNC0xMS0wNCAwOTo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvY29jb2E6IGluY2x1ZGUgZ2wzLmggaW4gY29uZmlndXJlIHRvbyBmb3IgY29uc2lzdGVuY3kgd2l0aCBnc3RnbGFwaS5oCgoyMDE0LTExLTAzIDIwOjQ1OjAzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBZGQgZG9jIGZvciB0aGUgaWdub3JlZCB1c2VyLWRhdGEgaW4gYWN0aW9uIHNpZ25hbHMKCjIwMTQtMTEtMDMgMjM6MjQ6MzMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiB1c2UgTlNBdXRvcmVsZWFzZVBvb2wgdG8gZnJlZSByZXNpemUgZGF0YQoJICBPdGhlcndpc2Ugd2hlbiByZXNpemluZyB0aGUgd2luZG93IHlvdSB3aWxsIGFsc28gZ2V0IG1lc3NhZ2VzIGxpa2U6CgkgIGNsYXNzIE5TQ29uY3JldGVNYXBUYWJsZSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgkgIGNsYXNzIE5TQ29uY3JldGVWYWx1ZSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgkgIGNsYXNzIE5TQ29uY3JldGVWYWx1ZSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgkgIGNsYXNzIF9fTlNDRkRpY3Rpb25hcnkgYXV0b3JlbGVhc2VkIHdpdGggbm8gcG9vbCBpbiBwbGFjZSAtIGp1c3QgbGVha2luZwoKMjAxNC0xMS0wMyAyMzowODowOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2wvY29jb2E6IGluY2x1ZGUgZ2wzLmggdG8gaGF2ZSBHTF9DT05URVhUX1BST0ZJTEVfTUFTSwoKMjAxNC0xMS0wMyAyMzowNzozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG1ha2Ugc3VyZSB0byB0dXJuIG9uIGZyYW1lIHJlY3RhbmdsZSBjaGFuZ2VzIG5vdGlmaWNhdGlvbnMKCSAgRGVmYXVsdCB2YWx1ZSBvZiBwcm9wZXJ0eSBwb3N0c0ZyYW1lQ2hhbmdlZE5vdGlmaWNhdGlvbnMgaXMgWUVTCgkgIGJ1dCBpdCBpcyB3b3J0aCB0byBleHBsaWNpdGx5IGVuYWJsZSBpdC4KCjIwMTQtMTEtMDMgMjM6MDI6MTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBmaXggdW5jYXVnaHQgZXhjZXB0aW9uICd1bnJlY29nbml6ZWQgc2VsZWN0b3Igc2VudCB0byBpbnN0YW5jZScKCSAgTmVlZCB0byBzZXQgdGhlICc6JyBhcyB0aGUgcmVzaGFwZSBtZXRob2Qgbm93IHRha2VzIG9uZSBwYXJhbWV0ZXIuCgkgIEZvciB0aGUgc3RvcnksIHRoZSBHc3RHTE5TVmlldyB3YXMgcHJldmlvdXNseSBpbmhlcml0aW5nIGZyb20KCSAgTlNPcGVuR0xWaWV3IHdoaWNoIGhhcyBhIHJlc2hhcGUgZnVuY3Rpb24gd2l0aG91dCBhbnkgcGFyYW1ldGVyLgoJICBOb3cgdGhlIEdzdEdMTlNWaWV3IGluaGVyaXRzIGZyb20gTlNWaWV3IGFuZCB3ZSByZS11c2UgdGhlIHJlc2hhcGUKCSAgZnVuY3Rpb24gbWFudWFsbHkuCgoyMDE0LTExLTAzIDIyOjU5OjQxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgVXNlIHRoZSByZXNoYXBlIGZ1bmN0aW9uIGFmdGVyIGJlaW5nIGRlZmluZWQuIFRoZSBvdGhlciB3YXkKCSAgd291bGQgaGF2ZSBiZWVuIHRvIGRlY2xhcmUgdGhlIHJlc2hhcGUgZnVuY3Rpb24gaW4gdGhlIGhlYWRlci4KCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTogSW4gZnVuY3Rpb24gJy1bR3N0R0xOU1ZpZXcgZHJhd1JlY3Q6XSc6CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnR3N0R0xOU1ZpZXcnIG1heSBub3QgcmVzcG9uZCB0byAnLXJlc2hhcGUnCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAoTWVzc2FnZXMgd2l0aG91dCBhIG1hdGNoaW5nIG1ldGhvZCBzaWduYXR1cmUKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IHdpbGwgYmUgYXNzdW1lZCB0byByZXR1cm4gJ2lkJyBhbmQgYWNjZXB0CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnLi4uJyBhcyBhcmd1bWVudHMuKQoKMjAxNC0xMS0wMyAxNjo1NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IE5lZ290aWF0ZSBmcmFtZXJhdGUgd2l0aCBkb3duc3RyZWFtCgkgIFByZWZlciB0aGUgY2xvc2VzdCBmcmFtZXJhdGUgdG8gdGhlIGlucHV0IGZyYW1lcmF0ZSB0aG91Z2guCgoyMDE0LTExLTAzIDE2OjI0OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXIqc3JjOiBObyBuZWVkIHRvIHNldCBjYXBzIG1hbnVhbGx5IG9uIHRoZSBwYWQKCSAgYmFzZXNyYyBkb2VzIHRoYXQgZm9yIHVzIGFscmVhZHkuCgoyMDE0LTExLTAzIDE2OjEzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFN3YXAgc291cmNlL2Rlc3RpbmF0aW9uIHBhcmFtZXRlcnMgb2YgZ3N0X3ZpZGVvX2NvbnZlcnRlcl9mcmFtZSgpCgoyMDE0LTExLTAzIDE1OjE5OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBmaXggb3JkZXIgb2YgYXJndW1lbnRzCgoyMDE0LTExLTAzIDEwOjA1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IFNldCBhbGwgcmVxdWlyZWQgZmllbGRzIG9uIHRoZSB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1NDIKCjIwMTQtMTEtMDMgMDA6MTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IGZpeCBTaW5jZSBtYXJrZXIgZm9yIGdzdF9nbF93aW5kb3dfcnVuX25hdmlnYXRpb24oKQoKMjAxNC0xMS0wMiAyMzoyNDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGRvbid0IGxlYWsgc3VyZmFjZSBuYW1lCgoyMDEzLTA5LTAzIDExOjExOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzdGFydCBwdXNoaW5nIGRhdGEgYWdhaW4gd2hlbiBhIHBhZCBnZXRzIGxpbmtlZCBsYXRlcgoJICBUaGUgd2hvbGUgbm90X2xpbmtlZCBvcHRpbWlzYXRpb24gaXMgcmVhbGx5IGEgYml0IGRvZGd5IGhlcmUsIGJ1dAoJICBsZXQncyBsZWF2ZSBpdCBpbiBwbGFjZSBmb3Igbm93IGFuZCBhdCBsZWFzdCBzdGFydCBwdXNoaW5nIGRhdGEKCSAgYWdhaW4gd2hlbiBhIHBhZCBnb3QgbGlua2VkIGxhdGVyLCBpbiB3aGljaCBjYXNlIHdlIHNob3VsZCBnZXQgYQoJICBSRUNPTkZJR1VSRSBldmVudC4KCjIwMTMtMDktMDIgMjM6MzY6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJICBtcGVnZGVtdXg6IG5hbWVzcGFjZSBmaXhlcwoKMjAxNC0xMS0wMiAxOToyNjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHBvc3QgUW9TIG1lc3NhZ2VzIHdoZW4gZHJvcHBpbmcgZnJhbWVzIGR1ZSB0byBRb1MKCjIwMTQtMTEtMDIgMTk6MTI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggYm9pbGVycGxhdGUgbWFjcm9zCgoyMDE0LTExLTAyIDE3OjE4OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX0RFUFJFQ0FURUQgYW5kICNpZm5kZWYgR1NUX1JFTU9WRV9ERVBSRUNBVEVECgoyMDE0LTExLTAyIDE3OjE3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNC0xMC0yOSAxODoxODowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbHNoYWRlcjogRml4IG1lbW9yeSBsZWFrCgkgIE1lbW9yeSBpcyBvbmx5IGZyZWVkIGluIHRoZSBUUlVFIGNsYXVzZSBvZiB0aGUgaWYgY29uZGl0aW9uYWwuIEZyZWUgaW4gdGhlIGVsc2UKCSAgY2xhdXNlIGFzIHdlbGwuCgkgIEFsc28sIGNvbnNvbGlkYXRlIGdfbWFsbG9jICsgc3ByaW50ZiBpbnRvIGEgZ19zdHJkdXBfcHJpbnRmKCkuCgkgIENJRCAjMTIxMjE3MQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzY4CgoyMDE0LTExLTAxIDEwOjEwOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXM6IFVzZSBPUFVTIGVuY29kaW5nIG5hbWUKCSAgQm90aCBGaXJlZm94IGFuZCBDaHJvbWUgdXNlcyBPUFVTIGFzIHRoZSBlbmNvZGluZyBpbiB0aGVpciBTRFAuCgkgIEFkZGluZyB0aGlzIG5vdyBkZWZhY3RvIHN0YW5kYXJkIG5hbWUgcmVtb3ZlIHRoZSBuZWVkIGZvciBzcGVjaWFsCgkgIGNhc2UgaW4gU0RQIHBhcnNpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNC0xMC0zMSAxNzozMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIHR5cGUgb2Ygc3RyZWFtIHRvIGRlYnVnIGxvZwoJICBNYWtlcyBpdCBmYXN0ZXIgdG8gZGVidWcgd2h5IGNlcnRhaW4gc3RyZWFtcyBhcmUgbm90IHNob3dpbmcKCjIwMTQtMTAtMzEgMTc6MzI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB1bmxvY2sgbm90IGxvY2tlZCBtdXRleAoKMjAxNC0xMC0zMSAxMDo0NToxOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IGNvbW1lbnRzIHRoYXQgY29uZnVzZSBndGstZG9jCgkgIEdUSy1Eb2MgdXNlcyBhIHNwZWNpYWwgc3ludGF4IGZvciBjb2RlIGRvY3VtZW50YXRpb24uIEEgbXVsdGlsaW5lIGNvbW1lbnQgdGhhdAoJICBzdGFydHMgd2l0aCBhbiBhZGRpdGlvbmFsICcqJyBtYXJrcyBhIGRvY3VtZW50YXRpb24gYmxvY2sgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZAoJICBieSB0aGUgR1RLLURvYyB0b29scy4gU28gR1RLLURvYyBpcyBjb25mdXNlZCBpZiBhIGNvbW1lbnQgYmxvY2sgc3RhcnRzIHdpdGggdGhhdAoJICBhZGRpdGlvbmFsICcqJyBidXQgaXNuJ3QgbWVhbnQgdG8gYmUgcHJvY2Vzc2VkLiBSZW1vdmluZyB0aGlzIGFkZGl0aW9uYWwgJyonLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NDQ0CgoyMDE0LTEwLTMxIDEyOjUyOjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiByZXNpemUgdGhlIHZpZXdwb3J0IGNvcnJlY3RseSBvbiBhIGNhcHMgY2hhbmdlCgkgIHdpdGggZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUsIGlmIHRoZSB3aWR0aCBvciBoZWlnaHQgY2hhbmdlZCwgdGhlCgkgIHZpZXdwb3J0IHdhc24ndCBiZWluZyB1cGRhdGVkIHRvIHJlc3BlY3QgdGhlIG5ldyB2aWRlbyB3aWR0aCBhbmQgaGVpZ2h0CgkgIHVudGlsIGEgcmVzaXplIG9jY3VyZWQuCgoyMDE0LTEwLTMxIDEyOjUyOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBhZHZlcnRpc2Ugc3VwcG9ydCBmb3IgY2hhbmdpbmcgaW5wdXQgY2FwcyBtaWQtc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzMzQKCjIwMTQtMTAtMzEgMTI6MzA6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IHNwcmlua2xlIHNvbWUgU2luY2UgbWFya2VycwoKMjAxNC0xMC0zMCAxNDoyNzozOCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IHJlbW92ZSBzdG9yYWdlIG9mIG5ldmVyIHVzZWQgdmFsdWVzCgkgIEJvdGggX3BhcnNlX2F0c2NfbWd0KCkgYW5kICBfcGFyc2VfYXRzY192Y3QgKCkgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUKCSAgZGF0YSBqdXN0IGJlZm9yZSByZXR1cm5pbmcuIFRoZSBuZXcgdmFsdWUgaXMgbmV2ZXIgdXNlZCBzaW5jZSBkYXRhIGlzIGEgcG9pbnRlcgoJICBkZWNsYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmdW5jdGlvbiBhbmQgZ29pbmcgb3V0IG9mIHNjb3BlIGp1c3QgYWZ0ZXIgdGhlCgkgIG5ldyB2YWx1ZSBpcyBzdG9yZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0MDQKCjIwMTQtMTAtMzAgMTc6MDY6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogcmVtb3ZlIDwgMCBjb21wYXJpc29uIG9uIGd1aW50MzIKCSAgQ3VycmVudCBDTEFNUCBjaGVja3MgYm90aCBpZiB0aGUgdmFsdWUgaXMgYmVsb3cgMCBvciBhYm92ZSAyNTUuIENvbnNpZGVyaW5nIGl0CgkgIGlzIGFuIHVuc2lnbmVkIHZhbHVlIGl0IGNhbiBuZXZlciBiZSBsZXNzIHRoYW4gemVybywgc28gdGhhdCBjb21wYXJpc29uIGlzCgkgIHVubmVjZXNzYXJ5LiBTd2l0Y2hpbmcgdG8gdXNpbmcgaWYganVzdCBmb3IgdGhlIHVwcGVyIGJvdW5kLgoJICBDSUQgIzExMzk3OTYKCjIwMTQtMTAtMzAgMTY6MDU6MTQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogZGVjbGFyZSBmbG9vciBhbmQgY2VpbGluZyBhcyBjb25zdGFudHMKCjIwMTQtMTAtMzAgMTU6NDk6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHN0b3JlZCB2YWx1ZSBpcyBvdmVyd3JpdHRlbgoJICBWYWx1ZSBmcm9tIGxlZnRfbHVtaW5hbmNlIGlzIGFzc2lnbmVkIHRvIG91dF9sdW1pbmFuY2UgaGVyZSwgYnV0IHRoYXQgc3RvcmVkCgkgIHZhbHVlIGlzIG5vdCB1c2VkIGJlZm9yZSBpdCBpcyBvdmVyd3JpdHRlbiBpbiB0aGUgbmV4dCBjeWNsZSBvZiB0aGUgbG9vcC4KCSAgUmVtb3ZpbmcgYXNzaWduYXRpb24uCgkgIENJRCAjMTIyNjQ3MwoKMjAxNC0xMC0yNCAxNjo1Mjo0MiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvIG5vdCByZW1vdmUgcHJvZ3JhbXMgb24gRU9TCgkgIEFzIGEgY29uc2VxdWVuY2UsIHRzZGVtdXggd29uJ3QgcmVtb3ZlIGl0cyBwYWRzIGFueW1vcmUgb24gRU9TLgoJICBGaXhlcyB0aGUgY2FzZSB3aGVuIG1wZWd0c2Jhc2UgaXMgbm90IGFibGUgdG8gcHJvY2VzcyBuZXcgcGFja2V0cwoJICBhZnRlciBFT1MgYXMgdGhlIGNvcnJlc3BvbmRpbmcgcGlkcyBhcmVuJ3Qga25vd24gYW55bW9yZSBiZWNhdXNlCgkgIHRoZSBwcm9ncmFtcyB3ZXJlIHJlbW92ZWQgYW5kIHRoZSBwZXMvcHNpIHdlcmUga2VwdCwgcHJldmVudGluZyB0aGUKCSAgUEFUIHRvIGJlIHBhcnNlZCBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY5NQoKMjAxNC0wNC0yMSAxMTo0ODoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkgIHNpcmVuOiBmaXggc2FtcGxlIHJhdGUgbGlzdAoJICBJdCB3YXMgdXNpbmcgYSAyNDAwMC8yNDAwMC80ODAwMCwgYnV0IEkgdGhpbmsgaXQgbWVhbnQgdG8gdXNlCgkgIDI0MDAwLzMyMDAwLzQ4MDAwLiBOb3QgMTAwJSBzdXJlLi4uCgkgIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0cuNzIyLjEgaGFzIHRoZSBsaXN0IG9mIHN1cHBvcnRlZAoJICBiaXRyYXRlcy4gSXQncyBub3QgY2xlYXIgd2hldGhlciB0aGUgImZsYWciIGNvZGUgbWFwcyB0byB0aGlzLAoJICBob3dldmVyLgoJICBDb3Zlcml0eSAyMDYwNzIKCjIwMTQtMTAtMzAgMTQ6NDk6MDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVtb3ZlIHN0b3JhZ2Ugb2YgbmV2ZXIgdXNlZCB2YWx1ZXMKCSAgVGhlc2UgdHdvIHZhbHVlcyBhcmUgc3RvcmVkIGp1c3QgYmVmb3JlIHRoZSBmdW5jdGlvbiByZXR1cm5zIGFuZCB0aGV5IGdvIG91dCBvZgoJICBzY29wZS4KCjIwMTQtMDYtMTAgMDk6MzM6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHVwZGF0ZSBvdXRwdXQgc2VnbWVudCBzdG9wIHRpbWUgdG8gbWF0Y2ggY2xpcHBlZCBzYW1wbGVzCgkgIFRoaXMgd2lsbCBsZXQgb2dnbXV4IGdlbmVyYXRlIGEgZ3JhbnBvcyBvbiB0aGUgbGFzdCBwYWdlIHRoYXQgcHJvcGVybHkKCSAgcmVwcmVzZW50cyB0aGUgY2xpcHBlZCBzYW1wbGVzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmVhbS4KCjIwMTQtMTAtMzAgMTg6NDU6MDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBUcml2aWFsIGRvY3VtZW50YXRpb24gZml4CgoyMDE0LTEwLTMwIDIzOjA4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBkb24ndCBnZXQgdGhlIGN1cnJlbnQgY2FwcyBmcm9tIEdzdFZpZGVvSW5mbyBmb3IgdGhlIHNyY3BhZAoJICBJdCdzIG1pc3NpbmcgdGhlIGNhcHMgZmVhdHVyZXMgbmVlZGVkLgoKMjAxNC0xMC0zMCAxODo1Nzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGZvciBvdGhlci1jb250ZXh0IHByb3BlcnR5IHJlbW92YWwKCjIwMTQtMTAtMzAgMTY6NDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkgIGdsY29udGV4dDogYWRkIG1vcmUgZnVuY3Rpb25hbGl0eSB0byB3cmFwcGVkIGNvbnRleHRzCgkgIEltcGxlbWVudHMgZ2V0X2N1cnJlbnRfY29udGV4dCgpIGFuZCBnZXRfcHJvY19hZGRyZXNzKCkgZm9yIHdyYXBwZWQKCSAgY29udGV4dHMuCgoyMDE0LTEwLTMwIDEyOjQzOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBhZHZlcnRpc2UgdGhlIGRlZmF1bHQgdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzIG9uIGRlc2t0b3AgR0wKCjIwMTQtMDUtMjIgMTM6MTM6MTQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvZ25pemUgU1ZDIE5BTCB1bml0cy4KCSAgSWRlbnRpZnkgU1ZDIE5BTCB1bml0cyBhbmQgdGFnIHRoZW0gYXMgc3VjaC4gVGhpcyBpcyBuZWNlc3NhcnkgZm9yCgkgIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zbGljZV9oZHIoKSB0byBmYWlsIGdyYWNlZnVsbHksIGlmIHRoZSB1c2VyCgkgIGRpZCBub3QgcGVyZm9ybSB0aGUgY2hlY2sgaGltc2VsZi4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0xMC0yOSAxNDo1MzoxNSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IG51bWJlciBvZiBsaXN0MCB7LG5vbi19YW5jaG9yIHJlZnMuCgkgIEZpeCBjb3B5LXBhc3RlIGVycm9yIGluIGdzdF9oMjY0X3Nwc19tdmNfY29weSgpIHdoZXJlIG51bV9hbmNob3JfcmVmc19sMAoJICBhbmQgbnVtX25vbl9hbmNob3JfcmVmc19sMCB3ZXJlIGluY29ycmVjdGx5IGluaXRpYWxpemVkIGZyb20gbGlzdDEuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMTAtMjkgMTM6NTE6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgVXBkYXRlIC5kZWYgZm9yIG5ldyBBUEkKCjIwMTQtMTAtMjkgMTM6MTU6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2Vyczogc3ByaW5rbGUgc29tZSBndGstZG9jIFNpbmNlOiBtYXJrZXJzIGZvciBuZXcgQVBJCgoyMDE0LTEwLTI5IDEyOjIyOjE0ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgc2F0aXNmeSBnc3QtaW5kZW50CgoyMDE0LTEwLTI5IDIyOjIzOjEzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgZ2xmaWx0ZXJjdWJlOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxNC0xMC0yOSAyMjoyMzowMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBJbml0aWFsaXNlIG5hbHUgZXh0ZW5zaW9uIHR5cGUgdG8gTk9ORQoJICBBbHdheXMgc2V0IGEgZGVmYXVsdCBOQUxVIGV4dGVuc2lvbiB0eXBlLCBhbmQgb3ZlcnJpZGUgaXQKCSAgd2hlbiB3ZSBmaW5kIGEgc3VwcG9ydGVkIGV4dGVuc2lvbiwgdG8gYXZvaWQgaGF2aW5nIGl0IHVuc2V0L3JhbmRvbQoJICBmb3IgdW5zdXBwb3J0ZWQgTkFMVSBleHRlbnNpb25zCgoyMDE0LTEwLTA3IDE2OjI4OjAzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBGaXggZnJhbWUgcGFja2luZyBTRUkgcGFyc2luZwoKMjAxNC0wMy0yNSAxNDowODo0NCArMDEwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBGcmFtZSBQYWNraW5nIEFycmFuZ2VtZW50IFNFSSBtZXNzYWdlLgoJICBUaGlzIHBhcnNlcyB0aGUgZnJhbWVfcGFja2luZ19hcnJhZ2VtZW50KCkgcGF5bG9hZCBpbiBTRUkgbWVzc2FnZS4KCSAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCBieSBkZWNvZGVycyB0byBhcHByb3ByaWF0ZWx5IHJlYXJyYW5nZSB0aGUKCSAgc2FtcGxlcyB3aGljaCBiZWxvbmcgdG8gU3RlcmVvc2NvcGljIGFuZCBNdWx0aXZpZXcgSGlnaCBwcm9maWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDMtMDggMTg6MTc6MTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgc3VwcG9ydCBmb3IgU3RlcmVvIFZpZGVvIEluZm9ybWF0aW9uIFNFSSBtZXNzYWdlLgoJICBBZGQgdGhlIG5lY2Vzc2FyeSBwYXlsb2FkIHBhcnNpbmcgc3VwcG9ydCBmb3Igc3RlcmVvX3ZpZGVvX2luZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAxMzozNjo0NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHBhcnNlIHNlcV9wYXJhbWV0ZXJfc2V0X212Y19leHRlbnNpb24oKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTI2IDE4OjQ2OjM2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcGFyc2UgTVZDIHN5bnRheCBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTEwLTI5IDIyOjU4OjM3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBIYW5kbGUgYmFja3dhcmQgYW5kIGRpc2NvbnQgdGltZXN0YW1wcyBiZXR0ZXIuCgkgIEFzc3VtZSB0aGF0IHNtYWxsIGJhY2t3YXJkIFBDUiBqdW1wcyBhcmUganVzdCBmcm9tIHVwc3RyZWFtIHBhY2tldAoJICBtaXMtb3JkZXJpbmcgYW5kIGRvbid0IHJlc2V0IHRpbWVzdGFtcCB0cmFja2luZyBzdGF0ZSAtIGFzc3VtaW5nIHRoYXQKCSAgdGhpbmdzIHdpbGwgYmUgT0sgYWdhaW4gc2hvcnRseS4KCSAgTWFrZSB0aGUgdGhyZXNob2xkIGZvciBkZXRlY3RpbmcgZGlzY29udCBiZXR3ZWVuIHNlcXVlbnRpYWwgYnVmZmVycwoJICBjb25maWd1cmFibGUgYW5kIG1hdGNoIHRoZSBzbW9vdGhpbmctbGF0ZW5jeSBzZXR0aW5nIG9uIHRzcGFyc2UKCSAgdG8gYmV0dGVyIGNvcGUgd2l0aCBkYXRhIGJ1cnN0cy4KCjIwMTQtMTAtMjkgMjI6NTg6MzcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBJbXBsZW1lbnQgdGltZXN0YW1wL3JldGltZXN0YW1waW5nIG9mIG91dHB1dCBidWZmZXJzCgkgIFdoZW4gdGhlIHNldC10aW1lc3RhbXBzIHByb3BlcnR5IGlzIHNldCwgdXNlIFBDUnMgb24gdGhlIHByb3ZpZGVkCgkgIChvciBhdXRvZGV0ZWN0ZWQpIHBjci1waWQgdG8gYXBwbHkgKG9yIHJlcGxhY2UpIHRpbWVzdGFtcHMgb24gdGhlCgkgIG91dHB1dCBidWZmZXJzLCB1c2luZyBwaWVjZS13aXNlIGxpbmVhciBpbnRlcnBvbGF0aW9uLgoJICBUaGlzIGFsbG93cyB0c3BhcnNlIHRvIGJlIHVzZWQgdG8gc3RyZWFtIGFuIGFyYml0cmFyeSBtcGVnLXRzIGZpbGUsCgkgIG9yIHRvIHNtb290aCBqaXR0ZXJ5IHJlY2VwdGlvbiB0aW1lc3RhbXBzIGZyb20gYSBuZXR3b3JrIHN0cmVhbS4KCSAgVGhlIHJlcG9ydGVkIGxhdGVuY3kgaXMgaW5jcmVhc2VkIHRvIG1hdGNoIHRoZSBzbW9vdGhpbmcgbGF0ZW5jeSBpZgoJICBuZWNlc3NhcnkuCgoyMDE0LTEwLTI5IDEwOjA5OjM1ICswMTAwICBWaW5jZW50IEFicmlvdSA8dmluY2VudC5hYnJpb3VAc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGF1dG8gZGVjaXNpb24gdG8gaW5jbHVkZSBHTCBsaWJyYXJ5IGZhaWxzCgkgIFRoZSBwYXJ0IG9mIHRoZSBjb25maWd1cmUuYWMgdGhhdCBjb25zaXN0IHRvIGNoZWNrIGlmIHdlCgkgIGNhbiBpbmNsdWRlIGJvdGggR0wgYW5kIEdMRVMyIGF0IHRoZSBzYW1lIHRpbWUgaXMgZmFpbGluZy4KCSAgSW5kZWVkLCBpbiB0aGUgY2FzZSBORUVEX0dMRVMyPXllcyBhbmQgTkVFRF9PUEVOR0w9YXV0bywKCSAgSEFWRV9PUEVOR0wgdmFyaWFibGUgaXMgdXBkYXRlZCB3aGVyZWFzIGl0IHNob3VsZCBiZSBIQVZFX0dMCgkgIHZhcmlhYmxlIHRoYXQgaGFzIHRvIGJlIHVwZGF0ZWQgKEhBVkVfT1BFTkdMIHZhcmlhYmxlIGlzIG5vdAoJICB1c2VkIGluIHRoZSByZXN0IG9mIHRoZSBjb25maWd1cmUuYWMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ4CgkgIFNpZ25lZC1vZmYtYnk6IFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBzdC5jb20+CgkgIFJldmlld2VkLWJ5OiBCZW5qYW1pbiBHQUlHTkFSRCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCjIwMTQtMTAtMjkgMTA6Mzc6MzggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVtb3ZlIGlnbm9yZWQgaW5jcmVtZW50IG9mIHJldHVybgoJICAncmV0dXJuIHZhbCsrOycgcmV0dXJucyB0aGUgdmFsdWUgYmVmb3JlIGl0IGlzIGluY3JlbWVudGVkIGJlY2F1c2UgdGhlIHBvc3QKCSAgaW5jcmVtZW50IGhhcHBlbnMgYWZ0ZXIgdGhlIHN0YXRlbWVudC4gUmVtb3ZpbmcgdGhlIHVudXNlZCBpbmNyZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDUKCjIwMTQtMTAtMjkgMDg6Mjc6NTcgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOmZpeCBpbmNvcnJlY3QgcGFyYW1ldGVyIHBhc3NlZCB0byBoYW5kbGVfc2V0X2NvbnRleHQKCjIwMTQtMTAtMjggMjE6NDI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJICBBZGQgc29tZSBtaXNzaW5nIEdfRU5EX0RFQ0xTCgoyMDE0LTEwLTI4IDE3OjQ0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXggd3JvbmcgdW5yZWZzIGluIHNldF9mb3JtYXQgZXJyb3IgY29kZSBwYXRoCgoyMDE0LTEwLTI4IDE4OjI3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGdldCB0aGUgY29uZmlnIGZyb20gdGhlIGNvcnJlY3QgcG9vbAoKMjAxNC0xMC0yOCAxODowMToyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBhdm9pZCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHNpemUgd2hlbiBjaGFpbmluZyBtdWx0aXBsZSBnbGZpbHRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTI3NwoKMjAxNC0xMC0yOCAxODowMTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBnc3QtaW5kZW50IGZpbGUKCjIwMTQtMTAtMjggMTc6MzE6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYWRkIGFwaSBmb3IgcmV0cmVpdmluZyB0aGUgY3VycmVudCBjb250ZXh0IGFuZCBhcGkKCSAgdGhhdCBpcyBjdXJyZW50IGluIHRoZSBjYWxsaW5nIHRocmVhZC4KCjIwMTQtMTAtMjEgMTk6MDM6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3Zhby5oOgoJICBnbHByb3RvdHlwZXM6IGFkZCB2ZXJ0ZXggYXR0cmlidXRlIGFycmF5IGRlZmluaXRpb25zCgoyMDE0LTEwLTI3IDE3OjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NGQwNmNkIHRvIDdiYjJiY2UKCjIwMTQtMTAtMjcgMTU6MzQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogVXNlIDY0LWJpdCBzYWZlIHNjYWxpbmcgZnVuY3Rpb25zCgoyMDE0LTEwLTI3IDEyOjQzOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZWZsb3cgc3dpdGNoIGNhc2Ugc3RhdGVtZW50IGEgYml0CgkgIE1ha2UgaXQgY2xlYXIgdGhlcmUncyBubyAnYnJlYWsnIG1pc3NpbmcgYXQgdGhlIGVuZAoJICBvZiB0aGUgY2FzZSBTWVNfRFZCVCwgYW5kIHBhY2lmeSBjb3Zlcml0eSAoQ0lEIDEyNDk2ODkpLgoKMjAxNC0wNi0xMiAxNjo1OTo0NiArMDIwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSAgY3VybHNzaHNpbms6IHVzZSB0aGUgbG9jYWxseSBkZWZpbmVkIHR5cGVzCgkgIEp1c3QgYSBtYXR0ZXIgb2YgY29kaW5nIHN0eWxlLCBtYWtlcyB0aGUgY29kZSBhIGJpdCB0aWRpZXIuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTU4MQoKMjAxNC0xMC0yNiAxNTo0NToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJICBQYXJhbGxlbGlzZSAnbWFrZSBjaGVjay12YWxncmluZCcKCjIwMTQtMTAtMjYgMTU6NDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogY2hlY2sgZm9yIG1vcmUgb3BlbmgyNjQgQVBJIHRoYXQgd2UgbmVlZAoKMjAxNC0xMC0yNSAxODo1MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBmaXggYXVkaW9taXhlciB0ZXN0IG9uIGJpZyBlbmRpYW4gc3lzdGVtcwoKMjAxNC0xMC0yNCAyMTo0Mjo1OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBjb3JyZWN0bHkgY2FwaXRhbGl6ZSBEaVNFcUMKCjIwMTQtMTAtMjQgMjA6MTI6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmV3b3JrIF9vdXRwdXRfZnJvbnRlbmRfc3RhdHMoKQoJICBSZXRyeSBzdGF0IHJlcG9ydGluZyBpb2N0bHMgb24gRUlOVFIKCjIwMTQtMTAtMjQgMTk6MzA6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGNoZWNrcyBvbiBhbGxvd2VkIERWQi1UIGJhbmR3aWR0aHMKCjIwMTQtMTAtMjQgMTk6MTI6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIGZpeG1lIG5vdGUgb24gRFRWX0xOQSBzZXR0aW5nCgkgIFJlcGhyYXNlIGFub3RoZXIgY29tbWVudCB3aGlsZSBhdCBpdAoKMjAxNC0xMC0yNCAxODo1Nzo0MCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBsb2dpYyBmb3IgYWRkaXRpb25hbCBiYW5kd2lkdGhzCgkgIE5ldyAxLjcxMiwgNSBhbmQgMTAgTUh6IGJhbmR3aWR0aHMgd2VyZSBiZWVuIGlnbm9yZWQKCSAgYXQgc2V0L2dldCBwcm9wLgoKMjAxNC0xMC0yNCAxNTo1Mzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBVc2UgbGlic3J0cC5wYyBpZiBwcmVzZW50CgoyMDE0LTEwLTIzIDE3OjQyOjI3ICswMzAwICBWb290ZWxlIFZlc3RlcmJsb20gPHZvdkBiYW5nLW9sdWZzZW4uZGs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBoYW5kbGluZyBvZiBzZWdtZW50IGV2ZW50IGluIHNpbmsgZXZlbnQgaGFuZGxlcgoKMjAxNC0xMC0yNCAwMDozNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogb3ZlcnJpZGUgdGhlIGNhcHMgcXVlcnkgaW4gb3JkZXIgdG8gJ2NvbnZlcnQnIGNhcHNmZWF0dXJlcwoJICBPdGhlcndpc2UsIGl0IGlzIG9ubHkgcG9zc2libGUgZm9yIHRoZSBzaW5rIHBhZHMgYW5kIHRoZSBzcmMgcGFkcyB0bwoJICBoYXZlIHRoZSBleGFjdCBzYW1lIGNhcHMgZmVhdHVyZXMuICBXZSBjYW4gY29udmVydCBmcm9tIGFueSBmZWF0dXJlCgkgIHRvIGFub3RoZXIgZmVhdHVyZSBzbyBzdXBwb3J0IHRoYXQuCgoyMDE0LTEwLTIzIDIzOjU1OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBvdmVycmlkZSB0aGUgYWNjZXB0IGNhcHMgcXVlcnkgaW4gb3JkZXIgdG8gJ2NvbnZlcnQnIGNhcHNmZWF0dXJlcwoJICBPdGhlcndpc2UsIGl0IGlzIG9ubHkgcG9zc2libGUgZm9yIHRoZSBzaW5rIHBhZHMgYW5kIHRoZSBzcmMgcGFkcyB0bwoJICBoYXZlIHRoZSBleGFjdCBzYW1lIGNhcHMgZmVhdHVyZXMuICBXZSBjYW4gY29udmVydCBmcm9tIGFueSBmZWF0dXJlCgkgIHRvIGFub3RoZXIgZmVhdHVyZSBzbyBzdXBwb3J0IHRoYXQuCgoyMDE0LTA4LTE0IDIzOjI5OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogcHJvcG9nYXRlIG90aGVyLWNvbnRleHQgdXNpbmcgR3N0Q29udGV4dAoKMjAxNC0xMC0yMCAwMzowNzowOCAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGV4dC9kYXNoL1JFQURNRToKCSAgZGFzaDogUmVtb3ZlIG9ic29sZXRlIFJFQURNRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODg0OAoKMjAxNC0xMC0yMiAxOTozNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBBZGQgc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IHJhdyBhdWRpbyBmb3JtYXRzCgoyMDE0LTEwLTIyIDE5OjMxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVydmlkZW86IEFkZCBzdXBwb3J0IGZvciBhcmJpdHJhcnkgdmlkZW8gZm9ybWF0cwoKMjAxNC0xMC0yMiAxOToyODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBUcnVuY2F0ZSB0aGUgY2FwcyBhcyBwYXJ0IG9mIHRoZSBmaXhhdGluZwoKMjAxNC0xMC0yMiAxOTowODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBGaXggdGltZXN0YW1wLCBsYXRlbmN5IGFuZCBwZXJpb2QgaGFuZGxpbmcKCjIwMTQtMTAtMjIgMTg6NDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogVXNlIEdTVF9ERUJVR19PQkpFQ1QoKSBpbnN0ZWFkIG9mIEdTVF9ERUJVRygpCgoyMDE0LTEwLTIyIDE4OjQwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyYXVkaW86IFByb3Blcmx5IHBhc3MgdGhyb3VnaCBjYXBzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHNvdXJjZQoJICBPdGhlcndpc2UgYSBtYWdpYyBjYXBzZmlsdGVyIGFmdGVyIHRoZSBzb3VyY2UgaXMgcmVxdWlyZWQgd2l0aAoJICBleGFjdGx5IHRoZSBzYW1lIGNhcHMgYXMgdGhlIGlucHV0LgoKMjAxNC0xMC0yMiAxODoxMzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcjogQ2xlYW4gdXAgc3VyZmFjZXMgYWZ0ZXIgdGhlIGxhc3QgdXNlciBpcyBnb25lCgoyMDE0LTEwLTIyIDE4OjA3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBXaGl0ZXNwYWNlIGNsZWFudXAKCjIwMTQtMTAtMjIgMTg6MDM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXJ2aWRlbzogUHJvcGVybHkgcGFzcyB0aHJvdWdoIGNhcHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE90aGVyd2lzZSBhIG1hZ2ljIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHNvdXJjZSBpcyByZXF1aXJlZCB3aXRoCgkgIGV4YWN0bHkgdGhlIHNhbWUgY2FwcyBhcyB0aGUgaW5wdXQuCgkgIFRoaXMgd291bGQndmUgZmFpbGVkIGJlZm9yZSB3aXRoIGludmFsaWQgYnVmZmVyIHNpemVzOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBpbnRlcnZpZGVvc2luayAgaW50ZXJ2aWRlb3NyYyAhICJ2aWRlby94LXJhdyx3aWR0aD02NDAsaGVpZ2h0PTQ4MCIgISB4dmltYWdlc2luawoKMjAxNC0xMC0yMiAxNTowNzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogQ2hlY2sgZm9yIDAtc2l6ZSBhZnRlciBhZGp1c3RpbmcgdGhlIHNpemUgZm9yIHRoZSBmcmFtZSBzaXplCgkgIElmIHdlIGRvbid0IGhhdmUgYSBjb21wbGV0ZSByYXcgYXVkaW8gZnJhbWUgd2Ugd291bGQgb3RoZXJ3aXNlIHN0aWxsCgkgIGFzayBmb3IgYSAwIHNpemVkIGJ1ZmZlciBmcm9tIHRoZSBhZGFwdGVyLgoKMjAxNC0xMC0yMiAxNDo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogRG9uJ3QgdHJ5IHRvIHJldHJpZXZlIDAgYnl0ZSBidWZmZXJzIGZyb20gdGhlIGFkYXB0ZXIgaW4gbXVsdGktZnJhbWUgbW9kZQoKMjAxNC0xMC0yMiAxMzowMzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbXByb3ZlIG9wZW5oMjY0IGNoZWNrCgkgIFRoZSBvcGVuaDI2NCBBUEkgaXMgc3RpbGwgdW5zdGFibGUsIHNvIGNoZWNrIGZvcgoJICBzdHJ1Y3R1cmUgbWVtYmVyIHRoYXQgd2UgbmVlZCB0byBwcmV2ZW50IGJ1aWxkaW5nCgkgIGFnYWluc3QgYW4gb2xkZXIgaW5jb21wYXRpYmxlIHZlcnNpb24uCgoyMDE0LTEwLTIyIDEyOjM2OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNpbXBsaWZ5IG9wZW5oMjY0IGNoZWNrCgkgIE9mIGNvdXJzZSBQVEhSRUFEU19DRkxBR1MgaXMgbm90IHVzZWQgYW55d2hlcmUgbm93CgkgIGZvciB0aGUgY2hlY2ssIGJ1dCB0aGF0IHdhcyB0aGUgY2FzZSBiZWZvcmUgYXMgd2VsbC4KCjIwMTQtMTAtMjEgMTY6MjE6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsd2luZG93X2NvY29hLm06IEluIGZ1bmN0aW9uICctW0dzdEdMTlNWaWV3IGRyYXdSZWN0Ol0nOgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJ0dzdEdMTlNWaWV3JyBtYXkgbm90IHJlc3BvbmQgdG8gJy1yZXNoYXBlJwoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogKE1lc3NhZ2VzIHdpdGhvdXQgYSBtYXRjaGluZyBtZXRob2Qgc2lnbmF0dXJlCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiB3aWxsIGJlIGFzc3VtZWQgdG8gcmV0dXJuICdpZCcgYW5kIGFjY2VwdAoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogJy4uLicgYXMgYXJndW1lbnRzLikKCjIwMTQtMTAtMjEgMTU6NDI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRml4IGxvY2tpbmcKCSAgVGhlIG9iamVjdCBsb2NrIG9ubHkgcHJvdGVjdHMgdGhlIHNlc3Npb24sIGFzIHdlIG1vZGlmeQoJICB0aGUgc2Vzc2lvbiBmcm9tIG90aGVyIHRocmVhZHMgd2hlbiB0aGUgYml0cmF0ZSBwcm9wZXJ0eQoJICBpcyBjaGFuZ2VkLiBEb24ndCBob2xkIGl0IG11Y2ggbG9uZ2VyIHRoYW4gZm9yIHNlc3Npb24KCSAgcmVsYXRlZCB0aGluZ3MuCgkgIEFuZCB3ZSBuZWVkIHRvIHJlbGVhc2UgdGhlIHZpZGVvIGRlY29kZXIgc3RyZWFtIGxvY2sgYmVmb3JlCgkgIGVucXVldWVpbmcgYSBmcmFtZXMuIEl0IG1pZ2h0IHdhaXQgZm9yIG91ciBjYWxsYmFjayB0byBkZXF1ZXVlCgkgIGEgZnJhbWUgZnJvbSBhbm90aGVyIHRocmVhZCwgd2hpY2ggd2lsbCB0aGVuIHRha2UgdGhlIHN0cmVhbQoJICBsb2NrIHRvbyBhbmQgZGVhZGxvY2suCgoyMDE0LTEwLTIxIDEzOjAxOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOGM4OTM5IHRvIDg0ZDA2Y2QKCjIwMTQtMTAtMjEgMTM6Mjg6NTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIGEgbWFjcm8gdG8gY2hlY2sgZm9yIHB0aHJlYWQKCSAgUmVwbGFjZSB0aGUgaGFyZGNvZGVkIC1scHRocmVhZCBpbiBtb3N0IG9mIHRoZSBwbGFjZXMgd2l0aCAkUFRIUkVBRF9MSUJTLiBGb3IKCSAgb3BlbmgyNjQgYWxzbyBhZGQgJFBUSFJFQURfTElCUyB0byBPUEVOSDI2NF9MSUJTIHVudGlsIHVwc3RyZWFtIHNoaXBzIGEgLnBjCgkgIGZpbGUuCgoyMDE0LTEwLTIxIDEyOjU4OjM5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM2Mzg4YTEgdG8gYThjODkzOQoKMjAxNC0xMC0yMSAxMjozOToxNCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlc2V0IGVuZF9vZl9wbGF5bGlzdCBhdHRyaWJ1dGUgd2hlbiB3ZSByZWNlaXZlIGEgc2VlawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njk2CgoyMDE0LTEwLTIwIDE4OjI1OjA4ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBjcml0aWNhbCBlcnJvciBmb3IgYmxvY2tzaXplLCB0aW1lb3V0IG1pbi9tYXggdmFsdWVzCgkgIEF1ZGlvbWl4ZXIgYmxvY2tzaXplLCBjYW50IGJlIDAsIGhlbmNlIGFkanVzdGluZyB0aGUgbWluaW11bSB2YWx1ZSB0byAxCgkgIHRpbWVvdXQgdmFsdWUgb2YgYWdncmVnYXRvciBpcyBkZWZpbmVkIHdpdGggTUFYIG9mIE1BWElOVDY0LAoJICBidXQgaXQgY2Fubm90IGNyb3NzIEdfTUFYTE9ORyAqIEdTVF9TRUNPTkQgLSAxCgkgIEhlbmNlIGNoYW5nZWQgdGhlIG1heCB2YWx1ZSBvZiB0aGUgc2FtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODQ1CgoyMDE0LTEwLTIxIDA2OjA0OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBmaXh1cCBlZ2xpbWFnZSBpbmNsdWRlIHBhdGgKCjIwMTQtMTAtMjEgMDI6NTI6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXhhdGUgdGhlIHBhcnRzIG9mIHRoZSBjYXBzIHdlIGRvbid0IGtub3cgaG93IHRvIGRlYWwgd2l0aAoJICBmaXhlcyBnbHZpZGVvbWl4ZXIgd2l0aCB2aWRlby94LXJhdyx3aWR0aD1mb28gaS5lLiBubyBmb3JtYXQgZmllbGQuCgoyMDE0LTEwLTE4IDEwOjAzOjQzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsYnVmZmVycG9vbDogYWRkIHRoZSBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgYnVmZmVyIHBvb2wgb3B0aW9uCgoyMDE0LTEwLTIwIDEwOjM0OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogb3BlcmF0ZSBvbiBjYXBzIHJhdGhlciB0aGFuIHZpZGVvIGluZm8KCSAgT3RoZXJ3aXNlIHRoZSBDYXBzRmVhdHVyZXMgd2lsbCBiZSBsb3N0IGFsb25nIHdpdGggdGhlIHBvc3NpYmlsaXR5CgkgIG9mIG11bHRpcGxlIG91dHB1dCB0eXBlcyBhbmQgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODEyOQoKMjAxNC0wOS0xOSAxMTozNzo1NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGludHJvZHVjZSBhIGhlbHBlciB0byBtYWtlIHNlcXVlbmNlLWxheWVyCgkgIEl0IHdpbGwgYmUgdXNlZnVsIHRvIGltcGxlbWVudCBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMTAtMjAgMDI6Mjc6MTUgLTA2MDAgIEJyZW5kYW4gTG9uZyA8c2VsZkBicmVuZGFubG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBDaGVjayBmb3IgR0xVIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0IGluIGNvbmZpZ3VyZS5hYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODE2CgoyMDE0LTEwLTIwIDE1OjAyOjI4ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHN1cHBvcnQgUkdCMTYvQkdSMTYgdmlkZW8gZm9ybWF0IHVwbG9hZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODQyCgoyMDE0LTEwLTA5IDE1OjEyOjAxICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBmaXggZXhwZWN0ZWQgbGV2ZWwgaW4gc2VxdWVuY2UtbGF5ZXIgcGFyc2luZyB1bml0IHRlc3QKCSAgU2VxdWVuY2UtbGF5ZXIgdXNlZCBmb3IgdW5pdCB0ZXN0IGhhdmUgYSBsZXZlbCBzZXQgdG8gMiB3aGljaCBzaG91bGQKCSAgbWF0Y2ggdGhlIG1lZGl1bSBsZXZlbCwgbm90IHRoZSBoaWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjMwCgoyMDE0LTEwLTA5IDE1OjA1OjU1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgdmMxcGFyc2VyOiBmaXggbGV2ZWwgdmFsdWVzIGZvciBzaW1wbGUvbWFpbiBwcm9maWxlCgkgIEluIHNpbXBsZSBwcm9maWxlLCBsZXZlbCBzZXQgdG8gMCBvciAyIGluZGljYXRlIGxvdyBhbmQgbWVkaXVtIGxldmVsCgkgIHJlc3BlY3RpdmVseS4gSW4gbWFpbiBwcm9maWxlLCBsZXZlbCBzZXQgdG8gMCwgMiBvciA0IGluZGljYXRlIGxvdywKCSAgbWVkaXVtIGFuZCBoaWdoIGxldmVsIHJlc3BlY3RpdmVseS4KCSAgTGV2ZWwgdmFsdWVzIGFyZSBkZWZpbmVkIGluIEFubmV4IEouMS4yIG9mIHRoZSBTTVBURSA0MjFNLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjMwCgoyMDE0LTA4LTAyIDExOjI5OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2VuZCBpbml0aWFsIEdBUCBldmVudCBvbiBzcGFyc2Ugc3RyZWFtcyBmb3IgZmFzdGVyIHN0YXJ0dXAgd2l0aCBwbGF5YmluCgkgIFNpZ25hbCBzcGFyc2Ugc3RyZWFtcyBwcm9wZXJseSBpbiBzdHJlYW0tc3RhcnQgZXZlbnQgYW5kIGZvcmNlIHNlbmRpbmcKCSAgb2YgcGVuZGluZyBzdGlja3kgZXZlbnRzIHdoaWNoIGhhdmUgYmVlbiBzdG9yZWQgb24gdGhlIHBhZCBhbHJlYWR5IGFuZAoJICB3aGljaCBvdGhlcndpc2Ugd291bGQgb25seSBiZSBzZW50IG9uIHRoZSBmaXJzdCBidWZmZXIgb3Igc2VyaWFsaXplZAoJICBldmVudCAod2hpY2ggbWVhbnMgdmVyeSBsYXRlIGluIGNhc2Ugb2Ygc3VidGl0bGUgc3RyZWFtcykuIFBsYXlzaW5rIGluCgkgIHBsYXliaW4gd2FpdHMgZm9yIHN0cmVhbS1zdGFydCBvciBhbm90aGVyIHNlcmlhbGl6ZWQgZXZlbnQsIGFuZCBpZiB3ZQoJICBkb24ndCBkbyB0aGlzIGl0IHdpbGwgd2FpdCBmb3IgdGhlIG11bHRpcXVldWUgdG8gcnVuIGZ1bGwgYmVmb3JlCgkgIHN0YXJ0aW5nIHBsYXliYWNrLCB3aGljaCBtaWdodCB0YWtlIGEgY291cGxlIG9mIHNlY29uZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwNDAKCjIwMTQtMTAtMjAgMTI6MzA6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBHQVAgZGV0ZWN0aW9uCgkgIEFsbCBwYWRzIG9mIGEgc3RyZWFtIGFyZSBub3cgYWRkZWQgYXQgdGhlIGJlZ2lubmluZy4gSW4gb3JkZXIgdG8gY29wZSB3aXRoCgkgIHN0cmVhbXMgdGhhdCBkb24ndCBnZXQgYW55IGRhdGEgKGZvcmV2ZXIgb3IgZm9yIGEgbG9uZyB0aW1lKSB3ZSBkZXRlY3QgZ2FwcwoJICBhbmQgcHVzaCBvdXQgR0FQIGV2ZW50cyB3aGVuIG5lZWRlZC4KCSAgQ2xlYW51cHMgYW5kIGNvbW1lbnRpbmcgYnkgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwNDAKCjIwMTQtMTAtMDEgMTY6MTc6NDYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IHNlbGVjdCBjYXBzIGFjY29yZGluZyB0byB3bXYgZm9ybWF0IGF0IG5lZ290aWF0aW9uCgkgIFNvbWUgVkMxIGRlY29kZXIgY2FuIGhhdmUgZGlmZmVyZW50IGNhcHMgYWNjb3JkaW5nIHRvIHdtdiBmb3JtYXQsIGllCgkgIFdNVjMgb3IgV1ZDMS4KCSAgU28gaW5zdGVhZCBvZiBrZWVwaW5nIHRoZSBmaXJzdCBhdmFpbGFibGUgY2Fwcywgd2UgaW50ZXJzZXJjdCB3aXRoCgkgIGN1cnJlbnQgV01WIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUzMgoKMjAxNC0xMC0yMCAxMToyMjo1NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgcHRocmVhZCB0byB0aGUgY29uZmlndXJlIGNoZWNrIGZvciBvcGVuaDI2NAoKMjAxNC0xMC0yMCAwOTo0NzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBEZWNsYXJlIHNpbmsgdmFyaWFibGUgdGhhdCB3YXMgZm9yZ290dGVuIGluIGxhc3QgY29tbWl0CgoyMDE0LTEwLTE5IDIwOjM1OjQxICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogRnJlZSBVUkkgc3RyaW5nIGluIGZpbmFsaXplKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODY3NAoKMjAxNC0xMC0xNyAyMToyNjo1MiAtMDcwMCAgQnJpb24gVmliYmVyIDxicmlvbkBwb2JveC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBmb3IgYnVpbGRpbmcgb24gTWFjIE9TIFggMTAuMTAKCSAgVXNpbmcgTlNBcHAgZGlyZWN0bHkgc2VlbXMgdG8gY29uZnVzZSBzb21ldGhpbmcsIGFzIHRoZSBjb21waWxlcgoJICB3YXMgZXhwZWN0aW5nIGFuIGlkPE5TRmlsZU1hbmFnZXJEZWxlZ2F0ZT4uIFN3aXRjaGVkIHRvIHVzaW5nCgkgIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSwgYW5kIHNwZWNpZmllZCB0aGUgZGVsZWdhdGUKCSAgcHJvdG9jb2wgb24gdGhlIHdpbmRvdyBjbGFzcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NzQwCgoyMDE0LTEwLTE5IDE0OjU3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVzZSBrVlRQcm9maWxlTGV2ZWxfSDI2NF9CYXNlbGluZV9BdXRvTGV2ZWwgb25seSBvbiBpT1MKCSAgSXQgaXMgbm90IHJlcXVpcmVkIG9uIE9TWCBhcHBhcmVudGx5IGFuZCB3YXMgb25seSBhZGRlZCBpbiAxMC45LjYgdGhlcmUuCgkgIENhbGN1bGF0aW5nIHRoZSBjb3JyZWN0IGxldmVsIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHRyaXZpYWwsIHNvIGxldCdzCgkgIGp1c3Qgbm90IHNldCBhIGxldmVsIGF0IGFsbCBoZXJlLgoKMjAxNC0xMC0xOSAxNDo1MTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFZUQ29tcHJlc3Npb25TZXNzaW9uUHJlcGFyZVRvRW5jb2RlRnJhbWVzIG9ubHkgZXhpc3RzIHNpbmNlIDEwLjkuNgoJICBDaGVjayB3aXRoIGNvbmZpZ3VyZSBmb3IgaXQgaW5zdGVhZCBvZiB1c2luZyBvbmUgb2YgdGhlIGF2YWlsYWJpbGl0eSBtYWNyb3MKCSAgYXMgdGhvc2Ugd291bGRuJ3Qgd29yayBhcyBleHBlY3RlZCB3aXRoIG1pbm9yIHZlcnNpb25zLgoKMjAxNC0xMC0xOSAxNDozMjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBSZW1vdmUgdW51c2VkICNkZWZpbmUKCjIwMTQtMTAtMTkgMTM6NDQ6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICBydHBiYWQ6IEZpeCBtYWtlIGRpc3QgYnkgcmVtb3Zpbmcgbm9uLWV4aXN0aW5nIGZpbGUgZnJvbSBFWFRSQV9ESVNUCgkgIEl0J3MgdXNlZCBieSB0aGUgcnRwIHBsdWdpbiBpbiBnc3QtcGx1Z2lucy1nb29kIGZvciBWUDggYnV0IG5vdCBuZWVkZWQKCSAgb3IgdXNlZCBoZXJlLgoKMjAxNC0xMC0xNyAxNjo1MToyNyArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cGJhZDogaW5jbHVkZSBwbHVnaW5zIGJhc2UgY2ZsYWdzIChmaXggYnVpbGQgb24gamVua2lucykKCjIwMTQtMTAtMTYgMTA6MzQ6MDEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvZ3N0cnRwLmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5Lmg6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuaDoKCSAgcnRwOiBhZGQgaDI2NSBSVFAgcGF5bG9hZGVyICsgZGVwYXlsb2FkZXIKCjIwMTQtMTAtMTUgMTU6MjU6NTUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBzdHJpcCBuZXdsaW5lcyBmcm9tIGN1cmwgZGVidWcgbWVzc2FnZXMKCSAgVGhlIG1lc3NhZ2VzIHdlIHJlY2VpdmUgaW4gdGhlIGN1c3RvbSBsb2cgaGFuZGxlciBtaWdodCBlbmQgd2l0aCBhIG5ld2xpbmUgYW5kCgkgIGFyZSBub3QgXDAgdGVybWluYXRlZC4gQ29weSB0aGUgbWVzc2FnZXMsIHRyaW0gYW5kIHRlcm1pbmF0ZSB0aGVtLgoKMjAxNC0xMC0xNSAxNToyNDoxMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IHNtYWxsIGNvZGUgY2xlYW51cAoJICBVc2UgYSBsb2NhbCB2YXIgYW5kIHNhdmUgYSBsb2NhbCB2YXIuCgoyMDE0LTEwLTE1IDE2OjUyOjA5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjVlbmMuYzoKCSAgdGVzdHMveDI2NWVuYzogYWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTQtMDMtMDUgMTY6Mzk6MzAgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjUvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5oOgoJICB4MjY1ZW5jOiBhZGQgeDI2NSBlbmNvZGVyIGVsZW1lbnQKCjIwMTQtMTAtMTQgMTQ6MDA6MTEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIGdsZGVpbnRlcmxhY2U6IHJlZiB0aGUgdXBsb2FkZWQgYnVmZmVyCgkgIEluc3RlYWQgb2YgdGhlIHBvc3NpYmx5IG5vbi1HTCBpbnB1dCBidWZmZXIuCgoyMDE0LTEwLTE0IDE2OjQxOjUxICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBhZGQgdXBsb2FkZWRfYnVmZmVyIGZpZWxkCgoyMDE0LTA5LTIyIDA5OjQ0OjE0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcGFyc2UgZnJhbWUgaGVhZGVyIHdoZW4gc3RyZWFtIGZvcm1hdCBpcyBBU0YvcmF3IGZvciBzaW1wbGUvbWFpbiBwcm9maWxlCgkgIFdoZW4gc3RyZWFtLWZvcm1hdCBpcyBBU0Ygb3Igc2VxdWVuY2UtbGF5ZXItcmF3LWZyYW1lLCB3ZSBiYXNpY2FsbHkgaGF2ZQoJICBhIHJhdyBmcmFtZSBzbyB3ZSBjYW4gcGFyc2UgaXQgdG8gZXh0cmFjdCBzb21lIGluZm9ybWF0aW9uIHN1Y2ggdGhlCgkgIGtleWZyYW1lIGZsYWcuIFRoZSBvbmx5IHJlcXVpcmVtZW50IGlzIHRvIGhhdmUgYSB2YWxpZCBzZXF1ZW5jZS1oZWFkZXIuCgkgIFRoaXMgY29tbWl0IHBhcnNlIHRoZSBmcmFtZSBoZWFkZXIgYW5kIHNldCB0aGUgREVMVEFfVU5JVCBidWZmZXIgZmxhZyBpbgoJICBjYXNlIHRoZSBmcmFtZSBpcyBub3QgYSBrZXlmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUxOQoKMjAxNC0xMC0xNCAxMDo1MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjU6IENoYW5nZSByYW5rIHRvIFNFQ09OREFSWSwgZ3N0LWxpYmF2IGhhcyBQUklNQVJZIHJhbmsKCjIwMTQtMDktMTcgMTA6Mzg6NDQgKzAyMDAgIEpvYWNoaW0gQmF1Y2ggPGJhdWNoQHN0cnVrdHVyLmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJkZTI2NS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmRlMjY1L2dzdGxpYmRlMjY1LmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgSW50ZWdyYXRlIGxpYmRlMjY1IGludG8gZ3N0LXBsdWdpbnMtYmFkLgoKMjAxNC0xMC0xMyAxNDowNToyNCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGp1c3QgYXNzdW1lIG5vbmUgaGVhZGVyLWZvcm1hdCB3aGVuIG5vIGNvZGVjX2RhdGEgaXMgcHJlc2VudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NDQ5CgoyMDE0LTEwLTE0IDA5OjE5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFNldCByZW9yZGVyIGxlbmd0aCB0byAwIGlmIHdlIGNhbid0IGNhbGN1bGF0ZSBpdAoJICBJbnN0ZWFkIG9mIGxlYXZpbmcgaXQgYXQgd2hhdGV2ZXIgdmFsdWUgaXQgaGFkIGJlZm9yZS4KCjIwMTQtMTAtMTMgMTM6Mjg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE9ubHkgZmluYWxpemUgdGhlIG90aGVyIGNvbnRleHQgaW4gZmluYWxpemUoKQoJICBPdGhlcndpc2Ugd2UgY2hhbmdlIGEgdmFsdWUgb2YgYSBwcm9wZXJ0eSB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlLAoJICB3aGljaCBpcyB1bmV4cGVjdGVkIGJlaGF2aW91ci4KCjIwMTQtMTAtMTMgMTM6Mjc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBDYWxsIHRoZSBwYWQncyBwYXJlbnQgY2xhc3MgZmluYWxpemUgbWV0aG9kCgoyMDE0LTEwLTEzIDEzOjI3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogT25seSBmaW5hbGl6ZSB0aGUgb3RoZXIgY29udGV4dCBpbiBmaW5hbGl6ZSgpCgkgIE90aGVyd2lzZSB3ZSBjaGFuZ2UgYSB2YWx1ZSBvZiBhIHByb3BlcnR5IHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUsCgkgIHdoaWNoIGlzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoKMjAxNC0xMC0xMyAxMzoyNTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IEFkZCBvdGhlci1jb250ZXh0IHByb3BlcnR5CgoyMDE0LTEwLTEzIDExOjU2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBEb24ndCBsZWFrIG90aGVyLWNvbnRleHQKCjIwMTQtMTAtMTMgMTE6NTM6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiBBZGQgb3RoZXItY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMC0xMiAyMToyNToxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YjogbWFrZSBpbnRlcmxlYXZpbmcgYSBwcm9wIGFuZCBwcm94eSBvbiBkdmJiYXNlYmluCgkgIERUVl9JTlRFUkxFQVZJTkcgaXMgY3VycmVudGx5IHVzZWQgb25seSBmb3IgRFRCTS4gVGhpcyBpcwoJICBjb25ncnVlbnQgd2l0aCB0aGUgdjRsIGR2YiBBUEkgd2hlcmUgdGhlIGRpZmZlcmVudCBpbnRlcmxlYXZpbmcKCSAgbW9kZXMgd2hlcmUgYWRkZWQgZm9yIHY1LjcKCjIwMTQtMTAtMTIgMTg6MzA6MzggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHRyYW5zbWlzc2lvbiBtb2RlIGNoZWNrcyBmb3IgRFZCLVQvVDIKCSAgVGhlc2UgYW5kIGV2ZXJ5IHNhbml0eSBjaGVjayBsZWFkaW5nIHRvIGEgd2FybmluZwoJICAod2UgaGF2ZSBhIGZldyBpbiBwbGFjZSkgc2hvdWxkIGNvbWUgaGFuZHkgd2hlbgoJICBkZWJ1Z2luZyBmYWlsZWQgdHVubmluZyBzY2VuYXJpb3MuCgoyMDE0LTEwLTEyIDEzOjM0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRvY3MsIGRyb3AgdjUgQVBJIGNoYW5nZSBoaXN0b3J5IGNvbW1lbnRzIDwgLjUKCSAgV2Ugb25seSBzdXBwb3J0IGZyb20gbWlub3IgNSBhbmQgdXAgbm93LiBBbHNvIGFkZCBhCgkgIG5vdGUgYWJvdXQgdGhlIHJlY2VudGx5IGFkZGVkIHByZWxpbWluYXIgRFRNQiBzdXBwb3J0LgoKMjAxNC0xMC0xMiAxMzowODoxMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBEVkItVDIgYmFuZHdpZHRoIHR5cGVzCgkgIERWQi1UMiBzdXBwb3J0cyA1LCAxMCBhbmQgMS43MTIgTUh6CgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHZhbHVlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeQoKMjAxNC0xMC0wNyAxMDozNzozMyArMDIwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IHJlbmRlciB0d2ljZSB0aGUgc2FtZSBidWZmZXIKCSAgRG8gbm90IHRyeSB0byByZW5kZXIgYSBidWZmZXIgdGhhdCBpcyBhbHJlYWR5IGJlaW5nIHJlbmRlcmVkLgoJICBUaGlzIGhhcHBlbnMgdHlwaWNhbGx5IGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXJpbmcgc3RhZ2UgYXMgdGhlIGZpcnN0CgkgIGJ1ZmZlciBpcyByZW5kZXJlZCB0d2ljZTogZmlyc3QgYnkgcHJlcm9sbCgpLCB0aGVuIGJ5IHJlbmRlcigpLgoJICBUaGlzIGNvbW1pdCBhdm9pZHMgdGhpcyBhc3NlcnRpb24gZmFpbHVyZToKCSAgQ1JJVElDQUw6IGdzdF93YXlsYW5kX2NvbXBvc2l0b3JfYWNxdWlyZV9idWZmZXI6IGFzc2VydGlvbgoJICAnbWV0YS0+dXNlZF9ieV9jb21wb3NpdG9yID09IEZBTFNFJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODA2OQoJICBTaWduZWQtb2ZmLWJ5OiBGYWJpZW4gRGVzc2VubmUgPGZhYmllbi5kZXNzZW5uZUBzdC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKMjAxNC0wNy0yNCAxNjo1Mzo1MyArMDIwMCAgVGlmYWluZSBJbmd1ZXJlIDx0aWZhaW5lLmluZ3VlcmVAc3QuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsgOiBBbGxvdyBzdXJmYWNlIHRvIGNhdGNoIGlucHV0IGV2ZW50cwoJICBJZiB3YXlsYW5kc2luayBpcyB0aGUgb3duZXIgb2YgdGhlIGRpc3BsYXkgdGhlbiBpdCBpcyBpbiBjaGFyZ2UKCSAgb2YgY2F0Y2hpbmcgaW5wdXQgZXZlbnRzIG9uIHRoZSBzdXJmYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjgyCgkgIFNpZ25lZC1vZmYtYnk6IFRpZmFpbmUgSW5ndWVyZSA8dGlmYWluZS5pbmd1ZXJlQHN0LmNvbT4KCSAgUmV2aWV3ZWQtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKMjAxNC0wNy0wMiAxMzoyOTo1NSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHRha2UgaW50byBhY2NvdW50IHRoZSBjYXNlIHdoZXJlIGEgcG9vbCBtYXkgYmUgZGVzdHJveWVkIHRvZ2V0aGVyIHdpdGggR3N0V2xEaXNwbGF5CgkgIFRoZXJlIGFyZSB0d28gY2FzZXMgY292ZXJlZCBoZXJlOgoJICAxKSBUaGUgR3N0V2xEaXNwbGF5IGZvcmNlcyB0aGUgcmVsZWFzZSBvZiB0aGUgbGFzdCBidWZmZXIgYW5kIHRoZSBwb29sCgkgIGdldHMgZGVzdHJveWVkIGluIHRoaXMgY29udGV4dCwgd2hpY2ggbWVhbnMgaXQgdW5yZWdpc3RlcnMgYWxsIHRoZQoJICBvdGhlciBidWZmZXJzIGZyb20gdGhlIEdzdFdsRGlzcGxheSBhcyB3ZWxsIGFuZCB0aGUgZGlzcGxheS0+YnVmZmVycwoJICBoYXNoIHRhYmxlIGdldHMgY29ycnVwdGVkIGJlY2F1c2UgaXQgaXMgaXRlcmF0aW5nLgoJICAyKSBUaGUgcG9vbCBhbmQgaXRzIGJ1ZmZlcnMgZ2V0IGRlc3Ryb3llZCBjb25jdXJyZW50bHkgZnJvbSBhbm90aGVyCgkgIHRocmVhZCB3aGlsZSBHc3RXbERpc3BsYXkgaXMgZmluYWxpemluZyBhbmQgbWFueSB0aGluZ3MgZ2V0IGNvcnJ1cHRlZC4KCjIwMTQtMDctMDEgMTE6NDM6MjAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5oOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBzdGFjayB0aGUgdmlkZW8gc3Vic3VyZmFjZSBpbnRvIGFub3RoZXIgc3Vic3VyZmFjZSB0aGF0IGNvdmVycyB0aGUgd2hvbGUgcmVuZGVyIHJlY3RhbmdsZQoJICBUaGUgbWFpbiByZWFzb24gYmVoaW5kIHRoaXMgaXMgdGhhdCB3aGVuIHRoZSB2aWRlbyBjYXBzIGNoYW5nZSBhbmQgdGhlIHZpZGVvCgkgIHN1YnN1cmZhY2UgbmVlZHMgdG8gcmVzaXplIGFuZCBjaGFuZ2UgcG9zaXRpb24sIHRoZSB3bF9zdWJzdXJmYWNlLnNldF9wb3NpdGlvbgoJICBjYWxsIG5lZWRzIGEgY29tbWl0IGluIGl0cyBwYXJlbnQgaW4gb3JkZXIgdG8gdGFrZSBlZmZlY3QuIFByZXZpb3VzbHksCgkgIHRoZSBwYXJlbnQgd2FzIHRoZSBhcHBsaWNhdGlvbidzIHN1cmZhY2UsIG92ZXIgd2hpY2ggdGhlcmUgaXMgbm8gY29udHJvbC4KCSAgTm93LCB0aGUgcGFyZW50IGlzIGluc2lkZSB0aGUgc2luaywgc28gd2UgY2FuIGNvbW1pdCBpdCBhbmQgY2hhbmdlIHNpemUgc21vb3RobHkuCgkgIEFzIGEgc2lkZSBlZmZlY3QsIHRoaXMgYWxzbyBhbGxvd3MgdGhlIHNpbmsgdG8gZHJhdyBpdHMgYmxhY2sgYm9yZGVycyBvbgoJICBpdHMgb3duLCB3aXRob3V0IHRoZSBuZWVkIGZvciB0aGUgYXBwbGljYXRpb24gdG8gZG8gdGhhdC4gQW5kIGFub3RoZXIgc2lkZQoJICBlZmZlY3QgaXMgdGhhdCB0aGlzIGNhbiBub3cgYWxsb3cgcmVzaXppbmcgdGhlIHNpbmsgd2hlbiBpdCBpcyBpbiB0b3AtbGV2ZWwKCSAgbW9kZSBhbmQgaGF2ZSBpdCByZXNwZWN0IHRoZSBhc3BlY3QgcmF0aW8uCgoyMDE0LTA2LTIwIDE2OjI0OjM2ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkgIHdheWxhbmRzaW5rOiByZW5hbWUgdmlkZW8gZm9ybWF0IGNvbnZlcnNpb24gZnVuY3Rpb25zIHRvIGluZGljYXRlIHRoZXkgYXJlIGFib3V0IHdsX3NobQoJICBOZWVkZWQgdG8gYWRkIGxpbnV4X2RtYWJ1ZiBmb3JtYXQgY29udmVyc2lvbiBmdW5jdGlvbnMgbGF0ZXIKCjIwMTQtMDYtMjMgMTc6Mjc6MDEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIHVnbHkgZ3N0X3dsX2Rpc3BsYXlfc3RvcCgpIG5vdyB0aGF0IHRoaXMgbWVjaGFuaXNtIGlzIG5vdCBuZWVkZWQgYW55bW9yZQoJICBCZWNhdXNlIHdlIG5vIGxvbmdlciBoYXZlIGEgY3VzdG9tIGJ1ZmZlciBwb29sIHRoYXQgaG9sZHMgYSByZWZlcmVuY2UKCSAgdG8gdGhlIGRpc3BsYXksIHRoZXJlIGlzIG5vIHdheSBmb3IgYSBjeWNsaWMgcmVmZXJlbmNlIHRvIGhhcHBlbiBsaWtlCgkgIGJlZm9yZSwgc28gd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZXhwbGljaXRseSBjYWxsIGEgZnVuY3Rpb24gZnJvbSB0aGUKCSAgZGlzcGxheSB0byByZWxlYXNlIHRoZSB3bF9idWZmZXJzLgoJICBIb3dldmVyLCB0aGUgZ2VuZXJhbCBtZWNoYW5pc20gb2YgcmVnaXN0ZXJpbmcgYnVmZmVycyB0byB0aGUgZGlzcGxheQoJICBhbmQgZm9yY2libHkgcmVsZWFzaW5nIHRoZW0gd2hlbiB0aGUgZGlzcGxheSBpcyBkZXN0cm95ZWQgaXMgc3RpbGwKCSAgbmVlZGVkIHRvIGF2b2lkIHBvdGVudGlhbCBtZW1vcnkgbGVha3MuIFRoZSBjb21tZW50IGluIHdsYnVmZmVyLmMKCSAgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjdXJyZW50IHNpdHVhdGlvbi4KCjIwMTQtMDYtMjMgMTY6NDA6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuaDoKCSAgd2F5bGFuZHNpbms6IHJlcGxhY2UgdGhlIGN1c3RvbSBidWZmZXIgcG9vbCB3aXRoIGFuIGFsbG9jYXRvcgoJICBUaGlzIHJlZHVjZXMgdGhlIGNvbXBsZXhpdHkgb2YgaGF2aW5nIGEgY3VzdG9tIGJ1ZmZlciBwb29sLCBhcwoJICB3ZSBkb24ndCByZWFsbHkgbmVlZCBpdC4gV2Ugb25seSBuZWVkIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBwYXJ0LgoJICBBbmQgc2luY2UgdGhlIHdsX2J1ZmZlciBpcyBubyBsb25nZXIgc2F2ZWQgaW4gYSBHc3RNZXRhLCB3ZSBjYW4KCSAgY3JlYXRlIGl0IGFuZCBhZGQgaXQgb24gdGhlIGJ1ZmZlcnMgaW4gdGhlIHNpbmsncyByZW5kZXIoKQoJICBmdW5jdGlvbiwgd2hpY2ggcmVtb3ZlcyB0aGUgcmVmZXJlbmNlIGN5Y2xlIGNhdXNlZCBieSB0aGUgcG9vbAoJICBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBkaXNwbGF5IGFuZCBhbHNvIGFsbG93cyBtb3JlIGdlbmVyaWMKCSAgc2NlbmFyaW9zICh0aGUgYWxsb2NhdG9yIGJlaW5nIHVzZWQgaW4gYW5vdGhlciBwb29sLCBvciBidWZmZXJzCgkgIGJlaW5nIGFsbG9jYXRlZCB3aXRob3V0IGEgcG9vbCBbaWYgYW55dGhpbmcgc3R1cGlkIGRvZXMgdGhhdF0pLgoJICBUaGlzIGNvbW1pdCBhbHNvIHNpbXBsaWZpZXMgdGhlIHByb3Bvc2VfYWxsb2NhdGlvbigpIGZ1bmN0aW9uLAoJICB3aGljaCBkb2Vzbid0IHJlYWxseSBuZWVkIHRvIGRvIGFsbCB0aGVzZSBjb21wbGljYXRlZCBjaGVja3MsCgkgIHNpbmNlIHRoZXJlIGlzIGFsd2F5cyBhIGNvcnJlY3QgYnVmZmVyIHBvb2wgYXZhaWxhYmxlLCBjcmVhdGVkCgkgIGluIHNldF9jYXBzKCkuCgkgIFRoZSBvdGhlciBzaWRlIGVmZmVjdCBvZiB0aGlzIGNvbW1pdCBpcyB0aGF0IGEgbmV3IHdsX3NobV9wb29sCgkgIGlzIG5vdyBjcmVhdGVkIGZvciBldmVyeSBHc3RNZW1vcnksIHdoaWNoIG1lYW5zIHRoYXQgd2UgdXNlCgkgIGFzIG11Y2ggc2htIG1lbW9yeSBhcyB3ZSBhY3R1YWxseSBuZWVkIGFuZCBubyBtb3JlLiBQcmV2aW91c2x5LAoJICB0aGUgY3JlYXRlZCB3bF9zaG1fcG9vbCB3b3VsZCBhbGxvY2F0ZSBzcGFjZSBmb3IgMTUgYnVmZmVycywgbm8KCSAgbWF0dGVyIGlmIHRoZXkgd2VyZSBiZWluZyB1c2VkIG9yIG5vdC4KCjIwMTQtMDYtMjAgMTQ6NDc6NTcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcmV3b3JrIHRoZSBtZWNoYW5pc20gZm9yIGtlZXBpbmcgYnVmZmVycyBvdXQgb2YgdGhlIHBvb2wgdW50aWwgd2xfYnVmZmVyOjpyZWxlYXNlCgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBHc3RXbE1ldGEgYW5kIGFkZHMgYSB3cmFwcGVyIGNsYXNzIGZvciB3bF9idWZmZXIKCSAgd2hpY2ggaXMgc2F2ZWQgaW4gdGhlIEdzdEJ1ZmZlciBxZGF0YSBpbnN0ZWFkIG9mIGJlaW5nIGEgR3N0TWV0YS4KCSAgVGhlIG1vdGl2YXRpb24gYmVoaW5kIHRoaXMgaXMgbWFpbmx5IHRvIGFsbG93IGF0dGFjaGluZyB3bF9idWZmZXJzIG9uCgkgIEdzdEJ1ZmZlcnMgdGhhdCBoYXZlIG5vdCBiZWVuIGFsbG9jYXRlZCBpbnNpZGUgdGhlIEdzdFdheWxhbmRCdWZmZXJQb29sLAoJICBzbyB0aGF0IGlmIGZvciBleGFtcGxlIGFuIHVwc3RyZWFtIGVsZW1lbnQgaXMgc2VuZGluZyB1cyBhIGJ1ZmZlcgoJICBmcm9tIGEgZGlmZmVyZW50IHBvb2wsIHdoaWNoIGhvd2V2ZXIgZG9lcyBub3QgbmVlZCB0byBiZSBjb3BpZWQKCSAgdG8gYSBidWZmZXIgZnJvbSBvdXIgcG9vbCBiZWNhdXNlIGl0IG1heSBiZSBhIGhhcmR3YXJlIGJ1ZmZlcgoJICAoaGVsbG8gZG1hYnVmISksIHdlIGNhbiBjcmVhdGUgYSB3bF9idWZmZXIgZGlyZWN0bHkgZnJvbSBpdCBhbmQgZmlyc3QsCgkgIGF0dGFjaCBpdCBvbiBpdCBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gcmUtY3JlYXRlIGEgd2xfYnVmZmVyIGV2ZXJ5CgkgIHRpbWUgdGhlIHNhbWUgR3N0QnVmZmVyIGFycml2ZXMgYW5kIHNlY29uZCwgZm9yY2UgdGhlIHdob2xlIG1lY2hhbmlzbQoJICBmb3Iga2VlcGluZyB0aGUgYnVmZmVyIG91dCBvZiB0aGUgcG9vbCB1bnRpbCB0aGVyZSBpcyBhIHdsX2J1ZmZlcjo6cmVsZWFzZQoJICBvbiB0aGF0IGZvcmVpZ24gR3N0QnVmZmVyLgoKMjAxNC0xMC0wOSAwODoyMDoxNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBvcHRpbWl6ZSBwYXJzZSBsb2dpYwoJICBIZWFkZXIgd2lsbCBiZSByZWFkIGVhY2ggYW5kIGV2ZXJ5dGltZSBwYXJzZSBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZAoJICB3aGljaCBpcyBub3QgbmVjZXNzYXJ5IHNpbmNlIHVudGlsIHdlIGhhdmUgY29tcGxldGUgZGF0YSwKCSAgd2UgbmVlZCBub3QgcGFyc2UgdGhlIGhlYWRlciBhZ2Fpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzk4NAoKMjAxNC0xMC0xMCAxMzowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBkb24ndCBsZWFrIGluY29taW5nIGNhcHMgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODI5MQoKMjAxNC0xMC0wOSAxODoxODowMiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZpeCBmcmFtZXNpemUgd2hlbiBpbnB1dCBpcyBmcmFtZS1sYXllcgoJICBmcmFtZS1sYXllciBoZWFkZXIgaXMgcmVwcmVzZW50ZWQgYXMgYSBzZXF1ZW5jZSBvZiAzMiBiaXQgdW5zaWduZWQKCSAgaW50ZWdlciBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZSBvcmRlciwgc28gZnJhbWVzaXplIGlzIG9uIHRoZQoJICBmaXJzdCAzIGJ5dGVzLgoJICBTTVBURSA0MjFNIEFubmV4IEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyNDMKCjIwMTQtMTAtMDcgMTc6MDU6MDQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogbWVudGlvbiBmbHVpZGRlYyBpbnN0ZWFkIG9mIGZsdWlkc3ludGgKCSAgVGhlIGVsZW1lbnQgbmFtZSBpcyBhY3R1YWxseSBmbHVpZGRlYyBldmVuIGlmIGl0IHVzZXMgZmx1aWRzeW50aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIyMwoKMjAxNC0xMC0wOSAxMTo1MToxNiArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogZml4IHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMjMKCjIwMTQtMTAtMDkgMDQ6MTE6MDAgLTA0MDAgIERhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogQWRkIHN1cHBvcnQgZm9yIExJTktUWVBFX1JBVwoJICBBbHNvLCBzdHJpY3RseSBzcGVha2luZywgdGhlc2UgbnVtYmVycyBhcmVuJ3QgRExUXyo7IHRoZXkgYXJlIExJTktUWVBFXyogYmVjYXVzZQoJICBsaWJwY2FwIHRyYW5zbGF0ZXMgZnJvbSBpbnRlcm5hbCBPUy1zcGVjaWZpYyBETFRfIG51bWJlcmluZyB0byB0aGUgcG9ydGFibGUKCSAgTElOS1RZUEVfIG51bWJlciBzcGFjZSB3aGVuIHdyaXRpbmcgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMDYKCjIwMTQtMTAtMDkgMTQ6NTE6NTYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3Q6IHVzZSBHX0dTSVpFX0ZPUk1BVCBpbiBhdWRpb21peGVyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIyNwoKMjAxNC0xMC0wNyAxNjo1NzoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzL2FnZ3JlZ2F0b3I6IGFkZCB0aW1lb3V0IGhhbmRsaW5nIHRlc3QgZm9yIHRoZSB0aW1lb3V0IHBhcmFtZXRlcgoKMjAxNC0xMC0wNiAyMTo0NjoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogYWRkIGxhdGVuY3kgcXVlcnkgaGFuZGxpbmcKCjIwMTQtMTAtMDYgMTg6MzM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBzdXBwb3J0IHVucmVzcG9uc2l2ZSBwYWRzCgkgIFJlbmRlciB1bnJlc3BvbnNpdmUgcGFkcyB3aXRoIHRoZSBsYXN0IHZpZGVvIGZyYW1lIHJlY2VpdmVkLgoKMjAxNC0xMC0wNiAxODoyMzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBhIHRpbWVvdXQgcHJvcGVydHkgZGV0ZXJtaW5pbmcgYnVmZmVyIHdhaXQgdGltZQoJICBEZXRlcm1pbmVzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IGEgcGFkIHdpbGwgd2FpdCBmb3IgYSBidWZmZXIgYmVmb3JlCgkgIGJlaW5nIG1hcmtlZCB1bnJlc3BvbnNpdmUuCgkgIE5ldHdvcmsgc291cmNlcyBtYXkgZmFpbCB0byBwcm9kdWNlIGJ1ZmZlcnMgZm9yIGFuIGV4dGVuZGVkIHBlcmlvZCBvZiB0aW1lLAoJICBjdXJyZW50bHkgY2F1c2luZyB0aGUgcGlwZWxpbmUgdG8gc3RhbGwgcG9zc2libHkgaW5kZWZpbml0ZWx5LCB3YWl0aW5nIGZvcgoJICB0aGVzZSBidWZmZXJzIHRvIGFwcGVhci4KCSAgU3ViY2xhc3NlcyBzaG91bGQgcmVuZGVyIHVucmVzcG9uc2l2ZSBwYWRzIHdpdGggZWl0aGVyIHNpbGVuY2UgKGF1ZGlvKSwgdGhlCgkgIGxhc3QgKHZpZGVvKSBmcmFtZSBvciB3aGF0IG1ha2VzIHRoZSBtb3N0IHNlbnNlIGluIHRoZSBnaXZlbiBjb250ZXh0LgoKMjAxNC0xMC0wNiAxODoxMDozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVtb3ZlIHRoZSB1c2Ugb2YgdGhlIHF1ZXVlZCBidWZmZXIgb24gc2luayBwYWRzCgkgIFRoYXQgZGF0YSBpcyBub3cgaGVsZCBieSB0aGUgYWdncmVnYXRvciBjbGFzcwoKMjAxNC0xMC0wOSAxMTo0NjoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZXhwb3NlIHBhcnNlZCBwcm9maWxlLCB0aWVyIGFuZCBsZXZlbCB0byBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzkKCjIwMTQtMTAtMDkgMDE6MTg6MTYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIHBhcnNlZCBwcm9maWxlIGFuZCBsZXZlbCB0byBkb3duc3RyZWFtCgkgIFNldCBwYXJzZWQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gc3JjIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzkKCjIwMTQtMTAtMDkgMTA6NTQ6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEFkZCBzdXBwb3J0IGZvciBIaURQSSBkaXNwbGF5cwoJICBXaXRob3V0IHRoaXMgb3VyIEdMIHN1cmZhY2Ugd291bGQgYmUgdXBzY2FsZWQgYWZ0ZXIgcmVuZGVyaW5nCgkgIGJ5IENvY29hLCB3aGljaCB3b3VsZCByZWR1Y2UgaW1hZ2UgcXVhbGl0eS4KCjIwMTQtMTAtMDkgMTI6Mjg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogb3V0cHV0IHdoeSB3ZSBjYW5ub3QgY29udmVydCBhIGJ1ZmZlcgoKMjAxNC0xMC0wOSAxMjoyNTo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggcGxhbmFyIFlVViBkb3dubG9hZAoJICAtIHNhbXBsZSB0aGUgdSBhbmQgdiBwbGFuZXMgcHJvcGVybHkKCSAgLSBvdXRwdXQgdGhlIGNvcnJlY3RseSBzY2FsZWQgdSBhbmQgdiBwbGFuZXMgZm9yIGRpZmZlcmVudCBjaHJvbWEgYmxvY2sgc2l6ZXMKCjIwMTQtMTAtMDggMjE6NTE6MTIgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPG4udml2aWFAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IEFuZCBmaXggYW5vdGhlciB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0xMC0wOCAyMTo0OToyNSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8bi52aXZpYUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGhvdXQgZGVza3RvcCBHTAoKMjAxNC0wOS0yNiAxMzo1NToyMCArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IEFkZCBZVlU5IGFuZCBZVVY5IHRvIFpCQVJfWVVWX0NBUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzQwNwoKMjAxNC0wOS0yOCAxMDo1MTowOSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCBjaGVja2VycyBwYXR0ZXJuIHdpdGggR0xTTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTA1CgoyMDE0LTEwLTA3IDE1OjI0OjEwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogRml4IE0zVTggcGFyc2luZyB1bml0IHRlc3QgYWZ0ZXIgQVBJIGNoYW5nZXMKCjIwMTQtMTAtMDIgMTA6Mzc6NTcgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogRml4IGFjY2Vzc2luZyBpbnZhbGlkYXRlZCBtZW1vcnkKCSAgSW4gZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCgpIHRoZSBuZXh0IGZyYWdtZW50IFVSSSBnZXRzCgkgIHN0b3JlZCBpbiBuZXh0X2ZyYWdtZW50X3VyaSwgYnV0IHRoZSBnc3RfaGxzX2RlbXV4X3VwZGF0ZXNfbG9vcCgpCgkgIGNhbiBhdCBhbnkgdGltZSB1cGRhdGUgdGhlIHBsYXlsaXN0LCByZW5kZXJpbmcgdGhpcyBzdHJpbmcgaW52YWxpZC4KCSAgVGhlcmVmb3JlLCBhbnkgZGF0YSAobGlrZSBrZXksIGl2LCBVUklzKSB0aGF0IGlzIHRha2VuIGZyb20gYQoJICBHc3RNM1U4Q2xpZW50IG5lZWRzIHRvIGJlIGNvcGllZC4gSW4gYWRkaXRpb24sIGFjY2Vzc2luZyB0aGUKCSAgaW50ZXJuYWxzIG9mIGEgR3N0TTNVOENsaWVudCByZXF1aXJlcyBsb2NraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzkzCgoyMDE0LTEwLTA3IDEyOjEyOjA0ICswMjAwICBGZWxpeCBTY2h3YXJ6IDxmZWxpeC5zY2h3YXJ6QG9zcy5zY2h3YXJ6LmV1PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBmaXggdHlwb3MgaW4gY29tbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODA3MgoKMjAxNC0xMC0wNyAyMzowNDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggVVlWWSBkb3dubG9hZCBncmVlbiBzY3JlZW4KCjIwMTQtMTAtMDcgMjI6NTA6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbHJjb252ZXJ0OiBmaXggWVVZMiBkb3dubG9hZAoJICAtIFRoZSBzaGFkZXIgd2FzIG91dHB1dGluZyB0aGUgd3JvbmcgdmFsdWVzIGNvbXBhcmVkIHdpdGggcmF3CgkgIHZpZGVvdGVzdHNyYy4KCSAgLSBkZWFsIHdpdGggdGhlIHRleHR1cmUgZWRnZSBwcm9wZXJseS4KCSAgLSBwcm9wZXJseSBzYW1wbGUgdGhlIDJ4MSByZWN0YW5nbGUgZm9yIHRoZSB1IGFuZCB2IHZhbHVlcwoJICAtIGRvbid0IGRvdWJsZSBzYW1wbGUgdGhlIHkgdmFsdWUKCjIwMTQtMTAtMDYgMjE6MjU6MzAgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPG4udml2aWFAZ21haWwuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogU2V0IENVUkxPUFRfVVBMT0FEIHRvIDEgdG8gbm90IHVzZSBWUkZZIGFuZCBvdGhlciB1bm5lZWRlZCBjb21tYW5kcwoJICBGaXhlcyB0aGUgc2luayB3aXRoIFNNVFAgc2VydmVycyB0aGF0IGRpc2FibGUgVlJGWSBmb3Igc3BhbSBwcm90ZWN0aW9uLgoJICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvY3VybC9idWdzLzEzODkvCgoyMDE0LTA5LTE3IDE2OjQ4OjAyICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXBsYWNlIEdNYWluQ29udGV4dCB3aXRoIEdBc3luY1F1ZXVlICh2MikKCSAgVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIGtlcHQgYWNjdW11bGF0aW5nIEdTb3VyY2VzLAoJICBzbG93aW5nIGRvd24gdGhlIGl0ZXJhdGlvbiBhbmQgbGVha2luZyBtZW1vcnkuCgkgIEluc3RlYWQgb2YgdHJ5aW5nIHRvIGZpeCB0aGUgbWFpbiBjb250ZXh0IGZsdXNoaW5nLCByZXBsYWNlCgkgIGl0IHdpdGggYSBHQXN5bmNRdWV1ZSB3aGljaCBpcyBzaW1wbGUgdG8gZmx1c2ggYW5kIGhhcwoJICBsZXNzIG92ZXJoZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzgyCgoyMDE0LTEwLTA2IDEzOjA5OjAwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEhhbmRsZSBzZWVrIGV2ZW50IGluIFJFQURZIHN0YXRlCgoyMDE0LTA3LTIxIDExOjA3OjE5ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogU2V0IHRoZSBzaW5rcGFkIHNlZ21lbnRzIGJhc2V0aW1lIGFmdGVyIHNlZWtpbmcKCSAgT3RoZXJ3aXNlIHN0cmVhbSBvZmZzZXQgYW5kIHJ1bm5pbmcgdGltZSBjb21wYXJpc29uIHdpbGwgbm90IGJlCgkgIGNvcnJlY3QsIGxlYWRpbmcgdG8gc2VnZmF1bHRzIGFmdGVyIHNlZWtzCgoyMDE0LTA1LTI4IDE2OjI5OjM3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUG9ydCB0byBHc3RBZ2dyZWdhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxODMKCSAgQ28tQXV0aG9yZWQgYnk6IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCjIwMTQtMDktMjMgMTU6NTk6MTAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEbyBub3Qgd3JvbmdseSBzZXQgdGhlIGFnZ3JlZ2F0b3Iuc2VnbWVudAoJICBUaGUgYWdncmVnYXRvci5zZWdtZW50IGlzIG5vdCB0byBiZSBpbml0aWFsaXplZCBieSB0aGUgc3ViY2xhc3NlcyBidXQKCSAgYnkgdGhlIGFnZ3JlZ2F0b3IgaXRzZWxmLiBNb3Jlb3ZlciwgaW5pdGlhbGl6aW5nIGl0IG9uIHN0YXJ0IHdvdWxkIG1ha2UKCSAgdXMgbG9vc2UgdGhlIGluZm9ybWF0aW9uIGNvbWluZyBmcm9tIHRoZSBpbml0aWFsIHNlZWsuCgoyMDE0LTA3LTMwIDExOjU3OjQ2ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWFrZSBzdXJlIG5vdCB0byB1bnJlZiBhIE5VTEwgcG9pbnRlcgoKMjAxNC0wOC0wNSAxNTozNjozMCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTZXQgc2VxbnVtIG9ubHkgd2hlbiBzZWdtZW50cyBhcmUgcmVjZWl2ZWQuCgoyMDE0LTA4LTAyIDE4OjI1OjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBhIHN0cmVhbWluZyBsb2NrIHNvIHRvIHNlY3VyZSBmbHVzaCBzdGFydCBhY3Rpb24KCSAgV2l0aG91dCBhIGxvY2sgdGhhdCBpcyB0YWtlbiBpbiBGTFVTSF9TVEFSVCB3ZSBoYWQgYSByYXJlIHJhY2Ugd2hlcmUgd2UKCSAgZW5kIHVwIGFnZ3JlZ2F0aW5nIGEgYnVmZmVyIHRoYXQgd2FzIGJlZm9yZSB0aGUgd2hvbGUgRkxVU0hfU1RBUlQvU1RPUAoJICBkYW5jZS4gVGhhdCBjb3VsZCBsZWFkIHRvIHZlcnkgd3JvbmcgYmVoYXZpb3VyIGluIHN1YmNsYXNzZXMuCgoyMDE0LTA3LTE4IDEzOjU4OjU1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFF1ZXJ5IHNlZWtpbmcgd2hlbiBhIHNlZWsgZmFpbGVkIHRvIHNlZSBpZiBpdCB3YXMgZXhwZWN0ZWQKCSAgQW5kIGRvIG5vdCB3b3JyeSBpZiBzZWVraW5nIGZhaWxlZCBvbiBhIHN0cmVhbSB0aGF0IGlzIG5vdCBzZWVrYWJsZQoKMjAxNC0wNy0xOCAwMTo0MToyNiArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBzZXQgZnV0dXJlIHNlcW51bSBiZWZvcmUgcHJvcGFnYXRpbmcgdGhlIHNlZWsgZXZlbnQuCgkgIFNvIHRoZSBzZXFudW0gaXMgcHJvcGVybHkgc2V0IGZvciB0aGUgZm9sbG93aW5nIGV2ZW50cy4KCjIwMTQtMDctMDggMTY6MTY6NTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU3RvcmUgc2VnbWVudCB3aGVuIHNlZWtlZCBpbiBSRUFEWSBmb3IgbGF0ZXIgdXNlCgoyMDE0LTEwLTA2IDE2OjQ0OjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0cGx1Z2luLmM6CgkgIG9wZW5oMjY0OiBVc2UgYSBNQVJHSU5BTCByYW5rIGZvciB0aGUgZW5jb2RlciBhbmQgZGVjb2RlcgoJICBUaGV5IHdvcmsgYnV0IGZvciBub3cgd2UgcHJlZmVyIG90aGVycyB1bnRpbCB0aGVzZSBhcmUgZXh0ZW5zaXZlbHkgdGVzdGVkLgoKMjAxNC0xMC0wMSAxMDo1NzoyNiArMDIwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBFbWFpbCB3aXRoIG11bHRpcGFydCBjb250ZW50LXR5cGUgc2hvdWxkIGVuZCB3aXRoIGEgZmluYWwgYm91bmRhcnkKCSAgQWRkIGZpbmFsIGJvdW5kYXJ5IGZvciBlYWNoIG9mIHRoZSBzZW5kaW5nIG91dCBlbWFpbHMgZnJvbSBzbXRwc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEzNAoKMjAxNC0xMC0wNiAxMTo0NDoxMiArMDEwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmlkZW9wYXJzZXI6IGNvbW1lbnQgdW51c2VkIEdTVF9CQVNFX1BBUlNFX0ZSQU1FX0ZMQUdfUEFSU0lORwoJICBHU1RfQkFTRV9QQVJTRV9GUkFNRV9GTEFHX1BBUlNJTkcgdmFsdWUgaXMgd3JvbmcsIGFuZCB0aGUgc2FtZSBmbGFnIGlzCgkgIG5vdCBiZWluZyB1c2VkIHByZXNlbnRseS4gSGVuY2UgY2hhbmdpbmcgdGhlIHZhbHVlIGFuZCBjb21tZW50aW5nIGl0IG91dC4KCSAgVGhpcyBuZWVkcyB0byBiZSBpbmNsdWRlZCBpbiBiYXNlcGFyc2UuaCBsYXRlciBvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NDExCgoyMDE0LTEwLTA0IDIwOjU1OjA4ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBtYWtlIGRlbm9pc2Ugd29yawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODk0CgoyMDE0LTEwLTA2IDEwOjExOjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFVubWFwIGFuZCBmcmVlIEdzdFZpZGVvRnJhbWVzIGFzIG5lZWRlZCBhZnRlciBjb252ZXJzaW9uIGFuZCBlcnJvcnMKCjIwMTQtMTAtMDYgMTA6MTE6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVucmVmIHRoZSB0YWdsaXN0IGluIEdzdEFnZ3JlZ2F0b3I6OnN0b3AoKQoKMjAxNC0xMC0wMyAyMDo0Mjo1OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgcHJlbGltaW5hcnkgc3VwcG9ydCBmb3IgRFRNQgoJICBQcmV2aW91c2x5IGtub3duIGFzIERNQi1UL0gsIHRoaXMgaXMgdGhlCgkgIHRlcnJlc3RpYWwgRFRWIGJyb2FkY2FzdCBzdGFuZGFyZCBjdXJyZW50bHkKCSAgdXNlZCBieSB0aGUgUGVvcGxlJ3MgUmVwdWJsaWMgb2YgQ2hpbmEsCgkgIEhvbmcgS29uZywgTGFvcyBhbmQgTWFjYXUgKG9mZmljaWFsbHkpLAoJICBhbmQgYnkgTWFsYXlzaWEsIElyYXEsIEpvcmRhbiwgU3lyaWEgYW5kCgkgIExlYmFub24gKGV4cGVyaW1lbnRhbGx5KS4KCjIwMTQtMTAtMDMgMjA6MjA6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3Npbmcgc3RhbmRhcmQgdHJhbnNtaXNzaW9uIG1vZGVzCgkgIFRoZXNlIGFwcGx5IHRvIElTREItVCwgRFZCLVQyIGFuZCBEVE1CCgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHJhdGVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNC0xMC0wMyAyMDowMzoyNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBEVE1CIGd1YXJkIGludGVydmFscwoKMjAxNC0xMC0wMyAxOTo1NTowMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBEVkItVDIgZ3VhcmQgaW50ZXJ2YWxzCgkgIEFjY29yZGluZyB0byB0aGUgdjRsLWR2YiBBUEkgZG9jcywgdGhlc2UgYXJlIG9ubHkKCSAgdXNlZCBmb3IgRFZCLVQyIGF0IHRoZSBtb21lbnQuCgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHJhdGVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNC0xMC0wMyAxOToyMDowMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBmaXggdHlwbyBpbiBHc3RNcGVndHNFeHRlbmRlZEV2ZW50RGVzY3JpcHRvciBkb2MKCjIwMTQtMTAtMDMgMTk6MDY6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIF9NVVRBQkxFX1BMQVlJTkcgdG8gdHVuaW5nIHByb3BzCgkgIFRoZSBlbGVtZW50IGNhbiAocmUpdHVuZSB3aGlsZSBwbGF5aW5nIHNvIGJhc2ljYWxseQoJICBldmVyeSBwcm9wZXJ0eSB1c2VkIGF0IHNldF9mZV9wYXJhbXMoKSBjYW4gYmUgc2V0CgkgIGluIHN0YXRlIDw9IFBMQVlJTkcuCgoyMDE0LTEwLTAzIDE3OjIyOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFRoZSBjb2RlYyBjYW4gb25seSBkbyBiYXNlbGluZSBzbyBzaW1wbGlmeSB0aGUgY29kZSBhIGJpdAoJICBhbmQgZGVjbGFyZSB0aGlzIGFsc28gb24gdGhlIHNyY3BhZCBjYXBzLgoJICBXaXRoIGJhc2VsaW5lIHByb2ZpbGUgdGhlcmUgYXJlIG5vIEItZnJhbWVzIG9yIGZyYW1lIHJlb3JkZXJpbmcuCgoyMDE0LTEwLTAzIDE3OjIwOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IE9uIDo6ZmluaXNoKCkgc3RvcCB0cnlpbmcgaWYgdGhlIGRlY29kZXIgcmV0dXJuZWQgdGhhdCBubyBvdXRwdXQgaXMgYXZhaWxhYmxlCgoyMDE0LTEwLTAzIDEzOjU0OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0cGx1Z2luLmM6CgkgIG9wZW5oMjY0OiBSdW4gZ3N0LWluZGVudCBvdmVyIGV2ZXJ5dGhpbmcKCjIwMTQtMTAtMDMgMTM6NTI6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvTWFrZWZpbGUuYW06CgkgIG9wZW5oMjY0OiBSZW1vdmUgdW51c2VkIGNvZGVjcGFyc2VycyBsaWIKCjIwMTQtMTAtMDIgMTY6NDY6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgbWlzc2luZyBBUEkgaW4gb3BlbmgyNjQKCjIwMTQtMTAtMDIgMTY6MzM6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVHJ5IHRvIGhhbmRsZSBmcmFtZSByZW9yZGVyaW5nCgkgIEFzIG9wZW5oMjY0IGhhcyBubyB3YXkgdG8gYXR0YWNoIGFueSBJRHMgdG8gaW5wdXQgZnJhbWVzIHRoYXQgd2UgdGhlbiBnZXQgb24KCSAgdGhlIG91dHB1dCBmcmFtZXMsIHdlIGhhdmUgdG8gYXNzdW1lIHRoYXQgdGhlIGlucHV0IGhhcyB2YWxpZCBQVFMuIFdlIGp1c3QKCSAgdGFrZSB0aGUgZnJhbWUgd2l0aCB0aGUgb2xkZXN0IFBUUywgYW5kIGlmIHRoZXJlIGlzIG5vIFBUUyBpbmZvcm1hdGlvbiB3ZSB0YWtlCgkgIHRoZSBvbmUgd2l0aCB0aGUgb2xkZXN0IERUUy4KCjIwMTQtMTAtMDIgMTY6MjM6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRG9uJ3QgZHJvcCB2aWRlb2NvZGVjIGZyYW1lcyBpZiB3ZSBjYW4ndCBkZWNvZGUgdGhlbSAqeWV0KgoJICBGaXhlcyBqaXR0ZXJ5IHBsYXliYWNrIG9mIHN0cmVhbXMgd2l0aCBCIGZyYW1lcy4KCjIwMTQtMTAtMDIgMTY6MjE6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogR3N0VmlkZW9EZWNvZGVyIHdvcmtzIG9uIGZyYW1lcywgbm90IHN1Yi1mcmFtZXMgKGUuZy4gTkFMcykKCSAgQW5kIHdlIGNhbiBqdXN0IHBhc3MgY29tcGxldGUgQVVzIHRvIHRoZSBkZWNvZGVyIHdpdGhvdXQgcHJvYmxlbXMuCgoyMDE0LTEwLTAyIDE2OjE5OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEFzIHdlIHJlcXVpcmUgTkFMIGFsaWdubWVudCBmcm9tIHVwc3RyZWFtIHdlIGRvbid0IG5lZWQgdG8gcGFyc2UgYW55dGhpbmcKCjIwMTQtMTAtMDIgMTU6NDg6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogUHJvcGVybHkgZHJhaW4gY29kZWMgb24gOjpmaW5pc2goKQoKMjAxNC0xMC0wMiAxNToyMjoxNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBQcm9wZXJseSBkcmFpbiB0aGUgZW5jb2RlciBvbiA6OmZpbmlzaCgpCgoyMDE0LTEwLTAyIDE0OjM2OjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFdlIGFsd2F5cyBnZXQgYSBzaW5nbGUgZnJhbWUgYXMgb3V0cHV0LCBub3QgYSBOQUwKCSAgTm8gbmVlZCB0byBhY2N1bXVsYXRlIE5BTHMuCgoyMDE0LTEwLTAyIDE0OjIwOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEZpeCB1cCBjYXBzIGFuZCBzdHJpZGUgaGFuZGxpbmcKCjIwMTQtMTAtMDIgMTQ6MTU6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvTWV0YQoJICBUaGlzIHdpbGwgYWxsb3cgdXBzdHJlYW0gZWxlbWVudHMgdG8gd29yayBtb3JlIGVmZmljaWVudGx5LgoKMjAxNC0xMC0wMiAxNDoxMjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhCgkgIFRoaXMgd2lsbCBtYWtlIG9wZXJhdGlvbiB3aXRoIHZhcmlvdXMgc2lua3MgZmFzdGVyIGZvciBmcmVlLgoKMjAxNC0xMC0wMiAxNDowODo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBPcHRpbWl6ZSBmcmFtZSBjb3B5aW5nIGEgYml0CgoyMDE0LTEwLTAyIDE0OjA2OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IERvbid0IGZvcmdldCB0byB1bnJlZiB0aGUgaW5wdXQgc3RhdGUKCjIwMTQtMTAtMDIgMTQ6MDM6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRml4IHZhcmlvdXMgY3Jhc2hlcyBvbiA6OnN0b3AoKQoKMjAxNC0xMC0wMiAxNDowMDowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBSZW1vdmUgaW52YWxpZCBzcHJvcHMtcGFyYW1ldGVyLXNldCBoYW5kbGluZwoJICBUaGlzIG9ubHkgZXhpc3RzIG9uIFJUUCBjYXBzLCBub3QgSDI2NCBjYXBzLgoKMjAxNC0xMC0wMiAxMzo1MzowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBEb24ndCBzZXQgY2FwcyBtYW51YWxseQoJICBUaGlzIHdpbGwgYnJlYWsgdGhlIG9yZGVyIG9mIGV2ZW50cyBpbiBHU3RyZWFtZXIuCgoyMDE0LTEwLTAyIDEzOjQ5OjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEZpeCBpbnB1dCBzdGF0ZSBoYW5kbGluZyBhbmQgcHJvcGFnYXRpb24gb2YgdXBzdHJlYW0gY2FwcyBmaWVsZHMKCjIwMTQtMTAtMDMgMTM6NDU6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5oMjY0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuaDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NHBsdWdpbi5jOgoJICBvcGVuaDI2NDogQWRkIE9wZW5IMjY0IGJhc2VkIGVuY29kZXIvZGVjb2RlciBlbGVtZW50cwoJICBUaGVzZSBhcmUgdGhlIG9wZW5oMjY0IGVsZW1lbnRzIHJlbGVhc2VkIHVuZGVyIHRoZSBCU0QtMiBsaWNlbnNlCgkgIGJ5IEVyaWNzc29uIGFzIHBhcnQgb2YgdGhlIE9wZW5XZWJSVEMgcHJvamVjdC4KCSAgaHR0cHM6Ly9naXRodWIuY29tL0VyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3Nzg4CgoyMDE0LTA5LTE4IDE3OjE0OjIyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG8gbm90IHRvIHJlbGVhc2UgVklERU9fQUdHUkVHQVRPUl9MT0NLIHdoaWxlIHNldHRpbmcgZm9ybWF0IGluZm8KCSAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gYWx3YXlzIGtlZXAgdGhlIFZJREVPX0FHR1JFR0FUT1JfTE9DSyB3aGlsZQoJICBuZWdvdGlhdGluZyBjYXBzLCB0aGlzIHBhdGNoIGludHJvZHVjZSB0aGF0IGNoYW5nZS4KCSAgVGhhdCBhbHNvIGltcGxpZXMgdGhhdCB3ZSBkbyBub3QgbmVlZCB0aGUgU0VUQ0FQU19MT0NLIGFueW1vcmUgYmVjYXVzZQoJICBub3cgVklERU9fQUdHUkVHQVRPUl9MT0NLIGd1YXJhbnRlZXMgdGhhdCBzZXRjYXBzIGlzIG5vdCBjYWxsZWQgZnJvbQoJICBzZXZlcmFsIHRocmVhZHMgYW5kIHRoZSBnc3RfYWdncmVnYXRvcl9zZXRfY2FwcyBtZXRob2QgaXMgbm93CgkgIHByb3RlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTA0MgoKMjAxNC0xMC0wMyAxMjozNDoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBUYWtlIGxvY2sgdG8gZW5zdXJlIHNldF9jYXBzIGlzIG5vdCBjYWxsZWQgY29uY3VyZW50bHkKCSAgQXZvaWRpbmcgdG8gYmUgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlIHdoZXJlIHdlIGRvIG5vdCBoYXZlCgkgIGFjdHVhbCBuZWdvdGlhdGUgY2FwcyBzZXQgYXMgc3JjY2FwcyBhbmQgbGVhZGluZyB0byBwb2ludCB3aGVyZSB3ZQoJICB0cnkgdG8gdW5yZWYgLT5zcmNjYXBzIHdoZW4gdGhleSBoYXZlIGFscmVhZHkgYmVlbiBzZXQgdG8gTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTA0MgoKMjAxNC0wOS0yOSAxMDoxNTozOSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBnc3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgVGhlcmUgYXJlIHVubmVjZXNzYXJ5IGRlZmluaXRpb25zIGZvciBkaXNhYmxpbmcgZGVwcmVjYXRpb24gd2FybmluZ3MuCgkgIFNpbmNlIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUyBpcyBub3QgbmVlZGVkIGFueW1vcmUgaW4gdGhlc2UgZmlsZXMsCgkgIHJlbW92aW5nIHRoZSBzYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NTU5CgoyMDE0LTEwLTAxIDE2OjE5OjAyICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogdW5yZWYgY2FwcyB3aGVuIGl0IGlzIGVtcHR5IGluIHJlbmVnb3RpYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzcyNAoKMjAxNC0xMC0wMiAxMDoyNjo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBzaXplIGZvciBDT0xPUl9Gb3JtYXRZVVY0MjBQbGFuYXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDE1NgoKMjAxNC0xMC0wMSAxNzoyMjo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBbHNvIGNvcHkgb3ZlciB0aGUgY2hyb21hIHNpdGluZyBhbmQgY29sb3JpbWV0cnkgd2hlbiBkZWNpZGluZyBvbiBhIGNvbnZlcnNpb24KCjIwMTQtMTAtMDEgMTc6MTg6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmV2ZXJ0IHRoZSBsYXN0IGNvbW1pdCBhbmQgaGFuZGxlIHJlc29sdXRpb25zIGRpZmZlcmVuY2VzIHByb3Blcmx5CgkgIFRoaXMgaXMgYWJvdXQgY29udmVydGluZyB0aGUgZm9ybWF0LCBub3QgYWJvdXQgY29udmVydGluZyBhbnkgd2lkdGhzIGFuZAoJICBoZWlnaHRzLiBTdWJjbGFzc2VzIGFyZSBleHBlY3RlZCB0byBoYW5kbGVyIGRpZmZlcmVudCByZXNvbHV0aW9ucyB0aGVtc2VsdmVzLAoJICBsaWtlIHRoZSB2aWRlb21peGVycyBhbHJlYWR5IGRvIHByb3Blcmx5LgoKMjAxNC0xMC0wMSAxNzoxMToxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBHc3RWaWRlb0NvbnZlcnRlciBjdXJyZW50bHkgY2FuJ3QgcmVzY2FsZSBhbmQgd2lsbCBhc3NlcnQKCSAgTGVhZHMgdG8gdWdseSBhc3NlcnRpb25zIGluc3RlYWQgb2YgcHJvcGVybHkgZXJyb3Jpbmcgb3V0OgoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXc6IGFzc2VydGlvbiAnaW5faW5mby0+d2lkdGggPT0gb3V0X2luZm8tPndpZHRoJyBmYWlsZWQKCjIwMTQtMTAtMDEgMTY6MDQ6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEFsd2F5cyB1cGRhdGUgb3VyIHZpZXdwb3J0IGlmIENvY29hIHRlbGxzIHVzIHNvbWV0aGluZyBoYXMgY2hhbmdlZAoJICBUaGUgdmlzaWJsZSByZWN0IGFuZCBib3VuZHMgbWlnaHQgYmUgdGhlIHNhbWUgYXMgYmVmb3JlLCBidXQgQ29jb2EKCSAgbWlnaHQndmUgY2hhbmdlZCBvdXIgdmlld3BvcnQgd2l0aG91dCB1cyBub3RoaW5nLiBUaGlzIGhhcHBlbnMgaWYKCSAgeW91IGhpZGUgdGhlIHZpZXcgYW5kIHNob3cgaXQgYWdhaW4uCgoyMDE0LTEwLTAxIDExOjU1OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBIYW5kbGUgTlNWaWV3OjpyZW5ld0dTdGF0ZSgpIHByb3Blcmx5CgkgIERvbid0IHVwZGF0ZSB0aGUgc2NyZWVuIHVudGlsIHdlIHJlZHJhdywgdGhpcyBwcmV2ZW50cyBmbGlja2VyaW5nIGR1cmluZwoJICBzY3JvbGxpbmcsIGNsaXBwaW5nLCByZXNpemluZywgZXRjCgoyMDE0LTEwLTAxIDAwOjUzOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGRvbid0IGNyYXNoIG9uIDAtc2l6ZWQgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NjU4CgoyMDE0LTA5LTMwIDE0OjU4OjA2ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsdHJhbnNmb3JtYXRpb246IHJlcXVpcmVzIGdyYXBoZW5lIDEuMC4wCgoyMDE0LTA5LTI1IDE3OjAxOjMxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBncmFwaGVuZSBtdWx0aXBsaWNhdGlvbiBvcmRlciBoYXMgY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNTEwCgoyMDE0LTA5LTMwIDIwOjM5OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogdXBkYXRlIGVsZW1lbnQgZG9jdW1lbnRhdGlvbgoKMjAxNC0wOS0zMCAxODoyNjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICB0ZXN0cy9nbGNvbG9yY29udmVydDogZG8gcmVvcmRlciBjaGVja2luZyBmb3IgcmdiYSBmb3JtYXRzCgoyMDE0LTA5LTMwIDE0OjQ2OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGNvbnZlcnQgeFJHQiBpbnRvIEFSR0IgcHJvcGVybHkKCSAgVGhlIGFscGhhIGNoYW5uZWwgbWlnaHQgbm90IGJlIHRoZSBsYXN0IGNvbXBvbmVudCBzbyBjaGVjayB3aGljaCBvbmUKCSAgaXQgaXMgaW4gYW5kIGNsb2JiZXIgdGhhdCBvbmUgaW5zdGVhZC4KCjIwMTQtMDktMzAgMDE6NDU6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgdGVzdHMvZ2xtZW1vcnk6IGFkZCBzaW1wbGUgdHJhbnNmZXIgdGVzdAoJICB0ZXN0cyB0cmFuc2ZlcnJpbmcgdG8vZnJvbSB0aGUgR0wgd2l0aCBhIDF4MSBSR0JBIHBpeGVsLgoKMjAxNC0wOS0zMCAwMTozODowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1bnNldCB0aGUgb3Bwb3NpdGUgY29ycmVzcG9uZGluZyB0cmFuc2ZlciBmbGFncyB3aGVuIG1hcHBlZCB3aXRoIHdyaXRlCgkgIGZpeGVzIGNvbnNpc3RlbmN5IHdpdGggY29uc2VjdXRpdmUgZ3N0X21lbW9yeV9tYXAoKSdzIHdpdGgKCSAgZmxhZ3MgJiBHU1RfTUFQX1dSSVRFCgoyMDE0LTA5LTI5IDA5OjMzOjQyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBVcGRhdGUgdmlld3BvcnQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGNsaXBwaW5nCgkgIFdlIGhhdmUgdG8gdXBkYXRlIHRoZSBHTCB2aWV3cG9ydCBpZiB0aGUgTlNWaWV3IGlzIG9ubHkgcGFydGlhbGx5CgkgIHZpc2libGUuIE90aGVyd2lzZSB0aGUgY29udGVudCBvZiB0aGUgZnJhbWUgd2lsbCBiZSB2aXNpYmx5IG9mZnNldC4KCjIwMTQtMDktMjkgMTA6MDE6MjcgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3QgZGlzY2FyZCBvbiBkaXNjb250IGlmIFBFUyBzdGFydAoJICBJZiBhIGRpc2NvbnRpbnVpdHkgaW4gdGhlIHN0cmVhbSBpcyBkZXRlY3RlZCwgZGF0YSBpcyBkaXNjYXJkZWQgdW50aWwKCSAgYSBuZXcgUEVTIHN0YXJ0cy4gSWYgdGhlIGZpcnN0IHBhY2tldCBhZnRlciB0aGUgZGlzY29udGludWl0eSBpcyBhbHNvCgkgIHRoZSBzdGFydCBvZiBhIFBFUywgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGRpc2NhcmQgdGhlIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1NjkKCjIwMTQtMDctMzEgMjI6NTc6NDAgKzAxMDAgIERhdmlkIFdhcmluZyA8ZGF2aWRqd0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IFVzZSBHc3RVcmkgdG8gam9pbiBVUklzCgoyMDE0LTA5LTI5IDEwOjQ5OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogSW1wcm92ZSB0aGUgTlNBcHBsaWNhdGlvbiBpbml0aWFsaXphdGlvbgoJICBUaGlzIGlzIG9ubHkgZm9yIG5vbi1Db2NvYSBhcHBzIGJ1dCBwcmV2aW91c2x5IGNhdXNlZCBhIDIgc2Vjb25kCgkgIHdhaXRpbmcgZHVyaW5nIHN0YXJ0dXAgZm9yIENvY29hIGFwcHMuIFRoaXMgaXMgdW5hY2NlcHRhYmxlLgoJICBJbnN0ZWFkIHdlIG5vdyBjaGVjayBhIGJpdCBtb3JlIGV4dGVuc2l2ZSBpZiBzb21ldGhpbmcgYWN0dWFsbHkKCSAgcnVucyBvbiB0aGUgR0xpYiBkZWZhdWx0IG1haW4gY29udGV4dCwgYW5kIGlmIG5vdCBkb24ndCBldmVuCgkgIGJvdGhlciB3YWl0aW5nIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuIGZyb20gdGhlcmUuCgoyMDE0LTA5LTI5IDA5OjI0OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBOU1ZpZXc6OmRyYXdSZWN0KCkgc2hvdWxkIGNhbGwgaW50byByZXNoYXBlIHRvbwoJICBXZSBhKSBuZWVkIHRvIHJlbmRlciBhZ2FpbiBiZWNhdXNlIHBhcnQgb2YgdGhlIHdpbmRvdyB3YXMKCSAgb2JzY3VyZWQgYW5kIGIpIG1pZ2h0IG5lZWQgdG8gcmVzaGFwZSBiZWNhdXNlIG9mIGNsaXBwaW5nCgkgIGNoYW5nZXMuCgoyMDE0LTA5LTI2IDE0OjIxOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IENhbGwgVUkgcmVsYXRlZCBBUEkgZnJvbSB0aGUgYXBwbGljYXRpb24gbWFpbiB0aHJlYWQKCjIwMTQtMDktMjYgMTM6MDU6MjcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogU3dpdGNoIHRvIGEgcGxhaW4gTlNWaWV3IHN1YmNsYXNzIGluc3RlYWQgb2YgTlNPcGVuR0xWaWV3CgkgIFdlIGRvbid0IGFuZCBjYW4ndCB1c2UgTlNPcGVuR0xWaWV3IGFzIGl0J3Mgc3VwcG9zZWQgdG8gYmUgdXNlZCBhbmQKCSAgaXQgZ2V0cyBpbnRvIG91ciB3YXkgYnkgYmVpbmcgdG8gY2xldmVyIGluIHZhcmlvdXMgc2l0dWF0aW9ucy4KCjIwMTQtMDktMjkgMDg6NTQ6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogSW5pdGlhbGl6ZSB2YXJpYWJsZQoJICBBdm9pZHMgdGhlIGZvbGxvd2luZyB3YXJuaW5nOgoJICBnc3RnbGNvbnRleHQuYzo2NDc6NTg6IGVycm9yOiAncHJldicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbgoJICB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTA5LTI4IDE4OjAzOjA5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBmaXggYnVpbGQgaW4gZ3N0LXVuaW5zdGFsbGVkIHNldHVwCgkgIEluY2x1ZGUgdGhlIGJhc2UgdmlkZW8gbGliIGFwcHJvcHJpYXRlbHkgYW5kIHJlc29ydCBhbGwgb2YgdGhlbSBhcwoJICB0aGF5dGFuIHN1Z2dlc3RlZC4KCjIwMTQtMDktMjkgMDA6MjM6NTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkgIGV4YW1wbGVzOiBGaXggUXQvR0wgcWdsd3RleHR1cmVzaGFyZSBleGFtcGxlIGZvciBYMTEKCSAgV2UgbmVlZCB0byBwYXNzIHRoZSBYMTEgZGlzcGxheSB0byBHc3RHTCBvciBlbHNlIGl0IHdpbGwKCSAgdXNlIGl0cyBvd24gWDExIERpc3BsYXkgcG9pbnRlciwgYW5kIHRoZSBHTCBDb250ZXh0IHdvbid0IGdldCBzaGFyZWQKCSAgY29ycmVjdGx5IG9uIG5ld2VyIFggc2VydmVycwoKMjAxNC0wOS0yOCAyMDoyMTo1MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcXJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0RlYnVnL3ZpZGVvb3ZlcmxheToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcm86CgkgIGV4YW1wbGVzOiBwb3J0IEdML1F0IGV4YW1wbGVzIHRvIFF0NQoJICBVcGRhdGUgdGhlIEdMIFF0IGludGVncmF0aW9uIGV4YW1wbGVzIGZvciBRdDUgY2hhbmdlcyBhbmQgZm9yIEdzdEdMCgkgIHNpZ25hbCBzaWduYXR1cmUgY2hhbmdlcy4KCjIwMTQtMDktMjkgMDA6MzI6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXh1cCBlcnJvciBpbiBzaGFyZWdyb3VwIGNvbW1lbnQKCjIwMTQtMDktMjkgMDA6Mjc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBwdXNoOiAiZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgY2hlY2tlcnMgcGF0dGVybiB3aXRoIEdMU0wiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWFlMDkxNzlmMGI0ZWI1ODRjOGZjN2I2NTYwZDhmYzhlODZlZWQ0Yy4KCjIwMTQtMDktMjkgMDA6MjQ6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBkZXRlY3QgdGhlIHNoYXJlZ3JvdXAgY2FzZSB3aGVyZSB0aGUgY29udGV4dCBhcmUgaW4gZGlmZmVyZW50IGNoYWlucwoJICBJbiB0aGUgZW5kIHRoZXkgd2lsbCBsZWFkIHRvIHRoZSBzYW1lIHJvb3QgY29udGV4dCBpbiB0aGUgdHJlZSBzbyBjaGVjayB0aGF0CgkgIGZvciBlcXVhbGl0eS4KCjIwMTQtMDktMjggMTA6NTE6MDkgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBpbXBsZW1lbnQgY2hlY2tlcnMgcGF0dGVybiB3aXRoIEdMU0wKCjIwMTQtMDktMjggMjE6MTg6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogc2lsZW5jZSBhIHdhcm5pbmcgd2l0aCBlbXB0eSBpbnB1dCBjYXBzCgkgIGRpc2NvdmVyZWQgd2l0aCB0aGUgZG91YmxlY3ViZSBleGFtcGxlCgkgIGdzdF9jYXBzX2dldF9mZWF0dXJlczogYXNzZXJ0aW9uICdpbmRleCA8IEdTVF9DQVBTX0xFTiAoY2FwcyknIGZhaWxlZAoKMjAxNC0wOS0yOCAyMDozNzowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBleGFtcGxlcy9nbDogdXBkYXRlIGZvciBzaWduYWwgc2lnbmF0dXJlIGNoYW5nZQoKMjAxNC0wOS0yOCAxNjo1ODo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGNyZWF0ZSBjb252ZXJ0ZXJzIHdoZW4gdGhlIHN1YmNsYXNzIGRvZXNuJ3Qgd2FudCB0aGVtCgkgIGZpeGVzIGEgY3JpdGljYWwgd2l0aCBnbHZpZGVvbWl4ZXIgYWZ0ZXIKCSAgMzViZDE5NjlmOTEyY2VjZGEwZmI1ZGY5NTk1YTAwNWU2ZGRmNGU3YQoJICBDUklUSUNBTCAqKjogZ3N0X3ZpZGVvX2NvbnZlcnRlcl9uZXc6IGFzc2VydGlvbiAnaW5faW5mby0+d2lkdGggPT0gb3V0X2luZm8tPndpZHRoJyBmYWlsZWQKCjIwMTQtMDktMjYgMjI6Mjk6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBmaXggemVybyBvdXRwdXQgZnJhbWVzIHdpdGggWVVZMi9VWVZZCgkgIGFsc28sIGJlIG5pY2UgYW5kIGRpc2FibGUgYmxlbmRpbmcgZm9yIG90aGVyIGVsZW1lbnRzCgoyMDE0LTA5LTI2IDIyOjIyOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogcHJvdGVjdCBkZXNrdG9wIGdsIHNwZWNpZmljIHRva2VucyB3aXRoICNpZgoKMjAxNC0wOS0yNiAxMjoyODoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IGZyZWUgdGhlIGltYWdlIG1lbW9yeSBldmVyeSB0aW1lIHRoZSBsb2NhdGlvbiBjaGFuZ2VzCgkgIGZpeGVzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDktMjUgMjA6NDg6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsb3ZlcmxheTogSW5jbHVkZSBpbnRvIHRoZSBidWlsZCB3aXRoIEdMRVMyIG9ubHkgdG9vCgoyMDE0LTA5LTI2IDAxOjQ1OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZnJlZSB0aGUgc2hhZGVyIG9uIHN0b3AKCjIwMTQtMDktMjYgMDE6MzQ6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBmaXggYmxlbmRpbmcgd2l0aCBsb3ctYWxwaGEgc291cmNlcwoJICBXZSBhbHNvIG5lZWQgdG8gYXBwbHkgdGhlIGJsZW5kIHBhcmFtYXRlcnMgdG8gdGhlIGFscGhhIGNoYW5uZWwgb3RoZXJ3aXNlCgkgIHRoZSBvdXRwdXQgb2YgdGhlIGJsZW5kIHdpbGwgYXBwZWFyIGJsYWNrIGF0IGxvdyBhbHBoYSB2YWx1ZXMgKDwgMC4yKS4KCjIwMTQtMDktMjYgMDE6MTQ6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsb3ZlcmxheTogcmVpbXBsZW1lbnQgZXZlcnl0aGluZwoJICAtIHVwZGF0ZSBmb3Igc2hhZGVycwoJICAtIGFkZCBhbHBoYSBwcm9wZXJ0eQoJICAtIGltYWdlIHBsYWNlbWVudCBwcm9wZXJ0aWVzIHNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gZ2RrcGl4YnVmb3ZlcmxheQoJICAtIGltYWdlIHBsYWNlbWVudCBwcm9wZXJ0aWVzIGFyZSBHc3RDb250cm9sbGVyIGFibGUKCSAgLSB1c2UgR3N0R0xNZW1vcnkgZm9yIHRoZSBvdmVybGF5IGltYWdlIGRhdGEKCSAgLSBhZGQgc3VwcG9ydCBmb3IgZ2xlczIKCjIwMTQtMDktMjUgMTY6MDQ6MzMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHN0eWxlOiByZW1vdmUgdW5uZWNlc3NhcnkgYnJlYWsgc3RhdGVtZW50cwoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGVzZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290b3MgcHJlY2VkaW5nCgkgIHRoZW0uIFNvIHRoZSBicmVha3MgYXJlIHVubmVjZXNzYXJ5LCBhcyBkaXNjdXNzZWQgaW4gYnVnIDczNjk0Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzM3MAoKMjAxNC0wOS0yNSAxNTo0NTo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGJyZWFrIHN0YXRlbWVudCB1bm5lY2Vzc2FyeQoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG8ncy4gU28gdGhlCgkgIGJyZWFrcyBhcmUgdW5uZWNlc3NhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NDIKCjIwMTQtMDktMjUgMTY6MTM6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IFN3aXRjaCBmcm9tIG91ciBjdXN0b20gbWFpbiBsb29wIHRvIGEgR01haW5Mb29wCgkgIFNpbXBsaWZpZXMgY29kZSBhIGxvdCBhbmQgbWFrZXMgaXQgbW9yZSBzaW1pbGFyIHRvIHRoZSBvdGhlciBiYWNrZW5kcy4KCjIwMTQtMDktMjUgMTY6MTI6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBDbGVhciB0aGUgY3VycmVudCBHTCBjb250ZXh0IHdoZW4gaXQgc2hvdWxkIGhhcHBlbgoKMjAxNC0wOS0yNCAxMjo0MjoyMyArMDIwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBFbWFpbCB3aXRoIG11bHRpcGFydCBjb250ZW50LXR5cGUgc2hvdWxkIGVuZCB3aXRoIGEgZmluYWwgYm91bmRhcnkKCSAgQWRkIGZpbmFsIGJvdW5kYXJ5IGZvciBlYWNoIG9mIHRoZSBzZW5kaW5nIG91dCBlbWFpbHMgZnJvbSBzbXRwc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjEzNAoKMjAxNC0wOS0yNSAxMDoxNDo0MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybCpzaW5rOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDE0LTA5LTI1IDA4OjA1OjUwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogYWRkIGEgZGVidWcgZnVuY3Rpb24KCSAgSWYgZ3N0cmVhbWVyIGlzIGJ1aWxkIHdpdGggbG9nZ2luZyBlbmFibGVkLCBhZGQgYSBkZWJ1ZyBmdW5jdGlvbiBhbmQgb3V0cHV0CgkgIHZlcmJvc2UgbWVzc2FnZXMgdG8gdGhlIGxvZyBpbnN0ZWFkIG9mIHN0ZGVyci4KCjIwMTQtMDktMjQgMjI6MjQ6NDkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybGh0dHBzaW5rOiBvbmx5IGFkZCBjb250ZW50LWRpc3Bvc2l0aW9uIGhlYWRlciBpZiBhIGZpbGVuYW1lIGlzIHNldAoJICBUaGUgaGVhZGVyIGlzIG9wdGlvbmFsIGFuZCB0aGVyZWZvcmUgd2UgYmV0dGVyIG9taXQgaXQgaWYgd2UgZG9uJ3QgaGF2ZSBhIGZpbGVuYW1lLgoKMjAxNC0wOS0yNCAyMjowNjoyMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IGRvbid0IHJlcGxhY2Ugc3BlY2lmaWMgZXJyb3IgbWVzc2FnZXMgd2l0aCBhIGdlbmVyaWMgb25lCgkgIE9ubHkgc2V0IGFuIGVycm9yIGlmIHdlIGhhdmVuJ3Qgc2V0IG9uZSBhbHJlYWR5LgoKMjAxNC0wOS0yNCAyMTowNzoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmx0bHNzaW5rOiBzd2FwIGNoZWNrCgkgIExldHMgY2hlY2sgZm9yIE5VTEwgZmlyc3QsIGFzIHRoYXQgaXMgdGhlIGRlZmF1bHQgYW55d2F5LgoKMjAxNC0wNy0yOSAxNjoxMjoyNiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZXR1cm4gZmx1c2hpbmcgaWYgd2UgZ2V0IGNoYWluZWQgd2hpbGUgYmVpbmcgc2V0IHRvIFJFQURZCgkgIE9yIG5vdCBuZWdvdGlhdGVkIGluIHRoZSBjYXNlIHdlIHdvdWxkIGJlIGFjdHVhbGx5IG5vdCBuZWdvdGlhdGVkCgkgIEN1cnJlbnRseSB3ZSBhcmUgZ2V0dGluZyBhc3NlcnRpb25zIGZyb20KCSAgZ3N0X3BiX3V0aWxzX2FkZF9jb2RlY19kZXNjcmlwdGlvbl90b190YWdfbGlzdCBiZWNhdXNlIG9mIE5VTEwKCSAgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE4NgoKMjAxNC0wOS0wOSAxMzoxMjozMSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtYXJrIGZpcnN0IGJ1ZmZlciBhcyBkaXNjb250IGFmdGVyIHJlc3RhcnRpbmcgYSBkb3dubG9hZCB0YXNrCgkgIE1hcmsgZmlyc3QgYnVmZmVyIGFzIGRpc2NvbnQgYWZ0ZXIgcmVzdGFydGluZyBhIGRvd25sb2FkIHRhc2ssIHNvCgkgIGRvd25zdHJlYW0gY2FuIHJlc2V0IGl0cyBzdGF0ZSB0byBwcm9wZXJseSBoYW5kbGUgdGhlIG5ldyBmcmFnbWVudC4KCSAgUmVsYXRlZCBpc3N1ZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjMxOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzE5CgoyMDE0LTA5LTE5IDIyOjMyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwdXNoIGEgdGltZSBzZWdtZW50IHdoZW4gcmVzdGFydGluZyBzdHJlYW1pbmcKCSAgVGhpcyBzaG91bGQgaW5mb3JtIGRlbXV4ZXJzL2RlY29kZXJzIGRvd25zdHJlYW0gdGhhdCB0aGUgc3RyZWFtIGlzCgkgIGFib3V0IHRvIHN0YXJ0IGZyb20gYSBuZXcgcG9zaXRpb24gYW5kIHRoZXkgc2hvdWxkIGZsdXNoIGFjY29yZGluZ2x5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzMTkKCjIwMTQtMDktMjQgMTY6NTU6NDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMub3JjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuaDoKCSAgdmlkZW86IHVzZSB2aWRlbyBsaWIgY29udmVyc2lvbiBjb2RlIGluc3RlYWQgb2YgY29weQoKMjAxNC0wOS0xOCAxNzoyNjozNyArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBicmVhayBzdGF0ZW1lbnQgdW5uZWNlc3NhcnkKCSAgT25lIG1vcmUgY29kZSBmbG93IGlzc3VlIHdoZXJlIGl0IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudCBkdWUgdG8KCSAgdGhlIGdvdG8uIFNvIHRoZSBicmVhayBpcyB1bm5lY2Vzc2FyeS4KCSAgUGx1cyB0d28gY29kaW5nIHN0eWxlIGZpeGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODk1CgoyMDE0LTA5LTI0IDIyOjQyOjU4ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkgIGNob3BteWRhdGE6IFRyYW5zZmVyIHRpbWVzdGFtcHMgdG8gb3V0cHV0IGJ1ZmZlcnMKCSAgQWxsb3dzIHVzaW5nIGNob3BteWRhdGEgYXMgYSBzaW1wbGUgcmVwYWNrZXRpemVyCgoyMDE0LTA5LTE5IDA5OjUxOjQ4ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBicmVhayBzdGF0ZW1lbnRzIHVubmVjZXNzYXJ5CgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290bydzLiBTbyB0aGUKCSAgYnJlYWtzIGFyZSB1bmVjZXNzYXJ5LiBTZWNvbmQgcGFydCB0byBjb21taXQgYTM5NThhZTY1YgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTQwCgoyMDE0LTA5LTE5IDA5OjU5OjQxICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBicmVhayBzdGF0ZW1lbnQgdW5uZWNlc3NhcnkKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvJ3MuIFNvIHRoZQoJICBicmVha3MgYXJlIHVuZWNlc3NhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NDIKCjIwMTQtMDktMTggMTY6MTM6NTggLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGF2b2lkIGVycm9yIHdoZW4gc2V0X2NhcHMgY2FsbGVkIHR3aWNlCgkgIElmIHNldF9jYXBzIGlzIGNhbGxlZCBpbiBhIHJ1bm5pbmcgc3RhdGUsIHJldHVybiBpbW1lZGlhdGVseSBpZiB0aGUgY2FwcwoJICBoYXZlbid0IGNoYW5nZWQuIElmIHRoZSBwaW5zIGFyZSBhbHJlYWR5IGNvbm5lY3RlZCwgZGlzY29ubmVjdCB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTI2CgoyMDE0LTA5LTI0IDE0OjI5OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc2tpcCBpbnB1dCBmcmFtZXMgd2l0aCBhbiBhbHBoYSBvZiAwCgoyMDE0LTA5LTI0IDEzOjEzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogZG93bmxvYWQgd2hlbmV2ZXIgd2UgaGF2ZSBzeXNtZW0gY2Fwc2ZlYXR1cmVzCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBwYXNzIG9uIGEgUkdCQSBmb3JtYXR0ZWQgYnVmZmVyIGFuZCBkb3duc3RyZWFtIHdvdWxkCgkgIG1pc2ludGVycHJldCB0aGF0IGFzIHNvbWUgb3RoZXIgdmlkZW8gZm9ybWF0LgoJICBGaXhlcyBwaXBlbGluZXMgb2YgdGhlIGZvcm0KCSAgZ2xlZmZlY3RzICEgdGVlICEgeHZpbWFnZXNpbmsKCjIwMTQtMDktMTkgMDE6MjI6MTQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJICBnc2V0dGluZ3M6IEZpeCB0eXBvIGluIGRlc2NyaXB0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MzMKCjIwMTQtMDktMjMgMTc6MzI6NTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkgIG1wZWdwc211eDogcmVmYWN0b3IgZHVwbGljYXRlIGVsc2UgYnJhbmNoZXMKCSAgVW5rbm93biBjYXNlIHNob3VsZCBhc3NlcnQgaWYgcmVhY2hlZCBpbnN0ZWFkIG9mIGp1c3QgYXNzdW1pbmcgdGhlIG1heCBidWZmZXIKCSAgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ2MAoKMjAxNC0wOS0xOSAwOTo1NDoxMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGluaXRpYWxpemUgc2VudF9jb2RlY190YWcgYmVmb3JlIHVzaW5nIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NTEKCjIwMTQtMDktMjIgMTc6MTQ6MjkgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJICB2aWRlb2ZpbHRlcnM6IEFkZCBzdXBwb3J0IGZvciBtb3JlIFlVViBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzcxMTEKCjIwMTQtMDgtMjEgMDI6MTQ6NDAgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IGFkZCBNYW5kZWxicm90IGZyYWN0YWwgcGF0dGVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTEzMQoKMjAxNC0wOC0yMSAwMjoxMzo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCBzbm93IHBhdHRlcm4gd2l0aCBHTFNMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MTMxCgoyMDE0LTA5LTIzIDEyOjAyOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZmFsbGJhY2sgdG8gdXBsb2FkIGlmIGNvbnRleHRzIGNhbm5vdCBzaGFyZSBHTCByZXNvdXJjZXMKCSAgRml4ZXMgcGlwZWxpbmVzIG9mIHRoZSBmb3JtCgkgIGdsZWZmZWN0cyAhIHRlZSAhIGdsaW1hZ2VzaW5rCgkgIGFzIHRlZSBkb2VzIG5vdCBwYXNzIG9uIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5LgoKMjAxNC0wOS0yMyAxMjowMTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgZ3N0X2dsX2NvbnRleHRfY2FuX3NoYXJlCgkgIFdoaWNoIGRldGVybWluZXMgd2hldGhlciB0d28gR3N0R0xDb250ZXh0J3MgY2FuIHNoYXJlIHNoYXJhYmxlCgkgIE9wZW5HTCByZXNvdXJjZXMuCgoyMDE0LTA5LTIyIDIwOjAxOjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdGVzdHM6IHVwZGF0ZSBmb3IgdXBsb2FkIEFQSSBjaGFuZ2VzCgoyMDE0LTA5LTIyIDEwOjA4OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogTGV0IGdzdF9nbF9jb250ZXh0X2dldF90aHJlYWQoKSByZXR1cm4gYSBuZXcgcmVmZXJlbmNlIHRvIHRoZSBHVGhyZWFkCgkgIE90aGVyd2lzZSBpdCBtaWdodCBnbyBhd2F5IGluIHRoZSBtZWFudGltZSBhbmQgdGhlIGNhbGxlciBoYXMgc29tZSByYW5kb20gcG9pbnRlci4KCjIwMTQtMDktMjIgMTE6MTA6NDIgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBjb25zZWN1dGl2ZSByZXR1cm4sIGJyZWFrIHN0YXRlbWVudAoJICBTaWduZWQtb2ZmLWJ5OiBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkzOQoKMjAxNC0wOS0yMiAxMjoyMToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2RlYnVnLmg6CgkgIGdsL2RlYnVnOiBkZXNrdG9wIEdMIGRvZXMgbm90IGhhdmUgdGhlIEtIUiBzdWZmaXhlcwoKMjAxNC0wOS0yMiAxMTo1OTozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBleGFtcGxlcy9nbC9ndGs6IHVzZSB0aGUgc3luYyBidXMgY2FsbGJhY2sgdG8gc2V0IHRoZSB3aW5kb3cgaGFuZGxlCgkgIEFuZCBvdXRwdXQgZXJyb3IgbWVzc2FnZXMuCgoyMDE0LTA5LTE5IDE4OjU5OjAxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIEZFQyByYXRlcwoJICBPcmRlciBvZiB0aGUgZW51bSB2YWx1ZXMgKG5ldyByYXRlcyBhZnRlciBfQVVUTykKCSAgaGFzIGJlZW4ga2VwdCBjb25ncnVlbnQgd2l0aCB0aGUgb25lIGluIHRoZSB2NGwKCSAgQVBJIGZvciBjb25zaXN0ZW5jeS4KCjIwMTQtMDktMjEgMTM6MzI6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBhZGQgc2luY2UgbWFya2VycyBmb3IgbmV3IEFQSQoKMjAxNC0wOS0yMSAyMTo0Mjo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBkZWJ1ZyBsaW5lIGZvciBmcmVlaW5nIHRleHR1cmVzCgoyMDE0LTA5LTIxIDIxOjM2OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2x1cGxvYWQ6IHByb3ZpZGUgdGhlIG91dHB1dCBidWZmZXIgdGhhdCBpcyByZW5kZXJlZCBpbnRvCgkgIEFsbG93cyBjYWxsZXJzIHRvIHByb3Blcmx5IHJlZmVyZW5jZSBjb3VudCB0aGUgYnVmZmVycyB1c2VkIGZvcgoJICByZW5kZXJpbmcuCgkgIEZpeGVzIGEgcmVkcmF3IHJhY2UgaW4gZ2xpbWFnZXNpbmsgd2hlcmUgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICAodGhlIG9uZSB1c2VkIGZvciByZWRyYXcgb3BlcmF0aW9ucykgaXMgZnJlZWQgYXMgc29vbiBhcyB0aGUgbmV4dAoJICBidWZmZXIgaXMgdXBsb2FkZWQuCgkgIDEuIGdsaW1hZ2VzaW5rIHVwbG9hZHMgaW4gX3ByZXBhcmUoKSB0byB0ZXh0dXJlIG4KCSAgMS4xIGdsdXBsb2FkIGhvbGRzIGJ1ZmZlciBuCgkgIDIuIGdsaW1hZ2VzaW5rIF9yZW5kZXIoKXMgdGV4dHVyZSBuCgkgIDMuIGdsaW1hZ2VzaW5rIHVwbG9hZHMgdGV4dHVyZSBuKzEKCSAgMy4xIGdsdXBsb2FkIGZyZWUgcHJldmlvdXMgYnVmZmVyIHdoaWNoIGRlbGV0ZXMgdGV4dHVyZSBuCgkgIDMuMiBnbHVwbG9hZCBob2xkcyBidWZmZXIgbisxCgkgIDQuIGdsd2luZG93IHJlc2l6ZS9leHBvc2UKCSAgNS4gZ2xpbWFnZXNpbmsgcmVkcmF3cyB3aXRoIHRleHR1cmUgbgoJICBUaGUgcmFjZSBpcyB0aGF0IHRoZSBidWZmZXIgbiAodGhlIG9uZSB1c2VkIGZvciByZWRyYXdpbmcpIGlzIGZyZWVkIGFzIHNvb24gYXMKCSAgdGhlIGJ1ZmZlciBuKzEgYXJyaXZlcy4gIFRoZXJlIGNvdWxkIGJlIGFueSBhbW91bnQgb2YgdGltZSBhbmQgbnVtYmVyIG9mCgkgIHJlZHJhd3MgYmV0d2VlbiB0aGlzIGV2ZW50IGFuZCB3aGVuIGJ1ZmZlciBuKzEgaXMgYWN0dWFsbHkgcmVuZGVyZWQgYW5kIHRodXMKCSAgcmVwbGFjZXMgYnVmZmVyIG4gYXMgdGhlIHJlZHJhdyBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3NDAKCjIwMTQtMDktMjEgMjE6MzA6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIEFQSSB0byByZXRyZWl2ZSB0aGUgdGhyZWFkIHRoYXQgY29udGV4dCBpcyBhY3RpdmUgaW4KCjIwMTQtMDktMTkgMTU6MzI6MzMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBSZW1vdmVkIHVucmVhY2hhYmxlIGJyZWFrLCB1bnVzZWQgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk1NwoKMjAxNC0wOS0xOSAxNDozNjozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBGaXggZW5jb2RlciB0byB3b3JrIG9uIGlPUwoJICBpT1MgaGFzIHNwZWNpYWwgc3RyaWRlIHJlcXVpcmVtZW50cyB0aGF0IHdlIGRvbid0IGtub3cgeWV0LCBzbyBjb3B5CgkgIGlucHV0IGJ1ZmZlcnMgaW50byBidWZmZXJzIGFsbG9jYXRlZCBieSBpT1MgZm9yIG5vdy4KCSAgTGF0ZXIgd2Ugc2hvdWxkIGNoZWNrIHRoZSBzdHJpZGUgYW5kIHByb2JhYmx5IHByb3ZpZGUgYSBidWZmZXIgcG9vbCBmb3IgdGhlc2UKCSAgYnVmZmVycyBzbyB1cHN0cmVhbSBjYW4gZGlyZWN0bHkgd3JpdGUgaW4gdGhlcmUuCgoyMDE0LTA5LTE5IDE0OjMyOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBXZSBuZWVkIHRvIG1hcCB0aGUgY29yZW1lZGlhIGJ1ZmZlcnMgaW4gbm9uLXJlYWRvbmx5IG1vZGUKCSAgT3VyIGJ1ZmZlcnMgY2xhaW0gdG8gYmUgd3JpdGFibGUgc28gb3RoZXIgZWxlbWVudHMgZXhwZWN0IHRvIGJlIGFibGUKCSAgdG8gd3JpdGUgdGhlcmUgd2l0aG91dCBsb3NpbmcgdGhlaXIgY2hhbmdlcy4KCjIwMTQtMDktMTggMTg6MTY6NTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIGNsaWVudCBtdXRleCBiZWZvcmUgZW50ZXJpbmcgdGhlIHJldHJ5X2ZhaWxvdmVyIGJsb2NrCgkgIFRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBjYXNlIHdoZXJlIHRoZSBibG9jayBleGVjdXRpb24gaXMKCSAgdHJpZ2dlcmVkIGJ5IHRoZSBnb3RvIGludm9rZWQgYWZ0ZXIgdGhlIGN1cnJlbnRfdmFyaWFudCB1cGRhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MTkKCjIwMTQtMDktMTIgMDI6MzY6NDcgLTAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHN5bmNocm9uaXplIHdpdGggdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIHNpZ25hbCBpdCB0byBjb250aW51ZQoJICBJZiBFT1Mgb3IgRVJST1IgaGFwcGVucyBiZWZvcmUgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIGhhcyByZWFjaGVkIGl0cwoJICBnX2NvbmRfd2FpdCgpIGNhbGwsIHRoZW4gdGhlIGdfY29uZF9zaWduYWwgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QgYW5kCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBzdHVja3MgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjMKCjIwMTQtMDktMTIgMDI6MzU6NDQgLTAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHN5bmNocm9uaXplIHdpdGggdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHRvIHNpZ25hbCBpdCB0byBjb250aW51ZQoJICBJZiBFT1Mgb3IgRVJST1IgaGFwcGVucyBiZWZvcmUgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIGhhcyByZWFjaGVkIGl0cwoJICBnX2NvbmRfd2FpdCgpIGNhbGwsIHRoZW4gdGhlIGdfY29uZF9zaWduYWwgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QgYW5kCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBzdHVja3MgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU2NjMKCjIwMTQtMDgtMjkgMTI6Mzg6MTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogc3luY2hyb25pemUgd2l0aCB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gc2lnbmFsIGl0IHRvIGNvbnRpbnVlCgkgIElmIEVPUyBvciBFUlJPUiBoYXBwZW5zIGJlZm9yZSB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgaGFzIHJlYWNoZWQgaXRzCgkgIGdfY29uZF93YWl0KCkgY2FsbCwgdGhlbiB0aGUgZ19jb25kX3NpZ25hbCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdCBhbmQKCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHN0dWNrcyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MwoKMjAxNC0wOS0xNyAxNzoyNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGNsZWFyaW5nIG9mIGVvcyBzdGF0ZSBpbiBwYWRzCgkgIFRoZSBpbnRlcm5hbCBwYWQgc3RpbGwga2VlcHMgaXRzIEVPUyBmbGFnIGFuZCBldmVudCBhcyBpdCBjYW4gYmUgYXNzaWduZWQKCSAgYWZ0ZXIgdGhlIGZsdXNoLXN0YXJ0L3N0b3AgcGFpciBpcyBzZW50LiBUaGUgRU9TIGlzIGFzc2lnbmVkIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgc28gdGhpcyBpcyByYWN5LgoJICBUbyBiZSBzdXJlIHRvIGNsZWFyIGl0LCBpdCBoYXMgdG8gYmUgZG9uZSBhZnRlciBzZXR0aW5nIHRoZSBzb3VyY2UgdG8gUkVBRFkgdG8KCSAgYmUgc3VyZSB0aGF0IGl0cyBzdHJlYW1pbmcgdGhyZWFkIGlzbid0IHJ1bm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMTcgMTc6Mjc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBjbGVhcmluZyBvZiBlb3Mgc3RhdGUgaW4gcGFkcwoJICBUaGUgaW50ZXJuYWwgcGFkIHN0aWxsIGtlZXBzIGl0cyBFT1MgZmxhZyBhbmQgZXZlbnQgYXMgaXQgY2FuIGJlIGFzc2lnbmVkCgkgIGFmdGVyIHRoZSBmbHVzaC1zdGFydC9zdG9wIHBhaXIgaXMgc2VudC4gVGhlIEVPUyBpcyBhc3NpZ25lZCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIHNvIHRoaXMgaXMgcmFjeS4KCSAgVG8gYmUgc3VyZSB0byBjbGVhciBpdCwgaXQgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgc2V0dGluZyB0aGUgc291cmNlIHRvIFJFQURZIHRvCgkgIGJlIHN1cmUgdGhhdCBpdHMgc3RyZWFtaW5nIHRocmVhZCBpc24ndCBydW5uaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTE3IDE0OjUxOjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggY2xlYXJpbmcgb2YgZW9zIHN0YXRlIGluIHBhZHMKCSAgVGhlIGludGVybmFsIHBhZCBzdGlsbCBrZWVwcyBpdHMgRU9TIGZsYWcgYW5kIGV2ZW50IGFzIGl0IGNhbiBiZSBhc3NpZ25lZAoJICBhZnRlciB0aGUgZmx1c2gtc3RhcnQvc3RvcCBwYWlyIGlzIHNlbnQuIFRoZSBFT1MgaXMgYXNzaWduZWQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBzbyB0aGlzIGlzIHJhY3kuCgkgIFRvIGJlIHN1cmUgdG8gY2xlYXIgaXQsIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIHNldHRpbmcgdGhlIHNvdXJjZSB0byBSRUFEWSB0bwoJICBiZSBzdXJlIHRoYXQgaXRzIHN0cmVhbWluZyB0aHJlYWQgaXNuJ3QgcnVubmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0xOCAxNzo0OTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBMZXQgdGhlIGVuY29kZXIgYXV0b21hdGljYWxseSBjaG9vc2UgYSBoMjY0IGxldmVsCgkgIFdlIHNob3VsZCBuZWdvdGlhdGUgdGhlc2UgdGhpbmdzIHZpYSBjYXBzLi4uCgoyMDE0LTA5LTE4IDEzOjQ1OjMzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVzZSAwIGluc3RlYWQgb2YgR19NQVhET1VCTEUgYXMgdGhlIG1heCBrZXlmcmFtZSBpbnRlcnZhbAoJICAwIG1lYW5zIG5vIGxpbWl0LCB3aGljaCB3YXMgbWVhbnQgaGVyZSB3aXRoIEdfTUFYRE9VQkxFIHByb2JhYmx5LgoKMjAxNC0wOS0xOCAxMzo0MjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBFeHBlY3RlZCBkdXJhdGlvbiBpcyBzdXBwb3NlZCB0byBiZSB0aGUgZHVyYXRpb24gb2YgdGhlIHN0cmVhbSwgbm90IGEgZnJhbWUKCSAgSnVzdCBkb24ndCBzZXQgaXQgZm9yIG5vdywgaXQgaXNuJ3QgcmVhbGx5IG5lZWRlZC4KCjIwMTQtMDktMTggMTE6Mzk6NTMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGFkZCB1bml0IHRlc3QgZm9yIHNlcXVlbmNlLWxheWVyIHBhcnNpbmcKCSAgQ2hlY2sgdGhhdCBhIHNlcXVlbmNlLWxheWVyIGhlYWRlciBpcyBzdWNjZXNzZnVsbHkgcGFyc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODcxCgoyMDE0LTA5LTE4IDExOjQ5OjEzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiB0YWtlIGNhcmUgb2YgZW5kaWFubmVzcyB3aGVuIHBhcnNpbmcgc2VxdWVuY2UtbGF5ZXIKCSAgc2VxdWVuY2UtbGF5ZXIgaXMgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIgZXhjZXB0IGZvcgoJICBTVFJVQ1RfQyB3aGljaCBpcyBzZXJpYWxpemVkIGluIGJpZy1lbmRpYW4gYnl0ZSBvcmRlci4KCSAgQnV0IHNpbmNlIFNUUlVDVF9BIGFuZCBTVFJVQ1RfQiBmaWVsZHMgYXJlIGRlZmluZWQgYXMgdW5zaWduZWQgaW50IG1zYgoJICBmaXJzdCwgd2UgaGF2ZSB0byBwYXNzIHRoZW0gYXMgYmlnLWVuZGlhbiB0byB0aGVpciBwYXJzaW5nIGZ1bmN0aW9uLiBTbwoJICB3ZSBiYXNpY2FsbHkgdXNlIHRlbXBvcmFyeSBidWZmZXJzIHRvIGNvbnZlcnQgdGhlbSBpbiBiaWctZW5kaWFuLgoJICBTZWUgU01QVEUgNDIxTSBBbm5leCBKIGFuZCBMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODcxCgoyMDE0LTA5LTE4IDEzOjExOjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFByb3Blcmx5IGhhbmRsZSBrZXlmcmFtZXMKCSAgRXNwZWNpYWxseSBzZXQgdGhlIFNZTkNfUE9JTlQgZmxhZyBvbiBrZXlmcmFtZXMuCgoyMDE0LTA5LTE4IDE0OjI0OjEzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVtb3ZlZCBhbiB1bndhbnRlZCBpbml0aWFsaXphdGlvbiBhbmQgYSB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODYzCgoyMDE0LTA5LTE3IDEyOjI0OjM5ICswMjAwICBKZXJvbWUgTGFoZXVydGUgPGpsYWhldXJ0ZUBxdWl2aWRpLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvQlVJTEQudHh0OgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL0NNYWtlTGlzdHMudHh0OgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IFBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyODMKCjIwMTQtMDktMTggMTI6NTM6MTEgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmVkIHJlZHVuZGFudCBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODUzCgoyMDE0LTA5LTE3IDE1OjUwOjIzICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogbG9naWNhbCBkaXNqdW5jdGlvbiBjb25zZWN1dGl2ZSByZXR1cm4sIGJyZWFrIHVubmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3OTAKCjIwMTQtMDktMTcgMTE6NDk6MjIgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBlbmFibGUgaGVhZGVyLWZvcm1hdCBjb252ZXJzaW9uCgkgIEluIGZhY3Qgd2Ugc3VwcG9ydCBoZWFkZXItZm9ybWF0IGNvbnZlcnNpb24gd2hpY2ggaXMgZG9uZSBpbgoJICB1cGRhdGVfY2FwcygpIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc4NgoKMjAxNC0wOS0xOCAxMDozMDowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggY29tcGlsYXRpb24KCjIwMTQtMDktMTggMDk6NDc6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogSGFuZGxlIDAvMSBmcmFtZXJhdGVzIGNvcnJlY3RseSBieSBub3QgY2FsY3VsYXRpbmcgdGhlaXIgZnJhbWUgZHVyYXRpb24KCjIwMTQtMDktMTcgMTc6Mzc6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBuZXdlciBjbGFuZwoKMjAxNC0wOS0xNyAxNzoxMDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBQcmVwYXJlIGVuY29kZXIgYWZ0ZXIgc2V0dXAKCSAgVGhpcyB3aWxsIGFsbG93IGVuY29kaW5nIHRvIGhhcHBlbiBmYXN0ZXIgb24gdGhlIGZpcnN0IGZyYW1lLgoKMjAxNC0wOS0xNyAxNzowODo1NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBPbmx5IGRyYWluIHRoZSBlbmNvZGVyIGluIDo6ZmluaXNoKCksIG5vdCBvbiBldmVyeSBmcmFtZQoJICBPdGhlcndpc2UgcXVhbGl0eSBhbmQgYml0cmF0ZSB3aWxsIGJlIGJhZC4KCjIwMTQtMDktMTcgMTU6Mzk6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRXJyb3Igb3V0IGlmIGVuY29kaW5nIHJldHVybmVkIGFuIGVycm9yCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3QgY29udGludWUgY29uc3VtaW5nIGZyYW1lcyB1bnRpbCBhbGwgbWVtb3J5IGlzIGZpbGxlZAoJICB1cCBhbmQgdGhlIGFwcCBjcmFzaGVzLgoKMjAxNC0wOS0xNyAxNDo1NjowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBDaGVjayBmb3IgZXJyb3JzIGZyb20gVlRDb21wcmVzc2lvblNlc3Npb25Db21wbGV0ZUZyYW1lcygpCgoyMDE0LTA5LTE3IDE0OjU1OjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFByb3Blcmx5IHNjYWxlIHRpbWVzdGFtcHMgZm9yIHRoZSBBUEkgYW5kIHNldCBpbnZhbGlkIHZhbHVlcwoKMjAxNC0wOS0xNyAxNDo1NDozOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBQcm9wZXJseSBzY2FsZSB0aW1lc3RhbXBzIGZvciB0aGUgQVBJIGFuZCBzZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTQtMDktMTcgMTM6MTk6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJICBhcHBsZW1lZGlhOiBSZW1vdmUgb2xkIGNvZGUgdGhhdCBpcyBvZiBubyB1c2UgYW55bW9yZQoKMjAxNC0wOS0xNiAxNzozODo1MyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZvcmdlIHNlcXVlbmNlLWxheWVyIGZyb20gc2VxX2hkciBpbnN0ZWFkIG9mIHNlcV9sYXllcgoJICBJZiB3ZSBkb24ndCBoYXZlIGEgc2VxX2xheWVyX2J1ZmZlciwgd2UgYWxzbyBkb24ndCBoYXZlIGEgdmFsaWQKCSAgc2VxX2xheWVyIGJlY2F1c2UgdGhlcmUgYXJlIHNldCB0b2dldGhlciBpbgoJICBnc3RfdmMxX3BhcnNlX2hhbmRsZV9zZXFfbGF5ZXIoKS4KCSAgU28gd2hlbiBvdXRwdXQgaGVhZGVyIGZvcm1hdCBpcyBzZXF1ZW5jZS1sYXllciBhbmQgd2hlbiB3ZSBkb24ndCBoYXZlIGEKCSAgc2VxX2xheWVyX2J1ZmZlciwgd2UgZm9yZ2Ugb25lIGZyb20gc2VxX2hkci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc4MQoKMjAxNC0wOS0xNyAxMDozOToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXBwbGVtZWRpYTogVW5jb25kaXRpb25hbGx5IHVzZSBWaWRlb1Rvb2xib3ggb24gaU9TIGlmIGF2YWlsYWJsZQoJICBCZWNhdXNlIHdlIGRvIHdlYWsgbGlua2luZyBub3cgd2UgY2FuIGFsd2F5cyBjb21waWxlIGl0IGluIGFuZCBjaGVjayBhdAoJICBydW50aW1lIGlmIGl0IGlzIGFjdHVhbGx5IGF2YWlsYWJsZSBvciBub3QuCgoyMDE0LTA5LTE3IDEwOjM4OjIwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBEbyB3ZWFrIGxpbmtpbmcgd2l0aCB0aGUgVmlkZW9Ub29sYm94IGZyYW1ld29yawoJICBJdCBkb2VzIG5vdCBleGlzdCBvbiBvbGRlciBPU1ggYW5kIGlPUyBidXQgd2Ugc3RpbGwgd2FudCB0bwoJICBiZSBhYmxlIHRvIHVzZSBpdCB3aGVuIGl0J3MgYXZhaWxhYmxlLgoKMjAxNC0wOS0xNiAxMjowNjozNSArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkbyBub3QgbGVhayBidWZmZXIgcG9vbCBpbiBlcnJvciBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzUKCjIwMTQtMDktMTYgMTU6NTk6NTggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBmaXggc2VxdWVuY2UtbGF5ZXIvZnJhbWUtbGF5ZXIgZW5kaWFubmVzcwoJICBTZXF1ZW5jZS1sYXllciBhbmQgZnJhbWUtbGF5ZXIgYXJlIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlCgkgIG9yZGVyIGV4Y2VwdCBmb3IgU1RSVUNUX0MgYW5kIGZyYW1lZGF0YSBmaWVsZHMgYXMgZGVzY3JpYmVkIGluIFNNUFRFIDQyMU0gQW5uZXgKCSAgTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc1MAoKMjAxNC0wOS0xNiAxNjo1MToyOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBQb3J0IHRvIEdzdFZpZGVvRW5jb2RlciBiYXNlIGNsYXNzCgoyMDE0LTA5LTE2IDE2OjEzOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVzZSBjb3JyZWN0IGluc3RhbmNlIHN0cnVjdCBzaXplCgoyMDE0LTA5LTE2IDE1OjQ4OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICB2YWx1ZXMgb2YgdHlwZSAnT1NTdGF0dXMnIHNob3VsZCBub3QgYmUgdXNlZCBhcyBmb3JtYXQgYXJndW1lbnRzOyBhZGQgYW4gZXhwbGljaXQgY2FzdCB0byAnaW50JyBpbnN0ZWFkIFstV2Zvcm1hdF0KCjIwMTQtMDktMTYgMTU6MDI6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogUG9ydCB0byB0aGUgcmVhbCBWaWRlb1Rvb2xib3ggQVBJIGluc3RlYWQgb2YgdXNpbmcgb3VyIGRsb3BlbigpIHdyYXBwZXIKCSAgSXQncyBhIHB1YmxpYyBmcmFtZXdvcmsgc2luY2UgYSBsb25nIHRpbWUuCgoyMDE0LTA5LTE2IDExOjQyOjM0ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBkbyBub3QgbGVhayBwb29sIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzIKCjIwMTQtMDktMTYgMTE6NDM6MDIgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBkZWNvZGVyOiBkbyBub3QgbGVhayBwb29sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzMKCjIwMTQtMDktMTYgMTE6NDE6NDMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZG8gbm90IGxlYWsgcG9vbCBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMwCgoyMDE0LTA5LTE2IDExOjQyOjEzICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IGRvIG5vdCBsZWFrIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMQoKMjAxNC0wOS0xNiAxMTo0MToxNiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGRvIG5vdCBsZWFrIHBvb2wgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjcyOQoKMjAxNC0wOS0xNiAxMzoyMToyMiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IG1vZGlmeSB3cm9uZyBwYWNrZXRpemVkIG1vZGUgbG9naWMKCSAgcGFja2V0aXplZCBtb2RlIGlzIGJlaW5nIHNldCB3aGVuIGZyYW1lcmF0ZSBpcyBiZWluZyBzZXQKCSAgd2hpY2ggaXMgbm90IGNvcnJlY3QuIENoYW5naW5nIHRoZSBzYW1lIGJ5IGNoZWNraW5nIHRoZQoJICBpbnB1dCBzZWdlbWVudCBmb3JtYXQuIElmIGlucHV0IHNlZ21lbnQgaXMgaW4gVElNRSBpdCBpcwoJICBQYWNrZXRpemVkLCBhbmQgaWYgaXQgaXMgaW4gQllURVMgaXQgaXMgbm90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MjUyCgoyMDE0LTA5LTE2IDExOjI0OjM3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA5LTE2IDEzOjE5OjI1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMDE6MTU6MzEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IENvbXBhcmUgdGhlIGNvcnJlY3QgbG9vcCB2YXJpYWJsZXMKCjIwMTQtMDktMTUgMTU6NDI6NDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogTm8gbmVlZCB0byBzZXQga1ZUVmlkZW9EZWNvZGVyU3BlY2lmaWNhdGlvbl9FbmFibGVIYXJkd2FyZUFjY2VsZXJhdGVkVmlkZW9EZWNvZGVyIG9uIGlPUwoKMjAxNC0wOS0xNSAxNTozNjo0NCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbmQgbWFrZSB0aGUgcHJlcHJvY2Vzc29yIGNoZWNrIHdvcmsgcHJvcGVybHkKCjIwMTQtMDktMTUgMTU6MjU6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRG8gdGhlIEFNX0NPTkRJVElPTkFMKCkgYWZ0ZXIgZmluYWxseSBzZXR0aW5nIHRoZSB2YXJpYWJsZQoKMjAxNC0wOS0xNSAxNToxMjozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogRG9uJ3QgaW5jbHVkZSBWaWRlb1Rvb2xib3ggb24gaU9TIDwgOC4wCgkgIEl0J3MgcHJpdmF0ZSBBUEkgYW5kIGRvZXMgbm90IHdvcmsgd2l0aG91dCBhIGphaWxicm9rZW4gZGV2aWNlLgoKMjAxNC0wOS0xNSAxMzozMzo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsc28gcmVmZXRjaCB0aGUgcGxheWxpc3QgYWZ0ZXIgdGhlIGZpcnN0IGZyYWdtZW50IGZhaWx1cmUKCSAgUHJldmlvdXNseSB3ZSBvbmx5IHJlZmV0Y2hlZCB0aGUgcGxheWxpc3QgaWYgZG93bmxvYWRpbmcgYSBmcmFnbWVudAoJICBoYXMgZmFpbGVkIG9uY2UuIFdlIHNob3VsZCBhbHNvIGRvIHRoYXQgaWYgaXQgZmFpbGVkIGEgc2Vjb25kIG9yIHRoaXJkIHRpbWUsCgkgIGNoYW5jZXMgYXJlIHRoYXQgdGhlIHBsYXlsaXN0IHdhcyB1cGRhdGVkIG5vdyBhbmQgY29udGFpbnMgbmV3IFVSSXMuCgoyMDE0LTA5LTE1IDExOjU5OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2g6IEFjdHVhbGx5IHJldHJ5IDMgdGltZXMgYXMgYWR2ZXJ0aXNlZCBpbnN0ZWFkIG9mIDIKCjIwMTQtMDktMTUgMTE6NTk6MTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogQWN0dWFsbHkgcmV0cnkgMyB0aW1lcyBhcyBhZHZlcnRpc2VkIGluc3RlYWQgb2YgMgoKMjAxNC0wOS0xMyAyMDo0OToxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBGaXggY29tcGlsYXRpb24gb24gaU9TIDguMAoKMjAxNC0wOS0xMSAxNDozNjozMSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZpeCBtYWxmb3JtZWQgc2VxdWVuY2UgbGF5ZXIgaGVhZGVyIGFuZCBTVFJVQ1RfQwoJICBUaGlzIGNvbW1pdCBmaXggc2V2ZXJhbCBpc3N1ZXMgd2l0aCBzZXF1ZW5jZSBsYXllciBoZWFkZXIgZm9yZ2luZyBvbgoJICB1cGRhdGVfY2FwcygpOgoJICAtIDB4MDAwMDAwMDQgdW5zaWduZWQgaW50ZWdlciBpcyBiZWZvcmUgU1RSVUNUX0MuCgkgIC0gU2V0IHJlc2VydmVkIGJpdHMgb2YgU1RSVUNUX0MgdG8gdGhlaXIgdmFsdWVzIGZvciBzaW1wbGUvbWFpbgoJICBwcm9maWxlcyBpbiBzZXF1ZW5jZSBsYXllciBoZWFkZXIgZm9ybWF0IGFuZCBBU0YgaGVhZGVyIGZvcm1hdC4KCSAgLSBTZXF1ZW5jZSBsYXllciBzaGFsbCBiZSByZXByZXNlbnRlZCBhcyBhIHNlcXVlbmNlIG9mIDMyIGJpdHMgdW5zaWduZWQKCSAgaW50ZWdlcnMgYW5kIHNoYWxsIGJlIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlIG9yZGVyIGV4Y2VwdAoJICBmb3IgU1RSVUNUX0Mgd2hpY2ggc2hhbGwgYmUgc2VyaWFsaXplZCBpbiBiaWctZW5kaWFuIGJ5dGUtb3JkZXIuCgkgIFNlZSBTTVBURSA0MjFNIEFubmV4IEwgZm9yIG1vcmUgZGV0YWlscyBhYm91dCBzZXF1ZW5jZSBsYXllciBmb3JtYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0NzQKCjIwMTQtMDktMTIgMTQ6NDk6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFVzZSBwcm9wZXIgdmFyaWFibGUgZm9yIGRlbGl2ZXJ5IHN5c3RlbQoJICBXZSB3YW50IHRvIGNoZWNrIHRoZSBkZWxpdmVyeSBzeXN0ZW0gaXMgSVNEQlQgKGFuZCBub3QgdGhlIG1vZHVsYXRpb24KCSAgd2hpY2ggd2UgY2hlY2sgbGF0ZXIgaW4gdGhhdCBjYXNlKS4KCSAgQ0lEICMxMjM4NDM5CgoyMDE0LTA5LTEyIDA5OjMwOjA0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY1MzEKCjIwMTQtMDktMTEgMTg6MzM6MjAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgdHNkZW11eDogZml4IG92ZXJmbG93IG9mIHBhY2tldF9sZW5ndGggZmllbGQgb2YgUEVTSGVhZGVyCgkgIHBhY2tldF9sZW5ndGggaXMgZGVmaW5lZCBhcyBhIGd1aW50MTYgaW4gdGhlIFBFU0hlYWRlciBzdHJ1Y3R1cmUuIFRoaXMKCSAgZGVmaW5pdGlvbiBtYXRjaCB0aGUgc3BlY2lmaWNhdGlvbi4gQnV0IHNpbmNlIHdlIGFkZCA2IGJ5dGVzIHRvIHRoZQoJICBwYWNrZXRfbGVuZ3RoIHZhbHVlIChsZW5ndGggb2Ygc3RhcnRfY29kZSArIHN0cmVhbV9pZCArIHBhY2tldF9sZW5ndGgpLAoJICB3ZSBjYW4gb3ZlcmZsb3cgdGhlIGd1aW50MTYgd2hlbiB0aGUgdmFsdWUgaW4gdGhlIFBFUyBoZWFkZXIgaXMgZ3JlYXRlcgoJICB0aGFuIDY1NTI5LgoJICBTbyB1c2UgYSBndWludDMyIGluc3RlYWQgb2YgYSBndWludDE2IHRvIGF2b2lkIG92ZXJmbG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDkwCgoyMDE0LTA5LTEwIDE1OjM5OjQ0IC0wMzAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaW1wcm92ZSBwb3NpdGlvbiBkZXRlY3Rpb24gd2hlbiBhIGRvd25sb2FkIHJlc3RhcnQKCSAgUXVlcnkgb3RoZXIgc3JjIHBhZHMgYmVmb3JlIGZhbGxpbmcgYmFjayB0byB0aGUgcG9zaXRpb24gb2YgdGhlIGxhc3QKCSAga25vd24gcHVzaGVkIHNlZ21lbnQgKHdoaWNoIGNhbiBiZSBmYXIgYWhlYWQgaW4gdGltZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0MjEKCjIwMTQtMDktMTAgMTU6NDM6MDUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIHBvc2l0aW9uIGRldGVjdGlvbiB3aGVuIGEgZG93bmxvYWQgcmVzdGFydAoJICBRdWVyeSBvdGhlciBzcmMgcGFkcyBiZWZvcmUgZmFsbGluZyBiYWNrIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdAoJICBrbm93biBwdXNoZWQgc2VnbWVudCAod2hpY2ggY2FuIGJlIGZhciBhaGVhZCBpbiB0aW1lKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQyMQoKMjAxNC0wOS0xMSAxNjoyMTozMCArMDQwMCAgQmVsb3pvcm92IFNlbWVuIDxza2ltaW5va0RAZ21haWwuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJICBtcGVncHNtdXg6IGZpeCBtZW1vcnkgbGVhayB3aGVuIGNvbnZlcnRpbmcgSC4yNjQgYXZjIHRvIGJ5dGUtc3RyZWFtIGZvcm1hdAoJICBGaXggbWVtb3J5IGxlYWsgZm9yIGlucHV0IHN0cmVhbSB3aXRoIGNhcHMgInZpZGVvL3gtaDI2NCxzdHJlYW0tZm9ybWF0PWF2YyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0MjYKCjIwMTQtMDktMTAgMTk6Mjc6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IGFsbG9jYXRlIGJ5dGUgd3JpdGVyIG9uIHN0YWNrCgoyMDE0LTA5LTEwIDE5OjE5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSAgYXNmbXV4OiBhbGxvY2F0ZSBieXRlIHJlYWRlcnMgb24gdGhlIHN0YWNrCgoyMDE0LTA5LTEwIDEwOjU4OjAzICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogY2xlYXIgbXV0ZXggcmVzb3VyY2VzIGluIGRpc3Bvc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM5MAoKMjAxNC0wOS0xMCAxNzoyNDozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIEZpeCB1cCBvbmUtZWxlbWVudCBsaXN0cyBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDE0LTA5LTEwIDE2OjM4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBib2d1cyBCR1JBIGNhcHMKCSAgUmVtb3ZlIDAuMTAtc3R5bGUgZW5kaWFubmVzcy8qX21hc2svYnBwL2RlcHRoIGZpZWxkcy4KCjIwMTQtMDktMTAgMTk6MTY6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogZG9uJ3QgQUNfU1VCU1QgaW50ZXJtZWRpYXRlIHZhbHVlcwoKMjAxNC0wOS0wOSAxMjowMTo0NyArMDIwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBHc3RHTFdpbmRvdzogSW50cm9kdWNlIG5hdmlnYXRpb24gdGhyZWFkCgkgIFRoaXMgdGhyZWFkIGRpc3BhdGNoZXMgbmF2aWdhdGlvbiBldmVudHMuIEl0IGlzIG5lZWRlZCB0byBhdm9pZCBkZWFkbG9ja3MKCSAgYmV0d2VlbiB3aW5kb3cgYmFja2VuZCB0aHJlYWRzIHRoYXQgZW1pdCBuYXZpZ2F0aW9uIGV2ZW50cyAoZS5nLiBYMTEvR01haW5Mb29wCgkgIHRocmVhZCkgYW5kIGNvbnN1bWVycyBvZiBuYXZpZ2F0aW9uIGV2ZW50cyBzdWNoIGFzIGdsaW1hZ2VzaW5rLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzY2MQoJICBHc3RHbFdpbmRvd194MTEgdGhyZWFkIGlzIGNoYW5nZWQgdG8gaW52b2tlIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCBmb3IgbmF2aWdhdGlvbgoJICBkaXNwYXRjaGluZywgaW5zdGVhZCBvZiBlbWl0aW5nIHRoZSBldmVudCBpdHNlbGYuIE90aGUgYmFja2VuZHMgYmVzaWRlIFgxMSBkbwoJICBub3QgZGlzcGF0Y2ggbmF2aWdhdGlvbiBldmVudHMgeWV0LCBidXQgc2hvdWxkIHVzZSB0aGlzIHRocmVhZCB3aGVuIGRpc3BhdGNoaW5nCgkgIHRoZXNlIGV2ZW50cyBpbiB0aGUgZnV0dXJlLgoJICBUaGUgbmF2aWdhdGlvbiB0aHJlYWQgaXMgY3VycmVudGx5IHBhcnQgb2YgR3N0R0xXaW5kb3cgYW5kIG5vdCBpbXBsZW1lbnRlZCBpbgoJICBzZXBhcmF0ZSBzdWJjbGFzc2VzIC8gYmFja2VuZHMuIFRoaXMgd2lsbCBiZSBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4KCSAgZ3N0X2dsX3dpbmRvd194MTFfZ2V0X3N1cmZhY2VfZGltZW5zaW9ucyBpcyBhbHNvIGNoYW5nZWQgdG8gdXNlIGEgY2FjaGVkIHZhbHVlCgkgIG9mIHRoZSB3aW5kb3cncyB3aWR0aCwgaGVpZ2h0LiBUaGVzZSB2YWx1ZXMgYXJlIG5vdyByZXRyaWV2ZWQgaW4gdGhlIFgxMQoJICB0aHJlYWQsIGZ1bmN0aW9uIGdzdF9nbF93aW5kb3dfeDExX2hhbmRsZV9ldmVudC4gVGhpcyBjaGFuZ2UgaXMgbmVlZGVkIGJlY2F1c2UKCSAgb3RoZXJ3aXNlIHRoZSBYR2V0V2luZG93QXR0cmlidXRlcyBnZXRzIGNhbGxlZCBmcm9tIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCwKCSAgbGVhZGluZyB0byB4bGliIGFib3J0aW5nIGR1ZSB0byBtdWx0aXRocmVhZGVkIGFjY2VzcyAoaWYgWEluaXRUaHJlYWRzIGlzIG5vdAoJICBjYWxsZWQgYmVmb3JlLCBhcyBpcyB0aGUgY2FzZSBmb3IgZ3N0LWxhdW5jaCkKCjIwMTQtMDktMDUgMTM6NTg6MTkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmV0cnkgb3BlbmluZyB0aGUgZnJvbnRlbmQgb24gRUlOVFIKCjIwMTQtMDktMDUgMTM6MzI6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYXNzb3J0ZWQgZG9jICYgc3BlbGxpbmcgZml4ZXMKCjIwMTQtMDktMDcgMDE6MzA6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgUmV2ZXJ0ICJkYXRhdXJpc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgZWxzZSBpZiBjb25kaXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzAyNGFlOWMzODQ5MDgxN2E3NmM4M2ZlYWIzYzg0NzI5ODljYWZhZC4KCSAgVGhlICpidWYgY2FuIGJlIE5VTEwgb3Igbm90IGRlcGVuZGluZyBpZiB0aGUgY2FsbGVyIG9mIGdzdF9wYWRfZ2V0X3JhbmdlCgkgIGZ1bmN0aW9uIHByb3ZpZGVkIG9yIG5vdCBhIGJ1ZmZlci4KCjIwMTQtMDktMDUgMTY6MTE6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgdGVzdHM6IGhsc2RlbXV4OiBmaXggY29tcGlsYXRpb24KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3RoaWFnb3NzL2dzdC9oZWFkL2dzdHJlYW1lci9nc3QvZ3N0Lmg6NTQ6MCwKCSAgZnJvbSAvaG9tZS90aGlhZ29zcy9nc3QvaGVhZC9nc3RyZWFtZXIvbGlicy9nc3QvY2hlY2svZ3N0Y2hlY2suaDozNCwKCSAgZnJvbSBlbGVtZW50cy9obHNkZW11eF9tM3U4LmM6Mjc6CgkgIC4uLy4uL2V4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOjg6Mjg6IGVycm9yOiByZWR1bmRhbnQgcmVkZWNsYXJhdGlvbiBvZiDigJhmcmFnbWVudGVkX2RlYnVn4oCZIFstV2Vycm9yPXJlZHVuZGFudC1kZWNsc10KCSAgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiAoZnJhZ21lbnRlZF9kZWJ1Zyk7CgkgIE1vdmUgdGhlIGRlZmluaXRpb24gb2YgdGhlIGNhdGVnb3J5IHRvIGFmdGVyIHRoZSBkZWNsYXJhdGlvbi4KCjIwMTQtMDktMDUgMTI6NTY6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IEFuZCBmaXggTWFrZWZpbGUgeWV0IGFnYWluCgoyMDE0LTA5LTA1IDEyOjI1OjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgdGhlIG0zdTguYyBmaWxlIGRpcmVjdGx5IGluIHRoZSB0ZXN0IGJlY2F1c2Ugb2YgYW4gYXV0b21ha2UgYnVnCgkgICQodG9wX3NyY2RpcikgZG9lc24ndCBzZWVtIHRvIHdvcmsgd2l0aCBfU09VUkNFUyBiZWNhdXNlIHRoYXQgd291bGQgYmUgdG9vCgkgIG9idmlvdXMuCgkgIGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEzLTA5L21zZzAwMDA1Lmh0bWwKCjIwMTQtMDktMDUgMDk6NTM6MTUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRml4IGhhbmRsaW5nIG9mIDY0IGJpdCBmbG9hdGluZyBwb2ludCBkYXRhCgkgIEluIGdzdF9haWZmX3BhcnNlX2NyZWF0ZV9jYXBzIGlmIGFuZCBlbHNlLWlmIGNvbmRpdGlvbnMKCSAgYXJlIGR1cGxpY2F0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwOTAKCjIwMTQtMDktMDUgMDg6NTE6MzAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBBZGQgbmV3IHByb3BlcnR5IG1pbi1zdGRkZXYKCSAgZmFjZSBkZXRlY3Rpb24gd2lsbCBiZSBwZXJmb3JtZWQgb25seSBpZiBpbWFnZSBzdGFuZGFyZCBkZXZpYXRpb24gaXMKCSAgZ3JlYXRlciB0aGF0IG1pbi1zdGRkZXYuIERlZmF1bHQgbWluLXN0ZGRldiBpcyAwIGZvciBiYWNrd2FyZAoJICBjb21wYXRpYmlsaXR5LiBUaGlzIHByb3BlcnR5IHdpbGwgYXZvaWQgdG8gcGVyZm9ybSBmYWNlIGRldGVjdGlvbiBvbgoJICBpbWFnZXMgd2l0aCBsaXR0bGUgY2hhbmdlcyBpbXByb3ZpbmcgY3B1IHVzYWdlIGFuZCByZWR1Y2luZyBmYWxzZQoJICBwb3NpdGl2ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUxMAoKMjAxNC0wNy0wNyAxMDo1Mjo1NyArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogZml4IGlzc3VlcyBhbmQgZXhwb3NlIG12cCBtYXRyaXgKCSAgKiBhc3BlY3Qgc2hvdWxkIG5vdCBiZSAwIG9uIGluaXQKCSAgKiByZW5hbWUgZm92eSB0byBmb3YKCSAgKiBhZGQgbXZwIHRvIHByb3BlcnRpZXMgYXMgYm94ZWQgZ3JhcGhlbmUgdHlwZQoJICAqIGZpeCB0cmFuc2Zvcm1hdGlvbiBvcmRlci4gc2NhbGUgZmlyc3QKCSAgKiBjbGVhciBjb2xvciB3aXRoIDEuMCBhbHBoYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjIzCgoyMDE0LTA5LTA0IDIxOjQxOjU0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBBbHNvIGdldCB0aGUgbTN1OC5jIHNvdXJjZSBmaWxlIGZyb20gdGhlICQodG9wX3NyY2RpcikgZm9yIHRoZSB0ZXN0CgkgIFNob3VsZCBmaXggbWFrZSBkaXN0Y2hlY2sgZm9yIHJlYWwgbm93LgoKMjAxNC0wOS0wNCAxOTowMTo0NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogVXNlICQodG9wX3NyY2RpcikgaW5zdGVhZCBvZiAkKHRvcF9idWlsZGRpcikgZm9yIHRoZSBpbmNsdWRlIHBhdGgKCjIwMTQtMDktMDQgMTg6MjE6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cyB0byBkZWFjdGl2YXRlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMDQgMTg6MjE6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cyB0byBkZWFjdGl2YXRlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMDQgMTg6MjA6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZW5kIGZsdXNoIGV2ZW50cyB0byBkZWFjdGl2YXRlZCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMDQgMTc6NTI6MzUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IENvbXBpbGUgdGhlIG0zdTguYyBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlLXVzaW5nIHRoZSAubyBmaWxlCgoyMDE0LTA5LTA0IDE3OjUwOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IEFkZCB1bml0IHRlc3QgZm9yIHBhcnNpbmcgb2YgTTNVOCBwbGF5bGlzdHMKCSAgUG9ydGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3lsYXR1eWEvZ3N0LXBsdWdpbnMtYmFkCgkgIFRoaXMgc3RpbGwgaGFzIHNvbWUgdW5pdCB0ZXN0cyBmb3IgYWx0ZXJuYXRpdmUgcmVuZGl0aW9ucyBhbmQKCSAgc2Vla2luZywgd2hpY2ggYXJlIGNvbW1lbnRlZCBvdXQgZm9yIHRoZSB0aW1lIGJlaW5nIHVudGlsIHdlCgkgIHN1cHBvcnQgdGhlbSBwcm9wZXJseS4KCjIwMTQtMDktMDQgMTc6NDk6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFByb3Blcmx5IGFzc2lnbiBvZmZzZXRzIHRvIHRoZSBmaWxlcyBpZiB3ZSBhY2N1bXVsYXRlIHRoZW0gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIHBsYXlsaXN0CgoyMDE0LTA5LTA0IDEzOjM4OjIxICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogUmVtb3ZlIHVubmVjZXNzYXJ5IGVsc2UgaWYgY29uZGl0aW9uCgkgIEluIGdzdF9kYXRhX3VyaV9zcmNfY3JlYXRlKCksIGJ1ZiBjYW5ub3QgYmUgTlVMTCwgaGVuY2UKCSAgZWxzZSBpZiAoKmJ1ZiAhPSBOVUxMKSB3aWxsIGJlIGludmFsaWQgc28gcmVtb3ZpbmcgdGhlCgkgIGVsc2UgaWYgY29uZGl0aW9uIGFuZCBhZGRpbmcgYSBjaGVjayB0byB1bnJlZmVyZW5jZSBidWYKCSAgaW4gZWxzZSBjb25kaXRpb24sIGp1c3QgaW4gY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODYxCgoyMDE0LTA5LTAyIDE4OjA2OjUzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNpbXBsaWZ5IElTREItVCBsYXVuY2ggbGluZSBleGFtcGxlCgoyMDE0LTA5LTAyIDEyOjEzOjAxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRlbGF5IGxvY2tpbmcgdGlsbCBhY3R1YWxseSBuZWVkZWQKCSAgR2V0IHJpZCBvZiB1bm5lZWRlZCBsb2NraW5nIGF0IHByb3Agc2V0dGluZyBieSBkb2luZwoJICBpdCBvbmx5IHdoZW4gdHVuaW5nIHRoZSBmcm9udGVuZCBhdCBfdHVuZV9mZSgpCgoyMDE0LTA5LTAyIDEyOjExOjQ0ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogTWFrZSBnZXRfdXJpKCkgdGhyZWFkc2FmZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1ODYxCgoyMDE0LTA5LTAxIDE3OjQxOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIGFtY2F1ZGlvZGVjOiBSZW1vdmUgaGFjayBmb3IgR29vZ2xlIE1QMyBkZWNvZGVyCgkgIFRoZSBmaXJzdCBidWZmZXIgZG9lcyBub3QgY29udGFpbiBtb3JlIGdhcmJhZ2UgdGhhbiBhbnkgb3RoZXIgTVAzIGRlY29kZXIKCSAgb3V0cHV0cyBhbmQgd2UgZG9uJ3QgcmVhbGx5IGtub3cgaG93IG11Y2ggd2UgaGF2ZSB0byBkcm9wIG9yIG5vdC4KCSAgQWZ0ZXIgdGhpcyBjaGFuZ2UgdGhlIG91dHB1dCBoYXMgdGhlIHNhbWUgZHVyYXRpb24gYXMgd2l0aCBtYWQuCgoyMDE0LTA5LTAxIDA4OjI0OjU3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSAgemVicmFzdHJpcGU6IFJlZmFjdG9yIHRvIHJlbW92ZSBkdXBsaWNhdGUgY29kZQoJICBnc3RfemVicmFfc3RyaXBlX3RyYW5zZm9ybV9mcmFtZV9pcF9wbGFuYXJZCgkgIGdzdF96ZWJyYV9zdHJpcGVfdHJhbnNmb3JtX2ZyYW1lX2lwX1lVWTIKCSAgZ3N0X3plYnJhX3N0cmlwZV90cmFuc2Zvcm1fZnJhbWVfaXBfQVlVVgoJICBhbGwgYWJvdmUgMyBmdW5jdGlvbnMgZG8gdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBleGNlcHQgZm9yIG9mZnNldCBhbmQgcGl4ZWwgc3RyaWRlLgoJICBIZW5jZSBtb3ZpbmcgdGhlIGZ1bmN0aW9uYWxpdHkgdG8gYSBzaW5nbGUgZnVudGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTAzMgoKMjAxNC0wOC0yOSAxODo1NTozMiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggZGVzY3JpcHRpb24gZm9yIG1vZHVsYXRpb24gcHJvcAoKMjAxNC0wOC0yOSAxNzoxNjowOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgYmFzaWMgY2hlY2tzIG9uIElTREItVCBwYXJhbWV0ZXJzCgkgIEFsc28gYWRkIGEgcm91dGluZSBmb3IgY2hlY2tpbmcgd3JvbmcgZGVsc3lzL21vZHVsYXRpb24KCSAgY29tYmluYXRpb25zIHJpZ2h0IGJlZm9yZSB0dW5pbmcgKG9ubHkgaW1wbGVtZW50ZWQgZm9yCgkgIElTREItVCBmb3Igbm93KS4KCjIwMTQtMDgtMjkgMTg6MDk6MDcgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgbW9kdWxhdGlvbiB0eXBlcwoKMjAxNC0wOC0yOSAxMzoyNjoxMiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIEZJWE1FIG9uIF9JU0RCVF9MQVlFUl9FTkFCTEVEIHByb3AKCSAgVmFsaWQgdmFsdWVzIHJhbmdlIGZyb20gMSB0byA3IGFzIHN0YXRlZC4KCSAgRFRWX0lTREJUX0xBWUVSX0VOQUJMRUQgYml0bWFzayBpcyBidWlsdCBmcm9tCgkgIE9SLWluZyAweDEgMHgyIDB4NC4gSWYgYWxsIGJpdHMgYXJlIHNldAoJICAoMHgwMDAwMDExMSA9IDcpIGl0IG1lYW5zIGFsbCBsYXllcnMgc2hvdWxkIGJlCgkgIGRlbW9kdWxhdGVkLgoKMjAxNC0wOC0yOSAxOToyNjo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVtb3ZlIGNvZGUgdGhhdCBjYW4ndCBiZSByZWFjaGVkCgkgIElmIHRoaXMgY29kZSBjb3VsZCBldmVyIGJlIHJlYWNoZWQsIGl0IHdvdWxkIGxlYWsKCSAgbWVtb3J5IChDSUQgMTIzMTk3OSksIGJ1dCBnc3RfY2Fwc19nZXRfZmVhdHVyZXMoKQoJICBuZXZlciByZXR1cm5zIE5VTEwsIHNvIHRoYXQgY2FuJ3QgaGFwcGVuLgoKMjAxNC0wOC0yOSAxOToyNDo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIGNvZGUgdGhhdCBjYW4ndCBiZSByZWFjaGVkCgkgIElmIHRoaXMgY29kZSBjb3VsZCBldmVyIGJlIHJlYWNoZWQsIGl0IHdvdWxkIGxlYWsKCSAgbWVtb3J5IChDSUQgMTIzMTk3NyksIGJ1dCBnc3RfY2Fwc19nZXRfZmVhdHVyZXMoKQoJICBuZXZlciByZXR1cm5zIE5VTEwsIHNvIHRoYXQgY2FuJ3QgaGFwcGVuLgoKMjAxNC0wOC0yOCAyMDoxMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHVwIGhhbmRsaW5nIG9mIGlucHV0IGNhcHMgY29ybmVyIGNhc2VzCgkgIERvIG1vcmUgZWxhYm9yYXRlIHZhbGlkYXRpb24gb2YgdGhlIGlucHV0IGNhcHM6IHdoYXQgZmllbGRzCgkgIGFyZSByZXF1aXJlZCBhbmQvb3Igbm90IGFsbG93ZWQuIERvbid0IGFzc3VtZSBBVkMzIGZvcm1hdAoJICBpbnB1dCB3aXRob3V0IGNvZGVjX2RhdGEgZmllbGQgaXMgYnl0ZS1zdHJlYW0gZm9ybWF0LiBGaXgKCSAgdXAgc29tZSBub3ctdW5yZWFjaGFibGUgY29kZSAoQ0lEIDEyMzI4MDApLgoKMjAxNC0wOC0yOCAxNjo0MjozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQWRkIG1pc3NpbmcgYnJlYWsgdG8gc3dpdGNoCgkgIENJRCAxMjMyODAxCgoyMDE0LTA4LTI4IDExOjM3OjU2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBSZXNldCBuZWdvdGlhdGlvbiBzdGF0ZSB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkKCSAgQWZ0ZXIgZ29pbmcgYmFjayB0byBSRUFEWSB3ZSBjYW4gYWNjZXB0IG5ldyBmb3JtYXQgc2V0dGluZ3MgYWdhaW4uCgoyMDE0LTA4LTIyIDE1OjE4OjU5IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFN1cHBvcnQgT3BlblNTTCBmb3IgQUVTIGRlY3J5cHRpb24gb2YgSExTIGZyYWdtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNTI0OAoKMjAxNC0wOC0yNiAxNjoyMTo0MiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkgIGdsOiBxZ2x3dGV4dHVyZXNoYXJlIGRlbW8gZml4ZXMgYW5kIGNsZWFudXAKCSAgMS4gZ2xjb250ZXh0aWQgZnVuY3Rpb24gaXMgcmVwbGFjZWQgYnkgZ3N0cmVhbWVyIGdzdF9nbF9jb250ZXh0X25ld193cmFwcGVkIC4KCSAgMi4gY2FsbCBnc3RfaW5pdCBiZWZvcmUgZ3N0X2dsX2Rpc3BsYXlfbmV3ICwgc2VlbXMgZ3N0X2dsX2Rpc3BsYXlfbmV3IGRlcGVuZHMKCSAgb24gZ3N0X2FsbG9jYXRvcl9yZWdpc3RlciAsIHdoaWNoIG9ubHkgd29ya2VkIGFmdGVyIGdzdF9pbml0IGNhbGxlZAoJICAzLiBmbHVzaCBnc3RyZWFtZXIgT3BlbkdMIGNvbnRleHQgYmVmb3JlIHVzaW5nIHNoYXJlZCB0ZXh0dXJlLCBmaXgKCSAgZmxpY2tlciBwcm9ibGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTY2CgoyMDE0LTA4LTI3IDEzOjQwOjQyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogQWRkIEdTVEdMQVBJIG1hY3JvIHRvIHRoZSBkZWJ1ZyBjYWxsYmFjayBmdW5jdGlvbgoJICBGaXhlcyB0aGUgV2luZG93cyBidWlsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTU2NQoKMjAxNC0wOC0yOCAwOTo1MzoxNyArMDMwMCAgQmxha2UgVHJlZ3JlIDxibGFrZS50cmVncmVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogQ2xhbXAgb3V0IG9mIGJvdW5kcyByZXNvbHV0aW9ucyB0byBwcmV2ZW50IHNlZ2ZhdWx0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODAxCgoyMDE0LTA4LTI3IDE0OjQ3OjI1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkbyBub3QgY2hlY2sgZm9yIEdML0dMVS9FR0wvR0xFUzIgbGlicyBpZiBkaXNhYmxlZCBpbiBjb25maWd1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1MjIKCjIwMTQtMDgtMjYgMTI6Mzg6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGVnbDogV3JhcCBLSFJfY3JlYXRlX2NvbnRleHQgZmxhZ3MgaW4gYW4gaWZkZWYKCSAgRUdMX0NPTlRFWFRfRkxBR1NfS0hSIGFuZCBFR0xfQ09OVEVYVF9PUEVOR0xfREVCVUdfQklUX0tIUgoJICBkb24ndCBleGlzdCBpbiB0aGUgQW5kcm9pZCBOREsuIFdyYXAgdGhlaXIgdXNhZ2UgaW4gYW4gI2lmZGVmCgkgIEVHTF9LSFJfY3JlYXRlX2NvbnRleHQgdG8gZml4IHRoZSBidWlsZCB0aGVyZS4KCjIwMTQtMDgtMjEgMTI6MzI6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgY29uc2lkZXIgdW5rbm93biBzdHJlYW0tZm9ybWF0IGFzIGF2YwoJICBJdCBzaG91bGQgdHJ5IHRvIHVzZSBieXRlc3RyZWFtIGluIHRoZXNlIGNhc2VzIHRoYXQgdGhlIGZvcm1hdAoJICBpcyBzZXQgdG8gX0ZPUk1BVF9OT05FIGFzIGl0IHNlZW1zIHRoYXQgaXMgd2hhdCB0aGUgJ2Vsc2UnIGNsYXVzZQoJICBmb3IgYnl0ZXN0cmVhbSBjYW4gaGFuZGxlIChieSBkZWZhdWx0aW5nIHRvIF9GT1JNQVRfQllURVNUUkVBTSkuCgoyMDE0LTA4LTI1IDEzOjMzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0ZXN0czogZml4IGNhcHMgZm9yIGF2YyBmb3JtYXQKCSAgSWYgaXQgaGFzIGEgY29kZWNfZGF0YSBmaWVsZCwgaXQgc2hvdWxkIGFsc28gdXNlIHRoZSBzdHJlYW0tZm9ybWF0PWF2YyBhcwoJICBjb2RlY19kYXRhIGRvZXNuJ3QgbWFrZSBzZW5zZSBvdGhlcndpc2UgYW5kIHRoZSBkZWZhdWx0IHNob3VsZAoJICBiZSBieXRlc3RyZWFtCgoyMDE0LTA4LTI1IDE1OjIxOjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkgIGRvY3M6IGFkZCBtcGVncHNtdXggYW5kIG1wZWd0c211eAoKMjAxNC0wOC0yNSAxNToyMDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSAgZG9jczogYWRkIGF1ZGlvbWl4ZXIgdG8gZG9jcwoKMjAxNC0wOC0yNSAxNToyMDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSAgZG9jczogYWRkIGFpZmYgZWxlbWVudHMgdG8gZG9jcwoKMjAxNC0wOC0yNSAxNDo1NjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBkb2NzOiBwbHVnaW5zOiBtaXNjIHVwZGF0ZXMKCjIwMTQtMDgtMjUgMTQ6NDM6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIGRvY3M6IG1vdmUgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIGRvY3MgaW50byB0aGUgbGlicmFyeSBkb2NzCgkgIE5vdyB0aGF0IHdlIGhhdmUgZG9jcyBmb3IgdGhlIGxpYnMuCgoyMDE0LTA4LTI1IDEyOjIxOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgc25kZmlsZTogZG9uJ3QgZGVjb2RlIGZvcm1hdHMgdGhhdCBhcmUgYmV0dGVyIGhhbmRsZWQgYnkgb3RoZXIgZWxlbWVudHMKCSAgSW4gcGFydGljdWxhcjogZmxhYywgb2dnLCBwY20sIGF1LCBhaWZmLCB3YXYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTYKCjIwMTQtMDgtMjIgMTY6NDk6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGVnbDogZmFsbGJhY2sgdG8gYSBub24tZGVidWcgY29udGV4dCBpZiBhIGRlYnVnIG9uZSBmYWlscwoJICBUaGUgdGV4dCBmb3IgRUdMX0tIUl9jcmVhdGVfY29udGV4dCBhZGRlZCB0aGUgcG9zc2libGl0eSBmb3IgRVMKCSAgY29udGV4dHMgdG8gYXNrIGZvciBhIGRlYnVnIGNvbnRleHQgaG93ZXZlciB0aGF0IGhhcyBub3QgYmVlbgoJICBmdWxseSByZWFsaXplZCBieSBhbGwgaW1wbGVtZW50YXRpb25zLiAgRmFsbGJhY2sgdG8gYSBub24tZGVidWcKCSAgY29udGV4dCB3aGVuIHRoZSBpbXBsZW1lbnRhdGlvbiBlcnJvcnMuCgoyMDE0LTA4LTA1IDE0OjA2OjA3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8a2FrYXJvdG9Aa2FrYXJvdG8uaG9tZWxpbnV4Lm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWRkIHN1cHBvcnQgZm9yIFJUUC9SVENQIG1peGluZyBpZiBkYXRhIGFycml2ZXMgb24gUlRDUCBwYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDMyMQoKMjAxNC0wOC0yMSAxNjoyNDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBhYm9ydCBpbiBlcnJvciBjb2RlIHBhdGggd2l0aCBuZXdlciBnbGliCgkgIERvbid0IGZvcmdldCB0byB1bmxvY2sgbXBkIGNsaWVudCBhZ2FpbiB3aGVuIGVycm9yaW5nIG91dC4KCSAgRml4ZXMgYWJvcnQgd2hlbiBnX211dGV4X2NsZWFyKCkgaXMgY2FsbGVkIG9uIGEgbG9ja2VkIG11dGV4LgoKMjAxNC0wNy0wMiAxMjo0OTo0NCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnc3RvcGVuZ2w6IGFkZCBpbnRyb3NwZWN0aW9uIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wOC0wNSAxMjowNzowOCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZXhhbXBsZXM6IGZpeCBndGsrIDMuMTQgZGVwcmVjYXRpb24gZXJyb3IKCSAgaHR0cHM6Ly9kZXZlbG9wZXIuZ25vbWUub3JnL2d0azMvMy4xMy9HdGtXaWRnZXQuaHRtbCNndGstd2lkZ2V0LXNldC1kb3VibGUtYnVmZmVyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wNy0wNyAxMDo1MjowNiArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBleHBvc2UgY29udGV4dAoJICAqIGV4cG9zZSBjb250ZXh0IGluIGRyYXcgLyByZXNoYXBlIGNhbGxiYWNrcwoJICAqIGFkZCBjb250ZXh0IHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDctMDcgMTA6NTE6MjggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXI6IGV4cG9zZSBvcGVuZ2wgaGFuZGxlIGluIGdldHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA4LTIwIDA5OjM3OjAxICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGNoZWNrIG51bGwgYmVmb3JlIHVucmVmIEdzdEdMRGlzcGxheQoKMjAxNC0wOC0yMSAxMDowMzowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2RlYnVnLmg6CgkgIGdsOiBhZGQgcHJvdG90eXBlIGRlZmluaXRpb24gZm9yIEtIUl9kZWJ1ZwoKMjAxNC0wOC0yMCAyMzoyNDoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0OiBpbXBsZW1lbnQgdGhlIGRlYnVnIGNhbGxiYWNrCgkgIEZvciBib3RoIEdMX0tIUl9kZWJ1ZyBhbmQgQVJCX2RlYnVnX291dHB1dC4gIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHJlY2VpdmUgZXJyb3JzIGFuZCBvdGhlciBoaW50cyBmcm9tIHRoZSBHTCBpbnN0ZWFkIG9mIHF1ZXJ5aW5nIGFmdGVyCgkgIGV2ZXJ5IEdMIG9wZXJhdGlvbi4KCjIwMTQtMDgtMjAgMjM6MjM6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogYWRkIHByb3RvdHlwZXMgZm9yIEtIUl9kZWJ1Zy9BUkJfZGVidWdfb3V0cHV0CgoyMDE0LTA4LTE5IDE3OjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1bnJlZiBwYWQgcmVmZXJlbmNlIHdoZW4gcmVtb3ZpbmcgaW50ZXJuYWwgc291cmNlIGluIGVycm9yCgkgIEF2b2lkcyBsZWFraW5nIHRoZSBwYWQgaW4gZXJyb3Igc2l0dWF0aW9ucwoKMjAxNC0wOC0xOSAxNjowMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVhZCBsYW5ndWFnZSBmcm9tIENvbnRlbnRDb21wb25lbnQgbm9kZSBhcyBhIGZhbGxiYWNrCgkgIElmIHRoZSBsYW5ndWFnZSBpcyBub3Qgc3BlY2lmaWVkIGluIHRoZSBBZGFwdGF0aW9uU2V0LCB1c2UgdGhlIENvbnRlbnRDb21wb25lbnQKCSAgbm9kZSB0byBnZXQgaXQuIFdlIG9ubHkgZ2V0IGl0IGlmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgQ29udGVudENvbXBvbmVudCBhcwoJICBpdCBkb2Vzbid0IHNlZW0gY2xlYXIgb24gd2hhdCB0byBkbyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZW50cmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM3CgoyMDE0LTA2LTI1IDE1OjU1OjMyICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBwdXNoIGxhbmd1YWdlIGNvZGUgdGFnCgkgIExhbmd1YWdlIGNvZGUgdGFnIGlzIHJldHJpZXZlZCBmcm9tIHRoZSBBZGFwdGF0aW9uU2V0IGxhbmd1YWdlCgkgIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjM3CgoyMDE0LTA4LTE5IDIwOjE0OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBkb24ndCB0YWtlIGFuIGV4dHJhIHJlZiBvbiB0aGUgZGlzcGxheSBvbiBzZXRfY29udGV4dAoJICBnc3RfY29udGV4dF9nZXRfZ2xfZGlzcGxheSgpIHJldHVybnMgYSByZWYuICBEb24ndCB0YWtlIGFub3RoZXIgaW4KCSAgZ3N0X29iamVjdF9yZXBsYWNlKCkuCgoyMDE0LTA4LTE5IDE3OjAxOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHVucmVmIHRoZSBHc3RHTFVwbG9hZCBpbiB0aGUgcGFkIGlmIGZyZWVkIHdoaWxlIHJ1bm5pbmcKCSAgRHluYW1pYyBwaXBlbGluZXMgdGhhdCBnZXQgYW5kIHJlbGVhc2UgdGhlIHNpbmsgcGFkcyB3aWxsIGZpbmFsaXplCgkgIHRoZSBwYWQgd2l0aG91dCBnb2luZyB0aHJvdWdoIGdzdF9nbF9taXhlcl9zdG9wKCkgd2hpY2ggaXMgd2hlcmUgdGhlCgkgIHVwbG9hZCBvYmplY3QgaXMgdXN1YWxseSBmcmVlZC4gIERvbid0IGxlYWsgb2JqZWN0cyBpbiBzdWNoIGNhc2UuCgoyMDE0LTA4LTE0IDIzOjUxOjIxIC0wNDAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBhdm9pZCBnbCByZXNvdXJjZSByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIGRpZmZlcmVudCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDgzMAoKMjAxNC0wOC0xOSAxNDo0NDoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgY2xvYmJlciB1bm5lY2Vzc2FyeSBHc3RWaWRlb0luZm8gZmllbGRzCgkgIG90aGVyd2lzZSB3ZSBtaWdodCBjbG9iYmVyIG90aGVyIGltcG9ydGFudCBmaWVsZHMgc3VjaCBhcyB0aGUgZnJhbWUgcmF0ZS4KCjIwMTQtMDgtMTkgMTQ6NDM6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGdldCB0aGUgYXR0cmlidXRlIGZyb20gdGhlIGNvcnJlY3Qgc2hhZGVyCgoyMDE0LTA4LTE5IDE0OjIzOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5yZWYgdGhlIHdpbmRvdyBvbiBuYXZpZ2F0aW9uIGV2ZW50CgkgIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDgtMTkgMDA6MDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBwYWRzIHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50CgkgIE90aGVyd2lzZSB0aGUgcGFkcyB3aWxsIGJlIHRoZXJlIGlmIGl0IGlzIHJlc3RhcnRlZCBhbmQgdGhlIHN0cmVhbQoJICBjYW4gYmUgYSBjb21wbGV0ZWx5IGRpZmZlcmVudCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQzOTQKCjIwMTQtMDgtMTcgMDE6NDI6MDUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IGgyNjQ6IFVzZSBwcm9wZXIgYml0X3JlYWRlciBhcGkgd2hpbGUgcGFyc2luZyBidWZmZXJpbmdfcGVyaW9kIFNFSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0OTcwCgoyMDE0LTA4LTE0IDEwOjE5OjEzICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSAgc2NlbmVjaGFuZ2U6IGZpeCBjcmFzaCBvbiBzdGFydHVwCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSB3YXMgdXNpbmcgdGhlIG9sZGluZm8gR3N0VmlkZW9JbmZvCgkgIGJlZm9yZSBpdCdzIGJlZW4gcG9wdWxhdGVkLCByZXN1bHRpbmcgaW4gYSBjcmFzaCByaWdodAoJICBhdCB0aGUgc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ3NjMKCjIwMTQtMDgtMTQgMTU6MjY6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IE1ha2Ugc3VyZSB0byB1bmJsb2NrIGFueSB0aHJlYWQgd2FpdGluZyBvbiB0aGUgZHJhaW4gY29uZGl0aW9uIHZhcmlhYmxlIHdoZW4gZXJyb3JzIGhhcHBlbgoKMjAxNC0wOC0xNCAxNToyNDoyMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogRml4IGRyYWluaW5nIGxvZ2ljIHRvIGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgRU9TIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczNDc3NQoKMjAxNC0wOC0xMSAyMToyNTo0MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBwYXJzaW5nIG9mIGZyZXFzIGluIHNvbWUgWkFQIGZpbGVzCgkgIENoYW5nZSBhdm9pZHMgYXR0ZW1wdGluZyB0byBjb252ZXJ0IHRvIGtIeiBpZiB1bm5lZWRlZC4KCSAgVGhlcmUgYXJlIHF1aXRlIHNvbWUgWkFQIGZvcm1hdCB2YXJpYW50cyBvdXQgdGhlcmUuIEFtb25nCgkgIHRoZWlyIHN1YnRsZSBsaXR0bGUgZGlmZmVyZW5jZXMsIHNvbWUgc3RvcmUgdHJhbnNwb25kZXIKCSAgZnJlcXVlbmNpZXMgaW4gTWh6IGFuZCBvdGhlcnMgaW4ga0h6LiBUaGUgbGF0dGVyIGJlZW4gdGhlCgkgIG1vc3QgY29tbW9uIHZhcmlhbnQuCgoyMDE0LTA4LTA3IDE5OjM3OjAxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGdldCByaWQgb2YgcmVtYWluaW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTQtMDgtMDcgMTk6MTk6MzYgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogd3JhcCBhcm91bmQga25vd24taW50ZXJydXB0aWJsZSBpb2N0bHMKCSAgQWxzbyBnZXQgcmlkIG9mIHRoZSBhc3VtcHRpb24gdGhhdCBzb21lIHJlcXVlc3RzIGxpa2UKCSAgRkVfU0VUX1RPTkUgb3IgRkVfU0VUX1ZPTFRBR0Ugb25seSBlcnJvciBvdXQgd2l0aCAtMQoKMjAxNC0wOC0wNyAxNDowMDo0MCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIGdzdF9kdmJzcmNfcmV0cnlfaW9jdGwgZm9yIHJldHJ5IG1hY3JvCgkgIExPT1BfV0hJTEVfRUlOVFIgbWFjcm8gbWFrZXMgaXQgZWFzaWVyIHRvIGhhbmRsZQoJICBhc3NvcnRlZCBpb2N0bCBhcmdwIHR5cGVzLiBGdW5jdGlvbmFsaXR5IGlzIG90aGVyd2lzZQoJICBlcXVpdmFsZW50LgoKMjAxNC0wOC0xMiAxMjozNTowMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGR2YmJhc2ViaW46IGFkZCAndHVuZScgc2lnbmFsCgkgIEl0IHdvcmtzIHRoZSBzYW1lIGFzIHRoZSAndHVuZScgcHJvcGVydHkgdGhhdCBpcyB1c2VkIG9ubHkgdG8gc2lnbmFsCgkgIHRoZSBlbGVtZW50IHRoYXQgaXQgc2hvdWxkIHR1bmUsIGJ1dCBpdCBpcyBtb3JlIG5hdHVyYWwgdG8gYmUgdXNlZAoJICBhcyBhIHNpZ25hbCByYXRoZXIgdGhhbiBhIHByb3BlcnR5LgoJICBJdCBpcyBhbHNvIHByb3hpZWQgYXQgdGhlIGR2YmJhc2ViaW4gZWxlbWVudAoKMjAxNC0wOC0wNyAxNToyNTozMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHN3aXRjaCBwbGF5bGlzdCBvbiB0cmljayBtb2RlcwoJICBJbnN0ZWFkIGFsd2F5cyB1c2UgdGhlIGxvdyBiYW5kd2l0aCBwbGF5bGlzdCBtYWtpbmcgdGhpbmdzIGdvIHNtb290aGVyCgkgIGFzIHRoZSBjdXJyZW50IGhldXJpc3RpYyBpcyByYXRoZXIgc2V0IGZvciBub3JtYWwgcGxheWJhY2ssIGFuZAoJICBjdXJyZW50bHkgaXQgZG9lcyBub3QgYmVoYXZlIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQ1CgoyMDE0LTA3LTIxIDE0OjQyOjQ3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBObyBuZWVkIHRvIGhhdmUgYSBJLUZyYW1lIGxpc3QgdG8gZG8gdHJpY2sgbW9kZXMKCSAgSXQganVzdCB3b3JrcyBjbGVhbmx5IHdpdGhvdXQgYW55IGluZGV4IGFuZCB0aGVyZSBpcyBubyByZWFsIHJlYXNvbiBmb3IKCSAgdGhhdCBsaW1pdGF0aW9uLiBBbHNvLCB0aGVyZSBhcmUgdmVyeSBmZXcgc3RyZWFtIHdpdGggdGhhdCBmZWF0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQ1CgoyMDE0LTA4LTA1IDE3OjEzOjEzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEbyBub3QgdHdlYWsgc2VnbWVudHMgb24gcmV2ZXJzZSBwbGF5YmFjawoJICBXZSBjYW4ndCBjb21wYXJlIHRoZSBmaXJzdCBidWZmZXIgc3RhcnQgYW5kIHRoZSBzZWdtZW50IHN0YXJ0IGluIHRoYXQKCSAgY2FzZS4uLiBwbGF5YmFjayBpcyBnb2luZyBiYWNrd2FyZCEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ0NQoKMjAxNC0wOC0xMyAxNjo1NzoxNSArMDIwMCAgVmFsZW50aW4gUE9OUyA8dmFseDc2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBVc2UgTlVMTCB0byBkaXNhYmxlIGV5ZXMvbm9zZS9tb3V0aAoJICBXaXRob3V0IHByaW50aW5nIGEgd2FybmluZyBhYm91dCBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NjIzCgoyMDE0LTA4LTEwIDIyOjU4OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IGZpeCBhbGxvY2F0b3IgbGVhayBpbiBzb21lIGNhc2VzCgkgIFNwb3R0ZWQgYnkgU2ViYXN0aWFuIFJhc211c3Nlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMwoKMjAxNC0wOC0xMSAxMjozMjowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBzYXZlIGEgZmV3IHJlZi91bnJlZiBwYWlycwoJICBUaGUgZXZlbnQvcXVlcnkgZnVuY3Rpb25zIGFscmVhZHkgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCwgYXZvaWQKCSAgcmVmL3VucmVmIGluIHRoZSBmdW5jdGlvbnMgaGFuZGxpbmcgY2FwcyBxdWVyaWVzIGFuZCBldmVudHMuCgoyMDE0LTA4LTExIDEyOjMxOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlbW92ZSBvYnNvbGV0ZSBmaXhtZQoKMjAxNC0wOC0xMSAxMjoyMjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBpbXByb3ZlIG5lZ290aWF0aW9uCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgb3ZlcmxheSBtZXRhLCBpZiBwb3NzaWJsZSB1c2UgaXQgYW5kCgkgIGlmIG5vdCBmYWxsYmFjayB0byBuby1vdmVybGF5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAxMjoyMToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBhbHdheXMgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBjYXBzCgkgIEF2b2lkcyByZXR1cm5pbmcgdmFsdWVzIHRoYXQgcGVlcnMgY2FuJ3QgdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMTE6MzU6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaW1wcm92ZSBuZWdvdGlhdGlvbgoJICBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIG92ZXJsYXkgbWV0YSwgaWYgcG9zc2libGUgdXNlIGl0IGFuZAoJICBpZiBub3QgZmFsbGJhY2sgdG8gbm8tb3ZlcmxheSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5MTYKCjIwMTQtMDgtMTEgMTE6MzM6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWx3YXlzIGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgaW4gZ2V0Y2FwcwoJICBBdm9pZHMgcmV0dXJuaW5nIHVuc3VwcG9ydGVkIGNhcHMgdG8gcGVlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAyMzozODo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGZpeCB1cCBkb2MgY29tbWVudCBmb3Igc2V0X3NyY19jYXBzCgkgIEl0IGRvZXMgbm90IG9jY3VyICdsYXRlcicgYW55bW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjYyCgoyMDE0LTA4LTA3IDE5OjU0OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHB1c2ggdGhlIGNhcHMgZXZlbnQgYXMgc29vbiBhcyB3ZSByZWNlaXZlIGl0CgkgIEFsb25nIHdpdGggdGhlIHJlcXVpcmVkIG1hbmRhdG9yeSBkZXBlbmRlbnQgZXZlbnRzLgoJICBTb21lIGVsZW1lbnRzIG5lZWQgdG8gcGVyZm9ybSBhbiBhbGxvY2F0aW9uIHF1ZXJ5IGluc2lkZQoJICA6Om5lZ290aWF0ZWRfY2FwcygpLiAgV2l0aG91dCB0aGUgY2FwcyBldmVudCBiZWluZyBzZW50IHByaW9yLAoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHdpbGwgYmUgdW5hYmxlIHRvIGFuc3dlciBhbmQgd2lsbCByZXR1cm4KCSAgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2NjIKCjIwMTQtMDgtMTEgMTY6MDE6MzIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93ZWJwL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9nc3R3ZWJwLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBlbmMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5oOgoJICB3ZWJlbmM6IEFkZCBXZWJQIGltYWdlIGVuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA4NwoKMjAxNC0wOC0wOSAwMToyOTozMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjZW5jOiBVbnJlZiBvdXRwdXQgY2FwcyBpbiBlcnJvciBjYXNlcwoJICBnc3RfY2Fwc19pbnRlcnNlY3QoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGEgY2FwcyBvYmplY3Qgd2hpY2ggaW4KCSAgdGhlIG5vcm1hbCBjYXNlIGlzIGNvbnN1bWVkLCBidXQgaW4gZXJyb3IgY2FzZXMgbXVzdCBiZSB1bnJlZmVyZW5jZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjEKCjIwMTQtMDgtMDggMTQ6MDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxNwoKMjAxNC0wOC0wOSAxMTo0MToxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogVW5yZWYgYnVzIGFmdGVyIHVzYWdlCgkgIGdzdF9waXBlbGluZV9nZXRfYnVzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB0byBhIGJ1cyB0aGF0IG5lZWRzIHRvCgkgIGJlIHVucmVmZXJlbmNlZCBhZnRlciB1c2FnZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyNQoKMjAxNC0wOC0wOSAxMTo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgZXhhbXBsZXMvZ2w6IHVucmVmIGJ1cyBhbmQgZWxlbWVudCBhZnRlciB1c2FnZQoJICBnc3RfcGlwZWxpbmVfZ2V0X2J1cygpIGFuZCBnc3RfYmluX2dldF9ieV9pbnRlcmZhY2UoKSBib3RoCgkgIHJldHVybiByZWZlcmVuY2VzIHRoYXQgbmVlZCB0byBiZSB1bnJlZmVyZW5jZWQgYWZ0ZXIgdXNhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjcKCjIwMTQtMDgtMTAgMTk6MTI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgZ2l0IG1hc3RlcgoKMjAxNC0wOC0xMCAxOTowNTo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJICBkb2NzOiByZW1vdmUgcnRwdnA4IHBsdWdpbiBkb2NzLCB0aGUgZWxlbWVudHMgYXJlIG5vdyBpbiAtZ29vZAoKMjAxNC0wOC0xMCAxODowNzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBvcGVuZ2w6IHVwZGF0ZSBlbGVtZW50IGRvY3MgZm9yIDEueAoKMjAxNC0wOC0xMCAxNzo0ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkgIGRvY3M6IHJlbW92ZSBlZ2xnbGVzc2luayBmcm9tIGRvY3MgYXMgaXQgbm8gbG9uZ2VyIGV4aXN0cwoKMjAxNC0wOC0wOSAxMTozNjozOCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBVbnJlZiBlbGVtZW50cyBhZnRlciB1c2FnZQoJICBnc3RfYmluX2dldF9ieV9uYW1lKCkgYW5kIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSgpIGJvdGggcmV0dXJuCgkgIHJlZmVyZW5jZXMgdG8gZWxlbWVudHMgdGhhdCBuZWVkIHRvIGJlIHVucmVmZXJlbmNlZCBhZnRlciB1c2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyNAoKMjAxNC0wOC0wOSAwMToyNzo1MyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkgIG9wZW5hbDogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMAoKMjAxNC0wOC0xMCAxMjoyOTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogZml4IHVwIGJyb2tlbiBwYXRjaCBtZXJnZQoJICBTb3JyeSwgc2hvdWxkJ3ZlIGJlZW4gY29tbWl0IC0tYW1lbmQKCjIwMTQtMDgtMDkgMTM6MjQ6MDAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSAgcHZydmlkZW9zaW5rOiBBdm9pZCBsZWFraW5nIGJ1ZmZlcnBvb2wgY29uZmlndXJhdGlvbgoJICBnc3RfYnVmZmVyX3Bvb2xfZ2V0X2NvbmZpZygpIHJldHVybnMgYSBjb3B5IHRvIHRoZSBidWZmZXJwb29sJ3MKCSAgY29uZmlndXJhdGlvbiwgd2hpY2ggbXVzdCBiZSBwYXNzZWQgdG8gZ3N0X3N0cnVjdHVyZV9mcmVlKCkgYWZ0ZXIKCSAgdXNlIGlmIG5vdCBnaXZlbiBhd2F5IHRvIGdzdF9idWZmZXJfcG9vbF9zZXRfY29uZmlnKCkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzcKCjIwMTQtMDgtMDkgMTM6MjI6NDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM2CgoyMDE0LTA4LTA5IDEzOjIwOjQxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQXZvaWQgbGVha2luZyBjYXBzIG9iamVjdCBhbmQgaXRzIGNvcHkKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuIEFsc28KCSAgdGhlIGNhcHMgYXJlIHB1c2hlZCBhcyBhbiBldmVudCBkb3duc3RyZWFtLCBidXQgdGhpcyBkb2Vzbid0IGNvbnN1bWUgdGhlCgkgIGNhcHMgc28gaXQgbXVzdCBzdGlsbCBiZSB1bnJlZmVyZW5jZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzQKCjIwMTQtMDgtMDkgMTM6MTc6MTcgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgQWxzbyByZW1vdmUgdGhlIGluY29ycmVjdCBjb21tZW50IHRvIGF2b2lkIGNvbmZ1c2lvbiBpbiB0aGUgZnV0dXJlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTMzCgoyMDE0LTA4LTA5IDEzOjEyOjE0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBjYXBzIHJlZmNvdW50aW5nCgkgIHRjYXBzIHdhcyB1bnJlZmVkIHdoZW4gaXQgc2hvdWxkbid0IGhhdmUgYmVlbiB1bnJlZmVkCgkgIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzEKCjIwMTQtMDgtMDkgMTM6MDk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI4CgoyMDE0LTA4LTA5IDExOjE3OjQ0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogVW5yZWYgYWxsb3dlZCBjYXBzIGFmdGVyIHVzYWdlCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjIKCjIwMTQtMDgtMDkgMDE6MjU6MjEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkgIGxhZHNwYTogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxOQoKMjAxNC0wOC0wOSAwMToyNToyMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE5CgoyMDE0LTA4LTA5IDAxOjIzOjUwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogVW5yZWYgcGFkIHRlbXBsYXRlIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUxOAoKMjAxNC0wOC0xMCAxMTozNTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IHJlbW92ZSBkZWZ1bmN0IHRlc3QgY29kZSBmb3Igb2xkIGNvbG9yc3BhY2UgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM4CgoyMDE0LTA4LTA5IDEzOjI3OjAwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkgIGVsZW1lbnQtbWFrZXI6IEF2b2lkIGxlYWtpbmcgY29weSBvZiBjYXBzIG9iamVjdAoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzOQoKMjAxNC0wOC0wOSAxNDoyNzozNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3N0Z3NtZW5jOiBVbnJlZiBjYXBzIG9iamVjdCBhZnRlciB1c2FnZQoJICBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfb3V0cHV0X2Zvcm1hdCgpIGRvZXMgbm90IGNvbnN1bWUgY2Fwcywgc28KCSAgdW5yZWZlcmVuY2UgdGhhdCBvYmplY3QgaW5zdGVhZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDU0NAoKMjAxNC0wOC0wOSAxNDoyNDo1OSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBJbXByb3ZlIGFubm90YXRpb24gb2YgaW50ZXJuYWwgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDU0MwoKMjAxNC0wOC0wNiAxODoxMToyMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogc3VwcG9ydCBkb3dubG9hZGluZyBzZWdtZW50cyBpbiByZXZlcnNlIG9yZGVyCgkgIFdoZW4gYSBzZWVrIHdpdGggYSBuZWdhdGl2ZSByYXRlIGlzIHJlcXVlc3RlZCwgZmluZCB0aGUgdGFyZ2V0CgkgIHNlZ21lbnQgd2hlcmUgZ3N0c2VnbWVudC5zdG9wIGJlbG9uZ3MgaW4gYW5kIHRoZW4gZG93bmxvYWQgZnJvbQoJICB0aGlzIHNlZ21lbnQgYmFja3dhcmRzIHVudGlsIHRoZSBmaXJzdCBzZWdtZW50LgoJICBUaGlzIGFsbG93cyBwcm9wZXIgcmV2ZXJzZSBwbGF5YmFjay4KCjIwMTQtMDgtMDcgMTk6MTg6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogYWRkIGEgYmFja2dyb3VuZCBwcm9wZXJ0eQoJICBUaGF0J3MgY29tcGF0aWJsZSB3aXRoIHRoZSBjb21wb3NpdG9yL3ZpZGVvbWl4ZXIgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTk1NAoKMjAxNC0wOC0wNiAxMzoyNzowNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBleHQ6ZmFhZDogU2V0IHJhbmsgdG8gU0VDT05EQVJZIGFzIHRoZSBsaWJhdiBkZWNvZGVyIGlzIGNvbmNpZGVyZWQgYmV0dGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxMzEKCjIwMTQtMDgtMDYgMTY6NDg6MDMgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIEdzdEdMV2luZG93LCBHc3RHTEltYWdlc2luaywgeDExOiBTY2FsZSBuYXZpZ2F0aW9uIGV2ZW50cyBvbiByZXNpemVkIHdpbmRvd3MKCSAgSWYgd2luZG93IGlzIHJlc2l6ZWQsIEdzdFN0cnVjdHVyZSBwb2ludGVyIHZhbHVlcyBoYXZlIHRvIGJlIHJlc2NhbGVkIHRvCgkgIG9yaWdpbmFsIGdlb21ldHJ5LiBBIGdldF9zdXJmYWNlX2RpbWVuc2lvbnMgR0xXaW5kb3cgY2xhc3MgbWV0aG9kIGlzIGFkZGVkIGZvcgoJICB0aGlzIHB1cnBvc2UgYW5kIHVzZWQgaW4gdGhlIG5hdmlnYXRpb24gc2VuZF9ldmVudCBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzQ4NgoKMjAxNC0wOC0wNiAwODoxNTozOCAtMDQwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZG9uJ3QgZGV0ZXJtaW5lIGlmIGZyYW1lIG5lZWRzIHVwbG9hZCBieSBwb2ludGVyIGNvbXBhcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2OQoKMjAxNC0wOC0wNSAxMTo0NTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFN0b3JlIFBDUiB0aW1lL2J5dGUgb2Zmc2V0cyBpbiA2NCBiaXQgaW50ZWdlcnMKCSAgMzIgYml0IGludGVnZXJzIGFyZSBnb2luZyB0byBvdmVyZmxvdywgZXNwZWNpYWxseSB0aGUgUENSIG9mZnNldCB0bwoJICB0aGUgZmlyc3QgUENSIHdpbGwgb3ZlcmZsb3cgYWZ0ZXIgYWJvdXQgMTU5IHNlY29uZHMuIFRoaXMgbWFrZXMgcGxheWJhY2sKCSAgb2Ygc3RyZWFtcyBzdG9wIGF0IDE1OSBzZWNvbmRzIGFzIHN1ZGRlbmx5IHRoZSB0aW1lc3RhbXBzIGFyZSBzdGFydGluZwoJICBhZ2FpbiBmcm9tIDAuIE5vdyB3ZSBoYXZlIGEgZmV3IG1vcmUgeWVhcnMgdGltZSB1bnRpbCBpdCBoYXBwZW5zIGFnYWluCgkgIGFuZCA2NCBiaXRzIGFyZSB0b28gc21hbGwuCgoyMDE0LTA4LTA1IDEwOjQyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmV2ZXJ0ICJtcGVndHNwYWNrZXRpemVyOiBDb252ZXJ0IFBDUiB0aW1lcyB0byBHU3RyZWFtZXIgdGltZXMgYmVmb3JlIGNvbXBhcmluZyB0aGVtIGFnYWluc3QgNTAwICogR1NUX01TRUNPTkQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOWYxODZjNmFiMzJjMWU5NDk5MTZkMzg1MTg2YjJkNDAwMTkwYWRkNi4KCSAgVGhhdCBjb21taXQgd2FzIGFjdHVhbGx5IGNvbXBsZXRlbHkgd3JvbmcsIG5ldmVybWluZC4KCjIwMTQtMDgtMDUgMTA6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDb252ZXJ0IFBDUiB0aW1lcyB0byBHU3RyZWFtZXIgdGltZXMgYmVmb3JlIGNvbXBhcmluZyB0aGVtIGFnYWluc3QgNTAwICogR1NUX01TRUNPTkQKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgYmVsaWV2ZSB0byBkZXRlY3QgUENSIGdhcHMgYWxyZWFkeSB3aGVuIHRoZXJlJ3MgYSB2ZXJ5IHNtYWxsCgkgIGdhcCBvZiBhIGZldyBtaWxsaXNlY29uZHMsIGJyZWFraW5nIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMuCgoyMDE0LTA3LTMxIDE3OjQwOjMwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IHJlbW92ZSBzcmNwYWQgbGVmdG92ZXIKCSAgVGhlIGVsZW1lbnQgaXMgaW5oZXJpdGluZyBpdHMgc3JjcGFkIGZyb20gYmFzZXNyYwoKMjAxNC0wOC0wMSAxODowMjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEluaXRpYWxpemUgcGl4ZWwgZm9ybWF0IHRvIGJtZEZvcm1hdDhCaXRZVVYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTg3MQoKMjAxNC0wOC0wMSAxNjo0MDo0OSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnNfaDI2NDogaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBvZiBwaWNfdGltaW5nIHN0cnVjdHVyZQoJICBPdGhlcndpc2UgcGljIHRpbWluZyBzdHJ1Y3R1cmUgY2FuIGhhdmUgaW52YWxpZCBjcGJfcmVtb3ZhbF9kZWxheSwKCSAgZHBiX291dHB1dF9kZWxheSBvciBwaWNfc3RydWN0X3ByZXNlbnRfZmxhZyB3aGljaCBhcmUgYmxpbmRseSByZXRyaWV2ZWQKCSAgaW4gaDI2NHBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MTI0CgoyMDE0LTA4LTAxIDE2OjU4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogQ2F0Y2ggZXJyb3JzIGR1cmluZyBkYXRhIGZsb3cgYW5kIGVycm9yIG91dCBwcm9wZXJseQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBqdXN0IGRlYWRsb2NrIHRoZSB0aHJlYWQgaWYgZS5nLiBzY2hlZHVsaW5nIGEgdmlkZW8KCSAgZnJhbWUgZmFpbHMgZm9yIHdoYXRldmVyIHJlYXNvbi4KCjIwMTQtMDctMzEgMjA6NTI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJldHVybiB0aGUgZXJyb3IgdG8gdGhlIHNvdXJjZSBpbW1lZGlhdGVseSB0byBzdG9wIGZhc3RlcgoJICBXaGVuIGZsdXNoaW5nLCB0aGlzIHdpbGwgcHJldmVudCBkYXNoZGVtdXggZnJvbSB0cnlpbmcgdG8gZG93bmxvYWQgbW9yZQoJICBmcmFnbWVudHMgb3IgbW9yZSBjaHVua3Mgb2YgdGhlIHNhbWUgZnJhZ21lbnQgYmVmb3JlIHN0b3BwaW5nLgoJICBBbHNvIGltcHJvdmVzIHRoZSBlcnJvciBoYW5kbGluZyB0byBub3QgdHJhbnNmb3JtIGV2ZXJ5dGhpbmcgbm9uLW9rIGludG8KCSAgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQwMTQKCjIwMTQtMDctMjkgMDI6MTE6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGF2b2lkIHRpbWVzdGFtcCBvdmVyZmxvd3MKCSAgQ2F1c2UgdGltaW5nIHRvIGJyZWFrIGluIHRoZSBwaXBlbGluZSB0aGF0IGNhbiBsZWFkIHRvIGEgc3RhbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzgzNwoKMjAxNC0wOC0wMSAxMzoxNDowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFJlbW92ZSBmaWxlcyBubyBsb25nZXIgcHJlc2VudAoJICBUaGV5IHdlcmUgcmVtb3ZlZCB3aGVuIHNuZGZpbGUgd2FzIHBvcnRlZCB0byAxLngKCjIwMTQtMDgtMDEgMTI6Mzg6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogNTkuOTRmcHMgaXMgNjAwMDAvMTAwMSwgbm90IDMwMDAwLzEwMDEKCSAgQW5kIGFsc28gY2hhbmdlIDMwLzEgdG8gNjAvMSBmb3Igb25lIDYwZnBzIG1vZGUuCgoyMDE0LTA4LTAxIDE3OjUxOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZG9jczogcmVtb3ZlIHN1cGVyZmxvdXMgJ3RoZScKCjIwMTQtMDgtMDEgMTY6NDE6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGRvY3VtZW50IEdTVF9HTF8qIGVudmlyb25tZW50IHZhcmlhYmxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjQ1CgoyMDE0LTA4LTAxIDEwOjAxOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGZvciBBUEkgY2hhbmdlcwoKMjAxNC0wNy0zMSAxODo1NTozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBNYWtlZmlsZTogQWRkIHVzYWdlIG9mIGJ1aWxkLWNoZWNrcyBzdGVwCgkgIEFsbG93cyBidWlsZGluZyBjaGVja3Mgd2l0aG91dCBydW5uaW5nIHRoZW0KCjIwMTQtMDctMzEgMTg6NDY6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGEgZGVzdHJveSBmdW5jdGlvbgoJICB0aGF0IGp1c3QgY2FsbHMgdGhlIHN1YmNsYXNzCgoyMDE0LTA3LTMxIDE4OjM2OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogc2lsZW5jZSBydW50aW1lIHdhcm5pbmcKCSAgZ19tYWluX2xvb3BfcXVpdDogYXNzZXJ0aW9uICdsb29wICE9IE5VTEwnIGZhaWxlZAoKMjAxNC0wNy0zMSAxNToxODowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVzZSB0aGUgcGxhbmUgb2Zmc2V0cyB0byBjb21wdXRlIHRoZSBzaXplIG9mIHRoZSBkYXRhIHBvaW50ZXIKCSAgQ2VydGFpbiBlbGVtZW50cyBleHBlY3QgdGhhdCB0aGVyZSBiZSBhIGNlcnRhaW4gbnVtYmVyIG9mIGxpbmVzCgkgIHRoYXQgdGhleSBjYW4gd3JpdGUgaW50by4gIGUuZy4gZm9yIG9kZCBoZWlnaHRzLCBJNDIwLCBZVjEyLCBOVjEyLAoJICBOVjIxIChhbmQgb3RoZXJzKSBZIGxpbmVzIGFyZSBleHBlY3RlZCB0byBoYXZlIGV4YWN0bHkgdHdpY2UgdGhlCgkgIG51bWJlciBvZiBVL1VWIGxpbmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzE3CgoyMDE0LTA3LTMxIDE0OjA3OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsbWVtb3J5OiB1c2UgR3N0VmlkZW9JbmZvIGV2ZXJ5d2hlcmUKCSAgU2ltcGxpZmllcyBhIGxvdCBvZiB0aGUgY2FsbGluZyBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3MTcKCjIwMTQtMDctMzAgMTY6MzI6MDEgLTAzMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlYmx1cjogZmFjZWRldGVjdDogYWRkIHByb3BlcnRpZXMgdG8gZmFjZWJsdXIKCSAgTWFrZXMgZmFjZWJsdXIgaGF2ZSB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIGZhY2VkZXRlY3QuIEFsc28gaW1wcm92ZXMKCSAgdGhlIHN0YW5kYXJkIGRlZmF1bHRzIGFuZCBtYWtlcyB0aGVtIHRoZSBzYW1lIGluIHRoZSAyIGVsZW1lbnRzCgoyMDE0LTA3LTMwIDE2OjMwOjM5IC0wMzAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiBwb3N0IG1lc3NhZ2Ugd2hlbiBwcm9maWxlIGxvYWRpbmcgZmFpbHMKCjIwMTQtMDctMzAgMTY6MDc6MTcgLTAzMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBmYWNlYmx1cjogdXBkYXRlIGxhdW5jaCBsaW5lIGV4YW1wbGVzCgkgIFJlZmxlY3QgMS4wIGFuZCBtb3JlIHVzZWZ1bCBleGFtcGxlcwoKMjAxNC0wNy0yOSAxMzoyNToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGtlZXAgdGhlIHVwbG9hZGVkIGJ1ZmZlciBhcm91bmQgb24gc3VjY2Vzc2Z1bCByZWRpc3BsYXkKCSAgV2UgbWlnaHQgbmVlZCBpdCBsYXRlciB0byBwZXJmb3JtIGEgcmVkaXNwbGF5LiAgR3N0R0xVcGxvYWQgd2lsbCB0YWtlCgkgIG9mIHJlbGVhc2luZyB0aGUgcHJldmlvdXMgYnVmZmVyIHdoZW4gaXQgcmVjZWl2ZXMgYSBuZXcgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNzI2CgoyMDE0LTA3LTI5IDExOjQ3OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlZW5hYmxlIHRoZSB0ZXh0dXJlX3JnIHN1cHBvcnQgZm9yICFlYWdsCgkgIFRoZSBHU1RfR0xfSEFWRV9QTEFURk9STV9FQUdMIGlzIGFsd2F5cyBkZWZpbmVkIHdlIG5lZWQgdG8gY29tcGFyZQoJICBhZ2FpbnN0IHRoZSB2YWx1ZSBpbnN0ZWFkLgoKMjAxNC0wNy0yOCAxOToxMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICB0ZXN0czogZ2l0aWdub3JlOiB1cGRhdGUgd2l0aCBuZXcgdGVzdHMKCjIwMTQtMDctMjggMTY6NTU6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2ZpbGVzL2JsdWUtc3F1YXJlLnBuZzoKCSAgdGVzdHM6IGZpbGVzOiBhZGRzIG1pc3NpbmcgZmlsZSBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgdGVtcGxhdGVtYXRjaCB0ZXN0IHRvIHdvcmsKCjIwMTQtMDctMjggMTU6NDU6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdGVtcGxhdGVtYXRjaDogYWRkIHRlc3QgdG8gY2hlY2sgdGhhdCB3ZSB1c2UgdGhlIGNvcnJlY3QgcmdiIGZvcm1hdAoJICB0ZW1wbGF0ZW1hdGNoIHNob3VsZCB1c2UgdGhlIHNhbWUgUkdCIGZvcm1hdCB0aGF0IG9wZW5jdiB1c2VzIChCR1IpLCBtYWtlIHN1cmUKCSAgd2Uga2VlcCBpdCB0aGF0IHdheSB3aXRoIHRoaXMgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODQ4NQoKMjAxMi0wNi0xNSAxMzoxOTowNiArMDEwMCAgRGF2aWQgUm90aGxpc2JlcmdlciA8ZGF2aWQucm90aGxpc2JlcmdlckB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3YgdGVtcGxhdGVtYXRjaDogU2V0IGNhcHMgdG8gQkdSIG9yZGVyCgkgIHRlbXBsYXRlbWF0Y2ggb3BlcmF0ZXMgb24gQkdSIGRhdGEuIEluIGZhY3QsIE9wZW5DVidzIElwbEltYWdlIGFsd2F5cwoJICBzdG9yZXMgY29sb3IgaW1hZ2UgZGF0YSBpbiBCR1Igb3JkZXIgLS0gdGhpcyBpc24ndCBkb2N1bWVudGVkIGF0IGFsbCBpbgoJICB0aGUgT3BlbkNWIHNvdXJjZSBjb2RlLCBidXQgdGhlcmUgYXJlIGhpbnRzIGFyb3VuZCB0aGUgd2ViIChzZWUgZm9yCgkgIGV4YW1wbGUKCSAgaHR0cDovL3d3dy5jcy5paXQuZWR1L35hZ2FtL2NzNTEyL2xlY3Qtbm90ZXMvb3BlbmN2LWludHJvL29wZW5jdi1pbnRyby5odG1sI1NFQ1RJT04wMDA0MTAwMDAwMDAwMDAwMDAwMAoJICBhbmQgaHR0cDovL3d3dy5jb21wLmxlZWRzLmFjLnVrL3Zpc2lvbi9vcGVuY3YvaXBsaW1hZ2UuaHRtbCApLgoJICBnc3RfdGVtcGxhdGVtYXRjaF9sb2FkX3RlbXBsYXRlIGxvYWRzIHRoZSB0ZW1wbGF0ZSAodGhlIGltYWdlIHRvIGZpbmQpCgkgIGZyb20gZGlzayB1c2luZyBPcGVuQ1YncyBjdkxvYWRJbWFnZSwgc28gaXQgaXMgc3RvcmVkIGluIGFuIElwbEltYWdlIGluCgkgIEJHUiBvcmRlci4gQnV0IGluIGdzdF90ZW1wbGF0ZW1hdGNoX2NoYWluLCBubyBPcGVuQ1YgY29udmVyc2lvbgoJICBmdW5jdGlvbnMgYXJlIHVzZWQ6IHRoZSBpbWFnZURhdGEgcG9pbnRlciBvZiB0aGUgSXBsSW1hZ2UgZm9yIHRoZSB2aWRlbwoJICBmcmFtZSAodGhlIGltYWdlIHRvIHNlYXJjaCBpbikgaXMganVzdCBzZXQgdG8gcG9pbnQgdG8gdGhlIHJhdyBidWZmZXIKCSAgZGF0YS4gV2l0aG91dCB0aGlzIGZpeCwgdGhhdCByYXcgZGF0YSBpcyBpbiBSR0Igb3JkZXIsIHNvIHRoZSBjYWxsIHRvCgkgIGN2TWF0Y2hUZW1wbGF0ZSBlbmRzIHVwIGNvbXBhcmluZyB0aGUgdGVtcGxhdGUncyBCbHVlIGNoYW5uZWwgYWdhaW5zdAoJICB0aGUgZnJhbWUncyBSZWQgY2hhbm5lbCwgcHJvZHVjaW5nIHZlcnkgcG9vciByZXN1bHRzLgoKMjAxNC0wNy0yOCAxMzoxMDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IG1hcmsgcGFkcyBhcyBwcm94eSBjYXBzCgkgIEFsbG93cyBuZWdvdGlhdGlvbiB0byBoYXBwZW4gcHJvcGVybHkKCjIwMTItMDYtMjUgMjA6Mzc6MDEgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBQcm9kdWNlIGEgd2FybmluZyBtZXNzYWdlIGlmIHdlIGNhbid0IGxvYWQgYSB0ZW1wbGF0ZSBpbWFnZQoKMjAxMi0wNi0yMCAxNToyMjo1MiArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IE1hdGNoIHJlY3RhbmdsZSBncm93cyByZWRkZXIgd2l0aCBpbmNyZWFzZWQgbWF0Y2ggY2VydGFpbnR5CgkgIFRoaXMgaXMgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgeW91ciBtYXRjaGVzIGFzIGl0IGluZGljYXRlcyBob3cgY2VydGFpbiB0aGUKCSAgbWF0Y2ggd2FzIGluIGFkZGl0aW9uIHRvIGl0cyBwb3NpdGlvbi4KCjIwMTItMDYtMjAgMTU6MDU6NDAgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkgIHRlbXBsYXRlbWF0Y2g6IEFsbG93IGNoYW5naW5nIHRlbXBsYXRlIHByb3BlcnR5IG9uIHRoZSBmbHkKCSAgUHJldmlvdXNseSBjaGFuZ2luZyB0aGUgdGVtcGxhdGUgcHJvcGVydHkgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0aW9uCgkgIHRocm93biBmcm9tIGN2TWF0Y2hUZW1wbGF0ZSwgYmVjYXVzZSAiZGlzdF9pbWFnZSIgKHRoZSBpbnRlcm1lZGlhdGUKCSAgbWF0Y2gtY2VydGFpbnR5LWRpc3RyaWJ1dGlvbikgd2FzIHRoZSB3cm9uZyBzaXplIChiZWNhdXNlIHRoZQoJICB0ZW1wbGF0ZSBpbWFnZSBzaXplIGhhZCBjaGFuZ2VkKS4KCSAgTG9ja2luZyBoYXMgYWxzbyBiZWVuIGFkZGVkIHRvIGFsbG93IGNoYW5naW5nIHRoZSBwcm9wZXJ0aWVzIChlLmcuIHRoZQoJICBwYXR0ZXJuIHRvIG1hdGNoKSB3aGlsZSB0aGUgcGlwZWxpbmUgaXMgcGxheWluZy4KCSAgKiBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgaXMgbW92ZWQgb3V0c2lkZSBvZiB0aGUgbG9jaywgYmVjYXVzZSBpdCB3aWxsCgkgIGNhbGwgaW50byBhcmJpdHJhcnkgdXNlciBjb2RlIChvdGhlcndpc2UsIGlmIHRoYXQgdXNlciBjb2RlIGNhbGxzIGludG8KCSAgZ3N0X3RlbXBsYXRlbWF0Y2hfc2V0X3Byb3BlcnR5IG9uIHRoaXMgc2FtZSB0aHJlYWQgaXQgd291bGQgZGVhZGxvY2spLgoJICAqIGdzdF90ZW1wbGF0ZV9tYXRjaF9sb2FkX3RlbXBsYXRlOiBJZiB3ZSBmYWlsIHRvIGxvYWQgdGhlIG5ldyB0ZW1wbGF0ZQoJICB3ZSBzdGlsbCB1bmxvYWQgdGhlIHByZXZpb3VzIHRlbXBsYXRlLCBzbyB0aGlzIGVsZW1lbnQgYmVjb21lcyBhIG5vLW9wCgkgIGluIHRoZSBwaXBlbGluZS4gVGhlIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIGtlZXAgdGhlIHByZXZpb3VzIHRlbXBsYXRlOwoJICBJIGJlbGlldmUgdW5sb2FkaW5nIHRoZSBwcmV2aW91cyB0ZW1wbGF0ZSBpcyBhIGJldHRlciBjaG9pY2UsIGJlY2F1c2UgaXQKCSAgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBzdGF0ZSB0aGlzIGVsZW1lbnQgd291bGQgYmUgaW4gaWYgaXQgZmFpbHMgdG8KCSAgbG9hZCB0aGUgdmVyeSBmaXJzdCB0ZW1wbGF0ZSBhdCBzdGFydC11cC4KCSAgVGhhbmtzIHRvIFdpbGwgTWFubGV5IGZvciB0aGUgYnVsayBvZiB0aGlzIHdvcms7IGFueSBlcnJvcnMgYXJlIHByb2JhYmx5CgkgIG1pbmUuCgoyMDEyLTA2LTAxIDE2OjA3OjM0ICswMTAwICBEYXZpZCBSb3RobGlzYmVyZ2VyIDxkYXZpZC5yb3RobGlzYmVyZ2VyQHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFBhc3MgdmlkZW8gdGhyb3VnaCB3aGVuIG5vdGhpbmcgdG8gbWF0Y2ggYWdhaW5zdAoJICBUaGUgZWFybHkgcmV0dXJuIHdhcyBieXBhc3NpbmcgdGhlIGNhbGwgdG8gZ3N0X3BhZF9wdXNoLiBXaXRoIG5vCgkgIGZpbHRlci0+dGVtcGxhdGUgKGFuZCB0aHVzIG5vIGZpbHRlci0+Y3ZUZW1wbGF0ZUltYWdlKSB0aGUgcmVzdCBvZiB0aGlzCgkgIGZ1bmN0aW9uIGlzIGVzc2VudGlhbGx5IGEgbm8tb3AgKGV4Y2VwdCBmb3IgdGhlIGNhbGwgdG8gZ3N0X3BhZF9wdXNoKS4KCSAgVGhpcyAocGx1cyB0aGUgcHJldmlvdXMgY29tbWl0KSBhbGxvd3MgdGVtcGxhdGVtYXRjaCB0byBiZQoJICBlbmFibGVkL2Rpc2FibGVkIHdpdGhvdXQgcmVtb3ZpbmcgaXQgZW50aXJlbHkgZnJvbSB0aGUgcGlwZWxpbmUsIGJ5CgkgIHNldHRpbmcvdW5zZXR0aW5nIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eS4KCjIwMTItMDYtMjAgMTU6MDU6MDYgKzAxMDAgIFdpbGxpYW0gTWFubGV5IDx3aWxsaWFtLm1hbmxleUB5b3V2aWV3LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBSZW1vdmUgbm8tb3AgY2FsbCB0byBnc3RfdGVtcGxhdGVtYXRjaF9sb2FkX3RlbXBsYXRlCgkgIFdlIGhhdmUganVzdCBzZXQgZmlsdGVyLT50ZW1wbGF0ZSB0byBOVUxMLCBzbwoJICBnc3RfdGVtcGxhdGVtYXRjaF9sb2FkX3RlbXBsYXRlIGRpZCBub3RoaW5nLgoKMjAxNC0wNy0wOCAxOToxODo0OCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGNsYXJpZnkgdW5pdHMgZm9yIGZyZXEgYW5kIHN5bWJvbC1yYXRlCgoyMDE0LTA3LTA3IDE4OjUyOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFkZCBwcmVsaW1pbmFyeSAgc3VwcG9ydCBmb3IgSVNEQi1UL1RiCgkgIElTREItVCBhbmQgSVNEQi1UYiAodGhlIEJyYXppbGlhbiB2YXJpYW50KSBhcmUgdGhlCgkgIHRlcnJlc3RpYWwgRFRWIHN0YW5kYXJkcyB1c2VkIGJ5IEphcGFuLCBQaGlsaXBwaW5lcywKCSAgTWFsZGl2ZXMsIFRoYWlsYW5kLCBtb3N0IFNvdXRoIEFtZXJpY2FuIGNvdW50cmllcwoJICBhbmQgQm90c3dhbmEuIENoYW5nZXNldCBhZGRzIHRoZSBzZXQgb2YgcHJldmlvdXNseQoJICBtaXNzaW5nIChhbmQgcmVxdWlyZWQpIElTREItVCBwYXJhbWV0ZXJzLCBhZGFwdGVyCgkgIGFuZCBmcm9udGVuZCBzZXR1cCBsb2dpYyBhbmQgcHJveGllcyB0aGUgbmV3CgkgIHByb3BlcnRpZXMgb24gZHZiYmFzZWJpbi4KCSAgVGVzdGVkIHRvIHdvcmsgd2l0aCB0aGUgbGl2ZSBhZXJpYWwgYnJvYWRjYXN0IGJ5CgkgIFR2IFBhcmHDrWJhIEhEIGluIENhbXBpbmEgR3JhbmRlIChCcmF6aWwpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyODc1CgoyMDE0LTA3LTA1IDAzOjA4OjAwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IG1ha2Ugc2xvZi9sb2YxL2xvZjIgc2V0dGFibGUgcHJvcGVydGllcwoJICBBbGxvd3MgcHJvcGVyIHR1bmluZyBhcm91bmQgaGlnaC9sb3cgYmFuZCBib3VuZGFyaWVzIHdoZW4gdXNpbmcKCSAgbm9uICJzdGFuZGFyZCIgTE5Ccy4KCSAgTm90IGFsbCBMTkJzIChMb3cgbm9pc2UgYmxvY2sgZG93biBjb252ZXJ0ZXJzKSBhcmUgbWFkZSBlcXVhbC4KCSAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgdHJ1ZSBmb3IgdW5pdmVyc2FsIExOQkZzLCB3aGVyZSwgZXZlbiB0aG91Z2gKCSAgdGhlcmUgYXJlIHNlZW1pbmdseSBzdGFuZGFyZCB2YWx1ZXMgZm9yIHRoZSBsb2NhbCBvc2NpbGxhdG9yCgkgIGZyZXF1ZW5jaWVzLCB0aGVzZSBjYW4gdmFyeSBmcm9tIG1hbnVmYWN0dXJlciB0byBtYW51ZmFjdHVyZXIKCSAgYW5kIExOQiBtb2RlbC4gQ2hhbmdlIGFsc28gcHJveGllcyB0aGUgbmV3IExOQiBwcm9wZXJ0aWVzIGluCgkgIGR2YmJhc2ViaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4MTgKCjIwMTQtMDctMjcgMTM6MjY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBzaWxlbmNlIGdzaWduYWwgd2FybmluZwoJICBpbnN0YW5jZSAnMHhibGFoJyBoYXMgbm8gaGFuZGxlciB3aXRoIGlkICcxMycKCjIwMTQtMDctMjYgMTM6Mjc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZG8gbm90IGdpdmUgcmVmZXJlbmNlcyB0byBwcm9iZXMKCSAgVGhleSBhcmUga2VwdCB1bnRpbCB0aGUgcHJvYmVzIGFyZSByZW1vdmVkIGJ1dCB0aGV5IHdpbGwgbmV2ZXIgYmUKCSAgcmVtb3ZlZCBhcyB0aGUgcmVmY291bnQgb2YgdGhlIGVsZW1lbnQgd29uJ3QgZ2V0IHRvIDAgYmVjYXVzZSB0aGUKCSAgcHJvYmVzIG93biByZWZlcmVuY2VzIChjeWNsaWMgcmVmcykuIEFzIHRoZSBwcm9iZXMgc2hvdWxkIG9ubHkgYmUKCSAgcnVubmluZyBhcyBsb25nIGFzIHRoZSBlbGVtZW50IGlzIHJ1bm5pbmcgdGhlcmUgaXMgbm8gbmVlZCB0bwoJICBzZWN1cmUgYSByZWYgZm9yIHRoZW0uCgkgIFJlbW92ZXMgMyBsZWFrZWQgcmVmcyBvZiB3cmFwcGVyY2FtZXJhYmluc3JjCgoyMDE0LTA3LTI2IDEyOjQ2OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXNlIGdzdF9vYmplY3RfcmVmIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHRyYWNrIHJlZnMKCSAgSGVscHMgZGVidWdnaW5nCgoyMDE0LTA3LTI2IDEyOjM4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHVucmVmIHJlcXVlc3QgcGFkcwoJICBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIG91dHB1dC1zZWxlY3RvciByZXF1ZXN0ZWQgcGFkcwoKMjAxNC0wNC0yMSAyMzowNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkgIGpwZWdwYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM1NgoKMjAxNC0wNy0yNCAxMjoyNTozNiArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3cvMTE6IEVtaXQgc2lnbmFscyBmb3IgbW91c2UgYW5kIGtleSBuYXZpZ2F0aW9uIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA3LTI0IDEyOjIzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogQ29uc3RpZnkgc3RyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHNlbmRfKl9ldmVudCgpIGZ1bmN0aW9ucwoKMjAxNC0wNy0yNCAxMzowNTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSBleHRyYSBhcmd1bWVudCBmcm9tIGRlYnVnIGNhbGwKCjIwMTQtMDctMDcgMDA6MjA6MDEgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IEFkZCBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgY2FsbGJhY2tzIGZvciBHc3RHTFdpbmRvdyBtb3VzZS9rZXkgc2lnbmFscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA3LTA2IDIzOjM5OjQ3ICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIEdzdEdMV2luZG93IDogQWRkIG1vdXNlLWV2ZW50IGFuZCBrZXktZXZlbnQgc2lnbmFscyBmb3IgbmF2aWdhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA3LTIzIDEwOjI1OjMxICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsOiBmaXggbXVsdGkgZ2wgb2JqZWN0IGxlYWtzCgkgIDEuIGZpeCBGQk8gbGVha3MgaW4gZGVjaWRlX2FsbG9jYXRpb24KCSAgMi4gZml4IHRleHR1cmUgbGVha3MgaW4gZGVjaWRlX2FsbG9jYXRpb24gYW5kIHJlc2V0CgkgIDMuIGZpeCB0ZXh0dXJlIGxlYWtzIGluIEZCTyBpbmNvbXBsZXRlIGVycm9yIHBhdGgKCjIwMTQtMDctMjMgMTM6NTU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IG9ubHkgZmx1c2ggYnVmZmVycyBpZiByZW5lZ290aWF0aW9uIGlzIG5lZWRlZAoJICBUaGlzIGF2b2lkIGV4dHJhIG92ZXJoZWFkIHdoZW4gdGFraW5nIHNlcXVlbnRpYWwgcGljdHVyZXMgdGhhdCB3b3VkbG4ndAoJICBuZWVkIHJlbmVnb3RpYXRpb24KCjIwMTQtMDctMjMgMTM6Mzc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBoYW5kbGUgRU9TIG9uIHRoZSBwaXBlbGluZQoJICBNYWtlIGNhbWVyYWJpbiBoYW5kbGUgRU9TIHRvIHRoZSBwaXBlbGluZSB0byBhbGxvdyBzdGFuZGFyZCBwaXBlbGluZQoJICBjbG9zZSB3aGVyZSBhbiBFT1MgaXMgc2VudCB0byB0aGUgd2hvbGUgcGlwZWxpbmUgYmVmb3JlIHNldHRpbmcgaXQgdG8gTlVMTC4KCjIwMTQtMDctMjEgMTg6MjI6MTggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvIG5vdCBzY2FuIGZvciBrZXlmcmFtZSB3aGVuIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ5MAoKMjAxNC0wNy0yMSAxODoyMTo0MSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG8gbm90IHNjYW4gZm9yIGEga2V5ZnJhbWUgaW4gbm9uLWFjY3VyYXRlIG1vZGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0OTAKCjIwMTQtMDctMDEgMTA6MjQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiByZW1vdmUgb2Jzb2xldGUgY29kZQoJICBCdWZmZXJzIGhhdmUgbm8gY2FwcyBpbiAxLjAKCjIwMTQtMDctMDEgMTA6MDc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcHBheTogcHV0IGFsbCBzdGlja3kgZXZlbnRzIGluIHN0cmVhbWhlYWRlcgoJICBVc2UgdGhlIHN0aWNreSBldmVudHMgdG8gY29tcG9zZSB0aGUgc3RyZWFtaGVhZGVyIGFzIHRoZXkgYXJlIHRoZQoJICBvbmVzIHRoYXQgYXJlIHBlcnNpc3RlZCB0byBjb25maWcgbmV3IHBhZHMgbGlua2VkLiBJbnN0ZWFkIG9mIHN0b3JpbmcKCSAgdGhlbSBvdXJzZWx2ZXMgcmVseSBvbiB0aGUgcGFkIHN0b3JhZ2UgdGhhdCBhbHJlYWR5IG9yZGVycyBpdCBmb3IgdXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU5NgoKMjAxNC0wNy0yMSAyMTowMzoyNiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogaW1wcm92ZSBlbnVtIEdzdEZhY2VEZXRlY3RVcGRhdGVzIGRlc2NyaXB0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTA5CgoyMDE0LTA1LTIxIDEyOjU5OjU3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBtYWtlIHVwZGF0ZXMgb25fY2hhbmdlIHdvcmtzIGFzIGV4cGVjdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MDkKCjIwMTQtMDctMjIgMTI6NDI6MzYgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tZW5jOiBQb3J0IFBOTSBFbmNvZGVyIHRvIHVzZSBHc3RWaWRlb0VuY29kZXIgQ2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTk0MwoKMjAxNC0wNi0xOCAxMTo0NDo1NCArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubWRlYzogUGF0Y2ggdG8gaGFuZGxlIG1heCB2YWx1ZQoJICBDb252ZXJ0IHRoZSBpbWFnZSB2YWx1ZXMgZnJvbSAwLW1heHZhbHVlIHRvIDAtMjU1IHdoZW4KCSAgJ2RlY29kaW5nJyB0aGUgcG5tIGltYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NzMKCjIwMTQtMDctMTUgMTY6NDI6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlZGVjOiBoYW5kbGUgc2VnbWVudCBldmVudCBlYXJsaWVyCgkgIERlbGF5aW5nIHRoZSBzZWdtZW50IGV2ZW50IHRvIHdoZW4gY2FwcyBhcmUgZGVjaWRlZCBjYW4gY2F1c2UgaXNzdWVzIGFzCgkgIHRoZSBmaXJzdCB0aGluZyBrYXRlZGVjIGRvZXMgb24gaXRzIGNoYWluIGZ1bmN0aW9uIGl0IGRvaW5nIGEgc2VnbWVudCBjbGlwLgoJICBJdCB3aWxsIGxlYWQgdG8gYW4gYXNzZXJ0aW9uIGlmIHRoZSBzZWdtZW50IGZvcm1hdCBpcyB1bmRlZmluZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIyNgoKMjAxNC0wNy0xNSAxNjo0MTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGhhbmRsZSBzdHJlYW1oZWFkZXJzIGluIGNhcHMKCSAgUHJvcGVybHkgaGFuZGxlIHRoZSBjYXBzIGV2ZW50IGJ5IGNvbmZpZ3VyaW5nIHRoZSBrYXRlIGRlY29kaW5nIGxpYiB1c2luZyB0aGUKCSAgYXZhaWxhYmxlIHN0cmVhbWhlYWRlcnMuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZGVjb2RlIGthdGUgc3VidGl0bGVzIHdoZW4KCSAgdGhlIHN0cmVhbSBpcyBzZWVrZWQgYmVmb3JlIGthdGVkZWMgZ2V0cyB0aGUgaW5pdGlhbCBidWZmZXJzIHRoYXQgYXJlIHVzdWFsbHkKCSAgdGhlIHN0cmVhbWhlYWRlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyMjYKCjIwMTQtMDctMjEgMTc6MzQ6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5qcGVnOiBEb24ndCByZW1lbWJlciAtbG9wZW5qcDIgYXMgbGlicyB3aGVuIGZhbGxpbmcgYmFjayB0byBvcGVuanBlZzEKCjIwMTQtMDctMjEgMTE6MDc6MjggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbDogUmVvcmRlciBDRkxBR1MgdG8gaW5jbHVkZSBpbi1zb3VyY2UgZGlycyBmaXJzdCBpbiBleGFtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDI2CgoyMDE0LTA1LTA2IDA5OjI4OjE0ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmpwZWc6IFdpbjMyLWNvbXBhdGlibGUgT3BlbkpQRUctMi4wIGRldGVjdGlvbgoJICBPcGVuSlBFRyAyLjAgQVBJIHVzZXMgc3RkY2FsbCBvbiBXMzIgYnkgZGVmYXVsdC4gVGhpcyBwcmV2ZW50cyBub3JtYWwKCSAgYXV0b2NvbmYgbGlicmFyeSBtYWNyb3MgZnJvbSBmaW5kaW5nIGl0cyBmdW5jdGlvbnMuCgkgIEEgbW9yZSBjb21wYXRpYmxlIGNoZWNrIGlzIHRvIGFjdXRhbGx5IGxpbmsgYSBwcm9ncmFtIHRoYXQgaW5jbHVkZXMgYQoJICByZWFsIGhlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ4NwoKMjAxNC0wNy0yMSAxMDoxNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTQ6IGVycm9yOiB2YXJpYWJsZSAnb25pX3RzJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIgJ2lmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzUyOjI2OiBub3RlOiB1bmluaXRpYWxpemVkIHVzZSBvY2N1cnMgaGVyZQoJICBHU1RfQlVGRkVSX1BUUyAoYnVmKSA9IG9uaV90cyAtIHNyYy0+b25pX3N0YXJ0X3RzOwoJICBefn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjEwOiBub3RlOiByZW1vdmUgdGhlICdpZicgaWYgaXRzIGNvbmRpdGlvbiBpcyBhbHdheXMgdHJ1ZQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTQ6IGVycm9yOiB2YXJpYWJsZSAnb25pX3RzJyBpcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbmV2ZXIgJyYmJyBjb25kaXRpb24gaXMgZmFsc2UgWy1XZXJyb3IsLVdzb21ldGltZXMtdW5pbml0aWFsaXplZF0KCSAgfSBlbHNlIGlmIChzcmMtPmNvbG9yLT5pc1ZhbGlkICgpICYmIHNyYy0+c291cmNldHlwZSA9PSBTT1VSQ0VUWVBFX0NPTE9SKSB7CgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzUyOjI2OiBub3RlOiB1bmluaXRpYWxpemVkIHVzZSBvY2N1cnMgaGVyZQoJICBHU1RfQlVGRkVSX1BUUyAoYnVmKSA9IG9uaV90cyAtIHNyYy0+b25pX3N0YXJ0X3RzOwoJICBefn5+fn4KCSAgZ3N0b3Blbm5pMnNyYy5jcHA6NzIxOjE0OiBub3RlOiByZW1vdmUgdGhlICcmJicgaWYgaXRzIGNvbmRpdGlvbiBpcyBhbHdheXMgdHJ1ZQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo2NDI6MTg6IG5vdGU6IGluaXRpYWxpemUgdGhlIHZhcmlhYmxlICdvbmlfdHMnIHRvIHNpbGVuY2UgdGhpcyB3YXJuaW5nCgkgIHVpbnQ2NF90IG9uaV90czsKCSAgXgoJICA9IDAKCjIwMTQtMDctMTcgMTY6MjU6NTQgKzAyMDAgIEZhYnJpY2UgQmVsbGV0IDxmYWJyaWNlQGJlbGxldC5pbmZvPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBwYXJzZXI6IG1wZWc0OiBmaXggdmxjIHRhYmxlIHVzZWQgZm9yIHNwcml0ZSB0cmFqZWN0b3J5CgkgIFRoZSB2bGMgdGFibGUgbWVtYmVycyBjYml0cywgY3dvcmQgYW5kIHZhbHVlcyB3ZXJlIGFzc2lnbmVkIGluIHRoZSB3cm9uZwoJICBvcmRlciwgY2F1c2luZyB0aGUgbXBlZzQgcGFyc2VyIHRvIGZhaWwgd2hlbiBoYW5kbGluZyBzcHJpdGUKCSAgdHJhamVjdG9yaWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMzIyCgoyMDE0LTA3LTE4IDE1OjA5OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogTWFrZSBzdGF0aXN0aWNzIG1lc3NhZ2UgbW9yZSBnZW5lcmljIGZvciBvdGhlciBhZGFwdGl2ZSBzdHJlYW1pbmcgZGVtdXhlcnMgdG8gcmV1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTgyOAoKMjAxNC0wMi0yNSAxMTo1ODo1NyArMDEwMCAgQWxleGFuZGVyIFphbGxlc292IDx6YWxsZXNvdkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm92aWRlIHN0YXRpc3RpY3MgYWJvdXQgdGltZSB0byBkb3dubG9hZCBwbGF5bGlzdHMgYW5kIGZyYWdtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODI4CgoyMDE0LTA3LTE5IDE4OjA0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjQuMCA9PT0KCjIwMTQtMDctMTkgMTc6Mjc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNC4wCgoyMDE0LTA3LTE5IDE2OjQ1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTkgMTI6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDctMTYgMTg6Mjc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBzZXQgc3JjIHRvIHJlYWR5IHdoZW4gdGhlcmUgYXJlIG5vIHBlbmRpbmcgYnVmZmVycwoJICBTZXR0aW5nIHRvIHJlYWR5IHdpbGwgYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyB0byBiZSByZWNsYWltZWQsIHNvIGZsdXNoCgkgIGJlZm9yZSBzZXR0aW5nIHRvIG51bGwgdG8gbWFrZSBzdXJlIG5vIGJ1ZmZlcnMgYXJlIHBlbmRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA3MgoKMjAxNC0wNy0xNyAxMDowNTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBleGFtcGxlczogZml4IGNvbXBpbGF0aW9uIG9mIGdsIGZ4dGVzdCBleGFtcGxlIG9uIHdpbjMyIHdpdGggR3RrKyAzLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA2MwoKMjAxNC0wNy0xNyAwMDoxMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBQcm92aWRlIHRoZSBzaXplIG9mIG91ciBhcnJheSB0byBHZXREZXN0aW5hdGlvbk91dHB1dERldmljZUlEcwoJICBPdGhlcndpc2UgaXQgZG9lcyBub3QgYW5kIGp1c3QgZmFpbHMuIEl0IG5lZWRzIHRvIGtub3cgdGhlIHNpemUgb2YgdGhlCgkgIGFycmF5IHRvIG5vdCB3cml0ZSB0b28gbXVjaCB0byBpdC4KCjIwMTQtMDctMTcgMDA6MTE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzc2luazogU2lsZW5jZSBzb21lIGVycm9yIGRlYnVnIG91dHB1dCB0byBsb2cgb3V0cHV0CgkgIFRoZXNlIGFyZSBub3QgcmVhbGx5IGVycm9ycywganVzdCB1bnN1cHBvcnRlZCBmZWF0dXJlcyB3ZSBkb24ndAoJICBuZWNlc3NhcmlseSBuZWVkLgoKMjAxNC0wNy0xNiAxNjo1NzozNSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXNldCBmbG93X3JldHVybiAqYWZ0ZXIqIHN0b3BwaW5nIHRoZSBzcmNwYWQgdGFzay4KCSAgT3RoZXJ3aXNlIGl0IG1pZ2h0IGJlIHNldCBpbiBhbiBhbHJlYWR5IHJ1bm5pbmcgYWdncmVnYXRlIGZ1bmN0aW9uLgoKMjAxNC0wNy0xMCAxMzoxODoyMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGbHVzaCBzaW5rcGFkcyB3aGVuIHN0b3BwaW5nCgkgIEFsbCB2YWx1ZXMgYXJlIG1lYW5pbmdsZXNzIGluIHRoYXQgY2FzZSwgc28gd2Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0CgkgIHdlIGNsZWFuIGV2ZXJ5dGhpbmcKCjIwMTQtMDctMTAgMTM6MTU6NTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG8gbm90IGZvcmdldCB0byByZXNldCB0aGUgZmxvdyByZXR1cm4gd2hlbiBzdG9waW5nCgkgIFNldHRpbmcgaXQgdG8gRkxVU0hJTkcgd2hlbiB0aGUgZWxlbWVudCBpcyBub3Qgc3RhcnRlZCwgYW5kIHRvIE9LCgkgIHdoZW4gaXQgc3RhcnRzLgoKMjAxNC0wNy0wOCAxNjo0ODowOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBIYW5kbGUgZXZlbnQgc2VxbnVtCgoyMDE0LTA3LTEzIDE2OjA3OjAyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEF2b2lkIHRha2luZyB1bm5lY2Vzc2FyeSByZWYKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzEyMwoKMjAxNC0wNy0xNiAxNjozMToyNyArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogSW5jbHVkZSBHTF9DRkxBR1Mgd2hpbGUgY2hlY2tpbmcgZm9yIEdMIHR5cGVkZWZzCgkgIE90aGVyd2lzZSB0aG9zZSBjaGVja3MgbWF5IGZhaWwgYXQgY29uZmlndXJlIHRpbWUgaWYgdGhleSBjb250YWluIGV4dHJhCgkgIGluY2x1ZGUgcGF0aHMsIHdoaWxlIGF0IGJ1aWxkIHRpbWUgdGhleSBhcmUgaW5jbHVkZWQsIHBvdGVudGlhbGx5IGNhdXNpbmcKCSAgaW5jb21wYXRpYmxlIHR5cGVkZWZzIGJldHdlZW4gc3lzdGVtIEdMIGhlYWRlcnMgYW5kIGdzdHJlYW1lciBjb21wYXRpYmlsaXR5CgkgIHByb3RvdHlwZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyNDgKCjIwMTQtMDctMTYgMTY6Mjk6MTAgKzAzMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IEFsd2F5cyBpbmNsdWRlIEVHTF9DRkxBR1MgaW4gR0xfQ0ZMQUdTIHdoZW4gRUdMX0xJQlMgaXMgYWRkZWQgdG8gR0xfTElCUwoJICBUaGV5IHNob3VsZCBiZSBoYW5kbGVkIGluIHRhbmRlbSwgaW4gY2FzZSBhbnkgRUdMIHByb3ZpZGVyIGNvdWxkIHJlcXVpcmUgc29tZQoJICBDRkxBR1MgYW5kIHNldCB0aGVtIChwb3NzaWJseSBvbmNlIG1vdmVkIHRvIHByZWZlciBwa2ctY29uZmlnIGZpbGVzKSwKCSAgc3VjaCBhcyBmb3IgYSBjdXN0b20gaGVhZGVyIGxvY2F0aW9uLgoKMjAxNC0wMy0xNyAxNjowOTo0NiArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTU1CgoyMDE0LTA3LTE1IDEzOjI5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogT3BlbiBEaXJlY3QzRCBkZXZpY2VzIGluIGEgdGhyZWFkc2FmZSB3YXkKCSAgT3RoZXJ3aXNlIHdlJ2xsIGdldCBjcmFzaGVzIHdoZW4gdXNpbmcgdGhlIGRldmljZSBmcm9tIG11bHRpcGxlCgkgIHRocmVhZHMsIGUuZy4gd2hlbiB1c2luZyBtdWx0aXBsZSBzaW5rcyBhdCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NTIzCgoyMDE0LTA3LTExIDIxOjE1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmxzc2hzaW5rOiBJbmNsdWRlIGdzdC5oIGFuZCBvdGhlciBzdHVmZiBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxNC0wNy0xMSAxMDo0MDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBjYXBzIGZpbHRlciBjYXBzIHByb3h5aW5nCgkgIFRoZSBub3RpZnkgc2lnbmFsIGlzIHRyaWdnZXJlZCB3aGVuIGNhcHMgaXMgY2hhbmdlZC4gQnV0IGluc3RlYWQgb2YKCSAgcHJveHlpbmcgdGhlIGZpeGVkIGNhcHMsIHdlIHF1ZXJ5IGZvciB0aGUgY2Fwcy4gSGVuY2UsIHdoZW4gd2UgZ28gdG8KCSAgUkVBRFkgc3RhdGUsIHdlIGVuZHVwIHNldHRpbmcgdGVtcGxhdGUgY2FwcyBvbiB0aGUgcHJveGllZCBjYXBzCgkgIGZpbHRlciBpbnN0ZWFkIG9mIE5VTEwsIHdoaWNoIGxlYWRzIHRvIG5lZ29pdGF0aW9uIGZhaWx1cmUuIENvcnJlY3RseQoJICBwcm94eSBOVUxMIGNhcHMgaWYgdGhpcyBpcyB0aGUgbmV3IGNhcHMuIEZpeGVzIG5vdCBuZWdvdGlhdGVkIGVycm9yCgkgIHdoZW4gcnVubmluZyBpbiBjaGVlc2UuIEFsc28gZml4IGEgbGVhayBvZiBjYXBzIHN0cmluZyBpbiBvbmUgb2YgdGhlCgkgIHRyYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzQxCgoyMDE0LTA3LTExIDEzOjU4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogQWx3YXlzIGJ1aWxkIGdzdGdsbWl4ZXIsIG5vdCBvbmx5IHdoZW4gZnVsbCBPcGVuR0wgc3VwcG9ydCBpcyBlbmFibGVkCgoyMDE0LTA3LTExIDEzOjI1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmw6IFVzZSB3aW5zb2NrMiBpbnN0ZWFkIGFuZCB0aGUgR0xpYiBtYWNybyBmb3IgY2hlY2tpbmcgaWYgd2UncmUgb24gV2luZG93cwoKMjAxNC0wNy0xMSAxMzoyNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogVXNlIG5vIG5ldHdvcmsgQVBJIGlmIG5vdCByZXF1aXJlZAoKMjAxNC0wNy0xMSAxMzoyMToyMSArMDIwMCAgQWxleGV5IFBhdmxvdiA8YWxleHB1eEBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIGV4dDogSW5jbHVkZSB3aW5zb2NrLmggb24gV2luZG93cyB3aGVuIHJlcXVpcmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNTIKCjIwMTQtMDctMTEgMTI6MTM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy45MQoKMjAxNC0wNy0xMSAxMjowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogTGluayB0byBhbGwgcmVxdWlyZWQgbGlicmFyaWVzIGJ1dCBub3QgbW9yZQoKMjAxNC0wNy0xMSAxMjowMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgdmlkZW86IFByb3Blcmx5IGluY2x1ZGUgaGVhZGVycyBpbiBNYWtlZmlsZS5hbQoJICBhbmQgZG9uJ3Qgc2V0IG5vaW5zdF9IRUFERVJTIHR3aWNlLgoKMjAxNC0wNy0xMSAxMTowNTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE0LTA3LTExIDA5OjQzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGF0ZGVjOiBDaGFuZ2UgcmFuayB0byBNQVJHSU5BTCB1bnRpbCBpdCBjYW4gcHJvcGVybHkgaGFuZGxlIG11bHRpY2hhbm5lbCBhdWRpbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NzU3CgoyMDE0LTA3LTExIDA5OjQxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkgIGdsOiBNb3ZlIEdzdEdMTWl4ZXIgdG8gdGhlIHBsdWdpbiBmb3Igbm93CgkgIEl0IGRlcGVuZHMgb24gR3N0QWdncmVnYXRvciBhbmQgd2UgZG9uJ3Qgd2FudCB0byBpbnN0YWxsIGhlYWRlcnMKCSAgZm9yIHRoYXQgeWV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjA3CgoyMDE0LTA3LTExIDA5OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSAgbGliczogRG9uJ3QgaW5zdGFsbCBoZWFkZXJzIGFuZCBwYyBmaWxlcyBmb3IgbGliZ3N0d2F5bGFuZC9iYWR2aWRlby9iYWRiYXNlCgkgIFRoZXNlIHdpbGwgZGlzYXBwZWFyIGFmdGVyIDEuNC4wIGFuZCBpdCB3b3VsZCBiZSByYXRoZXIgYW5ub3lpbmcgaWYKCSAgcGVvcGxlIHN0YXJ0ZWQgZGVwZW5kaW5nIG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDcKCjIwMTQtMDctMTAgMTU6NTI6NDYgKzAxMDAgIFBoaWxpcCBXaXRobmFsbCA8cGhpbGlwLndpdGhuYWxsQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogRml4IGEgZG91YmxlLXVucmVmIGluIHRoZSBPcHVzIGhlYWRlciBjb2RlCgkgIFRoZSBoZWFkZXJzIHdlcmUgbmV2ZXIgZ2V0dGluZyByZWZmZWQgd2hlbiBiZWluZyBhZGRlZCB0byB0aGUgaGVhZGVycwoJICBsaXN0LCB3aGljaCBpcyBsYXRlciB1bnJlZmZlZC1hbmQtZnJlZWQgYnkgdGhlIGNhbGxlciAoZS5nLgoJICBnc3Rfb3B1c19wYXJzZV9wYXJzZV9mcmFtZSgpKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzAxMwoKMjAxNC0wNy0xMSAwODo1NDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xMCAxMToyOTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBDQVQgc2VjdGlvbiBhbmQgQ0EgZGVzY3JpcHRvciBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5ODYKCjIwMTQtMDctMTAgMTE6MjQ6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHBhcnNpbmcgZm9yIENBIGRlc2NyaXB0b3IgKDB4MDUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5ODYKCjIwMTQtMDctMDcgMTE6NTI6MTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBGbHVzaCBkb3duc3RyZWFtIGFmdGVyIHNldHRpbmcgc3JjIHRvIFJFQURZCgkgIHY0bDJzcmMgcmVxdWlyZXMgYWxsIGJ1ZmZlcnMgdG8gY29tZSBiYWNrIGluIG9yZGVyIHRvIGNsZWFubHkgc3RvcAoJICBzdHJlYW1pbmcuIEZsdXNoaW5nIHRoZSBwaXBsaW5lIHNob3VsZCBmb3JjZSBhbGwgYnVmZmVycyB0byBjb21lCgkgIGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NDEKCjIwMTQtMDctMDYgMTE6Mjg6MzQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkgIHRlc3RzL2ljbGVzL2RjY3A6IFJlbGVhc2UgcmVmZXJlbmNlIHRvIHBhcmVudAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyOTc3CgoyMDE0LTA3LTA5IDE1OjAzOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogS2VlcCBhc3BlY3QgcmF0aW8gYnkgZGVmYXVsdAoJICBUaGUgZXhwZWN0ZWQgZGVmYXVsdCBiZWhhdmlvdXIgZm9yIHZpZGVvIHNpbmsgaXMgdG8gbWFpbnRhaW4gdGhlCgkgIGFzcGVjdCByYXRpby4gRml4IHRoZSBkZWZhdWx0IHZhbHVlIHRvIHJlZmxlY3QgdGhpcy4gVGhlIHByb3BlcnR5CgkgIGRlZmF1bHQgd2FzIGFscmVhZHkgVFJVRSwgYnV0IHRoZSB2YWx1ZSB3YXMgbm90IGluaXRpYWxseSBUUlVFLgoKMjAxNC0wNy0wNiAwMTo1NTo1MCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBObyBuZWVkIHRvIGNoZWNrIGZvciBOVUxMIGJlZm9yZSBjYWxsaW5nIGdfZnJlZSgpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3ODkKCjIwMTQtMDctMDYgMDE6NTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRG9uJ3QgY29uZnVzZSBzbGljZSBhbGxvY2F0b3Igd2l0aCByZWd1bGFyIG9uZQoJICBQcmV2aW91c2x5IHNlbGVjdG9yX2J5dGVzIGFuZCBwcml2YXRlX2RhdGFfYnl0ZXMgd2VyZSBzb21ldGltZXMgYWxsb2NhdGVkIGFuZAoJICBmcmVlIHVzaW5nIHRoZSBub3JtYWwgYWxsb2NhdG9yIGFuZCBzb21ldGltZXMgdXNpbmcgdGhlIHNsaWNlIGFsbG9jYXRvci4KCSAgQWRkaXRpb25hbGx5IHByZWZlciBnX3N0cmR1cCgpIHRvIGdfbWVtZHVwKCkgZm9yIHN0cmluZ3MuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3ODkKCjIwMTQtMDctMDkgMDc6NTA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggZHZiIGxpbmthZ2UgbGVha3MKCSAgQ0lEICMxMjI0MTMwCgoyMDE0LTA3LTA0IDE0OjA0OjQ3ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiB1c2UgZ2V0dGVyIGZvciBlZ2RlIGxpbmthZ2UgZGVzY3JpcHRvciB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDctMDQgMTQ6MDI6MjIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgbXBlZ3RzOiBkb2NzOiBhZGQgbWlzc2VkICpfZnJlZSBtZXRob2RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjQgMTk6MTg6NTYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBmaXggYW5ub3RhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA3LTA5IDA3OjM4OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgcGFkZGluZyB0byBwdWJsaWMgc3RydWN0dXJlcwoJICBBbGxvd3MgdXNlIHRvIGFkZCBBUEkgaW4gdGhlIGZ1dHVyZSB3aXRob3V0IGJyZWFraW5nIEFCSS4gV2UgYnJva2UgdGhlIEFQSS9BQkkKCSAgb25jZSBiZXR3ZWVuIDEuMiBhbmQgMS40LCBsZXQncyB0cnkgdG8gYXZvaWQgdGhpcyBpbiB0aGUgZnV0dXJlIGV2ZW4gaWYgdGhpcwoJICBpcyBhbiB1bnN0YWJsZSBsaWJyYXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA3LTA4IDE1OjQzOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGZpeCBsZWFrIG9mIHNob3J0IG5hbWUKCjIwMTQtMDctMDggMTQ6NTY6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBmaXggbGVhayBvZiBsYW5ndWFnZSBjb2RlCgoyMDE0LTA3LTA2IDIzOjMwOjUzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRml4IHNvbWUgbW9yZSB0aGUgbG9ja2luZyBsb2dpYyBpbiB1cGRhdGVfc3JjX2NhcHMKCSAgV2UgbmVlZCB0aGUgR1NUX09CSkVDVF9MT0NLIG9ubHkgdG8gaXRlcmF0ZSB0aGUgc2lua3BhZHMsIG5vdGhpbmcgZWxzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc1MAoKMjAxNC0wNy0wNiAyMjoxNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggYnJva2VuIGxvY2tpbmcgaW4gdXBkYXRlX3NyY19jYXBzIGZ1bmN0aW9uCgkgIFdlIHdvdWxkIHVubG9jayBhbiBhbHJlYWR5LXVubG9ja2VkIG11dGV4IHRoYXQgd2UgbmV2ZXIgcmUtbG9ja2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzUwCgoyMDE0LTA3LTA2IDE2OjE3OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggbG9ja2luZwoJICBXZSB3b3VsZCB1bmxvY2sgYSBtdXRleCB3ZSBuZXZlciBsb2NrZWQgb24gU0VHTUVOVAoJICBldmVudHMuCgoyMDE0LTA3LTA0IDIxOjAwOjM4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBNYWtlIGNhc2NhZGVzIGRpciBhIGxpdHRsZSBtb3JlIHBvcnRhYmxlCgoyMDE0LTA3LTA0IDIwOjU1OjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogVXNlIGFscmVhZHkgbWFwcGVkIGltYWdlCgkgIE5vIG5lZWQgdG8gbWFwIGFnYWluIHRoZSBpbWFnZSwgaXQncyBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGJhc2UgY2xhc3MuCgoyMDE0LTA3LTA0IDIwOjM5OjQ5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBNb3ZlIHNpemUgd2FybmluZyBpbiBzZXRfY2FwcyBzbyBpdCdzIGNhbGxlZCBvbmNlCgoyMDE0LTA3LTA0IDIwOjMzOjQxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogUG9ydCB0byBPcGVuY3ZWaWRlb0ZpbHRlciBiYXNlIGNsYXNzCgkgIFRoaXMgZml4ZXMgaXNzdWUgd2hpdCBibGFjayBmcmFtZXMgd2hlbiBzcGVjaWFsIG1lbW9yeSwgbGlrZSBHbE1lbW9yeSBpcwoJICBpbiB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU2CgoyMDE0LTA3LTA0IDIwOjMxOjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgY3Z2aWRlb2ZpbHRlcjogRG9uJ3QgdHJ5IHRvIG1ha2UgYnVmZmVyIHdyaXRhYmxlCgkgIEZpcnN0IHRoaXMgaXMgaGFuZGxlIGJ5IGJhc2UgdHJhbnNmb3JtLCBoZW5jZSB0aGlzIGlzIGEgbm8tb3AsIGFuZCBpZiBpdCB3YXNuJ3QgaXQKCSAgd291bGQgbGVhZCB0byBhIGJ1ZmZlciBjb3B5IGJlaW5nIGxlYWtlZCwgYW5kIHRoZW4gYW4gdW5yZWZmZWQgYnVmZmVyIGJlaW5nCgkgIHB1c2hlZCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU2CgoyMDE0LTA3LTA0IDIwOjMwOjIwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgY3Z2aWRlb2ZpbHRlcjogQ2hlY2sgYnVmZmVyX21hcCByZXR1cm4gdmFsdWUKCSAgQ2hlY2sgdGhlIHJlc3R1cm4gdmFsdWUgYW5kIGNsZWFubHkgZmFpbCBpZiB3ZSBjb3VsZCBub3QgbWFwcGVkIHRoZSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzU2CgoyMDE0LTA3LTA0IDAzOjE5OjQyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogUHJpbnQgaW52YWxpZCBmb3VyY2MgaW4gZXJyb3IgbWVzc2FnZSBpbiBoZXgKCSAgUHJldmlvdXNseSB0aGlzIHdhcyBwcmludGVkIGFzIGNoYXJhY3RlcnMgd2hpY2ggY2F1c2VkIGxhdGVyIHByb2Nlc3NpbmcKCSAgb2YgdGhlIGVycm9yIG1lc3NhZ2UgdG8gc29tZXRpbWVzIHdhcm4gYWJvdXQgbm9uLVVURi04IGNoYXJhY3RlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MTUKCjIwMTQtMDctMDQgMDM6MjA6MjIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFByaW50IGludmFsaWQgZm91cmNjIGluIGVycm9yIG1lc3NhZ2UgaW4gaGV4CgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgcHJpbnRlZCBhcyBjaGFyYWN0ZXJzIHdoaWNoIGNhdXNlZCBsYXRlciBwcm9jZXNzaW5nCgkgIG9mIHRoZSBlcnJvciBtZXNzYWdlIHRvIHNvbWV0aW1lcyB3YXJuIGFib3V0IG5vbi1VVEYtOCBjaGFyYWN0ZXJzLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzE1CgoyMDE0LTA3LTA0IDE3OjUxOjU4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzQ0CgoyMDE0LTA3LTAxIDEyOjM0OjQ0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBBZGQgcHJvcGVyIGNsZWFuIHVwIG9mIE9wZW5OSTIgb2JqZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDEyOjE4OjQ1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmg6CgkgIG9wZW5uaTJzcmM6IERvbid0IGVtYmVkIEMrKyBvYmplY3RzIGluIG91ciBHT2JqZWN0CgkgIFNpbmNlIEMrKyBvYmplY3RzIHNob3VkbCBiZSBwcm9wZXJseSBjb25zdHJ1Y3RlZCwgd2Uga2VlcCBvbmx5IHBvaW50ZXJzCgkgIHRvIHRoZW0gYW5kIG1hbnVhbGx5IGNvbnN0cnVjdCB0aGVtIG9uIHRoZSBoZWFwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDEyOjE4OjE5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDbG9zZSBkZXZpY2Ugd2hlbiBzdG9wcGluZyB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTg6MzYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogRml4IHRpbWVzdGFtcGluZwoJICBPcGVuTkkyIG1ha2VzIG5vIGd1YXJhbnRlZXMgb2YgdGltZXN0YW1wIHN0YXJ0aW5nIGZyb20gemVybywganVzdCB0aGF0CgkgIGl0IHdpbGwgYmUgYSBtaWxsaXNlY29uZCB0aW1lc3RhbXAuIE1ha2UgdGltZXN0YW1wcyBzdGFydCBmcm9tIHplcm8KCSAgbWFudWFsbHkgc28gdGhpbmdzIHdvcmsgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjU2OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBNYWtlIHRoZSBsb2NhdGlvbiBwcm9wZXJ0eSBub3QgYmUgbWFuZGF0b3J5CgkgIE91ciBjYWxscyB0byBkZXZpY2Ugb3BlbiBhbHJlYWR5IGhhbmRsZSB0aGUgdW5zZXQgbG9jYXRpb24gY2FzZSAoYnkKCSAgb3BlbmluZyBhbnkgYXZhaWxhYmxlIGRldmljZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTY6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IE9wZW4gZGV2aWNlIG9uIE5VTEwtPlJFQURZCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTM6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBkZWFkbG9jayB3aGVuIF9nZXRfY2FwcygpIGlzIGNhbGxlZCBiZWZvcmUgUkVBRFkKCSAgVGhlIG9iamVjdCBsb2NrIHdhcyBub3QgYmVpbmcgZHJvcHBlZCBpbiB0aGUgZW1wdHkgY2FzZS4gUmVzdHJ1Y3R1cmVkCgkgIHRoZSBjb2RlIGEgYml0IHRvIG1ha2UgdGhpcyBzb3J0IG9mIGVycm9yIGxlc3MgbGlrZWx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAxIDExOjUxOjIxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFjY29zdGVkLm5ldD4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBNYXJrIGVsZW1lbnQgYXMgYSBsaXZlIHNvdXJjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTM1CgoyMDE0LTA3LTAzIDE5OjEwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQWx3YXlzIGxvY2sgdGhlIEQzRCBzdXJmYWNlcyBpbiB3cml0ZSBtb2RlCgkgIExvY2tpbmcgdGhlbSBpbiByZWFkb25seSBtb2RlIGNhbiBnaXZlIGRpZmZlcmVudCBzdHJpZGUgdG8gbWFwcGluZwoJICBpbiB3cml0ZSBtb2RlLCB3aGljaCB0aGVuIGNhdXNlcyByZW5kZXJpbmcgdG8gYmUgYnJva2VuLgoJICBIYXBwZW5lZCBvbiBhbGwgKG1hbnk/KSBOVklESUEgR1BVcy4KCSAgVGhhbmtzIHRvIHZvc2thdGVyMTVAZ21haWwuY29tIGZvciBoaW50aW5nIGF0IHRoZSBwcm9ibGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyODA5CgoyMDE0LTA3LTAzIDE5OjA1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZGhlbHBlcnM6IFN3YXAgVVYgcGxhbmVzIHByb3Blcmx5IGZvciBZVjEyIGFzIGNvbXBhcmVkIHRvIEk0MjAKCSAgSWYgd2Ugb25seSBkbyBpdCBpbiBvbmUgcGxhY2UgY29sb3JzIHdpbGwgbG9vayBmdW5ueS4KCjIwMTQtMDctMDMgMTc6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IFByb3Blcmx5IGludGVncmF0ZSBDT0xPUl9RQ09NX0Zvcm1hdFlWVTQyMFNlbWlQbGFuYXIzMm0gYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY4MwoKMjAxNC0wNy0wMyAxNTowNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtY2F1ZGlvZGVjOiBhdWRpby9tcGVnIGlzIGFsd2F5cyBNUEVHIDEgbGF5ZXIgMwoJICBDb25maWd1cmluZyBlLmcuIGxheWVyIDIgb24gc3VjaCBhIGRlY29kZXIgdXN1YWxseSBmYWlscyB1bmxlc3MKCSAgaXQgYWRkaXRpb25hbGx5IGFsc28gYWNjZXB0cyBhdWRpby9tcGVnLUwyLgoKMjAxNC0wNy0wMyAxNDoxNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgd2UgaGF2ZSBubyBQQ1IgeWV0CgkgIENhbiBoYXBwZW4gc29tZXRpbWVzIGlmIHRoZSBkdXJhdGlvbiBpcyByZXF1ZXN0ZWQgYmVmb3JlIHdlCgkgIHJlY2VpdmVkIGVub3VnaCBkYXRhIHdpdGggYSBQQ1IuCgoyMDE0LTA3LTAzIDIxOjM5OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIHRzZGVtdXg6IEFkZCBsb2NraW5nIGFyb3VuZCBtcGVndHNwYWNrZXRpc2VyIGdyb3Vwcy4KCSAgT3RoZXJ3aXNlIG9jY2FzaW9uYWxseSBEVVJBVElPTiBxdWVyaWVzIGNhbiBjcmFzaCwgaWYgdGhleSBoYXBwZW4gYXQKCSAgdGhlIHdyb25nIG1vbWVudC4KCjIwMTQtMDctMDMgMDk6MDA6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvY29hOiBpbml0YWxpemUgTlNBcHAgYXNhcCB3aGVuIHVzaW5nIGdzdC1sYXVuY2gKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2NjEKCjIwMTQtMDctMDIgMTI6NTQ6NDUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSB2dGRlYyBhbmQgdnRlbmMgb25seSBvbiA+PSAxMC44IHdoZXJlIFZpZGVvVG9vbGJveCBpcyBwdWJsaWMKCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM2NzAKCjIwMTQtMDctMDIgMDQ6NTQ6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGF2b2lkIHNlZ2ZhdWx0IHdoZW4gb3V0cHV0IGlzbid0IGNvbmZpZ3VyZWQKCSAgVGhpcyBjYW4gaGVscCB3aGVuIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQgZHVyaW5nL2FmdGVyIHZpZGVvZGVjb2RlcgoJICBiYXNlIGNsYXNzIHNodXQgZG93bgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDM1CgoyMDE0LTA3LTAyIDAwOjI3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBpZ25vcmUgdGhlIGRyb3BwZWQgZmxhZyBpZiBidWZmZXIgd2FzIHJlY2VpdmVkCgkgIEFwcGFyZW50bHkgdGhlcmUgaXMgc29tZSBpc3N1ZSB3aXRoIFZUIHRoYXQgbWFrZXMgaXQgbWFyayB0aGUgZHJvcHBlZAoJICBmbGFnIGV2ZW4gdGhvdWdoIHRoZSBidWZmZXIgd2FzIGRlY29kZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzUKCjIwMTQtMDctMDIgMTA6MzE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBsZWFrIGFsbCBzdXJmYWNlcwoJICBUaGlzIHdhcyBicm9rZW4gd2hlbiBkaXNhYmxpbmcgdGhlIGJ1ZmZlciBwb29sIGV4cG9ydGluZy4KCSAgQWxzbyBkaXNhYmxlIGJ1ZmZlciBwb29sIGEgYml0IG1vcmUgZWZmaWNpZW50Li4uCgoyMDE0LTA3LTAyIDEwOjAxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUG9zdE1lc3NhZ2UoKSB0YWtlcyBpbnRlZ2VycyBhcyBsYXN0IHBhcmFtZXRlcnMsIG5vdCBwb2ludGVycwoKMjAxNC0wNy0wMiAwOTo1OTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDctMDIgMTc6Mzg6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlOgoJICBnbC9leGFtcGxlczogZ2l0aWdub3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAxNC0wNy0wMSAwODozNjo1MyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkgIGdsIDogZml4IHFnbHd0ZXh0dXJlc2hhcmUgZGVtbwoKMjAxNC0wNi0yMyAxMTo1MzoxMSArMDIwMCAgR8O2cmFuIErDtm5zc29uIDxnb3JhbmpuQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IE9ubHkgY3JlYXRlIGEgbmV3IEdTb3VyY2UgaWYgd2UgaGF2ZSBhIG1haW4gY29udGV4dAoJICBXZSBjYW4gc3RpbGwgZ2V0IE9PQiBldmVudHMgd2hpbGUgc3RvcHBpbmcgdGhlIHdhdGNoZG9nIGVsZW1lbnQsIGFuZCB3aGlsZQoJICBzdG9wcGluZyBpdCB3ZSBkZXN0cm95IHRoZSBtYWluIGNvbnRleHQuCgkgIEFsc28gbGV0IHRoZSBHU291cmNlIG93biBhIHJlZmVyZW5jZSB0byB0aGUgZWxlbWVudCBmb3IgYWRkaXRpb25hbCBzYWZldHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NTQKCjIwMTQtMDctMDEgMTI6NTI6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlc2V0IFFvUyBvbiBzZWdtZW50IGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NDAKCjIwMTQtMDctMDEgMTY6NTQ6MDAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICB0ZXN0czogaDI2NHBhcnNlcjogYWRkIHRlc3QgdG8gaWRlbnRpZnkgRU9TRVEgLyBFT1MgTkFMcy4KCSAgQ2hlY2sgdGhhdCBlbmRfb2Zfc2VxKCkgW0VPU0VRXSBhbmQgZW5kX29mX3N0cmVhbSBbRU9TXSBOQUwgdW5pdHMKCSAgYXJlIGNvcnJlY3RseSBwYXJzZWQgYW5kIHRoZSByZXBvcnRlZCBOQUwgdW5pdCBzaXplIHlpZWxkcyAxIGJ5dGUsCgkgIGkuZS4gdGhlIG9ubHkgTmFsSGVhZGVyQnl0ZXMgaW4gdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1NTMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxNzoxOTowMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGFkZCB0ZXN0IGZvciBieXRlLXN0cmVhbS9hdSBvdXRwdXQuCgkgIENoZWNrIHRoYXQgY29udmVyc2lvbiB0byBieXRlLXN0cmVhbS9hdSBmb3JtYXRzIHdvcmsgYW5kIHRoYXQgd2UKCSAgY2FuIGVmZmVjdGl2ZWx5IGRyb3AgYnJva2VuL2ludmFsaWQgTkFMIHVuaXRzIGZyb20gdGhlIHJlc3VsdGluZwoJICBhY2Nlc3MgdW5pdCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxODo0Nzo1NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGNoZWNrIFNFSSBidWZmZXJpbmdfcGVyaW9kKCkgbWVzc2FnZSBpcyBvdXRwdXQuCgkgIElmIGFuIFNFSSBOQUwgdW5pdCB3aXRoIGEgYnVmZmVyaW5nX3BlcmlvZCgpIG1lc3NhZ2UgaXMgaW5zZXJ0ZWQKCSAgYmV0d2VlbiBhbiBTUFMgYW5kIFBQUyBOQUwgdW5pdCwgY2hlY2sgdGhhdCB0aGUgb3V0cHV0IGJ1ZmZlciBzdGlsbAoJICBjb250YWluIGl0LiBpLmUuIG1ha2Ugc3VyZSB0aGF0IHRoaXMgU0VJIG1lc3NhZ2UgaXMgbm90IGRyb3BwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNTYKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAwOTo0NDoyNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY29sbGVjdGlvbiBvZiBhY2Nlc3MgdW5pdHMgdG8gcHJlc2VydmUgY29uZmlnIGhlYWRlcnMuCgkgIEFsd2F5cyB1c2UgYSBHc3RBZGFwdGVyIHdoZW4gY29sbGVjdGluZyBhY2Nlc3MgdW5pdHMgKGFsaWdubWVudD0iYXUiKQoJICBpbiBlaXRoZXIgYnl0ZS1zdHJlYW0gb3IgYXZjQyBmb3JtYXQuIFRoaXMgaXMgcmVxdWlyZWQgdG8gcHJvcGVybHkKCSAgcHJlc2VydmUgY29uZmlnIGhlYWRlcnMgbGlrZSBTUFMgYW5kIFBQUyB3aGVuIGludmFsaWQgb3IgYnJva2VuIE5BTAoJICB1bml0cyBhcmUgc3Vic2VxdWVudGx5IHBhcnNlZC4KCSAgTW9yZSBwcmVjaXNlbHksIHRoaXMgZml4ZXMgc2NlbmFyaW8gbGlrZToKCSAgPFNQUz4gPFBQUz4gPGludmFsaWQtTkFMPiA8c2xpY2U+CgkgIHdoZXJlIHdlIHVzZWQgdG8gcmVzZXQgdGhlIG91dHB1dCBmcmFtZSBidWZmZXIgd2hlbiBhbiBpbnZhbGlkIG9yCgkgIGJyb2tlbiBOQUwgaXMgcGFyc2VkLCBpLmUuIFNQUyBhbmQgUFBTIE5BTCB1bml0cyB3ZXJlIGxvc3QsIHRodXMKCSAgcHJldmVudGluZyB0aGUgbmV4dCBzbGljZSB1bml0IHRvIGJlIGRlY29kZWQsIHNob3VsZCB0aGlzIGFsc28KCSAgcmVwcmVzZW50IGFueSB2YWxpZCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTM6MTQ6MTAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogaW1wcm92ZSBjb25kaXRpb25zIGZvciBza2lwcGluZyBOQUwgdW5pdHMuCgkgIENhcmVmdWxseSB0cmFjayBjYXNlcyB3aGVuIHNraXBwaW5nIGJyb2tlbiBvciBpbnZhbGlkIE5BTCB1bml0cyBpcwoJICBuZWNlc3NhcnkuIEluIHBhcnRpY3VsYXIsIGFsd2F5cyBhbGxvdyBOQUwgdW5pdHMgdG8gYmUgcHJvY2Vzc2VkCgkgIGFuZCBsZXQgdGhhdCBnc3RfaDI2NF9wYXJzZV9wcm9jZXNzX25hbCgpIGZ1bmN0aW9uIGRlY2lkZSBvbiB3aGV0aGVyCgkgIHRoZSBjdXJyZW50IE5BTCBuZWVkcyB0byBiZSBkcm9wcGVkIG9yIG5vdC4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIG9mIHN0cmVhbXMgd2l0aCBTRUkgTkFMIGJ1ZmZlcmluZ19wZXJpb2QoKSBtZXNzYWdlCgkgIGluc2VydGVkIGJldHdlZW4gU1BTIGFuZCBQUFMsIG9yIFNQUy1FeHQgTkFMIGZvbGxvd2luZyBhIHRyYWRpdGlvbmFsCgkgIFNQUyBOQUwgdW5pdCwgYW1vbmcgb3RoZXIgY2FzZXMgdG9vLgoJICBQcmFjdGljYWwgZXhhbXBsZXMgZnJvbSB0aGUgSC4yNjQgQVZDIGNvbmZvcm1hbmNlIHN1aXRlIGluY2x1ZGUKCSAgYWxwaGFjb25mb3JtYW5jZUcsIENWU0UyX1NvbnlfQiwgQ1ZTRTNfU29ueV9ILCBDVlNFRkRGVDNfU29ueV9FCgkgIHdoZW4gcGFyc2luZyBpbiBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtLGFsaWdubWVudD1hdSBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjAzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjUgMTE6MDY6NDEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaW50cm9kdWNlIG5ldyBzdGF0ZSB0cmFja2luZyB2YXJpYWJsZXMuCgkgIEltcHJvdmUgcGFyc2VyIHN0YXRlIHRyYWNraW5nIGJ5IGludHJvZHVjaW5nIG5ldyBmbGFncyByZWZsZWN0aW5nCgkgIGl0OiAiZ290LXNwcyIsICJnb3QtcHBzIiBhbmQgImdvdC1zbGljZSIuIFRoaXMgaXMgYW4gYWRkaXRpb24gZm9yCgkgIHJvYnVzdG5lc3MgcHVycG9zZXMuCgkgIE9sZGVyIGhhdmVfc3BzIGFuZCBoYXZlX3BwcyB2YXJpYWJsZXMgYXJlIGtlcHQgYmVjYXVzZSB0aGV5IGhhdmUKCSAgYSBkaWZmZXJlbnQgbWVhbmluZy4gaS5lLiB0aGV5IGFyZSB1c2VkIGZvciBkZWNpZGluZyBvbiB3aGVuIHRvCgkgIHN1Ym1pdCB1cGRhdGVkIGNhcHMgb3Igbm90LCBhbmQgcmF0aGVyIG1lYW4gImhhdmUgbmV3IFNQUy9QUFMgdG8KCSAgYmUgc3VibWl0dGVkPyIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNCAxMzo1NToxMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggYW5kIG9wdGltaXplIE5BTCBjb2xsZWN0aW9uIGZ1bmN0aW9uLgoJICBVc2UgZ3N0X2gyNjRfcGFyc2VyX2lkZW50aWZ5X25hbHVfdW5jaGVja2VkKCkgdG8gaWRlbnRpZnkgdGhlIG5leHQKCSAgTkFMIHVuaXQuIFdlIGRvbid0IHdhbnQgdG8gcGFyc2UgdGhlIGZ1bGwgTkFMIHVuaXQsIGJ1dCBvbmx5IHRoZQoJICBoZWFkZXIgYnl0ZXMgYW5kIHBvc3NpYmx5IHRoZSBmaXJzdCBSQlNQIGJ5dGUgZm9yIGlkZW50aWZ5aW5nIHRoZQoJICBmaXJzdF9tYl9pbl9zbGljZSBzeW50YXggZWxlbWVudC4KCSAgQWxzbyBmaXggY2hlY2sgZm9yIGZhaWx1cmUgd2hlbiByZXR1cm5pbmcgZnJvbSB0aGF0IGZ1bmN0aW9uLiBUaGUKCSAgb25seSBzdWNjZXNzIGNvbmRpdGlvbiBmb3IgdGhhdCBpcyBHU1RfSDI2NF9QQVJTRVJfT0ssIHNvIHVzZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1NAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA3LTAxIDE2OjA5OjI4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGFyaWZpY2F0aW9ucyBhbmQgZG9jdW1lbnRhdGlvbiBmaXhlcy4KCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIEdzdEgyNjROYWxVbml0LiBUaGUgQHJlZl9pZGMgcGFydCB3YXMgdG90YWxseQoJICB1bmJhbGFuY2VkLiBBbHNvIGFkZCBhIG5vdGUgYWJvdXQgQG9mZnNldCBhbmQgQHNpemUgZmllbGRzIHRvIHJlbWluZAoJICB0aGF0IHRoaXMgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBOQUwgdW5pdCwgdGh1cyBpbmNsdWRpbmcKCSAgdGhlIGhlYWRlciBieXRlcy4KCjIwMTQtMDctMDEgMTU6NDY6MTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBpZGVudGlmaWNhdGlvbiBvZiBFT1NFUSBhbmQgRU9TIE5BTHMuCgkgIEFuIGVuZF9vZl9zZXEoKSBbRU9TRVFdIG9yIGVuZF9vZl9zdHJlYW0oKSBbRU9TXSBOQUwgdW5pdCBpcyByZWFsbHkKCSAgb25lIGJ5dGUgbG9uZyBiZWNhdXNlIHRoaXMgc2hhbGwgaW5jbHVkZSB0aGUgTmFsSGVhZGVyQnl0ZXMgKDEpIHRvby4KCSAgVGhlIE5BTFUub2Zmc2V0IHN0YXJ0cyBmcm9tIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBoZWFkZXIuCgkgIFRoaXMgaXMgdGhlIHByb3BlciBmaXggdG8gY29tbWl0IGQzN2Y4NDIuIEluIHByYWN0aWNlLCB0aGlzIGZpeGVzCgkgIHBhcnNpbmcgb2YgRlJFeHQxX1BhbmFzb25pY19EIGFuZCBGUkV4dDJfUGFuYXNvbmljX0MsIHRoYXQgaW5jbHVkZQoJICBhZGRpdGlvbmFsIGZyYW1lcyBhZnRlciBhbiBFT1NFUS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU1MwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI3IDEyOjI0OjQ5ICswMjAwICBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIChoZWZ0aWcpIDxqYW4uc3RlZmZlbnNAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBSZXBvcnQgbGltaXRlZCBiYW5kd2lkdGgKCSAgTWFrZXMgdXJpZGVjb2RlYmluIHRyZWF0IHRoaXMgc291cmNlIGFzIGEgc3RyZWFtIHNvdXJjZSwKCSAgYWxsb3dpbmcgdGltZXNoaWZ0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzM1CgoyMDE0LTA3LTAxIDEwOjAzOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICBtcGVndHM6IEV4cG9zZSBHc3RNcGVndHNEZXNjcmlwdG9yIGZyZWUgZnVuY3Rpb24KCSAgTm90aGluZyBlYXJ0aCBzaGF0dGVyaW5nLCBidXQgYXZvaWRzIHBlb3BsZSBoYXZpbmcgdG8gdXNlIGdfYm94ZWRfZnJlZSgpCgoyMDE0LTA2LTMwIDE5OjE1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBlYWdsOiBEaXNhYmxlIHVzYWdlIG9mIFIgYW5kIFJHIHRleHR1cmVzIG9uIGlPUwoJICBUaGV5IGRvbid0IHdvcmsgY3VycmVudGx5IGFuZCBqdXN0IHJlbmRlciB6ZXJvZXMsIHdoaWxlIHRoZQoJICBmYWxsYmFjayBjb2RlIHBhdGggd2l0aCBMVU0gYW5kIExVTV9BTFBIQSB0ZXh0dXJlcyBzdGlsbCB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjM5MAoKMjAxNC0wNi0zMCAxMTo1NDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiByZWxlYXNlIHRoZSBoYWFyIGNhc2NhZGUKCjIwMTQtMDYtMzAgMTI6MjI6MDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEF2b2lkIGRlc3Ryb3lpbmcgc291cmNlcyB3ZSBkbyBub3Qgb3duCgkgICsgVW5yZWYgdGhlIG1haW5jb250ZXh0IGluIGEgbmV3IGRpc3Bvc2UgZnVuY3Rpb24KCSAgKyBNYWtlIHN1cmUgdG8gcmVtb3ZlIGFsbCBzb3VyY2VzIG9uIGRpc3Bvc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjQ0NQoKMjAxNC0wNi0xNiAxMjozNToxMyArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgVGhlIHBpeGVsIGJ1ZmZlciByZWxlYXNlIGNhbGxiYWNrIGlzIGNhbGxlZCBpZiB0aGUgdm9pZCAqCgkgIGRhdGFQdHIgZ2l2ZW4gdG8gdGhlIENWUGl4ZWxCdWZmZXJDcmVhdGVXaXRoUGxhbmFyQnl0ZXMKCSAgaXMgbm90IE5VTEwuCgkgIEFjY29yZGluZyB0byB0aGUgZG9jdW1lbnRhdGlvbiBkYXRhUHRyIGlzIHN1cHBvc2VkIHRvIGJlIGEKCSAgInBsYW5lIGRlc2NyaXB0aW9uIGJsb2NrIiBidXQgbm8gc3BlY2lmaWMgdHlwZSBpcyBnaXZlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg0NwoKMjAxNC0wNi0zMCAwMDoyMjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgc2VnbWVudGF0aW9uOiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlIGluIGZpbmFsaXplCgoyMDE0LTA2LTMwIDAwOjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZSBhbmQgcmVzaXplIGltYWdlIHdoZW4gY2FwcyBjaGFuZ2UKCjIwMTQtMDYtMzAgMDA6MTU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUmVsZWFzZSBjdkltYWdlcyB3aGVuIHJlbG9hZGluZyB0ZW1wbGF0ZXMgYXJlIGNoYW5naW5nIGNhcHMKCjIwMTQtMDYtMzAgMDA6MTI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBSZWxlYXNlIGltYWdlIHdoZW4gY2hhbmdpbmcgY2FwcyBvciByZXVzaW5nIHRoZSBlbGVtZW50CgoyMDE0LTA2LTMwIDAwOjA5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UKCjIwMTQtMDYtMzAgMDA6MDc6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlCgkgIEFuZCBhbHNvIHJlbGVhc2UgY3ZJbWFnZXMgYW5kIG1lbW9yeSBzdG9yYWdlIHdoZW4gY2hhbmdpbmcgY2FwcyBvciByZXVzaW5nIHRoZQoJICBlbGVtZW50LgoKMjAxNC0wNi0zMCAwMDowNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBEb24ndCBsZWFrIGN2SW1hZ2VzIHdoZW4gY2FwcyBhcmUgY2hhbmdpbmcgb3IgdGhlIGVsZW1lbnQgaXMgcmV1c2VkCgoyMDE0LTA2LTI5IDIzOjQyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZSB3aGVuIGZpbmFsaXppbmcKCjIwMTQtMDYtMjkgMjM6MzM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBSZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudAoKMjAxNC0wNi0yOSAyMzozMTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMKCjIwMTQtMDYtMjkgMjM6MjI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggbWVtb3J5IGxlYWsgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIyOjMwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJICB0ZXh0b3ZlcmxheTogRnJlZSB0ZXh0IGJ1ZmZlciBpbiBmaW5hbGl6ZQoKMjAxNC0wNi0yOSAyMjoyNjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgZmluYWxpemUgZnVuY3Rpb24KCjIwMTQtMDYtMjkgMjI6MjU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgdW5yZWYgdGhlIGRpc3BsYXkKCSAgRXZlbiBpZiB3ZSBkaWRuJ3QgY3JlYXRlIGEgY29udGV4dCB5ZXQuCgoyMDE0LTA2LTI5IDIyOjIwOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJICBpbnRlcnN1YnNyYzogYmFzZXNyYyBpcyBhbHJlYWR5IGNyZWF0aW5nIGEgcGFkIGZvciB1cywgbm8gbmVlZCB0byBkbyBpdCB0d2ljZQoKMjAxNC0wNi0yOSAyMjoxODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSAgeWFkaWY6IGJhc2V0cmFuc2Zvcm0gaXMgY3JlYXRpbmcgcGFkcyBmb3IgdXMgYWxyZWFkeSwgZG9uJ3QgZG8gaXQgdHdpY2UKCjIwMTQtMDYtMjkgMjE6NTc6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBGaXggbWVtb3J5IGxlYWsgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIxOjUzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBGaXggbWVtb3J5IGxlYWtzIGluIHVuaXQgdGVzdAoKMjAxNC0wNi0yOSAyMTozNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICBtcGVndHM6IEZpeCBtZW1vcnkgbGVha3MgaW4gdGhlIHRlc3QgYW5kIHRoZSBsaWJyYXJ5CgkgIEN1cnJlbnRseSB1c2VzIGdfYm94ZWRfZnJlZSgpIGluIHRoZSB1bml0IHRlc3QsIHRoaXMgbmVlZHMgdG8KCSAgYmUgZml4ZWQgcHJvcGVybHkgd2hlbiBjbGVhbmluZyB1cCB0aGUgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTE0CgoyMDE0LTA2LTI5IDIxOjA1OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIHN0YXRpYyBjYXBzIGFjdHVhbGx5IHN0YXRpYwoJICBPdGhlcndpc2Ugd2UgbGVhayBvbmNlIGNhcHMgaW5zdGFuY2Ugb24gZXZlcnkgZnVuY3Rpb24gY2FsbC4KCjIwMTQtMDYtMjkgMjE6MDE6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGcmVlIHByb3BlcnR5IHN0cmluZ3Mgd2hlbiBkaXNwb3NpbmcgdGhlIGluc3RhbmNlCgoyMDE0LTA2LTI5IDIwOjU4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSAgaW50ZXJzdWJzaW5rL3NyYzogRnJlZSBjaGFubmVsIHN0cmluZyB3aGVuIGZpbmFsaXppbmcgdGhlIGluc3RhbmNlCgoyMDE0LTA2LTI5IDIwOjEzOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI5IDIwOjExOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR19ESVNBQkxFX0FTU0VSVAoKMjAxNC0wNi0yOCAyMzoyNjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgdW5wb3J0YWJsZSAlenUKCjIwMTQtMDYtMjggMTc6MDI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuaDoKCSAgYmFkdmlkZW86IFVwZGF0ZSBkaXN0IGdlbmVyYXRlZCBPUkMgZmlsZXMKCjIwMTQtMDYtMjggMTc6MDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5oOgoJICBiYWR2aWRlbzogUmVuYW1lIHZpZGVvY29udmVydCBmdW5jdGlvbnMgdG8gcHJldmVudCBjb25mbGljdHMgd2l0aCBzdGF0aWMgbGlua2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDQzCgoyMDE0LTA2LTI4IDExOjIwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogYWdncmVnYXRvcjogZml4IHZhcmlvdXMgbGVha3MgaW4gdGhlIHRlc3RzCgoyMDE0LTA2LTI4IDA5OjQzOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdGVzdHM6IEZpeCBwYWQgbGVhawoJICBSZW1lbWJlciB0byB1bnJlZiByZXF1ZXN0ZWQgcGFkCgoyMDE0LTA2LTI4IDA5OjM1OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZml4IGxlYWsgYXMgZ3N0X2J1ZmZlcl9yZXBsYWNlIGFkZHMgaXRzIG93biByZWYKCSAgU28gdW5yZWYgdGhlIGJ1ZmZlciBhZnRlciB0aGF0IG90aGVyd2lzZSBpdCBsZWFrcwoKMjAxNC0wNi0yOCAwOTozNDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFsd2F5cyBzdG9yZSBvciB1bnJlZiB0aGUgYnVmZmVyIG9uIHRoZSBfY2hhaW4gZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIGl0IGxlYWtzLCBhbmQgaXQgaXMgdmVyeSBjb21tb24gdG8gZ28gdG8gZmx1c2hpbmcgd2hlbiB0aGUKCSAgcGlwZWxpbmUgaXMgc3RvcHBpbmcsIGxlYWtpbmcgYSBidWZmZXIuCgoyMDE0LTA2LTI4IDA5OjMyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWx3YXlzIHVucmVmIHRoZSBidWZmZXIgb24gX2ZpbmlzaCBmdW5jdGlvbgoJICBPdGhlcndpc2UgdGhlIHVzZXIgZG9lc24ndCBrbm93IGlmIGl0IHdhcyB1bnJlZidkIG9yIG5vdAoKMjAxNC0wNi0yOCAwOTozMTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBkaXNwb3NlL2ZpbmFsaXplIGZ1bmN0aW9ucwoJICBBZGQgZnVuY3Rpb25zIHRvIGJlIGFibGUgdG8gY2xlYW51cCB0aGUgbXV0ZXgvY29uZCBhbmQgcGVuZGluZyBidWZmZXJzCgkgIG9uIHRoZSBhZ2dyZWdhdG9yIGFuZCBvbiBpdHMgcGFkCgo9PT0gcmVsZWFzZSAxLjMuOTAgPT09CgoyMDE0LTA2LTI4IDExOjMwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkwCgoyMDE0LTA2LTI4IDExOjI3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjggMTA6NDM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBGYWlsIGluIHNldF9jYXBzKCkgaWYgdGhlIGNhcHMgY2FuJ3QgYmUgcGFyc2VkCgoyMDE0LTA2LTI3IDE3OjM1OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggY2FwcyBsZWFrIGluIHRlc3QKCSAgVGhlIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQgZG9lc24ndCB0YWtlIG93bmVyc2hpcCBvZiBjYXBzCgoyMDE0LTA2LTI3IDE3OjI3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBjYXBzIGxlYWtzCgkgIEZpeCBsZWFrIG9mIGNhcHMgZXZlbnQgYW5kIG9mIGNhcHMgb2JqZWN0cyB3aGVuIHNldHRpbmcgY2FwcyBvbgoJICBzaW5rIGFuZCBzcmMgcGFkcwoKMjAxNC0wNi0yNyAxNzowMDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1bnJlZiBldmVudHMgd2hlbiBmcmVlaW5nIGV2ZW50cyBsaXN0CgkgIEluc3RlYWQgb2YganVzdCBmZWVpbmcgdGhlIHF1ZXVlIHN0cnVjdHMKCjIwMTQtMDYtMjcgMTY6NTg6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBmaXggc2VnbWVudCBldmVudCBsZWFrCgkgIGdzdF9ldmVudF9yZXBsYWNlIGluY3JlbWVudHMgdGhlIHJlZmNvdW50CgoyMDE0LTA2LTI3IDEyOjUwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGF2b2lkIGNhbGxpbmcgZ19jb252ZXJ0IHdpdGggMC1zaXplZCBpbnB1dAoJICBBdm9pZHMgYW4gYXNzZXJ0aW9uLiBUaGUgY2FjaGVkIHN0cmluZyB3aWxsIGJlIGFzc2lnbmVkIGFuIGVtcHR5IHN0cmluZwoJICBhcyBpdHMgdmFsdWUgd2hlbiBzaXplIGlzIDAuCgoyMDE0LTA2LTI3IDEwOjUzOjIwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBtZW1vcnkgbGVhayBpbiBHc3RIMjY0UFBTLgoJICBUaGUgZ3N0X2gyNjRfcGFyc2VfcHBzKCkgZnVuY3Rpb24gZHluYW1pY2FsbHkgYWxsb2NhdGVzIHRoZSBzbGljZQoJICBncm91cCBpZHMgbWFwIGFycmF5LCBzbyB0aGF0IG5lZWRzIHRvIGJlIGNsZWFyZWQgYmVmb3JlIHBhcnNpbmcgYQoJICBuZXcgUFBTIE5BTCB1bml0IGFnYWluLCBvciB3aGVuIGl0IGlzIG5vIGxvbmdlciBuZWVkZWQuCgkgIExpa2V3aXNlLCBhIGNsZWFuIGNvcHkgdG8gdGhlIGludGVybmFsIE5BTCBwYXJzZXIgc3RhdGUgbmVlZHMgdG8gYmUKCSAgcGVyZm9ybWVkIHNvIHRoYXQgdG8gYXZvaWQgYSBkb3VibGUtZnJlZSBjb3JydXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjgyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjYgMTc6MTg6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCB0eXBvIGluIEdzdEgyNjRWVUlQYXJhbXMgZGVzY3JpcHRpb24uCgoyMDE0LTAxLTMxIDE3OjA3OjQyICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBSZWNvdmVyeSBQb2ludCBTRUkgbWVzc2FnZS4KCSAgVGhlIHJlY292ZXJ5IHBvaW50IFNFSSBtZXNzYWdlIGhlbHBzIGEgZGVjb2RlciBpbiBkZXRlcm1pbmluZyBpZiB0aGUKCSAgZGVjb2RpbmcgcHJvY2VzcyB3b3VsZCBwcm9kdWNlIGFjY2VwdGFibGUgcGljdHVyZXMgZm9yIGRpc3BsYXkgYWZ0ZXIKCSAgdGhlIGRlY29kZXIgaW5pdGlhdGVzIHJhbmRvbSBhY2Nlc3Mgb3IgYWZ0ZXIgdGhlIGVuY29kZXIgaW5kaWNhdGVzCgkgIGEgYnJva2VuIGxpbmsgaW4gdGhlIGNvZGVkIHZpZGVvIHNlcXVlbmNlLgoJICBUaGlzIGlzIG5vdCB1c2VkIGluIHRoZSBoMjY0cGFyc2UgZWxlbWVudCwgYnV0IGl0IGNvdWxkIGhlbHAgZGVidWdnaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzgwCgoyMDE0LTAzLTI1IDEyOjAxOjU1ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIG5hbF9yZWFkZXJfc2tpcF9sb25nKCkgaGVscGVyLgoJICBBZGQgbmFsX3JlYWRlcl9za2lwX2xvbmcoKSBoZWxwZXIgZnVuY3Rpb24gdG8gYWxsb3cgYW4gYXJiaXRyYXJ5IG51bWJlcgoJICBvZiBiaXRzIHRvIGJlIHNraXBwZWQuIFRoZSBmb3JtZXIgbmFsX3JlYWRlcl9za2lwKCkgZnVuY3Rpb24gaXMgdG9vCgkgIGxpbWl0ZWQgdG8gdGhlIGFjdHVhbCBjYWNoZSBzaXplLgoJICBVc2UgdGhpcyBuZXcgZnVuY3Rpb24gdG8gc2ltcGxpZnkgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaV9tZXNzYWdlKCkKCSAgZGVmYXVsdCBjYXNlLCB0aGF0IHNraXBzIHVuc3VwcG9ydGVkIHBheWxvYWRzLgoJICB2MjogbWFkZSBhcmdzIGNvbnNpc3RlbnQgZnJvbSBoZWFkZXIgdG8gc291cmNlIGZpbGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjcgMDA6MDk6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBhIHJlZmNvdW50IGVycm9yIHdoZW4ga2VlcGluZyB0aGUgYnVmZmVyCgkgIFdlIHRha2UgYSByZWYgb24gdGhlIHBhZCdzIGJ1ZmZlciBhdCB0aGUgYmVnaW5uaW5nIHNvIHdlIG5lZWQgdG8KCSAgdW5yZWYgd2hlbiB3ZSBhcmUgZG9uZSBpbiBhbGwgY2FzZXMuCgoyMDE0LTA2LTI2IDE1OjU5OjM1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZwODogbW92ZSB1cCBidWlsdC1pbiByYW5nZSBkZWNvZGVyIHByaXZhdGUgZGF0YS4KCSAgVXNlIHRoZSBmaXJzdCBfZ3N0X3Jlc2VydmVkW13CoHNsb3QgdG8gaG9sZCB0aGUgYnVpbHQtaW4gcmFuZ2UgZGVjb2RlcgoJICBwcml2YXRlIGRhdGEuIFRoZSBmaXJzdCBzbG90IHdhcyBmb3JtZXJseSB0aGUgYnVmZmVyIHNpemUsIHdoaWNoIHdhcwoJICB0aGVuIHByb21vdGVkIHRvIHNlbWktcHVibGljIG5hbWVzcGFjZSB3aGVuIGl0IGdvdCBpbnRlZ3JhdGVkIGFzIGdpdAoJICBjb21taXQgMjk0MGFjNi4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAxMToyNTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZyZWUgcGl4ZWwgc3dpenpsaW5nIGluZm9ybWF0aW9uCgoyMDE0LTA2LTI2IDExOjE1OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHJlbW92ZSByZWR1bmRhbnQvdW51c2VkIGxvY2sKCSAgVXNlIHRoZSBHc3RPYmplY3QgbG9jayBpbnN0ZWFkCgoyMDE0LTA2LTI2IDExOjEyOjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHJlbW92ZSByZWR1bmRhbnQgY3JlYXRpb24gYW5kIGZyZWUgb2YgR1B0ckFycmF5cwoJICBBbHNvIHBsdWdzIGEgbWVtb3J5IGxlYWsKCjIwMTQtMDYtMjYgMTA6NTQ6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcGx1ZyBhIG1lbW9yeSBsZWFrIGZvciB0aGUgY2FwcwoJICBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0KCkgdGFrZXMgYSByZWYgb24gdGhlIGNhcHMKCjIwMTQtMDYtMjYgMTA6NTM6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBwbHVnIGEgbWVtb3J5IGxlYWsgb2YgdGhlIHNyY2NhcHMKCjIwMTQtMDYtMjYgMTA6MzE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlcmNhcHMgaWYgYXZhaWxhYmxlCgoyMDE0LTA2LTI2IDEwOjMwOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSAgZ2w6IHVwZGF0ZSBnbGVzMiBjb21wYXRhYmlsaXR5IGhlYWRlcgoKMjAxNC0wNi0yNSAxNDo1MDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBVbmlmeSBBUEkgOiBHc3RNcGVndHMgLyBnc3RfbXBlZ3RzXyAvIEdTVF8qX01QRUdUU18KCSAgSXQgd2FzIHByZXZpb3VzbHkgYSBtaXggYW5kIG1hdGNoIG9mIGJvdGggdmFyaWFudHMsIGludHJvZHVjaW5nIGp1c3QgdG9vIG11Y2gKCSAgY29uZnVzaW9uLgoJICBUaGUgcHJlZml4IGFyZSBmcm9tIG5vdyBvbjoKCSAgKiBHc3RNcGVndHMgZm9yIHN0cnVjdHVyZXMgYW5kIHR5cGUgbmFtZXMgKGFuZCBub3QgR3N0TXBlZ1RzKQoJICAqIGdzdF9tcGVndHNfIGZvciBmdW5jdGlvbnMgKGFuZCBub3QgZ3N0X21wZWdfdHNfKQoJICAqIEdTVF9NUEVHVFNfIGZvciBlbnVtcy9mbGFncyAoYW5kIG5vdCBHU1RfTVBFR19UU18pCgkgICogR1NUX1RZUEVfTVBFR1RTXyBmb3IgdHlwZXMgKGFuZCBub3QgR1NUX1RZUEVfTVBFR19UU18pCgkgIFRoZSByYXRpb25hbGUgZm9yIGNob3NpbmcgdGhhdCBpczoKCSAgKiB0aGUgbmFtZXNwYWNlIGlzIHNob3J0ZXIvZGlyZWN0IChpdCdzIG1wZWd0cywgbm90IG1wZWdfdHMgbm9yIG1wZWctdHMpCgkgICogdGhlIG5hbWVzcGFjZSBpcyBvbmUgd29yZCB1bmRlciBHc3QKCSAgKiBpdCdzIHNob3J0ZXIgKHlhaCkKCjIwMTQtMDYtMjUgMTQ6MTM6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogRnJlZSBkYXRhIGluIGVycm9yIGNhc2VzCgkgIERhdGEgaXMgbWFya2VkIGFzICJ0cmFuc2ZlciBmdWxsIiwgaWYgd2UgaGF2ZSBhbiBlcnJvciB3ZSBuZWVkIHRvCgkgIGZyZWUgaXQuCgoyMDE0LTA2LTI1IDIyOjA1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcGFzcyB0aHJvdWdoIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHdoZW4gaW4gcGFzc3Rocm91Z2ggbW9kZQoJICBPdGhlcndpc2UgdHdvIEdMIGVsZW1lbnRzIG9uIGVpdGhlciBzaWRlIHdpbGwgZmFpbCB0byB1c2UgdGhlIHNhbWUKCSAgR0wgY29udGV4dC4KCjIwMTQtMDYtMjUgMjE6NTA6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwcmVmZXIgcGFzc3Rocm91Z2ggZm9yIG5vbi1zeXNtZW0gY2FwcwoKMjAxNC0wNi0yNSAxODoyMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsc2hhZGVyOiBlbmFibGUgZ2xzaGFkZXIgb24gR0xFUzIKCjIwMTQtMDYtMjQgMTk6Mzc6MTcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbGNvbG9yc2NhbGU6IGRvIHBhc3N0aHJvdWdoIG9uIHNhbWUgY2FwcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yNCAxOTozNTowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGhhbmRsZSBOVUxMIGRlY2lkZV9xdWVyeSB3aGljaCBtZWFucyBwYXNzdGhyb3VnaAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3OAoKMjAxNC0wNi0yNCAxOToyMzowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHByZXBlbmQgaW50ZXJzZWN0aW9uIHRvIHNyYyBjYXBzCgkgIFByZWZlciB0byBzdGF5IGluIHRoZSBzYW1lIG1lbW9yeSBzcGFjZSBpZiBwb3NzaWJsZS4KCSAgQWxzbyBpdCBsZXQgYSBjaGFuY2UgdG8gZG8gcGFzc3Rocm91Z2guCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTIyIDEzOjE0OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBlbmFibGUgZ2x2aWRlb21peGVyIG9uIEdMRVMyCgoyMDE0LTA2LTI0IDIyOjE1OjUzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWRkIGNvcHlyaWdodC9saWNlbnNlIHN0dWIgdG8gaGVhZGVyCgoyMDE0LTA2LTI0IDIwOjUyOjU0IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxNC0wNi0yNSAxMjowMDozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogYmFzIG91dHB1dCB3aWR0aC9oZWlnaHQgb24gdGhlIHBhZCBwcm9wZXJ0aWVzCgkgIEFsbG93cyBhdXRvbWF0aWMgbmVnb3RpYXRpb24gb2YgdGhlIHNpemUgaW4gdGhlIGZvbGxvd2luZyBjYXNlOgoJICBnc3QtbGF1bmNoLTEuMCBnbHZpZGVvbWl4ZXIgbmFtZT1tIHNpbmtfMDo6eHBvcz0wIHNpbmtfMTo6eHBvcz0zMjAgISBnbGltYWdlc2luayBcCgkgIHZpZGVvdGVzdHNyYyAhIG0uIFwKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49MSAhIG0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE4NzgKCjIwMTQtMDYtMjUgMTA6MTg6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IGNsb2JiZXIgYWxyZWFkeSBhbGxvY2F0ZWQgc2hhZGVyCgoyMDE0LTA2LTI0IDE2OjMyOjIyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJICBjdXJscz9mdHBzaW5rOiBGaXggbWVtb3J5IGxlYWtzIGR1ZSB0byBuZXcgZXJyb3IgaGFuZGxpbmcKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE3NAoKMjAxNC0wNi0yNCAxNjowNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogTW9yZSBkb2MgZml4ZXMKCSAgU3RpbGwgbm90IGRvbmUgOigKCjIwMTQtMDYtMjQgMTU6NDE6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogbW9yZSBhbm5vdGF0aW9uIGZpeGVzCgoyMDE0LTA2LTAxIDEwOjQ0OjIzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogY2hhbmdlIHRvIEdUeXBlIGFuZCBmcm9tIGdjaGFyW10gdG8gZ2NoYXIqCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjQgMjM6NTE6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogWEluaXRUaHJlYWRzIHdoZW4gZW52IHZhcmlhYmxlIGlzIHNldAoJICBUaGlzIGlzIHRvbyBhbGxvdyBnc3QtbGF1bmNoIGRlYnVnZ2luZyB3aXRoIG11bHRpcGxlIEdMIGNvbnRleHRzIGFzCgkgIHdlbGwgYXMgYXZvaWRpbmcgc2VnZmF1bHRpbmcgaW5ub2NlbnQgZ3RrKyBhcHBzIHRoYXQgaGF2ZSBub3QgY2FsbGVkCgkgIFhJbml0VGhyZWFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNQoKMjAxNC0wNi0yNCAyMzozMzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsOiBhZGQgYSBzY2FyeSBub3RlIGFib3V0IGluaXRpYWxpemluZyB0aHJlYWQgc3VwcG9ydCBmb3IgdGhlIHdpbnN5cwoJICBXZSBjYW5ub3QgZG8gaXQgYXMgdGhlIHdpbnN5cyBtYXkgY3Jhc2ggaWYgd2UgaW5pdGlhbGl6ZSB0b28gbGF0ZS4KCSAgRXhhbXBsZSwgR0xYIGNvbnRleHRzIHdpdGggSW50ZWwgZHJpdmVyczoKCSAgSW50ZWwgcmVxdWlyZXMgdGhlIFggRGlzcGxheSB0byBiZSB0aGUgc2FtZSBpbiBvcmRlciB0byBzaGFyZSBHTAoJICByZXNvdXJjZXMgYWNyb3NzIEdMIGNvbnRleHRzLiAgVGhlc2UgR0wgY29udGV4dHMgYXJlIGdlbmVyYWxseQoJICBhY2Nlc3NlZCBmcm9tIGRpZmZlcmVudCB0aHJlYWRzLiAgV2l0aG91dCB3aW5zeXMgc3VwcG9ydCBpdCBpcwoJICBuZWFybHkgaW1wb3NzaWJsZSB0byBndWFyZW50ZWUgdGhhdCBjb25jdXJyZW50IGFjY2VzcyB3aWxsIG5vdAoJICBvY2N1ci4gIFRoaXMgY29uY3VycmVudCBhY2Nlc3MgY291bGQgcmVzdWx0IGluIGNyYXNoZXMgb3IgYWJvcnRpb24KCSAgYnkgdGhlIHdpbnN5cyAoeGNiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyNQoKMjAxNC0wNi0yNCAxNDowNToxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRml4IGRlc2NyaXB0b3JfZnJvbV9kdmJfc2VydmljZQoJICBWYXJpb3VzIGxlYWtzL292ZXJ3cml0ZXMgaXNzdWVzCgoyMDE0LTA2LTI0IDEzOjQ2OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJICBhbGw6IERvbid0IGRlY2xhcmUgdmFyaWFibGVzIGluICdmb3InIGxvb3BzCgoyMDE0LTA2LTI0IDExOjI3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkgIGJhZGJhc2U6IFVzZSB0aGUgY29ycmVjdCBMREZMQUdTIGZvciBjcmVhdGluZyBsaWJyYXJpZXMKCSAgT3RoZXJ3aXNlIHdlIHdvbid0IGUuZy4gY3JlYXRlIC5kbGxzIG9uIFdpbmRvd3MKCjIwMTQtMDYtMjQgMDg6MDE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkgIGNvbXBvc2l0b3I6IEZpeCBNYWtlZmlsZSBDRkxBR1MvTElCQUREIG9yZGVyaW5nCgkgIFdlIHdhbnQgdG8gdXNlIHRoZSBsaWJyYXJpZXMgZnJvbSAtYmFkIGlmL3doZW4gcHJlc2VudAoKMjAxNC0wNi0yMyAyMDo0NDoyMyArMDIwMCAgRXJpYyBUcm91c3NldCA8ZXRyb3Vzc2V0QGF3b3guY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IFJlbGVhc2UgRDNEIHN1cmZhY2VzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDI2CgoyMDE0LTA2LTIzIDIwOjMzOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzc3JjOiBDbGFzc2lmaWNhdGlvbiBvZiB0aGUgZWxlbWVudCBmYWN0b3J5IHNob3VsZCBiZSBTb3VyY2UvIG5vdCBTcmMvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MTEKCjIwMTQtMDYtMjMgMjI6NDA6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IGNsb2JiZXIgYWxyZWFkeSBoZWFwIGFsbG9jYXRlZCB2aWRlbyBmcmFtZQoJICBDSUQgIyAxMjIzNDQwCgoyMDE0LTA2LTIzIDIyOjM2OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggdXAgdGhlIHBhcmVudCBjaGFpbmluZyBmb3IgZGlzcG9zZSBhbmQgZmluYWxpemUKCjIwMTQtMDYtMjMgMjE6NDM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbHVwbG9hZG1ldGE6IHJlZW5hYmxlIEdMTWVtb3J5IHVwbG9hZCBwYXRoCgoyMDE0LTA2LTIyIDIzOjM5OjE0IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGRpc2VxYy1zb3VyY2UgcHJvcCBuYW1lIGluIGV4YW1wbGUKCjIwMTQtMDYtMjIgMjE6MDQ6NDUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggbml0IG9uIHdhcm5pbmcgbWVzc2FnZQoKMjAxNC0wNi0yMiAyMjowNDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgJEVSUk9SX0NGTEFHUyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIC1XZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE2OTIKCjIwMTQtMDYtMTUgMjE6MTU6NTEgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAtV2Vycm9yIHRvIG1ha2UgdGhlIGluY2x1ZGUgR0wgYW5kIEdMRVMyIGhlYWRlciBjaGVjayBndWFyYW50ZWVkIGZhdGFsCgkgIENsYW5nIHdpbGwgb25seSBnaXZlIGEgd2FybmluZyBmb3IgdGhlIHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIEdMZW51bS4KCSAgU2luY2UgbWFzdGVyIGlzIGJ1aWxkIHdpdGggLVdlcnJvciB0aGlzIHdpbGwgcmVzdWx0IGluIGEgYnVpbGQgZmFpbHVyZQoJICBsYXRlciBpbiB0aGUgZ2wgcGx1Z2luLiBBZGQgLVdlcnJvciB0byB0aGUgdGVzdCwgc28gdGhlIHRlc3QgcmVzdWx0IGlzIGFzCgkgIGV4cGVjdGVkLiBUaGlzIHdpbGwgYWxsb3cgdGhlIGdsIHBsdWdpbnMgdG8gYnVpbGQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjkyCgoyMDE0LTA2LTE3IDE0OjIzOjQzICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGZpeCBodmNDIHNpemUgY2hlY2sKCSAgSW4gSVNPL0lFQyAxNDQ5Ni0xNSwgdGhlIG1pbmltdW0gc2l6ZSBvZiBhIEhFVkNEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZAoJICAoaS5lLiwgdGhlIGNvbnRlbnRzIG9mIGEgaHZjQyBib3gpIGlzIDIzIGJ5dGVzLiBIb3dldmVyLCB0aGUgY29kZSBpbiBoMjY1cGFyc2UKCSAgY2hlY2tzIHRoYXQgdGhlIHNpemUgb2YgdGhpcyBkYXRhIGlzIG5vdCBsZXNzIHRoYW4gMjggYnl0ZXMsIGFuZCBpdCByZWZ1c2VzIHRvCgkgIGFjY2VwdCBjYXBzIGlmIHRoZSBjaGVjayBmYWlscy4gVGhlIHJlc3VsdCBpcyB0aGF0IHN0YW5kYXJkcy1jb25mb3JtYW50IHN0cmVhbXMKCSAgdGhhdCBkb24ndCBjYXJyeSBhbnkgcGFyYW1ldGVyIHNldHMgaW4gdGhlaXIgaHZjQyBib3hlcyB3b24ndCBwbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTc4MwoKMjAxNC0wNi0xOSAyMDoxNTowNSArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgbW9kcGx1ZzogZG9uJ3QgaGFyZGNvZGUgYysrIHN0YW5kYXJkIGxpYnJhcnkKCSAgRml4ZXMgYnVpbGQgd2l0aCBsbHZtIG9uIEZyZWVCU0QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTMwCgoyMDE0LTA2LTIyIDE5OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMyA9PT0KCjIwMTQtMDYtMjIgMTk6MjI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4zCgoyMDE0LTA2LTIyIDE5OjA5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDYtMjIgMTg6NTg6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBOZWVkIHRvIGxpbmsgdG8gbmV3IGJhZHZpZGVvIGxpYnJhcnkgZm9yIHRoZSB2aWRlbyBhZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCjIwMTQtMDYtMjIgMTg6NTE6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIHZpZGVvOiBMaW5rIHdpdGggJChMSUJNKSBmb3IgcmludCgpIGFuZCBvdGhlcnMKCjIwMTQtMDYtMjIgMTQ6MjU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3VrLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNi0yMCAwODoyMDo1NSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogRml4IGRlY3J5cHRpbmcgZnJhZ21lbnRzCgkgIE9ubHkgcmVzZXQgdGhlIGRlY3J5cHRpb24gZW5naW5lIG9uIHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCwKCSAgbm90IGFnYWluIGZvciB0aGUgc2Vjb25kIGJ1ZmZlci4gIFRoaXMgZml4ZXMgY29ycnVwdGluZyB0aGUgc2Vjb25kCgkgIGJ1ZmZlciBvZiBhIGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTY4CgoyMDE0LTA2LTIyIDE0OjEyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBVc2UgdGhlIHBhZCBwYXNzZWQgdG8gdXMgZGlyZWN0bHkgZm9yIGRlZmF1bHQgZXZlbnQgaGFuZGxpbmcKCjIwMTQtMDYtMTkgMTc6MjQ6MjYgKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGRlZmF1bHQgcXVlcnkgc2hvdWxkIGJlIGZvcndhcmQgb24gdGFyZ2V0IHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxODk5CgoyMDE0LTA2LTIyIDEyOjMyOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHVwIGNvbW1lbnQKCjIwMTQtMDYtMjIgMDk6NDQ6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogbW92ZSBnbGVzMiBjb21wYXQgaGVhZGVyIHRvIGdscHJvdG90eXBlcwoKMjAxNC0wNi0yMiAwOTozNjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2xidWZmZXJwb29sOiBwcm92aWRlIGEgY29uc2lzdGVudCBBUEkgcmVnYXJkbGVzcyBvZiBwbGF0Zm9ybQoKMjAxNC0wNi0yMiAwOToyMjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgZ2w6IG1hcmsgbGlicmFyeSBhcyBBUEkgdW5zdGFibGUKCjIwMTQtMDYtMjEgMTY6NTc6MzQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgbGliczp1cmlkb3dubG9hZGVyOiBQcm9wZXJseSBkZWNsYXJlIEFQSXMgYXMgVU5TVEFCTEUKCjIwMTQtMDYtMjEgMTY6NTI6NTEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJICBsaWJzOnZpZGVvOiBQcm9wZXJseSBkZWNsYXJlIEFQSXMgYXMgVU5TVEFCTEUKCjIwMTQtMDYtMjEgMTY6NTE6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGxpYnM6YmFzZTogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjU3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHdheWxhbmRzaW5rLmM6NDgwOjE0OiBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24gb2YKCSAgdHlwZSAnZW51bSB3bF9zaG1fZm9ybWF0JyBpcyBhbHdheXMgZmFsc2UKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdlLWNvbXBhcmVdCgkgIGlmIChmb3JtYXQgPT0gLTEpCgkgIH5+fn5+fiBeICB+fgoKMjAxNC0wNi0yMSAxNjo1NTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVwZGF0ZSBjb21tZW50cyB0byB0aGUgbmV3IHJlYWxpdHkgYW5kIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTA2LTIxIDE1OjQwOjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIGxpYnM6dmlkZW86IEFkZCAtSSQodG9wX3NyY2RpcikvZ3N0LWxpYnMgdG8gZml4IGRpc3RjaGVjawoKMjAxNC0wNi0yMSAxNToyNjoxNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkgIGxpYnM6YmFzZTogRml4IGluY2x1ZGVkaXIKCjIwMTQtMDYtMjEgMTM6NDU6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAxNC0wNi0yMCAyMjowMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIGxpYnM6IHZpZGVvYWdncmVnYXRvOiBEbyBub3QgaW1wb3J0IHZpZGVvY29udmVydC5oIGluIGdzdHZpZGVvYWdncmVnYXRvcnBhZC5oCgkgICsgQWRkIGEgUHJpdmF0ZSBzdHJ1Y3R1cmUgdG8gdGhlIEdzdFZpZGVvQWdncmVnYXRvclBhZAoJICArIEFkZCBzb21lIHBhZGRpbmcKCjIwMTQtMDYtMjAgMjE6MTg6NTggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgRmluYWwgZml4IGNvbXBpbGF0aW9uCgoyMDE0LTA2LTIwIDIwOjExOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiByZW1vdmUgZ3N0LWxpYnMvZ3N0L3ZpZGVvLyBmcm9tIENSVUZUX0RJUlMKCSAgSXQgd2FzIGdvbmUsIGJ1dCBub3cgaXQncyBiYWNrLgoKMjAxNC0wNi0yMCAyMDoyMzozMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBsaWJzOnZpZGVvOkZpeCBjb21waWxhdGlvbgoKMjAxNC0wNi0yMCAxMToxMDo0NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDpnbHZpZGVvbWl4ZXI6IEFkZCB0aGUgQ29tcG9zaXRvciBpbiB0aGUgZWxlbWVudCBtZXRhZGF0YSBjbGFzcwoJICBTbyBpdCBpcyBwb3NzaWJsZSB0byBwaWNrIG9uZSBjb21wb3NpdGluZyBlbGVtZW50IGZyb20gdGhlIHJlZ2lzdHJ5CgoyMDE0LTA1LTIyIDE5OjQ2OjAyICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9jb21wb3NpdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZC5jOgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZC5oOgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZG9yYy5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLm9yYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcnBhZC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBBZGQgYSBuZXcgY29tcG9zaXRvciBiYXNlZCBvbiB0aGUgbmV3IEdzdFZpZGVvQWdncmVnYXRvciBiYXNlIGNsYXNzCgkgIEl0IGlzIGEgcmVwbGFjZW1lbnQgZm9yIHZpZGVvbWl4ZXIgd2l0aCBhIHNpbWlsYXJlIEFQSQoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE5CgoyMDE0LTA2LTEwIDExOjI2OjUzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIGdsOiBQb3J0IGdsbWl4ZXIgdG8gdGhlIEdzdFZpZGVvQWdncmVnYXRvciBiYXNlY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkyMQoKMjAxNC0wNi0wMyAxOTowMDozNCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLm9yYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8ucGMuaW46CgkgIHZpZGVvYWdncmVnYXRvcjogQ3JlYXRlIGEgbmV3IEdzdFZpZGVvQWdncmVnYXRvciBiYXNlY2xhc3MKCSAgVGhpcyBiYXNlIGNsYXNzIGhhcyBiZWVuIGFkZGVkIHRvIGEgbmV3bHkgY3JlYXRlZCBsaWJnc3RiYWR2aWRlbyBsaWJyYXJ5CgkgIENvLUF1dGhvcmVkIGJ5OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTgKCjIwMTQtMDUtMjIgMTk6NDQ6MzcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UucGMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIG5ldyBHc3RBZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCSAgVGhpcyBiYXNlIGNsYXNzIGhhcyBiZWVuIGFkZGVkIHRvIGEgbmV3bHkgY3JlYXRlZCBsaWJnc3RiYWRiYXNlIGxpYnJhcnkKCSAgQ28tQXV0aG9yZWQgYnk6IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxNwoKMjAxNC0wNi0yMCAxNDo1OToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2xlYXIgZXhjZXB0aW9ucyBhbHNvIHdoZW4gd2UgZGlkIG5vdCBwcm92aWRlIGEgR0Vycm9yCgoyMDE0LTA2LTE5IDExOjI2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBbHNvIGRvbid0IHJlcG9ydCB3YXJuaW5ncyBmb3IgcXVldWUvZGVxdWV1ZSBlcnJvcnMgZHVyaW5nIGZsdXNoaW5nIGluIGVycm9yIGNhc2VzCgkgIC4uLiBhbmQgZml4IGEgY2FzZSB3aGVyZSB3ZSByZWxlYXNlZCBhbiBpbnZhbGlkIGJ1ZmZlciBpbmRleC4KCjIwMTQtMDYtMTkgMTE6MTU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGNvbnNpZGVyIGlucHV0IGJ1ZmZlciBxdWV1ZWluZyBmYWlsdXJlcyBhcyBhbiBlcnJvciBkdXJpbmcgZmx1c2hpbmcKCjIwMTQtMDYtMTkgMTE6MTI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFuIHVwIGZsdXNoaW5nIGNvZGUgYW5kIGRvbid0IGNvbnNpZGVyIG91dHB1dCBidWZmZXIgcmVsZWFzaW5nIGZhaWx1cmVzIGR1cmluZyBmbHVzaGluZyBhcyBhbiBlcnJvcgoKMjAxNC0wNi0xOSAwOTo1NzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogSW5jbHVkZSB0aGUgZGVidWcgc3RyaW5nIGluIHRoZSBlcnJvciBtZXNzYWdlcyB3ZSBwcm9wYWdhdGUgZnJvbSB0IHNvdXJjZQoKMjAxNC0wNi0xOSAwOTo1NjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgdGhlIGRlYnVnIHN0cmluZyBpbiB0aGUgZXJyb3IgbWVzc2FnZXMgd2UgcHJvcGFnYXRlIGZyb20gdGhlIHNvdXJjZQoKMjAxNC0wNi0xOSAwOTo1NDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgYSBtb3JlIGRlc2NyaXB0aXZlIGVycm9yIG1lc3NhZ2UKCjIwMTQtMDYtMTkgMDk6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFByb3BhZ2F0ZSBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudCB1cCBpbiB0aGUgaGllcmFyY2h5CgkgIEluc3RlYWQgb2YgaW52ZW50aW5nIG91ciBvd24gZ2VuZXJpYyBlcnJvciBzdHJpbmdzIHdoaWNoIGFyZSBtb3N0bHkgdXNlbGVzcy4KCjIwMTQtMDYtMTkgMDk6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEaXJlY3RseSBjb252ZXJ0IEdFcnJvcnMgdG8gZXJyb3IgbWVzc2FnZXMKCSAgVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IGxlYWsgZGVidWcgaW5mb3JtYXRpb24gaW50byB0aGUgYWN0dWFsCgkgIGVycm9yIG1lc3NhZ2Ugc3RyaW5nIGFuZCBrZWVwIGl0IGJlaGluZCB0aGUgZGVidWcgc3RyaW5nLgoKMjAxNC0wNi0xNyAxMTo0ODoxMiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIGdzdHNydHBlbmM6IHVucmVmIGV2ZW50IHdoZW4gbmVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjgKCjIwMTQtMDYtMTggMTU6MzY6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBpbXByb3ZlIHByb3BlcnR5IGNvbW1lbnRzCgkgIEFkZCBhIE5vdGUgdG8gdGhlIGFsbG93LXJlcGVhdC10eCBwcm9wZXJ0eSBiZWNhdXNlIGl0IGlzIHBvdGVudGlhbGx5CgkgIGluc2VjdXJlIHdoZW4gdXNlZCBpbmNvcnJlY3RseS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTcxNAoKMjAxNC0wNi0xMyAxMToxNToyNSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgZ3N0c3J0cGVuYzogYWRkIGFsbG93LXJlcGVhdC10eCBwcm9wZXJ0eQoKMjAxNC0wNS0yNyAxMjo0MDowOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgb3BlbmdsOiBhZGQgZWxlbWVudCBmb3IgdHJhbnNmb3JtaW5nIHZpZGVvIGdlb21ldHJ5CgkgICogYWRkIGdyYXBoZW5lIGFzIHNvZnQgZGVwZW5kZW5jeSBmb3IgbGluZWFyIGFsZ2VicmEKCjIwMTQtMDYtMTggMTA6MTM6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJICBwbm06IGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MjMKCjIwMTQtMDYtMTcgMjM6MjA6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogZG9uJ3Qgc2VnZmF1bHQgbmVlZGxlc3NseSB3aXRoIEdMRVMyCgkgIGdzdF9nbF9mcmFtZWJ1ZmZlcl91c2VfdjIgd2FzIHVzaW5nIGEgZnVuY3Rpb24gdGhhdCBpcyBub3QgYXZhaWxhYmxlCgkgIHdpdGggR0xFUzIKCjIwMTQtMDYtMTYgMjA6MzY6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJICBnbGZpbHRlcnNoYWRlcjogcG9ydCB0byBHTEVTMgoJICBQcm92aWRlIGEgdGltZSB2YXJpYWJsZQoKMjAxNC0wNi0xNyAxMzo0ODoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIGV4cG9ydHMgZm9yIGNoYW5nZWQgaDI2NCBjb2RlYyBwYXJzZXIgQVBJCgoyMDE0LTA2LTE3IDEyOjUwOjE3ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tZGVjOiBBZGRlZCBQQk0gU3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTIzCgoyMDE0LTA2LTE3IDEzOjE1OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBhZGQgdW5zdGFibGUgQVBJIGd1YXJkcyB0byB3YXlsYW5kIGxpYnJhcnkgaGVhZGVyCgoyMDE0LTA2LTE3IDEzOjExOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIGdzdC1saWJzOiBmaXggdW5pbnN0YWxsZWQgYnVpbGQgb2YgbmV3IHdheWxhbmQgbGliCgoyMDE0LTA2LTE2IDE4OjUzOjUzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rL3dsZGlzcGxheTogdmVyaWZ5IHRoYXQgYWxsIHRoZSByZXF1aXJlZCBpbnRlcmZhY2VzIGhhdmUgYmVlbiBmb3VuZCBvbiB0aGUgY29tcG9zaXRvcgoJICBUaGlzIGFsbG93cyB3YXlsYW5kc2luayB0byBmYWlsIGdyYWNlZnVsbHkgYmVmb3JlIGdvaW5nIHRvIFJFQURZCgkgIGluIGNhc2Ugb25lIG9mIHRoZSByZXF1aXJlZCBpbnRlcmZhY2VzIGRvZXMgbm90IGV4aXN0LiBOb3QgYWxsCgkgIGludGVyZmFjZXMgYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIG1vZGVzIG9mIG9wZXJhdGlvbiwgYnV0IGl0IGlzCgkgIGJldHRlciBpbWhvIHRvIGZhaWwgYmVmb3JlIGdvaW5nIHRvIFJFQURZIGlmIGF0IGxlYXN0IG9uZSBmZWF0dXJlCgkgIGlzIG5vdCBzdXBwb3J0ZWQsIHRoYW4gdG8gZmFpbCBhbmQvb3IgY3Jhc2ggYXQgc29tZSBsYXRlciBwb2ludC4KCSAgSW4gdGhlIGZ1dHVyZSB3ZSBtYXkgd2FudCB0byByZWxheCB0aGlzIHJlc3RyaWN0aW9uIGFuZCBhbGxvdyBjZXJ0YWluCgkgIGludGVyZmFjZXMgbm90IHRvIGJlIHByZXNlbnQgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBmb3IgZXhhbXBsZQoJICBpZiB0aGVyZSBpcyBhbiBhbHRlcm5hdGl2ZSBzaW1pbGFyIGludGVyZmFjZSBhdmFpbGFibGUgKGZvciBpbnN0YW5jZSwKCSAgeGRnX3NoZWxsIGluc3RlYWQgb2Ygd2xfc2hlbGwpLCBidXQgZm9yIG5vdyBsZXQncyByZXF1aXJlIHRoZW0gYWxsLgoJICBXZXN0b24gc3VwcG9ydHMgdGhlbSBhbGwsIHdoaWNoIGlzIGVub3VnaCBmb3IgdXMgbm93LiBPdGhlciBjb21wb3NpdG9ycwoJICBzaG91bGQgcmVhbGx5IGltcGxlbWVudCB0aGVtIGlmIHRoZXkgZG9uJ3QgYWxyZWFkeS4gSSBkb24ndCBsaWtlIHRoZQoJICBpZGVhIG9mIHN1cHBvcnRpbmcgbWFueSBkaWZmZXJlbnQgY29tcG9zaXRvcnMgd2l0aCBkaWZmZXJlbnQgc2V0cyBvZgoJICBpbnRlcmZhY2VzIGltcGxlbWVudGVkLiB3bF9zdWJjb21wb3NpdG9yLCB3bF9zaG0gYW5kIHdsX3NjYWxlciBhcmUKCSAgcmVhbGx5IGVzc2VudGlhbCBmb3IgaGF2aW5nIGEgbmljZSB2aWRlbyBzaW5rLiBFbm91Z2ggc2FpZC4KCjIwMTQtMDYtMTYgMTg6MDM6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSBidWZmZXIgZnJvbSB0aGUgc3VyZmFjZSB3aGVuIGdvaW5nIFBBVVNFRCAtPiBSRUFEWQoJICBUaGlzIGVzc2VudGlhbGx5IGhpZGVzIHRoZSB2aWRlbyBhbmQgYWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0bwoJICBwb3RlbnRpYWxseSBkcmF3IGEgYmxhY2sgYmFja2dyb3VuZCBvciB3aGF0ZXZlciBlbHNlIGl0IHdhbnRzLgoJICBUaGlzIGFsbG93cyB0byBkaWZmZXJlbnRpYXRlIHRoZSAicGF1c2VkIiBhbmQgInN0b3BwZWQiIG1vZGVzCgkgIGZyb20gdGhlIHVzZXIncyBwb2ludCBvZiB2aWV3LgoJICBBbHNvIHJld29yZGVkIGEgY29tbWVudCB0aGVyZSB0byBtYWtlIG15IHRoaW5raW5nIG1vcmUgY2xlYXIsCgkgIHNpbmNlIHRoZSAicmVhc29uIGZvciBrZWVwaW5nIHRoZSBkaXNwbGF5IGFyb3VuZCIgaXMgbm90IHJlYWxseQoJICB0aGUgZXhwb3NlZCgpIGNhbGxzLCBhcyB0aGVyZSBpcyBubyBidWZmZXIgc2hvd24gaW4gUkVBRFkvTlVMTAoJICBhbnltb3JlLgoKMjAxNC0wNi0xMiAxNzo0Mzo0MCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQucGMuaW46CgkgIHdheWxhbmQ6IGluc3RhbGwgLnBjIGZpbGUKCjIwMTQtMDYtMTMgMTY6Mzc6MzggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luay93bHdpbmRvdzogZG8gbm90IGNvbW1pdCBhIHJlc2l6ZSB3aGVuIGl0IGhhcHBlbnMgZHVlIHRvIGEgdmlkZW8gaW5mbyBjaGFuZ2UKCSAgMSkgV2Uga25vdyB0aGF0IGdzdF93YXlsYW5kX3NpbmtfcmVuZGVyKCkgd2lsbCBjb21taXQgdGhlIHN1cmZhY2UKCSAgaW4gdGhlIHNhbWUgdGhyZWFkIGEgbGl0dGxlIGxhdGVyLCBhcyBnc3Rfd2xfd2luZG93X3NldF92aWRlb19pbmZvKCkKCSAgaXMgYWx3YXlzIGNhbGxlZCBmcm9tIHRoZXJlLCBzbyB3ZSBjYW4gc2F2ZSB0aGUgY29tcG9zaXRvciBmcm9tCgkgIHNvbWUgZXh0cmEgY2FsY3VsYXRpb25zLgoJICAyKSBXZSBzaG91bGQgbm90IGNvbW1pdCBhIHJlc2l6ZSB3aXRoIHRoZSBuZXcgdmlkZW8gaW5mbyB3aGlsZSB3ZSBhcmUgc3RpbGwKCSAgc2hvd2luZyB0aGUgYnVmZmVyIG9mIHRoZSBwcmV2aW91cyB2aWRlbywgd2l0aCB0aGUgb2xkIGNhcHMsIGFzIHRoYXQKCSAgd291bGQgcHJvYmFibHkgYmUgYSB2aXNpYmxlIHJlc2l6ZSBnbGl0Y2guCgoyMDE0LTA2LTEzIDE2OjI5OjMyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IHRha2UgaW50byBhY2NvdW50IHRoZSB2aWRlbyBhc3BlY3QgcmF0aW8gd2hlbiBkZXRlcm1pbmluZyB0aGUgc2l6ZSBvZiB0aGUgc3VyZmFjZQoKMjAxNC0wNi0xMyAxNTo1ODowOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBpbXByb3ZlIHRoZSB3YXkgdGhlIHZpZGVvIHNpemUgaXMgcGFzc2VkIHRvIHdsd2luZG93IGFuZCBhbHNvIGltcHJvdmUgdGhlIGNvZGUgZm9yIHdpbmRvdyBjcmVhdGlvbgoKMjAxNC0wNi0wNiAxMjo0OTo1NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogcmVuYW1lIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgdG8gYmVnaW4vZW5kX2dlb21ldHJ5X2NoYW5nZSBhbmQgdXBkYXRlIHRoZWlyIGRvY3VtZW50YXRpb24KCjIwMTQtMDUtMjkgMTI6Mjc6NDYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSBtYW51YWwgc3luY2hyb25pemF0aW9uIGZyb20gcGF1c2UvcmVzdW1lX3JlbmRlcmluZyBhbmQgdXNlIHN1YnN1cmZhY2Ugc3luYy9kZXN5bmMKCSAgUHJldmlvdXNseSwgaW4gb3JkZXIgdG8gY2hhbmdlIHRoZSBzdXJmYWNlIHNpemUgd2UgaGFkIHRvIGxldCB0aGUgcGlwZWxpbmUKCSAgcmVkcmF3IGl0LCB3aGljaCBhdCBmaXJzdCBhbHNvIGludm9sdmVkIHJlLW5lZ290aWF0aW5nIGNhcHMsIGV0Yywgc28gYQoJICBzeW5jaHJvbml6YXRpb24gd2l0aCB0aGUgcGlwZWxpbmUgd2FzIGFic29sdXRlbHkgbmVjZXNzYXJ5LgoJICBBdCB0aGUgbW9tZW50LCB3ZSBhcmUgdXNpbmcgd2xfdmlld3BvcnQsIHdoaWNoIHNlcGFyYXRlcyB0aGUgc3VyZmFjZSBzaXplCgkgIGZyb20gdGhlIGJ1ZmZlciBzaXplIGFuZCBpdCBhbHNvIGFsbG93cyB1cyB0byBjb21taXQgYSBzdXJmYWNlIHJlc2l6ZSB3aXRob3V0CgkgIGF0dGFjaGluZyBhIG5ldyBidWZmZXIsIHNvIGl0IGlzIGVub3VnaCB0byBqdXN0IGRvOgoJICBnc3Rfd2F5bGFuZF92aWRlb19wYXVzZV9yZW5kZXJpbmcoKToKCSAgd2xfc3Vic3VyZmFjZV9zZXRfc3luYygpCgkgIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X3Bvc2l0aW9uKCkKCSAgd2xfdmlld3BvcnRfc2V0X2Rlc3RpbmF0aW9uKCkKCSAgd2xfc3VyZmFjZV9kYW1hZ2UoKQoJICB3bF9zdXJmYWNlX2NvbW1pdCgpCgkgIC4uLiBjb21taXQgdGhlIHBhcmVudCBzdXJmYWNlIC4uLgoJICBnc3Rfd2F5bGFuZF92aWRlb19yZXN1bWVfcmVuZGVyaW5nKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X2Rlc3luYygpCgkgIFRoaXMgaXMgZW5vdWdoIHRvIHN5bmNocm9uaXplIGEgc3VyZmFjZSByZXNpemUgYW5kIHRoZSBwaXBlbGluZSBjYW4gY29udGludWUKCSAgZHJhd2luZyBpbmRlcGVuZGVudGx5LiBOb3cgb2YgY291cnNlLCB0aGUgbmFtZXMgcGF1c2UvcmVzdW1lX3JlbmRlcmluZyBhcmUKCSAgYmFkLiBJIHdpbGwgcmVuYW1lIHRoZW0gaW4gYW5vdGhlciBjb21taXQuCgoyMDE0LTA2LTA2IDEyOjEwOjI0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHByb3RlY3QgYWNjZXNzIHRvIHByb3BlcnRpZXMgd2l0aCB0aGUgT0JKRUNUX0xPQ0sKCjIwMTQtMDYtMDYgMTI6MDQ6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcHJvdGVjdCBhY2Nlc3MgdG8gdGhlIGRpc3BsYXkgd2l0aCBhIG5ldyBkaXNwbGF5X2xvY2sKCSAgQWNjZXNzIGlzIHByb3RlY3RlZCBvbmx5IGZvciBzZXR0aW5nL2NyZWF0aW5nL2Rlc3Ryb3lpbmcgdGhlIGRpc3BsYXkKCSAgaGFuZGxlLiBzZXRfY2FwcygpIGZvciBleGFtcGxlIGlzIG5vdCBwcm90ZWN0ZWQgYmVjYXVzZSBpdCBjYW5ub3QgYmUKCSAgY2FsbGVkIGJlZm9yZSBjaGFuZ2luZyBzdGF0ZSB0byBSRUFEWSwgYXQgd2hpY2ggcG9pbnQgdGhlcmUgd2lsbCBiZQoJICBhIGRpc3BsYXkgaGFuZGxlIGF2YWlsYWJsZSBhbmQgd2hpY2ggY2Fubm90IGNoYW5nZSBieSBhbnkgdGhyZWFkIGF0CgkgIHRoYXQgcG9pbnQKCjIwMTQtMDYtMDYgMTA6MzU6MjAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSBPQkpFQ1RfTE9DSyBmcm9tIHNldF9jYXBzKCkKCSAgSXQncyBub3QgcmVhbGx5IG5lY2Vzc2FyeSwgdGhpcyBtZXRob2QgaXMgcHJvdGVjdGVkIGZyb20gR3N0QmFzZVNpbmsgd2l0aCB0aGUgUFJFUk9MTF9MT0NLCgoyMDE0LTA1LTI4IDEzOjEwOjQzICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IFJlcGxhY2UgdGhlIE9CSkVDVF9MT0NLIHdpdGggYSBwcml2YXRlIHJlbmRlcl9sb2NrIHRvIGxvY2sgcmVuZGVyIG9wZXJhdGlvbnMKCSAgVGhpcyBpcyBiZWNhdXNlOgoJICAqIEdTVF9FTEVNRU5UX1dBUk5JTkcvRVJST1IgZG8gbG9jayB0aGUgT0JKRUNUX0xPQ0sgYW5kIHdlIGRlYWRsb2NrIGluc3RhbnRseQoJICAqIEluIGZ1dHVyZSBjb21taXRzIEkgd2FudCB0byBtYWtlIHVzZSBvZiBHc3RCYXNlU2luayBmdW5jdGlvbnMgdGhhdCBhbHNvCgkgIGxvY2sgdGhlIE9CSkVDVF9MT0NLIGluc2lkZSB0aGlzIGNvZGUKCjIwMTQtMDUtMjYgMTQ6MTM6NTYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogbW92ZSBzdXJmYWNlIHJlc2l6aW5nIGxvZ2ljIHRvIHRoZSBHc3RXbFdpbmRvdyBhbmQgbWFrZSBpdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCjIwMTQtMDUtMjYgMTI6NTQ6MTAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogY2xlYW51cCBHc3RXbFdpbmRvdyBhIGJpdCBhZnRlciB0aGUgb3ZlcmxheWluZyBzZW1hbnRpY3MgY2hhbmdlCgkgICogb3duX3N1cmZhY2UgaXMgbm90IG5lZWRlZCBhbnltb3JlCgkgICogZ3N0X3dsX3dpbmRvd19mcm9tX3N1cmZhY2UgaXMgbm90IHVzZWQgZXh0ZXJuYWxseSBhbnltb3JlCgkgICogbWFueSBpbml0aWFsaXphdGlvbnMgdG8gMCBhcmUgbm90IG5lZWRlZCAoR09iamVjdCBkb2VzIHRoZW0pCgoyMDE0LTA1LTI2IDExOjM0OjUxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IHJlbW92ZSBnc3Rfd2F5bGFuZF92aWRlb19zZXRfc3VyZmFjZV9zaXplKCkKCSAgTm90IG5lZWRlZCBhbnltb3JlLCBzaW5jZSB3ZSB1c2UgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUoKQoKMjAxNC0wNS0yMyAxODoxODozMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGNyZWF0ZSBhbmQgbWFpbnRhaW4gdGhlIHN1YnN1cmZhY2UgaW5zaWRlIHRoZSBzaW5rCgkgIFRoaXMgbWVhbnMgdGhhdCB0aGUgZ2l2ZW4gc3VyZmFjZSBpbiBzZXRfd2luZG93X2hhbmRsZSBjYW4gbm93IGJlCgkgIHRoZSB3aW5kb3cncyB0b3AtbGV2ZWwgc3VyZmFjZSBvbiB0b3Agb2Ygd2hpY2ggd2F5bGFuZHNpbmsgY3JlYXRlcwoJICBpdHMgb3duIHN1YnN1cmZhY2UgZm9yIHJlbmRlcmluZyB0aGUgdmlkZW8uCgkgIFRoaXMgaGFzIG1hbnkgYWR2YW50YWdlczoKCSAgKiBXZSBjYW4gbWFpbnRhaW4gYXNwZWN0IHJhdGlvIGJ5IG92ZXJsYXlpbmcgdGhlIHN1YnN1cmZhY2UgaW4KCSAgdGhlIGNlbnRlciBvZiB0aGUgZ2l2ZW4gYXJlYSBhbmQgZmlsbCB0aGUgcGFyZW50IHN1cmZhY2UncyBhcmVhCgkgIGJsYWNrIGluIGNhc2Ugd2UgbmVlZCB0byBkcmF3IGJvcmRlcnMgKGluc3RlYWQgb2YgYWRkaW5nIGFub3RoZXIKCSAgc3Vic3VyZmFjZSBpbnNpZGUgdGhlIHN1YnN1cmZhY2UgZ2l2ZW4gZnJvbSB0aGUgYXBwbGljYXRpb24sCgkgIHNvLCBsZXNzIHN1YnN1cmZhY2VzKQoJICAqIFdlIGNhbiBtb3JlIGVhc2lseSBzdXBwb3J0IHRvb2xraXRzIHdpdGhvdXQgc3Vic3VyZmFjZXMgKHNlZSBndGspCgkgICogV2UgY2FuIGdldCBwcm9wZXJseSB1c2UgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUKCSAgYXMgb3VyIGFwaSB0byBzZXQgdGhlIHZpZGVvIGFyZWEgc2l6ZSBmcm9tIHRoZSBhcHBsaWNhdGlvbiBhbmQKCSAgdGhlcmVmb3JlIHJlbW92ZSBnc3Rfd2F5bGFuZF92aWRlb19zZXRfc3VyZmFjZV9zaXplLgoKMjAxNC0wNS0yMyAxMzowOToyNyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBhZGQgcHVibGljIEFQSSBmb3IgY3JlYXRpbmcgJiB1c2luZyB0aGUgZGlzcGxheSBoYW5kbGUgR3N0Q29udGV4dAoKMjAxNC0wNS0yMSAxODoyNzoyOCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IGdldCB0aGUgZXh0ZXJuYWwgZGlzcGxheSBoYW5kbGUgdXNpbmcgR3N0Q29udGV4dAoJICBUaGlzIGRyb3BzIHRoZSB1Z2x5IEdzdFdheWxhbmRXaW5kb3dIYW5kbGUgc3RydWN0dXJlIGFuZCBpcyBtdWNoCgkgIG1vcmUgZWxlZ2FudCBiZWNhdXNlIHdlIGNhbiBub3cgcmVxdWVzdCB0aGUgZGlzcGxheSBzZXBhcmF0ZWx5CgkgIGZyb20gdGhlIHdpbmRvdyBoYW5kbGUuIFRoZXJlZm9yZSB0aGUgd2luZG93IGhhbmRsZSBjYW4gYmUgcmVxdWVzdGVkCgkgIGluIHJlbmRlcigpLCBpLmUuIHdoZW4gaXQgaXMgcmVhbGx5IG5lZWRlZCBhbmQgd2UgY2FuIHN0aWxsIG9wZW4KCSAgdGhlIGNvcnJlY3QgZGlzcGxheSBmb3IgZ2V0dGluZyBjYXBzIGFuZCBjcmVhdGluZyB0aGUgcG9vbCBlYXJsaWVyLgoJICBUaGlzIGNoYW5nZSBhbHNvIHNlcGFyYXRlcyBzZXR0aW5nIHRoZSB3bF9zdXJmYWNlIGZyb20gc2V0dGluZyBpdHMgc2l6ZS4KCSAgQXBwbGljYXRpb25zIHNob3VsZCBkbyB0aGF0IGJ5IGNhbGxpbmcgdHdvIGZ1bmN0aW9ucyBpbiBzZXF1ZW5jZToKCSAgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3dpbmRvd19oYW5kbGUgKG92ZXJsYXksIHN1cmZhY2UpOwoJICBnc3Rfd2F5bGFuZF92aWRlb19zZXRfc3VyZmFjZV9zaXplIChvdmVybGF5LCB3LCBoKTsKCjIwMTQtMDUtMjEgMTM6MTQ6MTUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogZHJvcCB3aWR0aC9oZWlnaHQgYXJndW1lbnRzIGZyb20gZ3N0X3dsX3dpbmRvd19uZXdfZnJvbV9zdXJmYWNlKCkKCjIwMTQtMDUtMjIgMTA6MTA6NTEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogYWRkIEdfQkVHSU4vRU5EX0RFQ0xTIG9uIGFsbCBoZWFkZXJzIGZvciBjb25zaXN0ZW5jeQoKMjAxNC0wNS0yMSAxMjo1ODoxMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBzdG9wcGluZyBpbW1lZGlhdGVseSBhZnRlciBzdGFydGluZywgd2l0aG91dCBkaXNwbGF5aW5nIGFueXRoaW5nCgkgIFRoaXMgd2FzIHRyaWdnZXJlZCBpbiBzY2VuYXJpb3MgbGlrZQoJICBmaWxlc3JjIGxvY2F0aW9uPW5vbmV4aXN0ZW50X2ZpbGUgISBkZWNvZGViaW4gISB3YXlsYW5kc2luawoKMjAxNC0wNS0yMSAxMTo1NTo0NSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3NjYWxlci54bWw6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luazogVXBkYXRlIHdsX3NjYWxlciB0byB2ZXJzaW9uIDIKCjIwMTQtMDUtMjAgMTk6MDQ6MTYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZC9NYWtlZmlsZS5hbTogbGluayB3aXRoIGdzdHZpZGVvIHRvIGF2b2lkIGludHJvc3BlY3Rpb24gZXJyb3JzCgoyMDE0LTA1LTIwIDE5OjAzOjM5ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmRzaW5rL01ha2VmaWxlLmFtOiBGaXggc2NhbGVyLWNsaWVudC1wcm90b2NvbC5oIGdlbmVyYXRpb24KCjIwMTQtMDMtMTMgMTM6MTM6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDE0LTAzLTEyIDE5OjI1OjA2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgbGlzdAoKMjAxNC0wMy0xMiAxNzowMzoxMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luay93bGRpc3BsYXk6IGJpbmQgdG8gdGhlIGxhdGVzdCBhdmFpbGFibGUgd2xfY29tcG9zaXRvciB2ZXJzaW9uCgoyMDE0LTAzLTEyIDE0OjI4OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGNyZWF0ZS9kZXN0cm95IHRoZSBkaXNwbGF5IHdoZW4gZW50ZXJpbmcvbGVhdmluZyB0aGUgUkVBRFkgc3RhdGUgaW5zdGVhZCBvZiBQQVVTRUQKCSAgVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gZ2V0IHRoZSBuZWdvdGlhdGlvbiB3b3JraW5nIHdpdGggdGhlIGR5bmFtaWMKCSAgZGV0ZWN0aW9uIG9mIGZvcm1hdHMgZnJvbSB0aGUgZGlzcGxheSwgYmVjYXVzZSB0aGUgcGlwZWxpbmUgbmVlZHMKCSAgdG8ga25vdyB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgaW4gdGhlIFJFQURZIHN0YXRlIGFuZCB0aGUgc3VwcG9ydGVkCgkgIGZvcm1hdHMgY2FuIG9ubHkgYmUga25vd24gaWYgd2Ugb3BlbiB0aGUgZGlzcGxheS4KCSAgVW5mb3J0dW5hdGVseSxpbiB3YXlsYW5kIHdlIGNhbm5vdCBoYXZlIGEgc2VwYXJhdGUgY29ubmVjdGlvbiB0bwoJICB0aGUgZGlzcGxheSBmcm9tIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbiwgc28gd2UgbmVlZCB0byBhc2sgZm9yIGEKCSAgd2luZG93IGhhbmRsZSB3aGVuIGdvaW5nIHRvIFJFQURZIGluIG9yZGVyIHRvIGdldCB0aGUgZGlzcGxheSBmcm9tIGl0LgoJICBBbmQgc2luY2UgaXQncyB0b28gZWFybHkgdG8gY3JlYXRlIGEgdG9wIGxldmVsIHdpbmRvdyBmcm9tIHRoZSBzdGF0ZQoJICBjaGFuZ2UgdG8gUkVBRFksIGNyZWF0ZSBpdCBpbiByZW5kZXIoKSB3aGVuIHRoZXJlIGlzIG5vIG90aGVyIHdpbmRvdy4KCSAgVGhpcyBhbHNvIGNoYW5nZXMgc2V0X3dpbmRvd19oYW5kbGUoKSB0byBub3Qgc3VwcG9ydCB3aW5kb3cgaGFuZGxlCgkgIGNoYW5nZXMgaW4gUEFVU0VEL1BMQVlJTkcgKGJlY2F1c2UgaXQncyBjb21wbGV4IHRvIGhhbmRsZSBhbmQgdXNlbGVzcwoJICBpbiBwcmFjdGljZSkgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZXJlIGlzIGFsd2F5cyBhIHZhbGlkIGRpc3BsYXkgcG9pbnRlcgoJICBhcm91bmQgaW4gdGhlIFJFQURZIHN0YXRlLgoKMjAxNC0wMy0xMiAxNDoxMzo0OSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBTdXBwb3J0IGFsbCB2aWRlbyBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgZGlzcGxheQoKMjAxNC0wMy0xMiAxMzo1NDo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggY3Jhc2ggaW4gY2FzZSB0aGVyZSBpcyBubyBwb29sIGJlY2F1c2Ugb2YgYSBjYXBzIG5lZ290aWF0aW9uIGVycm9yCgoyMDE0LTAzLTExIDE5OjQ3OjUyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IHNldCBhbiBlbXB0eSBpbnB1dCByZWdpb24gb24gdGhlIHZpZGVvIHN1cmZhY2UKCjIwMTQtMDMtMTEgMTk6NDY6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luay93bHdpbmRvdzogcmV1c2UgY29kZSBiZXR3ZWVuIHRoZSB0d28gY29uc3RydWN0b3JzCgoyMDE0LTAzLTExIDE4OjQ1OjIzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGluY3JlYXNlIGRlYnVnIG1lc3NhZ2VzCgoyMDE0LTAzLTExIDE3OjQ4OjQ2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IFVzZSBhIGJvb2xlYW4gaW4gY29tYmluYXRpb24gd2l0aCByZW5kZXJfY29uZCB0byBjb21wbHkgd2l0aCBHQ29uZCdzIHVzYWdlIGRvY3VtZW50YXRpb24KCjIwMTQtMDMtMTEgMTc6NDU6MDUgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogSW1wbGVtZW50IGV4cG9zZSgpIGFuZCBoYW5kbGUgcmVzaXppbmcgcHJvcGVybHkgaW4gbm9uLVBMQVlJTkcgc3RhdGVzCgoyMDE0LTAzLTExIDEzOjE0OjAwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogVXNlIHdsX3NjYWxlci93bF92aWV3cG9ydCB0byBzY2FsZSB0aGUgc3VyZmFjZSBpbiB0aGUgY29tcG9zaXRvci9oYXJkd2FyZQoKMjAxNC0wMy0xMSAxMzowNTo1NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvLmdpdGlnbm9yZToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL3NjYWxlci54bWw6CgkgIHdheWxhbmRzaW5rOiBCdWlsZCBiaW5kaW5ncyBmb3IgdGhlIHVuc3RhYmxlIHdsX3NjYWxlciBzcGVjCgoyMDE0LTAzLTEwIDEzOjUwOjA2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFNldCBleHRlcm5hbCBzdXJmYWNlcyBhbmQgdGhlaXIgY2hpbGQgb2JqZWN0cyB0byB1c2Ugb3VyIG93biBldmVudCBxdWV1ZQoJICBUaGlzIGZpeGVzIHdlaXJkIGZyZWV6ZXMgYmVjYXVzZSBvZiBmcmFtZV9yZWRyYXdfY2FsbGJhY2soKSBub3QgYmVpbmcKCSAgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkIHdoZW4gaXQgc2hvdWxkIHdpdGggd2VzdG9uJ3MgdG95IHRvb2xraXQuCgkgIEl0J3MgYWxzbyBzYWZlciB0byBrbm93IHRoYXQgZnJhbWVfcmVkcmF3X2NhbGxiYWNrKCkgd2lsbCBhbHdheXMgYmUKCSAgY2FsbGVkIGZyb20gb3VyIGRpc3BsYXkgdGhyZWFkLi4uIE90aGVyd2lzZSBpdCBjb3VsZCBiZSBjYWxsZWQgYWZ0ZXIKCSAgdGhlIHNpbmsgaGFzIGJlZW4gZGVzdHJveWVkIGZvciBleGFtcGxlLgoKMjAxNC0wMy0wNyAxNzoyNTowMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBXYWl0IGZvciB0aGUgZnJhbWVfY2IgdG8gcmVkcmF3IGFuZCBkcm9wIGZyYW1lcyBtZWFud2hpbGUKCSAgV2UgYXJlIG5vdCBzdXBwb3NlZCB0byByZWRyYXcgdW50aWwgd2UgcmVjZWl2ZSBhIGZyYW1lIGNhbGxiYWNrIGFuZCB0aGlzCgkgIGlzIGVzcGVjaWFsbHkgdXNlZnVsIHRvIGF2b2lkIGFsbG9jYXRpbmcgdG9vIG1hbnkgYnVmZmVycyB3aGlsZSB0aGUKCSAgd2luZG93IGlzIG5vdCB2aXNpYmxlLCBiZWNhdXNlIHRoZSBjb21wb3NpdG9yIG1heSBub3QgY2FsbCB3bF9idWZmZXIucmVsZWFzZQoJICB1bnRpbCB0aGUgd2luZG93IGJlY29tZXMgdmlzaWJsZSAob2ssIHRoaXMgaXMgYSB3YXlsYW5kIGJ1ZywgYnV0Li4uKS4KCjIwMTQtMDMtMDcgMTY6MTY6MzAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogSGFuZGxlIHdsX2J1ZmZlcjo6cmVsZWFzZSBhbmQgZG9uJ3QgcmV1c2UgYnVmZmVycyB0aGF0IGFyZSBub3QgcmVsZWFzZWQKCSAgVGhpcyBpcyBhY2hpZXZlZCBieSBhZGRpbmcgYW4gZXh0cmEgcmVmZXJlbmNlIG9uIHRoZSBidWZmZXJzLCB3aGljaCBkb2VzCgkgIG5vdCBhbGxvdyB0aGVtIHRvIHJldHVybiB0byB0aGUgcG9vbC4gV2hlbiB0aGV5IGFyZSByZWxlYXNlZCwgdGhpcyByZWZlcmVuY2UKCSAgaXMgZHJvcHBlZC4KCSAgVGhlIHJlc3QgY29tcGxleGl0eSBvZiB0aGlzIHBhdGNoIChoYXNoIHRhYmxlLCBtdXRleCwgZmxhZywgZXhwbGljaXQgcmVsZWFzZSBjYWxscykKCSAgbWVyZWx5IGV4aXN0cyB0byBhbGxvdyBhIHNhZmUsIGd1YXJhbnRlZWQgYW5kIGRlYWRsb2NrLWZyZWUgZGVzdHJ1Y3Rpb24gc2VxdWVuY2UuCgkgIFNlZSB0aGUgYWRkZWQgY29tbWVudCBvbiBnc3R3YXlsYW5kc2luay5jIGZvciBkZXRhaWxzLgoKMjAxNC0wMy0wNiAxNzowMzo1MCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZW1vdmUgdXNlbGVzcyBtdW5tYXAgY2FsbAoJICBUaGlzIGRhdGEgcG9pbnRlciBpcyBwYXJ0IG9mIGEgYmlnZ2VyIG1tYXAnZWQgcmVnaW9uLAoJICBpdCBoYXMgbm90IGJlZW4gcmV0dXJuZWQgZnJvbSBtbWFwIGl0c2VsZi4KCjIwMTQtMDItMjggMTM6Mzc6MzAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogY2FsbCB0aGUgc3RhcnQvc3RvcCBtZXRob2RzIG9mIHRoZSBwYXJlbnQgY2xhc3MKCSAgc3RhcnQoKSBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gYW1tb3VudCBvZiBidWZmZXJzIHJlcXVlc3RlZCBpcyBhbGxvY2F0ZWQuCgkgIHN0b3AoKSBtYWtlcyBzdXJlIHRoYXQgYnVmZmVycyBhcmUgYWN0dWFsbHkgZGVzdHJveWVkIGFuZCBwcmV2ZW50cwoJICBmaWxsaW5nIHRoZSBmaWxlIHN5c3RlbSB3aGVuIHJlc2l6aW5nIHRoZSBzdXJmYWNlIGEgbG90LCBiZWNhdXNlIHRoZQoJICB3YXlsYW5kLXNobS0qIGZpbGVzIHdpbGwgc3RheSBvbiB0aGUgZmlsZSBzeXN0ZW0gYXMgbG9uZyBhcyB0aGUgd2xfYnVmZmVycwoJICBjcmVhdGVkIG91dCBvZiB0aGVtIGFyZSBhbGl2ZS4KCjIwMTQtMDItMjggMTM6MzY6NDMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogdW5saW5rIG1tYXBlZCBzaG0gZmlsZXMgc28gdGhhdCB0aGV5IGRvbid0IHJlbWFpbiBvbiB0aGUgZmlsZSBzeXN0ZW0KCjIwMTQtMDItMjggMTE6NDg6MzAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiBpbXBsZW1lbnQgdGhlIEdzdFZpZGVvT3ZlcmxheSAmIEdzdFdheWxhbmRWaWRlbyBpbnRlcmZhY2VzCgkgIFRoaXMgaXMgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIHdpdGhvdXQgdGhlIEdzdFZpZGVvT3ZlcmxheS5leHBvc2UoKQoJICBtZXRob2QuIEl0IG9ubHkgaW1wbGVtZW50cyB1c2luZyBhbiBleHRlcm5hbCAoc3ViKXN1cmZhY2UgYW5kIHJlc2l6aW5nCgkgIGl0IHdpdGggR3N0V2F5bGFuZFZpZGVvLgoKMjAxNC0wMi0xNCAxNjowODo1NiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogaW1wbGVtZW50IHdpdGggc3R1YnMgdGhlIEdzdFdheWxhbmRWaWRlbyAmIEdzdFZpZGVvT3ZlcmxheSBpbnRlcmZhY2VzCgoyMDEzLTA1LTA2IDEzOjE2OjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogQWRkIG5ldyBnc3Qtd2F5bGFuZCBsaWJyYXJ5IGNvbnRhaW5pbmcgYSBuZXcgR3N0V2F5bGFuZFZpZGVvIGludGVyZmFjZQoJICBUaGlzIGludGVyZmFjZSBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBlbWJlZCB3YXlsYW5kc2luayBpbnRvCgkgIG90aGVyIHdheWxhbmQgc3VyZmFjZXMuIER1ZSB0byB0aGUgc3BlY2lhbCBuYXR1cmUgb2Ygd2F5bGFuZCwKCSAgR3N0VmlkZW9PdmVybGF5IGlzIG5vdCBlbm91Z2ggZm9yIHRoaXMgam9iLgoKMjAxNC0wMi0yNiAxODozNToyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IGhhbmRsZSB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBwcm9wZXJseQoJICBlbnVtIHdsX3NobV9mb3JtYXQgaXMgbm90IGEgZmxhZ3MgZW51bSwgYXMgaXQgbWF5IGhhdmUgYmVlbiBpbiB0aGUgcGFzdCwKCSAgc28gbXVsdGlwbGUgZm9ybWF0cyBjYW5ub3QgYmUgc3RvcmVkIGluIGEgYml0ZmllbGQuIFVzZSBhbiBhcnJheSBpbnN0ZWFkLgoKMjAxNC0wMi0yNiAxNzo0MToxMSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSAgd2F5bGFuZHNpbmsvd2x2aWRlb2Zvcm1hdDogYWRkIG1hcHBpbmdzIGZvciBtYW55IGNvbW1vbiBmb3JtYXRzCgoyMDE0LTAyLTI2IDE2OjIwOjQxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHVucmVmIHRoZSBidWZmZXIgcG9vbAoKMjAxNC0wMi0yNiAxNjoxMToyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZWYgdGhlIGRpc3BsYXkgaW5zdGVhZCBvZiB0aGUgc2luayB0byBhdm9pZCBjeWNsaWMgcmVmZXJlbmNlcwoJICBUaGUgcmVmZXJlbmNlIHRvIHRoZSBzaW5rIGlzIG5vdCByZWFsbHkgbmVlZGVkIGFueXdheSBpbiB3YXlsYW5kcG9vbCwKCSAgd2hhdCBtYXR0ZXJzIGJhc2ljYWxseSBpcyB0aGF0IHRoZSBkaXNwbGF5IGlzIGFjdGl2ZSBhcyBsb25nIGFzIHRoZQoJICBwb29sIGlzIGFjdGl2ZSwgc28gd2UgcmVhbGx5IHdhbnQgdG8gcmVmZXJlbmNlIHRoZSBkaXNwbGF5IG9iamVjdAoJICBpbnN0ZWFkIG9mIHRoZSBzaW5rLgoKMjAxNC0wMi0yNiAxNDo1NjoyMSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBtYWtlIHRoZSBkaXNwbGF5IHByb3BlcnR5IHVzZWZ1bAoJICBMZXQgdGhlIGRpc3BsYXkgcHJvcGVydHkgY29udHJvbCB0aGUgbmFtZSBvZiB0aGUgZGlzcGxheSwKCSAgbGlrZSBpbiB4KHYpaW1hZ2VzaW5rLgoKMjAxNC0wMi0xNCAxNzoyMDo0MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBhY2Nlc3Mgc2luay0+cG9vbCBpbiBhIG1vcmUgYXRvbWljIGZhc2hpb24KCjIwMTQtMDItMTQgMTY6MzM6MTAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSB1c2VsZXNzIHdheWxhbmRfbG9jawoKMjAxNC0wMi0xMyAxMzoyODo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBhcHBseSB0aGUgc2FtZSBkZWJ1ZyBjYXRlZ29yeSB0byBhbGwgdGhlIHN1Ym9iamVjdHMKCjIwMTQtMDItMTMgMTM6MTU6MzEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogY2xlYW51cCBoZWFkZXIgaW5jbHVkZXMKCjIwMTQtMDItMTMgMTE6NTk6NDUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IHNwbGl0IHdpbmRvdy1yZWxhdGVkIGNvZGUgb3V0IHRvIGEgbmV3IEdzdFdsV2luZG93IGNsYXNzCgkgIEdzdFdsV2luZG93IGFsc28gaGFzIEFQSSByZWFkeSB0byBzdXBwb3J0IHN1YnN1cmZhY2VzLgoKMjAxNC0wMi0xMyAxMTozMjowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgY2FsbGJhY2sgYW5kIHJlZHJhd19wZW5kaW5nIHZhcmlhYmxlcyBmcm9tIHRoZSB3aW5kb3cgc3RydWN0dXJlCgoyMDE0LTAyLTEzIDEwOjUxOjU5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGltcHJvdmUgZGVidWcgbWVzc2FnZQoKMjAxNC0wMi0xMyAxMDozNzowMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBmaW5kIHRoZSB2aWRlbyBmb3JtYXQgZnJvbSB0aGUgR3N0VmlkZW9JbmZvIGluc3RlYWQgb2YgYWNjZXNzaW5nIHRoZSBzaW5rCgkgIEZvciB0aGUgc2FrZSBvZiBpc29sYXRpb24gb25seS4gVGhlIGZvcm1hdCBzaG91bGQgYmUgdGhlIHNhbWUuCgoyMDE0LTAyLTEzIDEwOjI5OjA4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHJlZmFjdG9yIGNvZGUKCSAgKiBtYWtlIHVzZSBvZiBHc3RCdWZmZXJQb29sOjpzdGFydC9zdG9wIGZ1bmN0aW9ucyB0byBhbGxvY2F0ZS9kZWFsbG9jYXRlIG1lbW9yeQoJICAqIGdldCByaWQgb2Ygc3RydWN0IHNobV9wb29sIGFuZCBkbyBhbGwgb3BlcmF0aW9ucyBjbGVhbmx5IGluc2lkZSBXYXlsYW5kQnVmZmVyUG9vbAoJICAqIHN0b3JlIGEgR3N0VmlkZW9JbmZvIGR1cmluZyBjb25maWd1cmF0aW9uIGluc3RlYWQgb2YgdGhlIHdpZHRoICYgaGVpZ2h0CgkgIGFuZCB1c2UgdGhlIHN0cmlkZSBmcm9tIHRoZSB2aWRlbyBpbmZvIGluc3RlYWQgb2YgaGFyZGNvZGluZyBpdHMgdmFsdWUKCjIwMTQtMDItMTMgMTA6MDI6NTQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkgIHdheWxhbmRzaW5rOiBzcGxpdCB2aWRlbyBmb3JtYXQgcmVsYXRlZCBmdW5jdGlvbnMgb3V0IHRvIGEgc2VwYXJhdGUgZmlsZQoKMjAxNC0wMi0xMiAxNToxNjowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBtb3ZlIGNvZGUgYXJvdW5kIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkKCjIwMTQtMDItMTIgMTQ6NDE6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogbW92ZSBzdHJ1Y3Qgc2htX3Bvb2wgYW5kIGl0cyByZWxhdGVkIGZ1bmN0aW9ucyB0byB3YXlsYW5kcG9vbC5jCgkgIEFuZCBhbHNvIG1ha2UgdGhlIGluc3RhbmNlIG9mIHRoaXMgc3RydWN0IHRvIGJlIG93bmVkIGJ5IHRoZSBidWZmZXIKCSAgcG9vbCBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50LCBmb3IgdGhlIHNha2Ugb2YgaXNvbGF0aW9uCgoyMDEzLTA1LTE0IDE5OjM1OjMzICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbms6IFVzZSBYREdfUlVOVElNRV9ESVIgaW5zdGVhZCBvZiAvdG1wIGZvciB0aGUgc2htIGZpbGUKCjIwMTQtMDItMTIgMTQ6MTU6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDItMTIgMTE6Mjg6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcHJvY2VzcyBkaXNwbGF5IGV2ZW50cyBpbiBhIHNlcGFyYXRlIHRocmVhZAoJICBUaGlzIGFsc28gbW92ZXMgdGhlIGRpc3BsYXktcmVsYXRlZCBjb2RlIGludG8gYSBuZXcgR3N0V2xEaXNwbGF5IGNsYXNzLAoJICB3aGljaCB0YWtlcyBjYXJlIG9mIHRoZSBuZXcgdGhyZWFkCgoyMDE0LTAyLTA0IDE2OjMyOjMxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IHRpZHkgdXAgdGhlIGhlYWRlciBmaWxlcwoKMjAxNC0wNi0xMiAxNjozODozNSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJICBwbm1kZWM6IHVzZSBHc3RWaWRlb0RlY29kZXIgQ2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTQwMAoKMjAxNC0wNi0xNiAwNzo0MjozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBvdmVyd3JpdGUgb3JpZ2luYWwgc2VlayB2YWx1ZQoJICBJbiBhY2N1cmF0ZSBtb2RlLCB3ZSdsbCBiZSB1c2luZyBzdGFydCB0byBmaWxsIGluIHRoZSBzZWVrIHNlZ21lbnQsCgkgIHRoZXJlZm9yZSBkb24ndCBvdmVyd3JpdGUgaXQgd2l0aCB0aGUgc2hpZnRlZCBzZWVrIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjk4CgoyMDE0LTA2LTE1IDE1OjE4OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzaWxlbmNlIGluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzIGluIGZvcm1hdCB3YXJuaW5nCgoyMDE0LTA2LTE1IDE1OjE3OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsZG93bmxvYWQ6IHBsdWcgYSBtZW1vcnkgbGVhawoKMjAxNC0wNi0xNSAxMzo1OTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogd2lyZSB1cCB0aGUgYWxwaGEgcGFkIHByb3BlcnR5CgoyMDE0LTA2LTE1IDEzOjQ0OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzdXBwb3J0IGlucHV0IGZyYW1lIHNjYWxpbmcKCjIwMTQtMDYtMTUgMTI6MjY6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogYWRkIHBvc2l0aW9uaW5nIG9mIGlucHV0IHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc5OAoKMjAxNC0wNi0xNSAxMjoyNDozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiBhbGxvdyB0aGUgc3ViY2xhc3MgdG8gY2hvb3NlIHRoZSBzaW5rIHBhZCB0eXBlCgkgIEFsbG93cyBjdXN0b20gcHJvcGVydGllcyB0byBiZSBwbGFjZWQgb24gdGhlIHNpbmsgcGFkcyBieSBzdWJjbGFzc2VzCgoyMDE0LTA2LTEzIDExOjQ2OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogbGl2ZTogaGFuZGxlIHBjci9kdHMgZGlzY3JlcGFuY2llcyBzb21lIG1vcmUKCSAgV2hlbiB3cmFwb3Zlci9yZXNldCBvY2N1ciwgd2UgZW5kIHVwIHdpdGggYSBzbWFsbCB3aW5kb3cgb2YgdGltZSB3aGVyZQoJICB0aGUgUFRTL0RUUyB3aWxsIHN0aWxsIGJlIHVzaW5nIHRoZSBwcmV2aW91cy9uZXh0IHRpbWUtcmFuZ2UuCgkgIEluIG9yZGVyIG5vdCB0byByZXR1cm4gYm9ndXMgdmFsdWVzLCByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORSBpZiB0aGUKCSAgUFRTL0RUUyB2YWx1ZSB0byBjb252ZXJ0IGRpZmZlcnMgYnkgbW9yZSB0aGFuIDE1cyBhZ2FpbnN0IHRoZSBsYXN0IHNlZW4KCSAgUENSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTQtMDYtMTMgMTA6Mzc6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggd3JhcGFyb3VuZCBkZXRlY3Rpb24gaXNzdWUKCSAgVXNpbmcgMzJiaXQgdW5zaWduZWQgdmFsdWVzIGZvciBjb3JyZWN0ZWQgcGNyL29mZnNldCBtZWFudCB0aGF0IHdlCgkgIHBvdGVudGlhbGx5IGVuZGVkIHVwIGluIGJvZ3VzIHZhbHVlcwoJICBGdXJ0aGVybW9yZSwgcmVmcGNyIC0gcmVmcGNyb2Zmc2V0IGNvdWxkIGVuZCB1cCBiZWluZyBuZWdhdGl2ZSwgd2hpY2gKCSAgUENSVElNRV9UT19HU1RUSU1FKCkgY2FuJ3QgaGFuZGxlIChhbmQgcmV0dXJuZWQgYSBtYXNzaXZlIHBvc2l0aXZlIHZhbHVlKQoKMjAxNC0wNi0xMyAxMToyNjozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ3N0ZWdsaW1hZ2VtZW1vcnkKCjIwMTQtMDYtMTMgMDk6NTU6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdsZnJhbWVidWZmZXIgb2JqZWN0CgoyMDE0LTA2LTEzIDA5OjUyOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IG1pc2MgYWRkcyBmb3IgZ2wgZnVuY3Rpb25zCgoyMDE0LTA2LTEzIDA5OjQxOjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnbHVwbG9hZG1ldGEgb2JqZWN0CgoyMDE0LTA2LTEzIDA5OjMyOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHVwZGF0ZSBmb3Igc29tZSBnbCBmdW5jdGlvbiBuYW1lIGNoYW5nZXMKCjIwMTQtMDYtMTIgMjM6MTQ6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJICBnbGZpbHRlcmFwcDogYWN0dWFsbHkgZW1pdCB0aGUgY2xpZW50LWRyYXcgc2lnbmFsCgoyMDE0LTA2LTEyIDIzOjEzOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBmb3IgVEVYVFVSRV8yRCBjaGFuZ2UKCjIwMTQtMDUtMzAgMTY6NTI6MDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogaW1wbGVtZW50IHByb3BlciBzZWVraW5nIGZvciBoMjY0IHN0cmVhbXMuCgkgIENvLUF1dGhvcmVkIGJ5OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgkgIEZyb20gYSBoaWdoIGxldmVsIHBlcnNwZWN0aXZlLCB0aGUgbmV3IHByb2Nlc3MgZm9yIHNlZWtpbmcgaDI2NAoJICBzdHJlYW1zIGlzIGFzIGZvbGxvd3M6CgkgIDEpIFJld2luZCB0aGUgc3RyZWFtIHVudGlsIHdlIGZpbmQgdGhlIGZpcnN0IEktc2xpY2Ugb2YgYSBmcmFtZSwKCSAgYW5kIG1hcmsgaXRzIG9mZnNldCBpbiB0aGUgc3RyZWFtLgoJICAyKSBSZXdpbmQgdGhlIHN0cmVhbSB1bnRpbCB3ZSBmaW5kIFNQUyBhbmQgUFBTIGluZm9ybWF0aW9ucywKCSAgdG8gbWFrZSBzdXJlIHRoZSBzdWJzZXF1ZW50IHBhcnNlciBpcyB1cCB0byBkYXRlLgoJICAzKSBBY2N1bXVsYXRlIG9wdGlvbm5hbCBTRUkgTkFMIHVuaXRzIG9uIHRoZSB3YXkuCgkgIDQpIFB1c2ggdGhlIFNQUywgUFBTIGFuZCBTRUkgdW5pdHMgYmVmb3JlIHRoZSBuZXcga2V5ZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUxMzIKCjIwMTQtMDYtMTIgMTA6MTQ6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkbyBub3QgdHJ5IHRvIGNsb3NlIG5lZ2F0aXZlIGZpbGUgZGVzY3JpcHRvcnMKCSAgSW50ZXJlc3RpbmdseSwgQ292ZXJpdHkgaW1wbGllcyB0aGF0IGNsb3NlIHRha2VzIGFuIHVuc2lnbmVkCgkgIGFyZ3VtZW50LCB3aGlsZSBteSBjbG9zZSgyKSBtYW4gcGFnZSBzaG93cyBpdCB0YWtpbmcgYSBzaWduZWQKCSAgYXJndW1lbnQuIEkgZ3Vlc3MgaXQgbWF5IGJlIHBsYXRmb3JtcyBzcGVjaWZpYy4KCSAgQ292ZXJpdHkgMTIxNDYwMgoKMjAxNC0wNi0xMiAxMDoxNzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IGZpeCBidWlsZCB3aXRoIEdMaWIgMi4zMgoJICBQcm92aWRlIGludGVybmFsIGNvcHkgb2YgZ19saXN0X2NvcHlfZGVlcCgpIHVudGlsIHdlCgkgIGJ1bXAgdGhlIEdMaWIgcmVxdWlyZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1NTUKCjIwMTQtMDYtMTIgMTA6MDA6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogYmFpbCBvdXQgZWFybHkgd2hlbiBieXRlcyBwZXIgc2FtcGxlIGlzIG5vdCBzZXQKCSAgVGhpcyBzaG91bGQgYWx3YXlzIGJlIHNldCBmb3IgdmFsaWQgZmlsZXMgd2hlbiB3ZSBnZXQgdGhlcmUsCgkgIGFuZCBjaGVja2luZyB0aGlzIGF2b2lkcyBoYXZpbmcgYWQgaG9jIGNoZWNrcyBmdXJ0aGVyIGRvd24KCSAgaW4gc2V2ZXJhbCBwbGFjZXMuCgkgIENvdmVyaXR5IDExMzk2OTgKCjIwMTQtMDYtMTEgMTU6MTE6NDAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcXVhbnRpemF0aW9uIG1hdHJpeCBjb252ZXJzaW9uIHJvdXRpbmUgbmFtZXMuCgkgIEZpeCByb3V0aW5lIG5hbWVzIGZvciB6aWd6YWcvcmFzdGVyIHNjYW4gb3JkZXIgY29udmVyc2lvbiByb3V0aW5lcyBmb3IKCSAgcXVhbnRpemF0aW9uIG1hdHJpY2VzLiBUaGlzIG91Z2h0IHRvIHVzZSB0aGUgZ3N0X2gyNjRfcXVhbnRfbWF0cml4XyooKQoJICBuYW1pbmcgY29udmVudGlvbiBpbnN0ZWFkIG9mIGdzdF9oMjY0X3ZpZGVvX3F1YW50X21hdHJpeF8qKCksIHdoaWNoCgkgIGRlcml2ZWQgZnJvbSB0aGUgTVBFRy0yIGZ1bmN0aW9uIG5hbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTI0CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDUtMjYgMTg6Mjk6MjEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBDKysgZ3VhcmRzIGZvciBNUEVHLTQgYW5kIFZQOCBwYXJzZXJzLgoJICBGaXggTVBFRy00IGFuZCBWUDggQVBJcyB0byBleHBvcnQgdGhlaXIgZXh0ZXJuYWwgc3ltYm9scyBhcyBwdXJlIEMKCSAgc3ltYm9scywgaS5lLiB1bi1tYW5nbGVkIGZvciBDKysuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0xMiAxNDo1ODo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiBzZW5kIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgYW5kIHRoZSBjYXBzIGV2ZW50IGFmdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTQ0CgoyMDE0LTA2LTEyIDEzOjM3OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlczogYWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTCgoyMDE0LTA2LTEyIDEzOjE1OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHJlbW92ZSBzcHVyaW91cyBpbmNsdWRlIGZvciBkb3VibGVjdWJlIGV4YW1wbGUKCjIwMTQtMDYtMTIgMTM6MDY6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGVzOiBhZGQgdGhlIHNyY2RpciBhbmQgYnVpbGRkaXIgaW5jbHVkZXMKCSAgQW5kIHJlbW92ZSByZWZlcmVuY2VzIHRvICQoR1NUX1BMVUdJTlNfR0xfKikKCjIwMTQtMDYtMTIgMTI6NDk6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsZmlsdGVyYXBwOiByZW1vdmUgdGhlIHJlc2hhcGUvZHJhdyBwcm9wZXJ0aWVzCgkgIFRoZSByZXNoYXBlIHByb3BlcnR5IHdhcyBuZXZlciB1c2VkLgoJICBSZXBsYWNlIHRoZSBkcmF3IHByb3BlcnR5IHdpdGggYSBzaWduYWwuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0xMiAxMjoxNDozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBsb2NrIHRoZSBzaXplIG9mIG1peC0+ZnJhbWVzIHRvIHRoZSBudW1iZXIgb2YgcGFkcwoJICBGaXhlcyBhIHNlZ2ZhdWx0IHdpdGggZGVjb2RlYmluICEgZ2xtaXhlciB3aGVyZSB0aGUgcmVxdWVzdCBwYWRzIG9uCgkgIGJvdGggc2lkZXMgd2VyZSBiZWluZyByZXF1ZXN0ZWQgYWZ0ZXIgdGhlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQuCgkgIEFsc28gZml4ZXMgZHluYW1pY2FsbHkgYWRkaW5nIGFuZCByZW1vdmluZyBwYWRzIHdoaWxlIGdsbWl4ZXIgaXMKCSAgaW4gYSBzdGF0ZSA+PSBQQVVTRUQuCgoyMDE0LTA2LTEyIDEyOjA5OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkgIGdsL2V4YW1wbGVzOiBQb3J0IHRvIHVzaW5nIHNpZ25hbHMgaW5zdGVhZCBvZiBwcm9wZXJ0aWVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0wMSAxNTowMjo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiByZXBsYWNlIHBvaW50ZXIgcHJvcGVydGllcyB3aXRoIHNpZ25hbHMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA3CgoyMDE0LTA2LTExIDA5OjM4OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBmaXJzdCBncm91cCBmb3IgaGFuZGxpbmcgcmVmZXJlbmNlIHBjcgoJICBJZiBfc2V0X2N1cnJlbnRfcGNyX29mZnNldCBnZXRzIGNhbGxlZCBhZnRlciBhIGZsdXNoaW5nIHNlZWssIHdlIGVuZGVkCgkgIHVwIHVzaW5nIHRoZSBjdXJyZW50IGdyb3VwIGZvciBkZWx0YSBjYWxjdWxhdGlvbiAuLi4gd2hlcmVhcyB3ZSBzaG91bGQKCSAgYmUgdXNpbmcgdGhlIGZpcnN0IGdyb3VwIHRvIGNhbGN1bGF0ZSBzaGlmdHMuCgkgIEFsc28gYWRkIGFuIGVhcmx5IGV4aXQgaWYgdGhlcmUgYXJlIG5vIGNoYW5nZXMgdG8gYXBwbHkKCjIwMTQtMDYtMTAgMTQ6NTA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBUaGUgc2Vla3NlZ21lbnQgd2FzIG5vIGxvbmdlciB1c2VkIHNpbmNlIHRoZSBzd2l0Y2ggdG8gY2FsY3VsYXRpbmcgc2VnbWVudHMKCSAgd2hlbiB3ZSBzZWUgZGF0YS4KCjIwMTQtMDYtMTAgMTQ6Mjc6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxNC0wNi0xMCAxNDoyNzowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZHVyYXRpb24gZXZhbHVhdGlvbiBpbiBwdXNoIG1vZGUKCSAgV2hlbiB3b3JraW5nIGluIHB1c2ggbW9kZSwgd2UgbmVlZCB0byBiZSBhYmxlIHRvIGV2YWx1YXRlIHRoZSBkdXJhdGlvbgoJICBiYXNlZCBvbiBhIHNpbmdsZSBncm91cCBvZiBvYnNlcnZhdGlvbnMuCgkgIFRvIGRvIHRoYXQgd2UgdXNlIHRoZSBjdXJyZW50IGdyb3VwIHZhbHVlcwoKMjAxNC0wNi0wMiAxMTowNzowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSBlYXJseSBQVFMgY29udmVyc2lvbgoJICBXaGVuIGhhbmRsaW5nIHRoZSBQVFMvRFRTIGNvbnZlcnNpb24gaW4gbmV3IGdyb3VwcywgdGhlcmUncyBhIHBvc3NpYmlsaXR5CgkgIHRoYXQgdGhlIFBUUyBtaWdodCBiZSBzbWFsbGVyIHRoYW4gdGhlIGZpcnN0IFBDUiB2YWx1ZSBvYnNlcnZlZCwgZHVlIHRvCgkgIHJlLW9yZGVyaW5nLgoJICBXaGVuIHVzaW5nIHRoZSBjdXJyZW50IGdyb3VwLCBvbmx5IGFwcGx5IHRoZSB3cmFwYXJvdW5kIGNvcnJlY3Rpb24gd2hlbiB3ZQoJICBhcmUgY2VydGFpbiBpdCBpcyBvbmUgKGkuZS4gZGlmZmVycyBieSBtb3JlIHRoYW4gYSBzZWNvbmQpIGFuZCBub3Qgd2hlbiBpdCdzCgkgIGp1c3QgYSBzbWFsbCBkaWZmZXJlbmNlIChsaWtlIG91dC1vZi1vcmRlciBQVFMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDg4CgoyMDE0LTA2LTA5IDEwOjEwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkb24ndCBwcmludCBhbHJlYWR5LWZyZWVkIHN0cmluZwoJICBDSUQgMTIyMTk4NwoKMjAxNC0wNi0wOSAxMDo1Njo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogRml4IHBvc2l0aW9uIHF1ZXJ5IHNvbWUgbW9yZQoJICBGb3Jnb3QgdG8gcmVtb3ZlIGNvZGUgaW4gMTZmZDkxNzYzMmMwOTkyMzQ5Y2EyOGNmOTEwOGU5NTYyYzQ5M2FkNwoJICBDSUQgIzExMzk2NzcKCjIwMTQtMDYtMDcgMDc6MTM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCSAgV2hlbiB3ZSByZWNlaXZlIHN0aWNreSBldmVudHMgZnJvbSB1cHN0cmVhbSwgYWx3YXlzIHJldHVybiBUUlVFLgoJICBGaXhlcyB0aGUgaXNzdWUgd2hlcmUgd2UgcmVjZWl2ZSBjdXN0b20gc3RpY2t5IGV2ZW50cyAoc3VjaCBhcyAidXJpIikKCSAgYW5kIG5vIHBhZHMgYXJlIGNyZWF0ZWQgeWV0LgoKMjAxNC0wNi0wNCAxODozNDo0NCArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBJbXByb3ZlIHBhcnNpbmcgcXVvdGVkIGtleSBVUklzIGFuZCBhcHBseSBpdCBmb3IgSS1mcmFtZS1iYXNlZCBzdHJlYW0gVVJJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4MzAKCjIwMTQtMDYtMDYgMTM6MDg6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBEb24ndCBzdG9yZSB0aGUgY3VycmVudCBrZXkgaW4gdGhlIHBsYXlsaXN0CgkgIEl0J3MgcGVyIGZyYWdtZW50IGFuZCBhcHBseWluZyB0byBhbGwgZm9sbG93aW5nIGZyYWdtZW50cwoJICB1bnRpbCB0aGUgbmV4dCBrZXkgaXMgc3BlY2lmaWVkLgoKMjAxNC0wNi0wNiAxMzowNDowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTA1LTMwIDE2OjM0OjE4IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZWxvYWQgdGhlIHZhcmlhbnQgcGxheWxpc3QgaWYgcmVmcmVzaGluZyBhIHBsYXlsaXN0IG9yIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQgZmFpbHMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBwbGF5bGlzdHMgaGF2ZSBtb3ZlZCBkdWUgdG8gdGhlIHZhcmlhbnQgcGxheWxpc3QKCSAgbm93IGJlaW5nIHJlZGlyZWN0ZWQgdG8gYW5vdGhlciB0YXJnZXQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MgYXMgbG9uZwoJICBhcyB0aGUgcmVmZXJlbmNlZCBwbGF5bGlzdHMgZG9uJ3QgY2hhbmdlIGluIHJlbGF0aW9uIHRvIHRoZSB2YXJpYW50CgkgIHBsYXlsaXN0LCBhbmQgdGhlIG5ldyBsb2NhdGlvbiBpcyBwdXJlbHkgZHVlIHRvIGEgbmV3IHBhdGggdHJpZ2dlcmVkIGJ5IGEKCSAgbmV3IHJlZGlyZWN0aW9uIHRhcmdldCBvZiB0aGUgdmFyaWFudCBwbGF5bGlzdCwgb3IgYSBuZXcgcmVkaXJlY3Rpb24KCSAgdGFyZ2V0IG9mIHRoZSBwbGF5bGlzdCBpdHNlbGYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzExNjQKCjIwMTQtMDYtMDUgMTY6NDU6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVc2UgYW4gYXJiaXRyYXJ5IGZyYW1lcmF0ZSBpZiBub25lIGlmIGdpdmVuCgkgIFRoZSBzY2hybyBlbmNvZGVyIGFsd2F5cyByZXF1aXJlcyBhIGZyYW1lcmF0ZSwgYnV0IHNvbWUgc291cmNlIG1hdGVyaWFsLAoJICBzdWNoIGFzIFJUUCBkb2Vzbid0IGhhdmUgYSBmaXhlZCBvbmUsIHNvIGp1c3QgZmFrZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTA1NAoKMjAxNC0wNi0wNCAxNDozNTo1MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgcmVkdW5kYW50IGFzc2lnbm1lbnQKCjIwMTQtMDYtMDQgMDE6MDI6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBpbXByb3ZlIHRpbWVvdXQgaGFuZGluZyBhdCBsb2NraW5nIGxvb3AKCSAgTmV3IGFwcHJvYWNoIGF0dGVtcHRzIHRvIGJlIG1vcmUgYWNjdXJhdGUgYnkgbWVhc3VyaW5nCgkgIHRoZSBlbGFwc2VkIHRpbWUgYnkgaXRlcmF0aW9uLiBBbHNvOgoJICAqIFVzZSBhIDEwIHNlY29uZHMgZGVmYXVsdCB0aW1lb3V0IGFuZCBhIGhhbGYgYSBzZWNvbmQKCSAgcG9sbGluZyBzdGVwLiBOZXcgdmFsdWVzIHNob3VsZCBiZXR0ZXIgbWF0Y2ggdGhlIHR1bmluZwoJICBwcm9jZXNzIG9uIHJlYWwtbGlmZSBzY2VuYXJpb3MuCgkgICogQ29ycmVjdCBlbGFwc2VkX3RpbWUgY29tcHV0YXRpb24uCgkgICogQWRkIF9yZXRyeV9pb2N0bCgpIHRvIGF2b2lkIGJhaWxpbmcgb3V0IG9uIHRlbXBvcmFyeQoJICBpb2N0bCBFSU5UUiBmYWlsdXJlcyAobm8gbmVlZCB0byBjaGVjayBmb3IgRUFHQUlOIGNhdXNlCgkgIHdlIGFyZSBvcGVuaW5nIHRoZSBmcm9udGVuZCBvbiBibG9ja2luZyBtb2RlKQoJICAqIFNtYWxsIGNvcnJlY3Rpb25zIHRvIGZhaWwgY29uZGl0aW9uIGhhbmRsaW5nCgoyMDE0LTA2LTA1IDE4OjQzOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvd2F5bGFuZDogY3JlYXRlIGEgZHVtbXkgZGlzcGxheSBpbnN0ZWFkIG9mIGFuIEVHTERpc3BsYXkKCSAgQ3VycmVudGx5LCBHc3RHTFdpbmRvd1dheWxhbmRFR0wgaG9sZHMgdGhlIHdheWxhbmQgZGlzcGxheSBjb25uZWN0aW9uCgkgIElmIHdlIGNyZWF0ZSB0aGUgRUdMRGlzcGxheSBhdCB0aGUgR3N0RGlzcGxheSBjcmVhdGlvbiB0aW1lLCB0aGVuCgkgIGxpYkVHTCB3aWxsIGludGVybmFsbHkgb3BlbiBhbm90aGVyIGNvbm5lY3Rpb24gdG8gdGhlIHdheWxhbmQgc2VydmVyLgoJICBUaGVzZSB0d28gZGlzcGxheSBjb25uZWN0aW9ucyBhcmUgdW5hYmxlIHRvIGNvbW11bmljYXRlIHJlc3VsdGluZyBpbgoJICBubyB3aW5kb3cgb3V0cHV0L2Rpc3BsYXkgYW5kIGhhbmdzIGluc2lkZSBsaWJFR0wuCgkgIEV2ZW50dWFsbHkgd2Ugd2lsbCBtb3ZlIHRoZSB3bF9kaXNwbGF5IGZyb20gR3N0R0xXaW5kb3cgdG8gR3N0R0xEaXNwbGF5LgoKMjAxNC0wNi0wNSAwOTo0MDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSAgcnRtcDogcHJveHkgbG9nZ2luZyBmcm9tIGxpYnJ0bXAKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgdmFyaW91cyBsaWJydG1wIGlzc3VlcwoKMjAxNC0wNi0wNSAwODoyOTo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IHBvc2l0aW9uIHF1ZXJ5aW5nCgkgIEl0J3MgdGhlIHBvc2l0aW9uIHdlJ3JlIHF1ZXJ5aW5nLCBub3QgdGhlIGR1cmF0aW9uIDopCgoyMDE0LTA2LTA0IDIxOjM5OjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSBleHRyYW5lb3VzIGV4dHJhIHBhcmFtZXRlciBmcm9tIGNoZWNrX3BlbmRpbmdfYnVmZmVycyBmdW5jdGlvbgoKMjAxNC0wNi0wNCAyMTozMToyMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpc2VyOiBBbHdheXMgaW5pdGlhbGlzZSBwYWNrZXQgQUZDIGZsYWdzIGFuZCBQQ1IgZmllbGRzCgkgIEFsc28gZml4IGEgc2xpZ2h0IHR5cG8gaW4gYSBjb21tZW50IGFib3V0IHRoZSBzbW9vdGhpbmcgYWxnb3JpdGhtCgoyMDE0LTA1LTIzIDE1OjA3OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlc2V0IHBlbmRpbmdfdHMgb24gYSBkaXNjb250LCB0byByZS1tZWFzdXJlIGluaXRpYWwgdGltZXN0YW1wcwoJICBTaW5jZSBhbGwgdGhlIG90aGVyIHRpbWVzdGFtcCB0cmFja2luZyBub3cgZ2V0cyByZXNldCBvbiBhIGRpc2NvbnQsCgkgIGl0IG1ha2VzIHNlbnNlIHRvIHdhaXQgZm9yIGEgUENSIGFuZCB0aW1lc3RhbXAgYnVmZmVycyBsaWtlIHdoZW4KCSAgcGxheWJhY2sgZmlyc3Qgc3RhcnRzCgoyMDE0LTAzLTIxIDIyOjE2OjQxIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogYWRkIHN1cHBvcnQgZm9yIHJvbGxvdmVyIGNvdW50ZXJzIGFuZCByZXBsYXkgcHJvdGVjdGlvbiB3aW5kb3cgc2l6ZQoJICBXZSBhZGQgYSBuZXcgc2lnbmFsLCBnZXQtcm9sbG92ZXItY291bnRlciwgdG8gdGhlIFNSVFAgZW5jb2Rlci4gR2l2ZW4gYQoJICBzc3JjIHRoZSBzaWduYWwgd2lsbCByZXR1cm4gdGhlIGN1cnJlbnRseSBpbnRlcm5hbCBTUlRQIHJvbGxvdmVyIGNvdW50ZXIKCSAgZm9yIHRoZSBnaXZlbiBzdHJlYW0uCgkgIEZvciB0aGUgU1JUUCBkZWNvZGVyIHdlIGhhdmUgYSBuZXcgU1JUUCBjYXBzIHBhcmFtZXRlciAicm9jIiB0aGF0IG5lZWRzCgkgIHRvIGJlIHNldCB3aGVuIGEgbmV3IFNSVFAgc3RyZWFtIGlzIGNyZWF0ZWQgZm9yIGEgZ2l2ZW4gU1NSQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjg2MQoKMjAxMy0xMC0xNCAxNjoxNDo0MiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGhhbmRsZSBnYXAgYnVmZmVyIGZsYWcKCSAgUmVtb3ZlIEdBUCBmbGFnIHVubGVzcyBib3RoIHNpZGVzIGhhdmUgZ2FwIGRhdGEsIGlnbm9yZQoJICBpbmNvbWluZyBkYXRhIGlmIGl0IGlzIGdhcCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzk3CgoyMDE0LTA1LTI1IDIxOjQzOjIyICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBpbXByb3ZlIHN0YXRlIGNoYW5nZSBkZWJ1ZyBtZXNzYWdlCgoyMDE0LTA2LTAzIDEzOjU5OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogYWx3YXlzIHJlbGVhc2UgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICBGaXhlcyB0aGUgY2FzZSB3aGVyZSBfcGVyZm9ybV93aXRoX2J1ZmZlcigpIGlzIGNhbGxlZCB3aXRob3V0CgkgIGludGVydmVuaW5nIGNhbGxzIHRvIF9yZWxlYXNlX2J1ZmZlcigpIGFzIGlzIHRoZSBjYXNlIG9uIHN0YXJ0IHVwCgkgIHdpdGggZ2xpbWFnZXNpbmsuCgkgIEFsc28gcmVsZWFzZSB0aGUgYnVmZmVyIHdoZW4gcmVzZXRpbmcgdGhlIHVwbG9hZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTEwNwoKMjAxNC0wNi0wMiAyMTo1MTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogVGFrZSBhY2NvdW50IG9mIG1lbW9yeSBhbGlnbm1lbnQgaW4gc2htIHRlc3QKCjIwMTQtMDYtMDIgMjE6NDM6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZhaWwgZ3JhY2VmdWxseSBpZiBldmVudCBjYW4ndCBiZSBwYXJzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA5MwoKMjAxNC0wNi0wMiAyMTo0MzozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBBbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IHRvIGRvIGFsaWdubWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDkzCgoyMDE0LTA2LTAyIDEyOjM5OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBY3R1YWxseSBwcmludCB0aGUgc3RhY2t0cmFjZSBpbnRvIHRoZSBlcnJvciBzdHJpbmcKCjIwMTQtMDYtMDIgMTE6Mjg6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFyIHRoZSBleGNlcHRpb24gYmVmb3JlIHRyeWluZyB0byBjYWxsIEphdmEgbWV0aG9kcyB0byBjb252ZXJ0IGl0IHRvIGEgc3RyaW5nCgoyMDE0LTA2LTAyIDExOjE2OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggY3Jhc2hlcyB3aGVuIGxvYWRpbmcgdGhlIHBsdWdpbiBpbiBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24gb24gQW5kcm9pZCA+PSA0LjQKCSAgQ2hlY2sgaWYgbGlibmF0aXZlaGVscGVyIGlzIGxvYWRlZCBpbiB0aGUgcHJvY2VzcyBhbmQgaWYKCSAgaXQgaGFzIHRoZXNlIGF3ZnVsIHdyYXBwZXJzIGZvciBKTklfQ3JlYXRlSmF2YVZNIGFuZAoJICBKTklfR2V0Q3JlYXRlZEphdmFWTXMgdGhhdCBjcmFzaCB0aGUgYXBwIGlmIHlvdSBkb24ndAoJICBjcmVhdGUgYSBKbmlJbnZvY2F0aW9uIGluc3RhbmNlIGZpcnN0LiBJZiBpdCBpc24ndCB3ZQoJICBqdXN0IGZhaWwgaGVyZSBhbmQgZG9uJ3QgaW5pdGlhbGl6ZSBhbnl0aGluZy4KCSAgU2VlIHRoaXMgY29kZSBmb3IgcmVmZXJlbmNlOgoJICBodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9wbGF0Zm9ybS9saWJuYXRpdmVoZWxwZXIvKy9tYXN0ZXIvSm5pSW52b2NhdGlvbi5jcHAKCjIwMTQtMDYtMDIgMTA6MTE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IG1ha2UgcG9zaXRpb24gcXVlcnkgYWJsZSB0byBjb252ZXJ0IGJ5dGVzIHRvIHRpbWUKCSAgKHNhbWUgYXMgNzQ0YzU4ZDcxYjIxNDc1ZDJlZGQ1YjkzMzRlMjc3Y2ZhNGM1MzI2MCBidXQgZm9yIHRoZQoJICBwb3NpdGlvbiBxdWVyeSkKCSAgSXQgd2FzIG9ubHkgcXVlcnlpbmcgaW4gdGltZSwgYnV0IHRoZW4gdHJ5aW5nIHRvIHVzZSBkZWFkIGJ5dGVzCgkgIHRvIHRpbWUgY29udmVyc2lvbiBjb2RlLgoJICBDb3Zlcml0eSAxMTM5Njc3CgoyMDE0LTA2LTAyIDA5OjQyOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBjcmFzaGluZyBpbiBwYXRob2xvZ2ljYWwgY2FzZQoJICAoSWRlbnRpY2FsIHRvIGNvbW1pdCA2MTJjZGVlYzgwZGE5NWIxMmY5ZmFkOTI4NDE5YzdkZTJiZTIwZDY4IHdoaWNoCgkgIHdhcyBmb3IgcmVzaW5kdmQpCgkgIFdoZW4gd2UnZCBzZWUgYW4gdW5rbm93biBzdHJlYW0gdHlwZSwgdGhlbiBhIFNERFMgc3RyZWFtLgoJICBUaGVuIHdlJ2QgZ2V0IHRvIHRoZSBlbmQgb2YgdGhlIHN3aXRjaCB3aXRoIGEgTlVMTCB0ZW1wIHN0cmVhbQoJICBwb2ludGVyLCBhbmQgZGVyZWZlcmVuY2UgaXQuCgkgIENvdmVyaXR5IDExMzk3MDgKCjIwMTQtMDYtMDIgMDk6MjM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogSGFuZGxlICh1bmxpa2VseSkgTlVMTCByZXR1cm4gb2YgZ2wtPkdldFN0cmluZyAoR0xfVkVSU0lPTikgbW9yZSBncmFjZWZ1bGx5CgkgIENJRCAxMjE5ODU4CgoyMDE0LTA2LTAyIDA4OjIyOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IFJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrCgkgIEFsbG9jYXRpbmcgdGhvc2Ugc3RydWN0dXJlcyBpcyBkb25lIGluIGFsbCBjb2RlIHBhdGhzIGxlYWRpbmcgdGhlcmUKCSAgQ0lEICMxMjE5ODYwCgkgIENJRCAjMTIxOTg2MQoJICBDSUQgIzEyMTk4NjIKCSAgQ0lEICMxMjE5ODYzCgkgIENJRCAjMTIxOTg2NAoKMjAxNC0wNi0wMSAxMDo0Mzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBpbmNyZWFzZSBtYXguIGFsbG93ZWQgdmFsdWUgZm9yIGJpdHJhdGUgcHJvcGVydHkKCSAgRm9yIERWRCB0aGUgbGltaXQgaXMgYXJvdW5kIDEwTWJpdC9zLCBidXQgZm9yIGUuZy4gQVRTQwoJICBpdCBjb3VsZCBiZSBtdWNoIGhpZ2hlci4KCjIwMTQtMDUtMjUgMTM6MDU6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogYmV0dGVyIGVycm9yIGhhbmRsaW5nIGluIGNhc2UgdHNwYXJzZSBpcyBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDEKCjIwMTQtMDUtMzAgMTc6MzU6NDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGFkZCBwcm9wIHNldHVwIGNvZGUgZm9yIGd1aW50NjQKCSAgTmVlZGVkIHNpbmNlIHdlIGFyZSBub3cgcHJveHlpbmcgdHVuaW5nLXRpbWVvdXQKCSAgZnJvbSBkdmJzcmMuCgoyMDE0LTA1LTIwIDA3OjM0OjU2ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG1vdGlvbmNlbGxzOiBpbXByb3ZlIGxvZ2dpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoyOToxNiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IG1ha2UgZnJhbWVkcm9wIHdvcmsgYXQgMzAgZnBzIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTIwIDA3OjI1OjIwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgbW90aW9uY2VsbHM6IHVzZSBzdGFuZGFyZCBtYWNybyBmb3IgYm9vbGVhbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTIwIDA3OjE4OjM5ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBtYWtlIHRoZSBwbHVnaW4gY29tcGlsZSB3aXRoIGFsbCAyLjQueCB2ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTI2IDIyOjM0OjAxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmIvY2FtKjogdXNlIGdfc3RyZXJyb3IgYW5kIG90aGVyIGZldyBuaXRzCgoyMDE0LTA1LTMwIDExOjAwOjA2IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggZHZic3JjIHNpZ25hbCBwcm94eWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTMwIDAwOjQ5OjQ5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBwcm94eSBuZXcgcHJvcHMvc2lnbmFscyBmcm9tIGR2YnNyYwoJICBQcm94eSB0dW5pbmcgc3RhcnQvZG9uZS9mYWlsIHNpZ25hbHMgYW5kIHR1bmluZy10aW1lb3V0CgkgIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTAxIDE4OjI1OjA1IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkgIGR2YnNyYzogc21hcnRlbiB1cCB0dW5pbmcgbG9naWMKCSAgKiBEcm9wIHJlbWFpbmluZyBzbGVlcCgpIGxvZ2ljIGluIGZhdm9yIG9mIHBvbGxpbmcKCSAgKiBVc2UgYmVzdCBndWVzcyBkZWxpdmVyeSBzeXN0ZW0gaWYgbm9uZSBpcyBzZXQKCSAgKiBNYWtlIHR1bmluZy9sb2NraW5nIHRpbWVvdXQgY29uZmlndXJhYmxlCgkgICogQWRkIHNpZ25hbHMgZm9yIHR1bmluZyBzdGFydCwgZG9uZSBhbmQgZmFpbAoJICAqIERyb3AgZ3N0X2R2YnNyY19mcm9udGVuZF9zdGF0dXMoKS4gSXQgd2FzIHVzZWQgb25seQoJICBmb3Igc2lnbmFsIExPQ0sgY2hlY2tpbmcuIFRoaXMgaXMgbm93IHBhcnQgb2YgdGhlCgkgIHR1bmluZy9sb2NraW5nIGxvb3AKCSAgKiBCcmVhayB1cCBmcm9udGVuZCBjb25maWd1cmF0aW9uIGFuZCB0dW5pbmcKCSAgb24gc2VwYXJhdGUgZnVuY3Rpb25zCgkgIFBsdXM6CgkgICogQWRkIHNvbWUgbW9yZSB1c2VmdWwgREVCVUcvVFJBQ0UgbWVzc2FnZXMKCSAgKiBNb3ZlIG92ZXIgbWlzcGxhY2VkIERWQiBBUEkgbWVzc2FnZQoJICAqIEZpeCB3cm9uZyBjb21tZW50IGZvciBkZWZhdWx0IERWQiBidWZmZXIgc2l6ZSAoaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvZG14X2ZjYWxscy5odG1sI0RNWF9TRVRfQlVGRkVSX1NJWkUpCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIHVwIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMzAgMTY6MzU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBleGNlcHRpb25zIGZyb20gdGhlIEphdmEgQVBJIHRvIGVycm9yIG1lc3NhZ2VzLCBhbmQgcG9zdCBtb3JlIGVycm9yL3dhcm5pbmcgbWVzc2FnZXMgb3ZlcmFsbAoKMjAxNC0wNS0zMCAxNToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGEgR0Vycm9yIGFyZ3VtZW50IHRvIGFsbCBhbWMgbWV0aG9kcyBhbmQgY2F0Y2ggZXhjZXB0aW9ucyB0aGVyZQoKMjAxNC0wNS0zMCAxNToyNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRGVzY3JpYmUgZXhjZXB0aW9ucyBoYXBwZW5pbmcgd2hlbiBzY2FubmluZyBhbGwgY29kZWNzCgoyMDE0LTA1LTMwIDEyOjE5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgQVBJIHRvIGNvbnZlcnQgYW4gZXhjZXB0aW9uIGludG8gYSBzdHJpbmcKCjIwMTQtMDUtMzAgMTI6NDA6MDggKzAyMDAgIEpvcmdlIFphcGF0YSA8am9yZ2VsdWlzLnphcGF0YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVsZWFzZSB0aGUgY29kZWMgYmVmb3JlIGZyZWVpbmcgaXQKCSAgT24gU2Ftc3VuZyBHYWxheHkgUzQgaXQgaXMgaW1wb3NzaWJsZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUKCSAgaGFyZHdhcmUgZGVjb2RlciBhdCB0aGUgc2FtZSB0aW1lLiBJZiB3ZSBkbyBub3QgcmVsZWFzZSBpdAoJICBleHBsaWNpdGx5IHRoZSBHQyBvbmx5IHJlbGVhc2VzIGl0IHdoZW5ldmVyIHRoZSB3aG9sZSBhcHBsaWNhdGlvbgoJICBpcyBmaW5pc2hlZCBub3Qgd2hlbmV2ZXIgdGhlIGFjdGl2aXR5IGlzIGZpbmlzaGVkIGFuZCB0aHVzIGEgcGxheWVyCgkgIHdpbGwgbm90IGJlIGFibGUgdG8gd29yayBjb3JyZWN0bHkKCjIwMTQtMDUtMzAgMDI6MTA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IGZpeCBzdHJ1Y3R1cmUgaGFuZGxpbmcgaW4gcHJldmlldyBtZXNzYWdlCgkgIEF2b2lkIHRyeWluZyB0byBtb2RpZnkgdGhlIG1lc3NhZ2Ugc3RydWN0dXJlIGFzIGl0IGlzbid0IG11dGFibGUuCgkgIFVzZSBhIGNvcHkgYW5kIHBvc3QgYSBuZXcgbWVzc2FnZSBpZiBuZWNlc3NhcnkuCgkgIEZpeGVzIGZhaWxpbmcgdGVzdHMuCgoyMDE0LTA1LTMwIDEyOjIzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVtb3ZlIHVuZWVkZWQgZ2wgYXBpIGlmZGVmcwoKMjAxNC0wNS0zMCAxMTo1MTowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvd194MTE6IGFsbG93IGV4cG9zZSBldmVudHMgdG8gcmVkcmF3IG91ciB3aW5kb3cKCSAgb3RoZXJ3aXNlIHdlIHdpbGwgbm90IHVwZGF0ZSB0aGUgd2luZG93IGNvbnRlbnRzIG9uIGxvdyBmcmFtZXJhdGUKCSAgc3RyZWFtcyB1bnRpbCB0aGUgbmV4dCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUyOQoKMjAxNC0wNS0zMCAxMTo0NjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVucmVmIHRoZSBvbGQgYnVmZmVyIG91dHNpZGUgdGhlIGxvY2sKCSAgaXQgY291bGQgdmVyeSB3ZWxsIGRlYWRsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTE6MzU6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBSZXZlcnQgIls4ODAvOTA2XSBnbGltYWdlc2luazogcmVtb3ZlIHVudXNlZCBzdG9yZWRfYnVmZmVyIGZpZWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFmM2E2OGRiN2RjNDczZmI2OTAzYzE4OTY2YjM5ZTRjM2YxNDY0ZDcuCgkgIENvbmZsaWN0czoKCSAgZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUyOQoKMjAxNC0wNS0zMCAxMDo0NjoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IHVwIGFzc2VydGlvbgoJICBlcnJvcjogJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkCgoyMDE0LTA1LTMwIDEwOjI3OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9ibGVuZGluZy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2VnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZml4ZWRmdW5jdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zaGFkZXJzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbGZlYXR1cmU6IHJlbW92ZSBHU1RfR0xfQVBJX0dMRVMzCgkgIGluc3RlYWQgY2hlY2sgdGhlIGdsIHZlcnNpb24gdXNpbmcgZ3N0X2dsX2NvbnRleHRfY2hlY2tfZ2xfdmVyc2lvbigpCgoyMDE0LTA1LTMwIDEwOjI1OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBjaGVjayBmb3IgR0xFUyB2ZXJzaW9ucwoKMjAxNC0wNS0yOSAyMDozNTo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2wvY29udGV4dDogYWRkIGNoZWNrX2dsX3ZlcnNpb24KCjIwMTQtMDUtMjkgMTc6MDk6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogVHJ5IEdMWCBzdXBwb3J0IGJlZm9yZSBFR0wgc3VwcG9ydAoJICBJZiBhdmFpbGFibGUsIGdseCBoYXMgZ290IGEgYmV0dGVyIGNoYW5jZSBvZiBiZWluZyB0aGUgR2wgcGxhdGZvcm0KCSAgd2Ugd2FudCB0byB1c2UgY29tcGFyZWQgdG8gRUdMCgoyMDE0LTA1LTI5IDE2OjU5OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBUcnkgdG8gb3BlbiBsaWJ7RUdMfEdMfEdMRVN2Mn0uc28uMSBiZWZvcmUgbGlie0VHTHxHTHxHTEVTdjJ9CgkgIEZpeGVzIGlzc3VlcyB3aXRoIC5zbyAod2l0aG91dCBudW1iZXJpbmcpIGJlaW5nIGluc3RhbGxlZCBmb3IgZGV2ZWxvcG1lbnQKCSAgKHN1Y2ggYXMgZnJvbSBtZXNhLWRldikgYnV0IGFjdHVhbCBkcml2ZXIgKHdpdGggbnVtYmVyaW5nKSBjb21pbmcgZnJvbQoJICBzb21lIG90aGVyIHBsYWNlIChsaWtlIG52aWRpYSBkcml2ZXJzKQoKMjAxNC0wNS0yOSAxNjowMToyMiArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTQtMDUtMjkgMTI6MzA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSAgYXRzYy1zZWN0aW9uOiBGaXggYW5ub3RhdGlvbgoKMjAxNC0wNS0yOSAxMjoyOTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBGaXggbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBwYXJzaW5nCgkgIHRoZSBwcm92aWRlciBhbmQgc2VydmljZSBuYW1lIHdhcyBpbnZlcnRlZAoKMjAxNC0wNS0yOCAxNjo0Nzo1MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHBhcmVudGlhbCByYXRpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDE2OjQ3OjI4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY2EgaWRkZW50aWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjIzOjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgc3RyZWFtIGlkZW50aWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjIzOjEyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY29udGVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTI6MTk6NDMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI5IDExOjU1OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogZmFjdG9yIGR1bXBpbmcgY29kZQoJICBXZSBjYW4ganVzdCByZS11c2UgdGhlIG5ldyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGhhdmluZyB0d28gZHVwbGljYXRlcwoKMjAxNC0wNS0yOSAxMDo1MDo1OCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGxpbmthZ2UgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTAxCgoyMDE0LTA1LTI4IDIwOjQyOjA1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYnVnZml4IG1vYmlsZSBoYW5kIG92ZXIgbGlua2FnZSBwYXJzZSBtaXNzbWF0Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkwMQoKMjAxNC0wNS0yOCAxNjozNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgbWlzc2luZyBmaWVsZCB0byBFVFQgdGFibGUKCSAgU2V0IHRoZSBzdWJ0YWJsZV9leHRlbnNpb24gYXMgZXR0X3RhYmxlX2lkX2V4dGVuc2lvbgoJICBmb3IgRVRUIHRhYmxlcyBhcyBpdCBpcyB1c2VkIGJ5IGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjggMTU6NTk6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgYXRzYydzIEVJVCB0YWJsZSBwYXJzaW5nCgkgIEFUU0MgaGFzIGl0cyBvd24gdmVyc2lvbiBvZiB0aGUgRUlUIHRhYmxlIChEVkIgYWxzbyBoYXMgb25lKS4KCSAgVGhpcyBwYXRjaCBhZGRzIHBhcnNpbmcgZm9yIHRoZSBBVFNDIEVJVCB0YWJsZSBhbmQgYWxzbyBmaXhlZAoJICB0aGUgc2VjdGlvbiBpZGVudGlmaWNhdGlvbiB0byBtYXJrIGl0IGFzIHRoZSBBVFNDIG9uZS4KCSAgVGhlIGltcGxlbWVudGF0aW9uIGF3cyByZWZhY3RvcmVkIHRvIHJldXNlIHNvbWUgY29tbW9uIGludGVybmFsCgkgIHN0cnVjdHVyZXMgZnJvbSBFVFQuCgkgIEFsc28gYWRkcyBpdHMgZHVtcGluZyBmdW5jdGlvbiB0byB0cy1wYXJzZXIgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIyIDE3OjQ5OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3RzOiBtcGVndHM6IGFkZCB0ZXN0IGZvciBTVFQgcGFyc2luZwoJICBTcGVjaWFsbHkgZm9yIHRoZSB0aW1lIHRvIFVUQyBkYXRldGltZSBjb252ZXJzaW9uCgkgIEV4YW1wbGUgdGFrZW4gZnJvbSB0aGUgQTY1IHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMiAwMTo0Nzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBTVFQgdGFibGUgcGFyc2luZwoJICBBZGRzIHRoZSBzeXN0ZW0gdGltZSB0YWJsZSBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9ucyBmb3IgY29udmVuaWVudCBwYXJzaW5nIG9mCgkgIGl0IGFuZCBmb3IgZ2V0dGluZyB0aGUgVVRDIGRhdGV0aW1lIHRoYXQgaXQgcmVwcmVzZW50cy4gQWxzbyBhZGRzIGl0cwoJICBpbmZvcm1hdGlvbiBkdW1waW5nIHRvIHRoZSB0cy1wYXJzZXIgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE5IDE2OjIwOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBlbmNvZGluZyBjb252ZXJzaW9uIGZvciBVVEYtMTYgRVRUIHN0cmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxNDo1MDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBtcGVndHM6IGFkZCBmdW5jdGlvbiB0byBkdW1wIEVUVCB0YWJsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxMzo0NjowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgRVRUIHN0cnVjdHVyZXMgYW5kIHBhcnNpbmcKCSAgRVRUIChleHRlbmRlZCB0ZXh0IHRhYmxlKSBjb250YWlucyBBVFNDIHRleHQgaW5mb3JtYXRpb24gd2l0aCBkZXNjcmlwdGlvbnMKCSAgb2YgdmlydHVhbCBjaGFubmVscyBhbmQgZXZlbnRzLiBUaGUgdGV4dCBjYW4gYmUgaW50ZXJuYXRpb25hbGl6ZWQgYW5kIGFsc28KCSAgY29tcHJlc3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xNiAxNTozOTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHBhcnNlIHRoZSBtZ3QgYW5kIGFkZCBsaXN0ZWQgRUlUL0VUVCBwaWRzIHRvIHRoZSBrbm93biBwc2kKCSAgVGhpcyB3aWxsIG1ha2UgdHNiYXNlIGFsc28gcGFyc2UgdGhlIEVJVHMgYW5kIEVUVHMgZnJvbSBBVFNDIHN0cmVhbXMgdGhhdCBoYXZlCgkgIHRoZWlyIHBpZHMgcmVwb3J0ZWQgb24gdGhlIE1HVCBhbmQgcG9zdCB0byB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTUgMTI6MzE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhZGQgYXRzYyBNR1Qgc2VjdGlvbiBwYXJzaW5nCgkgIEFkZCBhIHBhcnNpbmcgZnVuY3Rpb24gZm9yIE1HVCBhbmQgYWxzbyBkZXRlY3QgdGhlIEVJVCB0YWJsZXMKCSAgZm9yIEFUU0MsIHRoZSBFSVQgcGlkcyBhcmUgcmVwb3J0ZWQgaW5zaWRlIHRoZSBNR1QgYW5kIHdlIGFyZSBzdGlsbAoJICBvbmx5IHJlbHlpbmcgb25seSBvbiB0aGUgdGFibGUgaWQgZm9yIGRldGVjdGluZyBpdC4gSW4gdGhlIGZ1dHVyZSB3ZQoJICB3b3VsZCB3YW50IHRvIGFsc28gY2hlY2sgdGhlIHBpZCBhbmQgY29tcGFyZSB3aXRoIHdoYXRldmVyIHRoZSBNR1QKCSAgcHJldmlvdXNseSByZXBvcnRlZCB0byBjb25maXJtIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBFSVQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjMgMDE6NDE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYXRzYzogcmVuYW1lIFRWQ1QgdG8gVkNUIGFzIGl0IGlzIHRoZSBzYW1lIGFzIENWQ1QKCSAgTWFrZSB0aGUgQVRTQyBzZWN0aW9uIHBhcnNlIGhhbmRsZSBib3RoIFRWQ1QgYW5kIENWQ1QgYXMgdGhleSBhcmUKCSAgbmVhcmx5IHRoZSBzYW1lIHN0cnVjdCAoQ1ZDVCB1c2VzIDIgcmVzZXJ2ZWQgYml0cyB0aGF0IGFyZSBpZ25vcmVkCgkgIGluIFRWQ1QpLgoJICBUaGlzIGlzIGNoYW5naW5nIHRoZSBnbGliIHR5cGUgYW5kIHRoZSBzdHJ1Y3QgbmFtZSBidXQgVFZDVCB3YXNuJ3QKCSAgcmVsZWFzZWQgaW4gYSBzdGFibGUgcGFja2FnZSB5ZXQgc28gdGhlcmUgc2hvdWxkIGJlIG5vIHByb2JsZW0uCgkgIEFsc28gaW5jbHVkZXMgc29tZSBwYXJzaW5nIGZpeGVzIGFuZCBjaGFuZ2VzIHNob3J0X25hbWUgdG8gYmUKCSAgZGlyZWN0bHkgc3RvcmVkIGFzIHV0ZjggcmF0aGVyIHRoYW4gdXRmMTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY0MgoKMjAxNC0wNS0yOCAxMzoxMTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IGFkZCBUVkNUIGFuZCBDVkNUIHRhYmxlcyBkdW1waW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDIKCjIwMTQtMDUtMjkgMTA6Mzc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCBhc3NlcnRpb24gYWZ0ZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDUtMjkgMTg6MzM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDoga2VlcCBvdXIgcHJpdmF0ZSBwb2ludGVyCgkgIGFnYWluLCBhdm9pZCB0byBtdWNoIHRyaWdnZXIKCjIwMTQtMDUtMjkgMTg6MzI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnbHVwbG9hZCBjaGFuZ2VzCgoyMDE0LTA1LTI5IDE3OjI5OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiB1c2UgR3N0T2JqZWN0J3MgbG9jayBpbnN0ZWFkIG9mIG91ciBvd24KCjIwMTQtMDUtMjkgMTc6MTI6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogcmVtb3ZlIHVubmVjYXNzYXJ5IHBvaW50ZXIgaW5kZXJlY3Rpb24KCjIwMTQtMDUtMjkgMTY6NDU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogcmUgYWRkIHRoZSB1cGxvYWQgbWV0YSB0byB0aGUgcHJpdmF0ZSBzdHJ1Y3QKCSAgdHJ5IGFuZCBhdm9pZCBiZWluZyB0byB0cmlnZ2VyIGhhcHB5CgoyMDE0LTA1LTI5IDE2OjI5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNtYWxsIGNvZGUgY2xlYW51cCBhbmQgZ3N0LWluZGVudAoKMjAxNC0wNS0yOSAxNjoyMjo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBnbC9kb3dubG9hZDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXQgb3duCgoyMDE0LTA1LTI5IDE2OjIwOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiB1c2UgR3N0T2JqZWN0J3MgbG9jayBpbnN0ZWFkIG9mIG91ciBvd24KCjIwMTQtMDUtMjkgMTY6MTg6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYWxzbyByZW1vdmUgdGhlIHdpZHRoL2hlaWdodCBpbiB0cmFuc2Zvcm1fY2FwcwoJICBhbGxvd3Mgc2NhbGluZyBpbiB0aGUgZmlsdGVycwoKMjAxNC0wNS0yOSAxNjoxMToyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBvcHRpbWlzZSB0aGUgc2FtZSBmb3JtYXQgY2FzZQoJICBzaW1wbHkgcmV0dXJuIHRoZSBpbnB1dCBidWZmZXIgdW5jaGFuZ2VkCgoyMDE0LTA1LTI5IDE2OjA3OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGZpeCBZVVkyL1VZVlkgZG93bmxvYWQgZm9yIFJHL0xBIHRleHR1cmVzCgoyMDE0LTA1LTI5IDE1OjUwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGFsbG9jYXRlIG91dHB1dCBidWZmZXJzCgkgIEFsbG93cyB0aGUgbm9wIG9wdGltaXNhdGlvbiBieSBzaW1wbHkgcmVmZmluZyB0aGUgaW5wdXQgYnVmZmVyLgoKMjAxNC0wNS0yOCAxNjoxODoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEF2b2lkIHNoYWRvd2luZyBtYWluIGxvb3AgdmFyaWFibGUKCSAgV2UgZW5kIHVwIHdpdGggaW50ZXJlc3RpbmcgcmVzdWx0cyBvdGhlcndpc2UgOikKCjIwMTQtMDUtMjggMTU6NTM6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgcHJpdmF0ZS1kYXRhLXNwZWNpZmllciBhbmQgZnJlcXVlbmN5LWxpc3QKCjIwMTQtMDUtMjggMTU6NTI6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IE1ha2Ugc29tZSBmaWVsZHMgb3B0aW9uYWwKCSAgU29tZSBwZW9wbGUgbWlnaHQganVzdCBub3QgY2FyZSBhYm91dCB0aGUgY29udGVudHMKCjIwMTQtMDUtMjggMTU6NTI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IFVwZGF0ZSBkb2NzIGZvciBEVkIgZnJlcXVlbmN5IGxpc3QKCjIwMTQtMDUtMjggMjM6MjE6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciByZWNlbnQgZ2x1cGxvYWQgY2hhbmdlcwoJICBHc3RHTFVwbG9hZE1ldGEgb2JqZWN0IGlzIG5vdyB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgkgIHByb3ZpZGVyLgoKMjAxNC0wNS0yOCAxMjo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEFsd2F5cyB1c2UgdGhlIHJlZGlyZWN0IHRhcmdldCB0byByZXNvbHZlIHJlbGF0aXZlIFVSSXMKCSAgQnV0IHJlZG93bmxvYWQgdGhlIHBsYXlsaXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBVUkkgaWYgaXQncyBub3QKCSAgYSBwZXJtYW5lbnQgcmVkaXJlY3QuCgoyMDE0LTA1LTI4IDEyOjQzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAxMjo0NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCBiYXNlIFVSSSBpZiB0aGVyZSB3YXMgbm8gcmVkaXJlY3QKCjIwMTQtMDUtMjggMDk6MTg6NDkgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogTWFrZSBwYXJzaW5nIG9mICItcXVvdGVkIGtleSBVUklzIG1vcmUgcmVzaWxpZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4MzAKCjIwMTQtMDUtMjggMTA6MTk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFsd2F5cyB1c2UgdGhlIHJlZGlyZWN0IHRhcmdldCB0byByZXNvbHZlIHJlbGF0aXZlIFVSSXMKCSAgQnV0IHJlZG93bmxvYWQgdGhlIHBsYXlsaXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBVUkkgaWYgaXQncyBub3QKCSAgYSBwZXJtYW5lbnQgcmVkaXJlY3QuCgoyMDE0LTA1LTI4IDA5OjQyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTdG9yZSBVUkkgYW5kIHJlZGlyZWN0IHRhcmdldCBpbiB0aGUgZG93bmxvYWRlZCBmcmFnbWVudHMKCjIwMTQtMDUtMjggMDc6NDA6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggTG9naWNhbCBDaGFubmVsIERlc2NyaXB0b3IgcGFyc2luZwoJICBObyB3b25kZXIgd2Ugd2VyZSBnZXR0aW5nIGdhcmJhZ2UgLi4uCgoyMDE0LTA1LTI3IDIwOjM3OjI2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg0NwoKMjAxNC0wNS0yNyAyMDozMjo0MiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogcHJpbnRpbmcgZW51bSB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODQ3CgoyMDE0LTA1LTI4IDE0OjQzOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC91cGxvYWQ6IGZpeCBpbmNvcnJlY3QgdHlwZSBpbiBtYWNyb3MKCjIwMTQtMDUtMjggMTQ6NDA6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5oOgoJICBnbC91cGxvYWQ6IGFkZCBHc3RHTFVwbG9hZE1ldGEgb2JqZWN0CgkgIFRoYXQgc2ltcGx5IGRlYWxzIHdpdGggdGhlIHByb3ZpZGVyIGFzcGVjdCBvZiBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEuCgoyMDE0LTA1LTI3IDE3OjM0OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIERWQiBFeHRlbmRlZCBldmVudCBwYXJzaW5nCgoyMDE0LTA1LTI3IDE3OjMyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBFbnN1cmUgTlVMTC10ZXJtaW5hdGVkIGxhbmd1YWdlIGNvZGUKCSAgWXVwLCBpdCBicmVha3MgQVBJIGFuZCBBQkksIEkga25vdy4gQnV0IGxldCdzIGF2b2lkIHBlb3BsZSBhbmQgYmluZGluZ3MKCSAgcHJpbnRpbmcgb3V0IGdhcmJhZ2UKCjIwMTQtMDUtMjcgMTc6MjU6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEZpeCBFeHRlbmRlZCBEVkIgZGVzY3JpcHRvciBwYXJzaW5nCgkgIFdlIHdlcmUgb3Zlci1yZWFkaW5nIGRhdGEsIGFuZCB0aGUgbmJfaXRlbXMgZmllbGQgaXNuJ3QgbmVlZGVkLAoJICBpdCdzIGEgcHJvcGVydHkgb2YgdGhlIEdQdHJBcnJheQoKMjAxNC0wNS0yOCAwMDo1NjowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2wvd2luMzI6IG1ha2Ugc2VuZF9tZXNzYWdlIHJlZW50cmFudAoJICBJIGNvdWxkIG5vdCBmaW5kIGEgY29tcGFyYWJsZSB3aW4zMkFQSSBmdW5jdGlvbiBzbyBrZWVwIHRoZSBydW5uaW5nCgkgIHRocmVhZCBwb2ludGVyIHRvIGNvbXBhcmUgYWdhaW5zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDc4MgoKMjAxNC0wNS0yNyAxNjoxNzozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IHVzYWdlIG9mIG1lbWNweQoJICBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHdlcmUgaW52ZXJ0ZWQKCjIwMTQtMDUtMjYgMjA6Mzg6NDUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozODoxOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM3OjUzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzc6MjEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODoyMDozOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODoyMDowMyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODoxMDo1MSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgYm91cXVldCBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODowNzo1MiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNyAxMDoyMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQvcmVtb3ZlIHBhZHMgdG8gZmxvd2NvbWJpbmVyIGRpZmZlcmVudGx5IGR1ZSB0byBzdHJlYW1pbmcgbmF0dXJlCgkgIER1ZSB0byBtcGVndHMgc3RyZWFtaW5nIG5hdHVyZSBzb21lIHBhZHMgYXJlIGNyZWF0ZWQgYnV0IGFyZSBvbmx5IGFkZGVkCgkgIGxhdGVyIHRvIHRoZSBlbGVtZW50LiBUaGlzIGNhbiBjYXVzZSBhIHNjZW5hcmlvIHdoZXJlIHRoZSBmaXJzdCBzdHJlYW0KCSAgZG9lc24ndCBoYXZlIGFuIGF2YWlsYWJsZSBkZWNvZGVyICh3aGlsZSB0aGUgbmV4dCBvbmVzIHN0aWxsIHBlbmRpbmcKCSAgd291bGQgaGF2ZSkgYW5kIHRzZGVtdXggd2lsbCBmYWlsIHdpdGggbm90LWxpbmtlZCBhcyB0aGUgZmlyc3Qgc3RyZWFtCgkgIGFkZGVkIHdvdWxkbid0IGJlIGxpbmtlZC4KCSAgVG8gYXZvaWQgdGhpcyB0c2RlbXV4IG5lZWRzIHRvIGFkZCBwYWRzIHRvIHRoZSBmbG93Y29tYmluZXIKCSAgd2hlbiB0aGV5IGFyZSBjcmVhdGVkIGluc3RlYWQgb2Ygb25seSB3aGVuIGFkZGluZyB0aGVtIHRvIHRoZQoJICBlbGVtZW50LgoKMjAxNC0wNS0yNyAxMzo1NjozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2xjb2xvcmNvbnZlcnQuYzoxMTMzOjExOiBlcnJvcjogJ2onIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBXYXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW4ganVtcGluZyB0byBvdXQgbGFiZWwKCSAgaW4gZXJyb3IgY2FzZS4KCjIwMTQtMDUtMjcgMTg6MjA6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBvcGVyYXRlIG9uIGJ1ZmZlcnMgaW5zdGVhZCBvZiBtZW1vcmllcwoKMjAxNC0wNS0yNyAwNzo0MjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IHJlbW92ZSB1bnJlYWQgbGFzdF9mbG93IHZhcmlhYmxlCgkgIGl0IGlzbid0IG5lY2Vzc2FyeSBhbnltb3JlIGFuZCBpcyBhbHJlYWR5IHVudXNlZAoKMjAxNC0wNS0yNyAxMToyODoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IG1ha2UgaXQgYWN0dWFsbHkgaG9ub3Igc2hvdy1wcmVyb2xsLWZyYW1lIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4MDIKCjIwMTQtMDUtMjcgMTI6MDg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb21wYXJlIHBvc2l0aW9ucyB0byBmaW5kIHRoZSBlYXJsaWVzdCBwYWQsIG5vdCBmbG93IHJldHVybnMKCjIwMTQtMDUtMjcgMDg6NTQ6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbDogYWRkIG1pc3NpbmcgY2dsIGFuZCBlYWdsIGNvbnRleHQgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjQ1CgoyMDE0LTA1LTI3IDA4OjQ2OjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJICBnbDogcmVuYW1lIHBsYXRmb3JtIGNvY29hIHRvIGNnbAoJICBCZWZvcmU6CgkgIEdTVF9HTF9QTEFURk9STT1jb2NvYSBHU1RfR0xfV0lORE9XPWNvY29hCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIEFmdGVyOgoJICBHU1RfR0xfUExBVEZPUk09Y2dsIEdTVF9HTF9XSU5ET1c9Y29jb2EKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCSAgYnV0IHN0aWxsIHBhc3MgLS1lbmFibGUtY29jb2EgdG8gY29uZmlndXJlIHNjcmlwdAoJICBiZWNhdXNlIGN1cnJlbnRseSBpdCBjYW4gb25seSBiZSB1c2VkIHdpdGggY29jb2EgQVBJLgoJICBXZSBjb3VsZCBsYXRlciBoYXZlIGNnbC9nc3RnbGNvbnRleHRfY2dsLmggdGhhdCBtYW5hZ2VzCgkgIGEgQ0dMQ29udGV4dE9iaiBkaXJlY3RseSBhbmQgY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmgKCSAgd291bGQganVzdCB3cmFwIGl0LgoJICBTbyB0aGF0IGl0IGNvdWxkIGJlIHVzZWQgd2l0aCBvdGhlciBBcHBsZSdzIHdpbmRvdyBBUElzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjQ1CgoyMDE0LTA1LTI3IDA4OjUxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgUmV2ZXJ0ICJhbmRyb2lkbWVkaWE6IFBsYWNlIHNvbWUgY29uc3Qga2V5d29yZHMgaW4gYSBmZXcgcGxhY2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMwNzhiM2EzNGMxZjc1Yjg2YmQ2MjlkZjFjZDdjMDg5YTBmNjk5OTkuCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSBkb2Vzbid0IHRha2UgYSBjb25zdCBHc3RWaWRlb0luZm8qLCBzbwoJICBhbGwgdGhpcyBpcyByYXRoZXIgdXNlbGVzcy4KCjIwMTQtMDUtMjcgMTM6NTU6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvbWl4ZXI6IGRvbid0IHNlZ2ZhdWx0IHdoZW4gd2UgZG9uJ3QgaGF2ZSBhIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjU3CgoyMDE0LTA1LTI3IDEzOjA0OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvd194MTE6IGF2b2lkIEJhZERyYXdhYmxlIGVycm9yIG9uIHNodXRkb3duCgoyMDE0LTA1LTI2IDE3OjM0OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxNzoxODowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjMgMTg6MjY6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCjIwMTQtMDUtMjcgMTA6NDc6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsL2NvbnRleHRfZWdsOiBwYXNzIHRoZSB2YXJzIGluIHRoZSByaWdodCBvcmRlciB0byBEZXN0cm95U3VyZmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTE0CgoyMDE0LTA1LTI2IDE2OjMxOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBQbGFjZSBzb21lIGNvbnN0IGtleXdvcmRzIGluIGEgZmV3IHBsYWNlcwoKMjAxMy0xMS0xMyAxODo0MTozMyArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogYWRkIGdzdF9hbWNfY29sb3JfZm9ybWF0X2NvcHkKCSAgZ3N0X2FtY19jb2xvcl9mb3JtYXRfY29weSB3aWxsIGNvcHkgaW4vb3V0IGEgZnJhbWUgcmVzaWRlcyBhdCBhCgkgIEdzdEFtY0J1ZmZlci4gTG90cyBvZiBjb2RlcyBpbiBnc3RfYW1jX3ZpZGVvXypfZmlsbF9idWZmZXIgYXJlIG1vdmVkIHRvCgkgIHRoaXMgbmV3IGZ1bmN0aW9uLgoKMjAxMy0xMC0wOCAyMToxMTo0OCArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IG1vdmUgY3JlYXRlX3NyY3xzaW5rX2NhcHMgdG8gZ3N0YW1jLmMKCSAgU29tZSBoYWNrIGxvZ2ljIG5lZWRzIGFsc28gdG8gYmUgcHJlc2VudCBpbiBjcmVhdGVfc3JjfHNpbmtfY2FwcywgZm9yCgkgIHdvcmtpbmcgYXJvdW5kIHNvbWUgYnJva2VuIGNvZGVjcy4gVGhlc2UgaGFja3MgYXJlIGhpZGRlbgoJICBpbiBjb2xvcl9mb3JtYXQvdmlkZW9fZm9ybWF0IGNvbnZlcnNpb24gLS0gdGhlIHByb3RvdHlwZXMgb2YgdGhlc2UKCSAgZnVuY3Rpb25zIGFyZSBhbHNvIGNoYW5nZWQgdG8gaW5jbHVkZSBtb3JlIGFyZ3MgZm9yIGhhY2sganVkZ2VtZW50LgoJICBBbHNvIGluIGNhc2Ugb2YgbXVsdGktY29sb3JfZm9ybWF0cyBtYXBwZWQgdG8gb25lIHZpZGVvX2Zvcm1hdCwgdGhlbgoJICBtYXAgdGhhdCB2aWRlb19mb3JtYXQgYmFjayB3aWxsIG5vdCBnaXZlIHRoZSBvcmlnaW5hbCBjb2xvcl9mb3JtYXQsIHdoaWNoCgkgIGNhdXNlcyBnc3RfYW1jX2NvZGVjX2NvbmZpZ3VyZSBmYWlsZWQgd2l0aCBzb21ldGhpbmcgbGlrZQoJICAnZG9lcyBub3Qgc3VwcG9ydCBjb2xvciBmb3JtYXQgTicuCgkgIFRoZSBuZXcgcHJvdG90eXBlIGludm9sdmVzIHdpdGggR3N0QW1jQ29kZWNJbmZvIGFuZCBtaW1lLCB3aGljaAoJICBlbnN1cmVzIHRoZSBjb252ZXJ0ZWQgY29sb3JfZm9ybWF0IGlzIHN1cHBvcnRlZCBieSB0aGUgY29kZWMuCgkgIEEgQ09MT1JfRm9ybWF0WUNiWUNyIHRvIEdTVF9WSURFT19GT1JNQVRfWVVZMiBtYXBwaW5nIGlzIGFsc28gYWRkZWQsIGluCgkgIG9yZGVyIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gT01YLmszLnZpZGVvLmRlY29kZXIuYXZjKHdoaWNoIGluY29ycmVjdGx5CgkgIHJlcG9ydHMgc3VwcG9ydGluZyBDT0xPUl9Gb3JtYXRZQ2JZQ3IsIHdoaWNoIGlzIGFjdHVhbGx5CgkgIENPTE9SX0Zvcm1hdFlVVjQyMFNlbWlQbGFuYXIpLiBUaGVyZSBhcmUgYWxyZWFkeSBoYWNrcyBmb3IgdGhpcyBpbgoJICBnc3RfYW1jX3ZpZGVvX2Zvcm1hdF90b19jb2xvcl9mb3JtYXQsIGdzdF9hbWNfY29sb3JfZm9ybWF0X3RvX3ZpZGVvX2Zvcm1hdAoJICBhbmQgZ3N0X2FtY19jb2xvcl9mb3JtYXRfaW5mb19zZXQsIGJ1dCB0aGUgY29kZWMgd2lsbCBzdGlsbCBub3Qgd29yayhiZQoJICBpZ25vcmVkIGJlY2F1c2Ugb2YgImhhcyB1bmtub3duIGNvbG9yIGZvcm1hdHMiKSB3aXRob3V0IGFkZGluZyB0aGlzIG1hcHBpbmcuCgoyMDE0LTA0LTExIDE1OjE0OjE3ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IHBhcnNlY2hhbm5lbHM6IGFkZCBkZWxzeXMgcHJvcGVydHkKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTQtMDUtMjYgMTM6Mjk6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSAuZGVmIGZvciBuZXcgc3ltYm9scwoKMjAxNC0wNC0xMSAxNTozODoxNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IG1hcCBTWVNfRFZCQ19BTk5FWF9BIFNZU19EVkJDX0FOTkVYX0FDIGZvciBEVkIgQVBJIDwgNS42CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE4NjkKCjIwMTQtMDQtMTUgMDk6MzE6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdHlwbyBpbiB0ZXN0aW5nIGZsYWcKCSAgJSBpbnN0ZWFkIG9mICYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTg2OQoKMjAxNC0wNS0yNSAxNToxNjoxMyArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBVbml0IG9mIGJpdHJhdGUgcHJvcGVydHkgaXMgbm93IGJpdC9zZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTEyOQoKMjAxNC0wNS0yNiAxMTo1NTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgQm91cXVldCBOYW1lIHBhcnNpbmcKCjIwMTQtMDUtMjYgMTE6NTQ6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBCb3VxdWV0IE5hbWUgcGFyc2luZwoJICB0aGUgZmllbGQgaXMgbm90IGxlbmd0aCBwcmVmaXhlZAoKMjAxNC0wNS0yNiAxMTo0Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgU2VydmljZSBMaXN0IGRlc2NyaXB0b3IKCjIwMTQtMDQtMTcgMTQ6NTY6MjMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgYm91cXVldCBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM2NAoKMjAxNC0wNC0xNyAxNDo1NToyOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzdHVmZmluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDQtMTcgMTQ6NTQ6MjggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc2VydmljZSBsaXN0IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM2NAoKMjAxNC0wNS0xMCAxODozMjoyOCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFVzZSBhdXggdmFycyB0byBtaW5pbWl6ZSBjcml0aWNhbCByZWdpb24KCSAgVGhpcyBhdm9pZCBkZWFkIGxvY2sgYmV0d2VlbiBnc3RfYXVkaW9fZW5jb2Rlcl9maW5pc2hfZnJhbWUoKSBhbmQKCSAgZ3N0X29wdXNfZW5jX2dldF9wcm9wZXJ0eSgpLgoJICBBbHNvLCBub3cgYnl0ZXMgdmFyIGlzIHNldCBpbnRvIHByb3RlY3RlZCBzZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODgyCgoyMDE0LTA1LTI0IDE5OjUxOjEyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIG1pc3NpbmcgdG9uZSBpb2N0bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjkyCgoyMDE0LTA1LTI1IDA5OjAzOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogUmVtb3ZlIGZvcm1hdCBpbmZvcm1hdGlvbiB0byBhbGxvdyBjb2xvciBjb252ZXJ0IGFnYWluCgkgIFdlIGFsc28gbmVlZCB0byByZW1vdmUgdGhlIGZvcm1hdCBpbmZvcm1hdGlvbiwgIGFzIGdsZmlsdGVyIGNhbiBkbwoJICBjb2xvciBjb252ZXJ0aW9uLiBUaGlzIGNvZGUgd2FzIGltcG9ydGVkIGZyb20gdmlkZW9jb252ZXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTI1IDExOjQ0OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IGFsbG9jYXRlIHRoZSBjb3JyZWN0IG1lbW9yeSBzaXplCgkgIGFuZCBhdm9pZCB3YXN0aW5nIHJlc291cmNlcyB3ZSB3aWxsIG5ldmVyIG5lZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDcwMwoKMjAxNC0wNS0yMyAyMzowMjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggWVVZMiBhbmQgVVlWWSBzdXBwb3J0IHdpdGggbHVtaW5hbmNlX2FscGhhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NjYKCjIwMTMtMTItMDMgMTI6MDk6NTggKzAxMDAgIEpvcmdlIFphcGF0YSA8am9yZ2VsdWlzLnphcGF0YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYSBuZXcgUUNPTSBjb2xvciBmb3JtYXQKCSAgSXQgaXMgYSBOVjEyIGJhc2VkLCBhbGlnbmVkIHRvIDMyIGJ5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2MzUKCjIwMTQtMDUtMjMgMTU6MDA6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpcnN0IHRyeSB0byBnZXQgc3ltYm9scyBmcm9tIHRoZSBjdXJyZW50IHByb2dyYW0sIHRoZW4gbG9hZCBsaWJkdm0KCSAgSWYgdGhlIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHRoZSBuZXcgQVJUIHJ1bnRpbWUgaXQgd2lsbCBvdGhlcndpc2UKCSAgbG9hZCBkYWx2aWsgYW5kIHN0YXJ0IGEgZGFsdmlrIFZNIG5leHQgdG8gdGhlIEFSVCBWTS4KCSAgRG9lcyBub3Qgd29yayB2ZXJ5IHdlbGwgb2J2aW91c2x5LgoKMjAxMy0wNC0wMSAwNzo0OTowMSArMDAwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8gZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTEyOQoKMjAxNC0wNS0yMyAxMjowNzo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBwcm92aWRlIGNvbXBhdGFiaWxpdHkgZGVmaW5lcwoJICBmaXhlcyBidWlsZCBvbiBhbmRyb2lkL09TIFgKCjIwMTQtMDUtMjMgMTE6MDE6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogcmVtb3ZlIHNjcmF0Y2ggdGV4dHVyZSBmb3IgWVVZMi9VWVZZCgkgIFdlIGNhbiBnZXQgYWxsIG91ciBkYXRhIGZyb20gdGhlIG9uZSBSRy9MQSB0ZXh0dXJlIHdpdGggc29tZSBzaGFkZXIgbWFnaWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4OTAKCjIwMTQtMDUtMjMgMTA6NTk6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogUkdCQS9VTlNJR05FRF9CWVRFIG9ubHkgZm9ybWF0IHN1cHBvcnRlZCBieSBSZWFkUGl4ZWxzIEdMRVMyCgkgIEVycm9yIG91dCBpbiBjYXNlIHdlIGF0dGVtcHQgdG8gcmVhZCB3aXRoIGFueSBvdGhlciBpbnZhbGlkIGZvcm1hdC4KCjIwMTQtMDUtMjMgMTA6NTc6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogZ2VuZXJhdGUgdGV4dHVyZXMgd2l0aCBhIHNpemVkIGludGVybmFsIGZvcm1hdAoJICBSZXF1aXJlZCBpbiBvcmRlciB0byBnZW5lcmF0ZSBSRyBhbmQgUkVEIHRleHR1cmVkIHdpdGggR0xFUzMuCgoyMDE0LTA1LTIxIDIxOjQ3OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW1vcnk6IGltcGxlbWVudCBHTF9FWFRfdGV4dHVyZV9yZyBzdXBwb3J0CgkgIFdoaWNoIGlzIHVzZWQgYnkgZGVmYXVsdCBvdmVyIHRoZSBMdW1pbmFuY2UgZm9ybWF0cyBkdWUgdG8gaXQKCSAgYmVpbmcgY29sb3IgcmVuZGVyYWJsZSB3aXRoIGZib3MgKGFuZCBkZXByZWNhdGlvbi9yZW1vdmFsIHdpdGgKCSAgR0wgMy54KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjIyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4OTAKCjIwMTQtMDUtMjIgMTE6NTA6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2VyOiBSZW1vdmUgdW51c2VkIGZwc19udW0vZnBzX2RlbiBmaWVsZHMiCgkgIFRoaXMgYnJlYWtzIHRoZSBidWlsZCBzaW5jZSBtc3MgaGFzIG5vdCBiZWVuIHBvcnRlZC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZWI2YTUyMDc0MmZkODI4ODhlNDFlYTIzZjlhMzlhZGQ1MTEyNWEwLgoKMjAxNC0wNS0yMiAxNjoxMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogUmVtb3ZlIHVudXNlZCBmcHNfbnVtL2Zwc19kZW4gZmllbGRzCgkgIEluc3RlYWQgdGhlIG5ld2x5IGFkZGVkIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHRvIGNhbGN1bGF0ZQoJICB0aGUgZnJhbWVyYXRlIHByb3Blcmx5LgoKMjAxNC0wNS0xOSAxNzo1MjozOCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIG5ldyBnc3RfaDI2NF92aWRlb19jYWxjdWxhdGVfZnJhbWVyYXRlKCkgdG8gZ2V0IGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE0LTA1LTE5IDE3OjQzOjU0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnNfaDI2NDogYWRkIGdzdF9oMjY0X3ZpZGVvX2NhbGN1bGF0ZV9mcmFtZXJhdGUoKQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIHZpZGVvIHN0cmVhbSBmcmFtZXJhdGUgd2hpY2ggcmVseSBvbgoJICBTUFMsIHNsaWNlIGhlYWRlciBhbmQgcGljIHRpbWluZyB1c2luZyBmb3JtdWxhOgoJICB0aW1lX3NjYWxlICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgMQoJICBmcHMgPSAtLS0tLS0tLS0tLS0tLS0tLSAgeCAgLS0tLS0tLS0tLS0tLS0tICB4ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgbnVtX3VuaXRzX2luX3RpY2sgICAgIERlbHRhVGZpRGl2aXNvciAgICAgKGZpZWxkX3BpY19mbGFnID8gMiA6IDEpCgkgIFNlZSBzZWN0aW9uIEUyLjEgb2YgSDI2NCBzcGVjaWZpY2F0aW9uIGZvciBkZWZpbml0aW9uIG9mIHZhcmlhYmxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNC0wNS0yMSAyMTo0NDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL2NvbnRleHQ6IGFkZCBnbCBleHRlbnNpb24gY2hlY2tpbmcgdG8gY2hlY2tfZmVhdHVyZSgpCgkgIFVzZWZ1bCBmb3IgZXh0ZW5zaW9ucyB0aGF0IGRvIG5vdCBkZWZpbmUgYW55IG5ldyBHTCBBUEkgZW50cnlwb2ludHMKCSAgYnV0IGNhbiBzdGlsbCBtb2RpZnkgYmVoYXZpb3VyIHdoZW4gdXNlZC4KCjIwMTQtMDUtMjEgMjA6MzY6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2wvZG93bmxvYWQ6IGZpeHVwIFlVWTIvVVlWWSBkb3dubG9hZAoJICBSZWdyZXNzaW9uIGZyb20gMmRhOTc5ODMxZWMzYjFhOGQ5OTNlYjZmMmQzOTk5YzU4MTBjNGQ2NyBhcyBpdCBkaWQKCSAgbm90IHVwZGF0ZSB0aGUgZG93bmxvYWQgY29kZSB0byByZWZsZWN0IHRoZSBjaGFuZ2UgaW4gdGV4dHVyZSBmb3JtYXQuCgoyMDE0LTA1LTE5IDExOjQ4OjU1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzZXQgZmllbGRfcGljX2ZsYWcgd2hlbiBwYXJzaW5nIGEgc2xpY2UgaGVhZGVyCgkgIGZpZWxkX3BpY19mbGFnIHdhcyB1c2VkIGJ1dCBuZXZlciBzZXQgdG8gb3RoZXIgdmFsdWUgdGhhbiBpdHMgZGVmYXVsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMzYzCgoyMDE0LTA1LTIyIDExOjU0OjQwICswMTAwICBEYW1pYW4gWmlvYnJvIDx6aW9icm8uZGFtaWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IHN0b3Jpbmcgb2YgdGhlIElWIGJhc2VkIG9uIHRoZSBtZWRpYSBzZXF1ZW5jZSBudW1iZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU3NAoKMjAxNC0wNS0yMiAxMjoyMzo1NyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBidWlsZGluZyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzCgkgIGM0MDBlZWYzNzcyYjdkYzQ3MGVlZmFlMDJhMTI4OGMyYjEyNWUyNWMgaW50cm9kdWNlZCBzb21lIGRlZmluZXMgdG8gaGFuZGxlCgkgIG9sZGVyIGtlcm5lbCBoZWFkZXJzLiBIb3dldmVyLCB0aGUgY2hlY2sgaXMgZG9uZSBiZWZvcmUgdGhlIGNvcnJlc3BvbmRpbmcKCSAga2VybmVsIGhlYWRlciAoZHZiL2Zyb250ZW5kLmgpIGlzIGluY2x1ZGVkLiBBcyBhIHJlc3VsdCB0aGUgbWFjcm9zIGFyZQoJICBhbHdheXMgZGVmaW5lZCB3aXRoIHJlc3VsdHMgaW4gJ3JlZGVmaW5lZCcgZXJyb3JzIHdpdGggbmV3ZXIga2VybmVsCgkgIGhlYWRlcnMuCgkgIE1vdmUgdGhlIGNoZWNrIGFmdGVyIHRoZSBpbmNsdWRlIHRvIGZpeCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTcwCgoyMDE0LTA1LTIxIDEzOjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMiA9PT0KCjIwMTQtMDUtMjEgMTM6MDY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4yCgoyMDE0LTA1LTIxIDEyOjQyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMjEgMTk6NDc6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogZml4dXAgcGFzc3Rocm91Z2ggYnVmZmVycG9vbAoJICBJbiBhIHBpcGVsaW5lIGxpa2Ugc286CgkgIHZpZGVvdGVzdHNyYyAhIGdsZWZmZWN0cyAhIHZpZGVvY29udmVydCAhIHNpbmsKCSAgZ2xlZmZlY3RzIHdhcyBzaW1wbHkgcGFzc2luZyB0aGUgdmlkZW9jb252ZXJ0IGJ1ZmZlcnBvb2wgdG8gdmlkZW90ZXN0c3JjCgkgIGFuZCBub3QgY3JlYXRpbmcgYSBnbGJ1ZmZlcnBvb2wuIHZpZGVvYnVmZmVycG9vbCB3b3VsZCB0aGVuIGZhaWwKCSAgdG8gYWxsb2NhdGUgZnJvbSB0aGUgZ2xhbGxvY2F0b3IuCgoyMDE0LTA1LTIxIDEwOjUxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMTFmYTVmIHRvIDFmNWQzYzMKCjIwMTQtMDUtMjEgMDg6NTM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBkdmItc2VjdGlvbjogRG9uJ3QgY29tcGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBmb3IgPj0gMAoJICBnc3QtZHZiLXNlY3Rpb24uYzo5MzoxMjogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn4gXiAgfgoJICBnc3QtZHZiLXNlY3Rpb24uYzo5Mzo0MDogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn5+fiBeICB+CgkgIGdzdC1kdmItc2VjdGlvbi5jOjkzOjcwOiBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKGhvdXIgPj0gMCAmJiBob3VyIDwgMjQgJiYgbWludXRlID49IDAgJiYgbWludXRlIDwgNjAgJiYgc2Vjb25kID49IDAKCSAgfn5+fn5+IF4gIH4KCjIwMTQtMDUtMjAgMTc6MDk6NDMgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmxzc2hzaW5rOiBwb3N0IGVycm9yIG9uIGJ1cyBpbiBlbGVtZW50LCBub3QgdHJhbnNmZXIgdGhyZWFkCgkgIExvb2tzIGxpa2UgdGhpcyBmaWxlIHdhcyBtaXNzZWQgaW4gQnVnIDcyODk2MDoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDU5CgoyMDE0LTA1LTIxIDEwOjI2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc3dpdGNoIHRoZSAnbWFzdGVyJyB0ZXh0dXJlIGZvciBZVVkyLCBVWVZZCgkgIEZyb20gZDRiY2VmMzIwNDcwOTE1OTcxM2ZmMTYzMDk3OGVjYWMwYmQ5MWRjOSBvbiwgdXNpbmcgYSBSR0JBCgkgIHRleHR1cmUgdG8gaG9sZCB0aGUgZGF0YSBjYXVzZXMgdGhlIGdsbWVtb3J5IHRvIGhhdmUgaGFsZiB3aWR0aAoJICBhbmQgYSBzY2FsaW5nIG9mIFsyLCAxXS4gIFVzaW5nIGEgTEEgdGV4dHVyZSBzb2x2ZXMgdGhpcyBwcm9ibGVtCgkgIGhvd2V2ZXIgY2Fubm90IGJlIGF0dGFjaGVkIHRvIHRoZSBmcmFtZWJ1ZmZlciBmb3IgY29weWluZyBpbnRvCgkgIGEgUkdCQSB0ZXh0dXJlLiAgV2hpY2ggd2lsbCBiZSBzb2x2ZWQgYnkgbW92aW5nIHRvIEVYVF90ZXh0dXJlX3JnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTE0IDE3OjU5OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2VnbGltYWdlOiBhZGQgZWdsaW1hZ2UgY29udGV4dCBmZWF0dXJlCgkgIEFsbG93cyB1cyB0byBzZWxlY3RpdmVseSB1c2UgRUdMSW1hZ2VzIG9ubHkgd2hlbiBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODIzNAoKMjAxNC0wNS0xNCAxNzozMzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2wvY29udGV4dDogYWRkIGdlbmVyaWMgZmVhdHVyZSBjaGVja2luZwoJICBBdCB0aGUgbW9tZW50IGl0IHNpbXBseSBkZWxlZ2F0ZXMgdG8gdGhlIHN1YmNsYXNzLgoKMjAxNC0wNS0yMCAxMTo0MjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMub3JjOgoJICBiYXllcjogZml4IHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMS0yOCAxNDowNDoxMSArMDEwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkgIGN1cmxzZnRwc2luazogYXV0aGVudGljYXRlIHJlbW90ZSBob3N0IHZpYSBwdWJsaWMga2V5IGZpbmdlcnByaW50CgkgIEV4cG9zZSBvbmUgbW9yZSBsaWJjdXJsIG9wdGlvbjogQ1VSTE9QVF9TU0hfSE9TVF9QVUJMSUNfS0VZX01ENS4KCSAgVGhpcyBhbGxvd3MgYXV0aGVudGljYXRpbmcgdGhlIHNlcnZlciBieSB0aGUgTUQ1IGZpbmdlcnByaW50IG9mCgkgIHRoZSBzZXJ2ZXIncyBwdWJsaWMga2V5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTY3CgoyMDE0LTA1LTE5IDEzOjQzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogQ2hlY2sgaG91cjptaW51dGU6c2Vjb25kIHZhbHVlcyBiZWZvcmUgY3JlYXRpbmcgZGF0ZXRpbWUKCSAgQXZvaWRzIGFzc2VydGlvbnMgd2hlbiB0aGUgcGFja2V0cyBhcmUgbWFsZm9ybWVkIGFuZCBhbHNvIGFkZCB0aGUgY2FzZQoJICB3aGVyZSB0aGUgdGltZSBpc24ndCBzcGVjaWZpZWQsIG9ubHkgdGhlIGRhdGUuCgoyMDE0LTA1LTE5IDEyOjI1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDaGVjayBpZiBjb250ZXh0IGNyZWF0aW9uIGZhaWxlZCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjYXVzZSBhc3NlcnRpb25zIGV2ZXJ5d2hlcmUgYnkgcGFzc2luZyBOVUxMIHRvIGZ1bmN0aW9ucwoJICBhbmQgZXZlbnR1YWxseSBjcmFzaCB3aGVuIGRlcmVmZXJlbmNpbmcgYSBOVUxMIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAwNjkKCjIwMTQtMDUtMTkgMTI6MjE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogQWRkIG1vcmUgYXNzZXJ0aW9ucyB0byBtYWtlIHN1cmUgdGhhdCBldmVyeXRoaW5nIHNldHMgdGhlIEdFcnJvciBkdXJpbmcgY29udGV4dCBjcmVhdGlvbiBpZiBzb21ldGhpbmcgZmFpbHMKCjIwMTQtMDUtMTkgMTE6MzQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IERvbid0IHBhc3MgZmxvYXRzIHRvIGFicygpIGJ1dCBpbnN0ZWFkIGNhc3QgdGhlbSB0byBpbnRzIGZpcnN0CgkgIGdzdGZyZWV2ZXJiLmM6NzgxOjI5OiBlcnJvcjogdXNpbmcgaW50ZWdlciBhYnNvbHV0ZSB2YWx1ZSBmdW5jdGlvbiAnYWJzJyB3aGVuCgkgIGFyZ3VtZW50IGlzIG9mIGZsb2F0aW5nIHBvaW50IHR5cGUgWy1XZXJyb3IsLVdhYnNvbHV0ZS12YWx1ZV0KCSAgaWYgKGFicyAob3V0X2wyKSA+IDAgfHwgYWJzIChvdXRfcjIpID4gMCkKCjIwMTQtMDUtMTkgMDk6MTI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IFVucmVmIGhhbmRsZSBhbmQgb3V0cHV0IHN0YXRlIG9uIGVycm9yIHBhdGhzCgkgIENJRCAxMjE0NjA0CgoyMDE0LTA1LTE2IDA5OjEwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogV29yayBhcm91bmQgcmFjZSBjb25kaXRpb24gaW4gQW5kcm9pZCA8IDQuMiB0aGF0IGxlYWRzIHRvIGRlYWRsb2NrcyBvbiBzaHV0ZG93bgoJICBXZSBuZWVkIHRvIHNsZWVwIGEgYml0IGJlZm9yZSBkZXN0cm95aW5nIHRoZSBwbGF5ZXIgb2JqZWN0CgkgIGJlY2F1c2Ugb2YgYSBidWcgaW4gQW5kcm9pZCBpbiB2ZXJzaW9ucyA8IDQuMi4KCSAgT3BlblNMRVMgaXMgdXNpbmcgQXVkaW9UcmFjayBmb3IgcmVuZGVyaW5nIHRoZSBzb3VuZC4gQXVkaW9UcmFjawoJICBoYXMgYSB0aHJlYWQgdGhhdCBwdWxscyByYXcgYXVkaW8gZnJvbSB0aGUgYnVmZmVyIHF1ZXVlIGFuZCB0aGVuCgkgIHBhc3NlcyBpdCBmb3J3YXJkIHRvIEF1ZGlvRmxpbmdlciAoQXVkaW9UcmFjazo6cHJvY2Vzc0F1ZGlvQnVmZmVyKCkpLgoJICBUaGlzIHRocmVhZCBpcyBjYWxsaW5nIHZhcmlvdXMgY2FsbGJhY2tzIG9uIGV2ZW50cywgZS5nLiB3aGVuCgkgIGFuIHVuZGVycnVuIGhhcHBlbnMgb3IgdG8gcmVxdWVzdCBkYXRhLiBPcGVuU0xFUyBzZXRzIHRoaXMgY2FsbGJhY2sKCSAgb24gQXVkaW9UcmFjayAoYXVkaW9UcmFja19jYWxsQmFja19wdWxsRnJvbUJ1ZmZRdWV1ZSgpIGZyb20KCSAgYW5kcm9pZF9BdWRpb1BsYXllci5jcHApLiBBbW9uZyBvdGhlciB0aGluZ3MgdGhpcyBpcyB0YWtpbmcgYSBsb2NrCgkgIG9uIHRoZSBwbGF5ZXIgaW50ZXJmYWNlLgoJICBOb3cgaWYgd2UgZGVzdHJveSB0aGUgcGxheWVyIGludGVyZmFjZSBvYmplY3QsIGl0IHdpbGwgZmlyc3Qgb2YgYWxsCgkgIHRha2UgdGhlIHBsYXllciBpbnRlcmZhY2UgbG9jayAoSU9iamVjdF9EZXN0cm95KCkpLiBUaGVuIGl0IGRlc3Ryb3lzCgkgIHRoZSBhdWRpbyBwbGF5ZXIgaW5zdGFuY2UgKGFuZHJvaWRfYXVkaW9QbGF5ZXJfZGVzdHJveSgpKSB3aGljaCB0aGVuCgkgIGNhbGxzIHN0b3AoKSBvbiB0aGUgQXVkaW9UcmFjayBhbmQgZGVsZXRlcyBpdC4gTm93IHRoZSBkZXN0cnVjdG9yIG9mCgkgIEF1ZGlvVHJhY2sgd2lsbCB3YWl0IHVudGlsIHRoZSByZW5kZXJpbmcgdGhyZWFkIChBdWRpb1RyYWNrOjpwcm9jZXNzQXVkaW9CdWZmZXIoKSkKCSAgaGFzIGZpbmlzaGVkLgoJICBJZiBhbGwgdGhpcyBoYXBwZW5zIHdpdGggYmFkIHRpbWluZyBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlIHJlbmRlcmluZwoJICB0aHJlYWQgaXMgY3VycmVudGx5IGUuZy4gaGFuZGxpbmcgdW5kZXJydW4gYnV0IGRpZCBub3QgbG9jayB0aGUgcGxheWVyCgkgIGludGVyZmFjZSBvYmplY3QgeWV0LiBUaGVuIGRlc3Ryb3lpbmcgaGFwcGVucyBhbmQgdGFrZXMgdGhlIGxvY2sgYW5kIHdhaXRzCgkgIGZvciB0aGUgdGhyZWFkIHRvIGZpbmlzaC4gVGhlbiB0aGUgdGhyZWFkIHRyaWVzIHRvIHRha2UgdGhlIGxvY2sgYW5kIHdhaXRzCgkgIGZvcmV2ZXIuCgkgIFdlIHdhaXQgYSBiaXQgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIHBsYXllciBvYmplY3QgdG8gbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHJlbmRlcmluZyB0aHJlYWQgZmluaXNoZWQgd2hhdGV2ZXIgaXQgd2FzIGRvaW5nLCBhbmQgdGhlbiBzdG9wcwoJICAobm90ZTogd2UgY2FsbGVkIGdzdF9vcGVuc2xlc19yaW5nYnVmZmVyX3N0b3AoKSBiZWZvcmUgdGhpcyBhbHJlYWR5KS4KCjIwMTQtMDUtMTUgMjA6MzQ6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogbXBlZ3RzZGVzY3JpcHRvcjogZml4IGdvYmplY3QtaW50cm9zcGVjdGlvbiB3YXJuaW5ncwoJICBBZGRzIG1pc3NpbmcgOiB0byBnb2JqZWN0LWludHJvc3BlY3Rpb24gbWFya2VycwoKMjAxNC0wNS0xNSAxOToxNjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogc2VjdGlvbnM6IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gcGFja2V0IHBhcnNpbmcgZmFpbHMKCSAgdGhlIGRlc2NyaXB0b3JzIGVudHJ5IGNhbiBiZSBsZWZ0IGFzIE5VTEwgYW5kIGZyZWVpbmcgdGhlIHN0cnVjdHVyZQoJICB3aWxsIGZhaWwgKGFzc2VydGlvbiBoYXBwZW5zKQoKMjAxNC0wNS0xNCAyMTozMjoxMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG1vdGlvbmNlbGxzOiBmaXggbWVtbGVhawoJICBDaGVjayBnc3RfYnVmZmVyX21hcCByZXR1cm4gYW5kIHJlbWVtYmVyIHRvIHVubWFwIGFuZCBmcmVlIG1lbW9yeSBiZWZvcmUKCSAgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxMzMKCjIwMTQtMDUtMTQgMTE6NDc6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogZml4IHByb3BlcnR5IG5hbWVzCgkgIFRoZXNlIHdlcmUgZm9yZ290dGVuIHdoZW4gdGhleSBnb3QgcmVuYW1lZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTczMQoKMjAxNC0wNS0xMyAxNDoxMzo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9kb3dubG9hZDogdXBkYXRlIHRvIGJlIHNpbWlsYXIgdG8gdGhlIGdsdXBsb2FkIHNlbWFudGljcwoKMjAxNC0wNS0xMyAxNDowNzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBmaXggdXAgYWxwaGEgY2xvYmJlcmluZwoJICBQcmV2aW91c2x5IGl0IHdvdWxkIG9ubHkgd29yayBpZiB0aGUgYWxwaGEgdmFsdWUgd2FzIGluIHRoZSBsYXN0CgkgIGNvbXBvbmVudCAoUkdCeCwgQkdSeCkuICBOb3cgaXQgd29ya3Mgd2hlcmV2ZXIgdGhlIGFscGhhIHZhbHVlIG1heQoJICBiZSAoeFJHQiwgeEJHUiwgZXRjKS4KCjIwMTQtMDUtMTQgMDA6MjM6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiBlcnJvcmluZyBvdXQgb24gdW5zdXBwb3J0ZWQgZXNzZW5jZSB3cmFwcGluZwoKMjAxNC0wNC0xMCAxNjoxMDowNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBpbiBBbmRyb2lkLm1rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NjgKCjIwMTQtMDUtMTMgMTY6Mjk6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvIG5vdCBsZWFrIHBsYXlsaXN0IG9iamVjdAoJICBJbiBmaW5hbGl6ZSwgYWxzbyByZWxlYXNlIHRoZSBwbGF5bGlzdAoKMjAxNC0wNS0xMyAxMzoxNjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBGaXggYnVpbGRpbmcgd2l0aG91dCBFR0wgc3VwcG9ydAoJICBUaGlzIGZpeGVzIHRoZSBPU1ggYnVpbGQgYW5kIGFueSBidWlsZHMgd2l0aCAtLWRpc2FibGUtZWdsLiBUaGF0IGlzc3VlCgkgIHdhcyBpbnRyb2R1Y2VkIGluICJnbGZpbHRlcjogcmV3cml0ZSB0cmFuc2Zvcm1fY2FwcyB0byBwcmVzZXJ2ZSBjYXBzIGZpZWxkcyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4NjEKCjIwMTQtMDUtMTMgMTM6MzA6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiByZXdyaXRlIHRyYW5zZm9ybV9jYXBzIHRvIHByZXNlcnZlIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4NjEKCjIwMTQtMDUtMTMgMTA6NTM6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHVzZSB0aGUgdGV4dHVyZSBzY2FsaW5nIGZyb20gdGhlIGdsIG1lbW9yeQoJICBUaGUgY29sb3Jjb252ZXJ0IHZhbHVlcyB3ZXJlIG5vdCBiZWluZyB1c2VkIGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NgoKMjAxNC0wNS0xMiAxOToyOTo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBGaXggaGFuZGxpbmcgb2Ygc3RyaWRlIHdpdGggYWxpZ25lbWVudCBsYXJnZXIgdGhlbiA4CgkgIFNldHRpbmcgYSBzY2FsZWQgZmFjdG9yIGZvciBYIGNvb3JkaW5hdGUgaXMgbm90IGVub3VnaCBhcyB0aGUgaW5kZXhlcgoJICB3aWxsIHN0aWxsIHRoaW5rIHN0cmlkZSBpcyBzaG9ydGVyIGFuZCB3aWxsIG5vdCBmdWxseSBza2lwIGl0LiBJbnN0ZWFkLAoJICB1cGRhdGUgd2lkdGgsIHNvIHRoZSBsaW5lcyBhcmUgYXMgZXhwZWN0ZWQuIENvbWJpbmVkIHdpdGggdGhlIHNjYWxlLCBpdAoJICB3aWxsIGhpZGUgdGhlIGNyb3BwZWQgcG9ydGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NgoKMjAxNC0wNS0xMyAxMToyMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IHByb3Blcmx5IHVucmVmIGdzdGRhdGV0aW1lCgkgIEF2b2lkIGxlYWtpbmcgdGhlIEdzdERhdGVUaW1lIGluc3RhbmNlcyB3aGVuIHN1bW1pbmcgZGF0ZXMKCSAgQ0lEICMxMjEyMTQzCgoyMDE0LTA1LTEzIDEwOjI0OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogYXZvaWQgZG91YmxlIGZyZWUgb2Ygc2VnbWVudCB0aW1lbGluZSBub2RlCgkgIFRoZSBwYXJzaW5nIGZ1bmN0aW9uIGFscmVhZHkgZnJlZXMgdGhlIG9sZCB2YWx1ZSAoaWYgYW55KSwgYXZvaWQgYSBkb3VibGUKCSAgZnJlZSBieSBub3QgZnJlZWluZyBpdCBiZWZvcmUgY2FsbGluZyB0aGUgZnVuY3Rpb24gd2l0aG91dCBzZXR0aW5nIHRoZQoJICBwb2ludGVyIHRvIE5VTEwKCSAgQ292ZXJpdHkgSUQ6IDEyMTIxNzgKCjIwMTQtMDUtMTMgMTA6MTM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBhdm9pZCBkb3VibGUgZnJlZQoJICBUaGUgX3BhcnNlX3VybCBmdW5jdGlvbiBhbHJlYWR5IGZyZWVzIHRoZSBwcmV2aW91cyBwb2ludGVyLCBhdm9pZAoJICBmcmVlaW5nIGl0IGJlZm9yZSB3aXRob3V0IHNldHRpbmcgdG8gbnVsbCBvciB3ZSBoYXZlIGEgZG91YmxlIGZyZWUuCgkgIENvdmVyaXR5IElEOiAxMjEyMTgxCgkgIENvdmVyaXR5IElEOiAxMjEyMTgwCgkgIENvdmVyaXR5IElEOiAxMjEyMTc5CgoyMDE0LTA1LTEzIDE0OjIxOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IFVzZSBwb29sIGNvbmZpZ3VyYXRpb24KCSAgSXQgd2FzIGxlYWtpbmcgdGhlIGNvbmZpZywgYnV0IGFsc28gbm90IHVzaW5nIGl0Li4uCgkgIENJRCAjMTIxMjE1NQoKMjAxNC0wNS0xMyAxNDoxNToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IERvbid0IGxlYWsgR3N0VmlkZW9Db2RlY1N0YXRlCgkgIEFuZCBhdm9pZCB1c2VsZXNzIGNhbGwgdG8gX2dldF9vdXRwdXRfc3RhdGUgKHNldF9vdXRwdXRfc3RhdGUoKSBhbHJlYWR5CgkgIHJldHVybnMgaXQpLgoJICBDSUQgIzEyMTIxNjAKCSAgQ0lEICMxMjEyMTYxCgoyMDE0LTA1LTEzIDEzOjU0OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogU21hbGwgcmV3cml0ZQoJICBTZXR0aW5nIGRvbmUgd2FzIHVzZWxlc3MgYW55d2F5CgoyMDE0LTA1LTEzIDEzOjUyOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBEb24ndCBsZWFrIEdzdEFjdGl2ZVN0cmVhbQoJICBDSUQgIzEyMTIxNDIKCjIwMTQtMDUtMTMgMTE6NDE6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBEb24ndCBsZWFrIEdzdFNobVBpcGUKCSAgQnkgcmVvcmRlcmluZyB0aGUgbGVha2luZyBjb2RlIHBhdGggdG8gYmVmb3JlIHRoZSBhbGxvY2F0aW9uCgkgIENJRCAjMTIxMjE1MwoKMjAxNC0wNS0xMyAxMTozODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmRlYzogRG9uJ3QgbGVhayBvdXRwdXQgc3RhdGUKCSAgX3NldF9vdXRwdXRfc3RhdGUgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgY29kZWMgc3RhdGUuCgkgIENJRCAjMTIxMjE3MAoKMjAxNC0wNS0xMyAxMTozNTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCBsZWFrIGFkYXB0ZXIgZGF0YQoJICBDSUQgIzEyMTIxNTgKCjIwMTQtMDUtMTMgMTE6MzA6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg7IEZpeCBzdHJlYW0gbGVhawoJICBDSUQgIzEyMTIxNjQKCjIwMTQtMDUtMTMgMTE6MjM6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogRG9uJ3QgbGVhayB2YXJpb3VzIHNsaWNlcyBhbmQgYXJyYXlzCgkgIENJRCAjMTIxMjEzOQoJICBDSUQgIzEyMTIxNDAKCSAgQ0lEICMxMjEyMTQxCgoyMDE0LTA1LTEzIDExOjE5OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IERvbid0IGxlYWsgYnl0ZXJlYWRlcgoJICBCeSBtYWtpbmcgaXQgZ28gdGhyb3VnaCB0aGUgZXJyb3IgcGF0aCB0aGF0IHRha2VzIGNhcmUgb2YgY2xlYW51cHMKCSAgQ0lEICMxMjEyMTY4CgoyMDE0LTA1LTEyIDEzOjUwOjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEVuc3VyZSB3ZSBzdGlsbCBoYXZlIGEgdGV4dHVyZSBhZnRlciB1cGxvYWRfc2V0X2Zvcm1hdCgpCgkgIGdzdF9nbF91cGxvYWRfc2V0X2Zvcm1hdCgpIHJlc2V0cyB0aGUgdXBsb2FkLCBoZW5jZSB0aGUgdGV4dHVyZS4KCSAgU28gd2UgbmVlZCB0byBlbnN1cmUgd2UgaGF2ZSBhIHRleHR1cmUgYWZ0ZXIgdGhpcyBjYWxsIHdoZW4KCSAgdXBsb2FkaW5nLgoKMjAxNC0wNS0xMiAxMjo1OTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBDb3JyZWN0bHkgdXBkYXRlIHRoZSB2aWRlbyBpbmZvIGZyb20gdmlkZW8gbWV0YQoJICBVc2luZyBnc3RfdmlkZW9faW5mb19zZXRfZm9ybWF0KCkgaXNuJ3QgY29tcGxldGUgd2hlbiB1cGRhdGluZwoJICBhIHZpZGVvIGluZm8gZnJvbSB2aWRlbyBtZXRhLgoKMjAxNC0wNS0xMiAxMjo1NzoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBDb3JyZWN0bHkgdXBkYXRlIHZpZGVvIGluZm8gaW4gdXBsb2FkIGZhbGxiYWNrCgkgIFdoZW4gdGhlIHVwbG9hZCBhY2NlbGVyYXRlZCBtZXRob2QgZmFpbHMsIHdlIGZhbGxiYWNrIHRvIGFuIHVwbG9hZCwKCSAgYnV0IHRoZSB2aWRlbyBpbmZvIHdhcyBub3QgY29ycmVjdGx5IHVwZGF0ZWQuCgoyMDE0LTA1LTEyIDE4OjI4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGF2b2lkIGRlYWRsb2NraW5nIHdoZW4gZXJyb3JpbmcKCSAgSXQgbWlnaHQgZ2V0IHN0dWNrIHdoZW4gcG9zdGluZyB0aGUgbWVzc2FnZSB3aGlsZQoJICBhIHJlY29uZmlndXJlIGV2ZW50IGlzIGJlaW5nIHB1c2hlZCB1cHN0cmVhbQoKMjAxNC0wNS0xMiAxNzozNzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggY2FwcyBsZWFrCgoyMDE0LTA1LTEyIDE1OjQzOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGhhbmRsZSBlcnJvciBtZXNzYWdlcyBmcm9tIGludGVybmFsIHNvdXJjZQoJICBzZXQgdXAgYSBiaW4gbWVzc2FnZSBoYW5kbGVyIHRvIGdldCBub3RpZmllZCBvZiBlcnJvciBtZXNzYWdlcyBmcm9tCgkgIHRoZSBpbnRlcm5hbCBzb3VyY2UgZWxlbWVudAoKMjAxNC0wNS0xMiAxNDo1ODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBbHdheXMgYWNjZXB0IHRoZSBsYXRlbmN5IGNvbmZpZ3VyZSBldmVudAoJICBVcHN0cmVhbSBvciBpbnRlcm5hbCBlbGVtZW50cyBhcmUgaXJyZWxldmFudCBhbmQgd2Ugc2hvdWxkCgkgIGFsd2F5cyBzdWNjZWVkLgoKMjAxNC0wNS0xMiAxNDo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlZW5hYmxlIHNlZ21lbnQgdHJhY2tpbmcgZm9yIHN0cmVhbXMKCSAgU3RvcmUgdGhlIGxhdGVzdCBwdXNoZWQgdGltZXN0YW1wIHNvIHRoYXQgbXNzZGVtdXggc3RyZWFtcyBrbm93CgkgIHdoZXJlIHRoZXkgYXJlIGluIHRpbWUKCjIwMTQtMDUtMTIgMTQ6MjM6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZGVwcmVjYXRlIHVudXNlZCBtYXgtcXVldWUtc2l6ZS1idWZmZXJzCgkgIFRoZXJlIGlzIG5vIGludGVybmFsIHN0b3JhZ2Ugb2YgYnVmZmVycyBhbnltb3JlCgoyMDE0LTA1LTEyIDE0OjE4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogbWVhc3VyZSBiaXRyYXRlIHNpbWlsYXJseSB0byBobHNkZW11eAoJICBuZXcgYml0cmF0ZSA9IChvbGQgYml0cmF0ZSArIChsYXN0IGZyYWdtZW50IGJpdHJhdGUgKiAzKSkgLyA0CgoyMDE0LTA1LTEyIDEzOjQwOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVtb3ZlIHVyaWRvd25sb2FkZXIgaW4gZmF2b3Igb2YgaW50ZXJuYWwgc291cmNlCgkgIFJlZmFjdG9yIG1zc2RlbXV4IHRvIHJlbW92ZSB1cmlkb3dubG9hZGVyIHRvIHVzZSBhbiBpbnRlcm5hbAoJICBzb3VyY2UgZWxlbWVudCB3aGljaCByZWR1Y2VzIHN0YXJ0dXAgbGF0ZW5jeSBhbmQgcHJvdmlkZXMgc21hbGxlcgoJICBidWZmZXJzIGZvciBiZXR0ZXIgYnVmZmVyaW5nIG1hbmFnZW1lbnQgZG93bnN0cmVhbQoKMjAxNC0wNS0xMiAxMzoyODozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbml0aWFsaXplIHRoZSBtdXRleCBhbmQgY29uZCBmb3IgZnJhZ21lbnQgZG93bmxvYWQKCjIwMTQtMDUtMTIgMTM6MzI6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc2V0IG91dF90ZXggYWZ0ZXIgcmVzZXQsIG5vdCBiZWZvcmUKCSAgRml4IGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIHJlY2VudGx5IHdpdGggdGhlIGxhenkgaW5pdC4KCSAgSXQgd2FzIGhhcHBlbmluZyB3aGVuIGNhbGxpbmcgZ3N0X3ZpZGVvX2dsX3RleHR1cmVfdXBsb2FkX21ldGFfdXBsb2FkCgkgIGZyb20gYW4gYXBsaWNhdGlvbi4gU28gbm90IHVzaW5nIGdzdF9nbF91cGxvYWRfcGVyZm9ybV93aXRoX2J1ZmZlci4KCjIwMTQtMDUtMTEgMTI6NDg6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogdXBkYXRlIHRoZSB2aWRlbyBpbmZvIG9uIG1hcHBpbmcgYSB2aWRlbyBmcmFtZQoJICBUaGUgYnVmZmVyIHNob3VsZCBjb250YWluIHRoZSBtb3N0IHNwZWNpZmljIGRhdGEgb24gaG93IHRoZSBkYXRhIGlzCgkgIGZvcm1hdHRlZC4gIFdlIHNob3VsZCB1c2UgdGhpcyBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NgoKMjAxNC0wNS0xMiAyMTo1NjowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29udmVydDogY2xvYmJlciBhbHBoYSBjaGFubmVsIHdoZW4gbmVlZGVkCgkgIE5lZWRlZCBpbiB0aGUgY29udmVyc2lvbiBmcm9tIHBhZGRlZCBSR0IgZm9ybWF0cyB0byBmb3JtYXRzIHdpdGggYW4KCSAgYWxwaGEgY2hhbm5lbC4gIGUuZy4gQkdSeCAtPiBBQkdSLCBldGMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc0MgoKMjAxNC0wNS0xMiAyMTo1MTozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBhdm9pZCBwZXJmb3JtaW5nIGNvbG9yIGNvbnZlcnNpb24gd2hlbiB0aGVyZSBpcyBubyBuZWVkCgkgIE9uZSBzdWNoIGV4YW1wbGUgaXMgd2hlbiB0aGUgYnVmZmVyIGNvbnRhaW5zIEdzdEdMTWVtb3J5IGluIHRoZQoJICBSR0JBIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5Mjc4CgoyMDE0LTA1LTEyIDEwOjAxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCBmcmVlIHN0cmluZyB3ZSdyZSBzdGlsbCB1c2luZwoJICBDSUQgMTIxMzc4MAoKMjAxNC0wNS0xMSAxNToyNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBzdHJlYW0gdXJpZG93bmxvYWRlcgoJICBUaGUgdXJpZG93bmxvYWRlciBmb3IgdGhlIHN0cmVhbSBmcmFnbWVudHMgaXNuJ3QgdXNlZCBhbnltb3JlLgoKMjAxNC0wNS0xMSAwNzo1NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG8gbm90IHRyeSB0byBhZGQgYSBmZWF0dXJlIHRvIGEgY2FwcyBmZWF0dXJlcyBBTlkKCSAgSXQgZG9lcyBub3QgbWFrZXMgc2Vuc2UgYW5kIGFzc2VydHMKCSAgQmFzZWQgb24gN2Y5YWFjMzg2ZmQ1ZDU5MjFjODAxMDA4ODlhNWYyMTJjMDE0OGE4OCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDE0LTA1LTExIDA3OjU1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEbyBub3QgdHJ5IHRvIGFkZCBhIGZlYXR1cmUgdG8gYSBjYXBzIGZlYXR1cmVzIEFOWQoJICBJdCBkb2VzIG5vdCBtYWtlcyBzZW5zZSBhbmQgYXNzZXJ0cy4KCSAgQmFzZWQgb24gN2Y5YWFjMzg2ZmQ1ZDU5MjFjODAxMDA4ODlhNWYyMTJjMDE0OGE4OCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDE0LTA1LTExIDE0OjAyOjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGNob29zZSB0aGUgcmlnaHQgYWxwaGEgY29tcG9uZW50IGZvciBBWVVWIC0+IFJHQkEKCjIwMTQtMDUtMTEgMTA6Mjc6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogdXBkYXRlIHRoZSByZXNwZWN0aXZlIHN0YXRlIHdoZW4gd2UgY2FjaGUgdGV4dHVyZXMvZGF0YQoKMjAxNC0wNS0wMSAwMjoxMDoyMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBDKysgc3R5bGUgY29tbWVudHMKCSAgVGhpcyBwYXRjaCBidWlsZHMgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0wMSAwMTo1ODowMyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVwIGVycm9yIHJlcG9ydGluZwoJICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTEwIDIzOjMzOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGNhY2hlIHRoZSB0ZXh0dXJlcyB0aGF0IHdlIGFyZSB1c2luZwoKMjAxNC0wNS0xMCAyMjo0ODowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBhdm9pZCByZWNyZWF0aW5nIHRoZSBHTE1lbW9yeSBzdHJ1Y3QgZm9yIG91dHB1dCB0ZXh0dXJlcwoKMjAxNC0wNC0xMSAxOTozODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgaW1tZWRpYXRlbHkgd2l0aG91dCBhbnkgZGF0YQoJICBJdCdzIG5vdCByZWFsbHkgcmlnaHQgdG8ganVzdCBnbyBFT1MgYXMgaWYgbm90aGluZyB3YXMgd3JvbmcuCgoyMDE0LTA1LTEwIDEyOjU0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGNvbmZ1c2luZyBkZWJ1ZyBsb2cgbGluZQoKMjAxNC0wNS0wNyAyMDowODowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IGZhY3RvcmllcyBkb24ndCBuZWVkIHRoZSBsb2NrCgkgIEFuIGF0b21pYyBpcyBlbm91Z2gsIHRoZXkgY2FuIG9ubHkgYmUgc2V0IG9uY2UuCgoyMDE0LTA1LTA5IDIwOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIFJldmVydCAiYXV0b2NvbnZlcnQ6IEhhbmRsZSBjYXBzIHF1ZXJ5IG9uIGludGVybmFsIHNyY3BhZCIKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUgaWYgdGhlIGdzdF9wYWRfbGluayBjaGVja3Mgbm90aGluZy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhMzAzMzc1YTNmNWMxMmU5N2NhOGJmNTBiNWE5M2NlODY1MmZhZjIzLgoKMjAxNC0wNS0wOSAyMDoxMjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogTm8gbmVlZCB0byBjaGVjayBhbnl0aGluZyB3aGVuIGxpbmtpbmcgaW50ZXJuYWwgcGFkcwoKMjAxNC0wNS0wOSAyMDowNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgaWdub3JlIGVsZW1lbnRzIGFjY2VwdGVkIEFOWSwgaXQgaXMgdmFsaWQKCjIwMTQtMDUtMDkgMTg6NDk6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSBicm9rZW4gdXNhZ2Ugb2YgdGhlIGl0ZXJhdG9yCgkgIFdlJ3JlIGEgc3ViY2xhc3MsIHNvIHdlIGNhbiBqdXN0IHRha2UgdGhlIG9iamVjdCBsb2NrIGFuZCBpdGVyYXRlIHRoZSBsaXN0CgkgIGRpcmVjdGx5LgoKMjAxNC0wNS0wOCAxOTozNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUHJvY2VzcyB1cHN0cmVhbSBnZXRjYXBzCgkgIFByb2Nlc3MgaXQgbGlrZSBkb3duc3RyZWFtIGdldGNhcHMKCjIwMTQtMDUtMDcgMjA6MDA6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJldHVybiB0aGUgR0xpc3Qgb2YgZmFjdG9yaWVzLCB0byBhIHBvaW50ZXIgdG8gaXQuCgoyMDE0LTA1LTA3IDE5OjU0OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogc3ViZWxlbWVudCBjYW4gb25seSBiZSBjaGFuZ2Ugd2l0aCBzdHJlYW0gbG9jayBoZWxkCgkgIEl0IHdhcyBhbHJlYWR5IHRoZSBjYXNlLCBub3cgYmUgbW9yZSBleHBsaWNpdCBhYm91dCB0aGF0LCBhbmQgcmVtb3ZlIHVzZWxlc3MKCSAgbG9jay9yZWYvdW5sb2NrL3VucmVmIGRhbmNlcy4KCjIwMTQtMDUtMDcgMTk6NDg6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEtlZXAgYSByZWYgdG8gdGhlIHBhZHMgdG9vCgkgIFNpbXBsaWZpZXMgdGhlIGNvZGUKCjIwMTQtMDUtMDcgMTk6NDc6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB1bmVlZGVkIGlmKCkKCSAgTlVMTCBpcyB2YWxpZCBHTGlzdAoKMjAxNC0wNS0wNyAxOTo0NDoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWx3YXlzIHB1c2ggcmVjb25maWd1cmUgdXBzdHJlYW0gdG9vCgkgIEEgcmVjb25maWd1cmUgY291bGQgdHJpZ2dlciBhIGNoYW5nZSBvZiBjb250ZW50cyBpbnN0ZWFkIG9mIGp1c3QgcmVjb25maWd1cmluZyB0aGUgaW50ZXJuYWwgZWxlbWVudAoKMjAxNC0wNS0wNyAxOTo0MzoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmVtb3ZlIHVudXNlZCBpbnRlcm5hbCBwYXJhbWV0ZXIKCjIwMTQtMDUtMDkgMTg6NTk6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IEZpeCBzb21lIG9mIHRoZSBlcnJvciBoYW5kbGluZwoKMjAxNC0wNS0wOSAxNzo1OTo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBVcGRhdGUgR3N0VmlkZW9JbmZvIGFmdGVyIHRoZSBidWZmZXIgaXMgbWFwcGVkCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSB3aWxsIHN0b3JlIGFuIHVwZGF0ZWQgdmlkZW8gaW5mbyBiYXNlCgkgIG9uIHRoZSB2aWRlbyBtZXRhLiBJbiBvcmRlciB0byBoYXZlIHRoZSByaWdodCBzdHJpZGUgYW5kIG9mZnNldAoJICB3ZSBzaG91bGQgdXBkYXRlIHRoYXQgdmlkZW8gaW5mbyBhY2NvcmRpbmdseS4KCjIwMTQtMDUtMDkgMTU6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2w6IEZpeCBtZW1vcnkgbGVhawoJICBDSUQgIzEyMTIxNzEKCjIwMTQtMDUtMDkgMTU6MjY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBSZW1vdmUgaW52YWxpZCBmcmVlCgkgIGRhdGEgZG9lcyBub3QgaGF2ZSB0byBiZSBmcmVlZCBhdCBhbGwgaGVyZSwgaXQncyBhIHBvaW50ZXIgdG8KCSAgYW4gYXJiaXRyYXJ5IHBvc2l0aW9uIGluc2lkZSB0aGUgY3VycmVudCBsaW5lLiBBbHNvIGRvbid0IHJldXNlCgkgIHRoZSBkYXRhIHZhcmlhYmxlIGZvciBhbnl0aGluZyBlbHNlLCB0aGF0IHdpbGwgY2F1c2UgY3Jhc2hlcwoJICBpbiBwbGF5bGlzdHMgdGhhdCBoYXZlIHRoZSBJLWZyYW1lIHBsYXlsaXN0IFVSSSBmb2xsb3dlZCBieQoJICBvdGhlciBhdHRyaWJ1dGVzLgoJICBDSUQgMTIxMjEyNwoKMjAxNC0wNS0wOSAxNDozMTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGxlYWsKCSAgVGhlIGNlbGwgZXh0ZW5zaW9uIHdhcyBuZXZlciBhZGRlZCB0byB0aGUgcGFyZW50IGNlbGwKCSAgQ0lEICMxMjEyMTYyCgoyMDE0LTA1LTA5IDIyOjIyOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHByZXNlcnZlIGFscGhhIGluIEFZVVYgPC0+IFJHQkEgY29udmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc0MwoKMjAxNC0wNS0wOSAxODowNzowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGltcGxlbWVudCBsYXp5IGluaXQKCjIwMTQtMDUtMDggMTU6Mzg6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc2V0IGluaXR0ZWQgdG8gVFJVRSB3aGVuIF9pbml0X3VwbG9hZCBzdWNjZWVkZWQKCjIwMTQtMDUtMDggMjI6NDk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogVXNlIEdTVF9TVFJfTlVMTCgpIGZvciBwcmludGluZyBwb3NzaWJseSBOVUxMIHN0cmluZ3MgYW5kIHByaW50IGFsbCB2YXJpYWJsZXMgd2UgdXNlCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgc2V0IGJ1dCBub3QgdXNlZCBwbGF0Zm9ybV9jaG9pY2UgdmFyaWFibGUKCSAgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxNC0wNS0wOCAxNjowODowOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogdXNlIGdsX3Z0YWJsZQoKMjAxNC0wNS0wOCAxNzoyODoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBmaXggY29tcGlsYXRpb24gb24gT1MgWAoKMjAxNC0wNS0wOCAxNTo0MDozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBmYWlsIHByb3BvZXJseSBpZiBpbml0IGZhaWxzCgoyMDE0LTA1LTA4IDE1OjMwOjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2w6IG1ha2UgYWxsIEdPYmplY3RzIGluaGVyaXQgZnJvbSBHc3RPYmplY3QKCSAgQWlkcyBtZW1vcnkgbGVhayBkZWJ1Z2dpbmcgd2l0aCBHU1RfVFJBQ0U9bWVtLWxpdmUKCjIwMTQtMDUtMDggMTM6NDY6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBpbXBsZW1lbnQgbGF6eSBpbml0CgkgIFJlbmFtZSBpbml0X2Zvcm1hdCB0byBzZXRfZm9ybWF0CgoyMDE0LTA1LTA4IDAwOjU5OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiBhZGQgZ2V0X2Zvcm1hdCBtZXRob2QKCSAgU2ltcGx5IHJldHJlaXZlcyB0aGUgZm9ybWF0IHNldCBieSBpbml0X2Zvcm1hdAoKMjAxNC0wNS0wOCAwMDo0ODowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhdHRlbXB0IHRvIHBhc3N0aHJvdWdoIHRoZSBwb29sIGlmIHRoZSBjYXBzIGFyZSB0aGUgc2FtZQoJICBSZWR1Y2VzIHRoZSBudW1iZXIgb2YgZ2xidWZmZXJwb29sIGluc3RhbmNlcyByZXF1aXJlZCBmb3IgPj0yCgkgIGNvbnNlY3V0aXZlIEdMIGVsZW1lbnRzIGluIGEgcGlwZWxpbmUuCgoyMDE0LTA1LTA4IDAwOjQzOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGFsd2F5cyBpbml0aWFsaXplIHRoZSB1cGxvYWQgb2JqZWN0CgoyMDE0LTA1LTA3IDIxOjQ1OjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IGFkdmVydGlzZSBHc3RHTE1lbW9yeSB1c2FnZSBpbiB0aGUgY2FwcyBhcyBjYXBzZmVhdHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTY1OAoKMjAxNC0wNS0wNyAyMDoxMjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBnbC9leGFtcGxlczogZml4IGNvbXBpbGF0aW9uIGZvciBjbHV0dGVyIGV4YW1wbGVzCgkgIENsdXR0ZXJYMTFUZXh0dXJlUGl4bWFwIGlzIGRlcHJlY2F0ZWQgaW4gQ2x1dHRlciAxLjYgYW5kIHdlIGFzayBmb3IKCSAgYXQgbGVhc3QgMS44CgoyMDE0LTA1LTA3IDE5OjA1OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZGlzcGxheTogYXZvaWQgZW5kbGVzcyByZWN1cnNpb24gZm9yIGNvY29hCgoyMDE0LTA1LTA2IDA4OjUyOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRlcHJlY2F0ZSBtYXgtYnVmZmVyaW5nLXRpbWUgcHJvcGVydHkKCSAgSXQgaXMgbm90IHVzZWQgYXMgZGFzaGRlbXV4IGRvZXNuJ3QgaGF2ZSBhIGludGVybmFsIGJ1ZmZlcgoJICBmb3IgZnJhZ21lbnRzIGFueW1vcmUKCjIwMTQtMDUtMDYgMDE6NTY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3Zpbmcgb2xkIHVudXNlZCBjb2RlCgkgIFRoZSAnY2F0Y2ggdXAgbW9kZScgaXNuJ3QgbmVlZGVkIGFueW1vcmUgc2luY2UgZGFzaGRlbXV4CgkgIGlzIGRvd25sb2FkaW5nIGFuZCBwdXNoaW5nIGZyb20gdGhlIHNhbWUgdGhyZWFkCgoyMDE0LTA1LTA1IDEwOjEzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbWVtYmVyIHRvIHNldCBzdGFydGluZyBmcmFnbWVudCB0byBuZXcgZnJhZ21lbnRzCgoyMDE0LTA1LTAyIDE4OjM0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBhIGZldyBtb3JlIGVycm9yIGNhc2VzCgkgIHJlbGF0ZWQgdG8gbWlzc2luZyBwbHVnaW5zLCBiYWQgVVJJIGFuZCBhIGxvY2t1cCBvbiBkZWFsaW5nIHdpdGgKCSAgZXJyb3JzIGZyb20gdGhlIHNvdXJjZS4KCjIwMTQtMDUtMDIgMTg6MzI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogT25seSBzZXQgdGltZXN0YW1wIHRvIHRoZSBmaXJzdCBidWZmZXIgb2YgZnJhZ21lbnRzCgkgIFNldHRpbmcgaXQgdG8gdGhlIG90aGVyIHBhcnRzIG9mIHRoZSBmcmFnbWVudCBpcyBzbGlnaHRseSB3cm9uZwoJICBhbmQgbWlzbGVhZGluZyBhcyBpdCBpc24ndCBhY2N1cmF0ZSBlbm91Z2guCgoyMDE0LTA1LTAyIDE4OjMwOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgZnJvbSB0aGUgc291cmNlcwoJICBTZXQgdXAgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIGJlIGFibGUgdG8gY2F0Y2ggZXJyb3JzCgkgIGZyb20gdGhlIHNvdXJjZSBlbGVtZW50IGFuZCBzaWduYWwgdGhlIGNvbmQgdG8gYWxsb3cgdGhlIGRvd25sb2FkCgkgIGxvb3AgdG8gcmV0cnkgdGhlIGRvd25sb2FkLgoKMjAxNC0wNS0wMSAyMTowNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjaGVjayBmb3IgZXJyb3JzIGJldHdlZW4gZG93bmxvYWRzCgkgIFRvIGFib3J0IGVhcmxpZXIgaW4gY2FzZSBvZiBmYWlsdXJlcwoKMjAxNC0wNS0wMSAyMTowMDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBBbHdheXMgYWNjZXB0IHRoZSBsYXRlbmN5IGNvbmZpZ3VyZSBldmVudAoJICBVcHN0cmVhbSBvciBpbnRlcm5hbCBlbGVtZW50cyBhcmUgaXJyZWxldmFudCBhbmQgd2Ugc2hvdWxkCgkgIGFsd2F5cyBzdWNjZWVkLgoKMjAxNC0wNS0wMSAxMjowNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkgIGRhc2hkZW11eDogbWVhc3VyZSBkb3dubG9hZCByYXRlIGp1c3QgbGlrZSBobHNkZW11eAoJICBuZXcgYml0cmF0ZSA9IChvbGQgYml0cmF0ZSArIChsYXN0IGZyYWdtZW50IGJpdHJhdGUgKiAzKSkgLyA0CgoyMDE0LTA0LTI1IDA4OjUwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdXJpZG93bmxvYWRlciBmcm9tIGZyYWdtZW50cyBkb3dubG9hZAoJICBJbnN0ZWFkLCB1c2UgYSBzb3VyY2UgZWxlbWVudCBsaW5rZWQgdG8gYSBnaG9zdHBhZCB0byBwcm92aWRlCgkgIHNtYWxsZXIgYnVmZmVycyBhbmQgbW9yZSBncmFudWxhciBjb250cm9sIGZvciBkb3duc3RyZWFtCgkgIGJ1ZmZlcmluZyBlbGVtZW50cyB3aGlsZSBhbHNvIHJlZHVjaW5nIHN0YXJ0dXAgbGF0ZW5jeQoKMjAxNC0wNS0wNyAwOToxMToyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2wvc2luazogbWFrZSBzdXJlIHdlIGFsd2F5cyBpbml0aWFsaXplIHRoZSB1cGxvYWQgb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NDIKCjIwMTQtMDUtMDYgMTk6MjQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGludGVybmFsIHNvdXJjZSBldmVudCBsZWFrcwoKMjAxNC0wNS0wNiAxMTo1OToyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGRvIG5vdCBhbGxvY2F0ZSB0aGUgdGFyZ2V0IHRleHR1cmUgb2YgYW4gRUdMSW1hZ2UKCSAgVGhlIHRhcmdldCB0ZXh0dXJlIG9mIGFuIEVHTEltYWdlIGlzIHRoZSB0ZXh0dXJlIGJpbmQganVzdAoJICBiZWZvcmUgY2FsbGluZyBnbEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJELgoJICBBcyB3ZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IGEgZ2wgdGV4dHVyZSBhcyB0aGUgc291cmNlIG9mIGFuIEVHTEltYWdlCgkgIHRoZSBnbCB0ZXh0dXJlIGlzIGFjdHVhbGx5IGFscmVhZHkgYWxsb2NhdGVkIHdoZW4gY3JlYXRpbmcgdGhlIGVnbGltYWdlLgoJICBJIGFsc28gc2VlIHNvbWUgY2FzZXMgd2hlcmUgaXQgZmFpbHMgdG8gdXBsb2FkIGFuIGVnbGltYWdlIHdoZW4KCSAgZ2xUZXhJbWFnZTJEIGlzIGNhbGxlZCBvbiB0aGUgdGFyZ2V0LgoKMjAxNC0wNS0wNiAxMTo1MTozMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogYWxsb3cgdG8gYXZvaWQgY2FsbGluZyBnbFRleEltYWdlMkQodywgaCwgTlVMTCkgd2hlbiBnZW5lcmF0aW5nIGEgdGV4dHVyZQoJICBKdXN0IHBhc3MgMCBhcyB3aWR0aCBvciBoZWlnaHQgdG8gZ3N0X2dsX2NvbnRleHRfZ2VuX3RleHR1cmUuCgoyMDE0LTA1LTA2IDExOjI3OjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2w6IG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBhIGZyYW1lIGJ1ZmZlciBvYmplY3QgdG8gdXBsb2FkIGFuIGVnbGltYWdlCgkgIEZpeCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTg4CgoyMDE0LTA1LTA2IDExOjIxOjU2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZ2w6IHVzZSBHU1RfQ0FUX0VSUk9SIGluc3RlYWQgb2YgR1NUX0VSUk9SX09CSkVDVAoJICBJdCBmaXhlcyBzZWdhdWx0IHdoZW4gR1NUX0RFQlVHIGlzIGF0IGxlYXN0IGxldmVsIDEgYW5kIGVnbENyZWF0ZUltYWdlIGZhaWxzCgoyMDE0LTA1LTA2IDEwOjE0OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZGVsZXRlIHRleHR1cmUgdXNlZCB3aXRoIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxNC0wNS0wNiAxNDoyMzozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IHVzZSBnc3RfZ2xfY29udGV4dF9nZW5fc2hhZGVyIGhlbHBlciBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUKCjIwMTQtMDUtMDYgMDk6NTU6MDUgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IHJlbW92ZSBlbXB0eSBsaW5lCgkgIFJlbW92ZSB0cmFpbGluZyBlbXB0eSBsaW5lIGZyb20gY29tbWl0IGJmZGM1NDM5NTIzOGMwNGZjNmU1YjUxODgwYzJkNzA2ZjMzZTkwMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxMy0xMS0yMCAxMjoxNjoxNyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IFJlbW92ZSB1bnVzZWQgZGF0YSBpbiBUc011eFNlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTY4NQoKMjAxNC0wNS0wNiAyMToxNzo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlZW5hYmxlIGNhbWVyYWJpbiBlbGVtZW50IHRlc3QKCjIwMTQtMDUtMDYgMTY6Mzk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdsL2Rpc3BsYXk6IGNsZWFuIHVwIHByZSBnc3RnbGNvbnRleHQgYXBpIGFuZCBzdHJ1Y3QgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTc6Mjc6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsL2Rpc3BsYXk6IGFkZCBnZXRfaGFuZGxlX3R5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxNzowODoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGF2b2lkIG9wZW5pbmcgdGhlIFgxMSBkaXNwbGF5IG9uIHN5c3RlbXMgd2l0aCBDb2NvYSAoT1MgWCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxNjozOTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2wvd2luZG93OiBmaXggc3RyaW5nIGxlbmd0aCBjaGVjayBmb3IgZWFnbAoKMjAxNC0wNS0wNiAxNjozMToyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGNoZWNrIHRoZSBjb3JyZWN0IGVudiB2YXJpYWJsZSBmb3IgY2hvb3NpbmcgYW4gZWdsIGRpc3BsYXkKCSAgR1NUX0dMX1dJTkRPVyBpcyB1c2VkIGZvciB3aW5kb3cgc3lzdGVtIHNwZWNpZmljIGNob2ljZXMuCgkgIEFuIEVHTERpc3BsYXkgY2FuIGJlIGNyZWF0ZWQgZnJvbSB3aW5kb3cgc3lzdGVtcyB3aXRoIGVnbCBzdXBwb3J0IGJ5IHVzaW5nCgkgIGVnbEdldERpc3BsYXkoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxMjo1NjoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2wvY29jb2E6IFVzZSBPQkpDRkxBR1Mgd2hlcmUgbmVlZGVkCgkgIFNob3VsZCBmaXggdXNhZ2Ugb2YgYy1jb21waWxlci1vbmx5IGZsYWdzIHdpdGggYW4gb2JqZWN0aXZlLWMgY29tcGlsZXIKCjIwMTQtMDUtMDYgMDk6NDg6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IGZpeCBmbG93IHJldHVybiBhbmQgYnVmZmVyIGxlYWsgaW4gbm90LW5lZ290aWF0ZWQgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjE0CgoyMDE0LTA1LTA2IDA5OjQwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBuZXcgdnA4cGFyc2VyLXRlc3QgYmluYXJ5IHRvIC5naXRpZ25vcmUKCjIwMTQtMDUtMDUgMTc6MjA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IHJlc2V0IHN0cmVhbSBpZiB0aGUga2V5IGhhc24ndCBjaGFuZ2VkCgoyMDE0LTA1LTA1IDE3OjAwOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkgIHNydHBkZWM6IEFkZCAicmVtb3ZlLWtleSIgYWN0aW9uIHNpZ25hbCB0byByZW1vdmUgYSBzaW5nbGUga2V5CgkgIFJlbW92aW5nIGFsbCB0aGUga2V5cyBjYW4gYmUgYSBwcm9ibGVtIGFzIGl0IGFsc28gcmVzZXRzIHRoZSB2YXJpb3VzCgkgIGNvdW50ZXJzLCBzbyBpbnN0ZWFkIGFkZCBhbiBvcHRpb24gdG8gcmVtb3ZlIGEgc2luZ2xlIGtleS4KCjIwMTQtMDUtMDUgMjI6MjU6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFVzZSAldSBpbiB0ZW1wbGF0ZXMgdG8gbWF0Y2ggcnRwYmluCgoyMDE0LTA1LTA2IDAwOjExOjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBSZW1vdmUgdW51c2VkIGZpZWxkCgoyMDE0LTA1LTA2IDA5OjIzOjEzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIEZpeCBmb3Igbm90IGNoZWNraW5nIHplcm8gd2lkdGggYW5kIGhlaWdodAoJICBTaWduZWQtb2ZmLWJ5OiBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxNC0wNS0wNSAxMToxMzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHNldCB0aGUgc2VnbWVudCBwb3NpdGlvbiBpZiB0aGVyZSBpcyBhIHRpbWVzdGFtcAoJICBPbmx5IHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCBoYXMgaXRzIHRpbWVzdGFtcCBzZXQsIHNvIG9ubHkKCSAgdXBkYXRlIHRoZSBzZWdtZW50LnBvc2l0aW9uIHdoZW4gcHVzaGluZyB0aG9zZSBidWZmZXJzIHRvIGF2b2lkCgkgIGhhdmluZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHNldCB0byB0aGUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTM2NAoKMjAxNC0wNS0wNSAxMjozMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgdGhlIHNhbWUgaW5jbHVkZXMgZm9yIEdMIHRoYXQgd2Ugd291bGQgdXNlIGxhdGVyIGluIHRoZSBjb2RlIGZvciBjaGVja2luZyBpZiBHTEVTMiBhbmQgT3BlbkdMIGhlYWRlcnMgY2FuIGJvdGggYmUgaW5jbHVkZWQKCjIwMTQtMDUtMDUgMjA6MDY6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogY2hlY2sgaWYgd2UgY2FuIGluY2x1ZGUgYm90aCBHTCBhbmQgR0xFUzIgaGVhZGVycyBhdCB0aGUgc2FtZSB0aW1lCgkgIElmIHdlIGNhbm5vdCwgdGhlbiBkZWZhdWx0IHRvIEdMIG92ZXIgR0xFUzIgdW5sZXNzIEdMRVMyIGlzIHJlcXVpcmVkLgoKMjAxNC0wNS0wNSAwOTo0NjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBDYWNoZS1Db250cm9sIGhlYWRlciBhY2NvcmRpbmcgdG8gdGhlIGNhY2hpbmcgcmVxdWlyZW1lbnRzIG9mIHRoZSBwbGF5bGlzdAoKMjAxNC0wNS0wNSAwOTozODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IFVwZGF0ZSBmb3IgdXJpIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDUtMDUgMDk6Mzc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgZm9yIHVyaSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTA1IDA5OjM2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCBwYXJhbWV0ZXIgdG8gZGlzYWxsb3cgY2FjaGluZyBhcyByZXF1aXJlZCBieSBITFMKCjIwMTQtMDUtMDUgMDk6MzQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogU3RvcmUgYWxsb3djYWNoZSBwbGF5bGlzdCBmaWVsZCBpbiBhIGJvb2xlYW4KCjIwMTQtMDUtMDQgMjI6MjI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIHRoZSBzYW1lICNpbmNsdWRlcyBmb3IgY2hlY2tpbmcgR0wgdHlwZXMgYXMgbGF0ZXIgaW4gdGhlIGNvZGUKCjIwMTQtMDUtMDMgMjE6Mzg6NDIgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBnbC9jbHV0dGVyOiBzYWZlciBjaGVjayBmb3IgY29nbCB2ZXJzaW9uCgkgIFVzZSBDT0dMX1ZFUlNJT05fRU5DT0RFIHRvIGNoZWNrIGZvciB0aGUgbWluaW11bSByZXF1aXJlZCBhbmQgbWF4aW11bSBhbGxvd2VkCgkgIGNvZ2wgdmVyc2lvbi4gSW4gY2VydGFpbiBzaXR1YXRpb25zIGp1c3QgdXNpbmcgdGhlIENPR0xfVkVSU0lPTl8qIG1hY3JvIG5hbWUgY2FuCgkgIGdpdmUgeW91IHRoZSBmb2xsb3dpbmcgZXJyb3I6CgkgIGVycm9yICJDT0dMX1ZFUlNJT05fTUFYX0FMTE9XRUQgbXVzdCBiZSA+PSBDT0dMX1ZFUlNJT05fTUlOX1JFUVVJUkVEIgoKMjAxNC0wNS0wMyAyMTowNToxOSAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvZ2VuZXJpYzogcmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2VzCgoyMDE0LTA1LTAzIDIwOjQ4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMSA9PT0KCjIwMTQtMDUtMDMgMTg6MTY6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBSZWxlYXNlIDEuMy4xCgoyMDE0LTA1LTAzIDE4OjE2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMDMgMTk6NDU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRml4IENGTEFHUyBpbiBjbHV0dGVyIEdMIGV4YW1wbGVzCgoyMDE0LTA1LTAzIDE5OjQyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBZGQgYWxsIGdsIHN1YmRpcnMgdG8gRElTVF9TVUJESVJTIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTQtMDUtMDMgMTc6MjQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDUtMDMgMTM6MTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IFJlbW92ZSBtZmMgcGx1Z2luLCBpdCBpcyBvYnNvbGV0ZWQgYnkgdGhlIHY0bDJ2aWRlb2RlYyBlbGVtZW50IGZyb20gZ3N0LXBsdWdpbnMtZ29vZAoKMjAxNC0wNS0wMyAxMjowMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFVzZSBjb21wbGV0ZSBjYXBzIGZvciBzZXR0aW5nIHVwIHRoZSBzdHJlYW1zIGluIHRoZSB0ZXN0CgoyMDE0LTA1LTAzIDEwOjE1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiY2IxNTE4IHRvIDIxMWZhNWYKCjIwMTQtMDMtMTkgMDk6MjI6MDggKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBBZGQgaGFuZGxpbmcgb2YgUEFVU0VEIHN0YXRlCgkgIEFsc28gYWxsb3cgZGlzYWJsaW5nIHRoZSB0aW1lb3V0IGJ5IHNldHRpbmcgaXQgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjE1NgoKMjAxNC0wNS0wMiAxNzoyNzo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiBBZGQgY29uZmlnIGZvciB0aGUgcmVwbGF5IHdpbmRvdyBzaXplCgoyMDE0LTA1LTAyIDE3OjI0OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiBSZW1vdmUgdW51c2VkIG9iamVjdCBtZW1iZXJzCgoyMDE0LTA1LTAyIDE3OjE5OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBSZW1vdmUgdXNlbGVzcyBzdHJ1Y3R1cmUKCSAgUmVtb3ZlIG5vdyB1c2VsZXNzIHN0cnVjdHVyZQoKMjAxNC0wNS0wMiAxNzoxNDoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIHNzcmMgcGFyc2luZyBmcm9tIHN0cmVhbQoJICBJdCdzIG5vIGxvbmdlciB1c2VkCgoyMDE0LTA1LTAyIDE3OjEzOjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBSZW1vdmUgU1NSQyBmcm9tIHNpZ25hbCwgaXQncyBtZWFuaW5nbGVzcwoKMjAxNC0wNS0wMiAxNzowNzoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiBTZXQgdGhlIFNSVFAga2V5IGFzIGEgc2hhcmVkIGtleSBmb3IgYWxsIFNTUkNzCgkgIFRoaXMgaXMgYWxyZWFkeSBob3cgaXQgd2FzIHVzZWQuCgoyMDE0LTA1LTAyIDE0OjIwOjU4ICswMjAwICBCbGFrZSBUcmVncmUgPGJsYWtlLnRyZWdyZUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IGluIHRoZSBiZWdpbm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgwMgoKMjAxNC0wNS0wMiAxMDo0NDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVwZGF0ZSBmb3IgVVJJIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCSAgQW5kIG1ha2Ugc3VyZSB0byBzZXQgcmVmcmVzaD1UUlVFIHdoZW4gdXBkYXRpbmcgdGhlIHBsYXlsaXN0LgoKMjAxNC0wNS0wMiAxMDo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IFVwZGF0ZSBmb3IgVVJJIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCSAgQW5kIGluY2x1ZGUgdGhlIG1hbmlmZXN0IGZpbGUgYXMgcmVmZXJlciBpbiByZXF1ZXN0cywgYW5kIG1ha2Ugc3VyZQoJICB0byBzZXQgcmVmcmVzaD1UUlVFIHdoZW4gdXBkYXRpbmcgdGhlIG1hbmlmZXN0LgoKMjAxNC0wNS0wMiAxMDozOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVwZGF0ZSBmb3IgVVJJIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCSAgQW5kIGluY2x1ZGUgdGhlIE1QRCBmaWxlIGFzIHJlZmVyZXIgaW4gcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUKCSAgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBNUEQuCgoyMDE0LTA1LTAyIDEwOjM2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCByZWZyZXNoIHBhcmFtZXRlciB0byBoaW50IGNhY2hlcyB0aGF0IHRoZXkgc2hvdWxkIGNoZWNrIGlmIHRoZXkncmUgdXAgdG8gZGF0ZQoKMjAxNC0wNS0wMiAxNTo1Njo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiB1c2UgdGhlIGJ1ZmZlcnBvb2wncyB1cGxvYWQgd2hlbiBhdmFpbGFibGUKCSAgQXZvaWRzIGR1cGxpY2F0aW5nIEdMIHJlc291cmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODcyCgoyMDE0LTA1LTAyIDA1OjU3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbDogc2hvdyBpbnRlcm5hbCBjb2NvYSB3aW5kb3cgb24gdG9wIG9mIG90aGVycwoJICBVc2VmdWwgd2hlbiB5b3VyIE9TWCB0ZXJtaW5hbCBpcyBmdWxsc2NyZWVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMjcKCjIwMTQtMDUtMDIgMDU6NTE6MzYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsOiBwYXNzIE5TVmlldyBpbnN0ZWFkIG9mIE5TV2luZG93IGluIGNvY29hLXZpZGVvb3ZlcmxheSBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NTEKCjIwMTQtMDUtMDIgMDU6NTA6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsOiBhZGQgY29weXJpZ2h0IHRvIGNvY29hIGV4YW1wbGUKCjIwMTQtMDUtMDIgMDU6NDY6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkgIGdsOiByZW5hbWUgY29jb2EgZXhhbXBsZSBhbmQgbW92ZSBpdCB0byBpdHMgcGFyZW50IGRpcmVjdG9yeQoKMjAxNC0wNS0wMiAwNToyOTo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9SRUFETUU6CgkgIGdsOiByZW1vdmUgdW51c2VmdWwgUkVBRE1FIGZvciBjb2NvYSBleGFtcGxlCgoyMDE0LTA1LTAxIDE2OjA3OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbC9wb29sOiBpbml0IHRoZSB1cGxvYWQgb2JqZWN0IG9uIHN0YXJ0CgkgIFRoZW9yZXRpY2FsbHksIHNldF9jb25maWcgY291bGQgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzCgoyMDE0LTA1LTAxIDE5OjE2OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBPbmx5IGNsZWFyIHN0cmVhbXMgaWYgdGhleSBoYXZlIGJlZW4gY3JlYXRlZAoKMjAxNC0wNS0wMSAxOToxMDo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogVXNlIG9iamVjdCBkZWJ1ZwoKMjAxNC0wNS0wMSAxNTo1OToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsd2F5cyBzdWNjZWVkIHRoZSBMQVRFTkNZIGV2ZW50CgkgIFVwc3RyZWFtIGFuZCBvdXIgaW50ZXJuYWwgc291cmNlIGlzIGlycmVsZXZhbnQgZm9yIHRoZSBsYXRlbmN5CgkgIGFuZCB3ZSBkb24ndCB3YW50IHRoZSBMQVRFTkNZIGV2ZW50IHRvIGV2ZXIgZmFpbC4KCjIwMTQtMDUtMDEgMTU6NTY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCB0aGUgbGFzdCBmbG93IHJldHVybiBiZWZvcmUgcmVzdGFydGluZyB0aGUgaW50ZXJuYWwgc291cmNlCgkgIE90aGVyd2lzZSB3ZSB3aWxsIG5ldmVyIHJlY292ZXIgZnJvbSBwcmV2aW91cyBlcnJvcnMsIGFuZCBlc3BlY2lhbGx5CgkgIHdpbGwgbmV2ZXIgc3RhcnQgYWdhaW4gYWZ0ZXIgYSBmbHVzaGluZyBzZWVrIGlmIGRvd25zdHJlYW0gcmV0dXJuZWQKCSAgR1NUX0ZMT1dfRkxVU0hJTkcgdG8gdXMuCgoyMDE0LTA1LTAxIDE1OjI5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzZXQgUFRTIG9uIHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCBpbnN0ZWFkIG9mIHNldHRpbmcgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0KCjIwMTQtMDQtMzAgMTc6NTk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgZmx1c2ggdGhlIGludGVybmFsIHByb3h5IHBhZHMgYmVmb3JlIGRvd25sb2FkaW5nCgkgIGhsc2RlbXV4IGNhbid0IHJlbHkgb24gdGhlIHNvdXJjZSB0byBwdXNoIGZsdXNoZXMgb24gYSBzZWVrIG9uIHJlYWR5CgkgIGFzIHRoYXQgbWlnaHQgbm90IG1ha2Ugc2Vuc2UuIFNvIGFsd2F5cyByZXNvcnQgdG8gZmx1c2hpbmcgdGhlCgkgIGludGVybmFsIHByb3h5IHBhZHMgYnkgcHVzaGluZyBmbHVzaCBldmVudHMgZnJvbSB0aGUgc291cmNlJ3Mgc3JjIHBhZC4KCSAgQWxzbyBhcyB0aGUgc2Vla2luZyBpcyBub3QgcmVxdWlyZWQgYW55bW9yZSwgb25seSBzZWVrIGlmIHRoZXJlIGlzCgkgIHJlYWxseSBhIGJ5dGUgcmFuZ2UgdG8gYmUgdXNlZC4gQW5kIHN0b3JlIGEgcmVmIHRvIHRoZSBzb3VyY2UncwoJICBzcmMgcGFkIHRvIGF2b2lkIGRvaW5nIGdldF9zdGF0aWNfcGFkIGZvciBldmVyeSBmcmFnbWVudC4KCjIwMTQtMDUtMDEgMTQ6MzY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbDogVHJ5IGhhcmRlciB0byBsb2FkIHN5bWJvbHMgZnJvbSB0aGUgY29ycmVjdCBwbGFjZQoJICBUaGlzIGNvbW1pdCBtYWtlcyB0aGUgbG9hZGluZyBvZiB0aGUgR01vZHVsZXMgdGhyZWFkc2FmZSwgYW5kCgkgIGFsd2F5cyBmaXJzdCB0cmllcyB0byBsb2FkIHRoZSBzeW1ib2wgZm9yIHRoZSBHTCBsaWJyYXJ5IHRoYXQKCSAgaXMgc2VsZWN0ZWQgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuIE9ubHkgdGhlbiBpdCBmYWxscyBiYWNrCgkgIHRvIGxvb2tpbmcgaW50byB0aGUgY3VycmVudCBtb2R1bGUgKE5VTEwpLCBhbmQgb25seSBhcyBhIGxhc3QKCSAgcmVzb3J0IHRoZSBjb250ZXh0IHNwZWNpZmljIGZ1bmN0aW9uIChlLmcuIGVnbEdldFByb2NBZGRyZXNzKCkpCgkgIGlzIGNhbGxlZC4KCSAgQWxzbyBhZGQgY29uZmlndXJlIHBhcmFtZXRlcnMgdG8gc2VsZWN0IHRoZSBuYW1lcyBvZiB0aGUgbGlicmFyeQoJICBtb2R1bGVzIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHRzLCBhbmQgbGV0IHRoZSBkZWZhdWx0cyBiZQoJICBpbmRlcGVuZGVudCBvZiB0aGUgR19NT0RVTEVfU1VGRklYLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzUzCgoyMDE0LTA1LTAxIDE0OjExOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2xjb2xvcnNjYWxlOiBmaXggb3BlcmF0aW9uIHdpdGggZHVhbCBHTCwgR0xFUzIgbGliZ3N0Z2wKCjIwMTQtMDUtMDEgMTM6NTc6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL21lbTogaW1wbGVtZW50IHRleHR1cmUgY29weWluZyBiZXR3ZWVuIGZvcm1hdHMgd2l0aCBzdHJpZGVzIHByb3Blcmx5CgkgIFByZXZpb3VzbHksIHdlIHVzZWQgdGhlIHdpZHRoIHRvIGRldGVybWluZSB0aGUgYW1vdW50IG9mIGRhdGEgdG8gYmUKCSAgY29waWVkIHVzaW5nIHBib3MuICBUaGlzLCBtYWtlcyBpdCBhbGxvY2F0ZSBlbm91Z2ggZGF0YSBmb3IgdGhlCgkgIHRoZSBzdHJpZGVzIGFzIHdlbGwuCgoyMDE0LTA1LTAxIDEyOjUxOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbC9tZW06IHBhZCB0aGUgcHVibGljIHN0cnVjdAoKMjAxNC0wNC0zMCAxODozNzoyNyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogbm8gbmVlZCB0byBwcm92aWRlIGZ1bGwgbGliIHBhdGggdG8gbG9hZCBzeW1ib2xzCgkgIC0gTWFrZSBnc3RnbCB3b3JrIG9uIE1hbGkKCSAgLSBLZWVwIGl0IHdvcmsgb24gUlBJCgkgIC0gZmFsbGJhY2sgdG8gTlVMTCBuYW1lIG1vZHVsZSBpZiBmYWlscyB3aXRoIHVzdWFsIGxpYiBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NTMKCjIwMTQtMDQtMzAgMTA6MDU6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBhdm9pZCByZWFkIGJ1ZmZlciBvdmVyZmxvdyBpbiBjcmFmdGVkIHN0cmVhbQoJICBDb3Zlcml0eSAxMjA4Nzc3CgoyMDE0LTA0LTMwIDE3OjMwOjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBnbGNvbG9yc2NhbGU6IHVzZSBhIHNoYWRlciBvbiBHTEVTdjIKCSAgT3RoZXJ3aXNlIHlvdSBvbmx5IHNlZSBibGFjayBmcmFtZXMKCSAgRml4IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NDcKCjIwMTQtMDQtMzAgMTU6MzA6NTMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1c2UgbmV3IGhlbHBlciBmdW5jdGlvbiB0byBhdm9pZCBkdXBsaWNhdGluZyBkZWZhdWx0IHNoYWRlciB0ZXh0CgoyMDE0LTA0LTMwIDE1OjI4OjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBnbGVmZmVjdHM6IHVzZSBuZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgc2FtZSB2ZXJ0ZXggc2hhZGVyIHRleHQKCSAgQW5kIGFsc28gdXNlIHRoZSBkZWZhdWx0IGZyYWdtZW50IHNoYWRlciB0ZXh0IGZvciB0aGUgaWRlbnRpdHkgZWZmZWN0CgoyMDE0LTA0LTMwIDE1OjIwOjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2w6IGFkZCBjb252ZW5pZW50IGZ1bmN0aW9ucyB0byBzZXR1cCBkZWZhdWx0IHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycwoJICBNb3N0IG9mIG91ciAyRCBmaWx0ZXJzIHVzZSB0aGUgc2FtZSBzaW1wbGUgdmVydGV4IHNoYWRlci4KCSAgQWxzbyBkZWZpbmUgdGhlIGRlZmF1bHQgZnJhZ21lbnQgc2hhZGVyIGFzIHRoZSBpZGVudGl0eS4KCSAgQXZvaWQgZHVwbGljYXRpbmcgdGhlIHNhbWUgdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXIgdGV4dC4KCjIwMTQtMDQtMzAgMDg6NTM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHVucmVmIHBlbmRpbmcgYnVmZmVyIGlmIHRoZXJlIGlzIG9uZQoKMjAxNC0wNC0yOSAxODoxNTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgcHVzaCBsYXN0IGJ1ZmZlciBhZnRlciBlcnJvcgoJICBJbiBkZWNyeXB0aW9uIHNjZW5hcmlvLCBhIGJ1ZmZlciBpcyBhbHdheXMgc3RvcmVkIHRvIGJlIHNlbnQgbGF0ZXIKCSAgdG8gd2FpdCBmb3IgbW9yZSBkYXRhIG9yIEVPUyB0byBiZSBhYmxlIHRvIHN0cmlwIHRoZSBmaW5hbCBieXRlcwoJICBpZiByZXF1ZXN0ZWQuIEluIGNhc2UgYW4gZXJyb3IgaGFwZW5uZWQgdGhpcyBidWZmZXIgY2FuIGJlIGlnbm9yZWQKCSAgYW5kIG5vdCBwdXNoZWQgZG93bnN0cmVhbS4KCjIwMTQtMDQtMjkgMTg6MTQ6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZmx1c2ggdGhlIGFkYXB0ZXIgaW4gdGhlIGVuZCBvZiBhIGZyYWdtZW50CgkgIEluIGNhc2Ugb2YgZXJyb3IgdGhlcmUgbWlnaHQgYmUgc29tZSBkYXRhIGxlZnQgaW4gdGhlCgkgIGFkYXB0ZXIgd2hlbiBFT1MgaXMgcmVjZWl2ZWQuIENsZWFyIHRoZSBhZGFwdGVyIHRvIGJlCgkgIGFibGUgdG8gcmVzdGFydCBhZ2FpbiBsYXRlciBpZiByZXF1ZXN0ZWQuCgoyMDE0LTA0LTI5IDE4OjE0OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSBtb3JlIGVycm9yIGNhc2VzCgkgIEhhbmRsZSBzb21lIG1vcmUgZXJyb3IgY2FzZXM6CgkgIDEpIFdoZW4gdGhlIHNvdXJjZSBlbGVtZW50IGZhaWxzIHRvIGdvIHRvIHJlYWR5CgkgIDIpIFdoZW4gZGVjcnlwdGlvbiBmYWlscwoJICAzKSBXaGVuIHRoZXJlIGlzIG5vIHNvdXJjZSB0byBoYW5kbGUgYSBzcGVjaWZpYyBVUkkKCSAgNCkgV2hlbiB0aGUgVVJJIGlzIGludmFsaWQKCjIwMTQtMDQtMjkgMTU6MTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBoYW5kbGUgZXJyb3JzIGZyb20gaW50ZXJuYWwgc291cmNlCgkgIFNldCB1cCBhIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gdG8gY2F0Y2ggZXJyb3JzIGZyb20gdGhlIGludGVybmFsCgkgIHNvdXJjZSBhbmQgc3RvcmUgdGhlIGxhc3QgcmV0dXJuIGNvZGUgdG8gaWRlbnRpZnkgZXJyb3Igc2l0dWF0aW9ucwoJICB3aGVuIHJldHVybmluZyBmcm9tIGEgZnJhZ21lbnQgZG93bmxvYWQuCgkgIEFsc28gbW92ZXMgdGhlIGR1cmF0aW9uIGluY3JlYXNlIHRvIGFmdGVyIHRoZSBkb3dubG9hZCB3aGVuIHdlCgkgIGtub3cgaWYgaXQgd2FzIHN1Y2Nlc3NmdWwgb3Igbm90CgoyMDE0LTA0LTI5IDE1OjE3OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wcm92ZSBwYWQgc3dpdGNoaW5nIGNvbmRpdGlvbnMKCSAgV2hlbiB1c2luZyB0aGUgaW50ZXJuYWwgc291cmNlLCBobHNkZW11eCBkb2Vzbid0IGtub3cgdGhlIGNhcHMgb2YKCSAgdGhlIGlucHV0IGJlZm9yZSBhZGRpbmcgdGhlIHBhZCwgc28gcmVtb3ZlIHRoZSBhcmd1bWVudHMgdGhhdCB3b3VsZAoJICB1c2UgdGhhdCBhcyBpdCBpcyBhbHdheXMgTlVMTC4KCSAgQW5kIHVzZSBhbiBzcGVjaWZpYyBmbGFnIHRvIHNpZ25hbCB3aGVuIGEgcGFkIHN3aXRjaCBpcyByZXF1aXJlZC4KCSAgVXNpbmcgdGhlIGRpc2NvbnQgZmxhZyBpcyBhIGJhZCBpZGVhIG5vdyBiZWNhdXNlIHdoZW4gYSBmcmFnbWVudAoJICBkb3dubG9hZCBmYWlscyBpdCB3aWxsIGxlYWQgdG8gZXhwb3NpbmcgYSBwYWQgZ3JvdXAgd2l0aG91dCBhbnkKCSAgZGF0YSwgY2F1c2luZyBkZWNvZGViaW4gdG8gYWJvcnQuCgoyMDE0LTA0LTI4IDIwOjAxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHByb3Blcmx5IGZsdXNoIGRlY3J5cHRpb24gc3RhdHVzIG9uIHNlZWtzCgkgIEF2b2lkcyBtaXhpbmcgZGVjcnlwdGlvbiBvZiBkaWZmZXJlbnQgZnJhZ21lbnRzIHdoZW4gc2Vla2luZyBoYXBwZW5zCgkgIGFuZCBsZWFkaW5nIHRvIGJyb2tlbiBzdHJlYW0gb3V0cHV0LgoKMjAxNC0wNC0yOCAxOToxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFRyYWNrIGZyYWdtZW50cyBkdXJhdGlvbgoJICBXaGVuIHJlY2V2aW5nIEVPUyBmcm9tIHRoZSBpbnRlcm5hbCBzcmMsIGluY3JlYXNlIHRoZSBjdXJyZW50IHBvc2l0b24KCSAgYnkgdGhlIGZyYWdtZW50IGR1cmF0aW9uIHRvIGFsbG93IGNvcnJlY3QgcmVzdG9yaW5nIG9mIGRvd25sb2FkIHBvc2l0aW9uCgkgIGlmIHRoZSBiaXRyYXRlIGNoYW5nZXMKCjIwMTQtMDQtMjUgMTI6NTU6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcHJvcGVybHkgc3RvcCB0YXNrcyBieSBzdG9wcGluZyBmcmFnbWVudCBkb3dubG9hZAoJICBJc3N1ZSBhIHNpZ25hbCB0byB0aGUgZnJhZ21lbnQgZG93bmxvYWQgY29uZCB0byBzdG9wCgkgIHRoZSB0YXNrIGVhcmxpZXIKCjIwMTQtMDQtMjUgMTA6NDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZGVjcnlwdCBiZWZvcmUgdHlwZWZpbmRpbmcKCSAgTWFrZSBzdXJlIHR5cGVmaW5kaW5nIGdldHMgdGhlIGRlY3J5cHRlZCBjb250ZW50IGluc3RlYWQgb2YKCSAgdHJ5aW5nIHRvIHR5cGVmaW5kIHRoZSBlbmNyeXB0ZWQgZGF0YS4KCjIwMTQtMDQtMjUgMTA6Mzk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGRlY3J5cHRpb24gZnVuY3Rpb24gcmV0dXJuCgkgIENvcnJlY3RseSByZXR1cm4gdGhlIGRlY3J5cHRlZCBidWZmZXIgd2hlbiBpdCBzdWNjZWVkcyBhbmQKCSAgcmV0dXJuIE5VTEwgb3RoZXJ3aXNlCgoyMDE0LTA0LTIyIDIwOjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGtlZXAgY29ubmVjdGlvbiBhbGl2ZSBiZXR3ZWVuIGRvd25sb2FkcwoJICBVc2UgdGhlIHNhbWUgcHJvcGVydGllcyBhcyB1cmlkb3dubG9hZGVyIHRvIGtlZXAgY29ubmVjdGlvbnMgYWxpdmUKCSAgYmV0d2VlbiBjb25zZWN1dGl2ZSBmcmFnbWVudHMgZG93bmxvYWRzLgoJICAxKSBzZXQga2VlcC1hbGl2ZSBwcm9wZXJ0eSB0byB0cnVlCgkgIDIpIGtlZXAgdGhlIGVsZW1lbnQgaW4gUkVBRFkgaW5zdGVhZCBvZiBpbiBOVUxMCgoyMDE0LTA0LTE2IDIwOjAyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNyZWF0ZSBzb3VyY2VzIGZyb20gdXJpCgkgIEluc3RlYWQgb2YgdXNpbmcgYWx3YXlzIGFuIGh0dHAgc291cmNlLCBjcmVhdGUgaXQgZHluYW1pY2FsbHkgZnJvbQoJICB1cmkgd2hlbiBuZWVkZWQuIElmIG5vdCBuZWVkZWQganVzdCByZXBsYWNlIHRoZSBVUkkgb24gdGhlIGN1cnJlbnQKCSAgZWxlbWVudAoKMjAxNC0wNC0xNiAxODowNDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgdHJ5IHRvIHJ1biB0eXBlZmluZCBhZ2FpbiBpZiBjYXBzIGlzIHRoZSBzYW1lCgkgIEFsd2F5cyByZXNldCB0aGUgZG9fdHlwZWZpbmQgZmxhZyBpZiBobHMgZGlkIHR5cGVmaW5kIGJlY2F1c2UKCSAgdHJ5aW5nIGl0IG9uIG5vbi16ZXJvIG9mZnNldHMgZG9lc24ndCBtYWtlIHNlbnNlIGFuZCB3aWxsIGNhdXNlCgkgIGFzc2VydGlvbnMKCjIwMTQtMDQtMTYgMDY6MTI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBlbmFibGUgZG93bmxvYWQgYml0cmF0ZSBtZWFzdXJlCgkgIE1lYXN1cmUgdGhlIGRvd25sb2FkIGJpdHJhdGUgdG8gYmUgYWJsZSB0byBzZWxlY3QKCSAgdGhlIGJlc3QgcGxheWxpc3QuCgkgIEFzIHRoZSBidWZmZXJzIGFyZSBkaXJlY3RseSBwdXNoZWQgZG93bnN0cmVhbSBhbmQgaXQKCSAgbWlnaHQgYmxvY2suIFRoZSB0aW1lIGlzIG9ubHkgbWVhc3VyZWQgZnJvbSB0aGUgZG93bmxvYWQKCSAgdW50aWwgdGhlIHBhZCBwdXNoIGFuZCBpdCBpcyBzdGFydGVkIGFnYWluIGFmdGVyIHRoZSBwdXNoCgkgIHJldHVybnMuCgoyMDE0LTA0LTA4IDE3OjMxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmUtZW5hYmxlIGRlY3J5cHRpb24gYWZ0ZXIgdXJpZG93bmxvYWRlciByZW1vdmFsCgkgIE5vdyB0aGUgZGVjcnlwdGlvbiBpcyBkb25lIGJ1ZmZlciBieSBidWZmZXIgaW5zdGVhZCBvZiBvbiB0aGUKCSAgd2hvbGUgZnJhZ21lbnQgYXQgb25jZS4gQXMgaXQgZXhwZWN0cyBtdWx0aXBsZXMgb2YgMTYgYnl0ZXMgYQoJICBHc3RBZGFwdGVyIHdhcyBhZGRlZCB0byBwcm9wZXJseSBjaHVuayB0aGUgYnVmZmVycy4KCSAgQWxzbyB0aGUgbGFzdCBidWZmZXIgbXVzdCBiZSByZXNpemVkIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlCgkgIGxhc3QgYnl0ZSBvZiB0aGUgZnJhZ21lbnQsIHNvIGhsc2RlbXV4IGFsd2F5cyBrZWVwcyBhIHBlbmRpbmcgYnVmZmVyCgkgIGFzIGl0IGRvZXNuJ3Qga25vdyBpZiBpdCBpcyB0aGUgbGFzdCBvbmUgeWV0CgoyMDE0LTA0LTA3IDEzOjU3OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVwbGFjZSB1cmlkb3dubG9hZGVyIHdpdGggYSBHc3RFbGVtZW50CgkgIFRoZSBHc3RFbGVtZW50IGlzIGRpcmVjdGx5IGxpbmtlZCBpbnRvIGEgZ2hvc3QgcGFkIGFuZAoJICBpdHMgYnVmZmVycyBhcmUgcHVzaGVkIGFzIHJlY2VpdmVkIGRvd25zdHJlYW0uIFRoaXMgd2F5IHRoZQoJICBidWZmZXJzIGFyZSBzbWFsbCBlbm91Z2ggYW5kIG5vdCBhIHdob2xlIGZyYWdtZW50IHRoYXQgdXN1YWxseQoJICBjYXVzZXMgZXh0cmEgbGF0ZW5jeSBhbmQgbWFrZXMgYnVmZmVyaW5nIGhhcmRlcgoKMjAxNC0wNC0yOSAxOToyNDowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBhZGQgbWlzc2luZyBHX0JFR0lOL0VORF9ERUNMUyBpbiB1dGlscyBoZWFkZXIKCjIwMTQtMDQtMjkgMTM6MjE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZ2w6IGFkZCBtaXNzaW5nIGVudHJ5IHRvIGNmbGFncyB0byBmaW5kIGdzdC9nbC9nbC5oCgkgIE90aGVyd2lzZSBidWlsZCBmYWlscwoKMjAxNC0wNC0yOSAxNjo0NDo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSAgdGVzdHM6IGRyb3AgZGlyZWN0IGluY2x1ZGUKCSAgSXQgaXMgb25seSBhbGxvd2VkIHRvIGluY2x1ZGUgZ2RrL2dka3guaCBhbmQgdGhhdCB3aWxsIGJyaW5nIGFsbCB0aGUgeDExIHRoaW5ncy4KCjIwMTQtMDEtMDYgMjI6MTM6MjEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzbmRmaWxlOiBzZW5kIGEgdG9jIGZvciB0aGUgc2VnbWVudHMgaW4gdGhlIGF1ZGlvIGZpbGUKCjIwMTQtMDQtMjkgMTU6MDY6MDAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gKGllZWkpIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdW5yZWYvcmVwbGFjZSBmb3JjZV9rZXlfdW5pdF9ldmVudCBpbiBnc3RfaDI2NF9wYXJzZV9yZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjAwCgoyMDE0LTA0LTI5IDIyOjE4OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvc2RsIGV4YW1wbGU6IEZpeCB1bmluc3RhbGxlZCBidWlsZAoKMjAxNC0wNC0yMyAyMDoyOTo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogUmVkdWNlIG5vaXN5IEluZm8gbGV2ZWwgb3V0cHV0IHRvIExPRwoKMjAxNC0wNC0yOSAxODozMjoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlcy9zZGw6IHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBnc3RnbCBjaGFuZ2VzCgoyMDE0LTA0LTI5IDE2OjM4OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmNicDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L21haW4ubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9jdWJlLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvY3ViZXl1di52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL2RvdWJsZWN1YmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZ2VuZXJpYy5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL3JlY29yZGdyYXBoaWMudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9maWx0ZXJub3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L2ZpbHRlcnZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGsuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvZ3RrdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3BpeGJ1ZmRyb3AvcGl4YnVmZHJvcC52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9zd2l0Y2h2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJpOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL0FzeW5jUXVldWUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvY29jb2FfdXRpbHMubW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvRGVidWcvdmlkZW9vdmVybGF5OgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW92aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2RsLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS52Y3Byb2o6CgkgIGdsL2V4YW1wbGVzOiBtb3ZlIHRvIC1iYWQKCSAgLSBmaXggYWxsIHRoZSBjb21waWxlciBlcnJvcnMKCSAgLSBnaXZlIHRoZW0gdGhlaXIgb3duIGdsIGRpcmVjdG9yeQoKMjAxNC0wNC0yOCAxNTo1NjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wucGMuaW46CgkgIGVnbDogcmVtb3ZlIHBjIGZpbGVzCgkgIEZvcmdvdCB0byBkbyB0aGF0IGluIDA5MTE2YmYxMGQ1MTVkNTBiZGQxZTlhMjAyNzhiZTgxNmNiNzYyYWE6CgkgICJlZ2wvZWdsZ2xlc3Npbms6IHJlbW92ZSBzaW5jZSBFR0xJbWFnZSBhbmQgaU9TIHN1cHBvcnQgaGF2ZSBiZWVuIGFkZGVkIGluIGdsaW1hZ2VzaW5rIgoKMjAxNC0wNC0yOCAxNTo1Mjo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBnbDogYXBwZW5kIEdMX0xJQiBhbmQgR0xfQ0ZMQUdTIGluIHBjIGZpbGVzCgoyMDE0LTA0LTI4IDE1OjQ3OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGFwcGVuZCBFR0xfTElCIHRvIEdMX0xJQgoKMjAxNC0wNC0yOCAxNToxNToyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogdXNlIGdzdF9nbF9wbGF0Zm9ybV9mcm9tX3N0cmluZyBiZWNhdXNlIHdlIHN1cHBvcnQgZ2wgc2hhcmVMaXN0IG9uIGFsbCBwbGF0Zm9ybXMKCjIwMTQtMDQtMjggMTU6MDc6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBvbmx5IHdhcm4gd2hlbiBvdGhlcl9jb250ZXh0IGF0dHJpYnV0ZSBpcyBzZXQKCSAgRml4IGZhbHNlIHBvc2l0aXZlCgoyMDE0LTA0LTI4IDE0OjU0OjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4IHN0cmluZyBsaXRlcmFsIHdhcm5pbmcKCSAgd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhcmd1bWVudCB0eXBlcyBub3QgY2hlY2tlZCBbLVdmb3JtYXQtbm9ubGl0ZXJhbF0KCjIwMTQtMDQtMjggMTA6MTI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFVuc2V0IHJlZmVyZXIgaWYgbm9uZSB3YXMgc3BlY2lmaWVkIGxhdGVyIG9uCgoyMDE0LTA0LTI4IDA5OjMyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBTZXQgUmVmZXJlciBpbiByZXF1ZXN0cyB0byB0aGUgcGxheWxpc3QgVVJJCgoyMDE0LTA0LTI4IDA5OjIzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCBBUEkgdG8gc3BlY2lmeSB0aGUgcmVmZXJlciBvZiBhIHJlcXVlc3QKCjIwMTQtMDQtMjcgMjM6Mjk6NDEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwYXJzaW5nIG9mIHNsaWNlIGdyb3VwcyBmb3IgbWFwIHR5cGUgPSAyLgoJICBXaGVuIHBhcnNpbmcgc2xpY2UgZ3JvdXBzIGluZm9ybWF0aW9uIGZvciBzbGljZV9ncm91cF9tYXBfdHlwZSA9IDIsIHdlCgkgIHNob3VsZCBvbmx5IGJlIHJlYWRpbmcgdXAgdG8gbnVtX3NsaWNlX2dyb3Vwc19taW51czEgZ3JvdXBzIHNpbmNlIHRoZXJlCgkgIGlzIGFsd2F5cyBhICJsZWZ0b3ZlciIgc2xpY2UgZ3JvdXAgYW5kIGFzIG1hbnkgImZvcmVncm91bmQiIHNsaWNlIGdyb3VwcwoJICBhcyBuZWVkZWQuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgU1ZDQk1ULTUgYW5kIFNWQ0JNVC0xMiB3aGVyZWJ5IHRoZSBiYXNlIGxheWVyIHdvdWxkCgkgIGhhdmUgaW5jb3JyZWN0bHkgYmVlbiBwYXJzZWQgdG8gaGF2ZSB1cCB0byAzOCByZWZlcmVuY2UgZnJhbWVzIGluIGxpc3QwLAoJICB3aGljaCBpcyBub3QgcG9zc2libGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMjcgMDk6MjU6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IERvbid0IGZhaWwgaWYgSFcgZG9lcyBub3QgaGF2ZSBhbGwgaW50ZXJmYWNlcwoJICBUaGlzIHBhdGNoIGNvbXBsZXRlcyAxYzFjYzczYTNiMjMwNDU0NjYzOTcxNjU2NTE1Mjk3ZjllZThiZDlmLiBUaGVzZQoJICBjaGFuZ2VzIHdoZXJlIGFjY2lkZW50YWxseSBwdXNoZWQgYXMgYSBzZXBhcmF0ZSBwYXRjaCB3aXRoIHdyb25nIGNvbW1pdAoJICBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MwoKMjAxNC0wNC0yNyAxMzowOTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIFJldmVydCAieTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ODMwOWJkMjE1OTJhOTZkYzgyNDE3MDJmMTdkZWQ0ZTVmNTQ1ZjMzLgoJICBDb21taXQgbWVzc2FnZSBhbmQgZmlsZXMgY2hhbmdlZCBkbyBub3QgbWF0Y2guCgoyMDE0LTA0LTI3IDAwOjM2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgZG9jczogcmVtb3ZlIG91dGRhdGVkIGFuZCBwb2ludGxlc3MgJ0xhc3QgcmV2aWV3ZWQnIGxpbmVzIGZyb20gZG9jcwoJICBUaGV5IGFyZSB2ZXJ5IGNvbmZ1c2luZyBmb3IgcGVvcGxlLCBhbmQgbW9yZSBvZnRlbiB0aGFuIG5vdAoJICBhbHNvIGp1c3Qgbm90IHZlcnkgYWNjdXJhdGUuIFNlZWluZyAnbGFzdCByZXZpZXdlZDogMjAwNScgaW4KCSAgeW91ciBkb2NzIGlzIG5vdCB2ZXJ5IGNvbmZpZGVuY2UtaW5zcGlyaW5nLiBMZXQncyBqdXN0IHJlbW92ZQoJICB0aG9zZSBjb21tZW50cy4KCjIwMTQtMDQtMjYgMDg6MDg6NTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBkZXJpdmF0aW9uIG9mIGRlZmF1bHQgc2NhbGluZyBsaXN0cy4KCSAgV2hlbiB1c2VEZWZhdWx0U2NhbGluZ01hdHJpeEZsYWcgaXMgY29tcHV0ZWQgdG8gYmUgMSB3aGlsZSBwYXJzaW5nCgkgIHNjYWxpbmdfbGlzdCgpLCB0aGVuIHRoZSBzY2FsaW5nIGxpc3Qgc2hhbGwgYmUgaW5mZXJyZWQgdG8gYmUgZXF1YWwKCSAgdG8gdGhlIGRlZmF1bHQgbGlzdCAoNy40LjIuMS4xLjEpLiBUaGF0IGRlZmF1bHQgbGlzdCBpcyByZWFsbHkgb25lCgkgIG9mIERlZmF1bHRfNHg0X3tJbnRyYSxJbnRlcn0gb3IgRGVmYXVsdF84eDhfe0ludHJhLEludGVyfSBhbmQgbm90CgkgIG9uZSBmcm9tIGZhbGwtYmFjayBydWxlIHNldHMgQSBvciBCLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgZm9yIEZSRXh0MV9QYW5hc29uaWNfRCwgRlJFeHQyX1BhbmFzb25pY19DLAoJICBGUkV4dDNfUGFuYXNvbmljX0UgYW5kIEZSRXh0NF9QYW5hc29uaWNfQi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDUxOAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE2IDAxOjUwOjE2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsKnNpbms6IHJlcG9ydCBlcnJvcnMgZnJvbSBjdXJsIHdoZW4gc2V0dGluZyBvcHRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMTUgMjM6NTM6MzIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybCpzaW5rOiBwb3N0IGVycm9yIG9uIGJ1cyBpbiBlbGVtZW50LCBub3QgdHJhbnNmZXIgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6MzIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmxodHRwc2luazogYWxsb3cgZm9yIHVuY29uZGl0aW9uYWxseSBkaXNhYmxpbmcgcHJveHlpbmcKCSAgUHJldmlvdXNseSBpZiB0aGUgcHJveHkgc2VydmVyIGhvc3RuYW1lIHdhcyB0aGUgZW1wdHkgc3RyaW5nCgkgIGN1cmxodHRwc2luayB3b3VsZCBuZXZlciBldmVuIHNldCB0aGUgbGliY3VybCBvcHRpb24uIEZvciBsaWJjdXJsCgkgIGhvd2V2ZXIsIGhhdmluZyBhIHByb3h5IHNlcnZlciBob3N0bmFtZSBiZSB0aGUgZW1wdHkgc3RyaW5nIG1lYW5zIHRoYXQKCSAgcHJveHlpbmcgc2hvdWxkIGJlIGRpc2FibGVkIGV2ZW4gaWYgZW52aXJvbm1lbnQgdmFyaWFibGVzIG1pZ2h0IGJlIHNldC4KCSAgTm93IHdpdGggdGhlIHJlc3RyaWN0aW9uIGxpZnRlZCwgZG9pbmcgdGhpcyBpcyBhbGxvd2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTIyIDIyOjI2OjU2ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZnRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzbXRwc2luay5jOgoJICBjdXJsKnNpbms6IGltcHJvdmUgcmV0dXJuIHZhbHVlIGNoZWNrcyBpbiB0ZXN0IGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6MTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsKnNpbms6IGZpeCB0eXBvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTE2IDAxOjUwOjAzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybCpzaW5rOiBmaXggc29tZSBnc3QtaW5kZW50IHByb2JsZW1zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjUgMTY6MTg6MDcgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBjaGVjayB0aGUgY29ycmVjdCBHc3RHTE1lbW9yeSBpbiBiYXNpY190ZXN0CgoyMDE0LTA0LTI1IDE3OjQwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBPbmx5IHJlcXVpcmUgYWxpZ25tZW50IGFuZCBzdHJlYW0tZm9ybWF0IGZvciBoMjY0LCBwYXJzZWQgaXMgaW1wbGljaXQKCjIwMTQtMDQtMjUgMTQ6NDE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNldCBzb3VyY2Ugc3RhdGUgdG8gTlVMTCBpZiBkb3dubG9hZGluZyBmYWlsZWQgZm9yIHdoYXRldmVyIHJlYXNvbgoKMjAxNC0wNC0yNCAxMzo1OTozNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBSZW1vdmVkIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wNC0yNCAxODozMzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsL3gxMTogR2V0IHJpZCBvZiB1bm5lZWRlZCBzZWNvbmQgZGlzcGxheSBjb25uZWN0aW9uIGFuZCBkbyBldmVyeXRoaW5nIGZyb20gdGhlIG1haW4gbG9vcAoKMjAxNC0wNC0yNCAxODoyODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogQmxvY2sgcmVuZGVyaW5nIHVudGlsIHN3YXBidWZmZXJzIGlzIGNhbGxlZCBhbmQgZG9uJ3QgZ28gdmlhIFgxMSBldmVudHMgYXMgdW5uZWVkZWQgaW5kaXJlY3Rpb24KCSAgVGhpcyBzaG91bGQgZml4IFFvUyBwcm9ibGVtcywgd2hlcmUgYmFzZXNpbmsgYmVsaWV2ZWQgaXQgd2FzIHJlbmRlcmluZyB3aXRoCgkgIDIwRlBTIGJ1dCBhY3R1YWxseSB3ZSB3ZXJlIGp1c3QgcXVldWVpbmcgdXAgWDExIEV4cG9zZSBldmVudHMgYW5kIG9ubHkgb25jZQoJICBpbiBhIHdoaWxlIHNvbWV0aGluZyB3YXMgcmVuZGVyZWQuCgoyMDE0LTA0LTI0IDE2OjA1OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogZmFpbHMgZ2xpbWFnZXNpbmsgd2hlbiBzaGFkZXIgY29tcGlsYXRpb24gd2VudCB3cm9uZwoJICBUaG9zZSBzaGFkZXJzIGFyZSBmaXhlZCBhbmQgdmVyeSBzaW1wbGUgc28gaXQgc2hvdWxkIG5vdCBmYWlsCgkgIGJ1dCBpdCdzIHdvcnRoIHRvIGhhbmRsZSBhIHN1Y2ggY2FzZS4KCjIwMTQtMDQtMjQgMTU6MzY6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBjYWxsIGdsQ2xlYXJDb2xvciBiZWZvcmUgZ2xDbGVhcgoKMjAxNC0wNC0yNCAxNjozMzo1NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBmaXggZ3N0cmVhbWVyLWdsIHVuaW5zdGFsbGVkCgkgIEVuc3VyZSB0byBwcm92aWRlIGxpYmdzdGdsIGFsc28gaW4gdGhlIHVuaW5zdGFsbGVkIHNldHVwLgoJICBGaXhlcyBidWlsZCBvZiBnc3Qtb214IGZvciBSUEkgaW4gdW5pbnN0YWxsZWQgc2V0dXAuCgoyMDE0LTA0LTI0IDE1OjE3OjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBkbyBub3Qgc2NhbGUgdG8gZnVsbCBzY3JlZW4KCSAgSGF2aW5nIGEgNjQweDM2MCBtb3ZpZSBiZWluZyBzY2FsZWQgdG8gMTkwMHgxMjAwIGRvZXMgbm90IGxvb2sgbmljZQoKMjAxNC0wNC0yNCAxNDo1MDo1NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3JwaTogY2hhbmdlIGRpc3BtYW54IGF0dHJpYnV0ZXMgb2YgZXhpc3RpbmcgZWxlbWVudCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZQoJICBJIHdhcyBsdWNreSB0aGF0OgoJICBlMSA9IHZjX2Rpc3BtYW54X2VsZW1lbnRfYWRkICgpCgkgIGVnbENyZWF0ZVdpbmRvd1N1cmZhY2UgKGUxKQoJICB2Y19kaXNwbWFueF9lbGVtZW50X3JlbW92ZSAoZTEpCgkgIGUyID0gdmNfZGlzcG1hbnhfZWxlbWVudF9hZGQgKCkKCSAgcmVzdWx0ZWQgaW4gaGF2aW5nIGUyIGVxdWFsIHRvIGUxLiBBbmQgYWxzbyBoYXZpbmcgdGhlIGVnbCBzdXJmYWNlCgkgIHRoYXQgZG9lcyBub3QgYWxsb2NhdGUgaXRzIGJ1ZmZlcnMgYmVmb3JlIHRoZSBmaXJzdCBkcmF3LgoKMjAxNC0wNC0yNCAxNDozODo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3JwaTogZW5zdXJlIHRoZSBkaXNwbWFueCBlbGVtZW50IHRvIGJlIG9wYXF1ZQoJICBTbyB0aGF0IHdlIGVuc3VyZSBpdCBkb2VzIG5vdCBnZXQgYWxwaGEgY29tcG9zaXRlZCB3aXRoIG90aGVyCgkgIGRpc3BtYW54IGVsZW1lbnRzIGxpa2UgdGhlIGRlc2t0b3AuCgoyMDE0LTA0LTE4IDIwOjA0OjI1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGF2ZmFzc2V0c3JjOiBkb3duZ3JhZGUgcmFuayB0byBTRUNPTkRBUlkgaW4gT1MgWAoKMjAxNC0wNC0xOCAyMDowMzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGF2ZmFzc2V0c3JjOiByZW5hbWUgcmVmZXJlbmNlcyB0byBpT1MKCjIwMTQtMDQtMTQgMTk6MDg6MDEgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2F2YXNzZXRzcmM6IHJlbmFtZSBlbGVtZW50IHRvIGF2ZmFzc2V0c3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTQtMDQtMDMgMTQ6MDI6MTggKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3NhdmFzc2V0c3JjOiBQb3J0IHRvIDEuMAoJICBBbHNvIGVuYWJsZXMgdGhpcyBlbGVtZW50IG9uIE9TWCA+PSAxMC43LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjQ5CgoyMDEzLTA1LTExIDAzOjQxOjM2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIG5ldyBzb3VyY2UvZGVjb2RlciBlbGVtZW50IGZvciBpT1MgYXNzZXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTQtMDQtMDkgMTA6NTU6MDMgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjogaGFuZGxlIHN0cmlkZSBhbGlnbm1lbnQKCSAgSGFuZGxlIHN0cmlkZSBhbGlnbm1lbnQgdGhyb3VnaCB0aGUgdXNlIG9mIHRoZSB2aWRlbyBtZXRhIEFQSS4gVGhlCgkgIGNvZGUgaXMgYmFzZWQgb24gdGhlIGNvcmV2aWRlb2J1ZmZlciBpbXBsZW1lbnRhdGlvbi4KCSAgSWYgdGhlIHZpZGVvIG1ldGEgQVBJIGlzIG5vdCBzdXBwb3J0ZWQgYW5kIHRoZSB1bmRlcmx5aW5nIGJ1ZmZlcgoJICBjb250YWlucyBwYWRkaW5nLCB0aGUgY29yZSBtZWRpYSBidWZmZXIgaXMgY29waWVkIHRvIGEgc3lzdGVtIG1lbW9yeQoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4ODUKCjIwMTQtMDQtMDkgMTE6NDc6MTIgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBBUEkKCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgdmlkZW8gbWV0YSBBUEksIHNvIHdlIGNhbiB1c2UgaXQgbGF0ZXIKCSAgd2l0aCB0aGUgY29yZSBtZWRpYSBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3OTUzCgoyMDE0LTA0LTI0IDEwOjM3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogcGFzcyBhIE5TVmlldyB0byBzZXRfd2luZG93X2hhbmRsZSBpbnN0ZWFkIG9mIGEgTlNXaW5kb3cKCSAgRml4IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NTEKCjIwMTQtMDQtMjQgMDk6MDM6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBvbmx5IGRyYXcgb25jZSB0aGUgd2luZG93IGhhcyBiZWVuIHJlc2l6ZWQKCSAgSXQgYXZvaWRzIHRvIGRyYXcgdGhlIGZpcnN0IGZyYW1lIHdpdGggYW4gaW5jb3JyZWN0IHZpZXcgcG9ydC4KCjIwMTQtMDQtMjQgMDg6NDk6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogc2V0IHRoZSB2aWV3IHRvIHVzZSBmb3IgZHJhd2luZyBieSB0aGUgY29udGV4dAoJICBJdCBhdm9pZHMgdG8gZHJhdyB0byBhbiBpbnZhbGlkIGJ1ZmZlci4KCSAgV2l0aHRvdXQgdGhpcyB0aGUgZGVmYXVsdCBmcmFtZSBidWZmZXIgaXMgdW5kZWZpbmVkOgoJICBnbEJpbmRGcmFtZWJ1ZmZlciAoR0xfRlJBTUVCVUZGRVIsIDApCgkgIFZpc3VhbGx5IHlvdSBjb3VsZCBzZWUgc29tZSB3aGl0ZSBmcmFtZXMgYXQgdGhlIGJlZ2lubmluZwoJICB3aGVuIGx1bmNoaW5nIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIFdpdGggT3BlbkdMIFByb2ZpbGVyIGZyb20gWENvZGUgeW91IGNvdWxkIHNlZSBzb21lCgkgIEdMX0lOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OIGZvciB0aGUgZmlyc3QgZnJhbWVzCgoyMDE0LTA0LTIzIDE0OjQxOjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZml4IGRlY2xhcmF0aW9uLWRlZmluaXRpb24gbWlzbWF0Y2ggZm9yIF9pbml0X3VwbG9hZAoKMjAxNC0wNC0yMyAxMzozNDoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsL2J1ZmZlcnBvb2w6IGRvIG5vdCByZXNldCB1cGxvYWQgd2hlbiBzZXRfY29uZmlnIGRvZXMgbm90IGNoYW5nZSB0aGUgY2FwcwoJICBXaXRoIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rIGl0IHdhcyByZXNldCAzIHRpbWVzCgoyMDE0LTA0LTIzIDEzOjMwOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogdXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZiBmb3IgX19BUFBMRV9fCgkgIHdhcm5pbmc6ICJfX0FQUExFX18iIGlzIG5vdCBkZWZpbmVkIFstV3VuZGVmXQoJICB3aXRoIGdjYyB2ZXJzaW9uIDQuNy4yIDIwMTIwNzMxIChwcmVyZWxlYXNlKQoJICAoY3Jvc3N0b29sLU5HIGxpbmFyby0xLjEzLjErYnpyMjQ1OCAtIExpbmFybyBHQ0MgMjAxMi4wOCkKCjIwMTQtMDQtMjMgMTI6NDI6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogVXNlciBnX3NsaWNlX25ldzAgdG8gZW5zdXJlIGZ1bGx5IGluaXRpbGl6ZWQgc3RydWN0dXJlCgkgIFRoZSBwYm8gcG9pbnRlciBub3QgYmVpbmcgaW5pdGlhbGl6ZWQgd291bGQgdHJpZ2dlciBhIHVzZSBvZiB1bml0aWxpYWxpemVkIHZhcmlhYmxlCgkgIGluIHZhbGdyaW5kLgoKMjAxNC0wMy0yOSAxODozNDoyNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggc3VwcG9ydCBmb3IgSFcgd2l0aG91dCBvdXRwdXQKCSAgRGV2aWNlcyBzdWl0YWJsZSBmb3IgZGVja2xpbmtzcmMgbWF5IG5vdCBoYXZlIGFueSBvdXRwdXQsIGhlbmNlIHF1ZXJ5aW5nCgkgIHRoZSBpbnB1dCByZXR1cm5zIE5VTEwuIEFkZCBzdXBwb3J0IGZvciBhbGwgY2FzZXMgd2hlcmUKCSAgaW5wdXQvb3V0cHV0L2NvbmZpZyBtYXkgYmUgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMwNgoKMjAxNC0wMy0xNSAxNToxNzo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgeTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YQoJICBUaGlzIGVsZW1lbnQgb25seSBuZWVkIHN0cmlkZSBzdXBwb3J0LCBidXQgY2hlY2tzIGZvciBDUk9QX01FVEEsIHdoaWNoCgkgIGlzIGEgYml0IHRvbyBtdWNoLCBldmVuIHRob3VnaCB0aGlzIHdvcmtzIGFzIENST1AgaW1wbHkgaGF2aW5nIFZJREVPCgkgIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyNTUKCjIwMTQtMDQtMjMgMTE6MTA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFVzZSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGFkanVzdGVkIHdpZHRoL2hlaWdodCB3aGVuIGNlbnRlcmluZyB0aGUgZnJhbWUgaW4gdGhlIGRpc3BsYXkgYXJlYQoJICBNYWtlcyBzdXJlIHdlIGFjdHVhbGx5IGtlZXAgdGhlIGRpc3BsYXkgYXNwZWN0IHJhdGlvCgoyMDE0LTA0LTIzIDEwOjU1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBCeSBkZWZhdWx0IGtlZXAgdGhlIGRpc3BsYXkgYXNwZWN0IHJhdGlvCgkgIEFsc28gdGhlIGRlZmF1bHQgZm9yIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gc2hvdWxkIGJlIDEvMSwgbm90IDAvMS4KCjIwMTQtMDQtMjMgMTA6NDI6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEZsdXNoIHByb2dyYW0gZW5kIGNvZGUgYnl0ZXMKCSAgVGhpcyBzaG91bGQgbm90IGhhcm0gcmVndWxhciBmaWxlcywgc2luY2UgdGhvc2UgYXJlIHRoZSBsYXN0IDQgYnl0ZXMgb2YKCSAgYSBub3JtYWwgZmlsZS4KCSAgVGhpcyBhbGxvd3MgdG8gaGFuZGxlIHBsYXliYWNrIG9mIGNvbmNhdGVuYXRlZCBtcGVnLXBzIGZpbGVzLiBTZWVraW5nIGFuZAoJICBkdXJhdGlvbiByZXBvcnRpbmcgaXMgc3RpbGwgd3JvbmcgdGhvdWdoLgoKMjAxNC0wNC0yMyAxMDoyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBVbnJlZiBjb250ZXh0IHdoZW4gY3JlYXRpb24gZmFpbGVkIGFuZCBndWFyZCBhZ2FpbnN0IHRoYXQgaW4gZmlsbCgpCgoyMDE0LTA0LTIzIDEwOjI0OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDYWxsIGdzdF9vYmplY3RfdW5yZWYoKSBvbiB0aGUgR3N0R0wgR09iamVjdHMgYWdhaW4KCSAgV2hpbGUgdGhleSdyZSBwbGFpbiBHT2JqZWN0cyBpdCBkb2VzIG5vdCBodXJ0IHRvIGNhbGwgZ3N0X29iamVjdF91bnJlZigpCgkgIG9uIHRoZW0gYW5kIHBvdGVudGlhbGx5IGFsbG93cyB0byBkZWJ1ZyByZWZlcmVuY2UgbGVha3MgYSBiaXQgZWFzaWVyLgoKMjAxNC0wNC0yMyAxMDowMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogSWYgY3JlYXRpbmcgYSBjb250ZXh0IG9yIHVwbG9hZCBmYWlsZWQsIGRlc3Ryb3kgaXQKCSAgRml4ZXMgZGVhZGxvY2tzIGluIGVycm9yIGNhc2VzIHdoZW4gbGF0ZXIgY29kZSBhc3N1bWVzIHRoZSBicm9rZW4KCSAgY29udGV4dCBpcyBhY3R1YWxseSB1c2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NjEKCjIwMTQtMDQtMjIgMTI6NTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzaW1wbGlmeSBpZiBzdGF0ZW1lbnQKCSAgQ0lEIDEyMDQyNzQKCjIwMTQtMDQtMjEgMTM6MTU6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogZml4IE1QMiBjYXNlCgkgIFRlc3RpbmcgbXBlZ3ZlcnNpb24gd2hlbiBtcGVnYXVkaW92ZXJzaW9uIHdhcyBsaWtlbHkgbWVhbnQuCgkgIFNpbWlsYXIgdGVzdHMgaW4gc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jIGFsc28gdGVzdAoJICBtcGVnYXVkaW92ZXJzaW9uIHdpdGggdGhlIHNhbWUgY29uZGl0aW9uYWwgY29kZS4KCSAgQ292ZXJpdHkgMjA2MDcxCgoyMDE0LTA0LTIxIDEwOjM2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGd1YXJkIGFnYWluc3QgZGl2aWRpbmcgYnkgemVybwoJICBJZiBmcmFtZXJhdGUgaXMgdW5rbm93biwgd2Ugd3JpdGUgdGhlIG1heGltdW0gZnJhbWVyYXRlCgkgIGFsbG93ZWQgZm9yIHRoaXMgcHJvZmlsZS9sZXZlbDoKCSAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtYXZ0LXJ0cC12YzEtMDYjc2VjdGlvbi02LjEKCSAgaHR0cDovL3dpa2kubXVsdGltZWRpYS5jeC9pbmRleC5waHA/dGl0bGU9VkMtMSNTZXR1cF9EYXRhXy4yRl9TZXF1ZW5jZV9MYXllcgoJICBDb3Zlcml0eSAxMTM5Njk0CgoyMDE0LTA0LTIxIDEwOjA3OjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogZ3VhcmQgYWdhaW5zdCBkaXZpZGluZyBieSAwCgkgIFVzZSBhIHBsYWNlaG9sZGVyIHZhbHVlIGluIHRoYXQgY2FzZSwgaXQncyBiZXR0ZXIgdGhhbiBjcmFzaGluZy4KCSAgQ292ZXJpdHkgMTEzOTY5NwoKMjAxNC0wNC0yMSAwOTo1MToxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGEgY291cGxlIHNwZWxsaW5nL2dyYW1tYXIgZml4ZXMKCjIwMTQtMDQtMjEgMDk6NTA6MTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBndWFyZCBhZ2FpbnN0IHVzaW5nIGEgTlVMTCB3aW5kb3cgcG9pbnRlcgoJICBDb3Zlcml0eSAxMTk1MTQ1CgoyMDE0LTA0LTIxIDA5OjQ3OjA4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogcHJldmVudCBkaXZpc2lvbiBieSAwIG9uIHVuc3VwcG9ydGVkIHRleHR1cmUgdHlwZQoJICBDb3Zlcml0eSAxMTk5Njk3CgoyMDE0LTA0LTIxIDIyOjAxOjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGJ0NzA5IGNvbnZlcnNpb24gbWF0cmljZXMuCgkgIEZpeCB0aGUgc2lnbiBvbiBvbmUgZW50cnkgaW4gdGhlIGJ0LjcwOSBZVVYtPlJHQiBjb252ZXJzaW9uCgkgIG1hdHJpeCwgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGludmVyc2UgbWF0cml4LiBGaXhlcyByZWFsbHkKCSAgd3JvbmcgY29sb3VyaW5nIG9mIHNvbWUgdmlkZW9zLgoKMjAxNC0wNC0xNyAwOTo1ODo0NyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IHRlc3QgZm9yIHByb3BlciB1c2UgY291bnQgYmFsYW5jaW5nCgkgIHVzZWNvdW50IGlzIHVuc2lnbmVkLCBzbyB0b28gbWFueSAidW51c2UiIHdpbGwgd3JhcCB0aGUgY291bnRlcgoJICBhcm91bmQgYW5kIHRoZSA+PSAwIGNoZWNrIHdpbGwgYWx3YXlzIGJlIGZpbmUuCgkgIEl0IHdvdWxkIGJlIG11Y2ggc2ltcGxlciB0byBqdXN0IG1ha2UgdGhlIGNvdW50ZXIgc2lnbmVkLCBidXQKCSAgbW92aW5nIHRoZSBjaGVja3Mgd2hlcmUgdGhlIGRlY3JlbWVudHMgaGFwcGVuIGFsbG93IGEgbWlzdGFrZQoJICB0byBiZSBkZXRlY3RlZCBlYXJsaWVyLCBhbmQgdGh1cyBlYXNpZXIgdG8gZGVidWcuCgkgIENvdmVyaXR5IDExMzk3OTEKCjIwMTQtMDQtMTcgMDk6MzU6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZ3VhcmQgYWdhaW5zdCBOVUxMIG5vbiBzb3VyY2UgY29tcG9uZW50cwoJICBUaGlzIGNvbXBvbmVudCBpcyBkZXJlZmVyZW5jZWQsIGFuZCBsYXRlciBjb2RlIGNoZWNraW5nIGZvcgoJICBOVUxMIGluIHBhcnRpY3VsYXIgY2FzZXMgaW1wbGllcyBpdCBjYW4gYmUgTlVMTC4gVGhpcyBsaWtlbHkKCSAgZG9lcyBub3QgZml4IHRoZSBjb3Zlcml0eSB3YXJuaW5nIGFzIGl0IHdhcyBzZWVpbmcgYW5vdGhlcgoJICBwYXRoIHNldHRpbmcgY29tcG9uZW50IHRvIE5VTEwgZXhwbGljaXRlbHksIGJ1dCB0aGlzIHdhcwoJICBzcG90dGVkIGJ5IGxvb2tpbmcgYXQ6CgkgIENvdmVyaXR5IDExMzk3MzYKCSAgV2hpY2ggaXMgYWN0dWFsbHkgT0sgZnJvbSB3aGF0IEkgY2FuIHNlZSBzaW5jZSB0aGUgYWN0dWFsCgkgIGRlcmVmZXJlbmNlIG9mIHRoZSBleHBsaWNpdCBOVUxMIHBvaW50ZXIgd2lsbCBub3QgaGFwcGVuCgkgIGlmIHRoZSBjb25kaXRpb24gdGhhdCBsZWQgdG8gdGhlIE5VTEwgcG9pbnRlciBhc3NpZ25tZW50CgkgIGlzIG1ldCwgc2luY2UgdGhlIGFzc2lnbm1lbnQgYW5kIGRlZmVmZXJlbmNlIGhhdmUgbXV0dWFsbHkKCSAgZXhjbHVzaXZlIHRlc3RzLgoKMjAxNC0wNC0xNyAwOToyNjoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICByYXdwYXJzZTogY2F0Y2ggZXJyb3JzIGluIGNhcHMgbWFuaXB1bGF0aW9uCgkgIENvdmVyaXR5IDExMzk2MjIKCjIwMTQtMDQtMTggMjA6MTI6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGNvbXBsaWVyIGVycm9yIHVzaW5nIGZpeGVkIGxlbmdodCBhcnJheXMKCjIwMTQtMDQtMTggMTg6MTI6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGRldGVjdCBhbmQgcHJvcGFnYXRlIHJlc29sdXRpb24gY2hhbmdlcy4KCSAgRGV0ZWN0IHJlc29sdXRpb24gY2hhbmdlcyBvbiBrZXkgZnJhbWVzLCBhbmQgcHJvcGFnYXRlIHRoZSByZXN1bHRpbmcKCSAgY2FwcyB0byB0aGUgc3JjIHBhZC4gT25seSB0aGUgdW5jb21wcmVzc2VkIGRhdGEgY2h1bmsgaXMgZGVjb2RlZCwgc28KCSAgYXZvaWQgdXNpbmcgdGhlIG5ldyBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeSBmb3Igbm93LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTE4IDE3OjM0OjA4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBhdm9pZCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvIHdoZW4gY2FsY3VsYXRpbmcgUFRTLgoJICBBdm9pZCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvIHdoaWxlIGRlcml2aW5nIHRoZSBwcmVzZW50YXRpb24gdGltZXN0YW1wCgkgIG9mIHRoZSBidWZmZXIuIFRoZSBiYXNlIGNsYXNzIHdpbGwgdGFrZSBjYXJlIG9mIGFueSBpbnRlcnBvbGF0aW9uIG5lZWRzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTEwLTI1IDA3OjM4OjUzICswODAwICBIYWxsZXkgWmhhbyA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBpdmZwYXJzZTogZW5hYmxlIGJ1aWxkLgoJICBEcm9wIGBpdmZwYXJzZScgZWxlbWVudCBmcm9tIHRoZSBub24tcG9ydGVkIHNldCBvZiBwbHVnaW5zIGluIGNvbmZpZ3VyZS4KCjIwMTQtMDMtMDQgMTU6NDY6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODU1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMjQgMDg6Mzc6MTYgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3ZwOHBhcnNlci10ZXN0LmM6CgkgIHRlc3RzOiBhZGQgc3RhbmRhbG9uZSBwcm9ncmFtIGZvciBWUDggcGFyc2VyLgoJICBBZGQgc3RhbmRhbG9uZSB0ZXN0IGFwcGxpY2F0aW9uIHRoYXQgZGVtb25zdHJhdGVzIGhvdyB0byB1c2UgdGhlIG5ldwoJICBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeSwgd2hpbGUgYWxzbyBhbGxvd2luZyBzaW1wbGUgZGVidWdnaW5nLwoJICB0cmFjaW5nIG9mIElWRiBmaWxlcy4KCSAgW2NsZWFuLXVwcywgdXBkYXRlZCB0byBuZXcgcGFyc2VyIEFQSV0KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0wOCAwMjo0OTowMCArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy92cDhwYXJzZXIuYzoKCSAgdGVzdHM6IGFkZCB0ZXN0IGZvciBWUDggYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeS4KCSAgW3VwZGF0ZWQgdG8gbmV3IHBhcnNlciBBUEldCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMDkgMDk6MjI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IHZwODogcmVuYW1lIGRib29saHVmZiBzeW1ib2xzLgoJICBSZW5hbWUgVlA4IGRib29saHVmZiBzeW1ib2xzIHNvIHRoYXQgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIGxpYnZweCB3aGVuCgkgIHN0YXRpYyBsaW5raW5nLgoKMjAxNC0wNC0wOCAxMDozMDowOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuQVVUSE9SUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuUEFURU5UUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9kYm9vbGh1ZmYuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IHZwODogYWRkIEdTdHJlYW1lciBuYXRpdmUgdXRpbGl0aWVzLgoJICBJbXBvcnQgbGlidnB4IDEuMy4wIHJhbmdlIGRlY29kZXIgZmlsZXMgKGRib29saHVmZi5bY2hdKSB0byBpbXBsZW1lbnQKCSAgdGhlIFZQOCB1dGlsaXRpZXMgbmF0aXZlIGludGVyZmFjZS4gTGlrZXdpc2UsIGNvcHkgYW5kIHVzZSB0aGUgZGVmYXVsdAoJICBsaWJ2cHggZ2VuZXJhdGVkIGVudHJvcHkgcHJvYmFiaWxpdGllcyB0YWJsZXMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDEtMDggMDI6NDk6MDAgKzA4MDAgIFpoYW8sIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDhyYW5nZWRlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDh1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBWUDggYml0c3RyZWFtIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjc2MAoJICBbcmVmYWN0b3JlZCwgYW1vbmcgb3RoZXIgZml4ZXNdCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTggMTY6MjM6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBJbXByb3ZlIHRzX3RvX29mZnNldCBjb2RlCgkgICogU2VhcmNoIGluIGN1cnJlbnQgcGVuZGluZyB2YWx1ZXMgZmlyc3QuIEZvciBDQlIgc3RyZWFtcyB3ZSBjYW4gdmVyeQoJICBlYXNpbHkgZW5kIHVwIGhhdmluZyBqdXN0IG9uZSBpbml0aWFsIG9ic2VydmF0aW9ucyBhbmQgdGhlbiBub3RoaW5nCgkgIGVsc2UgKHNpbmNlIHRoZSBiaXRyYXRlIGRvZXNuJ3QgY2hhbmdlKS4KCSAgKiBVc2Ugb25lIGdyb3VwIHdoZXRoZXIgd2UgYXJlIGluIHRoYXQgZ3JvdXAgKk9SKiBpZiB0aGVyZSBpcyBvbmx5CgkgIG9uZSBncm91cC4KCSAgKiBJZiB0aGUgZ3JvdXAgdG8gdXNlIGlzbid0IGNsb3NlZCAocG9pbnRzIGFyZSBiZWluZyBhY2N1bXVsYXRlZCBpbiB0aGUKCSAgUENST2Zmc2V0Q3VycmVudCksIHVzZSB0aGUgbGF0ZXN0IGRhdGEgYXZhaWxhYmxlIGZvciBjYWxjdWxhdGlvbgoJICAqIElmIGluIHRoZSB1bmxpa2VseW5lc3MgdGhhdCBhbGwgb2YgdGhpcyAqc3RpbGwqIGRpZG4ndCBwcm9kdWNlIG1vcmUKCSAgdGhhbiBvbmUgZGF0YSBwb2ludCwganVzdCByZXR1cm4gdGhlIGluaXRpYWwgb2Zmc2V0CgoyMDE0LTA0LTE4IDE2OjIwOjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIHRzZGVtdXg6IEZpeCBzY2FsaW5nIG1hY3JvcwoJICBXaGlsZSB0aGUgY2FsY3VsYXRpb24gZG9uZSBpbiB0aGVzZSBtYWNyb3Mgd2lsbCB3b3JrIHdpdGggNjRiaXQKCSAgaW50ZWdlcnMsIHRoZXkgd2lsbCBmYWlsIGlmIHdvcmtpbmcgd2l0aCAzMmJpdCBpbnRlZ2Vycy4KCSAgRm9yY2UgdGhlIHNjYWxpbmcgdXAgdG8gc29sdmUgdGhhdC4KCSAgVGhpcyBhbWF6aW5nbHkgZGlkbid0IGludHJvZHVjZSBtYWpvciBpc3N1ZXMgdXAgdG8gbm93LCBidXQgcmVzdWx0ZWQKCSAgaW4gYm9ndXMgdmFsdWVzIGluIGRlYnVnIGxvZ3MuCgoyMDE0LTA0LTE4IDE2OjE4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgaGFyZC1mbHVzaCB0aGUgcGFja2V0aXplciBvbiBkaXNjb250IGJ1ZmZlcnMKCSAgRG9pbmcgYSBoYXJkIGZsdXNoIG9uIHRoZSBwYWNrZXRpemVyIHdpbGwgZHJvcCBhbGwgb2JzZXJ2YXRpb25zLCB3aGljaAoJICB3aWxsIGV2ZW50dWFsbHkgYnJlYWsgcHVzaC1iYXNlZCBzZWVraW5nICh3aXRoIEJZVEVTIHNlZ21lbnQpIHNpbmNlCgkgIHdlIHdvbid0IGtub3cgd2hlcmUgdG8gc2VlayB0byBhbnltb3JlIChuZXcgZGF0YSB3b3VsZCBhbHdheXMgYmUKCSAgY29uc2lkZXJlZCBhcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0pLgoKMjAxNC0wNC0xNiAxNjoyNToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggY29weS9wYXN0ZSBlcnJvcgoJICBXZSB3YW50IHRvIGNoZWNrIHdoZXRoZXIgdGhlIHJhdGUgaXMgZGlmZmVyZW50LiBXZSBjaGVjayBjaGFuZ2VzIGluCgkgIG51bWVyYXRvciAqYW5kKiBkZW5vbWluYXRvci4KCSAgQ0lEICMxMTM5NjMxCgkgIENJRCAjMTEzOTY0MgoKMjAxNC0wNC0xNiAxNjoxOTo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogSGFuZGxlIGZyYWN0aW9uIHBhcnNpbmcgZmFpbHVyZQoJICBBbmQgcHJvcGVybHkgY2xlYW51cC9yZXNldCB0aGUgc2VnbWVudCBiZWZvcmUgcmV0dXJuaW5nIG9uIGVycm9ycwoJICBDSUQgIzIwNjAxMgoKMjAxNC0wNC0xNiAxNjoxMjowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogUmVtb3ZlIHVzZWxlc3MgY2hlY2sKCSAgYSBndWludCB3aWxsIGFsd2F5cyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBtYXhpbXVtIHZhbHVlIGl0IGNhbgoJICBjb250YWluCgkgIENJRCAjMjA2MDQ5CgoyMDE0LTA0LTA5IDEyOjI3OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBhdm9pZCBkZXJlZmVyZW5jaW5nIE5VTEwgbWFwcGluZyBkYXRhIHBvaW50ZXIKCSAgQWxzbyB1bnJlZiBidWZmZXJzIG9uIGVycm9yLCBhcyBpdCBzZWVtcyB0byBiZSBkb25lIGluIG9uZSwgYnV0CgkgIG5vdCBhbGwsIGVycm9yIHBhdGhzLgoJICBUaGUgTlVMTCBwb2ludGVyIHBhcnQgaXMgQ292ZXJpdHkgMjA2MTEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4ODkKCjIwMTQtMDQtMTYgMTY6MDc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IEZpeCBpZigpIGNoZWNrCgkgIGludHJvZHVjZWQgYnkgbXkgcHJldmlvdXMgY29tbWl0IDooCgoyMDE0LTA0LTE2IDE1OjQzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXRlY3QgRUdMIGhlYWRlciBwcmVzZW5jZQoJICBGaXhlcyB0aGUgYnVpbGQgZm9yIEFuZHJvaWQsIGFuZCBJIHN1c3BlY3QgZm9yIG90aGVyIHN5c3RlbXMgdG9vLi4uCgoyMDE0LTA0LTE2IDE1OjM3OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJICBkdmIvY2Ftc2Vzc2lvbjogRG9uJ3QgZG8gb3BlcmF0aW9ucyBvbiB1bmV4aXN0aW5nIHNlc3Npb25zCgkgIENJRCAjMjA2MTE0CgoyMDE0LTA0LTE2IDE1OjMyOjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiBIYW5kbGUgc29ja2V0KCkgZmFpbHVyZQoJICBDSUQgIzIwNjE3OAoKMjAxNC0wNC0xNiAxNToyMzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEhhbmRsZSBmYWlsdXJlIHRvIGdldCBzdGF0aXN0aWNzIGZyb20gdGhlIGRldmljZQoJICBDaGVjayB0aGUgaW9jdGwgcmV0dXJuIHZhbHVlIGFuZCBkb24ndCBvdXRwdXQgYm9ndXMgdmFsdWVzLgoJICBDSUQgIzIwNjAxNgoKMjAxNC0wNC0xNiAxNToxODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IGNsb3NlIGEgZmQgdGhhdCB3YXNuJ3Qgb3BlbgoJICBXZSBhcmUgaGFuZGxpbmcgdGhlIGZhaWx1cmUgY2FzZXMgaW4gdGhpcyBibG9jayB3aGVyZSB0aGUgb3BlbiBmYWlsZWQKCSAgQ0lEICMyMDYxNzkKCjIwMTQtMDQtMTYgMTU6MTc6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCB0cnkgdG8gYWNjZXNzIE5VTEwgc3RyaW5nCgkgIEFuZCByZWZhY3RvciB0aGUgcGlkIHNldHRpbmcgY29kZSB0byBiZSBpbiBpdHMgb3duIGZ1bmN0aW9uIGZvciBjbGFyaXR5CgkgIENJRCAjMjA2Mzc0CgoyMDE0LTA0LTEwIDE2OjA0OjIxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGR2YiBjYSBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMzowNyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzY3JhbWJsaW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMjowOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1NjAKCjIwMTQtMDQtMTAgMTY6MDA6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZGF0YSBicm9hZGNhc3QgaWQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTEwIDE1OjU5OjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHByaXZhdGUgZGF0YSBzcGVjaWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTE2IDA5OjIwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiOiBNaW5vciBjb2RlIHN0eWxlIGZpeAoKMjAxNC0wNC0xMCAxNTo1ODo1NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBwYXJlbnRpYWwgcmF0aW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xMCAxNTo1ODowNCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBsaW5rYWdlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMwoKMjAxNC0wNC0xNiAwMDoyNTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZvciBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBvbmx5IGFsbG93ZWQgaW4gQzk5IG1vZGUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3MuCgoyMDE0LTA0LTE1IDIwOjQ3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGVnbDogQWRkIGxpYmdzdGVnbCBhbmQgZWdsZ2xlcyBwbHVnaW4gdG8gdGhlIENSVUZUIGRpcmVjdG9yaWVzCgoyMDE0LTA0LTE1IDE3OjU4OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL0FuZHJvaWQubWs6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9UT0RPOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBlZ2wvZWdsZ2xlc3Npbms6IHJlbW92ZSBzaW5jZSBFR0xJbWFnZSBhbmQgaU9TIHN1cHBvcnQgaGF2ZSBiZWVuIGFkZGVkIGluIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MDg6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIGdsOiBhbGxvdyB0byBpbmNsdWRlIEdMRVMvZ2wuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTA0LTE0IDA3OjU2OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgV2Ugc2V0IGl0IGp1c3QgYWZ0ZXIgdmFyaWFibGUgZGVjbGFyYXRpb24KCSAgQ0lEICMxMTk3NzA5CgoyMDE0LTA0LTEzIDE5OjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC9lYWdsOiBGaXggY29tcGlsYXRpb24KCjIwMTQtMDQtMTMgMTY6NTM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IE5vdGlmeSB0aGUgd2luZG93J3MgcmVzaXplIGNhbGxiYWNrIGFib3V0IHN1cmZhY2UgZGltZW5zaW9uIGNoYW5nZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEwNwoKMjAxNC0wNC0xMyAxNjo0NjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkgIGdsL2VhZ2w6IFJlbW92ZSBzcHVyaW91cyBwcml2YXRlIHN0cnVjdCBwb2ludGVyCgoyMDE0LTA0LTEzIDE2OjQwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSAgZ2wvYW5kcm9pZDogTm90aWZ5IHRoZSB3aW5kb3cncyByZXNpemUgY2FsbGJhY2sgYWJvdXQgc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTA3CgoyMDE0LTA0LTEzIDIyOjE2OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSB1bnVzZWQgdGV4dHVyZQoKMjAxNC0wNC0xMyAyMjoxNDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBtb3ZlIHVwbG9hZCBpbnRvIF9wcmVwYXJlKCkKCjIwMTQtMDQtMTMgMTM6NDk6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbC9jb250ZXh0OiBvdXRwdXQgYXZhaWxhYmxlIGV4dGVuc2lvbnMKCjIwMTQtMDQtMTMgMTM6Mzk6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsL2NvbnRleHQ6IHByb3ZpZGUgZ2V0X2dsX3ZlcnNpb24KCjIwMTQtMDQtMTMgMDA6MjE6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiByZXN0b3JlIHZpZXdwb3J0IGRpbWVuc2lvbnMgd2hlbiBmYm8gZG9uZQoJICBSZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgOTVhYmZkYTEzOTliY2RkYmVlMzQ1ZDQ1NDJlODU3ZDc0Mzk2NTQ3Ny4KCSAgSXQgY2F1c2VkIHRvIGRpc3BsYXkgdGhlIHdyb25nIGZyYW1lIHNpemUgd2hlbiByZXNpemluZyB0aGUgd2luZG93LgoKMjAxNC0wNC0xMiAyMjo0NTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsOiBJbXBvcnQgUXVhcnR6Q29yZS9RdWFydHpDb3JlLmggZm9yIENBRUFHTExheWVyIG9uIG9sZGVyIGlPUyB2ZXJzaW9ucwoKMjAxNC0wNC0xMiAyMjoxNTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IFNldCBnbGltYWdlc2luayByYW5rIHRvIFNFQ09OREFSWQoJICBUaGlzIGlzIGEgZnVsbC1mZWF0dXJlZCB2aWRlbyBzaW5rIG5vdyBhbmQgZXNwZWNpYWxseSBzaG91bGQgYmUKCSAgdXNlZCBpbnN0ZWFkIG9mIG9zeHZpZGVvc2luayBvbiBPU1ggaWYgYXZhaWxhYmxlLgoKMjAxNC0wNC0xMiAyMTo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBpT1MgRUFHTCBwbGF0Zm9ybQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQxCgoyMDE0LTA0LTEyIDE3OjMzOjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbWFrZSBnc3RfZ2xfd2luZG93X2NvY29hX3NlbmRfbWVzc2FnZV9hc3luYyByZS1lbnRyYW50CgkgIEJhY2tlbmRzIHRoYXQgdXNlIGdfbWFpbl9jb250ZXh0X2ludm9rZSBhcmUgcmUtZW50cmFudC4KCSAgSWwgYWxsb3dzIHRvIGNhbGwgdHdvIG5lc3RlZCBnc3RfZ2xfY29udGV4dF90aHJlYWRfYWRkLgoJICBleDogaW5pdF91cGxvYWQgLyBpbml0X2NvbG9yY29udmVydAoKMjAxNC0wNC0xMiAxNzowMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRmlyc3QgaGFuZGxlIEdMIHdpbmRvdyBzZXR1cCwgdGhlbiBjcmVhdGUgdGhlIGNvbnRleHQgYW5kIGl0cyB0aHJlYWQKCjIwMTQtMDQtMTIgMTU6NTE6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogZml4IE5TQXV0b3JlbGVhc2VQb29sIGluaXRpYWxpemF0aW9uCgoyMDE0LTA0LTEyIDEyOjQyOjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBlbnN1cmUgdG8gY2FsbCBOU0FwcGxpY2F0aW9uOnNoYXJlZEFwcGxpY2F0aW9uIGluIHRoZSBtYWluIHRocmVhZAoJICAiKE5TQXBwbGljYXRpb24gKilzaGFyZWRBcHBsaWNhdGlvbiBUaGlzIG1ldGhvZCBhbHNvIG1ha2VzIGEgY29ubmVjdGlvbgoJICB0byB0aGUgd2luZG93IHNlcnZlciBhbmQgY29tcGxldGVzIG90aGVyIGluaXRpYWxpemF0aW9uIgoJICBUaGUgaW1wbGljaXQgdGhpbmcgd2hpY2ggaXMgbm90IG1lbnRpb25lZCBpcyB0aGF0IGl0IHJlcXVpcmVkCgkgIHRvIGJlIGNhbGxlZCBpbiB0aGUgbWFpbiB0aHJlYWQuCgkgIEZpeCBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlcyBieSA4MmI3YzkxNWJiMDJhOTc5MGQyNTZkNTk5NDUyZTVhNTRhZmRhNjMzCgkgIFdoZW4gdXNpbmcgd2l0aCBnc3QtbGF1bmNoLCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIGNsaWNrIG9uIHRoZSBjbG9zZQoJICBjcm9zcyBvZiB0aGUgd2luZG93IGFueW1vcmUgd2hpY2ggaXMgYSBiaXQgYW5veWluZyBhbmQgYWxzbyBiZWNhdXNlCgkgIGl0J3Mgd2FzIHBvc3NpYmxlIGJlZm9yZS4KCSAgUHJpb3IgdG8gdGhpcyBjb21taXQgdGhlIEdzdEdMQ29udGV4dENvY29hQ2xhc3Mgd2FzIGluaXRpYWxpemVkCgkgIGluIHRoZSBtYWluIHRocmVhZCBiZWNhdXNlIGdzdF9nbF9jb250ZXh0X25ldyB3YXMgY2FsbGVkIGluIHRoZQoJICBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZnJvbSBnb2luZyBmcm9tIHJlYWR5IHRvIHBhdXNlZC4KCSAgRnJvbSB0aGlzIGNvbW1pdCB0aGlzIGNhbGwgaXMgZG9uZSBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBTbyB0aGF0IHRoZSBjYWxsIHRvIFtOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXTsKCSAgd2FzIG5vdCBkb25lIGluIHRoZSBtYWluIHRocmVhZCBhbnltb3JlLgoJICBXZSBub3cgZW5zdXJlIHRoYXQgYnkgYXNzdW1pbmcgdGhlcmUgaXMgYSBHTWFpbkxvb3AgcnVubmluZy4KCSAgSXQncyBmb3IgZGVidWdnaW5nIHB1cnBvc2Ugc28gdGhhdCdzIG9rIHRvIGRvIHRoYXQuIEFsc28KCSAgbm90ZSB3ZSBhbHJlYWR5IGRvIHRoaXMgYXNzdW10aW9uIHRvIHJ1biBhcHAgaXRlcmVhdGlvbnMuCgkgIFRoZSByZWdyZXNzaW9uIGhhZCBubyBjb25zZXF1ZW5jZSBvbiB0aGUgY29jb2EvdmlkZW9vdmVybGF5IGV4YW1wbGUKCSAgKHRoYXQgc2hvdWxkIGJlIG1vdmVkIGZyb20gZ3N0LXBsdWdpbnMtZ2wgdG8gLWJhZCkgYmVjYXVzZSB0aGUKCSAgYXBwbGljYXRpb24gaXMgcmVzcG9uc2libGUgZm9yIHRoYXQgbmVjZXNzYXJ5IGNhbGwuCgoyMDE0LTA0LTEyIDE0OjQwOjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogZml4IHdhcm5pbmcgdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgIndhcm5pbmc6IHR5cGUgcXVhbGlmaWVycyBpZ25vcmVkIG9uIGZ1bmN0aW9uIHJldHVybiB0eXBlIgoKMjAxNC0wNC0xMiAxODoyNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IHJlbW92ZSBpZiBzdGF0ZW1lbnQgd2l0aCBubyBlZmZlY3QKCSAgQ292ZXJpdHkgMTE5OTY5OAoKMjAxNC0wNC0xMiAxODoxNjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcjogcGFzcyBsYXJnZSB2YWx1ZSBieSByZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTE5OTcwMAoKMjAxNC0wNC0wMiAxMjo1OTo1OCAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHBkZWM6IGZpeCBhc3NlcnRpb24gY2hlY2tpbmcgc3NyYyBmcm9tIHJ0Y3AgcGFja2V0cwoJICBydGNwX2J1ZmZlcl9nZXRfc3NyYyBpcyBjYWxsZWQgZXZlbiB3aXRoIFJUUCBidWZmZXJzLiB0aGlzIG1lYW5zIHdlCgkgIG1pZ2h0IGVuZCB1cCB3aXRoIGFuIGV4Y2VwdGlvbiBhbmQgbm90IGZpbmQgYW55IHZhbGlkIFJUQ1AgcGFja2V0IHR5cGUKCSAgYW5kIHRodXMgaGl0IEdTVF9SVENQX1RZUEVfSU5WQUxJRC4gd2Ugbm93IHRha2UgY2FyZSBvZiB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTEyCgoyMDE0LTA0LTExIDEyOjI5OjE3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJICBqcDJrZGVjaW1hdG9yOiBmaXggbWF5YmUtdW5pbml0aWFsaXplZCBjb21waWxlciBlcnJvcgoKMjAxNC0wNC0xMSAxMTozNDoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgdW5uZWVkZWQgdW5yZWYKCSAgcGFja2V0X2J1ZmZlciBoYXMgYWxyZWFkeSBiZWVuIGNsZWFyZWQgaW4gYWxsIGNvZGUgcGF0aHMgbGVhZGluZwoJICB0byB0aGlzIHBvaW50LgoJICBDSUQgIzExOTk2OTYKCjIwMTQtMDQtMTEgMDg6Mzk6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBIYW5kbGUgc3ltYm9scyBhZGRlZCBpbiBtaW5vciB2ZXJzaW9uIDcgYW5kIDgKCSAgU29tZSBzeW1ib2xzIHdlcmUgcmUtZGVmaW5lZCBpbiBtaW5vciB2OCAoR08gVEVBTSBCQUNLV0FSRFMgQ09NUEFUSUJMRSEpCgkgIFNvbWUgc3ltYm9scyB3ZXJlIGFkZGVkIGluIG1pbm9yIHY3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NzcKCjIwMTQtMDQtMTEgMTc6MjQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbC9tZW06IGNhY2hlIHRoZSBzdHJpZGUvdW5wYWNrIGxlbmd0aCBmb3IgdXBsb2FkCgoyMDE0LTA0LTExIDE3OjIzOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogZXhwbGljaXRseSBtYXAgdGhlIGJ1ZmZlcnMgd2UgYXJlIGNvcHlpbmcgaW50bwoJICBPdGhlcndpc2UgaXQgbWF5IG5vdCBiZSBkb3dubG9hZGVkIGF0IGFsbC4KCjIwMTQtMDQtMTEgMDg6MTY6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgY29tbWVudCB3aXRoIGFsbCBEVkIgQVBJIHY1IG1pbm9yIGNoYW5nZXMKCSAgVGhlcmUgd2Fzbid0IGEgZGVmaW5pdGUgbGlzdCBhbnl3YXksIHNvIEkganVzdCBkb3ZlIGluIHRoZSBrZXJuZWwKCSAgYW5kIGV4dHJhY3QgYWxsIHRoYXQgaW5mb3JtYXRpb24uCgoyMDE0LTA0LTExIDE2OjA5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogY2FjaGUgdGhlIHRlbXBvcmFyeSB0ZXh0dXJlcwoKMjAxNC0wNC0xMSAxMTowNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtOiBwcm92aWRlIGRlZmluZXMgZm9yIHRva2VucyBub3QgZGVmaW5lZCBpbiBHTEVTMi9hbmNpZW50IHBsYXRmb3JtcwoKMjAxNC0wNC0xMSAxMTowMzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeHVwIGluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzCgoyMDE0LTA0LTExIDEwOjU1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4IGluY29ycmVjdCB1c2FnZSBvZiBnX3JldHVybl9pZl9mYWlsCgoyMDE0LTA0LTAyIDE3OjQzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtOiBhbGxvY2F0ZSB0aGUgbWVtb3J5IHBlciBwbGFuZQoJICBUaGlzIHBhdGNoIHByb3ZpZGVzIHRoZSBiYXNpYyBpbmZyYXN0cnVjdHVyZSByZXF1aXJlZCBmb3IgdGhpcy4KCSAgVXBsb2FkIGFuZCBEb3dubG9hZCBoYXMgYmVlbiBwb3J0ZWQgdG8gdGhpcy4KCSAgSGFzIHRoZSBuaWNlIGVmZmVjdCBvZiBhbGxvd2luZyBHc3RHTE1lbW9yeSB0byBiZSBvdXIKCSAgcmVmY291bnRlZCB0ZXh0dXJlIG9iamVjdCBmb3IgYW55IHRleHR1cmUgdHlwZSAobm90IGp1c3QgUkdCQSkuCgkgIFNob3VsZCBub3QgbG9zZSBhbnkgZmVhdHVyZXMvdmlkZW8gZm9ybWF0cy4KCjIwMTQtMDQtMDEgMTU6MTA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbC9lZ2xpbWFnZTogI2lmIDAgdW51c2VkIGNvZGUKCjIwMTQtMDQtMDEgMTM6MzA6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2w6IGFkZCBjb2xvcmNvbnZlcnQgb2JqZWN0IHRoYXQgY29udmVydHMgYmV0d2VlbiBjb2xvciBzcGFjZXMvZm9ybWF0cwoJICBDdXJyZW50bHkgdXNlZCBieSBib3RoIHVwbG9hZCBhbmQgZG93bmxvYWQgb2JqZWN0cyBzZXBhcmF0ZWx5LgoKMjAxNC0wNC0xMCAxNzo1NToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBmYWFjIEFQSSBlcnJvciBjaGVja2luZwoJICBDb3Zlcml0eSAxMTM5NzkwCgoyMDE0LTA0LTEwIDE3OjUyOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBpZ25vcmUgZmFpbHVyZSB0byByZWdpc3RlciB0eXBlZmluZGVyCgkgIENvdmVyaXR5IDExMzk2MjkKCjIwMTQtMDQtMTAgMTc6NDg6MDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHRpbWUgbGVhawoJICBDb3Zlcml0eSAxMTQ3MDE2CgoyMDE0LTA0LTEwIDE3OjQ0OjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUgYW5kIHZhcmlhYmxlCgkgIEEgcmVjZW50IGNvbW1pdCBtYWRlIHN0cmVhbSBub3QgYWJsZSB0byBiZSBOVUxMLCBlbmRpbmcgdXAgd2l0aAoJICBhIGZsYWcgYmVpbmcgYWx3YXlzIHNldCB0byBGQUxTRSB3aGVuIGl0IG1hdHRlcnMuCgkgIENvdmVyaXR5IDExNDY5NjgsIDExNDcwMTIKCjIwMTQtMDQtMTAgMTc6Mzc6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IHJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrCgkgIFdlIGp1c3QgY2hlY2tlZCBmb3IgTlVMTCBhbmQgYWxsb2NhdGVkIGlmIGl0IHdhcy4gQW5kIGdsaWIgYWJvcnRzCgkgIGlmIGl0IGNhbid0IGFsbG9jYXRlLCBJJ20gdG9sZC4KCSAgQ292ZXJpdHkgMTEzOTg0MQoKMjAxNC0wNC0xMCAxNzozMzo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybDogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExOTc3MDgKCjIwMTQtMDQtMTAgMTY6NTM6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIHVwZGF0ZSB0aGUgc2VxdWVuY2UgcG9zaXRpb24gd2hlbiB1cGRhdGluZyBub24tbGl2ZSBwbGF5bGlzdHMKCjIwMTQtMDQtMTAgMTQ6NTk6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBUcnkgcmVsb2FkaW5nIHRoZSBwbGF5bGlzdCBmaXJzdCBpZiBkb3dubG9hZGluZyBhIGZyYWdtZW50IGZhaWxzCgkgIEJ1dCBvbmx5IGFkZCB0aGlzIGZvciBub24tbGl2ZSBwbGF5bGlzdHMuIEZvciBsaXZlIHBsYXlsaXN0cyB3ZSBhbHJlYWR5CgkgIGhhdmUgYW5vdGhlciB0aHJlYWQgdGhhdCBpcyBwZXJpb2RpY2FsbHkgdXBkYXRpbmcgcGxheWxpc3RzLgoJICBSZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBzb21ldGltZXMgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBjYW4gZmFpbCBiZWNhdXNlCgkgIHRoZSBVUklzIGhhdmUgY2hhbmdlZCBvciBleHBpcmVkIHNpbmNlIGxhc3QgdGltZS4KCjIwMTQtMDQtMTAgMTQ6NDY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXaGVuIHVwZGF0aW5nIGEgbm9uLWxpdmUgcGxheWxpc3QgbWFrZSBzdXJlIHRvIGZpbmQgdGhlIGN1cnJlbnQgc2VxdWVuY2UgYnkgdGltZQoJICBTZXF1ZW5jZSBudW1iZXJzIGluIGRpZmZlcmVudCBwbGF5bGlzdHMgYXJlIG5vdCBndWFyYW50ZWVkIHRvIGJlIHRoZSBzYW1lIGZvciB0aGUKCSAgc2FtZSBwb3NpdGlvbiwgZS5nLiBmcmFnbWVudHMgY291bGQgaGF2ZSBkaWZmZXJlbnQgZHVyYXRpb25zIGluIGRpZmZlcmVudCBwbGF5bGlzdHMuCgkgIEluIHRoZW9yeSB3ZSBzaG91bGQgZG8gZXhhY3RseSB0aGUgc2FtZSBmb3IgbGl2ZSBwbGF5bGlzdHMsIGJ1dCB1bmZvcnR1bmF0ZWx5IHdlIGNhbid0CgkgIGJlY2F1c2UgZG9pbmcgdGhpcyBraW5kIG9mIHNlZWtpbmcgcmVxdWlyZXMgdGhlIGNvbXBsZXRlIHBsYXlsaXN0IHNpbmNlIHdlIHN0YXJ0ZWQKCSAgcGxheWJhY2suIEZvciBsaXZlIHBsYXlsaXN0cyB0aGUgc2VydmVyIGlzIGhvd2V2ZXIgZHJvcHBpbmcgZnJhZ21lbnRzIGluIHRoZSBiZWdpbm5pbmcKCSAgb3ZlciB0aW1lIGFuZCB3ZSBoYXZlIG5vIGFic29sdXRlIHRpbWUgcmVmZXJlbmNlcy4KCjIwMTQtMDQtMDkgMTc6Mjg6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGF2b2lkIHVzaW5nIGFuIHVuaW5pdGlhbGl6ZWQgbWFuaWZlc3QKCSAgSWYgd2UgZGlkIG5vdCBzZXQgdGhlIG1hbmlmZXN0IHlldCwgZWFybHkgb3V0IGluIHRoZSBzZWVraW5nIHF1ZXJ5LgoJICBDb3Zlcml0eSAxMTM5NzM3CgoyMDE0LTAzLTE3IDE2OjM5OjQyICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBTZXQgZnJhbWVyYXRlIGV2ZW4gZm9yIGludGVybGFjZWQgdmlkZW9zCgkgIENvLUF1dGhvcmVkIGJ5OiBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY3NTIKCjIwMTQtMDQtMDkgMTA6MDQ6NDYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYWRkIGF0c2MgdGVycmVzdHJpYWwgdmlydHVhbCBjaGFubmVsIHRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0NjAKCjIwMTQtMDQtMDkgMTU6MDc6MTkgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggbWVtb3J5IGxlYWsgcXVlcnlpbmcgc2luayBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4OTQKCjIwMTQtMDQtMDkgMTg6NDQ6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGNhdGNoIGZhaWx1cmUgdG8gd3JpdGUgcGxheWxpc3QgZmlsZQoJICBDb3Zlcml0eSAxMTM5NjEzCgoyMDE0LTA0LTA5IDE4OjMxOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZml4IGltcGxpY2l0IHByb21vdGlvbiB0byBzaWduZWQgaW50IGJyZWFraW5nIG9uIGxhcmdlaXNoIGlucHV0cwoJICBDb3Zlcml0eSAxMTM5ODU4LCAxMTM5ODU3CgoyMDE0LTA0LTA5IDE4OjE2OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJICBsYWRzcGE6IHJlbW92ZSBkdXBsaWNhdGUgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTM5NzA2CgoyMDE0LTA0LTA5IDE4OjEyOjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBmaXggb3BlbiBlcnJvciBjaGVja2luZwoJICBDb3Zlcml0eSAyMDYzNjQKCjIwMTQtMDQtMDkgMTc6Mzc6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoZSB0YWcgd2FzIGRlcmVmZXJlbmNlZCBlYXJpZXIuIEZyb20gdGhlIGxpYnNjaHJvZWRpbmdlciBjb2RlLAoJICBpdCdzIG5vdCBvYnZpb3VzIHRvIHNlZSB3aGV0aGVyIHRhZyBhbmQgZnJhbWUgd291bGQgYmUgTlVMTCBhdAoJICB0aGUgc2FtZSB0aW1lLiBJIHRoaW5rIGlzIGxpa2VseSB0aGF0IGJvdGggd2lsbCBiZSBub24gTlVMTAoJICBoZXJlLCBidXQgdGhhdCdzIG5vdCBjZXJ0YWluLiBBZGRpdGlvbmFsIHRlc3RzIG1heSBiZSBuZWVkZWQKCSAgdG8gYXZvaWQgZGVyZWZlcmVuY2luZyB0YWcgYW5kL29yIGZyYW1lLCBidXQgd2hhdCB0byBkbyBpZgoJICBvbmx5IG9uZSBpcyBOVUxMIGlzbid0IG9idmlvdXMsIGFzIHRoZSBfZ2V0X3RhZyBmdW5jdGlvbiBkb2VzCgkgIHRyYW5zZmVyIG93bmVyc2hpcCBzbyBpc24ndCB1bmRvYWJsZS4KCSAgQ292ZXJpdHkgMTEzOTg1MAoKMjAxNC0wNC0wOSAxNzoxMDowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIHNtb290aHN0cmVhbWluZzogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoZSBmdW5jdGlvbiBpcyBzdGF0aWMsIHRoZSBvbmx5IGNhbGwgc2l0ZSBwYXNzZXMgYSBub24gTlVMTAoJICBwb2ludGVyLCBhbmQgdGhlIHBvaW50ZXIgaXMgZGVyZWZlcmVuY2VkIGJlZm9yZSBhbnl3YXkuCgkgIENvdmVyaXR5IDExMzk4MzkKCjIwMTQtMDQtMDkgMTY6NTU6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExOTc3MDcKCjIwMTQtMDQtMDkgMTU6NTQ6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBmaXggc2R0IGxlbmd0aCBjaGVjawoJICBJdCB3YXMgb3JpZ2luYWxseSB0ZXN0IGZvciA5IGJ5dGVzIChhcyB0aGUgY29tbWVudCBzYXlzKSBhbmQgd2FzCgkgIHJld3JpdHRlbiBidWdnaWx5LiBTbyByZXdyaXRlIGl0IGEgdGhpcmQgd2F5LCB3aGljaCBpcyBub3cKCSAgaG9wZWZ1bGx5IGNvbnNpc3RlbnQgd2l0aCB0aGUgb3JpZ2luYWwgYW5kIHRoZSBjb21tZW50LCB3aGlsZQoJICBiZWluZyBtb3JlIHNlbnNlLW1ha2luZyB0byBodW1hbnMuCgkgIENvdmVyaXR5IDExMzk2NTQKCjIwMTQtMDQtMDkgMTY6MDA6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBSZXZlcnQgInRzbXV4OiBjYXRjaCBhbGxvYyBmYWlsdXJlIgoJICBUdXJucyBvdXQgZ2xpYiBhYm9ydHMgb24gYWxsb2NhdGlvbiBmYWlsdXJlLCBzbyB0aGlzIGlzIHBvaW50bGVzcy4KCSAgV2UnbGwganVzdCBpZ25vcmUgQ292ZXJpdHkgd2FybmluZ3Mgb24gc3VjaCBjb25zdHJ1Y3RzLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzNDc4MDlhODJlMjQwNTczMDJmOTQ4MjY5MzkyZTc2YWFhY2VhMTAuCgoyMDE0LTA0LTA5IDE1OjU4OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHR1cm5zIG91dCBnbGliIGFib3J0cyBvbiBhbGxvY2F0aW9uIGZhaWx1cmUKCSAgU28gdGhpcyBpcyBhY3R1YWxseSBwb2ludGxlc3MuIFdlJ2xsIGp1c3QgaGF2ZSB0byBpZ25vcmUKCSAgQ292ZXJpdHkgbW9hbmluZyBvbiB0aG9zZS4KCSAgUmV2ZXJ0ICJtcGVndHM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyMjRjYjgxYjhmY2JmMDNkZjVlMDdmMDQ1ZWNiOWVjZjY0MTg5NDAwLgoKMjAxNC0wNC0wOSAxNTo0NDoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUKCSAgV2hpbGUgaXQncyB1bmxpa2VseSB0byBnZXQgdGhlcmUsIGl0IHNpbGVuY2VzIHRoZSBjb3Zlcml0eSB3YXJuaW5nCgkgIG9uIHRoZSBlcnJvciBjb2RlIHBhdGggdGhhdCB3ZSB0ZXN0IGZvciBOVUxMIGJlZm9yZSBmcmVlaW5nLCB3aGVuCgkgIGFsbCBicmFuY2hlcyB0aGVyZSBhcmUgZnJvbSBsb2NhdGlvbnMgd2hlcmUgcG10IGNhbm5vdCBiZSBOVUxMLAoJICBhbmQgcmVtb3ZpbmcgdGhlIE5VTEwgY2hlY2sgbWFrZXMgdGhlIGNvZGUgbW9yZSB2dWxuZXJhYmxlIHRvIGEKCSAgaHlwb3RoZXRpY2FsIGZ1dHVyZSBicmFuY2ggZnJvbSBzb21ld2hlcmUgd2hlcmUgaXQgY2FuIGJlLgoJICBDb3Zlcml0eSAxMTM5ODUyCgoyMDE0LTA0LTA5IDE1OjQxOjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHRlc3QKCSAgV2UndmUgYmVlbiBkZXJlZmVyZW5jaW5nIHRoYXQgb2JqZWN0IGxpa2UgdGhlcmUncyBubyB0b21vcnJvdwoJICBpbiB0aGUgY29kZSBqdXN0IGJlZm9yZSB0aGF0LgoJICBDb3Zlcml0eSAyMDYzNjkKCjIwMTQtMDQtMDkgMTU6Mzc6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogcmVtb3ZlIHN0cmF5IGdzdF9idWZmZXJfdW5tYXAgb24gZXJyb3IgcGF0aAoJICBBIHByZXZpb3VzIGNvbW1pdCByZW1vdmVkIHRoZSBtYXAsIGFuZCB0aGUgdW5tYXAgb24gdGhlIG1haW4KCSAgY29kZSBwYXRoLCBidXQgbm90IHRoZSBvbmUgb24gdGhlIGVycm9yIHBhdGguCgkgIENvdmVyaXR5IDExMzk5MzAKCjIwMTQtMDQtMDkgMTU6Mjg6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiByZW1vdmUgZGVhZCBjb2RlCgkgIFRob3NlIGV2ZW50cyB3ZXJlIHByZXZpb3VzbHkgdGFrZW4gZnJvbSBhIGNhY2hlZCBldmVudHMgbGlzdCwKCSAgd2hpY2ggd2FzIHJlbW92ZWQgZHVyaW5nIHRoZSBwb3J0IHRvIDAuMTEsIGJ1dCB0aGlzIGJpdCBzdGF5ZWQuCgkgIENvdmVyaXR5IDExMzk2ODQKCjIwMTQtMDQtMDkgMTU6MjQ6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgQSBtZXNzYWdlIG1heSBub3QgYmUgTlVMTCBpbiB0aGUgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbgoJICAoYW5kIG5vdGhpbmcgdGhlcmUgc2V0cyBpdCB0byBOVUxMKS4KCSAgQ292ZXJpdHkgMTEzOTg0OAoKMjAxNC0wNC0wOSAxNToxODoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkgIGNvbXBhcmU6IHNwZWNpYWwgY2FzZSBlbXB0eSByZWdpb25zIHdpdGggMSBTU0lNIHRvIGF2b2lkIGRpdmlkaW5nIGJ5IDAKCSAgQ292ZXJpdHkgMTEzOTY4OSwgMTEzOTY4OAoKMjAxNC0wNC0wOSAxNTowOToyNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IDExMzk2NjYKCjIwMTQtMDQtMDkgMTU6MDM6NDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByZW1vdmUgZGVhZCBjb2RlCgkgIEZyb20gdGhlIDAuMTEgcG9ydAoJICBDb3Zlcml0eSAxMTM5Njc2CgoyMDE0LTA0LTA5IDE0OjM3OjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IGF2b2lkIGNyYXNoaW5nIGluIHBhdGhvbG9naWNhbCBjYXNlCgkgIFdoZW4gd2UnZCBzZWUgYW4gdW5rbm93biBzdHJlYW0gdHlwZSwgdGhlbiBhIFNERFMgc3RyZWFtLgoJICBUaGVuIHdlJ2QgZ2V0IHRvIHRoZSBlbmQgb2YgdGhlIHN3aXRjaCB3aXRoIGEgTlVMTCB0ZW1wIHN0cmVhbQoJICBwb2ludGVyLCBhbmQgZGVyZWZlcmVuY2UgaXQuCgkgIENvdmVyaXR5IDExMzk3MDgKCjIwMTQtMDQtMDkgMTQ6MTM6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGNhdGNoIHByZXYtbm90LWZvdW5kIHdoZW4gaW5zZXJ0aW5nIGluIHRoZSBncm91cCBsaXN0CgkgIFdoaWxlIHRoaXMgcHJvYmFibHkgc2hvdWxkIG5ldmVyIGhhcHBlbiBpZiBjYWxsZXJzIGFyZSB3ZWxsIGJlaGF2ZWQsCgkgIHRoaXMgYXZvaWRzIGEgY3Jhc2ggaWYgaXQgZG9lcy4gV2l0aCBhIHdhcm5pbmcgYWJvdXQgaXQuIFVuc3VyZSBpZgoJICBpdCdkIGJlIGJldHRlciB0byBub3QgYWRkIGF0IGFsbCwgYnV0IGl0IHNob3VsZCBub3QgaGFwcGVuLi4uCgkgIENvdmVyaXR5IDExMzk3MTMKCjIwMTQtMDQtMDkgMTM6NTE6NDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBndWFyZCBhZ2FpbnN0IF9kaXNwb3NlIGJlaW5nIGNhbGxlZCBtdXRpcGxlIHRpbWVzCgkgIF9kaXNwb3NlIGNhbGxzIF9yZXNldCwgc28gd2UgbmVlZCB0byBtYWtlIHN1cmUgX3Jlc2V0IGhhbmRsZXMKCSAgYWxyZWFkeSBOVUxMZWQgZmllbGRzLgoJICBDb3Zlcml0eSAxMTM5ODQzCgoyMDE0LTA0LTA5IDEzOjQzOjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IHByZXZlbnQgcG9zc2libGUgZG91YmxlIGZyZWUgb24gZXJyb3IgcGF0aAoJICBTcG90dGVkIHdoaWxlIGxvb2tpbmcgYXQgYSBDb3Zlcml0eSBpc3N1ZSBpbiB0aGUgYXJlYS4KCjIwMTQtMDQtMDkgMTM6NDE6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogY2F0Y2ggYWxsb2MgZmFpbHVyZQoJICBXaGlsZSBpdCB3aWxsIHByb2JhYmx5IG5vdCB0cmlnZ2VyLCBpdCBzaG91bGQgc2lsZW5jZSBhIENvdmVyaXR5CgkgIHdhcm5pbmcgYWJvdXQgdGhlIGZhaWwgY29kZSBwYXRoIHRlc3RpbmcgZm9yIE5VTExuZXNzIGJlZm9yZQoJICBmcmVlaW5nLCB3aGVyZSB0aGUgYnVmZmVyIHdhcyBhbHJlYWR5IGRlcmVmZXJlbmNlZC4gSXQgc2VlbXMKCSAgc2FmZXN0IHRvIGtlZXAgdGhhdCB0ZXN0LCBpbiBjYXNlIGZ1dHVyZSBnb3RvIGZhaWwgc3RhdGVtZW50cwoJICBoYXBwZW4gdG8gaGF2ZSBhIE5VTEwgYnVmZmVyIHRoZXJlLgoJICBDb3Zlcml0eSAxMTM5ODUxCgoyMDE0LTA0LTA5IDExOjQzOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSAgZGVja2xpbms6IGluaXRpYWxpemUgcHJpdiB0byBOVUxMCgkgIFdoaWxlIHRoZSBjb2RlIHRoYXQgY3JlYXRlcyB0aGUgb2JqZWN0IHNldHMgcHJpdiB0byBzb21lIGV4aXN0aW5nCgkgIHBvaW50ZXIgYWZ0ZXIgbmV3LCB0aGlzIGVuc3VyZXMgYW55IGZ1dHVyZSBuZXcgbm90IGRvaW5nIHRoaXMgd2lsbAoJICBoaXQgdGhlIHZhcmlvdXMgcHJpdiE9TlVMTCBhc3NlcnRzIGluIHRoZSBjb2RlLgoJICBDb3Zlcml0eSAxMTM5OTM1CgoyMDE0LTA0LTA5IDExOjE1OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogbWFrZSBkdXJhdGlvbiBxdWVyeSBhYmxlIHRvIGNvbnZlcnQgYnl0ZXMgdG8gdGltZQoJICBJdCB3YXMgb25seSBxdWVyeWluZyBpbiB0aW1lLCBidXQgdGhlbiB0cnlpbmcgdG8gdXNlIGRlYWQgYnl0ZXMKCSAgdG8gdGltZSBjb252ZXJzaW9uIGNvZGUuCgkgIENvdmVyaXR5IDExMzk2NzcKCjIwMTQtMDQtMDkgMTE6MDQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBmaXggbGVmdCBjcm9wIGNoYW5nZSB0ZXN0CgkgIEl0IHdhcyB0ZXN0aW5nIGEgbm9vcAoJICBDb3Zlcml0eSAxMTM5NjQzCgoyMDE0LTA0LTA5IDExOjAyOjAwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogYWRkIG1pc3NpbmcgdmFfZW5kIGluIHZhcmlhZGljIGZ1bmN0aW9uCgkgIENvdmVyaXR5IDExMzk5NDQKCjIwMTQtMDQtMDkgMTE6MDA6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogcmVtb3ZlIGRlYWQgY29kZQoJICBDb3Zlcml0eSAxMTM5NjgzCgoyMDE0LTA0LTA5IDEwOjU2OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiByZXNldCAiaW4gdXNlIiBmbGFnIG9uIGZhaWx1cmUgdG8gaW5pdGlhbGl6ZQoKMjAxNC0wNC0wOSAxMDo1NTo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlIGJlZm9yZSBkZXJlZmVyZW5jaW5nCgkgIENvdmVyaXR5IDExMzk4NDkKCjIwMTQtMDQtMDkgMTA6MzM6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBDb3Zlcml0eSAxMTM5ODI5CgoyMDE0LTA0LTA5IDEwOjI4OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIGdsOiBwYXNzIGxhcmdlIHN0cnVjdHVyZSBieSBjb25zdCBwb2ludGVyLCBub3QgdmFsdWUKCSAgQXZvaWRzIGxhcmdlIHBvaW50bGVzcyBtZW1jcHkuCgkgIENvdmVyaXR5IDIwNjIzNiwgMjA2MjM3CgoyMDE0LTA0LTA4IDIxOjM5OjIwICswMzAwICBNb2hhbW1lZCBTYW1lZXIgPG1zYW1lZXJAZm9vbGFiLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgYW55IGZlYXR1cmUgdG8gdmlld2ZpbmRlcmJpbiBzdGF0aWMgcGFkIHRlbXBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4NTcKCjIwMTQtMDQtMDggMjA6NTQ6MjYgKzAzMDAgIE1vaGFtbWVkIFNhbWVlciA8bXNhbWVlckBmb29sYWIub3JnPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlcG9ydCBhbiBlcnJvciBpZiB3ZSBmYWlsIHRvIGxpbmsgdmZzcmMgYW5kIHZpZXdmaW5kZXIgcXVldWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg1NQoKMjAxNC0wNC0wOCAxNzo0NTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHBvc3QgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugd2hlbiB3aW5kb3cgZGlzYXBwZWFycwoKMjAxNC0wNC0wOCAxNzozNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBmaXggb2ZmIGJ5IG9uZSBpbiBjaGFubmVsIG1hc2sgYnVpbGRpbmcKCSAgVGhlIGZpcnN0IGxvb3Agd291bGQgc2hpZnQgMSBieSA2NCwgd2hpY2ggaXMgZWl0aGVyIHVuZGVmaW5lZAoJICBvciBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkLCBpbnN0ZWFkIG9mIGNsZWFyaW5nIHRoZSB0b3AgYml0LgoJICBDb3Zlcml0eSAxMTk3NjkxCgoyMDE0LTA0LTA4IDE3OjEwOjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IHJlc3RvcmUgTlVMTCB0ZXN0IG1pc3Rha2VubHkgcmVtb3ZlZAoJICBUaGFua3MgdG8gdHBtIGZvciBwb2ludCBvdXQgSSdtIGFuIGlkaW90LgoKMjAxNC0wNC0wOCAxNjo1Mzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogb25seSBzZXQgRElTQ09OVCBmbGFnIG9uIGEgdmFsaWQgYnVmZmVyCgkgIFJlY2VudCByZWZhY3RvcmluZyBjYXVzZXMgdGhpcyBjb2RlIHRvIGJlIGNhbGxlZCB3aXRoIGVpdGhlciBhIE5VTEwKCSAgZnJhZ21lbnQsIG9yIGEgbm9uIE5VTEwgZnJhZ21lbnQuIEluIHRoZSBmb3JtZXIgY2FzZSwgd2UgZG9uJ3QgaGF2ZQoJICBhIGJ1ZmZlci4gSW4gdGhlIGxhdHRlciBjYXNlLCB0aGUgb3JpZ2luYWwgY29kZSBkZWFsaW5nIHdpdGggRElTQ09OVAoJICBhc3N1bWVkIHRoZSBidWZmZXIgd2FzIHZhbGlkLiBUZXN0aW5nIGZvciBhIE5VTEwgYnVmZmVyIGhlcmUgdGh1cwoJICBkb2VzIG5vdCBzZWVtIHRvIGNoYW5nZSB0aGUgaW50ZW50LCBhbmQgZml4ZXM6CgkgIENvdmVyaXR5IDExOTUxNDcKCjIwMTQtMDQtMDggMTY6NTM6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBndWFyZCBhZ2FpbnN0IE5VTEwgbWF0ZXJpYWwgdHJhY2sKCSAgSnVzdCB0byBiZSBvbiB0aGUgc2FmZSBzaWRlLgoKMjAxNC0wNC0wOCAxNjo0Njo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBicmluZyBOVUxMIHRlc3QgYmVmb3JlIGRlcmVmZXJlbmNlCgkgIENvdmVyaXR5IDExOTUxNjgKCjIwMTQtMDQtMDggMTY6MjM6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IHRlc3QgZm9yIGZyYW1lIE5VTExuZXNzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0CgkgIENvdmVyaXR5IDExOTUxNzIsIDExOTUxNzEKCjIwMTQtMDQtMDkgMDA6NDQ6MDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBBdm9pZCBpbmZpbml0ZSBsb29wcyBvbiBzaG9ydCBkYXRhCgoyMDE0LTA0LTA4IDE2OjA5OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IGZpeCBjb21waWxhdGlvbgoKMjAxNC0wNC0wOCAxNTo1NDowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsOiBmaXggbGVha3MKCSAgQXMgdGhlIHJlbGV2YW50IHZhcmlhYmxlcyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC9OVUxMLCB3ZSBjYW4gbG9vcAoJICBvdmVyIHRoZSBmdWxsIHJhbmdlIGFuZCBtYWtlIHN1cmUgd2UgZnJlZSBwYXJ0aWFsIGFsbG9jYXRpb25zCgkgIHdoZW4gYW4gZXJyb3IgaGFwcGVucyBwYXJ0d2F5IHRocm91Z2ggaW5pdGlhbGl6YXRpb24uCgoyMDE0LTA0LTA4IDE1OjI2OjA0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgZHZiOiByZWplY3QgdG9vIGxvbmcgc29ja2V0IHBhdGhzCgkgIENvdmVyaXR5IDIwNjAwNAoKMjAxNC0wNC0wOCAxNDozMzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGltcGxlbWVudCBzaW1wbGUgS0VZX1VOSVQgc2Vla2luZwoJICBJZiBhIEtFWV9VTklUIHNlZWsgd2FzIHJlcXVlc3RlZCwgYWRqdXN0IHNlZ21lbnQKCSAgc3RhcnQgdG8gcG9zaXRpb24gb2YgdGhlIGtleSBmcmFtZS4KCjIwMTQtMDQtMDggMTQ6MjQ6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG92ZXJmbG93IGluIGF1ZGlvIHN1YnRpdGxlIHN0cmVhbXMKCSAgVHVybnMgb3V0IHRoZXJlIHdhcyB0aGUgc2FtZSBpc3N1ZSBhcyB3aXRoIHN1YnRpdGxlcy4KCSAgVGhlcmUgaXMgc3BhY2UgZm9yIGEgc2luZ2xlIGF1ZGlvIHN0cmVhbSwgYnV0IHVwIHRvIDI1NQoJICBtYXkgYmUgdXNlZCBiYXNlZCBvbiBhIHVpbnQ4X3QgdmFsdWUgaW4gYSBzdHJ1Y3QsIHdoaWNoIG1heQoJICBvciBtYXkgbm90IGJlIHJlYWQgZnJvbSB0aGUgKHVudHJ1c3RlZCkgZGF0YS4KCSAgQSBjb21tZW50IGluIGlmb190eXBlcy5oIHNheXMgdGhpcyB2YWx1ZSBpcyBlaXRoZXIgMCBvciAxLCBzbwoJICB3ZSBjYW4gZW5zdXJlIHRoaXMgaGVyZSB3aXRob3V0IGRyYXdiYWNrcy4KCSAgQ292ZXJpdHkgMTEzOTU4NQoKMjAxNC0wNC0wOCAxNDoxOToyOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gbWVudSBzdWJ0aXRsZSBzdHJlYW1zCgkgIFRoZXJlIGlzIHNwYWNlIGZvciBhIHNpbmdsZSBzdWJ0aXRsZSBzdHJlYW0sIGJ1dCB1cCB0byAyNTUKCSAgbWF5IGJlIHVzZWQgYmFzZWQgb24gYSB1aW50OF90IHZhbHVlIGluIGEgc3RydWN0LCB3aGljaCBtYXkKCSAgb3IgbWF5IG5vdCBiZSByZWFkIGZyb20gdGhlICh1bnRydXN0ZWQpIGRhdGEuCgkgIEEgY29tbWVudCBpbiBpZm9fdHlwZXMuaCBzYXlzIHRoaXMgdmFsdWUgaXMgZWl0aGVyIDAgb3IgMSwgc28KCSAgd2UgY2FuIGVuc3VyZSB0aGlzIGhlcmUgd2l0aG91dCBkcmF3YmFja3MuCgkgIENvdmVyaXR5IDExMzk1ODYKCjIwMTQtMDQtMDggMTM6MjY6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggc2Vla2luZywgc2VuZCBkYXRhIHN0YXJ0aW5nIGZyb20gYSBrZXkgdW5pdAoJICBGaXhlcyBtdWx0aXBsZSBzZWVraW5nIGlzc3Vlcy4gV2hlbiBkb2luZyBBQ0NVUkFURSBvciBub3JtYWwKCSAgbm9uLUtFWVVOSVQgc2Vla3MsIG14ZmRlbXV4IHdvdWxkIGp1c3Qgc2VuZCBkYXRhIGZyb20gdGhlCgkgIGVkaXQgdW5pdCB0aGF0IGNvdmVyZWQgdGhlIHNlZWsgcG9zaXRpb24sIHdoZXRoZXIgdGhhdCdzCgkgIGEga2V5ZnJhbWUgb3Igbm90LiBEZWNvZGVycyB3b3VsZCBvbmx5IG91dHB1dCB0aGluZ3MgZnJvbQoJICB0aGUgbmV4dCBrZXlmcmFtZSB0aGVuLCB3aGljaCBtZWFucyB0aGVyZSdzIGEgZ2FwIGJldHdlZW4KCSAgdGhlIHN0YXJ0IG9mIHRoZSBzZWdtZW50IGFuZCB0aGUgZmlyc3QgZGVjb2RlZCBkYXRhIGluCgkgIHNvbWUgY2FzZXMuIEluIGNvbWJpbmF0aW9uIHdpdGggZ3N0LWVkaXRpbmctc2VydmljZXMgdGhpcwoJICBtaWdodCByZXN1bHQgaW4gYSBmcm96ZW4gcGljdHVyZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoYXQKCSAgZ2FwIGF0IHRoZSBiZWdpbm5pbmcgKGlmIHZpZGVvcmF0ZSBmaXhlcyB1cCB0aGUgZmlyc3QKCSAgYnVmZmVyJ3Mgc3RhcnQgdGltZXN0YW1wIHRvIGNvdmVyIHRoZSBlbnRpcmUgZ2FwKSwgb3IKCSAgYSBibGFjayBmcmFtZSAoaWYgbm8gdmlkZW9yYXRlIGlzIHVzZWQgYW5kIHZpZGVvbWl4ZXIKCSAgZmlsbHMgdGhlIGdhcCkuIEFsc28gZml4ZXMgQS9WIHN5bmMgaXNzdWUgd2hlbiByZXF1ZXN0aW5nCgkgIGEgS0VZVU5JVCBzZWVrLgoKMjAxNC0wNC0wOCAxMjozNzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCBidWZmZXIgb3ZlcmZsb3dzCgkgIENoYW5uZWxzIGNhbiBiZSB1cCB0byA3LiBBbHNvIGFkZCBhIGd1YXJkIGluIGNhc2UgbW9yZSBjYW4gYmUKCSAgcmV0dXJuZWQgaW4gdGhlIGZ1dHVyZS4KCSAgQ292ZXJpdHkgMTEzOTgyMCwgMTEzOTgyMQoKMjAxNC0wNC0wOCAxMzoyMDo1NCArMDIwMCAgWGF2aSBBcnRpZ2FzIDx4YXJ0aWdhc0BmbHVlbmRvLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGNyaXRpY2FsIGR1ZSB0byBtaXNzaW5nIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc4MTIKCjIwMTQtMDQtMDggMTI6MjA6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBmaXggZmQgbGVhawoJICBDb3Zlcml0eSAxMTM5ODMxCgoyMDE0LTA0LTA4IDExOjI2OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogQ2xhcmlmeSBwYXNzdGhyb3VnaCBpbiBzd2l0Y2ggc3RhdGVtZW50CgkgIFdlIGRvIHdhbnQgdGhlIGNhcHMgZXZlbnQgdG8gYmUgZm9yd2FyZGVkIGRvd25zdHJlYW0KCSAgQ0lEICMxMTM5NzU0CgoyMDE0LTA0LTA4IDExOjIzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgV2hvb3BzLCBtb2RpZnlpbmcgdGhlIHBpdGNoIHdoZW4gbW9kaWZ5aW5nIHRoZSBvdXRwdXQgcmF0ZSAuLi4KCSAgQ0lEICMxMTM5NzQ5CgoyMDE0LTA0LTA4IDExOjIxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmc6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgVGhpcyB3YXNuJ3QgZmF0YWwgYmVmb3JlICh3b3JzdCBjYXNlIGl0IHdvdWxkIGNsZWFyIGFuIGFscmVhZHkgZW1wdHkKCSAgYWRhcHRlcikuCgkgIENJRCAjMTEzOTc1OAoKMjAxNC0wNC0wOCAxMToyMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBBZGQgbWlzc2luZyBicmVhayBpbiBzd2l0Y2gKCSAgUVVFUllfQ0FQUyBpcyBmdWxseSBoYW5kbGVkLCB3ZSBkb24ndCBuZWVkIHRvIHBhc3N0aHJvdWdoIHRvIHRoZSBkZWZhdWx0CgkgIGhhbmRsZXIuCgkgIENJRCAjMTEzOTc1NgoKMjAxNC0wNC0wOCAwOTo1MTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IEluaXRpYWxpemUgdmFyaWFibGVzCgkgIFRoZXJlIGlzIGEgc21hbGwgY2hhbmNlIHRoYXQgd2UgbWlnaHQgZW5kIHVwIGluIHRoZSBkb25lIHN0ZXAgd2l0aG91dAoJICBoYXZpbmcgYW55IG91dHB1dCBhdmFpbGFibGUuCgkgIEZ1cnRoZXJtb3JlLCB3aGVuIGdvaW5nIHRocm91Z2ggbm90X3JlYWR5LCB3ZSBuZWVkIHRvIGVuc3VyZSBnc3RfYnVmZmVyX3VubWFwCgkgIGhhcyBhIHByb3Blcmx5IGluaXRpYWxpemVkIEdzdE1hcEluZm8uCgkgIENJRCAjMTEzOTkyMwoJICBDSUQgIzExMzk5MjQKCSAgQ0lEICMxMTM5OTE5CgkgIENJRCAjMTEzOTkyMAoKMjAxNC0wNC0wOCAwNzo0ODoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgY2hlY2s6IEZpeCBtcGVndHNtdXggY2FwcwoJICBJbmNvbWluZyBzdHJlYW1zIG5lZWQgdG8gYmUgcGFyc2VkLiBEb2Vzbid0IGZpeCB0aGUgdGVzdCBjb21wbGV0ZWx5IHRob3VnaAoKMjAxNC0wNC0wOCAwNzo0NzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEluaXRpYWxpemUgaGVscGVyIG1wZWd0cyBsaWJyYXJ5CgkgIFdlIG5vdyB1c2UgdGhhdCBsaWJyYXJ5LCB3ZSBuZWVkIHRvIGluaXRpYWxpemUgaXQgc28gdGhhdCBkZWJ1ZwoJICBjYXRlZ29yaWVzIChhbW9uZ3N0IG90aGVyIHRoaW5ncykgZ2V0IHByb3Blcmx5IGluaXRpYWxpemVkCgoyMDE0LTA0LTA3IDEzOjI1OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJICBteGY6IGZpeCBzdG9wIGRhdGUgcGFyc2luZyB1c2luZyB0aGUgd3JvbmcgaW5wdXQKCSAgQ292ZXJpdHkgMTEzOTY0NQoKMjAxNC0wNC0wNyAxMzoyMjoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBmaXggY29weS9wYXN0ZSBlcnJvcnMgaW4gZXhwcmVzc2lvbnMKCSAgQ29ycmVjdCBmb3JtdWxhZSBmb3VuZCBpbiBJVFUgVC44MDAsIEIuMTIuMS5bMzQ1XQoJICBDb3Zlcml0eSAxMTM5NjQ5LCAxMTM5NjUwLCAxMTM5NjUxCgoyMDE0LTA0LTA0IDE1OjMwOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogZml4IHNobSB0ZXN0IGRlYWRsb2NrCgkgIFRoZSB0ZXN0IHdhcyBub3QgYnJpbmdpbmcgdGhlIHNvdXJjZSBiYWNrIHRvIE5VTEwsIHNvIGl0cyB0aHJlYWQKCSAgY291bGQgc3RhcnQgY3JlYXRpbmcgYSBidWZmZXIgd2hpbGUgdGhlIHBhZHMgd2VyZSBiZWluZyBzaHV0ZG93bi4KCjIwMTQtMDQtMDYgMTE6NTc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENyZWF0ZSBHTCBjb250ZXh0IGFuZCBzZXQgdXAgd2luZG93IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgZ3N0X2dsX2NvbnRleHRfY3JlYXRlKCkgbWlnaHQgbmVlZCB0byBkaXNwYXRjaCBzb21lIG9wZXJhdGlvbnMgdG8gdGhlCgkgIGFwcGxpY2F0aW9uJ3MgbWFpbiB0aHJlYWQsIGFuZCBjYWxsaW5nIHRoaXMgaW4gdGhlIGNoYW5nZV9zdGF0ZSBmdW5jdGlvbgoJICBjYW4gY2F1c2UgZGVhZGxvY2tzLgoKMjAxNC0wNC0wNCAwOToxOTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggY2hlY2sgZm9yIGlPUyBmb3IgdGhlIE9wZW5HTCBzdXBwb3J0CgkgIFRoZXJlIGlzIGFsc28gYW4gaTM4NiB2ZXJzaW9uIG9mIGlPUywgd2hpY2ggaXMgZm9yIHRoZSBzaW11bGF0b3IuCgkgIEJldHRlciB1c2Ugb3VyIGFscmVhZHkgZXhpc3RpbmcgSEFWRV9JT1MgY2hlY2sgaW5zdGVhZCBvZiByZWx5aW5nCgkgIG9uIHRoZSBob3N0IHRyaXBsZXQuCgoyMDE0LTA0LTAzIDExOjU0OjQxICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHBvc3NpYmxlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDE0LTA0LTAzIDExOjQ4OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogb25seSBhZGQgbG9jYXRpb24gd2hlbiBub2RlIGV4aXN0ZWQKCSAgQWN0dWFsbHkgcmV0dXJuIEZBTFNFIHdoZW4gdGhlIGxvY2F0aW9uIG5vZGUgd2FzIG5vbi1leGlzdGluZwoJICBPbmx5IGFkZCB0aGUgbG9jYXRpb24gbm9kZSB3aGVuIGl0IGV4aXN0ZWQKCjIwMTQtMDQtMDIgMjM6NDk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFJlcXVpcmUgcGFyc2VkL2ZyYW1lZCBpbnB1dCBmb3IgbW9zdCBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTUxOQoKMjAxNC0wNC0wMiAyMzowODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgcGFzcyBhIGRlc3QgcmVjdGFuZ2xlIGlmIHNldCwgb3RoZXJ3aXNlIHBhc3MgTlVMTAoJICBDYWxsIHdpdGggYW4gdW5pbml0aWFsaXplZCByZWN0YW5nbGUgd2lsbCBjYXVzZSBlcnJvcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ5OTgKCjIwMTQtMDQtMDIgMTM6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgdGVzdHM6IGZpeCBnbCB1bml0IHRlc3RzIGZvciByZWNlbnQgQVBJIGNoYW5nZXMKCjIwMTQtMDQtMDIgMjM6MDU6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbDogcGFzcyB2aWRlbyBpbmZvJ3MgYnkgcmVmZXJlbmNlCgoyMDE0LTA0LTAyIDIzOjA1OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOiBmaXggYXJyYXkgaW5pdGlhbGl6YXRpb24KCjIwMTQtMDQtMDIgMjI6NTQ6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIGdsYnVtcGVyOiByZW1vdmUgcmVkdW5kYW50IGNoZWNrCgoyMDE0LTA0LTAyIDIyOjUzOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbC9nbHg6IHVzZSB0aGUgY29udGV4dCdzIGRpc3BsYXkgcmF0aGVyIHRoYW4gYXNraW5nIGZvciB0aGUgd2luZG93J3MKCjIwMTQtMDQtMDIgMjI6NDM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IGZpeCBhc3NpZ25tZW50IG9mIHRlbXBvcmFyeSB2YXJpYWJsZXMKCjIwMTQtMDQtMDIgMjI6NDI6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogYXZvaWQgYWRkaW5nIGEgTlVMTCBwb29sIHRvIHByb3Bvc2UgYWxsb2NhdGlvbgoKMjAxNC0wNC0wMiAxMjozODoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBhY3R1YWxseSBidWlsZCB0aGUgZ2wgcGx1Z2lucyBvbiB3aW4zMgoJICBSZWdyZXNzaW9uIGZyb20gYzhmZjIxNWIwMmVlMTc4NTEzZTA3NmUyZGZiZDE0ZTljZTc3ZWM0OQoKMjAxNC0wNC0wMiAwOToyOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsL3dpbjMyOiBmaXggZGV0ZWN0aW9uIG9mIEdML3dnbGV4dC5oCgkgIFdhcyByZXN1bHRpbmcgaW4gJ3ByZXNlbnQgYnV0IGNhbm5vdCBiZSBjb21waWxlZCcgZXJyb3JzCgoyMDE0LTA0LTAxIDIxOjQ4OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCBkZXRlY3Rpb24gb2YgZXh0ZW5zaW9ucyB3aXRoIEdMIHZlcnNpb25zIDwgMwoJICBNZXNhLCBmb3IgZXhhbXBsZSByZXR1cm5zIHZhbGlkIHBvaW50ZXJzIGZvciBnbEdldEludGVnZXJ2IGFuZAoJICBnbEdldFN0cmluZ2kgZXZlbiBpZiB0aGUgZ2wgdmVyc2lvbiBpcyBsZXNzIHRoYW4gdGhhdCByZXF1aXJlZCBmb3IKCSAgYm90aCB0aG9zZSBmdW5jdGlvbnMgdG8gc3VwcG9zZWRseSBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMyNAoKMjAxNC0wMy0zMCAyMTowMjo0NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBkb2NzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzU2CgoyMDE0LTAzLTMwIDIxOjAyOjEwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSAgbXBlZ3RzOiBhZGQgZHZiLXQyIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzU2CgoyMDE0LTAzLTI0IDE3OjQ0OjQ3ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYnVnZml4IGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9ycwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjk3OQoKMjAxNC0wMy0yNyAyMToyMjozMiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IHVzZSBHU1RfUkVBRF9VSU5UMzJfQkUKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxODcKCjIwMTQtMDMtMjcgMjE6MjE6MjMgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYWRkIHBhcnNpbmcgZGF0YSBicm9hZGNhc3QgZGVzY3JpcHRvcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAyMToxODozNiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBhZGQgcGFyc2luZyBzdHJlYW0gaWRlbnRpZmllcgoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAxMzo1NjoyNiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IHVzZSBnbGliIGFsbG9jIGFuZCBmcmVlCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTU5CgoyMDE0LTAzLTI5IDE3OjI2OjAzICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIGNvcnJlY3QgcHJpbnQgZm9ybWF0IGZvciBnaW50NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzM4NQoKMjAxNC0wMy0zMCAxODo1MjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEhhbmRsZSBlcnJvcnMgd2hlbiBzd2l0Y2hpbmcgcGxheWxpc3RzIHByb3Blcmx5CgoyMDE0LTAzLTMwIDE4OjEyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogR28gRU9TIGlmIHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQgaXMgcmVhY2hlZAoKMjAxNC0wMy0zMCAxODowNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3JlIGJ1ZmZlciBlbmQgcG9zaXRpb24gaW4gc2VnbWVudC5wb3NpdGlvbgoKMjAxNC0wMy0yOSAxMDoxOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB0eXBvIGluIGRlYnVnIG91dHB1dAoKMjAxNC0wMy0yOCAxODoyNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogQ29weSBvdmVyIERJU0NPTlQgZmxhZyBmcm9tIGlucHV0IGJ1ZmZlcnMKCjIwMTQtMDMtMjggMTg6MTE6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQdXNoIG5leHQgYnVmZmVyIGFmdGVyIGEgZGlzY29udCB3aXRoIHRoZSBESVNDT05UIGZsYWcKCjIwMTQtMDMtMjggMTc6MzI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEcmFpbiByZW1haW5pbmcgZGF0YSBvbiBkaXNjb250cwoKMjAxNC0wMy0yOCAxNzoyNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIGlmIHdlIHJlY2VpdmUgYSBkaXNjb250IGJ1ZmZlcgoKMjAxNC0wMy0yOCAxNzoyNDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGRlcmVmZXJlbmNlIE5VTEwgaWYgZmx1c2hlZCBiZWZvcmUgYSBwcm9ncmFtIHdhcyBzZWxlY3RlZAoKMjAxNC0wMy0yNyAxOTo0Mjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEVuc3VyZSB0aGF0IGFsbCBwZW5kaW5nIGRhdGEgaXMgcHVzaGVkIGV2ZW4gaWYgdGhlIHN0cmVhbSB3YXMgbm90IGFjdGl2YXRlZCBiZWZvcmUKCSAgZ3N0X3RzX2RlbXV4X3B1c2hfcGVuZGluZ19kYXRhKCkgd2lsbCBjaGVjayBpZiBpdCBub3cgY2FuIGFjdGl2YXRlIHRoZQoJICBzdHJlYW0gYW5kIGFkZCB0aGUgcGFkLCB3ZSBkb24ndCBoYXZlIHRvIGNoZWNrIHRoYXQgb3Vyc2VsdmVzLgoJICBGaXhlcyBwbGF5YmFjayBvZiB2ZXJ5IHNob3J0IE1QRUcgVFMgZmlsZXMuCgoyMDE0LTAzLTI3IDE5OjIyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRml4IHB1bGwgbW9kZSBzY2FubmluZyBmb3IgUENSIG9uIHNtYWxsIGZpbGVzCgkgIElmIGEgZmlsZSBkb2VzIG5vdCBjb250YWluIDUgUENScyB1bnRpbCBpdCBpcyBFT1MsIG9yIGRvZXMgbm90CgkgIGNvbnRhaW4gbW9yZSB0aGFuIDY1NTM2MCBieXRlcyB0aGUgUENSIHNjYW5uaW5nIGFsZ29yaXRobSBqdXN0CgkgIGFib3J0ZWQuCgoyMDE0LTAzLTI2IDIyOjI1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IHRoZSBzZWdtZW50IG9mZnNldAoJICBJdCdzIGNhdXNpbmcgd3JvbmcgcnVubmluZyB0aW1lcyBhZnRlciBzZWVrcyBvciBiaXRyYXRlCgkgIHN3aXRjaGVzLgoKMjAxNC0wMy0yNiAwNzozMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBESVNDT05UIGZsYWcgb24gYWxsIGJ1ZmZlcnMgaW4gcmV2ZXJzZSBwbGF5YmFjayBtb2RlCgoyMDE0LTAzLTI2IDA3OjI1OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggZm9yd2FyZHMgYW5kIGJhY2t3YXJkcyBzZWFyY2hpbmcgaW4gdGhlIGZpbGVzIGxpc3QKCjIwMTQtMDMtMjYgMDc6MjQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVbnNldCBEVFMgb2YgYWxsIGJ1ZmZlcnMKCSAgV2Ugd29uJ3QgZ2V0IGEgdmFsaWQgRFRTIGZyb20gdGhlIHNvdXJjZS4KCjIwMTQtMDMtMjYgMDc6MjI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGZsdXNoIHN0YXJ0IGV2ZW50IGJlZm9yZSB3YWl0aW5nIGZvciB0aGUgdGFza3MgdG8gZmluaXNoCgkgIE90aGVyd2lzZSB3ZSdsbCB3YWl0IHVudGlsIGJ1ZmZlcnMgYXJlIGNvbXBsZXRlbHkgcHJvY2Vzc2VkIGRvd25zdHJlYW0sCgkgIHdoaWNoIG1pZ2h0IHRha2UgcXVpdGUgc29tZSB0aW1lLgoKMjAxNC0wMy0wOSAxOTozMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHRyaWNrIG1vZGVzIHZpYSBJLWZyYW1lIHZhcmlhbnQgbGlzdHMKCjIwMTQtMDMtMDkgMTg6MjQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcGFyc2luZyBvZiAjRVhULVgtSS1GUkFNRS1TVFJFQU0tSU5GCgkgIFRoZXNlIGFyZSBJLWZyYW1lLW9ubHkgdmFyaWFudCBsaXN0cyB0aGF0IGNhbiBiZSB1c2VkCgkgIGZvciB0cmljayBtb2RlIHBsYXliYWNrLgoKMjAxNC0wMy0yOCAyMDoyMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBlZ2w6IGZpeCBkaXN0Y2hlY2sgYW5kIG91dCBvZiBzb3VyY2UgYnVpbGQKCjIwMTQtMDMtMjggMjA6NDc6MzYgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBidWlsZDogRml4IG1ha2UgZGlzdAoKMjAxNC0wMy0yOCAxOTo0NjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IExEQUREIG9yZGVyIGZvciBpbnNlcnRiaW4gdGVzdAoKMjAxNC0wMy0yOCAxOTo0MToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZG9uJ3QgbGluayBjb2RlY3BhcnNlciB0ZXN0cyB0d2ljZSB0byB0aGUgbGliCgoyMDE0LTAzLTI4IDE5OjMwOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgZ2wgdW5pdCB0ZXN0cyBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBQdXQgbG9jYWwgLmxhIGZpbGVzIGZpcnN0LCBhbmQgYWRkIGxpbmsgdG8gbGliZ3N0dmlkZW8KCSAgZm9yIHRlc3RzIHRoYXQgdXNlIHRoZSBsaWJnc3R2aWRlbyBBUEkgZGlyZWN0bHkuCgoyMDE0LTAzLTI3IDIyOjQxOjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGFsbG93IG5vdCBidWlsZGluZyB0aGUgZ2wgcGx1Z2lucwoJICBGaXhlcyBidWlsZCBvbiB3aW5kb3dzIGlmIDxHTC93Z2xleHQuaD4gaGVhZGVycyBhcmUgbm90IHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxMjUKCjIwMTQtMDMtMjggMTE6NTQ6NDUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHVucmVmIGxhc3QgYnVmZmVyIG9uIERSQUlOCgkgIFNpbWlsYXIgdG8gMDkzNTc0MDUzZmFlMjQzZWM1ZmNmZDZhZGFlODE4NTA1M2IxZTg5NgoJICBpbiBnc3RiYXNlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTA3CgoyMDE0LTAzLTI3IDE4OjUxOjU5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCB3cm9uZyBkb2MgYmxvY2sgZm9yIGNyZWF0ZV93aW5kb3cKCSAgV3Jvbmcgc2luY2UgMWFkMjUzYjkgd2hlbiBwcm9wIG5hbWUgd2FzIGNoYW5nZWQgZnJvbQoJICBjYW5fY3JlYXRlX3dpbmRvdyB0byBjcmVhdGVfd2luZG93LgoKMjAxNC0wMy0yNyAyMjowMjoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkb24ndCBmYWlsIGNvbmZpZ3VyZSBpZiB3ZSBkbyBub3QgdW5kZXJzdGFuZCB0aGUgcGxhdGZvcm0KCjIwMTQtMDMtMjUgMTU6NDA6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIGdsOiBmaXggb3V0LW9mLXNvdXJjZSBidWlsZHMgcHQyCgkgIDIxYjg5N2RlMmY3NjJiZWU1MDRjYmMwMDdmZDEwODE0OGVlNWFlMjQgZGlkIHRoaXMgZm9yIHgxMSBhbmQgd2F5bGFuZC4KCSAgRG8gaXQgZm9yIHRoZSBvdGhlciBiYWNrZW5kcyBhcyB3ZWxsLgoKMjAxNC0wMy0yNiAyMzoxMzo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBvbmx5IHNldCBDQVBTX0ZFQVRVUkVfTUVNT1JZX0VHTF9JTUFHRSBvbiBlZ2wgcGxhdGZvcm0KCjIwMTQtMDMtMjYgMTc6MTQ6NDAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IE9TWCBob3N0IGNoZWNrCgkgIE1ha2VzIHRoZSBjaGVjayB3b3JrcyB3aXRoIChpMzg2fHg4Nl82NCktYXBwbGUtZGFyd2luKiBob3N0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzEwNAoKMjAxNC0wMy0yNiAxOToxNzowMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogbGV0IHRoZSB1c2VyIGluY2x1ZGVzIGl0c2VsZiBvdXIgZWdsIGhlYWRlcnMgaWYgbmVlZGVkCgkgIEZvcmdvdCB0byBhZGRyZXNzIHRoaXMgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTIyIDIyOjAxOjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkgIGdsOiBhZGQgRUdMSW1hZ2Ugc3VwcG9ydAoJICAqIHBpY2tlZCBmcm9tIG9sZCBsaWJnc3RlZ2w6CgkgIC0gR3N0RUdMSW1hZ2VNZW1vcnkKCSAgLSBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICAtIGxhc3RfYnVmZmVyIG1hbmFnZW1lbnQgZnJvbSByZW1vdmVkIEdzdEVHTEltYWdlQnVmZmVyUG9vbAoJICAqIGFkZC1vbnM6CgkgIC0gR3N0RUdMSW1hZ2VNZW1vcnkgbm93IG9sZCBhIHJlZmVyZW5jZSBvbiBHc3RHTENvbnRleHQKCSAgc28gdGhhdCBpdCBjYW4gZGVsZXRlIHRoZSBFR0xJbWFnZSBhbmQgaXRzIGdsdGV4dHVyZSBzb3VyY2UKCSAgd2hpbGUgaGF2aW5nIHRoZSBhc3NvY2lhdGVkIGdsIGNvbnRleHQgYmVpbmcgY3VycmVudC4KCSAgLSBhZGQgRUdMSW1hZ2Ugc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIHdoaWNoCgkgIG1haW5seSBjYWxsIEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJECgkgIC0gR3N0R0xCdWZmZXJQb29sIG5vdyBzdXBwb3J0cyBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICAtIGdsaW1hZ2VzaW5rIC8gZ2xmaWx0ZXJzIC8gZXRjLi4gbm93IHByb3Bvc2UgR3N0RUdMSW1hZ2VBbGxvY2F0b3IKCSAgdG8gdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjoxMjo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGRlcGxveSBlZ2wgaGVhZGVycyBpbiBnc3QvZ2wvZWdsIGluc3RlYWQgb2YgZ3N0L2dsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjQgMTI6MTA6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgZ2w6IHJlbW92ZSBjb21tZW50ZWQgYW5kIHVuc3VlZCBjb2RlIGluIHgxMSBNYWtlZmlsZS5hbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTIzIDIxOjU1OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBwa2djb25maWc6IGFkZCBnc3RyZWFtZXItZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjowNDowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBmaXggY3Jhc2ggaWYgX2J1aWxkX2V4dGVuc2lvbl9zdHJpbmcgaXMgbm90IGNhbGxlZAoJICBPbiBHTEVTMiB0aGVuIChnbC0+R2V0SW50ZWdlcnYgJiYgZ2wtPkdldFN0cmluZ2kpIGlzIGZhbHNlCgkgIHJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSBjYzZkZjIwNGUyZjU4ZmZmZGE1Y2JlOTBmMzQ1MGFlYmE5NTg4OWM0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjYgMTA6MTQ6MzYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBPbmx5IGVuYWJsZWQgY29jb2EgYmFja2VuZCBvbiBvc3ggKGFuZCBub3QgaW9zKQoJICBpb3MgcmVxdWlyZXMgdXNpbmcgRUFHTAoKMjAxNC0wMy0yNiAwOTowNToxNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogUmVtb3ZlIFVSTCBjaGVjayBmb3IgdmFsaWQgcGxheXBhdGguCgkgIFRoZSBwbGF5cGF0aCBpcyBhbiBvcHRpb25hbCBjb21wb25lbnQgb2YgdGhlIFVSTCAtIGRvbid0IHJlcXVpcmUgaXQuCgoyMDE0LTAzLTI1IDE3OjM5OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogdW5sb2NrIG9iamVjdCBsb2NrIGJlZm9yZSBwb3N0aW5nIGVycm9yCgkgIFBvc3RpbmcgYW4gZXJyb3Igd2l0aCB0aGUgb2JqZWN0IGxvY2sgd2lsbCBkZWFkbG9jay4gUmV3b3JrIHRoZSBjb2RlCgkgIGEgYml0IHRvIG1ha2UgdGhpbmdzIG1vcmUgc2ltcGxlLgoKMjAxNC0wMy0yNSAxNTowNDoxNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogY29zbWV0aWNzOiBkcm9wIFRBQiBjaGFyYWN0ZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogQ2xhcmlmeSBjb25mdXNpbmcgZGVidWcgbWVzc2FnZQoJICBUaGUgbWVzc2FnZSBpcyBkZXNjcmliaW5nIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVtYWluaW5nIGZvcgoJICBwYXJzaW5nLCBub3QgJ21pc3NpbmcnLgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbXBlZ3RzX3BhY2tldGl6ZXJfc2V0X2N1cnJlbnRfcGNyX29mZnNldCgpCgkgIFdoZW4gYWRqdXN0aW5nIHRoZSBQQ1Igb2Zmc2V0IG9mIGdyb3VwcywgYWRqdXN0IHRoZSBjb3JyZWN0IGdyb3VwCgkgIGVudHJ5IGZyb20gdGhlIGxpc3QgLSBub3QgdGhlIGN1cnJlbnQgZ3JvdXAgcmVwZWF0ZWRseS4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgd2FybmluZyBmb3IgMi1iaXQgYW5kIDgtYml0IHN1YnBpY3R1cmVzCgkgIEJvdGggMi1iaXQgYW5kIDgtYml0IG1vZGUgbm93IHNlZW0gZmluZSwgc28gcmVtb3ZlIHRoZSB3YXJuaW5nCgkgIG1lc3NhZ2VzIGFib3V0IHRoZW0KCjIwMTQtMDMtMjUgMjE6NDA6MTAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggOC1iaXQgc3VicGljdHVyZSByZW5kZXJpbmcuCgkgIEZpeCAyIHNtYWxsIGZsYXdzIGhhbmRsaW5nIDgtYml0IHN1YnBpY3R1cmVzIHRoYXQgbWFrZXMKCSAgbXkgb25lIHRlc3QgZmlsZSB3b3JrLgoKMjAxMy0wMy0wOCAwOTo1NzoyMiArMDgwMCAgTGkgWGlhb3dlaSA8eGlhb3dlaS5hLmxpQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBzbGljZV9oZWFkZXIoKSBwYXJzaW5nIGZvciBNVkMuCgkgIFRoZSBpZHJfcGljX2lkIHN5bnRheCBlbGVtZW50IGRlcGVuZHMgb24gSWRyUGljRmxhZywgd2hpY2ggaXMgYSBjYWxjdWxhdGVkCgkgIHZhbHVlIHRoYXQgZG9lcyBub3Qgb25seSBkZXBlbmQgb24gTkFMIHVuaXQgdHlwZSAoSURSKSwgYnV0IHBvc3NpYmx5IGFsc28KCSAgb24gTVZDIG5vbl9pZHJfZmxhZyBzeW50YXggZWxlbWVudC4KCSAgVGhlIGNvbXB1dGVkIGlkcl9waWNfZmxhZyBpcyBhbHJlYWR5IHN0b3JlZCBpbiBHc3RIMjY0TmFsVW5pdCBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3NzIKCSAgU2lnbmVkLW9mZi1ieTogTGkgWGlhb3dlaSA8eGlhb3dlaS5hLmxpQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAwOTo0ODowNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGdzdF9oMjY0X3BhcnNlX25hbHVfaGVhZGVyKCkgaGVscGVyLgoJICBBZGQgaGVscGVyIHRvIHBhcnNlIHRoZSBOQUxVIGhlYWRlci4gTW92ZSBib3VuZHMgY2hlY2tpbmcgdG8gdGhlcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0wMSAwOTozNzoyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGdzdF9oMjY0X3BhcnNlX3Nwc19kYXRhKCkgaGVscGVyLgoJICBTcGxpdCBzZXFfcGFyYW1ldGVyX3NldF9kYXRhKCkgcGFyc2luZyBvZmYgZ3N0X2gyNjRfcGFyc2Vfc3BzKCkgc28KCSAgdGhhdCBpdCBjb3VsZCBiZSByZS11c2VkIGxhdGVyIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjYgMTg6NDY6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNvbXBsZXRlIHNldCBvZiBOQUwgdW5pdCB0eXBlcy4KCSAgQWRkIG1pc3NpbmcgTkFMIHVuaXQgdHlwZXMuIFRoZXkgYXJlIG1vc3RseSByZWxhdGVkIHRvIGFscGhhIGJsZW5kaW5nLAoJICBzY2FsYWJsZSB2aWRlbyBjb2RpbmcgZXh0ZW5zaW9ucyAoU1ZDLCBBbm5leC5HKSwgYW5kIG11bHRpdmlldyB2aWRlbwoJICBjb2RpbmcgZXh0ZW5zaW9ucyAoTVZDLCBBbm5leC5IKS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNCAxOToyNzo0NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xlYW4tdXAgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaV9tZXNzYWdlKCkuCgkgIEZpeCBidWlsZCB3aGVuIEdTVF9ESVNBQkxFX0dTVF9ERUJVRyBpcyBub3QgZGVmaW5lZC4gVXNlIGEgc3dpdGNoCgkgIHN0YXRlbWVudCB0byBkaXNwYXRjaCB0byB0aGUgdmFyaW91cyBTRUkgcGF5bG9hZCBoYW5kbGVycy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yMSAxNzowNzoxOSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBza2lwcGluZyBvZiB1bnN1cHBvcnRlZCBTRUkgbWVzc2FnZXMuCgkgIFRoZSBwYXlsb2FkU2l6ZSBkb2VzIG5vdCBhY2NvdW50IGZvciBlbXVsYXRpb24gcHJldmVudGlvbiBieXRlcy4gU28sCgkgIGp1c3QgdXNlIG5hbF9yZWFkZXJfc2tpcCgpIGZvciBza2lwcGluZyBwYXlsb2FkX3NpemUgYml0cy4gSXQgc2hvdWxkCgkgIGJlIHBvc3NpYmxlIHRvIGZ1cnRoZXIgb3B0aW1pemUgdGhpcyBjb2RlIHNpbmNlIHRoZSBOQUwgcmVhZGVyIHNoYWxsCgkgIGJlIGFsaWduZWQgdG8gYnl0ZSBib3VuZGFyeSBhbHJlYWR5LgoJICBLaWxsIHRoZSBub3cgdW51c2VkIG5hbF9yZWFkZXJfc2tpcF90b19uZXh0X2J5dGUoKSBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgyOQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTIxIDE3OjAzOjM2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggU0VJIGJ1ZmZlcmluZ19wZXJpb2QoKSBwYXJzaW5nLgoJICBGaXggcGFyc2luZyBvZiBidWZmZXJpbmdfcGVyaW9kKCkgU0VJIG1lc3NhZ2VzLiBUaGUgbnVtYmVyIG9mIGJpdHMKCSAgdXNlZCB0byBleHByZXNzIHtuYWwsdmNsfV9pbml0aWFsX2NwYl9yZW1vdmFsX2RlbGF5eyxfb2Zmc2V0fSBzeW50YXgKCSAgZWxlbWVudHMgaXMgbm90IDUgYnV0IDEgKyBpbml0aWFsX2NwYl9yZW1vdmFsX2RlbGF5X2xlbmd0aF9taW51czEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0xMC0xMCAxNjoxOTo0OSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByYnNwX21vcmVfZGF0YSgpIGltcGxlbWVudGF0aW9uLgoJICBBY2NvdW50IGZvciB0cmFpbGluZyB6ZXJvIGJpdHMgd2hlbiBjaGVja2luZyBmb3IgcmJzcF9tb3JlX2RhdGEoKS4KCSAgSW4gcGFydGljdWxhciwgZml4IGFuIGh5cG90aGV0aWNhbCBzdHJlYW0gd2hlcmVieSByYnNwX21vcmVfZGF0YSgpCgkgIGlzIGNhbGxlZCBpbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgZm9yIFBQUyBoZWFkZXI6IE5hbFJlYWRlcgoJICByZWFjaGVkIHBvc2l0aW9uIDIwLCAxMiBiaXRzIGFyZSByZW1haW5pbmcgYW5kIHRyYWlsaW5nIGRhdGEgYXQKCSAgY3VycmVudCBieXRlIHBvc2l0aW9uIGlzIGM4IDAwLgoJICByYnNwX21vcmVfZGF0YSgpIHVzZWQgdG8gcmV0dXJuIFRSVUUgd2hlcmVhcyBpdCBzaG91bGQgb2J2aW91c2x5CgkgIHJldHVybiBGQUxTRSBiZWNhdXNlIHg4IDAwIHJlcHJlc2VudHMgYSB2YWxpZCByYnNwX3RyYWlsaW5nX2JpdHMoKQoJICBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4OTAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNCAxNzozMzowMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogZml4IG91dC1vZi1zb3VyY2UgYnVpbGRzLgoJICBBbHdheXMgdXNlIHRoZSBsb2NhbGx5IGdlbmVyYXRlZCA8Z3N0L2dsL2dzdGdsY29uZmlnLmg+IGZpbGUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjUgMDA6NTA6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2wvZG93bmxvYWQ6IGFkZCBzdXBwb3J0IGZvciB0aGUgYnQ3MDkgY29sb3IgbWF0cml4CgoyMDE0LTAzLTI1IDAwOjM0OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGFkZCBzdXBwb3J0IGZvciB0aGUgYnQ3MDkgY29sb3IgbWF0cml4CgoyMDE0LTAzLTI0IDIzOjA5OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogcmVtb3ZlIGV4cGxpY2l0IHJlZmVyZW5jZSB0byBYX0NGTEFHUwoJICBUaGV5IGFyZSBpbiBHTF9DRkxBR1MgaWYgcmVxdWlyZWQKCjIwMTQtMDMtMjMgMjM6NDM6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogcmVtb3ZlIHRoZSBsZWdhY3kgR0wgMS54IHVwbG9hZCBwYXRoCgkgIHVwbG9hZGluZyByZXF1aXJlcyBzaGFkZXJzIGFuZCBmYm9zIGF2YWlsYWJsZSBpbiBHTDIuCgoyMDE0LTAzLTIzIDExOjAyOjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZhbGxiYWNrIHRvIGdsR2V0U3RyaW5nIGlmIEdMX05VTV9FWFRFTlNJT05TIGZhaWxzCgkgIE5lZWQgaXQgb24gTWFjT1NYIDEwLjcuNQoKMjAxNC0wMy0yMyAwMTowMjowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSAgZ2w6IGFuZCB1cGRhdGUgdGhlIE1ha2VmaWxlCgoyMDE0LTAzLTIzIDAwOjM4OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9ibGVuZGluZy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2VnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZml4ZWRmdW5jdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3NoYWRlcnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiByZW9yZ2FuaXplIHRoZSBleHRlbnNpb24gaGVhZGVycyBieSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcGkKCjIwMTQtMDMtMjEgMjA6Mjk6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSAgZ2wvd2luMzI6IHVzZSB0aGUgY29ycmVjdCBpbmNsdWRlIGFuZCBnc3QtaW5kZW50CgoyMDE0LTAzLTIxIDE1OjU2OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIGNoZWNrOiBmaXggbWFrZSBjaGVjawoJICBUaGUgbXBlZyBwYXJzZXIgbm93IGZsYWdzIHRoZSBzdHJlYW0gYXMgbXBlZzIgaWYgdGhlcmUgaXMgYSBwaWN0dXJlCgkgIGV4dGVuc2lvbiBoZWFkZXIsIHNvIHJlbW92ZSBpdCBmb3IgbXBlZzEgZGF0YS4KCjIwMTQtMDMtMTggMDk6MTY6MjUgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbDogdXNlIHdnbENyZWF0ZUNvbnRleHRBdHRyaWJzQVJCIHRvIGNyZWF0ZSBzaGFyZSBjb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0OTQKCjIwMTQtMDMtMTcgMjA6NDM6MzUgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvbWl4ZXI6IGZpeCBkb3dubG9hZCBjaGVjayBmb3IgZmFpbHVyZQoKMjAxNC0wMy0xNyAyMDo0MDo1MSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogc2lsZW5jZSBhIGNyaXRpY2FsIGlmIHVwc3RyZWFtIGRvZXMgbm90IHByb3ZpZGUgdXMgd2l0aCBtZXRhIHBhcmFtcwoKMjAxNC0wMy0xOSAxMzo0ODoxMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCSAgU2ltaWxhciB0aGFuIDExOTBhNzliMTk5NTg0Y2ZjNGRkNjJjNDc0NTMxYzMyY2ZiYmE0MjUKCjIwMTQtMDMtMTkgMTM6NDU6MzUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkgIGdsOiBrZWVwIG9ubHkgb25lIG9jY3VyZW5jZSBvZiAnI2luY2x1ZGUgPEVHTC9lZ2wuaD4nCgkgIFRvIHNpbXBseSBtYWludGFpbmFuY2UgaWYgd2UgbmVlZCB0byBwdXQgc3BlY2lmaWMgaW5jbHVkZXMgYXJvdW5kIGl0LgoKMjAxNC0wMy0xNiAwMToyNToxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IGZvcndhcmQgdGV4dCBnYXAgZXZlbnRzIGRvd25zdHJlYW0KCSAgVGhhdCBnYXAgaXMgb25seSBmb3IgdGhlIHN1YnRpdGxlIHN0cmVhbSBhbmQgbm90IGZvciB0aGUgdmlkZW8gc3RyZWFtLgoKMjAxNC0wMy0xOCAwMDoxMTowOSArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBkb24ndCBkZWZhdWx0IHRvIEdTVF9HTF9IQVZFX1dJTkRPV19ESVNQTUFOWD0xCgkgIE1pc3Rha2UgaW50cm9kdWNlZCBieSAyYTBmMDM5OWFlMjI2MDg5YzJiYTA3YjFiOTA0NzQxYjg1NmYzN2FmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTggMDA6MDg6NTAgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgZ2w6IGZpeCB0aGUgdXNlIG9mIGFsd2F5cy1kZWZpbmVkIG1hY3JvcwoJICBBZnRlciAyYTBmMDM5OWFlMjI2MDg5YzJiYTA3YjFiOTA0NzQxYjg1NmYzN2FmIEdTVF9HTF8qIG1hY3JvcyBhcmUgYWx3YXlzCgkgIGRlZmluZWQgdG8gMCBvciAxLiBEb24ndCB1c2UgI2lmZGVmIC4uLiBvciAjaWYgZGVmaW5lZCgpIG9uIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTggMDA6MDc6NDMgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogY2hlY2sgZm9yIFggdW5jb25kaXRpb25hbGx5CgkgIFdpdGhvdXQgdGhpcyB0aGUgSEFWRV9YIG1hY3JvIGlzIGVtcHR5LCBub3QgIm5vIiBvciAieWVzIiwgd2hpY2ggaXMgbm90CgkgIHdoYXQgdGhlIGxhdGVyIGNvZGUgaXMgY291bnRpbmcgb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1OTEKCjIwMTQtMDMtMTcgMTc6MzU6MjIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogc2V0IGRlZmF1bHQgdmFsdWUgdG8gMCBmb3IgYWxsIGRlZmluaXRpb25zIHRoYXQgZ28gdG8gZ3N0Z2xjb25maWcuaAoJICBUbyBhdm9pZCB3YXJuaW5ncyBsaWtlICJHU1RfR0xfSEFWRV9PUEVOR0wgaXMgbm90IGRlZmluZWQiLgoJICBBcyB3ZSBhcmUgdXNpbmcgI2lmIGluc3RlYWQgb2YgI2lmZGVmCgoyMDE0LTAzLTE3IDE1OjQ5OjM3ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGFsbG93IG5vdCBidWlsZGluZyB0aGUgZ2wgbGlicmFyeSBwbHVnaW5zCgoyMDE0LTAzLTE3IDE1OjE2OjEzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFkZCBHTW9kdWxlIGxpYnMgZm9yIHdpbjMyCgoyMDE0LTAzLTE3IDE1OjA2OjI1ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IG9ubHkgbGluayBhZ2FpbnN0IGdzdGVnbCBpZiB3ZSBhcmUgdXNpbmcgZWdsCgkgIEFzc3VtaW5nIGlmIHdlIGFyZSBidWlsZGluZyBlZ2wgdGhhdCB0aGUgZWdsIGxpYnJhcnkgaXMgYnVpbHQKCjIwMTQtMDMtMTcgMTU6MDU6MjQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYWRkIHRoZSBvcHRpb24gb2YgZGlzYWJsaW5nIGNvY29hIG9uIE9TIFggdXNpbmcgLS1kaXNhYmxlLWNvY29hCgoyMDE0LTAzLTE3IDE0OjM3OjEzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFkZCBwYXRoIG9mIHRoZSBnc3RlZ2wgbGlicmFyeQoJICBUZW1wb3JhcnkgdW50aWwgd2UgbWVyZ2UgdGhlIHR3byBsaWJyYXJpZXMKCjIwMTQtMDMtMTcgMTQ6MjY6MzEgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBSZXZlcnQgImdsOiBhZGQgZGVwIG9uIGdzdGVnbCIKCSAgSXQgd2FzIGFscmVhZHkgaW4gX0xJQkFERAoJICBUaGlzIHJldmVydHMgY29tbWl0IGIxMGEzNTMwODA0MzM1ZmMzYjk0OTQ2MDNlZjc4Y2U5NDE3YzNiYzguCgoyMDE0LTAzLTE3IDE0OjExOjE0ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGFkZCBkZXAgb24gZ3N0ZWdsCgkgIFRlbXBvcmFyeSB1bnRpbCB3ZSBtZXJnZSB0aGUgdHdvIGxpYnJhcmllcwoKMjAxNC0wMy0xNyAxNDowNjoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBGaXggZGVidWcgc3RhdGVtZW50cyBhbmQgcGxhdGZvcm0KCjIwMTQtMDMtMTcgMTI6MzI6MjYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogc2V0IEhBVkVfRUdMX1JQSSB0byB5ZXMgaWYgSEFWRV9HTCBhbmQgUlBJCgkgIFdoaWNoIGZpeGVzIGJ1aWxkIG9uIFJhc3BiZXJyeSBQaSBzaW5jZSAtZ2wgaGFzIGJlZW4gbW92ZWQgdG8gLWJhZAoKMjAxNC0wMy0xNyAxMjowNDo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2w6IEZpeCBzdGF0aWMgYnVpbGQgd2l0aCBvYmplY3RpdmUtQwoJICAtLXRhZz1DQyBpcyBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZAoKMjAxNC0wMy0xNyAxMjowMDowOSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBtYWtlOiB3aGl0ZXNwYWNlIGNsZWFudXBzCgoyMDE0LTAzLTE3IDEwOjU2OjM5ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsOiBBZGQgRUdMRGlzcGxheSBkaXNwbGF5IHN1YmNsYXNzCgoyMDE0LTAzLTE3IDEwOjQ0OjMyICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbC93aW5kb3c6IGFkZCBhIGR1bW15IHdpbmRvdyBjbGFzcwoJICBFZmZlY3RpdmUgZm9yIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgYSBwbGF0Zm9ybSB0aGF0IGRvZXMgbm90CgkgIHJlcXVpcmUgYSBuYXRpdmUgd2luZG93LiAgV2UgcmVxdWlyZSBhIG1haW5sb29wIHRvIHJ1biB0aGUgR0wKCSAgY29tbWFuZHMgd2hpY2ggaXMgY3VycmVudGx5IG9wZXJhdGVkIGJ5IEdzdEdMV2luZG93LgoKMjAxNC0wMy0xNyAwODoxMDo1MCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZml4IHVuZGVjbGFyZWQgc3ltYm9sIHdoZW4gYnVpbGRpbmcgd2l0aG91dCBHU1RfREVCVUcKCjIwMTQtMDMtMTYgMTg6NTU6MDMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGZpeCBhIGRvdWJsZSB1bnJlZiBvZiB0aGUgcXVlcnkgd2hlbiBidWlsZGluZyB3aXRob3V0IFgKCjIwMTQtMDMtMTYgMTY6MzY6MDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGhhbmRsZSB2aWRlby94LXJhdyhBTlkpIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ2MwoKMjAxNC0wMy0xNiAxNzoyMTozOCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogc2lsZW5jZSBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgbWlzc2luZyBwcm90b3R5cGVzCgoyMDE0LTAzLTE0IDE5OjAzOjM2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsL3V0aWxzOiBhZGQgeDExIEdzdENvbnRleHQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjM2MAoKMjAxNC0wMy0xNiAxNTozNDoxMSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBkZWZpbmUgR0xfTlVNX0VYVEVOU0lPTlMgaWYgbm90IGRlZmluZWQKCjIwMTQtMDMtMTYgMTU6MDg6MjMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIE1vdmUgZ3N0LXBsdWdpbnMtZ2wgdG8gYmFkCgoyMDE0LTAzLTE2IDE1OjA2OjM3ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IHNpbGVuY2UgYWxsIHRoZSBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wMy0xNiAxMToyMzoxNiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvQlVHUzoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG1vdmUgZ2wgZWxlbWVudHMgdG8gZXh0IHN1YmRpcmVjdG9yeQoKMjAxNC0wMy0xNSAxNTo1NTo0NiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzkwNi85MDZdIGZpbHRlcjogd2FybiBhYm91dCB0cnlpbmcgdG8gc2hhcmUgd2l0aCBtdWx0aXBsZSBjb250ZXh0cyBhdCBvbmNlCgoyMDE0LTAzLTE1IDE0OjA2OjQwICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbOTA1LzkwNl0gQWRkIEdMIGNvbnRleHQgc2hhcmluZyBzdXBwb3J0IGZvciBub24tZ3N0Z2wgZWxlbWVudHMKCjIwMTQtMDMtMTUgMTM6NTU6MzkgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzkwNC85MDZdIG1peGVyOiBhc2sgZm9yIGRpc3BsYXkgaGFuZGxlcyBvbiBwYWQgYWN0aXZhdGlvbgoKMjAxNC0wMy0xNSAxMzo1MTo0NCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs5MDMvOTA2XSBhcGk6IGFkZCBHc3RHTFBsYXRmb3JtIHRvL2Zyb20gc3RyaW5nCgoyMDE0LTAzLTE1IDExOjI1OjQzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzkwMi85MDZdIGNvbnRleHQ6IGltcGxlbWVudCBnbEdldFN0cmluZ2kgaGFuZGxpbmcgZm9yIEdMIGNvcmUgY29udGV4dHMvR0xFUzMKCjIwMTQtMDMtMTIgMjM6NDY6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIFs5MDEvOTA2XSBnbHg6IHVzZSB0aGUgZGlzcGxheSBoYW5kbGUgZnJvbSB0aGUgZ2xvYmFsIGRpc3BsYXkKCSAgSW50ZWwgZHJpdmVycyByZXF1aXJlIHRoZSBkaXNwbGF5IGhhbmRsZXMgYmUgdGhlIHNhbWUgZm9yIGNvbnRleHQKCSAgc2hhcmluZyB0byBvY2N1ci4gIEFsc28gc29sdmVzIHNvbWUgY2FzZXMgb2YgdXNlIGFmdGVyIGZyZWUgb2YgdGhlCgkgIGRpc3BsYXkgd2hlbiBpbnRlZ3JhdGluZyB3aXRoIGdzdHJlYW1lci12YWFwaS4KCSAgU2VlIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM2IGZvciB0aGUgaW50ZWwgYnVnLgoKMjAxNC0wMy0xMiAyMzo0NDoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbOTAwLzkwNl0gdGVzdHMvZ3N0Z2xjb250ZXh0OiByZWR1Y2UgdGhlIG51bWJlciBvZiBmcmFtZXMgZGlzcGxheWVkCgkgIFdhcyBjYXVzaW5nIHRpbWVvdXRzIG9uIGludGVsIGhhcmR3YXJlIGR1ZSB0byB2c3luYyBoYW5kbGluZy4KCjIwMTQtMDMtMTIgMjM6NDM6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIFs4OTkvOTA2XSBlZ2w6IHdhcm4gaWYgd2UgcmVzb3J0IHRvIGRpc3BsYXkgaGFuZGxlcyBmcm9tIHRoZSB3aW5kb3cKCjIwMTQtMDMtMDYgMTg6MTE6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbODk4LzkwNl0gZ2xpbWFnZXNpbms6IGFkZCBhbiBvdGhlci1jb250ZXh0IHByb3BlcnR5CgkgIEFsbG93cyBhcHBsaWNhdGlvbnMgdG8gcHJvdmlkZSB1cyB3aXRoIGFuIE9wZW5HTCBjb250ZXh0IHdpdGggd2hpY2gKCSAgdG8gc2hhcmUgd2l0aC4KCjIwMTQtMDMtMDQgMjM6Mjg6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkgIFs4OTcvOTA2XSBhcGk6IHBsdWdpbiBhIHNtYWxsIG1lbW9yeSBsZWFrCgkgIEZvdW5kIGJ5IGFkcmllbi5zY2h3YXJ0emVudHJ1YmVyQGdtYWlsLmNvbQoKMjAxNC0wMy0wMiAxMTo0ODo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbODk2LzkwNl0gdXRpbHM6IHVzZSB0aGUgdnRhYmxlIGZvciBkZWxldGluZyB0aGUgdGV4dHVyZQoKMjAxNC0wMi0yOCAxNzo0Mjo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4OTUvOTA2XSBjb250ZXh0OiBjYWxsIHdpbmRvd19jbGFzcy0+Y2xvc2UgbGFzdAoJICBXZSBzaG91bGQgZGVzdHJveSByZXNvdXJjZXMgYmVmb3JlIGNsb3NpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDQ4CgoyMDE0LTAyLTI1IDA5OjI3OjI2ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbODk0LzkwNl0gZ2w6IGFkZCBtaXNzaW5nIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTExMQoKMjAxNC0wMi0yNCAyMzo1NTo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODkzLzkwNl0geDExOiBjbG9zZSBib3RoIG9mIHRoZSBkaXNwbGF5J3Mgd2UgdXNlCgkgICh0aGUgY29tbWVudCBkb2Vzbid0IHNlZW0gdG8gYXBwbHkgYW55bW9yZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA0OAoKMjAxNC0wMi0yMyAxMTo0NDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4OTIvOTA2XSBzaWxlbmNlIGEgY29tcGlsZXIgd2FybmluZyBvbiBvbGRlciBnY2MgdmVyc2lvbnMgKDQuNikKCjIwMTQtMDItMTEgMDg6NTc6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODkxLzkwNl0gY29udGV4dDogYWRkIHN1cHBvcnQgZm9yIHdyYXBwaW5nIGV4dGVybmFsIGNvbnRleHRzCgoyMDEzLTExLTI3IDE3OjUyOjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkgIFs4OTAvOTA2XSB4MTE6IGFkZCBkaXNwbGF5IHN1YmNsYXNzCgkgIEdzdEdMRGlzcGxheVgxMSBob2xkcyB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGFuZCBuYW1lLiAgRWFjaCB0aHJlYWQgcmVxdWlyZXMKCSAgaXQncyBvd24gWDExIERpc3BsYXkgY29ubmVjdGlvbiAoaW5pdGlhbGlzZWQgZnJvbSBuYW1lKSBkdWUgdG8gdGhlIGZhY3QgdGhhdAoJICB3ZSBkbyBub3Qgd2FudCB0byBjYWxsIFhJbml0VGhyZWFkcygpLiAgRG9pbmcgc28gd291bGQgcmVzdWx0IGluIHNlZ2ZhdWx0cwoJICB3aGVuIGludGVncmF0aW5nIHdpdGggR1VJIHRvb2xraXRzIEd0aywgUXQsIGV0Yy4KCSAgVGhlIERpc3BsYXkgY29ubmVjdGlvbiBpcyBmb3IgT3BlbkdMIHBsYXRmb3JtcyB3aGVyZSBhIGNvbnN0YW50IGRpc3BsYXkgaXMKCSAgcmVxdWlyZWQgaW4gb3JkZXIgdG8gc2hhcmUgY29udGV4dHMgKGVnbCkuICBJbiB0aGUgY2FzZSBvZiBhIHdyYXBwZWQgY29udGV4dAoJICAoYWRkZWQgbGF0ZXIpLCB3ZSBkbyBub3QgaGF2ZSBHc3RHTFdpbmRvdyB0byByZXRyZWl2ZSB0aGUgZGlzcGxheSBmcm9tIHNvIGEKCSAgJ21hc3RlcicgY29ubmVjdGlvbiBpcyB1c2VkIGluc3RlYWQuCgoyMDE0LTAxLTE1IDEwOjIxOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbODg5LzkwNl0gZGlzcGxheTogYWRkIGRpc3BsYXkgdHlwZSBlbnVtCgoyMDE0LTAyLTIzIDExOjI3OjIzICsxMTAwICBBZHJpZW4gU0NIIDxhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbODg4LzkwNl0gY29ycmVjdCBlcnJvciBoYW5kbGluZyBpbiBnc3RnbGRvd25sb2FkLmMKCjIwMTQtMDItMjMgMTA6MzY6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg4Ny85MDZdIG1peGVyOiBmaXh1cCBhIG1lbW9yeSBsZWFrIG9mIHRoZSBjb250ZXh0IGluIHRoZSBHTFRleHR1cmVVcGxvYWRNZXRhIHBhdGgKCSAgZ3N0X3N0cnVjdHVyZV9nZXQgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IGFuZCB3ZSBhc2tlZAoJICBmb3IgYW5vdGhlciB3aXRoIGdzdF9vYmplY3RfcmVwbGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDgxNgoKMjAxNC0wMi0yMyAwMTozMjoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODg2LzkwNl0gZml4dXAgYSBtZW1vcnkgbGVhayBvZiB0aGUgY29udGV4dCBpbiB0aGUgR0xUZXh0dXJlVXBsb2FkTWV0YSBwYXRoCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0IHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBhbmQgd2UgYXNrZWQKCSAgZm9yIGFub3RoZXIgd2l0aCBnc3Rfb2JqZWN0X3JlcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjEgMTU6MjU6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4ODUvOTA2XSBmaWx0ZXI6IGZyZWUgb3VyIGRhdGEKCSAgcGx1Z3Mgc29tZSBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDgxNgoKMjAxNC0wMi0yMSAxMzoyODoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg4NC85MDZdIGZpbHRlcjogcmV0dXJuIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpbiB0cmFuc2Zvcm1fY2FwcwoJICBXZSBjYW4gdHJhbnNmb3JtIGZyb20gYW55IGlucHV0IGluIG91ciBjYXBzIHRvIGFueSBvdXRwdXQuCgkgIFdpdGggdGhlIGZvbGxvd2luZyBwaXBlbGluZSBzbmlwcGV0OgoJICAuLi4gISB2YWFwaWRlY29kZSAhIGdsY29sb3JzY2FsZSAhIHh2aW1hZ2VzaW5rCgkgIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSB3YXMgYmVpbmcgdXNlZCBvbiBib3RoIHNyYyBhbmQgc2luawoJICBwYWRzIGNhdXNpbmcgbGlua2luZyB0byBmYWlsLiAgVGhpcyBhbGxvd3MgdGhlIHVzYWdlIG9mIHRoZSBtZXRhCgkgIG9uIGVpdGhlciBwYWQgd2l0aG91dCBhZmZlY3Rpbmcgd2hldGhlciB0aGUgbWV0YSBpcyBjaG9zZW4gb24gdGhlCgkgIG90aGVyIHBhZC4KCjIwMTQtMDItMTEgMDg6MjM6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4ODMvOTA2XSBhcGk6IHByb3ZpZGUgZnJvbV9zdHJpbmcoKQoJICBBbHNvIHMvZ3N0X2dsX2FwaV9zdHJpbmcvZ3N0X2dsX2FwaV90b19zdHJpbmcvZwoKMjAxNC0wMi0xMSAwNzoyNDo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODgyLzkwNl0gcG9ydCBnbGNvbG9yc2NhbGUgdG8gR0xFUzIKCjIwMTQtMDItMDYgMjE6NDM6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4ODEvOTA2XSB1cGxvYWQ6IHJlc3RvcmUgZGVmYXVsdCB2YWx1ZXMgZm9yIHVucGFja19sZW5ndGgKCSAgZml4ZXMgZWxlbWVudHMgdGhhdCB1cGxvYWQgYSBzdXBwbGVtZW50YXJ5IHRleHR1cmUgKGdsYnVtYmVyLAoJICBnbGRpZmZlcmVuY2VtYXR0ZSwgZXRjKQoKMjAxNC0wMi0wNSAwMDo0NDoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs4ODAvOTA2XSBnbGltYWdlc2luazogcmVtb3ZlIHVudXNlZCBzdG9yZWRfYnVmZmVyIGZpZWxkCgkgIEl0IGhhcyB0aGUgcG90ZW50aWFsIHRvIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMTQtMDItMjAgMjI6NDA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs4NzkvOTA2XSBidWlsZDogZG9uJ3QgYWRkIFhfQ0ZMQUdTIHRvIENGTEFHUwoJICBJdCBzaG91bGQgYWxyZWFkeSBiZSBpbmNsdWRlZCBpZiBuZWVkZWQgaW5zaWRlIEdMX0NGTEFHUwoKMjAxNC0wMi0wNSAwMTo1MzowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3OC85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIGdsbWVtIGFwaSBjaGFuZ2UKCjIwMTQtMDItMDQgMTM6NDk6MzUgKzAxMDAgIENocmlzIFBhdWxzb24tRWxsaXMgPGNocmlzQGVkZXNpeC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODc3LzkwNl0geDExOiBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5nIGZvciBndWludHB0cgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTM3CgoyMDE0LTAyLTAxIDAzOjE0OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3Ni85MDZdIGdsbWVtOiB1c2UgR3N0VmlkZW9JbmZvIGZvciBmb3JtYXQgY29uZmlndXJhdGlvbgoJICBBbGxvd3MgdXNlIG9mIHN0cmlkZXMKCjIwMTQtMDEtMzEgMDY6NTM6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzUvOTA2XSB1cGxvYWQ6IHN1cHBvcnQgZm9yIGFyYml0cmFyeSBzdHJpZGVzCgkgIFVzaW5nIEdMX1VOUEFDS19BTElHTk1FTlQgZm9yIEdMRVMyIGFuZCBHTF9VTlBBQ0tfUk9XX0xFTkdUSCBmb3IgZXZlcnl0aGluZyBlbHNlCgoyMDE0LTAxLTMwIDA3OjQ5OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzg3NC85MDZdIGZpbHRlcjogaW1wbGVtZW50IGRyYXdfdGV4dHVyZSBmb3IgR0xFUzIKCSAgKHRha2VuIGZyb20gZ2xlZmZlY3RzKQoKMjAxNC0wMS0yOSAxOToxNDo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4NzMvOTA2XSB1cGxvYWQ6IHVzZSBHc3RWaWRlb0luZm8gZm9yIGNob29zaW5nIHRoZSBmb3JtYXQKCjIwMTQtMDEtMjkgMDY6NDI6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzIvOTA2XSB1cGxvYWQ6IGNvbnNvbGlkYXRlIGRhdGEgX2ZpbGwKCjIwMTQtMDEtMjkgMDI6NTE6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzEvOTA2XSB1cGxvYWQ6IGZpeCB0ZXh0dXJlIHNjYWxpbmcgZm9yIFlVWTIvVVlWWSB3aXRoIEdMRVMyCgkgIEFub3RoZXIgYXJ0aWZhY3QgZnJvbSB0aGUgdHJhbnNpdGlvbiB0byBHTF9URVhUVVJFXzJECgoyMDE0LTAxLTI5IDAxOjAyOjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcwLzkwNl0gdXBsb2FkOiByZW1vdmUgc3VwZXJmbG91cyBnX211dGV4X2luaXQKCjIwMTQtMDEtMzAgMDg6Mjg6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg2OS85MDZdIHRlc3RzOiBhZGQgc29tZSB1cGxvYWQgdGVzdHMKCjIwMTQtMDEtMjggMDc6NTA6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NjgvOTA2XSB1cGxvYWQ6IGZpeCBjb21waWxhdGlvbiBmb3IgR0xFUzIKCjIwMTQtMDEtMTcgMDg6NDY6MDIgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs4NjcvOTA2XSBnbHVwbG9hZDogQWRkIEdSQVk4L0dSQVkxNkxFL0JFIHVwbG9hZCBzdXBwb3J0IHRvIGdsaW1hZ2VzaW5rCgkgIHRoZSAxNmJpdCBkYXRhIGlzIHVwbG9hZGVkIGFzIExVTUlOQU5DRV9BTFBIQSwgdGhlbiBleHBhbmRlZCwgY29tcG9zZWQKCSAgaW4gc2hhZGVyLiB2YWx1ZSB3ZWlnaHQgaXMgYSBsaXR0bGUgY29tcGxpY2F0ZSwgaGlnaCBieXRlIHdlaWdodCBpcwoJICAyNTUqMjU2LzY1NTM1IChkZW5vcm1hbGl6ZSB0byBbMH4yNTVdICxzaGlmdCB0byBoaWdoIGJ5dGUsdGhlbiBub3JtYWxpemUKCSAgdG8gWzB+MV0pLCBsb3cgYnl0ZSB3ZWlnaHQgaXMgMjU1LzY1NTM1KHNpbWlsYXIpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2NzAKCjIwMTMtMTEtMjMgMjI6NTc6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbODY2LzkwNl0gdXBsb2FkOiB1cGRhdGUgc29tZSBkb2NzCgoyMDEzLTExLTIzIDIyOjE5OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbODY1LzkwNl0gZ2xtZW06IHJlcG9ydCBzdWNjZXNzZnVsIGNvcHkgdG8gdGhlIGNhbGxlcgoKMjAxMy0xMi0yOSAxNzoyOTo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbODY0LzkwNl0gZXhhbXBsZXM6IHVwZGF0ZSB0byBndGszCgoyMDEzLTExLTI2IDA5OjMyOjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgWzg2My85MDZdIHdpbmRvdzogaG9sZCBhIHJlZiB0byBvdXIgR3N0R0xEaXNwbGF5CgoyMDEzLTExLTI1IDIwOjM0OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4NjIvOTA2XSB3aW5kb3c6IHJlbW92ZSBzZXRfbmVlZF9sb2NrCgkgIE5vLW9uZSBpcyB1c2luZyBpdC4gIFRoZSBvbmx5IGNvZGUgdGhhdCBkaWQgd2FzIHRoZSB4MTEgb25lIHdoaWNoCgkgIGRvZXNuJ3QgbmVlZCBpdCBhbnltb3JlLgoKMjAxNC0wMS0xMCAwMjo1MDoxNCArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIFs4NjEvOTA2XSBnbHByb3RvdHlwZXM6IEFkZCBtaXNzaW5nIGdsU2NhbGVmIGRlY2xhcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTkwMwoKMjAxMy0xMS0yMyAyMjo1ODo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbODYwLzkwNl0gZG9jczogbWlzYyB1cGRhdGVzCgoyMDEzLTExLTIzIDIyOjU3OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgWzg1OS85MDZdIHdpbmRvdzogcHJvdmlkZSBzb21lIGRvY3VtZXRhdGlvbgoKMjAxMy0xMS0yMyAyMjo1NjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs4NTgvOTA2XSBnbG1lbTogdXBkYXRlIHRoZSBkb2NzCgoyMDEzLTExLTIzIDIyOjU0OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbODU3LzkwNl0gZGlzcGxheTogZG9jdW1lbnQgdGhlIG5ldyBHc3RDb250ZXh0IGFwaQoKMjAxMy0xMS0yMyAyMjo1Mzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgWzg1Ni85MDZdIGNvbnRleHQ6IGRvY3VtZW50IGl0CgoyMDEzLTExLTE0IDE1OjI3OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4NTUvOTA2XSB1cGxvYWQ6IGFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTMtMTEtMTMgMDA6NDE6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs4NTQvOTA2XSB1c2UgdGhlIGFsbG9jYXRpb24gcXVlcnkgdG8gcHJvcG9nYXRlIEdzdEdMQ29udGV4dAoJICB1c2VzIHRoZSBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgYXBpIHR5cGUgZm9yIHRoZSBxdWVyeQoKMjAxMy0xMC0yNCAyMjozMDo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbODUzLzkwNl0gZGlzcGxheTogcmVtb3ZlIF97c2V0LGdldH1fY29udGV4dAoJICBBIEdzdEdMRGlzcGxheSBkb2Vzbid0IG5lZWQgYSBHc3RHTENvbnRleHQgYW5kIGl0cyB1c2UKCSAgd2FzIGNhdXNlIGEgcmVmZXJlbmNlIGN5Y2xlCgoyMDEzLTExLTEzIDEwOjQzOjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODUyLzkwNl0gdXNlIEdzdENvbnRleHQgZm9yIEdzdEdMRGlzcGxheSBwcm9wb2dhdGlvbgoJICBpbXBsZW1lbnRzIHRoZSBob29rcyByZXF1aXJlZCBpbiBHc3RFbGVtZW50OjpzZXRfY29udGV4dCBhbmQgdGhlIGNvbnRleHQgcXVlcnkKCjIwMTMtMTItMjAgMTU6MTg6MzggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbODUxLzkwNl0gZGVpbnRlcmxhY2U6IGZpeCB0ZXh0dXJlIGNvb3JkaW5hdGVzIGNvbXB1dGF0aW9uCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGZmZmRjYmRkM2RkZTQzN2UxMGNmNmUxYjVlNDBjNjk1OGQ0MWU2YzEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDgyNgoKMjAxMy0xMS0xNSAxODoyODo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg1MC85MDZdIGdsdXBsb2FkOiBSZW1vdmUgdGV4dHVyZSBzY2FsaW5nIGFydGlmYWN0cyBmcm9tIHRoZSBURVhUVVJFX1JFQ1RBTkdMRSAtPiBURVhUVVJFXzJEIHRyYW5zaXRpb24KCSAgZml4ZXMgdGhlIGZ1bmt5IGNvbG91cnMgaW4gc29tZSBvZiB0aGUgeXV2IGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTE1NQoKMjAxMy0xMC0yNiAwMjoyMDoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkgIFs4NDkvOTA2XSB0ZXN0c3JjOiB1c2UgX2NvbnRleHRfZ2V0X2dsX2FwaQoKMjAxMy0xMC0yNCAyMjoyODo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg0OC85MDZdIGZpbHRlcjogYSBsaXR0bGUgY29kZSBjbGVhbnVwCgoyMDEzLTExLTEzIDE1OjU3OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4NDcvOTA2XSBtaXhlcjogdW5tYXAgdGhlIHZpZGVvIGZyYW1lcyB3ZSBtYXAKCSAgcGx1Z3MgYSBtZW1vcnkgbGVhawoKMjAxMy0xMS0xNSAyMDo1MDoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODQ2LzkwNl0gbWl4ZXI6IGhhbmRsZSAwLzEgZnJhbWVyYXRlIGJldHRlciBpbiBjYXBzCgoyMDEzLTExLTE1IDIwOjQ5OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODQ1LzkwNl0gZmlsdGVyOiBoYW5kbGUgY2Fwc2ZlYXR1cmVzIHByb3Blcmx5CgoyMDEzLTExLTE0IDE1OjA4OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIFs4NDQvOTA2XSBtaXhlcjogZ2l2ZSBhY2Nlc3MgdG8gdGhlIHBhZHMgYXQgcmVuZGVyIHRpbWUKCSAgYWxsb3dzIHVzIHRvIG1vdmUgdGhlIHZpZGVvIGZyYW1lIG1hcHBpbmcgc29tZXdoZXJlIGVsc2UKCjIwMTMtMTEtMTMgMjM6MjQ6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbODQzLzkwNl0gbWVtb3J5OiBwcm92aWRlIGNvcHlfaW50b190ZXh0dXJlCgoyMDEzLTEyLTI1IDIzOjM1OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbODQyLzkwNl0gRml4IGdzdGdsY29uZmlnLmgtcmVsYXRlZCAnbWFrZSBkaXN0Y2hlY2snIGlzc3VlcwoJICBGaXggc3JjZGlyIHZzLiBidWlsZGRpciBpc3N1ZSBpbiBkb2NzIGFuZCAnZmlsZXMgbGVmdCBhZnRlcgoJICBkaXNjbGVhbicgaXNzdWUgZm9yIGdzdGdsY29uZmlnLmgKCjIwMTMtMTEtMzAgMDk6NTE6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzg0MS85MDZdIG9zeDogYWxsb3cgeDExL2dseCBiYWNrZW5kIGFuZCBzZXQgZGVmYXVsdCBydW50aW1lIHRvIGNvY29hL25zZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc1NwoKMjAxMy0xMi0xNCAxOToxMjowOSArMDEwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgWzg0MC85MDZdIGdsdmlkZW9taXhlcjogVXNlIGNvcnJlY3QgY29vcmRpbmF0ZXMgYWZ0ZXIgdGhlIHN3aXRjaCBmcm9tIEdMX1RFWFRVUkVfUkVDVEFOR0xFIHRvIEdMX1RFWFRVUkVfMkQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDE3NwoKMjAxMy0xMS0zMCAxNjozODoxMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzgzOS85MDZdIGNvY29hOiBhbGxvdyB0byBjYWxsIHNldF93aW5kb3dfaGFuZGxlIGJlZm9yZSB0byBjcmVhdGUgZ2xjb250ZXh0CgkgIFNvIHRoYXQgaXQgYWN0dWFsbHkgbWFrZSBjb2NvYSB2aWRlb292ZXJsYXkgZXhhbXBsZSB3b3JrIGFnYWluLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc1OAoKMjAxMy0xMS0xNSAxODoyODo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzgzOC85MDZdIGdsOiBVc2UgR0xfVEVYVFVSRV8yRCBpbnN0ZWFkIG9mIEdMX1RFWFRVUkVfUkVDVEFOR0xFCgkgIFdlIGNyZWF0ZSBvdXIgdGV4dHVyZXMgKGluIERlc2t0b3AgR0wpIHdpdGggR0xfVEVYVFVSRV9SRUNUQU5HTEUsCgkgIHZhYXBpIGF0dGVtcHRzIHRvIGJpbmQgb3VyIHRleHR1cmUgdG8gR0xfVEVYVFVSRV8yRCB3aGljaCB0aHJvd3MgYQoJICBHTF9JTlZBTElEX09QRVJBVElPTiBlcnJvciBhbmQgYXMgdGh1cywgbm8gdmlkZW8uCgkgIEFsc28sIGJ5IG1vdmluZyBleGNsdXNpdmVseSB0byBHTF9URVhUVVJFXzJEIGFuZCB0aGUgbnBvdCBleHRlbnNpb24KCSAgd2UgYWxzbyByZW1vdmUgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIERlc2t0b3AgR0wgYW5kIEdMRVMyIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyODcKCjIwMTMtMTEtMDggMTI6MTI6MjYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzgzNy85MDZdIGNvY29hOiByZXNpemUgT3BlbkdMIHZpZXcgc2l6ZSBlYWNoIHRpbWUgdGhlIHdpbmRvdyBpcyByZXNpemVkCgkgIEZpeGVzIGdsaXRjaGVzIHRoYXQgY2FuIGFwcGVhciB3aGVuIHRoZSBPcGVuR0wgdmlldyBoYXMgbm90IGJlZW4gcmVzaXplZAoJICBhZnRlciBhIHdpbmRvdyByZXNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2NzIKCjIwMTMtMTEtMDEgMTY6MzU6NDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIFs4MzYvOTA2XSBjb2NvYTogb25seSB1c2UgR1NSZWdpc3RlckN1cnJlbnRUaHJlYWQgd2l0aCBHTlVTdGVwIGVudmlyb25tZW50CgoyMDEzLTExLTA2IDIyOjE2OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODM1LzkwNl0gZ3N0Z2x3aW5kb3c6IHJlbW92ZSB1bnVzZWQgZmllbGRzCgoyMDEzLTExLTA2IDIyOjEzOjIwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODM0LzkwNl0gZ3N0Z2x3aW5kb3c6IGNsZWFyIG11dGV4CgoyMDEzLTExLTA2IDIyOjEyOjAyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzgzMy85MDZdIGdzdGdsY29udGV4dDogaW5pdGlhbGl6ZSB3aW5kb3cgdG8gTlVMTAoKMjAxMy0xMS0wNiAyMTo1OToyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODMyLzkwNl0geDExOiBpZ25vcmUgRXhwb3NlIGV2ZW50cyBub3QgaW5pdGlhdGVkIGJ5IGdzdF9nbF93aW5kb3dfZHJhdwoKMjAxMy0xMS0wNiAyMTo1NTo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODMxLzkwNl0gZ2xpbWFnZXNpbms6IGF2b2lkIHRvIG92ZXJsb2FkIHRoZSBkcmF3ZXIgaWYgYWxyZWFkeSBkcmF3aW5nCgkgIEVzcGVjaWFsbHkgaWYgdGhlIGFwcGxpY2F0aW9uIGNhbGxzIGdzdF92aWRlb19vdmVybGF5X2V4cG9zZSBhIGxvdAoKMjAxMy0xMC0yMyAyMTo0NjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs4MzAvOTA2XSBnbHZpZGVvbWl4ZXI6IEFkZCBhIG5ldyBzaW1wbGUgZ2x2aWRlb21peGVyIGVsZW1lbnQKCSAgdGhhdCBzaW1wbHkgdXNlcyBnbEJsZW5kRnVuYyB0byBibGVuZCBlYWNoIGltcHV0IGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3MTQKCjIwMTMtMTAtMjMgMjA6Mzg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzgyOS85MDZdIG1peGVyOiBlcnJvciBvdXQgcHJvcGVybHkgb24gZmx1c2hpbmcKCjIwMTMtMTAtMjIgMjE6NDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODI4LzkwNl0gY29udGV4dDogcmVmY291bnQgdGhlIGRpc3BsYXkKCjIwMTMtMTAtMjYgMDI6MjA6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzgyNy85MDZdIG1peGVyOiBkb24ndCB1bnJlZiB0aGUgcXVlcnkgaW4gdGhlIGRlZmF1bHQgY2FzZQoJICBUaGUgZWxlbWVudC9hcHBsaWNhdGlvbiBwZXJmb3JtaW5nIHRoZSBxdWVyeSBpcyByZXNwb25zaWJsZSBmb3IgdGhlCgkgIGRlL2FsbG9jYXRpb24KCjIwMTMtMTAtMjQgMjE6MjQ6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4MjYvOTA2XSB1cGxvYWQ6IGZyZWUgb3VyIG11dGV4CgoyMDEzLTEwLTExIDE2OjAwOjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MjUvOTA2XSBnbHdpbmRvd194MTE6IGNoZWNrIGlmIHRoZSBsb29wIGV4aXN0cwoJICBJdCBoYXBwZW5zIHdoZW4gY2FsbGluZyBzZXRfd2luZG93X2hhbmRsZSBiZWZvcmUgdG8gcmVhY2ggR1NUX1NUQVRFX1JFQURZLgoJICBJbiB0aGlzIGNhc2UgdGhlIHBhcmVudCBpcyBzZXQgd2hlbiBjcmVhdGluZyB0aGUgaW50ZXJuYWwgd2luZG93LgoKMjAxMy0xMC0wMSAyMzo0Nzo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbODI0LzkwNl0gYW5kcm9pZDogQnVpbGQgZml4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc4NgoKMjAxMy0xMC0wMSAxMTo0Njo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbODIzLzkwNl0gd2F5bGFuZF9lZ2w6IG1ha2UgdGhlIHdheWxhbmQgYmFja2VuZCBhY3R1YWxseSB3b3JrIG9uIFJhc3BiZXJyeSBQaQoJICBGaXggcmVzaXppbmcgYW5kIGNhbiBub3cgbW92ZSB0aGUgd2luZG93CgoyMDEzLTEwLTAxIDExOjQ0OjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODIyLzkwNl0gZ3N0Z2xjb250ZXh0X2VnbDogYXZvaWQgbm9uIHdvcmtpbmcgRUdMIGNvbmZzIG9uIHJwaS93YXlsYW5kCgoyMDEzLTEwLTAxIDExOjQyOjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MjEvOTA2XSB0ZXN0czogZml4IHRlc3Rfc2hhcmUgb24gR0xFU3YyCgoyMDEzLTEwLTAxIDExOjI3OjA3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODIwLzkwNl0gZ3N0Z2x3aW5kb3c6IGlmIGF2YWlsYWJsZSB1c2Ugd2F5bGFuZCBpbnN0ZWFkIGRpc3BtYW54IG9uIHJwaQoKMjAxMy0wOS0yNyAwMToxNToyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzgxOS85MDZdIG1ha2UgZ2VuX3RleHR1cmUvZGVsX3RleHR1cmUgdGhyZWFkc2FmZQoJICBVc2Ugc3RhY2sgYWxsb2NhdGVkIGluc3RlYWQgb2Ygc3RhdGljIHZhcmlhYmxlcwoJICBDb25mbGljdHM6CgkgIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmMKCjIwMTMtMDktMjUgMTI6MjY6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MTgvOTA2XSB3aW5kb3c6IGFkZCBzZW5kX21lc3NhZ2VfYXN5bmMgdm1ldGhvZAoJICAtIHByb3ZpZGUgYSBkZWZhdWx0IHN5bmNocm9ub3VzIHNlbmRfbWVzc2FnZQoJICAtIG1ha2UgY29udGV4dCBjcmVhdGlvbiB0aHJlYWRzYWZlIGFnYWluCgoyMDEzLTA5LTI0IDE2OjM3OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs4MTcvOTA2XSBtYWtlIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdCBwYXNzCgoyMDEzLTA5LTI0IDE0OjA3OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MTYvOTA2XSB4MTE6IGZpeCBtYWtlIGNoZWNrIHNlZ2ZhdWx0CgoyMDEzLTA5LTIwIDExOjU1OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MTUvOTA2XSBmaXggc29tZSByZWZjb3VudCBlcnJvcnMKCjIwMTMtMDktMjAgMTE6NTQ6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzgxNC85MDZdIG1peGVyOiB0aW1lc3RhbXAgYnVmZmVycwoKMjAxMy0wOS0xNiAxOTowNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgxMy85MDZdIHVucmVmIHRoZSBwb29sIG9uIHNodXRkb3duCgoyMDEzLTA5LTE1IDE0OjIzOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbODEyLzkwNl0gbW92ZSB0aGUgR0wgdnRhYmxlIGZyb20gR3N0R0xEaXNwbGF5IHRvIEdzdEdMQ29udGV4dAoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmMKCjIwMTMtMDgtMjIgMTU6NTU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbODExLzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgR3N0R0xDb250ZXh0IGFkZGl0aW9uCgoyMDEzLTA5LTI2IDE0OjQ2OjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIFs4MTAvOTA2XSBnc3RnbHV0aWxzOiB1c2UgZ2xfdnRhYmxlIGZvciBnbERlbGV0ZVRleHR1cmVzCgoyMDEzLTA5LTI2IDE0OjQzOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MDkvOTA2XSB0ZXN0czogcG9ydCB0ZXN0X3NoYXJlIHRvIEdMRVMyCgkgIEFsc28gYWRkIGEgZGVpbml0IGZ1bmN0aW9uIHRvIHJlbGVhc2UgZmJvLCB0ZXggYW5kIHNoYWRlci4KCjIwMTMtMDktMDMgMjI6MDM6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgwOC85MDZdIHgxMTogcmVtb3ZlIGRlYWQgY29kZQoKMjAxMy0wOS0wMyAyMTo0OToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbODA3LzkwNl0gY29udGV4dDogTW92ZSBzb21lIHdpbmRvdyBlcnJvciBlbnVtcyB0byBjb250ZXh0CgoyMDEzLTA4LTMwIDAwOjI4OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODA2LzkwNl0gZWdsOiBkb2Vzbid0IHJlcXVpcmUgdGhlIEVHTENvbmZpZyBmcm9tIHRoZSBvdGhlciBjb250ZXh0CgkgIGxpYkVHTCBzaG91bGQgZ2l2ZSB1cyB0aGUgc2FtZSBvciBzaW1pbGFyIEVHTENvbmZpZyBmcm9tIHRoZQoJICBFR0xEaXNwbGF5IHdlIGhhdmUuCgoyMDEzLTA4LTMwIDAwOjIyOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzgwNS85MDZdIGdsZmlsdGVyOiByZW5hbWUgZXh0ZXJuYWwtb3BlbmdsLWNvbnRleHQgcHJvcCB0byBvdGhlci1jb250ZXh0CgkgIEl0IG5vdyByZXF1aXJlcyBhIEdzdEdMQ29udGV4dCBpbnN0ZWFkIG9mIGEgaGFuZGxlCgoyMDEzLTA4LTMwIDE1OjUzOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODA0LzkwNl0gcnBpOiBjYWxsIGJjbV9ob3N0X2luaXQgaW4gcGx1Z2luX2luaXQKCjIwMTMtMDgtMzAgMTQ6MTI6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgwMy85MDZdIHJhc3BiZXJyeXBpOiBhZGQgc3VwcG9ydCBmb3IgZGlzcG1hbngKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDIKCjIwMTMtMDgtMjkgMjA6MTI6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzgwMi85MDZdIGFkZCBHc3RHTENvbnRleHQgdGVzdCB0aGF0IHRlc3RzIGNvbnRleHQgc2hhcmluZwoKMjAxMy0wOC0yOSAyMDoxMDo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIFs4MDEvOTA2XSBjb250ZXh0OiBSZWltcGxlbWVudCBHTCBjb250ZXh0IHNoYXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDgwNgoKMjAxMy0wOC0yOCAxMDozMjoyOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgwMC85MDZdIGdsaW1hZ2VzaW5rOiBhdm9pZCB0byBkcmF3IHRleHR1cmUgd2hpbGUgcmVsZWFzaW5nIHN0b3JlZCBidWZmZXIKCSAgU3BvdGVkIGJ5IGdlbmVyaWMvY3ViZSBleGFtcGxlIHdpdGggQ2xpZW50RHJhd0NhbGxiYWNrIHNldCB0bwoJICByZXR1cm5pbmcgVFJVRSAoaXQgbWVhbnMgZHJhd2luZyBhcyBmYXN0IGFzIHBvc3NpYmxlKQoKMjAxMy0wOC0yOCAxMDowNzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3OTkvOTA2XSBnbGltYWdlc2luazogZml4IGFzeW5jaHJvbmUgZHJhd2luZwoJICBTaW1wbGlmeSBnc3RfZ2xpbWFnZV9zaW5rX3JlZGlzcGxheSB3aGljaCBpcyB0aGVyZQoJICBvbmx5IHRvIGFzayB0aGUgd2luZG93IGZvciBhIHJlZHJhdy4KCSAgUHV0IGEgbG9jayB0byBtYWtlIHN1cmUgd2UgYXJlIG5vdCByZWFsZWFzaW5nCgkgIHRoZSBzdG9yZWQgYnVmZmVyIHdoaWxlIHN0aWxsIGRyYXdpbmcgdGhlIGNvcnJlc3BvbmRpbmcKCSAgdGV4dHVyZQoKMjAxMy0wOC0yMiAwMDoyOTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJICBbNzk4LzkwNl0gYnVpbGQ6IGluc3RhbGwgbmVlZGVkIGhlYWRlcgoKMjAxMy0wOC0yMSAxNTo0MDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzk3LzkwNl0geDExOiBmaXggYnVpbGQgZm9yIGNsYW5nCgoyMDEzLTA4LTIxIDE0OjA1OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIFs3OTYvOTA2XSBtb3ZlIGVnbCBpbnRvIGl0cyBvd24gZGlyZWN0b3J5CgoyMDEzLTA4LTIxIDEzOjU3OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkgIFs3OTUvOTA2XSBhbmRyb2lkOiBwb3J0IHRvIEdzdEdMQ29udGV4dAoJICBub3QgdGVzdGVkCgoyMDEzLTA4LTE1IDE3OjA5OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzc5NC85MDZdIGNvbnRleHQ6IGFkZCBzdWJjbGFzc2VzIGZvciB0aGUgZGlmZmVyZW50IHBsYXRmb3JtcyAoZWdsLCBnbHgsIHdnbCwgZXRjKQoJICAtIG1vc3QgY29kZSB0YWtlbiBmcm9tIHRoZSBXaW5kb3cgc3ViY2xhc3NlcwoJICAtIHRlc3RlZCBjb21iaW5hdGlvbnM6IHhFR0wsIEdMWCwgV2F5bGFuZCtFR0wsIENvY29hICh1bmRlciBHTlVTdGVwKSwgV0dMIChXaW5lKQoKMjAxMy0wOC0xNCAxMDo0NDoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzkzLzkwNl0gYWRkIGEgR3N0R0xDb250ZXh0IG9iamVjdCB0aGF0IHdpbGwgYmUgdGhlIGJhc2lzIG9mIE9wZW5HTCBjb250ZXh0cwoJICBBdCB0aGUgbW9tZW50IGl0IGp1c3Qgc2l0cyBpbiBiZXR3ZWVuIEdzdEdMRGlzcGxheSBhbmQgR3N0R0xXaW5kb3cKCSAgcGVyZm9ybWluZyBzb21lIG9mIHRoZSBzdHVmZiB0aGF0IEdzdEdMV2luZG93IHVzZWQgdG8gZG8uCgoyMDEzLTA4LTEzIDIwOjEwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzc5Mi85MDZdIGJ1aWxkOiB1c2Ugb3VyIG93biBpbiB0cmVlIGhlYWRlcnMgYmVmb3JlIHN5c3RlbSBvbmVzCgkgIGFsbG93cyB1cyB0byBkZXZlbG9wIGFnYWluc3QgdGhlIHRyZWUgcmF0aGVyIHRoYW4gd2hhdCBtYXkgYmUgaW5zdGFsbGVkCgoyMDEzLTA4LTE2IDE2OjI5OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJICBbNzkxLzkwNl0gZ2x3aW5kb3cveDExOiByZW1vdmUgWDExRXZlbnRTb3VyY2UgYXMgc29vbiBhcyB0aGUgd2luZG93IGlzIGRlbGV0ZWQKCSAgZ3N0X2dsX3dpbmRvd194MTFfc2VuZF9tZXNzYWdlIGRvIG5vdCB1c2UgWFNlbmRFdmVudCBhbnltb3JlCgoyMDEzLTA4LTE2IDE1OjI2OjI4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzkwLzkwNl0gZ2xpbWFnZXNpbms6IHJldHJpZXZlIHdpbmRvdyBvbmx5IHdoZW4gY2xpZW50RHJhd0NhbGxiYWNrIHJldHVybiB0cnVlCgoyMDEzLTA4LTA3IDE3OjExOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc4OS85MDZdIGVnbDogQ3JlYXRlIGEgd2luZG93IHN1cmZhY2UgaWYgbmVjZXNzYXJ5CgoyMDEzLTA4LTA3IDExOjQ2OjQ5ICswMjAwICBUb251IEphYW5zb28gPGNoYWluQGJzZC5lZT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzg4LzkwNl0gb3N4OiBGaXggY29tcGlsYXRpb24KCjIwMTMtMDgtMDcgMTE6NDI6NDYgKzAyMDAgIFRvbnUgSmFhbnNvbyA8Y2hhaW5AYnNkLmVlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzg3LzkwNl0gZ2w6IFRoZSBHTFNMIHJlY3RhbmdsZSByZXNhbXBsZXIgZG9lcyBub3QgYWx3YXlzIHdvcmsgd2l0aCBpbnQgdGV4IGNvb3JkcwoJICBVc2UgZmxvYXRzIGluc3RlYWQuCgoyMDEzLTA3LTI0IDEzOjM1OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkgIFs3ODYvOTA2XSBnbHByb3RvdHlwZXM6IEFkZCBzdXBwb3J0IGZvciBOViBleHRlbnNpb25zIGZvciBEcmF3QnVmZmVycyBhbmQgUmVhZEJ1ZmZlcgoKMjAxMy0wNy0yNCAxMzozNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkgIFs3ODUvOTA2XSBlZ2w6IFVzZSBFR0xfS0hSX3N1cmZhY2VsZXNzX2NvbnRleHQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIHVzZWxlc3Mgc3VyZmFjZSBpZiBhdmFpbGFibGUKCjIwMTMtMDctMjIgMTk6MDA6NDIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNzg0LzkwNl0gZ2xvdmVybGF5OiBhZGQgR19CRUdJTi9FTkQgZGVjbGFyYXRpb24KCjIwMTMtMDctMTkgMTY6Mjg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzgzLzkwNl0gZ2xpbWFnZXNpbms6IEZpeCBmb3JtYXQgc3RyaW5nIHdhcm5pbmcKCjIwMTMtMDctMTkgMTA6MDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3ODIvOTA2XSBnbGRvd25sb2FkOiBVc2Ugc3RybGVuKCkgaW5zdGVhZCBvZiBzaXplb2YoY2hhciopCgkgIGdzdGdsZG93bmxvYWQuYzo4NDY6MjI6IGVycm9yOiBhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtY3B5JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIHNvdXJjZTsgZGlkIHlvdSBtZWFuIHRvIHByb3ZpZGUgYW4gZXhwbGljaXQgbGVuZ3RoPyBbLVdlcnJvcj1zaXplb2YtcG9pbnRlci1tZW1hY2Nlc3NdCgoyMDEzLTA3LTE5IDE2OjQ4OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3ODEvOTA2XSBkb3dubG9hZDogcHJvcG9nYXRlIGVycm9ycyBmcm9tIHRoZSBHTCB0aHJlYWQKCjIwMTMtMDctMTggMjA6MjE6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNzgwLzkwNl0gdXAvZG93bmxvYWQ6IGNoZWNrIHJldHVybiB2YWx1ZXMKCSAgU28gd2UgZmFpbCBwcm9wZXJseQoKMjAxMy0wNy0xOCAxOTozNzozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNzc5LzkwNl0gZG93bmxvYWQ6IHJlbW92ZSBfdGhyZWFkIHZhcmlhbnRzIG9mIHRoZSBBUEkKCjIwMTMtMDctMTggMTk6MzY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzc4LzkwNl0gdXBsb2FkOiByZW1vdmUgX3RocmVhZCB2YXJpYW50cyBvZiB0aGUgQVBJCgoyMDEzLTA3LTE4IDE5OjE3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc3Ny85MDZdIHVwbG9hZDogb3ZlcmhhdWwgYW5kIGFkZGl0aW9uIG9mIG5ldyB2aWRlbyBmb3JtYXRzCgkgIHVzZSB0aGUgc2hhZGVycyBmcm9tIGVnbGdsZXNzaW5rIChhZGFwdGVkIGZvciBEZXNrdG9wIEdMKQoJICBlcnJvciBvdXQgcHJvcGVybHkKCjIwMTMtMDctMTcgMjE6MTc6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc3Ni85MDZdIGRvd25sb2FkOiBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBtaXNzaW5nIHN0cmluZyBmb3JtYXQKCjIwMTMtMDctMTkgMDk6MjA6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzc1LzkwNl0gY29uZmlndXJlOiBDaGVjayBmb3IgR0xlZ2xJbWFnZU9FUyBhbmQgb3RoZXJzIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ0OTgKCjIwMTMtMDctMTggMjA6MjY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNzc0LzkwNl0gd2luMzI6IEZpeCBzb21lIGNvbXBpbGVyIGVycm9ycy93YXJuaW5ncwoKMjAxMy0wNy0xOCAwMTo0MjozMSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs3NzMvOTA2XSBnbGZpbHRlcnM6IE1hcmsgd3JpdGFibGUtb25seSBwcm9wZXJ0aWVzIGFzIHJlYWRhYmxlIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyOQoKMjAxMy0wNy0xOCAwMTo0MTowNSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzc3Mi85MDZdIGdsZmlsdGVyczogTWFyayB0aGVtIGFzIFZpZGVvIGZpbHRlcnMgaW4gdGhlaXIgY2xhc3NpZmljYXRpb24KCSAgSXQgbWFrZXMgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucyBsaWtlIHBpdGl2aSB0bwoJICB1c2UgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQyOQoKMjAxMy0wNy0xNyAxMToyMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzc3MS85MDZdIGdsOiBTb21lIGxlc3MgbG9uZy91bG9uZy9ndWxvbmcgdXNhZ2UKCjIwMTMtMDctMTYgMTg6Mjg6MzMgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs3NzAvOTA2XSB0ZXN0cy9leGFtcGxlczogcG9ydCBzb21lIG9mIHRoZSBleGFtcGxlcy4KCSAgVGhpcyBjb21taXQgaXMgYSBmaXJzdCBzdGVwLCByZW1vdmVzIGdsdXBsb2FkLCBzd2l0Y2ggbmV3LWRlY29kZWQtcGFkCgkgIHRvIHBhZC1hZGRlZCwgYnV0IHRoZXNlIGV4YW1wbGVzIHN0aWxsIGZhaWwgZm9yIHZhcmlvdXMgcmVhc29ucy4KCjIwMTMtMDctMTYgMTg6Mjc6MDcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzc2OS85MDZdIHRlc3RzL2V4YW1wbGVzOiBmaXggYW5kIHBvcnQgc29tZSBvZiB0aGUgZXhhbXBsZXMuCgkgIFJlYWxpemUgd2lkZ2V0cywgcmVtb3ZlIGdsdXBsb2FkIGVsZW1lbnQuCgoyMDEzLTA3LTE2IDE2OjE3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3NjgvOTA2XSBnbHRlc3RzcmM6IEZpeCB1c2FnZSBvZiBGQk8gQVBJCgoyMDEzLTA3LTE2IDE0OjIyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3NjcvOTA2XSBnbGltYWdlc2luazogUmVtb3ZlIEdWYWx1ZSB1c2FnZSBmb3IgZnJhY3Rpb24gaGFuZGxpbmcKCjIwMTMtMDctMDQgMTA6MDE6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzc2Ni85MDZdIHV0aWxzOiBnZW5lcmF0ZSBhIFJHQkEgdGV4dHVyZSBpbiBhbGwgY2FzZXMKCjIwMTMtMDctMDMgMjE6MDE6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzc2NS85MDZdIHdheWxhbmQ6IHJlbW92ZSBmdWxsc2NyZWVuCgoyMDEzLTA3LTAzIDE0OjM3OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNzY0LzkwNl0gZmlsdGVyOiBmaXggcGFkIHRlbXBsYXRlIGNhcHMKCSAgdXBsb2FkIGlzIGZvciB0aGUgc2luayB0ZW1wbGF0ZQoJICBkb3dubG9hZCBpcyBmb3JtIHRoZSBzcmMgdGVtcGxhdGUKCjIwMTMtMDctMDMgMTQ6MTM6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs3NjMvOTA2XSBtZW1vcnk6IGNvcHkgcHJvcGVybHkgZGVwZW5kaW5nIG9uIHdoZXJlIHRoZSBtb3N0IHJlY2VudCBkYXRhIGlzCgoyMDEzLTA3LTE2IDE0OjExOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3NjIvOTA2XSBnbGltYWdlc2luazogRml4IHNvbWUgbWVtb3J5IGxlYWtzIGFuZCBwcm9wZXJseSBzZXQgdXAgdGhlIGJ1ZmZlciBwb29sCgoyMDEzLTA3LTE2IDEzOjI4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbNzYxLzkwNl0geDExOiBQcm90ZWN0IGV2ZW50IGRpc3BsYXkgY29ubmVjdGlvbiB3aXRoIGEgbXV0ZXgKCSAgV2UgdXNlIGl0IGZyb20gZGlmZmVyZW50IHRocmVhZHMgYW5kIG5lZWQgdG8gc2VyaWFsaXplIHRoZQoJICBhY2Nlc3NlcyB0byBpdC4KCjIwMTMtMDctMTYgMTM6MjM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3NjAvOTA2XSB4MTE6IEFsd2F5cyB1c2UgdGhlIHNhbWUgZGlzcGxheSBjb25uZWN0aW9uIGZyb20gdGhlIEdMIHRocmVhZAoJICBUaGUgb3RoZXIgZGlzcGxheSBjb25uZWN0aW9uIG1pZ2h0IGJlIHVzZWQgYnkgYXN5bmMgY2FsbHMgZnJvbSBlbHNld2hlcmUKCSAgYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0NwoKMjAxMy0wNy0xNSAyMTo0NDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1OS85MDZdIGdsZG93bmxvYWQ6ICNpZmRlZiBzb21lIEdMRVMyIHNwZWNpZmljIGNvZGUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDEzLTA3LTE1IDE4OjA3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJICBbNzU4LzkwNl0gYW5kcm9pZDogRG9uJ3QgcmVxdWlyZSBhIHdpbmRvdyB0byBiZSBzZXQKCSAgVGhpcyBhbGxvd3MgdGhlIGZpbHRlcnMgdG8gYmUgdXNhYmxlIHdpdGhvdXQgYSBHTCBzaW5rIGRvd25zdHJlYW0uCgoyMDEzLTA3LTE1IDE4OjAxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc1Ny85MDZdIGVnbDogQ3JlYXRlIGFuIG9mZnNjcmVlbiBzdXJmYWNlIGlmIG5vIHdpbmRvdyB3YXMgcHJvdmlkZWQKCjIwMTMtMDctMTUgMTc6MjA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NTYvOTA2XSBnbGRvd25sb2FkOiBSZXNldCB0aGUgdmlld3BvcnQgYWZ0ZXIgZG93bmxvYWQgUkdCIHZpYSBHTEVTMgoKMjAxMy0wNy0xNSAxNzoxMTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1NS85MDZdIGdsZG93bmxvYWQ6IFVuYmluZCBmcmFtZWJ1ZmZlciBhZnRlciBkb3dubG9hZGluZyBSR0Igd2l0aCBHTEVTMgoKMjAxMy0wNy0xNSAxNzowODo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzc1NC85MDZdIGdsZG93bmxvYWQ6IEFkZCBzdXBwb3J0IGZvciBSR0IgcmVvcmRlcmluZyB3aGVuIHVzaW5nIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjA4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs3NTMvOTA2XSBnbGRpc3BsYXk6IFNlbmRpbmcgYSBtZXNzYWdlIGlzIHN5bmNocm9ub3VzLCB3ZSBjYW4gYWxsb2NhdGUgdGhlIG1lbW9yeSBvbiB0aGUgc3RhY2sKCjIwMTMtMDctMTUgMTU6NTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzc1Mi85MDZdIGdsd2luZG93OiBBZGQgZGVzdHJveSBub3RpZmllcyBmb3IgdGhlIGRhdGEgb2YgdGhlIGNhbGxiYWNrcwoJICBBbmQgYWN0dWFsbHkgY2FsbCB0aGUgY2xvc2UgY2FsbGJhY2sgd2hlbiB0aGUgd2luZG93IGlzIGNsb3NlZC4KCjIwMTMtMDctMTUgMTU6MjU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzc1MS85MDZdIGdsZGlzcGxheTogRG9uJ3QgaG9sZCBsb2NrIHdoaWxlIHNlbmRpbmcgYSBtZXNzYWdlIHRvIHRoZSBHTCB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDI0NwoKMjAxMy0wNy0xNSAxNDoxMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzc1MC85MDZdIGdsdXBsb2FkOiBBZGQgc3VwcG9ydCBmb3IgUkdCIHJlb3JkZXJpbmcgd2hlbiB1c2luZyBHTEVTMgoKMjAxMy0wNy0xNSAwNzozOTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs3NDkvOTA2XSBnbHNoYWRlcjogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTMtMDctMTIgMTQ6MzE6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs3NDgvOTA2XSBnbHVwbG9hZDogR0xfU1RFTkNJTF9BVFRBQ0hNRU5UIGlzIG5lZWRlZCBmb3IgZGVza3RvcCBHTCwgbm90IEdMRVMKCjIwMTMtMDctMTIgMTQ6MjY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNzQ3LzkwNl0gZ2w6IENvbnN0aWZ5IFlVViBjb252ZXJzaW9uIHNoYWRlcnMKCjIwMTMtMDctMTIgMTQ6MjA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIFs3NDYvOTA2XSBhbmRyb2lkOiBBZGQgY29tbWVudCB0byBjbGFyaWZ5IHRoZSB0eXBlIG9mIGEgdmFyaWFibGUKCjIwMTMtMDctMTIgMTQ6MjA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNzQ1LzkwNl0gZ2w6IFNpbXBsaWZ5IGFuZCBvcHRpbWl6ZSBZVVYgY29udmVyc2lvbiBzaGFkZXJzIGEgYml0CgoyMDEzLTA3LTEyIDExOjM1OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgWzc0NC85MDZdIGdsOiBVc2UgX19HU1RfR0xfSF9fIGluc3RlYWQgb2YgX19HTF9IX18gYXMgYSBtdWx0aS1pbmNsdWRlIGd1YXJkCgkgIEdML2dsLmggbWlnaHQgdXNlIHRoZSBsYXR0ZXIgYWxyZWFkeS4KCjIwMTMtMDctMTEgMjE6MzA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSAgWzc0My85MDZdIHdpbjMyOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIxOjIyOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzc0Mi85MDZdIGNvY29hOiBBbGxvdyBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBjb250ZXh0CgoyMDEzLTA3LTExIDIxOjE3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzQxLzkwNl0gd2F5bGFuZDogRG9uJ3QgbGVhayBtYWluIGNvbnRleHQgYW5kIGxvb3AKCjIwMTMtMDctMTEgMjE6MTU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3NDAvOTA2XSB4MTE6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjA6NTg6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MzkvOTA2XSB4MTE6IERvbid0IGxlYWsgbWFpbiBjb250ZXh0IGFuZCBtYWluIGxvb3AKCjIwMTMtMDctMTEgMjA6NTE6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBbNzM4LzkwNl0gZ2w6IEluY2x1ZGUgZ2x1LmggYWZ0ZXIgZ2wuaAoKMjAxMy0wNy0xMSAxNjoyMTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MzcvOTA2XSBnbGltYWdlc2luazogUmVxdWVzdCBhbmQgc2V0IHRoZSB3aW5kb3cgaGFuZGxlIG11Y2ggZWFybGllcgoKMjAxMy0wNy0xMSAxNjowNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNzM2LzkwNl0gZ2xpbWFnZXNpbms6IEdpdmUgTUFSR0lOQUwgcmFuayB0byBiZSBhYmxlIHRvIGF1dG9wbHVnIGl0IGlmIG5vdGhpbmcgZWxzZSBpcyBhdmFpbGFibGUKCjIwMTMtMDctMTAgMTE6MzE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzczNS85MDZdIGdsOiBBZGQgc3VwcG9ydCBmb3IgQW5kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQwCgoyMDEzLTA3LTExIDExOjM3OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkgIFs3MzQvOTA2XSB3aW4zMjogTWFrZSBhdXRvbWFrZSBoYXBweSBieSB1c2luZyBub2luc3RfSEVBREVSUwoKMjAxMy0wNy0xMSAxMTowMzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs3MzMvOTA2XSBnbDogTWFqb3IgaGVhZGVyIGFuZCBpbmNsdWRlIGNsZWFudXAKCjIwMTMtMDctMTAgMTY6MDM6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNzMyLzkwNl0gYnVpbGQ6IGZpeCByZXBlYXRlZCB0eXBlZGVmcwoJICBXcml0ZSBmb3J3YXJkIGRlY2xhcmF0aW9ucyBpbiBhbm90aGVyIHdheSB0byBhdm9pZAoJICByZXBlYXRlZCB0eXBlZGVmcyAiZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIi4KCSAgUmFpc2VkIHdoZW4gdXNpbmcgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgSXQgc2VlbXMgdGhhdCBDIGFwcGxlIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQKCSAgQzExIGZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM4ODUKCjIwMTMtMDctMTAgMTU6NDc6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3MzEvOTA2XSBjb2NvYTogZml4IGJ1aWxkIHdoZW4gR05VU1RFUCBpcyBub3QgZGVmaW5lZAoKMjAxMy0wNy0xMCAxMTozMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgWzczMC85MDZdIGdsY29tcGF0OiBQcm9wZXJseSBjaGVjayBmb3IgR0xjaGFyIGFuZCBvdGhlciB0eXBlcwoJICBPbiBBbmRyb2lkIGZvciBleGFtcGxlIHRoZXNlIGFyZSBubyAjZGVmaW5lcyBidXQgdHlwZWRlZnMKCjIwMTMtMDctMTAgMTE6MjQ6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzcyOS85MDZdIGdsOiBJbmNsdWRlIGNvbmZpZy5oIGV2ZXJ5d2hlcmUKCjIwMTMtMDctMDMgMTQ6MTM6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MjgvOTA2XSBnbGltYWdlc2luazogZml4IGZvciBnbGVzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTA4CgoyMDEzLTA3LTAzIDA5OjEyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJICBbNzI3LzkwNl0gZWdsOiBSZWZhY3RvciBFR0wgbG9naWMgaW50byBhIGhlbHBlciBvYmplY3QKCjIwMTMtMDctMDIgMjI6NDU6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNzI2LzkwNl0gd2luZG93OiBkb24ndCBjYWxsIGEgTlVMTCBkZXN0cm95IGZ1bmN0aW9uCgoyMDEzLTA3LTAyIDIyOjA2OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuaDoKCSAgWzcyNS85MDZdIHgxMTogdXNlIEdNYWluQ29udGV4dC9HTWFpbkxvb3AKCSAgYWxsb3dzIHVzIHRvIGJlIHJlZW50cmFudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDQ1CgoyMDEzLTA3LTAyIDE4OjMzOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3MjQvOTA2XSB3YXlsYW5kOiBtYWtlIHJlZW50cmFudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDQ1CgoyMDEzLTA3LTAxIDE0OjQzOjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzIzLzkwNl0gZ3N0Z2x3aW5kb3c6IGNsb3NlIGhhcyB0byBiZSBjYWxsZWQgaW4gdGhlIGdsdGhyZWFkLgoJICBJbmRlZWQgJ2dsWE1ha2VDdXJyZW50ICh3aW5kb3dfeDExLT5kZXZpY2UsIE5vbmUsIE5VTEwpOycKCSAgaGFzIHRvIGJlIGNhbGxlZCBpbiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBnbGNvbnRleHQgaXMgYWN0dWFsbHkKCSAgY3VycmVudC4KCSAgT3RoZXJ3aXNlIGdsWERlc3Ryb3lDb250ZXh0IG1heSBjcmFzaC4KCjIwMTMtMDctMDEgMDE6MzY6MzUgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3MjIvOTA2XSBnbDogRml4IGJ1aWxkIG9uIFdpbjMyCgkgIDEpIE5lZWQgdG8gaW5jbHVkZSBHTC9nbGV4dC5oIG9uIFczMiB0byBwcm92aWRlIG5lY2Vzc2FyeSBtYWNyb3MKCSAgMikgVzMyIG1hY3JvcyB0aGF0IHByZS1wcm9jZXNzb3IgaGFzIGJ5IGRlZmF1bHQgYXJlIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50CgkgIHRvb2xjaGFpbnMuIEJvcmxhbmQgdXNlcyBfX1dJTjMyX18sIGV2ZXJ5b25lIGVsc2UgaGFzIF9XSU4zMiwgc28gY2hlY2sgYm90aC4KCSAgU2lkZS1ub3RlOiBnbGV4dC5oIGlzIG5vdCBzdXBwbGllZCBieSBtaW5ndy13NjQgYXQgdGhlIG1vbWVudCwgYnV0IGNhbiBiZQoJICBkb3dubG9hZGVkIGZyb20gaHR0cDovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5LwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzY0CgoyMDEzLTA2LTI4IDExOjEwOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzcyMS85MDZdIGdsZmlsdGVyOiBVc2UgdWludDY0IGZvciB0aGUgT3BlbkdMIGNvbnRleHQgcHJvcGVydHkKCSAgdWxvbmcvbG9uZyBwcm9wZXJ0aWVzIGFyZSBkZXByZWNhdGVkIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgYW55bW9yZQoJICBmb3IgcG9ydGFiaWxpdHkgcmVhc29ucy4KCjIwMTMtMDYtMjggMTE6MDA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNzIwLzkwNl0gZXhhbXBsZXM6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTMtMDYtMjggMTE6MDA6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzE5LzkwNl0gZ2w6IEZpeCBjb21waWxhdGlvbiB3aXRoIEdMRVMyCgoyMDEzLTA2LTI4IDAwOjM0OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs3MTgvOTA2XSBzaGFkZXI6IG1ha2UgaXQgcG9zc2libGUgdG8gdW5yZWYgaW4gdGhlIG5vbi1HTCB0aHJlYWQKCjIwMTMtMDYtMjggMDA6MzE6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs3MTcvOTA2XSByZW1vdmUgb3V0ZGF0ZWQgY21ha2UgYnVpbGQgZmlsZXMKCjIwMTMtMDYtMTcgMTk6NDU6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs3MTYvOTA2XSB3YXlsYW5kOiBwcm9wZXJseSBjaG9vc2UgRUdMX1JFTkRFUkFCTEVfVFlQRQoJICBiYXNlZCBvbiB0aGUgZ2wgYXBpIHdlIGNob3NlCgoyMDEzLTA2LTE2IDIwOjQ3OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzcxNS85MDZdIGRpc3BsYXk6IGluaGVyaXQgZnJvbSB0aGUgcmlnaHQgb2JqZWN0IGNsYXNzCgoyMDEzLTA2LTE2IDIwOjQ0OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcxNC85MDZdIEFkZCBHc3RHTEZyYW1lYnVmZmVyIHRvIHJlcGxhY2UgX2Rpc3BsYXlfZ2VuX2ZibyBhbmQgZnJpZW5kcwoJICBUaGlzIHZlcnNpb24gaXMgc2ltcGx5IEFQSSBjb21wYXRpYmxlIHdpdGggX2Rpc3BsYXlfZ2VuX2Ziby4KCSAgVGhlIG5leHQgdmVyc2lvbiB3aWxsIGxpa2VseSByZXZhbXAgdGhlIEFQSQoKMjAxMy0wNi0xNiAyMDo0MToyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzcxMy85MDZdIHNoYWRlcjogbWFrZSBpdCBwb3NzaWJsZSB0byBjcmVhdGUgdGhlIG9iamVjdCBpbiBhIG5vbi1HTCB0aHJlYWQKCjIwMTMtMDYtMTYgMjA6Mzg6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzcxMi85MDZdIHdheWxhbmQ6IHNodXRkb3duIHByb3Blcmx5CgkgIFdlIGNhbm5vdCB1c2UgX2ZpbmFsaXplIGFzIHRoaXMgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIEdzdEdMV2luZG93J3MKCSAgX2ZpbmFsaXplLiAgVGhpcyBjYXVzZXMgdXMgdG8gdHJ5IGFuZCBwZXJmb3JtIG9wZXJhdGlvbnMgd2l0aCB0aGUKCSAgd2F5bGFuZCBzZXJ2ZXIgd2hlbiB0aGUgY29ubmVjdGlvbiBoYXMgYmVlbiBzZXZlcmVkLgoKMjAxMy0wNi0xNiAyMDozNzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzcxMS85MDZdIHdheWxhbmQ6IHN1cHBvcnQgY2hvb3NpbmcgRGVza3RvcCBHTCBhcyB0aGUgYXBpCgoyMDEzLTA2LTE2IDIwOjM0OjE1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzEwLzkwNl0gd2luZG93OiBmYWlsIGlmIHRoZSB1c2VyIHNwZWNpZmllcyBhbiBHTCBhcGkgdGhhdCB3ZSBjYW5ub3Qgd29yayB3aXRoCgkgIEl0IHdvdWxkJ3ZlIGJlZW4gY2F1Z2h0IGxhdGVyIGluIGFuIGdfYXNzZXJ0IGFueXdheS4KCjIwMTMtMDYtMTMgMTg6MzM6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs3MDkvOTA2XSBkaXNwbGF5OiBzb21lIG1vcmUgY2xlYW51cHMKCjIwMTMtMDYtMTMgMTc6NTc6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzA4LzkwNl0gZGlzcGxheTogYSBjbGVhbnVwIGFuZCByZW1vdmFsIG9mIG9sZCBjb2RlCgoyMDEzLTA2LTEzIDE2OjU1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3MDcvOTA2XSBkaXNwbGF5OiBtb3ZlIGVycm9yX21lc3NhZ2UgdG8gdXRpbHMKCjIwMTMtMDYtMTMgMTY6MzE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MDYvOTA2XSBkaXNwbGF5OiBtb3ZlIGFjdGl2YXRlX2NvbnRleHQgaW50byB1dGlscwoKMjAxMy0wNi0xMyAxNjowNDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDUvOTA2XSB4MTE6IGRvbid0IHNodXRkb3duIGluIF9maW5hbGl6ZQoJICBUaGUgd2luZG93J3MgbG9vcCBjb3VsZCBiZSBzdGlsbCBydW5uaW5nIHdoZW4gX2ZpbmFsaXplIGlzIGNhbGxlZAoJICBhbmQgaWYgd2UgZGVzdHJveSB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGl0IHdpbGwgbmV2ZXIgYmUgY2xvc2VkLgoJICBBZGQgX29wZW4gYW5kIF9jbG9zZSB2ZnVuY3MgdG8gR3N0R0xXaW5kb3cgc28gdGhhdCBzdWJjbGFzc2VzIGNhbgoJICBzdGFydCB1cCBhbmQgc2h1dGRvd24gYXQgdGhlIHJpZ2h0IHRpbWUuCgoyMDEzLTA2LTEzIDE0OjM2OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzA0LzkwNl0gVXNlIGdzdF9vYmplY3RfW3VuXXJlZiBzbyB3ZSBjYW4gZ2V0IHJlZmNvdW50cyBpbiB0aGUgbG9nCgoyMDEzLTA2LTEzIDE0OjE4OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzAzLzkwNl0geDExOiBkb24ndCBzZWdmYXVsdCBpZiBkZXN0cm95X2NiIGlzIE5VTEwKCjIwMTMtMDYtMTIgMjM6MjE6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwMi85MDZdIHgxMTogZml4IHNlZ2ZhdWx0IGlmIHRoZSB4MTEgYmFja2VuZCBpcyBpbnN0YW50aWF0ZWQgYnV0IG5vdCB1c2VkCgoyMDEzLTA2LTEyIDIzOjE3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3MDEvOTA2XSBkaXNwbGF5OiBtb3ZlIGNvbnRleHQgY3JlYXRpb24gaW50byB3aW5kb3cKCjIwMTMtMDYtMTIgMDE6MDQ6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIFs3MDAvOTA2XSBkaXNwbGF5OiBtb3ZlIG1vc3Qgb2YgdGhlIGNvZGUgaW50byB1dGlscyBmb3Igc29ydGluZyBsYXRlcgoJICBUaGlzIGNvbnRhaW5zIGEgaGFjayB0aGF0IGVzc2VudGlhbGx5IHJlcXVpcmVzIG9uZSBHc3RHTERpc3BsYXkKCSAgcGVyIHByb2Nlc3MuCgoyMDEzLTA2LTExIDE4OjUwOjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzY5OS85MDZdIGRpc3BsYXk6IHJlbW92ZSBsaXN0IG9mIHVwbG9hZCBhbmQgZG93bmxvYWQgb2JqZWN0cwoJICBhbmQgb25seSBjcmVhdGUgYW4gdXAvZG93bmxvYWQgb2JqZWN0IHdoZW4gbmVlZGVkLgoKMjAxMy0wNi0xMSAxMjoyNjo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNjk4LzkwNl0gbW92ZSBzaW5rLXNwZWNpZmljIHN0dWZmIGZyb20gR3N0R0xEaXNwbGF5IGludG8gZ2xpbWFnZXNpbmsKCjIwMTMtMDYtMTEgMTE6Mjc6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjk3LzkwNl0gZGlzcGxheTogYWxsb3cgdGhlIHVzZXIgdG8gdHJ5IGFuZCBjaG9vc2UgdGhlIEdMIGFwaSB3ZSB1c2UgdmlhIGVudiB2YXJpYWJsZQoJICBHU1RfR0xfQVBJPW9wZW5nbCxvcGVuZ2wzLGdsZXMyLGdsZXMzCgoyMDEzLTA2LTExIDExOjI2OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBbNjk2LzkwNl0gZ2xhcGk6IGZpeCBtZW1vcnkgbGVhayBmcm9tIG5vdCBmcmVlaW5nIGEgc3RyaW5nCgoyMDEzLTA2LTA0IDIyOjE4OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSAgWzY5NS85MDZdIGJ1aWxkOiByZW1vdmUgbGlidG9vbCB3YXJuaW5nIGFib3V0IC12ZXJzaW9uLWluZm8gbm90IHVzZWQgaW4gY29udmVuaWVuY2UgbGlicmFyaWVzCgoyMDEzLTA2LTA0IDIyOjE3OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzY5NC85MDZdIGJ1aWxkOiBhZGQgc3VwcG9ydCBmb3Igc3RhdGljIHBsdWdpbnMKCjIwMTMtMDYtMDQgMjI6MTY6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2OTMvOTA2XSB4MTFfZ2x4OiBhc2sgZm9yIGEgMy4wIEdMIENvbnRleHQKCSAgKGZhbGxpbmcgYmFjayBpZiBuZWVkZWQpCgoyMDEzLTA2LTAzIDE4OjE1OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs2OTIvOTA2XSB3aW5kb3dfeDExOiBhZGQgWEVycm9yIHRyYXBwaW5nCgkgIHNvbWUgZnVuY3Rpb25zIGluIEdMWCBjYW4gZmFpbCBpZiB0aGUgaW1wbGVtZW50YXRpb24gZG9lcyBub3Qgc3VwcG9ydAoJICBjZXJ0YWluIGZlYXR1cmVzIHdlIGFzayBmb3IgKGkuZS4gR0wgMykgYnJpbmdpbmcgZG93biB0aGUgZW50aXJlCgkgIGFwcGxpY2F0aW9uCgoyMDEzLTA2LTAzIDE4OjEzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzY5MS85MDZdIGZlYXR1cmU6IG1ha2UgZ3N0X2dsX2NoZWNrX2V4dGVuc2lvbiBwdWJsaWMKCSAgcHJldmVudHMgZHVwbGljYXRpb24gb2YgY29kZSBvZiBleHRlbnNpb24gc3RyaW5nIHBhcnNpbmcgaW4gR3N0R0xXaW5kb3cncwoKMjAxMy0wNi0wMiAyMTo0NzoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2OTAvOTA2XSB3aW5kb3d4MTFnbHg6IHVzZSBmYmNvbmZpZ3MgaWYgc3VwcG9ydGVkCgoyMDEzLTA0LTI1IDEyOjA0OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjg5LzkwNl0gYnVtcGVyOiBuaWNlciBlcnJvciBmb3Igbm8gYnVtcG1hcCBmaWxlIHByb3ZlZGVkCgoyMDEzLTA0LTI0IDE0OjI1OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY4OC85MDZdIGRpc3BsYXk6IHByb3Blcmx5IHNodXRkb3duIGlmIHdlIGVycm9yIGFmdGVyIGNvbnRleHQgY3JlYXRpb24KCSAgVGhlIF9maW5hbGl6ZSgpIGNvZGUgY2hlY2tzIHRvIHNlZSBpZiB0aGUgY29udGV4dCB3YXMgY3JlYXRlZCBiZWZvcmUKCSAgYXR0ZW1wdGluZyB0byBkZXN0cm95IGl0LiAgV2UgbmV2ZXIgZGlkIHNheSB0aGF0IHdlIGhhZCBjcmVhdGVkIHRoZSBjb250ZXh0LgoKMjAxMy0wNC0yNCAxNDoyNDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY4Ny85MDZdIGJ1bXBlcjogZXJyb3Igb3V0IHByb3Blcmx5IGlmIHdlIGNhbm5vdCBsb2FkIHRoZSBwbmcgZmlsZQoKMjAxMy0wNC0yNCAxNDoyMzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY4Ni85MDZdIGZpbHRlcnNoYWRlcjogZml4IHN0cmluZyBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDQtMjQgMTQ6MjI6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs2ODUvOTA2XSBmaWx0ZXI6IGltcHJvdmUgZXJyb3IgaGFuZGxpbmcKCjIwMTMtMDQtMjQgMTI6MTg6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjg0LzkwNl0gZGlzcGxheTogbGFjayBvZiBmb3JtYXQtc3RyaW5nIGNhdXNpbmcgYSBjb21waWxlciB3YXJuaW5nCgoyMDEzLTA0LTI0IDEyOjE3OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgWzY4My85MDZdIGZlYXR1cmU6IHJlbW92ZSBkb3VibGUgZnJlZQoKMjAxMy0wMy0xMSAxNTo1MTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs2ODIvOTA2XSBvdmVybGF5OiBmaXggdmlkZW8tdG9wIHByb3BlcnR5CgoyMDEzLTA2LTAyIDA3OjUyOjMwICswMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzY4MS85MDZdIHdpbjMyOiBmaXggZ2wgYXBpIGNhbGxzIG9uIDMyLWJpdAoJICB3aW4gaGFzIHRoZSBicmlnaHQgaWRlYSBvZiBoYXZpbmcgNSBkaWZmZXJlbnQgY2FsbGluZyBjb252ZW50aW9ucy4KCSAgd2Ugc2hvdWxkIHByb2JhYmx5IHVzZSB0aGUgcmlnaHQgb25lIHNvIHdlIGRvbid0IGNyYXNoIGZyb20gc3RhY2sKCSAgY29ycnVwdGlvbi4KCjIwMTMtMDMtMTAgMTM6Mzc6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNjgwLzkwNl0gb3ZlcmxheTogdGVudGF0aXZlIHBvcnQgdG8gbmV3IEdzdEdMRnVuY3MgQVBJCgoyMDEzLTAzLTEwIDEzOjM0OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzY3OS85MDZdIG9wZW5nbDogZml4IHBsdWdpbnMgbm90IGJlaW5nIHJlZ2lzdGVyZWQgd2hlbiB0aGV5IHNob3VsZCBiZQoKMjAxMy0wMy0wOSAyMzozNjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkgIFs2NzgvOTA2XSB3aW5kb3dfd2luMzJfd2dsOiBpbXBsZW1lbnQgd2dsR2V0UHJvY0FkZHJlc3MgZm9yIGV4dGVuc2lvbiBmdW5jdGlvbnMKCjIwMTMtMDMtMDkgMjI6NTM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs2NzcvOTA2XSBtZW1vcnk6IGZpeCBHU0laRSBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgoyMDEzLTAzLTA5IDIyOjUzOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJICBbNjc2LzkwNl0gd2luZHdvX3dpbjMyOiBwb3J0IHRvIG5ldyBBUEkKCjIwMTMtMDMtMDkgMjI6NDc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2NzUvOTA2XSB1cGxvYWQ6IHByb3ZpZGUgbmljZXIgZGVidWdnaW5nCgoyMDEzLTAzLTA5IDIyOjQ1OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSAgWzY3NC85MDZdIGZlYXR1cmU6IHRyeSBhbmQgY2F0Y2ggbW9yZSBHTCBleHRlbnNpb24gZnVuY3Rpb25zCgkgIGlmIHdlIGRvbid0IGZpbmQgdGhlIGV4dGVuc2lvbiBpbiBjb3JlIEdMLCB0cnkgdGhlIGV4dGVuc2lvbiB2ZXJzaW9uIGFueXdheQoKMjAxMy0wMy0wOSAyMjozNzozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2NzMvOTA2XSBmZWF0dXJlOiBhZGQgZ3N0cmVhbWVyIGxpY2Vuc2UKCjIwMTMtMDMtMDkgMjI6MDU6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjcyLzkwNl0gZGlzcGxheTogY29uc3RpZnkgR3N0R0xGdW5jcyAqZ2wKCjIwMTMtMDMtMDkgMjE6NTk6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs2NzEvOTA2XSB3aW4zMjogI2luY2x1ZGUgR0wvZ2xleHQuaCBvbiB3aW5kb3dzCgkgIGFsc28gYWRkIHNvbWUgR0wgZGVmYXVsdCB2YXJpYWJsZXMgaWYgc29tZSBHTCB0eXBlcyBhcmUgbm90IGRlZmluZWQKCjIwMTMtMDItMTggMjE6NDA6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs2NzAvOTA2XSBkaXNwbGF5OiByZXBsYWNlIGdsaWIgZGVwcmVjYXRlZCBhcGkKCjIwMTMtMDItMTIgMjM6NDg6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzY2OS85MDZdIHdpbmRvdzogc2VwZXJhdGUgb2JqZWN0IGNyZWF0aW9uIGFuZCBjb250ZXh0IGNyZWF0aW9uCgoyMDEzLTAyLTA0IDIxOjMwOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjY4LzkwNl0gc2hhZGVyOiBmaXggZ2xlczIgc2VnZmF1bHQKCjIwMTMtMDItMDQgMjE6Mjk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNjY3LzkwNl0gZmlsdGVyY3ViZTogZml4IGZvciBnbGVzMiBjb21waWxhdGlvbgoKMjAxMy0wMi0wMSAxODoyMDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNjY2LzkwNl0gc29iZWw6IHBvcnQgZm9yIG5vbi1nbGV3CgoyMDEzLTAyLTAxIDAwOjA4OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJICBbNjY1LzkwNl0gbW9zYWljOiBmaXggYSBjb3VwbGUgb2YgYXNzZXJ0aW9ucwoKMjAxMy0wMi0wMSAwMDowNjo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY2NC85MDZdIGZpbHRlcnNoYWRlcjogaW1wcm92ZSBlcnJvciBjaGVja2luZwoKMjAxMy0wMS0zMSAyMzo1MTowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzY2My85MDZdIGZpbHRlcnNoYWRlcjogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzo0NjozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzY2Mi85MDZdIGxhcGxhY2lhbjogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzo0Mzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJICBbNjYxLzkwNl0gZ2xhc3M6IHBvcnQgdG8gbm9uLWdsZXcgKyBzaGFkZXIgbWF0cmljZXMKCjIwMTMtMDEtMzEgMjM6Mzk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbNjYwLzkwNl0gY3ViZTogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6MzQ6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNjU5LzkwNl0gYmx1cjogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDEtMzEgMjM6MzI6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzY1OC85MDZdIG1peGVyOiBmaXggZW9zIHRpbWVzdGFtcCBjaGVjawoKMjAxMy0wMS0zMSAyMzozMTowOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzY1Ny85MDZdIGZpbHRlcmFwcDogcG9ydCB0byBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzoyOToxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY1Ni85MDZdIGJ1bXBlcjogdXNlIERyYXdFbGVtZW50cyBmb3Igc2VtaS1jb21wYXRhYmlsaXR5IHdpdGggRVMKCSAgYWxzbyBHTF9RVUFEUyBpc24ndCBhdmFpbGFibGUgd2l0aCBFUyBjb250ZXh0cwoKMjAxMy0wMS0xNyAyMzo0NTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNjU1LzkwNl0gZG93bmxvYWQ6IHJlbW92ZSBlcnJvbm91cyBSZWFkQnVmZmVyIGNhbGwKCSAgLSBpdCB3YXMgY2F1c2luZyBzZWdmYXVsdHMgaW4gbWVzYQoJICAtIHdlIGRpZG4ndCBzZXQgdGhlIHJlYWRidWZmZXIgc28gd2Ugc2hvdWxkbid0IHJlc2V0IGl0CgoyMDEzLTAxLTE3IDIzOjE3OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNjU0LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBwb3J0IHRvIG5vbi1HTEVXCgoyMDEzLTAxLTE3IDIzOjE2OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs2NTMvOTA2XSBkZWludGVybGFjZTogcG9ydCB0byBub24tR0xFVyArIGFycmF5cwoKMjAxMy0wMS0xNyAyMzoxNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzY1Mi85MDZdIGJ1bXBlcjogcG9ydCB0byBub24tR0xFVyArIGFycmF5cwoKMjAxMy0wMS0xNyAyMzoxMjozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzY1MS85MDZdIHVwL2Rvd25sb2FkOiBmaXggc29tZSB0eXBvcyB3aGVuIHJlbW92aW5nIEdMRVcKCjIwMTMtMDEtMTYgMjI6NDE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs2NTAvOTA2XSBmaWx0ZXI6IGZpeCBfZHJhd190ZXh0dXJlKCkncyB3cm9uZyB2ZXJ0aWNlcwoKMjAxMy0wMS0xNiAyMjoyNzoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSAgWzY0OS85MDZdIGVmZmVjdHM6IGZpeGVzIGZvciBtaXJyb3IoMSkgYW5kIHNxdWVlemUoMikgcHJvZHVjaW5nIGJsYWNrCgoyMDEzLTAxLTE2IDE1OjIzOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs2NDgvOTA2XSB0ZXN0cy9leGFtcGxlczogcmVtb3ZlIGRlcGVuZGVuY3kgb24gZ2xldwoKMjAxMy0wMS0xNiAxNToyMTo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs2NDcvOTA2XSByZW1vdmUgZGVwZW5kZWN5IG9uIGdsZXcKCjIwMTMtMDEtMTMgMDA6MDk6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIFs2NDYvOTA2XSBzb21lIGdsIGhlYWRlciBmaXhlcy9hZGRpdGlvbnMKCjIwMTMtMDEtMTAgMTM6MzI6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjQ1LzkwNl0gZml4IGdsZXMyIGNvbXBpbGF0aW9uCgoyMDEzLTAxLTEwIDEwOjU3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC8uZ2l0aWdub3JlOgoJICBbNjQ0LzkwNl0gdXBkYXRlIC5naXRpZ25vcmUgZm9yIHNvbWUgbmV3IGZpbGVzCgoyMDEzLTAxLTEwIDAxOjQ0OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNjQzLzkwNl0gZGlzcGxheTogcHJpdmF0aXNlIG1vc3Qgb2YgdGhlIHN0cnVjdAoKMjAxMy0wMS0xMCAwMToxMzoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs2NDIvOTA2XSBhZGQgZ3N0Z2xjb25maWcuaCBmb3IgYXBwcyB0byBmaW5kIG91dCB3aGF0IG91ciBjYXBhYmlsaXRlcyBhcmUKCSAgaWUgbGliZ3N0Z2wgY2FuIGJlIGNvbXBpbGVkIHdpdGggYW55IGNvbWJpbmF0aW9uIG9mIG9wZW5nbC9nbGVzMgoKMjAxMy0wMS0xMCAwMDozMDowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NDEvOTA2XSBkaXNwbGF5OiBmZWF0dXJlIGNoZWNrIGZvciBHTCBleHRlbnNpb24gZnVuY3Rpb25zCgoyMDEzLTAxLTEwIDAwOjI1OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzY0MC85MDZdIGJ1aWxkOiBhZGQgbWlzc2luZyBmaWxlIHRvIGJ1aWx0IHNvdXJjZXMKCjIwMTMtMDEtMTAgMDA6MjM6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJICBbNjM5LzkwNl0gYWRkIGdldF9wcm9jX2FkZHJlc3MgaW1wbGVtZW50YXRpb25zIGZvciBlZ2wgYW5kIGdseAoKMjAxMy0wMS0wOCAxNzo0MDozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIFs2MzgvOTA2XSB3aW5kb3c6IGFkZCBnZXRfcHJvY19hZGRyZXNzICsgc3R1YiBmb3IgcmV0cmlldmluZyBnbCBmdW5jdGlvbnMKCjIwMTMtMDEtMDggMTc6Mzg6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJICBbNjM3LzkwNl0geDExX2VnbDogYWRkIHByZWxpbSBzdXBwb3J0IGZvciBjaG9vc2luZyBvcGVuZ2wgb3IgZ2xlcwoKMjAxMy0wMS0wOCAxNzozNjoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjM2LzkwNl0gd2luZG93X3gxMTogY29tcGFjdCBkZWJ1ZyBpbmZvCgoyMDEzLTAxLTA3IDE0OjA4OjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYzNS85MDZdIGZpeHVwIGNvbXBpbGUgZXJyb3JzCgoyMDEyLTEyLTE5IDE0OjU0OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs2MzQvOTA2XSB3YXlsYW5kIGVnbDogZGVhY3RpdmF0ZSBjb250ZXh0IGJlZm9yZSB3ZSBkZXN0cm95IGl0CgkgIGF2b2lkcyBhIHNlZ2ZhdWx0IHdpdGggZHJpIGRyaXZlcnMKCjIwMTItMTItMTkgMTQ6MzI6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjMzLzkwNl0gZGlzcGxheTogZmFpbCBwcm9wZXJseSBpbiBjb250ZXh0IGNyZWF0aW9uIGluIG9yZGVyIHRvIG1pbmltaXplIGEgcmFjZSBjb25kaXRpb24KCSAgcHJldmlvdXNseSwgb24gY29udGV4dCBjcmVhdGlvbiwgd2hlbiB3ZSBmYWlsZWQgdG8gZ2V0IGEgdmFsaWQgY29udGV4dAoJICB3ZSB3b3VsZCBzdGlsbCBhdGVtcHQgdG8gcnVuIHRoZSB3aW5kb3cgbWFpbmxvb3AgYXMgd2VsbCBhcyBzZXR0aW5nIGFuIGVycm9yCgkgIG9uIHRoZSBkaXNwbGF5LiBUaGlzIHdvdWxkIGNhdXNlIHRoZSBjYWxsaW5nIGVsZW1lbnQgdG8gZmluYWxpemUgdGhlIGRpc3BsYXkKCSAgYW5kIHRoZXJlZm9yZSBhdHRlbXB0IHRvIHF1aXQgdGhlIHdpbmRvdyBtYWlubG9vcC4gIEhvd2V2ZXIgdGhlIG1haW5sb29wCgkgIG1heSBub3QgaGF2ZSBzdGFydGVkIHJ1bm5pbmcuICBUaHVzIHdoZW4gdGhlIHdpbmRvdyBtYWlubG9vcCByYW4gaXQgd291bGQKCSAgbmV2ZXIgYSBnZXQgYSBxdWl0IG1lc3NhZ2UgYW5kIG5ldmVyIGVuZC4KCjIwMTItMTItMTggMTg6MzE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNjMyLzkwNl0gcmVtb3ZlIHN0cmF5ICkKCSAgVGhlIHJlc3QgaXMgaW5kZW50IHN0dWZmIGZyb20gdGhlIHN0cmF5ICkKCjIwMTItMTItMTggMTg6Mjk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIFs2MzEvOTA2XSByZW1vdmUgcmVkZWZpbml0aW9uIHdhcm5pbmdzIGluIGNvbXBpbGluZyB0ZXN0cwoKMjAxMi0xMi0wOSAwOTozMjo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYzMC85MDZdIGRpc3BsYXk6IGFkZCBnbCBhcGkgY2hlY2tpbmcKCSAgaS5lLiBjaGVjayBmb3IgY2FzZXMgd2hlcmUgdGhlIHdpbmRvdyB3YW50cyBhIGRpZmZlcmVudCBBUEkgdGhhbgoJICB3aGF0IHRoZSBsaWJyYXJ5IHdhcyBjb21waWxlZCB3aXRoCgoyMDEyLTEyLTA5IDA5OjMwOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjI5LzkwNl0gd2luZG93OiBhZGQgR0Vycm9yIGZvciBlcnJvciBoYW5kbGluZyBvZiBjb250ZXh0IGNyZWF0aW9uCgoyMDEyLTEyLTA5IDA5OjA0OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjI4LzkwNl0gc2hhZGVyIGZpbHRlcjogZG9uJ3QgZG8gYW55dGhpbmcgaWYgd2UgZG9uJ3QgaGF2ZSBhIHNoYWRlciBmaWxlCgoyMDEyLTEyLTA3IDEzOjMyOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjI3LzkwNl0gc2hhZGVyOiBjaGVjayBmb3IgaW52YWxpZCBvYmplY3RzCgoyMDEyLTEyLTA3IDAwOjIwOjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzYyNi85MDZdIGZpeCBidWlsZCBmYWlsdXJlIGZyb20gdW5kZWZpbmVkIG1hY3JvCgoyMDEyLTEyLTA3IDAwOjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvUkVBRE1FOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs2MjUvOTA2XSBhZGQgdnRhYmxlIGZvciBvcGVuZ2wgZnVuY3Rpb25zCgkgIFRoZSB2dGFibGUgcHJvdmlkZXMgdGhlIGFiaWxpdHkgZm9yIG9uZSB0byBjb21waWxlIChidXQgbm90IGxpbmspCgkgIGFnYWluc3QgYm90aCBPcGVuR0wgYW5kIEdMfEVTIGFuZCBzdGFydHMgdGhlIG1vdmUgYXdheSBmcm9tIEdMRVcKCjIwMTItMTItMDYgMTg6NDA6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNjI0LzkwNl0gT1BFTkdMX0VTMiA9PiBIQVZFX0dMRVMyIGFuZCBhZGQgSEFWRV9PUEVOR0wKCSAgdXNlIEdzdEdMQVBJIHRvIGRldGVybWluZSB3aGljaCBjb2RlIHBhdGhzIHRvIGV4ZWN1dGUuCgkgIHBlcmZvcm0gc29tZSBjbGVhbnVwcwoKMjAxMi0xMi0wNiAxNzo0MDo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjIzLzkwNl0gbW92ZSBHTCBpbmNsdWRlcyBpbnRvIGEgc2luZ2xlIGZpbGUKCjIwMTItMTItMDUgMTc6MjM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs2MjIvOTA2XSBhZGQgbWlzc2luZyBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQgZm9yIGdsZXMyIGNvbXBhdGFiaWxpdHkKCjIwMTItMTItMDMgMTU6MDQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjEvOTA2XSBHc3RHTFJlbmRlcmVyQVBJID0+IEdzdEdMQVBJIGFuZCBnZXQgR3N0R0xBUEkgZnJvbSBhIHdpbmRvdwoKMjAxMi0xMS0zMCAxNzowOToyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBbNjIwLzkwNl0gd2F5bGFuZF9lZ2w6IGF0dGVtcHQgYXQgcmVzaXppbmcgdGhlIHZpZGVvCgoyMDEyLTExLTI5IDEzOjA2OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkgIFs2MTkvOTA2XSBmaXggdHlwbyBmb3Igd2luMzIgZGVidWcgdmFyaWFibGVzCgoyMDEyLTExLTI5IDAxOjAxOjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJICBbNjE4LzkwNl0gYWRkIHdheWxhbmQtZWdsIHdpbmRvdyBiYWNrZW5kCgoyMDEyLTExLTIwIDAwOjE1OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MTcvOTA2XSBmaXggJ3NldCBidXQgbm90IHVzZWQnIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTExLTE5IDIyOjU0OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MTYvOTA2XSBtb3ZlIHdpbmRvdy1zcGVjaWZpYyBjb2RlIGludG8gc2VwZXJhdGUgc3ViZm9sZGVycwoKMjAxMi0xMS0xOSAyMTo1MjoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkgIFs2MTUvOTA2XSBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBXaW4zMiBFR0wKCjIwMTItMTEtMTggMDE6MjM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjE0LzkwNl0gdHJ5IEdMWCBmaXJzdCB3aGVuIHVzaW5nIEFOWSB8IE9QRU5HTCB8IE9QRU5HTDMKCjIwMTItMTEtMTggMDE6MTY6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs2MTMvOTA2XSB3aW5kb3dfY29jb2E6IGZpeCBzZWdmYXVsdCB3aXRoIGdzdC1sYXVuY2gtMS4wIC1lIC4uLiBhbmQgc2VuZGluZyBTSUdJTlQgKEN0cmwtQykKCSAgR05Vc3RlcCBoYXMgYSBzaWduYWwgaGFuZGxlciBmb3IgU0lHSU5UIHdoaWNoIHJ1bnMgaW4gdGhlIG1haW4gdGhyZWFkLgoJICBIb3dldmVyIHRoYXQgdGhyZWFkIGhhcyBuZXZlciBiZWVuICdyZWdpc3RlcmVkJyB3aXRoIEdOVXN0ZXAgc28KCSAgdGhlIGF1dG9yZWxlYXNlIG1hZ2ljIG9mIG9iamVjdGl2ZS1jIGNhdXNlcyBhIHNlZ2ZhdWx0IGZyb20gYWNjZXNzaW5nCgkgIGEgbnVsbCBOU1RocmVhZCBvYmplY3Qgc29tZXdoZXJlIGRlZXAgaW4gR05Vc3RlcC4KCjIwMTItMTEtMTYgMTg6MDE6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNjEyLzkwNl0gcmVtb3ZlIEdOVXN0ZXAgbWFrZWZpbGVzCgoyMDEyLTExLTE2IDE3OjEzOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzYxMS85MDZdIGNvY29hIHBvcnQgb2YgZGV0ZXJtaW5pbmcgZ2wgcGxhdGZvcm0gYXQgcnVudGltZQoKMjAxMi0xMS0xNSAyMTo0NjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJICBbNjEwLzkwNl0gV2luZG93WDExRUdMOiByZW1vdmUgZ2V0X3BsYXRmb3JtIGNhbGwKCjIwMTItMTEtMTUgMTM6MTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSAgWzYwOS85MDZdIHdpbjMyIHBvcnQgb2YgZGV0ZXJtaW5pbmcgR0wgcGxhdGZvcm0gYXQgcnVudGltZQoJICAtIGFkZCBHc3RHTFdpbmRvd1dpbjMyIGFuZCBHc3RHTFdpbmRvd1dpbjMyV0dMIGFsb25nIHRoZSBzYW1lIGxpbmVzIGFzIHRoZQoJICBYMTEgdmFyaWFudHMKCjIwMTItMTEtMTQgMjA6Mzk6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkgIFs2MDgvOTA2XSBhZGQgR1NUX0dMX1BMQVRGT1JNX0FOWSBmb3IgY2hvb3NpbmcgYW55IHBsYXRmb3JtCgoyMDEyLTExLTE0IDIwOjM2OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2MDcvOTA2XSByZW1vdmUgZ2V0X3BsYXRmb3JtIGFuZCBnZXRfd2luZG93X2hhbmRsZSB2ZnVuY3MKCSAgLSByZW5hbWUgY2hvb3NlX3Zpc3VhbCgpIHRvIGNob29zZV9mb3JtYXQoKSBmb3IgbGF0ZXIgaW5jb3Jwb3JhdGluZwoJICB3aW4zMiBjaGFuZ2VzIGFuZCBuZXcgR3N0R0xQbGF0Zm9ybSBmb3IgV0dMLCBFR0wsIEdMWCwgZXRjLgoKMjAxMi0xMS0xMyAyMjoxMjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs2MDYvOTA2XSBkZXRlcm1pbmUgdGhlIEdMIHBsYXRmb3JtIHRvIHVzZSBhdCBydW50aW1lCgkgIC0gTWFrZSBHc3RHTFdpbmRvdyBzdWJjbGFzc2FibGVyYXRoZXIgdGhhbiBzcGVjaWZpZWQgYXQgY29tcGlsZSB0aW1lLgoJICAtIEFkZCBHc3RHTFdpbmRvd1gxMSBmb3IgeDExIHdpbmRvd3MgYW5kIHR3byBzdWJjbGFzc2VzLCBHc3RHTFdpbmRvd1gxMUdMWAoJICBhbmQgR3N0R0xXaW5kd1gxMUVHTCBmb3IgR0xYIGFuZCBFR0wgcmVwZWN0aXZlbHkuICh3aW4zMiBhbmQgY29jb2EKCSAgcG9ydHMgdG8gY29tZSkKCSAgLSBBbHNvIGNsZWFudXAgR0wgbGlicmFyeSBkZXRlY3Rpb24gaW4gY29uZmlndXJlLmFjCgoyMDEyLTEyLTAyIDE0OjU4OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjA1LzkwNl0gc2hhZGVyOiBtb3ZlIHRvIGdzdCBkZWJ1Z2dpbmcKCjIwMTItMTEtMjEgMTM6MzQ6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNjA0LzkwNl0gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhKCkKCjIwMTItMTEtMDggMjI6NTM6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs2MDMvOTA2XSB1cGRhdGUgRlNGIGFkZHJlc3MKCjIwMTItMTEtMDQgMTk6MTU6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzYwMi85MDZdIGhpZGUgZGVwcmVjYXRpb24gd2FybmluZ3Mgd2l0aCBuZXdlciBjbHV0dGVyIHZlcnNpb25zCgoyMDEyLTEwLTExIDAwOjI0OjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNjAxLzkwNl0gZml4IHR5cG8gY2F1c2luZyBzaGFkZXIgY29tcGlsYXRpb24gZmFpbHVyZSBmb3IgdXBsb2FkaW5nIEk0MjAKCjIwMTItMDktMjcgMTU6NTM6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzYwMC85MDZdIGRvY3M6IGFkZCBkb2NzIGZvciBuZXcgb2JqZWN0cyBhbmQgZXhwYW5kIG9uIHNvbWUgZXhpc3Rpbmcgb25lcwoKMjAxMi0wOS0yNiAwNzoxODo1MyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzU5OS85MDZdIEdMfEVTMjogZml4IHR5cG9zIGZyb20gcmVjZW50IGNoYW5nZXMgYW5kIG1ha2UgZG93bmxvYWRpbmcgUkdCIGZvcm1hdHMgd29yayBhZ2FpbgoKMjAxMi0wOS0yNSAxOToyNjoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNTk4LzkwNl0gZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBvZiBjbHV0dGVyc2hhcmUKCjIwMTItMDktMjUgMTg6MTM6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzU5Ny85MDZdIHRlc3RzOiBhZGQgc29tZSBzaW1wbGUgcGlwZWxpbmUgdGVzdHMgdG8gY2hlY2sKCjIwMTItMDktMjUgMTg6MDc6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1OTYvOTA2XSBjb2xvcnNjYWxlOiBwb3J0IG92ZXIgdG8gZmlsdGVyIGJhc2UgY2xhc3MKCjIwMTItMDktMjUgMTg6MDY6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU5NS85MDZdIHVwZGF0ZSBmb3IgZmlsdGVyIEFQSSBjaGFuZ2UKCSAgZ2xlZmZlY3RzIG5lZWRlZCBhIHNpbWlsYXIgY2hhbmdlCgoyMDEyLTA5LTI1IDE3OjU5OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzU5NC85MDZdIGZpbHRlcjogdXBkYXRlIGZvciB1cC9kb3dubG9hZCBBUEkgY2hhbmdlcyBhbmQgc2NhbGluZyBmaXhlcwoKMjAxMi0wOS0yNSAxNjowMzowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNTkzLzkwNl0gdGVzdHNyYy9pbWFnZXNpbms6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMKCjIwMTItMDktMjUgMTY6MDE6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1OTIvOTA2XSBtZW1vcnk6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMKCjIwMTItMDktMjUgMTY6MDA6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzU5MS85MDZdIG1peGVyOiBzYXZlIHRoZSB1cGxvYWQgb2JqZWN0IGluc3RlYWQgb2YgcXVlcnlpbmcgZm9yIGl0IGV2ZXJ5IGZyYW1lCgoyMDEyLTA5LTI1IDE1OjIwOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1OTAvOTA2XSB1cC9kb3dubG9hZDogZml4IHNjYWxpbmcgb24gdHJhbnNmZXIKCSAgaS5lLiB1cGxvYWRpbmcgZnJvbSBhIDEweDEwIHZpZGVvIGZyYW1lIHRvIGEgMjB4MjAgdGV4dHVyZSBpbnRvIGFub3RoZXIgMzB4MzAgdmlkZW9mcmFtZQoKMjAxMi0wOS0yMCAyMzo0NToyNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU4OS85MDZdIFJldmVydCAiR0xDb2xvcnNjYWxlOiBjb252ZXJ0IHRvIGEgYmluIG9mIGdsdXBsb2FkICEgZ2xkb3dubG9hZCIKCSAgVGhlIGVsZW1lbnRzIG5vIGxvbmdlciBleGlzdCBzbyB3ZSBoYXZlIHRvIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQKCjIwMTItMDktMjAgMjM6NDE6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbNTg4LzkwNl0gbW9zYWljOiB1cGRhdGUgZm9yIG1peGVyIGNoYW5nZXMgYW5kIGNvbnZlbmllbmNlIEFQSQoKMjAxMi0wOS0yMCAyMzoyNzowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTg3LzkwNl0gbWl4ZXI6IG1pcnJvciB0aGUgY2hhbmdlcyBkb25lIGZvciBmaWx0ZXIKCjIwMTItMDktMjAgMjM6MjE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzU4Ni85MDZdIGZpeCB1cCBzb21lIGRlYnVnIHN0YXRlbWVudHMgdG8gZ2V0IHRoZW0gaW50byB0aGUgcmlnaHQgY2F0ZWdvcmllcwoKMjAxMi0wOS0yMCAyMzoyMDowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzU4NS85MDZdIGdsdGVzdHNyYzogdXBkYXRlIGZvciBuZXcgR0xEb3dubG9hZCBpbiBsaWJzCgoyMDEyLTA5LTIwIDIzOjE2OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzU4NC85MDZdIGdsaW1hZ2VzaW5rOiB1cGRhdGUgZm9yIG5ldyBHTFVwbG9hZCBvYmplY3QgaW4gbGlicwoKMjAxMi0wOS0yMCAyMzowNjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFs1ODMvOTA2XSBkZWludGVybGFjZTogY2hhbmdlIGZvciBuZXcgQVBJCgkgIGFsc28gYWxsb3cgZWxlbWVudHMgdG8gY2FsbCB0aGUgX2ZpbHRlcl90ZXh0dXJlIHZmdW5jIGlmIHRoZXkgd2FudAoKMjAxMi0wOS0yMCAyMzowMzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1ODIvOTA2XSBmaWx0ZXJzOiBjaGFuZ2VzIGZvciBuZXcgQVBJCgoyMDEyLTA5LTE5IDAwOjMyOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzU4MS85MDZdIGZpbHRlcjogYWRkIHNlcGVyYXRlIGZpbHRlciBmdW5jdGlvbiBmb3Igb3BlcmF0aW5nIG9uIHRleHR1cmVzIGluc3RlYWQgb2YgYnVmZmVycwoKMjAxMi0wOS0xOSAwMDoyOTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgWzU4MC85MDZdIGJ1ZmZlcnBvb2w6IHJlbW92ZSBvYnNlbGV0ZSBnbCBtZXRhIGJ1ZmZlciBwb29sIG9wdGlvbnMKCjIwMTItMDktMTggMjE6NDI6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzU3OS85MDZdIGRvd25sb2FkOiBmaXggWVYxMiBmb3JtYXQKCSAgc2FtZSBhcyBJNDIwIGJ1dCBwbGFuZSAxKzIgc3dhcHBlZAoKMjAxMi0wOS0xOCAyMTozOToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzgvOTA2XSB7dXAsZG93bn1sb2FkOiBhZGQgdmFyaWFudHMgdGhhdCBjYW4gYmUgY2FsbGVkIGluIHRoZSBnbCB0aHJlYWQKCjIwMTItMDktMTcgMTA6Mzc6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNTc3LzkwNl0gcmVtb3ZlIHVwbG9hZCBhbmQgZG93bmxvYWQgZWxlbWVudHMgZnJvbSB0aGUgYnVpbGQgc3lzdGVtCgoyMDEyLTA5LTE3IDEwOjMwOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzYvOTA2XSByZW1vdmUgdW5lZWRlZCBHc3RHTE1ldGEgKHVzZSBHc3RWaWRlb01ldGEpCgoyMDEyLTA5LTE2IDIxOjQyOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzU3NS85MDZdIGZpbHRlcjogcG9ydCB0byBuZXcgdXBsb2FkL2Rvd25sb2FkCgoyMDEyLTA5LTE2IDIxOjM2OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzU3NC85MDZdIG1lbW9yeTogaW1wbGVtZW50IHRyYW5zcGVyZW50IHVwbG9hZC9kb3dubG9hZCBmb3IgZGF0YQoJICAobm90IGFzeW5jIHlldCkKCjIwMTItMDktMTYgMjE6MjM6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU3My85MDZdIGFkZCB1cGxvYWQgYW5kIGRvd25sb2FkIGxpYnJhcnkgb2JqZWN0cwoJICBhbGxvd3MgbXVsdGlwbGUgdXBsb2FkIHBpcGVsaW5lcyB0aGF0IHByZXZpb3VzbHkgd2Fzbid0IHBvc3NpYmxlCgkgIChpLmUuIHVwbG9hZCBSR0IgYW5kIEk0MjAgYW5kIC4uLiBvbiB0aGUgc2FtZSBHc3RHTERpc3BsYXkpCgoyMDEyLTA5LTE2IDIxOjExOjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNTcyLzkwNl0gcmVtb3ZlIHVwbG9hZCBhbmQgZG93bmxvYWQgZWxlbWVudHMKCSAgdG8gYmUgcmVwbGFjZWQgYnkgdXBsb2FkIGFuZCBkb3dubG9hZCBpbiBtZW1vcnkKCjIwMTItMDktMDUgMTQ6NTg6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzU3MS85MDZdIG1peGVyOiBmaXggZGVhZGxvY2sgb24gc2h1dGRvd24KCSAgZGlkbid0IHJlaXRlcmF0ZSBvdmVyIHRoZSBzaW5rcGFkJ3MgZGlzcGxheXMgYW5kIHJlYWN0aXZhdGUgdGhlbSBjYXVzaW5nIGEgZGVhZGxvY2sKCjIwMTItMDktMDQgMjI6NTA6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTcwLzkwNl0gcmVtb3ZlIHRoZSByZXF1aXJlbWVudCBmb3IgVmlkZW9NZXRhIHRvIGJlIHByZXNlbnQgb24gbm9uLUdMIGJ1ZmZlcnMKCjIwMTItMDgtMjAgMTY6NTU6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFs1NjkvOTA2XSBkaWZmZXJlbmNlbWF0dGU6IHByZXZlbnQgZG91YmxlIHVucmVmIG9mIHNoYWRlciBhbmQgbWlkdGV4dHVyZQoKMjAxMi0wOC0yNyAxNDowODoxNiArMDAwMCAgTWF0dGhldyA8bWF0dEBtYXR0LWJ1bnQtbGFwdC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzU2OC85MDZdIHdpbmRvdzogZml4IHB1YmxpYyBkZWZpbml0aW9ucwoKMjAxMi0wOC0yNyAxNDowNzozMSArMDAwMCAgTWF0dGhldyA8bWF0dEBtYXR0LWJ1bnQtbGFwdC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzU2Ny85MDZdIGZpeCBPcGVuR0x8RVMyIGlmZGVmJ2VkIGNvZGUKCjIwMTItMDgtMjAgMTM6Mjc6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNTY2LzkwNl0gZWZmZWN0czogYXZvaWQgdXNpbmcgdGFuaCBpbiBzaW5fZnJhZ21lbnQKCSAgSXQgcHJvZHVjZXMgd2VpcmQgcmVzdWx0cyBvbiBub3V2ZWF1LgoJICBQcm92aWRlIGFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIHdpdGggKDEtc2luaCkqY29zaAoKMjAxMi0wOC0yMCAxMzowNjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs1NjUvOTA2XSBlZmZlY3RzOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIHdpdGggbWVzYSBkcml2ZXJzCgoyMDEyLTA4LTE1IDIxOjM3OjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbNTY0LzkwNl0gZ2xtZW1vcnk6IHJlbW92ZSB1bnVzZWQgdHlwZWRlZgoKMjAxMi0wOC0xNSAxNjo1Mjo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NjMvOTA2XSByZWFkZCBzdXBwb3J0IGZvciBoYW5naW5nIEdMIHBpcGVsaW5lcyBlLmcuIC4uLiAhIGdsZWZmZWN0cyAhIGZha2VzaW5rCgoyMDEyLTA4LTE1IDE1OjM1OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU2Mi85MDZdIGdsZGlzcGxheTogZml4IGRvd25sb2FkIG9mIFlVViBmb3JtYXRzCgoyMDEyLTA4LTE0IDIzOjU1OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU2MS85MDZdIGdsZGlzcGxheTogZml4IGVuZGlhbmVzcyBpc3N1ZXMgb24gUkdCIGRvd25sb2FkCgoyMDEyLTA4LTE0IDE0OjQxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNTYwLzkwNl0gZXhhbXBsZXM6IHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzIGFuZCBnbGltYWdlc2luayBjaGFuZ2VzCgoyMDEyLTA4LTE0IDAyOjA1OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1NTkvOTA2XSBnbG1peGVyOiBwYXNzIHRoZSBtaXhwYWQncyBkaXNwbGF5IHRvIHRoZSBxdWVyeWluZyBlbGVtZW50CgoyMDEyLTA4LTEyIDE5OjAzOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzU1OC85MDZdIGFkZCBtaXNzaW5nIGluY2x1ZGVzIGZvciBfcG9zdF9taXNzaW5nX2VsZW1lbnRfbWVzc2FnZSBpbiBnbGNvbG9yc3BhY2UKCjIwMTItMDgtMTAgMTY6NDE6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNTU3LzkwNl0gRml4IHBsdWdpbiBkZWZpbmUgYW5kIHJlbW92ZSB3YXJuaW5nCgoyMDEyLTA4LTEwIDE1OjU1OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTU2LzkwNl0gR0xDb2xvcnNjYWxlOiBjb252ZXJ0IHRvIGEgYmluIG9mIGdsdXBsb2FkICEgZ2xkb3dubG9hZAoKMjAxMi0wOC0xMCAxNTozMToyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NTUvOTA2XSBNYWtlIHRoZSBxdWVyeSBmb3IgYSBHc3RHTERpc3BsYXkgYSBwYWQgcGVlciBxdWVyeQoJICBBbGxvd3MgdGhlIHF1ZXJ5IHRvIHBhc3MgdGhyb3VnaCBiaW4gYm91bmRhcmllcyBhbmQgbWFrZXMgaXQgcG9zc2libGUgZm9yCgkgIGFyYml0cmFyeSBnbCBlbGVtZW50cyB0byBiZSBwbGFjZWQgaW4gYmlucy4KCjIwMTItMDgtMDggMTY6MDg6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs1NTQvOTA2XSBHc3RHTE1lbW9yeTogdXBkYXRlIGZvciBHc3RBbGxvY2F0b3IgQVBJIGNoYW5nZXMKCjIwMTItMDctMTYgMjM6MzE6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs1NTMvOTA2XSBHc3RHTEZpbHRlclNoYWRlcjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMjM6MjI6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFs1NTIvOTA2XSBHc3RHTEZpbHRlckFwcDogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMjI6NDA6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTUxLzkwNl0gR3N0R0xPdmVybGF5OiBmaXggbG9hZGluZyBvZiBub24tc3F1YXJlIG92ZXJsYXlzCgkgIGxpYmpwZWcgY29tcGxhaW5zIGFib3V0ICJBcHBsaWNhdGlvbiByZWFkIHRvbyB7bWFueSxmZXd9IHNjYW4gbGluZXMiIGluIG5vbi1zcXVhcmUgaW1hZ2VzCgoyMDEyLTA3LTE2IDIxOjQwOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU1MC85MDZdIEdzdEdMT3ZlcmxheTogZml4IGxpYlBORyBjb21wbGFpbmluZyBhYm91dCB1bnNpZ25lZCBpbnRlZ2VyIGJlaW5nIG91dCBvZiByYW5nZQoKMjAxMi0wNy0xNiAyMTozNToyNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NDkvOTA2XSBHc3RHTE92ZXJsYXk6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDE1OjA2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNTQ4LzkwNl0gR3N0R0xEaWZmZXJlbmNlTWF0dGU6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDAwOjM2OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNTQ3LzkwNl0gR3N0R0xCdW1wZXI6IGZpeCBsaWJQTkcgY29tcGxhaW5pbmcgYWJvdXQgaW52YWxpZCBwbmcgZmlsZXMKCSAgV2UgZmFpbGVkIHRvIGluZm9ybSBsaWJQTkcgdGhhdCB3ZSBoYWQgYWxyZWFkeSByZWFkIHRoZSBoZWFkZXIKCjIwMTItMDctMTYgMDA6MDM6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzU0Ni85MDZdIEdzdEdMRmlsdGVyU29iZWw6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTEzIDAxOjA3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNTQ1LzkwNl0gR3N0R0xCdW1wZXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTEzIDAxOjA0OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTQ0LzkwNl0gZml4IG1lbW9yeSBsZWFrcyBmcm9tIG5vdCBnX2ZyZWUoKWluZyBzdHJpbmcgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfZ2V0X25hbWUKCjIwMTItMDctMTIgMTg6MjI6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTQzLzkwNl0gR3N0R0xEaXNwbGF5OiBmaXggc2VnZmF1bHQgZnJvbSBHU1RfUFRSX0ZPUk1BVCB0cnlpbmcgdG8gZXhwYW5kIHRoZSBvYmplY3QKCjIwMTItMDctMTIgMTg6MTk6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgWzU0Mi85MDZdIEdzdEdMTWl4ZXI6IGFkZCBhbGxvY2F0aW9uIGFuZCBidWZmZXJwb29sIG1ldGhvZHMKCSAgYmFzZWQgb2ZmIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMTItMDctMTIgMTg6MTE6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNTQxLzkwNl0gR3N0R0xUZXN0U3JjOiBnZW5lcmF0ZSBhIEdMQnVmZmVyUG9vbCBpbnN0ZWFkIG9mIGEgVmlkZW9CdWZmZXJQb29sIGluIGRlY2lkZV9hbGxvY2F0aW9uCgoyMDEyLTA3LTEyIDE4OjA5OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzU0MC85MDZdIEdzdEdMTW9zYWljOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMiAxODowNzozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1MzkvOTA2XSBHc3RHTEltYWdlU2luazogZm9sZCBtdWx0aXBsZSBmaWVsZHMgaW50byBvbmUgYW5kIHVzZSBWSURFT19TSU5LXyogZm9yIHdpbmRvdyB3aWR0aC9oZWlnaHQKCSAgcmVwbGFjZSB0aGUgY2FwcyBpbmZvcm1hdGlvbiB3aXRoIGEgR3N0VmlkZW9JbmZvCgkgIHBsYWNlIHRoZSB3aW5kb3cgd2lkdGgvaGVpZ2h0IGluZm9ybWF0aW9uIHdpZHRoIFZJREVPX1NJTksKCjIwMTItMDctMTEgMTQ6MjA6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSAgWzUzOC85MDZdIEdzdEdMRGVpbnRlcmxhY2U6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDEzOjU1OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNTM3LzkwNl0gR3N0R0xGaWx0ZXJSZWZsZWN0ZWRTY3JlZW46IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDEzOjM3OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFs1MzYvOTA2XSBHc3RHTEZpbHRlckdsYXNzOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzoxMTo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzUzNS85MDZdIEdzdEdMRmlsdGVyTGFwbGFjaWFuOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAwMToyNTowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFs1MzQvOTA2XSBHc3RHTEZpbHRlckN1YmU6IFVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDAxOjEwOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzUzMy85MDZdIEdzdEdMRmlsdGVyQmx1cjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMDkgMjI6Mjc6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTMyLzkwNl0gR3N0R0xGaWx0ZXI6IGltcGxlbWVudCBhbGxvY2F0aW9uIHZmdW5jcwoKMjAxMi0wNy0wOSAyMjoyNjoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs1MzEvOTA2XSBHc3RHTEVmZmVjdHM6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTA5IDE2OjE3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTMwLzkwNl0gR3N0R0xVcGxvYWQ6IGZpeCB2aWRlbyBzY2FsaW5nIGFuZCB1c2UgR0xfVVBMT0FEX0NBUFMKCjIwMTItMDctMDkgMTY6MTU6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzUyOS85MDZdIEdzdEdMRG93bmxvYWQ6IGZpeCB2aWRlbyBzY2FsaW5nIGFuZCB1c2UgR0xfRE9XTkxPQURfQ0FQUwoKMjAxMi0wNy0wOSAxNjoxMzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkgIFs1MjgvOTA2XSBHc3RHTE1ldGE6IHNlcGVyYXRlIHVwbG9hZC9kb3dubG9hZC9ub3JtYWwgR0wgY2FwcyB2aWRlbyBmb3JtYXRzCgkgIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB1cGxvYWQsIGRvd25sb2FkIGFuZCBHTCBjYXBzCgoyMDEyLTA3LTA5IDE2OjEyOjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzUyNy85MDZdIEdzdEdMRGlzcGxheTogYWRkIHNvbWUgdHJhY2UgZGVidWdnaW5nCgoyMDEyLTA3LTA4IDEzOjExOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNTI2LzkwNl0gR3N0R0xUZXN0U3JjOiB1cGRhdGUgZm9yIDEuMAoJICBpbXBsZW1lbnQgZGVjaWRlX2FsbG9jYXRpb24KCSAgcmVuYW1lIHB1c2hfc3JjX2NyZWF0ZSB0byBfZmlsbAoJICB1c2UgR3N0VmlkZW9JbmZvIHRvIGNvbnZlcnQgdGltZXMKCSAgbWFrZSB1c2Ugb2YgR3N0R0xNZXRhIGFuZCBmcmllbmRzCgoyMDEyLTA3LTA4IDAxOjUwOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIFs1MjUvOTA2XSBHc3RHTERvd25sb2FkOiBhZGQgYWxsb2NhdGlvbiBtZXRob2RzIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgR3N0R0xEb3dubG9hZCB3b3JrIHdpdGggdGhlIG5ldyBHc3RHTE1ldGEgYW5kIGZyaWVuZHMKCjIwMTItMDctMDggMDE6NDk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs1MjQvOTA2XSBHc3RHTERpc3BsYXk6IHJld29yayB0aGUgZG93bmxvYWQgY29kZQoJICBkYXRhIHBhcmFtYXRlcnMgbm93IHRha2UgR3N0VmlkZW9GcmFtZQoJICByZW1vdmUgcmVkdW5kYW50IHBhcmFtZXRlcnMKCjIwMTItMDctMDggMDE6MTE6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTIzLzkwNl0gdXBkYXRlIGZvciBtZXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTA4IDAxOjEwOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzUyMi85MDZdIEdzdEdMRGlzcGxheTogYWRkIGZvcmdvdHRlbiBmdW5jdGlvbiBkZWZpbml0aW9uCgoyMDEyLTA3LTA4IDAxOjA5OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTIxLzkwNl0gR3N0R0xNZW1vcnk6IHVwZGF0ZSBmb3IgR3N0QWxsb2NhdG9yIGNoYW5nZXMKCjIwMTItMDctMDcgMjI6NTY6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzUyMC85MDZdIEdzdEdMTWl4ZXI6IGZpeCBmb3IgR3N0Q2hpbGRQcm94eSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDE5OjEwOjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzUxOS85MDZdIEdzdEdMVXBsb2FkOiBpbXBsZW1lbnQgdGhlIGFsbG9jYXRpb24gZnVuY3MgYW5kIHVzZSBHc3RHTE1ldGEKCSAgbWFrZSB1c2Ugb2YgdGhlIG5ldyBHc3RHTE1ldGEsIEdzdEdMTWVtb3J5IGFuZCBHc3RHTEJ1ZmZlclBvb2wgb2JqZWN0cwoKMjAxMi0wNy0wNiAxOTowNzo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1MTgvOTA2XSBHc3RHTEltYWdlU2luazogYWRkIHByb3Bvc2VfYWxsb2NhdGlvbiBpbXBsIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgdXNlIG9mIEdzdEdMTWV0YSBhbmQgR3N0R0xNZW1vcnkKCjIwMTItMDctMDYgMTk6MDU6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgWzUxNy85MDZdIGFkZCBHc3RHTEJ1ZmZlclBvb2wKCSAgd2hpY2ggYWRkcyBHc3RHTE1ldGEgdG8gYnVmZmVycwoKMjAxMi0wNy0wNiAxODo1NzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJICBbNTE2LzkwNl0gYWRkIHNrZWxldG9uIEdzdEdMTWV0YQoJICB0aGUgR3N0VmlkZW9NZXRhIF9tYXAvdW5tYXAgZnVuY3Rpb25zIHN0aWxsIG5lZWQgaW1wbGVtZW50aW5nCgoyMDEyLTA3LTA2IDE4OjUxOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNTE1LzkwNl0gR3N0R0xEaXNwbGF5OiByZXdvcmsgZ2VuX3RleHR1cmUgYW5kIHVwbG9hZAoJICByZW5hbWUgZnVuY3Rpb25zIHNvIHRoYXQgb3RoZXIgY29kZSBjYW4gY3JlYXRlIHRleHR1cmVzIGluIHRoZSBHTCB0aHJlYWQKCSAgY2hhbmdlIHVwbG9hZCBmdW5jdGlvbnMgdG8gdGFrZSBhIEdzdFZpZGVvRnJhbWUKCSAgZGVmYXVsdCB0byBHTFNMIGZvciB1cGxvYWQgY29udmVyc2lvbgoKMjAxMi0wNy0wNiAxODoyMjoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbNTE0LzkwNl0gYWRkIEdzdEdMTWVtb3J5IGFuZCBhbGxvY2F0b3IKCSAgaW1wbGVtZW50IGN1c3RvbSBHc3RNZW1vcnkgZm9yIEdMIHRleHR1cmVzCgkgIGN1cnJlbnRseSBtYXAvdW5tYXAgcmV0dXJucyBOVUxMIGFsdGhvdWdoIGl0IG1pZ2h0IGJlIGZhdm91cmFibGUgdG8gdXBsb2FkL2Rvd25sb2FkL2NhY2hlIHRoZSBpbWFnZSBkYXRhCgoyMDEyLTA2LTE5IDE4OjQwOjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTEzLzkwNl0gUmVtb3ZlIEdzdEdMQnVmZmVyICh0byBiZSByZXBsYWNlZCBieSBHc3RHTE1ldGEpCgoyMDEyLTA2LTE5IDE1OjU0OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1MTIvOTA2XSBHc3RHTE1peGVyOiB1cGRhdGUgZm9yIDEuMCBiYXNlZCBvbiB0aGUgdmlkZW9taXhlcjIgZWxlbWVudCBpbiAtZ29vZAoKMjAxMi0wNi0wNyAwMDo1MTo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzUxMS85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAyMjo1OTozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1MTAvOTA2XSBHc3RHTEltYWdlU2luazogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTk6MTA6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzUwOS85MDZdIEdzdEdMRGlzcGxheTogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTg6NTM6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzUwOC85MDZdIEdzdEdMRG93bmxvYWQ6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE1OjQwOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzUwNy85MDZdIEdzdEdMVGVzdFNyYzogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTM6NTY6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MDYvOTA2XSBHc3RHTFVwbG9hZDogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDQgMTg6NDQ6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBbNTA1LzkwNl0gR3N0R0xDb2xvcnNjYWxlOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wMyAyMDo0MDo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1MDQvOTA2XSBHc3RHTEZpbHRlcjogdXBkYXRlIGZvciAxLjAKCSAgLWZpeCB1cCBmdW5jdGlvbiBkZWZpbml0aW9ucwoJICAtcmVtb3ZlIF9wcmVwYXJlX291dHB1dF9idWZmZXIgKGZ1bmN0aW9uYWxpdHkgdGFrZW4gb3ZlciBieSBHc3RCdWZmZXJQb29sKS4KCjIwMTItMDUtMzAgMTM6NDY6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUwMy85MDZdIFJlbmFtZSBHU1RfQk9JTEVSUExBVEVfKiB0byBHX0RFRklORV9UWVBFXyogYW5kIG1vdmUgX2Jhc2VfaW5pdCBpbnRvIF9jbGFzc19pbml0CgoyMDEyLTA1LTI5IDE3OjU1OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBbNTAyLzkwNl0gVXBkYXRlIHZlcnNpb25pbmcgZm9yIGdzdHJlYW1lciAxLjAKCSAgUmVuYW1lcyBHU1RfTUFKT1JNSU5PUiB0byBHU1RfQVBJX1ZFUlNJT04gaW4gYnVpbGQgZmlsZXMKCSAgcmVtb3ZlcyAtbGdzdGludGVyZmFjZXMgZnJvbSBfTERBREQgZmxhZ3MKCjIwMTItMDUtMjAgMTg6NDU6MDYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNTAxLzkwNl0gRml4IGJ1aWxkaW5nIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjQyOAoKMjAxMi0wNC0yMCAxMjozMzozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MDAvOTA2XSBnbGRpc3BsYXk6IGRvIG5vdCBjYWxsIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyBpZiAwIGlzIGJvdW5kCgkgIEluZGVlZCBpdCBtYXkgcmV0dXJuIEdMX0ZSQU1FQlVGRkVSX1VOREVGSU5FRCBpZiB0aGVyZSBpcyBubwoJICBkZWZhdWx0IGZyYW1lYnVmZmVyLgoJICBJdCBzZWVtcyB0byBiZSB0aGUgY2FzZSBvbiBNYWNPU1gKCjIwMTItMDQtMjAgMTE6MTk6MzIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNDk5LzkwNl0gZXhhbXBsZXM6IGZpeCBidWlsZCBvbiBNYWNPU1gKCjIwMTItMDQtMjAgMTA6NDE6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0OTgvOTA2XSBnbGRpc3BsYXk6IGRvbid0IHBhc3Mgbm9uLWNvbnN0YW50IHN0cmluZ3MgYXMgcHJpbnRmIGZvcm1hdCBzdHJpbmdzCgkgIEZpeGVzICdmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMnIG9uIGRhcndpbgoKMjAxMi0wNC0yMCAxMDozMjoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzQ5Ny85MDZdIGZpbHRlcnNoYWRlcjogZml4IGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wNC0yMCAxMDoyNjozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs0OTYvOTA2XSBjbWFrZSBidWlsZDogYWRkIHBhdGggdG8gY29uZmlnLmggb24gQVBQTEUKCjIwMTItMDQtMTggMTU6NDQ6MDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs0OTUvOTA2XSBnbEVTMi4wOiBwcm9wZXJseSB1c2UgZ2xEZWxldGVTaGFkZXIKCjIwMTItMDQtMTcgMTg6MjU6NTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs0OTQvOTA2XSBjbWFrZSBidWlsZDogdXNlIGNvbmZpZy5oIGZyb20gd2luMzIvY29tbW9uIGFuZCBhZGQgc29tZSBndWlkZWxpbmVzCgoyMDEzLTA2LTI4IDAwOjA0OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs0OTMvOTA2XSBnbGZpbHRlcnNoYWRlcjogZml4IGNyYXNoIHdoZW4gbG9hZGluZyBzaGFkZXIgZmlsZQoJICBKdXN0IHVzZSBnX2ZpbGVfZ2V0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiBob21lLW1hZGUgZmlsZSBsb2FkaW5nLgoJICBGaXhlcyB0d28gaXNzdWVzIC0gb25lIGlzIHRoYXQgd2Ugc2hvdWxkIHBhc3MgInIiIHRvIGZvcGVuIGFuZAoJICBub3QgT19SRE9OTFksIHRoZSBvdGhlciBpcyB0aGF0IGFuIGluY29ycmVjdCB2YXJpYWJsZSB3YXMgdXNlZAoJICB0byByZWFkIHRoZSBmaWxlIGxlbmd0aCwgbGVhZGluZyB0byBhbiBlbXB0eSBzaGFkZXIgZmlsZS4KCSAgU3BvdHRlZCBieTogV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjg0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODQ1CgkgIENvbmZsaWN0czoKCSAgZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmMKCjIwMTItMDQtMTMgMTU6MDg6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzQ5Mi85MDZdIGdsd2luZG93OiBwcm9wZXJseSBmYWlscyBpZiByZXNvdXJjZSBub3QgZm91bmQKCjIwMTItMDQtMTMgMTI6Mzg6MTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs0OTEvOTA2XSBnbEVTMi4wOiBwcm9wZXJseSBmYWlscyBpZiBkcml2ZXIva2VybmVsIGluY29uc2lzdGVuY3kKCjIwMTItMDQtMTEgMTA6NDQ6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs0OTAvOTA2XSBnbGRpc3BsYXk6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0CgoyMDEyLTA0LTEwIDE2OjEyOjE0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDg5LzkwNl0gZ2xpbWFnZXNpbms6IHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBub3cgcmV0dXJucyAiMS8xIiBieSBkZWZhdWx0CgkgIFByZXZpb3VzbHkgaXQgd2FzIG5vdCBzZXQKCSAgRml4IGJ1ZyAjNjcxNzM0IChjb21wYXRpYmlsaXR5IHdpdGggVG90ZW0pCgoyMDEyLTA0LTA0IDE2OjIyOjQwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDg4LzkwNl0gbGlidmlzdWFsLWdsOiBmdWxsIGNvbXBhdGliaWxpdHkgd2l0aCBwcm9qZWN0TS1saWJ2aXN1YWwgaWYgbGlicHJvamVjdE0gPj0gMi4wLjEKCSAgRml4IGJ1ZyAjMzEwNzc1CgoyMDEyLTAzLTA2IDE0OjMxOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs0ODcvOTA2XSBnbDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgICdpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHknLCB3aGljaCB3ZXJlIHJlYWwgYnVncyBhbmQKCSAgJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlJywgd2hpY2ggd2FzCgkgIG9ubHkgYW4gdW5uZWVkZWQgY29tcGFyaXNvbi4KCjIwMTEtMTItMjIgMTU6MzA6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDg2LzkwNl0gbGlidmlzdWFsLWdsOiBhZGQgbWluaW1hbCBzdXBwb3J0IHRvIGxpYnZpc3VhbCBwbHVnaW5zIHRoYXQgdXNlcyBGcmFtZWJ1ZmZlciBvYmplY3RzCgkgIEZpeCBidWcgIzMxMDc3NQoJICBnc3QtbGF1bmNoIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9wcm9qZWN0TSAhIGdsaW1hZ2VzaW5rIGlzIHdvcmtpbmcKCSAgYnV0IGZvciBub3cgeW91IGNhbm5vdCBhcHBlbmQgYW55IG90aGVyIG9wZW5nbCBmaWx0ZXJzIGJldHdlZW4KCSAgbGlidmlzdWFsX2dsX3Byb2plY3RNIGFuZCBnbGltYWdlc2luayBiZWNhdXNlIG91ciBGQk8gaXMgdHVybmVkIE9GRi4KCSAgSXQgd291bGQgcmVxdWlyZSB0aGF0IGxpYnZpc3VhbCBhbGxvd3MgdG8gc3BsaXQgcmVuZGVyaW5nIGJldHdlZW4KCSAgcGFzczEsMiwzLi4uIGFuZCBmaW5hbCByZW5kZXJpbmcuIEluIG9yZGVyIHRvIHVuYmluZCBvdXIgRkJPIGJlZm9yZQoJICB0aGUgcGFzc04sIGFuZCB0aGVuIHJlYmluZCBpdCBqdXN0IGJlZm9yZSB0aGUgZmluYWwgbGlidmlzdWFsIHJlbmRlcmluZy4KCjIwMTEtMTItMTUgMTg6MTM6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDg1LzkwNl0gZ3N0Z2xkaXNwbGF5OiB0dXJuIG9mZiB0ZXh0dXJlIGJpbmRpbmcgYW5kIHJlYWQgYnVmZmVyIHdoZW4gZG93bmxvYWRpbmcgcmdiIGlzIGRvbmUKCSAgSXQgZml4ZXM6IChibGFjayBpbWFnZSBiZWZvcmUpCgkgIGdzdC1sYXVuY2gtMC4xMCBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfbHZfZ2x0ZXN0ICEgZ2xkb3dubG9hZCAhIHhpbWFnZXNpbmsKCSAgYW5kCgkgIGdzdC1sYXVuY2gtMC4xMCAgYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX2x2X2dsdGVzdCAhIGdsZG93bmxvYWQgISBnbGltYWdlc2luawoKMjAxMS0xMi0xNSAxODowODo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJICBbNDg0LzkwNl0gbGlidmlzdWFsX2dsOiBjb3JyZWN0bHkgc2V0dXAgZGVwdGggYW5kIGJsZW5kIGZ1bmN0aW9ucwoKMjAxMS0xMi0xNSAxNjoxODozNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ4My85MDZdIGdsZWxlbWVudHM6IGRvIG5vdCBsZWFrIHBhcmVudCB3aGVuIHVzaW5nIGdzdF9wYWRfZ2V0X3BhcmVudAoKMjAxMS0xMS0yNSAxNjo1MTo1OSArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvQ01ha2VMaXN0cy50eHQ6CgkqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkgIFs0ODIvOTA2XSBleHQ6IEFkZCBhIGxpYnZpc3VhbCBwbHVnaW4gd3JhcHBpbmcgb3BlbmdsIGxpYnZpc3VhbAoJICBGaXggYnVnICMyMDIwNjkKCjIwMTEtMTEtMjQgMTY6MDI6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDgxLzkwNl0gZmVhdHVyZSBjaGVja2luZzogZXJyb3Igb3V0IGluc3RlYWQgb2YgZG9pbmcgbm90aGluZyBpZiBhbiBPcGVuR0wgZmVhdHVyZSBpcyBub3QgcHJlc2VudAoJICBGaXggYnVnICM1NzI3NjcKCjIwMTEtMTEtMjEgMTY6NDY6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs0ODAvOTA2XSB3aW4zMiBidWlsZHM6IGFkZCBnbHNoYWRlciBmaWx0ZXIgc291cmNlcyB0byB2czkgYW5kIGNvZGVibG9ja3MKCSAgQWxzbyBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5IGFuZCBtaW5ndy0zLjQuNQoKMjAxMS0xMS0yMSAxNTowNDoxNiArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzQ3OS85MDZdIGdzdGdsc2hhZGVydmFyaWFibGVzOiBzdHJ0b2tfciBpcyBub3QgbXVsdGlwbGF0Zm9ybQoJICBGaXggYnVnICM2NjQzNjcKCjIwMTEtMTEtMTggMTc6MzI6MDUgKzAxMDAgIFdlaSBGZW5nIDx3ZWkuZmVuZy53YXluZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzQ3OC85MDZdIE9wZW5HTCBFUyAyLjA6IGluY2x1ZGUgZ2xpYi5oIHRvIHVzZSBHX0JFR0lOX0RFQ0xTIGluIGdzdGdsZXMyLmgKCSAgRml4IGJ1ZyAjNjMxMDE5CgoyMDExLTExLTE4IDE3OjI3OjQ1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIFs0NzcvOTA2XSBPcGVuR0wgRVMgMi4wOiBmaXggYnVpbGQgc2luY2UgZ2xmaWx0ZXJzaGFkZXIgY2hhbmdlcwoKMjAxMS0xMS0xOCAxNzoyNjozNSArMDEwMCAgQW50b25pIFNpbHZlc3RyZSA8YW50b25pLnNpbHZlc3RyZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs0NzYvOTA2XSBPcGVuR0wgRVMgMi4wOiBmaXggYnVpbGQgYW5kIGRpc2FibGUgc29tZSBleGFtcGxlcwoJICBGaXggYnVnICM2MzEwMTkKCjIwMTEtMTEtMTggMTI6MTY6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs0NzUvOTA2XSBkb2NzOiBhZGQgZ2xtb3NhaWMgYW5kIGdsc2hhZGVyIHRvIGRvY3MKCjIwMTEtMTEtMTggMTE6NTI6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0NzQvOTA2XSBidWlsZDogbWFrZSBsaWJqcGVnIHVzZSBjb25kaXRpb25hbAoJICBEaXNhYmxlIGdsb3ZlcmxheSBlbGVtZW50IGlmIHdlIGRvIG5vdCBodmUgbGlianBlZwoKMjAxMS0xMS0xOCAxMDoxMDo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs0NzMvOTA2XSBjbWFrZSBidWlsZDogMi44IGlzIG5vdyByZXF1aXJlZCBhbmQgYWRkIGpwZWcKCSAganBlZyBhbmQgcG5nIHNob3VsZCBiZSBvcHRpb25hbCBidXQgb3VyIGNtYWtlIGJ1aWxkIGlzIHN0aWxsIGluIHByZS1hbHBoYQoKMjAxMS0xMS0xOCAwODowODoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDcyLzkwNl0gbGlucG5nOiBtYWtlIGxpYnBuZyB1c2UgY29uZGl0aW9uYWwKCSAgRGlzYWJsZSAzIGVsZW1lbnRzIGlmIHdlIGRvbid0IGhhdmUgbGlicG5nLgoKMjAxMS0xMS0xNyAxNzozNjo0NCArMDEwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4QGZyZWVzdXJmLmNoPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0NzEvOTA2XSBnbHNoYWRlcjogYWRkIGR5bmFtaWMgZnJhZ21lbnQgc2hhZGVyIGZpbHRlcgoJICBBbHNvIGFkZCBmcmFnbWVudCBzaGFkZXIgcGFyc2VyCgkgIEZpeCBidWcgIzYwMDE5NQoKMjAxMS0xMS0xNyAxNToyMjowNiArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQ3MC85MDZdIGdsb3ZlcmxheTogYWRkIGpwZWcgc3VwcG9ydAoJICBGaXggYnVnICM2MzYwNzAKCjIwMTEtMTEtMTcgMTE6Mzk6NTAgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNDY5LzkwNl0gZ2xvdmVybGF5OiBtYW5hZ2UgcmF0aW8gdGV4dHVyZQoJICBGaXggYnVnICM2MzA1MjUKCjIwMTEtMTEtMTcgMTE6MzQ6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSAgWzQ2OC85MDZdIHRlc3RzOiBmaXggY29tbWVudGFyeSBpbiBjbHV0dGVyYWN0b3IgZXhhbXBsZQoKMjAxMS0xMS0xNiAxNjo1MzoyNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzQ2Ny85MDZdIHRlc3RzOiB2YXJpb3VzIGJ1aWxkIGZpeGVzCgkgIC0gY21ha2UgY291bGQgbm90IGZpbmQgZ2xpYgoJICAtIHB1dCBndGsgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgdG8gYXZvaWQgR0wgY29uZmxpY3RzCgkgIC0gdXBkYXRlIGV4YW1wbGVzIHRvIGNsdXR0ZXItMS44CgkgIC0gdXNlIGNvbnN0IGluc3RlYWQgb2YgZGVwcmVjYXRlZCBHX0NPTlNUX1JFVFVSTgoJICAtIHNldCBtYXggcGVuZGluZyBldmVudHMgdG8gMCB0byBtYWtlIGN1YmUgZXhhbXBsZSB3b3JrcyBhZ2FpbgoKMjAxMS0wOC0wMyAwOTowODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbNDY2LzkwNl0gdGVzdHM6IEZpeCB2YXJpYWJsZSB1bnVzZWQgYnV0IHNldCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA4LTAzIDA5OjA3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNDY1LzkwNl0gZ2w6IEZpeCB2YXJpYWJsZSB1bnVzZWQgYnV0IHNldCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNS0yNSAxMToyMToxOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs0NjQvOTA2XSBnbGltYWdlc2luazogSW50ZXJmYWNlIHF1ZXJ5IHNob3VsZCByZXR1cm4gRkFMU0UgaWYgdGhlIHN1cHBsaWVkIGludGVyZmFjZSBpcyBub3QgR1NUX1RZUEVfWF9PVkVSTEFZCgoyMDEwLTEyLTE0IDIzOjU2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBbNDYzLzkwNl0gQWRkIHNvbWUgbW9yZSBHX3tCRUdJTixFTkR9X0RFQ0xTIHRvIHB1YmxpYyBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzcyNjAKCjIwMTAtMTAtMTkgMTg6MDA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDYyLzkwNl0gdmFyaW91czogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLiBJbmNsdWRlcyBzb21lIGdzdC1pbmRlbnQgY2hhbmdlcyBhcyB3ZWxsIDovCgoyMDEwLTA5LTE2IDE1OjAwOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNDYxLzkwNl0geG92ZXJsYXk6IHJlcXVpcmUgYmFzZSBmcm9tIGdpdCBhbmQgdXBkYXRlIHRvIG5ldyBBUEkKCjIwMTAtMDktMDggMjA6Mzg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs0NjAvOTA2XSBnc3RnbGVmZmVjdHM6IEZpeCB1cHBlciBib3VuZCBvZiBhbiBhcnJheSBpdGVyYXRpb24KCSAgMTAgaXMgYWJvdmUgTkVFREVEX1RFWFRVUkVTIChjdXJyZW50bHkgNSkgYW5kIG1ha2VzIHRoZSBjb2RlIGNvbnNpc3RlbnQKCSAgd2l0aCB0aGUgcmVzdCBvZiB0aGUgdXNhZ2UgaW4gdGhlIGZpbGUuCgoyMDEwLTA4LTExIDAwOjQ3OjQyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs0NTkvOTA2XSBGaXggZGlzdGNoZWNrLgoKMjAxMC0wNy0yMyAyMjoxMjoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzQ1OC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5CgoyMDEwLTA3LTEyIDE4OjM4OjU5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNDU3LzkwNl0gZ3RrIGV4YW1wbGVzOiBhZGFwdCBjb2RlIHNpbmNlIHRoZSBuYXRpdmUtd2luZG93IGNoYW5nZXMgZnJvbSBndGsKCSAgRml4ZXMgYnVnICM1OTk4ODUKCjIwMTAtMDUtMDUgMTE6MjE6MzEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTYvOTA2XSBnbGZpbHRlci9nbG1peGVyL2dsdGVzdHNyYy9nbHVwbG9hZDogdGhyb3cgYW4gZWxlbWVudCBlcnJvciBpZiBubyBwYXJlbnQgYmluCgkgIEZpeGVzIGJ1ZyAjNjAyMTUzCgoyMDEwLTA1LTA0IDExOjM3OjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs0NTUvOTA2XSBnbGltYWdlc2luazogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbwoKMjAxMC0wNS0wMSAxMToxOTo1NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0NTQvOTA2XSBibHVyOiBmaXggZ2F1c3NpYW4ga2VybmVsIGNvbXB1dGF0aW9uCgoyMDEwLTA0LTI5IDIwOjQ5OjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkgIFs0NTMvOTA2XSBibHVyOiBnaXZlIHVwIHNvbWUgYWNjdXJhY3kgZm9yIHNwZWVkCgkgIFNldHRsZSB3aXRoIDd4NyBnYXVzc2lhbiBjb252b2x1dGlvbiBrZXJuZWxzLCBtYXliZSBzbGlnaHRseSBsZXNzCgkgIGFjY3VyYXRlIHRoYW4gcHJldmlvdXMgOXg5IGJ1dCBmYXN0IGVub3VnaCB0byBiZSBhYmxlIHRvIHVzZSBpdCBvbiBpOTE1LgoJICBBYm91dCBhIDIwJSBwZXJjZW50IHNwZWVkIGdhaW4gKGFnYWluLCByb3VnaGx5IG1lYXN1cmVkIHdpdGgKCSAgdmlkZW90ZXN0c3JjIGFuZCBnbGltYWdlc2luayBzeW5jPWZhbHNlKS4gTm8gbm90aWNlYWJsZSByZW5kZXJpbmcKCSAgZGlmZmVyZW5jZSB3aXRoIGN1cnJlbnQgZWZmZWN0cy4KCjIwMTAtMDQtMjggMTc6MDg6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDUyLzkwNl0gc2luOiBnZXQgcmlkIG9mIGhscyBjb252ZXJzaW9uIGNvZGUKCSAgR2V0IHJpZCBvZiBidWdneSBhbmQgY29tcGxpY2F0ZWQgaGxzIGNvbnZlcnNpb24gY29kZSBmb3IgdGhlIHNpbiBlZmZlY3QuCgkgIFRoZSBvbmx5IHRoaW5nIG5lZWRlZCB3YXMgaHVlIGFueXdheSBhbmQgaXQgaXMgZWFzaWx5IGNhbGN1bGF0ZWQgdXNpbmcKCSAgUHJldWNpbCBmb3JtdWxhIGZvciByZ2IgdG8gcG9sYXIgY29vcmRpbmF0ZXMgY29udmVyc2lvbi4KCSAgTm93IHdvcmtzIG9uIGk5MTUgKHJlbW92ZWQgYWxsIHRoZSBJRiBibG9ja3MpLiBTdGlsbCBuZWVkcyBzb21lIHR1bmluZywKCSAgSSB3b25kZXIgaWYgaXQgd2lsbCBldmVyIHdvcmsgcHJvcGVybHkuCgoyMDEwLTA0LTMwIDExOjQ0OjI2ICswMjAwICBSb2xhbmQgUGVmZmVyIDxSb2xhbmQuUGVmZmVyQGNsaXh4dW4uZGU+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1MS85MDZdIGdsdXBsb2FkOiBwYXIgaXMgYWxyZWFkeSBoYW5kbGVkIGluIGZpeGF0ZV9jYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGJ1ZyAjNTkzMTY1CgoyMDEwLTA0LTMwIDExOjQyOjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDUwLzkwNl0gaW5kZW50OiBnc3RnbHVwbG9hZC5jCgoyMDEwLTA0LTI5IDE0OjIxOjI4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbNDQ5LzkwNl0gc29iZWw6IGRyb3AgdW51c2VkIHNpbmdsZSBwYXNzIHNvYmVsIHNoYWRlcgoJICBEcm9wIHVudXNlZCBzb2JlbCBzaGFkZXIsIGlmIGFueW9uZSBzdGlsbCBuZWVkcyBpdCwgZ2l0IGxvZyBpcyB5b3VyCgkgIGZyaWVuZC4KCjIwMTAtMDQtMjkgMTQ6MjA6NTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIFs0NDgvOTA2XSB4cmF5OiBpbmNyZWFzZSBlZGdlcyB2aXNpYmlsaXR5CgkgIFNvbWUgbGl0dGxlIGZpbmUgdHVuaW5nLCBzdGlsbCBub3QgY29tcGxldGVseSBzYXRpc2ZpZWQgeWV0LgoKMjAxMC0wNC0yOSAxMjo1OTo0MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbNDQ3LzkwNl0geHJheTogcG9ydCB0byB0aGUgbmV3IHNlcGFyYWJsZSBzb2JlbCBjb252b2x1dGlvbgoJICBQb3J0IHhyYXkgZWZmZWN0IHRvIHVzZSB0aGUgc2FtZSBzb2JlbCBjb252b2x1dGlvbiBqdXN0IHVzZWQgaW4KCSAgZ2xmaWx0ZXJzb2JlbC4gTm93IHhyYXkgdG9vIHdvcmtzIG9uIGk5MTUgKGEgYml0IHNsb3cpLgoKMjAxMC0wNC0yOSAxMDo1NzozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0NDYvOTA2XSBibHVyOiBmb3Jnb3QgdG8gYWRkIGFsbCB0aGUgY2hhbmdlcyBpbiBwcmV2aW91cyBjb21taXQKCjIwMTAtMDQtMjkgMDk6MTU6MjEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDQ1LzkwNl0gYmx1cjogdXNlIGRyYXdfdGV4dHVyZSBmcm9tIGdsZmlsdGVyCgoyMDEwLTA0LTI5IDA5OjAyOjEyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDQ0LzkwNl0gbGFwbGFjaWFuOiBwcmVjYWxjdWxhdGUgY29vcmRpbmF0ZXMKCSAgUHJlY2FsY3VsYXRlIGNvb3JkaW5hdGVzIHRvIGF2b2lkIHVubmVlZGVkIHRleHR1cmUgaW5kaXJlY3Rpb25zLgoJICBOb3cgbGFwbGFjaWFuIHdvcmtzIG9uIGk5MTUuCgoyMDEwLTA0LTI5IDA4OjI3OjI5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzQ0My85MDZdIHNvYmVsOiBtb3ZlIHNvbWUgaGlnaGx5IGR1cGxpY2F0ZWQgY29kZSBpbnRvIGdsZmlsdGVyCgkgIEFkZCBhIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbiBpbiBHc3RHTEZpbHRlciB0aGF0IGp1c3QgZHJhd3MgYW4gaW5wdXQKCSAgdGV4dHVyZSB0byBhIHRhcmdldCB0ZXh0dXJlIHVzaW5nIGEgc2ltcGxlIHNoYWRlciB3aXRoIGp1c3QgYSAidGV4IgoJICB1bmlmb3JtIHNhbXBsZXIuCgkgIE1vdmUgZHJhd190ZXh0dXJlIGZyb20gZ2xmaWx0ZXJzb2JlbCB0byBnbGZpbHRlci4gU3RpbGwgbmVlZCB0byB1cGRhdGUKCSAgb3RoZXIgcGx1Z2lucyB0byB0aGlzLgoKMjAxMC0wNC0yNyAyMTo1NjowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0NDIvOTA2XSBibHVyOiBvcHRpbWl6ZSBjb29yZGluYXRlcyBjYWxjdWxhdGlvbnMKCSAgU2F2ZSAyOCBpbnN0cnVjdGlvbnMgb24gaTkxNSAobWFpbmx5IHJlZHVuZGFudCBNT1ZzKSBhbmQgZ2FpbiBhIDI1JQoJICAocm91Z2hseSBtZWFzdXJlZCB3aXRoIHZpZGVvdGVzdHNyYyBhbmQgZ2xpbWFnZXNpbmsgc3luYz1mYWxzZSkgc3BlZWQKCSAgYnVtcAoKMjAxMC0wNC0yNyAxOTozODozMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSAgWzQ0MS85MDZdIHNvYmVsOiBjb252b2x2ZSBvbmx5IGx1bWEKCSAgUmV3b3JrIFNvYmVsIGEgbGl0dGxlIGJpdCBhZ2FpbiBtYWtpbmcgaXQgd29yayBhcyB0aGUgb2xkIG9uZToKCSAgMS4gZGVzYXR1cmF0ZSBpbnB1dCB0ZXh0dXJlCgkgIDIuIGNhbGN1bGF0ZSBob3Jpem9udGFsIGNvbnZvbHV0aW9uIGZvciB4IGdyYWRpZW50IGFuZCB2ZXJ0aWNhbAoJICBjb252b2x1dGlvbiBmb3IgeSBncmFkaWVudCBhdCB0aGUgc2FtZSB0aW1lIChoYWx2ZXMgdGhlIG51bWJlciBvZgoJICBuZWVkZWQgdGV4dHVyZSBsb29rdXBzKQoJICAzLiBzdG9yZSByZXN1bHRzIGluIGEgc2luZ2xlIHRleHR1cmUgKHJlZCBhbmQgZ3JlZW4gY2hhbm5lbCkKCSAgNC4gY2FsY3VsYXRlIHJlbWFpbmluZyBjb252b2x1dGlvbiAoc2FtZSBhcyBhYm92ZSBzd2l0Y2hpbmcgdmVydGljYWwgYW5kCgkgIGhvcml6b250YWwpCgkgIDUuIGNhbGN1bGF0ZSBsZW5ndGggb2YgZ3JhZGllbnQgdXNpbmcgcmVkIGFuZCBncmVlbiBhcyB4IGFuZCB5CgkgIGNvbXBvbmVudHMuCgkgIE9wdGltaXplIHdoZXJldmVyIHBvc3NpYmxlLCBzdG9yZSBrZXJuZWxzIGFzIGNvbnN0YW50cyBpbiB0aGUgc2hhZGVycywKCSAgcmVtb3ZlIHVubmVlZGVkIHVuaWZvcm1zLiBSZXN0b3JlIGludmVydCBwcm9wZXJ0eSBjYXJlZnVsbHkgYXZvaWRpbmcKCSAgdXNpbmcgSUYuCgkgIFN0aWxsIG5vdCBzdXJlIGlmICJmdWxsIGNvbG9yIiBjb252b2x1dGlvbiB3aWxsIGJlIG5lZWRlZCwgZ2xmaWx0ZXJzb2JlbAoJICBpcyB0byBiZSBpbnRlbmRlZCBhcyBhIGRlbW8gZmlsdGVyIGFuZCB4cmF5LCB0aGUgb25seSBlZmZlY3Qgd2hpY2ggdXNlcwoJICBzb2JlbCBvbmx5IG5lZWRzIGVkZ2UgaW50ZW5zaXR5LiBEcm9wcGluZyBpdCBmb3Igbm93LgoKMjAxMC0wNC0yNyAwOTowODoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSAgWzQ0MC85MDZdIHNvYmVsOiBpbXBsZW1lbnQgc29iZWwgZmlsdGVyIHVzaW5nIHNlcGFyYWJsZSBrZXJuZWxzCgkgIFJlaW1wbGVtZW50IHNvYmVsIGluIGEgbXVsdGlwYXNzIGZ1bGx5IHNlcGFyYXRlZCBjb252b2x1dGlvbjoKCSAgLSBjYWxjdWxhdGUgeCBncmFkaWVudCBtYXAgY29udm9sdmluZyBmaXJzdCBob3Jpem9udGFsbHkgd2l0aCBibHVycmluZwoJICBrZXJuZWwgYW5kIHRoZW4gdmVydGljYWxseSB3aXRoIGRpZmZlcmVudGlhdGluZyBrZXJuZWwKCSAgLSBjYWxjdWxhdGUgeSBncmFkaWVudCBtYXAgY29udm9sdmluZyBmaXJzdCB2ZXJ0aWNhbGx5IHdpdGggYmx1cnJpbmcKCSAga2VybmVsIGFuZCB0aGVuIGhvcml6b25hbGx5IHdpdGggZGlmZmVyZW50aWF0aW5nIGtlcm5lbAoJICAtIGNhbGN1bGF0ZSBsZW5ndGggb2YgdGhlIGdyYWRpZW50IHZlY3RvcgoJICBQYXJ0aWN1bGFyIGNhcmUgd2FzIG5lZWRlZCB3aXRoIG5vcm1hbGl6YXRpb24gb2YgdGhlIGJsdXJyaW5nIGtlcm5lbCBhbmQKCSAgd2l0aCBncmV5IGxldmVsIG9mZnNldCBvZiB0aGUgZGlmZmVyZW50aWF0aW5nIG9uZSB0byBwcmV2ZW50IG92ZXJmbG93IG9mCgkgIHJnYiB2YWx1ZXMgZnJvbSB0aGUgWzAuMCwxLjBdIHJhbmdlIGluIGludGVybWVkaWF0ZSBwYXNzZXMuCgkgIE5vdyB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yNiAxMzoyMDozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MzkvOTA2XSBzb2JlbDogZ2V0IHJpZCBvZiAjdmVyc2lvbiAxMjAgZGVwZW5kZW50IGFycmF5IGNvbnN0cnVjdG9ycwoKMjAxMC0wNC0yNyAxMTowNzowNCArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJICBbNDM4LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGltcHJvdmUgYmVoYXZpb3IgYW5kIGFkZCBzb21lIHByb3BlcnRpZXMKCSAgRml4ZXMgYnVnICM2MTIxNjMKCjIwMTAtMDQtMjYgMjM6NDg6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0MzcvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogcmVtb3ZlIHVudXNlZCBjb2RlIChjb3BpZWQvcGFzdGVkIGZyb20gZ2xmaWx0ZXJnbGFzcykKCjIwMTAtMDQtMjYgMjM6NDI6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzQzNi85MDZdIGdsZWZmZWN0c3NvdXJjZXM6IGZpeCBzb21lIHdhcm5pbmdzIGZyb20gbXN2YzkKCjIwMTAtMDQtMjYgMjM6Mzg6NTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFs0MzUvOTA2XSBHTlVTdGVwIGJ1aWxkOiBhZGQgZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4gc291cmNlcwoKMjAxMC0wNC0yNiAxNDo0MToxNyArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJICBbNDM0LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGZvcmdvdCB0byBhZGQgc291cmNlcwoKMjAxMC0wNC0yNiAxNDozMjoyOCArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQzMy85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBhZGQgbmV3IE9wZW5HTCBSZWZsZWN0ZWQgU2NyZWVuIGZpbHRlcgoJICBGaXhlcyBidWcgIzYxMjE2MwoKMjAxMC0wNC0yNiAxNDoxMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0MzIvOTA2XSBHc3RHTERpc3BsYXk6IHRoaXMgaXMgR0xfREVQVEgyNF9TVEVOQ0lMOF9FWFQsIG5vdCBHTF9ERVBUSDI0X1NURU5DSUw4X0VYVAoKMjAxMC0wNC0yNiAxMzo1NzowMCArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDMxLzkwNl0gR3N0R0xEaXNwbGF5OiBlbmFibGUgc3RlbmNpbCBidWZmZXIgd2hlbiB1c2luZyBmcmFtZWJ1ZmZlciBvYmplY3RzLgoJICBGaXhlcyBCdWcgIzYxMjE1OQoKMjAxMC0wNC0yNiAxMjo0NTo1NyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MzAvOTA2XSBjb252b2x1dGlvbjogc2F2ZSBzb21lIGluZGlyZWN0aW9uIGdyb3VwaW5nIG1hdGggYW5kIHNhbXBsaW5nCgkgIFRoYW5rcyB0byBFcmljIEFuaG9sdCBJJ3ZlIGZpbmFsbHkgdW5kZXJzdG9vZCAoYXQgbGVhc3QgSSBob3BlKSBob3cgdG8KCSAgY291bnQgdGV4dHVyZSBpbmRpcmVjdGlvbnMgYW5kIHNhdmUgdXAgc29tZS4gIFRleHR1cmUgc2FtcGxpbmcgZGVwZW5kZW50CgkgIG9uIHRoZSByZXN1bHQgb2Ygc29tZSBtYXRoIGNvdW50cyBhcyBhbiBpbmRpcmVjdGlvbiBwaGFzZS4gR3JvdXBlZAoJICB0ZXh0dXJlIGxvb2t1cHMgd2l0aCBubyBtYXRoIGludm9sdmVkIGNvdW50IGFzIGEgc2luZ2xlIGluZGlyZWN0aW9uLgoJICBNYXRoIG9uIHRoZSBjb29yZGluYXRlcyBjb3VudCBhcyBpbmRpcmVjdGlvbi4KCSAgU28gdGhlIGJlc3QgdGhpbmcgaXMgdG8gZ3JvdXAgYWxsIHRoZSBtYXRoIGludm9sdmluZyBjb29yZGluYXRlcyBhbmQKCSAgdGhlbiBkbyBhbGwgdGhlIGxvb2t1cHMuCgkgIFRoaXMgc2F2ZXMgZW5vdWdoIGluZGlyZWN0aW9ucyB0byBtYWtlIGdsZmlsdGVyYmx1ciBhbmQgZ2xvdyBlZmZlY3QKCSAgd29yaywgYWxiZWl0IGEgYml0IHNsb3dseSwgb24gaTkxNS4KCjIwMTAtMDQtMjUgMTA6NTU6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs0MjkvOTA2XSBsYXBsYWNpYW46IHJlbW92ZSB1bnVzZWQgbm9ybV9jb25zdCBhbmQgbm9ybV9vZmZzZXQgdW5pZm9ybXMKCSAgUmVtb3ZlIHVudXNlZCB1bmlmb3JtcyBmcm9tIHRoZSBsYXBsYWNpYW4gZmlsdGVyLiBBbHNvIHJlbW92ZSBpZgoJICBrZXJuZWxbaV0gIT0gMCBjaGVja3Mgc28gdGhhdCBpdCBjb21waWxlcyB3aGVyZSBJRiBpcyBub3QgYXZhaWxhYmxlLgoJICBBZ2FpbiwgYmlnIHRoYW5rcyB0byBFcmljIEFuaG9sdCBmb3IgdGhlIGhpbnRzLgoKMjAxMC0wNC0xMyAxNjoyMDowMiAtMDcwMCAgRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDI4LzkwNl0gbGFwbGFjaWFuOiBBdm9pZCB1c2luZyBHTFNMIDEuMjAgZmVhdHVyZXMgaW4gYSBub24tI3ZlcnNpb25lZCBzaGFkZXIuCgkgIEZpeGVzIGNvbXBpbGUgb24gTWVzYS4KCjIwMTAtMDQtMjUgMTA6MzE6MDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI3LzkwNl0gcmdiX3RvX2N1cnZlOiBzYXZlIHVwIGEgdGV4dHVyZSBpbmRpcmVjdGlvbgoJICBBcHBhcmVudGx5IGFzc2lnbmluZyBnbF9UZXhDb29yZCB0byBhIHRlbXAgY291bnQgYXMgYW4gaW5kaXJlY3Rpb24uCgkgIFVzaW5nIGl0IGRpcmVjdGx5IGF2b2lkcyBpdCBhbmQgbGltaXRzIGluZGlyZWN0aW9ucyB0byBmb3VyIG5vdAoJICBleGNlZWRpbmcgaTkxNSBsaW1pdC4gTm93IHhwcm8gZWZmZWN0IHdvcmtzIG9uIGk5MTUuCgoyMDEwLTA0LTI1IDEwOjA0OjI4ICswMjAwICBWaW5zb24gTGVlIDx2bGVlQHZtd2FyZS5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjYvOTA2XSBtdWx0aXBseTogZml4IGEgY29tcGlsYXRpb24gZXJyb3Igd2l0aCBBcHBsZSBjb21waWxlcgoJICBGaXggbXVsdGlwbHlfZnJhZ21lbnRfc291cmNlIHRvIGNvbXBpbGUgd2l0aCBBcHBsZSBHTFNMIGNvbXBpbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NzQ4CgoyMDEwLTA0LTI0IDIxOjExOjM1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNS85MDZdIHR3aXJsOiBnZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24KCSAgR2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBpbiB0aGUgdHdpcmwgZWZmZWN0LiBUaGUgc2FtZSBjYW4gYmUgZG9uZQoJICB1c2luZyBhIHJvdGF0aW9uIG1hdHJpeCwgc2F2aW5nIGFsdSBpbnN0cnVjdGlvbnMgYW5kLCBtb3N0IG9mIGFsbCwKCSAgYXZvaWRpbmcgdGhlIHVzZSBvZiB0aGUgZXZpbCBhdGFuKCkgZnVuY3Rpb24gKHdoaWNoIHVzZXMgSUYgb3BlcmF0b3JzKS4KCSAgQ2FsY3VsYXRlIHJvdGF0aW9uIGFuZ2xlIGluIGEgc2FuZXIsIHVuZGVyc3RhbmRhYmxlIHdheS4KCSAgV29ya3Mgb24gaTkxNSEgKEhvcGUgaXQgc3RpbGwgd29ya3MgZWxzZXdoZXJlIHRvbyBhcyBJJ20gbm90IGFibGUgdG8KCSAgdGVzdCBhdCB0aGUgbW9tZW50KQoKMjAxMC0wNC0yNCAyMDo0MzozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjQvOTA2XSB0dW5uZWw6IGdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgY29udmVyc2lvbgoJICBHZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGluIHRoZSB0dW5uZWwgZWZmZWN0IGFzIHRoZSBzYW1lIGNhbiBlYXNpbHkKCSAgYmUgZG9uZSBqdXN0IGNsYW1waW5nIHRoZSByYWRpdXMgYW5kIG11bHRpcGx5aW5nLgoJICBSZW1vdmUgdGhlIGV2aWwgYXRhbigpIGNhbGwgdGhhdCB1c2VzIGJyYW5jaGluZyBhbmQgYSBsb3Qgb2YgdW5uZWVkZWQgYWx1CgkgIGluc3RydWN0aW9ucy4gTm93IHdvcmtzIG9uIGk5MTUhCgoyMDEwLTA0LTIzIDIwOjA2OjQ4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkgIFs0MjMvOTA2XSBjb252b2x1dGlvbjogZ2VuZXJhdGUgZ2F1c3NpYW4ga2VybmVsIG9uIHRoZSBmbHkKCSAgR2VuZXJhdGUgYSBub3JtYWxpemVkIGdhdXNzaWFuIGtlcm5lbCB3aXRoIGdpdmVuIHNpemUgYW5kIHN0YW5kYXJkCgkgIGRldmlhdGlvbiBvbiB0aGUgZmx5LgoJICBSZW1vdmUgIm5vcm1fY29uc3QiIHVuaWZvcm0gZnJvbSBjb252b2x1dGlvbiBzaGFkZXJzIGFuZCBwcm92aWRlIGEKCSAgbm9ybWFsaXplZCBrZXJuZWwgaW5zdGVhZC4gUmVtb3ZlIG5vcm1fb2Zmc2V0IHVuaWZvcm0gYXMgaXQgd2FzIGFsd2F5cwoJICB6ZXJvLCB3aWxsIHJlaW50cm9kdWNlIGl0IGlmIHJlYWxseSBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4gVGhhbmtzIHRvIEVyaWMKCSAgQW5ob2x0IGZvciBzdWdnZXN0aW5nIGl0LgoJICBTYXZlIHNvbWUgQUxVIGluc3RydWN0aW9uIGNhbGN1bGF0aW5nIGRpcmVjdGx5IHRoZSBjb29yZGluYXRlIGZvcgoJICB0ZXh0dXJlIGxvb2t1cCBpbnN0ZWFkIG9mIHN1bW1pbmcgYW4gb2Zmc2V0LgoJICBTdGlsbCBleGNlZWQgbWF4aW11bSBpbmRpcmVjdCB0ZXh0dXJlIGxvb2t1cHMgb24gaTkxNSwgdGhlIG9ubHkgc29sdXRpb24KCSAgSSBzZWUgaXMgdXNpbmcgYSAzeDMga2VybmVsLgoKMjAxMC0wNC0yMyAxNzo0OTo0NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjIvOTA2XSBjb252b2x1dGlvbjogcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXIgdXNlZAoJICBSZWR1Y2UgdGhlIG51bWJlciBvZiByZWdpc3RlciBjYWxjdWxhdGluZyB0ZXh0dXJlIGxvb2t1cCBvZmZzZXQgb24gdGhlCgkgIGZseS4gSXQgd2FzIGp1c3QgYSBzaW1wbGUgc2VxdWVuY2UsIG5vIG5lZWQgdG8gc3RvcmUgaXQgaW4gYSBhcnJheS4KCSAgRml4ZXMgbWF4aW11bSBudW1iZXIgb2YgcmVnaXN0ZXJzIGV4Y2VlZGVkIGVycm9yIHdpdGggaTkxNS4gU3RpbGwKCSAgZXhjZWVkIG1heGltdW0gaW5kaXJlY3QgdGV4dHVyZSBsb29rdXBzIGFuZCBtYXhpbXVtIEFMVSBpbnN0cnVjdGlvbnMuCgkgIE1heWJlIHdlIHNob3VsZCBnYXZlIHVwIHNvbWUgYmx1ciBnb29kbmVzcyBhbmQgdXNlIGxpZ2h0bHkgbW9yZSBsaXR0bGUKCSAga2VybmVscy4KCjIwMTAtMDQtMjMgMTc6Mzc6MjEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDIxLzkwNl0gY29udm9sdXRpb246IGRvbid0IGNoZWNrIGtlcm5lbFtpXSB0byBiZSBub24gemVybwoJICBBcHBhcmVudGx5IHNhdmluZyB1cCBzb21lIHRleHR1cmUgbG9va3VwIGZvciB6ZXJvIGtlcm5lbCBlbGVtZW50cyBpcwoJICBkZWZpbml0ZWx5IG5vdCB3b3J0aCB0aGUgdXNlIG9mIGJyYW5jaGluZy4gVGhpcyB3YXkgY29udm9sdXRpb24KCSAgZnJhZ21lbnQgcHJvZ3JhbXMgYWxzbyB3b3JrIHdoZXJlIElGIG9wZXJhdG9yIGlzIG5vdCBzdXBwb3J0ZWQgKHRlc3RlZAoJICBvbiBpOTE1IGFuZCBub3V2ZWF1KS4gU2VlIGFsc28gZGlzY3Vzc2lvbiBvbiBidWcgIzYxNTY5Ni4KCSAgVGhhbmtzIHRvIEVyaWMgQW5ob2x0IGZvciBzcG90dGluZyB0aGlzLgoKMjAxMC0wNC0yMyAxNzozMDo0NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0MjAvOTA2XSBibHVyOiB1c2UgY29tbW9uIHNoYWRlciBzb3VyY2VzCgkgIFBvcnQgYmx1ciBmaWx0ZXIgdG8gdXNlIHRoZSBjb21tb24gY29udm9sdXRpb24gc2hhZGVycyBpbgoJICBnc3RnbGVmZmVjdHNzb3VyY2VzLmMuIFRoaXMgcmVkdWNlcyBjb2RlIGR1cGxpY2F0aW9uIGFuZCwgaW5jaWRlbnRhbGx5LAoJICB0aGUgc2hhZGVycyBpbiB0aGUgY29tbW9uIGZpbGUgd2VyZSBhbHJlYWR5IHVwZGF0ZWQgdG8gbm90IHVzZSBhcnJheQoJICBjb25zdHJ1Y3RvciBhbmQgdG8gbm90IGRlcGVuZCBvbiAjdmVyc2lvbiAxMjAuCgkgIEZpcnN0IHN0ZXAgdG93YXJkcyBidWcgIzYxNTY5NiBmaXhpbmcuCgoyMDEwLTA0LTIzIDE3OjE5OjUwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQxOS85MDZdIGJsdXI6IHJlbW92ZSBob3Jpem9udGFsIGZsaXAKCSAgQXBwYXJlbnRseSB0aGVyZSB3YXMgc29tZSBzdGFsZSBob3Jpem9udGFsIGZsaXAgZnVuY3Rpb24gc3RpbGwgdGhlcmUKCSAgZnJvbSBteSBzdW1tZXIgb2YgY29kZSBleHBlcmltZW50cy4gUmVtb3ZlIGl0LgoKMjAxMC0wNC0yMyAxNzoxNDo1OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MTgvOTA2XSBlZmZlY3RzOiBkaXNhYmxlIGdzdC1pbmRlbnQgaW4gdGhlIHNvdXJjZXMKCSAgRml4IHNvbWUgY3JhenkgZm9ybWF0dGluZyBjYXVzZWQgYnkgZ3N0LWluZGVudCBwcmV2aW91cyBydW5zIGFuZCBkaXNhYmxlCgkgIHRoZSBzY3JpcHQgZm9yIHRoaXMgZmlsZS4gVGhlIGJlc3Qgd291bGQgYmUgdG8gbW92ZSBzaGFkZXJzIGludG8KCSAgc2VwYXJhdGUgZmlsZXMgYW5kIGxvYWQgdGhlbSBhdCBydW50aW1lIG9yIGhhcmRjb2RlIHRoZW0gYXQgY29tcGlsZQoJICB0aW1lLgoKMjAxMC0wMy0zMSAxMjo0MDoxMiArMDIwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzQxNy85MDZdIGdsYnVtcGVyOiBVc2UgcG5nX3NpZ19jbXAoKSBpbnN0ZWFkIG9mIHBuZ19jaGVja19zaWcoKQoJICBGaXhlcyBidWcgIzYxMzE4NgoKMjAxMC0wMy0yNCAxMToxMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQxNi85MDZdIGdsOiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkKCSAgRml4ZXMgIzYxMzM3MS4KCjIwMTAtMDMtMDkgMDE6MzU6NDIgKzAxMDAgIE5pY2hvbGFzIFBhbmF5aXMgPG5pY2tAbW92ZW5jeS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzQxNS85MDZdIGdzdGdsd2luZG93X3dpbjMyOiBzaGFyZSBvcGVuZ2wgY29udGV4dCBpbiBjb3JyZWN0IG9yZGVyCgkgIEFsbG93IHRvIHVzZSB0aGUgb3BlbmdsIGNvbnRleHQgc2hhcmluZyBmZWF0dXJlIGlmIHRoZSBvcmlnaW5hbAoJICBjb250ZXh0IGhhcyBiZWVuIHVzZWQgYWxyZWFkeS4KCSAgVGhpcyBpcyBvbmx5IHBvc3NpYmxlIG9uIHdpbjMyIHdpdGggd2dsU2hhcmVMaXN0cyBiZWNhdXNlIG9uIG90aGVyCgkgIGJhY2tlbmRzLCB0aGUgc2hhcmluZyBpcyBtYWRlIHdoZW4gYSBjb250ZXh0IGlzIGNyZWF0ZWQuCgkgIFRoaXMgbmV3IGZlYXR1cmUgaXMgb25seSB1c2VmdWxsIHdoZW4gdXNpbmcgZXh0ZXJuYWwgY29udGV4dAoJICBiZWNhdXNlIGdzdC1nbCBpbnRlcm5hbGx5IG1ha2VzIHN1cmUgdGhhdCB0aGUgb3JnaW5hbCBjb250ZXh0IGlzIG5vdAoJICBhbHJlYWR5IHVzZWQgd2hlbiBzaGFyaW5nIGl0LgoJICBGaXggYnVnICM2MTEwNjcKCjIwMTAtMDMtMDkgMDE6MjQ6MDYgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs0MTQvOTA2XSBnbGJ1bXBlci9nbGRpZmZlcmVuY2VtYXR0ZS9nbG92ZXJsYXk6IGxpYnBuZyAxLjQueCBjb21wYXRpYmxlCgkgIEZpeCBidWcgIzYwODY0MwoKMjAxMC0wMS0xMiAxODozMjozOSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQxMy85MDZdIEZpeCBXaW5kb3dzIGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdC9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYwoKMjAxMC0wMS0wNiAwMDoxMzo0NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNDEyLzkwNl0gQ29jb2EgYmFja2VuZDogaW1wcm92ZSBzdXBwb3J0IG9uIEdOVVN0ZXAKCjIwMDktMTItMTggMDA6MzQ6MTMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzQxMS85MDZdIGdzdGdsbWl4ZXI6IGNvcHkvcGFzdCByZWNlbnQgY2hhbmdlcyBmcm9tIGdzdHZpZGVvbWl4ZXIKCjIwMDktMTItMTYgMDE6MzM6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzQxMC85MDZdIGdzdGdsbWl4ZXI6IGluYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHQgYmVmb3JlIHRvIHJlbGVhc2Ugb3VycwoJICBGaXJzdCwgaW5hY3RpdmF0ZSBzaGFyZWQgZ2wgY29udGV4dHMga25vd24gYnkgZWFjaCBzaW5rIHBhZC4KCSAgVGhlbiwgZGVzdHJveSB0aGUgZ2wgY29udGV4dCBrbm93biBieSB0aGUgZ2xtaXhlci4KCSAgRmluYWxseSwgcmUtYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHRzLgoJICBUaGlzIGlzIHRvIHNhdGlzZnkgdGhlIGZhY3QgdGhhdCBubyBzaGFyZWQgZ2wgY29udGV4dCBtdXN0IGJlIGN1cnJlbnQKCSAgd2hlbiBhbiBvcGVuZ2wgY29udGV4dCBpcyBkZXN0cm95ZWQuCgkgIE1vcmVvdmVyIHRoZSBhcHBsaWNhdGlvbiBtYXkgaGFuZyBvciBjcmFzaCB3aXRob3V0IHRob3NlIHN0ZXBzLgoKMjAwOS0xMS0yNSAxMDoyNDozNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs0MDkvOTA2XSBnbGVmZmVjdHM6IGluZGVudCBhbmQgZml4IHNvbWUgd2FybmluZ3MgaW4gRVMgMi4wIG1vZGUKCjIwMDktMTEtMjEgMjE6NDA6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQwOC85MDZdIGdsZWZmZWN0czogc3RhcnQgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGggT3BlbkdMIEVTIDIuMAoJICBGb3Igbm93IG9ubHkgaWRlbnRpdHksIG1pcnJvciBhbmQgc3F1ZWV6ZSBlZmZlY3RzIGFyZSBhdmFpbGFibGUuCgkgIE1heWJlIHNvbWUgZmFjdG9yaXphdGlvbiBpcyBuZWVkZWQgYWJvdXQgY29tcGlsYXRpb24gc2hhZGVyCgkgIGJlZm9yZSB0byBwdXQgdGhlIG90aGVyIGVmZmVjdHMgc2luY2Ugb25seSBhIGNvcHkvcGFzdCBpcyBuZWVkZWQsCgkgIGF0IGxlYXN0IHVudGlsIGVmZmVjdCBudW1iZXIgOTogaGVhdC4KCSAgVGhlIGVmZmVjdHMgZnJvbSAxMDpzZXBpYSB0byAxNTpnbG93IHJlcXVpcmUgbW9yZSB3b3JrLgoKMjAwOS0xMS0yMSAxMzozMjo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSAgWzQwNy85MDZdIHdpbkNFIGJhY2tlbmQ6IGZpeCBidWlsZAoKMjAwOS0xMS0yMSAxMzoyMTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs0MDYvOTA2XSBnbGltYWdlc2luazogYWRkIGEgY2xpZW50LWRhdGEgcHJvcGVydHkKCSAgQWxzbyBhZGQgaXQgdG8gZ2xmaWx0ZXJhcHAuCgkgIEZpeGVzICM1NTkxMzEKCjIwMDktMTEtMTcgMjM6NDc6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzQwNS85MDZdIGdsZmlsdGVyOiBhZGQgZXh0ZXJuYWwtb3BlbmdsLWNvbnRleHQgcHJvcGVydHkKCSAgSXQgcmVwYWlycyB0aGUgY2x1dHRlcnNoYXJlIGFuZCBzZGxzaGFyZSBleGFtcGxlCgoyMDA5LTExLTE3IDIyOjU0OjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDA0LzkwNl0gZ2x1cGxvYWQ6IHJlcGFpciBleHRlcm5hbF9vcGVuZ2xfY29udGV4dCBwcm9wZXJ0eQoJICBxZ2x3dGV4dHVyZXNoYXJlIG5vdyB3b3JrcyBhZ2Fpbi4gSW4gdGhpcyBleGFtcGxlLAoJICB0aGUgcGlwZWxpbmUgaXMgc3JjICEgZ2x1cGxvYWQgISBmYWtlc2luay4KCSAgU28gaW4gdGhpcyBjYXNlIHRoZSBnbHVwbG9hZCBlbGVtZW50IGlzIGEgc2luayBpbgoJICB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQnV0IHRoZSBwcm9ibGVtIGlzIHN0aWxsIHRoZXJlIGlmIHRoZSBwaXBlbGluZSBpcwoJICBzcmMgISBnbHVwbG9hZCAhIGdsZmlsdGVyICEgZmFrZXNpbmsKCSAgKGl0J3MgdGhlIGNhc2UgaW4gc2Rsc2hhcmUgYW5kIGNsdXR0ZXJzaGFyZSBleGFtcGxlcykKCSAgYmVjYXVzZSBzaW5jZSByZWNlbnQgY2hhbmdlcyBhYm91dCBob3cgdGhlIGdzdGdsZGlzcGxheQoJICBpcyB0cmFuc21pdHRlZCB0byB0aGUgZ2wgZWxlbWVudCwgdGhlIGNvbnRleHQgaXMgdXN1YWxseQoJICBjcmVhdGVkIGJ5IHRoZSBzaW5rIGluIHRlcm1zIG9mIGdsIGNoYWluLgoJICBBIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGFsc28gaW5zdGFsbCB0aGlzIHByb3BlcnR5IG9uIGdsZmlsdGVyLgoKMjAwOS0xMS0xNyAwMjoxNjowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzQwMy85MDZdIGdzdGdsbWl4ZXI6IEluaXRpYWxpc2UgdGhlIGRlYnVnIGNhdGVnb3J5CgkgIEluaXRpYWxpc2UgdGhlIGdzdGdsbWl4ZXIgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0LgoKMjAwOS0xMS0xNyAwMTowODowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs0MDIvOTA2XSBnbG92ZXJsYXk6IGZpeCBzb21lIHdhcm5pbmdzCgoyMDA5LTExLTE2IDE0OjMyOjE2ICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQwMS85MDZdIGdsb3ZlcmxheTogQWRkZWQgcm90YXRlIHRleHR1cmUKCSAgZml4ICM2MDEyNzcKCjIwMDktMTEtMDUgMTQ6NTM6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDAwLzkwNl0gZ3N0Z2xkaXNwbGF5OiBubyBuZWVkIHRoZSBJNDIwIHdvcmsgYXJvdW5kIGlmIEFUSSBNb2JpbGl0eQoJICBmaXggIzU4ODY1MwoKMjAwOS0xMS0wNCAyMzo0NDo0NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbMzk5LzkwNl0gZ2xtaXhlcjogZml4IHdoZW4gbm8gbW9yZSBnbCBlbGVtZW50cyBhZnRlciBpdAoJICBGb3IgZXhhbXBsZToKCSAgdmlkZW90ZXN0c3JjICEgZ2x1cGxvYWQgISAuLi4gISBnbGZpdGVyICEgLi4uICEgZ2xtb3NhaWMgISBmYWtlc2luawoJICBVc2VmdWxsIHdoZW4gdXNpbmcgZ2xtaXhlciBpbnNpZGUgY2x1dHRlcnNoYXJlIG9yIHNkbHNoYXJlIGNhc2VzLgoKMjAwOS0xMS0wNCAyMzoxMjo0MiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbMzk4LzkwNl0gZ2xkb3dubG9hZDogZG8gbm90IGZvcmdvdCB0byBjcmVhdGUgdGhlIGdsIGNvbnRleHQKCSAgZml4ICM2MDA2MzAKCjIwMDktMTEtMDQgMjM6MTE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFszOTcvOTA2XSBnbG1vc2FpYzogZml4IGEgY29tcGFyaXNvbiB3YXJuaW5nCgoyMDA5LTExLTA0IDIzOjEwOjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMzk2LzkwNl0gZ2xkaWZmZXJlbmNlbWF0dGU6IGZpeCBzb21lIHdhcm5pbmdzIGZyb20gdmM5CgoyMDA5LTEwLTI4IDEwOjQxOjUzICswMTAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJICBbMzk1LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBmaXggcmVncmVzc2lvbnMgZnJvbSBnZGtwaXhidWYgdG8gbGlicG5nIG1pZ3JhdGlvbgoJICBUaGUgYmFja2dyb3VuZCBpbWFnZSBuZWVkcyB0byBiZSBzY2FsZWQgdG8gZml0IGN1cnJlbnQgdGV4dHVyZSBzaXplLgoJICBQcmV2aW91c2x5IHRoaXMgd2FzIGRvbmUgYnkgZ2RrX3BpeGJ1Zl9zY2FsZV9zaW1wbGUgYnV0IHRoYXQncyBiZWVuCgkgIHJlbW92ZWQuCgkgIENyZWF0ZSBhIHRleHR1cmUgZnJvbSB0aGUgYmFja2dyb3VuZCBwaXhidWYgd2l0aCBjb3JyZWN0IGRpbWVuc2lvbnMgYW5kCgkgIHVzZSBpbnRlcnBvbGF0aW9uIHNoYWRlciB0byBzY2FsZSBpdCB0byB0aGUgcmlnaHQgc2l6ZS4gSW50ZXJwb2xhdGlvbgoJICBmcmFnbWVudCBzaGFkZXIgZG9lc24ndCBoYXZlIHRvbyBtdWNoIHNlbnNlIGlmIGFsbCB0aGUgdGV4dHVyZXMgZG9uJ3QKCSAgaGF2ZSB0aGUgc2FtZSBzaXplIHNvIHRoaXMgc2VlbWVkIHRoZSBtb3N0IG5hdHVyYWwgcGxhY2UgdG8gZG8gdGhlCgkgIHNjYWxpbmcuIEl0IGNvdWxkIHByb2JhYmx5IGJlIGRvbmUgd2l0aCBzb21lIGN1c3RvbSB0ZXh0dXJlIG1hcHBpbmcKCSAgb3V0c2lkZSB0aGUgc2hhZGVyIGJ1dCBpdCBpbnZvbHZlZCBtb3JlIGNvZGUuCgkgIEZpeGVzIGJ1ZyAjNTk5ODgzLgoKMjAwOS0xMC0yNyAxNzowMjoyMyArMDEwMCAgUHJhdGhlZXNoIEdhbmdhZGhhciA8cHJhdGhlZXNoLmdhbmdhZGhhckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszOTQvOTA2XSBnc3RnbGRpc3BsYXk6IHVzZSBvZiBHTF9ERVBUSF9DT01QT05FTlQxNiBpZiBPcGVuR0wgRVMgMi4wCgkgIGdsUmVuZGVyYnVmZmVyU3RvcmFnZSBkb2VzIG5vdCBhY2NlcHQgR0xfREVQVEhfQ09NUE9ORU5UIGluCgkgIE9wZW5HTCBFUyAyLjAuCgkgIEZpeCBidWcgIzU5Mzc4NgoKMjAwOS0xMC0yNyAxNToyNzoxNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFszOTMvOTA2XSBnbG1vc2FpYzogZm9yIG5vdyBpdCdzIGEgY3ViZSBtb3NhaWMKCSAgQWxzbyB1c2UgR1B0ckFycmF5IGluc3RlYWQgb2YgR0FycmF5IGluIGdsbWl4ZXIuCgkgIEFuZCBhZGQgYSBwaXBlbGluZSB0byB0ZXN0cy9waWVwbGluZXMKCjIwMDktMTAtMjcgMTE6MTQ6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFszOTIvOTA2XSBnbG1vc2FpYzogZGVzYWN0aXZhdGUgc2hhZGVyIHdoZW4gZG9uZQoKMjAwOS0xMC0yNiAxMTo0NDozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM5MS85MDZdIENvY29hOiBmaXggYmFja2VuZCBzaW5jZSByZWNlbnQgY2hhbmdlcwoJICBCZWZvcmUsIHRoZSB3aW5kb3cgc2l6ZSB3YXMgZ2l2ZW4gYXQgaXRzIGNyZWF0aW9uLiBOb3csIGl0J3MgZG9uZSBhdAoJICB0aGUgZHJhd2luZyBzdGVwIGJlY2F1c2UgaXQncyBvbmx5IHJlbGV2YW50IHdoZW4gdGhlcmUgaXMgYSBnbGltYWdlc2luawoJICBlbGVtZW50IGluIHRoZSBwaXBlbGluZS4KCjIwMDktMTAtMjMgMjA6NTM6MzIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzkwLzkwNl0gcmVtb3ZlIHdhcm5pbmdzIGZyb20gdnM5CgoyMDA5LTEwLTIzIDIwOjUyOjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzg5LzkwNl0gZml4IGNvZGVibG9ja3MgYnVpbGQgb24gd2luMzIKCjIwMDktMTAtMjMgMTA6NTI6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzM4OC85MDZdIGp1c3QgZml4IGJ1aWxkcyBhbmQgaW5kZW50CgoyMDA5LTEwLTIzIDAxOjExOjI3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzM4Ny85MDZdIGdsbWl4ZXI6IGFkZCBhIGdsbWl4ZXIgYmFzZSBlbGVtZW50CgkgIGdsbWl4ZXIgY2FuIGJlIHNlZW4gYXMgYSBnbGZpbHRlciBleGNlcHQgaXQgaGFuZGxlcyBOIHJlcXVlc3RlZAoJICBzaW5rIHBhZHMuCgkgIEVhY2ggc2luayBwYWQgYW5kIHRoZSBzcmMgcGFkIGFyZSB2aWRlby94LXJhdy1nbC4KCSAgZ2xtaXhlciBpcyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgZGlmZmVyZW50IGZyYW1lcmF0ZXMgZnJvbSBpbnB1dHMuCgkgIEl0IHVzZXMgT3BlbkdMIGNvbnRleHQgc2hhcmluZy4gSXQgbWVhbnMgdGhhdCBlYWNoIGlucHV0IGlzIGluIGl0cwoJICBvd24gT3BlbkdMIGNvbnRleHQgc2hhcmVkIHRvZ2V0aGVyIGFuZCBzaGFyZWQgd2l0aCB0aGUgT3BlbkdMIGNvbnRleHQKCSAgb2YgdGhlIG91cHV0IGdsIGNoYWluLgoJICBBbHNvIGFkZCBhIGdsbW9zYWljIHdoaWNoIGlzIGFuIGV4YW1wbGUgb2YgaW1wbGVtZW50YXRpb24gb2YgZ2xtaXhlci4KCSAgRm9yIG5vdyBnbG1vc2FpYyBpcyBhIGN1YmUgYnV0IGl0IHdpbGwgYmUgZml4ZWQgaW4gdGhlIG5leHQgY29tbWl0cy4KCSAgRm9yIG5vdyB0aGUgZ2xtaXhlciBoYXMgc29tZSB3ZWlyZCBiZWhhdmlvdXJzIGluIHNvbWUgY29uZmlndXJhdGlvbnMKCSAgYnV0IGl0IHdpbGwgYmUgaW1wcm92ZWQgaW4gdGhlIG5leHQgY29tbWl0cy4KCSAgVGhlIGF1dG90b29scyBidWlsZHMgaXMgdGVtcG9yYXJseSBicm9rZW4gc2luY2UgdGhvc2UgY2hhbmdlcwoJICBoYXZlIGJlZW4gbWFkZSBvbiB3aW4zMi4KCjIwMDktMTAtMjMgMDE6MDc6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszODYvOTA2XSBwaXhidWZkcm9wOiBmaXggZXhhbXBsZSBvbiB3aW4zMgoKMjAwOS0xMC0wNCAwMjoyMzo0NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFszODUvOTA2XSByZXdyaXRlIHRoZSB3YXkgYSBnc3RnbGRpc3BsYXkgaXMgdHJhbnNtaXRlZCB0byB0aGUgZ2wgZWxlbWVudHMKCSAgQmVmb3JlLCBhIGdzdGdsZGlzcGxheSB3YXMgaW5zdGFuY2llZCBieSB0aGUgZ2wgc3JjIGluIHRlcm1zIG9mIGdsIGNoYWluLgoJICBBbmQgdGhlbiB0aGUgbmV4dCBlbGVtZW50IGdvdCBpdCB0aHJvdWdoIHRoZSBmaXJzdCBnc3RnbGJ1ZmZlci4KCSAgTm93LCB0aGlzIGlzIGRvbmUgdGhvdWdoIHF1ZXJpZXMuCgkgIEFsbCBnbGVsZW1lbnRzIGdldCB0aGVpciByZWYgb24gYSBnc3RnbGRpc3BsYXkgaW4gUkVBRFkgc3RhdGUuCgkgIFRoaXMgcmV3cml0ZSBpcyBtYWlubHkgYSBmaXJzdCBzdGVwIHRvIGJlIGFibGUgdG8gc2hhcmUgT3BlbkdMIGNvbnRleHQgaG9sZAoJICBieSB0aGUgZ3N0Z2xkaXNwbGF5IHVzaW5nIG1vcmUgY29tcGxleCBnbGVsZW1lbnRzLgoJICBGb3IgZXhhbXBsZSwgd2l0aCBhIGdsdmlkZW9taXhlci4gVGhlIGFzc29jaWF0ZWQgZ3N0Z2xkaXNwbGF5IG9mIGVhY2ggZ2wgY2hhaW4KCSAgb2YgdGhlIHNpbmsgcGFkcyB3aWxsIHNoYXJlIHRoZWlyIE9wZW5HTCBjb250ZXh0LgoKMjAwOS0xMC0xNiAxODowODoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzg0LzkwNl0gYnVpbGQ6IHVzZSA8c3RkaW8uaD4gLyAic3RkaW8uaCIKCjIwMDktMTAtMTYgMTc6Mjk6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM4My85MDZdIGJ1aWxkOiBpbmNsdWRlIDxzdGRpby5oPiB3aGVuIHVzaW5nIHByaW50ZiAmIGNvLgoKMjAwOS0xMC0xNSAxNTo0MDoxMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFszODIvOTA2XSBFUzIuMDogcmVtb3ZlIHdhcm5pbmdzCgkgIFBhcnRpYWxseSBmaXggIzU5Mzc4NgoKMjAwOS0xMC0xNSAxNDo1OTowOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzM4MS85MDZdIEVHTCBhbmQgR0xYOjogc2V0IGEgbWluaW11bSBkZXB0aCBzaXplCgoyMDA5LTA5LTIxIDE1OjAwOjAyICswMjAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzM4MC85MDZdIGdsb3ZlcmxheTogY2FuIHB1dCB2aWRlbyBvdmVyIHBuZyBpbWFnZXMKCSAgRml4IGJ1ZyAjNTk1MzAzCgoyMDA5LTA5LTIxIDEwOjUxOjQ3ICswMjAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFszNzkvOTA2XSBnbG92ZXJsYXk6IGFkZCBzdXBwb3J0IHRvIHVzZSBSR0IgcG5nIGltYWdlcwoJICBQcmV2aW91c2x5IHJlc3RyaWN0ZWQgdG8gUkdCQSwgbm93IGdsb3ZlcmxheSBjYW4gYWxzbyBoYW5kbGUgYSBSR0IgaW1hZ2UuCgoyMDA5LTA5LTE5IDE0OjMxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMzc4LzkwNl0gZ2xkaXNwbGF5OiBhdm9pZCB0byByZXF1ZXN0IGdsIHRocmVhZCB3aGVuIGRlbGV0aW5nIGEgdGV4dHVyZQoJICBBIHRleHR1cmUgaXMgbm90IGRlc3Ryb3llZCB3aGVuIHdoZW4gd2UgYXJlIGRvbmUgd2l0aCBpdC4KCSAgVGhpcyB0ZXh0dXJlIGlzIGp1c3QgYWRkZWQgdG8gdGhlIHRleHR1cmUgcG9vbCBpbiBvcmRlciB0byBiZQoJICByZS11c2VkLiBJbiB0aGlzIGNhc2Ugbm8gT3BlbkdMIGNvZGUgaXMgZXhlY3V0ZWQgc28gd2UgZG8gbm90IG5lZWQgdG8KCSAgcmVxdWVzdCBnbCB0aHJlYWQuCgoyMDA5LTA5LTE5IDE0OjE2OjI1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM3Ny85MDZdIGdsZGlzcGxheTogYXZvaWQgdG8gcmVxdWVzdCBnbCB0aHJlYWQgd2hlbiBnZW5lcmF0aW5nIGEgdGV4dHVyZQoJICBUaGFua3MgdG8gdGhlIHRleHR1cmUgcG9vbCB0aGUgZ2wgdGV4dHVyZXMgYXJlIHJlLXVzZWQuCgkgIFdoZW4gcmUtdXNpbmcgb25lLCBubyBvcGVuZ2wgY29kZSBpcyBleGVjdXRlZCBzbyBkbyBub3QgbmVlZAoJICB0byByZXF1ZXN0IGdsIHRocmVhZC4KCjIwMDktMDktMDEgMTU6MjE6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzc2LzkwNl0gYnVpbGQ6IHN1cHBvcnQgb3BlbkdMRVMgb24gbGludXggdmlhIGF1dG9mb28uIFBhcnRpYWx5IGZpeGVzICM1OTM3ODYKCSAgQWRkIGEgcGtnLWNvbmZpZyBjaGVjayBmb3Igb3BlbmdsIGFuZCBpZiBub3QgZm91bmQgYXNzdW1lIG9wZW5nbC1lcy4gSWYgdXNlciBoYXMKCSAgbm9uZSBvZiBib3RoIG9uZSBzdGlsbCBnZXQgYnVpbGQgZXJyb3IgbGF0ZXIgb24gKHRoZXJlIGlzIG5vIHBrZy1jb25maWcgZm9yCgkgIG9wZW5nbC1lcykuCgkgIEFkZCBtb3JlIGZpbGVzIHRvIEVYVFJBIGRpc3QgYW5kIGJ1aWxkIHRoZSBvcGVuZ2xlcyB2YXJpYW50IGlmIHNlbGVjdGVkLgoJICBTaW1taWxhciBjaGFuZ2VzIGNvdWxkIGJlIGRvbmUgZm9yIHRoZSB3aW5DRSBiYWNrZW5kLgoKMjAwOS0wOS0wMiAxMDowNjozNiArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszNzUvOTA2XSBnbG92ZXJsYXk6IGNhbiBjb250cm9sIGltYWdlIHNpemUgYW5kIHBvc2l0aW9uCgkgIEZpeCBidWcgIzU5MTU5MQoKMjAwOS0wOS0wMSAxOTo0NjoxMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3NC85MDZdIHNkbHNoYXJlIGV4YW1wbGU6IGZpeCBidWlsZCBvbiB3aW4zMgoKMjAwOS0wOC0zMSAxNzoyNjozNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3My85MDZdIHNkbHNoYXJlIGV4YW1wbGU6IHJldmlldyBpbmNsdWRlcyBvcmRlciBhbmQgZml4IGNsb3N1cmUKCjIwMDktMDgtMzEgMTc6MTg6MDEgKzAyMDAgIE1pcXVlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzIvOTA2XSBtYWtlIHNkbHNoYXJlIGV4YW1wbGUgd29yayBvbiBsaW51eC4gRml4IGJ1ZyAjNTkzNDg2CgoyMDA5LTA4LTI2IDIzOjQzOjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzcxLzkwNl0gdGVzdHM6IGFkZCBzZGxzaGFyZSBleGFtcGxlCgkgIEl0IHNob3dzIGhvdyB0byB1c2UgZ2wgdGV4dHVyZXMgdGhhdCBjb21lCgkgIGZyb20gZ3N0IGdsIGVsZW1lbnRzIGluc2lkZSBhIFNETCBPcGVuR0wgc2NlbmUKCjIwMDktMDgtMTcgMTU6NDg6MDkgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM3MC85MDZdIEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlIHRvIE1ha2VmaWxlLmFtIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHRvIGFjdHVhbGx5IGJlIGZvciB0aGlzIHBhY2thZ2UKCjIwMDktMDgtMDMgMTc6NTI6MzEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzY5LzkwNl0gZGVmaW5lIG1pc3NpbmcgZ2xldyBtYWNybyBvbiBvbGRlciB2ZXJzaW9ucwoKMjAwOS0wOC0wMyAxMDoxMzowMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2OC85MDZdIENvY29hIGJhY2tlbmQ6IGZpeCBjcmFzaCB3aGVuIHJlc2l6aW5nCgkgIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgTlNPcGVuZ2xWaWV3Ojp1cGRhdGUgaXMgbm90IHNhZmUgYmVjYXVzZSBpdAoJICBqdXN0IGNhbGxzIHVwZGF0ZSBvbiB0aGUgb3BlbmdsIGNvbnRleHQgd2hlcmVhcyB3ZSBhcmUgbm90IGluIHRoZSBnbCB0aHJlYWQuCgkgIEFsc28gZml4IHRoZSB3aGl0ZSBmbGlja2VyaW5nIHdoZW4gcmVzaXppbmcsIGJlY2F1c2Ugbm93IHdlIG5lZWQgdG8gY2FsbAoJICB0aGUgZHJhdyBjYWxsYmFjayBtYW51YWxseSB3aGVuIHJlc2l6aW5nLgoKMjAwOS0wNy0zMSAxODoxNzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFszNjcvOTA2XSBkb2NzOiBmaXggR3N0WHZJbWFnZVNJbmsgLT4gR3N0R0xJbWFnZVNpbmsgYW5kIHJlaW5kZW50CgoyMDA5LTA3LTMwIDAwOjM2OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszNjYvOTA2XSBkb2NzOiBtYWtlIHJlbWFpbmluZyBlbGVtZW50cyBzaG93IHVwIGluIGRvY3MKCSAgU3BsaXQgb3V0IGRlY2xhcmF0aW9ucyBpbnRvIGhlYWRlciBmaWxlcyBhbmQgaG9vayBldmVyeXRoaW5nIHVwIHNvCgkgIHRoYXQgZml2ZSBtb3JlIGVsZW1lbnRzIHNob3cgdXAgaW4gdGhlIHBsdWdpbiBkb2NzLiBGaXhlcyAjNTU5MTM1LgoKMjAwOS0wNy0yNyAwOTo1ODoyMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2NS85MDZdIENvY29hIGJhY2tlbmQ6IG1ha2Ugc3VyZSB0aGF0IG5zYXBwIGlzIGluaXRpYWxpemVkCgkgIGdzdC1sYXVuY2gtMC4xMCB2aWRlb3Rlc3RzcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBnbGltYWdlc2luayB0LiAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsKCSAgbm93IHdvcmtzIHByb3Blcmx5IG9uIE1hY09TWAoKMjAwOS0wNy0yNCAxMDozMzo0NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzM2NC85MDZdIG1ha2UgdGhlIGNtYWtlIGJ1aWxkIHdvcmsgb24gTWFjT1NYCgkgIFdlIGNhbiBub3cgZ2VuZXJhdGUgYSBYY29kZSBwcm9qZWN0IChvciBVbml4IE1ha2ZpbGVzKSwKCSAgc2VlIElOU1RBTEwgZmlsZQoKMjAwOS0wNy0yNCAxMDoxMjowNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2My85MDZdIENvY29hIGJhY2tlbmQ6IGZpeCBjcmFzaCB3aGVuIGNsb3NpbmcKCSAgLSBBbGwgZ3N0Z2x3aW5kb3cgbWVtYmVycyBhcmUgbm93IG1vZGlmaWVkIG9ubHkgaW4gdGhlIGdsIHRocmVhZAoJICB0byBhdm9pZCB0aHJlYWQgY29uY3VycmVuY3kKCSAgLSBPcGVuR0wgY29udGV4dCBpcyBub3cgcHJvcGVybHkgY2xlYW4KCSAgLSBmaXggYSBjb3VwbGUgb2YgdGhpbmdzIGluIGltcGxlbWVudGF0aW9uIG9mIHhvdmVybGF5IGludGVyZmFjZQoKMjAwOS0wNy0xNyAxNjo0Nzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2Mi85MDZdIG1ha2UgY29jb2EgYmFja2VuZCB3b3JrIG9uIE1hY09TWAoJICBJdCB3b3JrcyB3aXRoIGJvdGggZ3N0LWxhdW5jaCBhbmQgYSBjb2NvYSBhcHAgKG5vbi1lbWJlZGRlZCBhbmQgZW1iZWRkZWQpCgkgIEJ1dCB0aGVyZSBpcyBzdGlsbCBzb21lIHByb2JsZW1zOgoJICAtIHNvbWV0aW1lcyBjcmFzaCB3aGVuIGNsb3NpbmcKCSAgLSBmbGlja2VyaW5nIHdoZW4gcmVzaXppbmcKCSAgLSBlbWJlZGRlZCBtb2RlIG5vdCBwZXJmZWN0CgkgIEkgd2lsbCBmaXJzdCBtYWtlIHRoZSBDTWFrZSBidWlsZCB3b3JrIHdpdGggY29jb2EgYmFja2VuZAoJICBpbiBvcmRlciB0byBnZW5lcmF0ZSBhIFhDb2RlIHByb2plY3QuCgkgIFRoZW4gaXQgc2hvdWxkIGJlIGVhc2llciB0byBmaXggdGhvc2UgaXNzdWVzLgoKMjAwOS0wNy0xNCAyMDozNjoxMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFszNjEvOTA2XSBnc3RndGs6IGFkZCBtaXNzaW5nIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wNy0xNCAyMDoyNToyOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzM2MC85MDZdIGV4YW1wbGVzOiBhZGQgbWlzc2luZyBjb3B5cmlnaHQvbGljZW5zZSB0byBteSBleGFtcGxlcwoKMjAwOS0wNy0xMyAxNjozMjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNTkvOTA2XSBnbDogTGluayB3aXRoIC1sbSBhbmQgZml4IGluZGVudGlvbgoKMjAwOS0wNy0xMyAxMjo1MzoxNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzU4LzkwNl0gZ3N0Z2xkaXNwbGF5OiBDbG9zZSBhIHNtYWxsIHJhY2Ugc3RhcnRpbmcgdGhlIGRpc3BsYXkgdGhyZWFkCgkgIFRha2UgdGhlIGRpc3BsYXkgbG9jayBiZWZvcmUgc2lnbmFsbGluZyB0aGUgY3JlYXRlLWNvbnRleHQgY29uZAoJICB0byBlbnN1cmUgdGhlIGNhbGxlciBoYXMgZHJvcHBlZCB0aGUgbG9jayBhbmQgaXMgdGhlcmVmb3JlIGxpc3RlbmluZwoJICBmb3IgdGhlIHNpZ25hbC4KCjIwMDktMDctMTMgMTI6NTI6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzM1Ny85MDZdIHgxMTogRG9uJ3QgY3Jhc2ggd2hlbiB0aGUgWDExIGRpc3BsYXkgaXMgbm90IGF2YWlsYWJsZS4KCSAgRXJyb3Igb3V0IGNsZWFubHkgaW5zdGVhZCBvZiBjcmFzaGluZyB3aGVuIHRoZSBYMTEgZGlzcGxheSBjYW4ndAoJICBiZSBjb250YWN0ZWQuCgoyMDA5LTA3LTEzIDEyOjA4OjExICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNTYvOTA2XSBidWlsZDogRml4IHR5cG86IGdzdGdsYnVtYmVyLmggLT4gZ3N0Z2xidW1wZXIuaAoKMjAwOS0wNi0yNSAyMTozMjozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbMzU1LzkwNl0gc2FtZSBtb3Rpb24gY29tcGVuc2F0aW9uCgoyMDA5LTA2LTI1IDAxOjMwOjQ0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszNTQvOTA2XSBmaXggYW5kIGFkZCBnbGRlaW50ZXJsYWNlIGZpbHRlciB0byB0aGUgYnVpbGRzCgoyMDA5LTA2LTI0IDE3OjU4OjM1ICswMjAwICBqdWxpZW4gPGp1bGllbkBLSklTLihub25lKT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFszNTMvOTA2XSBhZGQgYSBnbGRlaW50ZXJsYWNlIGZpbHRlcgoJICBHcmVlZHloIG9wZXJhdGlvbiBpbXBsZW1lbnRlZCB1c2luZyBPcGVuR0wgU2hhZGluZyBMYW5ndWFnZS4KCSAgV2UgY291bGQgYWRkIG90aGVyIG9wZXJhdGlvbnMgbGF0ZXIuCgkgIERvZXMgc29tZSBnb29kIHJlc3VsdHMgYnV0IHN0aWxsIG5vdCBhcyBleHBlY3RlZC4KCSAgVGhhdCdzIHdoeSBJIGRvIG5vdCBhZGQgaXQgeWV0IHRvIHRoZSBidWlsZC4KCjIwMDktMDYtMTIgMTE6MzM6MDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzM1Mi85MDZdIGZpeCB0eXBvCgkgIENoYW5nZSBHU1RfR0xfRElTUExBWV9QUk9KRUNUSU9OX1BFUlNQRUNJVkUgdG8KCSAgR1NUX0dMX0RJU1BMQVlfUFJPSkVDVElPTl9QRVJTUEVDVElWRS4KCSAgUmUtaW5kZW50IGEgY291cGxlIG9mIGZpbGVzIHRoYXQgbmVlZGVkIGl0LgoKMjAwOS0wNi0wOSAyMDozNToyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzM1MS85MDZdIGFsbG93IHRvIHN3aXRjaCB4b3ZlcmxheSB3aGlsZSBiZWluZyBpbiBwYXVzZWQgc3RhdGUKCjIwMDktMDYtMDcgMjA6MTk6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszNTAvOTA2XSBmaXggd2luZG93IHBvc2l0aW9uIHdoZW4gdXNpbmcgeG92ZXJsYXkKCSAgeCwgeSBhcmUgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBwb3NpdGlvbiBpbnNpZGUKCSAgdGhlIG5ldyBwYXJlbnQgd2luZG93LgoJICBGaXhlcyAjNTg0ODc3CgoyMDA5LTA2LTA2IDE0OjM0OjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbMzQ5LzkwNl0gY2FuIHN3aXRjaCB4b3ZlcmxheXMgd2hpbGUgcGxheWluZwoJICBGaXhlcyBidWcgIzU4NDg3NwoJICBCZWZvcmUgdGhpcyBjb21taXQgY2FsbGluZyAiZ3N0X3hfb3ZlcmxheV9zZXRfeHdpbmRvd19pZCIgbW9yZQoJICB0aGFuIG9uZSB0aW1lLCBoYWQgbm8gZWZmZWN0LgoJICBJdCBtYWlubHkgYWZmZWN0cyB0aGUgZ2xpbWFnZXNpbmsgaW1wbGVtZW50YXRpb24uCgkgIEJ1dCBvbiB3aW4zMiAoYW5kIENFKSwgc29tZSBzdHVmZiBoYXMgdG8gYmUgZG9uZSB0bwoJICByZWxlYXNlIHRoZSBvbGQgcGFyZW50LgoJICBBbmQgYWRkIGEgc3dpdGNoeG92ZXJsYXkgZXhhbXBsZSB3aGVyZSB0aGUgdXNlcgoJICBjYW4gY2xpY2sgb24gbGVmdC9yaWdodCBwYXJ0IG9mIHRoZSBtYWluIHdpbmRvdyB0bwoJICBzd2l0Y2ggdGhlIHhvdmVybGF5LgoKMjAwOS0wNi0wNCAwOTo1MDo1MiArMDIwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM0OC85MDZdIEFkZCBnc3R2aWRlbyB0byBnbGltYWdlc2luayBMSUJBREQuIEZpeGVzIGJ1ZyAjNTg0NjgwCgoyMDA5LTA2LTA0IDAwOjI3OjQ0ICswMjAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFszNDcvOTA2XSBmaXggbWlzY2FzdCBvZiBhIHBvaW50ZXIgaW4gU2V0V2luZG93TG9uZ1B0cgoJICBHQ0MgNC40LjAgY29tcGxhaW5zIGVycm9yOiBjYXN0IGZyb20gcG9pbnRlciB0byBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplCgkgIEZpeGVzICM1ODQ2NzguCgoyMDA5LTA1LTEyIDExOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM0Ni85MDZdIEZpeCBsaW5raW5nIGJ5IHByb3ZpZGluZyBsaWJ0b29sIHRoZSBjb3JyZWN0IC0tdGFnIHBhcmFtZXRlcgoKMjAwOS0wNS0xMSAxODowNjoxOCArMDIwMCAganVsaWVuIDxqdWxpZW5AS0pJUy4obm9uZSk+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQ1LzkwNl0gY2hhbmdlIHJvdGF0aW9uIGNlbnRlciBpbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNS0wOSAyMTozMDozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQ0LzkwNl0gVXNlIGEgbW9yZSBjb21wbGV4IGdzdCBnbCBwaXBlbGluZSBpbiB0aGUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDkgMjE6MjY6NDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0My85MDZdIEFkZCBhIHNpZ25hbCB3YXRjaCBidXMgY2FsbGJhY2sgdG8gY2hlY2sgZ3N0IG1lc3NhZ2VzCgoyMDA5LTA1LTA5IDIwOjUxOjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDIvOTA2XSBGaXggdGV4dHVyZSBhY3RvciB1cGRhdGUgZHVlIHRvIGEgdG9vIHN0cm9uZyB0aHJlYWQgbG9ja2luZy4KCSAgT24gbGludXgsIHRoZSBHU291cmNlIGZ1bmMgYXR0YWNoZWQgdG8gdGhlIGNsdXR0ZXJfdGhyZWFkc19hZGRfaWRsZQoJICB3YXMgbm90IGdldHRpbmcgdGhlIGNwdSByZXNzb3VyY2UgcGVyaW9kaWNhbGx5LgoJICBCZWNhdXNlIHRoZSB1c2Ugb2YgY2x1dHRlcl90aHJlYWRzX2VudGVyL2xlYXZlIGluc2lkZSB0aGUgZmFrZXNpbmsKCSAgY2FsbGJhY2sgc2VlbXMgdG8gYmUgdG9vIHN0cm9uZy4KCSAgU28gcmVtb3ZlIHRoZSB1c2UgaWYgY2x1dHRlcl90aHJlYWRzX2VudGVyL2xlYXZlIGluIHRoZSBmYWtlc2luayBjYWxsYmFjay4KCSAgVGhlbiByZXBsYWNlIEdRdWV1ZSBieSBHQXN5bmNRdWV1ZSB0byBrZWVwIHRocmVhZCBzYWZlIGFjY2VzcyB0byB0aGUKCSAgY29tbXVuaWNhdGlvbiBxdWV1ZXMgYmV0d2VlbiBjbHV0dGVyIGFuZCBnc3QtZ2wuCgkgIENhbGwgY2x1dHRlcl90aHJlYWRzX2FkZF9pZGxlIHdpdGggaGlnaCBwcmlvcml0eS4KCjIwMDktMDUtMDkgMTU6NDQ6MDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0MS85MDZdIFByb3Blcmx5IGNsZWFuIHVwIHBlbmRpbmcgZ3N0IGdsIGJ1ZmZlcnMgaW4gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDggMjE6NDM6NTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0MC85MDZdIEZpeCBjbHV0dGVyc2hhcmUgZXhhbXBsZS4KCSAgSXQgcmVxdWlyZXMgYXQgbGVhc3QgY2x1dHRlciAwLjguNiBzaW5jZSBsb3dlciBjbHV0dGVyIHZlcnNpb25zIGFyZQoJICBub3QgY29tcGF0aWJsZSB3aXRoIEdMX1RFWFRVUkVfUkVDVEFOR0xFX0FSQi4KCSAgUmVtb3ZlIHVzZSBvZiBDbHV0dGVyRWZmZWN0VGVtcGxhY2Ugc2luY2UgaXQgZG9lcyBub3QgZXhpc3QgaW4KCSAgY2x1dHRlciAwLjkuCgoyMDA5LTA1LTA0IDExOjI0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzkvOTA2XSBDYXN0IHRvIGEgR3N0QnVmZmVyKiBiZWZvcmUgcGFzc2luZyB0byBnc3RfYnVmZmVyX3VucmVmIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDA5LTA1LTAyIDE0OjI3OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzgvOTA2XSBVc2UgR1F1ZXVlIGluIHRoZSBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNC0zMCAyMzo0MDozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzNy85MDZdIEltcHJvdmUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCSAgVXNlIGNsdXR0ZXJfdGhyZWFkc19BUEkuCgkgIFdoZW4ganVzdCB1c2luZyBnbHVwbG9hZCBmcm9tIHJnYiwgd2UgaGF2ZSB0byBiZSBzdXJlIHRoYXQKCSAgdGhlIHVwbG9hZCB0ZXh0dXJlIGlzIG5vdCBpbiB1c2UgaW4gb3VyIGdzdCBnbCBjb250ZXh0LgoKMjAwOS0wNC0yMCAxODoxNzo1NCAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzMzNi85MDZdIFt4MTEveDExRVNdIGZpeCBzb21lIHBvaW50ZXIgY2FzdCB3YXJuaW5ncwoKMjAwOS0wNC0yMCAyMzo1NTo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMzNS85MDZdIFtjb2NvYV0gdXBkYXRlIHNpbmNlIGludGVyZmFjZSBjaGFuZ2VkCgoyMDA5LTA0LTIwIDIzOjQ4OjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzQvOTA2XSBbd2luMzIvd2luQ0VdIGZpeCBzb21lIHBvaW50ZXIgY2FzdCB3YXJuaW5ncyB3aXRoIG1pbmd3CgkgIEFuZCB0dXJuIG9mZiBkZXByZWNhdGVkIFdwNjQgbXN2YyBjb21waWxlciBvcHRpb24uCgoyMDA5LTA0LTIwIDAwOjUyOjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFszMzMvOTA2XSBhZGQgZm9yY2UtYXNwZWN0LXJhdGlvIHN1cHBvcnQKCjIwMDktMDQtMTggMTY6MDg6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzMi85MDZdIGp1c3QgZ3N0LWluZGVudCBhbmQgQzkwIG9uIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA0LTE4IDA4OjQwOjUxIC0wNDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzMzMS85MDZdIGluZGVudCBhbmQgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDQtMTggMTM6NTc6NDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzAvOTA2XSBDYW4gbm93IHNoYXJlIHRleHR1cmVzIHdpdGggYW4gZXh0ZXJuYWwgZ2wgY29udGV4dAoJICBUaGUgZXh0ZXJuYWwgb3BlbmdsIGNvbnRleHQgbXVzdCBiZSBzcGVjaWZ5IHdoZW4gY3JlYXRpbmcKCSAgb3VyIE9wZW5HTCBjb250ZXh0IChnbHgpIG9yIGp1c3QgYWZ0ZXIgKHdnbCkuCgkgIFdoZW4gY2FsbGluZyBnbFhDcmVhdGVDb250ZXh0IG9yIHdnbFNoYXJlTGlzdHMsIHRoZQoJICBleHRlcm5hbCBvcGVuZ2wgY29udGV4dCBtdXN0IG5vdCBiZSBjdXJyZW50LgoJICBUaGVuIG91ciBnbCBjb250ZXh0IGNhbiBiZSBjdXJyZW50IGluIHRoZSBnbCB0aHJlYWQgd2hpbGUKCSAgdGhlIGV4dGVybmFsIGdsIGNvbnRleHQgaXMgY3VycmVudCBpbiBhbiBvdGhlciB0aHJlYWQuCgkgIFNlZSB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jCgoyMDA5LTA0LTEyIDIyOjI0OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMjkvOTA2XSBCdWlsZCBmb3IgQ29jb2Egb24gZGFyd2luLCB3aXRoIHZhcmlvdXMgZml4ZXMKCjIwMDktMDQtMTIgMjA6MDM6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzI4LzkwNl0gQ29udmVydCBndGsgZXhhbXBsZXMgdG8gdXNlIGhlbHBlciBsaWJyYXJ5CgkgIEhlbHBlciBsaWIgaW1wbGVtZW50cyBnc3QtZ3RrIGdsdWUgb24gYWxsIHBsYXRmb3JtcwoKMjAwOS0wNC0xMCAyMDo0Mjo1OSArMDIwMCAgSnVsaWVuIDxqdWxpZW5ASnVsaWVuLUt1YnVudHUuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzI3LzkwNl0gZml4IGluaXQgRkJPJ3MgdGV4dHVyZSBhdHRhY2htZW50IG9uIEVTIDIuMAoKMjAwOS0wNC0xMCAyMDozMDo0NiArMDIwMCAgSnVsaWVuIDxqdWxpZW5ASnVsaWVuLUt1YnVudHUuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzMyNi85MDZdIGFkZCBYIGJhY2tlbmQgZm9yIE9wZW5HTCBFUyAyLjAKCjIwMDktMDMtMjkgMTU6NDA6MTYgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyNS85MDZdIFJlc3RvcmUgZ2xpbWFnZXNpbmsgaW5zdGVhZCBvZiB4aW1hZ2VzaW5rCgkgIFBhcnRpYWxseSByZXZlcnQgcHJldmlvdXMgY29tbWl0LiBJdCdzIG5vdCBhbiBpc3N1ZSB3aXRoIGdsaW1hZ2VzaW5rCgkgIFhvdmVybGF5IGludGVyZmFjZS4gSXQncyBhbHdheXMgdGhlIHNhbWUgaW50ZWwgYnVnIHdpdGggZGlyZWN0CgkgIHJlbmRlcmluZyByZWRpcmVjdGlvbiAodGhlIG9uZSB0aGF0IGFmZmVjdHMgZWFjaCBvcGVuZ2wgYXBwbGljYXRpb24KCSAgd2l0aCBjb21wb3NpdGluZyBtYW5hZ2VycykuIEl0IHdvcmtzIGZpbmUgd2l0aCBEUkkyIGFuZCBVWEEKCSAgYWNjZWxlcmF0aW9uLiBTdGlsbCBsZWF2aW5nIGVmZmVjdHMgZGlzYWJsZWQgYmVjYXVzZSBJJ20gdGVzdGluZyBpbnRlbAoJICBoYXJkd2FyZSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBGQk9zLgoKMjAwOS0wMy0yOSAwOTowMTo1NSArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMzI0LzkwNl0gVGVtcG9yYXJ5IGRpc2FibGUgZ2xpbWFnZXNpbmsgaW4gY2x1dHRlcmFjdG9ydGVlCgkgIEdMaW1hZ2VzaW5rIFhPdmVybGF5IGludGVyZmFjZSBkb2Vzbid0IHNlZW0gdG8gd29yayB3aXRoIGNvbXBvc2l0ZQoJICByZWRpcmVjdGlvbiBvbiBpbnRlbCAoYW5kIEkgYmVsaWV2ZSBhdGkgdG9vKS4gV2luZG93cyBhcmVuJ3QKCSAgcmVkaXJlY3RlZCBvZmZzY3JlZW4gYXQgYWxsLiAgVGhpcyBjb21taXQganVzdCBzaG93cyB0aGF0IHRoZSBleGFtcGxlCgkgIGNvcnJlY3R5IHdvcmtzIHdpdGggeGltYWdlc2luay4gVGhlIG1vc3QgZXZpZGVudCBkaWZmZXJlbmNlIEkgc2VlIGlzCgkgIHRoYXQgZ2xpbWFnZXNpbmsgcmVwYXJlbnRzIHRoZSB4b3ZlcmxheSB3aW5kb3cgaW50byBpdHMgb3duIHdoaWxlIGJvdGgKCSAgeCBhbmQgeHZpbWFnZXNpbmsgZGVzdHJveSB0aGVpciB3aW5kb3cgYW5kIHJlbmRlciBkaXJlY3RseSB0byB0aGUKCSAgeG92ZXJsYXkgb25lLgoKMjAwOS0wMy0yOSAwODo1MToxNiArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMzIzLzkwNl0gUmVtb3ZlIHJlZHVuZGFudCBYTW92ZVdpbmRvdyBjYWxsCgkgIFJldmVydCB0aGUgIm1vdmUgd2luZG93cyIgdGhpbmcgZnJvbSBjb21taXQKCSAgMTc1ZjdhNzA3YmM5MjJmM2ZhY2M2M2U3ZDliNmQwMWY5YmI2YjFiMAoJICBXaW5kb3dzIGFyZSBvZmZzY3JlZW4gd2hvIGNhcmVzIGFib3V0IHRoZWlyIHBvc2l0aW9uPyBJZiB5b3Ugc2VlIHRoZQoJICB3aW5kb3dzIHNvbWV0aGluZyBpcyBnb2luZyB3cm9uZyB3aXRoIGNvbXBvc2l0ZSByZWRpcmVjdGlvbi4KCjIwMDktMDMtMTggMjI6NDY6NTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzIyLzkwNl0gW2Rvd25sb2FkIFlVWTIvVVlWWV0gZml4IGEgcmVncmVzc2lvbgoJICBUaGUgY2FsbCB0byBnbExvYWRJZGVudGl0eSB3YXMgcmVtb3ZlZCBieSBtaXN0YWtlIGR1cmluZwoJICBPcGVuR0wgRVMgMi4wIGludGVncmF0aW9uLgoKMjAwOS0wMy0xNSAxNDo0ODoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMjEvOTA2XSBhZGQgT3BlbkdMIEVTIDIueCBzdXBwb3J0LgoJICBJbiBPcGVuR0wgMi54IGZvciBFbWJlZGRlZCBTeXN0ZW0sIGEgbG90IG9mIGJhc2ljIHNjZW5lL2RyYXcgZnVuY3Rpb25zCgkgIGhhdmUgYmVlbiByZW1vdmVkLiBJdCBtZWFucyB0aGF0IGV2ZXJ5dGhpbmcgaXMgbWFkZSB1c2luZyB2ZXJ0ZXggYW5kCgkgIGZyYWdtZW50IHNoYWRlcnMuCgkgIEkgaGF2ZSBhbHNvIGFkZGVkIGEgZ3N0Z2x3aW5kb3cgYmFja2VuZCBmb3Igd2luQ0UgdGhhdCB1c2VzIEVHTAoJICAoTmF0aXZlIFBsYXRmb3JtIEdyYXBoaWNzIEludGVyY2FjZSkgKHdoaWNoIGlzIGEgZnVsbCBwYXJ0IG9mCgkgIE9wZW5HTCBFUyBzcGVjaWZpY2F0aW9uKS4gSXQgcmVtb3ZlIHRoZSB1c2Ugb2Ygd2dsL2dseCBmdW5jdGlvbnMuCgoyMDA5LTAzLTA3IDAzOjEzOjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzIwLzkwNl0gZml4IHBvc2l0aW9uIGFuZCBjb250ZW50IHJlY3QKCjIwMDktMDMtMDYgMjI6NDM6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFszMTkvOTA2XSBbd2luMzIgYmFja2VuZF0gZml4IHRyYW5zbWl0aW9uIG1lc3NhZ2UgdG8gdGhlIHBhcmVudC4KCSAgVGhlIFF0IG1vdXZleG92ZXJsYXkgZXhhbXBsZSBzaG93cyBob3cgdG8gcm90YXRlIHRoZSBjdWJlCgkgIGJ5IG1vdmluZyAoK2NsaWNrKSB0aGUgbW91dmUgb3ZlciBhIHF3aWRnZXQgdXNpbmcgeG92ZXJsYXkKCSAgaW50ZXJmYWNlLgoKMjAwOS0wMi0yNiAxNzo0NToyMSAtMDUwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFszMTgvOTA2XSByZW5hbWUgR05VbWFrZWZpbGUocykgdG8gR05VbWFrZWZpbGUocykuZ251c3RlcAoKMjAwOS0wMi0yNiAwMTowNjo1OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJICBbMzE3LzkwNl0gaW1wbGVtZW50IGdzdGdsd2luZG93IGZvciBDb2NvYSAoTWFjT1MgYW5kIEdOVXN0ZXApCgoyMDA5LTAyLTI1IDAwOjM5OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMxNi85MDZdIHJlbW92ZSBzb21lIHVudXNlZCBIQVZFX0xJQlBORzogbGlicG5nIGlzIGEgcmVxdWlyZWQgcGFja2FnZQoKMjAwOS0wMi0yNSAwMDoxMjoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZToKCSAgWzMxNS85MDZdIGFkZCBHTlVzdGVwIGJ1aWxkCgoyMDA5LTAyLTIzIDExOjA3OjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkgIFszMTQvOTA2XSBBZGQgc3JjZGlyIHRvIGluY2x1ZGVzIGZvciBvdXQtb2Ytc291cmNlIGJ1aWxkcwoJICBXaGVuIHlvdSB1c2UgZ3N0cmVhbWVyIHVuaW5zdGFsbGVkIGFuZCBidWlsZCBvdXRzaWRlCgkgIHRoZSBzb3VyY2UgdHJlZSwgdGhlIGluY2x1ZGVzIG5lZWQgdG8gYmUgc3BlY2lmaWVkIGZvcgoJICBib3RoIHRoZSBzb3VyY2UgdHJlZSBhbmQgdGhlIGJ1aWxkIHRyZWUuCgoyMDA5LTAyLTIzIDEzOjM5OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFszMTMvOTA2XSBpbmRlbnQ6IGRvbid0IHVzZSB0YWJzIGluc2lkZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMKCjIwMDktMDItMjMgMTM6MzU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzEyLzkwNl0gYnVpbGQ6IGluY2x1ZGUgc3RkbGliLmggd2hlbiB1c2luZyBmcmVlKCkuCgoyMDA5LTAyLTIyIDE5OjM2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzMxMS85MDZdIENhc3QgR3N0QnVmZmVyIHN1YmNsYXNzZXMgdG8gR3N0QnVmZmVyICogYmVmb3JlIHBhc3NpbmcgdG8gZ3N0X2J1ZmZlcl91bnJlZigpCgoyMDA5LTAyLTEwIDIyOjM5OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMxMC85MDZdIEdsb2JhbCByZWluZGVudAoJICBJbmRlbnQgcGFyYW1ldGVyczoKCSAgSU5ERU5UX1BBUkFNRVRFUlM9Ii0tYnJhY2VzLW9uLWlmLWxpbmUgXAoJICAtLWNhc2UtYnJhY2UtaW5kZW50YXRpb24wIFwKCSAgLS1jYXNlLWluZGVudGF0aW9uMiBcCgkgIC0tYnJhY2VzLWFmdGVyLXN0cnVjdC1kZWNsLWxpbmUgXAoJICAtLWxpbmUtbGVuZ3RoODAgXAoJICAtLW5vLXRhYnMgXAoJICAtLWN1ZGRsZS1lbHNlIFwKCSAgLS1kb250LWxpbmUtdXAtcGFyZW50aGVzZXMgXAoJICAtLWhvbm91ci1uZXdsaW5lcyBcCgkgIC0tY29udGludWF0aW9uLWluZGVudGF0aW9uNCBcCgkgIC0tdGFiLXNpemU4IFwKCSAgLS1pbmRlbnQtbGV2ZWwyIgoKMjAwOS0wMi0wMyAxODo1ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFszMDkvOTA2XSBSZXBsYXk6IEZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoJICBBbHRob3VnaHQgdGhlIFhFdmVudCdzIHhjbGllbnQuZGF0YS5sIGFycmF5IGlzIGFuIGFycmF5IG9mCgkgIGxvbmdzIHRoZXkgd2lsbCBiZSBjb25zdHJhaW5lZCB0byAzMiBiaXQgYnkgdGhlIFgxMSBwcm90b2NvbC4KCSAgT24gNjQgYml0IGFyY2hpdGVjdHVyZXMgdXNlIHR3byBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gc3RvcmUKCSAgb25lIHBvaW50ZXIuCgkgIFRoaXMgZml4ZXMgc2VnZmF1bHRzIHRoYXQgaGFwcGVuIGF0IGxlYXN0IGZvciBldmVyeSBleGFtcGxlCgkgIG9uIHN0YXJ0dXAuCgoyMDA5LTAyLTA1IDEzOjEzOjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMDgvOTA2XSBSZW5hbWUgZ2xwaXhidWZvdmVybGF5IHRvIGdsb3ZlcmxheQoKMjAwOS0wMi0wNCAxNjo1NzoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzA3LzkwNl0gUmVtb3ZlIGNvbmRpdGlvbmFscyBvbiBnZGtwaXhidWYKCjIwMDktMDItMDggMDE6NTA6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszMDYvOTA2XSBmaXggQ01ha2UgYnVpbGQgYW5kIGZyb3plbiBDb2RlQmxvY2tzIGJ1aWxkCgoyMDA5LTAyLTA3IDIxOjE5OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMwNS85MDZdIENNYWtlIGJ1aWxkIG5vdyBjaGVja3MgZm9yIGxpYnBuZwoKMjAwOS0wMi0wNSAxOTo1OToyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzA0LzkwNl0gb25seSBsb2FkIFJHQkEgZmlsZXMucG5nCgoyMDA5LTAyLTA0IDE2OjE4OjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzMwMy85MDZdIEFkZCBsaWJwbmcgZGVwZW5kZW5jeQoKMjAwOS0wMS0yNiAxNjozMDoyMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMzAyLzkwNl0gRml4IHNvbWUgd2FybmluZ3MKCjIwMDktMDEtMjMgMDI6MDQ6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwMS85MDZdIGRlcGVuZHMgb24gbGlicG5nIGluc3RlYWQgb2YgZ2RrX3BpeGJ1ZgoKMjAwOS0wMS0yMiAwMjoxOTozMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDAvOTA2XSB1c2UgbGlicG5nIGluIGdscGl4YnVmb3ZlcmxheSBmaWx0ZXIuCgoyMDA5LTAxLTIyIDAxOjE2OjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSAgWzI5OS85MDZdIHVzZSBsaWJwbmcgdG8gbG9hZCB0aGUgbm9ybWFsIG1hcCBpbnN0ZWFkIG9mIHVzaW5nIGdka3BpeGJ1ZgoKMjAwOS0wMi0xMCAyMTo1NzozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsyOTgvOTA2XSBSZXZlcnQgIkZpeCBpbmRlbnRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTZlNGFiMThjMmNmOTg3NmY2YzAzMWI5YWJhNjI4MmQwYmQ0NWE5My4KCSAgWW91IHNob3VsZCBoYXZlIGFza2VkIGZpcnN0LiAgQW5kIHlvdSB3b3VsZCBoYXZlIGJlZW4gdG9sZCAibm8iLAoJICBiZWNhdXNlIGl0IGNhdXNlcyBwZW9wbGUgb24gZGV2ZWxvcG1lbnQgYnJhbmNoZXMgdG8gZG8gYSBodWdlCgkgIGFtb3VudCBvZiBleHRyYSB3b3JrLgoKMjAwOS0wMi0xMCAyMTo1NzowOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyOTcvOTA2XSBSZXZlcnQgIkZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyODA3NzFkMDliNTg2MTdiMjcyMDEwMjdkZTBlMTE5NGRhMzc2ZTcyLgoKMjAwOS0wMi0wMyAxODo1ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyOTYvOTA2XSBGaXggY2FsbGJhY2tzIHBhc3NlZCBvdmVyIFhFdmVudHMgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMKCSAgQWx0aG91Z2h0IHRoZSBYRXZlbnQncyB4Y2xpZW50LmRhdGEubCBhcnJheSBpcyBhbiBhcnJheSBvZgoJICBsb25ncyB0aGV5IHdpbGwgYmUgY29uc3RyYWluZWQgdG8gMzIgYml0IGJ5IHRoZSBYMTEgcHJvdG9jb2wuCgkgIE9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIHVzZSB0d28gZWxlbWVudHMgb2YgdGhlIGFycmF5IHRvIHN0b3JlCgkgIG9uZSBwb2ludGVyLgoJICBUaGlzIGZpeGVzIHNlZ2ZhdWx0cyB0aGF0IGhhcHBlbiBhdCBsZWFzdCBmb3IgZXZlcnkgZXhhbXBsZQoJICBvbiBzdGFydHVwLgoKMjAwOS0wMi0wMyAxODozMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsyOTUvOTA2XSBGaXggaW5kZW50aW9uCgoyMDA5LTAyLTAzIDExOjIzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5NC85MDZdIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIGJ5IHVzaW5nIEdfR1VJTlQ2NF9GT1JNQVQKCjIwMDktMDEtMTUgMTg6Mzk6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzI5My85MDZdIG1pbmltYWwgZ3RrIGRvYwoKMjAwOS0wMS0wOSAxNzo0NjowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzI5Mi85MDZdIEFkZCAnZXh0ZXJuJyBmb3IgZGF0YSBzeW1ib2xzIGluIGhlYWRlcnMKCjIwMDktMDEtMDkgMTc6MjA6MjUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjkxLzkwNl0gQWRkIGNoZWNrIGZvciBHTEVXX0VYVF9mcmFtZWJ1ZmZlcl9vYmplY3QKCjIwMDktMDEtMDggMTk6MTg6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjkwLzkwNl0gU2V0IEdMX0xJQlMgY29ycmVjdGx5IGluIGNvbmZpZ3VyZS5hYwoJICBUaGlzIGRvZXNuJ3QgZGV0ZWN0IHRoZSBleGlzdGVuY2Ugb2YgbGlicmFyaWVzLCB3aGljaCBuZWVkcyB0bwoJICBiZSBmaXhlZC4KCjIwMDktMDEtMDcgMTk6MTE6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyODkvOTA2XSBidWlsZCBmaXhlcyBmb3IgV2luZG93cyBsaWJyYXJpZXMKCjIwMDgtMTItMTQgMTI6MDY6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjg4LzkwNl0gYWRkIG1vcmUgZGVidWcgb3VwdXRzIGFib3V0IEdMU0wgYW5kIG1lc2EKCjIwMDgtMTItMTMgMTk6MzY6MzIgLTA1MDAgIGp1bGllbiA8anVsaWVuQGp1bGllbi1kZXNrdG9wLihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4Ny85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gYWJvdXQgZ2xYQ2hvb3NlVmlzdWFsIHdoaWNoIGZhaWxlZCB3aGVuIHVzaW5nIG1lc2EsIHNvIGF0dHJpYnV0ZXMgbXVzdCBiZSBsZXNzIHJlc3RyaWN0aXZlcy4KCjIwMDgtMTItMTMgMDA6NTA6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyODYvOTA2XSBbd2luMzJdIFJlZ2lzdGVyIHdpbmRvdyBjbGFzcyBpbiBnc3RfZ2xfd2luZG93X2NsYXNzX2luaXQKCjIwMDgtMTItMDcgMDM6MjU6NTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzI4NS85MDZdIGZpeCBnbCBmcmFtZXJhdGUgaW4gZ3N0IGNhcHMuIENvbnNpZGVyIHBvc2l0aW9uIGluIHhvdmVybGF5LiBGaXggaW52ZXJzaW9uIGJldHR3ZWVuIENPTFMgYW5kIFJPV1MsIGFuZCBtb3ZlIHdpbmRvd3MuCgoyMDA4LTExLTI5IDIyOjE2OjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjg0LzkwNl0gd29ya2Fyb3VuZCBhYm91dCB0aGUgQVRJIHNoYWRlciBjb21waWxlciBvbiBsaW51eCAoc2V0bG9jYWxlKQoKMjAwOC0xMS0yNSAwMTowMTowMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODMvOTA2XSBiZXR0ZXIgcmVzdWx0IGluIGN1YmUgYW5kIGRvdWJsZWN1YmUgZXhhbXBsZS4gQW5kIHNvbWUgY2xlYW4gdXAgZGVidWcgYW5kIGNvbW1lbnRzCgoyMDA4LTExLTIzIDE2OjE0OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI4Mi85MDZdIHVwZGF0ZSBDTWFrZSBidWlsZAoKMjAwOC0xMS0yMyAxNjowNDoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjgxLzkwNl0gTWFrZSBjdWJlIGV4YW1wbGUgd29yayBvbiB4MTEuIEZpbmlzaCBUT0RPIHRhc2sgOS4KCjIwMDgtMTEtMjIgMTY6NDM6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI4MC85MDZdIFJlbW92ZSBzZXRfdmlzaWJsZSwgYmVjYXVzZSBpdCdzIG5vdyBhdXRvbWF0aWNhbGx5IGRvbmUgd2hlbiB0aGUgZmlyc3QgcG9zdCByZWRpc3BsYXkgY29tZXMuCgoyMDA4LTExLTIyIDAwOjUxOjMwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3OS85MDZdIGZpbmlzaCBzZXRfeHdpbmRvd19pZCAoZ3N0X2dsX3dpbmRvd19zZXRfZXh0ZXJuYWxfd2luX2lkKTogY2hpbGQgaXMgcmVzaXplZCBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSBwYXJlbnQgaXMuCgoyMDA4LTExLTIxIDIwOjUxOjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3OC85MDZdIEltcGxlbWVudCBzZXRfeHdpbmRvd19pZCAoZ3N0X2dsX3dpbmRvd19zZXRfZXh0ZXJuYWxfd2luZG93X2lkKS4KCjIwMDgtMTEtMjEgMTk6Mzc6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc3LzkwNl0gb3BlbiB4IGNsaWVudCBjb25uZWN0aW9uIGZvciBzZW5kZXIgb25seSBhdCBzdGFydCB1cAoKMjAwOC0xMS0yMSAxOToxMToxMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzYvOTA2XSBiZXR0ZXIgZGVhbCB3aXRoIGxhc3QgcGVuZGluZyBjdXN0b20gY2IgYW5kIGRlc3Ryb3lfY29udGV4dF9jYgoKMjAwOC0xMS0yMSAwMTozMToxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc1LzkwNl0gTWFrZSBzdXJlIHRoZSBnbCByZXNzb3VyZXMgYXJlIGRlc3Ryb3llZCBiZWZvcmUgdG8gZGVzdHJveSBnbCB3aW5kb3cKCjIwMDgtMTEtMjAgMDE6MjQ6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzQvOTA2XSBhZGQgc29tZSBvdGhlciBkZWJ1ZyBvdXRwdXRzIGFuZCBjaGVja3MKCjIwMDgtMTEtMTkgMDA6MDc6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI3My85MDZdIGFkZCBzb21lIGRlYnVnIG91dHB1dHMgYWJvdXQgVmlzdWFsIGFuZCBYVmlzdWFsSW5mbwoKMjAwOC0xMS0xNyAwMTowNDozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzIvOTA2XSBhZGQgYSB2aXNpYmxlIG1lbWJlciB0byBkZWFsIGJldHRlciB3aXRoIHRoZSBmaXJzdCBleHBvc2UgZXZlbnRzCgoyMDA4LTExLTE2IDE2OjU3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3MS85MDZdIHJldmVydCBsYXN0IGNvbW1pdCBiZWNhdXNlIHRoZSBjcmFzaCBjb21lcyBmcm9tIGxpYnNlbGludXgKCjIwMDgtMTEtMTUgMjM6MzI6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcwLzkwNl0gZml4IHVzZSBvZiBkaWZmZXJlbnQgRGlzcGxheSBzdHJ1Y3R1cmVzIHdoaWNoIHBvaW50IG9uIHRoZSBzYW1lIGRpc3BsYXkgbmFtZQoKMjAwOC0xMS0xNSAxODo1MTo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjkvOTA2XSBCZXR0ZXIgZGVhbCB3aXRoIFhOZXh0RXZlbnQgYW5kIFhTZW5kRXZlbnQKCjIwMDgtMTEtMTUgMDI6MjQ6MDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjY4LzkwNl0gQmV0dGVyIGRlYWwgd2l0aCBBdG9tcwoKMjAwOC0xMS0xNCAwMTowMDozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjcvOTA2XSBHZXQgcmlkZSBvZiBjYWxsaW5nIHNsZWVwIGluIGdsIHRocmVhZCBYIGxvb3AKCjIwMDgtMTEtMTMgMDI6MDU6MzMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjY2LzkwNl0gc2VjdXJlIGNsb3NlIHdoZW4gY2xpY2tpbmcgb24gdGhlIGNyb3NzCgoyMDA4LTExLTEzIDAxOjI5OjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkgIFsyNjUvOTA2XSBDUkxGIC0+IExGCgoyMDA4LTExLTEzIDAxOjIzOjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsyNjQvOTA2XSBSZXdyaXRlIGdzdGdsd2luZG93X3gxMS5jIGJlY2F1c2UgWCBBUEkgaXMgbm90IHRocmVhZCBzYWZlLgoKMjAwOC0xMS0xMSAwMzoxOTo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjMvOTA2XSBkaXNjYXJkIHggY3VzdG9tIG1lc3NhZ2VzIHdoaWNoIGFyZSBvZiBkYXRlCgoyMDA4LTExLTA5IDIzOjIzOjMwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyNjIvOTA2XSBXb3JrcyBvbiBsaW51eCBidXQgc3RpbGwgc29tZSBidWdzLiBGaXggYXV0b3Rvb2xzICBidWlsZC4KCjIwMDgtMTEtMDkgMjI6MTQ6MjkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjYxLzkwNl0gaW1wbGVtZW50IHF1aXQgeCBtZXNzYWdlIGxvb3AKCjIwMDgtMTEtMDkgMDI6NDQ6MjUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjAvOTA2XSB0cnkgdG8gbWFrZSBYU2VuZEV2ZW50IGJsb2NrZXIgKGFzIHdpbjMyIFNlbmRNZXNzYWdlIGlzKQoKMjAwOC0xMS0wNiAyMzo0MToxMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI1OS85MDZdIGNvbnRpbnVlIHggaW1wbGVtZW50YXRpb24gKGJ1dCBzdGlsbCBub3QgdGVzdGVkKQoKMjAwOC0xMS0wNiAwMToyODoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNTgvOTA2XSBzZXR1cCB4IG1lc3NhZ2UgbG9vcAoKMjAwOC0xMS0wNSAwMjowNjozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyNTcvOTA2XSBiZWdpbiBnc3RnbHdpbmRvd194MTEuYyBpbXBsZW1lbnRhdGlvbgoKMjAwOC0xMC0yOSAyMzo1MzoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyNTYvOTA2XSBmaXggQ01ha2UgYW4gQ29kZUJsb2NrcyBidWlsZHMKCjIwMDgtMTAtMjggMjE6NDQ6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1NS85MDZdIGZpeCB3aW5kb3cgY2xvc3VyZSB3aGVuIHVzaW5nIGdzdCB4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDgtMTAtMjggMDE6Mzg6NDUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjU0LzkwNl0gQmV0dGVyIGhhbmRsZSB3aGVuIHRoZSBwYXJlbnQgd2luZG93IGlzIHJlc2l6aW5nLCBhbmQgY2xlYW51cCBzb21lIGNvZGUKCjIwMDgtMTAtMjggMDA6MjI6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1My85MDZdIHdpbjMyOiByZS1pbXBsZW1lbnQgc3VwcG9ydHMgZm9yIGdzdCB4b3ZlcmxheSBpbnRlcmZhY2UsIG9uIHRoaXMgYnJhbmNoCgoyMDA4LTEwLTI1IDE2OjE4OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1Mi85MDZdIGF2b2lkIGEgZGVhZCBsb2NrIG9uIHdpbmRvdyBjbG9zdXJlCgoyMDA4LTEwLTI1IDAyOjAzOjE2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1MS85MDZdIFByb3Blcmx5IGNsZWFuIE9wZW5HTCBjb250ZXh0cwoKMjAwOC0xMC0yNCAwMTozOTowMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjUwLzkwNl0gd2luMzI6IGJhc2ljIHN0dWZmcyBhcmUgd29ya2luZyBub3cgb24gdGhpcyBicmFuY2ggd2l0aCB0aGlzIG5ldyBkZWVwIGRlc2lnbiAoZ3N0Z2x3aW5kb3cpCgoyMDA4LTEwLTIzIDAxOjQwOjUyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI0OS85MDZdIGJlZ2luIEdzdEdMV2luZG93IGluIG9yZGVyIHRvIHRvdGFsbHkgcmVtb3ZlIGdzdGZyZWVnbHV0CgoyMDA4LTEwLTE2IDIzOjQ3OjAxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIFsyNDgvOTA2XSBmaXggbXN2YyB3YXJuaW5ncyBhbmQgdXBkYXRlIENNYWtlIGJ1aWxkLCB3aW4zMiBDb2RlQmxvY2tzIGJ1aWxkIGFuZCB2czggYnVpbGQKCjIwMDgtMTAtMTUgMTY6MTg6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMjQ3LzkwNl0gSW1wb3J0IHhyYXkgZWZmZWN0CgkgIEFkZCB4cmF5IGVmZmVjdC4gTWFwcyBsdW1hIHRvIGEgbmVnYXRpdmUsIHNsaWdodGx5IGN5YW4gdGludGVkLCBjdXJ2ZSwKCSAgYXBwbGllcyBzb21lIGxpZ2h0IGdhdXNzaWFuIGJsdXIgYW5kIG11bHRpcGxpZXMgaXQgd2l0aCBpdHMgc29iZWwgZWRnZXMuIE5vdAoJICBzdXJlIGFib3V0IHRoZSBuYW1lLCBsaWtlbHkgdG8gY2hhbmdlLiBQcm9iYWJseSBzdGlsbCBuZWVkcyBzb21lIHR1bmluZy4KCjIwMDgtMTAtMTUgMTY6MTQ6NTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFsyNDYvOTA2XSBBZGQgbXVsdGlwbHkgZnJhZ21lbnQgc2hhZGVyCgkgIEFkZCBhIGZyYWdtZW50IHNoYWRlciB0byBibGVuZCB0d28gdGV4dHVyZXMgd2l0aCBtdWx0aXBseSBibGVuZCBtb2RlCgoyMDA4LTEwLTE1IDE1OjQ5OjEyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzI0NS85MDZdIEFkZCBpbnZlcnQgcHJvcGVydHkgdG8gc29iZWwgZmlsdGVyCgkgIEFkZCBhbiBpbnZlcnQgcHJvcGVydHkgdG8gc29iZWxfZnJhZ21lbnRfc291cmNlIGFuZCBTb2JlbCBmaWx0ZXIuIFVzZWZ1bAoJICB0byBoYXZlIGRhcmsgZWRnZXMgd2l0aCB3aGl0ZSBiYWNrZ3JvdW5kLgoKMjAwOC0xMC0xNSAxMjo1MDowNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSAgWzI0NC85MDZdIE1ha2UgbHVtYV90b19jdXJ2ZSBub24tc3RhdGljCgkgIE1ha2UgbHVtYV90b19jdXJ2ZSBwdWJsaWMgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBhIHN0ZXAgZm9yIG1vcmUKCSAgY29tcGxleCBlZmZlY3RzLgoKMjAwOC0xMC0xNSAxMjo0MjoyOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyNDMvOTA2XSBTdXBwb3J0IGZvciBtaXNzaW5nIHZpZGVvZm9ybWF0cyBpbiBnbHVwbG9hZAoJICBBZGQgc3VwcG9ydCBmb3IgbWlzc2luZyBhbHBoYSBjaGFubmVsZWQgdmlkZW9mb3JtYXRzIChSR0JBLCBCR1JBLAoJICBBUkdCLCBBQkdSKSBpbiBnc3RfZ2xfZGlzcGxheV9kb191cGxvYWRfZmlsbC4KCjIwMDgtMTAtMTMgMjM6MTQ6MjcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFsyNDIvOTA2XSBGaXggY3Jhc2ggaW4gZmlsdGVycyB3aGVuIGdvaW5nIHRvIE5VTEwgd2l0aCBubyBkaXNwbGF5CgoyMDA4LTEwLTExIDExOjQ1OjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI0MS85MDZdIGZpeCBDTWFrZSBidWlsZAoKMjAwOC0xMC0wNCAyMjozNDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbMjQwLzkwNl0gQnVpbGQgZ3RrLWRvY3MgZm9yIHBsdWdpbnMuCgkgIEFkZCBpbmNsdWRlIHRvIG90aGVyd2lzZSBlbXB0eSAudHlwZXMgZmlsZSB0byBmaXggdGhlIHNjYW5uZXIgYnVpbGQuCgkgIEVkaXQgTWFrZWZpbGUuYW0sIC5zZWN0aW9ucywgLWRvY3Muc2dtbCB0byBzY2FuIGFsbCBwbHVnaW5zIGFuZCBpbmNsdWRlCgkgIHRoZW0gaW4gdGhlIG1hc3RlciBmaWxlLiBGaXggeG1sIGVycm9ycyBpbiB0d28gc291cmNlcyAobWlzc2luZyBjbG9zaW5nCgkgIHRhZykuCgoyMDA4LTA5LTI5IDIzOjQ1OjEwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzOS85MDZdIHN0YXJ0IHRvIHdyaXRlIHRoZSBndGsgZG9jCgoyMDA4LTA5LTI1IDIyOjI1OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzIzOC85MDZdIGZpeCBnbGZpbHRlcmdsYXNzIChyZWFzb246IHZpZGVvdGVzdHNyYyByZ2IgaXMgYnkgZGVmYXVsdCBicHA9MzIsIGRlcHRoPTI0LCBzbyBhbHBoYSBjaGFubmVsIGlzIDApCgoyMDA4LTA5LTI0IDE5OjMyOjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzIzNy85MDZdIHVwZGF0ZSBjbWFrZSBidWlsZCBhbmQgdGhlIDIgZnJvemVuIHdpbjMyIGJ1aWxkcyAoQ29kZUJsb2NrcywgdnM4KQoKMjAwOC0wOS0yMyAxMDozNzo1OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzNi85MDZdIGltcG9ydCBzb2JlbCBlZGdlIGRldGVjdG9yIGZyb20gY3ZzIGJyYW5jaAoKMjAwOC0wOS0yNCAwMjowNzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMjM1LzkwNl0gY2FuIHVzZSBzZXZlcmFsIEdfTE9HX0RPTUFJTnMgYW5kIEdTVF9DQVRlZ29yaWVzLCB3aXRoIG1zdmM4CgoyMDA4LTA5LTIyIDA5OjQ3OjE2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIzNC85MDZdIHVzZSByaWdodCBibGVuZGluZyBmdW5jdGlvbiB3aXRoIHBpeGJ1ZiBvdmVybGF5CgoyMDA4LTA5LTIxIDEwOjU4OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIzMy85MDZdIG5vIG5lZWQgdG8gZXhwbGljaXQgc2V0IHRoZSBkZWJ1ZyBjYXRlZ29yeSBpZiBkZWZhdWx0IG9uZSBpcyB1c2VkCgoyMDA4LTA5LTIxIDEwOjA0OjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkgIFsyMzIvOTA2XSB1c2UgdGV4dHVyZTEgZm9yIGN1cnZlIHRleHR1cmVzCgoyMDA4LTA5LTIxIDE5OjI2OjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMzEvOTA2XSBBZGQgYSBnbGZpbHRlcmdsYXNzIGluc3BpcmVkIGZyb20gaHR0cDovL3d3dy5tZGsub3JnLnBsLzIwMDcvMTEvMTcvZ2wtY29sb3JzcGFjZS1jb252ZXJzaW9ucwoKMjAwOC0wOS0yMSAxNjo0MDozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzIzMC85MDZdIGV4cGxpY2l0IGNoZWNrIGdfZ2V0ZW52IHJldHVybiB2YWx1ZSB0byBiZSBub3QgTlVMTAoKMjAwOC0wOS0yMCAxNTo0NDoyNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjI5LzkwNl0gdXBkYXRlIGF1dGhvcnMgZnJvbSB0aGUgQ1ZTIHJlcG9zaXRvcnkKCjIwMDgtMDktMjAgMTQ6MTI6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFsyMjgvOTA2XSBvdXRwdXQgc2hhZGVycyBpbmZvIGxvZyBvbmx5IGlmIEdTVF9HTF9TSEFERVJfREVCVUcgZW52IHZhcmlhYmxlIGlzIHNldC4gU2hvdWxkIGZpeCBUT0RPIHRhc2sgMTgKCjIwMDgtMDktMTkgMTI6NDc6MDYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSAgWzIyNy85MDZdIGV4cGxpY2l0bHkgYmluZCB0aGUgbWFpbiB0ZXh0dXJlIGFuZCB0aGUgY3VydmUgb25lIHRvIHNlcGFyYXRlIHVuaXRzIGluIHJnYiBhbmQgbHVtYSB0byBjdXJ2ZSBlZmZlY3RzLiBUaGlzIHNob3VsZCBzb2x2ZSB0aGUgaXNzdWUgcG9pbnRlZCBpbiBUT0RPIGl0ZW0gMjEuCgoyMDA4LTA5LTE4IDIyOjUwOjA1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNi85MDZdIGNoZWNrIG9uIHdpbjMyIHRoYXQgZXZlcnkgdGVzdHMvcGlwZWxpbmVzIGFuZCB0ZXN0cy9leGFtcGxlcyAoZ2VuZXJpYywgZ3RrLCBxdCkgc3RpbGwgd29yawoKMjAwOC0wOS0xOCAyMToxMzozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjUvOTA2XSBmaXggYSByZWdyZXNzaW9uIHRoYXQgbWFkZSB0aGUgZ2x0ZXN0c3JjIGVsZW1lbnQgbm90IHdvcmtpbmcKCjIwMDgtMDktMTYgMDI6MTA6MzEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI0LzkwNl0gZml4IGEgcmVncmVzc2lvbiBhYm91dCBNRVNBIFlDYkNyIGNvbG9yc3BhY2UgY29udmVyc2lvbgoKMjAwOC0wOS0xNCAyMzoyMjo1OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjMvOTA2XSBmaXggYSByZWdyZXNzaW9uIChzb21ldGltZXMgYSBGQk8gaXMgbmVlZGVkIGV2ZW4gaWYgdGhlIHZpZGVvIHNvdXJjZSBpcyByZ2IpCgoyMDA4LTA5LTE0IDE5OjU2OjUwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMjIyLzkwNl0gRmluaXNoIFRPRE8gdGFzayAxNwoKMjAwOC0wOS0xMyAxOTo0Nzo0NCArMDIwMCAgSnVsaWVuIDxqdWxpZW5AYm93b2IuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjIxLzkwNl0gZml4IGdfaW50X2hhc2ggLT4gZ19kaXJlY3RfaGFzaAoKMjAwOC0wOS0xMyAxODoxNzo0MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjAvOTA2XSBVc2UgYSBiZXR0ZXIga2V5IGZvciB0aGUgcG9vbCBvZiB0ZXh0dXJlcwoKMjAwOC0wOS0xMyAwMzozMjowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyMTkvOTA2XSBVc2UgYSBnc3QgZGVidWcgY2F0ZWdvcnkgZm9yIEdzdEdMRGlzcGxheSBpbnN0ZWFkIG9mIGdfcHJpbnQsIGdzdC1sYXVuY2gtMC4xMCAtLWdzdC1kZWJ1Zz1nbGRpc3BsYXk6MyB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoKMjAwOC0wOS0xMiAwMToxMzo1MCArMDIwMCAgSnVsaWVuIDxqdWxpZW5AYm93b2IuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyMTgvOTA2XSBUaGUgQ01ha2UgYnVpbGQgbm93IHdvcmtzIG9uIG15IEt1YnVudHUtS0RFNC4xLjEKCjIwMDgtMDktMTEgMDI6MDc6MTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyMTcvOTA2XSBBZGQgY21ha2UgYnVpbGQgaHR0cDovL3d3dy5jbWFrZS5vcmcuIFNlZSBDTWFrZSBpbnN0YWxsIGluc3RydWN0aW9ucyBpbiB0aGUgSU5TVEFMTCBmaWxlLiAoSSBoYXZlIG5vdCBjb3JyZWN0bHkgY29uZmlndXJlZCB5ZXQgdGhlIENNYWtlIGJ1aWxkIGZvciB1bml4LCBCRSBwYXRpZW50KQoKMjAwOC0wOS0wNyAxNzo0NDo0MiArMDIwMCAgSnVsaWVuIDxqdWxpZW5AYm93b2IuKG5vbmUpPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjE2LzkwNl0gZml4IGdsYnVtcGVyIHJlbGF0ZWQgZ3RrIGRlcGVuZGVuY2llcwoKMjAwOC0wOS0wNyAxNDoxNzo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIxNS85MDZdIGdsYnVtcGVyIGlzIGNvbXBpbGVkIG9ubHkgd2hlbiBoYXZpbmcgR2RrUGl4QnVmLiBBbmQgdXBkYXRlIHdpbjMyIGNvZGVibG9ja3MgYnVpbGQKCjIwMDgtMDktMDcgMDE6Mzg6MTAgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzIxNC85MDZdIHVwZGF0ZSBjb2RlYmxvY2tzIGJ1aWxkIG9uIGxpbnV4IGFuZCBmaXggYSB3YXJuaW5nCgoyMDA4LTA5LTA3IDAxOjIzOjE5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSAgWzIxMy85MDZdIGZvcmdvdCB0byBhZGQgdGhlIGJ1bXBlciBmaWxlcwoKMjAwOC0wOS0wNyAwMDo0NTozNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjEyLzkwNl0gYWRkIGEgZ2xidW1wZXIgKGJ1bXAgbWFwcGluZyBmaWx0ZXIgdGhyb3VnaCBHTFNMKSB0aGF0IGV4cG9zZXMgaG93IHRvIHVzZSBib3RoIHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycwoKMjAwOC0wOC0yNSAxMDozNDo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMTEvOTA2XSBGaXggdXBsb2FkIEFZVVYgYW5kIFlWMTIgKGEgcmVncmVzc2lvbiBpbiBsYXN0IGNvbW1pdHMpCgoyMDA4LTA4LTI0IDE2OjMzOjI2ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjEwLzkwNl0gZ2V0IHJpZGUgb2YgYSB3cm9uZyBjb2xvciBvbiBudmlkaWEvbGludXggd2hlbiBjb252ZXJ0aW5nIHl2MTIgdG8gcmdiIHRocm91Z2ggR0xTTAoKMjAwOC0wOC0yNCAxNTozOToxNCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwOS85MDZdIGZpeCB3YXJuaW5ncwoKMjAwOC0wOC0yNCAwNDoyNDoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDgvOTA2XSBmaXggdXBsb2FkIEFZVVYsIHJlZ3Jlc3Npb24gZHVyaW5nIHRoZSAyIGxhc3QgY29tbWl0cwoKMjAwOC0wOC0yNCAwMzozODo0MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDcvOTA2XSBvdXBzLCBmaXggbXkgbWlzdGFrZSBvbiBsYXN0IGNvbW1pdAoKMjAwOC0wOC0yNCAwMzoxMjoxMiArMDIwMCAgdW5rbm93biA8THVjQC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzIwNi85MDZdIERvIG5vdCB1c2UgZnJhbWUgYnVmZmVyIG9iamVjdCB3aGVuICJpbnB1dCB2aWRlbyBpcyBSR0IiIG9yIHdoZW4gIkdMU0wgaXMgbm90IGF2YWlsYWJsZSBhbmQgWUNiQ3IgaXMgYXZhaWxhYmxlIi4gU28gZnJhbWUgYnVmZmVyIG9iamVjdCBpcyBub3QgYSBwbHVnaW4gcmVxdWlyZW1lbnQgYW55bW9yZS4gU28gSSBkZWNyZWFzZWQgdGhlIE9wZW5nR0wgdmVyc2lvbiBmcm9tIDEuNCB0byAxLjIgKG1heWJlIGxlc3M/KQoKMjAwOC0wOC0yMSAxMToxMjo0MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzIwNS85MDZdIHVzZSBhIEdIYXNoICB0YWJsZSBpbnN0ZWFkIG9mIGEgR0RhdGEgZm9yIHRoZSB0ZXh0dXJlIHBvb2wKCjIwMDgtMDgtMjAgMTU6NDc6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA0LzkwNl0gZ2V0IHJpZGUgb2YgYSBidWcgb24gQVRJIHJlbGF0ZWQgdG8gWVYxMiB0byByZ2IgY29udmVyc2lvbiB0aHJvdWdoIEdMU0wgYW5kIGFkZCBhbiBleGFtcGxlCgoyMDA4LTA4LTIwIDEwOjAyOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIwMy85MDZdIHVzZSBvcGVuZ2wgZm9yIHBpeGJ1ZiByZXNpemluZyBpbiBnbHBpeGJ1Zm92ZXJsYXksIHN0YXJ0IHRvIHdvcmsgb24gcHJvcGVydGllcwoKMjAwOC0wOC0yMCAwOToyNjo0NiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyMDIvOTA2XSB1c2UgZml4ZWQgb3BlbmdsIHBpcGVsaW5lIGZvciBnbHBpeGJ1Zm92ZXJsYXkgKGFueSBkcmF3YmFjaz8pCgoyMDA4LTA4LTIwIDA5OjI0OjUzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwMS85MDZdIGZpeCBhIHNpZ25lZG5lc3Mgd2FybmluZwoKMjAwOC0wOC0yMCAwMDoxMTozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDAvOTA2XSBnZXQgcmlkZSBvZiBhIEFUSSBidWcgcmVsYXRlZCB0byBHTFNMIGNvbG9yc3BhY2UgY29udmVyc2lvbiBmb3IgSTQyMCBhbmQgWVYxMiB0byByZ2IKCjIwMDgtMDgtMTkgMjI6MTU6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTkvOTA2XSBhZGQgcGl4YnVmZHJvcCB2czggcHJvamVjdAoKMjAwOC0wOC0xOSAyMTowNDoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTgvOTA2XSBhZGQgZnh0ZXN0IHZzOCBwcm9qZWN0CgoyMDA4LTA4LTE5IDExOjA3OjE4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE5Ny85MDZdIFNoYWRlcnMgd2hpY2ggYXJlIGluIHRoZSBzaGFkZXJzdGFibGUgYXJlIG5vdyByZWxlYXNlZAoKMjAwOC0wOC0xOSAwOTo0ODoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5Ni85MDZdIGZpeCBhIGRpZmZlcmVuY2VtYXR0ZSBtZW1vcnkgaXNzdWUKCjIwMDgtMDgtMTkgMDg6NTA6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFsxOTUvOTA2XSBmaXggZ3N0Z2xkaWZmZXJlbmNlbWF0dGUgYW5kIGFkZCBhbiBleGFtcGxlIGFwcCB0byB0ZXN0IGl0IGRyYWdnaW5nIGFuIGltYWdlIG92ZXIgdGhlIHZpZGVvICh3b3JrcyB3aXRoIHBpeGJ1Zm92ZXJsYXkgdG9vLCBzZWUgcGl4YnVmZHJvcCAtLWhlbHApCgoyMDA4LTA4LTE4IDIxOjUwOjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTQvOTA2XSBhbm90aGVyIHR5cG8sIHJlc3RvcmUgb2xkIHR3aXJsIGZyYWdtZW50IHNvdXJjZQoKMjAwOC0wOC0xOCAyMTo0MzowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTkzLzkwNl0gZml4IHR5cG9zCgoyMDA4LTA4LTE4IDIxOjQwOjI2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5Mi85MDZdIGNvbXBsZXRlIGRpZmZlcmVuY2VtYXR0ZSBmaWx0ZXIuLiBJIGRpZCBpdCBxdWlja2x5LCBwcm9iYWJseSBzdGlsbCBuZWVkcyBzb21lIHdvcmsKCjIwMDgtMDgtMTggMjA6MjU6MjUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTkxLzkwNl0gbGl0dGxlIGNsZWFudXAuIGFkZCBmaXJzdCBkcmFmdCBvZiBnc3RnbGRpZmZlcmVuY2VtYXR0ZS4gc3RpbGwgZG9lc24ndCB3b3JrCgoyMDA4LTA4LTE4IDE4OjUzOjEzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTkwLzkwNl0gZm9yY2UgY2FsbGluZyBnbGltYWdlc2luay0+c3RvcCgpIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkKCjIwMDgtMDgtMTggMTc6MTk6MDYgKzAyMDAgIHVua25vd24gPEFkbWluaXN0cmF0ZXVyQC4obm9uZSk+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsxODkvOTA2XSB1cGRhdGUgdnM4IGJ1aWxkIGFuZCBmaXggc29tZSB3YXJuaW5ncyB0aGF0IGNvbWVzIGZyb20gdmM4CgoyMDA4LTA4LTE4IDE2OjE2OjU4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxODgvOTA2XSBhZGQgZmlyc3QgZHJhZnQgb2YgYSBwaXhidWYgb3ZlcmxheSBlbGVtZW50LiBhZGQgbWFjcm9zIHRvIG9wdGlvbmFsbHkgYnVpbGQgdGhlIGxhdHRlciBpZiBnZGstcGl4YnVmIGlzIGZvdW5kCgoyMDA4LTA4LTE4IDExOjQ4OjQ3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODcvOTA2XSByZW1vdmUgZXhwb3NlIGV2ZW50IGhhbmRsaW5nLCBpdCdzIG1hcC11bm1hcCB0aGF0IGlzIG5vdCBiZWhhdmluZyBjb3JyZWN0bHksIGFueSBpZGVhPwoKMjAwOC0wOC0xOCAxMTowODowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg2LzkwNl0gYWRkIGV4cG9zZSBldmVudCBoYW5kbGluZyB0byBjbHV0dGVyYWN0b3J0ZWUKCjIwMDgtMDgtMTggMTA6NTA6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4NS85MDZdIGFkZCBjbHV0dGVyYWN0b3J0ZWUgZXhhbXBsZSwgYSBuaWNlIGV4YW1wbGUgYWJvdXQgaG93IGNsdXR0ZXIgY291bGQgYmUgdXNlZCB0byBjcmVhdGUgYSBsaXZlIHByZXZpZXcgd2lkZ2V0IGZvciBnbGVmZmVjdHMuIEl0IHVzZXMgdGV4dHVyZSBmcm9tIHBpeG1hcCwgc3RpbGwgbmVlZHMgc29tZSB3b3JrIHJlZ2FyZGluZyBjbGVhbiBleGl0IGFuZCBleHBvc2UgZXZlbnQgbWFuYWdlbWVudC4KCjIwMDgtMDgtMTggMDk6MDY6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbMTg0LzkwNl0gYWRkIGEgY291cGxlIG9mIG1hY3JvcyB0byBhdXRvdG9vbHMgdG8gY29tcGlsZSB3aXRoIHVpbnRyZXBpZCBhdXRvbWFrZS4gcmVtb3ZlIGFycmF5IGNvbnN0cnVjdG9yIHNvIHdlIGRvbid0IGhhdmUgdG8gZGVwZW5kIG9uIGdsc2wgI3ZlcnNpb24gMTIwLgoKMjAwOC0wOC0xNyAxNzo0NTo1MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJICBbMTgzLzkwNl0gYWRkIGFuIGV4YW1wbGUgdG8gdXNlIHRleHR1cmUgZnJvbSBwaXhtYXAgdG8gZG8gc29tZSBraW5kIG9mIHhfb3ZlcmxheSBvbiBhIGNsdXR0ZXJhY3Rvci4gQSBiZXR0ZXIgd2F5IHdvdWxkIGJlIHRvIGRpcmVjdGx5IHNoYXJlIGdsIGhhbmRsZXMgYmV0d2VlbiBjbHV0dGVyIGFuZCBnc3RnbCBidXQgc3RpbGwgSSBjYW5ub3QgZmluZCBhIHdheSB0byBkbyBpdC4KCjIwMDgtMDgtMTcgMTI6MjE6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIFsxODIvOTA2XSBhZGQgYSBiZXR0ZXIgc2VwaWEgdG9uaW5nIGN1cnZlCgoyMDA4LTA4LTE3IDA5OjI0OjI0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzE4MS85MDZdIGFkZCBhIHRyYW5zbGF0YWJsZSBzdHJpbmcgdG8gdGVzdHNyYyB0byBnZXQgcmlkIG9mIHBvIGRpciBlcnJvcnMgYWZ0ZXIgZGlzdGNsZWFuIGFuZCBnaXQgY2xlYW4KCjIwMDgtMDgtMTYgMTc6MzY6MTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE4MC85MDZdIG1pbm9yIGNsZWFudXAgaW4gZnh0ZXN0CgoyMDA4LTA4LTE2IDEyOjM3OjM2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2Rpc3RvcnRpb24uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkgIFsxNzkvOTA2XSBkaXN0b3J0aW9uIGVmZmVjdCBjbGVhbnVwCgoyMDA4LTA4LTE2IDEwOjE1OjMxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzgvOTA2XSBpbXByb3ZlIGZ4dGVzdCBjb21tYW5kIGxpbmUgb3B0aW9uIGhhbmRsaW5nLCBkZWZhdWx0IHRvIHZpZGVvdGVzdHNyYyBpZiBubyBzb3VyY2UgYmluIGRlc2NyaXB0aW9uIGlzIGdpdmVuCgoyMDA4LTA4LTE2IDA5OjQwOjU0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE3Ny85MDZdIGZpeCBnbGVmZmVjdHMgbWVtb3J5IGlzc3VlIChpbml0IHJlc291cmNlcyBvbiBzdGFydCBhbmQgcmVzZXQgdGhlbSBvbiBzdG9wKQoKMjAwOC0wOC0xNiAwOToxNzoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxNzYvOTA2XSBmaXggYSB0eXBvCgoyMDA4LTA4LTE2IDA5OjEzOjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTc1LzkwNl0gYWRkIHNpbiBlZmZlY3QgKGRlc2F0dXJhdGUgZXZlcnl0aGluZyBidXQgcmVkIHNoYWRlcykuIHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0wOC0xNCAyMjoyODoxOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE3NC85MDZdIGFkZCBhIHByb3BlcnR5IHRvIGdsZWZmZWN0cyB0byBzd2l0Y2ggdmlkZW8gbGVmdCB0byByaWdodCwgdXNlZnVsIHdpdGggd2ViY2FtcyB0byByZXNlbWJsZSBhIG1pcnJvcgoKMjAwOC0wOC0xNCAyMToyOTowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3My85MDZdIGFkZCBsdW1heHBybyAoZGVzYXR1cmF0ZSArIGNyb3NzIHByb2Nlc3MpIGVmZmVjdC4gbm90aGluZyB0b28gaW1wcmVzc2l2ZSBidXQgSSBsaWtlIGl0LgoKMjAwOC0wOC0xNCAyMDo1NDo1NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTcyLzkwNl0gYWRkIHN1cHBvcnQgZm9yIGNvbW1hbmQgbGluZSBwYXJzaW5nIHRvIGZ4dGVzdCAodHJ5IGZ4dGVzdCB2aWRlb3Rlc3RzcmMgISBkZXNpcmVkIGNhcHMgISBpZGVudGl0eSkuIHJlcG9ydCBhIG5ldyBpc3N1ZSBvbiBCVUdTLgoKMjAwOC0wOC0xNCAyMDowMjowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzEvOTA2XSBpbXBvcnQgZnh0ZXN0IChsaXR0bGUgZ3RrIGFwcCB0byBlYXNpbHkgdGVzdCBlZmZlY3RzKSBmcm9tIGN2cyBicmFuY2gsIGZpeGVkIHJnYnRvY3VydmUuCgoyMDA4LTA4LTE0IDE3OjAzOjIxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE3MC85MDZdIHVwZGF0ZSBjb2RlYmxvY2tzIGJ1aWxkCgoyMDA4LTA4LTE0IDE0OjA4OjIzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzZGlzdG9ydGlvbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2OS85MDZdIGltcG9ydCByZW1haW5pbmcgZGlzdG9ydGlvbiBlZmZlY3RzIGZyb20gY3ZzIGJyYW5jaCAoZmlzaGV5ZSwgdHdpcmwsIGJ1bGdlLCB0dW5uZWwsIHNxdWFyZSkKCjIwMDgtMDgtMTQgMTI6Mzk6MDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIFsxNjgvOTA2XSBjbGVhbnVwIGN1cnZlcyBoZWFkZXIKCjIwMDgtMDgtMTQgMTI6MjY6MjUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIFsxNjcvOTA2XSBiZXR0ZXIgY3Jvc3MgcHJvY2Vzc2luZyBjdXJ2ZQoKMjAwOC0wOC0xNCAxMjowOTozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY2LzkwNl0gYWRkIHJnYl90b19sdW1hX2ZyYWdtZW50IHNvdXJjZSBhbmQgY29ycmVzcG9uZGVudCBlZmZlY3QuIHVzZSB0aGUgbGF0dGVyIGZvciBhIGNyb3NzIHByb2Nlc3NpbmcgZWZmZWN0LgoKMjAwOC0wOC0xNCAxMTozMTowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2NS85MDZdIGltcG9ydCBsdW1hX3RvX2N1cnZlIGVmZmVjdHMgKFNlcGlhLCBIZWF0KSBmcm9tIGN2cyBicmFuY2ggd2l0aCBiZXR0ZXIgdGV4dHVyZSBtZW1vcnkgaGFuZGxpbmcgKHRleGltYWdlIGN1cnZlcyBvbmx5IG9uY2UpLiBTZXBpYSBjdXJ2ZSBzdGlsbCBuZWVkcyBzb21lIGxvdmUuCgoyMDA4LTA4LTE0IDA5OjM5OjU1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzE2NC85MDZdIHJlbmFtZSBibGVuZF9mcmFnbWVudF9zb3VyY2UgdG8gc3VtX2ZyYWdtZW50X3NvdXJjZSBhbmQgYWRkIHVuaWZvcm0gYmxlbmRpbmcgcGFyYW1ldGVycwoKMjAwOC0wOC0xNCAwOToyNjoyMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjMvOTA2XSBpbXBvcnQgZ2xvdyBlZmZlY3QgKG1heWJlIHRoZSBtb3N0IHRyaWNreSkgZnJvbSBjdnMgYnJhbmNoCgoyMDA4LTA4LTE0IDA4OjAzOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTYyLzkwNl0gaW1wb3J0IHN0cmV0Y2ggZWZmZWN0IGZyb20gY3ZzCgoyMDA4LTA4LTE0IDAwOjA3OjIwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTYxLzkwNl0gaW1wb3J0IHNxdWVlemUgZWZmZWN0IGZyb20gY3ZzCgoyMDA4LTA4LTEzIDIyOjQyOjQ4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE2MC85MDZdIGZvcmdvdCB0byBhZGQgYSBmaWxlCgoyMDA4LTA4LTEzIDIyOjM2OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTkvOTA2XSBzdGlsbCBzb21lIHNvdXJjZSB0cmVlIHJlb3JnYW5pemUsIGZpeGVkIHNvbWUgaXNzdWUgd2l0aCBoZWFkZXJzIGFuZCBpZmRlZnMsIG1vdmVkIGlkZW50aXR5IGludG8gZWZmZWN0cyBkaXIKCjIwMDgtMDgtMTMgMjA6NTg6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTgvOTA2XSBzdGlsbCB3b3JraW5nIG9uIG1lcmdpbiBnc3RnbGVmZmVjdHMsIGFkZCBtaXJyb3IgZWZmZWN0LiByZW9yZ2FuaXplIHNvdXJjZSB0cmVlLgoKMjAwOC0wOC0xMyAxNzo1OTowOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxNTcvOTA2XSBtb3ZlIHRocmVhZF9kb191cGxvYWRfbWFrZSBmcm9tIHRocmVhZF9kb191cGxvYWQgdG8gdGhyZWFkX2luaXRfdXBsb2FkCgoyMDA4LTA4LTEzIDE3OjE2OjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL0JVR1M6CgkgIFsxNTYvOTA2XSBmaXggYSBjcmFzaCB0aGF0IGNvdWxkIGhhcHBlbnMgd2hlbiB1c2luZyBhdCBsZWFzdCAyIGdsIGNvbnRleHQgYW5kIHdoZW4gY2xvc2luZyBhIHdpbmRvdyBvbiBsaW51eAoKMjAwOC0wOC0xMyAxNjowMToyMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNTUvOTA2XSBmaXggc29tZSBlcnJvcnMgYW5kIGNoZWNrIGFsbCB0aGUgcGlwZWxpbmVzIGxpc3RlZCBpbiB0ZXN0cy9waXBlbGluZXMKCjIwMDgtMDgtMTIgMTE6MDk6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE1NC85MDZdIGFkZGVkIGZpcnN0IHNrZWxldG9uIG9mIGdzdGdsZWZmZWN0cywgaW1wb3J0ZWQgYmFzaWMgc3R1ZmYgZnJvbSBjdnMgYnJhbmNoLgoKMjAwOC0wOC0xMSAyMDoxMjowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE1My85MDZdIFRyeSB0byBnZW5lcmVhdGUgdGV4dHVyZXMgd2l0aGluIGdzdGdsZmlsdGVyYmx1ciB0byBzZWUgaWYgdGhlIG5ldyB0aHJlYWRfdXNlX2ZibyB3b3JrcyBib3RoIHdpdGggdGV4dHVyZXMgZnJvbSB0aGUgcG9vbCBhbmQgY3VzdG9tIG9uZXMKCjIwMDgtMDgtMTEgMjA6MDE6NDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTUyLzkwNl0gcmVtb3ZlIGFuIHVubmVlZGVkIChyZWFsbHk/KSBnbFRleEltYWdlCgoyMDA4LTA4LTExIDE5OjA4OjIyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMTUxLzkwNl0gSVNPIEM5MAoKMjAwOC0wOC0xMSAxOTowMTozMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE1MC85MDZdIGdsVGV4SW1hZ2UyRCh3LCBoLCBOVUxMKSBpcyBub3cgY2FsbGVkIG9ubHkgb25lIHRpbWUgKG1lbSBhbGxvYykKCjIwMDgtMDgtMTEgMTc6MjE6MzAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQ5LzkwNl0gc2FtZSBhcyBwcmV2aW91cyBjb21taXQKCjIwMDgtMDgtMTEgMTc6MTc6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQ4LzkwNl0gRml4IHJnYiBpc3N1ZS4gQ3VycmVudCBwcm9ncmFtIHNob3VsZCBhbHdheXMgYmUgc2V0IHRvIDAgd2hlbiBhIG5ldyB0ZXh0dXJlIGlzIGF0dGFjaGVkIHRvIGEgZmJvLgoKMjAwOC0wOC0xMSAxNTo1MzoxMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNDcvOTA2XSBvdXBzIGZvcmdvdCB0byBhZGQgMiBmaWxlcyB0byB0aGUgcHJldmlvdXMgY29tbWl0CgoyMDA4LTA4LTExIDE1OjQwOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxNDYvOTA2XSByZW1vdmUgZmlsdGVyZWRnZQoKMjAwOC0wOC0xMSAxNTozMDozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDUvOTA2XSBnZW4vZGVsIHRoZSBtaWRkbGUgdGV4dHVyZSBvbmx5IG9uZSB0aW1lIGluIHRoZSBnc3RnbGZpbHRlcmJsdXIKCjIwMDgtMDgtMTEgMTE6MjY6MzIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE0NC85MDZdIHJlbW92ZSBnc3RnbGZpbHRlcmJsdXIuaCwgaXQncyBlYXNpZXIgdG8gaGF2ZSBldmVyeXRoaW5nIGluIHRoZSBzYW1lIGZpbGUKCjIwMDgtMDgtMTEgMDk6NTI6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQzLzkwNl0gQWRkIGluaXQgYW5kIHJlc2V0IGNhbGxiYWNrcyBpbiBHc3RHTEZpbHRlciB0byBydW4gYXJiaXRyYXJ5IGdsIGNvZGUgYXQgc3RhcnQgYW5kIHN0b3AuIFVzZWZ1bCB0byBpbml0IGFuZCBjbGVhbnVwIGN1c3RvbSBnbCByZXNvdXJjZXMuCgoyMDA4LTA4LTExIDA5OjAwOjQwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDIvOTA2XSBBZGQgYSBnZW5lcmljIGFjdGlvbiB0byBiZSBhYmxlIHRvIGV4ZWN1dGUgYXJiaXRyYXJ5IGdsIGNvZGUgd2l0aGluIHRoZSBnbCB0aHJlYWQgd2l0aCBsZXNzIHBhaW4KCjIwMDgtMDgtMTAgMTE6MjI6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0MS85MDZdIHNvbWUgc3RlcHMgdG93YXJkcyBzaW1wbGlmaWNhdGlvbi4gYWRkZWQgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0byBnc3RnbGZpbHRlciBhbmQgc29tZSBjb21tZW50IGhlcmUgYW5kIHRoZXJlCgoyMDA4LTA4LTA1IDEwOjE1OjA3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzE0MC85MDZdIEZpeCBHTF9TVEFDS19PVkVSRkxPVwoKMjAwOC0wOC0wNCAxMjoxMzoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzEzOS85MDZdIGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB1cGxvYWQvZG93bmxvYWQgc2hhZGVycwoKMjAwOC0wOC0wNCAwOTo1Njo1OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzOC85MDZdIGlzIHRoYXQgdmlkZW9mb3JtYXQgcG9pbnRlciByZWFsbHkgbmVlZGVkPwoKMjAwOC0wOC0wNCAwOTo0NjoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzEzNy85MDZdIERvbid0IHJlYWxsb2NhdGUgdGV4dHVyZSBtZW1vcnkgZXZlcnkgdGltZSBpbiB1cGxvYWRfKiBmdW5jdGlvbnMuCgoyMDA4LTA4LTAxIDExOjAwOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM2LzkwNl0gcmVpbmRlbnQgZ3N0Z2xkaXNwbGF5IHdpdGggZ3N0cmVhbWVyLWMtbW9kZQoKMjAwOC0wNy0zMSAxNzo0ODowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTM1LzkwNl0gYWRkIGFuZCBtYWtlIHRoZSBGaWxpcHBvJ3MgZ3N0Z2xmaWx0ZXJibHVyIHdvcmtzIG9uIHRoZSBtYXN0ZXIgYnJhbmNoIChleGFtcGxlIG9mIG11bHRpcGxlIHN0ZXAgcmVuZGVyaW5nKQoKMjAwOC0wNy0yNSAwMTo0MzoyOCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTM0LzkwNl0gZml4IG1ha2VmaWxlcyBsaXN0IGZyb20gY29uZmlndXJlLmFjICh0ZXN0cyBoYXZlIGNoYW5nZXMpIGFuZCBmaXggYSB3YXJuaW5nCgoyMDA4LTA3LTIxIDAwOjI0OjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEzMy85MDZdIGZpbmlzaCB0b2RvIHRhc2sgNAoKMjAwOC0wNy0yMCAxNjozODo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMzIvOTA2XSBtYWtlIHRoZSBwbHVnaW4gcHJvcGVybHkgc2h1dGRvd24gd2hlbiBvbmUgb2YgdGhlIGNoZWNrIHJlcXVpcmVtZW50cyBmYWlsZWQKCjIwMDgtMDctMTkgMDg6MzI6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMzEvOTA2XSBmaXggd2FybmluZ3MgKHVudXNlZCB2YXJzKQoKMjAwOC0wNy0xOSAwMzowMDoyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSAgWzEzMC85MDZdIHVzZSBHc3RHTFNoYWRlciBpbiB0aGUgR0xTTCBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMDgtMDctMTggMjI6MzM6NDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFsxMjkvOTA2XSBmaXhlZCB3YXJuaW5nIGZvciB1bnVzZWQgdmFyaWFibGUgKGZhdGFsIHdpdGggLVdlcnJvcikKCjIwMDgtMDctMTggMjE6NTU6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzEyOC85MDZdIGFkZCBHc3RHTFNoYWRlciBzdHVmZnMgaW4gdGhlIHZzOCBwcm9qZWN0LCBmaXggbGFwbGFjaWFuIGZyYWdtZW50IGNvZGUgdG8gbWFrZSBpdCBjb21waWxlIG9uIEFUSSwgYW5kIGZpeCBjaGVjayBmdW5jdGlvbiBhYm91dCBPcGVuZ2wgYW5kIEdsZXcgdmVyc2lvbgoKMjAwOC0wNy0xOCAxMDo0OTozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzEyNy85MDZdIEltcG9ydGVkIEdzdEdMU2hhZGVyIGZyb20gY3ZzIGJyYW5jaC4gQWRkZWQgYSBkZW1vIGxhcGxhY2lhbiBjb252b2x1dGlvbiBmaWx0ZXIgdG8gZGVtb25zdHJhdGUgaG93IHRoaXMgY2FuIGJlIGludGVncmF0ZWQgd2l0aCBtaW5pbXVtIGVmZm9ydC4KCjIwMDgtMDctMTYgMTU6MjM6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFsxMjYvOTA2XSBDaGFuZ2Ugc29tZSBndWludHMgdG8gR0x1aW50cyBiZWNhdXNlIG9mIHdhcm5pbmdzIG9uIE9TL1guCgoyMDA4LTA3LTE2IDE1OjIyOjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC5sb2NhbD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzEyNS85MDZdIEFkZCBsaWJyYXJpZXMgYXMgYXBwcm9wcmlhdGUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDA4LTA3LTE1IDE0OjM2OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFsxMjQvOTA2XSBHbG9iYWwgcmVwbGFjZSBvZiBDUkxGIGxpbmUgZW5kaW5ncyB0byBMRgoKMjAwOC0wNy0xMiAxNDoxODo0NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjMvOTA2XSBYIFNwZWNpZmljOiBiZXR0ZXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIGdzdF9nbF9zZXRfd2luZG93X2lkCgoyMDA4LTA3LTEyIDEzOjI0OjMwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMi85MDZdIGJldHRlciBpbXBsZW1lbnRhdGlvbiBvZiBnc3RfZ2xfZGlzcGxheV9zZXRfd2luZG93X2lkIGZvciB3aW4zMi4gKGNoYW5nZSB0aGUgd2luZG93IG9mIHRoZSBjdXJyZW50IHdnbGNvbnRleHQgaW5zdGVhZCBvZiByZWluaXQgZXZlcnl0aGluZywgYW5kIHNvIGF2b2lkIHNvbWUgcHJvYmxlbXMgYWJvdXQgb3BlbmdsIG9iamVjdHMgdGhhdCBjb3VsZCBiZSBpbml0IGluIHRoZSBwcmV2aW91cyB3Z2xjb250ZXh0IGFuZCBzbyBubyB1c2FibGUgaW4gdGhlIG5ld2VyIHdnbGNvbnRleHQsIGl0IHdoYXQgdGhlIGNhc2UgZm9yIHRoZSBmaXJzdCB0ZXh0dXJlKSBUaGlzIG5ld2VyIGltcGxlbWVudGF0aW9uIGhhcyBub3QgYmVlbiBtYWRlIHlldCBvbiBsaW51eAoKMjAwOC0wNy0xMiAwMToxMzowOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjEvOTA2XSBhdm9pZCB1c2Ugb2YgR0xTTCBmdW5jdGlvbnMgd2hlbiBmcmFnbWVudF9zaGFkZXIgaXMgbm90IGF2YWlsYWJsZQoKMjAwOC0wNy0xMSAwNjoyNDoyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxMjAvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU4MCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMTAgMjM6NTM6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzExOS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTc5IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0wNyAyMDo1OToyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE4LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NzMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTA2IDE2OjUwOjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE3LzkwNl0gdXAgZ3RrIGV4YW1wbGUKCjIwMDgtMDctMDUgMjI6NTY6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzExNi85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTYzIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0zMCAwMDozODozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTUvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NiA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjkgMTc6Mjc6NDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTE0LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTUgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI4IDIzOjI4OjExICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFsxMTMvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjggMTU6Mzg6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTEyLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NTIgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTI0IDIyOjI4OjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzExMS85MDZdIHVwCgoyMDA4LTA2LTIzIDIzOjEyOjM3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzExMC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQ0IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yMyAxODo1NjoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzEwOS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTQzIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yMSAyMTozODo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbMTA4LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDAgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTE5IDIzOjM4OjM2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEwNy85MDZdIGZpeCBvcGVuZ2wgdmVyc2lvbiBjaGVja2VyCgoyMDA4LTA2LTE2IDIzOjEyOjQ4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEwNi85MDZdIHVwIHNvYmVsIGFsZ28KCjIwMDgtMDYtMTUgMTg6MzE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkgIFsxMDUvOTA2XSB1cCBTb2JlbCBmaWx0ZXIgYW5kIGdsL2dsZXcgdmVyc2lvbiBjaGVja2VyCgoyMDA4LTA2LTEzIDAwOjAxOjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTA0LzkwNl0gc3RhcnQgdG8gYWRkIGEgZ2xmaWx0ZXJlZGdlIHRoYXQgcHJvY2VlZHMgZWRnZSBkZXRlY3Rpb24gdXNpbmcgR0xTTAoKMjAwOC0wNi0xMiAyMTo0MDoxNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTAzLzkwNl0gcmVuYW1lIGdsZ3JhcGhpY21ha2VyIC0+IGdsdXBsb2FkIGFuZCBnbHZpZGVvbWFrZXIgLT4gZ2xkb3dubG9hZAoKMjAwOC0wNi0xMSAyMzo0Mzo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIFsxMDIvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzo0Mjo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzEwMS85MDZdIGlkZW0KCjIwMDgtMDYtMTEgMjM6NDA6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFsxMDAvOTA2XSBmaXggd2FybmluZ3MgbGludXgtc3BlY2lmaWMKCjIwMDgtMDYtMTEgMjM6NDA6MDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMDk5LzkwNl0gdXAgKHN3aXRjaGluZyBsaW51eCBhbmQgd2luMzIpIC4uLiBub3QgZnVuIGVkaXRvciAuLi4KCjIwMDgtMDYtMTEgMjM6Mzg6MzMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDk4LzkwNl0gdXAuLi4KCjIwMDgtMDYtMTEgMjM6MzY6MjUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkgIFswOTcvOTA2XSBmaXggd2FybmluZ3MKCjIwMDgtMDYtMTEgMjM6MzE6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJICBbMDk2LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MjY6MTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkgIFswOTUvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoyMzoxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzA5NC85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjEyOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA5My85MDZdIHJlbW92ZSAyIHdhcm5pbmdzCgoyMDA4LTA2LTExIDIzOjA0OjUyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFswOTIvOTA2XSBGaW5pc2ggdG8gcmV2aXZlIHRoZSBnbHRlc3RzcmMuIE5leHQgc3RlcCBpcyB0byBkbyBzb21lIHJlZmFjdG9yaW5nLgoKMjAwOC0wNi0xMSAxODozMzo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA5MS85MDZdIHN0YXJ0IHRvIHJldml2ZSB0aGUgZ2x0ZXN0c3JjCgoyMDA4LTA2LTEwIDIzOjAwOjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA5MC85MDZdIHVwCgoyMDA4LTA2LTEwIDIyOjU5OjU3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4OS85MDZdIGFkZCBhICJnbGNvbG9yc2NhbGUiIGVsZW1lbnQgZXF1aXZhbGVudCB0byAiZmZtZXBnY29sb3JzcGFjZSAhIHZpZGVvc2NhbGUgISBmZm1wZWdjb2xvcnNwYWNlIgoKMjAwOC0wNi0xMCAyMjowODoxMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDg4LzkwNl0gZml4IHNvbWUgY2FwcyBuZWdvY2lhdGlvbnMgdGhvc2UgcGlwZWxpbmVzIHdvcmtzIGZpbmUgOiBnc3QtbGF1bmNoLTAuMTAgLXYgdmlkZW90ZXN0c3JjICEgdmlkZW8veC1yYXcteXV2LCB3aWR0aD0zMjAsIGhlaWdodD0yNDAgISBnbGdyYXBoaWNtYWtlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD03MjAgLCBoZWlnaHQ9NTc2ICEgZ2xmaWx0ZXJjdWJlICEgZ2xpbWFnZXNpbmsgYW5kIGdzdC1sYXVuY2gtMC4xMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsIHdpZHRoPTMyMCwgaGVpZ2h0PTI0MCAhIGdsZ3JhcGhpY21ha2VyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPTcyMCAsIGhlaWdodD01NzYgISBnbGltYWdlc2luawoKMjAwOC0wNi0xMCAxOTowNzo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswODcvOTA2XSBnbGZpbHRlciBjYW4gYWNjZXB0IHRvIGhhdmUgYW4gaW5wdXQgc2l6ZSBkaWZmZXJlbnQgdGhhbiB0aGUgb3V0IHB1dCBzaXplIDogdmlkZW8veC1yYXctZ2wsIHdpZHRoPXcxLCBoZWlnaHQ9dzEgISBnbGZpbHRlciAhIHZpZGVvL3gtcmF3LWdsLCB3aWR0aD13MiwgaGVpZ2h0PXcyICEgKGZpeCBldmVyeSBleGFtcGxlcykKCjIwMDgtMDYtMDggMjI6MTE6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDg2LzkwNl0gdXAKCjIwMDgtMDYtMDggMTM6MTU6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkgIFswODUvOTA2XSBmaXggcmVncmVzc2lvbnMgYWJvdXQgZ2x2aWRlb21ha2VyLgoKMjAwOC0wNi0wOCAwMjoxOTo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4NC85MDZdIGFkZCBhIGdsZmlsdGVyYXBwIHdoaWNoIGhvbGRzIHRoZSBjbGllbnQgZHJhdyBhbmQgcmVzaGFwZSBjYWxsYmFja3MgKHNvbWUgIndhbnRlZCIgcmVncmVzc2lvbnMgYWJvdXQgdGhlIGdsdmlkZW9tYWtlciwgaGF2ZSBiZWVuIGRvbmUgd2l0aCB0aGlzIHZlcnNpb24uIFdpbGwgYmUgZml4IGluIG5leHQgY29tbWl0cykKCjIwMDgtMDYtMDcgMjE6NTY6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDgzLzkwNl0gZmluaXNoIHRvIGltcGxlbWVudCB0aGUgZ2xmaWx0ZXI6IGV4YW1wbGUgOiBnc3QtbGF1bmNoLTAuMTAgdmlkZW90ZXN0c3JjIG51bV9idWZmZXJzID0gMTAwICEgZ2xncmFwaGljbWFrZXIgISBnbGZpbHRlcmN1YmUgISBnbGltYWdlc2luawoKMjAwOC0wNi0wNyAxNToyNzoxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDgyLzkwNl0gZ2xmaWx0ZXIgY2FuIHJlcXVlc3QsIHVzZSBhbmQgcmVqZWN0IGEgRkJPIChzdGVwIDEpCgoyMDA4LTA2LTA3IDAwOjAxOjE4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswODEvOTA2XSBzdGFydCB0byBhZGQgYSBnbGZpbHRlcgoKMjAwOC0wNS0yNCAxMjozNTozNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswODAvOTA2XSBmaXggZ3N0ZnJlZWdsdXQgbGludXggaW1wbGVtZW50YXRpb24gdG8gY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3N0eG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA4LTA1LTIyIDIwOjEwOjMxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3OS85MDZdIHVwCgoyMDA4LTA1LTIxIDIyOjQ5OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA3OC85MDZdIHVwIGZyb20ga3VidW50dQoKMjAwOC0wNS0yMSAyMToxNzo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzcvOTA2XSB1cAoKMjAwOC0wNS0yMSAyMToxNTo0NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNzYvOTA2XSBjaGVjayBPcGVuR0wgYW5kIEdsZXcgdmVyc2lvbnMKCjIwMDgtMDUtMjAgMTc6NDA6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDc1LzkwNl0gaW5kZW50CgoyMDA4LTA1LTE5IDIzOjA2OjA3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3NC85MDZdIHVwCgoyMDA4LTA1LTE5IDIzOjAzOjIyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3My85MDZdIHVwCgoyMDA4LTA1LTE5IDIxOjM2OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Mi85MDZdIHVwCgoyMDA4LTA1LTE5IDIxOjI4OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3MS85MDZdIHJlbW92ZSBhbGwgd2FybmluZ3MKCjIwMDgtMDUtMTkgMTg6NDU6NDYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMDcwLzkwNl0gaW1wbGVtZW50IGFuZCBmaXggb25DbG9zZTogd2hlbiBhIHVzZXIgY2xpY2sgb24gdGhlIGNyb3NzIG9mIGFuIGludGVybmFsIHdpbmRvdyAodGhlcmUgaXMgbm90IHRoaXMgaXNzdWUgd2hlbiB1c2luZyB0aGUgZ3N0eG92ZXJsYXkgaW50ZXJmYWNlKQoKMjAwOC0wNS0xOSAxNjo1NzozOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2OS85MDZdIGFkZCBnc3RyZWFtZXIgbGljZW5zZQoKMjAwOC0wNS0xOCAyMDowNToxOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNjgvOTA2XSB1cAoKMjAwOC0wNS0xOCAxOTo1ODo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNjcvOTA2XSB1cAoKMjAwOC0wNS0xOCAxOToxODowNCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSAgWzA2Ni85MDZdIHVwCgoyMDA4LTA1LTE4IDE3OjU1OjU2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMDY1LzkwNl0gdXAKCjIwMDgtMDUtMTggMTY6MDQ6NTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNjQvOTA2XSB1cAoKMjAwOC0wNS0xOCAxNDo0NzowMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFswNjMvOTA2XSB1cAoKMjAwOC0wNS0xOCAxMToxMjo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2wuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDYyLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA0MjEgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTE1IDE0OjE2OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsLy5jdnNpZ25vcmU6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9jb2xvcl9tYXRyaXguYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDYxLzkwNl0gRmlyc3QgU1ZOIGNvbW1pdC4gIFRoaXMgY29tbWl0IGlzIGEgaGFjayB0byBtYWtlIGdpdC1yZWJhc2Ugd29yawoKMjAwOC0wMi0yMyAxNToxMDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDYwLzkwNl0gCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6IChnc3RfZ2xfYnVmZmVyX2Zvcm1hdF9mcm9tX3ZpZGVvX2Zvcm1hdCk6IAkgIEZpeCBjb21waWxlciB3YXJuaW5nIGlmIHRoZXJlIGFyZSB2aWRlbyBmb3JtYXQgCSAgZW51bXMgZ3N0Z2xidWZmZXIgZG9lc24ndCBrbm93IGFib3V0IHlldC4gKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6IChnc3RfZ2xfZGlzcGxheV91cGxvYWRfdGV4dHVyZV9yZWN0YW5nbGUpLCAoZ3N0X2dsX2Rpc3BsYXlfZHJhd190ZXh0dXJlKTogCSAgRml4IHByaW50ZiBmb3JtYXQgZm9yIDY0LWJpdCBpbnRlZ2Vycy4KCjIwMDgtMDEtMzEgMjM6NDA6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzA1OS85MDZdICogY29uZmlndXJlLmFjOiAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLXVuaW5zdGFsbGVkLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogUmVuYW1lIHBrZ2NvbmZpZyBmaWxlcy4gIEFuZCBpbnN0YWxsIHRoZW0uICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06ICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBBZGQgc29tZSB0ZXN0cyBjb3BpZWQgZnJvbSAtZ29vZC4KCjIwMDgtMDEtMzEgMjE6MzU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTgvOTA2XSAJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06IAkgIFRoZSBsaWJyYXJ5IG5lZWRzIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3R2aWRlby0wLjEwLiAJKiBnc3QvZ2wvTWFrZWZpbGUuYW06IAkgIFRoZSBwbHVnaW4gZG9lcyBub3QgKEkgdGhpbmspIG5lZWQgdG8gbGluayBhZ2FpbnN0IEdMIG9yIGxpYmdzdHZpZGVvLCAJICBzaW5jZSBvdXIgbmV3IGdzdHJlYW1lciBHTCBsaWJyYXJ5IGFscmVhZHkgZG9lcyB0aGF0LCBidXQgaXQgZG9lcyAJICBuZWVkIHRvIGxpbmsgYWdhaW5zdCBvdXIgYnJhbmQtbmV3IGxpYmdzdGdsLTAuMTAuCgoyMDA4LTAxLTMxIDIwOjMxOjExICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC8uY3ZzaWdub3JlOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTcvOTA2XSAqIGdzdC9nbC8uY3ZzaWdub3JlOiBpbmdvcmUgc29tZSBmaWxlcyAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogZGlzdGNoZWNrIGZpeGVzICogZ3N0L2dsL01ha2VmaWxlLmFtOiBkaXN0Y2hlY2sgZml4ZXMgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IC1nb29kIGhhcyB0aGlzIGluIENWUywgc28gd2Ugd2lsbCB0b28uCgoyMDA4LTAxLTMxIDIwOjIxOjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDU2LzkwNl0gKiBjb25maWd1cmUuYWM6IFJlYWRkIHByZS1wa2djb25maWcgT3BlbkdMIGRldGVjdGlvbiwgc2luY2UgcGtnY29uZmlnIHJlcXVpcmVzIE1lc2EgZnJvbSBnaXQgbWFzdGVyLiAqIGdzdC9nbC9nbGltYWdlc2luay5jOiAqIGdzdC9nbC9nc3RvcGVuZ2wuYzogTW92ZSBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbiB0byBlbGVtZW50LiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzogKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDogKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzogKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDogTW92ZSBnbGZpbHRlciB0byBsaWJyYXJ5LiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogQWRkIGdzdHJlYW1lci1iYXNlLTAuMTAgYXMgYSByZXF1aXJlbWVudC4gKiBwby9lbi5wbzogVXBkYXRlLgoKMjAwOC0wMS0xOCAxNToxMzoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1NS85MDZdIAkqIGNvbmZpZ3VyZS5hYzogCSogZG9jcy9NYWtlZmlsZS5hbTogCSogZ3N0LWxpYnMvTWFrZWZpbGUuYW06IAkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogCSogZ3N0L2dsL01ha2VmaWxlLmFtOiAqIHRlc3RzL01ha2VmaWxlLmFtOiAJICBGaXggY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXAgYW5kIHNvbWUgICBkaXN0Y2hlY2steSBiaXRzIChub3QgYWxsIHRob3VnaCkuCgoyMDA4LTAxLTE3IDIzOjIzOjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFswNTQvOTA2XSBGaXhlcyB0byBtYWtlIHByb2plY3QgY29tcGlsZS4gIFByb2JhYmx5IHN0aWxsIGRvZXNuJ3Qgd29yay4gKiBjb25maWd1cmUuYWM6ICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QvTWFrZWZpbGUuYW06ICogZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzogKiBwby9MSU5HVUFTOiAqIHdpbjMyL01BTklGRVNUOgoKMjAwOC0wMS0xNyAxOTo0MDozNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTMvOTA2XSBBZGQgcHJvamVjdCBpbmZyYXN0cnVjdHVyZS4gIE5vdCBjb21wbGV0ZSwgZG9lc24ndCB3b3JrLiAqIC5jdnNpZ25vcmU6ICogQVVUSE9SUzogKiBDT1BZSU5HOiAqIENPUFlJTkcuTElCOiAqIElOU1RBTEw6ICogTWFrZWZpbGUuYW06ICogTkVXUzogKiBSRUFETUU6ICogUkVMRUFTRTogKiBSRVFVSVJFTUVOVFM6ICogYXV0b2dlbi5zaDogKiBjb25maWd1cmUuYWM6ICogZG9jcy8uY3ZzaWdub3JlOiAqIGRvY3MvTWFrZWZpbGUuYW06ICogZG9jcy9saWJzL01ha2VmaWxlLmFtOiAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46ICogZXh0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0LXBsdWdpbnMtZ2wuZG9hcDogKiBnc3QtcGx1Z2lucy1nbC5zcGVjLmluOiAqIGdzdC9NYWtlZmlsZS5hbTogKiBtNC8uY3ZzaWdub3JlOiAqIG00L01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy8uY3ZzaWdub3JlOiAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiAqIHN5cy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbTogKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogKiB0b29scy9NYWtlZmlsZS5hbTogKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgoyMDA4LTAxLTA2IDAzOjAxOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA1Mi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcyBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnVsbHNjcmVlbmluZyBiZWluZyBhbiBleGVjcHRpb24pLiAgRG9lc24ndCBoYW5kbGUgZXhwb3NlIGV2ZW50cyBkaXJlY3RseSB0byB0aGUgR0wgd2luZG93LgoKMjAwOC0wMS0wNiAwMToxOTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDUxLzkwNl0gKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA3LTEyLTMxIDA3OjU1OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1MC85MDZdICogY29uZmlndXJlLmFjOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZyBhIGNoZWNrIGZvciBwcmUtcGtnY29uZmlnIHZlcnNpb25zLgoKMjAwNy0xMi0yOSAwMDozNzo0MCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ5LzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gbW9zdGx5IGNvcnJlY3RseS4gIFJlZW5hYmxlIGluIGJ1aWxkLgoKMjAwNy0xMi0yNyAwNToyNjowNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDgvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcyBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiZSBmaXhlZCBzb29uLgoKMjAwNy0xMi0yNyAwNDoxNToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0Ny85MDZdICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdXMgZm9ybWF0cyB0byBkb3dubG9hZGluZy4gIEZpeCBhIGZldyBwbGFjZXMgd2hlcmUgd2UgbGVhayBHTCBzdGF0ZSB0byBvdGhlciBlbGVtZW50cyAoYmFkLCBidXQgaGFyZCB0byBwcmV2ZW50KS4KCjIwMDctMTItMjcgMDA6NTI6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9jb2xvcl9tYXRyaXguYzoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQ2LzkwNl0gKiBzeXMvZ2xzaW5rL0JVR1M6ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYSBHc3RHTEJ1ZmZlckZvcm1hdCB0eXBlIHRoYXQgY29ycmVzcG9uZHMgdG8gaG93IHRvIHVzZSB0aGUgdGV4dHVyZSwgbm90IHRoZSBvcmlnaW5hbCB2aWRlbyBmb3JtYXQuICBDb252ZXJ0IGdzdGZsZmlsdGVyLmMgaW50byBhIGJhc2UgY2xhc3MsIGFkZCBnbGZpbHRlcmV4YW1wbGUgYW5kIGdsY29udmVydCBlbGVtZW50cy4gKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOiBNaW5vciByYW1ibGluZ3MgYWJvdXQgY29sb3IgY29udmVyc2lvbiBtYXRyaWNlcy4KCjIwMDctMTItMjUgMDA6MzQ6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA0NS85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMgR0wgcmVuZGVyaW5nIHRvIGNyZWF0ZSBpbWFnZXMuICBNb3JlIGNsZWFudXAuCgoyMDA3LTEyLTI0IDIxOjI2OjM4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzA0NC85MDZdICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCjIwMDctMTItMjQgMjE6MDQ6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSAgWzA0My85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6IFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgoyMDA3LTEyLTI0IDIwOjUzOjU1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZSBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLCBmaWx0ZXJpbmcgYWxsIHdvcmsuCgoyMDA3LTEyLTIyIDA1OjAxOjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gQ2hlY2twb2ludCBiZWNhdXNlIEknbSBhYm91dCB0byByZXdyaXRlIGEgYnVuY2ggb2YgY29kZS4KCjIwMDctMTItMjEgMDA6MDM6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQwLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtb3ZlIEdMRHJhd2FibGUsIHNpbmNlIEdzdEdMRGlzcGxheSBub3cgaGFzIGEgZGVmYXVsdCBkcmF3YWJsZSBhbmQgY29udGV4dC4KCjIwMDctMTItMTggMDE6MjU6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM5LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZCBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Zi4gIFVudGVzdGVkLiAgV2lsbCBsaWtlbHkgY3Jhc2ggeW91ciBtb3RvcmN5Y2xlIGlmIHlvdSB0cnkgaXQuICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBSZW1vdmUuCgoyMDA3LTEyLTE2IDIyOjU3OjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzAzOC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCjIwMDctMTItMTYgMDA6MTY6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSAgWzAzNy85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6IEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkgZHJpdmVyLiA6KAoKMjAwNy0xMi0xNSAxOTozMToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzNi85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCjIwMDctMTItMTUgMDY6MzM6MzYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzUvOTA2XSAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6ICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDogUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLiBUaGlzIHNob3VsZCBldmVudHVhbGx5IG1vdmUgdG8gLWJhc2UuICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFVzZSB0aGUgbmV3IHZpZGVvLWNvbW1vbi5oIHN0dWZmLiAgUmVhZGQgc3VwcG9ydCBmb3IgUkdCIHZpZGVvLgoKMjAwNy0xMi0xNCAxNjoyMzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDM0LzkwNl0gdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA3LTEyLTEyIDAyOjMzOjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkgIFswMzMvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYSBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhc2lvbmFsbHkgZHVlIHRvIGRpZmZlcmVudCB0aHJlYWRzIHRvdWNoaW5nIGJpdHMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMDctMDYtMDYgMTU6NTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzIvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3Npbmtfc3RvcCksIChnc3RfZ2xpbWFnZV9zaW5rX2NyZWF0ZV93aW5kb3cpLCAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpbmdsZSBnbGltYWdlc2luay4KCjIwMDctMDUtMTggMTI6Mzk6NDkgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMzEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KTogVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0IG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIGZvcm1hdHMsIG5vdCBqdXN0IHRoZSB0ZW1wbGF0ZSBjYXBzLiBGaXhlczogIzQzOTQwNQoKMjAwNy0wNC0wMyAyMjozNjo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgoyMDA2LTA5LTIzIDAwOjI4OjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI5LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LiAoZml4ZXMgIzM1NzIxMikKCjIwMDYtMDktMjIgMTU6NTk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjgvOTA2XSAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKHBsdWdpbl9pbml0KTogTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbid0IHRydW1wIHBsdWdpbnMgaW4gLWJhc2UsIC1nb29kIG9yIC11Z2x5IChpbiB0aGlzIGNhc2UgeGltYWdlc2luaykuICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAocGx1Z2luX2luaXQpOiBTZXQgcmFuayB0byBOT05FIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCB1bnRpbCBlcnJvcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgKHNlZSAjMzU3MjEyKS4KCjIwMDYtMDgtMTUgMTk6Mjk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjcvOTA2XSAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2dldF9wcm9wZXJ0eSk6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19nZXRfcHJvcGVydHkpOiBGaXggbGVha3MgKCMzNTE1MDIpLgoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNi85MDZdICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6ICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKiBleHQvbGlibW1zL2dzdG1tcy5jOiAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6ICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNS85MDZdICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6ICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6ICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6ICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6ICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOiAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6ICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6ICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6ICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6ICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6ICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KTogKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6ICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6ICogZXh0L3Nob3V0L2dzdHNob3V0LmM6ICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOiAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KTogKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6ICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6ICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6ICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6ICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6ICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6ICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOiAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOiAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6ICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6ICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6ICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6ICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6ICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOiAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6ICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6ICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6ICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOiAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNC85MDZdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMi0yNSAyMTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSAgWzAyMy85MDZdIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgoyMDA2LTAyLTIyIDE0OjM3OjIwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjIvOTA2XSAgICAgICAgICogY29uZmlndXJlLmFjOiAgICAgICAgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogICAgICAgTWVyZ2UgcGF0Y2ggZnJvbSAjMzE3MDQ4IGZvciBidWlsZGluZyBvbiBDeWd3aW4uIFBhdGNoIGJ5IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLiAgICAgICAgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiAgICAgICAgIE1vdmUgbm9ybWFsIGRlYnVnIG91dHB1dCB0byBMT0cgbGV2ZWwgbm90IEVSUk9SLgoKMjAwNi0wMi0xNCAxMTozNjozMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgWzAyMS85MDZdIDIwMDYtMDItMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uCgkgIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoKMjAwNi0wMS0zMCAxNTo0Nzo0NyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDIwLzkwNl0gMjAwNi0wMS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIChsaWJnc3RnbGltYWdlc2lua19sYV9DRkxBR1MpOiBBZGQgUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicy4KCjIwMDYtMDEtMjggMTI6NDU6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDE5LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgoyMDA2LTAxLTI4IDA0OjM5OjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJICBbMDE4LzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgoyMDA1LTExLTIxIDE0OjMzOjExICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE3LzkwNl0gICAgICAgICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogICAgICAgICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfc2lua19maXhhdGUpOiAgICAgICAgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKTogICAgICAgICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6ICAgICAgICAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfZml4YXRlKTogICAgICAgICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6ICAgICAgICAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICAgICAgICAgKCMzMjIwMjcpCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxNi85MDZdICogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6IChtYWluKTogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jbG9zZV9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAoZ3N0X2FmcGFyc2Vfb3Blbl9maWxlKSwgKGdzdF9hZnBhcnNlX2Nsb3NlX2ZpbGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX29wZW5fZmlsZSksIChnc3RfYWZzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc2lua19jaGFpbiksIChnc3RfYWZzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDogKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfb3Blbl9maWxlKSwgKGdzdF9hZnNyY19jbG9zZV9maWxlKSwgKGdzdF9hZnNyY19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19pbml0KTogKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzogKGdzdF9kaXJlY3RmYnZpZGVvc2lua19pbml0KTogKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KTogKiBleHQvamFjay9nc3RqYWNrLmg6ICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2luaXQpLCAoZ3N0X2phY2tfYmluX2NoYW5nZV9zdGF0ZSk6ICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCk6ICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2luaXQpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3Npbmtfb3Blbl9hdWRpbyksIChnc3RfbmFzc2lua19jbG9zZV9hdWRpbyksIChnc3RfbmFzc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9uYXMvbmFzc2luay5oOiAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfaW5pdCk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOiAqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2Zfc2V0X3Byb3BlcnR5KSwgKGdzdF9zZl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3NmX3JlbGVhc2VfcmVxdWVzdF9wYWQpLCAoZ3N0X3NmX29wZW5fZmlsZSksIChnc3Rfc2ZfY2xvc2VfZmlsZSksIChnc3Rfc2ZfbG9vcCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuaDogKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KTogKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19pbml0KTogKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6IChnc3RfYXBlX2RlbXV4X2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YXBhcnNlX2luaXQpOiAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOiAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NoYW5nZV9zdGF0ZSk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6ICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KTogKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6IChnc3RfbXVsdGlmaWxlc2lua19pbml0KSwgKGdzdF9tdWx0aWZpbGVzaW5rX3NldF9sb2NhdGlvbiksIChnc3RfbXVsdGlmaWxlc2lua19vcGVuX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfY2xvc2VfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19uZXh0X2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfcGFkX3F1ZXJ5KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2hhbmRsZV9ldmVudCksIChnc3RfbXVsdGlmaWxlc2lua19jaGFpbiksIChnc3RfbXVsdGlmaWxlc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDogKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KTogKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2luaXQpOiAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfaW5pdCksIChkeHIzYXVkaW9zaW5rX29wZW4pLCAoZHhyM2F1ZGlvc2lua19jbG9zZSksIChkeHIzYXVkaW9zaW5rX2NoYWluX3BjbSksIChkeHIzYXVkaW9zaW5rX2NoYWluX2FjMyksIChkeHIzYXVkaW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOiAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KSwgKGR4cjNzcHVzaW5rX29wZW4pLCAoZHhyM3NwdXNpbmtfY2xvc2UpLCAoZHhyM3NwdXNpbmtfY2hhaW4pLCAoZHhyM3NwdXNpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOiAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCksIChkeHIzdmlkZW9zaW5rX29wZW4pLCAoZHhyM3ZpZGVvc2lua19jbG9zZSksIChkeHIzdmlkZW9zaW5rX3dyaXRlX2RhdGEpLCAoZHhyM3ZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZXNpbmtfaW5pdCk6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9xY2Ftc3JjX29wZW4pLCAoZ3N0X3FjYW1zcmNfY2xvc2UpOiAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDogKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pbml0KTogKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXQpLCAoZ3N0X3ZjZHNyY19vcGVuX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jbG9zZV9maWxlKSwgKGdzdF92Y2RzcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpOiAqIHN5cy92Y2QvdmNkc3JjLmg6IHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgoyMDA1LTA5LTA1IDE3OjIwOjI4ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE1LzkwNl0gICAgICAgICAgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA0LTExLTAxIDE0OjQzOjM4ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE0LzkwNl0gKiBleHQvYWxzYS9nc3RhbHNhLmM6IChnc3RfYWxzYV9jbGFzc19pbml0KSwgKGdzdF9hbHNhX2Rpc3Bvc2UpLCAgICAgICAgIChnc3RfYWxzYV9maW5hbGl6ZSk6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9jZGF1ZGlvX2ZpbmFsaXplKTogKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhLmM6IChjZHBhcmFub2lhX2NsYXNzX2luaXQpLCAoY2RwYXJhbm9pYV9maW5hbGl6ZSk6ICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfZGlzcG9zZSk6ICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAoZ3N0X2RpdnhlbmNfZGlzcG9zZSk6ICogZXh0L2R2ZHJlYWQvZHZkcmVhZHNyYy5jOiAoZHZkcmVhZHNyY19jbGFzc19pbml0KSwgICAgICAgICAoZHZkcmVhZHNyY19maW5hbGl6ZSk6ICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfY2xhc3NfaW5pdCksIChnc3RfZmxhY2RlY19maW5hbGl6ZSk6ICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfY2xhc3NfaW5pdCksICAgICAgKGdzdF9mbGFjZW5jX2ZpbmFsaXplKTogKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWV2ZnNzaW5rX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfZ25vbWV2ZnNzaW5rX2ZpbmFsaXplKTogKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZXZmc3NyY19jbGFzc19pbml0KSwgKGdzdF9nbm9tZXZmc3NyY19maW5hbGl6ZSk6ICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9mYW1lZW5jX2ZpbmFsaXplKTogKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpLCAgICAgICAgIChnc3RfbmFzc2lua19maW5hbGl6ZSk6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KTogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2Rpc3Bvc2UpOiAqIGdzdC1saWJzL2dzdC9taXhlci9taXhlcnRyYWNrLmM6IChnc3RfbWl4ZXJfdHJhY2tfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3R1bmVyL3R1bmVyY2hhbm5lbC5jOiAoZ3N0X3R1bmVyX2NoYW5uZWxfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3R1bmVyL3R1bmVybm9ybS5jOiAoZ3N0X3R1bmVyX25vcm1fZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L3h3aW5kb3dsaXN0ZW5lci94d2luZG93bGlzdGVuZXIuYzogKGdzdF94X3dpbmRvd19saXN0ZW5lcl9kaXNwb3NlKTogKiBnc3QvYXVkaW9zY2FsZS9nc3RhdWRpb3NjYWxlLmM6ICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpLCAocGxheV9vbl9kZW1hbmRfZmluYWxpemUpOiAqIGdzdC92aWRlb2ZpbHRlci9nc3R2aWRlb2JhbGFuY2UuYzogKGdzdF92aWRlb2JhbGFuY2VfZGlzcG9zZSk6ICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvc2NhbGVfY2hhaW4pOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCksICAgICAoY2RwbGF5ZXJfZmluYWxpemUpOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maW5hbGl6ZSksICAgICAgICAgKGdzdF9nbGltYWdlc2lua19jbGFzc19pbml0KTogKiBzeXMvb3NzL2dzdG9zc2VsZW1lbnQuYzogKGdzdF9vc3NlbGVtZW50X2NsYXNzX2luaXQpLCAoZ3N0X29zc2VsZW1lbnRfZmluYWxpemUpOiAqIHN5cy9vc3MvZ3N0b3Nzc2luay5jOiAoZ3N0X29zc3NpbmtfZGlzcG9zZSk6ICogc3lzL29zcy9nc3Rvc3NzcmMuYzogKGdzdF9vc3NzcmNfZGlzcG9zZSk6ICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9kaXNwb3NlKTogICAgICAgICAgIEZpeGVzIGEgYnVuY2ggb2YgcHJvYmxlbXMgd2l0aCBmaW5hbGl6ZSBhbmQgZGlzcG9zZSBmdW5jdGlvbnMsICAgICAgICAgICBlaXRoZXIgYXNzdW1wdGlvbnMgdGhhdCBkaXNwb3NlIGlzIG9ubHkgY2FsbGVkIG9uY2UsIG9yIG5vdCBjYWxsaW5nICAgICAgICAgICB0aGUgcGFyZW50IGNsYXNzIGRpc3Bvc2UvZmluYWxpemUgZnVuY3Rpb24KCjIwMDQtMDgtMjcgMTk6MTg6MjQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTMvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua194aW1hZ2VfcHV0KSwgKGdzdF9nbGltYWdlc2lua194d2luZG93X25ldyksIChnc3RfZ2xpbWFnZXNpbmtfeGNvbnRleHRfZ2V0KSwgKGdzdF9nbGltYWdlc2lua19maXhhdGUpOiAgTW92ZSBsb2NhbCB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gbWFrZSBnY2MtMi45NSBoYXBweS4KCjIwMDQtMDgtMDkgMjA6MTY6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL0FSQl9tdWx0aXRleHR1cmUuaDoKCSogZ3N0L2dsL0VYVF9wYWxldHRlZF90ZXh0dXJlLmg6CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAxMi85MDZdICogc3lzL2dsc2luay9BUkJfbXVsdGl0ZXh0dXJlLmg6ICBSZW1vdmUgb2xkIGZpbGVzLiAqIHN5cy9nbHNpbmsvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDogKiBzeXMvZ2xzaW5rL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfbnZpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfcGRyaW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsX3JnYmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbHNpbmsuYzogKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2x4d2luZG93LmM6ICogc3lzL2dsc2luay9yZWdjb21iX3l1dnJnYi5jOgoKMjAwNC0wOC0wOSAyMDoxNDo1MSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSAgWzAxMS85MDZdIFBhdGNoIGZyb20gR2Vybm90IFppZWdsZXIgPGd6QGx5c2F0b3IubGl1LnNlPiByZXdyaXRpbmcgdGhlIEdMIHNpbmsgcGx1Z2luLiAgKEJ1ZyAjMTQ3MzAyKSAqIGNvbmZpZ3VyZS5hYzogVGVzdCBmb3IgT3BlbkdMICogc3lzL01ha2VmaWxlLmFtOiBVc2UgdGVzdCBmb3IgT3BlbkdMICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IHJld3JpdGUgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6IHJld3JpdGUKCjIwMDQtMDMtMTUgMTk6MzI6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDEwLzkwNl0gZG9uJ3QgbWl4IHRhYnMgYW5kIHNwYWNlcwoKMjAwNC0wMy0xNSAxNjozMjo1MyArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkgIFswMDkvOTA2XSAgICAgICAgICogKi5oOiBSZXZlcnQgaW5kZW50aW5nCgoyMDA0LTAzLTE0IDIyOjM0OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDA4LzkwNl0gZ3N0LWluZGVudAoKMjAwNC0wMS0xMiAwNDoxNTo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA3LzkwNl0gKiBleHQvZmZtcGVnL2dzdGZmbXBlZy5jOiAgKiBleHQvZmZtcGVnL2dzdGZmbXBlZ2NvZGVjbWFwLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZGVjLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnZW5jLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVncHJvdG9jb2wuYzogICogZXh0L2dka19waXhidWYvZ3N0Z2RrYW5pbWF0aW9uLmM6ICAqIGV4dC9qcGVnL2dzdGpwZWcuYzogICogZXh0L2xpYnBuZy9nc3RwbmcuYzogICogZXh0L21wZWcyZGVjL3BlcmZ0ZXN0LmM6ICAqIGV4dC9zcGVleC9nc3RzcGVleC5jOiAgKiBnc3QtbGlicy9nc3QvcmVzYW1wbGUvZHRvcy5jOiAgKiBnc3QvaW50ZmxvYXQvZ3N0aW50ZmxvYXRjb252ZXJ0LmM6ICAqIGdzdC9vbmV0b24vZ3N0b25ldG9uLmM6ICAqIGdzdC9ydGpwZWcvUlRqcGVnLmM6ICAqIGdzdC9ydHAvZ3N0cnRwLmM6ICAqIHN5cy9keHIzL2R4cjNpbml0LmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xfbnZpbWFnZS5jOiAgKiBzeXMvZ2xzaW5rL2dzdGdsX3BkcmltYWdlLmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmM6ICAqIHRlc3RzdWl0ZS9nc3QtbGludDogIE1ha2Ugc3VyZSBldmVyeWJvZHkgd3JhcHMgI2luY2x1ZGUgImNvbmZpZy5oIiBpbiAjaWZkZWYgSEFWRV9DT05GSUdfSAoKMjAwMy0xMi0yMiAwMTo0NzowOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDYvOTA2XSBNZXJnZSBDQVBTIGJyYW5jaAoKMjAwMy0xMi0wNCAxMDozNzozNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJICBbMDA1LzkwNl0gcmVtb3ZlIGNvcHlyaWdodCBmaWVsZCBmcm9tIHBsdWdpbnMKCjIwMDMtMTEtMDcgMTI6NDY6NTIgKzAwMDAgIFJvbmFsZCBTLiBCdWx0amUgPHJidWx0amVAcm9uYWxkLmJpdGZyZWFrLm5ldD4KCgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDA0LzkwNl0gUmVtb3ZlIGFsbCBjb25maWcuaCBpbmNsdWRlcyBmcm9tIGhlYWRlciBmaWxlcywgYWRkIGl0IHRvIGVhY2ggc291cmNlIGZpbGUgYW5kIHJlbW92ZSBkdXBsaWNhdGUgY29uZmlnLmggaW5jbHVkZXMgZnJvbSBzZXZlcmFsIHNvdXJjZSBmaWxlcwoKMjAwMy0xMS0wNiAwMDoyNzowMyArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDMvOTA2XSB1cGRhdGVzIHRvIGdsc2luawoKMjAwMy0xMC0zMSAxNjo0MDoyMCArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDAyLzkwNl0gZ2xzaW5rIHdpdGggY29ycmVjdCB0aHJlYWRpbmcgc3VwcG9ydAoKMjAwMy0xMC0yOCAxODo1NDoyMCArMDAwMCAgbWFkbWFjIDxtYWRtYWM+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDEvOTA2XSB3ZWxjb21lIHRvIGdsc2luayBmb3IgMC43LnggOikKCjIwMTQtMDMtMTQgMTg6MjM6NTEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwNDEKCjIwMTQtMDMtMTUgMTU6MTc6NDMgKzAxMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEKCSAgVGhpcyBlbGVtZW50IG9ubHkgbmVlZCBzdHJpZGUgc3VwcG9ydCwgYnV0IGNoZWNrcyBmb3IgQ1JPUF9NRVRBLCB3aGljaAoJICBpcyBhIGJpdCB0b28gbXVjaCwgZXZlbiB0aG91Z2ggdGhpcyB3b3JrcyBhcyBDUk9QIGltcGx5IGhhdmluZyBWSURFTwoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MjU1CgoyMDE0LTAzLTA0IDEzOjE5OjU1ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBtcGVndHM6IGNoYW5nZSBiYW5kd2lkdGggdG8gRFZCdjUgdmFsdWVzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDYzCgoyMDEzLTEwLTMxIDE0OjI3OjEwICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IEFkZCB0YWJsZV9pZF9uYW1lIGZ1bmN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODIKCjIwMTMtMTEtMTkgMTE6MzY6MTQgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogQWRkIERWQiB0ZWxldGV4dC9zdWJ0aXRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE2ODIKCjIwMTQtMDMtMDMgMTM6MDc6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IEJsdXJheSBEVFMvRFRTLUhEIGFuZCBBQzMrL1RydWVIRCBzdHJlYW1zCgkgIEFwYXJ0IGZyb20ganVzdCBhZGRpbmcgZGV0ZWN0aW9uIG9mIHRoZSBwcm9wZXIgc3RyZWFtIHR5cGUsIHdlIGFsc28gbmVlZCB0byBvbmx5CgkgIG91dHB1dCB0aGUgZmlyc3Qgc3Vic3RyZWFtICgweDcxKSB3aGljaCBjb250YWlucyB0aGUgY29yZSBzdWJzdHJlYW0uCgkgIFdoaWxlIHRoaXMgZG9lcyBub3QgcHJvdmlkZSAqZnVsbCogRFRTLUhEIHN1cHBvcnQgKHNpbmNlIGl0IHdpbGwgbWlzcyB0aGUgY29tcGxlbWVudGFyeQoJICBzdWJzdHJlYW1zKSwgaXQgd2lsbCBzdGlsbCB3b3JrIGluIHRoZSB3YXkgbGVnYWN5IChub24tRFRTLUhEKSBibHVyYXkgcGxheWVycyB3b3VsZCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NTYzCgoyMDE0LTAzLTEzIDE0OjQxOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggc3RyaW5nIG9yZGVyIGluIHdhcm5pbmcgbWVzc2FnZQoKMjAxNC0wMy0wOSAxODo0MToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWx3YXlzIGNhbGN1bGF0ZSB0aGUgY3VycmVudCBkb3dubG9hZCByYXRlCgkgIEFsc28gdGFrZSBpbnRvIGFjY291bnQgdGhlIGxhc3QgZG93bmxvYWQgcmF0ZSB3aGVuCgkgIGNhbGN1bGF0aW5nIGl0LgoKMjAxNC0wMy0xMSAxMDozMjo0NiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiY2VuYzogQWxsb3cgdXNlciB0byBzZXQgY2hhbm5lbC1tb2RlCgkgIERvbid0IHJldHVybiBlcnJvciB3aGVuIGNoYW5uZWwtbW9kZSBpcyBhbHJlYWR5IHNldCwganVzdCBjaGVjayB0aGF0IGl0CgkgIGlzIGNvaGVyZW50IHdpdGggbnVtYmVyIG9mIGNoYW5uZWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MDk4CgoyMDE0LTAzLTEwIDExOjE5OjQ2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEaWZmZXJlbnRpYXRlIHRoZSBtcGVnLTIgc3RyZWFtIGZyb20gbXBlZy0xIGJhc2VkIG9uIHBpY19leHQKCSAgUHJlc2VuY2Ugb2YgcGljdHVyZSBleHRlbnNpb24gaGVhZGVyIGlkZW50aWZpZXMgdGhlIHN0cmVhbSBhcyBtcGVnMi4KCSAgV2UgYXJlIHN1cHBvc2VkIHRvIHNldCB0aGUgbXBlZ3ZlcnNpb24gdG8gMiBpZiB0aGVyZSBpcyBhIHBpY2V4dGVuc2lvbgoJICBpbnN0ZWFkIG9mIGJsaW5kbHkgc2V0dGluZyB0aGUgdmVyc2lvbiB0byAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMjgKCjIwMTQtMDMtMTEgMjI6MzY6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHNldCBhIGdyb3VwLWlkIG9uIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgU2V0IGEgZGVmYXVsdCBncm91cC1pZCB0byBmaXggYSB3YXJuaW5nIHByaW50ZWQgYnkgdGhlIHNpbmsuCgoyMDE0LTAzLTEwIDIyOjQ4OjA0ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtZHVwb25jaGVsbGUxQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcmZpbHRlcjogZml4IG1lbW9yeSBjb3JydXB0aW9uIG9uIHNpbmsgY2FwcyBjaGFuZ2VzLgoJICBXaGVuIHRoZSBpbnB1dCBzaXplIGNoYW5nZWQsIHRoZSBmcmVpMHIgZmlsdGVycyBkaWRuJ3QgdGFrZQoJICBpdCBpbnRvIGFjY291bnQgYW5kIGVuZGVkIHVwIGNvcnJ1cHRpbmcgbWVtb3J5LgoJICBGaXhlcyAjNzI2MDY5CgoyMDE0LTAzLTExIDE1OjMwOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE0LTAzLTExIDE0OjQ3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEltcGxlbWVudCBkcmFpbmluZyBwcm9wZXJseQoKMjAxNC0wMy0xMSAxNDozNzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBGaXJzdCBkZXF1ZXVlIGEgYnVmZmVyIGJlZm9yZSBlbnF1ZXVlaW5nIGFueXRoaW5nIGZyb20gdGhlIHF1ZXVlCgkgIFJlcXVpcmVkIGZvciBvZmZsaW5lIHJlbmRlcmluZyBhY2NvcmRpbmcgdG8gdGhlIGRvY3MuIHd0Zi4KCjIwMTQtMDMtMTEgMTQ6MzI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogS2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBwb3NpdGlvbgoJICBJdCdzIHJlcXVpcmVkIHRvIHNldCBhIHZhbGlkIHNhbXBsZSB0aW1lIGZvciBkZWNvZGluZyBvbiBpT1MuCgoyMDE0LTAzLTExIDE0OjI0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXRkZWM6IEFsd2F5cyB0cnkgdG8gcHVsbCBvbmUgZGVjb2RlZCBmcmFtZSBvdXQgb2YgdGhlIHF1ZXVlCgkgIC4uLiBpbnN0ZWFkIG9mIGRvaW5nIG1hZ2ljIGNhbGN1bGF0aW9ucyB3aXRoIHRoZSBidWZmZXIgZHVyYXRpb24uCgoyMDE0LTAzLTExIDE0OjIyOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEhhbmRsZSBlcnJvcnMgaW4gaGFuZGxlX2ZyYW1lKCkgcHJvcGVybHkKCjIwMTQtMDMtMTEgMTQ6MTQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogQ2FsbCBBdWRpb1F1ZXVlUmVzZXQoKSBmb3IgZmx1c2hpbmcKCSAgQXVkaW9RdWV1ZUZsdXNoKCkgaXMgZm9yIGRyYWluaW5nIGFsbCByZW1haW5pbmcgZGF0YS4KCjIwMTQtMDMtMTEgMTE6MTg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkgIGF0ZGVjOiBTZXQgY29ycmVjdCBudW1iZXIgb2YgZnJhbWVzIGZvciBNUDMKCjIwMTQtMDMtMTEgMTE6MTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogSW5pdGlhbGl6ZSB0aGUgYXVkaW8gZGVzY3JpcHRpb24gd2l0aCB6ZXJvZXMKCjIwMTQtMDMtMTEgMTE6MTQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogU2V0IHRoZSBjb3JyZWN0IGxheWVyIGRlcGVuZGluZyBvbiB0aGUgTVAzIGNhcHMKCjIwMTQtMDMtMTEgMTA6MjY6MzQgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHZpZGVvc2lnbmFsIHdhcyBwb3J0ZWQgYWxtb3N0IGEgeWVhciBhZ28KCjIwMTQtMDMtMDkgMTk6Mzg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBjb21wYXJpc29uIGluIGJpdHJhdGUgc2VsZWN0aW9uCgoyMDE0LTAzLTA3IDEyOjExOjU5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBzZXQgcHJveHkgYWxsb2NhdGlvbiBmbGFnIG9uIHRoZSB2aWRlbyBzaW5rIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODkzCgoyMDE0LTAzLTA3IDE2OjIyOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIG0zdTg6IEZpeCBvZmYtYnktb25lIGluIHRoZSBkb3dubG9hZCByYW5nZSBlbmQKCjIwMTQtMDMtMDcgMTY6MjI6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkOiBIYW5kbGUgbm8gYnVmZmVycyBiZWZvcmUgRU9TIGFzIGVycm9yIGluc3RlYWQgb2YgY3Jhc2hpbmcKCjIwMTQtMDMtMDYgMjM6MTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwcm9wZXIgc2VnbWVudCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODQ2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyNjgKCjIwMTQtMDMtMDUgMTA6NDc6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBoYW5kbGluZyBvZiBieXRlIHJhbmdlcwoKMjAxNC0wMi0yNyAxMDo1NDoxMCArMDEwMCAgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBzZWVraW5nIGZ1cnRoZXIgdGhhbiB0cmFjayBkdXJhdGlvbgoJICBEb24ndCBmYWlsIHRoZSBzZWVrIGJ1dCBpbnN0ZWFkIHNlbmQgYW4gRU9TIGV2ZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDE0LTAzLTA1IDE2OjAyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3dpdGNoIHBsYXlsaXN0cyBhZnRlciBwdXNoaW5nIHRoZSBmcmFnbWVudAoJICBNYWtlcyBzdXJlIHdlIHByb3Blcmx5IHNldCB0aGUgZGlzY29udCBmbGFnIGZvciB0aGUgbmV4dCBidWZmZXIsCgkgIG5vdCB0aGUgY3VycmVudCBvbmUuCgoyMDE0LTAxLTEwIDE3OjM4OjA5ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBoYW5kbGUgdmlkZW8veC1yYXcoQU5ZKSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE5NTAKCjIwMTQtMDMtMDQgMTc6MjU6MjMgKzAyMDAgIEFuZHJlcyBHb21leiA8YWdvbWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXQ6ICJpcmFkaW8tbW9kZSIgcHJvcGVydHkgZGVmYXVsdHMgdG8gVFJVRQoJICBBcyBwZXIgZGlzY3Vzc2VkIGluIGJ1ZyAjNzI1MzgzLCBpdCBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSB0byBkZWZhdWx0CgkgIHRvIEZBTFNFIGluIHRoZSAiaXJhZGlvLW1vZGUiIHByb3BlcnR5LiBCZXR0ZXIsIGxldCdzIHNlbnQgdGhlIGhlYWRlcgoJICBieSBkZWZhdWx0IGFuZCBqdXN0IGlnbm9yZSBoZWFkZXJzIHRoYXQgYXJlIG5vdCB1bmRlcnN0b29kLCBpZiBzby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTY1OQoKMjAxNC0wMy0wNSAwMDo1MTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIHRlc3RzOiBmaXggbXBnMTIzYXVkaW9kZWMgdGVzdCBmb3IgYmlnLWVuZGlhbiBhcmNoaXRlY3R1cmVzCgoyMDE0LTAzLTA1IDExOjIwOjI3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IGluY3JlYXNlIGZyYW1lcmF0ZSB0byBtYXhpbnQKCjIwMTQtMDMtMDUgMTA6NTQ6NDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogaW5jcmVhc2UgbWF4aW11bSBmcmFtZXJhdGUKCjIwMTQtMDMtMDIgMDU6MjU6NDggKzAxMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSBnY292IGludGVybWVkaWF0ZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDgxCgoyMDE0LTAzLTAxIDE3OjEzOjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwcm9wZXIgaGFuZGxpbmcgb2YgZGlzY29udGludWl0aWVzCgkgIEl0J3Mgbm90IHJlYWxseSBjb3JyZWN0IHlldCBmb3Igc2Vla3MgYnV0IGJldHRlciB0aGFuIHdoYXQKCSAgd2UgaGFkIGJlZm9yZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NDYKCjIwMTQtMDItMjggMTE6MTY6MjcgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiB1bnJlZiBjYXBzIGFmdGVyIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQxMgoKMjAxNC0wMi0yNSAxMTo0NTo0NiArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTZWdmYXVsdHMgaWYgcGxheWxpc3QgaGFzIG5vIG1lZGlhIGZpbGVzCgkgIGhsc2RlbXV4IGNhdXNlcyBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZSBpZiB0aGUgbWVkaWEgcGxheWxpc3QKCSAgZG9lcyBub3QgY29udGFpbiBhbnkgbWVkaWEgZmlsZXMuIFRoZSBnc3RfbTN1OF9jbGllbnRfZ2V0X2R1cmF0aW9uCgkgIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBkZW11eC0+Y2xpZW50LT5jdXJyZW50LT5maWxlcyBpcyB2YWxpZCB3aGVuCgkgIGNvbXB1dGluZyBkdXJhdGlvbi4KCSAgZ3N0X20zdThfY2xpZW50X3VwZGF0ZSBuZWVkZWQgdG8gYmUgbW9kaWZpZWQgdG8gY2hlY2sgZm9yIHRoZQoJICBjYXNlIG9mIGRvd25sb2FkaW5nIGFuIE0zVTggZmlsZSB0aGF0IGRvZXNuJ3QgY29udGFpbiBhbnkgbWVkaWEKCSAgZmlsZXMsIGFuZCByZXR1cm5pbmcgYW4gZXJyb3IgdG8gZ3N0aGxzZGVtdXguYwoJICBUaGlzIGJ1ZyBjYW4gYmUgcmVwcm9kdWNlZCBieSBjcmVhdGluZyBhIG1hc3RlciBtM3U4IGZpbGUgdGhhdAoJICBjb250YWlucyBvbmUgbWVkaWEgcGxheWxpc3QgdGhhdCBwb2ludHMgYmFjayB0byB0aGUgbWFzdGVyIG0zdTgKCSAgZmlsZS4gIEZvciBleGFtcGxlIGNyZWF0ZSBhIGZpbGUgY2FsbGVkIGJ1ZzcyNTEzNC5tM3U4OgoJICAjRVhUTTNVCgkgICNFWFQtWC1WRVJTSU9OOjQKCSAgI0VYVC1YLVNUUkVBTS1JTkY6UFJPR1JBTS1JRD0xLCBCQU5EV0lEVEg9MTI1MTEzNSwgQ09ERUNTPSJhdmMxLjQyMDAxZiBtcDRhLjQwLjIiLCBSRVNPTFVUSU9OPTY0MHgzNTIKCSAgYnVnNzI1MTM0Lm0zdTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEzNAoKMjAxNC0wMi0yOCAwOTozNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmUxNjcyZSB0byBiY2IxNTE4CgoyMDE0LTAyLTI3IDIyOjI4OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCB3cml0ZSBhZnRlciB0aGUgZW5kIG9mIHRoZSBwc20gYXJyYXkgd2hlbiBpbml0aWFsaXNpbmcgaXQKCjIwMTQtMDItMjcgMjE6NDU6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJICBvcGVuYWxzcmM6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjcgMjE6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMDItMjcgMTU6NDk6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbml0IGFuZCBjbGVhciBhIG11dGV4CgkgIEdMaWIgaW5pdGlhbGlzZXMgYXV0b21hdGljYWxseSBmb3IgdXMgZm9yIHNvbWUgcmVhc29uLi4uIGJ1dCBvZiBjb3Vyc2UKCSAgZG9lcyBub3QgY2xlYXIgdGhlIG11dGV4IG9uY2UgdGhlIGRlbXV4ZXIgaXMgZGVzdHJveWVkLgoKMjAxNC0wMi0yNyAxNTo0MTozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVucmVmIHNlZWsgZXZlbnRzIGJlZm9yZSByZXR1cm5pbmcgZnJvbSB0aGUgc2VlayBoYW5kbGVyCgkgIE90aGVyd2lzZSB3ZSBsZWFrIHRoZW0gYWxsLgoKMjAxNC0wMi0yNyAxMjowMjoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IGRlYnVnIG91dHB1dCB0byBkZXNjcmliZSB0aGUgbmV3IHJlYWxpdHkKCjIwMTQtMDItMjcgMTE6NTM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFdhcm5pbmcgbWVzc2FnZXMgYXJlIG5vdCBmYXRhbAoJICBBbHNvIHRoZXkgbmVlZCB0byBiZSBwYXJzZWQgd2l0aCBnc3RfbWVzc2FnZV9wYXJzZV93YXJuaW5nKCksCgkgIGdzdF9tZXNzYWdlX3BhcnNlX2Vycm9yKCkgZG9lcyBub3Qgd29yayBvbiB0aGVtLgoKMjAxNC0wMi0yNiAyMjoyNjo0OCArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBkb2NzOiBtcGVndHM6IGFkZCBtaXNzZWQgZG9jcwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI3OAoKMjAxNC0wMi0yNiAyMTowODoyMyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgZG9jczogZHZic3JjOiBhZGQgbWlzc2VkIGFyZ3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyNzgKCjIwMTQtMDItMjYgMjI6MTI6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFhMDdkYTkgdG8gZmUxNjcyZQoKMjAxNC0wMi0yNiAxOToxODo1NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBzdHJheSAoIGluIE1ha2VmaWxlLmFtCgoyMDE0LTAyLTI0IDIyOjUzOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZm9yd2FyZCB0YWdzIHRoYXQgaGF2ZSBnbG9iYWwgc2NvcGUKCSAgSW5zdGVhZCBvZiBkcm9wcGluZyBhbGwgdGFnIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDE0LTAyLTI0IDIyOjQzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHN0b3JlIGdsb2JhbCB0YWdzIHRvIHB1c2ggbGF0ZXIKCSAgS2VlcCBhIGxpc3Qgb2YgY3VycmVudCBnbG9iYWwgdGFncyBhcm91bmQgYW5kIHB1c2ggdGhlbQoJICB3aGVuZXZlciBhIG5ldyBzdHJlYW0gaXMgc3RhcnRlZC4gQWxzbyBjb252ZXJ0IGFsbCBzdHJlYW0KCSAgc3BlY2lmaWMgdGFncyB0byBnbG9iYWwgYXMgdGhleSBhcmUgc3RyZWFtIHNwZWNpZmljIGZvcgoJICB0aGUgY29udGFpbmVyLCBzbyB0aGV5IGFyZSBnbG9iYWwgZm9yIHRoZSBzdHJlYW1zIGZyb20KCSAgd2l0aGluIHRoYXQgY29udGFpbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDE0LTAyLTI2IDExOjMyOjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogaW5zdGFsbCBwcmVidWlsdCBwbHVnaW4gZG9jcyBpZiBndGstZG9jIGlzIGRpc2FibGVkCgkgIFN5bmMgdG8gdGhlIE1ha2VmaWxlLmFtIGZyb20gZ3N0LXBsdWdpbi1iYXNlIHdoZXJlIGl0IGlzIGRvbmUgcmlnaHQuCgkgIEZpeGVzICM3MjUwMzQKCjIwMTQtMDItMjEgMDk6MzY6NTEgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IHBhcnNpbmcgb2YgQ09ERUNTIGFuZCBSRVNPTFVUSU9OCgkgIGhsc2RlbXV4IGRvZXMgbm90IGNoZWNrIGZvciB0aGUgJyInIGNoYXJhY3RlciBpbiAjRVhULVgtU1RSRUFNLUlORgoJICBhdHRyaWJ1dGVzLiBUaGUgQ09ERUNTIHBhcmFtZXRlciBpcyBhbiBleGFtcGxlIG9mIGFuIGF0dHJpYnV0ZQoJICB0aGF0IG1pZ2h0IHVzZSB0aGUgJyInIHN5bWJvbCBhbmQgbWlnaHQgY29udGFpbiBhICcsJyBjaGFyYWN0ZXIKCSAgaW5zaWRlIHRoaXMgcXVvdGVkIHN0cmluZy4KCSAgRm9yIGV4YW1wbGU6IENPREVDUz0iYXZjMS43Ny4zMCwgbXA0YS40MC4yIgoJICBobHNkZW11eCBkb2VzIG5vdCBjb3JyZWN0bHkgcGFyc2UgdGhlIFJFU09MVVRJT04gYXR0cmlidXRlLCBpdAoJICBhc3N1bWVzIHRoYXQgYW4gJz0nIGNoYXJhY3RlciBpcyB1c2VkIHRvIGRlbGluZWF0ZSB0aGUgd2lkdGgKCSAgYW5kIGhlaWdodCB2YWx1ZXMsIGJ1dCB0aGUgSExTIFJGQyBzdGF0ZXMgdGhhdCBhICd4JyBjaGFyYWN0ZXIKCSAgbXVzdCBiZSB1c2VkIGFzIHRoZSBkZWxpbWl0ZXIgYmV0d2VlbiB3aWR0aCBhbmQgaGVpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTQwCgoyMDE0LTAyLTIxIDA5OjMwOjQ5ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBmb3IgVVJMcyB0aGF0IGNvbnRhaW4gYSAnLycgaW4gdGhlIHF1ZXJ5IHBhcmFtZXRlcgoJICBJZiB0aGUgVVJMIGZvciB0aGUgbWFzdGVyIG1hbmlmZXN0IGZpbGVzIGNvbnRhaW5zIGEgJy8nIGNoYXJhY3RlcgoJICBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyIChmb3IgZXhhbXBsZQoJICBodHRwOi8vZXhhbXBsZS5uZXQvMTA1NDU1OV9oMjY0XzE1MDBrLm1wNC9tYXN0ZXIubTN1OD9hY2w9LyoxMDU0NTU5X2gyNjRfMTUwMGsubXA0KSwKCSAgaGxzZGVtdXggaXMgaW5jb3JyZWN0bHkgY29udmVydGluZyB0aGUgcmVsYXRpdmUgVVJMcyBvZiB0aGUgbWVkaWEKCSAgcGxheWxpc3RzIGluIHRvIGFic29sdXRlIFVSTHMuIEl0IGlzIGluY29ycmVjdGx5IHVzaW5nIHRoZSBsYXN0ICcvJyBpdAoJICBmaW5kcyBpbiB0aGUgVVJMLiBBY2NvcmRpbmcgdG8gUkZDMzk4NiB0aGUgJy8nIGNoYXJhY3RlciBpcyBhbGxvd2VkIGluCgkgIHRoZSBxdWVyeSBwYXJ0IG9mIHRoZSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxMzcKCjIwMTMtMTItMDIgMTA6MDE6MTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsZ2xlc3Npbms6IG1vdmUgR3N0RUdMSW1hZ2VCdWZmZXJQb29sIHRvIGdzdGVnbCBsaWIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA1NAoKMjAxNC0wMi0yNSAxMjoxNzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3Q6IG1wZWd0czogQWRkIGNoZWNrIGZvciBTRFQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0NjozMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIGNvbnN0cnVjdG9yIGZvciBkdmIgc2VydmljZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjUgMTA6Mjg6MzggKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBtcGVndHM6IEFkZCBuZXcgU0RUIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQ3OjU3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY3JlYXRpb24gb2YgU0RUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDE6MjIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCB0cmFuc3BvcnRfc3RyZWFtX2lkIHRvIEdzdE1wZWdUc1NEVAoJICBUaGUgdHJhbnNwb3J0X3N0cmVhbV9pZCBpcyBjb250YWluZWQgaW4gdGhlIHN1YnRhYmxlIGV4dGVuc2lvbi4KCSAgSW50cm9kdWNlIGEgdmFyaWFibGUgZm9yIHJlYWRhYmlsaXR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTI1IDExOjI5OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IEluaXRpYWxpemUgUFNNIGZ1bGx5CgkgIFNvbWUgZ2FwcyB3ZXJlIG1pc3NlZCBpbiB0aGUgcHJldmlvdXMgdmVyc2lvbi4gSW5zdGVhZCBqdXN0IGluaXRpYWxpemUKCSAgdGhlIHdob2xlIHRhYmxlIHRvIC0xIGZpcnN0IGFuZCB0aGVuIGZpbGwgd2hhdCBuZWVkcyB0byBiZSBzcGVjaWZpZWQuCgoyMDE0LTAyLTI0IDE1OjUyOjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggZGVzY3JpcHRvciBjaGVja3MKCSAgT25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgb24gcHJvdmlkZWQgZGlyZWN0IGFyZ3VtZW50cy4gVGhlIG90aGVycyBnZXQKCSAgY2hlY2tlZCBhbGwgdGhlIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ0NjQKCjIwMTQtMDItMjQgMTQ6NTY6MDMgLTA1MDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGNpdGEudXRvcm9udG8uY2E+CgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkgIGRlYnVndXRpbHNiYWQuYyBmYWlscyBnc3QtaW5kZW50IGNoZWNrCgkgIHRoaXMgcGF0Y2ggaXMgImdzdC1pbmRlbnQgZGVidWd1dGlsc2JhZC5jIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDkwCgoyMDE0LTAyLTIyIDE4OjIyOjI2ICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBuZXR3b3JrX25hbWU6IENoZWNrIGNvbnZlcnRlZCBsZW5ndGgKCSAgQ2hlY2sgdGhlIGxlbmd0aCBvZiB0aGUgbmFtZSBhcmd1bWVudCBhZnRlciBpdCBoYXMgYmVlbiBjb252ZXJ0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM5NTMKCjIwMTQtMDItMDggMjI6NDc6MjAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIG1wZWd0cyBsaWJyYXJ5CgkgIFRlc3RzIGZvciBQQVQsIFBNVCwgYW5kIE5JVAoJICBDcmVhdGVzIGEgbmV3IHRhYmxlLCBhbmQgcG9wdWxhdGVzIGl0IHdpdGggZGVzY3JpcHRvcnMuCgkgIFBhcnNlcyB0aGUgbmV3bHkgY3JlYXRlZCB0YWJsZXMsIGFuZCBjaGVja3MgdGhlIGRhdGEuCgkgIENyZWF0ZXMgYSBHc3RNcGVnVHNTZWN0aW9uIGZyb20gdGhlIHRhYmxlcywgYW5kIHBhY2tldGl6ZSB0aGUgc2VjdGlvbnMuCgkgIFRoZSBwYWNrZXRpemVkIHNlY3Rpb24gZGF0YSBpcyBieXRlLXdpc2UgY29tcGFyZWQgdG8gYSBzdGF0aWMgYnl0ZSBhcnJheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzOTUzCgoyMDE0LTAyLTI0IDExOjA2OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYWJpbjItdGVzdDogbmV3IDEueCByYXcgY2FwcyBmb3JtYXQKCSAgUmVtb3ZlIC15dXYgYW5kIC1yZ2IgZnJvbSB2aWRlby94LXJhdyBhcyB0aG9zZSBhcmUgZnJvbSB0aGUKCSAgb2xkIDAuMTAgdmVyc2lvbgoKMjAxNC0wMi0yMyAxNToxODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogS2VlcCB0cmFjayBvZiB0aW1lc3RhbXBzIGJ5IGFkZGluZyB0aGVtIHVwIGR1cmluZyBwbGF5YmFjawoJICAuLi5pbnN0ZWFkIG9mIGFkZGluZyB0aGVtIGZyb20gdGhlIHN0YXJ0IG9mIHBsYXlsaXN0IGV2ZXJ5IHRpbWUuIFRoaXMKCSAgYW1vbmcgb3RoZXIgdGhpbmdzIGZpeGVzIHRpbWVzdGFtcHMgZm9yIGxpdmUgc3RyZWFtcywgd2hlcmUgdGhlIHBsYXlsaXN0CgkgIGlzIHNvbWUga2luZCBvZiByaW5nYnVmZmVyIG9mIGZyYWdtZW50cyBhbmQgdGh1cyBhZGRpbmcgZnJvbSB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBwbGF5bGlzdCB3aWxsIG1pc3MgdGhlIHBhc3QgZnJhZ21lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgzCgoyMDE0LTAyLTIzIDExOjAxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRGVwcmVjYXRlIGZyYWdtZW50cy1jYWNoZSBwcm9wZXJ0eQoJICBUaGUgYnVmZmVyaW5nL2NhY2hpbmcgaXMgaGFuZGxpbmcgY29tcGxldGVseSBkaWZmZXJlbnQgbm93IGFuZAoJICBvdXRzaWRlIG9mIGhsc2RlbXV4LgoKMjAxNC0wMi0xOCAxOToxNjozNSAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZWRlYzogTWVyZ2UgbmV3IHRhZ3Mgd2l0aCBleGlzdGluZyB0YWdzIHRvIHByZXZlbnQgb3ZlcndyaXRpbmcgZGVtdXhlciB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ2OTkKCjIwMTQtMDItMjAgMTU6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIGV4dDogVXNlIENvZGVjL0RlbXV4ZXIvQWRhcHRpdmUgZm9yIHRoZSBhZGFwdGl2ZSBzdHJlYW1pbmcgZGVtdXhlcnMKCjIwMTQtMDItMTcgMDk6MTk6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVmYWN0b3IgdGhyZWFkaW5nIGFuZCBkb3dubG9hZGluZwoJICBXZSBub3cgZG93bmxvYWQgZnJhZ21lbnRzIGFzIGZhc3QgYXMgcG9zc2libGUgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtCgkgIHdoaWxlIGFub3RoZXIgdGhyZWFkIGlzIGp1c3QgcmVzcG9uc2libGUgZm9yIHVwZGF0aW5nIGxpdmUgcGxheWxpc3RzCgkgIGV2ZXJ5IG5vdyBhbmQgdGhlbi4KCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbG90IGFuZCB0b2dldGhlciB3aXRoIHRoZSBuZXcgYnVmZmVyaW5nCgkgIG1vZGUgZm9yIGFkYXB0aXZlIHN0cmVhbXMgaW4gbXVsdGlxdWV1ZSBtYWtlcyBzdHJlYW1zIHN0YXJ0IG11Y2ggZmFzdGVyLgoJICBBbHNvIHNpbXBsaWZ5IHRocmVhZGluZyBhIGJpdCBhbmQgaG9wZWZ1bGx5IG1ha2UgdGhlIEdzdFRhc2sgdXNhZ2Ugc2FmZXIuCgoyMDE0LTAyLTE5IDA5OjM1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzd2l0Y2ggcGFkcyBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcKCjIwMTQtMDItMjEgMTI6MzM6NDIgKzAwMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGVuc3VyZSBzZWdtZW50cyBhcmVuJ3QgZmV0Y2hlZCBiZWZvcmUgdGhleSdyZSBhdmFpbGFibGUKCSAgSW5jb3JyZWN0IHRpbWUgc2NhbGluZyBpbiBnc3RfZGFzaF9kZW11eF93YWl0X2Zvcl9mcmFnbWVudF90b19iZV9hdmFpbGFibGUoKQoJICBtZWFucyB0aGF0IG1lZGlhIHNlZ21lbnRzIGFyZSBmZXRjaGVkIGJlZm9yZSB0aGVpciBhdmFpbGFibGl0eSB0aW1lLiBUaGlzCgkgIHBhdGNoIGZpeGVzIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4NzUKCjIwMTQtMDItMjEgMTQ6MDY6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogVW5jb21tZW50IFBBVCBjbGVhcnVwIGluIF9yZXNldAoJICBUaGUgUEFUIGlzIHJlbGF0ZWQgdG8gdGhlIHN0cmVhbSwgd2UgdGhlcmVmb3JlIHdhbnQgaXQgY2xlYXJlZCBhbG9uZwoJICB3aXRoIGFueXRoaW5nIHN0cmVhbSByZWxhdGVkLgoJICBUaGlzIGNvbW1lbnRlZCBzZWN0aW9uIHdhcyBmcm9tIHRoZSAob2xkKSBtcGVndHNwYXJzZSBhbmQgKm1pZ2h0KiBoYXZlCgkgIGJlZW4gcmVsYXRlZCB0byBzcGVlZGluZyB1cCBEVkIgc3RhcnQtdXAuIEJ1dCB3ZSBoYXZlIGFub3RoZXIgcGxhbiBmb3IgdGhhdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDcxNgoKMjAxNC0wMi0xOCAxMDoxOTo1MiArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW5pdGlhbGlzZSBkZW11eC0+bGFzdF9tYW5pZmVzdF91cGRhdGUKCSAgZGVtdXgtPmxhc3RfbWFuaWZlc3RfdXBkYXRlIGlzIG5vdCBpbml0aWFsaXNlZCBhdCBzdGFydHVwLCB3aXRoIHRoZQoJICBlZmZlY3QgdGhhdCBsaXZlIG1hbmlmZXN0cyBhcmUgcmVsb2FkZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGRvd25sb2FkCgkgIGxvb3AgYmVnaW5zLiBUaGlzIHBhdGNoIGZpeGVzIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ3OTAKCjIwMTMtMTItMjkgMTY6MDA6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHRzX3RvX29mZnNldCBiZXlvbmQgbGFzdCBvYnNlcnZlZCBQQ1IKCSAgVGhlIHJlcXVlc3RlZCBUUyBtaWdodCBiZSBiZXlvbmQgdGhlIGxhc3Qgb2JzZXJ2ZWQgUENSLiBJbiBvcmRlciB0byBjYWxjdWxhdGUKCSAgYSBjb2hlcmVudCBvZmZzZXQsIHdlIG5lZWQgdG8gdXNlIHRoZSBsYXN0IGFuZCBwcmV2aW91cy10by1sYXN0IGdyb3Vwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAzNQoKMjAxNC0wMi0xMiAxODoxNTo0NCAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgZ3N0X21wZWd0c19zZWN0aW9uX2dldF9kYXRhLCB0byBhbGxvdyB1cyB0byBnZXQgdGhlIG9yaWdpbmFsIGJpbmFyeSBzZWN0aW9uIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQyNTUKCjIwMTQtMDItMjAgMTk6MDg6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc2l6ZSBndWFyZHMgZm9yIGRlc2NyaXB0b3JzIHdoZXJlIG5lZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDQ2NAoKMjAxNC0wMi0yMCAxODoxNDo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVnLXRzOiBSZW5hbWUgcHJpdmF0ZSBmdW5jdGlvbgoJICBDYWxsaW5nIGl0IF9kZXNjX2NoZWNrcyB3aGVuIGl0IHdhcyBpbiBmYWN0IHVzZWQgZm9yIHNlY3Rpb25zIHdhcyBhCgkgIHRhZCBjb25mdXNpbmcgLi4uCgoyMDE0LTAyLTE2IDEwOjQ1OjIxICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNvbnRlbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDM0CgoyMDE0LTAyLTE2IDEwOjQ0OjU1ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTYgMTA6NDM6NTIgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgZXh0ZW5kZWQgZXZlbnQgZGVzcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTAgMjE6NTI6MjggKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwNjkKCjIwMTQtMDItMTYgMTA6MDk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IFJlbmFtZSBhbGwgdmFyaWFibGVzIHJlbGF0ZWQgdG8gdGhlIHdpbmtzIHBsdWdpbgoJICBJdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGNhbGwgdGhlbSBhZnRlciBkaXJlY3RzaG93IGlmIHRoZXkKCSAgYXJlIGZvciB0aGUgd2lua3MgcGx1Z2luIG9ubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMDAKCjIwMTMtMDQtMDggMTQ6MDQ6MTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggdXBkYXRlIGludGVydmFsIHdpdGggcmVzcGVjdCBvZiB0aGUgc3BlYwoKMjAxNC0wMi0xNCAxMjozOTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJICBhbWNhdWRpb2RlYzogQ2FsY3VsYXRlIG51bWJlciBvZiBzYW1wbGVzIHBlciBmcmFtZSBmb3IgTVAzIGFuZCB1c2UgdGhhdAoJICBTb21lIGF1ZGlvIGRlY29kZXJzIChhdCBsZWFzdCB0aGUgTVAzIGRlY29kZXIgb24gTVRLIGJhc2VkIGRldmljZXMpIG91dHB1dHMKCSAgcmF3IGF1ZGlvIGluIGJhdGNoZXMgb2YgbXVsdGlwbGUgYXVkaW8gZnJhbWVzLiBXZSBuZWVkIHRvIGhhbmRsZSB0aGF0CgkgIHByb3Blcmx5LCBvdGhlcndpc2UgdGhlIGJhc2UgY2xhc3Mgd2lsbCBiZSBraW5kIG9mIHVuaGFwcHkuCgoyMDE0LTAyLTE0IDEyOjMzOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogRXJyb3Igb3V0IGlmIHdlIGdldCBhbiBpbnZhbGlkIHJhdyBhdWRpbyBidWZmZXIgc2l6ZQoKMjAxNC0wMi0xNCAxMjozMjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFN0b3JlIHJldHVybiB2YWx1ZSBvZiBnc3RfY2Fwc19tZXJnZV9zdHJ1Y3R1cmUoKQoJICBUaGUgaW5wdXRzIGFyZSBib3RoIGludmFsaWQgYWZ0ZXJ3YXJkcy4KCjIwMTQtMDItMTQgMTI6MzE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBSZWxlYXNlIGJ1ZmZlciB0byBBbmRyb2lkIGlmIGFsbG9jYXRpbmcgb3V0cHV0IGZhaWxlZAoKMjAxNC0wMi0xNCAxMjoyODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFJlbGVhc2UgYnVmZmVyIGJhY2sgdG8gQW5kcm9pZCBpZiBhbGxvY2F0aW5nIG91dHB1dCBmYWlscwoKMjAxNC0wMi0xMyAxMDoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogS2VlcCBhbGl2ZSBjb25uZWN0aW9ucyBpZiB0aGUgc291cmNlIHN1cHBvcnRzIHRoYXQKCjIwMTQtMDItMTMgMTA6MDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFJlLXVzZSBvbGQgc291cmNlIGVsZW1lbnQgaWYgcG9zc2libGUKCSAgQWxsb3dzIHRvIGltcGxlbWVudCBrZWVwLWFsaXZlIGhhbmRsaW5nIGluIHRoZSBzb3VyY2UgZWxlbWVudC4KCjIwMTQtMDItMTIgMTg6NDk6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IElnbm9yZSBlbXB0eSBsaW5lcyBpbiB0aGUgcGxheWxpc3QKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBBbmRvbmkgTW9yYWxlcy4KCjIwMTQtMDItMTIgMTg6NDc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IE1ha2Ugc3VyZSB0byBpZ25vcmUgXHIgaW4gbGluZSBlbmRpbmdzIGluIGV2ZXJ5IGNhc2UKCjIwMTQtMDItMTIgMTg6Mjc6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEdpdmUgYSBwcm9wZXIgbmFtZSB0byB0aGUgc3JjcGFkcyBhbmQgcmVtb3ZlIGl0IHdoZW4gcmVzZXR0aW5nIHRoZSBlbGVtZW50CgoyMDE0LTAyLTEyIDE4OjA2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggcG90ZW50aWFsIGRlYWRsb2NrCgkgIFRoZSBzdHJlYW1pbmcgdGhyZWFkIG1pZ2h0IHVzZSBvdXIgbG9jaywgc28gc2h1dHRpbmcKCSAgZG93biB0aGUgZWxlbWVudCB3aGlsZSBob2xkaW5nIHRoYXQgbG9jayBjYWxscyBmb3IgcHJvYmxlbXMuCgoyMDE0LTAyLTEyIDE3OjU5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTaHV0ZG93biB0aGUgc291cmNlIGVsZW1lbnQgYmVmb3JlIHVubGlua2luZyBpdAoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZ2V0IHdhcm5pbmdzIGFib3V0IHB1c2hpbmcgdG8gdW5saW5rZWQgcGFkcy4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBBbmRvbmkgTW9yYWxlcy4KCjIwMTQtMDItMTIgMTY6NDY6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9wIGxlYWtpbmcgR0Vycm9ycyBpbiBzb21lIGVycm9yIHBhdGhzCgoyMDEyLTA1LTExIDEzOjU4OjI4ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHBhdXNlIHRhc2sgd2hlbiBpdCBpcyBzdG9wcGVkCgkgIFRoaXMgZml4ZXMgYSBwb3RlbnRpYWwgZGVhZC1sb2NrIHNpdHVhdGlvbiBmcm9tIEdzdFRhc2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTg2OQoKMjAxNC0wMi0xMiAxNjowMTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdhaXQgZm9yIHRoZSB1cGRhdGUgdGFzayB0byBmaW5pc2ggd2hlbiBzaHV0dGluZyBkb3duCgoyMDE0LTAyLTEyIDE1OjMzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJldmVudCByb3VuZGluZyBlcnJvcnMgZHVlIHRvIGRpdmlzaW9uIGJ5IHVzaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSgpCgoyMDEzLTA3LTI1IDE5OjM2OjQ4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc2NoZWR1bGUgbmV4dCB1cGRhdGUgYmFzZWQgb24gdGhlIGZyYWdtZW50IGR1cmF0aW9uCgoyMDE0LTAyLTEyIDE1OjE2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgZXJyb3Igb3V0IGlmIGNhcHMgY2FuJ3QgYmUgdHlwZWZpbmQgaW5zdGVhZCBvZiB1c2luZyBOVUxMIGNhcHMKCjIwMTMtMDctMjkgMTg6MDA6MzEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9nIGZyYWdtZW50IHRpbWVzdGFtcAoKMjAxNC0wMi0xMiAxNDoxMDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogVXNlIGdfYXNjaWlfeGRpZ2l0X3ZhbHVlKCkgaW5zdGVhZCBvZiBvdXIgb3duIHZlcnNpb24gb2YgaXQKCjIwMTQtMDItMTIgMTM6NDA6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBFcnJvciBvdXQgaWYgdGhlIGtleSBpcyBub3QgMTYgYnl0ZXMgbGFyZ2UKCjIwMTQtMDItMTIgMTM6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb3dubG9hZCBwbGF5bGlzdHMgd2l0aCBjb21wcmVzc2lvbiwga2V5cyBhbmQgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MTE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEb3dubG9hZCB0aGUgbWFuaWZlc3Qgd2l0aCBjb21wcmVzc2lvbiwgdGhlIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjEwOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRG93bmxvYWQgTVBEIHdpdGggY29tcHJlc3Npb24sIHRoZSBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzowODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgc3VwcG9ydCBmb3IgY29tcHJlc3NlZCBkb3dubG9hZHMKCSAgVmVyeSB1c2VmdWwgZm9yIHBsYXlsaXN0cywgbGVzcyB1c2VmdWwgZm9yIG1lZGlhIGZpbGVzLgoKMjAxNC0wMi0xMiAxMToyNjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCB0aGUgZWxlbWVudCBwcml2YXRlIGRhdGEgb24gdGhlIHNyY3BhZHMKCSAgSXQncyBub3QgdXNlZCBhbnl3YXkuCgoyMDE0LTAyLTEyIDExOjI1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiB0aGUgc3JjcGFkcwoKMjAxNC0wMi0xMiAxMDo1OTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQ2FjaGUgdGhlIGtleSBmcmFnbWVudCBpbnN0ZWFkIG9mIGRvd25sb2FkaW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4KCjIwMTQtMDItMTIgMTA6NTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggY2xlYW51cCB3aGVuIGRlY3J5cHRpb24gZmFpbHMKCSAgRmlyc3QgdW5tYXAgYnVmZmVycywgdGhlbiB1bnJlZiB0aGVtLiBBbmQgYWxzbyB1bnJlZiB0aGUKCSAga2V5IGZyYWdtZW50LgoKMjAxNC0wMi0xMSAxNToyMDo1OCArMDEwMCAgTGlodWEgTGl1IDxsaWh1YWxAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBJbmNsdWRlIHRpbWV6b25lIGluZm9ybWF0aW9uIGluIG1haWwgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMjUKCjIwMTQtMDItMTEgMTg6MTU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IERvbid0IHRyeSBkZWNyeXB0aW9uIGlmIGFuIHVuc3VwcG9ydGVkIG1ldGhvZCBpcyBmb3VuZAoKMjAxNC0wMi0xMSAxODoxNTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgcGFyc2UgSVYgZnJvbSB0aGUgcGxheWxpc3QKCSAgV2l0aG91dCB0aGlzIGV2ZXJ5IGZyYWdtZW50J3MgZmlyc3QgMTYgYnl0ZXMgd2lsbCBiZSBjb3JydXB0ZWQKCSAgaWYgbm90IHRoZSBmYWxsYmFjayBJViBpcyB1c2VkIGJ5IHRoZSBwbGF5bGlzdC4KCjIwMTQtMDItMTEgMTU6MjY6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFJlc2V0IGNhbmNlbGxlZCBzdGF0ZSBhZnRlciBmZXRjaGluZyBhbiBVUkkKCSAgT3RoZXJ3aXNlIGl0IHdpbGwgbmV2ZXIgZXZlciBiZSBhYmxlIHRvIGZldGNoIGFueXRoaW5nIGFmdGVyIGFuCgkgIGVycm9yIHVudGlsIHRoZSB1c2VyIHJlc2V0cyBpdCBtYW51YWxseS4KCjIwMTQtMDItMTEgMTQ6NTc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm9wYWdhdGUgZG93bmxvYWQgZXJyb3JzIHByb3Blcmx5IGFuZCBwb3N0IGVycm9yIG1lc3NhZ2VzIGlmIHRoZXkncmUgZmF0YWwKCjIwMTQtMDItMTEgMTQ6MTg6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIGV4dDogVXBkYXRlIGZvciBHc3RVcmlEb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTAyLTExIDE0OjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IFByb3ZpZGUgc29tZSBtb3JlIGRldGFpbHMgYWJvdXQgZXJyb3JzIGlmIGRvd25sb2FkaW5nIGZhaWxzCgoyMDE0LTAyLTExIDA5OjIwOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSB3aW5rcyBwbHVnaW4gaXMgbm90IHBvcnRlZCB0byAxLjAgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQxMDAKCjIwMTQtMDItMTAgMTU6Mzg6MDggLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogY2FsbCBjbG9zZSgpIGFmdGVyIHNodXRkb3duKCkKCSAgc2h1dGRvd24oKSBkb2Vzbid0IGNsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3Igc28gd2UgbGVhayBzb2NrZXRzIGlmIHdlCgkgIGRvbid0IGNhbGwgY2xvc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA3NwoKMjAxNC0wMi0xMCAxNDozMzo0OSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiB1c2Ugc2h1dGRvd24oKSBpbnN0ZWFkIG9mIGNsb3NlKCkKCSAgd2UgbWFrZSBzdXJlIGJvdGggZW5kcyBnZXQgbm90aWZpZWQgd2hlbiB0aGUgc29ja2V0IGlzIGNsb3NlZCBieSB1c2luZwoJICBzaHV0ZG93bigpIGluc3RlYWQgb2YgY2xvc2UoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA3NwoKMjAxNC0wMi0xMCAxODoyOToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0YXJ0IGRvd25sb2FkaW5nIHRoZSBuZXh0IGZyYWdtZW50IGltbWVkaWF0ZWx5IGFmdGVyIGNhY2hpbmcgdGhlIGluaXRpYWwgZnJhZ21lbnRzCgkgIEFuZCBvbmx5IGFmdGVyd2FyZHMgd2FpdCB1bnRpbCBhIGZyYWdtZW50IHdhcyBwbGF5ZWQuIE90aGVyd2lzZSB3ZSdyZSBrZWVwaW5nCgkgIG91ciBjYWNoZSBtb3N0IG9mIHRoZSB0aW1lIGF0ICJmcmFnbWVudHMtY2FjaGUiIGZyYWdtZW50cyBtaW51cyBvbmUuCgkgIEFsc28gYWxsb3cgc2V0dGluZyAiZnJhZ21lbnRzLWNhY2hlIiB0byAxIG5vdyB0byBzdGFydCBwbGF5YmFjayBldmVuIGZhc3Rlci4KCjIwMTQtMDItMTAgMTg6Mjc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdGFydCBmZXRjaGluZyBuZXcgZnJhZ21lbnRzIHdoZW5ldmVyIHdlIGhhdmUgbGVzcyBmcmFnbWVudHMgY2FjaGVkIHRoYW4gZ2l2ZW4gYnkgdGhlIGZyYWdtZW50cy1jYWNoZSBwcm9wZXJ0eQoJICBXYWl0aW5nIHVudGlsIG91ciBjYWNoZSBpcyBlbXB0eSBiZWZvcmUgc3RhcnRpbmcgdG8gZmV0Y2ggdGhlIG5leHQgZnJhZ21lbnQKCSAga2luZCBvZiBkZWZlYXRzIHRoZSBwdXJwb3NlIG9mIGNhY2hpbmcgbXVsdGlwbGUgZnJhZ21lbnRzLgoKMjAxNC0wMi0xMCAxODoyMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBiaXRyYXRlIGNhbGN1bGF0aW9uCgkgIGdfZ2V0X21vbm90b25pY190aW1lKCkgcmV0dXJucyBtaWNyb3NlY29uZHMsIG5vdCBuYW5vc2Vjb25kcy4KCjIwMTQtMDItMTAgMTc6MjY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEFjdHVhbGx5IHN0b3JlIGRvdWJsZXMgYXMgc3VjaCBhbmQgZG9uJ3QgdHJ1bmNhdGUgdGhlbSB0byBpbnRzCgkgIEZpeGVzIGJyb2tlbiBkdXJhdGlvbiByZXBvcnRpbmcuCgoyMDE0LTAyLTEwIDE3OjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBVc2UgbG9jYWxlLWluZGVwZW5kZW50IGludC9mbG9hdCBwYXJzaW5nIGZ1bmN0aW9ucyBmcm9tIEdMaWIKCjIwMTQtMDItMTAgMTQ6MzQ6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGFkZCBtb3JlIHNvdW5kZm9udCBzZWFyY2ggcGF0aHMKCSAgRmVkb3JhIGluc3RhbGxzIHRoZSBzb3VuZGZvbnRzIGluIC91c3Ivc2hhcmUvc291bmRmb250cy8gc28gbWFrZSBzdXJlIHdlCgkgIGxvb2sgdGhlcmUgYXMgd2VsbC4KCjIwMTQtMDItMTAgMDg6MTk6NTIgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgQ2hhbmdlIHNvdW5kZm9udCBmaWxlIHNlYXJjaCBwYXRoIGZvciBmbHVpZGRlYwoJICBVc2UgZ2xpYiB0byBnZXQgYSBsaXN0IG9mIHN5c3RlbSAic2hhcmUiIGRpcmVjdG9yaWVzLCB0aGVuIGdvIHRocm91Z2ggdGhhdAoJICBsaXN0LCBhcHBlbmRpbmcgJ3NvdW5kcy9zZjIvJyB0byBlYWNoIGRpcmVjdG9yeSB0byBnZXQgYSBzb3VuZGZvbnQgZGlyZWN0b3J5LAoJICBhbmQgbG9va2luZyBmb3IgLnNmMiBmaWxlcyB0aGVyZS4KCSAgVGhpcyB3YXkgZmx1aWRkZWMgaXMgYWJsZSB0byBsb2FkIHNmMiBmaWxlcyBvbiBXMzIsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZQoJICBwYXRoICcvdXNyL3NoYXJlL3NvdW5kcy9zZjInIG1ha2VzIG5vIHNlbnNlIHRoZXJlLgoJICBGaXhlcyAjNzI0MDEzCgoyMDE0LTAyLTEwIDA4OjIxOjA0ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHdpbmtzIGNvbmZpZ3VyZSB0ZXN0CgkgIEZpeGVzICM3MjM5OTUKCjIwMTQtMDItMTAgMDg6MjI6MDUgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5rczogTWFrZSBoZWFkZXJzIGtub3duIHRvIGF1dG9tYWtlCgkgIEZpeGVzICM3MjQwMDMKCjIwMTQtMDItMDkgMTg6NDk6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByZWZlciB0byB1c2UgbmV0dGxlIGZvciBkZWNyeXB0aW9uIGJ1dCBmYWxsLWJhY2sgdG8gbGliZ2NyeXB0CgkgIG5ldHRsZSBpcyB1c2VkIGJ5IG5ld2VyIHZlcnNpb25zIG9mIGdudXRscywgd2hpbGUgb2xkZXIgdmVyc2lvbnMgb2YgZ251dGxzCgkgIHVzZWQgbGliZ2NyeXB0LiBTdXBwb3J0IGJvdGggZm9yIG5vdyBhcyBub3QgZXZlcnkgZGlzdHJvIGhhcyBuZXR0bGUgeWV0LgoJICBuZXR0bGUgaXMgcHJlZmVycmVkIGFzIGl0IGlzIG1vcmUgZWZmaWNpZW50IHRvIHVzZSBhbmQgbXVjaCBzbWFsbGVyLgoKMjAxNC0wMi0wOSAxODoxOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBVcGRhdGUgdG8gbm9uLWRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDE0LTAyLTA5IDE4OjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIG00L2xpYmdjcnlwdC5tNDoKCSAgaGxzZGVtdXg6IFVzZSBsaWJnY3J5cHQgZGlyZWN0bHkgaW5zdGVhZCBvZiBnb2luZyB0aHJvdWdoIGdudXRscwoJICBnbnV0bHMgaXMgYWxzbyBqdXN0IHdyYXBwaW5nIGdjcnlwdCwgYnV0IHdlIGRvbid0IG5lZWQgYW55IG9mCgkgIHRoZSBUTFMgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LiBXZSBqdXN0IG5lZWQgdG8gYmUgYWJsZSB0byBkZWNyeXB0CgkgIEFFUzEyOC1DQkMuCgoyMDE0LTAyLTA4IDIwOjA4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGZyb20gdW5pdCB0ZXN0CgoyMDE0LTAyLTA4IDIwOjA3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGZyb20gdW5pdCB0ZXN0CgoyMDE0LTAyLTA4IDIwOjA3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdAoJICBlcnJvcjogc3VnZ2VzdCBicmFjZXMgYXJvdW5kIGluaXRpYWxpemF0aW9uIG9mIHN1Ym9iamVjdCBbLVdlcnJvciwtV21pc3NpbmctYnJhY2VzXQoKMjAxNC0wMi0wOCAxOTo1OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRml4IGNvbXBhcmlzb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24gb2YgdHlwZQoJICAnR3N0U3J0cENpcGhlclR5cGUnIGlzIGFsd2F5cyBmYWxzZQoKMjAxNC0wMi0wOCAxOToyOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFJlbW92ZSB1bnVzZWQgcHJpdmF0ZSBmaWVsZHMKCjIwMTQtMDItMDggMTk6Mjg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIHNlZ21lbnRhdGlvbjogRml4IGludGVnZXIgdW5kZXJmbG93IGNoZWNrCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPCAwIGlzCgkgIGFsd2F5cyBmYWxzZSBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoKMjAxNC0wMi0wOCAxODo1ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0wOCAxODo1NzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgIGJ6MjogRml4IHR5cG8gaW4gaGVhZGVyIGluY2x1ZGUgZ3VhcmRzCgoyMDE0LTAyLTA4IDE4OjU2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJICB2ZHBhdTogRml4IGNvbXBhcmlzb24gY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24KCSAgb2YgdHlwZSAnY29uc3QgR3N0VmlkZW9Gb3JtYXQnIGlzIGFsd2F5cyBmYWxzZQoKMjAxNC0wMi0wOCAxODo1NDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAxNC0wMi0wOCAxODo0ODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBlcnJvcjogdmFyaWFibGUgJ2ltYWdlX3R5cGUnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlcgoJICAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoKMjAxNC0wMi0wOCAxODo0NToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMi0wOCAxODoyMDoyMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHBtdDogRGV0ZWN0IGRlc2NyaXB0b3IgbGVuZ3RoIGNvcnJlY3QKCjIwMTQtMDItMDggMTc6NDM6MDMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBDb3JyZWN0bHkgY2hlY2sgZm9yIFBBVCxQTVQsQ0FULFRTRFQKCjIwMTQtMDItMDggMTM6MDg6MDIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggc29tZSBwYWNrZXRpemluZyBidWdzCgkgIC0gTGVuZ3RoIG9mIE5JVCBzdHJlYW0gZGVzY3JpcHRvcnMgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0CgkgIC0gUmVzZXJ2ZWQgYml0cyB3YXMgbm90IHNldCBhY2NvcmRpbmcgdG8gRU4gMzAwIDQ2OCwgSVNPL0lFQyAxMzgxOC0xCgkgIC0gQWxzbyBzZXQgb3V0cHV0IGRhdGEgc2l6ZSBpZiB0aGUgc2VjdGlvbiB3YXMgcHJldmlvdXNseSBwYWNrZXRpemVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM4OTIKCjIwMTQtMDItMDcgMTE6NTQ6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgb3IgbW92ZSB2YXJpYWJsZSBhc3NpZ25tZW50cwoJICBUbyB3aGVyZSB0aGV5J3JlIG5lZWRlZAoKMjAxNC0wMi0wNyAxMTo1MzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBSZW1vdmUgdW5uZWVkZWQgaW5jcmVtZW50CgoyMDE0LTAyLTA3IDExOjQyOjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IEZpeCBjb21wYXJpc2lvbgoJICB3ZSB3YW50IHRvIHN0b3AgaWYgb25lIE9SIHRoZSBvdGhlciBpcyBOVUxMLgoKMjAxNC0wMi0wNiAxMzo1Mzo0OSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXBkYXRlZCBkb2NzIHdpdGggbmV3IEFQSQoKMjAxMy0xMS0xOSAxMjoyMTozMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBVc2UgbXBlZy10cyBsaWIgZm9yIFBBVC9QTVQgc2VjdGlvbnMKCSAgUmV3cml0ZSBvZiB0aGUgUEFUL1BNVCBzZWN0aW9uIGhhbmRsaW5nIHRvIHVzZSB0aGUgbXBlZy10cyBsaWJyYXJ5CgoyMDEzLTExLTIwIDExOjE0OjQ2ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgU0kgdGFibGVzCgkgIFRoZSBtdXhlciBpcyBub3cgYWJsZSB0byBpbmNsdWRlIERWQiBzZWN0aW9ucyBpbiB0aGUgdHJhbnNwb3J0IHN0cmVhbS4KCSAgVGhlIHNpLWludGVydmFsIHByb3BlcnR5IHdpbGwgZGV0ZXJtaW5lIGhvdyBvZnRlbiB0aGUgU0kgdGFibGVzIGFyZQoJICBtdXhlZCBpbnRvIHRoZSBzdHJlYW0uCgkgIFRoZSBzZWN0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIG1wZWctdHMgbGlicmFyeS4gQmVsb3cgaXMgYSBzbWFsbCBleGFtcGxlCgkgIHRoYXQgd2lsbCBpbmNsdWRlIGEgTmV0b3JrIEluZm9ybWF0aW9uIFRhYmxlIHdpdGggYSBOZXR3b3JrIE5hbWUKCSAgZGVzY3JpcHRvciBpbiB0aGUgc3RyZWFtLgoJICBHc3RNcGVnVHNOSVQgKm5pdDsKCSAgR3N0TXBlZ1RzRGVzY3JpcHRvciAqZGVzY3JpcHRvcjsKCSAgR3N0TXBlZ1RzU2VjdGlvbiAqc2VjdGlvbjsKCSAgR3N0RWxlbWVudCAqbXBlZ3RzbXV4OwoJICBnc3RfbXBlZ3RzX2luaXRpYWxpemUgKCk7CgkgIG5pdCA9IGdzdF9tcGVndHNfc2VjdGlvbl9uaXRfbmV3ICgpOwoJICBuaXQtPmFjdHVhbF9uZXR3b3JrID0gVFJVRTsKCSAgZGVzY3JpcHRvciA9IGdzdF9tcGVndHNfZGVzY3JpcHRvcl9mcm9tX2R2Yl9uZXR3b3JrX25hbWUgKCJOZXR3b3JrIG5hbWUiKTsKCSAgZ19wdHJfYXJyYXlfYWRkIChuaXQtPmRlc2NyaXB0b3JzLCBkZXNjcmlwdG9yKTsKCSAgc2VjdGlvbiA9IGdzdF9tcGVndHNfc2VjdGlvbl9mcm9tX25pdCAobml0KTsKCSAgLy8gbXBlZ3RzbXV4IHNob3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgcGlwZWxpbmUKCSAgZ3N0X21wZWd0c19zZWN0aW9uX3NlbmRfZXZlbnQgKHNlY3Rpb24sIG1wZWd0c211eCk7CgkgIGdzdF9tcGVndHNfc2VjdGlvbl91bnJlZiAoc2VjdGlvbik7CgoyMDEzLTExLTE5IDExOjMwOjMzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogU3VwcG9ydCByZWdpc3RyYXRpb24gYW5kIGN1c3RvbSBkZXNjcmlwdG9yCgkgIFN1cHBvcnQgZm9yIHJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yICgweDA1KQoJICBBZGQgZnVuY3Rpb24gdG8gY3JlYXRlIGEgZGVzY3JpcHRvciB3aXRoIGN1c3RvbSB0YWcgYW5kIGRhdGEKCjIwMTMtMTEtMTkgMTE6MTU6NTIgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIGNyZWF0aW9uIG9mIERWQiBTdWJ0aXRsaW5nIGRlc2NyaXB0b3IKCSAgRGVzY3JpcHRvciB0YWcgaXMgMHg1OQoKMjAxMy0xMS0xOSAxMDo1MDozMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBTdXBwb3J0IHBhcnNpbmcgb2YgRFZCIFRlbGV0ZXh0IGRlc2NyaXB0b3IKCSAgRGVzY3JpcHRvciB0YWcgaXMgMHg1NgoKMjAxMy0xMS0yMCAxMTowNjowMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGluZyBQQVQvUE1UCgoyMDEzLTExLTIwIDExOjA0OjU4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHByb2dyYW1fbnVtYmVyIHRvIEdzdE1wZWdUc1BNVAoKMjAxMy0xMC0yOCAxNDo0OTowOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IgY29uc3RydWN0aW9uCgkgIEFkZCBmdW5jdGlvbiB0byBjcmVhdGUgYSBOZXR3b3JrIE5hbWUgRFZCIGRlc2NyaXB0b3IuCgoyMDEzLTEwLTI4IDE0OjQ4OjEzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGluZyBhIE5JVCBzZWN0aW9uCgkgIEZ1bmN0aW9ucyB0aGF0IHdpbGwgZW5hYmxlIHVzZXIgdG8gY3JlYXRlIE5ldHdvcmsgSW5mb3JtYXRpb24gVGFibGVzLgoKMjAxMy0xMC0yOCAxNDoyNjozOSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgbmV0d29ya19pZCB0byBHc3RNcGVnVHNOSVQKCSAgVGhlIG5ldHdvcmtfaWQgaXMgc3RvcmVkIGluIHRoZSBzdWJ0YWJsZSBleHRlbnNpb24uIE1ha2UgYSBmaWVsZAoJICBpbiB0aGUgR3N0TXBlZ1RzTklUIGZvciBiZXR0ZXIgY29kZSByZWFkYWJpbGl0eQoKMjAxMy0xMC0zMSAxMzo0NzoyMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbnMgdG8gc2VuZCBzZWN0aW9ucyBhcyBldmVudHMKCSAgQWRkZWQgZnVuY3Rpb24gdGhhdCBlbmFibGVzIHRoZSB1c2VyIHRvIHNlbmQgYSBHc3RNcGVnVHNTZWN0aW9uIGFzCgkgIGFuIGV2ZW50IHRvIGEgR3N0RWxlbWVudC4gKGkuZS4gbXBlZ3RzbXV4KQoKMjAxMy0xMC0yOCAxNDo0NDoxMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBmdW5jdGlvbnMgdG8gcGFja2V0aXplIHNlY3Rpb24KCSAgU2VjdGlvbnMgbmVlZHMgdG8gYmUgcGFja2V0aXplZCBmb3IgdXNlIGluIGkuZS4gbXBlZ3RzbXV4LgoJICBUaGVzZSBmdW5jdGlvbnMgaGFuZGxlcyB0aGUgZ2VuZXJpYyBjb21tb24gcGFydHMgb2YgYSBHc3RNcGVnVHNTZWN0aW9uCgoyMDEzLTEwLTI4IDE0OjM5OjQ5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQWRkIGluaXQgZnVuY3Rpb25zIGZvciBkZXNjcmlwdG9yL3NlY3Rpb24KCjIwMTMtMTAtMzAgMTA6NDM6MjEgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9uIHRvIGVuY29kZSBVVEY4IHN0cmluZ3MKCSAgVGhpcyBjYW4gYmUgdXNlZCB0byBjcmVhdGUgZGVzY3JpcHRvcnMgd2l0aCBhcHByb3ByaWF0ZSBjaGFyYWN0ZXIgbWFwcwoKMjAxMy0xMC0zMCAxMDo0MjowNyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXNlIGJpZyBlbmRpYW4gVUNTLTIgY29kaW5nCgkgIFBhcnNpbmcgb2YgY29udHJvbCBjb2RlcyByZXF1aXJlcyBhIGJpZyBlbmRpYW4gY2hhcmFjdGVyIG1hcAoKMjAxMy0xMC0zMCAxMDozMzoxOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIHR3by13YXkgaWNvbnYgY29udmVyc2lvbnMKCSAgVG8gdXNlIGluIGNvbnZlcnNpb25zIGZyb20gVVRGLTggdG8gYW5vdGhlciBjaGFyYWN0ZXIgbWFwCgoyMDE0LTAyLTA2IDE2OjE3OjM5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IEZpeCBsaWJ0b29sIHVzYWdlCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAyLTA2IDE0OjIxOjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVcGRhdGUgcGx1Z2luIGxpY2Vuc2UgZmllbGQKCSAgVGhlIG9yaWdpbmFsIGNvZGUgKG9sZCBtcGVndHNwYXJzZSkgZnJvbSB3aGljaCB0aGlzIHBsdWdpbiB3YXMgYmFzZWQgb24KCSAgd2FzIGR1YWwtbGljZW5zZWQuIFRoaXMgYWxsb3dlZCB1c2FnZSBvZiB0aGUgY29kZSB1bmRlciBhbnkgb2YgdGhlCgkgIGxpY2Vuc2VzICh3aGljaCBpbmNsdWRpbmcgTEdQTCk6CgkgICIiIgoJICAqIEFsdGVybmF0aXZlbHksIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zIG9mCgkgICogdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZSAiTEdQTCIpLAoJICAqIGluIHdoaWNoIGNhc2UgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIExHUEwgYXJlIGFwcGxpY2FibGUgaW5zdGVhZAoJICAqIG9mIHRob3NlIGFib3ZlLiBJZiB5b3Ugd2lzaCB0byBhbGxvdyB1c2Ugb2YgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSBvbmx5CgkgICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBMR1BMLCBhbmQgbm90IHRvIGFsbG93IG90aGVycyB0bwoJICAqIHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTVBMLCBpbmRpY2F0ZSB5b3VyCgkgICogZGVjaXNpb24gYnkgZGVsZXRpbmcgdGhlIHByb3Zpc2lvbnMgYWJvdmUgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBub3RpY2UKCSAgKiBhbmQgb3RoZXIgcHJvdmlzaW9ucyByZXF1aXJlZCBieSB0aGUgTEdQTC4gSWYgeW91IGRvIG5vdCBkZWxldGUKCSAgKiB0aGUgcHJvdmlzaW9ucyBhYm92ZSwgYSByZWNpcGllbnQgbWF5IHVzZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyCgkgICogdGhlIHRlcm1zIG9mIHRoZSBNUEwgb3IgdGhlIExHUEwuCgkgICIiIgoJICBXaGVuIHJlZmFjdG9yZWQgKGxlYWRpbmcgdG8gdGhlIGNyZWF0aW9uIG9mIHRoaXMgbmV3IHBsdWdpbiksIEkgY2hvc2UgYWxsCgkgIG5ldyBjb2RlIHRvIGJlIExHUEwtb25seSAod2hpY2ggd2FzIGFsbG93ZWQgZm9yIHByZS1leGlzdGluZyBjb2RlKSBieSByZW1vdmluZwoJICB0aGUgTVBMIHNlY3Rpb25zLgoJICBUaGUgaGVhZGVycyB3ZXJlIGFsbCB1cGRhdGVkLCBidXQgbm90IHRoZSBwbHVnaW4gbGljZW5zZSBmaWVsZC4gVGhpcyBjb21taXQKCSAgZml4ZXMgdGhpcy4KCjIwMTQtMDItMDQgMTQ6MTU6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgdGVzdHM6IGluc2VydGJpbjogdXBkYXRlIHRlc3RzIHRvIDEueCBzY2VuYXJpbwoJICBUaGUgdGhyZWFkIHRoYXQgY2FsbHMgdGhlIHN1Y2Nlc3MvZmFpbHVyZSBjYWxsYmFjayBjYW4gYmUgdGhlCgkgIHNhbWUgdGhhdCBpcyBhZGRpbmcvcmVtb3ZpbmcgdGhlIGVsZW1lbnQgYXMgdGhlIElETEUgcHJvYmUgY2FuCgkgIGhhcHBlbiBpbnN0YW50bHkgaWYgdGhlIHBhZCBpcyBub3QgJ2J1c3knLgoJICBUaGlzIHJlcXVpcmVkIG1vdmluZyBzb21lIGNoZWNrcyBmb3IgdGhlIGNhbGxiYWNrIGNvdW50ZXIgYXJvdW5kCgkgIGFzIHdlbGwgYXMgcmVtb3Zpbmcgc29tZSBwYWQgcHVzaGVzIGZyb20gdGhlIG1haW4gdGVzdCB0aHJlYWQgYXMKCSAgdGhleSB3ZXJlIG1hZGUgdXNlbGVzcyBhZnRlciB0aGUgSURMRSBwYWQgcHJvYmUgd2FzIGZpeGVkIGluIGNvcmUKCSAgYnkgY29tbWl0IDAzMjQzNThlYmM4MTIyYTQxYWI0OTlhM2VmNzk3M2I2MWMzZTYyMWIKCjIwMTQtMDItMDMgMjM6Mzk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGF2b2lkIHdhcm5pbmcgaWYgdGVzdCBpcyBmYWlsaW5nCgkgIEluIGNhc2UgdGhlIHRlc3QgZmFpbHMgdGhlIG1lc3NhZ2Ugd29uJ3QgYmUgcmV0dXJuZWQgYW5kIGl0CgkgIHdpbGwgbGVhZCB0byBhbiBhc3NlcnRpb24gdGhhdCBtaWdodCBiZSBtaXNsZWFkaW5nIHRvIHRob3NlCgkgIGRlYnVnZ2luZyB0aGUgaXNzdWUuCgoyMDE0LTAyLTAzIDIzOjEwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc3RvcCBzb3VyY2UgdG8gZG8gaW50ZXJuYWwgcmVjb25maWd1cmF0aW9uIHNhZmVseQoJICBJbiBvcmRlciB0byBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgY2FwcyBvbiBtdWx0aXBsZSBjYXBzZmlsdGVycyB0aGUKCSAgc291cmNlIGVsZW1lbnQgbmVlZHMgdG8gYmUgc3RvcHBlZCwgb3RoZXJ3aXNlIGl0IHdpbGwgZ2V0IGEgZmV3CgkgIHJlY29uZmlndXJlIGV2ZW50cyBhbmQgbWlnaHQgdHJ5IHRvIHJlbmVnb3RpYXRlIHdoaWxlIHRoZSBiaW4KCSAgaXMgc3RpbGwgdHJhbnNpdGlvbmluZyBpdHMgY2FwcywgbGVhZGluZyB0byBhIG5vdC1uZWdvdGlhdGVkIGZhaWx1cmUKCSAgYW5kIHRoZSBpbWFnZSBjYXB0dXJlIHdvbid0IGhhcHBlbiBiZWNhdXNlIHRoZSBzb3VyY2Ugd2lsbCBiZQoJICB1bnVzYWJsZS4KCSAgVGhlIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhlIHNvdXJjZSBpbiBwYXVzZWQgd2hpbGUgdGhlIGNhcHMgYXJlIGJlaW5nCgkgIGNoYW5nZWQgaW4gdGhlIGJpbiwgYW5kIHRoZW4gYnJpbmcgdGhlIGVsZW1lbnQgYmFjayB0byBwbGF5aW5nIG9uY2UKCSAgaXQgaXMgZG9uZS4gVW5mb3J0dW5hdGVseSB0aGlzIGluY3JlYXNlcyB0aGUgaW1hZ2UgY2FwdHVyZSBsYXRlbmN5LAoJICBidXQgaXQgc2hvdWxkIGFsd2F5cyB3b3JrLgoJICBBIHBvc3NpYmxlIGltcHJvdmVtZW50IHRvIHJlZHVjZSB0aGUgbGF0ZW5jeSBpcyB0byBhZGQgYW5vdGhlciBzaWduYWwKCSAgdG8gYmUgY2FsbGVkIGJlZm9yZSAnc3RhcnQtY2FwdHVyZSc6ICdwcmVwYXJlLWNhcHR1cmUnLiBBdCB0aGlzIHN0ZXAKCSAgdGhlIGNhbWVyYSBzb3VyY2Ugc2hvdWxkIHNldCBhbGwgY2FwcyBpdCBuZWVkcyBhbmQgZ2V0IHRoZSBzb3VyY2UKCSAgcmVhZHkgZm9yIGRvaW5nIHRoZSBjYXB0dXJlIGFzIHNvb24gYXMgJ3N0YXJ0LWNhcHR1cmUnIGlzIGNhbGxlZC4KCSAgVGhpcyBjYW4gYmUgZG9uZSBvbiBhIGZ1dHVyZSBjb21taXQKCjIwMTQtMDItMDMgMjM6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUHJvYmFibHkgYSBsZWZ0IG92ZXIgZnJvbSAwLjEwIC0+IDEueCBwb3J0aW5nCgoyMDE0LTAyLTA0IDE3OjIyOjI3ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogaW1wcm92ZWQgZXJyb3IgcmVwb3J0IGFuZCBjaGVja3MKCSAgU2lnbmVkLW9mZi1ieTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKMjAxNC0wMi0wNCAxMjo1MjoyNSArMDEwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogRml4IHJhY2UgY29uZGl0aW9uIGJldHdlZW4gRU9TIGhhbmRsaW5nIGFuZCBkb3dubG9hZGluZyBhIHJhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMzQKCjIwMTQtMDItMDQgMDU6NDY6MTYgLTA1MDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IGFkYXB0aXZlIGJ1ZmZlciBzaXplCgkgIENvcGllZCBmcm9tIHdhdnBhcnNlLCBoZWxwcyB3aXRoIENQVSB1c2FnZSBvbiBoaWdoIGJpdHJhdGUKCSAgZmlsZXMuCgoyMDE0LTAyLTAyIDE4OjE3OjA2IC0wODAwICBEYW4gS2VnZWwgPGRhbmtAa2VnZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBTaW5jZSBiMWE3NTZmZCwgYXBwbGVtZWRpYSBmYWlscyB0byBidWlsZCBvbiBvc3ggMTAuNywgd2hpY2ggbGFja3MgVmlkZW9Ub29sYm94LmguLi4gc28gZGlzYWJsZSBpdCBvbiBPU1ggaWYgdGhhdCBoZWFkZXIgaXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUwOAoKMjAxNC0wMi0wMiAxMzo1MDo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggZGF0YSBzdGFydCBvZmZzZXQgY2FsY3VsYXRpb24gbm90IGNvdW50aW5nIENPTU0gc2l6ZQoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIGZpeGVzIHNlZWtpbmcgYmFjayB0byB0aGUgc3RhcnQgcmVhZGluZyBkYXRhCgkgIG91dCBvZiBzeW5jIHdpdGggc2FtcGxlIHN0YXJ0IGdyYW51bGFyaXR5LCB5aWVsZGluZyBzd2FwcGVkIGNoYW5uZWxzLgoKMjAxNC0wMS0zMSAyMzo0MzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICB0ZXN0czogZ2RwZGVwYXk6IHVwZGF0ZSB0byAxLnggZXZlbnRzCgkgIFRlc3RzIG5lZWRlZCBzdHJlYW0gc3RhcnQgYXQgYmVnaW5uaW5nIGFuZCBzZWdtZW50IGFmdGVyIHRoZQoJICBjYXBzIGV2ZW50CgoyMDE0LTAxLTMxIDE4OjM4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGFkZCBEVFMgdG8gaGVhZGVycwoKMjAxNC0wMS0zMSAxMjoxNTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwcGF5OiB1cGRhdGUgdG8gMS54IHJlYWxpdHkKCSAgKiBzdHJlYW0tc3RhcnQtaWQgaXMgbWFuZGF0b3J5IGF0IHRoZSBiZWdpbm5pbmcsIHNvIGFkZCB0aGF0IHRvIHRoZQoJICBnZHAgaGVhZGVycwoJICAqIGNhcHMgbXVzdCBiZSBzZW50IGJlZm9yZSBuZXcgc2VnbWVudCwgaW52ZXJ0IHRoZSBvcmRlciBmcm9tIGxlZ2FjeQoJICAwLjEwIGNvZGUKCSAgQW5kIGZpeCB0aGUgdGVzdHMgYXMgYSByZWYgaXMgbm93IGtlcHQgZm9yIHRob3NlIGJ1ZmZlcnMgdGhhdCBjb21wb3NlCgkgIHRoZSBoZWFkZXIKCjIwMTQtMDEtMzEgMTY6NTg6MTYgLTA1MDAgIENvbGluIE1hY2RvbmFsZCA8Y2JtQG0uZnNmLm9yZz4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJICBmaXNoZXllOiBGaXggZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzk4CgoyMDE0LTAxLTI5IDE2OjMyOjMwICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERlZmF1bHQgZnJhbWVyYXRlIHRvIDAvMSB3aGVuIG5vIGluZm9ybWF0aW9ucyBmb3VuZAoJICBJdCBpcyBub3QgcGVyZmVjdCBidXQgaXQgYWxsb3dzIHVzIHRvIGJlIHN1cmUgdGhhdCB0aGUgbWFuZGF0b3J5ICdmcmFtZXJhdGUnCgkgIGZpZWxkIGlzIHByZXNlbnQgaW4gdGhlIGNhcHMuCgkgIEFzIHNvb24gYXMgc29tZSBpbmZvcm1hdGlvbiBpcyBmb3VuZCBpbiB0aGUgc3RyZWFtLCB0aGF0IHdpbGwgYmUKCSAgdXBkYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI0MwoKMjAxNC0wMS0zMCAxOTo0NTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogcmVmYWN0b3IgYW5kIGFkZCBtaXNzaW5nIGJpdHMKCSAgTW9zdCBvZiB0aGUgdGVzdHMgd2VyZW4ndCB1cGRhdGVkIGFmdGVyIHRoZSBzdGlja3kgZXZlbnRzIG9yZGVyCgkgIGFuZCBzdHJlYW0gc3RhcnQuIEZpeCB0aGF0IGFuZCByZWZhY3RvciB0aG9zZSB0ZXN0cyBjaGVjayB0aGF0CgkgIGFyZSB0aGUgc2FtZSB0byBzb21lIGNvbW1vbiBmdW5jdGlvbnMuCgkgIFRob3NlIGZ1bmN0aW9ucyBzdGlsbCBkb24ndCBhY3R1YWxseSB0ZXN0IHRoZSBjb250ZW50IGJ1dCBhdAoJICBsZWFzdCBub3cgdGhleSBhcmUgaW4gYSBzaW5nbGUgcGxhY2UgYW5kIGNhbiBiZSBpbXByb3ZlZAoJICB3aXRob3V0IHJlcGxpY2F0aW9uCgoyMDE0LTAxLTMwIDE4OjE3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiBEbyBub3QgZm9yZ2V0IHRvIHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IG9uIHRlc3QKCSAgRXZlbiBpZiB3ZSBkb24ndCB3YW50IHRvIHB1c2ggdGhlIGNhcHMgZXZlbnQsIGEgc3RyZWFtLXN0YXJ0IG11c3QKCSAgYmUgcHJlc2VudCBiZWZvcmUgYW55IGRhdGEgaW4gMS54CgoyMDE0LTAxLTMwIDE4OjA5OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcHVzaCB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgkgIGluc3RlYWQgb2YganVzdCBzd2FsbG93aW5nIHVwc3RyZWFtJ3Mgc3RyZWFtLXN0YXJ0IGludG8gaXRzCgkgIHBheWxvYWQsIHB1c2ggaXQgYXMgZWxlbWVudHMgZXhwZWN0IGEgc3RyZWFtLXN0YXJ0IGJlZm9yZSBkYXRhCgoyMDE0LTAxLTMwIDIwOjI4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogV2UgZG8gbm90IHN1cHBvcnQgdGhlIFNLSVAgc2VlayBmbGFnIGJ1dCB0aGF0IGlzIG5vdCBhIHByb2JsZW0KCjIwMTQtMDEtMzAgMTA6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ0OGJlZDMgdG8gMWEwN2RhOQoKMjAxNC0wMS0zMCAwMzoyODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogaW1wcm92ZSBwcmV2aWV3IGhhbmRsaW5nIGluIHRlc3RzCgkgIEFsd2F5cyBlcmFzZSB0aGUgcHJldmlldyBpbWFnZSBkYXRhIHRvIGFsbG93IHRoZSBuZXh0IGNoZWNrIGZvcgoJICBpdCB0byBvcGVyYXRlIHByb3Blcmx5CgoyMDE0LTAxLTI5IDIwOjM4OjU3ICswMTAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBBbHdheXMgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgaW4gZ3N0X3VyaV9kb3dubG9hZGVyX2ZldGNoX3VyaV93aXRoX3JhbmdlKCkKCSAgZXZlbiBpZiBkb3dubG9hZGVyLT5wcml2LT51cmlzcmMgaXMgbm90IHNldC4gVGhpcyBhdm9pZHMgZGVhZGxvY2sgdW5kZXIgc29tZQoJICBzb21lIGNvbmRpdGlvbnMgb24gY2FuY2VsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTI3CgoyMDE0LTAxLTI5IDEzOjI1OjM3ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBUaGUgcGx1Z2luIHdvcmtzIHdpdGggMi40LjggdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMyMzAKCjIwMTQtMDEtMjkgMTA6NTA6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogRG9uJ3QgdXNlIGdzdF8gYXMgcHJlZml4IGZvciBwcml2YXRlIHN5bWJvbHMKCSAgT3RoZXJ3aXNlIHRoZXkgZ2V0IGV4cG9zZWQvYWNjZXNzaWJsZSBpbiB0aGUgcmVzdWx0aW5nIC5zbwoJICBBbmQgbWFrZSBjaGVjay1leHBvcnRzIHdpbGwgY29tcGxhaW4KCjIwMTQtMDEtMjcgMjM6NTU6NTcgLTAzMDAgIEFtYXVyeSBNZWRlaXJvcyA8YW1hdXJ5bWVkZWlyb3NAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IEZpeCBmbGFncyBjb21wYXJpc29uIG9wZXJhdG9yIHByZWNlZGVuY2UKCSAgRml4IG9wZXJhdG9yIHByZWNlZGVuY2UsIHNvIHRoZSB3aG9sZSBvcGVyYXRpb24gaXMKCSAgbmVnYXRlZCBpbnN0ZWFkIG9mIG9ubHkgZmxhZ3MgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwOTYKCjIwMTQtMDEtMjYgMTQ6NDI6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkgIG1wZWd0czogaW5zdGFsbCBidXQgbm9kaXN0IGZvciBnZW5lcmF0ZWQgaGVhZGVyCgoyMDE0LTAxLTI1IDE3OjQwOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgaGFuZGxlIEZMVVNISU5HIG9yIE5PVF9MSU5LRUQgYXMgZXJyb3IKCSAgQW5kIGFsc28ganVzdCBzdG9wIHRoZSB0YXNrIGZvciBGTFVTSElORy4KCjIwMTQtMDEtMjQgMjE6NDE6MjUgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IGdvIGludG8gcHVsbCBtb2RlIHdoZW4gdGhlIHNlcXVlbnRpYWwgZmxhZyBpcyBzZXQKCSAgV2hlbiB0aGUgc2NoZWR1bGluZyBxdWVyeSByZXN1bHRzIGhhcyBHU1RfU0NIRURVTElOR19GTEFHX1NFUVVFTlRJQUwgc2V0CgkgIGluIGl0cyBmbGFncyBkb24ndCBnbyBpbnRvIHB1bGwgbW9kZSB0byBwcmV2ZW50IG92ZXItZWFnZXIgc2Vla2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjkzNAoKMjAxNC0wMS0yNCAxMjozNjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogZml4IHRlc3RzIGFmdGVyIGxlYWRpbmcgMHgwMCByZW1vdmFsCgkgIENvbW1pdCA2YWYzODdjZDVhYjJjOTQ2MDI1ZTU0OTk5MDNlNzVlZTg3YjA2M2E5IG1hZGUgaDI2NHBhcnNlCgkgIHN0cmlwIGEgbGVhZGluZyAweDAwIGJ5dGUgZnJvbSBzb21lIG91dHB1dCBzY2VuYXJpb3MuIFRoaXMgYnJva2UKCSAgdGVzdHMgYXMgYnNfdG9fbmFsIHRlc3QgZXhwZWN0cyBvbmUgbW9yZSBieXRlIG9uIHRoZSBvdXRwdXQuCgkgIEZpeCB0aGlzIGJ5IGNvbXBhcmluZyB0aGUgb3V0cHV0IHdpdGggdGhlIGV4cGVjdGVkIHN0cmlwcGVkIHZlcnNpb24sCgkgIHRvby4KCjIwMTQtMDEtMjQgMDE6MDc6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiByZWZhY3RvciBjb21tb24gbmFsIHBhcnNpbmcgdG8gbmFsdXRpbHMKCSAgTW92ZXMgY29tbW9uIGNvZGUgZnJvbSBoMjY0IGFuZCBoMjY1IHRvIGEgc2VwYXJhdGUgZmlsZQoKMjAxNC0wMS0wMyAwOTo0NDoyOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggbXVsdGlwbGUgU0VJIG1lc3NhZ2VzIGluIG9uZSBTRUkgUkJTUCBwYXJzaW5nLgoJICBBbiBTRUkgUkJTUCBjb3VsZCBjb250YWlucyBtb3JlIHRoYW4gb25lIFNFSSBtZXNzYWdlIGFzIHNwZWNpZmllZCBpbgoJICA3LjQuMi4zLjEuCgkgIFRoaXMgY29tbWl0IGNoYW5nZSB0aGUgcGFyc2VyIEFQSTogdGhlIGdzdF9oMjY0X3BhcnNlcl9wYXJzZV9zZWkoKQoJICBmdW5jdGlvbiBub3cgY3JlYXRlIGFuZCBmaWxsIGEgR0FycmF5IGNvbnRhaW5pbmcgR3N0SDI2NFNFSU1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE3MTUKCjIwMTQtMDEtMjIgMTA6MjY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IHJlbW92ZSB0cmFpbGxpbmcgMHgwMCBieXRlcyBhcyB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZW0KCSAgSnVzdCBsaWtlIGgyNjQsIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlIGxhc3QgYnl0ZXMgb2YgYSBOQUwgdG8gYmUgMHgwMC4KCSAgU28gcmVtb3ZlIGl0IGFzIGl0IGlzIHByb2JhYmx5IGp1c3QgcGFkZGluZy4KCSAgVGhpcyBpcyByZWxhdGVkIHRvIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODQKCjIwMTQtMDEtMjAgMTc6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IHJlbW92ZSB0cmFpbGxpbmcgMHgwMCBieXRlcyBhcyB0aGUgc3BlYyBkb2Vzbid0IGFsbG93IHRoZW0KCSAgVGhlIHNwZWMgc3RhdGVzIHRoYXQgdGhlIGxhc3QgYnl0ZSBvZiBhIE5BTCAnc2hhbGwgbm90JyBiZSAweDAwCgkgIGFuZCBpdCBpcyBhbGxvd2VkIGZvciBieXRlLXN0cmVhbSBmb3JtYXQgdG8gYWRkIHBhZGRpbmcgMHgwMCBmb3IKCSAgYWxpZ25tZW50LgoJICBTbyBvdXIgcGFyc2VyIHNob3VsZCBzdHJpcCBhbnkgdHJhaWxsaW5nIDB4MDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODQKCjIwMTQtMDEtMjEgMjM6NDI6NTggKzA5MDAgIEp1c3RpbiBKb3kgPGp1c3Rpbi5qb3kuOXRvNUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGxlYWsgcGFkIG5hbWUgd2hlbiB0cmVhdGluZyBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY5OQoKMjAxNC0wMS0yMSAxMDoyNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IHVwZGF0ZSBsYXN0X3RzIHRvIG11eCBjb3JyZWN0bHkKCSAgV2UgdXNlIGxhc3RfdHMgdG8gZGVjaWRlIHdoYXQgYnVmZmVyIHRvIG11eCBuZXh0IHNvIG1ha2Ugc3VyZSB0aGF0IGl0CgkgIGFsd2F5cyBjb250YWlucyB0aGUgbGFzdCBrbm93biB2YWxpZCB0aW1lc3RhbXAuCgoyMDE0LTAxLTIxIDEwOjU4OjM1ICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEluaXRpYWxpemUgcG9pbnRlciBjb3JyZWN0bHkgdGhhdCBpcyBuZXZlciBhc3NpZ25lZCBidXQgZnJlZWQgaW4gZXJyb3IgY2FzZXMKCSAgRml4ZXMgY3Jhc2ggb24gYnJva2VuIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2NjkKCjIwMTQtMDEtMjEgMDk6NDQ6MDAgKzAxMDAgIEFsZXhleSBDaGVybm92IDw0ZXJub3ZAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRmlyc3QgZGVzdHJveSB0aGUgd2luZG93LCB0aGVuIHVucmVnaXN0ZXIgdGhlIGNsYXNzCgkgIEl0J3MgaW1wb3NzaWJsZSB0byBjcmVhdGUgYW5vdGhlciBwaXBlbGluZSB3aXRoIGQzZHZpZGVvc2luayBhZnRlciBkaXNwb3NpbmcKCSAgdGhlIHByZXZpb3VzIG9uZSBkdWUgdG8gc29tZSBwcm9ibGVtIGluIGQzZHZpZGVvc2luay4gVGhlIG1lc3NhZ2UgaXM6ICJVbmFibGUKCSAgdG8gcmVnaXN0ZXIgRGlyZWN0M0QgaGlkZGVuIHdpbmRvdyBjbGFzcyIuCgkgIEkndmUgZXZhbHVhdGVkIHRoZSBwcm9ibGVtIGFuZCBpdCdzIHRoYXQgVW5yZWdpc3RlckNsYXNzKCkgaW4gd29ya2luZyB0aHJlYWQgaXMKCSAgY2FsbGVkIGJlZm9yZSBEZXN0cm95V2luZG93KCkgYW5kIFVucmVnaXN0ZXJDbGFzcygpIGRvZXMgbm90aGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjYyMgoKMjAxNC0wMS0yMCAxNjoyNTo1MSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IGZpeCB0aW1lc3RhbXAgaGFuZGxpbmcKCSAgSWYgdGhlIGZpcnN0IGJ1ZmZlciB0aGF0IHdlIGhhbmRsZSBmb3IgYSBzdHJlYW0gaGFzIG5vIHRpbWVzdGFtcCwgd2UKCSAgd291bGQgbmV2ZXIgY29uc2lkZXIgdGhpcyBwYWQgYWdhaW4gZm9yIG11eGluZyB3aGljaCBjYXVzZXMgcXVldWVzIHRvCgkgIGZpbGwgdXAgYW5kIHBpcGVsaW5lcyB0byBzdGFsbC4gSW5zdGVhZCwgdHJ5IHRvIG11eCBwYWRzIHdpdGggLTEKCSAgdGltZXN0YW1wcyBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzMwCgoyMDE0LTAxLTIwIDE2OjIzOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogcmV0dXJuIEdTVF9GTE9XX0VPUyB3aGVuIHdlIHB1c2hlZCBFT1MKCSAgUmV0dXJuIEdTVF9GTE9XX0VPUyBmcm9tIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24gd2hlbiB3ZSBwdXNoZWQgRU9TIG9yCgkgIGVsc2UgaXQgc2ltcGx5IGtlZXBzIG9uIGNhbGxpbmcgb3VyIGNvbGxlY3RlZCBmdW5jdGlvbi4KCjIwMTQtMDEtMjAgMTA6Mzg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogQWN0dWFsbHkgdGhlIGVuYy9kZWNiaW5zIGFyZSBub3QgdXNlZCBhbnl3aGVyZSBjdXJyZW50bHkKCSAgQ29kZSBpcyBjb21tZW50ZWQgb3V0LgoKMjAxNC0wMS0yMCAxMDozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogRml4IGJ1aWxkIG9uIGlPUyBhbmQgcHJvYmFibHkgYWxzbyBvbiBPU1gKCSAgVGhlIHZpZGVvIHRvb2xib3ggaXMgbm90IGF2YWlsYWJsZSBvbiBpT1MsIGFuZCBhbHNvIG9uIE9TWAoJICB3ZSBzaG91bGQgcHJvYmFibHkgYnVpbGQgYWxsIHNvdXJjZSBmaWxlcyB0aGF0IGFyZSB1c2VkIGZvcgoJICBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjU5MAoKMjAxNC0wMS0yMCAxNToyMTo0MiArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogVXBkYXRlIGNhcHMgd2hlbiByZWNlaXZlIFZQUy9TUFMvUFBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIyNDAKCjIwMTQtMDEtMjAgMTc6MDM6MDkgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogRml4IHNlZ2ZhdWx0IHdoZW4gcGFyc2luZyBIUkQgcGFyYW1ldGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIyNDAKCjIwMTQtMDEtMTggMTM6NTY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogRG9uJ3Qgc3RhcnQgc2Nhbm5pbmcgZm9yIHRoZSBoZWFkZXIgZnJvbSB0aGUgc3RhcnQgYWdhaW4gZWFjaCB0aW1lCgkgIFRoaXMgd2lsbCBiZSBpbmNyZWRpYmxlIHNsb3cgaWYgdGhlIHVwc3RyZWFtIGJsb2NrIHNpemUgaXMgdmVyeSBzbWFsbC4gSW5zdGVhZAoJICBjb250aW51ZSBzY2FubmluZyBmb3IgdGhlIGhlYWRlciB3aGVyZSB3ZSBwcmV2aW91c2x5IHN0b3BwZWQuCgkgIEZvciB0aGUgc3RhbmRhcmQgZmlsZXNyYyBibG9jay1zaXplIHRoaXMgbWFkZSBkZWNvZGluZyBhIGZpbGUgYWJvdXQKCSAgMyB0aW1lcyBmYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4OTAKCjIwMTQtMDEtMTggMTM6MDY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogVGhpcyBpcyBhIGRlY29kZXIsIG5vdCBhIGRlbXV4ZXIKCSAgRG9uJ3QgY29uZnVzZSBhdXRvcGx1Z2dlcnMhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMTYKCjIwMTQtMDEtMTggMDE6MTk6MzYgKzAyMDAgIEFuZHJleSBVdGtpbiA8YW5kcmV5LmtyaWVnZXIudXRraW5AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRml4IGxlYWsgb2YgUENST2Zmc2V0R3JvdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjQ2MgoKMjAxNC0wMS0xNiAxMjoxODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVtb3ZlIHNvbWUgdXNlbGVzcyBhc3NpZ25tZW50cyBhbmQgc2tpcCB0aGUgY3VycmVudCBwYXJ0IG9mIHRoZSBidWZmZXIgaWYgdGhlIHBhZCBpcyBtdXRlZAoKMjAxNC0wMS0xNiAyMDoxNjo0NyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJICByZXNpbmR2ZDogTWVyZ2UgY2hhbmdlcyBhY3Jvc3MgZnJvbSBtYXN0ZXIgbXBlZ2RlbXV4CgkgIE1lcmdlIHZhcmlvdXMgY2hhbmdlcyBhbmQgZml4ZXMgZnJvbSB0aGUgbWFzdGVyIG1wZWdkZW11eAoJICBQZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmcm9tIHRoZSB3YXkgc3RyZWFtcyBhcmUgb3JnYW5pc2VkLAoJICByZXR1cm4gZmxvdyBjb21iaW5pbmcsIGxhbmd1YWdlIHRhZyBldmVudCBnZW5lcmF0aW9uLAoJICBhZGp1c3RtZW50cyBhbmQgZml4ZXMgaW4gZGVidWcgb3V0cHV0LCBhbmQgdGhpbmdzIGxpa2UgdGhhdC4KCjIwMTQtMDEtMTYgMjA6MTQ6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBNZXJnZSBzb21lIGNoYW5nZXMgZnJvbSB0aGUgcmVzaW5kdmQgY29weQoJICBPbmUgYnVnIGZpeCwgc29tZSBkZWJ1ZyBjaGFuZ2VzIGFuZCBvdGhlciBpbmNvbnNlcXVlbnRpYWwgY2hhbmdlcwoJICBqdXN0IHRvIHJlZHVjZSB0aGUgZGlmZiBiZXR3ZWVuIHRoZSAyIGNvcGllcyBhIGJpdC4KCjIwMTQtMDEtMTUgMjM6MzA6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBhbmQgc2ltcGxpZnkgb3ZlcmxhcCBjYWxjdWxhdGlvbgoKMjAxNC0wMS0xNCAyMzo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogZml4IG1pbm9yIG1lbW9yeSBsZWFrIHdoZW4gY3JlYXRpbmcgdGl0bGUgaW5mbyBtZXNzYWdlCgoyMDEzLTEwLTA5IDE3OjQ5OjA2ICswMjAwICBKb3JnZSBaYXBhdGEgPGpvcmdlbHVpcy56YXBhdGFAZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogQWRkIHRoZSBkaXZ4IHZhcmlhbnQgZm9yIG1wZWc0IHZpZGVvCgkgIExvb2tzIGxpa2UgYWxsIHRoZSBtcGVnNCB2aWRlbyBkZWNvZGVycyBhbHNvIGFjY2VwdCB0aGUgZGl2eAoJICB2YXJpYW50cy4gU28gd2UgYmV0dGVyIGFkZCB0aG9zZSBjYXBzIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTYzCgoyMDE0LTAxLTE0IDE3OjA4OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggKGFnYWluKSBjaGVjayBmb3IgREIgQVBJOiA1LjQgaXMgTm90IFJlY2VudCBFbm91Z2gKCSAgTWF5YmUgdGVzdGluZyB0aGUgdmVyc2lvbiBpcyBjbGVhcmVyLCBidXQgdGVzdGluZyBmb3IgPCA1IGlzIG5vdAoJICBlbm91Z2gsIG15IHZlcnNpb24gaXMgNS40IGFuZCBkb2VzIG5vdCB5ZXQgaGF2ZSB0aG9zZSBuZXcgZW51bXMuCgkgIElmIHlvdSBnaXQgYmxhbWUgdG8gdGhpcyBhbmQgaGF2ZSBhIHZlcnNpb24gPiA1LjQgdGhhdCBkb2VzIG5vdAoJICBlaXRoZXIsIHBsZWFzZSBmZWVsIGZyZWUgdG8gam9pbiBhbG9uZyBhbmQgYnVtcCB0aGUgdmVyc2lvbi4KCjIwMTQtMDEtMTQgMjM6MjE6MjUgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGgyNjVwYXJzZXI6IEZpeCBzZWdmYXVsdCB3aGVuIHBhcnNpbmcgVlBTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwODEKCjIwMTQtMDEtMTQgMTA6Mzg6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBzZXQgbWF4aW11bSBmZWF0dXJlIHNpemUgdG8gMHgwCgkgIFByZXZpb3VzbHkgZmFjZXMgd291bGQgb25seSBiZSBkZXRlY3RlZCBpZiB0aGV5IHdlcmUgYXQgbGVhc3QgMzB4MzAgcGl4ZWxzCgkgIGxhcmdlIGFuZCBhdCBtb3N0IDMyeDMyIHBpeGVscy4gV2Uga2VlcCB0aGUgbWluaW11bSBzZXR0aW5nIChtYXliZSBuZWVkcwoJICBhIHByb3BlcnR5IGFzIGluIGZhY2VkZXRlY3QpIGJ1dCBkaXNhYmxlIHRoZSBtYXhpbXVtIGZlYXR1cmUgc2l6ZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTgKCjIwMTQtMDEtMTQgMDE6MDY6MDIgLTA1MDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGNpdGEudXRvcm9udG8uY2E+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogc2V0IG1heGltdW0gZmVhdHVyZSBzaXplIHRvIDB4MAoJICBUaGlzIGRpc2FibGVzIHRoZSAibWF4IGZlYXR1cmUgc2l6ZSIgZmVhdHVyZS4gVGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbgoJICBpcyB0b3RhbGx5IGJ1c3RlZDogVGhlIG1heCBmZWF0dXJlIHNpemUgaXMgaGFyZC1jb2RlZCB0byAyIHBpeGVscyBtb3JlCgkgIHRoYW4gdGhlIHVzZXItc3VwcGxpZWQgbWluIGZlYXR1cmUgc2l6ZSB3aGljaCBwcmV0dHkgbXVjaCBtZWFucyB5b3UgbmVlZAoJICB0byBndWVzcyB0aGUgc2l6ZSBvZiB0aGUgcGVyc29uJ3MgZmFjZSB0byB3aXRoaW4gYSBmZXcgcGl4ZWxzIHRvIGdldCB0aGUKCSAgY29kZSB0byBmaW5kIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTU4CgoyMDE0LTAxLTE0IDAyOjE5OjEyICswMjAwICBBbmRyZXkgVXRraW4gPGFuZHJleS5rcmllZ2VyLnV0a2luQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBtZW1sZWFrIG9mIFBDUk9mZnNldEN1cnJlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE0NQoKMjAxNC0wMS0xMyAyMTo1MDoxNiArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBwcmV2ZW50IHRvIG92ZXJydW4gY2hyb21hX3dlaWdodF9sMF9mbGFnCgkgIFRoZSBpbmRleCBvZiBlbGVtZW50cyBjYW5ub3QgZXhjZWVkIG9yIGVxdWFsIHRvIHRoZSBzaXplIG9mIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTAxCgoyMDE0LTAxLTEzIDEwOjAxOjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCBidWZmZXIgb2Zmc2V0IHRvIGJ1ZmZlciB0aW1lc3RhbXAKCSAgb2dnbXV4IGV4cGVjdHMgdGhpcyB0byBvcmRlciBpbmNvbWluZyBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIwNzgKCjIwMTQtMDEtMTAgMDg6NTg6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR2YjogVXNlIERWQl9BUElfVkVSU0lPTiB0byBrbm93IGlmIHdlIGhhdmUgcmVjZW50IGVub3VnaCB2ZXJzaW9uCgkgIFdlIGVuZCB1cCB3aXRoIHRoZSBzYW1lIGVuZC1yZXN1bHQgYnV0IGl0J3MgbW9yZSBjb21wcmVoZW5zaWJsZQoKMjAxNC0wMS0wOSAxNjozODoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3IgZ29vZCBlbm91Z2ggZHZiIGtlcm5lbCBoZWFkZXJzCgkgIFJlY2VudCBjaGFuZ2VzIGFyZSB1c2luZyBuZXcgZHZiIGFwaS4gRG9uJ3QgYnVpbHQgdGhlIHBsdWdpbiwgaWYgd2UgY2FuJ3QuCgkgIEZpeGVzICM3MjE4NjkKCjIwMTQtMDEtMDkgMDg6MTg6MDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBtaXNjIGNvZGUgY2xlYW51cHMKCSAgRml4IHRoZSBsYXVuY2ggZXhhbXBsZXMgZm9yIDEuMC4gVHVybiBtb3JlIGxvZ2dpbmcgaW50byBfT0JKRUNUIHZhcmlhbnRzLgoKMjAxNC0wMS0wOSAwOToxMzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUKCSAgSW5zdGVhZCBvZiB1c2luZyAyIGluZGV4ZXMgdGhhdCB3ZXJlIGFjdHVhbGx5IHRoZSBzYW1lLCB1c2Ugb25seQoJICBvbmUuIFNhdmVzIGEgdmFyaWFibGUuCgoyMDE0LTAxLTA5IDA5OjExOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggc2Vla2luZyB3aGVuIHRoZSBtcGQgdXNlcyBhIHNlZ21lbnQgdGVtcGxhdGUKCSAgUmVtb3ZlIHRoZSBkYXNoZGVtdXggc2Vla2luZyBmdW5jdGlvbiB0byB1c2UgdGhlIG9uZSBpbXBsZW1lbnRlZAoJICBpbiBtcGRwYXJzZXIgYXMgaXQgaXMgbW9yZSBjb21wbGV0ZS4gVGhpcyBhbHNvIG1ha2VzIGRhc2hkZW11eCBub3QKCSAgY3Jhc2ggd2hlbiBzZWVraW5nIG9uIHN0cmVhbXMgdGhhdCB1c2Ugc2VnbWVudCB0ZW1wbGF0ZXMuCgoyMDE0LTAxLTA4IDE2OjMzOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG8gbm90IGxvc2UgRElTQ09OVCBmbGFnIGlmIGJ1ZmZlciBpc24ndCBwdXNoZWQKCSAgbXBlZzR2aWRlb3BhcnNlIG1pZ2h0IG5vdCBwdXNoIGJ1ZmZlcnMgd2hpbGUgcGFyc2luZy4gSWYgdGhvc2UgYnVmZmVycwoJICBjb250YWluIHRoZSBESVNDT05UIGZsYWcsIGl0IGdldHMgbG9zdCBhbmQgZG93bnN0cmVhbSB3b24ndCBnZXQgYW55CgkgIGJ1ZmZlciB3aXRoIHRoZSBmbGFnLgoJICBGaXggaXQgYnkgYWRkaW5nIHRoZSBESVNDT05UIHRvIHRoZSBuZXh0IHB1c2hlZCBidWZmZXIuCgkgIFRoaXMgbWFrZXMgYmFja3dhcmRzIHBsYXliYWNrIHdvcmsuCgoyMDE0LTAxLTA2IDIyOjE1OjI0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHNraXAgJ1wwJyBzdHJpbmdzIGZvciBtZXRhZGF0YQoJICBsaWJzbmRmaWxlIGRvZXMgbm90IGZpbHRlciBlbXB0eSBzdHJpbmdzLiBXZSBnZXQgYSB3YXJuaW5nIGZyb20gZ3N0cmVhbWVyIHdoZW4KCSAgc2V0dGluZyB0aGlzIGFzIGEgdGFnLgoKMjAxNC0wMS0wNiAxNToxNToyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBicmVhayBsb25nIG1ldGhvZAoJICBFeHRyYWN0IHRhZ2xpc3QgY3JlYXRpb24gaW50byBzZXBhcmF0ZSBmdW50aW9uLgoKMjAxNC0wMS0wNiAxNTowMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkgIG1wZWd0czogbWFrZSBoZWFkZXJzIHVzYWJsZSB3aXRoIGMrKyBjb21waWxlcgoJICBBZGQgR19CRUdJTl9ERUNMUyBHX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMTM2CgoyMDE0LTAxLTA2IDE1OjAyOjMwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IHJlbW92ZSBsZWZ0IG92ZXIgcHJvcGVydHktaWQgZW51bQoKMjAxNC0wMS0wNiAxNDo1Mjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogQWxsb3dzIGh2YzEgdmVyc2lvbiAwIGFuZCBmaXggcmVhZGluZyBvZiBOQUwgY291bnQgaW4gY29kZWNfZGF0YQoKMjAxNC0wMS0wNiAxNDo0ODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgQW5kIGRvbid0IGFjY2VzcyBpbnZhbGlkIG1lbW9yeQoKMjAxNC0wMS0wNiAxNDo0Nzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBGaXggZGVidWcgb3V0cHV0CgoyMDE0LTAxLTA2IDEzOjUxOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgSEVWQyAvIGgyNjUgc3VwcG9ydAoKMjAxNC0wMS0wNSAyMzo0NDozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHR5cG8gZml4IGluIGNvbW1lbnQKCjIwMTQtMDEtMDUgMjM6NDM6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogdGhlIHJlYWQgZnVuY3Rpb25zIGFscmVhZHkgcmV0dXJuIGZyYW1lc19yZWFkCgkgIEZpeGVzIGNob3BweSBvdXRwdXQuCgoyMDE0LTAxLTA1IDIzOjQxOjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgc25kZmlsZTogZW5hYmxlIHJmNjQgZm9ybWF0CgoyMDE0LTAxLTAyIDIxOjAyOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGFkZCBkYXRlIHRvIHRhZ2xpc3QKCjIwMTQtMDEtMDMgMTE6MTg6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogRG9jdW1lbnQgdGhhdCBzb2NrZXQtcGF0aCBtYXkgY2hhbmdlCgoyMDE0LTAxLTAzIDExOjE2OjQyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IENoYW5nZSBkZWZhdWx0IHNobSBzaXplIHRvIDY0IE1pQgoJICBUaGUgb3JpZ2luYWwgc2l6ZSBvZiAyNTZrIHdhcyB0b28gc21hbGwgZm9yIGFueXRoaW5nIHdoZXJlCgkgIG9uZSB3b3VsZCB3YW50IHRvIHVzZSBzaG0uIElmIHRoZSBidWZmZXIncyBzaXplIG5lZWRzIHRvIGJlIGxpbWl0LCBpdCBpcwoJICBiZXR0ZXIgdG8gdXNlIGJ1ZmZlci10aW1lIGluIG1vc3QgY2FzZXMgYW55d2F5LgoKMjAxMy0xMC0xMCAxODoyNTo0NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBBZGQgZHZiLXMyLCBkdmItdDIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE0CgoyMDEzLTEwLTEwIDE4OjIzOjIwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IENoYW5nZSBmcm9tIGRlcHJlY2F0ZWQgZnJvbnRlbmQgdHlwZSBmaWVsZCB0byBEVFZfRU5VTV9ERUxTWVMKCSAgLWFkZCBkZWxzeXMgcHJvcGVydHkKCSAgLWFkZCBkZWxpdmVyeSBzeXN0ZW0gY2FwYWJpbGl0eSB0byB0aGUgZ3N0cmVhbWVyIGFkYXB0ZXIgc3RydWN0dXJlCgkgIC1yZWFkeSBmb3IgYWRkIG5ldyBkZWxpdmVyeSBzeXN0ZW1zCgkgIEFwcGxpY2F0aW9uIG11c3QgYXNrIHRoZSBhZGFwdGVyIHN0cnVjdHVyZSB0byBrbm93IHdoaWNoIGRlbGl2ZXJ5IHN5c3RlbXMgYXJlIGF2YWlibGUuCgkgIFRoZSBwcm9wZXJ0eSBkZWxzeXMgbXVzdCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTQtMDEtMDMgMDk6NTk6MzQgKzAxMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBGaXggR3N0Q2FwcyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMzgyCgoyMDEzLTEyLTMxIDIyOjM4OjAzICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEyOTMKCjIwMTMtMTItMzEgMjM6MTg6NTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIG5ldyBjb2xvciBmb3JtYXQsIGFuZCBlbmhhbmNlIGRlYnVnIG91dHB1dAoJICBBZGQgYSBuZXcgY29sb3IgZm9ybWF0IHNlZW4gb24gbXkgR2FsYXh5IFMzCgkgIChPTVhfU0VDX0NPTE9SX0Zvcm1hdE5WMTJUaWxlZCA9IDB4N2ZjMDAwMDIpIHRvIHRoZSB0YWJsZSwKCSAgYnV0IGRvbid0IGFjdHVhbGx5IGltcGxlbWVudCBpdCAtIHRoZSBkZWNvZGVyIGRvZXNuJ3QgY2hvb3NlIGl0LgoJICBSZW1vdmUgYW4gYXNzZXJ0IHRoYXQgbWFrZXMgdGhlIHBsdWdpbiBmYWlsIG5vaXNpbHkgYW5kIHRha2UgdGhlIGFwcCBkb3duCgkgIGlmIGl0IHNlZXMgYSBjb2xvciBmb3JtYXQgaXQgZG9lc24ndCByZWNvZ25pc2UgKGp1c3Qgc2tpcCB0aGUgY29kZWMgaW5zdGVhZCkKCSAgTW9kaWZ5IHRoZSBkZWJ1ZyBvdXRwdXQgd2hlbiBwbHVnaW4gc2Nhbm5pbmcgdG8gcHJpbnQgY29sb3IgZm9ybWF0IGluZm8gdG8KCSAgbWFrZSB0aGlzIHNvcnQgb2YgdGhpbmcgZWFzaWVyIGluIHRoZSBmdXR1cmUuCgoyMDEzLTEyLTE5IDIzOjAwOjEyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRG9uJ3QgZGlzcnVwdCBidWZmZXIgc3RhdGUgaW4gdGhlIGNsaXAgZnVuY3Rpb24KCSAgQ29sbGVjdHBhZHMgYXNzdW1lcyB0aGF0IGl0IGNhbiBwYXNzIGFueSBidWZmZXIgdG8gdGhlIGNsaXAgZnVuY3Rpb24KCSAgZm9yIGFkanVzdG1lbnQsIHNvbWUgb2Ygd2hpY2ggYXJlIGFydGlmaWNpYWxseSBpbmplY3RlZCAtIHNvIGRvbid0CgkgIGFkanVzdCBnbG9iYWwgdGltZXN0YW1wIHRyYWNraW5nIHRoZXJlLiBJbnN0ZWFkLCBvbmx5IGFkanVzdCB0aGUKCSAgYnVmZmVyIHRpbWVzdGFtcHMgYW5kIHVzZSB0aGVtIGRpcmVjdGx5IGluIHRoZSBjb2xsZWN0aW9uIGZ1bmN0aW9uLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk4NzQ4CgoyMDEzLTEyLTMwIDE1OjQ5OjU3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc25kZmlsZTogZW1pdCBtaWRpLWJhc2Utbm90ZSB0YWcKCSAgUXVlcnkgaW5zdHJ1bWVudCBkYXRhLiBVc2UgYm90aCAnbG9vcF9pbmZvJyBhbmQgJ2luc3RydW1lbnQnIHRvIGluZm9ybSBhYm91dCB0aGUKCSAgYmFzZW5vdGUuCgoyMDEzLTEyLTMwIDEzOjI4OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogUmVtb3ZlIHVubmVlZGVkIGNhbGwKCSAgJ3BhcnNlJyBpcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IHRoZSBwYXJlbnQgdmFyaWFibGUKCjIwMTMtMTItMjkgMTM6MzE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogVGhlIHBsdWdpbiB3b3JrcyB3aXRoIDIuNC43IHRvbwoJICBSZXBvcnRlZCBieSBrd20gb24gSVJDLgoKMjAxMy0xMi0yOCAxMjozOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IERvbid0IHNlbmQgY2FwcyBpbiBHc3RCYXNlUGFyc2U6OnN0YXJ0KCkKCSAgVGhpcyBpcyB0b28gZWFybHkgYW5kIHdpbGwgY29uZnVzZSB0aGUgZXZlbnQgb3JkZXIuIFRoZSBvdGhlcgoJICBjb2RlIHRoYXQgc2V0cyB0aGUgY2FwcyBpcyBhdCB0aGUgcmlnaHQgcG9zaXRpb24gYW5kIGRvZXMgaXQKCSAgcHJvcGVybHkgYWxyZWFkeS4KCjIwMTMtMTItMjQgMjM6MTU6MjggKzAwMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IGZpeCBpbnB1dCBkZXF1ZXVlIGZvciBvZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTAyNwoKMjAxMy0xMi0yNyAxNDoyOTo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGluY3JlYXNlIG1heCBwYXlsb2FkIHNpemUgdG8gNDAwMCBieXRlcwoJICAxMjc1IGlzIHRoZSBtYXhpbXVtIHNpemUgb2YgYSBmcmFtZSwgYnV0IHRoZSBlbmNvZGVyIG1heSByZXR1cm4KCSAgdXAgdG8gMyBmcmFtZXMsIGFuZCB3ZSBuZWVkIGEgZmV3IGV4dHJhIGJ5dGVzIGZvciBUT0MsIGV0Yy4gV2UKCSAgdXNlIDQwMDAsIHdoaWNoIGlzIGEgYml0IG1vcmUsIGFuZCBzdWdnZXN0ZWQgaW4gdGhlIGxpYm9wdXMgZG9jcy4KCjIwMTMtMTItMjcgMTA6MjU6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IGZpeCBnLWkgYW5ub3RhdGlvbnMgYW5kIGd0ay1kb2MgbWFya3VwCgoyMDEzLTEyLTIwIDEwOjA1OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgc3RyZWFtIGxvb3AgdGhyZWFkCgkgIERvd25sb2FkIGFuZCBwdXNoIGZyb20gdGhlIHNhbWUgdGFzaywgbWFrZXMgY29kZSBhIGxvdCBzaW1wbGVyCgkgIHRvIG1haW50YWluLiBBbHNvIHB1c2hpbmcgZnJvbSBzZXBhcmF0ZSB0aHJlYWRzIGF2b2lkcyBkZWFkbG9ja2luZwoJICB3aGVuIGdzdF9wYWRfcHVzaCBibG9ja3MgZHVlIHRvIGRvd25zdHJlYW0gcXVldWVzIGJlaW5nIGZ1bGwuCgoyMDEzLTEyLTIwIDE5OjQyOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZml4IGRlYWRsb2NrIG5lYXIgRU9TCgkgIEEgZGVhZGxvY2sgY2FuIGhhcHBlbiB3aGVuIHRoZSBzb3VyY2Ugc2VuZHMgRU9TIHdoZW4KCSAgYmVpbmcgcHV0IHRvIE5VTEwgYXMgdGhlIG9iamVjdCBsb2NrIGlzIGJlaW5nIGhlbGQgYnkgdGhlCgkgIHRocmVhZCB0aGF0IHNldHMgdGhlIGVsZW1lbnQgdG8gTlVMTCBhbmQgaXMgbmVlZGVkIGJ5CgkgIHRoZSBldmVudCBoYW5kbGVyLgoKMjAxMy0xMi0yMCAxOTozOToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZGV0ZWN0IEVPUyB3aGVuIHNlZ21lbnRzIGFyZSBnZW5lcmF0ZWQgYnkgdGVtcGxhdGUKCSAgVXNlIHRoZSBQZXJpb2QgZHVyYXRpb24gZG8ga25vdyB3aGVuIHRvIGVuZCB0aGUgc3RyZWFtCgoyMDEzLTEyLTEzIDE3OjI2OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWNjZXNzIGJ1ZmZlciBhZnRlciBsb3NpbmcgdGhlIHJlZgoJICBGb3Igb2J2aW91cyByZWFzb25zCgoyMDEzLTEyLTEzIDE3OjI1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB1c2UgYSBzZXBhcmF0ZSBHc3RVcmlEb3dubG9hZGVyIHBlciBzdHJlYW0KCSAgQXZvaWRzIG9uZSBkb3dubG9hZCBoYXZpbmcgdG8gd2FpdCBmb3IgYW5vdGhlciB0byBmaW5pc2gKCSAgYmVmb3JlIHN0YXJ0aW5nCgoyMDEzLTEyLTA5IDEzOjU1OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzdG9yZSBHc3RBY3RpdmVTdHJlYW0gdG8gYXZvaWQgZ2V0dGluZyBpdCBldmVyeSB0aW1lCgkgIEdzdEFjdGl2ZVN0cmVhbSBpcyB1c2VkIGV2ZXJ5d2hlcmUgdG8gb3BlcmF0ZSBvbiB0aGUgTVBEIGNsaWVudCwKCSAgYmV0dGVyIHN0b3JlIGl0IGluIHRoZSBHc3REYXNoRGVtdXhTdHJlYW0gdG8gYXZvaWQgZ2V0dGluZyBpdAoJICBldmVyeXRpbWUKCjIwMTMtMTItMDkgMTM6MzM6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHNpbXBsaWZ5IGxvY2tpbmcgZm9yIHN0cmVhbXMKCSAgVXNlIGEgc2luZ2xlIGxvY2sgZm9yIGFsbCBzdHJlYW1zIGluc3RlYWQgb2YgaGF2aW5nIHNlcGFyYXRlIGxvY2tzLgoJICBUaGlzIG1ha2VzIG1haW50ZW5hbmNlIGVhc2llciBhbmQgYXQgbW9zdCBwb2ludHMgd2Ugd291bGQgbmVlZAoJICBhIHNpbmdsZSBsb2NrIGJlZm9yZSBpdGVyYXRpbmcgb24gYWxsIHN0cmVhbXMgZGF0YS4gU28gbm90IG11Y2gKCSAgaXMgZ2FpbmVkIGZyb20gaW5kaXZpZHVhbCBsb2Nrcy4KCjIwMTMtMTItMDkgMTE6Mjg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG11bHRpcGxlIHBlcmlvZCBtcGQgcGxheWJhY2sKCSAgTWFrZSBkYXNoIHBsYXlsaXN0cyB3aXRoIG11bHRpcGxlIHBlcmlvZHMgd29yayBhZ2FpbiBieSB3YWl0aW5nCgkgIHRvIHN3aXRjaCB0aGUgcGVyaW9kcyB3aGVuIGFsbCBzdHJlYW1zIGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mCgkgIHRoZSBjdXJyZW50IHBlcmlvZC4gVGhlIHN0cmVhbV9sb29wIGlzIHJlc3BvbnNpYmxlIGZvciBhZHZhbmNpbmcKCSAgdGhlIHBlcmlvZCwgYnV0IHRoZSBkb3dubG9hZCBsb29wcyB3aWxsIGFscmVhZHkgc3RhcnQgZG93bmxvYWRpbmcKCSAgZGF0YSBmb3IgdGhlIG5leHQgcGVyaW9kIGFzIHNvb24gYXMgcG9zc2libGUuCgoyMDEzLTEyLTA1IDAyOjUzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFkZCBjb21iaW5lIGZsb3dzIGZ1bmN0aW9uCgkgIFVzZSBhIGZsb3cgY29tYmluYXRpb24gZnVuY3Rpb24gdG8gZGVjaWRlIHRoZSByZXN1bHQgZnJvbSB0aGUKCSAgc3RyZWFtX2xvb3AKCjIwMTMtMTItMDQgMTE6MzA6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBtdWx0aXBsZSBsYW5ndWFnZXMKCSAgSGFuZGxlIG11bHRpcGxlIGxhbmd1YWdlcyBieSB1c2luZyB0aGUgbm90LWxpbmtlZCByZXR1cm4gdG8gc3RvcAoJICB0aGUgZG93bmxvYWQgdGFzayBmb3IgdGhhdCBzdHJlYW0uIEl0IGNhbiBiZSByZWFjdGl2YXRlZCB3aGVuCgkgIGEgcmVjb25maWd1cmUgZXZlbnQgaXMgcmVjZWl2ZWQuIFN0b3BwaW5nIHRoZSB1bnVzZWQgc3RyZWFtcyBpcwoJICByZWxldmFudCB0byBzYXZlIG5ldHdvcmsgYmFuZHdpZHRoCgoyMDEzLTEyLTAzIDE2OjE2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBVc2UgMSBkb3dubG9hZCB0YXNrIHBlciBzdHJlYW0KCSAgSW5zdGVhZCBvZiBoYXZpbmcgYSBzaW5nbGUgZG93bmxvYWQgdGFzayBmb3IgYWxsIHN0cmVhbXMsIHRoaXMKCSAgY29tbWl0IG1ha2VzIGVhY2ggc3RyZWFtIGhhdmUgaXRzIG93biBkb3dubG9hZCBsb29wLCBhbGxvd2luZwoJICBwYXJhbGxlbCBkb3dubG9hZCBvZiBmcmFnbWVudHMuCgoyMDEzLTEyLTAzIDAwOjEyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBmcmFnbWVudCBmZXRjaGluZyBpbnRvIHNtYWxsZXIgZnVuY3Rpb25zCgkgIE1ha2VzIGl0IGVhc2llciB0byBtYWludGFpbiBhbmQgZXh0ZW5kLiBUaGlzIGlzIGEgZmlyc3Qgc3RlcCBpbnRvCgkgIGFkZGluZyBtdWx0aSBsYW5ndWFnZSBzdXBwb3J0IHRvIGRhc2hkZW11eAoKMjAxMy0xMi0wMiAxNzo0MTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgTG90cyBvZiBpbmRlbnRhdGlvbiBpc3N1ZXMgbWFraW5nIGl0IHZlcnkgYW5ub3lpbmcgdG8gY29tbWl0CgkgIGJlY2F1c2Ugb2YgdGhlIGluZGVudCBob29rLiBGaXggdGhpcyBmb3Igb25jZS4KCjIwMTMtMTItMDIgMTc6MzE6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBleHBvc2UgYWxsIHN0cmVhbXMKCSAgYWx3YXlzIGV4cG9zZSBhbGwgc3RyZWFtcyBpbnN0ZWFkIG9mIG9ubHkgZXhwb3Npbmcgb25lIG9mIGVhY2ggdHlwZS4KCSAgVGhpcyBpcyBtb3JlIGFsaWduZWQgd2l0aCBnc3RyZWFtZXIncyB3YXkgb2Ygd29ya2luZy4gQWxsb3dzIHRoZSB1c2VyCgkgIHRvIHNlbGVjdCB0aGUgc3RyZWFtIHRoYXQgaXQgd2FudHMgdG8gdXNlIGJ5IGxpbmtpbmcgaXRzIHBhZCBhbmQgbGVhdmluZwoJICB0aGUgdW51c2VkIG9uZXMgYXMgdW5saW5rZWQuCgoyMDEzLTEyLTI0IDExOjUxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBjbGVhbiB1cCByZW5kZXJidWZmZXJzIGFuZCBFQUdMIGNvbnRleHQKCjIwMTMtMTItMjMgMTU6MzM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IFByb3Blcmx5IHNldCBvdXRwdXQgZm9ybWF0CgkgIE90aGVyd2lzZSB0aGlzIHdpbGwganVzdCBlcnJvciBvdXQgaWYgd2Ugb25seSBzZXQgY2FwcyBvbiB0aGUgc3JjcGFkLgoKMjAxMy0xMi0yMiAyMjozMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGJlZGFhMCB0byBkNDhiZWQzCgoyMDEzLTEyLTIyIDIxOjU2OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBzZXQgZ2V0dGV4dCBkb21haW4gaW4gTWFrZXZhcnMgc28gd2UgZG9uJ3QgaGF2ZSB0byBwYXRjaCB0aGUgZ2VuZXJhdGVkIE1ha2VmaWxlLmluLmluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTUKCjIwMTMtMTItMjIgMTc6NDY6NDAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgdGhlIGNvcnJlY3Qgc3RyaWRlIGluIHRoZSB2aWRlbyBtZXRhCgoyMDEzLTEyLTIyIDE3OjQ0OjAxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBmaXggYWFjIGRlY29kaW5nIG9uIE1hdmVyaWNrcwoKMjAxMy0xMi0yMCAxODoxMjo1MyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHNtYWxsIHNlZWtpbmcgY29kZSByZXNodWZmbGUKCSAgUHV0IHRoZSBjb2RlIHRoYXQgY2hlY2tzIHN0b3AgdmFsdWVzIHRvZ2V0aGVyLiBEb24ndCBjbGFtcCBhIGN1ciB2YWx1ZSBvZiAtMSB0byAwIChzaG91bGQgbm90IGhhcHBlbiByaWdodCBub3cpLgoKMjAxMy0xMi0yMCAxODoxMDoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBtYWtlIF9zdG9wKCkgbm9uIGZhdGFsIHdoZW4gd2UgaGF2ZSBhbiBlcnJvciBhbHJlYWR5CgkgIEhhdmluZyBubyBvcGVuIGZpbGUgaW4gX3N0b3AoKSBpcyBva2F5LiBKdXN0IHJlc2V0IHN0YXRlLgoKMjAxMy0xMi0yMCAxODowODozMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNmZGVjOiBhZGQgZXZlbnQgZnVuY3Rpb24gYW5kIHNlZWtpbmcgc3VwcG9ydAoKMjAxMy0xMi0xOCAwODoxMjowNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBhZGQgdGFnbGlzdCBzdXBwb3J0CgkgIE1hcCB0aGUgbWV0YWRhdGEgc3RyaW5ncyBhbmQgYSBidW5jaCBvZiBpbmZvLWZpZWxkcyB0byBHU3RyZWFtZXIgdGFncy4KCjIwMTMtMTItMTcgMjI6MjU6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzZmRlYzogYWRkIHF1ZXJ5IGltcGxlbWVudGF0aW9uIGZvciBwb3NpdGlvbiBhbmQgZHVyYXRpb24KCjIwMTMtMTItMTcgMTc6NTY6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5oOgoJICBzbmRmaWxlOiByZXdyaXRlIHNuZGZpbGUgZm9yIDEuMAoJICBBZGQgYSBzZmRlYyBmb3IgYSBzdGFydC4gSW5zdGVhZCBvZiBhIHNvdXJjZSBwbHVnaW4sIHRoaXMgaXMgYSBkZW11eGVyL2RlY29kZXIgY29tYmluYXRpb24uIFRoaXMgbWFrZXMgaXQgd29yayB3aXRoIGF1dG8tcGx1Z2dpbmcuCgoyMDEzLTEyLTIwIDAwOjM5OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVwZGF0aW5nIGRvY3MgZXhwbGFpbmluZyBob3cgaXQgd29ya3MKCSAgbXNzZGVtdXggY2hhbmdlZCBhIGxvdCBhbmQgdGhlIGRvY3Mgd2VyZSBub3QgY29ycmVjdCBhbnltb3JlLgoJICBBbHNvIGFkZHMgdGhlICdBZGFwdGl2ZScgY2F0ZWdvcnkgdG8gaXRzIGRldGFpbHMKCjIwMTMtMTItMTkgMTQ6MzA6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHB1c2ggZXZlbnQgaG9sZGluZyBvYmplY3QgbG9jawoJICBDYW4gbGVhZCB0byBkZWFkbG9ja3MgYXMgdGhlIHB1c2ggbWlnaHQgYmxvY2sgZG93bnN0cmVhbSBpbgoJICBzZXJpYWxpemVkIGV2ZW50IGNhc2VzLgoKMjAxMy0xMi0xOSAxNDoyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBsb2NrIGFyb3VuZCAnY2FuY2VsbGVkJyBmbGFnCgkgIFByZXZlbnRzIHJhY2UgY29uZGl0aW9ucyB3aGVuIHBpcGVsaW5lIGlzIHNlZWtpbmcgbmVhciBlb3MKCjIwMTMtMTItMTkgMjE6NTk6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFsc28gcmVzeW5jIHRpbWVzdGFtcHMgb24gdGhlIFJFU1lOQyBmbGFnCgoyMDEzLTEyLTE5IDIxOjM2OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBzZXQgdGhlIEVBR0xDb250ZXh0IG9mIHRoZSBtYWluIHRocmVhZCBhbmQgZG9uJ3QgcmV1c2UgaXQgZWl0aGVyCgkgIC4uLiBpbnN0ZWFkIGNyZWF0ZSBhIG5ldyBjb250ZXh0IGZvciBldmVyeSBzaW5rIGluc3RhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDIxCgoyMDEzLTEyLTE5IDA4OjU3OjQxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IGZpeCBmb3IgcGxhbmFyIGZvcm1hdHMKCjIwMTMtMTItMTkgMDc6NTQ6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbW92ZSBzaWxseSBzdHJpZGUgcmVxdWlyZW1lbnQKCSAgVGhpcyBpcyBsZWdhY3kgZnJvbSB0aGUgMC4xMCB0aW1lcywgYW5kIGl0IGlzbid0IGNsZWFyIGhvdyBpdCB3YXMgdXNlZnVsIGJhY2sKCSAgdGhlbiBhbHNvLicKCjIwMTMtMTItMTkgMTE6MTE6MjggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJICBkaXJlY3RmYjogQWRkIGhhY2sgdG8gZml4IGNvbXBpbGUgd2l0aCBicm9rZW4gRGlyZWN0RkIgZGVmaW5lCgkgIENvbXBpbGF0aW9uIGJyZWFrcyBiZWNhdXNlIHNvbWUgdmVyc2lvbnMgb2YgRGlyZWN0RkIgcmVkZWZpbmUKCSAgX19ub19pbnN0cnVtZW50X2Z1bmN0aW9uX18sIHdoaWNoIGlzIHVzZWQgaW4gdGhlIEdfR05VQ19OT19JTlNUUlVNRU5UCgkgIG1hY3JvLgoKMjAxMy0xMi0xNyAxNzo1NTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc2VnZmF1bHQgd2hlbiB0cnlpbmcgdG8gYWNjZXNzIGNvZGVjX2RhdGEKCSAgQ2hlY2sgaWYgY29kZWNfZGF0YSB3YXMgb2J0YWluZWQgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQgdG8KCSAgcHJldmVudCBhIHNlZ2ZhdWx0CgoyMDEzLTEyLTE3IDE3OjU0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsc28gZ2VuZXJhdGUgY2FwcyBmcm9tIGF1ZGlvdGFnIGF0dHJpYnV0ZQoJICBTb21lIGF1ZGlvIHdpbGwgaGF2ZSBpdHMgYXVkaW8gZm9ybWF0IGRlZmluZWQgYnkgdGhlIEF1ZGlvVGFnCgkgIGluc3RlYWQgb2YgdGhlIEZvdXJjYy4gRmFsbGJhY2sgdG8gdXNpbmcgQXVkaW9UYWcgaWYgRm91cmNjCgkgIGlzbid0IGF2YWlsYWJsZQoKMjAxMy0xMi0xNyAxNjozMTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBtYWtlIHN1cmUgc3RyZWFtcyBzdG9wIHByb3Blcmx5IG9uIGNhbmNlbGxlZAoJICBzcGVjaWFsbHkgd2hlbiB0aGUgZ3N0X3Rhc2tfam9pbiBpcyB3YWl0aW5nIGZvciB0aGUgdGFzawoJICB0byBnbyBzdG9wIGFuZCB0aGUgdGFzayBpdHNlbGYgc2V0cyBpdHMgYmFjayB0byBwYXVzZWQsIGNhdXNpbmcKCSAgYSBkZWFkbG9jayBvbiBleGl0LgoKMjAxMy0xMi0xNyAxMzoxNjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHRyYWNrIHNlZ21lbnRzIHBlciBzdHJlYW0KCSAgQXMgc3RyZWFtcyBub3cgZmxvdyBpbmRlcGVuZGVudGx5LCB0aGUgR3N0U2VnbWVudCBuZWVkcyB0byBiZSBwdXQKCSAgb24gZWFjaCBzdHJlYW0gc28gdGhleSBjYW4gdHJhY2sgdGhlIHBvc2l0aW9uIG9mIGVhY2ggb25lIGNvcnJlY3RseQoJICBpbnN0ZWFkIG9mIGJlaW5nIG1peGVkIGluIGEgc2luZ2xlIHNlZ21lbnQKCjIwMTMtMTEtMTQgMTU6MjM6NDIgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcHVzaCBsYW5ndWFnZSBjb2RlIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzU4CgoyMDEzLTExLTE0IDE1OjE0OjE4ICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NtYW5pZmVzdDogc3RvcmUgdGhlIGxhbmd1YWdlIG9mIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjM1OAoKMjAxMy0xMi0xNiAxNjoxNDoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSB0aGUgc3RyZWFtIGxvb3AgdGFzawoJICBEb3dubG9hZCBhbmQgcHVzaCBmcm9tIHRoZSBzYW1lIHRhc2ssIG1ha2VzIGNvZGUgYSBsb3Qgc2ltcGxlcgoJICB0byBtYWludGFpbi4gQWxzbyBwdXNoaW5nIGZyb20gc2VwYXJhdGUgdGhyZWFkcyBhdm9pZHMgZGVhZGxvY2tpbmcKCSAgd2hlbiBnc3RfcGFkX3B1c2ggYmxvY2tzIGR1ZSB0byBkb3duc3RyZWFtIHF1ZXVlcyBiZWluZyBmdWxsCgoyMDEzLTEyLTEzIDE3OjMxOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEltcHJvdmUgbG9nZ2luZwoJICBTaG93IHRoZSBzdHJlYW0ncyBwYWQgb24gbG9nIG1lc3NhZ2VzIHRvIG1ha2UgZWFzaWVyIHRvIGRlYnVnCgkgIGlzc3VlcyBpbiB0aGUgbXVsdGlwbGUgdGhyZWFkcwoKMjAxMy0xMi0xMCAxODowODo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIEhhbmRsZSBkaWZmZXJlbnQgZmxvdyByZXR1cm5zIGJvdGggZnJvbSB0aGUgc3RyZWFtaW5nIGFuZCB0aGUKCSAgZG93bmxvYWRpbmcgbG9vcHMKCjIwMTMtMTItMTAgMTU6NDE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgc3RyZWFtIGxvY2tzCgkgIFNpbXBsaWZ5IHRoZSBsb2NraW5nIGJ5IHVzaW5nIGEgc2luZ2xlIGxvY2sgaW5zdGVhZCBvZiBoYXZpbmcgb25lCgkgIGxvY2sgcGVyIHN0cmVhbS4gVGhpcyBzdGlsbCB3b3JrcyBhbmQgaXMgc2ltcGxlciB0byBtYWludGFpbi4KCjIwMTMtMTEtMTIgMDk6NTg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhdm9pZCBkb3dubG9hZGluZyBub3QtbGlua2VkIHN0cmVhbXMKCSAgV2hlbiBhIHN0cmVhbSBnZXRzIGEgbm90LWxpbmtlZCByZXR1cm4sIGl0IHdpbGwgYmUgbWFya2VkIGFzIHNvIGFuZAoJICB3b24ndCBkb3dubG9hZCBhbnkgbW9yZSBuZXcgZnJhZ21lbnRzIHVudGlsIGEgcmVjb25maWd1cmUgZXZlbnQKCSAgaXMgcmVjZWl2ZWQuIFRoaXMgd2lsbCBtYWtlIG1zc2RlbXV4IGV4cG9zZSBhbGwgcGFkcywgYnV0IG9ubHkgZG93bmxvYWQKCSAgZnJhZ21lbnRzIGZvciB0aGUgc3RyZWFtcyB0aGF0IGFyZSBhY3R1YWxseSBiZWluZyB1c2VkLgoJICBSZWx5aW5nIG9uIHRoZSBwYWRzIGJlaW5nIGxpbmtlZC91bmxpbmtlZCBpc24ndCBlbm91Z2ggaW4gdGhpcyBzY2VuYXJpbwoJICBhcyB0aGVyZSBtaWdodCBiZSBhbiBpbnB1dC1zZWxlY3RvciBkb3duc3RyZWFtIHRoYXQgaXMgYWN0dWFsbHkgZGlzY2FyZGluZwoJICBidWZmZXJzIGZvciBhIGdpdmVuIGxpbmtlZCBwYWQuCgkgIFdoZW4gc3RyZWFtcyBhcmUgc3dpdGNoaW5nLCB0aGUgb2xkIGFjdGl2ZSBzdHJlYW0gY2FuIGJlIGJsb2NrZWQgYmVjYXVzZQoJICBpbnB1dC1zZWxlY3RvciB3aWxsIGJsb2NrIG5vdC1saW5rZWQgc3RyZWFtcy4gSW4gY2FzZSB0aGUgbXNzZGVtdXgncwoJICBzdHJlYW0gbG9vcCBpcyBibG9ja2VkIHB1c2hpbmcgYSBidWZmZXIgdG8gYSBmdWxsIHF1ZXVlIGRvd25zdHJlYW0gaXQgd2lsbAoJICBuZXZlciB1bmJsb2NrIGFzIHRoZSBxdWV1ZSB3aWxsIG5vdCBkcmFpbiAoaW5wdXQtc2VsZWN0b3IgaXMgYmxvY2tpbmcpLgoJICBJbiB0aGlzIHNjZW5hcmlvLCBzdHJlYW0gc3dpdGNoaW5nIHdpbGwgZGVhZGxvY2sgYXMgaW5wdXQtc2VsZWN0b3IgaXMKCSAgd2FpdGluZyBmb3IgdGhlIG5ld2x5IGFjdGl2ZSBzdHJlYW0gZGF0YSBhbmQgdGhlIHN0cmVhbV9sb29wIHRoYXQgd291bGQKCSAgcHVzaCB0aGlzIGRhdGEgaXMgYmxvY2tlZCB3YWl0aW5nIGZvciBpbnB1dC1zZWxlY3Rvci4KCSAgVG8gc29sdmUgdGhpcyBpc3N1ZSwgd2hlbmV2ZXIgYW4gc3RyZWFtIGlzIHJlYWN0aXZhdGVkIG9uIGEgcmVjb25maWd1cmUKCSAgaXQgd2lsbCBlbnRlciBpbnRvIHRoZSAnY2F0Y2ggdXAgbW9kZScsIGluIHRoaXMgbW9kZSBpdCBjYW4gcHVzaCBidWZmZXJzCgkgIGZyb20gaXRzIGRvd25sb2FkIHRocmVhZCB1bnRpbCBpdCByZWFjaGVzIHRoZSBjdXJycmVudCBHc3RTZWdtZW50J3MgcG9zaXRpb24uCgkgIFRoaXMgd29ya3MgYmVjYXVzZSB0aGlzIHRpbWVzdGFtcCB3aWxsIGFsd2F5cyBiZSBiZWhpbmQgb3IgZXF1YWwgdG8gdGhlIG1heGltdW0KCSAgdGltZXN0YW1wIHB1c2hlZCBmb3IgYWxsIHN0cmVhbXMsIGFmdGVyIHB1c2hpbmcgZGF0YSBmb3IgdGhpcyB0aW1lc3RhbXAsCgkgIHRoZSBzdHJlYW0gd2lsbCBnbyBiYWNrIHRvIGRlZmF1bHQgYW5kIGJlIHB1c2hlZCBzZXF1ZW50aWFsbHkgZnJvbSB0aGUgbWFpbgoJICBzdHJlYW1pbmcgdGhyZWFkLiBCeSB0aGlzIHRpbWUsIHRoZSBpbnB1dC1zZWxlY3RvciBzaG91bGQgaGF2ZSBhbHJlYWR5CgkgIHJlbGVhc2VkIHRoZSB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDkKCjIwMTMtMTItMTggMTY6MjY6MTcgLTA1MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGRvY3VtZW50YXRpb24gb2YgR3N0TXBlZ1ZpZGVvU2VxdWVuY2VTY2FsYWJsZU1vZGUKCjIwMTMtMTItMTggMTM6NDg6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2djb25maWc6IERvbid0IGluY2x1ZGUgbGlicmFyaWVzIGluIHRoZSBnZW5lcmljIGdzdC1wbHVnaW5zLWJhZCBwYyBmaWxlCgoyMDEzLTEyLTE4IDEzOjQ1OjIyICswMTAwICBNYXJpdXN6IEJ1cmFzIDxtYXJpdXN6LmJ1cmFzQHlvdXZpZXcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgbXBlZ3RzOiBJbnN0YWxsIGdlbmVyYXRlZCBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA2NzMKCjIwMTMtMTItMTcgMTA6MDE6NDIgKzAxMDAgIERhdmlkZSBCZXJ0b2xhIDxkYWRlQGRhZGViLml0PgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IEVuYWJsZSBoYXJkd2FyZSBhY2NlbGVyYXRlZCBkZWNvZGluZyBvbiAxMC45CgoyMDEzLTEyLTE3IDEyOjE3OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmw6IEZpeCBpbmRlbnRpb24KCjIwMTMtMTItMTcgMTI6MDY6MTMgKzAxMDAgIEhhcmlkYXNzIFNlbHZhcmFqIDxoYXJpZGFzakBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkgIGN1cmxmdHBzaW5rOiBPcHRpb25hbGx5IGNyZWF0ZSBhIHRlbXBvcmFyeSBmaWxlIGR1cmluZyBGVFAgdHJhbnNmZXIvdXBsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjAKCjIwMTMtMTItMTcgMTA6MjM6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBHaXZlIHByZWZlcmVuY2UgdG8gdGhlIG9yZGVyIG9mIHRoZSBmaWx0ZXIgY2FwcyB3aGVuIHF1ZXJ5aW5nIGNhcHMKCjIwMTMtMTItMTcgMTA6MjE6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBPbmx5IGludGVyc2VjdCB3aXRoIHRoZSBmaWx0ZXIgY2FwcyBpZiB0aGVyZSBhY3R1YWxseSBpcyBhIGZpbHRlcgoKMjAxMy0xMi0xNSAyMTowNTozMSAtMDgwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBTb21lIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMgdG8gc2F0aXNmeSBYQ29kZSBjb21waWxlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNTEzCgoyMDEzLTEyLTE2IDE2OjA3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBSZWFkIGltYWdlLWRlc2NyaXB0aW9uIGZyb20gdGhlIGluZm8gc3RydWN0dXJlLCBub3QgdGhlIGNhcHMKCjIwMTMtMTItMTYgMTE6MTQ6MjkgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IHR5cG8gaW4gYnoyIGNoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MzIKCjIwMTMtMTItMTYgMTE6NTE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFdyaXRlIGltYWdlLXR5cGUgaW50byB0aGUgQVBJQyB0YWcKCjIwMTMtMTItMTYgMTA6MjU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjI0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIHBuZ3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoyMjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVzZSBwYnV0aWxzIEFQSSB0byBjcmVhdGUgdGhlIFZJREVPX0NPREVDIHRhZyBzdHJpbmcKCjIwMTMtMTItMTYgMTA6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSAgaDI2NXBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTY6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjEzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJICBkaXJhY3BhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNCAxODoxMjo1MyAtMDUwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogUHJvY2VzcyBFT1MgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyBpbmNvbWluZyB2aWRlbyBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMTItMTQgMTU6NTU6NDIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGhhbmRsZSBsZXZlbCAzIGluIGdldF9kcGJfbWF4X21iX3NfZnJvbV9sZXZlbC4gb29wcy4KCjIwMTMtMTItMTQgMTU6NTU6MjIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGZpeCBtcDMgY2FwcwoKMjAxMy0xMi0xNCAxODo0MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBTZXQgR1NUX0VMRU1FTlRfRkxBR19TT1VSQ0Ugb24gdGhlIHNvdXJjZQoJICBBcyBpdCBkb2VzIG5vdCBpbmhlcml0IGZyb20gYmFzZXNyYywgdGhpcyBmbGFnIGlzIG5vdCBhdXRvbWF0aWNhbGx5IHNldAoJICBhbmQgZS5nLiBnc3RfYmluX2l0ZXJhdGVfc291cmNlcygpIGFuZCBvdGhlciBjb2RlIGRvZXMgbm90IGNvbnNpZGVyIHRoaXMKCSAgZWxlbWVudCBhIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0xMi0xNCAxMzozMjoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYWRkIG1pc3NpbmcgQU1fQ09ORElUSU9OQUwgZm9yIE9QRU5FWFIgYW5kIFNCQwoJICBNYWtlcyBteSBhdXRvbWFrZSAoMS4xNCkgaGFwcGllci4KCjIwMTMtMTItMTQgMTM6MzA6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFsd2F5cyBpbmNsdWRlIDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KCSAgRml4ZXMgY29tcGlsYXRpb24gd2l0aCBuZXdlc3QgeGNvZGUuCgoyMDEzLTEyLTEyIDE3OjQ5OjI0ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IG5vdCBhbGwgc3RhcnRjb2RlcyBzaG91bGQgaGF2ZSAzLWJ5dGUgMCBwcmVmaXgKCSAgVGhlIHBhcnNlciBhc3N1bWVzIHRoYXQgZXZlcnkgdGltZSB0aGVyZSBpcyBhIDAgYmVmb3JlIHRoZSBzdGFydGNvZGUsCgkgIGl0IGlzIHBhcnQgb2YgdGhlIHN0YXJ0Y29kZS4gQnV0IHRoYXQncyBub3QgdHJ1ZS4KCSAgRnJvbSB0aGUgc3BlY2lmaWNhdGlvbgoJICBCeXRlIHN0cmVhbSBOQUwgdW5pdCBzeW50YXgKCSAgemVyb19ieXRlIGlzIGEgc2luZ2xlIGJ5dGUgZXF1YWwgdG8gMHgwMC4KCSAgV2hlbiBhbnkgb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBmdWxmaWxsZWQsIHRoZSB6ZXJvX2J5dGUgc3ludGF4CgkgIGVsZW1lbnQgc2hhbGwgYmUgcHJlc2VudC4KCSAg4oCTIHRoZSBuYWxfdW5pdF90eXBlIHdpdGhpbiB0aGUgbmFsX3VuaXQoICkgaXMgZXF1YWwgdG8gNyAoc2VxdWVuY2UgcGFyYW1ldGVyCgkgIHNldCkgb3IgOCAocGljdHVyZSBwYXJhbWV0ZXIgc2V0KQoJICDigJMgdGhlIGJ5dGUgc3RyZWFtIE5BTCB1bml0IHN5bnRheCBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIGZpcnN0IE5BTCB1bml0IG9mIGFuCgkgIGFjY2VzcyB1bml0IGluIGRlY29kaW5nIG9yZGVyLCBhcyBzcGVjaWZpZWQgYnkgc3ViY2xhdXNlIDcuNC4xLjIuMy4KCSAgVGhlIHByb2JsZW0gd2l0aCBkb2luZyB0aGlzIGZvciBhbGwgc3RhcnRjb2RlcyBpcyB0aGF0IGEgdHJhaWxpbmcgemVybyBjYW4gbWVzcwoJICB1cCB0aW1lc3RhbXBzLiBUaGUgdHJhaWxpbmcgemVybyBnZXRzIHByZXBlbmRlZCB0byB0aGUgc3RhcnRjb2RlLCB3aGljaCB3aWxsCgkgIGNhcnJ5IHRoZSBQVFMgYW5kIERUUyBvZiBwcmV2aW91cyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ0NDMKCjIwMTMtMTItMTAgMTE6Mjc6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZnBhcnNlOiBhZGQgdGltZXN0YW1wcyB0byBwYWNrZXRzCgkgIHJlLWVuYWJsZSB0aGUgY29kZSB0aGF0IGFkZHMgdGltZXN0YW1wcyB0byBwYWNrZXRzIGFmdGVyIGJhc2VwYXJzZSdzCgkgIHBvcnQKCjIwMTMtMTItMTAgMTA6MzQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSAgYXNmcGFyc2U6IHBvcnQgdG8gYmFzZXBhcnNlCgkgIGFzZnBhcnNlIHdhcyBub3QgcmVhbGx5IGZ1bmN0aW9uYWwgYWZ0ZXIgdGhlIHBvcnQgdG8gMS4wCgkgIE5vdyBwb3J0aW5nIGl0IHRvIGJhc2VwYXJzZSB0byBnZXQgaXQgd29ya2luZyBhZ2FpbgoKMjAxMy0xMi0xMyAxMTo0OTo1MiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCByZWFkaW5nIG9mIGRpc3BsYXkgd2luZG93IGluIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50CgkgIEZyb20gRVRTSSBFTiAzMDAgNzQzIFYxLjMuMSAoMjAwNi0xMSkgNy4yLjEgRGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgc3BlY2lmaWN0YXRpb25zCgkgIHRoZSBwYXJhbWV0ZXJzIG9mIGRpc3BsYXkgd2luZG93IGFyZSBpbiB0aGlzIG9yZGVyOiBYbWluLCBYbWF4LCBZbWluLCBZbWF4LgoJICBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCSAgU2lnbmVkLW9mZi1ieTogUGllcnJlLVl2ZXMgTW9yZHJldCA8cGllcnJlLXl2ZXMubW9yZHJldEBzdC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjAzODIKCjIwMTMtMTItMTMgMTQ6MTY6NDkgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSAgc3J0cDogYWRkIDI1Ni1iaXQga2V5IHN1cHBvcnQKCSAgKiBleHQvc3J0cC9nc3RzcnRwLltjaF06IGFkZGVkIEdTVF9TUlRQX0NJUEhFUl9BRVNfMjU2X0lDTSB0bwoJICBHc3RTcnRwQ2lwaGVyVHlwZSBhbmQgbmV3IGZ1bmN0aW9uIGNpcGhlcl9rZXlfc2l6ZS4KCSAgKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6IG1heGltdW0ga2V5IHNpemUgaXMgbm93IDQ2IGNoYXJhY3RlcnMgKDE0IGZvcgoJICB0aGUgc2FsdCBwbHVzIHRoZSBrZXkpLiBJZiBkaWZmZXJlbnQgY2lwaGVycyBhcmUgY2hvc2VuIGZvciBSVFAgYW5kCgkgIFJUQ1AgdGhlIG1heGltdW0gbmVlZGVkIGtleSBzaXplIGlzIGV4cGVjdGVkLgoJICAqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzogbWlub3IgZG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwNDM0CgoyMDEzLTEyLTEyIDEzOjIxOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBwcm9jZXNzIGFsbCBhdmFpbGFibGUgaW5wdXQgZnJhbWVzIGluIG9uZSBnbwoJICBJbnN0ZWFkIG9mIHBhcnNpbmcsIGRlY29kaW5nIGFuZCBzZW5kaW5nIG91dAoJICBsb3RzIG9zIGxpdHRsZSAyMG1zIGF1ZGlvIGJ1ZmZlcnMgb25lIGJ5IG9uZS4KCjIwMTMtMTItMTEgMTg6NTI6NTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBjb21waWxlciB3YXJuaW5nICh1bmluaXRpYWxpemVkIHZhcmlhYmxlKQoKMjAxMy0xMi0xMSAwODoxMTo1MCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVuYW1lIHJlb3JkZXJfcXVldWVfZnJhbWVfZGVsYXkgdG8gcmVvcmRlcl9xdWV1ZV9sZW5ndGgKCjIwMTMtMTItMTEgMDg6MTA6MTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlcG9ydCBsYXRlbmN5CgoyMDEzLTEyLTExIDA3OjU4OjIzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgcmVvcmRlciBxdWV1ZSBsZW5ndGggdG8gdGhlIG1heCBEUEIgbGVuZ3RoCgkgIFNldCByZW9yZGVyX3F1ZXVlX2ZyYW1lX2RlbGF5IGZyb20gdGhlIERQQiBzaXplIChpbiBmcmFtZXMpLiBTdGlsbCBub3Qgb3B0aW1hbCwKCSAgYXMgdGhlIERQQiBzaXplIGlzIGxhcmdlciB0aGFuIHRoZSBtYXggYmZyYW1lIGZvcndhcmQgcHJlZGljdGlvbiBsZW5ndGgsIGJ1dCBJCgkgIGRvbid0IGtub3cgaG93IHRvIGNvbXB1dGUgdGhlIGxhdHRlciB3aXRob3V0IHBhcnNpbmcgZXZlcnkgZ3JvdXAgb2YgcGljdHVyZXMuCgoyMDEzLTEyLTEwIDIzOjA2OjUzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgc291bmR0b3VjaDogQ2FsbCBkZWZhdWx0IGV2ZW50IGhhbmRsZXIgZm9yIGJhc2V0cmFuc2Zvcm0KCSAgTWFrZSBwaXBlbGluZSBlbmQgcHJvcGVybHkgYXQgRU9TIGFuZCBub3QgbGVhayBieSBwYXNzaW5nIGV2ZW50cwoJICB0byB0aGUgZGVmYXVsdCBldmVudCBoYW5kbGVyLgoKMjAxMy0xMi0wNiAwMDo0NTo1MCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSByYWN5IGdsaWIgd2FybmluZy4KCSAgU29tZXRpbWVzLCB0aGUgcGFkIHByb2JlcyBjYW4gYmUgY2FsbGVkIHR3aWNlIC0gZm9yIE9PQiBldmVudHMKCSAgdHJhdmVsbGluZyBkb3duc3RyZWFtLiBDbGVhciBvdXQgdGhlIHBhZCBibG9jayBpZCwgc28gaXQgb25seQoJICBnZXRzIHJlbW92ZWQgb25jZS4KCjIwMTMtMTItMDYgMDA6MjI6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IGZpeCBkZWNvZGluZyBvZiBhdWRpby9tcy1nc20gdmFyaWFudAoJICBBbHRlcm5hdGVzIGJldHdlZW4gMzMgYW5kIDMyIGJ5dGUgZnJhbWVzLCBidXQgbXVzdCBzdGFydAoJICB3aXRoIGEgMzMgYnl0ZSBmcmFtZS4gVGhpcyBoYXMgYmVlbiBicm9rZW4gZm9yIGFnZXMgc2luY2UKCSAgdGhlIGVsZW1lbnQgd2FzIHBvcnRlZCB0byB0aGUgYXVkaW8gZGVjb2RlciBiYXNlIGNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NDE2CgoyMDEzLTEyLTEwIDExOjEwOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogc2V0IHRoZSBjb3JyZWN0IHZpZGVvIGZvcm1hdCBpbiB0aGUgdmlkZW8gbWV0YQoJICBGaXhlcyBhbGwga2luZHMgb2Ygd2VpcmQgYnVncyB3aGVuIHZpZGVvY29udmVydCBpcyB1c2VkIHdpdGggdGhlIGRlY29kZXIuCgoyMDEzLTA0LTE3IDEwOjQ0OjQ4ICswODAwICBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGljdHVyZSBsZXZlbCBzY2FsaW5nIGxpc3RzIGRlcml2YXRpb24gKHJ1bGUgQikuCgkgIEZpeCBwaWN0dXJlIGxldmVsIHNjYWxpbmcgbGlzdHMgZGVyaXZhdGlvbiBmcm9tIGZhbGwtYmFjayBydWxlIHNldCBCLAoJICBhcyBzcGVjaWZpZWQgaW4gNy40LjIuMi4gTW9yZSBwcmVjaXNlbHksIHRoZSBzZXF1ZW5jZSBsZXZlbCBzY2FsaW5nCgkgIGxpc3RzIG5lZWQgdG8gYmUgdXNlZCBidXQgaW50cmEgYW5kIGludGVyIGxpc3RzIGFyZ3VtZW50cyB3ZXJlIHN3YXBwZWQuCgkgIFRoaXMgZml4ZXMgRlJFeHQvZnJlaDUuMjY0IGZyb20gY29uZm9ybWFuY2UgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDA5OQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTEyLTA4IDE2OjQ2OjU4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IHNldCB0aGUgY29ycmVjdCBzdHJpZGUgZm9yIHBhY2tlZCBmb3JtYXRzCgoyMDEzLTEyLTA4IDE1OjMxOjA5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggbXBlZzIgdmlkZW8gc3VwcG9ydAoKMjAxMy0xMi0wOCAxNToyNToyNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogbWFrZSBqcGVnIGRlY29kaW5nIGFjdHVhbGx5IHdvcmsKCjIwMTMtMTItMDggMTU6MjQ6NTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZhaWwgZ3JhY2VmdWxseSB3aGVuIG5vdCBuZWdvdGlhdGVkCgoyMDEzLTEyLTA3IDIzOjU1OjEzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmV3cml0ZSBWaWRlb1Rvb2xib3ggZGVjb2RlciBiYXNlZCBvbiBHc3RWaWRlb0RlY29kZXIKCjIwMTMtMTItMDYgMjE6MTE6MzIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmg6CgkgIHZtY25kZWM6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlCgkgIEZvcmdvdCB0byBhZGQgaGVhZGVyIGZpbGUgdG8gcHJldmlvdSBjb21taXQKCjIwMTMtMTItMDYgMjA6NTg6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmNkZWM6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDYgMTc6NTg6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNiAxNzoxMDozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMCBBUEkKCjIwMTMtMTItMDUgMTY6NTA6MjcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IFVzZSBHc3RSVFBCYXNlUGF5bG9hZCBtZXRob2QgdG8gcHVzaCBidWZmZXIKCSAgVGhpcyB3YXkgdGhlIGV2ZW50IGlzIGFsc28gcHVzaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDEzLTEyLTA1IDEyOjA1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIHNpcmVuZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjNhdWRpb2RlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMjowNDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogUmVxdWlyZSBjYXBzIHRvIGJlIHNldCBiZWZvcmUgYW55IGRhdGEgcHJvY2Vzc2luZwoKMjAxMy0xMi0wNSAxMTo0OTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0OTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mY2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ5OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSAgZGFhbGFkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNCAxNzozMToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogQWxzbyBpbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGluIHBhcnNlX3NlcXVlbmNlX2hlYWRlcgoJICBBbHNvIHJlbW92ZSB0aGUgdXNlbGVzcyBpbml0aWFsaXplZCBmbGFnLCB0aGlzIGlzIGFscmVhZHkgZG9uZSBieSB0aGUgbWFjcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTY1NwoKMjAxMy0xMi0wNCAyMjozODoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBJbnN0ZWFkIG9mIHRyeWluZyB0byBwYXJzZSB0aGUgYml0c3RyZWFtLCBqdXN0IGxvb2sgZm9yIHRoZSBuZXh0IGhlYWRlcgoJICBUaGlzIHNob3VsZCBiZSBtb3JlIHJvYnVzdCBhbmQgYWxsb3dzIHVzIHRvIGhhbmRsZSBuZXcgdmVyc2lvbnMgb2YgdGhlCgkgIGZpbGUgZm9ybWF0IGlmIHRoZSBsaWJyYXJ5IHN1cHBvcnRzIGl0LgoKMjAxMy0xMi0wNCAwOToxMzozMSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIEFDQ0VQVF9JTlRFUlNFQ1QKCSAgV2UgY2FuIGFsc28gYWNjZXB0IGNhcHMgd2l0aCBtaXNzaW5nIGZpZWxkcy4KCjIwMTMtMTItMDQgMDk6MDM6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHJlbW92ZSBmaWVsZHMgZnJvbSBmaWx0ZXIKCSAgRG9uJ3QgZmlsdGVyIG91dCB0aGUgY2FwcyBwcm9wZXJ0aWVzIHdlIGNhbiBjb252ZXJ0IGJldHdlZW4gd2hlbgoJICBwcm94eWluZyB0aGUgZ2V0Y2FwcyBxdWVyeSB0byB0aGUgZG93bnN0cmVhbSBwZWVyIHBhZC4KCjIwMTMtMTItMDQgMDk6MDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHJlZmFjdG9yIHJlbW92ZV9maWVsZHMgaW4gZ2V0Y2FwcwoKMjAxMy0xMi0wMyAxNDo1MzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDaGVjayBjb2xvciBmb3JtYXQKCjIwMTMtMTItMDMgMTQ6NDc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQWRkIHN1cHBvcnQgZm9yIHRoZSB2aWRlbyBtZXRhCgoyMDEzLTEyLTAzIDE0OjQ2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogVXNlIEdzdFZpZGVvRnJhbWUgQVBJIGZvciBiZXR0ZXIgaGFuZGxpbmcgb2Ygc3RyaWRlcwoJICBBbmQgZG8gcHJvcGVyIHN0cmlkZSBjb252ZXJzaW9uLgoKMjAxMy0xMi0wMyAxNDozNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nIHRvIGFjdHVhbGx5IHdvcmsgYW5kIHByb3Blcmx5IHRpbWVzdGFtcCBidWZmZXJzCgoyMDEzLTEyLTAzIDE0OjM1OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IERvbid0IHNodXQgZG93biBsaWJyYXJ5IHdoZW4gZmluYWxpemluZyBhbiBlbGVtZW50IGluc3RhbmNlCgoyMDEzLTEyLTAzIDE0OjM1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBuZWdvdGlhdGlvbiBhbmQgY3JlYXRpb24gb2YgYSB2aWRlbyBidWZmZXIgcG9vbAoKMjAxMy0xMi0wMyAxNDozNDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBVc2UgZGVidWcgY2F0ZWdvcnkgcHJvcGVybHkKCjIwMTMtMTItMDIgMTc6MDM6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogQ2xhc3NpZmljYXRpb24gb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIFNvdXJjZS9WaWRlbwoKMjAxMy0xMi0wMiAxNzowMTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBVc2UgR3N0VmlkZW9JbmZvIHRvIGNyZWF0ZSBjYXBzIGFuZCBkb24ndCBsZWFrIHRoZW0KCjIwMTMtMTItMDIgMTY6NTk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogU29tZSByYW5kb20gY2xlYW51cCBhbmQgbWlub3IgZml4ZXMKCjIwMTMtMTItMDIgMTE6MTc6MDIgKzAxMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubmkyL01ha2VmaWxlLmFtOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pOiBBZGQgT3Blbk5OSTIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg5MTQKCjIwMTMtMTItMDIgMTA6Mjg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBHX0RFRklORV9UWVBFKCkgYWxyZWFkeSBjYWxscyBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoKSBmb3IgdXMKCjIwMTMtMTItMDIgMTA6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbW92ZSBlbXB0eSBHT2JqZWN0OjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9ucwoJICBBbHNvIGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgR09iamVjdCB2ZnVuY3MKCjIwMTMtMTAtMjAgMjI6MDQ6MzggKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGQgYSAyRCBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0gcGx1Z2luCgkgIFRoZSBwZXJzcGVjdGl2ZSBwbHVnaW4gYXBwbGllcyBhIDJEIHBlcnNwZWN0aXZlIChhbHNvIGNhbGxlZCBwcm9qZWN0aXZlKQoJICB0cmFuc2Zvcm0gdG8gdGhlIGZyYW1lIGJ1ZmZlci4KCSAgQSBwZXJzcGVjdGl2ZSB0cmFuc2Zvcm0gY2FuIGJlIHVzZWQgZm9yIGluc3RhbmNlIHRvIHBlcmZvcm0ga2V5c3RvbmUKCSAgY29ycmVjdGlvbiB3aGVuIHBsYXlpbmcgdGhlIGNvbnRlbnQgd2l0aCBhIHZpZGVvIHByb2plY3Rvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDgxMAoKMjAxMy0xMi0wMSAyMzozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGF2b2lkIGxpc3QgZm9yIG9uZSBzaW5nbGUgdmFsdWUgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMy0xMi0wMSAyMjozMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogbWljcm9vcHRpbWlzYXRpb246IGF2b2lkIHVubmVjZXNzYXJ5IGdzdF9idWZmZXJfZ2V0X3NpemUoKSBjYWxscwoKMjAxMy0xMS0yOSAxMzoyMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogaW5pdCBydHAgYnVmZmVyIGZpeGluZyBydHAgcGFja2V0IGNyZWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTEtMjkgMTM6MjI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGRvbid0IHVzZSBidWZmZXIgYWZ0ZXIgZ2l2aW5nIGF3YXkgb3duZXJzaGlwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTEtMjkgMTA6MTQ6NDMgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDEzLTExLTI1IDE2OjU3OjAwICswMDAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBEb24ndCB0cnkgdG8gc2V0IGZyYW1lcmF0ZSBpZiBub3QgZnJvbSB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE1MTY2CgoyMDEzLTExLTI4IDE1OjEwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggc3BsaXR0aW5nIG9mIG11bHRpcGxlIE5BTFUgcGVyIGJ1ZmZlcgoJICBDb252ZXJzaW9uIHRvIGJ5dGUtc3RyZWFtL25hbCBjcmFzaGVzIHdpdGhvdXQgdGhhdCBiZWNhdXNlIHRoZQoJICBiYXNlcGFyc2UgZnJhbWUgb2YgYWxsIE5BTFVzIGlzIGZpbmlzaGVkIGZvciB0aGUgZmlyc3QgTkFMVSwgdGhlbgoJICB1c2VkIGFnYWluIGZvciBwYXJzaW5nIHRoZSBzZWNvbmQgTkFMVS4gSnVzdCB0aGF0IG5vdyB0aGUgYnVmZmVyCgkgIG9mIHRoZSBmcmFtZSBpcyBhbHJlYWR5IGdvbmUuIEluc3RlYWQgd2UgY3JlYXRlIHRlbXBvcmFyeSBmcmFtZXMKCSAgZm9yIGV2ZXJ5IE5BTFUuCgoyMDEzLTEwLTMxIDE3OjE2OjE0ICswMTAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHNldHRpbmcgY29kZWNfZGF0YSB3aGVuIHVzaW5nIFdhdmVGb3JtYXRFeAoJICBXaGVuIHVzaW5nIFdhdmVGb3JtYXRFeCB0aGUgYWN0dWFsIGNvZGVjIHByaXZhdGUgZGF0YSBpcyBhdCB0aGUgZW5kIG9mCgkgIHRoZSB3YXYgaGVhZGVyIHN0cnVjdHVyZSwgYWZ0ZXIgdGhlIGNiU2l6ZSBmaWVsZCwgc2VlIGZvciBleGFtcGxlIHRoZQoJICBub3RlcyBhdCBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1XQVZFRk9STUFURVgKCSAgVGhlIHByZXZpb3VzIGNvZGUgd2FzIGVycm9uZW91c2x5IHBhc3NpbmcgdGhlIHdob2xlIFdBVkVGT1JNQVRFWAoJICBzdHJ1Y3R1cmUgYXMgY29kZWNfZGF0YS4KCSAgVGhlIHNtb290aHN0cmVhbWluZyBzcGVjaWZpY2F0aW9uc1sxLDIsM10gYWx3YXlzIG1lbnRpb24gV0FWRUZPUk1BVEVYCgkgIGFuZCBuZXZlciBzbWFsbGVyIHN0cnVjdHVyZXMgbGlrZSBXQVZFRk9STUFUIG9yIFBDTVdBVkVGT1JNQVQsIHNvIHRoZQoJICBidWZmZXIgY2FuIGFzc3VtZWQgdG8gYmUgYXQgbGVhc3QgMTggYnl0ZXMgYW5kIGFsd2F5cyBjb25zdW1pbmcgdGhlIHdhdgoJICBoZWFkZXIgZ2l2ZXMgdGhlIChwb3NzaWJseSBlbXB0eSkgY29kZWMgcHJpdmF0ZSBkYXRhLgoJICBbMV0gaHR0cDovL3dlYi5hcmNoaXZlLm9yZy93ZWIvMjAxMjA5MDcwMDQ3NDIvaHR0cDovL3d3dy5paXMubmV0L2NvbW11bml0eS9maWxlcy9tZWRpYS9zbW9vdGhzcGVjcy8lNUJNUy1TTVRIJTVELnBkZgoJICBbMl0gaHR0cDovL2Rvd25sb2FkLm1pY3Jvc29mdC5jb20vZG93bmxvYWQvQi8wL0IvQjBCMTk5REItNDFFNi00MDBGLTkwQ0QtQzM1MEQwQzE0QTUzLyU1Qk1TLVNTVFIlNUQucGRmCgkgIFszXSBodHRwOi8vZG93bmxvYWQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC85LzUvRS85NUVGNjZBRi05MDI2LTRCQjAtQTQxRC1BNEY4MTgwMkQ5MkMvJTVCTVMtU1NUUiU1RC5wZGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0xMC0zMSAxNTo1ODoyNyArMDEwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHVzZSBtc3NkZW11eF9kZWJ1ZyBkZWJ1ZyBjYXRlZ29yeSBmb3IgZ3N0bXNzbWFuaWZlc3QuYyB0b28KCjIwMTMtMTAtMTYgMTY6MjI6MzYgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggY29kaW5nIHN0eWxlCgoyMDEzLTExLTI1IDE1OjE3OjMzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IERvbid0IHVubWFwIGFuIHVucmVmZmVkIGJ1ZmZlcgoJICBnc3RfZHZkX3NwdV9maW5pc2hfc3B1X2J1ZiBkcm9wcyB0aGUgcmVmZXJlbmNlIHRvIHRoZSBjdXJyZW50CgkgIGJ1ZmZlciwgc28gbWFrZSBzdXJlIHRvIGNhbGwgZ3N0X2J1ZmZlcl91bm1hcCBiZWZvcmUgaXQuCgoyMDEzLTExLTIzIDE5OjExOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IENvbnNpZGVyIHRoZSBwaXhlbCBhc3BlY3QgcmF0aW8gc3RvcmVkIGluIHRoZSBmaWxlCgoyMDEzLTExLTIzIDE4OjM3OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuYzoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuaDoKCSAgb3BlbmV4cjogQWRkIE9wZW5FWFIgZGVjb2RlciBlbGVtZW50CgkgIFRoaXMgY3VycmVudGx5IGNvbnZlcnRzIGZyb20gQVJHQjY0X0YxNiAoMTYgYml0IGZsb2F0IHBlciBjb21wb25lbnQpCgkgIHRvIEFSR0I2NCBieSBjbGlwcGluZy4gV2Ugc2hvdWxkIGFkZCBzdXBwb3J0IGZvciB0aGUgRjE2IGZvcm1hdCBhbmQKCSAgaW1wbGVtZW50IGEgY29udmVyc2lvbiBmaWx0ZXIgZWxlbWVudCB0aGF0IGNhbiBhcHBseSBnYW1tYSBjdXJ2ZXMsCgkgIGNoYW5nZSBleHBvc3VyZSwgZXRjLgoKMjAxMy0xMS0yMyAxMToyOTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5jOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmg6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmg6CgkgIG9wZW5leHI6IEFkZCBPcGVuRVhSIHBsdWdpbgoJICBTZWUgaHR0cDovL3d3dy5vcGVuZXhyLmNvbQoKMjAxMy0xMS0yMyAxMTozNTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEZpeCBuYW1lcyBvZiBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDEzLTExLTIzIDE0OjM1OjA2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBwb3AgbmV3IHBhY2tldCB3aGVuIGludmFsaWQgbmV4dCBjb21tYW5kIGJsb2NrCgkgIC4uLiB0byBwcmV2ZW50IHN0YXlpbmcgc3R1Y2sgb24gY3VycmVudCBjb21tYW5kIGJsb2NrIGFuZCBidXN5IGxvb3BpbmcuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyMTkKCjIwMTMtMTEtMjMgMTE6MjM6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWNjZXB0IFZpZGVvT2JqZWN0TGF5ZXIgYXMgc3RhcnQgb2YgZnJhbWUgYW5kIGNvbmZpZwoJICAuLi4gd2hpY2ggaXQgZGVzZXJ2ZXMgYXMgbXVjaCBhcyBWaWRlb09iamVjdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzU2NAoKMjAxMy0xMS0yMSAxNTo1NDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZAoJICBKdXN0IHVzZSBwbGFpbiBtZW1tb3ZlKCksIGdfbWVtbW92ZSgpIGlzIGRlcHJlY2F0ZWQgaW4KCSAgcmVjZW50IEdMaWIgdmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MTEKCjIwMTMtMTEtMjAgMTI6NDY6MjMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBIYW5kbGUgdm9ic3ViIHBhY2tldHMgc21hbGxlciB0aGFuIDQgYnl0ZXMKCSAgSW4gcGFydGljdWxhciwgaGFuZGxlIHRoZSBjYXNlIG9mIGFuIGVtcHR5IHBhY2tldCB3aXRoIHNpemUgMCBieXRlcy4KCSAgUGFydGlhbGx5IGZpeGVzOiAjNzEyNjQzCgoyMDEzLTExLTE5IDIwOjE4OjQ4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBTZXQgdGhlIGZpcnN0IHNlc3Npb24gZmxhZyB0byBmYWxzZSBvbmNlIG9uZSBpcyBjcmVhdGUKCSAgT3RoZXJ3aXNlIGl0IGFsd2F5cyB0aGlua3MgaXQncyB0aGUgZmlyc3Qgc2Vzc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQ5NQoKMjAxMy0xMS0xOSAyMDoxMjo1NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBNYWtlIHN1cmUgdGhhdCBzdHJlYW0taWQvY2Fwcy9zZWdtZW50IGFyZSBzZW50IGJlZm9yZSBidWZmZXJzCgkgIEl0IG1heSBiZSBwb3NzaWJsZSB0aGF0IG9ubHkgb25lIG9mIHRoZSB0d28gc2luayBwYWRzIGlzIGxpbmtlZCBpbiB0aGF0IGNhc2UsCgkgIHRoZSBldmVudHMgbmVlZCB0byBiZSBjcmVhdGVkIGZyb20gdGhlIG90aGVyIHBhZC4KCjIwMTMtMTEtMTkgMTk6MTA6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFBhc3MgaXNfcnRjcCB0byBzZXRjYXBzIGZ1bmN0aW9uCgoyMDEzLTA0LTA0IDE3OjU5OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwOiBJbXBsZW1lbnQgU1JUQ1AgZGVtdWx0aXBsZXhpbmcKCSAgU2VwYXJhdGUgbXVsdGlwbGV4ZWQgUlRQIGFuZCBSVENQIGlmIHRoZXkgYXJyaXZlCgkgIG9uIHRoZSBydHBfc2luayBwYWQuCgoyMDEzLTExLTE5IDAwOjM4OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJICBkYWFsYTogRml4IGNvbXBpbGF0aW9uCgoyMDEzLTExLTEzIDIyOjI1OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB0cnkgdG8gZGVpbml0IHRoZSBkb3dubG9hZHJhdGUgd2hpbGUgaXQgaXMgdXNlZAoJICBUaGlzIGNhbiBjYXVzZSBhbiBhc3NlcnRpb24gb3IgZGVhZGxvY2tzLgoKMjAxMy0xMS0xMSAxNjozNTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGNvbnNpZGVyIC9tYW5pZmVzdAoJICBUaGUgc3BlYyBzYXlzIC9NYW5pZmVzdCwgYnV0IC9tYW5pZmVzdCBpcyBlYXNpbHkgZm91bmQgb24gc29tZQoJICBzZXJ2aWNlcywgc28gaGFuZGxlIHRoYXQsIHRvby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDIyMwoKMjAxMy0xMS0xNCAwOTowMjozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggY29tcGlsYXRpb24gd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoKMjAxMy0xMS0xMyAxODo1OTo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogQWRkIC1sbSBuZWVkZWQgYnkgSC4yNjUgcGFyc2VyCgoyMDEzLTExLTEzIDE3OjE2OjA0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBQcm94eSB1cHN0cmVhbSBmcmFtZXJhdGUgb24gc3JjcGFkIGlmIGF2YWxhaWJsZQoJICBJZiB0aGUgdXNlciBzZXRzIGl0IGhpbXNlbGYgd2l0aCBjYXBzZmlsdGVyLCB0aGUgaW5mb3JtYXRpb24gc2hvdWxkIGJlCgkgIGtlcHQgYW5kIHRyYW5zbWl0dGVkIGRvd25zdHJlYW0uCgoyMDEzLTExLTEyIDE4OjM2OjA0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogUHJvcGVybHkgYWRkIHN1YnRpdGxlIGRlc2NyaXB0b3IgZm9yIERWYiBzdWJwaWN0dXJlIHN1YnRpdGxlcwoJICBXZSB3ZXJlIGFkZGluZyBhbiBlbXB0eSBkZXNjcmlwdG9yIGZvciB0aGVtIGFuZCBpdCB3YXMgbm90IHBvc3NpYmxlIHRvCgkgIGFjdHVhbGx5IHVzZSB0aGVtIG9uIG11eGVkIHN0cmVhbXMuCgoyMDEzLTExLTEzIDE0OjI4OjMwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCBub24tZWdsIGRpc3BsYXkgY29udGV4dCBxdWVyeQoKMjAxMy0xMS0xMSAxNjoxNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogbG9vayBiZXlvbmQgc3RhcnQgY29kZSBiZWZvcmUgbGVhcGluZwoJICBJbiBjYXNlIG1vcmUgZGF0YSB0aGFuIGEgc3RhcnQgY29kZSBhbG9uZSBpcyBuZWVkZWQgdG8gZGVjaWRlIHdoZXRoZXIKCSAgaXQgZW5kcyBhIGZyYW1lLCBhcnJhbmdlIGZvciBtb3JlIGlucHV0IGRhdGEgYW5kIGRlY2lkZSB3aGVuIGF2YWlsYWJsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0xMSAxMzoyNDowOCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkZWNsYXJlIG1pc3NpbmcgaW5zdGFuY2UgdmFyaWFibGVzCgkgIEZpeGVzIGJ1aWxkIG9uIDMyLWJpdCBzeXN0ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE4NDQKCjIwMTMtMTEtMTAgMTI6MTc6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHR3ZWFrIGV4dGVuc2lvbiBoYW5kbGluZwoKMjAxMy0xMS0xMCAxMjoxNTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBnZWdkZW11eDogZG8gbm90IHVzZSBwdXNoZWQgYnVmZmVyIGluIGRlYnVnIG1lc3NhZ2UKCjIwMTMtMTEtMDkgMTM6MzI6MjEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGVjayBmb3Igc2FtZSBUU04gb25seSBmb3IgaW50ZXJsYWNlZCBzdHJlYW1zIChmaXhlcyB1bml0IHRlc3QpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE3MjEKCjIwMTMtMTEtMDkgMTI6MTg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgYXVkaW9taXhlcjogQWRkIHRlc3QgZm9yIHRoZSBPUkMgY29kZQoKMjAxMy0xMS0wOSAwOTo0Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndnBhcnNlOiBGaXggbGFzdCBzdGFydCBjb2RlIHBvc2l0aW9uIHdoZW4gaW5wdXQgYnVmZmVyIGlzIGVtcHR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDdjMjNhNmYyM2MxODUzMzBkNzRhZTRjY2NlNzljMzY0MWEyZmFiYWMuCgkgIFRoZSBmaXggd2FzIG5vdCBjb21wbGV0ZSwgc2VlIGRpc2N1c3Npb24gaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyNwoKMjAxMy0xMS0wOCAyMDoyMzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHNvbWUgbW9yZSBlbGVtZW50LXR5cGUgYW5ub3RhdGlvbnMgZm9yIGctaQoKMjAxMy0xMS0wNyAyMTozNzoyOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBjb3JlbWVkaWFidWZmZXI6IGtlZXAgYW4gZXh0cmEgcmVmIHRvIHRoZSBpbWFnZSBhbmQgZGF0YSBidWZmZXIKCjIwMTMtMTEtMDcgMTA6NTc6MjIgLTA3MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZwYXJzZTogRml4IGxhc3Qgc3RhcnQgY29kZSBwb3NpdGlvbiB3aGVuIGlucHV0IGJ1ZmZlciBpcyBlbXB0eQoJICBXaGVuIHRoZSBpbnB1dCBidWZmZXIgaXMgZW1wdHkgYW5kIHdlIG5lZWQgbW9yZSBkYXRhIHRvIGRldGVybWluZQoJICB3aGV0aGVyIG9yIG5vdCB0byB0ZXJtaW5hdGUgdGhlIHByZXZpb3VzIGZyYW1lLCB0aGUgbGFzdCBzdGFydCBjb2RlCgkgIGxvY2F0aW9uIG5lZWRzIHRvIGJlIHNldCB0byA0IGJ5dGVzIGJlZm9yZSB0aGUgdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgKHNpemUgb2Ygc3RhcnRfY29kZSBpcyAzMi1iaXRzKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTA3IDE0OjM5OjI2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogRml4IGJhZCBjb25kaXRpb24gaW4gaDI2NCBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNQoKMjAxMy0xMS0wNyAxMjoyOTo0OCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JlbWVkaWFidWZmZXI6IHVzZSBjb3JyZWN0IHJldGFpbi9yZWxlYXNlIGZ1bmN0aW9ucyBvbiBDTVNhbXBsZUJ1ZmZlclJlZiBidWZmZXIKCSAgRml4ZXMgYSBjcmFzaCB3aGlsZSByZWxlYXNpbmcgdGhlIHNhbXBsZSBidWZmZXIgYWZ0ZXIgdGhlIGltYWdlCgkgIGJ1ZmZlciBpdCBjb250YWlucy4KCSAgQWxzbyBmaXhlcyBhIG1pbm9yIGNvZGluZyBzdHlsZSBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYwNgoKMjAxMy0xMS0wNyAxNDoyNjoyMiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBxdGtpdHZpZGVvc3JjOiBsb3dlciByYW5rIHRvIEdTVF9SQU5LX1NFQ09OREFSWQoJICBNYWtlcyBhdmZ2aWRlb3NyYyBiZSBwcmVmZXJlZCBvdmVyIHF0a2l0dmlkZW9zcmMgc2luY2UgaXQgaXMgZGVwcmVjYXRlZAoJICB3aXRoIE9TIFggMTAuOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNAoKMjAxMy0xMS0wNyAxMzozMzozNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdmZ2aWRlb3NyYzogc2V0IHJhbmsgdG8gR1NUX1JBTktfUFJJTUFSWQoJICBNYWtlcyBhdmZ2aWRlb3NyYyB0byBiZSB1c2VkIHdpdGggYXV0b2RldGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYxNAoKMjAxMy0xMS0wNyAxMjo0Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG8gbm90IGxvc2UgcmVmIHRvIHRoZSBtdWx0aWZpbGVzaW5rCgkgIEl0IGlzIG5lZWRlZCB0byB1cGRhdGUgbG9jYXRpb24gcHJvcGVydGllcyBhbmQgaXQgd2FzIGJlaW5nIGxvc3Qgb24KCSAgc3RhdGUgY2hhbmdlcywgY2F1c2luZyBpc3N1ZXMgaWYgdGhlIHBpcGVsaW5lIHdhcyB0byBiZSByZXVzZWQKCjIwMTMtMTEtMDcgMTI6MzU6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IG1ha2Ugc3VyZSBpdCBpcyBoYW5kbGVkIGFzIGEgc2luawoJICBJdCBvbmx5IGdldHMgdGhlIHNpbmsgZmxhZyBzZXQgd2hlbiBpdCBhZGRzIHRoZSBtdWx0aWZpbGVzaW5rLCB0aGF0CgkgIGhhcHBlbnMgaW4gbnVsbC0+cmVhZHkgYW5kIGl0IG1pZ2h0IGJlIHRvbyBsYXRlLiBTZXQgdGhlIGZsYWcKCSAgZXhwbGljaXRseSBvbiB0aGUgY29uc3RydWN0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEwODYKCjIwMTMtMTEtMDcgMTM6MDU6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdmZ2aWRlb3NyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gaU9TCgoyMDEzLTExLTA3IDEyOjI5OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBidWlsZCBpbiBpT1Mgd2l0aCBpc0VxdWFsVG8gZG9lc24ndCBleGlzdHMKCjIwMTMtMTEtMDcgMTI6MjA6MzEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIHdpdGggb2xkZXIgU0RLIG5vdCBzdXBwb3J0aW5nIEFWRGV2aWNlRm9ybWF0CgkgIEFWRGV2aWNlRm9ybWF0IGFuZCBBVkZyYW1lUmF0ZVJhbmdlIGFyZSBhdmFpbGFibGUgaW4gaU9TIHNpbmNlIDcuMAoJICBzbyB3ZSBuZWVkIGEgbW9yZSBkeW5hbWljIGFwcHJvYWNoIHRvIHN1cHBvcnQgY29tcGlsYXRpb24gd2l0aCBvbGRlcgoJICBTREsncy4gV2UgdXNlIGEgTlNPYmplY3QgdG8gYXZvaWQgcmVmZXJlbmNpbmcgdGhvc2UgdHlwZXMgYW5kIGtleS12YWx1ZQoJICBjb2Rpbmcgb3IgcHJlZm9ybVNlbGVjdG9yIHRvIGFjY2VzcyBwcm9wZXJ0aWVzLgoKMjAxMy0xMS0wNyAwMTozODoyMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggY2hlY2tzIGZvciBIQVZFX0lPUwoKMjAxMy0xMS0wNyAwMTozNzozOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbmNsdWRlIGNvbmZpZy5oCgoyMDEzLTExLTA2IDE4OjUzOjI1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTExLTA2IDE4OjUwOjQ2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYwoJICBUaGUgc3ludGhlc2l6ZSBibG9jayBuZWVkcyB0byBiZSBtb3ZlZCB0byBmaXggYSBjb21waWxlciBlcnJvcgoKMjAxMy0xMS0wNiAxODo0OTozNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBzb3J0IGNhcHMgd2l0aCB0aGUgaGlnaGVzdCByZXNvbHV0aW9uIGZpcnN0CgkgIFdoZW4gc3RhcnRlZCB3aXRob3V0IGFueSBjYXBzIGZpbHRlciB3ZSBwcmVmZXIgdGhlIGhpZ2hlc3QKCSAgc3VwcG9ydGVkIHJlc29sdXRpb24uCgoyMDEzLTExLTA0IDExOjE0OjM1ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHN1cHBvcnQgc2NyZWVuIGNhcHR1cmUgb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE0MzIKCjIwMTMtMTAtMzEgMTM6MDU6NDAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbWlub3IgY29zbWV0aWMKCjIwMTMtMTAtMzEgMTM6MDM6NTggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXNlIGlucHV0IGRldmljZSBmb3JtYXRzIHRvIHNldC9nZXQgY2FwcyBpZiBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIxMQoKMjAxMy0xMC0yOSAxNTozNzoxNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1cGRhdGUgY2FwcyBpZiBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkCgkgIE9uIE9TWCwgc2V0dGluZyB0aGUgcGl4ZWwgZm9ybWF0IG9uIHRoZSBvdXRwdXQgcmVzZXQgdGhlIGNhcHR1cmUgZGV2aWNlCgkgIHRvIGl0cyBuYXRpdmUgcmVzb2x1dGlvbiwgc28gd2UgbmVlZCB0byB1cGRhdGUgdGhlIGNhcHMgaWYgdGhlIG91dHB1dAoJICBmcmFtZSBzaXplIGhhcyBjaGFuZ2VkIGJlZm9yZSBhIHByb3BlciBzb2x1dGlvbiBpcyBmb3VuZC4KCjIwMTMtMTAtMjkgMTU6MzY6MDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgaWYgbG93IHByZXNldCBpcyBhdmFpbGFibGUKCjIwMTMtMTAtMjggMTg6MjI6MTMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogdXNlIGEgZGVkaWNhdGVkIHF1ZXVlIGZvciBBVkZvdW5kYXRpb24gY2FsbHMKCSAgUmVwbGFjZSB0aGUgbWFpbiBxdWV1ZSB3aXRoIGEgZGVkaWNhdGVkIHF1ZXVlIGZvciBBVkZvdW5kYXRpb24gY2FsbHMKCSAgc28gdGhlIGV4ZWN1dGlvbiBvbiB0aGlzIHF1ZXVlIHdvbid0IGJsb2NrIGlmIHRoZSBtYWluIHF1ZXVlCgkgIGlzIG5vdCBydW5uaW5nLgoKMjAxMy0xMC0yOSAxNzozMzoxMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiByZW1vdmUgdHJhaWxpbmcgc3BhY2UKCjIwMTMtMTAtMzAgMTQ6NTE6NTAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZGlzcGF0Y2ggQVZGb3VuZGF0aW9uIGNhbGxzIHN5bmNocm9ub3VzbHkgaW4gdGhlIG1haW4gcXVldWUKCjIwMTMtMTAtMzAgMTI6NDA6MDEgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSBhdmZ2aWRlb3NyYyBpZiBBVkZvdW5kYXRpb24gaXMgcHJlc2VudAoKMjAxMy0xMC0zMCAxMjozOToyNCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBvbmx5IGVuYWJsZSAxOTIweDEwODAgcHJlc2V0IG9uIGlPUwoKMjAxMy0xMC0yOCAxMToyMDoyNyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkZXRlY3QgcHJlc2VuY2Ugb2YgQVZGb3VuZGF0aW9uCgoyMDEzLTEwLTI4IDExOjUzOjI2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IHBvcnQgYXZmdmlkZW9zcmMgdG8gMS4wCgoyMDEzLTExLTA3IDE0OjEyOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgdW5pdCB0ZXN0IGZvciBoYW5kbGluZyB1bmFsaWduZWQgYnVmZmVycwoJICBUaGF0IGlzLCBidWZmZXJzIHRoYXQgc3RhcnQgb3IgZW5kIGluIHRoZSBtaWRkbGUgb2YgYW4gb3V0cHV0IGJsb2NrLgoKMjAxMy0xMS0wNyAxNDoxMjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IEVPUyBoYW5kbGluZyBpZiB3ZSBoYXZlIHNvbWUgcGVuZGluZyBkYXRhCgoyMDEzLTExLTA3IDEzOjU3OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCBmb3IgdGhlIGRpc2NvbnQgaGFuZGxpbmcKCjIwMTMtMTEtMDcgMTM6NTU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlZmFjdG9yIHN5bmMgdGVzdCB0byBiZSBtb3JlIHJldXNhYmxlCgoyMDEzLTExLTA3IDEzOjQ4OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgc29tZSByYWN5LW5lc3MgZnJvbSB0aGUgdW5pdCB0ZXN0CgkgIFdlIG1pZ2h0IGFscmVhZHkgYmUgRU9TIHdoZW4gd2Ugc3RhcnQgdGhlIG1haW5sb29wLCBzbyBvbmx5CgkgIHNldCB0aGUgcGlwZWxpbmUgdG8gUExBWUlORyBmcm9tIHRoZSBtYWluIGxvb3AuCgoyMDEzLTExLTA3IDA5OjU0OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFJlbW92ZSBzb21lIHVudXNlZCBmdW5jdGlvbnMKCjIwMTMtMTEtMDYgMjI6MTM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IE1ha2Ugc3VyZSB2aWRlby1kb25lIGlzIHBvc3Qgb25seSB3aGVuIGZpbGUgaXMgY2xvc2VkCgkgIEZvcmNlIGZpbGVzaW5rIHRvIG51bGwgYmVmb3JlIHBvc3RpbmcgdmlkZW8tZG9uZSB0byBtYWtlIHN1cmUgdGhlCgkgIGZpbGUgd2FzIGNsb3NlZC4KCSAgSGFkIHRvIGRvIGl0IGZyb20gYSBzZXBhcmF0ZSB0aHJlYWQgdG8gYXZvaWQgY2FsbGluZyBzdGF0ZV9jaGFuZ2UgZnJvbQoJICBhIHN5bmMgbWVzc2FnZSBoYW5kbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MzczCgoyMDEzLTExLTA2IDIzOjExOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiBhZGQgbmV3IGNvZGVjcGFyc2VyIEFQSSB0byAuZGVmIGZpbGUKCjIwMTMtMTAtMDkgMTA6NTQ6MTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIEguMjY1IEhFVkMgdmlkZW8gcGFyc2VyIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODQzOAoKMjAxMy0xMC0wMSAxMzozOTo0MSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBILjI2NSBIRVZDIGJpdHN0cmVhbSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODQzOAoKMjAxMy0xMS0wNSAxMjo0Mzo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAxMy0xMS0wNiAxNTo1MDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG9uJ3QgdGFrZSBjaGFubmVsIG1hc2sgaW4gY29uc2lkZXJhdGlvbiBpbiBtb25vIG9yIHN0ZXJlbwoJICBUaGlzIGNvdWxkIGNhdXNlIG5lZ290aWF0aW9uIHRvIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MzMKCjIwMTMtMTEtMDYgMTU6MzE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCB0byB0aGUgLmdpdGlnbm9yZSBmaWxlCgoyMDEzLTExLTA2IDE1OjE4OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgc2ltcGx5IHN5bmNocm9uaXphdGlvbiB0ZXN0CgoyMDEzLTExLTA2IDE1OjE4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy5vcmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBuZXcgZWxlbWVudCBiYXNlZCBvbiBhZGRlciB0aGF0IGRvZXMgc3luY2hyb25pemVkIGF1ZGlvIG1peGluZwoKMjAxMy0xMS0wNSAxMToxOTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODY1YWEyMCB0byBkYmVkYWEwCgoyMDEzLTExLTA0IDE5OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFF1ZXJ5IHVwc3RyZWFtIGZpcnN0IHRvIGdldCBhIEVHTERpc3BsYXkKCjIwMTMtMTEtMDQgMTA6MDQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBMaW5rIHdpdGggZ21vZHVsZSBmb3IgZ19tb2R1bGVfb3BlbigpIGFuZCBvdGhlcnMKCjIwMTMtMTEtMDQgMTA6MDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogTGluayB3aXRoIGdtb2R1bGUgZm9yIGdfbW9kdWxlX29wZW4oKSBhbmQgb3RoZXJzCgoyMDEzLTExLTAxIDIyOjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsd2F5cyBkZWZpbmUgQU1fQ09ORElUSU9OQUwgVVNFX0VHTEdMRVMKCjIwMTMtMTAtMDQgMTI6NDg6MTAgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkgIGN1cmw6IGN1cmxzZnRwc2luayAtIG5ldyBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudCBmb3IgU0ZUUAoJICBOb3RlOiBTRlRQID0gU1NIIEZpbGUgVHJhbnNmZXIgUHJvdG9jb2wKCSAgVGhlIHNpbmsgYWN0cyBhcyBhIGNsaWVudCBhbmQgdXBsb2FkcyBkYXRhIHRvIHRoZSBTRlRQIHNlcnZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc5NQoKMjAxMy0xMC0zMSAxMzozNjoyNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBjZGF1ZGlvOiBSZW1vdmUgY2RhdWRpbyBwbHVnaW4KCSAgVGhpcyBlbGVtZW50IGlzIGJlaW5nIHJlbW92ZWQgZHVlIHRvIGl0IGJlZW4KCSAgY29uc2lkZXJlZCBvYnNvbGV0ZSBhbmQgdGhlIGZ1bmN0aW9uYWlseSBpdAoJICBwcm92aWRlcyBubyBsb25nZXIgbmVlZGVkLgoJICBEZXRhaWxzIG9uIHRoZSBkZWNpc2lvbiBjYW4gYmUgZm91bmQgaGVyZToKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIyMwoJICBGaXhlczoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIzMgoKMjAxMy0xMS0wMSAxMDo0MToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IGNvbXBpbGVyIHdhcm5pbmcgY2F1c2VkIGJ5IHNwZWNpZnlpbmcgY29uc3QgdHdpY2UKCSAgeWFkaWYuYzo0OToyNDogd2FybmluZzogZHVwbGljYXRlICdjb25zdCcgZGVjbGFyYXRpb24gc3BlY2lmaWVyIFstV2R1cGxpY2F0ZS1kZWNsLXNwZWNpZmllcl0KCSAgREVDTEFSRV9BU01fQ09OU1QgKDE2LCBjb25zdCB4bW1fcmVnLCBwYl8xKSA9IHsKCSAgXgoJICB5YWRpZi5jOjMzOjUwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdERUNMQVJFX0FTTV9DT05TVCcKCSAgI2RlZmluZSBERUNMQVJFX0FTTV9DT05TVChuLHQsdikgICAgc3RhdGljIGNvbnN0IHQgX19hdHRyaWJ1dGVfXygodXNlZCkpIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChuKSkpIHYKCSAgXgoJICB5YWRpZi5jOjUyOjI0OiB3YXJuaW5nOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIgWy1XZHVwbGljYXRlLWRlY2wtc3BlY2lmaWVyXQoJICBERUNMQVJFX0FTTV9DT05TVCAoMTYsIGNvbnN0IHhtbV9yZWcsIHB3XzEpID0gewoJICBeCgkgIHlhZGlmLmM6MzM6NTA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0RFQ0xBUkVfQVNNX0NPTlNUJwoJICAjZGVmaW5lIERFQ0xBUkVfQVNNX0NPTlNUKG4sdCx2KSAgICBzdGF0aWMgY29uc3QgdCBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKG4pKSkKCjIwMTMtMTEtMDEgMTA6NDA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBidWlsZCB3aXRoIFhDb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0NTEKCjIwMTMtMTAtMjggMTU6MDQ6MTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUmVtb3ZlIHRoZSBleHBsaWNpdCBQQVIgY2FsY3VsYXRpb24gYmFzZWQgb24gVlVJIGhlYWRlcnMKCSAgVGhlIFBBUiBjYWxjdWxhdGlvbiBiYXNlZCBvbiBWVUkgaGVhZGVycyBpcyBhbHJlYWR5IGRvaW5nIGJ5IHRoZQoJICBoMjY0IGNvZGVjcGFyc2VyIGFuZCB3ZSBkb2VzJ3QgbmVlZCB0byBkdXBsaWNhdGUgdGhvc2UgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MTEwMDkKCjIwMTMtMTAtMTcgMTI6MDU6NDQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBGaXggYW5nbGUgcHJvcGVydHkgaGVscCB0ZXh0CgkgIFRoZSBoZWxwIHRleHQgb2YgdGhlIGFuZ2xlIHByb3BlcnR5IHdhcyBwcm9iYWJseSBjb3BpZWQgZnJvbSB0aGUgY2lyY2xlCgkgIHBsdWdpbiwgZml4IGl0IHRvIG1lbnRpb24gdGhlIHJvdGF0aW9uIGRldGVybWluZWQgYnkgdGhlIGFuZ2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMzkxCgoyMDEzLTEwLTMwIDE4OjQ4OjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgIGNkYXVkaW86IHBvcnQgdG8gMS5YCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTEyMjMKCjIwMTMtMTAtMzAgMTg6MjU6NTAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCByYW5rIGZvciBtb3JlIHNvZnR3YXJlIGRlY29kZXJzCgkgIEluIEdhbGF4eSBTNCB0aGUgY29kZWNzIGxpc3QgY29udGFpbnMgc29tZSBPTVguU0VDLmZvby5zdy5kZWMKCSAgYXMgc29mdHdhcmUgZGVjb2RlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIxNAoKMjAxMy0xMC0xNyAxMjo1MzozMSArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRml4IHNldHRpbmcgYmxhY2sgYmFja2dyb3VuZCBmb3IgQVlVViBidWZmZXJzCgkgIFdoZW4gdGhlIGZyYW1lIGJ1ZmZlciBpcyBBWVVWIHdyaXRpbmcgYWxsIHplcm9zIGRvZXMgbm90IHNldCBpdCB0bwoJICBibGFjaywgaW4gWVVWIGNvbG9yc3BhY2UgMHgxMCBpcyB0aGUgYmxhY2sgbGV2ZWwgZm9yIGx1bWluYW5jZSBhbmQgMHg4MAoJICBpcyB0aGUgYmxhY2sgbGV2ZWwgZm9yIGNocm9taW5hbmNlLgoJICBGaXggc2V0dGluZyB0aGUgYmFja2dyb3VuZCB0byBibGFjayB3aGVuIHRoZSBvdXRfZnJhbWUgZm9ybWF0IGlzIEFZVVY7CgkgIGluIGFsbCB0aGUgb3RoZXIgc3VwcG9ydGVkIGZvcm1hdHMgemVyb2luZyB0aGUgZGF0YSB3aXRoIG1lbXNldCBpcyBzdGlsbAoJICB0aGUgcmlnaHQgdGhpbmcgdG8gZG8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAzOTIKCjIwMTMtMTAtMjMgMjM6MzQ6MjcgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IGZpeCBwbHVnaW4gbmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTM1CgoyMDEzLTEwLTIzIDE3OjIyOjE2ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogdXNlIHByb3BlciByZWxlYXNlIGNhbGxiYWNrIHR5cGUgaW4gQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhQbGFuYXJCeXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMTQwCgoyMDEzLTA5LTIxIDAwOjIwOjM2ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCB0cnVuY2F0ZWQgbGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNjU3CgoyMDEzLTEwLTMwIDE2OjIwOjU2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBpbiB0aGUgZWFnbCBiYWNrZW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTkKCjIwMTMtMTAtMTggMTE6NTQ6MTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYWNjZXNzIHRvIGludmFsaWQgYnVmZmVycyBpbiB0aGUgZGVjb2RpbmcgbG9vcAoJICBGbHVzaGluZyB0aGUgZGVjb2RlciBpbnZhbGlkYXRlcyBhbGwgYnVmZmVycywgc28gaXQgc2hvdWxkIGJlIGRvbmUKCSAgYWZ0ZXIgcXVpdGluZyB0aGUgZGVjb2RpbmcgbG9vcC4gT3RoZXJ3aXNlIHdlIGNhbiBqdW1wIGludG8KCSAgImZhaWxlZF9yZWxlYXNlIiBhbmQgc3RvcCBldmVyeXRoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNTYKCjIwMTMtMTAtMjggMDk6MzM6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVbmlmeSB2YWx1ZSBzZXR0aW5nCgkgIHRoZSBpbml0aWFsIHBhcl9uID0gcGFyX2QgPSAwOyB3YXMgYWx3YXlzIG92ZXJ3cml0dGVuIHNpbmNlIHRoZSBzd2l0Y2gvY2FzZQoJICBoYW5kbGVzIGFsbCB2YWx1ZXMKCSAgQW5kIHJlbW92ZSB0aGUgMCBjYXNlIChpdCdzIHRoZSBzYW1lIGhhbmRsaW5nIGFzIGRlZmF1bHQpCgoyMDEzLTEwLTI4IDA5OjMzOjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQXZvaWQgZW5kaW5nIHVwIHdpdGggdW5kZWZpbmVkIHZhbHVlcwoJICBJZiBjYXBzIGFyZW4ndCBmaXhlZCwgd2UnZCBlbmQgdXAgd2l0aCB1bmRlZmluZWQgdmFsdWVzIGZvciBmb3JtYXQKCSAgYW5kIGFsaWduLgoKMjAxMy0xMC0xMSAxMToyMzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEZW1vdGUgR1NUX0VSUk9SIHRvIEdTVF9XQVJOSU5HCgkgIGRpc2NvbnRpbnVpdGllcyBhcmUgbm90IGVycm9ycyBwZXItc2UgYW5kIHdlIGhhbmRsZSB0aGVtIGNvcnJlY3RseS4KCjIwMTMtMTAtMjUgMTE6MTE6MzAgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50CgkgIFRoaXMgcGF0Y2ggZml4ZXMgdGhyZWUgbWVtb3J5IGxlYWtzIGluIGhsc2RlbXV4LCBvbmUgdGhhdCBvY2N1cnMKCSAgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24gYW5kIHR3byB0aGF0IG9jY3VyIGR1cmluZyBlcnJvciBjb25kaXRpb25zLgoJICBUaGUgZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCBmdW5jdGlvbiBjYWxscwoJICBnc3RfZnJhZ21lbnRfZ2V0X2J1ZmZlciB3aGljaCBpbmNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQKCSAgb24gdGhlIGJ1ZmZlciBidXQgZ3N0X2hsc19kZW11eF9nZXRfbmV4dF9mcmFnbWVudCBuZXZlciBjYWxscyB1bnJlZiBvbgoJICB0aGUgYnVmZmVyLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgZWFjaCBkb3dubG9hZGVkCgkgIGZyYWdtZW50IG5ldmVyIGdldHMgdG8gemVybyBhbmQgc28gaXRzIG1lbW9yeSBpcyBuZXZlciByZWxlYXNlZC4KCSAgVGhpcyBwYXRjaCBhZGRzIGEgY2FsbCB0byBnc3RfYnVmZmVyX3VucmVmIGFmdGVyIHRoZSBmbGFncyBoYXZlIGJlZW4KCSAgdXBkYXRlZCBvbiB0aGUgYnVmZmVyLgoJICBUaGVyZSBpcyBhIGxlYWstb24tZXJyb3IgaW4gZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50IGlmIGl0IGZhaWxzCgkgIHRvIGRvd25sb2FkIHRoZSBrZXkgZmlsZS4gSWYgdGhlIGtleSBmYWlscyB0byBkb3dubG9hZCwgbnVsbCBpcwoJICByZXR1cm5lZCB3aXRob3V0IGRvaW5nIGFuIHVucmVmIG9uIHRoZSBlbmNyeXB0ZWQgZnJhZ21lbnQuIFRoZQoJICBzZW1hbnRpY3Mgb2YgZ3N0X2hsc19kZW11eF9kZWNyeXB0X2ZyYWdtZW50IGlzIHRoYXQgaXQgdGFrZXMgb3duZXJzaGlwCgkgIG9mIHRoZSBlbmNyeXB0ZWQgZnJhZ21lbnQgYW5kIHJlbGVhc2VzIGl0IGJlZm9yZSByZXR1cm5pbmcuCgkgIFRoZXJlIGlzIGEgbGVhay1vbi1lcnJvciBpbiBnc3RfaGxzX3NyY19idWZfdG9fdXRmOF9wbGF5bGlzdCBpbiB0aGUKCSAgdW5saWtlbHkgZXZlbnQgdGhhdCB0aGUgZ3N0X2J1ZmZlcl9tYXAgZmFpbHMuIEluIHRoZSAiaGFwcHkgcGF0aCIKCSAgb3BlcmF0aW9uIG9mIGdzdF9obHNfc3JjX2J1Zl90b191dGY4X3BsYXlsaXN0IHRoZSBidWZmZXIgZ2V0cyBhbiB1bnJlZgoJICBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMsIHRoZXJlZm9yZSB0aGUgZXJyb3IgY29uZGl0aW9uIG11c3QgZG8gdGhlCgkgIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4ODEKCjIwMTMtMTAtMjMgMTc6MTE6MjAgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSAgbXBlZ3RzbXV4OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NTkKCjIwMTMtMTAtMjMgMTY6NTg6NDkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3NTkKCjIwMTMtMTAtMTggMTA6MTI6NTYgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBtYWtlIGdzdF9hbWNfYXZjX3Byb2ZpbGVfZnJvbV9zdHJpbmcgcmVjb2duaXplIGFsdCBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA0MzMKCjIwMTMtMTAtMTIgMTY6MDQ6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IEZpeCBpbnZlcnRlZCBjb25kaXRpb24gaW4gc2V0Y2FwcwoKMjAxMy0xMC0xMSAxMDozMjo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTa2lwIHBhY2tldHMgd2l0aCBjb3JydXB0ZWQgbGVuZ3RoCgkgIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IHdlIGRvIGZvciBwYWNrZXRzIHdpdGggcGF5bG9hZAoKMjAxMy0xMC0xMSAxMDoyOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZhY3RvciBsYW5ndWFnZSB0YWcgZXh0cmFjdGlvbgoJICBzdWJ0aXRsaW5nIGRlc2NyaXB0b3IgbmVlZHMgdG8gYmUgdXNlZCB3aXRoIGEgZGlmZmVyZW50IG1ldGhvZCB0byBleHRyYWN0CgkgIGxhbmd1YWdlIGNvZGVzLgoKMjAxMy0xMC0xMSAxMDoyMToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIERWQiBTdWJ0aXRsaW5nIGRlc2NyaXB0b3IgKDB4NTkpCgkgIEVzc2VudGlhbGx5IHdvcmtzIGluIHRoZSBzYW1lIHZlaW4gYXMgdGhlIGlzbzYzOSBkZXNjcmlwdG9yIGNvZGUKCjIwMTMtMTAtMTAgMjI6NDY6NDggKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggYXNzZXJ0aW9uIGZhdWx0IGluIElTTyA2MzkgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA5IDE3OjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IEZpeCBzb21lIGJ5dGVzLXBlci1mcmFtZSB2cy4gYnl0ZXMtcGVyLXNhbXBsZSBtaXh1cHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY3Jhc2ggd2hlbiBoYW5kbGluZyBtdWx0aXBsZSBjaGFubmVscyBhbmQKCSAgbWlzY2FsY3VsYXRlIHRpbWVzdGFtcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk3MzQKCjIwMTMtMTAtMDggMTE6MTA6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYWtlIHN1cmUgdG8gdHJ5IHdpbmRvdy1zeXN0ZW0tYWdub3N0aWMgRUdMIGlmIG5vdGhpbmcgd2FzIGF1dG8tZGV0ZWN0ZWQKCjIwMTMtMTAtMDggMDc6NTY6MTEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbG9nIHRpbWUgZm9ybWF0IGFzIG5hbWUgaW5zdGVhZCBvZiB0aGUgbnVtYmVyCgoyMDEzLTEwLTA2IDE3OjM3OjM4ICswMjAwICBHaWxsZXMgRGFydGlndWVsb25ndWUgPGV2YUBnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2w6IEFsbG93IGRpc2FibGluZyBnc3RyZWFtZXItZWdsIGxpYnJhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTUzMQoKMjAxMy0xMC0wNSAxNDo0NTozMyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBtcGVndHMtbGliIGZvciBJU08gNjM5IGxhbmd1YWdlIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAxNDo0NTozMiArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJldHVybiBkZXNjcmlwdG9yIGluIGdldF9kZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDUgMTQ6NDU6MzEgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIElTTyA2MzkgcGFyc2luZyBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAwMDowMDo1MiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogaGFuZGxlIHN0aWNreSBkdmQgZXZlbnRzCgkgIHBhbGV0dGUtY2hhbmdlZCBldmVudHMgYXJlIG5vdyBzdGlja3kuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0NTQKCjIwMTMtMTAtMDMgMDc6NTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU21hbGwgaW1wcm92ZW1lbnQgb24gYWx3YXlzIHZhbGlkIGlmIGNvbmRpdGlvbgoJICBObyBuZWVkIHRvIGNoZWNrIGZvciAhY2FuY2VsbGVkIGFzIHRoZSBhYm92ZSBpZiBndWFyYW50ZWVzIGl0CgkgIHRvIGJlIHRydWUKCjIwMTMtMTAtMDMgMDc6NTY6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGNhbGwgX3N0b3AgaG9sZGluZyB0aGUgdXBkYXRlcyBsb2NrCgkgIEl0IHdpbGwgY2F1c2UgYSBkZWFkbG9jayBhbmQgdGhlIGNhbGVycyBmb3IgX2dldF9uZXh0X2ZyYWdtZW50CgkgIHdpbGwgYWxyZWFkeSBjYWxsIF9zdG9wIGlmIHJlcXVpcmVkIHdoZW4gX2dldF9uZXh0X2ZyYWdtZW50IGZhaWxzLgoJICBGaXhlcyAjNjkwMTQ4CgoyMDEzLTA2LTEyIDEwOjUwOjUxIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBJbXByb3ZlIGlmIGNhdXNlIHJlYWRhYmlsaXR5CgkgIEZpeGVkIHVwIHRoZSBlcnJvci1oYW5kbGluZyBjb2RlIHdoZW4gZG93bmxvYWRpbmcgZnJhZ21lbnRzLgoJICBNb2RpZmVkIHRoZSBlcnJvci1oYW5kbGluZyBjb2RlIHRvIHVzZSBwb3NpdGl2ZSBsb2dpYyB3aGVuCgkgIHRlc3RpbmcgZm9yIGNhbmNlbGxhdGlvbiBvZiB0aGUgZG93bmxvYWQgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0wOS0yNiAxNzowNToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhY3R1YWxseSByZXR1cm4gdHJ1ZSBvbiBsYXRlbmN5IHF1ZXJ5CgkgIERvIG5vdCBmb3JnZXQgdG8gc2V0IHRoZSByZXR1cm4gZm9yIGxhdGVuY3kgcXVlcnkKCjIwMTMtMDktMjYgMTY6MTM6MzMgLTAzMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogc3RvcCBmZXRjaGluZyBsaXZlIGZyYWdtZW50cyB0aGF0IGRvbid0IHlldCBleGlzdAoJICBUaGVyZSBpcyBhbiBpc3N1ZSBmb3IgbGl2ZSBzdHJlYW1zIHdoZXJlIGRvd25sb2FkX2xvb3Agd2lsbCBrZWVwCgkgIGRvd25sb2FkaW5nIHNlZ21lbnRzIHVudGlsIGl0IGdldHMgYSA0MDQgZXJyb3IgZm9yIGEgc2VnbWVudAoJICB0aGF0IGhhcyBub3QgeWV0IGJlZW4gcHVibGlzaGVkLiBUaGlzIGlzIGEgcHJvYmxlbSBiZWNhdXNlIHRoaXMKCSAgcmVxdWVzdCBmb3IgYSBzZWdtZW50IHRoYXQgZG9lc24ndCBleGlzdCB3aWxsIHByb3BhZ2F0ZSBhbGwgdGhlCgkgIHdheSBiYWNrIHRvIHRoZSBvcmlnaW4gc2VydmVyKHMpLiBUaGlzIG1lYW5zIHRoYXQgZGFzaGRlbXV4IGNhdXNlcwoJICBleHRyYSBsb2FkIG9uIHRoZSBvcmlnaW4gc2VydmVyKHMpIGZvciBzZWdtZW50cyB0aGF0IGFyZW4ndCB5ZXQKCSAgYXZhaWxhYmxlLgoJICBUaGlzIHBhdGNoIHVzZXMgYXZhaWxhYmlsaXR5U3RhcnRUaW1lLCBwZXJpb2QKCSAgYW5kIHRoZSBob3N0J3MgaWRlYSBvZiBVVEMgdG8gZGVjaWRlIGlmIGEgZnJhZ21lbnQgaXMgYXZhaWxhYmxlIHRvCgkgIGJlIHJlcXVlc3RlZCBmcm9tIGFuIEhUVFAgc2VydmVyIGFuZCBmaWx0ZXIgb3V0IHJlcXVlc3RzIGZvciBmcmFnbWVudHMKCSAgdGhhdCBhcmUgbm90IHlldCBhdmFpbGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMTAtMDMgMTM6MjY6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IGNvbnZlcnNpb24gdG8gQVZDIGlmIGEgU1BTL1BQUyBub3QgZnJvbSB0aGUgZmlyc3QgaW5kaXplcyBpcyB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc5NzQKCjIwMTMtMTAtMDIgMTA6NTU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBQb3J0IE9wZW5KUEVHIHBsdWdpbiB0byB0aGUgMi4wIEFQSQoKMjAxMy0xMC0wMiAwNTo0OTo0MyArMDMwMCAgRG9taW5payBSw7Z0dHNjaGVzIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQWRkIHN1cHBvcnQgZm9yIEk0MjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTI0MQoKMjAxMy0xMC0wMiAwNTo0OTozNCArMDMwMCAgRG9taW5payBSw7Z0dHNjaGVzIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogVXNlIGNvcnJlY3Qgc3RyaWRlcywgZXRjIGZyb20gdGhlIEdzdFZpZGVvRnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjIxMQoKMjAxMy0wOC0yMCAxNzowMzozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogc3RvcmUgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluIHppZy16YWcgb3JkZXIKCSAgUXVhbnRpemVyIG1hdHJpY2VzIGFyZSBlbmNvZGVkIGluIHppZ3phZyBzY2FuIG9yZGVyIGluIHRoZSBiaXRzdHJlYW0sCgkgIHNvIGFsd2F5cyBwYXJzZSBpdCBhcyBpdCBpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0xMC0wMiAxMTo0MDowNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgd2l0aCB0aGUgbmV3IGZpbGUgbGliZ3N0Y29kZWNwYXJzZXJzLmRlZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTEwLTAyIDExOjI0OjU4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMKCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnLXphZyBzY2FuCgkgIG9yZGVyIGludG8gcmFzdGVyIHNjYW4gb3JkZXIgYW5kIHZpY2UtdmVyc2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYyOQoKMjAxMy0wOS0zMCAxNTozMjo1NSAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJICBBZGQgZ3N0cmVhbWVyLW1wZWd0cyBwa2ctY29uZmlnIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxNDUKCjIwMTMtMDktMjkgMjM6NDM6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkgIG9wZW5jdjogZG9uJ3QgdW5yZWYgTlVMTCBjYXBzIGluIGZpbmFsaXplCgkgIEZpeGVzIGdzdC1pbnNwZWN0LTEuMCAtYSBhbmQgZ2VuZXJpYyBzdGF0ZXMgdW5pdCB0ZXN0LgoKMjAxMy0wOS0yNiAxMzozNzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkgIGlvc2Fzc2V0c3JjOiBQb3J0IHRvIDEuMCBhbmQgZml4IHNvbWUgYnVncyBvbiB0aGUgd2F5CgoyMDEzLTA5LTI2IDEzOjIxOjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBpb3Nhc3NldHNyYzogQWRkIG5ldyBlbGVtZW50IGZyb20gdGhlIEdTdHJlYW1lciBTREsgcHJvamVjdAoKMjAxMy0wOS0yMyAxNDozNjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgaU9TIHBhcnQgdG8gMS4wCgoyMDEzLTA5LTIzIDEzOjIwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGlPUyBjaGVjayBmb3IgZWdsZ2xlc3NpbmsKCjIwMTMtMDktMjMgMTE6MzU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmMgaXMgbm90IHBvcnRlZCB0byAxLjAgeWV0CgoyMDEzLTA5LTE4IDE3OjUxOjI2ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcm91bmQgd2hlbiBjYWxjdWxhdGlvbiBsZW5ndGggZnJvbSBkdXJhdGlvbgoJICBsaXZlYWRkZXIgc29tZXRpbWVzIGNhbGN1bGF0ZXMgdGhlIG9mZnNldHMgaW5jb3JyZWN0bHkgYmVmb3JlIGFkZGluZy4gVGhlCgkgIHJlc3VsdGluZyBlcnJvcnMgY2FuIGVhc2lseSBiZSBoZWFyZCB3aGVuIG1peGluZyBzaWxlbmNlIHdpdGggYSBzaW5lLgoJICBJJ20gbm90IHN1cmUgd2hhdCB0aGUgZXhhY3QgY29uZGl0aW9ucyBhcmUgdG8gdHJpZ2dlciB0aGlzLCBidXQgaXQgZGVmaW5pdGl2ZWx5CgkgIGhhcHBlbnMgd2hlbiB0aGUgYnVmZmVycyBvZiB0d28gc3RyZWFtcyBoYXZlIGEgZGlmZmVyZW50IGR1cmF0aW9uIGFuZCBidWZmZXIKCSAgbGVuZ3RoIGFuZCBkdXJhdGlvbiBkb24ndCBtYXRjaCBleGFjdGx5IGZvciBvbmUgc3RyZWFtIGJlY2F1c2Ugb2Ygcm91bmRpbmcKCSAgZXJyb3JzIChlLmcuICBkdXJhdGlvbj0wOjAwOjAwLjAyMTMzMzMzMykKCSAgSSBoYXZlIHRvIGFkbWl0LCBJIGdvdCBsb3N0IGluIHRoZSBtYXRoIHNvbWV3aGVyZSBidXQgaXQgc2VlbXMgdGhhdCBub3QKCSAgcm91bmRpbmcgaW4gZ3N0X2xpdmVfYWRkZXJfbGVuZ3RoX2Zyb21fZHVyYXRpb24oKSBjYXVzZXMgMSBzYW1wbGUgb3ZlcmxhcHMgaW4KCSAgY29uc2VjdXRpdmUgYnVmZmVycyBmcm9tIHRoZSBzYW1lIHN0cmVhbS4KCSAgV2hlbiB1c2luZyBnc3RfdXRpbF91aW50NjRfc2NhbGVfaW50X3JvdW5kKCkgaW5zdGVhZCBvZiBqdXN0IHRydW5jYXRpbmcgdGhlCgkgIHNpbmUgc291bmQgY29ycmVjdGx5IGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MzQ1CgoyMDEzLTA5LTI1IDE1OjIyOjEyICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBVc2UgZmxvYXRzIGZvciB0aGUgRVhUSU5GIGR1cmF0aW9uIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODUxCgoyMDEzLTA5LTI1IDE1OjE4OjM5ICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBXcml0ZSBFWFQtWC1WRVJTSU9OIHRhZyBpbiB0aGUgcGxheWxpc3QgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4ODUxCgoyMDEzLTA5LTE5IDE0OjUzOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICBjaGVjazogVXBkYXRlIHV2Y2gyNjRkZW11eCBmb3IgYmVoYXZpb3VyIGNoYW5nZQoJICBTaW5jZSAwMDZlN2EzNDI4YmQwOTdmYzZlNmM2NDgzMzJiZmY1ODNkZDQzNGY5IHdlIG5vIGxvbmdlciBlcnJvciBvdXQgb24KCSAgaW5jb21wbGV0ZSBhdXggc2VnbWVudC4KCjIwMTMtMDktMjcgMTQ6NDU6MDAgKzAwMDAgIFN0ZXZlIE1heW5hcmQgPHN0ZXZlQHNlY29uZHN0cnlrZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1zY3RlLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvbXBlZ3RzLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzOiBBZGQgU0NURS9FSVNTIHNlY3Rpb25zIGFuZCB0YWJsZSB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4Njg4CgoyMDEzLTA3LTI5IDA4OjEwOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFdhaXQgZm9yIHZhbGlkIFBDUi9vZmZzZXQgb2J2ZXJ2YXRpb25zCgkgIEl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQgd2UgbWlnaHQgZ2V0IFBUUy9EVFMgYmVmb3JlIHRoZSBmaXJzdAoJICBQQ1IvT2Zmc2V0IG9ic2VydmF0aW9uLgoJICBJbiBvcmRlciB0byBlbmQgdXAgd2l0aCB2YWxpZCB0aW1lc3RhbXAgd2Ugd2FpdCB1bnRpbCBhdCBsZWFzdCBvbmUKCSAgc3RyZWFtIHdhcyBhYmxlIHRvIGdldCBhIHByb3BlciBydW5uaW5nLXRpbWUgZm9yIGFueSBQVFMvRFRTLgoJICBVbnRpbCB0aGVuLCB3ZSBxdWV1ZSB1cCB0aGUgcGVuZGluZyBidWZmZXJzIHRvIHB1c2ggb3V0LgoJICBPbmNlIHdlIHNlZSBhIGZpcnN0IHZhbGlkIHRpbWVzdGFtcCwgd2UgcmUtZXZhbHVhdGUgdGhlIGFtb3VudCBvZgoJICBydW5uaW5nLXRpbWUgZWxhcHNlZCAoYmFzZWQgb24gcmV0dXJuZWQgaW5pdGFsIHJ1bm5pbmctdGltZSBhbmQgYW1vdW50CgkgIG9mIGRhdGEvRFRTIHF1ZXVlZCB1cCkgZm9yIGFueSBnaXZlbiBzdHJlYW0uCgkgIFRha2luZyB0aGUgYmlnZ2VzdCBhbW91bnQgb2YgZWxhcHNlZCB0aW1lLCB3ZSBzZXQgdGhhdCBvbiB0aGUgcGFja2V0aXplcgoJICBhcyB0aGUgaW5pdGlhbCBvZmZzZXQgYW5kIHJlY2FsY3VsYXRlIGFsbCBwZW5kaW5nIGJ1ZmZlcnMgcnVubmluZy10aW1lCgkgIFBUUy9EVFMuCgkgIE5vdGU6IFRoZSBidWZmZXIgcXVldWVpbmcgc3lzdGVtIGNhbiBhbHNvIGJlIHVzZWQgbGF0ZXIgb24gZm9yIHRoZQoJICBkdmIgZmFzdCBzdGFydCBwcm9wb3NhbCAod2hlcmUgd2UgcXVldWUgdXAgYWxsIHN0cmVhbSBwYWNrZXRzIGJlZm9yZQoJICBzZWVpbmcgUEFUL1BNVCBhbmQgdGhlbiBwdXNoIHRoZW0gb25jZSB3ZSBrbm93IGlmIHRoZXkgYmVsb25nIHRvIHRoZQoJICBjaG9zZW4gcHJvZ3JhbSkuCgoyMDEzLTA3LTA3IDE1OjA0OjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBkZXNjcmlwdG9yIGR1bXBpbmcKCjIwMTMtMDctMjYgMDc6NTQ6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBOZXcgUENSPD0+T2Zmc2V0IGVzdGltYXRpb24gY29kZQoJICBUaGlzIGFsbG93czoKCSAgKiBCZXR0ZXIgZHVyYXRpb24gZXN0aW1hdGlvbgoJICAqIE1vcmUgYWNjdXJhdGUgUENSIGxvY2F0aW9uCgkgICogT3ZlcmFsbCBtb3JlIGFjY3VyYXRlIHJ1bm5pbmctdGltZSBsb2NhdGlvbiBhbmQgY2FsY3VsYXRpb24KCSAgTG9jYXRpb24gYW5kIHZhbHVlcyBvZiBQQ1IgYXJlIHJlY29yZGVkIGluIGdyb3VwcyAoUENST2Zmc2V0R3JvdXApCgkgIHdpdGggbm90YWJsZSBQQ1IvT2Zmc2V0IG9ic2VydmF0aW9ucyBpbiB0aGVtICh3aGVuIGJpdHJhdGUgY2hhbmdlZAoJICBmb3IgZXhhbXBsZSkuIFBDUiBhbmQgb2Zmc2V0IGFyZSBzdG9yZWQgYXMgMzJiaXQgdmFsdWVzIHRvCgkgIHJlZHVjZSBtZW1vcnkgdXNhZ2UgKHRoZXkgYXJlIGRpZmZlcmVuY2VzIGFnYWluc3QgdGhhdCBncm91cCdzCgkgIGZpcnN0X3twY3J8b2Zmc2V0fS4KCSAgVGhvc2UgZ3JvdXBzIGVhY2ggY29udGFpbiBhIGdsb2JhbCBQQ1Igb2Zmc2V0IChwY3Jfb2Zmc2V0KSB3aGljaAoJICBpbmRpY2F0ZXMgaG93IGZhciBpbiB0aGUgc3RyZWFtIHRoYXQgZ3JvdXAgaXMuCgkgIFdoZW5ldmVyIG5ldyBQQ1IgdmFsdWVzIGFyZSBvYnNlcnZlZCwgd2Ugc3RvcmUgdGhlbSBpbiBhIHNsaWRpbmcKCSAgd2luZG93IGVzdGltYXRvciAoUENST2Zmc2V0R3JvdXBDdXJyZW50KS4KCSAgV2hlbiBhIHJlc2V0L3dyYXBvdmVyL2dhcCBpcyBkZXRlY3RlZCwgd2UgY2xvc2UgdGhlIGN1cnJlbnQgZ3JvdXAgd2l0aAoJICBjdXJyZW50IHZhbHVlcyBhbmQgc3RhcnQgYSBuZXcgb25lICh0aGUgcGNyX29mZnNldCBvZiB0aGF0IG5ldyBncm91cAoJICBpcyBhbHNvIGNhbGN1bGF0ZWQpLgoJICBXaGVuIGEgbm90YWJsZSBjaGFuZ2UgaW4gYml0cmF0ZSBpcyBvYnNlcnZlZCAoKy8tIDEwJSksIHdlIHJlY29yZAoJICBuZXcgdmFsdWVzIGluIHRoZSBjdXJyZW50IGdyb3VwLiBUaGlzIGlzIGEgY29tcHJvbWlzZSBiZXR3ZWVuCgkgIHN0b3JpbmcgYWxsIFBDUi9vZmZzZXQgb2JzZXJ2YXRpb25zIGFuZCBub25lLCB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lCgkgIHByb3ZpZGluZyBiZXR0ZXIgaW5mb3JtYXRpb24gZm9yIHJ1bm5pbmctdGltZTw9Pm9mZnNldCBjYWxjdWxhdGlvbgoJICBpbiBWQlIgc3RyZWFtcy4KCSAgV2hlbmV2ZXIgYSBuZXcgbm9uLWNvbnRpZ3VvdXMgZ3JvdXAgaXMgc3RhcnQgKGR1ZSB0byBzZWVraW5nIGZvciBleGFtcGxlKQoJICB3ZSByZS1ldmFsdWF0ZSB0aGUgcGNyX29mZnNldCBvZiBlYWNoIGdyb3Vwcy4gVGhpcyBhbGxvd3MgZGV0ZWN0aW5nIGFzCgkgIHF1aWNrbHkgYXMgcG9zc2libGUgUENSIHdyYXBvdmVyL3Jlc2V0LgoJICBXaGVuIHdhbnRpbmcgdG8gZmluZCB0aGUgb2Zmc2V0IG9mIGEgY2VydGFpbiBydW5uaW5nLXRpbWUsIG9uZSBjYW4KCSAgaXRlcmF0ZSB0aGUgZ3JvdXBzIGJ5IGxvb2tpbmcgYXQgdGhlIHBjcl9vZmZzZXQgKHdoaWNoIGluIGVzc2VuY2UgKmlzKgoJICB0aGUgcnVubmluZy10aW1lIG9mIHRoYXQgZ3JvdXAgaW4gdGhlIG92ZXJhbGwgc3RyZWFtKS4KCSAgT25jZSBhIGdyb3VwIChvciBuZWlnaGJvdXJpbmcgZ3JvdXBzIGlmIHRoZSBydW5uaW5nLXRpbWUgaXMgYmV0d2VlbiB0d28KCSAgZ3JvdXBzKSBpcyBmb3VuZCwgb25jZSBjYW4gdXNlIHRoZSByZWNvcmRlZCB2YWx1ZXMgdG8gZmluZCB0aGUgbW9zdAoJICBhY2N1cmF0ZSBvZmZzZXQuCgkgIFJpZ2h0IG5vdyB0aGlzIGNvZGUgaXMgb25seSB1c2VkIGluIHB1bGwtbW9kZSAsIGJ1dCBjb3VsZCBhbHNvCgkgIGJlIGFjdGl2YXRlZCBsYXRlciBvbiBmb3IgYW55IHNlZWthYmxlIHN0cmVhbSwgbGlrZSBsaXZlIHRpbWVzaGlmdAoJICB3aXRoIHF1ZXVlMi4KCSAgRnV0dXJlIGltcHJvdmVtZW50czoKCSAgKiBzb21lIGhldXJpc3RpY3MgdG8gImNvbXByZXNzIiB0aGUgc3RvcmVkIHZhbHVlcyBpbiBncm91cHMgc28gYXMgdG8ga2VlcAoJICB0aGUgbWVtb3J5IHVzYWdlIGRvd24gd2hpbGUgc3RpbGwga2VlcGluZyBhIGRlY2VudCBhbW91bnQgb2Ygbm90YWJsZQoJICBwb2ludHMuCgkgICogQWZ0ZXIgYSBzZWVrIGNvbXBhcmUgZXhwZWN0ZWQgYW5kIG9idGFpbmVkIFBDUi9PZmZzZXQgYW5kIGlmIHRoZQoJICBkaWZmZXJlbmNlIGlzIHRvbyBiaWcsIHJlLWNhbGN1bGF0ZSBwb3NpdGlvbiB3aXRoIG5ld2x5IG9ic2VydmVkCgkgIHZhbHVlcyBhbmQgc2VlayB0byB0aGF0IG1vcmUgYWNjdXJhdGUgcG9zaXRpb24uCgkgIE5vdGUgdGhhdCB0aGlzIGNvZGUgd2lsbCAqbm90KiBwcm92aWRlIGtleWZyYW1lLWFjY3VyYXRlIHNlZWtpbmcsIGJ1dAoJICB3aWxsIGFsbG93IGEgbXVjaCBtb3JlIGFjY3VyYXRlIFBDUi9ydW5uaW5nLXRpbWUvb2Zmc2V0IGxvY2F0aW9uIG9uCgkgIGFueSByYW5kb20gc3RyZWFtLgoJICBGb3IgcGFzdCAob2JzZXJ2ZWQpIHZhbHVlcyBpdCB3aWxsIGJlIGFzIGFjY3VyYXRlIGFzIGNhbiBiZS4KCSAgRm9yIGZ1dHVyZSB2YWx1ZXMgaXQgd2lsbCBiZSBiZXR0ZXIgdGhhbiB0aGUgY3VycmVudCBzaXR1YXRpb24uCgkgIEZpbmFsbHkgdGhlIG1vcmUgeW91IHNlZWssIHRoZSBtb3JlIGFjY3VyYXRlIHlvdXIgcG9zaXRpb25pbmcgd2lsbCBiZS4KCjIwMTMtMDctMDUgMTc6MTE6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogTm8gbG9uZ2VyIHVzZSBhIHByaXZhdGUgc3RydWN0CgkgIFRoZXNlIGFyZSBub3QgcHVibGljIGhlYWRlcnMsIGl0IGp1c3QgYWRkcyBjb21wbGV4aXR5IGZvciBubyByZWFzb24KCjIwMTMtMDktMjYgMTY6NTE6MjUgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBkZXJlZmVyZW5jaW5nIG9mIE5VTEwgcG9pbnRlcgoJICBPbiBzb21lIGxpdmUgSExTIHN0cmVhbXMsIGdzdF9obHNfZGVtdXhfc3dpdGNoX3BsYXlsaXN0IGNhdXNlcwoJICBhc3NlcnRpb24gZmFpbHVyZXMgYmVjYXVzZSBpdCB0cmllZCB0byBkZXJlZmVyZW5jZSBhIE5VTEwgZnJhZ21lbnQuCgkgIFRoaXMgaXMgYmVjYXVzZSBnX3F1ZXVlX3BlZWtfdGFpbCBzb21ldGltZXMgd2FzIHJldHVybmluZyBOVUxMIGFuZAoJICB0aGlzIGNhc2Ugd2FzIG5vdCBiZWluZyBjaGVja2VkLgoJICBUaGlzIHBhdGNoIGRvZXMgdHdvIHRoaW5nczoKCSAgKiBtb3ZlIHRoZSBnX3F1ZXVlX3BlZWtfdGFpbCBpbnNpZGUgdGhlIHNlbWFwaG9yZSBwcm90ZWN0aW9uCgkgICogY2hlY2sgaWYgcV9xdWV1ZV9wZWVrX3RhaWwgcmV0dXJucyBOVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NDkKCjIwMTMtMDktMjcgMTY6MTA6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IFF1ZXVlIGJ1ZmZlcnMgdW50aWwgd2UgaGF2ZSBlbm91Z2ggdG8ga25vdyB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MjIyCgoyMDEzLTA5LTE2IDExOjQ2OjI3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IHJld29yayBUUyBwYWNrZXQgc3luYyBhbmQgZXh0cmFjdGlvbgoJICBUaGUgcHJldmlvdXMgY29kZSBjb3VsZCBlbnRlciBhbiBpbmZpbml0ZSBsb29wIGJlY2F1c2UgdGhlIGFkYXB0ZXIgc3RhdGUKCSAgY291bGQgZ2V0IG91dCBvZiBzeW5jIHdpdGggaXRzIG1hcHBlZCBkYXRhIHN0YXRlIGFmdGVyIHN5bmMgd2FzIGxvc3QuCgkgIFRoZSBjb2RlIHdhcyBwcmV0dHkgY29uZnVzaW5nIHNvIGl0J3MgYmVlbiByZXdyaXR0ZW4gdG8gYmUgY2xlYXJlci4KCSAgVGhlIGVhc2llc3Qgd2F5IHRvIHJlcHJvZHVjZSB0aGUgaW5maW5pdGUgbG9vcCBpcyB0byB1c2UgdGhlIGJyZWFrbXlkYXRhCgkgIGVsZW1lbnQgYmVmb3JlIHRzZGVtdXggdG8gdHJpZ2dlciBhIHJlc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2MQoKMjAxMy0wOS0xNiAxMTo0Mjo0OCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggYnVmZmVyIG92ZXJmbG93CgkgIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGEgY29ycnVwdCBUUyBmaWxlLCBmb3VuZCB3aXRoIGJyZWFrbXlkYXRhIGVsZW1lbnQKCSAgcGx1Z2dlZCBiZWZvcmUgdHNkZW11eC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODE2MQoKMjAxMy0wOS0yNSAyMzo1Nzo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZW1vdmUgQVNfU0NSVUJfSU5DTFVERQoJICBTaG91bGRuJ3QgYmUgbmVlZGVkIGFueSBtb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3NjU4CgoyMDEzLTA5LTI1IDIwOjI1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBGaXggY29tcGlsYXRpb24gb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDEzLTA5LTI0IDE4OjMxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVBRE1FOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZiMDNiYTcgdG8gODY1YWEyMAoKMjAxMy0wOS0yNCAxNTowNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFjdHVhbGx5IHVzZSAxLjMuMC4xIGFzIHZlcnNpb24gdG8gbWFrZSBjb25maWd1cmUgaGFwcHkKCjIwMTMtMDktMjQgMTU6MDA6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4yLjAgPT09CgoyMDEzLTA5LTI0IDE0OjM3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4yLjAKCjIwMTMtMDktMjQgMTQ6Mzc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTIzIDE2OjE4OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzoKCSAgc2RwZGVtdXg6IENoYW5nZSByYW5rIHRvIE5PTkUgdW50aWwgaXQgY2FuIGJlIGF1dG9wbHVnZ2VkIHByb3Blcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0OTUKCjIwMTMtMDktMjAgMTY6MTc6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNjEzNjYxIHRvIDZiMDNiYTcKCjIwMTMtMDktMTkgMjA6MTc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvZnhiYWQuYzoKCSAgYXVkaW9meGJhZDogQ2hhbmdlIHBsdWdpbiBuYW1lIHRvIGF1ZGlvZnhiYWQgZnJvbSBhdWRpb2NoYW5uZWxtaXgKCjIwMTMtMDktMTkgMjA6MDk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgZGFzaC9zbW9vdGhzdHJlYW1pbmc6IFJlbW92ZSB1bnVzZWQgZGVidWcgY2F0ZWdvcnkgd2l0aCB0aGUgc2FtZSBuYW1lCgkgIEl0IGNhdXNlZCBzdGF0aWMgbGlua2luZyB0byBmYWlsLgoKMjAxMy0wOS0xOSAxODo0MzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzRhNjg1NyB0byBiNjEzNjYxCgoyMDEzLTA5LTE5IDE3OjM2OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDc0YTY4NTcKCjIwMTMtMDktMTkgMTY6NDQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogRml4IHN0YXRpYyBsaW5raW5nIGZvciBBbmRyb2lkIGJ5IHBhc3NpbmcgLS10YWc9Q0MgdG8gbGlidG9vbAoKMjAxMy0wOS0xOSAxMTozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuOTAgPT09CgoyMDEzLTA5LTE5IDEwOjUwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjkwCgoyMDEzLTA5LTE5IDEwOjQ2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOS0xOSAwOTo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vY3MucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDktMTggMjI6MzY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBmb3IgbmV3IEdzdENvbnRleHQgQVBJCgoyMDEzLTA5LTE4IDIyOjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFVwZGF0ZSBmb3IgbmV3IEdzdENvbnRleHQgQVBJCgoyMDEzLTA5LTE3IDE3OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgR3N0VXJpRG93bmxvYWRlciBjYW5jZWxsYXRpb24gd2hlbiByZXN0YXJ0aW5nIHRvIHBsYXkKCjIwMTMtMDktMTUgMTc6MDk6MTYgKzA1MzAgIFN1ZGlwIEphaW4gPHN1ZGlwLmphaW5Ac3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ29ycmVjdCBjb25kaXRpb24gY2hlY2sgZm9yIGN1cnJlbnQgbmV4dCBpbmRpY2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODEwNgoKMjAxMy0wOS0xMiAxMjowMzo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IGZpeCBldmVudCBvcmRlcgoJICBEZWxheSBmb3J3YXJkaW5nIHRoZSBzZWdtZW50IGV2ZW50IHVudGlsIHdlIHB1c2hlZCBjYXBzLgoJICBTZW5kIFNUUkVBTV9TVEFSVCBpbiBwdWxsIG1vZGUuCgoyMDEzLTA5LTEyIDEzOjIxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBEb24ndCBwdXQgdGhlIGxldmVsIHJlc3RyaWN0aW9ucyBvbiB0aGUgc2lua3BhZCBjYXBzCgkgIFRoZXkgdGVuZCB0byBiZSBpbmFjY3VyYXRlIGFuZCBoYXZpbmcgdGhlbSBpbiB0aGUgc2lua3BhZCBjYXBzCgkgIHByZXZlbnRzIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgd291bGQgb3RoZXJ3aXNlIHBsYXkgZmluZS4KCjIwMTMtMDktMTAgMTg6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IHJlc3BlY3Qgc2VxbnVtcyBvbiBzZWVrcwoJICBQYXNzIHRoZSBzZXFudW0gdG8gb3RoZXIgZXZlbnRzIHRoYXQgYXJlIGNvbnNlcXVlbmNlIG9mIHRoZQoJICBvcmlnaW5hbCBzZWVrIGV2ZW50CgoyMDEzLTA5LTEwIDExOjM3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogV2UgYWxzbyB3b3JrIHdpdGggT3BlbkNWIDIuNC42LjEKCjIwMTMtMDktMTAgMDg6NDg6MzIgKzAwMDAgIElhaW4gTGFuZSA8aWFpbi5sYW5lQGNhbm9uaWNhbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBTcGVjaWZ5IGRpcmVjdG9yeSB3aGVuIGluY2x1ZGluZyBzdGRhZnguaAoJICBtb2RwbHVnIHN0b3BwZWQgZXhwb3NpbmcgdGhlaXIgZGlyZWN0b3J5IGluIHRoZWlyIHBjZmlsZSwgbWVhaW5pbmcKCSAgY29uc3VtZXJzIGFjY2Vzc2luZyB0aGUgaGVhZGVycyBkaXJlY3RseSBmYWlsIHRvIGJ1aWxkLgoJICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbW9kcGx1Zy14bW1zL2dpdC9jaS83NWU5YjE2Njk4MmVkNjM3YjU5ZWY3Y2JjMTgzNWEwOWY3Njg5MjNlLwoKMjAxMy0wOS0wOSAxMzoxNDoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCBzbWFsbCBtZW0gbGVhawoKMjAxMy0wOS0wNyAyMzowOTozMSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgdXBkYXRlIHNyYyBjYXBzIGlmIG9ubHkgY29kZWNfZGF0YSBkaWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzMzMKCjIwMTMtMDktMDUgMTk6MjM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBMZXQgdGhlIGNhcHMgYmUgTlVMTCBpZiB0aGVyZSBpcyBubyBwZWVyCgoyMDEzLTA5LTA1IDE5OjIyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogTm8gbmVlZCB0byBkcm9wIHNlZ21lbnQgZXZlbnRzCgkgIEluIDEuMCwgc2VnbWVudCBldmVudHMgYXJlIHN0aWNreSBhbmQgbm90IGFkZGl0aXZlLCBubyBuZWVkIHRvIHByZXZlbnQKCSAgdGhlaXIgYWNjdW11bGF0aW9uLgoKMjAxMy0wOS0wNSAxOToxMDozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBzZW5kIGNhcHMgZXZlbnQgYmVmb3JlIHNlZ21lbnQKCjIwMTMtMDktMDQgMTA6NTg6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGNoYW5nZSBwb29sLT5zaW5rLT5sYXN0X2J1ZmZlciB0byBwb29sLT5sYXN0X2J1ZmZlcgoJICBTbyB0aGF0IEdzdEVHTEltYWdlQnVmZmVyUG9vbCBkb2VzIG5vdCBkZXBlbmQgb24gR3N0RWdsR2xlc1NpbmsKCSAgVGhlIGdvYWwgaXMgc3RpbGwgdG8gbW92ZSBpdCBpbnRvIGdzdGVnbCBsaWIKCjIwMTMtMDktMDQgMTA6NTY6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGJ1ZmZlciBwb29sIGRvZXMgbm90IG5lZWQgdG8gbWFpbnRhaW4gYSByZWYgb24gdGhlIGRpc3BsYXkKCSAgQmVjYXVzZSBpdCBkb2VzIG5vdCB1c2UgaXQgYW5kIGFsc28gaXQgbWF5IG5vdCBrbm93IGl0IHdoZW4KCSAgd2UgY3JlYXRlIHRoZSBwb29sCgoyMDEzLTA5LTA0IDEwOjUyOjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBhZGQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sU2VuZEJsb2NraW5nQWxsb2NhdGUgY2FsbGJhY2sKCSAgVGhlIGdvYWwgaGVyZSBpcyB0byBwcmVwYXJlIEdzdEVHTEJ1ZmZlclBvb2wgdG8gYmUgbW92ZWQgaW50bwoJICBnc3RlZ2wgbGliLiBTbyBpdCBoYXMgdG8gbm90IGRlcGVuZCBvbiAnZ3N0X2VnbGdsZXNzaW5rX3F1ZXVlX29iamVjdCcKCjIwMTMtMDktMDQgMTA6NDg6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogcHJlcGFyZSBnc3RfZWdsX2FkYXB0YXRpb25fYWxsb2NhdGVfZWdsaW1hZ2UgdG8gYmUgbW92ZWQKCSAgaW50byBnc3RlZ2wgbGliIG9yIHNwbGl0ZWQgYmV0d2VlbiBnc3RlZ2wgbGliIGFuZCBnc3RnbCBsaWIKCSAgYmVjYXVzZSBpdCBib3RoIGRlcGVuZHMgb24gZWdsIGFuZCBnbAoJICBTbyBpdCBoYXMgdG8gbm90IGRlcGVuZCBvbiBHc3RFZ2xBZGFwdGF0aW9uQ29udGV4dAoKMjAxMy0wOC0zMCAxMzo1NDo0MCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIHN1cHBvcnQgZm9yIHN0cmVhbS1mb3JtYXQ9YXZjMwoJICBXaGVuIG91dHB1dHRpbmcgaW4gQVZDMyBzdHJlYW0gZm9ybWF0LCB0aGUgY29kZWNfZGF0YSBzaG91bGQgbm90CgkgIGNvbnRhaW4gYW55IFNQUyBvciBQUFMsIGJlY2F1c2UgdGhleSBhcmUgZW1iZWRkZWQgaW5zaWRlIHRoZSBzdHJlYW0uCgkgIEluIGNhc2Ugb2YgYXZjLT5ieXRlc3RyZWFtIGgyNjRwYXJzZSB3aWxsIHB1c2ggdGhlIFNQUyBhbmQgUFBTIGZyb20KCSAgY29kZWNfZGF0YSBkb3duc3RyZWFtIGF0IHRoZSBzdGFydCBvZiB0aGUgc3RyZWFtLCBhdCBpbnRlcnZhbHMKCSAgY29udHJvbGxlZCBieSAiY29uZmlnLWludGVydmFsIiBhbmQgd2hlbiB0aGVyZSBpcyBhIGNvZGVjX2RhdGEgY2hhbmdlLgoJICBJbiB0aGUgY2FzZSBvZiBhdmMzLT5ieXRzdHJlYW0gaDI2NHBhcnNlIGRldGVjdHMgdGhhdCB0aGVyZSBpcwoJICBhbHJlYWR5IFNQUy9QUFMgaW4gdGhlIHN0cmVhbSBhbmQgc2V0cyBoMjY0cGFyc2UtPnB1c2hfY29kZWMgdG8gRkFMU0UuCgkgIFRoZXJlZm9yZSBhdmMzLT5ieXRzdHJlYW0gd2FzIGFscmVhZHkgc3VwcG9ydGVkLCBleGNlcHQgZm9yIHRoZSBzdHJlYW0KCSAgdHlwZS4KCSAgSW4gdGhlIGNhc2Ugb2YgYnlzdHJlYW0tPmF2YyBoMjY0cGFyc2Ugd2lsbCBnZW5lcmF0ZSBjb2RlY19kYXRhIGNhcHMKCSAgZnJvbSB0aGUgcGFyc2VkIFNQUy9QUFMgaW4gdGhlIHN0cmVhbS4gSG93ZXZlciBpdCBkb2VzIG5vdCByZW1vdmUgdGhlc2UKCSAgU1BTL1BQUyBmcm9tIHRoZSBzdHJlYW0uIGJ5dGVzdHJlYW0tPmF2YzMgaXMgdGhlIHNhbWUgYXMgYnl0ZXN0cmVhbS0+YXZjCgkgIGV4Y2VwdCB0aGF0IHRoZSBjb2RlY19kYXRhIG11c3Qgbm90IGhhdmUgYW55IFNQUy9QUFMgaW4gaXQuCgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHxzdHJlYW0tZm9ybWF0IHwgU1BTIGluLWJhbmQgfCBTUFMgaW4gY29kZWNfZGF0YSB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHwgYXZjICAgICAgICAgIHwgbWF5YmUgICAgICAgfCBhbHdheXMgICAgICAgICAgICB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIHwgYXZjMyAgICAgICAgIHwgYWx3YXlzICAgICAgfCBuZXZlciAgICAgICAgICAgICB8CgkgIHwtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS18CgkgIEFtZW5kbWVudCAyIG9mIElTTy9JRUMgMTQ0OTYtMTUgKEFWQyBmaWxlIGZvcm1hdCkgaXMgZGVmaW5pbmcgYSBuZXcKCSAgc3RydWN0dXJlIGZvciBmcmFnbWVudGVkIE1QNCBjYWxsZWQgImF2YzMiLiBUaGUgcHJpbmNpcGFsIGRpZmZlcmVuY2UKCSAgYmV0d2VlbiBBVkMxIGFuZCBBVkMzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgY29kZWMgaW5pdGlhbGlzYXRpb24KCSAgZGF0YSAoZS5nLiBTUFMsIFBQUykuIEluIEFWQzEgdGhpcyBkYXRhIGlzIHBsYWNlZCBpbiB0aGUgaW5pdGlhbCBNT09WIGJveAoJICAobW9vdi50cmFrLm1kaWEubWluZi5zdGJsLnN0c2QuYXZjMSkgYnV0IGluIEFWQzMgdGhpcyBkYXRhIGdvZXMgaW4gdGhlCgkgIGZpcnN0IHNhbXBsZSBvZiBldmVyeSBmcmFnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAwNAoKMjAxMy0wOS0wMyAxNzozNjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogRml4IGNvbXBpbGF0aW9uIHdpdGggc291bmR0b3VjaCAxLjQuMAoJICBJdCB1c2VkIEZMT0FUX1NBTVBMRVMvSU5URUdFUl9TQU1QTEVTICNkZWZpbmVzIGluc3RlYWQgb2Ygb25lcyBwcm9wZXJseQoJICBwcmVmaXhlZCB3aXRoIGEgbmFtZXNwYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzkwCgoyMDEzLTA5LTAzIDExOjE0OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyB3aW4zMiBjb25maWcuaC1uZXcKCjIwMTMtMDktMDMgMTE6MDU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFBvcnQgdGlsZWQgTlYxMiBjb252ZXJzaW9uIHRvIDEuMAoKMjAxMy0wOS0wMyAxMDo1Njo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogQWRkIEZJWE1FIGNvbW1lbnQKCjIwMTMtMDgtMTIgMTA6MTY6MTYgKzAwMDAgIEpvcmdlIEx1aXMgWmFwYXRhIDxqemFwYXRhQGZsdWVuZG8uY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgYSBuZXcgcXVhbGNvbW0gY29sb3JzcGFjZQoKMjAxMy0wOS0wMiAyMzoyODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBtaW5vciBjbGVhbi11cAoKMjAxMy0wOS0wMiAyMjo1NDozMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VuZCBldmVudHMgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkCgkgIFNvbWVvbmUgbWlnaHQgYmUgd2FpdGluZyBmb3IgY2VydGFpbiBldmVudHMgd2l0aCBhIHByb2JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MzE3CgoyMDEzLTA4LTI4IDIwOjA3OjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZGlzYWJsZSBidWZmZXIgcG9vbHMKCSAgT24gYSBkZXZpY2UgbG9zdCwgYWxsIHRoZSBzdXJmYWNlcyBhbGxvY2F0ZWQgaW4gdGhlCgkgIGRldmljZSBuZWVkIHRvIGJlIHJlbGVhc2VkIGJlZm9yZSByZXNldHRpbmcgdGhlIGRldmljZSwKCSAgd2hpY2ggY2FuJ3QgYmUgZG9uZSBmb3IgdGhlIGFsbG9jYXRlZCBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NTY2CgoyMDEzLTA5LTAyIDEzOjQwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQ2hhbmdlIGhvdyB3aW4zMi9jb21tb24vY29uZmlnLmggaXMgdXBkYXRlZAoJICBHZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmgtbmV3IGRpcmVjdGx5IGZyb20gY29uZmlnLmguaW4sCgkgIHVzaW5nIHNoZWxsIHZhcmlhYmxlcyBpbiBjb25maWd1cmUgYW5kIHNvbWUgaGFyZC1jb2RlZCBpbmZvcm1hdGlvbi4KCSAgQ2hhbmdlIHRvcC1sZXZlbCBtYWtlZmlsZSBzbyB0aGF0ICdtYWtlIHdpbjMyLXVwZGF0ZScgY29waWVzIHRoZQoJICBnZW5lcmF0ZWQgZmlsZSB0byB3aW4zMi9jb21tb24vY29uZmlnLmgsIHdoaWNoIHdlIGtlZXAgaW4gc291cmNlCgkgIGNvbnRyb2wuICBJdCdzIGtlcHQgaW4gc291cmNlIGNvbnRyb2wgc28gdGhhdCB0aGUgZ2l0IHRyZWUgaXMKCSAgYnVpbGRhYmxlIGZyb20gVlMuCgkgIFRoaXMgY2hhbmdlIGlzIHNpbWlsYXIgdG8gdGhlIG9uZSByZWNlbnRseSBhcHBsaWVkIHRvIEdTdHJlYW1lcgoJICBhbmQgZ3N0LXBsdWdpbnMtZ29vZC4gIFRoZSBwcmV2aW91cyBjb25maWcuaCBmaWxlIGluIC1iYWQgd2FzIGluCgkgIHByZXR0eSBiYWQgc2hhcGUsIHNvIHVubGlrZSBjb3JlIGFuZCBiYXNlLCBJIGRpZG4ndCBhdHRlbXB0IHRvCgkgIGxlYXZlIGl0IHN0cmljdGx5IHRoZSBzYW1lLCBidXQgZml4ZWQgaXQgYXMgbmVjZXNzYXJ5LiAgTmVlZHMKCSAgdGVzdGluZyBJIGNhbm5vdCBkbyBteXNlbGYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkwMTUKCjIwMTMtMDktMDIgMTI6MTk6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogaWdub3JlIG5ldyBhaWZmcGFyc2UgdGVzdCBiaW5hcnkKCjIwMTMtMDktMDIgMTA6Mjk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBzb3VuZHRvdWNoOiBBbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IGZsb2F0IGFuZCBpbnRlZ2VyIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzI3MAoKMjAxMy0wOC0zMCAyMTo1MjozNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgaW4gT1MgWCBTbm93IExlb3BhcmQKCSAgZ3N0ZGFzaGRlbXV4LmM6MTc1Mzogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnCgkgIGdzdGRhc2hkZW11eC5jOjIyMjQ6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2d1aW50NjQnCgkgIGdzdGRhc2hkZW11eC5jOjIyMjQ6IHdhcm5pbmc6IGZvcm1hdCAnJWxsdScgZXhwZWN0cyB0eXBlICdsb25nIGxvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDEwIGhhcyB0eXBlICdndWludDY0JwoKMjAxMy0wOC0zMCAyMTozNjoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEZpeCB3YXJuaW5ncyB3aGVuIGJ1aWxkaW5nIGluIE9TIFggU25vdyBMZW9wYXJkCgkgIGdzdG1wZHBhcnNlci5oOjUzMDogd2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUKCSAgZ3N0bXBkcGFyc2VyLmM6NDE3Nzogd2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUKCjIwMTMtMDgtMzAgMDk6MDU6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2UgY29kZWNwYXJzZXJzIG1hY3JvcwoJICBub3RlOiBJL1NJIGFsc28gY292ZXJzIHRoZSBTX0kvU19TSSB2YXJpYW50cwoKMjAxMy0wOC0yOSAxMTowMjozNyAtMDcwMCAgS2VycmljayBTdGFsZXkgPGtlcnJpY2tAa2Vycmlja3N0YWxleS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSAgZXhhbXBsZXM6IHBvcnQgZGlyZWN0ZmIgZXhhbXBsZSB0byAxLjAKCSAgZ3N0X3BhZF9nZXRfbmVnb3RpYXRlZF9jYXBzIHdhcyByZW1vdmVkIGZyb20gMS4wOwoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4gU2VlCgkgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0cmVhbWVyL3RyZWUvZG9jcy9yYW5kb20KCSAgL3BvcnRpbmctdG8tMS4wLnR4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDc0CgoyMDEzLTA4LTI5IDE1OjU1OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlIGNvbmZpZy5oCgoyMDEzLTA4LTI5IDE1OjQ2OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IG1ha2UgImxheWVyLW1vZGUiIHByb3BlcnR5IGFuIGVudW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wOC0yOSAxNDo0ODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wNi0yNiAxMTowNzoxNCArMDkwMCAgS2F6dW5vcmkgS29iYXlhc2hpIDxra29iYXlhc0BpZ2VsLmNvLmpwPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgZGZidmlkZW9zaW5rOiBwb3J0IHRvIDEuMAoJICBpbmNsdWRpbmcgdGhlIGZvbGxvd2luZyBzdXBwb3J0cyBhbmQgZml4ZXM6CgkgICogQ3JlYXRlIERpcmVjdEZCIHN1cmZhY2VzIGZyb20gR3N0QnVmZmVyUG9vbAoJICAqIEFkZCBOVjEyIHBpeGVsIGZvcm1hdCBzdXBwb3J0CgkgICogRG9uJ3QgdXNlIHRoZSBjdXJzb3IgaW4gdGhlIGV4Y2x1c2l2ZSBtb2RlCgkgIC0gRW5hYmxlQ3Vzb3IoKSBjYW4gYmUgb25seSB1c2VkIHdoZW4gdGhlIGFkbWluaXN0cmF0aXZlIG1vZGUgaXMgc2V0CgkgIGluIERpcmVjdEZCIDEuNi4wIGFuZCBsYXRlci4KCSAgKiBTdXBwb3J0IG11bHRpcGxlIHBsYW5lIHJlbmRlcmluZyBmb3IgcGxhbmFyIGNvbG9yIGZvcm1hdHMKCSAgLSBUaGlzIGFjY29tbW9kYXRlcyB0aGUgY2hyb21hIHBsYW5lIG9mZnNldHMgb2YgdGhlIGZyYW1lYnVmZmVyCgkgIGluIHBsYW5hciBmb3JtYXRzLgoJICAqIEludm9rZSBTZXRDb25maWd1cmF0aW9uIHJlZ2FyZGxlc3Mgb2YgdmlkZW8gbW9kZSBzZXR0aW5nIGluIHNldGNhcHMoKQoJICAtIFNldENvbmZpZ3VyYXRpb24oKSBtZXRob2Qgc2hvdWxkIGJlIGludm9rZWQgcmVnYXJkbGVzcyBvZgoJICB0aGUgcmVzdWx0IG9mIGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUoKSwgc2luY2UgdGhlIHR3byBhcmUKCSAgdW5yZWxhdGVkLgoJICAqIERpc2FibGUgRGlyZWN0RkIgc2lnbmFsIGhhbmRsZXIKCSAgLSAiLS1kZmI6bm8tc2lnaGFuZGxlciIgb3B0aW9uIGlzIHBhc3NlZCB0byBEaXJlY3RGQkluaXQoKS4KCSAgVGhpcyBwcmV2ZW50cyBEaXJlY3RGQiBmcm9tIHRyeWluZyB0byBraWxsIHRoZSBwcm9jZXNzIGFuZCBhbGxvd3MKCSAgR1N0cmVhbWVyJ3MgdGVybWluYXRpb24gc2VxdWVuY2UgdG8gcHJvY2VlZCBub3JtYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzUyMAoKMjAxMy0wOC0yOSAxMDoyMDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBhdmR0cHV0aWw6IFNvbWUgbWlub3IgY2xlYW51cCBhbmQgbGVhayBmaXhlcwoKMjAxMy0wOC0yOCAxNDoyNjowNCArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogc3VwcG9ydCBhYWMgaW4gYXZkdHBzcmMKCSAgU2lnbmVkLW9mZi1ieTogQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCjIwMTMtMDgtMjggMTM6MjY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjQgPT09CgoyMDEzLTA4LTI4IDEzOjA3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS40CgoyMDEzLTA4LTI4IDEzOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wOC0yOCAxMjozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vcHRfQlIucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEzLTA4LTI4IDExOjEzOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBtYXJrIGFzIHVuc3RhYmxlIEFQSQoKMjAxMy0wOC0yNyAxNzowNTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcG9zc2libGUgcmVhZCBiZXlvbmQgZW5kIG9mIGJ1ZmZlciB3aGVuIHJlc3luY2luZwoKMjAxMy0wOC0yNyAxMToyNzowNCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb25seSB1cGRhdGUgc3JjIENBUFMgd2hlbiBpdCdzIG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDUyCgoyMDEzLTA4LTIwIDExOjU5OjM0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3Qgc2V0IENBUFMgYW5kIHBhc3N0aHJvdWdoIG1vZGUgaWYgU1BTL1BQUyBoYXZlIG5vdCBiZWVuIHBhcnNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NDUyCgoyMDEzLTA4LTI2IDEzOjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3Qgc2V0IEJaMl9MSUJTIGlmIGJ6MiBpcyBub3QgZm91bmQKCjIwMTMtMDgtMjYgMTA6MjI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSAgd2VicGRlYzogU29tZSBjbGVhbnVwIGFuZCBtaW5vciBmaXhlcwoKMjAxMy0wOC0yNCAwMDo0NjozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL01ha2VmaWxlLmFtOgoJKiBleHQvd2VicC9nc3R3ZWJwLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5oOgoJICB3ZWJwOiBBZGQgV2ViUCBpbWFnZSBkZWNvZGVyIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mjg1CgoyMDEyLTA5LTAxIDIwOjQ2OjQzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogbmV3IHByb3BlcnR5IHRvIGNvbnRyb2wgYnVzIG1lc3NhZ2VzIHVwZGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTYyMgoKMjAxMy0wOC0yMyAxMjowMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5jcHA6CgkgIG9wZW5jdjogRml4IGluZGVudGlvbgoKMjAxMy0wOC0yMyAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJICBvcGVuY3Y6IFBvcnQgdG8gbm9uLWRlcHJlY2F0ZWQgR011dGV4L0dDb25kIEFQSQoKMjAxMy0wOC0yMyAxMTozODowNCArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBvcGVuY3Y6IEFkZCBkaXNwYXJpdHktbWFwIGNhbGN1bGF0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDc2MAoKMjAxMy0wOC0yMiAxNzozMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEzLTA4LTIyIDE2OjA3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIG9wZW5jdiBkZXBlbmRlbmN5LCAyLjQuNSB3b3JrcyB0b28uCgoyMDEzLTA4LTIyIDEzOjQ1OjU5ICswMjAwICBLaXNob3JlIEFyZXBhbGxpIDxraXNob3JlLmFyZXBhbGxpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCAnZGV2aWNlLW5hbWUnIHByb3BlcnR5IGZvciBzZWxlY3RpbmcgYSBhdWRpbyBkZXZpY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjU3NAoKMjAxMy0wOC0yMiAxNDo1NjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBiejIgY29uZmlndXJlIGNoZWNrIGZvciBXaW5kb3dzCgkgIER1ZSB0byBmdW5jdGlvbiBkZWNvcmF0aW9ucyBvbiBXaW5kb3dzIEFDX0NIRUNLX0xJQiBjYW4ndCBiZSB1c2VkIHRvIGNoZWNrIGZvciBiejIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD00NjU5MjQKCjIwMTMtMDgtMjEgMTQ6NDQ6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVmdXNlIG5lZ2F0aXZlIHJhdGVzIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQgeWV0CgkgIEFuZCByZW1vdmUgYSBjaGVjayB3aGljaCB3YXMgZG9uZSBiZWZvcmUKCjIwMTMtMDMtMTAgMTc6MDI6MTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IFNldCB0aGUgcHJvZ3JhbSBudW1iZXIgZnJvbSBwcm9nLW1hcAoJICBUaGUgcHJvZy1tYXAgcHJvcGVydHkgb2YgbXBlZ3RzbXV4IG9ubHkgYWxsb3dzIHlvdSB0byBncm91cCBwaWRzIHRvZ2V0aGVyIGluIGEgcHJvZ3JhbS4KCSAgVGhlIHByb2dyYW0gbnVtYmVyIHNldCBpbiB0aGUgUEFUL1BNVCB0YWJsZXMgY2Fubm90IGJlIHNldCBleHBsaWNpdGx5LgoJICBUaGlzIHBhdGNoIHdpbGwgc2V0IHRoZSBwcm9ncmFtIG51bWJlciBhY2NvcmRpbmcgdG8gdGhlIHByb2ctbWFwLgoJICBJZiBhIHByb2dyYW0gaWQgb2YgMCBpcyBnaXZlbiwgdGhlIGZpcnN0IHZhY2FudCBwcm9ncmFtIG51bWJlciBzdGFydGluZyBmcm9tIDEgd2lsbCBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjM5CgoyMDEzLTA4LTIxIDA4OjU4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogQWRhcHQgZm9yIGxhdGVzdCBtcGVndHMgbGliIGNoYW5nZXMKCjIwMTMtMDgtMjEgMDg6NTg6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogQWRhcHQgZm9yIGxhdGVzdCBtcGVndHMgbGliIGNoYW5nZXMKCjIwMTMtMDgtMjEgMDg6NDA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBBQkkvQVBJIGJyZWFrOiBVc2UgR1B0ckFycmF5IGluc3RlYWQgb2YgR0FycmF5CgkgIFdoaWxlIGl0IHdhcyBhIGdyZWF0IGlkZWEsIHZhcmlvdXMgZy1pIGJhc2VkIGJpbmRpbmdzIGRvbid0IHN1cHBvcnQKCSAgR0FycmF5IHdpdGggZW50cmllcyBncmVhdGVyIHRoYW4gc2l6ZW9mKGdwb2ludGVyKSA6KAoJICBTbyBsZXQncyBqdXN0IG1ha2UgZXZlcnlib2R5IGhhcHB5IGJ5IGp1c3QgdXNpbmcgR1B0ckFycmF5LgoJICBBbmQgc2luY2Ugd2UncmUgYnJlYWtpbmcgdGhlIEFQSSwgYWxzbyByZW5hbWUgdGhlIHZhcmlvdXMgZGVzY3JpcHRvciBmaWVsZHMKCSAgdG8gbm8gbG9uZ2VyIGhhdmUgdGhlIGRlc2NyaXB0b3JfIHByZWZpeC4KCSAgSXQgZG9lcyBjb3N0IGEgYml0IG1vcmUgaW4gdGVybXMgb2YgbWVtb3J5L2NwdSB1c2FnZSwgYnV0IG1ha2VzIGl0IHVzYWJsZQoJICBmcm9tIGJpbmRpbmdzLgoKMjAxMy0wOC0xOSAxNTozMTo1MSAtMDQwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRzcmM6IGRvbid0IGVycm9yIG91dCBvbiBpbmNvbXBsZXRlIGF1eCBkYXRhIHNlZ21lbnQKCSAgSXQgYXBwZWFycyB0aGF0IHRoZSBMb2dpdGVjaCBDOTIwIHNvbWV0aW1lcyBkcm9wcyB0aGUgbmV4dAoJICB0byBsYXN0IHNlZ21lbnQgb2YgUkFXIGF1eCBkYXRhIGNvbnRhaW5lZCB3aXRoaW4gdGhlIE1KUEVHCgkgIGNvbnRhaW5lci4gIEgyNjQgZGF0YSB0aGF0IGlzIG11bHRpcGxleGVkIHdpdGggaW4gdGhlIHNhbWUKCSAgY29udGFpbmVyIGRvZXMgbm90IGFwcGVhciB0byBiZSBhZmZlY3RlZC4gIFRoaXMgYXBwZWFycyB0bwoJICBiZSBhIGJ1ZyBpbiB0aGUgTG9naXRlY2ggQzkyMCBmaXJtd2FyZSBhbmQgdXZjaDI2NHNyYyBzaG91bGQKCSAgbm90IGVycm9yIG91dCBpbiB0aGlzIGNhc2UuCgkgIFNvbWV0aW1lcyBpdCBjYW4gdGFrZSAyNCBob3VycyBvZiBjb250aW51b3VzIHN0cmVhbWluZyBmb3IKCSAgdGhlIHByb2JsZW0gdG8gb2NjdXIsIGJ1dCBzb21ldGltZXMgaXQgdGFrZXMgb25seSBhIGNvdXBsZQoJICBvZiBob3Vycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjI3NgoKMjAxMy0wOC0yMCAxNjowMTo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IFVzZSBpbnB1dCBmcmFtZXJhdGUgd2hlbiBwb3NzaWJsZQoJICBpZiBpbnB1dCBpcyAzMDAwMC8xMDAxIC4uLiB1c2UgMjQwMDAvMTAwMSBhcyB0aGUgb3V0cHV0IGZpeGF0ZWQgZnJhbWVyYXRlCgoyMDEzLTA4LTE1IDExOjQ1OjM0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBoYW5kbGUgcHVibGlzaGVyLCBpbnRlcnByZXRlZC1ieSBhbmQgbXVzaWNhbC1rZXkgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTk5CgoyMDEzLTA4LTIwIDEzOjI5OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggc3dpdGNoIHN0YXRlbWVudCBpbiBsZXZlbCBkZXRlY3Rpb24gY29kZQoJICBQcm9wZXJseSBmYWxsIHRocm91Z2ggdGhlIGNhc2VzIHdpdGhvdXQgcmUtYXNzaWduaW5nIHRoZSBsZXZlbCB0bwoJICB0aGUgd3JvbmcgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYzNjkKCjIwMTMtMDgtMTkgMTc6MjM6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRm9yd2FyZCBzZWdtZW50IGV2ZW50IGFmdGVyIGNhcHMKCSAgU3RvcmUgaXQgdW50aWwgd2Uga25vdyB3aGF0IG91ciBjYXBzIGFyZS4KCjIwMTMtMDgtMjAgMDA6MjY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdDogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gYWlmZnBhcnNlIHRlc3Qgb24gMzItYml0IHg4NgoKMjAxMy0wOC0xOSAwOToyNToyMCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBjb3B5cmlnaHQKCjIwMTMtMDgtMTcgMDA6MjI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGxlYWtzIGluIGFpZmZwYXJzZSB1bml0IHRlc3QKCjIwMTMtMDgtMTcgMDA6MDk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBzdGF0ZSBjaGFuZ2Ugb3JkZXIgaW4gYWlmZnBhcnNlIHRlc3QKCSAgRG8gc3RhdGUgY2hhbmdlcyBmcm9tIHNpbmsgdG8gc3JjLiBGaXhlcyByYWNlIGNvbmRpdGlvbiBpbgoJICBwdWxsIG1vZGUgdGVzdCB3aGVyZSB0aGUgc291cmNlIHdpbGwgc3RhcnQgdXAgYW5kIHB1c2ggYnVmZmVycwoJICB0byBxdWV1ZS9pZGVudGl0eSBvciBhaWZmcGFyc2UgYmVmb3JlIHRoZSBtYWluIHRocmVhZCBoYXMKCSAgbWFuYWdlZCB0byBzZXQgdGhlbSB0byBwbGF5aW5nIHlldC4KCjIwMTMtMDgtMTIgMTg6MzM6MzkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9zMTZiZS1pZDN2Mi5haWZmOgoJICBhaWZmcGFyc2U6IGFkZCB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTE3IDAwOjIzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZG9uJ3QgbGVhayBhZGFwdGVyCgoyMDEzLTA4LTE1IDEzOjU4OjQ4ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogcy9uZXdzZWdtZW50L3NlZ21lbnQvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTMgMTg6NDI6NTUgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggcHVzaCBtb2RlCgkgIEZpeCBwdXNoIG1vZGUgYnkgaGFuZGxpbmcgc2luayBldmVudHMgKENBUFMsIFNFR01FTlQpIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkzCgoyMDEzLTA4LTE2IDE1OjQxOjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBSZXBhcnNlIHRoZSBjb25maWcgaWYgdGhlIHNpemUgY2hhbmdlZAoJICBBbHNvIG9ubHkgcmUtaXNzdWUgdGhlIGNhcHMgdXBkYXRlIGlmIHRoZSBwYXJ0IG9mIHRoZSBjb25maWcgdGhhdAoJICBjaGFuZ2VkIGlzIG9uZSB3ZSBjYXJlIGFib3V0LgoKMjAxMy0wOC0xNiAxOTo0ODowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogZml4IGJ1ZmZlcnMgYmVpbmcgZHJvcHBlZCBkdWUgdG8gc2hhZG93ZWQgdmFyaWFibGUKCSAgU3BvdHRlZCBieSBnc3RibHViQGdtYWlsLmNvbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjA5MQoKMjAxMy0wOC0wOCAxMToxOTowMCArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogb2Zmc2V0IHNlZ21lbnQgbnVtYmVycyBieSBzdGFydE51bWJlcgoJICBGb3IgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnRzIGNvbnRhaW5pbmcgYSBzdGFydE51bWJlciBhdHRyaWJ1dGUsIHRoZQoJICBgbnVtYmVyJyBtZW1iZXIgb2YgR3N0TWVkaWFTZWdtZW50cyBzaG91bGQgYmUgb2Zmc2V0IGJ5IHRoZSB2YWx1ZSBvZgoJICBzdGFydE51bWJlcjsgaG93ZXZlciwgdGhpcyBpcyBub3QgY3VycmVudGx5IHRoZSBjYXNlLiBBcyBhIHJlc3VsdCwgdGhlCgkgIGZpcnN0IFVSSShzKSByZXF1ZXN0ZWQgYnkgdGhlIGRvd25sb2FkIGxvb3Agd2lsbCBiZSB3cm9uZy4KCSAgVGhpcyBjb21taXQgZW5zdXJlcyB0aGF0IHNlZ21lbnQgbnVtYmVycyB3aWxsIGJlIG9mZnNldCBieSBzdGFydE51bWJlcgoJICB3aGVuIG9uZSBpcyBwcmVzZW50IGluIGEgU2VnbWVudFRlbXBsYXRlIGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjEKCjIwMTMtMDgtMDggMTU6MTk6MTUgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBpbmNvcnJlY3QgdGltZXN0YW1wIHNjYWxpbmcuCgkgIFdoZW4gdXNpbmcgYSBTZWdtZW50VGVtcGxhdGUgZWxlbWVudCwgdGhlIHRpbWVzdGFtcHMgb2YgdGhlIGJ1ZmZlcnMKCSAgb3V0cHV0IGJ5IGRhc2hkZW11eCBhcmUgaW5jb3JyZWN0LCBjYXVzaW5nIHByb2JsZW1zIGRvd25zdHJlYW0uCgkgIFRoZSByZWFzb24gaXMgdGhhdCBHc3RNZWRpYVNlZ21lbnQgc3RhcnQgdGltZXMgYXJlIGNhbGN1bGF0ZWQgKGluCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2NodW5rX2J5X2luZGV4KSBieSBtdWx0aXBseWluZyBzZWdtZW50IGluZGV4IGJ5CgkgIHNlZ21lbnQgZHVyYXRpb24gYW5kIHRoZW4gc2NhbGluZyB0aGUgcmVzdWx0IGFjY29yZGluZyB0aGUgYHRpbWViYXNlJwoJICBhdHRyaWJ1dGUgZnJvbSB0aGUgTVBELiBIb3dldmVyLCB0aGUgc2VnbWVudCBkdXJhdGlvbiBpcyBhbHJlYWR5IGEKCSAgR3N0Q2xvY2tUaW1lIChpLmUuLCBpdCBoYXMgYWxyZWFkeSBiZWVuIHNjYWxlZCBhY2NvcmRpbmcgdG8gdGhlIHRpbWViYXNlCgkgIGZyb20gdGhlIE1QRCBhbmQgY29udmVydGVkIHRvIGEgbmFub3NlY29uZCB2YWx1ZSksIHNvIG11bHRpcGx5aW5nIGl0IGJ5CgkgIHRoZSBzZWdtZW50IGluZGV4IHdpbGwgZ2l2ZSB0aGUgY29ycmVjdCB0aW1lc3RhbXAgd2l0aG91dCB0aGUgbmVlZCBmb3IKCSAgYW55IGZ1cnRoZXIgc2NhbGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3OQoKMjAxMy0wOC0xNSAyMDoxMjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBhbm90aGVyIG9ic29sZXRlIGV4YW1wbGUKCjIwMTMtMDgtMTUgMTU6NDY6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICBleHQ6IFVzZSBuZXcgZmx1c2ggdmZ1bmMgb2YgdmlkZW8gY29kZWMgYmFzZSBjbGFzc2VzIGFuZCByZW1vdmUgcmVzZXQgaW1wbGVtZW50YXRpb25zCgoyMDEzLTA4LTE0IDE5OjEyOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkgIGV4YW1wbGVzOiByZW1vdmUgcHJlaGlzdG9yaWMgZXhhbXBsZXMKCjIwMTMtMDgtMTQgMTg6MTc6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJICBpbnRlcmF1ZGlvc3JjOiBtYWtlIHNpbGVuY2UgbWVtb3J5IGFjdHVhbGx5IGNvbnRhaW4gc2lsZW5jZQoJICBpbnN0ZWFkIG9mIHJhbmRvbSBkYXRhLiBSZXBvcnRlZCBieSBNYXJjbyBNaWNoZWxldHRpIG9uCgkgIGdzdHJlYW1lci1kZXZlbC4KCjIwMTMtMDgtMTQgMTM6Mjc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogZml4IGNyaXRpY2FscyB3aGVuIHRyeWluZyB0byBjYXN0IGEgR3N0UGFkIHRvIGEgR3N0RWxlbWVudAoJICBtZXNzYWdlLT5zcmMgbWlnaHQgYmUgYSBHc3RQYWQuIE9ic2VydmVkIGR1cmluZyBnc3QtaW5zcGVjdC0xLjAgLWEKCjIwMTMtMDgtMTQgMTM6NTk6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBVcGRhdGUgZm9yIG5ldyBmaWxlcyB0byBpZ25vcmUKCjIwMTMtMDgtMTQgMTM6NDE6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBwZXNwYXJzZTogUmVmYWN0b3J5IHNlY29uZGFyeSBQRVMgZXh0ZW5zaW9uIGhhbmRsaW5nCgkgIFNvbWUgc3RyZWFtcyBoYWQgd3JvbmcgdmFsdWVzIGZvciB0aGUgc3RyZWFtX2lkX2V4dGVuc2lvbiwgbWFrZSBzdXJlCgkgIHdlIG9ubHkgcmVtZW1iZXIgdGhlIHZhbGlkIG9uZXMuCgkgIEZvciBzdHJlYW1zIHdpdGggUEVTX2V4dGVuc2lvbl9maWVsZF9sZW5ndGggPT0gMCwgYXNzdW1lIHRoZXJlJ3Mgbm90aGluZwoJICBlbHNlLgoJICBGb3Igc3RyZWFtcyB0aGF0IHN0YXRlIHRoZXkgaGF2ZSBhIFRSRUYgZXh0ZW5zaW9uIGJ1dCBkb24ndCBoYXZlIGVub3VnaAoJICBkYXRhIHRvIHN0b3JlIGl0LCBqdXN0IGFzc3VtZSBpdCB3YXMgcHJvZHVjZWQgYnkgYSBub24tY29tcGxpYW50IG11eGVyCgkgIGFuZCBza2lwIHRoZSByZW1haW5pbmcgZGF0YS4KCSAgT25seSBzdG9yZSByZW1haW5pbmcgZGF0YSBpbiBzdHJlYW1faWRfZXh0ZW5zaW9uX2RhdGEgaW5zdGVhZCBvZiBzdG9yaW5nCgkgIGRhdGEgd2UgYWxyZWFkeSBwYXJzZS4KCjIwMTMtMDgtMTQgMTA6NDc6MzEgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFJlbW92ZSB1bm5lZWRlZCB1bnJlZiBhbmQgb25seSBzZXQgcGFkIGNhcHMgaWYgd2UgaGF2ZSBjYXBzCgkgIEZpeGVzIGNyYXNoZXMgZHVlIHRvIGludmFsaWQgdW5yZWZzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTU3CgoyMDEzLTA4LTE0IDEwOjM5OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogRml4IHBlcyBleHRlbnNpb24gZGF0YSBsZW5ndGggY2hlY2sKCSAgQW5kIHJlbW92ZSBsZW5ndGgvZGF0YSB1cGRhdGVzICh3ZSB1c2UgdGhlIGhlYWRlciBzaXplIGp1c3QgYmVsb3cgdG8KCSAgcHJvcGVybHkgc2V0IHRoZW0pLgoJICBCYXNlZCBvbiBmZWVkYmFjayBmcm9tIFN0YXMgU2VyZ2VldiA8c3RzcEBsaXN0LnJ1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzQzCgoyMDEzLTA4LTE0IDEwOjMzOjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcGVzcGFyc2U6IFJlbW92ZSB1bnVzZWQgYXJndW1lbnQKCSAgV2UgYWx3YXlzIHByb3ZpZGVkIDAgYXMgdGhlIG9mZnNldCBhbmQgbmV2ZXIgdXNlZCB0aGUgcmV0dXJuZWQgdmFsdWUuCgkgIEJhc2VkIG9uIGZlZWRiYWNrIGZyb20gU3RhcyBTZXJnZWV2IDxzdHNwQGxpc3QucnU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNDMKCjIwMTMtMDgtMTMgMTc6NDc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlOiB0dXJuIGludGVybmFsIGNvbnNpc3RlbmN5IGNoZWNrIGludG8gYSBnX2Fzc2VydCgpCgkgIFdlIG9ubHkgY2hlY2sgaW5wdXQgZnJvbSB0aGUgQVBJIHVzZXIgd2l0aCBnX3JldHVybl8qX2lmX2ZhaWwoKS4KCSAgSW50ZXJuYWwgc2FuaXR5IGNoZWNrcyBzaG91bGQgdXNlIGdfYXNzZXJ0KCkgaW5zdGVhZCwgd2hpY2ggaXMKCSAgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3IgcmVsZWFzZXMuCgoyMDEzLTA4LTEzIDE3OjQ1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IG1pbm9yIGRvYyBmaXhlcwoKMjAxMy0wOC0xMyAxMjo0MToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGdzdF9kYXRhX3F1ZXVlX3B1c2hfZm9yY2UgZm9yIGFkZGluZyBldmVudHMgdG8gcXVldWUKCSAgVGhpcyBwcmV2ZW50cyBsb2NraW5nIG9uIHN0YXJ0dXAgd2hlbiBhIHN0cmVhbSBvbmx5IGhhcyBhIHNpbmdsZSBidWZmZXIKCSAgZm9yIG9uZSBvZiB0aGUgc3RyZWFtcyBhbmQgbXNzZGVtdXggZGVjaWRlcyB0byBwdXNoIGFuIEVPUyBldmVudCByaWdodAoJICBhZnRlciBpdC4KCjIwMTMtMDgtMDggMTM6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVzZSBwdXNoX2ZvcmNlIHdoZW4gYWRkaW5nIGV2ZW50cyB0byB0aGUgZGF0YXF1ZXVlCgkgIFRoaXMgcHJldmVudHMgZGVhZGxvY2tzIG9uIHN0YXJ0dXAgb24gZmlsZXMgdGhhdCBoYXZlIG9ubHkgYSB2ZXJ5CgkgIGxhcmdlIGJ1ZmZlciBmb3IgYSBzdHJlYW0gYW5kIHRoZSBxdWV1ZSBpcyBmaWxsZWQgYW5kIHdpbGwgbG9jayBvbgoJICB0aGUgZW9zIGV2ZW50IHRoYXQgaXMgcHVzaGVkIGFmdGVyIHRoZSBidWZmZXIuIEFzIG5vIGJ1ZmZlcnMgaGF2ZSB5ZXQKCSAgYmVlbiBwdXNoZWQgdG8gb3RoZXIgc3RyZWFtcywgdGhlIHBpcGVsaW5lIGxvY2tzIG9uIHByZXJvbGwKCjIwMTMtMDctMzAgMTU6MTc6MjMgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzdXBwb3J0IGZpZWxkIGVuY29kaW5nIGZvciBpbnRlcmxhY2VkIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUxNDQKCjIwMTMtMDgtMTIgMDE6MDI6NTEgLTA0MDAgIEFsZXhhbmRyZSBSb3N0b3Z0c2V2IDx0ZXRyb21pbm9AZ2VudG9vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbmVvbmh0dHBzcmM6IGFsbG93IGJ1aWxkaW5nIHdpdGggbmVvbi0wLjMwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU4MTIKCjIwMTMtMDgtMTIgMTI6Mjc6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogTGV0IHBhY2tldHMgdGhyb3VnaCB3aXRob3V0IHRvdWNoaW5nIHRoZW0gaWYgbm8gY3J5cHRvIG9yIGF1dGggaXMgc2V0CgoyMDEzLTA4LTEyIDEyOjI3OjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBSZWZhY3RvciBjb2RlIGEgYml0CgkgIFNpbXBsaWZ5IHRoZSBlcnJvciBoYW5kbGluZyBjYXNlIGFuZCBnZXQgdGhlIHBhY2tldCBwdXNoIG91dCBvZiB0aGUgaWYoKQoKMjAxMy0wOC0xMiAxMTo1NjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgZXJyb3Igb24gaW52YWxpZCBwYWNrZXQsIGp1c3QgZHJvcCBpdAoKMjAxMy0wOC0wNyAxNTowMTozMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogRml4IHRoZSBTZXF1ZW5jZUxheWVyIGhhbmRsaW5nIGZvciBhZHZhbmNlZCBwcm9maWxlLgoJICBUaGUgU2VxdWVuY2UgSGVhZGVyIERhdGEgU3RydWN0dXJlIFNUUlVDVF9DIGZvciBBZHZhbmNlZCBQcm9maWxlCgkgIGhhcyBvbmx5IGEgb25lIHZhbGlkIGZpZWxkIHdoaWNoIGlzIHRoZSBwcm9maWxlIGluZGljYXRvci4gRG9uJ3QKCSAgdXNlIHRoZSByZXNlcnZlZCBmaWVsZHMgZm9yIGZwcyB1cGRhdGUgbGlrZSBTaW1wbGUvTWFpbiBwcm9maWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjY3CgoyMDEzLTA4LTA3IDE0OjUyOjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggc2VxIGhkciBTVFJVQ1RfQSBoYW5kbGluZyBmb3IgYWR2YW5jZWQgcHJvZmlsZS4KCSAgVGhlIFNlcXVlbmNlIEhlYWRlciBEYXRhIFN0cnVjdHVyZSBTVFJVQ1RfQSBmb3IgYWR2YW5jZWQgcHJvZmlsZQoJICBtYXkgYmUgZWlnaHQgY29uc2VjdXRpdmUgemVybyBieXRlcy5Eb24ndCB0cnkgdG8gb3ZlcnJpZGUgdGhlCgkgIHdpZHRoIGFuZCBoZWlnaHQgdmFsdWVzIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2NwoKMjAxMy0wOC0wNyAxMDoxNDoyMCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBTU05EIGRhdGEgc2l6ZQoJICBBSUZGIGNodW5rIHNpemUgZG9lcyBub3QgaW5jbHVkZSB0aGUgY2h1bmsgaGVhZGVyIHNpemUgKDggYnl0ZXMpLCBzbyB0aGUKCSAgU1NORCBkYXRhIHNpemUgaXMgZXF1YWwgdG8gdGhlIGNodW5rIHNpemUgbWludXMgdGhlIFNTTkQgaGVhZGVyIHNpemUgKDgKCSAgYnl0ZXMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc1CgoyMDEzLTA3LTEzIDAyOjUwOjUyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIHJlZGlyZWN0aW9ucwoKMjAxMy0wOC0wMiAyMDozNzozMCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlbmQgY29kZWMgdGFnIGZvciBlYWNoIHN0cmVhbQoKMjAxMy0wOC0xMCAyMTozNDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJICB0ZXN0czogdXZjaDI2NGRlbXV4OiBzZW5kIHN0cmVhbS1zdGFydCBldmVudHMgYW5kIGZpeCBldmVudCBvcmRlcgoKMjAxMy0wOC0xMCAyMTozMzozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRtanBnZGVtdXg6IGZpeCBldmVudCBvcmRlcmluZwoKMjAxMy0wOC0xMCAyMDowMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBtcGxleDogZml4ICdHb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQnIGZhaWx1cmUKCjIwMTMtMDgtMTAgMTk6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJICB0ZXN0czogbXBlZzJlbmM6IGZpeCAnR290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50JyBmYWlsdXJlCgoyMDEzLTA4LTEwIDE5OjQ0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IENBUFMgcXVlcnkKCSAgV2FzIGNhdXNpbmcgY3JpdGljYWxzIGluIGRlY29kZWJpbi9wbGF5YmluIGJlY2F1c2UgdGhlIGNhcHMKCSAgcXVlcnkgZG9uZSB3aGVuIGV4cG9zaW5nIHBhZHMgd291bGQgcmV0dXJuIEFOWSBjYXBzLgoKMjAxMy0wOC0xMCAxOTo0Mzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGRvbid0IHVucmVmIE5VTEwgYnVmZmVyCgoyMDEzLTA4LTA3IDE5OjA4OjMzICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogc2V0IG1pc3NpbmcgbGF5b3V0IGZpZWxkIGluIHNyY3BhZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDcgMTc6Mjg6MjkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzZW5kIHN0YXJ0IHN0cmVhbSBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTA2IDE2OjUzOjM3ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGJ1ZmZlcnMgaW5pdGlhbGlzYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wMiAxNDoxMTowMSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYWRkIHN1YmRpci1vYmplY3RzIHRvIEFNX0lOSVRfQVVUT01BS0UKCSAgRml4ZXMgd2FybmluZ3Mgd2l0aCBhdXRvbWFrZSAxLjE0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA5IDIwOjEyOjA5ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjcmVhdGUvcmVtb3ZlIG9yYyBkaXJlY3RvcnkgYXQgcHJvcGVyIHRpbWUKCSAgQmVmb3JlIGF1dG9tYWtlIGNyZWF0ZXMgLmRlcHMgZGlyZWN0b3JpZXMsIGFuZCBkdXJpbmcgZGlzdGNsZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA5IDIwOjEwOjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBiYXNlYXVkaW92aXN1YWxpemVyIHRlc3Qgd2l0aCBzdWJkaXItb2JqZWN0cyBvcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTM1MAoKMjAxMy0wOC0wNyAwOTowNDozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIHNsaWNlIHR5cGUgdG8gZGV0ZXJtaW5lIGlmIGZyYW1lIGlzIGtleWZyYW1lCgkgIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHByZS1iYXNlcGFyc2UtcmVmYWN0b3JpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTU5OAoKMjAxMy0wOC0wMyAxNDoyMDo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvIG5vdCB0cmlnZ2VyIGNhcHMgdXBkYXRlIGlmIHdlIG9ubHkgaGF2ZSBQUFMgdXBkYXRlcwoJICBVcGRhdGluZyBjYXBzIHJlc3VsdHMgaW4gZG93bnN0cmVhbSBlbGVtZW50cyBwb3RlbnRpYWxseSByZWNvbmZpZ3VyaW5nIHRoZW1zZWx2ZXMKCSAgKHN1Y2ggYXMgZGVjb2RlcnMpLiBJZiB3ZSBkbyB0aGlzIGluIHRoZSBtaWRkbGUgb2Yga2V5ZnJhbWVzLCB3ZSB3b3VsZCByZXN1bHQKCSAgaW4gdGhvc2UgZWxlbWVudHMgYmVpbmcgcmVjb25maWd1cmVkIGFuZCBoYW5kbGluZyBnYXJiYWdlIHVudGlsIHRoZSBuZXh0IGtleWZyYW1lLgoJICBJbnN0ZWFkIG9mIHRoaXMgb25seSBzZW5kIChwb3RlbnRpYWxseSkgbmV3IGNvZGVjX2RhdGEgd2hlbiB3ZSBoYXZlICpib3RoKiBTUFMgYW5kCgkgIFBQUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTMzMwoKMjAxMy0wNy0zMSAxMTo1NjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IHF1aWV0IEZJWE1FIHdoZW4gaXQncyBub3QgcmVsZXZhbnQKCjIwMTMtMDctMzEgMTE6NTQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBpbXBsZW1lbnQgbmV3IGVkZ2UtZGlyZWN0ZWQgdXBzYW1wbGluZwoKMjAxMy0wOC0wMyAxODowNzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcmVtb3ZlIHVzZSBvZiBfWE9QRU5fU09VUkNFCgkgIFdoaWNoIGNhdXNlcyBwcm9ibGVtcyB3aGVuIHVzZWQgd2l0aCBfR05VX1NPVVJDRSBhcHBhcmVudGx5LCBhbmQgaXQKCSAgc2VlbXMgaXQgd2FzIG9ubHkgc2V0IGJlY2F1c2Ugb2YgdXNsZWVwKCksIHdoaWNoIHdlIGNhbiBqdXN0IHJlcGxhY2UKCSAgd2l0aCBnX3VzbGVlcCgpIHVudGlsIHdlIGdldCByaWQgb2YgdGhvc2UgZW50aXJlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUyMDgKCjIwMTMtMDgtMDIgMTU6MTI6MTcgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IHJldHVybiBHU1RfRkxPV19FT1MgaW4gYXZkdHBzcmMgY3JlYXRlIHdoZW4gc3RyZWFtIGlzIEVPRgoJICBTaWduZWQtb2ZmLWJ5OiBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzQ5CgoyMDEzLTA4LTAxIDExOjAxOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IExvb2sgaGFyZGVyIGZvciBuZXh0IHN5bmMgcG9zaXRpb24KCSAgSWYgZXZlciB3ZSBsb3NlIHN5bmMsIHdlIHdlcmUganVzdCBjaGVja2luZyBmb3IgdGhlIG5leHQgMHg0NyBtYXJrZXIgLi4uCgkgIHdoaWNoIG1pZ2h0IGFjdHVhbGx5IGhhcHBlbiB3aXRoaW4gYSBtcGVnLXRzIHBhY2tldC4KCSAgSW5zdGVhZCBjaGVjayBmb3IgMyByZXBlYXRpbmcgMHg0NyBhdCB0aGUgZXhwZWN0ZWQgcGFja2V0IHNpemUgaW50ZXJ2YWwsCgkgIHdoaWNoIHRoZSBzYW1lIGxvZ2ljIHdlIHVzZSB3aGVuIHdlIGluaXRpYWxseSBsb29rIGZvciB0aGUgcGFja2V0IHNpemUuCgoyMDEzLTA4LTAxIDEwOjU4OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBQQ1IgTFVUIHRhYmxlCgkgIFdlIHdlcmUgb25seSByZXNldHRpbmcgdGhlIGZpcnN0IDUxMiB2YWx1ZXMgb2YgdGhlIGxvb2t1cCB0YWJsZSBpbnN0ZWFkCgkgIG9mIHRoZSB3aG9sZSA4MTkyLgoJICBUaGlzIHJlc3VsdGVkIGluIGFueSBQQ1IgUElEIG92ZXIgMHgwMjAwIC4uLiBlbmRpbmcgdXAgdGFraW5nIHRoZSBmaXJzdCBQQ1IKCSAgdGFibGUgYXJvdW5kIDooCgoyMDEzLTA3LTMwIDIyOjA2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm9wZXJseSBlcnJvciBvdXQgd2hlbiBtYW5pZmVzdCBoYXMgbm8gc3RyZWFtcwoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgbWFuaWZlc3QgaXMgcGFyc2VkIGFuZCBubyB2YWxpZCBzdHJlYW1zCgkgIGFyZSBmb3VuZCBiZSBhY3RpdmF0ZWQgYW5kIHVzZWQuCgkgIEZpeGVzICM3MDQzMDgKCjIwMTMtMDctMzAgMTY6MDg6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHM6IHByaXZhdGUvdGVsZXRleHQgLT4gYXBwbGljYXRpb24veC10ZWxldGV4dAoKMjAxMy0wNy0yOSAyMToyNToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZQoKMjAxMy0wNy0yOSAyMToyNDo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IGV4YW1wbGUgYmluYXJpZXMKCjIwMTMtMDctMjkgMjE6MjM6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3N2LnBvOgoJKiBwby92aS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDctMjkgMTQ6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjMgPT09CgoyMDEzLTA3LTI5IDEzOjUyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4zCgoyMDEzLTA3LTI5IDEzOjUyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA3LTI5IDEyOjE3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpOiBGaXggaGFuZGxpbmcgb2YgdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTI6MTQ6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgZ3N0OiBEb24ndCBzd2FwIHN0YXJ0L3N0b3AgZm9yIG5lZ2F0aXZlIHJhdGVzIGluIHRoZSBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMTowMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMDk6MzU6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJICBhbGw6IEZpeCBmb3IgR1NUX0RJU0FCTEVfR1NUX0RFQlVHCgkgIFdoZXJlIGFwcGxpY2FibGUsIHJlbW92ZSBtZXRob2RzIHRoYXQgZG9uJ3QgZG8gYW55dGhpbmcgZGlmZmVyZW50IHRoYW4KCSAgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgoyMDEzLTA3LTI5IDA4OjQ2OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBkb2NzL3NwZWM6IFJlYWxseSByZW1vdmUgYWxsIG1lbnRpb25zIG9mIENFTFQgcGx1Z2luCgoyMDEzLTA3LTI5IDA4OjI5OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU2hvdyBOQUxVIHN0cmluZyB0eXBlIGluIGRlYnVnIG1lc3NhZ2VzCgkgIElmIHlvdSBrbm93IHRoZSBOQUxVIHR5cGUgYnkgaGVhcnQgSSB0aXAgbXkgaGF0IHRvIHlvdSwgZm9yIHRoZSByZXN0IG9mCgkgIHVzIG1lcmUgbW9ydGFscyB0aGlzIGlzIGEgYml0IG1vcmUgaGVscGZ1bAoKMjAxMy0wNy0yOSAwODoyODoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdW51c2VkIG1hY3JvcwoKMjAxMy0wNy0yOSAwODoyMzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIG1vcmUgQUMzIGRldGVjdGlvbiBjYXNlcwoJICBBVFNDIGFjMyBzdHJlYW1zIGFyZSBhbHdheXMgZ3VhcmFudGVlZCB0byBiZSBBQzMgaWYgRUFDMyBkZXNjcmlwdG9yCgkgIGlzIG5vdCBwcmVzZW50CgkgIElmIHN0cmVhbSByZWdpc3RyYXRpb24gaWQgaXMgJ0FDLTMnIHRoZW4gaXQncyBhbHNvIGd1YXJhbnRlZWQgdG8gYmUgQUMzLgoJICBGaW5hbGx5IGlmIEFDMyBkZXNjcmlwdG9yIGlzIHByZXNlbnQgaXQncyBndWFyYW50ZWVkIHRvIGJlIEFDMy4KCSAgT25seSBzaWxlbmNlcyBhIHdhcm5pbmcsIGJ1dCBzdGlsbC4KCjIwMTMtMDctMjkgMDg6MjA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRmx1c2ggb3V0IHBlbmRpbmcgZGF0YSBvbiBFT1MKCSAgRW5zdXJlcyBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIGRlY29kZXJzKSByZWFsbHkgZ2V0IGFsbCB0aGUgZGF0YQoKMjAxMy0wNy0yOSAwODoxODoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBNb3JlIEFGQyBmbGFncwoJICBJIHNob3VsZCBoYXZlIHB1dCB0aG9zZSBpbiBhIHByZXZpb3VzIGNvbW1pdC4gc29ycnkgOigKCjIwMTMtMDctMjkgMDg6MTQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZWZzOiBTaW1wbGlmeSBQQ1IvUFRTL0RUUyA9PiBHU1QgY29udmVyc2lvbiBtYWNyb3MKCSAgV2Uga25vdyB3ZSB3aWxsIG5vdCBvdmVyZmxvdyA2NCBiaXRzLCB0aGVyZWZvcmUganVzdCB1c2UgZGlyZWN0CgkgIG11bHRpcGxpY2F0aW9uL2RpdmlzaW9uIGluc3RlYWQgb2YgdGhlIHNjYWxlIG1ldGhvZCAodHJpbXMgdXNhZ2UgZnJvbQoJICA1MCBpbnN0cnVjdGlvbiBjYWxscyB0byAyLzMpLgoKMjAxMy0wNy0yOCAyMDoxNDo1NSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBhcnRpZmFjdHMgd2hlbiByZW5kZXJpbmcgY2xpcHBlZCBzcHUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTAzOQoKMjAxMy0wNy0yOCAxODoyODozMCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvIG5vdCB1cGRhdGUgY2FwcyB3aGVuIGJpdHJhdGUgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDM1CgoyMDEzLTA3LTI4IDE0OjIyOjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgRml4IFVSSXMgaW4gUkVRVUlSRU1FTlRTCgoyMDEzLTA3LTI4IDEzOjEyOjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHQ6IHJlbW92ZSwgcmVwbGFjZWQgYnkgb3B1cy4KCjIwMTMtMDctMjggMTc6Mjk6MzIgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0X21qcGdkZW11eDogUmVtb3ZlIGR1cGxpY2F0ZWQgdmFyaWFibGVzCgoyMDEzLTA3LTI4IDE3OjI1OjEwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NF9tanBnZGVtdXg6IERvbid0IHVubWFwL3VucmVmIGJ1ZmZlciBpZiBpdCdzIHB1c2hlZCBvdXQgYXMtaXMKCjIwMTMtMDctMjYgMTg6MzM6MDAgKzAwMDAgIFJvYmVydCBLcmFrb3JhIDxyb2Iua3Jha29yYUBtZXNzYWdlbmV0c3lzdGVtcy5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmN2NGwyX21qcGVnZGVtdXg6IFVubWFwIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5NTE3CgoyMDEzLTA3LTI4IDE1OjQ2OjMzICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gYmUgY3VycmVudAoKMjAxMy0wNy0yNyAxMjoxNzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSERWIG9ubHkgaGFzIG1wZWcgMSBhdWRpbyBsYXllciAyCgkgIFNldCB0aGF0IGFjY29yZGluZ2x5IG9uIHRoZSBjYXBzCgoyMDEzLTA3LTI2IDE3OjMxOjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogVmFyaW91cyBkZWJ1ZyBhcmd1bWVudCBmaXhlcwoJICBtYWlubHkgR19HVUlOVDE2X0ZPUk1BVCB0byAuLi4gdGhlIHJpZ2h0IHR5cGUgKGd1aW50MzIgb3IgZ3VpbnQ4KQoKMjAxMy0wNy0yNiAxNzoyNTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBoYXJkZXIgPyA6KQoKMjAxMy0wNy0yNiAxMzoyMDoyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgZWFybGllcgoJICBZb3Uga25vdywgYmVmb3JlIGl0J3MgdXNlZC4KCjIwMTMtMDctMjYgMDc6NTM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbW9yZSBmbGFnIGRlYnVnZ2luZyBmb3IgUEVTIGFuZCBUUyBwYWNrZXRzCgkgIEhlbHBzIHdpdGggZGVidWdnaW5nIGlzc3Vlcy4gQW5kIGFsc28gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSAob3BjcikKCSAgVGhpcyB3aWxsIGFsc28gYWxsb3cgdXMgaW4gdGhlIGZ1dHVyZSB0byBwcm9wZXJseSBkZXRlY3Q6CgkgICogcmFuZG9tLWFjY2VzcyBsb2NhdGlvbiAodG8gZW5hYmxlIGtleWZyYW1lIG9ic2VydmF0aW9uIGFuZAoJICBwb3RlbnRpYWxseSBzZWVraW5nCgkgICogZGlzY29udCBsb2NhdGlvbiAodG8gcHJvcGVybHkgaGFuZGxlIHJlc2V0cykKCSAgKiBzcGxpY2UgbG9jYXRpb24gKHRvIHByb3Blcmx5IGhhbmRsZSBuZXcgc3RyZWFtIGNoYW5nZXMpCgoyMDEzLTA3LTI0IDE3OjQ5OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBNYWtlIHdhcm5pbmdzIG1vcmUgbWVhbmluZ2Z1bAoJICBCeSBzdGF0aW5nIHdoZXRoZXIgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZGF0YSBvciBpdCdzIGEgY29ycnVwdGVkCgkgIHBhY2tldAoKMjAxMy0wNy0yNCAxNzo0OToyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IERlbW90ZSBhIFdhcm5pbmcKCSAgV2UgYWN0dWFsbHkgbm93IGtub3cgd2hhdCB0byBkbyAuLi4gaGF2ZSBhIGxvZyBtZXNzYWdlIDopCgoyMDEzLTA3LTI1IDE1OjA2OjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgdXNpbmcgY2xpcHBlZCBvdXQgYnVmZmVycwoJICBJZiBhIGJ1ZmZlciB3YXMgZW50aXJlbHkgY2xpcHBlZCBvdXQgKGllLCBpdCdzIG91dCBvZiB0aGUgc2VnbWVudAoJICBlbnRpcmVseSksIHdlJ2xsIGVuZCB1cCB3aXRoIGEgTlVMTCBidWZmZXIsIHdoaWNoIHdlIGRvbid0IHdhbnQKCSAgdG8gcHJvY2Vzcy9kZXJlZmVyZW5jZS4KCjIwMTMtMDctMjQgMTU6NTA6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogUmVtZW1iZXIgcmVxdWVzdGVkIHNlZWsgcmF0ZSBhbmQgdXNlIGl0CgkgIFRoZSBuZXcgc2VlayBoYW5kbGluZyByZS1jcmVhdGVzIHRoZSBzZWdtZW50IHRpbWUgaW5mb3JtYXRpb24gb25jZSBpdAoJICBoYXMgZW5vdWdoIGluZm9ybWF0aW9uIGFmdGVyIGEgc2Vlay4KCSAgVGhlIHByb2JsZW0gd2FzIHRoYXQgd2UnZCBjb21wbGV0ZWx5IGlnbm9yZSB0aGUgcmVxdWVzdGVkIHJhdGUuIFNvIHN0b3JlCgkgIHRoYXQgYW5kIHVzZSBpdCBpbiB0aGUgbmV3bHkgY3JlYXRlZCBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MzY5CgoyMDEzLTA3LTI0IDA5OjE4OjQzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiBkZXN0cm95IHRoZSBxdWV1ZSBpZiBzZXRfZm9ybWF0IGZhaWxzCgoyMDEzLTA3LTI0IDA5OjE1OjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiByZW1vdmUgYysrIHN0eWxlIGNvbW1lbnRzCgoyMDEzLTA3LTI0IDA5OjExOjU5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGF0ZGVjOiAxc3Qgcm91bmQgb2YgZml4ZXMKCjIwMTMtMDctMjMgMTA6MTA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IGNvZGVjX2RhdGEgaGFuZGxpbmcKCSAgU2V0IHRvIHNlcXVlbmNlX29mZnNldCBzbyB0aGF0IF9wcm9jZXNzX2NvbmZpZyBhY2NlcHRzIGl0LgoJICAoYnR3OiBzZXFfb2Zmc2V0IHVzYWdlIHRocm91Z2hvdXQgdGhpcyBwbHVnaW4gaXMgcmVhbGx5IGRvZGd5KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODA2CgoyMDEzLTA2LTE0IDA3OjI4OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ3JlYXRlIGFuZCBzZW5kIGNvZGVjIHRhZwoJICBIZWxwcyB3aXRoIGFwcGxpY2F0aW9ucyB0aGF0IHJlbHkgb24gcHJlc2VuY2Ugb2YgdGhhdCB0YWcgZm9yIHVzZXItZmFjaW5nCgkgIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjE2CgoyMDEzLTA3LTIzIDEzOjI5OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgcGtjczcgdW5wYWRkaW5nCgkgIEV2ZXJ5IGVuY3J5cHRlZCBmcmFnbWVudCB3aWxsIGJlIGEgbXVsdGlwbGUgb2YgMTI4IGJpdHMsIHRoZSBsYXN0IGJ5dGUKCSAgY29udGFpbnMgdGhlIG51bWJlciBvZiBieXRlcyB0aGF0IHdlcmUgYWRkZWQgYXMgcGFkZGluZyBpbiB0aGUgZW5kCgkgIGFuZCBzaG91bGQgYmUgcmVtb3ZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTY3MwoKMjAxMy0wNy0yMyAxMDozMDozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBBdWRpb1Rvb2xib3ggYmFzZWQgYXVkaW8gZGVjb2RlcgoKMjAxMy0wNy0yMyAxMDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjMxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjI0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoyMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZ3JvdXAtaWQgaW4gdGhlIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNy0yMyAxMDoxNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjExOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA5OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjA0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2g6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIyIDE3OjMwOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IG5lZ290aWF0aW9uIGlmIGZpbHRlciBjYXBzIGFyZSBwYXNzZWQgdG8gcXVlcnlfY2FwcwoJICBNYWtlIHZpZGVvdGVzdHNyYyAhIGludGVybGFjZSAhICRhbnl0aGluZyB3b3JrIGFnYWluLiBQcm9ibGVtCgkgIHdhcyB0aGF0IHVwc3RyZWFtIGZpbHRlciBjYXBzIHdlcmUgcGFzc2VkIHdoaWNoIGNvbnRhaW5lZAoJICBpbnRlcmxhY2UtbW9kZT1wcm9ncmVzc2l2ZSwgd2hpY2ggZG9lc24ndCBpbnRlcnNlY3QgdG9vIHdlbGwKCSAgd2l0aCBpbnRlcmxhY2UncyBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMsIGxlYWRpbmcgdG8KCSAgbm90LW5lZ290aWF0ZWQgZXJyb3JzLgoKMjAxMy0wNy0yMiAxNDo1NjozMiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG9uJ3QgYWJvcnQgb24gaW52YWxpZCBzdHJlYW1zCgkgIEp1c3QgcmV0dXJuIGFuIGVycm9yCgoyMDEzLTA3LTE5IDE1OjMwOjQyICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSAgaGxzOiBmaXggZm9yIGFzc2VydCBmYWlsdXJlIHdoZW4gdXNpbmcgZW5jcnlwdGVkIEhMUyBzdHJlYW1zCgkgIFdoZW4gdXNpbmcgYW4gSExTIGVuY3J5cHRlZCBzdHJlYW0sIGFuIGFzc2VydGlvbiBmYWlsdXJlIGlzIHRocm93bjoKCSAgKGdzdC1sYXVuY2gtMS4wOjMxMDI4KTogR0xpYi1HT2JqZWN0LVdBUk5JTkcgKio6IGNhbm5vdCByZWdpc3RlcgoJICBleGlzdGluZyB0eXBlIGBHc3RGcmFnbWVudCcKCSAgKGdzdC1sYXVuY2gtMS4wOjMxMDI4KTogR0xpYi1DUklUSUNBTCAqKjogZ19vbmNlX2luaXRfbGVhdmU6IGFzc2VydGlvbgoJICBgcmVzdWx0ICE9IDAnIGZhaWxlZAoJICBFdmVudHVhbGx5IHRyYWNrZWQgdGhpcyBkb3duIHRvIHRoZSBjYWxsIGdzdF9mcmFnbWVudF9uZXcoKQoJICBpbiBmdW5jdGlvbiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQuCgkgIFRoZSBHc3RGcmFnbWVudCBjbGFzcyBpcyBkZWZpbmVkIGluIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYyBhbmQgaW4KCSAgZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYy4gSGF2aW5nIHR3byBjbGFzcyBkZWZpbml0aW9ucwoJICB3aXRoIHRoZSBzYW1lIG5hbWUgY2F1c2VzIHRoZSBhc3NlcnQgZmFpbHVyZSB3aGVuIHRyeWluZyB0byBhbGxvY2F0ZQoJICBHc3RGcmFnbWVudC4gRGVsZXRpbmcgdGhlIHZlcnNpb24gZnJvbSBobHMgYW5kIGVkaXRpbmcgdGhlCgkgIE1ha2VmaWxlLmFtIHNvbHZlcyB0aGlzIGFzc2VydCBmYWlsdXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTU1CgoyMDEzLTA3LTE5IDIzOjQyOjEyICswMjAwICBZb3VyaSBXZXN0ZXJtYW4gPHRldHJhY29uQGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBhY3R1YWxseSBlbmFibGUgZGVja2xpbmtzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDUKCjIwMTMtMDctMTkgMjA6MDk6MjggKzAyMDAgIFlvdXJpIFdlc3Rlcm1hbiA8dGV0cmFjb25AZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBhZGQgImRldmljZS1udW1iZXIiIHRvIHNlbGVjdCBmcm9tIG11bHRpcGxlIGRldmljZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNQoKMjAxMy0wNy0yMiAxMDo0NjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBPbmx5IG1hcCBpbnB1dCBidWZmZXIgb25jZQoJICBJbnN0ZWFkIG9mIGNvbnN0YW50bHkgbWFwL3VubWFwcGluZyBpdCBhIGJpdCBldmVyeXdoZXJlLCB3ZSBwYXNzIGFsb25nCgkgIHRvIGFsbCBmdW5jdGlvbnMgdGhlIEdzdE1hcEluZm8uCgkgIE1ha2VzIG1wZWcgdmlkZW8gZnJhbWUgcGFyc2luZyA2JSBmYXN0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjMzMAoKMjAxMy0wMy0xMCAxMjowNzo0MCArMTMwMCAgRG91Z2xhcyBCYWduYWxsIDxkb3VnbGFzQHBhcmFkaXNlLm5ldC5uej4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IGRpc2VudGFuZ2xlIHJlcXVlc3RlZCBwcm9ncmFtIG51bWJlciBmcm9tIGFjdGl2ZSBwcm9ncmFtIG51bWJlcgoJICBUaGUgcHJvZ3JhbV9udW1iZXIgYXR0cmlidXRlIHdhcyBvdmVybG9hZGVkLCB0cnlpbmcgdG8gaW5kaWNhdGUgYm90aAoJICB0aGUgY3VycmVudGx5IHBsYXlpbmcgcHJvZ3JhbSwgYW5kIHRoZSBwcm9ncmFtIHJlcXVlc3RlZCB2aWEgdGhlCgkgICJwcm9ncmFtLW51bWJlciIgcHJvcGVydHkuICBUaGUgZW5kIHJlc3VsdCB3YXMgdGhhdCBzZXR0aW5nIHRoZQoJICBwcm9wZXJ0eSBkaWRuJ3Qgd29yayAoc2VlICM2OTA5MzQpLgoJICBJIGFkZGVkIGEgbmV3IHJlcXVlc3RlZF9wcm9ncmFtX251bWJlciBmaWVsZCByYXRoZXIgdGhhbiByZXZpdmluZyB0aGUKCSAgY3VycmVudF9wcm9ncmFtX251bWJlciBmaWVsZCBiZWNhdXNlIGl0IHNlZW1lZCB0aGlzIHdvdWxkIHJlc3VsdCBpbgoJICBmZXdlciBjaGFuZ2VzIG92ZXJhbGwgYW5kIGJlIGxlc3MgY29uZnVzaW5nLiAgSXQgYnJlYWtzIHN5bW1ldHJ5IHdpdGgKCSAgdGhlICJwcm9ncmFtLW51bWJlciIgcHJvcGVydHksIGJ1dCBpdCByZXRhaW5zIHBhcmFsbGVscyB3aXRoIHRoZSBsaWtlcwoJICBvZiBwcm9ncmFtLT5wcm9ncmFtX251bWJlci4KCSAgQmVjYXVzZSBnc3RfdHNfZGVtdXhfcmVzZXQgaXMgY2FsbGVkIGFmdGVyIHRoZSBwcm9wZXJ0aWVzIGhhdmUgYmVlbgoJICBwYXJzZWQsIHJlcXVlc3RlZF9wcm9ncmFtX251bWJlciBpcyBpbml0aWFsaXNlZCBpbiBnc3RfdHNfZGVtdXhfaW5pdC4KCSAgV2hldGhlciB0aGlzIGlzIGV4YWN0bHkgdGhlIHJpZ2h0IHBsYWNlLCBJIGRvbid0IGtub3cuCgoyMDEzLTAzLTA2IDEyOjE1OjQ3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcHJvZ3JhbS1udW1iZXIgZnVuY3Rpb25hbGl0eQoJICBTZXR0aW5nIHRoZSBwcm9ncmFtLW51bWJlciBwcm9wZXJ0eSBkb2VzIG5vdCBhZmZlY3Qgd2hpY2ggcHJvZ3JhbQoJICBpcyBhY3R1YWxseSBiZWluZyBkZW11eGVkLgoJICBNb3ZpbmcgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwcm9ncmFtX251bWJlciBmcm9tCgkgIGdzdF90c19kZW11eF9yZXNldCB0byBnc3RfdHNfZGVtdXhfaW5pdCBzZWVtcyB0byBmaXggdGhpcyBpc3N1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDkzNAoKMjAxMy0wNy0yMiAwOToxODozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2Ugb24gdGhlIG1wZWcgZGVtdXhlciBzcmNwYWRzCgoyMDEzLTA3LTE3IDE3OjEyOjU5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHB1c2ggZGlzY29udCBidWZmZXJzIGlmIHRoZXkgYXJlbid0IGRpc2NvbnQKCSAgRXhwbGljaXRseSB1bnNldCBkaXNjb250IGZsYWcgd2hlbiBpdCBzaG91bGRuJ3QgYmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMTEwCgoyMDEzLTA3LTE3IDExOjI4OjI4ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIGdyYWJjdXQ6IEFkZCBHcmFiQ3V0IHNlZ21lbnRhdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjIKCjIwMTMtMDctMTUgMjM6MDE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBoZWlnaHQgZXh0cmFjdGlvbiBmb3IgSDI2M3AKCjIwMTMtMDctMTUgMjI6NTc6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgdXBzdHJlYW0gZG9lc24ndCBwcm92aWRlIG9uZQoKMjAxMy0wNy0wOSAxMjo0OTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHR5cG8gaW4gY2hlY2tfcXVldWVfZnVsbCBmdW5jdGlvbgoJICBJdCBzaG91bGQgcmV0dXJuIFRydWUgd2hlbiB0aGUgcXVldWUgSVMgZnVsbAoJICBGaXhlcyAjNzA0MjI2CgoyMDEzLTA3LTE1IDExOjE1OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZW1lbWJlciBzZWVrIHNlcXVlbmNlIG51bWJlcgoJICAqIEF2b2lkcyBoYW5kbGluZyB0d2ljZSB0aGUgc2FtZSBzZWVrIChjYW4gaGFwcGVuIHdpdGggcGxheWJpbiBhbmQgZmlsZXMKCSAgd2l0aCBzdWJ0aXRsZXMpCgkgICogU2V0IHRoZSBzZXF1ZW5jZSBudW1iZXIgb2YgdGhlIHNlZ21lbnQgZXZlbnQgdG8gdGhlIHNlcXVlbmNlIG51bWJlciBvZgoJICB0aGUgc2VlayBldmVudCB0aGF0IGdlbmVyYXRlZCBpdCAoLTEgZm9yIHRoZSBpbml0aWFsIG9uZSkuCgoyMDEzLTA1LTI0IDE4OjE4OjM1ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAxMy0wNS0yOCAxNjoxNDo0MiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZWNhbGN1bGF0ZSBuZXcgc2VnbWVudCBhZnRlciBieXRlIHNlZWsKCSAgVGhlIHNlZWtpbmcgc3RhcnQgdGltZSBpcyBhcHByb3hpbWF0ZWQgZnJvbSB0aGUgc2VlayBvZmZzZXQgaW4gYnl0ZXMKCSAgdXNpbmcgdGhlIGFjY3VtdWxhdGVkIFBDUiBvYnNlcnZhdGlvbnMsIHNvIG9uIGEgVkJSIHN0cmVhbSB0aGVyZSBtaWdodAoJICBiZSBhIGJpZyBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGFjdHVhbCBQQ1IgYW5kIHRoZSBlc3RpbWF0ZWQgb25lIGFmdGVyCgkgIHRoZSBzZWVrLiBUaGlzIG1pZ2h0IHJlc3VsdCBpbiBhIGxvbmcgd2FpdCB0byBza2lwIGFsbCBvdXQgb2Ygc2VnbWVudHMKCSAgcGFja2V0cy4KCSAgSW5zdGVhZCB3ZSBqdXN0IHJlY2FsY3VsYXRlIHRoZSBuZXcgc2VnbWVudCB0byBzdGFydCBhdCB0aGUgZmlyc3QgUFRTCgkgIGFmdGVyIHRoZSBzZWVrLCBzbyB0aGF0IHBsYXliYWNrIHN0YXJ0cyBpbW1lZGlhdGx5LgoKMjAxMy0wNy0xMyAyMzo0OTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGRvY3MgYW5kIHdpbjMyIGNvbmZpZy5oIHRvIGRldmVsb3BtZW50IHZlcnNpb24KCjIwMTMtMDctMTIgMTU6NTg6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgIGRvY3M6IGFkZCBuZXdseS1wb3J0ZWQgZWxlbWVudHMgdG8gZG9jcwoKMjAxMy0wNy0xMSAxNzo0NjozNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXNlIHNlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uIHZhbHVlcyB0byB1cGRhdGUgdGhlIHNyYyBjYXBzCgkgIFRoZSBjYXBzIHNob3VsZCBhbHdheXMgcmVwcmVzZW50IHdoYXQgdGhlIHVzZXIgaXMgc3VwcG9zZWQgdG8gc2VlLgoJICBTbyBpZiB0aGVyZSBpcyBhIHNlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUKCSAgc3RyZWFtIHRoZW4gdXNlIHRoZSBkaXNwbGF5X2hvcml6b250YWxfc2l6ZS9kaXNwbGF5X3ZlcnRpY2FsX3NpemUKCSAgdG8gdXBkYXRlIHRoZSBzcmMgY2FwcyAoaWYgdGhleSBhcmUgbGVzcyB0aGFuIHRoZSB2YWx1ZXMgcHJvdmlkZWQKCSAgYnkgc2VxdWVuY2UgaGVhZGVyKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDAwOQoKMjAxMy0wNy0xMiAwOTo0NTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4yCgkgIE9vcHMuLi4gc2hvdWxkJ3ZlIGJlZW4gcGFydCBvZiAxLjEuMiB0YWcgYWxyZWFkeSA6KAoKMjAxMy0wNy0xMSAxNjo1NzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMiA9PT0KCjIwMTMtMDctMTEgMTY6MzE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMTAgMTI6Mjg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueSBkYXRhCgoyMDEzLTA3LTA4IDA4OjQ0OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCBwYXJzaW5nIHNlY3Rpb24gd2l0aG91dCBlbm91Z2ggZGF0YQoJICBUaGlzIGlzIGFjdHVhbGx5IGEgd29ya2Fyb3VuZCAod2UnbGwgYmUgc2tpcHBpbmcgdGhlIHVwY29taW5nIHNlY3Rpb24pCgkgIFRoaXMgd2lsbCBvbmx5IGhhcHBlbiBmb3Igc2VjdGlvbnMgd2hlcmUgdGhlIGJlZ2lubmluZyBpcyBsb2NhdGVkIHdpdGhpbgoJICB0aGUgbGFzdCA4IGJ5dGVzIG9mIGEgcGFja2V0ICh3aGljaCBpcyB0aGUgbWluaW11bSB3ZSBuZWVkIHRvIHByb3Blcmx5CgkgIGlkZW50aWZ5IGFueSBzZWN0aW9uIGJlZ2lubmluZykuCgkgIExhdGVyIHdlIHNob3VsZCBmaWd1cmUgb3V0IGEgd2F5IHRvIHN0b3JlIHRob3NlIGJ5dGVzIGFuZCBtYXJrIHRoYXQKCSAgc29tZSBhbmFseXNpcyBuZWVkcyB0byBoYXBwZW4uIFRoZSBwcm9iYWJpbGl0eSBvZiB0aGlzIGhhcHBlbmluZyBpcwoJICB0b28gbG93IGZvciBtZSB0byBjYXJlIHJpZ2h0IG5vdyBhbmQgZG8gdGhhdCBmaXguIFRoZXJlIGlzIGEgZ29vZCBjaGFuY2UKCSAgdGhhdCBzZWN0aW9uIHdpbGwgZXZlbnR1YWxseSBiZSByZXBlYXRlZCBhbmQgd29uJ3QgZW5kIHVwIG9uIHN1Y2ggYm9yZGVyLgoKMjAxMy0wNy0wOCAwODo0Mzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgQkFUIHN1cHBvcnQgdG8gbXBlZ3RzIGV4YW1wbGUKCjIwMTMtMDctMDggMDg6NDI6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBVbmlmeSBzZWN0aW9uIGNoZWNrcyBhbmQgYWRkIEJBVCBwYXJzaW5nCgkgICogQXZvaWQgcmVwZWF0aW5nIGNvZGUgZXZlcnl3aGVyZSwgYW5kIGluc3RlYWQgcHJvdmlkZSBhbGwgcGFyc2luZwoJICBpbmZvcm1hdGlvbiBpbiBvbmUgZ28uCgkgICogQWRkIEJBVCBzdXBwb3J0CgkgICogUmVmaW5lIEJBVC9DQVQgaWRlbnRpZmljYXRpb24gKGJ5IGFkZGluZyBQSUQgY2hlY2tzKQoKMjAxMy0wNy0wNyAxMTo0Mjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHZtZXRob2QgY2FsbHMKCSAgRGVwZW5kaW5nIG9uIHVzYWdlLCB0c3BhcnNlIGFuZCB0c2RlbXV4IG1pZ2h0IG5vdCBuZWVkIHRvIGJlIGNhbGxlZAoJICB3aGVuIG5ldyBzZWN0aW9uL3Blcy1kYXRhIGlzIGF2YWlsYWJsZS4KCjIwMTMtMDctMDcgMTA6MjU6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBSZW1vdmUgdW5uZWVkZWQgdmFyaWFibGVzCgkgICogcGFja2V0Lm9yaWd0cyBpcyBubyBsb25nZXIgdXNlZCBzaW5jZSB0aGUgUENSIHJlZmFjdG9yaW5nIGRvbmUgYWdlcyBhZ28KCSAgKiBrbm93bl9wYWNrZXRfc2l6ZSBpcyBhIGR1cGxpY2F0ZSBvZiBwYWNrZXRfc2l6ZSAhPSAwCgkgICogY2FwcyB3YXMgbmV2ZXIgdXNlZCBvdXRzaWRlIG9mIHRoZSBwYWNrZXRpemVyCgoyMDEzLTA3LTA5IDExOjM5OjQ2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2VyOiBmaXggc2l6ZSBjYXBzIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMuCgkgIFJlc3RvcmUgdGhlIG9yaWdpbmFsIGgyNjRwYXJzZXIgYmVoYXZpb3VyIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMKCSAgaW4gc2l6ZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk0MDY4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDggMTg6NDQ6MjQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgY3JvcHBpbmcgcmVjdGFuZ2xlLgoJICBGaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIGNyb3BwaW5nIHJlY3RhbmdsZSwgYW5kIG1vcmUgcHJlY2lzZWx5CgkgIHRoZSBhY3R1YWwgY3JvcHBlZCBoZWlnaHQuIFRoZSBmcmFtZV9jcm9wX3RvcF9vZmZzZXQgc3VidHJhY3Rpb24KCSAgd2FzIG5vdCBzY2FsZWQgdXAgd2l0aCBTdWJIZWlnaHRDLgoJICBBbHNvIGNsZWFuLXVwIHZhcmlhYmxlcyB0byBhbGlnbiBtb3JlIHdpdGggKDctMTgpIHRvICg3LTIxKS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0xNSAxNDoxODo0OSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBQYXJzZSB0aGUgY3JvcHBpbmctcmVjdGFuZ2xlIHNlcGFyYXRlbHkuCgkgIEFzc2lnbiB0aGUgdW4tY3JvcHBlZCB3aWR0aC9oZWlnaHQgdG8gc3BzLT53aWR0aC9zcHMtPmhlaWdodAoJICBkdXJpbmcgc3BzIGhlYWRlciBwYXJzaW5nLiBBZGRlZCBuZXcgZmllbGRzIHRvIFNQUyBoZWFkZXIgc3RydWN0dXJlCgkgIHRvIHByb3ZpZGUgdGhlIGNyb3AtcmVjdGFuZ2xlIGRpbWVuc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwNjgKCjIwMTMtMDctMDMgMTY6Mzg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBxdWV1ZSBmdWxsIGNoZWNrIGZ1bmN0aW9uCgkgIENoZWNrcyBpZiB0aGUgcXVldWUgaXMgZnVsbCBhY2NvcmRpbmcgdG8gbWF4IGJ1ZmZlcmluZyB0aW1lCgkgIHNldCBieSB0aGUgdXNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTA3LTA5IDAwOjQ3OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBtaW5vciByZWZhY3RvcgoJICBTcGxpdCBvbmUgdmVyeSBsYXJnZSBmdW5jdGlvbiBpbnRvIDIgc21hbGxlciBidXQgc3RpbGwgbGFyZ2UgZnVuY3Rpb25zLgoJICBBbHNvIGNoYW5nZSB0aGUgaWYgY29uZGl0aW9ucyB0byBwb3NpdGl2ZSBjaGVja3MgdG8gaW1wcm92ZSByZWFkYWJpbGl0eS4KCjIwMTMtMDctMDggMjM6MjQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBsaXZlIHBsYXliYWNrIHJlc3luYwoJICBEdXJpbmcgYSBsaXZlIHN0cmVhbSBpdCBpcyBwb3NzaWJsZSBmb3IgZGFzaGRlbXV4IHRvIGxhZyBiZWhpbmQgb24gYQoJICBzbG93IGNvbm5lY3Rpb24gb3IgdG8gcnVzaCBhaGVhZCBvZiB0aGUgY29ubmVjdGlvbiBvcyB0b28gZmFzdC4KCSAgRm9yIHRoZSBmaXJzdCBjYXNlIGl0IGlzIG5lY2Vzc2FyeSB0byBqdW1wIHNvbWUgc2VnbWVudHMgYWhlYWQgdG8gYmUgYWJsZSB0bwoJICBjb250aW51ZSBwbGF5YmFjayBhcyBvbGQgc2VnbWVudHMgYXJlIHVzdWFsbHkgZGVsZXRlZCBmcm9tIHRoZSBzZXJ2ZXIuCgkgIEZvciB0aGUgbGF0ZXIsIGRhc2hkZW11eCBzaG91bGQgd2FpdCBhIGxpdHRsZSBiZWZvcmUgYXR0ZW1wdGluZyBhbm90aGVyCgkgIGRvd25sb2FkIGRvIGdpdmUgdGltZSB0byB0aGUgc2VydmVyIHRvIHByb2R1Y2UgYSBuZXcgc2VnbWVudAoKMjAxMy0wNy0wNSAxMzoyMjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCB0ZW1wbGF0ZSBiYXNlZCBzZWdtZW50IGdlbmVyYXRpb24KCSAgV2hlbiB1c2luZyBhIHRlbXBsYXRlIGJhc2VkIHNlZ21lbnQgbGlzdCwgZG8gbm90IHRyeSB0bwoJICBjb250cnVjdCBhIGZpbml0ZSBzZWdtZW50IGxpc3QgZm9yIHRoZSBsaW1pdHMgb2YgdGhlIGF2YWlsYWJsZSBwZXJpb2RzLgoJICBXZSBtaWdodCBub3Qga25vdyB3aGVuIHRoZSBwZXJpb2QgZW5kcyAoZm9yIGxpdmUgc3RyZWFtcykgYW5kIHdlIGNhbgoJICBhbHdheXMgY3JlYXRlIHRoZSBzZWdtZW50IG9uIGRlbWFuZCB3aGVuIHJlcXVlc3RlZCBieSBkYXNoZGVtdXgsCgkgIGF2b2lkaW5nIHVzZSBvZiBzb21lIG1lbW9yeSBhbmQgY3B1IHdoZW4gcmUtY3JlYXRpbmcgdGhpcyBsaXN0LgoKMjAxMy0wNy0wNCAyMzo0MjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB1c2UgbW9yZSBhcHByb3ByaWF0ZSBkYXRhIHN0cnVjdHVyZXMgZm9yIHBhcnNpbmcKCSAgUmVwbGFjZXMgdGhlIDIgbGlrZWx5IGxhcmdlciBsaXN0cyB3aXRoIG1vcmUgYXBwcm9wcmlhdGUgc3RydWN0dXJlcwoJICB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLgoJICBSZXBsYWNlcyBTIG5vZGVzIEdMaXN0IGZvciBhIEdRdWV1ZSwgdGhpcyByZWR1Y2VzIGxhdGVuY3kgdG8gc3RhcnR1cAoJICBiZWNhdXNlIG9mIHRyYXZlcnNpbmcgdGhlIGxpc3QganVzdCBhcHBlbmQgYW4gZWxlbWVudC4KCSAgUmVwbGFjZXMgdGhlIHByb2Nlc3NlZCBtZWRpYSBzZWdtZW50cyBHTGlzdCBmb3IgYSBHUHRyQXJyYXkgYXMgaXQgaXMKCSAgY29uc3RhbnRseSBhY2Vzc2VkIGJ5IGluZGV4IGR1cmluZyBwbGF5YmFjay4KCjIwMTMtMDctMDQgMTU6MTQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFuc3dlciB0byBsYXRlbmN5IHF1ZXJpZXMKCSAgU2V0IGxpdmUgaWYgc3RyZWFtIGlzIGxpdmUgYW5kIGFsc28gYWRkIHRvIHRoZSBtYXggbGF0ZW5jeSB0aGUKCSAgbWF4IGludGVybmFsIGJ1ZmZlcmluZwoKMjAxMy0wNy0wOCAyMjowMTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBmaXggY3Jhc2ggd2hlbiBkb3dubG9hZCBpcyBudWxsCgkgIERvIG5vIHRyeSB0byB1bnJlZiBhIE5VTEwgZG93bmxvYWQgYXR0cmlidXRlCgoyMDEzLTA3LTA4IDIyOjAwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGRvIG5vdCBzZXQgY2FuY2VsbGVkIHVubGVzcyBleHBsaWNpdGx5IGNhbGxlZCBieSB1c2VyCgkgIENhbmNlbGxlZCBpcyBhICdwZXJtYW5lbnQnIHN0YXRlIG9mIHRoZSB1cmlkb3dubG9hZGVyIGFuZCBpcyBvbmx5CgkgIHJlbW92ZWQgYnkgYSBjYWxsIHRvIF9yZXNldC4gV2hlbiBhIGRvd25sb2FkIGZhaWxzIHdlIGp1c3Qgd2FudCB0bwoJICByZXR1cm4gTlVMTCBvbiB0aGUgZmV0Y2ggZnVuY3Rpb24gYW5kIGxlYXZlIHRoZSBkb3dubG9hZGVyIHJlYWR5CgkgIGZvciBhbm90aGVyIGZldGNoLCBvdGhlcndpc2UgdGhlIHVzZXIgaGFzIHRvIGNhbGwgX3Jlc2V0IGFmdGVyCgkgIGZhaWxlZCBkb3dubG9hZGVyLCBldmVuIHdoZW4gaXQgZGlkbid0IGNhbGwgX2NhbmNlbC4KCjIwMTMtMDctMDcgMDg6MzU6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogQXZvaWQgZmFsc2UtcG9zaXRpdmVzIGluIHNlY3Rpb24gdHlwZSBkZXRlY3Rpb24KCSAgRHVlIHRvIHRoZSB2YXJpZXR5IG9mIHNlY3Rpb24gdHlwZXMgb3V0IHRoZXJlLCB3ZSBuZWVkIHRvIGFkZAoJICBzb21lIGNoZWNrcyB3aGVuIGlkZW50aWZ5aW5nIHNlY3Rpb24gdHlwZXMuCgkgIFdlIGNoZWNrIGhlcmUgdGhhdCB0aGUgUElEIGlzIGFsc28gY29uc2lzdGVudCB3aXRoIHRoZSB0YWJsZV9pZC4KCjIwMTMtMDctMDcgMDg6Mjk6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBtdWx0aXBsZS1TSSBkZXRlY3Rpb24vcGFyc2luZwoJICBXZSBoYWQgdHdvIGlzc3VlcyB3aXRoIHRoZSBwcmV2aW91cyBjb2RlOgoJICAxKSBXZSB3ZXJlIGJhZGx5IGhhbmRsaW5nIFBVU0ktZmxhZ2dlZCBwYWNrZXRzLiBXZSB3ZXJlIGRpc2NhcmRpbmcgdGhlCgkgIGluaXRpYWwgZGF0YSAoaWYgcG9pbnRlciAhPSAwKSB3aGVyZWFzIHdlIHNob3VsZCBoYXZlIGJlZW4gYWNjdW11bGF0aW5nCgkgIGl0IHdpdGggdGhlIHByZXZpb3VzIGRhdGEgKGlmIHRoZXJlIHdhcyBhIGNvbnRpbnVpdHkgb2YgY291cnNlKS4KCSAgPT4gRmlyc3Qgc2VyaWVzIG9mIGluZm9ybWF0aW9uIGxvc3MKCSAgMikgV2Ugd2VyZSBub3QgY2hlY2tpbmcgd2hldGhlciB0aGVyZSB3ZXJlIG1vcmUgc2VjdGlvbnMgYWZ0ZXIgdGhlIGVuZAoJICBvZiBvbmUgKGkuZS4gd2hlbiB0aGUgZm9sbG93aW5nIGJ5dGUgd2FzIG5vdCBhIHN0dWZmIGJ5dGUpLgoJICBUaGlzIGZpeGVzIHRob3NlIHR3byBpc3N1ZXMuCgkgIEZpeGVzICM2Nzc0NDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzQ0MwoKMjAxMy0wNy0wNyAwNzoyMTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEZpeCBzd2l0Y2gvY2FzZSB0eXBvCgkgIEVuZGVkIHVwIHRyeWluZyB0byBhbmFseXplIFBNVCAuLi4gd2l0aCBhIFBBVCA6KAoKMjAxMy0wNy0wNiAxNDo1MDo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIHByaXZhdGUgc2VjdGlvbiBzdHJlYW1zCgkgIFVudGlsIG5vdyB3ZSBzaW1wbHkgaWdub3JlZCB0aG9zZSBzdHJlYW1zIChzaW5jZSB3ZSBjb3VsZG4ndCBkbyBhbnl0aGluZwoJICB3aXRoIGl0IGFueXdheSkuIE5vdyB0aGF0IHdlIGhhdmUgdGhlIG1wZWd0cyBsaWJyYXJ5IGFuZCB3ZSBvZmZsb2FkIHRoZQoJICBzZWN0aW9uIGhhbmRsaW5nIHRvIHRoZSBhcHBsaWNhdGlvbiBzaWRlIHdlIGNhbiBwcm9wZXJseSBpZGVudGlmeSBhbmQKCSAgZXh0cmFjdCB0aGVtLgoJICBCeSBkZWZhdWx0IGl0IGlzIGRpc2FibGVkIGZvciB0c3BhcnNlIGFuZCBlbmFibGVkIGZvciB0c2RlbXV4LCBidXQgdGhlcmUgaXMKCSAgYSBwcm9wZXJ0eSB0byBjaGFuZ2UgdGhhdC4KCSAgVGhpcyBzaG91bGQgb3BlbiB0aGUgd2F5IHRvIHByb3Blcmx5IGhhbmRsZSBhbGwgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMsCgkgIGluY2x1ZGluZzoKCSAgKiBEU00tQ0MKCSAgKiBNSEVHCgkgICogQ2Fyb3VzZWwgZGF0YQoJICAqIE1ldGFkYXRhIHN0cmVhbXMgKHRob3VnaCBJIGhhdmVuJ3Qgc2VlbiBhbnkgb2YgdGhvc2UgaW4gdGhlIHdpbGQpCgkgICogLi4uIEFuZCBhbGwgb3RoZXIgc3BlY3MvcHJvdG9jb2xzIG1ha2luZyB1c2Ugb2YgdGhvc2UKCSAgUGFydGlhbGx5IGZpeGVzICM1NjA2MzEKCjIwMTMtMDctMDYgMTI6Mzk6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IFByb3Blcmx5IGhhbmRsZSBVVEMgdGltZSBpbiBzZWN0aW9ucwoJICAqIGRvbid0IHVucmVmIGluZXhpc3RhbnQgR3N0RGF0ZVRpbWUKCSAgKiBGaW5lLXR1bmUgaG91ci9taW4vc2VjIEJDRCByZWFkaW5nIGNvZGUKCSAgKiBVcGRhdGUgZXhhbXBsZSBjb2RlIGFjY29yZGluZ2x5CgoyMDEzLTA3LTA2IDEwOjU5OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IFJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yIHN1cHBvcnQKCSAgQW5kIG91dHB1dCB0aGUgbGVuZ3RoIG9mIHRoZSBkZXNjcmlwdG9ycwoKMjAxMy0wNy0wNiAxMDozODoyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBOSVQgcGFyc2luZwoJICBUaGUgc2l6ZSBjaGVja3Mgd2VyZSB3cm9uZy4gVGhlIHNtYWxsZXN0IHNpemUgZm9yIGEgTklUIGlzIDE2IGJ5dGVzCgkgICgxMiBmb3IgdGhlIHNtYWxsZXN0IGNvbnRlbnQgKyA0IGZvciBjcmMpIGFuZCB0aGUgc21hbGxlc3Qgc2l6ZSBmb3IKCSAgYSBpbm5lciBzdHJlYW0gbG9vcCBpcyA2IGJ5dGVzICh3aXRob3V0IGFueSBkZXNjcmlwdG9ycykuCgkgIEFsc28gcmVtb3ZlIEZJWE1FIHRoYXQgaGFzIGFscmVhZHkgbW92ZWQgZWxzZXdoZXJlCgoyMDEzLTA3LTA2IDEwOjM2OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIHJlZ2lzdHJhdGlvbiBkZXNjcmlwdG9yIGZvciBwcm9ncmFtcyBhbmQgc3RyZWFtcwoJICAqIEFsbG93cyB1cyB0byBzaW1wbGlmeSBzb21lIGNvZGUgYW5kIHByZXBhcmUgZm9yIGZ1dHVyZSBjbGVhbnVwcy4KCSAgKiBSZW1vdmUgdXNlbGVzcyBjYXN0cwoJICAqIEFkZCBzb21lIEZJWE1FIHJlZ2FyZGluZyBWQzEKCjIwMTMtMDctMDUgMjE6NDk6NDggKzAyMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY4MwoKMjAxMy0wNy0wNSAxMToyMDo0OSAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkgIHdlYnZ0dGVuYzogU2VwYXJhdGUgY3VlcyB3aXRoIHR3byBsaW5lIGJyZWFrcyBpbnN0ZWFkIG9mIG9uZS4KCSAgU2VlIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3dlYnZ0dC8jc3ludGF4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NzMKCjIwMTMtMDctMDUgMTg6MzM6NDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGZpeCB2aWRlbyBwYWNrZXQgaGVhZGVyIHNpemUgY2hlY2tzLgoJICBGaXggdmlkZW8gcGFja2V0IGhlYWRlciBzaXplIGNoZWNrcyBmb3I6CgkgIC0gU2VxdWVuY2UgSGVhZGVyOiA2NCBiaXRzIDsKCSAgLSBTZXF1ZW5jZSBTY2FsYWJsZSBFeHRlbnNpb246IDEwIGJpdHMgOwoJICAtIFNsaWNlIEhlYWRlcjogNiBiaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjY4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDUgMTQ6NTg6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBtaXNzaW5nIGd0ay1kb2MgZW50cmllcy4KCSAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgd2VyZSBtaXNzaW5nIGd0ay1kb2MgZW50cmllczoKCSAgLSBnc3RfbXBlZ192aWRlb19wYXJzZV9zZXF1ZW5jZV9kaXNwbGF5X2V4dGVuc2lvbgoJICAtIGdzdF9tcGVnX3ZpZGVvX2ZpbmFsaXNlX21wZWcyX3NlcXVlbmNlX2hlYWRlcgoJICAtIGdzdF9tcGVnX3ZpZGVvX3F1YW50X21hdHJpeF9nZXRfcmFzdGVyX2Zyb21femlnemFnCgkgIC0gZ3N0X21wZWdfdmlkZW9fcXVhbnRfbWF0cml4X2dldF96aWd6YWdfZnJvbV9yYXN0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY2NwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDExOjU3OjU0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiB1cGRhdGUgdGVzdCBwcm9ncmFtIHdpdGggbmV3IEdzdE1wZWdWaWRlb1BhY2tldCBBUEkuCgkgIFRoaXMgaXMgdGhlIGxvc3QgaHVuayBmcm9tOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzAgMTY6NTY6MTUgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBzbGljZSBoZWFkZXIgcGFyc2luZyBBUEkuCgkgIEFkZCBBUEkgdG8gcGFyc2UgdGhlIFNsaWNlIGhlYWRlci4gVGhpcyBhbHNvIGNhbGN1bGF0ZXMgdGhlIG1hY3JvYmxvY2sKCSAgcG9zaXRpb24gYXMgc3BlY2lmaWVkIGluIDYuMy4xNi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI3NAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjUgMTU6NDg6NTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBzZXF1ZW5jZSBzY2FsYWJsZSBleHRlbnNpb24gcGFyc2luZyBBUEkuCgkgIEFkZCBBUEkgdG8gcGFyc2UgdGhlIFNlcXVlbmNlIFNjYWxhYmxlIEV4dGVuc2lvbiBoZWFkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNzQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTA3LTA0IDE0OjIyOjE0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjb3BlIHdpdGggbmV3IHBhcnNlciBBUEkuCgkgIE1pZ3JhdGUgdGhlIGNvZGUgdG8gdXNlIHRoZSBuZXcgcGFyc2VyIEFQSSBiYXNlZCBvbiBHc3RNcGVnVmlkZW9QYWNrZXQuCgkgIEFsc28gdHJ5IHRvIG9wdGltaXplIGdzdF9tcGVndl9wYXJzZV9wcm9jZXNzX2NvbmZpZygpIGJ5IHVzaW5nIG1vcmUgb2YKCSAgR3N0TXBlZ1ZpZGVvUGFja2V0IGFuZCBkZXRlcm1pbmluZyB0aGUgZXh0ZW5zaW9uX3N0YXJ0X2NvZGVfaWRlbnRpZmllcgoJICBwcmlvciB0byBjYWxsaW5nIHRoZSBwYXJzZXIgZnVuY3Rpb24gZm9yIHRoYXQgZXh0ZW5zaW9uIHBhY2tldC4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxMTo1Nzo1NCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIG5ldyBBUEkgdGhhdCB0YWtlcyBHc3RNcGVnVmlkZW9QYWNrZXQgYXJndW1lbnRzLgoJICBBZGQgbmV3IGludGVyZmFjZSB0byBNUEVHLTIgdmlkZW8gcGFyc2VyIHRoYXQgdGFrZXMgR3N0TXBlZ1ZpZGVvUGFja2V0CgkgIGFyZ3VtZW50cyBpbnN0ZWFkIG9mIGRhdGEsIHNpemUsIGFuZCBvZmZzZXQuIE5ldyBmdW5jdGlvbnMgYXJlIGNhbGxlZAoJICBhZnRlciBnc3RfbXBlZ192aWRlb19wYWNrZXRfKigpIGFuZCBwcm92aWRlIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoJICBPbGRlciBBUEkgaXMgbW92ZWQgdG8gdGhlIGRlcHJlY2F0ZWQgbmFtZXNwYWNlIGFuZCB1c2VzIHRoZSBuZXcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTMzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDUgMTY6NDY6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIG5vLWxvbmdlciBuZWVkZWQgY29kZQoJICBTaW5jZSB3ZSBub3cgc2VuZCBhbGwgc2VjdGlvbnMgdG8gdGhlIHBhY2tldGl6ZXIsIHdlIG5vIGxvbmdlciBuZWVkIHRvIGRvCgkgIGFueW1vcmUgaW4tZGVwdGggY2hlY2tzIGZvciB0aGUgdmFsaWRpdHkgb2YgYSBzZWN0aW9uLgoJICBUaGUgY2hvaWNlIGJvaWxzIGRvd24gdG86CgkgIDEpIElzIGl0IGZyb20gYSBrbm93biBQRVMgcGlkID8gSWYgc28gcGFzcyBpdCBvbiAod2hpY2ggbWlnaHQgYmUganVzdCBwdXNoaW5nCgkgIGRvd25zdHJlYW0gaW4gdGhlIGNhc2Ugb2YgdHNwYXJzZSwgb3IgYWNjdW11bGF0aW5nIFBFUyBkYXRhIGZvciB0c2RlbXV4KQoJICAyKSBJcyBpdCBmcm9tIGEga25vd24gU0kgcGlkID8gSWYgc28gcGFzcyBpdCB0byB0aGUgc2VjdGlvbiBwYWNrZXRpemVyCgoyMDEzLTA3LTA1IDEzOjUzOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEZpeCBQTVQgaGFuZGxpbmcKCSAgV2FzIHVzaW5nIGFuIG9sZGVyICh0ZW1wb3JhcnkpIHZlcnNpb24gb2YgdGhlIG1wZWd0cyBsaWJyYXJ5IEFQSS4KCjIwMTMtMDctMDUgMTA6NTc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxpbmcKCSAgV2UgcHJldmlvdXNseSB3ZXJlbid0IHVzaW5nIHRoYXQgdmFyaWFibGUgLi4uCgoyMDEzLTA3LTA0IDA4OjQzOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgICogQWRkIGEgYmFzZSBwYWdlIGZvciB0aGUgbGlicmFyeQoJICAqIEFkZCBwYWdlcyBmb3IgdGhlIGJhc2UgTVBFRy1UUyBzZWN0aW9uIGFuZCBkZXNjcmlwdG9ycwoJICAqIEFkZCBwYWdlcyBmb3IgdGhlIGtub3duIHZhcmlhbnRzCgkgICogQWRkIGRvY3VtZW50YXRpb24gb24gbW9yZSBmaWVsZHMvc2VjdGlvbnMvdHlwZXMKCSAgKiBSZW1vdmUgc29tZSBmaXhtZXMgdGhhdCB3ZXJlIC4uLiBmaXhlZAoKMjAxMy0wNy0wNCAwNzo0OTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN3aXRjaCB0byB1c2luZyBHc3RNcGVnVHNTdHJlYW1UeXBlCgkgIFdlIHN0aWxsIGhhdmUgc29tZSBvdGhlciBzdHJlYW0gdHlwZXMgd2hpY2ggaGF2ZW4ndCBiZWVuIHBvcnRlZCwgYnV0CgkgIHdlIHdpbGwgZG8gc28gb25jZSB3ZSBoYXZlIGRlZmluZWQgdGhlIGVudW1zIGluIHRoZSBtcGVndHMgbGlicmFyeS4KCSAgQWxzbyBhZGQgc29tZSBGSVhNRXMgcmVnYXJkaW5nIGl0ZW1zIGRpc2NvdmVyZWQgZHVyaW5nIGFuYWx5c2lzCgoyMDEzLTA3LTA0IDA3OjQ4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHNkZXNjcmlwdG9yOiBGaXggaGFuZGxpbmcgb2YgdW5rbm93biBzdHJlYW0gZW5jb2RpbmdzCgkgIElmIHdlIGNhbm5vdCBpZGVudGlmeSB0aGUgZW5jb2RpbmcgdXNlZCBmb3IgYSBzdHJpbmcsIHJldHVybiBhIE5VTEwKCSAgc3RyaW5nIGluc3RlYWQgb2YgZ2FyYmFnZSBhbmQgYWRkIGEgRklYTUUgc28gd2UgY2FuIGRldGVjdCBhbmQgbGF0ZXIKCSAgZml4IGl0LgoKMjAxMy0wNy0wNCAwNzo0NToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogQWRkIHJlZ2lzdGVyZWQgbXBlZy10cyBzdHJlYW0gdHlwZXMKCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgb2ZmaWNpYWxseSByZWdpc3RlcmVkIGluIHRoZSBiYXNlIHNwZWNpZmljYXRpb24KCSAgKEguMjIyLjAvMTM4MTgtMSkuIExhdGVyIG9uIHdlIGNhbiBhZGQgb3RoZXIgZW51bXMgZm9yIG90aGVyIHZhcmlhbnRzCgkgIE5vdGUgdGhhdCB0aGUgZW51bSBpcyBub3QgdXNlZCBpbiB0aGUgc3RydWN0dXJlIGZpZWxkcyAoc3VjaCBhcyBhIHBtdAoJICBzdHJlYW0gc3RyZWFtX3R5cGUgZmllbGQpIHNpbmNlIGl0IGNhbiBjb250YWluIHZhbHVlcyBmcm9tIG90aGVyCgkgIHZhcmlhbnRzLgoKMjAxMy0wNy0wNCAwMjoxMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBleGFtcGxlczogYWRkIG1pc3NpbmcgbGliIHRvIG1ha2VmaWxlCgkgIEZpeGVzIGluaXRpYWxpemF0aW9uIG9mIHNhbXBsZSBhcHBsaWNhdGlvbgoKMjAxMy0wNy0wMyAxOToxMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJldmVudCBhc3NlcnRpb24gd2hlbiBkdXJhdGlvbiBpcyB1bmtub3duCgkgIER1cmF0aW9uIGZyb20gc2VnbWVudCBiZWluZyB1bmtub3duIGlzIGEgaXNzdWUgZnJvbSB0aGUgTVBEIGFuZCBub3QKCSAgYSBwcm9ncmFtbWluZyBpc3N1ZSwgc28gdGhlIGFzc2VydCBpc24ndCB1c2VmdWwgaGVyZS4gSW5zdGVhZCBjaGVjawoJICBhbmQgcmV0dXJuIGFuIGVycm9yIGNvZGUgc28gdGhlIGNhbGxlciBjYW4gZmFsbGJhY2sgdG8gYWx0ZXJuYXRpdmVzCgoyMDEzLTA3LTAzIDE5OjExOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggZXZlbnQgbGVhayB3aGVuIHBhcnNpbmcgbWFuaWZlc3QgZmFpbHMKCSAgQWx3YXlzIHJlbWVtYmVyIHRvIHVucmVmIHRoZSBldmVudCBiZWZvcmUgcHJvY2VlZGluZywgaW4gYm90aCBzdWNjZXNzCgkgIGFuZCBmYWlsdXJlIGNhc2VzCgoyMDEzLTA3LTAzIDEyOjMwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHZhcmlvdXMgY2xlYW51cHMKCSAgUmVtb3ZpbmcgdW51c2VkIGZ1bmN0aW9uLCByZXBsYWNpbmcgLy8gY29tbWVudHMgd2l0aCAvKiAqLyBhbmQKCSAgcmVwbGFjaW5nIHNvbWUgR1NUX1dBUk5JTkcgd2l0aCBHU1RfSU5GTy9fREVCVUcgYXMgdGhleSBhcmUgbWVhbnQKCSAgdG8gYmUKCjIwMTMtMDYtMTEgMTQ6Mjg6NTMgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogQ2hhbmdlIGZpcnN0IGZyYWdtZW50IHNlbGVjdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIFdoZW4gZGFzaGRlbXV4IHNlbGVjdHMgaXRzIGZpcnN0IGZyYWdtZW50LCBpdCBhbHdheXMgc2VsZWN0cyB0aGUKCSAgZmlyc3QgZnJhZ21lbnQgbGlzdGVkIGluIHRoZSBtYW5pZmVzdC4gRm9yIG9uLWRlbWFuZCBjb250ZW50LAoJICB0aGlzIGlzIHRoZSBjb3JyZWN0IGJlaGF2aW91ci4gSG93ZXZlciBmb3IgbGl2ZSBjb250ZW50LCB0aGlzCgkgIGJlaGF2aW91ciBpcyB1bmRlc2lyYWJsZSBiZWNhdXNlIHRoZSBmaXJzdCBmcmFnbWVudCBsaXN0ZWQgaW4gdGhlCgkgIG1hbmlmZXN0IG1pZ2h0IGJlIHNvbWUgY29uc2lkZXJhYmxlIHRpbWUgYmVoaW5kICJub3ciLgoJICBUaGUgY29tbWl0IHVzZXMgdGhlIGhvc3QncyBpZGVhIG9mIFVUQyBhbmQgdHJpZXMgdG8gZmluZCB0aGUKCSAgb2xkZXN0IGZyYWdtZW50IHRoYXQgY29udGFpbnMgc2FtcGxlcyBmb3IgdGhpcyB0aW1lIG9mIGRheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTUwOQoKMjAxMy0wNy0wMyAxODo1MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBzcGxpdCBkdmIgZGVzY3JpcHRvcnMvZW51bXMgaW50byBhIHNlcGFyYXRlIGZpbGUKCSAgV2Ugd2lsbCBkbyB0aGUgc2FtZSBvbmNlIHdlIGhhdmUgQVRTQy9JU0RCLy4uLiBkZXNjcmlwdG9yIHBhcnNpbmcKCjIwMTMtMDctMDMgMTg6NDQ6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEZpeCBUT1Qgc2VjdGlvbiBwYXJzaW5nCgkgIEFuZCB1c2UgaXQgaW4gZXhhbXBsZQoKMjAxMy0wNy0wMyAxODowMDo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBGaXggYSBsZWFrCgoyMDEzLTA3LTAzIDE3OjU5OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkgIG1wZWd0czogU3BsaXQgZmlsZXMgYW5kIGltcGxlbWVudCBmcmVlIGZ1bmN0aW9ucwoJICAqIEluIG9yZGVyIHRvIGF2b2lkIGZ1dHVyZSBjbGFzaGluZyBiZXR3ZWVuIHRhYmxlX2lkIGZvciB0aGUgdmFyaW91cwoJICBtcGVnLXRzIHZhcmlhbnRzLCB1c2UgZGlmZmVyZW50IGVudW1zLgoJICAqIEluIG9yZGVyIHRvIGtlZXAgZXZlcnl0aGluZyBjbGVhbihpc2gpIGFuZCBhbGxvdyBmb3IgY2xlYW5lciBncm93dGgsCgkgIHNwbGl0IGludG8gZGlmZmVyZW50IGZpbGVzICh3aWxsIG5lZWQgdGhlIHNhbWUgZm9yIGRlc2NyaXB0b3JzIGxhdGVyKQoJICAqIEFsc28gLi4uIGltcGxlbWVudCBmcmVlIGZ1bmN0aW9ucyBmb3IgYWxsIHRhYmxlIHR5cGVzIDopCgoyMDEzLTA3LTAzIDE1OjMwOjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKMjAxMy0wNy0wMyAxMDoxNjoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogb25seSBnZW5lcmF0ZSBpbmRleCBzZWdtZW50IHVyaSBpZiB0aGVyZSBpcyBhIHRlbXBsYXRlCgkgIFNpbXBsZSBmaXggdG8gYXZvaWQgYW4gYXNzZXJ0aW9uLgoKMjAxMy0wNi0yMSAxNzowOTozMCAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGluaGVyaXRhbmNlIGZvciBjZXJ0YWluIE1QRCBlbGVtZW50cwoJICBBY2NvcmRpbmcgdG8gdGhlIE1QRUctREFTSCBzcGVjLCBjZXJ0YWluIGVsZW1lbnRzIChpLmUuCgkgIFNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUsIGFuZCBTZWdtZW50TGlzdCkgc2hvdWxkIGluaGVyaXQKCSAgYXR0cmlidXRlcyBmcm9tIHRoZSBzYW1lIGVsZW1lbnRzIGluIHRoZSBjb250YWluaW5nIEFkYXB0YXRpb25TZXQKCSAgb3IgUGVyaW9kLgoJICBVcGRhdGVkIHRoZSBTZWdtZW50QmFzZSwgU2VnbWVudFRlbXBsYXRlLCBhbmQgU2VnbWVudExpc3QgcGFyc2VycwoJICB0byBwcm9wZXJseSBpbmhlcml0IGF0dHJpYnV0ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbgoJICBBZGFwdGF0aW9uU2V0IGFuZC9vciBQZXJpb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2NzcKCjIwMTMtMDYtMjEgMTU6NTE6NDYgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IGRldGVjdCBwcmVzZW5jZSBvZiB4bWwgYXR0cmlidXRlcwoJICBDb252ZXJ0IGFsbCB4bWwgYXR0cmlidXRlL2NvbnRlbnQgcGFyc2luZyBmdW5jdGlvbnMgdG8gcmV0dXJuIGEKCSAgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSBhdHRyaWJ1dGUvY29udGVudCB3YXMKCSAgcHJlc2VudC4gIFdlIG5lZWQgdGhpcyBmaW5lci1ncmFpbmVkIGNvbnRyb2wgaW4gb3JkZXIgdG8gcHJvcGVybHkKCSAgaW1wbGVtZW50IHRoZSBpbmhlcml0YW5jZSBwb2xpY2llcyBkZXNjcmliZWQgaW4gdGhlIHNwZWMKCSAgQWxzbyBmaXhlZCBzZXZlcmFsIG1lbW9yeSBsZWFrIGNvbmRpdGlvbnMgd2hlbiBoYW5kbGluZyBlcnJvcnMgaW4KCSAgdGhlIHhtbCBhdHRyaWJ1dGUvY29udGVudCBwYXJzaW5nIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY3NwoKMjAxMy0wNy0wMiAyMTozMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY2hhbmdlIGRlYnVnIG1lc3NhZ2UgZnJvbSB3YXJuaW5nIHRvIGluZm8KCSAgSXQgaXNuJ3QgYSB3YXJuaW5nL2lzc3VlLgoKMjAxMy0wNy0wMiAyMToyODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBmcm9tIGFjY2VzcyB0byBlbXB0eSBsaXN0IGRhdGEKCSAgQ2hlY2sgaWYgdGhlIGxpc3QgaGFzIGVsZW1lbnRzIGJlZm9yZSB0cnlpbmcgdG8gYWNjZXNzIHRoZSBsYXN0IG9uZQoJICBhbmQgY2F1c2luZyBhIHNlZ2ZhdWx0CgoyMDEzLTA3LTAyIDIzOjE2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNpbXBsaWZ5IGxvY2tpbmcgdG8gZml4IGRlYWRsb2NrcwoJICBVc2Ugb2JqZWN0IGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyBhbmQKCSAgdXNlIGRvd25sb2FkX2xvY2sgdG8gb25seSBhbGxvdyBvbmUgZG93bmxvYWQgcnVubmluZwoKMjAxMy0wNy0wMiAxNjowNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBhZ2FpbnN0IGZhaWxlZCBoZWFkZXIgZG93bmxvYWRzCgkgIEF2b2lkcyBjcml0aWNhbHMgd2hlbiBkb3dubG9hZGVkIGZyYWdtZW50IGlzIE5VTEwKCjIwMTMtMDctMDMgMTM6NTk6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1Nzo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU3OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoKMjAxMy0wNy0wMyAxMzo1NjoyMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBsaWJzL21wZWd0czogUmVuYW1lIEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCSAgU29ycnkgZm9yIHRoaXMgOiggQnV0IHRoaXMgbWFrZXMgaXQgbW9yZSBpbiBzeW5jIHdpdGggZXhwZWN0ZWQgdHlwZQoJICBuYW1pbmcgaW4gZ29iamVjdCAoaS5lLiBDYW1lbENhc2UgYW5kIG5vdCBDYW1lbE1BWUJFQ2FzZSkuCgkgIEFsc28gc3BsaXQgZGVzY3JpcHRvciB0eXBlIGVudW1zIGludG8gdGhlIGRpZmZlcmVudCB2YXJpYW50czoKCSAgKiBJU08gSC4yMjIuMCAvIDEzODE4LTEgKGkuZS4gc3RhbmRhcmQgbXBlZy10cykKCSAgKiBEVkIKCSAgKiBBVFNDCgkgICogSVNEQgoJICAqIG1pc2NlbGxhbmVvdXMKCSAgVGhpcyB3aWxsIGF2b2lkIGZ1dHVyZSBjbGFzaGVzIHdoZW4gc3BlY3MgdXNlIHRoZSBzYW1lIGRlc2NyaXB0b3IgdHlwZQoKMjAxMy0wNy0wMSAwODozNToyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBhbiBleGFtcGxlIG9mIGEgbXBlZy10cyBTSSBleHRyYWN0b3IKCSAgU2VydmVzIGFzIGFuIGV4YW1wbGUgb2YgdXNhZ2Ugb2YgdGhlIG5ldyBtcGVndHMgbGlicmFyeSBmcm9tIGFuCgkgIGFwcGxpY2F0aW9uLgoJICBXaWxsIHBhcnNlL2R1bXAgYWxsIHNlY3Rpb25zIHJlY2VpdmVkIG9uIGEgYnVzLgoJICBVc2FnZSBpcyAuL3RzcGFyc2UgPGFueSBnc3QtbGF1bmNoIGxpbmUgdXNpbmcgdHNkZW11eCBvciB0c3BhcnNlPgoJICBFeGFtcGxlczoKCSAgLi90c3BhcnNlIGZpbGU6Ly8vc29tZS9tcGVndHNmaWxlICEgdHNwYXJzZSAhIGZha2VzaW5rCgkgIC4vdHNwYXJzZSBkdmI6Ly9DSEFOTkVMICEgdHNwYXJzZSAhIGZha2VzaW5rCgkgIC4vdHNwYXJzZSBwbGF5YmluIHVyaT1kdmI6Ly9DSEFOTkVMCgkgIC4vdHNwYXJzZSBwbGF5YmluIHVyaT1maWxlOi8vL3NvbWUvbXBlZ3RzZmlsZQoJICAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0yMyAwODo0NDowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBTd2l0Y2ggdG8gTVBFRy1UUyBTSSBsaWJyYXJ5CgkgIEFsc28gc2VydmVzIGFzIGFuIGV4YW1wbGUgb2YgdXNpbmcgbXBlZ3RzIGxpYnJhcnkgZnJvbSBhIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQzOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIE1QRUctVFMgU0kgbGlicmFyeQoJICAqIE9ubHkgbXBlZy10cyBzZWN0aW9uIHBhY2tldGl6YXRpb24gcmVtYWlucy4KCSAgKiBJbXByb3ZlIGNvZGUgdG8gZGV0ZWN0IGR1cGxpY2F0ZWQgc2VjdGlvbnMgYXMgZWFybHkgYXMgcG9zc2libGUKCSAgKiBBZGQgRklYTUUgZm9yIHZhcmlvdXMgaXNzdWVzIHRoYXQgbmVlZCBmaXhpbmcgKGJ1dCBhcmUgbm90IHJlZ3Jlc3Npb25zKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQxOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgZ3N0LWxpYnM6IE5ldyBNcGVnLVRTIHN1cHBvcnQgbGlicmFyeQoJICBFeHBvc2VzIHZhcmlvdXMgTVBFRy1UUyAoSVNPL0lFQyAxMzgxOC0xKSBhbmQgRFZCIChFTiAzMDAgNDY4KSBTZWN0aW9uCgkgIEluZm9ybWF0aW9uIGFzIHdlbGwgYXMgZGVzY3JpcHRvcnMgZm9yIHVzYWdlIGJ5IHBsdWdpbnMgYW5kIGFwcGxpY2F0aW9ucy4KCSAgVGhpcyByZXBsYWNlcyBlbnRpcmVseSB0aGUgb2xkIEdzdFN0cnVjdHVyZS1iYXNlZCBzeXN0ZW0gZm9yIGNvbnZleWluZwoJICBtcGVnLXRzIGluZm9ybWF0aW9uIHRvIGFwcGxpY2F0aW9ucyBhbmQgb3RoZXIgcGx1Z2lucy4KCSAgUGFyc2luZyBhbmQgdmFsaWRhdGlvbiBpcyBkb25lIG9uIGEgIndoZW4tbmVlZGVkIiBiYXNpcy4gVGhpcyBlbnN1cmVzCgkgIHRoZSBtaW5pbWFsIG92ZXJoZWFkIGZvciBlbGVtZW50cyBhbmQgYXBwbGljYXRpb25zIGNyZWF0aW5nIGFuZCB1c2luZwoJICBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMuCgkgIFNpbmNlIGFsbCBpbmZvcm1hdGlvbiBpcyBtYWRlIGF2YWlsYWJsZSwgdGhpcyBhbHNvIGFsbG93cyBhcHBsaWNhdGlvbnMKCSAgdG8gcGFyc2UgY3VzdG9tIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycy4KCSAgUmlnaHQgbm93IHRoZSBsaWJyYXJ5IGlzIHRhcmdldGVkIHRvd2FyZHMgcGFyc2luZywgYnV0IHRoZSBzdHJ1Y3R1cmVzCgkgIGNvdWxkIGJlIHVzZWQgaW4gdGhlIGZ1dHVyZSB0byBhbGxvdyBhcHBsaWNhdGlvbnMgdG8gY3JlYXRlIGFuZCBpbmplY3QKCSAgc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzIChmb3IgdXNhZ2UgYnkgdmFyaW91cyBtcGVnLXRzIGVsZW1lbnRzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyNAoKMjAxMy0wNi0xMCAxODowMToxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBIYW5kbGUgY2FzZSB3aXRob3V0IGFuIGluaXRpYWxpemF0aW9uIHNlZ21lbnQKCSAgSWYgbm8gaW5pdGlhbGl6YXRpb24gc2VnbWVudCBpcyBkZWZpbmVkLCB0aGVuIGRvbid0IHByaW50IGEKCSAgY3JpdGljYWwgb3IgYSB3YXJuaW5nLCBqdXN0IGlnbm9yZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTk2MQoKMjAxMy0wNy0wMSAxODoyMjo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHNhdmUgMSBvciAyIHN0cmluZyBjb3BpZXMgd2hlbiBnZXR0aW5nIGZyYWdtZW50IHVyaXMKCSAgT25seSBjcmVhdGUgbmV3IHN0cmluZyBpZiByZXF1aXJlZCwgc2F2aW5nIG1heWJlIDEgb3IgMiBzdHIgY29waWVzIHBlcgoJICBmcmFnbWVudC4KCjIwMTMtMDctMDEgMTg6MTU6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkIHVyaWRvd25sb2FkZXIgbGliIHRvIGd0ay1kb2MgbGlicwoJICBmaXhlcyBydW50aW1lIGxpbmtpbmcgZXJyb3Igb24gd2luZG93cwoKMjAxMy0wNy0wMSAxNzo1MDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBlYWNoIGZyYWdtZW50IGNhbiBoYXZlIGl0cyBvd24gaW5kZXgKCSAgUmV0dXJuIGluZGV4IFVSSS9yYW5nZSB0byBkYXNoZGVtdXggZnJvbSB0aGUgbXBkcGFyc2VyIHRvIGJlIGFibGUKCSAgdG8gZG93bmxvYWQgYW5kIGRlbGl2ZXIgdGhlbSBkb3duc3RyZWFtIGZvciBwbGF5YmFjay4KCjIwMTMtMDctMDEgMTM6MTk6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIHRvcC1sZXZlbCBpbmRleCB1cmxzCgkgIFBhcnNlIGFuZCBwcm92aWRlIGFjY2VzcyB0byB0b3AtbGV2ZWwgaW5kZXggc2VnbWVudHMgaWYgYXZhaWxhYmxlLgoJICBkYXNoZGVtdXggc2hvdWxkIHB1c2ggdGhvc2Ugd2hlbmV2ZXIgYSBoZWFkZXIgaXMgcHVzaGVkLgoJICBGaXhlcyAjNzAwNDg5CgoyMDEzLTA1LTA2IDE3OjA4OjU0IC0wNDAwICBBcnRodXIgU2hpcGtvd3NraSA8YXJ0QHZpZGVvbi1jZW50cmFsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBjcml0aWNhbCBlcnJvciBvdXRwdXQgd2hlbiBJbml0aWFsaXphdGlvbiBoYXMgbm8gVVJMCgkgIElzc3VlIGV2aW5jZWQgYnkKCSAgaHR0cDovL3l0LWRhc2gtbXNlLXRlc3QuY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2FyLTIwMTIwODI3LW1hbmlmZXN0Lm1wZAoJICB3aGljaCBwcm9kdWNlcyBvdXRwdXQgbGlrZSAqKiAoZ3N0LWxhdW5jaC0xLjA6ODA2MCk6IENSSVRJQ0FMICoqOgoJICBnc3RfbXBkcGFyc2VyX2dldF9pbml0aWFsaXphdGlvblVSTDogYXNzZXJ0aW9uIGBJbml0aWFsaXphdGlvblVSTC0+c291cmNlVVJMCgkgICE9IE5VTEwnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDg5CgoyMDEzLTA3LTAxIDE0OjM1OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcmV2ZW50IGNyYXNoIGJ5IGNoZWNraW5nIGlmIHRoZSBzZWdtZW50IG5vZGUgaXMgcHJlc2VudAoJICBEbyBub3QgdHJ5IHRvIGFjY2VzcyByYW5nZSBkYXRhIGlmIHRoZXJlIGlzIG5vIHNlZ21lbnQgbm9kZQoKMjAxMy0wNi0yNSAxODozNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hfZGVidWcuaDoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiB1c2Ugc2FtZSBkZWJ1ZyBjYXRlZ29yeSBmb3IgZGFzaGRlbXV4IGFuZCB0aGUgbXBkIHBhcnNlcgoJICBNYWtlcyBkZWJ1Z2dpbmcgZWFzaWVyCgoyMDEzLTA2LTIwIDAzOjUyOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciByYW5nZSBiYXNlZCBzZWdtZW50cwoJICBVc2UgdGhlIG1lZGlhUmFuZ2UgaW5mb3JtYXRpb24gYW5kIHBhc3MgaXQgdG8gdGhlIHVyaWRvd25sb2FkZXIKCSAgdG8gY29ycmVjdGx5IGRvd25sb2FkIG9ubHkgdGhlIHNlZ21lbnQgcmFuZ2VzIGluZGljYXRlZCBpbiB0aGUKCSAgTVBECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMDYKCjIwMTMtMDYtMTkgMTg6Mjg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBhZGQgc3VwcG9ydCBmb3IgcmFuZ2UgYmFzZWQgZG93bmxvYWRzCgkgIEFkZHMgYSBuZXcgQVBJIGdzdF91cmlfZG93bmxvYWRlcl9mZXRjaF91cmlfd2l0aF9yYW5nZSB0aGF0IGFsbG93cwoJICBkb3dubG9hZGluZyBvbmx5IGEgYnl0ZSByYW5nZSBmcm9tIGFuIFVSSS4gSXQgdXNlcyBhIHNlZWsgZXZlbnQKCSAgc2VudCB0byB0aGUgc291cmNlIHRvIHNpZ25hbCB0aGUgcmFuZ2UgdG8gYmUgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wMy0wOSAwMTo0OToyMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIHR5cGUgZm9yIHRoZSBTRUkgcGFseWxvYWQgcGFyc2luZyBtZXRob2RzLgoJICBUaGUgcmV0dXJuIHZhbHVlIHR5cGUgb2YgU0VJIHBheWxvYWQgcGFyc2luZyBmdW5jdGlvbnMKCSAgYXJlIEdzdEgyNjRQYXJzZXJSZXN1bHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0NzUKCjIwMTMtMDYtMjggMjA6MTU6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogRG9uJ3QgcmVxdWlyZSBhIGtleSBpZiBib3RoIGF1dGggYW5kIGNpcGhlciBhcmUgbnVsbAoKMjAxMy0wNi0yOCAyMDozMjozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHAuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IE1vdmUgdGhlIGVudW1zIHRvIHRoZSBjb21tb24gaGVhZGVyCgkgIFRoZSB0eXBlcyBhcmUgdXNlZCBpbiBib3RoIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyCgoyMDEzLTA2LTI4IDIwOjEzOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTMtMDYtMjggMTI6MjU6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGFkZCB0aGUgYnVpbGQgcHJlZml4IHBhdGggaW4gdGhlIHNlYXJjaCBkaXJzCgoyMDEzLTA2LTI1IDEwOjI2OjI0IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDbGVhbnVwIG1lbW9yeSBhbGxvY2F0aW9uL2RlYWxsb2NhdGlvbgoJICBFbnN1cmUgdGhhdCBnX2ZyZWUveG1sRnJlZSBpcyB1c2VkIGNvcnJlY3RseSBiYXNlZCBvbiBob3cgdGhlCgkgIG1lbW9yeSB3YXMgYWxsb2NhdGVkLgoJICBXaGVuIGRlYWxsb2NhdGluZyBHTGlzdHMsIHRoZXJlIHdlcmUgbWFueSBwbGFjZXMgdGhhdCB3ZXJlIHVzaW5nCgkgIGdfbGlzdF9mb3JlYWNoIGFuZCBnX2xpc3RfZnJlZS4gIENvbnZlcnRlZCB0aGVzZSBvY2N1cnJlbmNlcyB0bwoJICBjYWxsIGdfbGlzdF9mcmVlX2Z1bGwuCgkgIEFkZCBOVUxMIGNoZWNrcyB0byBhbGwgeG1sRnJlZSBjYWxscyBzaW5jZSB0aGUgZG9jdW1lbnRhdGlvbiBkb2VzCgkgIG5vdCBndWFyYW50ZWUgdGhhdCBwYXNzaW5nIE5VTEwgaXMgc2FmZQoJICBJbiBwbGFjZXMgd2hlcmUgd2UgYXJlIHN0cmR1cCdpbmcgbWVtb3J5IGFsbG9jYXRlZCBieSBsaWJ4bWwyLAoJICBjaGFuZ2VkIHRob3NlIGNhbGxzIHRvIHVzZSB4bWxNZW1TdHJkdXAoKS4KCSAgVGhlcmUgd2VyZSBzZXZlcmFsIHBsYWNlcyB3aGVyZSB3ZSB3ZXJlIG1pc3NpbmcgZ19zbGljZV9mcmVlIHdoZW4KCSAgZGVhbGxvY2F0aW5nIGEgdG9wLWxldmVsIG5vZGUgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODM3CgoyMDEzLTA2LTI0IDEzOjAyOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogRXh0ZW5kIGxpc3Qgb2Yga25vd24gZGVzY3JpcHRvcnMKCSAgQWRkIHRoZSB2YXJpb3VzIEFUU0Mgb25lcwoKMjAxMy0wNi0yNCAwODoyNDo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBPbmx5IHdhcm4gZm9yIGFkZGVkIHN0cmVhbXMgd2hlbiBuZWVkZWQKCSAgV2UgdXNlIGFkZF9zdHJlYW0oc3RyZWFtX3R5cGU6LTEpIHRvIGVuc3VyZSBhIHByb2dyYW1zJyBQQ1IgU3RyZWFtIGlzCgkgIGFsc28gdGFrZW4gaW50byBhY2NvdW50LiBGb3IgbW9zdCBwcm9ncmFtcyB0aGlzIHdpbGwgcmUtdXNlIGFuCgkgIGV4aXN0aW5nIEVTIHN0cmVhbS4KCSAgU28gb25seSB3YXJuIHRoYXQgd2UgYXJlIHJlLWFkZGluZyBhIHN0cmVhbSBpZiBpdCB3YXMgYWxyZWFkeSBwcmVzZW50CgkgIEFORCBpdCBpcyBub3QgdG8gZW5zdXJlIHRoZSBQQ1Igc3RyZWFtIGlzIHRha2VuIGludG8gYWNjb3VudC4KCjIwMTMtMDYtMjMgMTU6MTI6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgc2VjdGlvbiBwYXJzaW5nCgkgIE9ubHkgY3JlYXRlIHN1YnRhYmxlcyB3aGVuIG5lZWRlZC4gSXQgd2FzIHByZXZpb3VzbHkgY3JlYXRpbmcgb25lIGV2ZXJ5CgkgIHNpbmdsZSB0aW1lIC4uLiB0byBjaGVjayBpZiBvbmUgd2FzIHByZXNlbnQuCgkgIEFuZCBzcGVlZCB1cCBjb2RlIHRvIGRldGVjdCB3aGV0aGVyIGEgc3VidGFibGUgd2FzIGFscmVhZHkgcHJlc2VudCBvciBub3QuCgkgIE92ZXJhbGwgbWFrZXMgc2VjdGlvbiBwdXNoaW5nIDIgdGltZXMgZmFzdGVyLgoKMjAxMy0wNi0yNCAwNzo0MDoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEV4dGVuZCBsaXN0IG9mIGtub3duIGRlc2NyaXB0b3JzCgkgIEZyb20gSVRVLVQgSDIyMi4wICgwNi8yMDEyKS4gRnJlZWx5IGF2YWlsYWJsZSBmcm9tIGl0dS5pbnQKCjIwMTMtMDYtMjMgMTU6MjY6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWR1cCBwYWNrZXQgcGFyc2luZwoJICBBdm9pZCB1c2luZyBiaXRzaGlmdGluZyB3aGVyZSBub3QgbmVlZGVkLgoJICBTcGVlZHMgdXAgcGFja2V0IHBhcnNpbmcgYnkgMyUgKHRoaXMgaXMgKnRoZSogaG90c3BvdCBvZiBtcGVnLXRzIGVsZW1lbnRzKS4KCjIwMTMtMDYtMjIgMDg6NTc6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBGaXggZ3RrLWRvYwoJICBEZXRlY3RlZCBieSBpbml0aWFsIHByZS1ydW4gb2YgZ2ktc2Nhbm5lci4KCjIwMTMtMDYtMjMgMTE6Mjk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmg6CgkgIGRhYWxhZGVjOiBBZGQgZGVjb2RlciBlbGVtZW50CgoyMDEzLTA2LTIzIDEwOjA0OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmg6CgkgIGRhYWxhZW5jOiBBZGQgZW5jb2RlciBlbGVtZW50CgoyMDEzLTA2LTIyIDExOjI3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RhYWxhL01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGEuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5oOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmg6CgkgIGRhYWxhOiBJbml0aWFsIHZlcnNpb24gb2YgYSBEYWFsYSBwbHVnaW4KCjIwMTMtMDYtMjMgMDk6MDU6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkgIHNydHA6IEZpeCBkaXN0CgkgIFRoZSBlbnVtcyBzaG91bGQgbm90IGJlIGRpc3QtZWQgYW5kIGluc3RlYWQgYmUgcmUtZ2VuZXJhdGVkIHdoZW4KCSAgY29tcGlsaW5nLgoKMjAxMy0wNi0xOSAyMDozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBCZXR0ZXIgZGV0ZWN0IGFscmVhZHkgc2VlbiBzZWN0aW9uCgkgIEluIHNvbWUgY2FzZXMgKE5JVCBvbiBoaWdobHktcG9wdWxhdGVkIERWQi1DIG9wZXJhdG9yIGZvciBleGFtcGxlKSwgdGhlcmUKCSAgd2lsbCBiZSBtb3JlIHRoYW4gb25lIHNlY3Rpb24gZW1pdHRlZCBmb3IgdGhlIHNhbWUgc3VidGFibGUgYW5kIHZlcnNpb24KCSAgbnVtYmVyLgoJICBJbiBvcmRlciBub3QgdG8gbG9zZSB0aG9zZSB1cGRhdGVzIGZvciB0aGUgc2FtZSB2ZXJzaW9uIG51bWJlciwgd2UgY2hlY2tlZAoJICBhZ2FpbnN0IHRoZSBDUkMgb2YgdGhlIHByZXZpb3VzIHNlY3Rpb24gd2UgcGFyc2VkLgoJICBUaGUgcHJvYmxlbSBpcyB0aGF0LCB3aGlsZSBpdCBtYWRlIHN1cmUgd2UgZGlkbid0IGxvc2UgYW55IGluZm9ybWF0aW9uLCBpdAoJICBhbHNvIG1lYW50IHRoYXQgaWYgdGhlIHNhbWUgc2VjdGlvbiBjYW1lIGJhY2sgKHNhbWUgdmVyc2lvbiwgc2FtZSBDUkMpIGxhdGVyCgkgIG9uIHdlIHdvdWxkIHJlLXByb2Nlc3MgaXQsIHJlLXBhcnNlIGl0IGFuZCByZS1lbWl0IGl0LgoJICBUaGlzIHZlcnNpb24gaW1wcm92ZXMgb24gdGhhdCBieSBrZWVwaW5nIGEgbGlzdCBvZiBwcmV2aW91c2x5IG9ic2VydmVkIENSQwoJICBmb3IgaWRlbnRpY2FsIFBJRC9zdWJ0YWJsZS92ZXJzaW9uLW51bWJlciBhbmQgd2lsbCBvbmx5IHByb2Nlc3Mgc2VjdGlvbnMgaWYKCSAgdGhleSByZWFsbHkgd2VyZSBuZXZlciBzZWVuIGluIHRoZSBwYXN0IChhcyBvcHBvc2VkIHRvIGp1c3QgYmVmb3JlKS4KCSAgT24gYSAzMHMgY2xpcCwgdGhpcyBicmluZ3MgZG93biB0aGUgbnVtYmVyIG9mIE5JVCBzZWN0aW9uIHBhcnNpbmcgZnJvbSA0NTQxCgkgIGRvd24gdG8gNjYzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0NDc5CgoyMDEzLTA2LTIwIDIyOjEyOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSAgd2luc2NyZWVuY2FwOiBJbml0aWFsIHBvcnQgdG8gMS4wCgoyMDEzLTA2LTIwIDA5OjUyOjMxICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjb3B5aW5nIG9mIHJhdyB2aWRlbyBmcmFtZXMgb24gU2Ftc3VuZyBHYWxheHkgUzMgd2l0aCBFeHlub3MgNCBTT0MKCjIwMTMtMDYtMTkgMTI6NTI6NTIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogdW5yZWYgYnVmZmVyIGlmIG5vIGNsaWVudHMgYXJlIGNvbm5lY3RlZAoJICBJZiBubyBjbGllbnQgaGFzIHJlY2VpdmVkIHRoZSBjb21tYW5kLCB1bnJlZiB0aGUgYnVmZmVyLiBUaGlzIHdpbGwKCSAgbWFrZSBzdXJlIHRoYXQgdGhlIHNoYXJlZCBtZW1vcnkgYXJlYSBkb2VzIG5vdCBnZXQgZmlsbGVkIHdpdGggYnVmZmVycwoJICBubyBvbmUga25vd3MgYWJvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI2ODQKCjIwMTMtMDYtMTkgMTk6Mjk6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgTklUIHBhcnNpbmcKCSAgQXZvaWQgZHVwbGljYXRpbmcgdGhlIGRlbGl2ZXJ5IHN0cnVjdHVyZSwgYW5kIGluc3RlYWQgZ2l2ZSBpdCB0byB0aGUKCSAgcmVjZWl2aW5nIGNvbnRhaW5lci4KCjIwMTMtMDYtMDcgMTI6NTM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBzaW1wbGlmeSBjb2RlCgkgIFdlIGRvbid0IG5lZWQgZ2VuZXJpYyBtZXRob2RzIGZvciBwdXNoL2ZsdXNoIHNpbmNlIHdlIGtub3cgYWxsIHRoZQoJICBzdWJjbGFzcyB0aGF0IHdlIGNvbnRyb2wKCjIwMTMtMDYtMDUgMTU6NTE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggZm9yIGNvbXBpbGluZyB3aXRob3V0IEdTVF9ERUJVRwoJICBQcm90ZWN0IGRlYnVnLW9ubHkgdmFyaWFibGVzL3VzYWdlLCBhbmQgaW4gb25lIGNhc2UgcmVtb3ZlIGEgdXNlbGVzcwoJICB2YXJpYWJsZS4KCjIwMTMtMDYtMTcgMDg6MTU6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBFbnN1cmUgaW5pdGlhbCBldmVudHMgYXJlIHNlbnQgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIEZpcnN0IHNlbmQgc3RyZWFtLXN0YXJ0LCB0aGVuIGNhcHMsIHRoZW4gc2VnbWVudC4KCSAgVGhlIHNlZ21lbnQgd2UgcHVzaCBpcyBmcm9tIHVwc3RyZWFtIGluIHB1c2gtbW9kZS4gSWYgd2Ugd29yayBpbiBwdWxsLW1vZGUKCSAgdGhlbiB3ZSBpbml0aWFsaXplIHRoZSBiYXNlIHNlZ21lbnQgdG8gQllURVMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI0MjIKCjIwMTMtMDYtMTggMTI6Mjk6NDEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogcHJvcGFnYXRlIGV2ZW50cyB0byBiYXNlc2luayBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTk3CgoyMDEzLTA2LTE4IDEzOjQ3OjU0ICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmQ6IEFkZCBzdXBwb3J0IGZvciBSR0J4IGFuZCBSR0JBIGZvcm1hdHMKCSAgV2F5bGFuZCBpbnRlcmZhY2UgY291bGQgb2ZmZXIgdHdvIGJ1ZmZlcnMgcGl4ZWxzIGZvcm1hdHM6IFdMX1NITV9GT1JNQVRfWFJHQjg4ODggYW5kIFdMX1NITV9GT1JNQVRfQVJHQjg4ODguCgkgIFVwZGF0ZSB3YXlsYW5kc2luayB0byBzdXBwb3J0IHRoZW0gYW5kIGNoZWNrIGlmIHRoZSBmb3JtYXQgaXMgcmVhbGx5IGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjExMgoKMjAxMy0wNi0xOCAxMjo0NjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGZpeCBDRkxBR1Mgb3JkZXIgYW5kIGFkZCBwbHVnaW5zIGJhc2UgbGlicyBpbmNsdWRlcyB0byBDWFhGTEFHUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjk3CgoyMDEzLTA2LTE1IDAwOjEyOjE4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBmaXhlcyBidWlsZCBieSBtb3ZpbmcgdGhlIGMrKyBoZWFkZXIgdG8gZ3N0c2VnbWVudGF0aW9uLmNwcAoJICBGaXhlczoKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdHNlZ21lbnRhdGlvbi5oOjUxOjAsCgkgIGZyb20gZ3N0b3BlbmN2LmM6NDI6CgkgIC91c3IvaW5jbHVkZS9vcGVuY3YyL3ZpZGVvL2JhY2tncm91bmRfc2VnbS5ocHA6NDc6MTY6IGZhdGFsIGVycm9yOiBsaXN0OgoJICBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgICNpbmNsdWRlIDxsaXN0PgoJICBeCgkgIGNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyOTcKCjIwMTMtMDYtMTggMTM6MzM6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBmaXggcmVsZWFzZSBvZiBudWxsIHBvaW50ZXIKCjIwMTMtMDYtMTggMTM6MTc6NTIgKzAyMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBjb3JlbWVkaWFidWZmZXI6IGZpeCBsZWFraW5nIG9mIGFwcGxlIG1lZGlhIHN0cnVjdHMKCSAgcmVtZW1iZXIgdG8gcmVsZWFzZSB0aGUgYXBwbGUncyBhcGkgYnVmZmVycyB0byBhdm9pZCBodWdlIGxlYWtpbmcKCjIwMTMtMDYtMTggMTM6MDI6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogbW92ZSBkZWZpbmVzIHRvIENQUEZMQUdTIGZvciBvYmotYyBmaWxlcwoKMjAxMy0wNi0xMSAxMTo1NDo0MSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGZpeCBhdWRpb2NhcHR1cmUgcHJvZHVjaW5nIHNpbGVuY2UKCSAgQ29uZmlndXJlIHRoZSBjYXB0dXJlIGxhdGVuY3kgdXNpbmcgdGhlIElBTUJ1ZmZlck5lZ290aWF0aW9uCgkgIGludGVyZmFjZSBhbmQgdHJ5IHRvIHJlc3BlY3QgdGhlIGNvbmZpZ3VyZWQgbGF0ZW5jeS10aW1lIGFuZCBidWZmZXItdGltZQoKMjAxMy0wNi0xNCAxNDo1MjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogTWFrZSBzdXJlIHRoZSBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIHdlIGFkZCB0aGUgTVBFRyB2aWRlbyBtZXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIxNzQKCjIwMTMtMDYtMTMgMTM6MzQ6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEZpeCBzb21lIGF1dG9tYWtlIHdhcm5pbmdzCgoyMDEzLTA1LTI3IDIyOjIyOjMyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGZpeCBNMlRTIHN0cmVhbSByZXN5bmMKCSAgU3luYyBieXRlIHNjYW4gaXMgaW5jb3JyZWN0IGZvciBNMlRTIHN0cmVhbXMgYmVjYXVzZSB0aGUgdGltZXN0YW1wIDQKCSAgYnl0ZXMgd2VyZSBub3QgaW5jbHVkZWQgaW4gdGhlIGZsdXNoIHNpemUuIFRoaXMgY2FuIHJlc3VsdCBpbiBhbgoJICBpbmZpbml0ZSBsb29wLgoJICBSZXdvcmsgdGhlIHNjYW4gY29kZSB0byBiZSBjbGVhcmVyIGFuZCB3b3JrIGluIGFsbCBjYXNlcy4KCjIwMTMtMDUtMjQgMTA6NTk6NTUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogbW92ZSBzb21lIGRlYnVnIHByaW50cyBhdCB0aGUgbG9nIGxldmVsCgoyMDEzLTA1LTI0IDEwOjU5OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXhlcyBzZWVraW5nIGluIHB1bGwgbW9kZQoJICBQcmVzZXJ2ZSB0aGUgY3VycmVudCBzZWdtZW50IGFuZCBvYnNlcnZhdGlvbnMgaW4gcHVsbCBtb2RlIHNlZWtzIHdpdGgKCSAgZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgwNTAKCjIwMTMtMDYtMTEgMTk6NDU6MzEgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogcmVtb3ZlZCBhbiBpbmNvcnJlY3QgYXNzZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIwMzYKCjIwMTMtMDYtMTEgMTQ6MzI6NDMgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBhZGQgZm9yZWdyb3VuZC9iYWNrZ3JvdW5kIHNlZ21lbnRhdGlvbiBlbGVtZW50CgkgIEFkZCBhbiBlbGVtZW50IHRvIHRoZSBvcGVuY3YgcGx1Z2luIGZvciBmb3JlZ3JvdW5nL2JhY2tncm91bmQgaW1hZ2UKCSAgc2VxdWVuY2Ugc2VnbWVudGF0aW9uLCB1c2luZyBvbmUgb3V0IG9mIDMgYWxnb3JpdGhtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQyMQoKMjAxMy0wNi0xMCAxNzowMDo0MiArMDIwMCAgSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgZHVyaW5nIGNvbnN0cnVjdGlvbgoJICBCeSBhZGRpbmcgdGhlIHZpZGVvLXNvdXJjZS1maWx0ZXIgZHVyaW5nIGNvbnN0cnVjdGlvbiB0aW1lLCByYXRoZXIgdGhlbgoJICBwYXRjaGluZyBpdCBpbiBsYXRlciAoKiksIHdlIGNhbiBncmVhdGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIGNhcHMgaW52b2x2ZWQKCSAgaW4gbmVnb3RhdGlvbiwgc3BlZWRpbmcgdXAgcGlwZWxpbmUgY3JlYXRpb24uCgkgIEkgd3JvdGUgdGhpcyB3aGlsZSB3b3JraW5nIG9uIHNwZWVkaW5nIHVwIHRoZSBzdGFydHVwIG9mIGNoZWVzZS4gTXkgY2hlZXNlCgkgIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGFkZCBhIGNhcHNmaWx0ZXIsIGZpbHRlcmluZyBmb3Igb25seSB0aGUgY29uZmlndXJlZAoJICByZXNvbHV0aW9uLCB3aXRoIHRoYXQgY2hlZXNlIHBhdGNoICsgdGhpcyBwYXRjaCwgdGhlIHBpcGVsaW5lIGNyZWF0aW9uIHRpbWUKCSAgZ29lcyBmcm9tIGFwcm94IDEuMSBzZWNvbmRzIHRvIGFwcm94IDM1MG1zLiBUaGlzIGlzIHdpdGggYSBMb2dpdGVjaCA5MDAwCgkgIHBybyBjYW1lcmEsIHdoaWNoIHN1cHBvcnRzIGxvdHMgb2YgZGlmZmVyZW50IHJlc29sdXRpb25zIGF0IG1hbnkgZGlmZmVyZW50CgkgIGZyYW1lcmF0ZXMgcGVyIHJlc29sdXRpb24sIGNhdXNpbmcgYSBjYXBzICJleHBsb3Npb24iIGlmIG5vdCBmaWx0ZXJlZC4KCSAgKikgTm90ZSB0aGUgY29kZSBmb3IgdGhpcyBpcyBsZWZ0IGluLCBhcyBpdCBpcyBzdGlsbCBuZWNlc3NhcnkgaWYgdGhlCgkgIHZpZGVvLXNvdXJjZS1maWx0ZXIgaXMgY2hhbmdlZCBiZXR3ZWVuIGEgc3RvcCArIHJlLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTUzCgoyMDEzLTA2LTEwIDE4OjAwOjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogTWFrZSBnc3QtaW5kZW50IGhhcHB5CgoyMDEzLTA2LTEwIDEwOjA1OjU2ICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IERvbid0IHVuc2V0IHRoZSB2aWRlby1zb3VyY2UgcHJvcGVydHkgb24gcGlwZWxpbmUgc3RhcnQKCSAgY2hlY2tfYW5kX3JlcGxhY2Vfc3JjKCkgd2FzIHNldHRpbmcgc2VsZi0+YXBwX3ZpZF9zcmMgdG8gTlVMTCwgd2hpY2gKCSAgbWVhbnMgdGhhdCBhbiBhcHAgc2V0dGluZyB0aGUgdmlkZW8tc291cmNlIHByb3BlcnR5LCBhbmQgdGhlbiBzdGFydGluZywKCSAgc3RvcHBpbmcgYW5kIHJlLXN0YXJ0aW5nIHRoZSBwaXBlbGluZSAoaWUgdG8gbWFrZSBjaGFuZ2VzIHRvIHRoZQoJICB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5KSB3b3VsZCBhZnRlciB0aGUgcmVzdGFydCBubyBsb25nZXIgaGF2ZQoJICBhIHZpZGVvLXNvdXJjZS4KCSAgVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IG1ha2luZyBnc3RfY2FtZXJhYmluX3NldHVwX2RlZmF1bHRfZWxlbWVudCByZXR1cm4gYQoJICByZWYgdG8gdGhlIHBhc3NlZCBpbiB1c2VyX2VsZW1lbnQsIHJhdGhlciB0aGVuIHJldHVybmluZyB0aGUgdXNlcl9lbGVtZW50IGFzCgkgIGlzLCBzbyB0aGF0IHRoYXQgcmVmIGNhbiBiZSBwYXNzZWQgb24gdG8gdGhlIGJpbiwgYW5kIHRoZSBhcHBfdmlkX3NyYyByZWYKCSAgc3RheXMgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5MTUKCjIwMTMtMDYtMDggMTQ6NDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgYSBidWcgaW4gdGhlIFJQaSBFR0wgaW1wbGVtZW50YXRpb24KCSAgSXQncyBmaXhlZCBpbiB0aGUgbGF0ZXN0IGZpcm13YXJlIHNpbmNlIGEgZmV3IHdlZWtzLgoKMjAxMy0wNS0wNiAxNjo1NjowMSAtMDQwMCAgQXJ0aHVyIFNoaXBrb3dza2kgPGFydEB2aWRlb24tY2VudHJhbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggaXNzdWUgd2l0aCBnZXQgcmV0dXJuaW5nIGEgdmFsdWUgZm9yIG1heC1idWZmZXJpbmctdGltZQoJICBJdCB3YXMgbm90IHByb3Blcmx5IGRpdmlkZWQgYnkgR1NUX1NFQ09ORFMuIEFsc28gZml4IGlzc3VlIHdpdGgKCSAgbWF4LWJ1ZmZlcmluZy10aW1lIGJlaW5nIG11bHRpcGxpZWQgYnkgR1NUX1NFQ09ORFMgZXZlcnkgdGltZSB0aGUKCSAgcHJvcGVydHkgaXMgcmV0cmlldmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDg3CgoyMDEzLTA2LTA3IDE1OjE4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHJmYjogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdFB1c2hTcmMKCjIwMTMtMDYtMDcgMTQ6MDE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzdHJpbmcgY29tcGFyaXNvbgoKMjAxMy0wNC0wNCAxODoyMjo1MiArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGFjY2VwdCBJRF9QUklWQVRFX1NUUkVBTV8xIHRvIGF2b2lkIGxvb3Npbmcgc3luYwoJICBDdXJyZW50IGZhbGxiYWNrIHRvIGxvc3Rfc3luYyBzZWVtcyB0byBpbXBlZGUgYSBkZWxheSB0byByZXN0b3JlCgkgIHN5bmMuIExldCB0aGUgcGFyc2VyIHBhcnNlIGFuZCBza2lwIHRoZSBwcml2YXRlIHN0cmVhbS4KCSAgSGVyZSBpdCBjb250YWlucyB0aGUgZGlnaXRhbCBjYW1lcmEgYnJhbmQgKGluIDIwMTAgYnl0ZXMpCgkgIGFuZCBpcyByZXBlYXRlZCB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzI4MwoKMjAxMy0wNi0wNyAxMjoxMDowOCArMDIwMCAgSWx5YSBTbWVseWtoIDxpbHlhLnNtZWx5a2hAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBXYWl0IHVudGlsIFNQUy9QUFMgYmVmb3JlIG91dHB1dHRpbmcgYW55IGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjMyNwoKMjAxMy0wNi0wNyAxNDowNjo1NiArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFja3MgZm9yIEh1YXdlaU1lZGlhUGFkIHdoaWNoIHJlcG9ydHMgd3JvbmcgY29sb3IgZm9ybWF0CgkgIENPTE9SX0Zvcm1hdFlDYllDciBpcyByZXBvcnRlZCBidXQgaXQgaXMgYWN0dWFsbHkgQ09MT1JfVElfRm9ybWF0WVVWNDIwUGFja2VkU2VtaVBsYW5hci4KCjIwMTMtMDYtMDUgMTY6MTY6MzYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogRml4IHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb24KCSAgSWdub3JlIHRoZSBkaXNwbGF5X2V4dGVuc2lvbiB2YWx1ZXMgaWYgdGhleSBhcmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aC9oZWlnaHQKCSAgdmFsdWVzIHByb3ZpZGVkIGJ5IHNlcWhkciBhbmQgY2FsY3VsYXRlIHRoZSBQQVIgYmFzZWQgb24gdGhlIHNlcWhkciB2YWx1ZXMuVAoJICBoaXMgaXMgd2hhdCBEVkQgcGxheWVycyBhcmUgZG9pbmcuCgkgIFRoYW5rcyB0byAiRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+IgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTAzCgoyMDEzLTA2LTA1IDE4OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4xLjEgPT09CgoyMDEzLTA2LTA1IDE4OjEwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMS4xCgoyMDEzLTA2LTA1IDE4OjI4OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IEFkZCBzb21lIG1pc3NpbmcgaGVhZGVycyB0byBkaXN0CgoyMDEzLTA2LTA1IDE4OjAxOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGFzaDogQWRkIHRvIE1ha2VmaWxlLmFtIGZvciBtYWtlIGRpc3QKCjIwMTMtMDYtMDUgMTc6NDk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogQWRkIHRvIHRoZSBNYWtlZmlsZS5hbSBmb3IgZGlzdAoKMjAxMy0wNi0wNSAxNjo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA2LTA1IDE1OjIwOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBsZWFrCgkgIFNpbmNlIHdlIHdlcmUgbWFudWFsbHkgc2V0dGluZyBHVmFsdWUgdG8gdGhlIEdWYWx1ZUFycmF5LCB3ZSBhbHNvIG5lZWQKCSAgdG8gc3BlY2lmeSBob3cgbWFueSB3ZXJlIHNldCwgb3RoZXJ3aXNlIGFsbCB2YWx1ZXMgaW4gdGhlIGFycmF5IHdpbGwKCSAgYmUgbGVha2VkLgoKMjAxMy0wNi0wNSAxNToxNTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwOThjMGQ3IHRvIDAxYTdhNDYKCjIwMTMtMDYtMDUgMTM6Mzk6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWR1cCBURFQvVE9UIHBhcnNpbmcKCSAgVXNlIHF1YXJrcyB3aGVyZSBuZWVkZWQsIG1ha2VzIGl0IDIuNSB0aW1lcyBmYXN0ZXIKCjIwMTMtMDYtMDUgMTM6MjE6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHN0cmluZyBsZWFrCgkgIFRoZSBkZXNjcmlwdGlvbi90ZXh0IGdldCBjb3BpZWQgaW4gdGhlIHN0cnVjdHVyZS4KCjIwMTMtMDYtMDUgMTI6NDk6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3BlZWQgdXAgZGVzY3JpcHRvciBwYXJzaW5nL3BhY2tpbmcKCSAgZGVzY3JpcHRvcnMgYXJlIHN0b3JlZCBhcyBhIEdWYWx1ZUFycmF5IG9mIEdTdHJpbmcuIFRoZSBkb3duc2lkZSBpcwoJICB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byAicGFzcyIgb3duZXJzaGlwIG9mIGEgR1ZhbHVlIHRvIGEgR1ZhbHVlQXJyYXkKCSAgd2hpY2ggcHJldmlvdXNseSByZXN1bHRlZCBpbiBleHBlbnNpdmUgY29weS9mcmVlIG9mIHRoZSAoYWxyZWFkeSBleHBlbnNpdmUpCgkgIEdTdHJpbmcuCgkgIEhlcmUgd2UgZXN0aW1hdGUgZmlyc3QgdGhlIHNpemUgb2YgdGhlIEdWYWx1ZUFycmF5LCB0aGVuIGNyZWF0ZSBpdCwKCSAgdGhlbiBkaXJlY3RseSB1c2UgdGhlIEdWYWx1ZSBvZiB0aGF0IGFycmF5LgoJICBTcGVlZHMgdXAgdG90YWwgU0kgcGFyc2luZyBieSB+MzAlCgoyMDEzLTA2LTA1IDExOjIxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfYW5kX3Rha2VfdmFsdWUKCSAgQXZvaWRzIGRvaW5nIHRoZSBleHBlbnNpdmUgY29weSBvZiBzdHJ1Y3R1cmVzL2FycmF5cy8uLi4KCSAgU3BlZWRzIHVwIHBhcnNpbmcgU0kgYnkgYWJvdXQgNTAlCgoyMDEzLTA2LTA1IDExOjIwOjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIGNvcHlpbmcgR1ZhbHVlQXJyYXkKCSAgSnVzdCBnaXZlIHRoZSBHVmFsdWVBcnJheSB0byB0aGUgY29udGFpbmVyIEdWYWx1ZS4KCjIwMTMtMDUtMjkgMDk6MjU6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBBZGQgc2lnbmFscHJvY2Vzc29yIGRpcmVjdG9yeQoKMjAxMy0wNS0yOSAwODozNzoxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlZCBzaWduYWxwcm9jZXNzb3IgZnJvbSBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCjIwMTMtMDUtMjggMTU6NTQ6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogSW4gcHVsbCBtb2RlIGRyb3AgU0VHTUVOVCwgQ0FQUyBhbmQgU1RSRUFNX1NUQVJUIGV2ZW50cwoJICBXZSBjcmVhdGUgYW5kIHNlbmQgb3VyIG93biBsYXRlciBmcm9tIGFub3RoZXIgdGhyZWFkLgoKMjAxMy0wNS0yOCAxNTo1MzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBQdXNoIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZQoKMjAxMy0wNS0yOCAwODowODo0MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogbGFkc3BhIGlzIG5vdCB1c2luZyB0aGlzIGFueW1vcmUKCSAgV2hlbiB3ZSBwb3J0IGx2Miwgd2UnbGwgZ28gdGhlIHNhbWUgcm91dGUgYXMgdGhlIG5ldyBsYWRzcGEgcGx1Z2luLgoKMjAxMy0wNS0yOCAwNzo1MzozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZml4IHR5cG9zIGluIGxhdW5jaCBleGFtcGxlcwoKMjAxMy0wNS0yNyAyMzowNzoxNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmg6CgkgIGxhZHNwYTogdXNlIHRoZSByZWdpc3RyeSBjYWNoZSBmb3IgcGx1Z2luIGRldGFpbHMKCSAgU3BsaXQgdGhlIGludHJvc3BlY3Rpb24gYW5kIHJlZ2lzdHJhdGlvbiBwYXJ0LiBUaGlzIHdheSB3ZSBvbmx5IG5lZWQgdG8gb3BlbiBhbGwKCSAgcGx1Z2lucyB3aGVuIHVwZGF0aW5nIHRoZSByZWdpc3RyeS4gV2hlbiByZWFkaW5nIHRoZSByZWdpc3RyeSB3ZSBjYW4gcmVnaXN0ZXIKCSAgdGhlIGVsZW1lbnRzIGVudGllcmx5IGZyb20gdGhlIGNhY2hlLgoKMjAxMy0wNS0yNyAxMToyMDowNyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5oOgoJICBvcGVuY3Y6IEFkZCBjb2xvdXIgaW1hZ2UgZW5oYW5jZW1lbnQgZWxlbWVudCBiYXNlZCBvbiBSZXRpbmV4IGFsZ29yaXRobQoJICBBZGQgY29sb3VyIGltYWdlIGVuaGFuY2VtZW50IGVsZW1lbnQgYmFzZWQgb24gUmV0aW5leCBhbGdvcml0aG0uIFR3byB0eXBlcwoJICBleGlzdCwgbmFtZWx5IGJhc2ljIGFuZCBtdWx0aXNjYWxlOyBib3RoIGFyZSBkZXNjcmliZWQgaW4gdGhpcyBhcnRpY2xlOgoJICBSYWhtYW4sIFppYS11ciwgRGFuaWVsIEouIEpvYnNvbiwgYW5kIEdsZW5uIEEuIFdvb2RlbGwuICJNdWx0aS1zY2FsZSByZXRpbmV4CgkgIGZvciBjb2xvciBpbWFnZSBlbmhhbmNlbWVudC4iIEltYWdlIFByb2Nlc3NpbmcsIDE5OTYuIFByb2NlZWRpbmdzLiwKCSAgSW50ZXJuYXRpb25hbCBDb25mZXJlbmNlIG9uLiBWb2wuIDMuIElFRUUsIDE5OTYKCSAgVmlzdWFsbHkgc3BlYWtpbmcgdGhlIHJlc3VsdCBsb29rcyBhIGJpdCBmdW5ueSwgYnV0IGlzIHByZXR0eSBpbnZhcmlhYmxlIHRvCgkgIGxpZ2h0bmluZyBjaGFuZ2VzLCB3aGljaCBpcyBnb29kIGZvciBzb21lIGFwcGxpY2F0aW9ucywgbGlrZSBpbWFnZQoJICBzZWdtZW50YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5NzcKCjIwMTMtMDUtMjYgMTQ6Mjk6NTQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguaDoKCSAgYXVkaW9jaGFubmVsbWl4OiBmaWxsIGluIHRoZSBhdXRob3IgdGVtcGxhdGUKCSAgVGhlIGNvcHlyaWdodCBoZWFkZXIgc3RpbGwgY29udGFpbmVkIHRoZSBhdXRob3IgdGVtcGxhdGUuCgoyMDEzLTA1LTI1IDE1OjI1OjU2ICswMjAwICBNaWNoYWVsIFJ1Ymluc3RlaW4gPG1ydWJpbnN0ZWluQHdlYXRoZXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZyZWUgbWVtb3J5IGJlaGluZCBHU3RyaW5nIGlmIHdlIGRvbid0IHVzZSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwOTAzCgoyMDEzLTA1LTIzIDE0OjMyOjA3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsc210cHNpbms6IHRlcm1pbmF0ZSB0cmFuc2ZlciB0aHJlYWQgcHJvcGVybHkKCSAgSWYgbm8gRU9TIGhhcyBiZWVuIHNlbnQsIHRoZSBjdXJsIHJlYWRmdW5jIGNhbGxiYWNrIHdpbGwKCSAgcmV0dXJuIEFCT1JULiBUaGUgbWVkaWEgZmlsZSBpbiB0aGF0IGNhc2Ugd2lsbCBub3QgYmUgcHJvcGVybHkKCSAgZmluYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwODg2CgoyMDEzLTA0LTA4IDE0OjU5OjU0ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHVwZGF0ZSB3aW5kb3cgd2lkdGgvaGVpZ2h0IHdoZW4gaXQncyBub3QgZG9uZSBpbiBXbmRQcm9jCgoyMDEzLTA0LTA1IDE3OjU5OjQxICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZGlyZWN0ZHJ3YXNpbms6IGNhbGwgcHJldmlvdXMgV25kUHJvYyBpZiBhbnkKCjIwMTMtMDQtMDUgMTc6MjY6NTcgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogcmVzcGVjdCBQQVIgd2l0aCBjb29yZGluYXRlcwoKMjAxMy0wNC0yNSAxNTozNTo1MCArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IGZpeCBzeW1ib2xzIHJlZGVmaW5pdGlvbiBmb3Igb2JqYyBmaWxlcwoKMjAxMy0wNC0yNCAxNTo1NToxMiArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIHdpdGggYXBwbGVtZWRpYQoKMjAxMy0wNS0yMyAxNDo1Nzo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiBFT1MnaW5nIHdpdGhvdXQgc291cmNlIHBhZHMKCSAgVGhpcyBlbnN1cmVzIHdlIGRvbid0ICJoYW5nIiB3aGVuIGZpbGVzIGNhbid0IGJlIGRlY29kZWQsIG9yIGNvbnRhaW4KCSAgbm8gdmFsaWQgc3RyZWFtcy4KCjIwMTMtMDUtMjMgMTQ6NTY6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRGVtb3RlIGEgd2FybmluZyB0byBkZWJ1ZyBsZXZlbAoJICBXZSB3aWxsIGdldCBpdCBmb3IgdmlydHVhbGx5IGV2ZXJ5IGZpcnN0IHBhY2tldHMuCgoyMDEzLTA1LTAxIDE2OjM3OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogQWN0dWFsbHkgc3RvcmUgbXBlZyB2aWRlbyBiaXRyYXRlIHZhbHVlCgkgIEFuZCB1c2UgdGhlIGV4dGVuc2lvbiBhbHNvIChoaWdoZXIgMTIgYml0cykKCjIwMTMtMDUtMjMgMTE6MDQ6NTcgKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuaDoKCSAgb3BlbmN2OiBBZGQgc2tpbiBjb2xvciBkZXRlY3Rpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNjU0CgoyMDEzLTA1LTA3IDIxOjQ1OjU0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IHNpbXBsaWZ5IGNhcHMgc2V0dGluZwoKMjAxMy0wNC0yNiAxNzo0NzoyNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGZpeCBIMjY0IHN0cmVhbXMgd2l0aCBiLWZyYW1lcwoJICBUaGUgZGVjb2RlciBvdXRwdXQgZnJhbWVzIGluIERUUyBvcmRlciwgZXZlbiB3aXRoIHRoZSBmbGFnCgkgIGtWVERlY29kZUZyYW1lX0VuYWJsZVRlbXBvcmFsUHJvY2Vzc2luZy4gV2Ugc3RvcmUgYSBpbnRlcm5hbAoJICBxdWV1ZSBvZiB0aGUgZGVjb2RlZCBmcmFtZXMgYW5kIHB1c2ggdGhlbSBQVFMgb3JkZXIuCgoyMDEzLTA0LTI2IDE3OjQ1OjMxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogZml4IHNlZ2ZhdWx0IHdpdGggZHJvcHBlZCBmcmFtZXMKCjIwMTMtMDQtMjYgMTc6NDA6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBpbXByb3ZlIHVzYWdlIG9mIHRoZSBWVCBBUEkKCSAgQWRkIHRpbWluZyBpbmZvcm1hdGlvbiB0byBDViBzYW1wbGVzIGFuZCBwYXNzIHRoZSBHc3RCdWZmZXIKCSAgYXMgZXh0cmEgZGF0YSBpbiB0aGUgZGVjb2RlIGZ1bmN0aW9uCgoyMDEzLTA0LTI2IDEzOjI2OjAzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYWRkIHN1cHBvcnQgZm9yIE1QRUctMSB0b28KCjIwMTMtMDQtMjUgMTE6MzA6MDcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgTVBFRy0yIGRlY29kaW5nCgoyMDEzLTA0LTI1IDExOjI3OjEzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdXNlIHRoZSBiZXN0IGNvbG9yZm9ybWF0IG9uIGVhY2ggcGxhdGZvcm0KCSAgVGhpcyBzYXZlcyBhIGNvbG9yc3BhY2UgY29udmVyc2lvbiBiZWZvcmUgdGhlIHNpbmsgaW4gT1MgWAoKMjAxMy0wNC0yNSAxMToxNzoxNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogcmVwbGFjZSBwcml2YXRlIGZ1bmN0aW9uIHdpdGggaXRzIHB1YmxpYyB2YXJpYW50CgkgIEZpZ1ZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVXaXRoU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tCgkgIGlzIGFuIHVuLWRvY3VtZW50ZWQgcHJpdmF0ZSBmdW5jdGlvbiB3aGljaCBtaWdodCBjaGFuZ2UgaXRzIHNpZ25hdHVyZQoJICBhcyBpdCBhbHJlYWR5IGRpZCBpbiB0aGUgcGFzdC4gUmVwbGFjZSBpdCB3aXRoCgkgIENNVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZSBhbmQgdGhlIGFsc28gdW4tZG9jdW1lbnRlZCBFeHRlbnNpb25zCgkgIGRpY3Rpb25hcnkuCgoyMDEzLTA0LTI0IDIyOjIyOjI4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHJlbW92ZSB0aGUgdW5uZWVkZWQgYnVmZmVyIGZhY3RvcnkKCjIwMTMtMDQtMjQgMjI6MTU6MDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgdXNlIHRoZSBkeW5hbWljIEFQSSBmb3IgcHVibGljIGZyYW1ld29ya3MKCSAgUHVibGljIGZyYW1ld29ya3MgZG9uJ3QgbmVlZCB0byBidWlsZCB0aGUgQVBJIGR5bmFtaWNhbGx5LCB3ZSBpbnN0ZWFkCgkgIHVzZSB0aGUgZnJhbWV3b3JrIGRpcmVjdGx5LgoJICBUaGUgZXhjZXB0aW9uIGlzIGZvciBWaWRlb1Rvb2xib3ggd2hpY2ggd2VudCBwdWJsaWMgaW4gdGhlIDEwLjggU0RLLAoJICBidXQgaXQncyBzdGlsbCBwcml2YXRlIGluIG9sZGVyIHZlcnNpb24gb2YgdGhlIFNESyBhbmQgaU9TLiBUaGlzIGFsbG93CgkgIGJ1aWxkaW5nIHRoZSBwbHVnaW4gYWdhaW5zdCBTREsncyB3aGVyZSBpdCdzIG5vdCBhIHB1YmxpYyBmcmFtZXdvcmsuCgoyMDEzLTA0LTI0IDE4OjUzOjExICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBtb3ZlIHBsdWdpbnMgdXNpbmcgcHJpdmF0ZSBmcmFtZXdvcmtzIHRvIGFwcGxlbWVkaWEtbm9ucHVibGljCgoyMDEzLTA1LTIwIDEzOjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBpbmRlbnRpb24KCjIwMTMtMDUtMTcgMjA6MTc6MzEgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBhIG1pbm9yIGVycm9yIGluIENPTE9SX0Zvcm1hdFlVVjQyMFBsYW5hciBjb252ZXJ0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MjEKCjIwMTMtMDUtMTggMTQ6MDE6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIGF1ZGlvZmlsdGVyCgoyMDEzLTA1LTE4IDEzOjU3OjExIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvZnhiYWQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguaDoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9meGJhZC5jOgoJICBhdWRpb2Z4OiBBZGQgcGx1Z2luLCBhZGQgYXVkaW9jaGFubmVsbWl4CgoyMDEzLTA1LTE4IDEzOjU2OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBhdWRpbyBmb3JtYXQgaXMgIlMxNiIgbm90ICJzMTYiCgoyMDEzLTA1LTE4IDExOjU4OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICB2aWRlb3NpZ25hbDogZml4IENGTEFHUyBvcmRlcgoKMjAxMy0wNS0xNyAyMToyMzo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBzdHJlYW0gc3RhcnQgZXZlbnQKCSAgUmVtb3ZlcyB3YXJuaW5ncyBhYm91dCBzdHJpY3Qgc3RpY2t5IGV2ZW50cyBvcmRlcmluZwoKMjAxMy0wNS0xNyAxMjowODoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHdtYSBwcm8gY2FwcyBjcmVhdGlvbgoJICBXbWFQcm8gaXMgYWN0dWFsbHkgd21hdmVyc2lvbiAzLCBhbmQgY2FuIGFsc28gYmUgZm91bmQgYnkgdGhlCgkgIFdNQVAgZm91cmNjLgoJICBTb21lIG1hbmlmZXN0cyBhbHNvIGNvbnRhaW4gdGhlIGJsb2NrX2FsaWduIGZpZWxkIGFzICJQYWNrZXRTaXplIgoJICBpbiB0aGUgYXVkaW8gdHJhY2sgZGVzY3JpcHRpb24sIHRoZSBsaWJhdiBkZWNvZGVycyByZXF1aXJlIGl0CgkgIHRvIGJlIHByZXNlbnQgaW4gY2Fwcy4KCSAgRml4ZXMgIzY5OTkyMQoKMjAxMy0wNS0xNyAxMTozNzozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGFzc2VydGlvbnMgd2hlbiBhIHN0cmVhbSBjYXBzIGNhbid0IGJlIGNyZWF0ZWQKCSAgRml4ZXMgdHdvIGFzc2VydGlvbnMgcmVsYXRlZCB0byBjbGVhbnVwIGZvciBhIHBhZCB0aGF0IGNvdWxkbid0CgkgIGJlIGV4cG9zZWQgYmVjYXVzZSB0aGUgY2FwcyBjb3VsZG4ndCBiZSBpZGVudGlmaWVkIGZyb20gdGhlCgkgIE1hbmlmZXN0CgkgIEZpeGVzICM2OTk5MjEKCjIwMTMtMDUtMTUgMTE6NDk6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlYWdsOiBmaXggaGFuZGxpbmcgb2Ygc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBEZXRlY3Qgd2hlbiB0aGUgZWFnbCBzdXJmYWNlIGNoYW5nZWQgaXRzIGRpbWVuc2lvbiAod2hlbiB0aGUgdXNlciByb3RhdGVzCgkgIHRoZSBkZXZpY2UgZm9yIGV4YW1wbGUpIGFuZCBhZGFwdCB0aGUgZWdsIGludGVybmFscyB0byBkcmF3IHRvIHRoYXQsCgkgIHByZXZlbnRpbmcgdGhhdCBpb3MgcmVzaXplcyB0aGUgaW1hZ2UgYWdhaW4gd2hlbiBkcmF3aW5nLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSBoYXJtZnVsIHdoZW4gZWFnbCB3b3VsZCBzY2FsZSBkb3duIGEgaW1hZ2UKCSAgdG8gZHJhdyBhbmQgdGhlIGlvcyBzY3JlZW4gd291bGQgc2NhbGUgaXQgYmFjayB1cCBiZWNhdXNlIHRoZQoJICBzdXJmYWNlIGlzIG5vdyBiaWdnZXIgdGhhbiB3aGVuIHRoZSBlbGVtZW50IHdhcyBjb25maWd1cmVkLgoKMjAxMy0wNS0xNSAwMDo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcGFyc2UgYmxvY2tfYWxpZ24sIGNoYW5uZWxzIGFuZCByYXRlIGZyb20gd2F2ZWZvcm1hdGV4IGlmIHBvc3NpYmxlCgkgIHdtYSB2MiBleHBlY3RzIGJsb2NrX2FsaWduLCBjaGFubmVscyBhbmQgcmF0ZSBmaWVsZHMgc2V0IHRvIGl0cyBjYXBzLgoJICBUaGlzIGlzbid0IHByZXNlbnQgZGlyZWNsdHkgb24gdGhlIG1hbmlmZXN0cywgc28gbXNzZGVtdXggc2hvdWxkIHBhcnNlCgkgIGl0IGZyb20gdGhlIHdhdmVmb3JtYXRleCBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNCAyMjowNDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGJpdHJhdGUgaW5mbyB0byBhdWRpbyBzdHJlYW1zCgkgIGJpdHJhdGUgaW5mbyBpcyBhbHdheXMgcHJlc2VudCBvbiB0aGUgUXVhbGl0eUxldmVsIHhtbCBub2RlIGFzIHBhcnQKCSAgb2YgdGhlIGFkYXB0aXZlIHNlbGVjdGlvbiBwcm9jZXNzaW5nLCBwdXQgaXQgaW50byBjYXBzIGFzIHNvbWUKCSAgZGVjb2RlcnMgcmVxdWlyZSBpdCAoYXZkZWNfd21hdjIgZm9yIGV4YW1wbGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTQgMTY6Mzc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNlbmQgc3RyZWFtIGlkIGFuZCBuZXdzZWdtZW50IGJlZm9yZSBwdXNoaW5nIGRhdGEKCSAgRml4ZXMgc3RpY2t5IGV2ZW50cyBvcmRlcmluZyB3YXJuaW5ncyB3aGVuIGRhdGEgaXMgcHVzaGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTUgMjI6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQW5ub3VuY2UgY29ycmVjdCBtcGVndHMgY2FwcwoKMjAxMy0wNS0xNSAyMDowMzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQW5ub3RhdGUgY2FsbGJhY2sgc2NvcGVzCgoyMDEzLTA1LTE1IDE5OjIzOjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBFbnN1cmUgc2VnbWVudCBpcyBzZW50IGJlZm9yZSBjYXBzIGFuZCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQyMAoKMjAxMy0wNS0xNSAxMTo1NzowNyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmFsOiByZXF1aXJlIE9wZW5BTCA+PSAxLjE0IHRvIGJ1aWxkIHRoZSBPcGVuQUwgcGx1Z2luCgkgIEZvciBBTF9GT1JNQVRfTU9OT19BTEFXX0VYVCBhbmQgQUxfRk9STUFUX1NURVJFT19BTEFXX0VYVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQwMgoKMjAxMy0wNS0xNSAxMTozODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTE1IDExOjM3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjE1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBwYXJzZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3RzCgoyMDEzLTA1LTE1IDExOjA5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCSAgZ2RwIGVsZW1lbnRzIHN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIGZvciBhbGwgdGhlIGV2ZW50IHJlbGF0ZWQKCSAgY2hhbmdlcyBhbmQgZ2VuZXJhbGx5IHByb3Blcmx5IHBvcnRlZCB0byAxLjAuCgoyMDEzLTA1LTE1IDExOjA0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBFbmFibGUgR0xpYiBkZXByZWNhdGlvbiB3YXJuaW5ncyBhZ2FpbgoKMjAxMy0wNS0xNSAxMTowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBOZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZSB3aGVuIGdldHRpbmcgdGhlIHNpbmtwYWQgY2FwcwoKMjAxMy0wNS0xNSAxMDo1NDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjU0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDUtMTUgMTA6NTE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZWRjZDg1IHRvIDA5OGMwZDcKCjIwMTMtMDUtMTUgMTA6MjM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MjI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHNobTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybGZpbGVzaW5rOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkgIGthdGVlbmM6IERlbGF5IHNlZ21lbnQgZXZlbnQgdW50aWwgd2UgaGF2ZSBjYXBzCgoyMDEzLTA1LTE1IDEwOjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGVkZWMvdGlnZXI6IERvbid0IHF1ZXVlIHN0aWNreSBldmVudHMgdGhhdCB3b3VsZCBjb21lIGJlZm9yZSBDQVBTCgoyMDEzLTA1LTE1IDA5OjQ3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlcGFyc2U6IEZpeCBldmVudCBoYW5kbGluZwoJICBJbnRlcm5hbCBzdGF0ZSBzaG91bGQgb25seSBiZSByZXNldCBvbiBGTFVTSF9TVE9QLCBub3QgRkxVU0hfU1RBUlQuCgkgIEFsc28gZm9yd2FyZCBwcmUtY2FwcyBldmVudHMgaW1tZWRpYXRlbHkgYW5kIGRvbid0IHF1ZXVlIHRoZW0uCgoyMDEzLTA1LTE1IDA5OjQyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdm97YW1yLGFhY31lbmM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMDk6NDE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIGZhYWQvZmFhYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAwOToyMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgaGxzOiBVc2UgR3N0VVJJRG93bmxvYWRlciBmcm9tIHRoZSBsaWJyYXJ5IGZvciBub3cgdG8ga2VlcCBldmVyeXRoaW5nIGluIGEgdXNhYmxlIHN0YXRlCgoyMDEzLTA1LTE0IDE0OjMyOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkgIGxhZHNwYTogRml4IGNvbXBpbGF0aW9uIGlzc3VlIHdoZW4gbHJkZiBpcyBlbmFibGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzMjgKCjIwMTMtMDUtMTQgMDA6MTQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvZGlzNjUwMi5oOgoJKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSogZ3N0L25zZi9mZHNfc25kLmg6CgkqIGdzdC9uc2YvZm1vcGwuYzoKCSogZ3N0L25zZi9mbW9wbC5oOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5oOgoJKiBnc3QvbnNmL2xvZy5jOgoJKiBnc3QvbnNmL2xvZy5oOgoJKiBnc3QvbnNmL21tYzVfc25kLmM6CgkqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkqIGdzdC9uc2YvbmVzNjUwMi5oOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uZXNfYXB1Lmg6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9uc2YvbnNmLmg6CgkqIGdzdC9uc2Yvb3NkLmg6CgkqIGdzdC9uc2YvdHlwZXMuaDoKCSogZ3N0L25zZi92cmM3X3NuZC5jOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBuc2Y6IHJlbW92ZSBuc2YgcGx1Z2luLCByZXBsYWNlZCBieSBnbWUgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMjEKCjIwMTMtMDQtMTcgMDI6MTg6NTggKzAyMDAgIEp1YW4gTWFudWVsIEJvcmdlcyBDYcOxbyA8anVhbm1hYmNtYWlsQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJICBvcGVuYWw6IGltcHJvdmVkIHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgwMTMKCjIwMTMtMDUtMTMgMDA6MDg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBzb21lIG1vcmUgdGVzdHMgZnJvbSB0aGUgZ2VuZXJpYyBzdGF0ZSBjaGFuZ2UgdGVzdAoKMjAxMy0wNS0xMyAwMDowNjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogYWRkIGRlYnVnIGNhdGVnb3J5IGZvciBhdmR0cCB1dGlscwoKMjAxMy0wNS0xMiAyMzo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBkaXJhYzogcmVtb3ZlIG9sZCBkaXJhYy1yZXNlYXJjaCBsaWJyYXJ5IGJhc2VkIGNvZGVjCgkgIEl0J3Mgbm90IGRldmVsb3BlZCBhbnkgbW9yZSBhbmQgcmVwbGFjZWQgYnkgdGhlCgkgIGxpYnNjaHJvZWRpbmdlci1iYXNlZCBlbGVtZW50cyBpbiBnc3QtcGx1Z2lucy1nb29kLgoJICAoVGhlIGxpYnNjaHJvZWRpbmdlciAxLjAuOSByZWxlYXNlIG5vdGVzIHN0YXRlICJUaGlzCgkgIGlzIGFuIGV4Y2l0aW5nIHJlbGVhc2U6IG1vc3Qgb2YgdGhlIGVuY29kaW5nIHRvb2xzIGluCgkgIGRpcmFjLXJlc2VhcmNoIGhhdmUgYmVlbiBwb3J0ZWQgb3ZlciB0byBTY2hyw7ZkaW5nZXIsIHNvCgkgIG5vdyBzY2hybyBoYXMgdGhlIHNhbWUgb3IgYmV0dGVyIGNvbXByZXNzaW9uIGVmZmljaWVuY3kKCSAgYXMgZGlyYWMtcmVzZWFyY2guIikKCjIwMTMtMDUtMTIgMjI6NDE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTEyIDIwOjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIG11c2ljYnJhaW56OiByZW1vdmUgdHJtIGVsZW1lbnQgd2hpY2ggaXMgbm90IHVzZWZ1bCBhbnkgbW9yZQoJICBUUk0gSURzIGFyZSBNdXNpY0JyYWlueicgb2xkIGF1ZGlvIGZpbmdlcnByaW50aW5nIHN5c3RlbSBmcm9tCgkgIFJlbGF0YWJsZSwgdGhleSB3ZXJlIHBoYXNlZCBvdXQgaW4gZmF2b3VyIG9mIE11c2ljSVBzIFBVSURzLgoJICBodHRwczovL3dpa2kubXVzaWNicmFpbnoub3JnL0hpc3Rvcnk6VFJNCgoyMDEzLTA1LTEyIDE4OjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGFkZCBzdXBwb3J0IGZvciBTQ0hFRFVMSU5HIHF1ZXJ5CgoyMDEzLTA1LTEyIDE4OjQ3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IGFkZCBpcmFkaW8tbW9kZSBwcm9wZXJ0eSBhbmQgcG9zdCBpY3kgbWV0YWRhdGEgYXMgdGFncwoKMjAxMy0wNS0xMiAxODoyODoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTExIDEyOjA3OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbgoKMjAxMy0wNS0xMSAxOTo0MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBwb3N0IGVycm9yIG1lc3NhZ2VzIG9uIGVycm9ycwoKMjAxMy0wNS0xMCAxNzozMDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJICB2aWRlb2ZpbHRlcnM6IEFkZCB2aWRlb2RpZmYgZWxlbWVudAoKMjAxMy0wNC0yNyAxMTo1Njo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IHNldCB0aW1lc3RhbXBzIHdoZW4gcmVzdHJpZGluZyBidWZmZXIKCjIwMTMtMDQtMTUgMDA6MjQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb21hcmsvZGV0ZWN0OiByZW5hbWUgdG8gc2ltcGxldmlkZW9tYXJrW2RldGVjdF0KCjIwMTMtMDQtMTMgMTU6MTY6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9tYXJrL2RldGVjdDogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTEgMDA6MzY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBmaXggcmZiZGVjb2RlciBuZXcvZnJlZSBhc3ltZXRyeSBhbmQgd3JvbmcgZnJlZSBpbiBlcnJvciBjYXNlCgkgIElmIHJmYl9kZWNvZGVyX25ldygpIGFsbG9jYXRlcyB0aGUgZGVjb2RlciBzcnVjdHVyZSwgcmZiX2RlY29kZXJfZnJlZSgpCgkgIHNob3VsZCBmcmVlIHRoZSBzdHJ1Y3R1cmUuIFdlIHNob3VsZCBub3QgZnJlZSB0aGUgZGVjb2RlciB3aGVuIGFuCgkgIGVycm9yIG9jY3VycyBkdXJpbmcgY29ubmVjdGlvbiAtIGl0IGhvbGRzIGxvdHMgb2YgY29uZmlndXJhdGlvbi9zdGF0ZQoJICBhbmQgd2lsbCBiZSBmcmVlZCBsYXRlciBpbiBmaW5hbGl6ZS4KCjIwMTMtMDUtMTEgMDA6Mjk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogbWFrZSBhdXRoZW50aWNhdGlvbiBoYW5kc2hha2Ugc2FmZSBmb3IgbXVsdGlwbGUgaW5zdGFuY2VzCgkgIE1vdmUgREVTIGtleSBpbnRvIGNvbnRleHQgc3RydWN0LgoKMjAxMy0wNS0xMCAyMzowOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIHJmYnNyYzogcmVtb3ZlIEdQTC1saWNlbnNlZCBzb3VyY2UgZmlsZQoJICBhbmQgcmVwbGFjZSB0aGUgMSUgb2YgaXQgdGhhdCB3ZSBuZWVkIHdpdGggbmV3IGNvZGUsIHNvIHdlCgkgIGRvbid0IGhhdmUgdG8gY2hhbmdlIHRoZSBydW50aW1lIGxpY2Vuc2Ugb2YgcmZic3JjIHRvIEdQTC4KCjIwMTMtMDUtMTAgMDk6NDk6NDYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogdXNlIGdsaWIgZ2lvIHNvY2tldHMgZm9yIG5ldHdvcmsgYWNjZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzgKCjIwMTMtMDUtMDkgMTY6NDE6MzIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIHJmYnNyYzogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzOAoKMjAxMy0wNS0xMCAxMjo0OTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBkZXN0cm95IG5vdGlmeSBpbnN0ZWFkIG9mIGFsd2F5cyBjYWxsaW5nIGVnbFRlcm1pbmF0ZSgpIG9uIHRoZSBkaXNwbGF5CgkgIEluIHNvbWUgc2NlbmFyaW9zLCBmb3IgZXhhbXBsZSBpbiBRdFdlYktpdCwgbWlnaHQgYmUgZGlmZmljdWx0IHRvIG9idGFpbiBmdWxsCgkgIGNvbnRyb2wgb24gdGhlIGVnbCBkaXNwbGF5IGFuZCBpdCBtaWdodCBiZSBvbmx5IGFjY2Vzc2libGUgaW5kaXJlY3RseSB2aWEKCSAgZWdsR2V0Q3VycmVudERpc3BsYXkoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA1OAoKMjAxMy0wNS0xMCAxMTo0ODo0NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBbGxvdyBiZWluZyB1c2VkIGluIEMrKyBjb2RlCgoyMDEzLTA1LTA4IDIzOjE3OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVuYW1lIHNyYyB0ZW1wbGF0ZSBmcm9tIHNyYyVkIHRvIHNyY18ldQoKMjAxMy0wNS0wOCAxODoyMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSogZXh0L2Rhc2gvQ09QWUlORzoKCSAgZGFzaDogcmVtb3ZlIHN1cGVyZmx1b3VzIGZpbGVzCgkgIEF1dGhvcnMgYW5kIGxpY2Vuc2UgYXJlIGF0IHRoZSB0b3Agb2YgdGhlIHNvdXJjZSBmaWxlcwoKMjAxMy0wNS0wMiAxNDoxMTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaDogZG8gbm90IHVzZSBkZXByZWNhdGVkIGdsaWIgbXV0ZXggQVBJCgoyMDEzLTA0LTIzIDEyOjA4OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHByaW50IGZvcm1hdHMKCjIwMTMtMDUtMDggMTE6MTQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkYXNoOiBlbmFibGUgaW4gY29uZmlndXJlL21ha2VmaWxlcwoJICBJdCB3YXMgaW50ZW50aW9uYWxseSBkaXNhYmxlZCB1cCB0byB0aGlzIHBvaW50IHRvIHByZXZlbnQKCSAgY29tcGlsZSBmYWlsdXJlcyBhcyBkYXNoZGVtdXggZGV2ZWxvcG1lbnQgY29tbWl0cyB3ZXJlIGFsbCBmb3IKCSAgMC4xMCB1cCB0byBoZXJlCgoyMDEzLTA0LTE4IDA3OjQxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTExIDA5OjEyOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggYW5vdGhlciB3cm9uZyBhc3NlcnRpb24KCSAgQWxzbyBhZGRzIGEgY291cGxlIGxvZyBtZXNzYWdlcyBmb3IgZWFzaWVyIGRlYnVnZ2luZwoKMjAxMy0wNC0xMCAxODowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHdyb25nIGFzc2VydHMKCSAgVGhvc2UgYXNzZXJ0cyBzaG91bGQgYmUgdGhlIGNvbnRyYXJ5IHRoYXQgdGhleSBhcmUuIEFuZCBhbHNvCgkgIHRoZSBzdXJyb3VuZCBmdW5jdGlvbnMgc2hvdWxkIGFscmVhZHkgY2hlY2sgdGhhdC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTMtMDMtMTMgMTU6NTU6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBvbmx5IHN0YXJ0IHRpbWVzdGFtcCBmcm9tIDAgZm9yIGxpdmUgc3RyZWFtCgkgIFdlIG9ubHkgd2FudCB0byBhZGp1c3QgdGhlIHRpbWVzdGFtcHMgc28gdGhhdCB0aGV5IHN0YXJ0IGZyb20gMCBmb3IgbGl2ZQoJICBzdHJlYW1zLiBOb24tbGl2ZSBzdHJlYW1zIGFscmVhZHkgc3RhcnQgZnJvbSAwIGFuZCBhZnRlciBhIHNlZWsgd2UgYWN0dWFsbHkgd2FudAoJICB0byB0aW1lc3RhbXAgdG8gYmUgdGhlIHBvc2l0aW9uIHdlIHNlZWsgdG8uCgoyMDEzLTAzLTA4IDE1OjA0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1ha2UgdGltZXN0YW1wcyBzdGFydCBmcm9tIDAKCSAgTm9uLWxpdmUgc3RyZWFtcyBzaG91bGQgdGltZXN0YW1wIGJ1ZmZlcnMgd2l0aCBhIHJ1bm5pbmctdGltZSBzdGFydGluZyBmcm9tCgkgIDAuIFNpbmNlIHdlIGFscmVhZHkgcHVzaCBhIDAgLT4gLTEgc2VnbWVudCwgYnJpbmcgdGhlIHRpbWVzdGFtcHMgdG8gMAoJICBieSBzdWJ0cmFjdGluZyB0aGUgaW5pdGlhbCB0aW1lc3RhbXAuCgoyMDEzLTAzLTA4IDE0OjU5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWxzbyBzZW5kIG5ld3NlZ21lbnQgb24gc3RhcnR1cAoKMjAxMy0wMy0wOCAxNDo1NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDItMjIgMTc6MDA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGxpdmUgc3RyZWFtIHBsYXliYWNrIGNyYXNoZml4CgoyMDEzLTAyLTIyIDE2OjQ2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBkbyBub3QgY2xlYW51cCB4bWwgbGliIHRvbyBlYXJseQoJICBUaGUgeG1sQ2xlYW51cFBhcnNlciBmdW5jdGlvbiBzZWVtcyB0byBjbGVhbnVwIGFsbCBzdGF0aWNhbGx5CgkgIGFsbG9jYXRlZCBsaWJ4bWwgdmFyaWFibGVzLCBtYWtpbmcgaXQgdW51c2FibGUuIFdlIGNhbid0IGd1YXJhbnRlZQoJICB0aGF0IGRhc2hkZW11eCB3b24ndCBuZWVkIGl0IGFueW1vcmUsIHNvIGJldHRlciBub3QgY2FsbCBpdC4KCjIwMTMtMDItMjIgMTY6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVpbXBsZW1lbnRpbmcgbGl2ZSBzdHJlYW1zIG1hbmlmZXN0IHVwZGF0ZXMKCSAgTWFuaWZlc3QgdXBkYXRlcyBzaG91bGQgYmUgZG9uZSBwZXJpb2RpY2FsbHkgZm9yIGxpdmUgc3RyZWFtcywKCSAgdGhpcyBwYXRjaCBtYWtlcyB0aGUgZGVtdXhlciBjcmVhdGUgYSBuZXcgbWFuaWZlc3QgY2xpZW50IGZvcgoJICB0aGUgbmV3IHZlcnNpb24gYW5kIHRyYW5zZmVycyB0aGUgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBuZXcKCSAgb25lLCBkaXNjYXJkaW5nIHRoZSBvbGQgb25lIGFmdGVyd2FyZHMuCgoyMDEzLTAyLTIwIDEyOjQ5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBhbGxvdyBwZXJpb2RzIHdpdGhvdXQgc3RhcnQgdGltZSBmb3IgbGl2ZSBzdHJlYW1zCgkgIExpdmUgc3RyZWFtcyBjYW4gaGF2ZSB1bmRlZmluZWQgc3RhcnQgdGltZXMgZm9yIHRoZSBwZXJpb2RzIGFuZAoJICBtcGRwYXJzZXIgY2FuIGxldCB0aGF0IHBhc3MgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQKCjIwMTMtMDItMTkgMTk6MzU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaDogbXBkcGFyc2VyOiB1c2UgZ3VpbnQ2NCBmb3IgdGltZXN0YW1wcwoJICBUaGUgdGltZXN0YW1wcyBjYW4gYmUgcHJldHR5IGJpZywgc28gdXNlIGd1aW50NjQgZm9yIHRoZW0KCjIwMTMtMDItMTkgMDE6MjY6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZCBwYXJzaW5nOiBmaXggcXVlcnkgcGFyYW1ldGVyIHBhcnNpbmcKCSAgVHJ5IGhhcmRlciB0byBkZXRlY3QgVVJMIHBhcmFtZXRlcnMgYW5kIHNwbGl0IHRoZW0gdG8gYWNjb21vZGF0ZQoJICB0aGUgZnJhZ21lbnQgdXJsIGluIHRoZSBjb25jYXQ6CgkgIGJhc2UtdXJsICsgZnJhZ21lbnQtdXJsICsgdXJsLXBhcmFtZXRlcnMKCjIwMTMtMDItMTggMTQ6MDI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcGx1ZyBzb21lIGxlYWtzCgkgIEFkZCBzb21lIG1pc3NpbmcgZnJlZS91bnJlZnMgc3BvdHRlZCBieSB2YWxncmluZAoKMjAxMy0wMi0xOCAxNDowMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgbXV0ZXhlcwoKMjAxMy0wMi0xNCAxNzozOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvcGVybHkgcmVzZXQgc3RyZWFtIHN0YXR1cyBhZnRlciBhIGZsdXNoCgkgIFRoZSBzdHJlYW0gZW9zL2VuZCBvZiBwZXJpb2Qgc3RhdHVzIG11c3QgYWxzbyBiZSByZXNldCBhZnRlciBhIGZsdXNoaW5nCgkgIHNlZWsuIFRoaXMgbWFrZXMgc2Vla2luZyBhZnRlciBFT1Mgd29yay4KCjIwMTMtMDItMTMgMDI6MTM6MjMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDoga2VlcCBhIGxpc3Qgb2Ygc3RyZWFtcyBwZXJpb2RzCgkgIEtlZXAgYSBsaXN0IG9mIHN0cmVhbXMgcGVyIHBlcmlvZCBzbyB0aGF0IHRoZSBkb3dubG9hZCBsb29wIGNhbiBrZWVwCgkgIGRvd25sb2FkaW5nIHdoaWxlIHRoZSBzdHJlYW0gbG9vcCBpcyBzdGlsbCBwdXNoaW5nIG9sZCBwZXJpb2QncyBkYXRhLgoKMjAxMy0wMi0xMiAyMjo1NDozMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBwYXJzZSBiYXNlIHVyaSBmcm9tIG1wZC4KCjIwMTMtMDItMTIgMjI6NTM6MTYgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHVudXNlZCBtZW1iZXJzLgoKMjAxMy0wMi0xMiAxODo1MDo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBPbmx5IHNlbmQgbmV3c2VnbWVudCBvbiBzZWVrLgoKMjAxMy0wMi0wOCAwMjo1NTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBzZWdtZW50cyB0aGF0IG92ZXJ3cml0ZSBwcmV2aW91cyBvbmVzCgkgIFRoaXMgaXMgb25seSBkb25lIGZvciBzZWVrcywgc28gaXQgaXMgZmluZQoKMjAxMy0wMi0wNyAyMTo1ODozNyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHN3aXRjaCBiaXRyYXRlcyB3aXRob3V0IHN3aXRjaGluZyBwYWRzCgoyMDEzLTAyLTA3IDE2OjIyOjEzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHVudXN1ZWQgbWV0aG9kLgoKMjAxMy0wMi0wNyAxNDowOTo0NCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFNldCBzdHJlYW0gbmVlZF9oZWFkZXIgYWZ0ZXIgc2VlayBhbmQgaGFzX2RhdGFfcXVldWVkIHRvIEZBTFNFIHdoZW4gZmx1c2hpbmcgc3RyZWFtLgoKMjAxMy0wMi0wNyAwMzowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHBhdXNlL3N0YXJ0IHRoZSBzdHJlYW0gbG9vcCBvbiBwbGF5aW5nL3BhdXNlZCBjaGFuZ2VzCgkgIFRoZSBkZW11eGVyIHNob3VsZG4ndCBjYXJlIGFib3V0IHBhdXNlZC9wbGF5aW5nLCBpdCBzaG91bGQgYWN0IHRoZQoJICBzYW1lIGluIGJvdGggc3RhdGVzCgoyMDEzLTAyLTA2IDEzOjMxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgcHJvcGVydHkgdGhhdCBpc24ndCB1c2VkIGFueW1vcmUKCSAgUmVtb3ZlIHNvbWUgcGllY2VzIG9mIGNvZGUgdGhhdCBhcmUgZnJvbSBhbiBvbGQgcHJvcGVydHkKCSAgdGhhdCBpc24ndCB1c2VkIGFueW1vcmUKCjIwMTMtMDItMDUgMTc6Mzg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSAgZGFzaGRlbXV4OiBhZGQgYSBkb3dubG9hZHJhdGUgdXRpbGl0eQoJICBBIHNtYWxsIHN0cnVjdCB0aGF0IGtlZXBzIGEgc2hvcnQgaGlzdG9yeSBvZiBmcmFnbWVudCBkb3dubG9hZCBiaXRyYXRlcwoJICB0byBoYXZlIGFuIGF2ZXJhZ2UgbWVhc3VyZSBvZiBOIGxhc3QgZnJhZ21lbnRzIGluc3RlYWQgb2YgdXNpbmcgb25seQoJICB0aGUgbGFzdCBkb3dubG9hZGVkIGJpdHJhdGUKCjIwMTMtMDItMDUgMTQ6MjQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNwcmlua2xpbmcgc29tZSBtb3JlIGxvZwoKMjAxMy0wMi0wNSAxNDoyMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGNoYW5nZSBiaXRyYXRlcyBiYXNlZCBvbiB0aGUgc3RyZWFtIGJpdHJhdGUKCSAgRG8gbm90IHVzZSBhIGdsb2JhbCBiaXRyYXRlIGFzIHRoZSBzaXplcyBvZiB0aGUgZnJhZ21lbnRzIG1hdHRlcgoJICB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkb3dubG9hZCByYXRlIGFzIHRoZSBjb25uZWN0aW9uIHNldHVwIHRpbWUgaXMKCSAgYWxzbyBiZWluZyB0YWtlbiBpbnRvIHRoZSBkb3dubG9hZCBkdXJhdGlvbiwgYSBzbWFsbGVyIGZyYWdtZW50CgkgIHdpbGwgaGF2ZSBhIGxvd2VyIGJpdHJhdGUgdGhhbiBhIGxhcmdlciBvbmUuCgkgIFRoaXMgYXZvaWRzIHN3aXRjaGluZyB0aGUgYml0cmF0ZXMgZm9yIHN0cmVhbXMgZnJlcXVlbnRseSBiZWNhdXNlCgkgIG9mIGJpdHJhdGUgbWlzbWF0Y2hlcwoKMjAxMy0wMi0wNSAwMDo0NTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3IgdG8gdXNlIHRoZSB1cmlkb3dubG9hZGVyIGxpYiBpbnN0ZWFkIG9mIGludGVybmFsIGNvcHkKCjIwMTMtMDItMDUgMDE6Mjk6MjggLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYWtlIHN1cmUgc3dpdGNoX3BhZHMgd29uJ3QgbGVhayBhbnkgcGFkLgoKMjAxMy0wMi0wNCAyMjo1ODozMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBzdG9wIGRvd25sb2FkIGFuZCBzdHJlYW0gdGFza3Mgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDEzLTAyLTAxIDAyOjEyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhdm9pZCBhbiBhc3NlcnRpb24gd2hlbiBzdG9wcGluZyB0aGUgcGlwZWxpbmUKCSAgQXZvaWRzIGFzc2VydGluZyB3aGVuIGRhdGFxdWV1ZXMgYXJlIHNldHRpbmcgdG8gZmx1c2hpbmcgZHVlCgkgIHRvIGEgcGlwZWxpbmUgc3RvcCBkdXJpbmcgYSBwYWQgc3dpdGNoLgoKMjAxMy0wMi0wMSAwMjoxMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZG93bmxvYWQgdGhlIG5leHQgZnJhZ21lbnQgd2l0aCBzbWFsbGVyIHRpbWVzdGFtcAoJICBJbnN0ZWFkIG9mIGRvd25sb2FkaW5nIDEgZnJhZ21lbnQgcGVyIHN0cmVhbSBwZXIgZG93bmxvYWQgbG9vcCwKCSAgc2VsZWN0IHRoZSBzdHJlYW0gd2l0aCB0aGUgZWFybGllciB0aW1lc3RhbXAgYW5kIGdldCBhIGZyYWdtZW50CgkgIG9ubHkgZm9yIHRoYXQgb25lLgoJICBUaGUgb2xkIGFsZ29yaXRobSB3b3VsZCBsZWFkIHRvIHByb2JsZW1zIHdoZW4gdGhlIGZyYWdtZW50IGR1cmF0aW9ucwoJICB3ZXJlIHRvbyBkaWZmZXJlbnQgZm9yIHN0cmVhbXMuCgoyMDEzLTAyLTAxIDAwOjM3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdHJhY2sgc2VnbWVudHMgaW4gdGhlIGRlbXV4ZXIKCSAgVXNlIGEgR3N0U2VnbWVudCB0byB0cmFjayB0aGUgY3VycmVudCBzZWdtZW50IGluZm9ybWF0aW9uIGluIHRoZQoJICBkZW11eGVyLgoKMjAxMy0wMi0wMSAwMDozMzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBidWZmZXJpbmcgbWVzc2FnZSBlbWlzc2lvbiBmcm9tIGRhc2hkZW11eAoJICBkYXNoZGVtdXggc2hvdWxkbid0IGVtaXQgdGhlIGJ1ZmZlcmluZyBtZXNzYWdlIGFzIHRoYXQgY2FuIHBhdXNlCgkgIHRoZSBwaXBlbGluZS4gSXQgaGFzIG5vIHByb3BlciBrbm93bGVkZ2Ugb2YgdGhlIGRvd25zdHJlYW0gYnVmZmVyaW5nCgkgIHN0YXR1cyBzbyBpdCBjYW4gcGF1c2UgdGhlIHBpcGVsaW5lIHdoZW4gaXQgaXNuJ3QgbmVjZXNzYXJ5LiBJdCBzaG91bGQKCSAgaGF2ZSBhbiBpbnRlcm5hbCBidWZmZXIgZm9yIGRvd25sb2FkaW5nIHRoZSBzdHJlYW1zIGFoZWFkIG9mIHBsYXliYWNrLAoJICBidXQgdGhhdCBzaG91bGRuJ3QgbWFrZSBpdCBhYmxlIHRvIHN0b3AgdGhlIHBpcGVsaW5lIGZvciBidWZmZXJpbmcuCgkgIEEgcGFydGljdWxhciBjYXNlIGluIHdoaWNoIHRoaXMgaXMgYmFkIGlzIHdoZW4gYSBwYWQgc3dpdGNoIGhhcHBlbnMKCSAgKGNoYW5naW5nIGJpdHJhdGVzIGZvciBleGFtcGxlKSwgdGhlIG5ldyBwYWRzIGRhc2hkZW11eCBjcmVhdGVzCgkgIHdpbGwgZ2V0IGxpbmtlZCB0byBkZW11eGVycyBhbmQgbmV3IHF1ZXVlcyB3aWxsIGJlIGNyZWF0ZWQsCgkgIHRoZXNlIHF1ZXVlcyBhcmUgaW5pdGlhbGx5IGVtcHR5IGFuZCBkYXNoZGVtdXggd2lsbCBxdWlja2x5CgkgIGRyYWluIGl0cyBidWZmZXJzIGJ5IHB1c2hpbmcgdGhlbSB0byB0aG9zZSBxdWV1ZXMuIFNvIGl0CgkgIHdvdWxkIGhhdmUgbm8gbW9yZSBidWZmZXJzIGludGVybmFsbHkgYW5kIHdvdWxkIGVtaXQgYQoJICBidWZmZXJpbmcgbWVzc2FnZSB3aXRoIGEgbG93IHJhdGlvLCBjYXVzaW5nIHRoZSBwaXBlbGluZQoJICB0byBwYXVzZSB3aGVuIGl0IHdvdWxkbid0IGJlIG5lY2Vzc2FyeS4KCjIwMTMtMDEtMzAgMTc6MzE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmluZyB1bnVzZWQgY29kZQoJICBDbGVhbmluZyB1cCBieSByZW1vdmluZyB1bnVzZWQgY29kZSBhbmQgdmFyaWFibGVzCgoyMDEzLTAxLTMwIDE3OjI3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmUtZW5hYmxlIGFuZCBmaXggYWRhcHRpdmUgc3dpdGNoaW5nCgkgIEl0IGlzIHN0aWxsIHVuc3RhYmxlLCBidXQgYXQgbGVhc3QgaXQgd29ya3Mgd2hlbiB0aGUgc3dpdGNoZXMgYXJlbid0CgkgIGhhcHBlbmluZyBhZnRlciBldmVyeSBmcmFnbWVudAoKMjAxMy0wMS0yOSAxNTo1ODo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29ycmVjdGx5IHNpZ25hbCBFT1Mgb24gbWFuaWZlc3QgZW5kCgkgIFB1dCBFT1Mgb24gdGhlIHN0cmVhbXMgcXVldWVzIGFmdGVyIHRoZSBsYXN0IGZyYWdtZW50IGZyb20gdGhlCgkgIGxhc3QgcGVyaW9kIGZvciBlYWNoIHN0cmVhbS4gVGhpcyB3YXkgd2Uga2VlcCBpdCBzZXJpYWxpemVkCgkgIHdpdGggdGhlIGJ1ZmZlcnMgYW5kIGl0IHdpbGwgd29yayB3aGVuIHN0cmVhbXMgaGF2ZSBkaWZmZXJlbnQKCSAgZW5kaW5nIHRpbWVzCgoyMDEzLTAxLTI5IDEzOjA4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkZXRlY3QgZW5kLW9mLXBlcmlvZCBjb3JyZWN0bHkKCSAgRGV0ZWN0IGVuZCBvZiBwZXJpb2Qgd2hlbiB0aGVyZSBhcmUgbm8gbW9yZSBidWZmZXJzIG9uIGFueSBvZiB0aGUKCSAgc3RyZWFtcwoKMjAxMy0wMS0yOSAxMzowNDowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXNlIHRoZSBzbWFsbGVzdCBxdWV1ZSB2YWx1ZSB0byBkZWZpbmUgYnVmZmVyaW5nIHN0YXRlCgkgIFRoZSBzbWFsbGVzdCBxdWV1ZSBzaG91bGQgYmUgdXNlZCB0byBwcmV2ZW50IGJsb2NraW5nIHRoZSBkb3dubG9hZAoJICB0aHJlYWQgd2hlbiBhIHN0cmVhbSBoYXMgdG9vIG11Y2ggZGF0YSBidWZmZXJlZCwgbGVhdmluZyB0aGUgb3RoZXIKCSAgc3RyZWFtcyBzdGFydmluZyBmcm9tIGZyYWdtZW50cwoKMjAxMy0wMS0yOSAxMToyMjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGZpeCBwYXJzaW5nIG9mIHN0cmVhbXMgdG8gZ2V0IGNvcnJlY3QgZnJhZ21lbnQgZHVyYXRpb25zCgkgIFVzZSB0aGUgY3VycmVudCBzdHJlYW0gYmFzZSB0aW1lIGluc3RlYWQgb2YgdGhlIDB0aCBzdHJlYW0gYmFzZSB0aW1lCgkgIHRvIGdldCBkZWZhdWx0IGR1cmF0aW9uIGZvciBmcmFnbWVudHMuCgoyMDEzLTAxLTI5IDAxOjA2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIGluc3RlYWQgb2YgYnVzeSB3YWl0CgkgIE1ha2UgdGhlIHN0cmVhbWluZyBsb29wIGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlcyBpbnN0ZWFkCgkgIG9mIGJ1c3kgd2FpdGluZyBlYXRpbmcgY3B1IGNvbnRpbnVvdXNseSBvbiBhIHF1ZXVlIGxlbmd0aCBjaGVjawoKMjAxMy0wMS0yOCAxOTo0Mzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggc2Vla2luZyBvbiBtdWx0aXBsZSBzdHJlYW1zCgkgIEVhY2ggc3RyZWFtIGhhcyBpdHMgb3duIGR1cmF0aW9ucyBhbmQgdGltZXN0YW1wcywgdGhlIGZyYWdtZW50IG51bWJlcgoJICBpcyBkaWZmZXJlbnQgZm9yIGVhY2ggc3RyZWFtIHdoZW4gc2Vla2luZywgc28gdGhlIHNlZWsgaGFzIHRvIGJlIGRvbmUKCSAgZm9yIGFsbCBzdHJlYW1zLCByYXRoZXIgdGhhbiBvbiBhIHNpbmdsZSBzdHJlYW0gYW5kIHByb3BhZ2F0ZWQgdG8KCSAgb3RoZXJzCgoyMDEzLTAxLTI4IDE4OjUyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFJlcGxhY2UgR1F1ZXVlIGJ5IEdzdERhdGFRdWV1ZQoJICBHc3REYXRhUXVldWUgaGFzIHByb3BlciBsb2NraW5nIGFuZCBwcm92aWRlcyBmdW5jdGlvbnMgdG8gbGltaXQgdGhlCgkgIHNpemUgb2YgdGhlIHF1ZXVlLiBBbHNvIGhhcyBibG9ja2luZyBjYWxscyB0aGF0IGFyZSB1c2VmdWwgdG8KCSAgb3VyIG11bHRpdGhyZWFkIHNjZW5hcmlvIGluIERhc2guCgoyMDEzLTAxLTI4IDEyOjI4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbW92ZSB0aGUgYnVmZmVycyBxdWV1ZXMgdG8gdGhlIHN0cmVhbXMKCSAgU3RvcmUgdGhlIGJ1ZmZlcnMgc2VwYXJhdGVseSBmb3IgZWFjaCBzdHJlYW0sIHRoaXMgaXMgY2xlYXJlciB0aGFuCgkgIGhhdmluZyBhIHF1ZXVlIHdpdGggYSBsaXN0IG9mIGJ1ZmZlcnMuIEl0IGFsc28gYWxsb3dzIGVhc2llciBzZWxlY3Rpb24KCSAgb2YgYnVmZmVycyB0byBwdXNoIGluIGxhdGVyIHJlZmFjdG9ycwoKMjAxMy0wMS0yOCAxMDo0NjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHN0cmVhbXMgZGF0YSB0byBpdHMgb3duIHN0cnVjdAoJICBLZWVwcyBjb2RlIG1vcmUgb3JnYW5pemVkIGFuZCBzaW1pbGFyIHRvIHdoYXQgb3RoZXIgZGVtdXhlcnMKCSAgdXN1YWxseSBkbwoKMjAxMy0wMS0yNSAxMzowNDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGRvIG5vdCB0cnkgdG8gcHJpbnQgYSBwb2ludGVyIGFzIGEgc3RyaW5nCgoyMDEzLTAxLTI1IDEyOjQ1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHRpbWluZyBjb2RlIHRoYXQgZGVsYXlzIHB1c2hpbmcgb2YgZnJhZ21lbnRzCgkgIEZyYWdtZW50cyBzaG91bGQgYmUgcHVzaGVkIEFTQVAgYXMgZG93bnN0cmVhbSBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9yCgkgIGRvaW5nIHRoZSBzeW5jcmhvbml6YXRpb24gYW5kIHByb3BlciBidWZmZXJpbmcuCgkgIFRoaXMgaGFzIHRoZSBncmVhdCBzaWRlIGVmZmVjdCBvZiBmaXhpbmcgbW9zdCBvZiB0aGUgc2Vla2luZyBBL1Ygc3luYyBpc3N1ZXMuCgoyMDEzLTAxLTI1IDA5OjM2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGRhc2g6IGZpeGluZyBidWlsZCB3YXJuaW5ncwoJICBBbHNvIHJ1bm5pbmcgdGhyb3VnaCBnc3QtaW5kZW50CgoyMDEzLTAxLTIzIDE2OjQzOjEyIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZ3N0ZGFzaGRlbXV4OiBhZGQgbmVlZF9oZWFkZXIgbWVtYmVyIHRvIGtub3cgd2hldGhlciB0aGUgaW5pdGlhbGl6YXRpb24gZnJhZ21lbnQgc2hvdWxkIGJlIHB1c2hlZAoKMjAxMy0wMS0yMyAxMzoyMDoyNSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogZG9uJ3Qgd2FpdCBmb3IgdGhlIHdob2xlIGR1cmF0aW9uIG9mIGEgZnJhZ21lbnQgd2hlbiBzZWVraW5nCgoyMDEzLTAxLTIzIDEzOjE5OjIxIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHN3aXRjaCBwYWRzIGFuZCBzZW5kIGhlYWRlciBmaWxlIHdoZW4gYSBuZXdzZWdtZW50IGV2ZW50IGlzIHNlbnQKCjIwMTMtMDEtMTYgMTM6NTg6NTIgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB2YXJpb3VzIGZpeGVzCgoyMDEyLTEyLTIwIDA5OjA0OjI4ICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMi0xOCAxMToyMToyMiArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBSZXBsYWNlZCBVUkwgcG9pbnRpbmcgdG8gb2Jzb2xldGUgS2xhZ2VuZnVydCBNUEQgYnkgYSBuZXcgb25lCgoyMDEyLTEyLTE3IDE1OjQ2OjMyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZml4IGVzY2FwZSBzZXF1ZW5jZSBpbiBVUkwgdGVtcGxhdGUgcmVzb2x2aW5nCgoyMDEyLTEyLTE3IDE1OjM5OjEwICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBkbyBub3Qgc3dpdGNoIHBhZHMgd2hlbiBiaXRzdHJlYW1Td2l0Y2hpbmcgPSB0cnVlCgoyMDEyLTEyLTE3IDE1OjE5OjMzICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb21wbGV0ZSBzdXBwb3J0IGZvciBtYW5pZmVzdCBmaWxlIHVwZGF0ZXMKCjIwMTItMTItMTcgMTU6MTI6NTggKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBtYW5pZmVzdCBmaWxlIHVwZGF0ZXMKCSAgLSB0aGUgTVBEIGZpbGUgaXMgdXBkYXRlZCBpbiB0aGUgZG93bmxvYWQgbG9vcCAob25seSBpZiB3ZSBoYXZlIGEgImR5bmFtaWMiIE1QRCBhbmQgbWluaW11bVVwZGF0ZVBlcmlvZCBpcyB2YWxpZCk7CgkgIC0gcHJvcGVybHkgTE9DSy9VTkxPQ0sgdGhlIEdzdE1wZENsaWVudDsKCjIwMTItMTItMTcgMTU6MDQ6NDUgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG5ldyBBUEkgdG8gc2V0L2dldCBzZWdtZW50IGluZGV4IGFuZCBwZXJpb2QgaW5kZXgKCSAgVE9ETzogcmV3b3JrIHNlZ21lbnQgc2VsZWN0aW9uIHRvIHN1cHBvcnQgUmVwcmVzZW50YXRpb25zIG9yIEFkYXB0YXRpb24gU2V0cyB3aXRoIHNlZ21lbnRzIG5vdCBhbGlnbmVkCgoyMDEyLTEyLTE3IDE1OjAwOjUyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBuZXcgQVBJIHRvIGxvYWQgdGhlIHN0cmVhbSBQZXJpb2Qgd2l0aCBhIGdpdmVuIGluZGV4CgkgIHRoaXMgYXZvaWRzIHRvIGZpZGRsZSB3aXRoIHN0cmVhbSBpbnRlcm5hbHMgaW4gdGhlIGNvZGUKCjIwMTItMTItMTcgMTQ6NTQ6NDIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBhY3Jvc3MgUGVyaW9kcwoKMjAxMi0xMS0yMSAxNDoxNDozNCArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMS0yMSAxNDoxNDoyMSArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEJ5IGRlZmF1bHQsIGRvIG5vdCBmb3J3YXJkIHBhZCBxdWVyaWVzIHVwc3RyZWFtLCBiZWNhdXNlIGl0IG1heSBoYXZlIHVuZm9yZXNzZW4gc2lkZS1lZmZlY3RzIChmb3J3YXJkaW5nIHRoZSBuZXcgMS4wIEdTVF9DQVBTIHF1ZXJ5IHdvdWxkIHByZXZlbnQgcGFkIGxpbmtpbmcgZm9yIGluc3RhbmNlKQoKMjAxMi0xMS0xMiAxMDo1NDozNSArMDEwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgcGx1Z2luOiByZWdpc3RlciBhcyBkYXNoZGVtdXggaW5zdGVhZCBvZiBmcmFnbWVudGVkCgkgIFRoaXMgZml4ZXMgY29uZmxpY3RzIHdpdGggdGhlIEhMUyBwbHVnaW4sIHdoaWNoIGlzIGFsc28gbmFtZWQKCSAgZnJhZ21lbnRlZC4KCSAgV2hlbiBidWlsZGluZyBpdHMgcmVnaXN0cnksIGdzdHJlYW1lciB3YXMgcGlja2luZyBvbmUgb3IgdGhlIG90aGVyCgkgIGJldHdlZW4gaGxzIGFuZCBkYXNoZGVtdXguCgoyMDEyLTEwLTI1IDE3OjU1OjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2hlY2sgaWYgd2UgaGF2ZSByZWNlaXZlZCB0aGUgTVBEIGZpbGUgaW4gdGhlIHByb3BlciB3YXkKCjIwMTItMTAtMjUgMTc6NTM6NTMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzaWxlbmNlIHdhcm5pbmcKCjIwMTItMTAtMjUgMTc6MTU6MDkgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHByaW50aW5nIGJ1ZmZlcmluZyB0aW1lIGFuZCBkb3dubG9hZCByYXRlL3NpemUKCSAgVGhpcyB3YXMgYnJva2VuIG9uIGFybXY3LgoKMjAxMi0xMC0yNSAxNzoxNzozNSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQgdmFyaWFibGUKCjIwMTItMTAtMjUgMTY6NDk6MjEgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIG5ldyBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBBUEkKCSAgVGhpcyBmaXhlcyBidWlsZCB0aGF0IGhhcyBiZWVuIGJyb2tlbiBieSBjb21taXQKCSAgZmI5YWVhYzY1NTIwMjFiMTc2YTRjNGJkMDcyNjVlMDJhMGI3MGUwZi4KCSAgZ3N0X21wZF9jbGllbnRfZ2V0X3RhcmdldF9kdXJhdGlvbiBoYXMgYmVlbiByZW1vdmVkLCBhbmQKCSAgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCjIwMTItMTAtMjQgMTc6Mjg6NDAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgRklYTUUgY29tbWVudAoJICBwYWQgc3dpdGNoaW5nIGFjcm9zcyBtdWx0aXBsZSBwZXJpb2RzIHdvcmtzIHBlcmZlY3RseSBmaW5lIG5vdwoJICBhbmQgaXQgaXMgZG9uZSBvbmx5IHdoZW4gdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIENBUFMKCjIwMTItMTAtMjQgMTY6NTU6MjAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIG5ldy1zZWdtZW50IGV2ZW50cyB0byBhbGwgcGFkcwoKMjAxMi0xMC0yNCAxNjozMDowMSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgdGhlIEFQSSB0byByZXRyaWV2ZSBmcmFnbWVudCB0aW1lc3RhbXAsIGZyYWdtZW50IGR1cmF0aW9uIGFuZCBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24KCSAgVGhpcyB3YXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgdmFyaWFibGUtZHVyYXRpb24gRnJhZ21lbnRzLgoJICBpbiB0aGUgbmV3IEFQSToKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfY3VycmVudF9wb3NpdGlvbiByZXR1cm5zIHRoZSB0aW1lc3RhbXAgb2YgdGhlIE5FWFQgZnJhZ21lbnQgdG8gZG93bmxvYWQ7CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gcmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIG5leHQgZnJhZ21lbnQgdG8gZG93bmxvYWQ7CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X21lZGlhX3ByZXNlbnRhdGlvbl9kdXJhdGlvbiByZXR1cm5zIHRoZSBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGZyb20gdGhlIE1QRCBmaWxlOwoJICBhbHNvIHRoZXJlIGlzIGEgbmV3IGludGVybmFsIHBhcnNlciBmdW5jdGlvbjoKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfc2VnbWVudF9kdXJhdGlvbiBleHRyYWN0cyB0aGUgY29uc3RhbnQgc2VnbWVudCBkdXJhdGlvbiBmcm9tIHRoZSBNUEQgZmlsZQoJICAob25seSB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gU2VnbWVudFRpbWVsaW5lIHN5bnRheCBlbGVtZW50IGluIHRoZSBjdXJyZW50IHJlcHJlc2VudGF0aW9uKQoJICBJbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudCwgd2Ugc2V0IHRoZSB0aW1lc3RhbXAvZHVyYXRpb24gb2YgdGhlIGZyYWdtZW50IGp1c3QgZG93bmxvYWRlZAoJICBjb3B5aW5nIHRoZSB2YWx1ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBHc3RNZWRpYVNlZ21lbnQuCgkgIFRPRE86IHJld29yayBTRUVLSU5HIHRvIHN1cHBvcnQgc2Vla2luZyBhY3Jvc3MgZGlmZmVyZW50IFBlcmlvZHMuCgoyMDEyLTEwLTI0IDE0OjUwOjU0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIGVmZmVjdGl2ZSBzZWdtZW50IGR1cmF0aW9uIHRvIHJlc2NoZWR1bGUgdGhlIHN0cmVhbWluZyB0YXNrCgkgIGRvIG5vdCBhc3N1bWUgc2VnbWVudCBkdXJhdGlvbiBpcyBjb25zdGFudAoJICBDb25mbGljdHM6CgkgIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jCgoyMDEyLTEwLTI0IDE0OjI0OjA1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgZ3N0X2Rhc2hfZGVtdXhfZ2V0X2J1ZmZlcmluZ190aW1lKCkgdG8gcmV0dXJuIHRoZSBlZmZlY3RpdmUgYnVmZmVyaW5nIHRpbWUKCSAgZG8gbm90IGFzc3VtZSB0aGUgRnJhZ21lbnQgZHVyYXRpb24gaXMgY29uc3RhbnQKCjIwMTItMTAtMjQgMTE6NDk6NTEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb21wbGV0ZSBzdXBwb3J0IGZvciBNZWRpYSBQcmVzZW50YXRpb25zIHdpdGggc2V2ZXJhbCBQZXJpb2RzCgkgIC0gUGVyaW9kcyBhcmUgcGxheWVkIGluIHNlcXVlbmNlLCBmcm9tIFBlcmlvZFN0YXJ0IHRvIFBlcmlvZEVuZAoJICAtIHNlYW1sZXNzIHN3aXRjaGluZyBmcm9tIG9uZSBQZXJpb2QgdG8gdGhlIG5leHQgb25lIHdvcmtzIGZpbmU7CgkgIC0gdGhlICduZXctc2VnbWVudCcgZ2VuZXJhdGlvbiBpcyBicm9rZW4sIHNvIGlmIHdlIG5lZWQgdG8gc3dpdGNoIHBhZHMgZm9yIGEgbmV3IFBlcmlvZCB0aGVyZSBpcyBhIGNyYXNoOwoKMjAxMi0xMC0yMiAxODoxMjozMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogaW5pdGlhbCBzdXBwb3J0IGZvciBNZWRpYSBQcmVzZW50YXRpb25zIG1hZGUgb2Ygc2V2ZXJhbCBQZXJpb2RzCgkgIC0gYnVpbGQgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgUGVyaW9kcyB3aXRoIHRoZWlyIHN0YXJ0IGFuZCBkdXJhdGlvbiB0aW1lCgkgIC0gYWRkIHRoZSBsaXN0IG9mIEdzdFN0cmVhbVBlcmlvZCBpbiB0aGUgR3N0TXBkQ2xpZW50IGRhdGEgc3RydWN0CgkgIC0gcmVtb3ZlIGN1cl9wZXJpb2QgZnJvbSBHc3RNcGRDbGllbnQgYW5kIGludHJvZHVjZSBhbiBBUEkgdG8gZ2V0IHRoZSBjdXJyZW50IEdzdFN0cmVhbVBlcmlvZAoJICAtIHNldmVyYWwgQVBJIGNsZWFuLXVwcwoKMjAxMi0xMC0yNCAxODoxMDo0NyArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IEJhc2VVUkwgZm9yIFNlZ21lbnRVUkwgdXNpbmcgbWVkaWFSYW5nZQoJICBUaGlzIGlzIHVzZWQgaW4gYmlnX2J1Y2tfYnVubnlfQ2FwcGVkVkJSX011bHRpcmF0ZV80c18wX0F1ZGlvVmlkZW9fTWFpblByb2ZpbGUubXBkCgoyMDEyLTEwLTI0IDE4OjA0OjA3ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZhY3Rvcml6ZSBhZGRpbmcgcmFuZ2UgcGFyYW1ldGVyIHRvIFVSTAoKMjAxMi0xMC0xOSAyMDoxMjowOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgY2FwcyBkZXRlY3Rpb24KCSAgYWxzbyByZXdvcmtlZCB0aGUgQVBJIHRvIGV4dHJhY3QgYXVkaW8vdmlkZW8gcGFyYW1ldGVycyBmcm9tIHRoZSBtYW5pZmVzdCBmaWxlCgkgIChtaW1lVHlwZSwgd2lkdGgsIGhlaWdodCwgcmF0ZSwgbnVtIGNoYW5uZWxzKQoKMjAxMi0xMC0xOSAxOTowMzo0MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBkbyBub3Qgc2VuZCBib2d1cyBkdXJhdGlvbiBtZXNzYWdlcyB3aGVuIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gaXMgdW5rbm93bgoKMjAxMi0xMC0xOSAxODo0NTozMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgU2VnbWVudFRpbWVsaW5lIHN5bnRheCBhbHNvIGZvciBsaXN0LWJhc2VkIG1lZGlhIHNlZ21lbnQgZ2VuZXJhdGlvbgoKMjAxMi0xMC0xOSAxNzo0Nzo1MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGQgc3VwcG9ydCBmb3IgU2VnbWVudFRpbWVsaW5lIHN5bnRheCBlbGVtZW50cwoJICBidWlsZCB0aGUgbGlzdCBvZiBzZWdtZW50cyB0byBiZSBwbGF5ZWQgdXNpbmcgdGhlIFNlZ21lbnRUaW1lbGluZSBzeW50YXgsIGlmIHByZXNlbnQKCSAgYnVnZml4ZXM6CgkgIC0gZm9yIGR5bmFtaWMgTVBEIGZpbGVzLCB3aGVuIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gaXMgbm90IHByZXNlbnQgdXNlIG1pbmltdW1VcGRhdGVQZXJpb2QgaW5zdGVhZAoJICAtIGRvIG5vdCBhZGQgYSBzcHVyaW91cyAnJCcgd2hlbiBidWlsZGluZyBhbiBVUkwgZnJvbSBhIHRlbXBsYXRlIGxpa2UgIiRCYW5kd2lkdGgkL2luaXQubXA0diIKCSAgLSBpbnRyb2R1Y2UgZ3N0X21wZF9jbGllbnRfYWRkX21lZGlhX3NlZ21lbnQoKSB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uCgoyMDEyLTEwLTE5IDE1OjQyOjUxICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgd3JvbmcgaW5kZXggaW4gZnJhZ21lbnRzCgoyMDEyLTEwLTE5IDEyOjAxOjAzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfc2V0KCkKCSAgd2UgaGF2ZSB0byBmcmVlIG5leHRfZnJhZ21lbnRfdXJpCgoyMDEyLTEwLTE5IDEwOjUwOjE2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCB1bnVzZWQgZnVuY3Rpb24KCjIwMTItMTAtMTkgMTA6NDM6NDkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBTZWVrIGV2ZW50IGhhbmRsaW5nIGNsZWFudXAKCjIwMTItMTAtMTggMTg6NDk6NTMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IHBsYXlpbmcgb2Ygc2luZ2xlLXNlZ21lbnQgbWVkaWEgc3RyZWFtcwoJICBvdGhlciBmaXhlczoKCSAgLSBmaXhlZCBhIGJ1ZmZlcmluZyBidWc6IG5vdyB3ZSBzdG9wIGJ1ZmZlcmluZyB3aGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgbWFuaWZlc3QKCSAgLSBub3cgZ3N0X21wZF9jbGllbnRfZ2V0X3RhcmdldF9kdXJhdGlvbigpIGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgZHVyYXRpb24KCSAgKGluIGNhc2Ugb2Ygc2luZ2xlLXNlZ21lbnQgc3RyZWFtcywgd2UgcmV0dXJuIGVpdGhlciBQZXJpb2QgZHVyYXRpb24gb3IgbWVkaWFQcmVzZW50YXRpb24gZHVyYXRpb24pCgkgIFRPRE86IHN1cHBvcnQgU2VnbWVudFRpbWVsaW5lCgoyMDEyLTEwLTE3IDE4OjQ2OjIyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBkZWxldGVkIHVzZWxlc3MgZGVjbGFyYXRpb24gb2YgZ3N0X3VyaV9kb3dubG9hZGVyX2ZyZWUoKQoKMjAxMi0xMC0xNyAxODo0NToyNSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogd2hlbiBwb3NzaWJsZSwgcmV1c2UgZXhpc3RpbmcgZWxlbWVudCB0byBkb3dubG9hZCBhIG5ldyBVUkkKCSAgcHJldmlvdXNseSBhIG5ldyBlbGVtZW50IHdhcyBhbGxvY2F0ZWQgZm9yIGVhY2ggbWVkaWEgc2VnbWVudCwgYW5kIGl0IHdhcyBuZXZlciBmcmVlZAoKMjAxMi0xMC0xNyAxODo0MzoyNiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVucmVmIGNhcHMgaW4gZnVuY3Rpb24gbmVlZF9hZGRfaGVhZGVyKCkKCjIwMTItMTAtMTcgMTg6NDI6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggZXh0cmFjdGlvbiBvZiBTZWdtZW50VGVtcGxhdGUtPmluaXRpYWxpemF0aW9uIGluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2hlYWRlcigpCgkgIG5vdyB0aGUgZm9sbG93aW5nIE1QRCBmaWxlcyBhcmUgcHJvcGVybHkgc3VwcG9ydGVkOgoJICBodHRwOi8vZGFzaC5lZGdlc3VpdGUubmV0L2Fkb2JlL2hkd29ybGRfZGFzaC9IRFdvcmxkLTE2MDAubXBkCgkgIGh0dHA6Ly9kYXNoLmVkZ2VzdWl0ZS5uZXQvYWRvYmUvaGR3b3JsZF9kYXNoL0hEV29ybGQubXBkCgoyMDEyLTEwLTE3IDE4OjQwOjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9kYXNoX2RlbXV4X2dldF9uZXh0X2hlYWRlcigpCgoyMDEyLTEwLTE3IDE1OjUyOjE5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgV2Ugbm93IG9ubHkgYWNjZXB0IGFjdHVhbCBtYW5pZmVzdCBmaWxlcywgYW5kIG5vdCBhbnkgWE1MIGZpbGUKCjIwMTItMTAtMTcgMTU6NTA6MzMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgQWRkZWQgYSB0eXBlZmluZCBoZWxwZXIgZm9yIERBU0g6IHRoaXMgY29tbWl0IHNob3VsZCBiZSByZXZlcnRlZCBhcyBzb29uIGFzIGEgcHJvcGVyIHBhdGNoIGhhcyBiZWVuIHN1Ym1pdHRlZCB0byBnc3QtcGx1Z2lucy1iYXNlCgoyMDEyLTEwLTE3IDEwOjAyOjM5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgc3RhdGUgbWFjaGluZSAoYWdhaW4pCgoyMDEyLTEwLTE2IDE2OjQ2OjE3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29kZSByZWZhY3RvcmluZwoKMjAxMi0xMC0xNiAxNjozNDoxMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHN0YXRlIG1hY2hpbmUKCjIwMTItMTAtMTYgMTM6NDM6MzkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiB0aGUgdGFza3Mgc2h1dGRvd24gY29kZQoKMjAxMi0xMC0xNiAxMjo1MTo0NCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZGVkIG1pc3NpbmcgZ19saXN0X2ZyZWUKCjIwMTItMTAtMTYgMTE6NDQ6MjYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEbyBub3QgYW5zd2VyIHRvIFVSSSBxdWVyaWVzCgoyMDEyLTEwLTE2IDExOjM5OjE4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgVHJ5IHF1ZXJpZXMgdXBzdHJlYW0gaWYgd2UgY2Fubm90IHByb2Nlc3MgdGhlbQoKMjAxMi0xMC0xNiAxMToyNjowMyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZW5hbWVkIGRlbXV4LT5uZXh0X3N0cmVhbSBpbiBkZW11eC0+bmV4dF9wdXNoCgoyMDEyLTEwLTE2IDExOjIzOjI2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgSW5saW5lZCBvbmUtbGluZSB1dGlsaXR5IGZ1bmNpdG9uIHRoYXQgd2FzIGNhbGxlZCBvbmx5IG9uY2UKCjIwMTItMTAtMTYgMDk6MTA6MDAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCByZWdyZXNzaW9uIGFmdGVyIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIG11bHRpLXNjcmVlbiBzdXBwb3J0LCBwcmV2ZW50aW5nIHRoZSBwaXBlbGluZSBmcm9tIHN0b3BwaW5nIHByb3Blcmx5CgoyMDEyLTEwLTE1IDE2OjQxOjI4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgTW9kaWZpZWQgbG9nIGxldmVsIG9mIHNodXRkb3duIG1lc3NhZ2UKCjIwMTItMTAtMTUgMTU6MDg6NTMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50czogV2UgZG9uJ3Qgc2VsZWN0IGEgc2luZ2xlIHJlcHJlc2VudGF0aW9uLCBidXQgYSByZXByZXNlbnRhdGlvbiBmb3IgZWFjaCBzdHJlYW0gQ29kZTogY2xlYW51cCBvZiBnc3RfZ2V0X25leHRfZnJhZ21lbnQgKGFsc28gcmVuYW1lZCBpbiBnc3RfZ2V0X25leHRfZnJhZ21lbnRfc2V0KQoKMjAxMi0xMC0xNSAxNDoyNToyNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgZGVidWcgdHJhY2UKCjIwMTItMTAtMTUgMTQ6MTQ6NTMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGRlZCBpbnRyb2R1Y3Rpb24gYW5kIGdlbmVyYWwgZGVzaWduIG5vdGVzCgoyMDEyLTEwLTE1IDEzOjU0OjE3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgd3JvbmcgY29tbWVudAoKMjAxMi0xMC0xNSAxMzo1MjozMSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvY3VtZW50ZWQgZ3N0X2Rhc2hfZGVtdXhfZG93bmxvYWRfbG9vcAoKMjAxMi0xMC0xNSAxMzozNToxNSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRlZCBnc3RfZGFzaF9kZW11eF9zdHJlYW1fbG9vcAoKMjAxMi0xMC0xNSAxMzoxNzoxMiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRlZCBuZWVkc19wYWRfc3dpdGNoCgoyMDEyLTEwLTE1IDEzOjA5OjQ5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG9jdW1lbnRlZCB0aGUgcmVwcmVzZW50YXRpb24gc3dpdGNoIG1lY2hhbmlzbQoKMjAxMi0xMC0xNSAxMTo0MDo1NSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZXBsYWNlZCByZWZlcmVuY2VzIHRvIHBsYXlsaXN0IChITFMpIGJ5IHJlZmVyZW5jZXMgdG8gbWFuaWZlc3QgKERBU0gpCgoyMDEyLTEwLTE1IDExOjMzOjU4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVuYW1lZCBnc3RfZGFzaF9kZW11eF9zd2l0Y2hfcGxheWxpc3QgdG8gZ3N0X2Rhc2hfZGVtdXhfc2VsZWN0X3JlcHJlc2VudGF0aW9uIGFuZCBhZGRlZCBjb21tZW50cwoKMjAxMi0xMC0xNSAxMToxOToyOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgb2Jzb2xldGUgY29tbWVudAoKMjAxMi0xMC0xNSAxMToxODoyNSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMC0xMSAxMjo1NDo1MCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBVcGRhdGVkIFJFQURNRQoKMjAxMi0xMC0wOSAxMzoyNDoyMyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgTVBEIGZpbGVzIHdpdGggU2VnbWVudEJhc2UgZWxlbWVudHMgZW5jb2RlZCBpbnNpZGUgYSBTZWdtZW50TGlzdCBlbGVtZW50CgkgIGFsc28gcHJvcGVybHkgc3VwcG9ydCBNUEQgZmlsZXMgd2l0aG91dCBhbnkgSW5pdGlhbGl6YXRpb24gc2VnbWVudAoKMjAxMi0xMC0wOCAxNzo0MzoxNCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlci9kYXNoZGVtdXg6IGZpeGVkIGdldF93aWR0aCwgZ2V0X2hlaWdodCwgZ2V0X2F1ZGlvX3JhdGUsIGdldF9udW1fYXVkaW9fY2hhbm5lbHMgQVBJIGZ1bmN0aW9ucwoJICB0aGUgYWN0dWFsIHZhbHVlcyBub3cgY2FuIGJlIGV4dHJhY3RlZCBhbHNvIGZyb20gdGhlIEFkYXB0YXRpb25TZXQgZWxlbWVudDsKCSAgY2hlY2tpbmcgTlVMTCBzdHJ1Y3RzIGZvciBiZXR0ZXIgcm9idXN0bmVzczsKCjIwMTItMTAtMDggMTY6NTk6MjEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3Igc2luZ2xlLXNlZ21lbnQgc3RyZWFtcyB3aXRoIHRoZSBVUkwgZW5jb2RlZCBpbiB0aGUgYmFzZVVSTCBzeW50YXggZWxlbWVudAoKMjAxMi0xMC0wOCAxNToyNjo0OCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGRlZCBsYW5nIGF0dHJpYnV0ZSB0byBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZQoKMjAxMi0xMC0wOCAxMTo0Nzo0NSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBBY2Nlc3NpYmlsaXR5LCBSb2xlLCBSYXRpbmcsIFZpZXdwb2ludCBlbGVtZW50cyB0byBBZGFwdGF0aW9uU2V0IG5vZGUKCSAgdGhvc2UgYXJlIERlc2NyaXB0b3JUeXBlIGVsZW1lbnRzLCBzbyB0aGV5IGFyZSBqdXN0IHBhcnNlZCBhbmQgZHVtcGVkIGZvciBub3c7CgoyMDEyLTEwLTA4IDExOjMwOjQwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgbXVsdGlwbGUgUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGVzCgkgIG5vdyB3ZSBrZWVwIGEgbGlzdCBvZiBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZXMgZm9yIGVhY2ggUGVyaW9kIG5vZGUKCjIwMTItMTAtMDggMTE6MTY6MDkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGZpeGVkIHBhcnNpbmcgb2YgU2VnbWVudExpc3Qgc3ludGF4IGVsZW1lbnQsIGFuZCBlbGltaW5hdGVkIFJlcHJlc2VudGlvbiBub2RlIGxpc3QgZnJvbSBQZXJpb2Qgbm9kZQoJICBTZWdtZW50TGlzdCBub2RlcyBhcmUgYWxsb3dlZCBpbnRvIFBlcmlvZCwgQWRhcHRhdGlvblNldCBvciBSZXByZXNlbnRhdGlvbiBub2RlcwoJICBhbmQgdGhlcmUgaXMgYXQgbW9zdCAxIGVsZW1lbnQsIHNvIG5vIG5lZWQgdG8ga2VlcCBhIGxpc3Q7CgkgIFBlcmlvZCBub2RlcyBjYW5ub3QgaGF2ZSBhbnkgUmVwcmVzZW50aW9uIGVsZW1lbnRzLCBhcyBBZGFwdGF0aW9uU2V0IG5vZGVzIGFyZSBtYW5kYXRvcnk7CgkgIHRoaXMgYnJlYWtzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGxlZ2FjeSBEQVNIIHRlc3Qgc2VxdWVuY2VzLgoKMjAxMi0xMC0wOCAxMDoyOTowNCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeGVkIHJldHVybiB3aXRoIG5vIHZhbHVlCgkgIGdzdG1wZHBhcnNlci5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXBkcGFyc2VyX2dldF9saXN0X2FuZF9uYl9vZl9hdWRpb19sYW5ndWFnZeKAmToKCSAgZ3N0bXBkcGFyc2VyLmM6Mjg5MTogd2FybmluZzog4oCYcmV0dXJu4oCZIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZAoKMjAxMi0xMC0wOCAxMDoyNDoyOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyLmMvLmg6IGNoYW5nZWQgbGljZW5zZSBmcm9tIGR1YWwgTUlUL0xHUEwgMi4wIHRvIExHUEwgMi4xCgkgIHVuaWZvcm1lZCBsaWNlbmNpbnNpbmcgdG8gdGhlIG90aGVyIGxpYnJhcmllcyBpbiB0aGUgZGFzaGRlbXV4IHByb2plY3QKCjIwMTItMTAtMDIgMDI6Mjg6NTggKzAyMDAgIGh6YWthcmkgPGhhbWlkLnpha2FyaUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBPcHRpbWl6ZSB0aGUgdHdvIGZ1bmN0aW9ucyB0aGF0IHJldHVybiB0aGUgbnVtYmVyIGFuZCB0aGUgbGlzdCBvZiBsYW5ndWFnZXMgaW4gYSBzaW5nbGUgZnVuY3Rpb24KCjIwMTItMDktMjkgMDU6Mjc6NTEgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkIHRoZSBoZWFkZXJzIHRvIHRoZSBhZGFwdGF0aW9uc2V0cyBzZWdtZW50cyBpZiBhbnkgb25lIG9mIHRoZXNlIGNoYW5nZWQgcmVwcmVzZW50YXRpb24KCjIwMTItMDktMjkgMDM6MTM6MjkgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgU3VwcG9ydCBNdWx0aSBsYW5ndWFnZXMgKG5lZWQgYSBkZWNvZGViaW4yIHBhdGNoKQoKMjAxMi0wOS0yOSAwMjo0MToxMyArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmUgdGhlICJUT0RPIiBjb21tZW50CgoyMDEyLTA5LTI4IDEyOjU1OjI3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9DT1BZSU5HOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlbmFtZWQgTElDRU5TRSBpbnRvIENPUFlJTkcKCjIwMTItMDktMjggMTE6NDY6MDAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkgIFVwZGF0ZWQgYXV0aG9ycwoKMjAxMy0wNS0wOCAxMToxMzozMiAtMDMwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSogZXh0L2Rhc2gvTElDRU5TRToKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL1JFQURNRToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBJbml0aWFsIGltcG9ydCBvZiBnc3RkYXNoZGVtdXggc291cmNlcwoKMjAxMi0xMC0yNiAxODowMDowMiArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgRFZCIEFQSSB2NSBha2EgUzJBUEkgaW5zdGVhZCBvZiBvYnNvbGV0ZSB2MyBBUEkKCSAgUGF0Y2ggaXMgYmFzZWQgb24gd29yayBvZiBUb255IEhvdWdodG9uIDxoQHJlYWxoLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NDc5CgoyMDEzLTA1LTA4IDE1OjQyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHBhc3Mgd2lkdGgsIGhlaWdodCwgY2hhbm5lbHMgYW5kIHJhdGUgYXMgaW50ZWdlcgoJICBnX2FzY2lpX3N0cnRvdWxsKCkgcmV0dXJucyBhIGxvbmcgbG9uZyBpbnRlZ2VyLCBidXQgd2UgbmVlZCB0bwoJICBwYXNzIGEgbm9ybWFsIGludCB0byBnc3Rfc3RydWN0dXJlX3NldCgpIGZvciBmaWVsZHMgb2YgR19UWVBFX0lOVCwKCSAgc28gY2FzdCBhcHByb3ByaWF0ZWx5LgoKMjAxMy0wNS0wOCAxMjo0NToyMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5Lmg6CgkgIHZkcGF1OiBBZGQgVmRwVmlkZW9TdXJmYWNlIGNhcHMgZmVhdHVyZQoKMjAxMy0wNS0wOCAxMDo1NToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBmaXggV01WIGNhcHMKCSAgTWFrZXMgdGhpcyBzaG93IGF0IGxlYXN0IGEgcGljdHVyZToKCSAgaHR0cDovL3BsYXlyZWFkeS5kaXJlY3R0YXBzLm5ldC9zbW9vdGhzdHJlYW1pbmcvVFRMU1M3MjBWQzEvVG9fVGhlX0xpbWl0XzcyMC5pc20vTWFuaWZlc3QKCjIwMTMtMDQtMjMgMTI6MDg6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeGluZyBjb21waWxlciB3YXJuaW5ncyBhYm91dCBwcmludCBmb3JtYXRzCgoyMDEzLTA0LTE2IDE5OjM1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTEyIDE1OjU5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZW1vdmUgYWxyZWFkeSBmaXhlZCBUT0RPIGNvbW1lbnQKCjIwMTMtMDQtMTIgMTU6NTg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHJlcGxhY2UgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplIHdpdGggc2ltcGxlciBmdW5jdGlvbgoJICBUaGUgZGVzZXJpYWxpemF0aW9uIHdhcyBvbmx5IHVzZWQgdG8gY29udmVydCBoZXggc3RyaW5ncyBpbnRvCgkgIEdzdEJ1ZmZlcnMuIFJlcGxhY2UgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplIHdpdGggYSBzaW1wbGVyLCBkaXJlY3QKCSAgZnVuY3Rpb24uCgoyMDEzLTA0LTEyIDE1OjU2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggbmV3c2VnbWVudCBldmVudCBsZWFrCgoyMDEzLTA0LTEyIDE1OjU1OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZXBsYWNlIHVudXNlZCBwYXJhbWV0ZXIKCSAgVGhlIGJ1ZmZlciBwYXJhbWV0ZXIgd2Fzbid0IGJlaW5nIHVzZWQsIGl0IHdhcyBvbmx5IHRvIHNpZ25hbCBpZgoJICBhIGJ1ZmZlciB3YXMgZG93bmxvYWRlZCBhbmQgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudCBpbiB0aGUKCSAgbWFuaWZlc3QuCgkgIFJlcGxhY2UgdGhlIGJ1ZmZlciB3aXRoIGEgYm9vbGVhbiB0aGF0IGhhcyB0aGUgc2FtZSBlZmZlY3QgYW5kIGlzCgkgIHNhZmVyCgoyMDEzLTAzLTExIDEwOjA5OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3M6IGF2b2lkIEdWYWx1ZSBsZWFrCgoyMDEzLTAyLTIyIDE3OjAwOjMwIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkgIG1zc2RlbXV4OiBmaXggYSBzbWFsbCBtZW1vcnkgbGVhawoKMjAxMy0wMi0xOSAxMzoxNzo1MyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGF2b2lkIHN0cmVhbWluZyB0byBmYWlsIHdoZW4gZG93bmxvYWQgaXMgY2FuY2VsbGVkCgkgIFdoZW4gZG93bmxvYWQgd2FzIGZhaWxpbmcgcmVwZWF0ZWRseSwgaXQgd2FzIGNhdXNpbmcgc3RyZWFtaW5nIHRvIGZhaWwgZXZlbiB0aG91Z2ggaXQgd2FzIGNhbmNlbGxlZCBvbiBwdXJwb3NlIChzdG9wcGluZyB0YXNrcykuCgoyMDEzLTAyLTA4IDAyOjAxOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZW1vdmluZyB1bnVzZWQgZnVuY3Rpb25zCgoyMDEzLTAyLTA4IDAxOjUxOjMwIC0wMjAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHN3aXRjaCBiaXRyYXRlcyB3aXRob3V0IHN3aXRjaGluZyBwYWRzCgoyMDEzLTAyLTA3IDE2OjI2OjQ2IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQ2hlY2sgaWYgcGFkcyBhcmUgdmFsaWQgYmVmb3JlIHJlbW92aW5nLgoKMjAxMy0wMi0wNyAwMzoxMDo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYSBtYXhpbXVtIGVycm9yIGNvdW50IGZvciBkb3dubG9hZHMKCSAgbXNzZGVtdXggd2lsbCB0b2xlcmF0ZSBhIGZldyBkb3dubG9hZCBlcnJvcnMgYmVmb3JlIGVtaXR0aW5nIGFuCgkgIGVycm9yIG1lc3NhZ2UgdG8gdGhlIGJ1cwoKMjAxMy0wMi0wNiAwODo0ODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHVzZSBzdHJlYW1zIGJpdHJhdGUgaW5kaXZpZHVhbGx5CgkgIGNvbm5lY3Rpb24gc2V0dXAgdGltZXMgc2VlbSB0byBtYXR0ZXIgd2hlbiBtZWFzdXJpbmcgdGhlIGRvd25sb2FkCgkgIHJhdGUgb2YgZGlmZmVyZW50IHN0cmVhbXMuIFN0cmVhbXMgd2l0aCBsb25nZXIgZnJhZ21lbnRzIGhhdmUgYQoJICAqcmVsYXRpdmVseSogbG93ZXIgY29ubmVjdGlvbiBzZXR1cCB0aW1lIGFuZCBhY2hpZXZlIGhpZ2hlciBiaXRyYXRlcy4KCSAgVXNpbmcgdGhlIGF2ZXJhZ2Ugc2VlbXMgdW5mYWlyIGhlcmUsIHNvIHVzZSBlYWNoIHN0cmVhbSdzIG1lYXN1cmVkIGJpdHJhdGUKCSAgdG8gc2VsZWN0IGl0cyBiZXN0IHF1YWxpdHkgb3B0aW9uLgoKMjAxMy0wMi0wNSAxNzo0ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB1c2UgZG93bmxvYWRiaXRyYXRlIHV0aWxpdHkgZm9yIG1lYXN1cmluZyBiaXRyYXRlCgkgIGRvd25sb2FkYml0cmF0ZSBrZWVwcyBhIHNob3J0IGhpc3Rvcnkgb2YgYml0cmF0ZXMgYW5kIGhlbHBzCgkgIHRyYWNraW5nIHRoZSBjdXJyZW50IGF2ZXJhZ2UgZG93bmxvYWQgYml0cmF0ZSBmb3IgbXNzZGVtdXgKCjIwMTMtMDItMDUgMDQ6MDE6MDQgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBQcm9wZXJseSBjb21wdXRlIG5ldyBiaXRyYXRlIGFuZCB1c2UgYml0cmF0ZV9saW1pdC4KCjIwMTMtMDItMDUgMDM6Mjc6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBdm9pZCBhIHBvc3NpYmxlIGRpdmlzaW9uIGJ5IHplcm8KCjIwMTMtMDItMDUgMDM6Mjc6MjIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBZGQgbWlzc2luZyBvYmplY3QgcGFyYW0gdG8gR1NUX0RFQlVHfElORk9fT0JKRUNUIGNhbGxzCgoyMDEzLTAyLTA1IDAwOjI4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGFkZCBiaXRyYXRlLWxpbWl0IHByb3BlcnR5CgkgIEl0IGFsbG93cyB0aGUgcGx1Z2luIHRvIHVzZSBpdHMgb3duIGRvd25sb2FkaW5nIGJpdHJhdGUgbWVhc3VyZXMKCSAgYXMgYSBmZWVkYmFjayB0byBzZWxlY3QgdGhlIGJlc3Qgc3RyZWFtcyBiaXRyYXRlIGZvciB0aGUgY3VycmVudAoJICBuZXR3b3JrIHNjZW5hcmlvCgoyMDEzLTAyLTA0IDIxOjU4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB1c2UgdGhlIHNoYXJlZCB1cmlkb3dubG9hZGVyIGxpYiBpbnN0ZWFkIG9mIGFuIGludGVybmFsIGNvcHkKCjIwMTMtMDItMDQgMDI6MjA6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEbyBub3QgYmxvY2sgb24gcmVzZXQuCgkgIFdlIG5lZWQgdG8gY2FuY2VsIHRoZSBkb3dubG9hZGVyIGZvciBlYWNoIHN0cmVhbSBiZWZvcmUgam9pbmluZyB0aGUgbWFpbiBkb3dubG9hZCB0YXNrLCBvdGhlcndpc2UKCSAgdGhlIGRvd25sb2FkIHRhc2sgd2lsbCBibG9jayB1bnRpbCBhbGwgdGhlIHN0cmVhbSB0YXNrcyBmaW5pc2guCgoyMDEzLTAyLTAxIDE3OjQ0OjA0IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGhhbmRsZSBGTFVTSCBldmVudHMgYnkgcmVzZXR0aW5nIHRoZSBkZW11eGVyIHN0YXRlCgoyMDEzLTAyLTAxIDE3OjQzOjQ2IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBjb25kaXRpb25zIHRvIHByZXZlbnQgc29tZSBjcmFzaGVzCgoyMDEzLTAyLTAxIDE3OjI5OjU4IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHVzZSBzdGFuZGFyZCBnbGliIG1ldGhvZHMKCjIwMTMtMDItMDEgMTc6Mjc6MTkgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc29tZSBtZW1vcnkgbGVha3MgYW5kIHVzZSByaWdodCBmcmVlIGZ1bmN0aW9uCgoyMDEzLTAyLTAxIDE3OjEyOjQxIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvbid0IHN0b3AgYSB0YXNrIGZyb20gaW5zaWRlIHRoZSBsb29wCgkgIE9ubHkgcGF1c2UgdGhlIHRhc2sKCjIwMTMtMDEtMzEgMTY6MTQ6MzcgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbG9nIG1hbmlmZXN0IGNvbnRlbnQgZm9yIGRlYnVnZ2luZwoKMjAxMy0wMS0zMCAwMDoyMjo1MCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBtYWtlIGNvZGVjIHByaXZhdGUgZGF0YSBmcm9tIG1hbmlmZXN0IGF0dHJpYnV0ZXMgd2l0aCBBQUMtTEMKCSAgV2hlbiB0aGUgY29kZWMgaXMgQUFDLUxDLCBzb21lIHNlcnZlciBpbXBsZW1lbnRhdGlvbiAoZS5nLiBNaWNyb3NvZnQgSUlTKSBkb2Vzbid0IGFkZCB0aGUgQ29kZWNQcml2YXRlRGF0YSBhdHRyaWJ1dGUuIFRoZSBlbGVtZW50IG5lZWRzIHRvIHJlLWNyZWF0ZSB0aGUgY29kZWMgZGF0YSBmcm9tIHRoZSBRdWFsaXR5IExldmVsIGF0dHJpYnV0ZXMgKGNoYW5uZWxzIGFuZCBzYW1wbGluZyByYXRlKS4KCjIwMTMtMDEtMjkgMjI6NTc6MzYgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogb25seSB0cnkgdG8gcmVsb2FkIHRoZSBtYW5pZmVzdCBmb3IgbGl2ZSBzdHJlYW1zCgkgIFRoZXJlIGlzIG5vIHdheSB0byBrbm93IGlmIGEgbGl2ZSBzdHJlYW0gaXMgcmVhbGx5IGZpbmlzaGVkLCBzbyB0cnkgdG8gcmVsb2FkIHRoZSBtYW5pZmVzdCBhbmQgY2hlY2sgaWYgdGhlcmUgYXJlIG1vcmUgZnJhZ21lbnRzIHRvIGRvd25sb2FkLiBFbHNlIGp1c3QgbGV0IGtub3cgaXQncyB0aGUgRU9TLgoKMjAxMy0wMS0yNSAyMToyNDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBZGRzIGEgbGl0dGxlIGJpdCBvZiBkb2NzIGV4cGxhbmluZyB0aGUgaW50ZXJuYWxzIG9mIG1zc2RlbXV4CgoyMDEzLTAxLTIyIDE3OjMzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgbWF4LXF1ZXVlLXNpemUtYnVmZmVycyBwcm9wZXJ0eQoJICBJbmRpY2F0ZXMgaG93IG11Y2ggYnVmZmVyaW5nIHNob3VsZCBiZSBkb25lIGludGVybmFsbHkgaW4KCSAgbXNzZGVtdXgKCjIwMTMtMDEtMjEgMTg6MDU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHN0b3AgdGFza3MgZmFzdGVyCgkgIElzc3VlIGEgY2FuY2VsIHRvIHRoZSBkb3dubG9hZGVycyBzbyB0aGV5IHN0b3AgZWFybGllcgoKMjAxMy0wMS0xNyAxNjoyMDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IGxpdmUgc3RyZWFtcyBoYW5kbGluZwoJICBMaXZlIHN0cmVhbXMgZm9yY2UgdGhlIGRlbXV4ZXIgdG8ga2VlcCByZWxvYWRpbmcgdGhlIE1hbmlmZXN0IGZyb20KCSAgdGltZSB0byB0aW1lLCBhcyB0aGUgbmV3IGZyYWdtZW50cyBhcmUgYmVpbmcgYWRkZWQgYXMgdGhleSBhcmUgcmVjb3JkZWQuCgkgIFRoZSBkZW11eGVyIHNob3VsZCBhbHNvIHRyeSB0byBrZWVwIHVwIGFuZCBkZXRlY3Qgd2hlbiBpdCBoYWQgdG8gc2tpcAoJICBmcmFnbWVudHMsIG1hcmtpbmcgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHRoYXQgaGFwcGVucy4KCSAgQ3VyaW91c2x5LCB0aGUgc3BlYyBkb2Vzbid0IHNlZW0gdG8gbWVudGlvbiB3aGVuL2hvdyBhIGxpdmUgc3RyZWFtIGlzIHN1cHBvc2VkCgkgIHRvIGVuZCwgc28ga2VlcCB0cnlpbmcgZG93bmxvYWRzIHVudGlsIHRoZSBkZW11eGVyIGVycm9ycyBvdXQuCgoyMDEzLTAxLTE3IDE2OjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgbGVhayBmcmFnbWVudHMKCjIwMTMtMDEtMTcgMTM6NDg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBpc3N1ZSBvbiBmcmFnbWVudCB0aW1lc3RhbXBpbmcgcGFyc2luZwoJICBVc2UgZ3VpbnQ2NCBhcyB0aGUgZnJhZ21lbnRzIGNhbiBzdGFydCBhdCB2ZXJ5IGhpZ2ggbnVtYmVycywKCSAgc3BlY2lhbGx5IG9uIGxpdmUgc3RyZWFtcwoKMjAxMy0wMS0xNiAxNToyODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZXJyb3Igb3V0IHdoZW4gdXBzdHJlYW0gZG9lc24ndCBpbXBsZW1lbnQgVVJJIHF1ZXJ5CgkgIEVycm9yIG91dCB3aGVuIHVwc3RyZWFtIGRvZXNuJ3QgYW5zd2VyIHRvIFVSSSBxdWVyeSBhbmQgbXNzZGVtdXgKCSAgZG9lc24ndCBrbm93IHRoZSBVUkkgdG8gZmV0Y2ggdGhlIGZyYWdtZW50cyBmcm9tCgoyMDEzLTAxLTE1IDE3OjMxOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBwdXNoIG5ld3NlZ21lbnRzIHdpdGggc2FtZSBzdGFydCB0aW1lIG9uIGJpdHJhdGUgc3dpdGNoZXMKCSAgVGhpcyBrZWVwcyBzaW5rcyB3b3JraW5nIGluIHN5bmMgYWZ0ZXIgYSBiaXRyYXRlIHN3aXRjaAoKMjAxMy0wMS0xNCAxMzoyMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZXdyaXRpbmcgcGFkIHRhc2tzIHNvIHRoYXQgYnVmZmVycyBhcmUgcHVzaGVkIGJ5IHRzIG9yZGVyCgkgIFVzZSBwYWQgdGFza3MgdG8gZG93bmxvYWQgZGF0YSBhbmQgYW4gZXh0cmEgdGFzayB0aGF0IGdldHMgdGhlIGVhcmxpZXIKCSAgYnVmZmVyICh3aXRoIHRoZSBzbWFsbGVzdCB0aW1lc3RhbXApIGFuZCBwdXNoZXMgb24gdGhlIGNvcnJlc3BvbmRpbmcKCSAgcGFkLgoJICBUaGlzIHByZXZlbnRzIHRoYXQgdGhlIGF1ZGlvIHN0cmVhbSBydXNoZXMgYWhlYWQgb24gYnVmZmVycyBhcyBpdHMKCSAgZnJhZ21lbnRzIHNob3VsZCBiZSBzbWFsbGVyCgoyMDEzLTAxLTExIDE1OjAxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzb21lIGZpeGVzIHRvIGJpdHJhdGUgc3dpdGNoaW5nCgkgIFJlbW92ZXMgYSBwb3NzaWJsZSBkZWFkbG9jayBmcm9tIGJpdHJhdGUgc3dpdGNoaW5nIHdoZW4gdGhlIHBhZAoJICB0aGF0IHJlcXVlc3RlZCB0aGUgc3dpdGNoIGJsb2NrcyBvbiBpdHMgcGFkLXB1c2gKCjIwMTMtMDEtMTAgMTY6MjY6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlZmFjdG9yaW5nIGZyYWdtZW50IGRvd25sb2FkIHRvIGl0cyBvd24gZnVuY3Rpb24KCSAgTWFrZXMgY29kZSBjbGVhcmVyIGFuZCBoZWxwcyBjaGFuZ2luZyB0aGUgZG93bmxvYWQgcGFydCBvZiB0aGUKCSAgY29kZSB0byBpdHMgb3duIHRocmVhZAoKMjAxMy0wMS0xMCAxNToxNjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBpbXBsZW1lbnQgYml0cmF0ZSBzd2l0Y2hpbmcKCSAgV2hlbiBjb25uZWN0aW9uLXNwZWVkIGNoYW5nZXMsIHNpZ25hbCB0aGF0IHdlIG1pZ2h0IG5lZWQgYSBiaXRyYXRlCgkgIHN3aXRjaC4gRHVyaW5nIHRoZSBzd2l0Y2gsIGEgbmV3IHBhZCBncm91cCBpcyBhZGRlZCBhbmQgdGhlIG9sZCBvbmUKCSAgaXMgZHJhaW5lZCBhbmQgcmVtb3ZlZC4KCSAgTmV3IHBhZHMgYWxzbyBuZWVkIHRvIHB1c2ggbmV3c2VnbWVudHMgYmVmb3JlIHN0YXJ0aW5nIHRvIHN0cmVhbQoKMjAxMy0wMS0wOCAxODowMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgVGhpcyBzcGVlZCBsaW1pdHMgdGhlIG1heGltdW0gYml0cmF0ZSBvZiBzdHJlYW1zLiBDdXJyZW50bHkgaXQKCSAgaXMgb25seSByZWFkIHdoZW4gc3RhcnRpbmcgdGhlIHBpcGVsaW5lLCBidXQgaXQgc2hvdWxkIGJlIHVzZWQKCSAgZm9yIHN3aXRjaGluZyBiaXRyYXRlcyBkdXJpbmcgcGxheWJhY2sgdG8gYWRhcHQgdG8gbmV0d29yawoJICBjaGFuZ2VzLgoKMjAxMy0wMS0wOCAxNzo1NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBhbiAnYWN0aXZlJyBmbGFnIHRvIG1hbmlmZXN0IHN0cmVhbQoJICBtc3NkZW11eCBzaG91bGQgc2V0IHRoZSBzdHJlYW1zIGl0IGhhcyBleHBvc2VkIGFzIGFjdGl2ZSBzbyB0aGF0CgkgIHRoZSBtYW5pZmVzdCB3b24ndCB1c2UgdGhlIG5vbi1hY3RpdmUgc3RyZWFtcyB0byBjb21wdXRlIHRvdGFsIGJpdHJhdGVzCgkgIG9yIHByb3ZpZGluZyBmcmFnbWVudHMKCjIwMTMtMDEtMDggMTc6NTQ6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNpZ25hbCBuby1tb3JlLXBhZHMgd2hlbiBmaW5pc2hlZCBleHBvc2luZyBwYWRzCgkgIFRoaXMgbWFrZXMgZGVjb2RlYmluL3BsYXliaW4gbWVjaGFuaXNtIGtub3cgaXQgY2FuIHN0YXJ0IHBsYXlpbmcKCSAgd2hlbiBidWZmZXJpbmcgaXMgZmluaXNoZWQKCjIwMTMtMDEtMDggMTE6MDg6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IEtlZXAgdGhlIHN0cmVhbSBxdWFsaXRpZXMgbGlzdCBzb3J0ZWQgYnkgYml0cmF0ZQoJICBUaGlzIHdpbGwgaGVscCBtYWtpbmcgYWRhcHRpdmUgc3RyZWFtaW5nIGNob3NlIHRoZSBiZXN0IHJhdGUKCSAgZm9yIGEgcGFydGljdWxhciBjb25uZWN0aW9uIHNwZWVkCgoyMDEzLTAxLTA4IDEwOjE2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGNvbnNpZGVyIGZvdXJjYyBBVkMxIGFzIEgyNjQKCSAgSDI2NCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgYm90aCBmb3VyY2NzIEgyNjQgYW5kIEFWQzEsIHVzZSBib3RoLgoKMjAxMy0wMS0wNCAxNzowMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogYWRkIHN1cHBvcnQgZm9yIFZDLTEgYW5kIFdtYVBybyBmb3JtYXRzIHBhcnNpbmcKCSAgVkMtMSBzaG91bGQgbWFwIHRvIFdNVjMgYW5kIFdtYVBybyB0byBXTUEyCgoyMDEzLTAxLTA0IDE3OjAwOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdHJ5IHRvIGV4cG9zZSB1bmtub3duIHN0cmVhbXMKCSAgV2hlbiB0aGUgc3RyZWFtIGNhbid0IGhhdmUgaXRzIGNhcHMgZGV0ZWN0ZWQsIGJldHRlciBub3QgdG8gZXhwb3NlIGl0LgoJICBJZiBubyBzdHJlYW1zIGFyZSBrbm93biwgc2lnbmFsIGFuIGVycm9yIGFib3V0IG5vIHBsYXlhYmxlIHN0cmVhbXMgdG8KCSAgdGhlIGFwcGxpY2F0aW9uCgoyMDEzLTAxLTA0IDE1OjQ5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBkbyBub3Qgc2V0IGNvZGVjX2RhdGEgd2hlbiBpdCBpcyBlbXB0eQoJICBTb21lIG1hbmlmZXN0cyBjb250YWluIGVtcHR5IGNvZGVjIGRhdGFzLCBiZXR0ZXIgbm90IHNldCB0aGVtCgoyMDEzLTAxLTA0IDE1OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogc2V0IHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gdG8gZnJhZ21lbnQgYnVmZmVycwoJICBXZSBjYW4gZ2V0IHRob3NlIGZyb20gdGhlIG1hbmlmZXN0IGFuZCBoZWxwcyBkb3duc3RyZWFtIHRvIGtub3cKCSAgdGhlIGZyYWdtZW50IHN0YXJ0IHRpbWUgYWZ0ZXIgYSBzZWVraW5nIG9wZXJhdGlvbgoKMjAxMi0xMi0yOCAwMDo0OToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogZml4IHR5cG8KCSAgRml4IHR5cG8gdGhhdCB3YXMgbWFraW5nIHRoZSBhZHZhbmNlIGZyYWdtZW50IGZ1bmN0aW9uIHJldHVybiBhIHdyb25nCgkgIGZsb3cgcmV0dXJuIGluIGNhc2UgaXQgd2FzIGFscmVhZHkgRU9TCgoyMDEyLTEyLTI4IDAwOjQ4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIHNlZWsgZXZlbnQgaGFuZGxpbmcKCSAgQWRkcyBiYXNpYyBoYW5kbGluZyBmb3Igc2VlayBpbiB0aW1lIGV2ZW50cy4gTmVlZHMgdG8gY29vcGVyYXRlCgkgIHdpdGggdGhlIGRvd25zdHJlYW0gcXRkZW11eCBzbyB0aGF0IGl0IGZvcndhcmRzIHRoZSBzZWVrcyBhbmQKCSAgdGhlIGNvcnJlc3BvbmRpbmcgbmV3c2VnbWVudHMKCjIwMTItMTItMjYgMTY6MTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBoYW5kbGUgc3JjIHBhZCBxdWVyaWVzIGZpciBkdXJhdGlvbiBhbmQgbGF0ZW5jeQoJICBBZGQgYSBzcmMgcGFkIHF1ZXJ5IGhhbmRsZXIgdG8gZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBtYW5pZmVzdAoJICBhbmQgcmVwb3J0IGl0IHVwc3RyZWFtLgoJICBBbHNvIGFkZHMgYSBzaW1wbGUgaGFuZGxlciBmb3IgbGF0ZW5jeSBxdWVyaWVzCgoyMDEyLTEyLTIxIDE2OjQyOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgc29tZSBtb3JlIGVycm9yIGhhbmRsaW5nCgkgIFBvc3QgZXJyb3IgaW4gc29tZSBtb3JlIHNjZW5hcmlvczoKCSAgKiB3aGVuIHRoZSBtYW5pZmVzdCBoYXMgbm8gc3RyZWFtcwoJICAqIHdoZW4gZ2V0dGluZyB0aGUgZnJhZ21lbnQgdXJsIGZhaWxzCgoyMDEyLTEyLTIxIDE1OjM3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBlbnN1cmUgdGhlIGRlYnVnIGNhdGVnb3J5IGlzIHByb3Blcmx5IGluaXRpYWxpemVkCgkgIFRoZSB1c2VyIG9mIHRoZSBsaWJyYXJ5IG1pZ2h0IG5vdCBuZWVkIHRvIGNyZWF0ZSBhIE5hbFBhcnNlciwgc28KCSAgdGhlIGRlYnVnIGNhdGVnb3J5IG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIGZyb20gb3RoZXIgZnVuY3Rpb25zCgkgIGFzIHdlbGwgaWYgcmVxdWlyZWQuCgoyMDEyLTEyLTIwIDE1OjMwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIHRpbWVzY2FsZSB0byB0aGUgY2FwcwoJICBUaGlzIGlzIGltcG9ydGFudCBmb3IgZG93bnN0cmVhbSB0byBwcm9wZXJseSB0aW1lc3RhbXAgdGhlIHNhbXBsZXMKCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMTAwMDAwMDAsIGJ1dCB0aGlzIGNhbiBiZSBzZXQgaW4gdGhlIHN0cmVhbQoJICBvciBhdCB0aGUgdG9wLWxldmVsIG1hbmlmZXN0IGVudHJ5CgoyMDEyLTEyLTIwIDE0OjI3OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBwYXJzZSB0aGUgZnBzIGZyb20gaDI2NCBjb2RlYyBkYXRhIGlmIHBvc3NpYmxlCgkgIFVzZSBoMjY0IGNvZGVjIHBhcnNpbmcgbGliIHRvIGV4dHJhY3QgdGhlIGZwcyBmcm9tIHRoZSBtYW5pZmVzdCdzCgkgIGNvZGVjIGRhdGEgYXMgaXQgZG9lc24ndCBzZWVtIHRvIHByb3ZpZGUgaXQgYW55d2hlcmUgZWxzZQoKMjAxMi0xMi0yMCAwMTowOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogY29ycmVjdGx5IGFkZCBoMjY0IGNvZGVjIGRhdGEgdG8gY2FwcwoJICBOZWVkIHRvIGNvbnN0cnVjdCBhbiBhdmNjIGF0b20gZnJvbSB0aGUgY29kZWNkYXRhIHJlYWQgZnJvbSBNU1MKCSAgbWFuaWZlc3RzIHRvIG1ha2UgaDI2NCBkZWNvZGVycy9wYXJzZXJzIGFjY2VwdCBpdAoKMjAxMi0xMi0yMCAwMTowNzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHRoZSBjb3JyZWN0IGNhcHMgdG8gdGhlIG91dGdvaW5nIHN0cmVhbQoJICBtc3NkZW11eCBvdXRwdXRzIGEgcXVpY2t0aW1lIHZhcmlhbnQsIG5hbWVkIG1zcy1mcmFnbWVudAoKMjAxMi0xMS0yNSAwMTo1NzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2V0IGNhcHMgdG8gYnVmZmVycyBiZWZvcmUgcHVzaGluZwoJICBBbHNvIHVwZGF0ZSB0byB0aGUgbGF0ZXN0IGdzdGZyYWdtZW50IEFQSSB0aGF0IHByb3ZpZGVzCgkgIHRoZSBmcmFnbWVudCBhcyBhIHdob2xlIGJ1ZmZlci4KCjIwMTItMTEtMjIgMTM6MDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgc3RhdGUgY2hhbmdpbmcKCSAgS2VlcCBhIHJlZiBvbiBwYWQgdG8gcHJldmVudCBpdCBiZWluZyB1bnJlZmZlZCB3aGlsZSB0aGUgbXNzZGVtdXgKCSAgc3RyZWFtcyBhcmUgc3RpbGwgdXNpbmcgaXQuIEFsc28gcmVzZXQgdGhlIGVsZW1lbnQgd2hlbiBnb2luZyB0bwoJICByZWFkeSBpbnN0ZWFkIG9mIHdoZW4gZ29pbmcgdG8gbnVsbC4KCjIwMTItMTEtMjIgMTI6Mjg6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZHMgbWluaW51bSBlcnJvciBoYW5kbGluZwoJICBUaGlzIHNob3VsZCBjYXJlIGZvciBiYXNpYyBzY2VuYXJpb3Mgb2YgZXJyb3JzIGFuZCBFT1MgdG8gYWxsb3cKCSAgdGhlIHBpcGVsaW5lIHRvIHN0b3AgY29ycmVjdGx5CgoyMDEyLTExLTIyIDEyOjI4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBtc3NtYW5pZmVzdDogcHJldmVudCBhY2Nlc3NpbmcgbnVsbCBzdHJlYW0gZnJhZ21lbnQKCSAgTW92ZSB0aGUgYWNjZXNzIHRvIHRoZSBzdHJlYW0gZnJhZ21lbnQgZGF0YSBhZnRlciB0aGUgY2hlY2sKCSAgaWYgdGhlIGZyYWdtZW50IGV4aXN0cyB0byBwcmV2ZW50IGEgc2VnZmF1bHQKCjIwMTItMTEtMTkgMTc6NTM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgc21vb3Roc3RyZWFtaW5nOiByZWZhY3RvciBzdHJ1Y3R1cmUgbmFtZXMgYW5kIGltcGxlbWVudCB1cmwgZmV0Y2hpbmcKCSAgVXNlIHNob3J0ZXIgbmFtZXMgZm9yIHRoZSBNU1MgbWFuaWZlc3QgaGVscGVyIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zLgoJICBBbHNvIGNvbnRpbnVlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0cmVhbSBmZXRjaGluZyBhbmQgcHVzaGluZyBsb29wLgoJICBOb3cgaXQgdXNlcyB0aGUgYmFzZSB1cmwgY29ycmVjdGx5IGFuZCBhbHJlYWR5IGZldGNoZXMgYW5kIHB1c2hlcyB0aGUgZnJhZ21lbnRzCgkgIGRvd25zdHJlYW0KCjIwMTItMTEtMTYgMTc6MzA6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcGFkIGxvb3AKCSAgVGhlIGxvb3Agd2lsbCBmZXRjaCBhIG5ldyBmcmFnbWVudCBhbmQgcHVzaCBvbiBpdHMgc3JjcGFkLiBFYWNoCgkgIHN0cmVhbSBoYXMgaXRzIG93biBsb29wCgoyMDEyLTExLTE2IDE3OjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IG1vcmUgbWFuaWZlc3QgcGFyc2luZyBhbmQgaGVscGVyIGZ1bmN0aW9ucwoJICBOb3cgdGhlIG1zcyBtYW5pZmVzdCBpcyBhYmxlIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyB1cmxzCgoyMDEyLTExLTE0IDE3OjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBwYWQgZXhwb3NpbmcgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgoJICBEb2VzIHNvbWUgYmFzaWMgcGFyc2luZyBvZiB0aGUgc3RyZWFtIGNhcHMgYW5kIGFkZHMgYSBwYWQgZm9yCgkgIGVhY2ggc3RyZWFtIGRldGVjdGVkIGluIHRoZSBtYW5pZmVzdAoKMjAxMi0xMS0wOSAxNjo0Nzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBtYW5pZmVzdCBwYXJzaW5nCgkgIENvbnRpbnVlZCBpbXBsZW1lbnRpbmc6CgkgIDEpIHBhcnNlIHRoZSBtYW5pZmVzdCB3aXRoIGxpYnhtbDIKCSAgMikgZGV0ZWN0IHN0cmVhbSB0eXBlcwoKMjAxMi0xMS0wOCAxNjowNjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBzdHVicyBmb3IgbXNzZGVtdXgKCSAgSnVzdCB0aGUgc3R1YnMgZm9yIG1zc2RlbXV4IGVsZW1lbnQuCgkgIEFsc28gYWRkIHNvbWUgdXNlZnVsIGNvZGUgZnJvbSBobHNkZW11eCB0aGF0IHdlIGludGVuZCB0byByZXVzZQoKMjAxMi0xMS0wOCAxNTo0MjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGJ1aWxkIGRpcmVjdG9yeSBzdHVicyBmb3IgbmV3IHBsdWdpbgoJICBJbml0aWFsIGJ1aWxkIHN0cnVjdHVyZSBmb3IgTVMnIFNtb290aCBTdHJlYW1pbmcgcGx1Z2luCgkgIENvbmZsaWN0czoKCSAgZXh0L01ha2VmaWxlLmFtCgoyMDEzLTAyLTE5IDEzOjAxOjM3IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogdW5sb2NrIG11dGV4IHdoZW4gc3dpdGNoaW5nIHVyaXNyYyBzdGF0ZSB0byBOVUxMIHRvIGF2b2lkIGRlYWRsb2NrCgkgIFdoZW4gY2hhaW4gbWV0aG9kIHdhcyBjYWxsZWQgYWZ0ZXIgZ3N0X3VyaV9kb3dubG9hZGVyX3N0b3AgYW5kIGJlZm9yZSBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIE5VTEwsIGV4ZWN1dGlvbiB3YXMgYmxvY2tpbmcgb24gZ19tdXRleF9sb2NrLgoJICBDb25mbGljdHM6CgkgIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYwoKMjAxMy0wMi0wNyAwMDoyODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBwcm9wZXJseSB1bnJlZiB0aGUgdXJpc3JjIGJldHdlZW4gZG93bmxvYWRzCgkgIFRoaXMgcHJldmVudHMgbGVha2luZyB0aGUgZWxlbWVudC4gQWxzbyBzZXRzIHRoZSBidXMgdG8gZmx1c2hpbmcKCSAgdG8gY29tcGxldGVseSByZXNldCB0aGUgZG93bmxvYWRlciBzdGF0ZQoKMjAxMy0wNC0xNiAxNzoyMzowMiAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBtYWtlIGNhbmNlbGxlZCBzdGF0ZSAncGVybWFuZW50JyB1bnRpbCBhIHJlc2V0CgkgIFdoZW4gZG93bmxvYWRpbmcgYW5kIGNhbmNlbGxpbmcgcXVpY2tseSB0aGUgdXJpZG93bmxvYWRlciBvYmplY3QgYW5kIHRoZQoJICBlbGVtZW50IHVzaW5nIGl0IGNvdWxkIG1pc3MgdGhlIGNhbmNlbGxlZCB3aW5kb3cgYW5kIHRoZSB1cmlkb3dubG9hZGVyCgkgIHdvdWxkIGZldGNoIHRoZSB3cm9uZyBVUkkgYW5kIGJsb2NrIG9uIHN1YnNlcXVlbnQgZmV0Y2hlcy4KCSAgVGhpcyB3YXMgYWxzbyBwcm9ibGVtYXRpYyB3aGVuIHN0b3BwaW5nIGVsZW1lbnRzLCB3aGlsZSBvbmUgdGFzayB3b3VsZAoJICBjYWxsIHRoZSBjYW5jZWwsIGFub3RoZXIgZWxlbWVudCB0aHJlYWQgY291bGQgaXNzdWUgYSBuZXcgZmV0Y2hfdXJpLiBBcwoJICB0aGUgY2FuY2VsIHN0YXRlIGlzbid0ICdwZXJtYW5lbnQnIHRoaXMgZmV0Y2hfdXJpIHdvdWxkIGJsb2NrIGFuZAoJICBwcmV2ZW50IHRoZSB3aG9sZSBlbGVtZW50IGZyb20gc3RvcHBpbmcgYW5kIGdvaW5nIHRvIE5VTEwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlICdjYW5jZWxsZWQnIHN0YXRlIHBlcm1hbmVudCB1bnRpbCBhCgkgIGdzdF91cmlfZG93bmxvYWRlcl9yZXNldCBpcyBjYWxsZWQuIFRoaXMgd2F5IHRoZSBlbGVtZW50IGtub3dzIHRoZQoJICB3aW5kb3cgd2hlcmUgdGhlIHVyaWRvd25sb2FkZXIgaXNuJ3QgYWN0aXZlIGFuZCBvbmx5IHJlYWN0aXZhdGUgaXQgd2hlbgoJICByZWFkeS4KCjIwMTMtMDQtMTYgMTk6NDc6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXJfZGVidWcuaDoKCSAgdXJpZG93bmxvYWRlcjogcmVmYWN0b3IgZ3N0dXJpZG93bmxvYWRlciB0byBpdHMgb3duIGxpYgoJICBnc3R1cmlkb3dubG9hZGVyIGNhbiBiZSByZXVzZWQgYnkgb3RoZXIgcGx1Z2lucywgYmV0dGVyIGhhdmUgaXQKCSAgaW50byBpdHMgb3duIGxpYgoKMjAxMy0wNS0wNyAwODoyNjowMyAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggbWVtb3J5IGxlYWsgd2hlbiB1c2luZyBwcmVwYXJlX2Z1bmMKCSAgcHJlcGFyZV9mdW5jIHdpbGwgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIHRvIHJlcGxhY2UgdGhlIG9yaWdpbmFsCgkgIG9uZS4gSW5zdGVhZCBvZiB1c2luZyBnc3RfYnVmZmVyX3JlcGxhY2UgKHdoaWNoIGNhdXNlcyBhbiBleHRyYQoJICByZWZjb3VudCBpbmNyZW1lbnQgb24gdGhlIG5ldyBidWZmZXIpLCB3ZSBqdXN0IHVucmVmIHRoZSBvcmlnaW5hbAoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3ODYKCjIwMTMtMDUtMDcgMTQ6MjI6MTAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBtcGVndmlkZW9tZXRhOiBGaXggdHlwbyBpbiBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4MjcKCjIwMTMtMDUtMDMgMjE6NDY6MDggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSAgbGFkc3BhOiBzeW5jIGNvbnRyb2xsZWQgcGFyYW1lcyBpbiBmaWx0ZXJzIGFuZCBzaW5rcwoKMjAxMy0wNS0wMyAxNjo1NTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IEFkZCAkKEdNT0RVTEVfTk9fRVhQT1JUX0xJQlMpIGZvciBnbW9kdWxlCgoyMDEzLTA1LTAxIDE3OjE5OjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG9uJ3QgY29tcGFyZSBidWZmZXIgc2l6ZSB3aGVuIGNoZWNraW5nIHdoZXRoZXIgdG8gdXBkYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM5OAoKMjAxMy0wNS0wMyAxMTozNDozNCArMDIwMCAgSnVhbiBNYW51ZWwgQm9yZ2VzIENhw7FvIDxqdWFubWFiY21haWxAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5oOgoJICBsYWRzcGE6IGltcHJvdmVkIHBvcnQgdG8gZ3N0cmVhbWVyIDEuMAoJICBGaXhlczogIzY5ODkyNwoKMjAxMy0wNS0wMSAxNzozNjo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkb24ndCBhbm5vdW5jZSBpbmNvbXBsZXRlIHNvdXJjZSBjYXBzCgkgIERvbid0IHNlbmQgYW55IHNvdXJjZSBjYXBzIHlldCBpZiB3ZSdyZSBzdGlsbCBpbgoJICBkcm9wLWJ1ZmZlcnMtdW50aWwtd2UtZ2V0LWEtc2VxdWVuY2UtaGVhZGVyIG1vZGUuCgkgIEZpeGVzIHRyYW5zbXV4aW5nIG9mIG1hbnkgTVBFRy1UUy9QUyBzdHJlYW1zIGludG8KCSAgZm9ybWF0cyB3aGljaCByZXF1aXJlIHRoaW5ncyBsaWtlIHdpZHRoLCBoZWlnaHQgb3IKCSAgY29kZWNfZGF0YSBvbiB0aGUgaW5wdXQgY2Fwcy4KCSAgQWxzbyBmaXhlcyBpc3N1ZXMgd2hlbiB1c2luZyBwbGF5YmluIHdpdGggZGVjb2RlcgoJICBzaW5rcyB0aGF0IHdhbnQgd2lkdGgvaGVpZ2h0IGV0Yy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg3OQoKMjAxMy0wNC0yNyAxMjoyODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSAga2F0ZTogZml4IGJ1ZmZlciBsZWFrIGluIGthdGV0YWcKCSAgTWFrZXMgdW5pdCB0ZXN0IHZhbGdyaW5kIGNsZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTI3IDEyOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgaW4ga2F0ZSB1bml0IHRlc3QKCjIwMTMtMDQtMjcgMTI6MDY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlOiBtaW5vciBjbGVhbnVwCgoyMDEzLTA0LTI2IDE1OjMzOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBEb2N1bWVudCB0aGF0IHRoZSBsYXRlbmN5IGlzIGluIG1pbGxpc2Vjb25kcwoJICBCdWcgIzY5ODg5NgoKMjAxMy0wNC0yNiAxNTozOTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb252ZXJ0IHBhY2tldCBQVFMvRFRTIGFzIHNvb24gYXMgcG9zc2libGUKCSAgV2UgbGV0IHRoZSBtcGVndHNwYWNrZXRpemVyIGRlYWwgd2l0aCBwY3Igd3JhcGFyb3VuZC9yZXNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTMtMDQtMjYgMTI6MTg6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWd0c2RlbXV4OiBoZWFkZXIgY2xlYW51cHMvdXBkYXRlcwoKMjAxMy0wNC0yNiAxNDozMjoxNCArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogRHJvcCBvYnNvbGV0ZSByZWZlcmVuY2VzIHRvIHZpZGVvc2lnbmFsIGhlYWRlcnMKCSAgSW4gYWRkaXRpb24gdG8gODU1MjM5NmMzNjJjMjBhZGI2YWE5MTI5YTQ1M2ZmODFlY2RjZjY1NgoKMjAxMy0wNC0yNiAxMDozODozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVcGRhdGUgc3JjIHBhZCBjYXBzIHdoZW4gaXQgd2FzIGV4cGxpY2l0bHkgc2lnbmFsZWQKCSAgRml4ZXMgc3JjIHBhZCBjYXBzIGFyZW4ndCB1cGRhdGVkIHdoZW4gY29udmVydGluZyBmcm9tIEFWQyB0byBieXRlc3RyZWFtCgkgIGFuZCBuZXcgY2FwcyBoYWQgYmVlbiByZWNlaXZlZCBpbiB0aGUgc2luayBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg2NzkKCjIwMTMtMDQtMjMgMTU6MTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBjYXBzIHN0cmluZyBsZWFrCgoyMDEzLTA0LTI0IDA5OjQwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgZ3N0X2VnbF9kaXNwbGF5X2dldCgpIGluc3RlYWQgb2YgcGFzc2luZyBhIEdzdEVHTERpc3BsYXkgdG8gRUdMIGZ1bmN0aW9ucwoKMjAxMy0wMy0yOCAxNjo1MjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGlzcmM6IFBvcnQgdG8gR3N0QXVkaW9TcmMKCjIwMTMtMDMtMjcgMTA6MTA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogUG9ydCB3YXNhcGlzaW5rIHRvIEdzdEF1ZGlvU2luawoKMjAxMy0wNC0yMyAwMToxNzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IGZpeCByZW1haW5pbmcga2F0ZSB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE1IDE3OjA2OjU3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogcG9ydCBLYXRlIHRlc3RzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTIyIDIzOjUyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTUFJTlRBSU5FUlM6CgkqIFJFQURNRToKCSogUkVBRE1FLnN0YXRpYy1saW5raW5nOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjYjNkM2MgdG8gNWVkY2Q4NQoKMjAxMy0wNC0yMSAxODoyODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIGR2YmJhc2ViaW46IGJldHRlciBlcnJvciByZXBvcnRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODg5MgoKMjAxMy0wNC0yMSAxNDoxMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogbG9nIGNoYW5uZWwgcGFyc2luZyBpbnRvIGR2YmJhc2ViaW4gZGVidWcgY2F0ZWdvcnkgYXMgd2VsbAoKMjAxMy0wNC0yMSAxNDowNDoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBmaXggcGF0aCB3aGVyZSB0byBsb29rIGZvciB0aGUgZHZiLWNoYW5uZWxzLmNvbmYKCSAgQ29uc3RydWN0IHBhdGggYmFzZWQgb24gdGhlIEFQSSB2ZXJzaW9uLCBub3QgJG1ham9yLiRtaW5vciB2ZXJzaW9uLgoKMjAxMy0wNC0xOCAyMDoyNjoxNSArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBlYWdsOiBmaXggZWFnbCByZXVzZSBieSBub3QgcmVsZWFzaW5nIHRoZSBjb250ZXh0CgkgIEl0IHNlZW1zIEVBR0wgZXhwZWN0cyB0aGUgYXBwbGljYXRpb24gdG8gc2ltcGx5IGlnbm9yZSB1bnVzZWQKCSAgRUFHTCBjb250ZXh0cyBhcyB0aGUgcmVzb3VyY2VzIGZvciBpdCB3b3VsZCBiZSByZWxlYXNlZCB3aGVuIGEgbmV3CgkgIGNvbnRleHQgaXMgc2V0IGFzIHRoZSBjdXJyZW50IG9uZS4gQWxzbyBtb3ZlIHRoZSBlZ2wgZXh0ZW5zaW9ucwoJICBxdWVyeWluZyB0byBhZnRlciBhIGNvbnRleHQgaXMgc2V0IHRvIHByZXZlbnQgY3Jhc2hlcy4KCSAgVGhpcyBtYWtlcyB0aGUgRUFHTCB2ZXJzaW9uIG9mIGVnbGdsZXNzaW5rIHJldXNhYmxlLgoKMjAxMy0wNC0xOCAxNzoxODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTE4IDE2OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogVXNlIGdzdF9jb250ZXh0X3dyaXRhYmxlX3N0cnVjdHVyZSgpCgoyMDEzLTA0LTE4IDE1OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHaXZlIG9ubHkgU0VDT05EQVJZIHJhbmsKCSAgSWYgYXZhaWxhYmxlIHdlIHN0aWxsIHByZWZlciB4dmltYWdlc2luay4KCjIwMTMtMDQtMTggMTI6NTQ6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXhlcyAnbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QnIHdhcm5pbmcKCjIwMTMtMDQtMTggMTI6MjQ6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCjIwMTMtMDQtMTggMTI6Mjc6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggd2FybmluZ3MgYnVpbGRpbmcgb24gdGhlIFJQSQoKMjAxMy0wNC0xOCAxMjoxNjoxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoKMjAxMy0wNC0xNyAxNDo0NToxOSAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBNb3Rvcm9sYSBEaWdpQ2lwaGVyIElJIE1QRUcyIHZpZGVvCgkgIFNpbmNlIHRoZXJlIGlzIGEgY29uZmxpY3QgYmV0d2VlbiB0aGUgRENJSSBzdHJlYW0gdHlwZSBhbmQgQmx1UmF5CgkgIHN0cmVhbSB0eXBlcywgbW92ZWQgdGhlIHByb2Nlc3Npbmcgb2YgQmx1UmF5LXNwZWNpZmljIHN0cmVhbSB0eXBlcwoJICB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmdW5jdGlvbi4gIE9ubHkgaWYgYSBCbHVSYXkgc3RyZWFtIHR5cGUKCSAgSVMgTk9UIGZvdW5kIGRvIHdlIHByb2NlZWQgdG8gY2hlY2sgdGhlIHJlc3Qgb2YgdGhlIHN0cmVhbSB0eXBlCgkgIGlkZW50aWZpZXJzCgkgIFByZXZpb3VzIGNvZGUgd2FzIGFsc28gInNvcnQtb2YiIGhhbmRsaW5nIGEgc2ltaWxhciBjb25mbGljdCBiZXR3ZWVuCgkgIEJsdVJheSBBQzMgYXVkaW8gYW5kIHN0YW5kYXJkIEFDMyBhdWRpby4gIE1vdmVkIHRoZSBzcGVjaWFsIGNhc2UgQmx1UmF5CgkgIEFDMyBoYW5kbGluZyBpbiB0aGUgbWFpbiBzd2l0Y2ggc3RhdGVtZW50IHRvIHRoZSBuZXcgQmx1UmF5LXNwZWNpZmljCgkgIHN3aXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg5MgoKMjAxMy0wNC0xOCAwOTowNzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIHF1aWNrdGltZSB3cmFwcGVyIHBsdWdpbiBpcyBub3QgcG9ydGVkIHlldCBlaXRoZXIKCjIwMTMtMDQtMTggMDg6NTY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSBvc3h2aWRlb3NyYyBwbHVnaW4gaXMgY2FsbGVkIG9zeF92aWRlbwoKMjAxMy0wNC0xOCAwNzo1NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9zeHZpZGVvc3JjOiBJdCdzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoKMjAxMy0wNC0xNyAxMzo0ODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IEdzdENvbnRleHQgcmVmY291bnRpbmcgc29tZSBtb3JlCgoyMDEzLTA0LTE3IDEzOjE2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR3N0Q29udGV4dCByZWZjb3VudGluZwoKMjAxMy0wNC0xNyAxMDo0ODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBmb3IgR0xUZXh0dXJlVXBsb2FkTWV0YSBhbmQgRUdMIEFQSSBjaGFuZ2VzCgoyMDEzLTA0LTE3IDEwOjQwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogVXNlIG5ldyB0eXBlcyBmcm9tIGxpYmdzdHZpZGVvIGluc3RlYWQgb2YgZGVmaW5pbmcgb3VyIG93bgoKMjAxMy0wMy0yNSAxODozMDoxOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG8gbm90IGNoZWNrIGZvciBWVUkgcGFyYW1ldGVycyBpZiB0aGV5IHdlcmUgbm90IHByZXNlbnQgaW4gdGhlIFNQUwoKMjAxMy0wNC0xNiAyMjo1MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIHN1cmZhY2UgcXVlcmllcwoJICBPdGhlcndpc2Ugd3JvbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZC4KCjIwMTMtMDQtMTYgMjI6MjU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgc2V0IGEgZGVidWcgY2F0ZWdvcnkgZm9yIHRoZSBhZGFwdGlvbiBsYXllcnMKCjIwMTMtMDQtMTYgMjI6MjU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdldCB0aGUgRUdML0dMRVMgZXh0ZW5zaW9ucyBhdCB0aGUgcmlnaHQgcG9zaXRpb24KCjIwMTMtMDQtMTYgMjI6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGVnbGFkYXB0YXRpb25fZWdsLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsX2FkYXB0YXRpb25fY3JlYXRlX25hdGl2ZV93aW5kb3cnOgoJICBnc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOjg2ODozOiBlcnJvcjogZm9ybWF0ICclcCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd2b2lkIConLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnRUdMTmF0aXZlV2luZG93VHlwZScgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgR1NUX0RFQlVHX09CSkVDVCAoY3R4LT5lbGVtZW50LCAiVXNpbmcgd2luZG93IGhhbmRsZSAlcCIsIHdpbmRvdyk7CgkgIF4KCjIwMTMtMDQtMTAgMTc6Mjc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiByZWZhY3RvciB0byBhbGxvdyBlYWdsIHN1cHBvcnQKCSAgUHV0IEVHTCBzcGVjaWZpYyBjb2RlIHRvIGEgc2VwYXJhdGUgZmlsZSBhbmQgY3JlYXRlIHRoZSBzYW1lIGZ1bmN0aW9ucwoJICBmb3IgRUFHTCwgdGhlIEFwcGxlJ3Mgc3BlY2lmaWMgRUdMIGltcGxlbWVudGF0b24uCgkgIEF0IHRoaXMgcG9pbnQsIHRoZSBFQUdMIHZlcnNpb24gd2Fzbid0IGNvbXBpbGVkIG9yIHRlc3RlZCBhcyB0aGVyZSBpc24ndAoJICBhbnkgc2ltcGxlIGRvY3VtZW50ZWQgd2F5IHRvIGJ1aWxkIDEuMCBmb3IgaU9TLiBUaGlzIGNvZGUgZm9yIHRoZSBFQUdMCgkgIHZlcnNpb24gaXMgc3RpbGwgdGhlIDAuMTAgdmVyc2lvbiwgc29tZSB1cGRhdGVzIHNob3VsZCBiZSBtYWRlIHdoZW4gMS4wCgkgIGlzIGJ1aWxkYWJsZSBmb3IgaU9TLgoKMjAxMy0wNC0xNSAxNzo0Mzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBlYWdsOiBhZGQgaW9zIHdpbmRvdyBzeXN0ZW0gb3B0aW9uIGZvciBlZ2xnbGVzIGNvbmZpZ3VyZQoKMjAxMy0wNC0xNSAxODo0MDowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBpb3M6IHVuY29uZGl0aW9uYWxseSBjaGVjayBpZiB3ZSBhcmUgYnVpbGRpbmcgZm9yIGlPUwoJICBJbnN0ZWFkIG9mIG9ubHkgY2hlY2tpbmcgaWYgYXBwbGVtZWRpYSBpcyBnb2luZyB0byBiZSBidWlsdAoKMjAxMy0wNC0xMCAxNDo1Mzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogcmVmYWN0b3IgZWdsIGZ1bmN0aW9ucy9kYXRhIHRvIGEgc2VwYXJhdGUgZmlsZQoJICBUaGlzIGlzIHBhcnQgb2YgdGhlIGNoYW5nZXMgcmVxdWlyZWQgdG8gbWFrZQoJICBlZ2xnbGVzc2luayB3b3JrIHdpdGggYm90aCBFR0wgYW5kIEFwcGxlJ3MgRUFHTAoKMjAxMy0wNC0xNiAxNjozMDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJpbnQgRUdML0dMRVMgZXh0ZW5zaW9ucyBhZnRlciB3ZSBhcmUgYWN0dWFsbHkgaW5pdGlhbGl6ZWQgZW5vdWdoCgoyMDEzLTA0LTE2IDE2OjIzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFByb3Blcmx5IHNldCBvdXRwdXQgZm9ybWF0IGluc3RlYWQgb2YganVzdCBzZXR0aW5nIGNhcHMKCjIwMTMtMDQtMTYgMTY6MTc6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogU2V0IHBhcmVudCBjbGFzcyBpbiBjbGFzc19pbml0CgoyMDEzLTA0LTE2IDE2OjAwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhbmRsZSByZWZjb3VudHMgb2YgcGFkIHRlbXBsYXRlcyBjb3JyZWN0bHkKCSAgZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiBjYXBzIGFueW1vcmUgYW5kCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoKSBkb2VzIHRha2Ugb3duZXJzaGlwIG9mIHRoZQoJICBwYWQgdGVtcGxhdGUgbm93LgoKMjAxMy0wNC0xNiAxNTozMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBVc2UgMS4wLXN0eWxlIHJhdyBhdWRpbyBjYXBzCgoyMDEzLTA0LTE2IDE1OjMxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFByb3Blcmx5IHNldCBzdWJjbGFzc2VzIG1ldGFkYXRhL3BhZCB0ZW1wbGF0ZXMgaW4gYmFzZV9pbml0CgoyMDEzLTA0LTE1IDE2OjAxOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBjaGVjayB2YWx1ZSBiZWZvcmUgdXNpbmcgYXMgZGVub21pbmF0b3IKCjIwMTMtMDQtMTUgMTg6MTk6MzggKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjQ6IHByaW50ZiBmb3JtYXQgZml4CgkgIGdzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6NDM3OjU6IGVycm9yOiBmb3JtYXQgJyVsdScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdHc3RDbG9ja1RpbWUnCgoyMDEyLTEwLTI0IDEyOjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNC0xNSAxNToxMzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBjYW1lcmFiaW4gZGlyZWN0b3J5IHRvIHRoZSBjcnVmdCBkaXJlY3RvcmllcwoKMjAxMy0wNC0xNSAwOTowMTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGZpeCB0aW1lb3V0IHZhbHVlCgkgIFRpbWVvdXQgb24gdWRwc3JjIGlzIGluIG5hbm9zZWNvbmRzIGluIDEuMAoKMjAxMy0wNC0xNSAwMDoyMjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogQWRkIGNvbmRpdGlvbmFsIG9uIEFQSSB2ZXJzaW9uIGZvciBuZXcgZW51bQoKMjAxMy0wNC0wNCAxNTo1OTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggZGVhZGxvY2sgZHJhaW5pbmcgcXVldWUgZnJvbSB0aGUgc2FtZSB0aHJlYWQKCjIwMTEtMDgtMTAgMTI6MTM6MzQgKzAwMDAgIEZhYnJpY2lvIENvc3RhIEFsaXNlZG8gPGZhYnJpY2lvLmNvc3RhQG1vbGRlb2ludGVyYWN0aXZlLmNvbS5hcj4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZGVkIEdyYXBoIEJ1aWxkZXIgYW5kIENhcHR1cmUgQnVpbGRlciB0byBjb3JyZWN0bHkgY3JlYXRlIHVwc3RyZWFtIG5lZWRlZCBmaWx0ZXJzIGJ5IEFuYWxvZyBUViBDYXB0dXJlIERldmljZXMuCgoyMDEyLTEyLTAxIDE2OjI0OjIyICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDEzLTA0LTE1IDA4OjQ4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xnbGVzc2lua19maWxsX3RleHR1cmUnOgoJICBnc3RlZ2xnbGVzc2luay5jOjE4MTU6MzogZXJyb3I6IGZvcm1hdCAnJWQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnaW50JywgYnV0IGFyZ3VtZW50IDExIGhhcyB0eXBlICdnc2l6ZScgWy1XZXJyb3I9Zm9ybWF0XQoJICBnc3RlZ2xnbGVzc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbGdsZXNzaW5rX2NvbmZpZ3VyZV9jYXBzJzoKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzoyODUwOjM6IGVycm9yOiBmb3JtYXQgJyVwJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3ZvaWQgKicsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdFR0xOYXRpdmVXaW5kb3dUeXBlJyBbLVdlcnJvcj1mb3JtYXRdCgoyMDEzLTA0LTE1IDAwOjQ4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkgIGthdGU6IG9ubHkgc2VuZCBkZWNvZGVyIG91dHB1dCBjYXBzIG9uY2Ugb3Igd2hlbiB0aGUgZm9ybWF0IGNoYW5nZXMKCSAgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlci4gQW5kICBhbHNvIHNlbmQgYSBjYXBzCgkgIGV2ZW50IGZvciBzcHUgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDIzOjIyOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggZGVjb2RlciBvdXRwdXQgY2FwcwoJICBJdCdzIGVpdGhlciBwYW5nby1tYXJrdXAgb3IgdXRmOCwgbmV2ZXIgYm90aCBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDIzOjE5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFyayBoZWFkZXIgYnVmZmVycyBhcyBzdWNoCgoyMDEzLTA0LTE0IDIzOjA4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGVlbmM6IHNhdmUgY3VycmVudCBpbnB1dCBmb3JtYXQgaW4gc2V0Y2FwcwoKMjAxMy0wNC0xNCAyMToyODo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggcHJpbnRmIGZvcm1hdCBzdHJpbmdzIGFuZCBkaXNhYmxlIHRpZ2VyIGVsZW1lbnQKCjIwMTMtMDQtMDEgMTI6NDc6MTMgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IHBvcnQgS2F0ZSBzdWJ0aXRsZXMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMTc6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlZDg3YWUgdG8gM2NiM2QzYwoKMjAxMy0wNC0xMiAxNzowMTozOCArMDIwMCAgQWxleGFuZGVyIE9sc3NvbiA8YWxleG9AYXhpcy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhY2NlcHQgYW55IGpwZWcgaW5wdXQgLSBwYXJzZWQsIHVucGFyc2VkIG9yIHVubWFya2VkCgkgIFRoZSBzcmMgZWxlbWVudCBtYXkgbm90IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgd2hldGhlcgoJICB0aGUgZGF0YSBpcyBwYXJzZWQgb3Igbm90LiBIZW5jZSBkbyBub3QgcmVxdWlyZSBwYXJzZWQ9ZmFsc2UuCgkgIEZpeGVzIG11bHRpcGFydGRlbXV4ICEganBlZ3BhcnNlICEgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4ODQKCjIwMTMtMDQtMTIgMTQ6MDk6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGU6IGFkZCBzdGFydC9zdG9wIHRvIHZpZGVvZmlsdGVyCgoyMDEzLTA0LTEyIDE0OjA4OjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGF2b2lkIHVzaW5nIFBhZFRlbXBsYXRlcwoKMjAxMy0wNC0xMiAxNDowNzozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJICBlbGVtZW50LXRlbXBsYXRlczogQWRkIGhlbHBlciBjb2RlIHRvIHRyYW5zZm9ybV9jYXBzCgoyMDEzLTA0LTEyIDEzOjU2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb2FuYWx5c2U6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTA1IDIxOjMxOjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB2aWRlb2ZpbHRlcnNiYWQ6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTExIDIyOjE1OjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkZWNyZWFzZSBsb2cgcHJpb3JpdHkgZm9yIHJlcGVhdGluZyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODM0CgoyMDEzLTA0LTExIDEzOjM0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJICB2aWRlbzogUmVtb3ZlIHZpZGVvIGxpYnJhcnkgZnJvbSAtYmFkCgkgIFRoaXMgb25seSBjb250YWluZWQgQVBJIHRoYXQgbm93IGhhcyByZXBsYWNlbWVudHMgaW4gY29yZSBhbmQgYmFzZS4KCjIwMTMtMDQtMTEgMTM6MDg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2hlY2sgdGhlIGNvbnRpbnVpdHkgY291bnRlciBmb3Igbm9uLXNlY3Rpb24gcGFja2V0cyB0b28KCSAgQW5kIGlmIHdlIGRldGVjdCBhIGRpc2NvbnRpbnVpdHkgdGhlcmUgKGxpa2UuLi4gd2hlbiBsb3NpbmcgcGFja2V0cwoJICBvciBoYXZpbmcgTVBFR1RTIG92ZXIgcmF3IFVEUCB3aXRoIG91dC1vZi1vcmRlciBwYWNrZXRzKSB3ZSBqdXN0CgkgIGRyb3AgdGhlIGNvcnJlc3BvbmRpbmcgcGFja2V0LgoJICBBIGZ1dHVyZSB2ZXJzaW9uIGNvdWxkIHRyeSB0byBpbXBsZW1lbnQgYSByZS1vcmRlcmluZyBhbGdvcml0aG0gYmFzZWQKCSAgb24gdGhhdCwgc2ltaWxhciB0byB3aGF0IHJ0cGppdHRlcmJ1ZmZlciBkb2VzLgoKMjAxMy0wNC0xMSAxMDowNjoyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbWZ4ZGVtdXM6IHVwZGF0ZSB0b2RvICh0aGVyIGVpcyBhIG11eGVyKQoKMjAxMy0wNC0xMCAxNjoxOTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDYWxsIDo6cHJvZ3JhbV9zdG9wcGVkIGFmdGVyIHJlbW92aW5nIGFsbCBzdHJlYW1zCgkgIFN1YmNsYXNzZXMgd2FudCB0byBhY2Nlc3MgdGhlIHByb2dyYW0gd2hpbGUgcmVtb3ZpbmcgdGhlIHN0cmVhbXMKCSAgYW5kIHdpbGwgY3VycmVudGx5IGNyYXNoIGJlY2F1c2Ugb2YgZGVyZWZlcmVuY2luZyBOVUxMIGluIHNvbWUgY2FzZXMuCgoyMDEzLTA0LTEwIDExOjA2OjUyICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogcmFjZSBiZXR3ZWVuIGdfbWFpbl9sb29wX3J1bi9fcXVpdCBmaXhlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3Njk0CgoyMDEzLTA0LTA5IDIxOjMyOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBzdG9wIG9uIGludmFsaWQgYnVmZmVyCgoyMDEzLTA0LTA5IDIxOjMxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBDbGVhbmVyIHN0cmVhbSBjbGVhbnVwCgoyMDEzLTA0LTA5IDIxOjMxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IGNyYXNoIG9uIGludmFsaWQgY2lwaGVyCgoyMDEzLTAzLTI3IDE2OjQ5OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBmaXggZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDQtMDEgMTU6NTI6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkgIHlhZGlmOiByZW1vdmUgZXh0cmEgdGVtcGxhdGUgY29kZQoKMjAxMy0wNC0wMSAxNTo0Nzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IHJlbW92ZSB0cmFuc2Zvcm1fc2l6ZSwgaXQncyBub3QgbmVlZGVkCgoyMDEzLTA0LTAxIDIwOjEzOjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSAgZWxlbWVudC1tYWtlcjogZml4IHJldHVybiB2YWx1ZSBpbiB2aWRlb2VuY29kZXIKCjIwMTMtMDQtMDEgMjA6MTI6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBjcmVhdGUgYmV0dGVyIGVsZW1lbnQgbmFtZSB3aGVuIHVzaW5nIC0tcHJlZml4CgoyMDEzLTA0LTAxIDIwOjAzOjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogZml4IGxlYWsgd2hlbiBub3QgY29ubmVjdGVkCgoyMDEzLTA0LTA5IDIxOjAwOjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNGM3YTFlIHRvIGFlZDg3YWUKCjIwMTMtMDQtMDggMTc6NDA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgZXh0OiBwcmludGYgZm9ybWF0IGZpeGVzIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxMy0wNC0wOCAxNzozNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSAgc3lzOiBwcmludCBmb3JtYXQgZml4ZXMgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMDcgMTg6NDE6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIFRydWVIRCBhdWRpbwoKMjAxMy0wNC0wNSAwOTo0MToyNiArMDEwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IGZpeCBidWlsZCBvbiBPUy9YCgkgIGdzdGhhbmRkZXRlY3QuaDo4NDogZXJyb3I6IGV4cGVjdGVkIHNwZWNpZmllci1xdWFsaWZpZXItbGlzdCBiZWZvcmUgJ3VpbnQnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDUKCjIwMTMtMDQtMDUgMDA6NDk6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzaGFkZXJzIGFzc3VtZSAzMmJwcAoJICBCYWNrcG9ydCBmaXggZm9yIGNyYXNoZXMgYW5kIGludmFsaWQgd3JpdGVzIGluIHRvdGVtIGZyb20gbGlidmlzdWFsCgkgIGluIC1iYXNlLCB0byBtaW5pbWlzZSBkaWZmZXJlbmNlcyB0byB2ZXJzaW9uIGluIC1iYXNlIGFuZCB0byBtYWtlCgkgIHN1cmUgdGhlIGJ1ZyBkb2Vzbid0IHNuZWFrIGJhY2sgaW4gbGF0ZXIgd2hlbiB0aGUgYmFzZSBjbGFzcyBpcwoJICBtYWRlIHB1YmxpYy4KCSAgVGhlIHNoYWRlciBjb2RlIGxvb2tzIGxpa2UgaXQgbWFrZXMgYXNzdW1wdGlvbnMgdGhhdCBhcmUgbm90CgkgIG5lY2Vzc2FyaWx5IGFsd2F5cyB0cnVlLCBldmVuIGlmIHRoZXkncmUgdHJ1ZSBmb3Igbm93IGZvciB0aGUKCSAgZXhpc3RpbmcgZWxlbWVudHMsIG5hbWx5IHRoYXQgcGl4ZWwgc3RyaWRlIGlzIDQsIGZvciBleGFtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzUyNwoKMjAxMy0wMy0xNCAxMToxNToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBoYW5kbGUgbm9uLWV4aXN0YW50IHBvb2wgaW4gdGhlIGRlZmF1bHQgYWxsb2NhdGlvbiBxdWVyeQoJICBnc3RfcXVlcnlfc2V0X250aF9hbGxvY2F0aW9uX3Bvb2woKSByZXF1aXJlcyB0aGVyZSB0byBiZSBhIHBvb2wgaW4gdGhlCgkgIHF1ZXJ5IGFscmVhZHkuIFRoaXMgaXMgbm90IGFsd2F5cyB0aGUgY2FzZSB3aGVuIHdlIGdldCB0aGUgcXVlcnkgZnJvbQoJICB1cHN0cmVhbS4gIFVzZSBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fcG9vbCgpIGluc3RlYWQgaW4gc3VjaCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNzE5CgoyMDEzLTAxLTI5IDEwOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGltcHJvdmUgYWxsb2NhdGlvbgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXR0aGV3IFdhdGVycwoJICBBZGQgcHJpdmF0ZSBkYXRhCgkgIEFkZCBkZWNpZGVfYWxsb2NhdGlvbiB2bWV0aG9kCgkgIFJlZmFjdG9yIGJ1ZmZlcnBvb2wgbmVnb3RpYXRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTcxOQoKMjAxMy0wNC0wMyAxNjoxMjowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHVzZSBiaWxpbmVhciBmaWx0ZXIgYXMgbXVjaCBhcyBwb3NzaWJsZQoJICBVc2UgdGhlIGJpbGluZWFyIHNjYWxsaW5nIGZpbHRlciB3aGVuIHRoZSBtYWduaWZpZXIgb3IgdGhlIG1pbmlmaWVyCgkgIGZpbHRlcnMgYXJlIGF2YWlibGUuIFNvbWUgZ3JhcGhpY3MgY2FyZHMgZG8gbm90IHByb3ZpZGUgbWluaWZpZXIgZmlsdGVycwoJICBidXQgd2Ugd2FudCB0byB1c2UgaXQgZm9yIHVwc2NhbGxpbmcgaWYgaXQncyBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzE3NgoKMjAxMy0wNC0wMyAxNDo1NTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBCdW1wIG1pbmltdW0gcmVxdWlyZW1lbnQgdG8gMi4zNi4wCgkgIEFuZCBoYW5kbGUgaGVhZGVyIGNoYW5nZXMgaW4gMi4zNi4yCgoyMDEzLTA0LTAyIDIzOjMzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBkb2NzOiBhZGQgc2luY2UgbWFya2VycyB0byBuZXcgY29kZWNwYXJzZXJzIHZpZGVvIG1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE3MTIKCjIwMTMtMDQtMDEgMTk6NDk6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBJbXBsZW1lbnQgYmFzZXNyYy0+dW5sb2NrKCkKCSAgVGhpcyBmaXhlcyAtPk5VTEwgdHJhbnNpdGlvbiBwcm9ibGVtcyBpZiBsaWJydG1wIGlzIHN0dWNrIGluIGEKCSAgcmVjdiBvciBzZW5kIGNhbGwgdGhhdCBuZXZlciByZXR1cm5zLgoKMjAxMy0wMy0zMCAxNTowNzo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJICBlbGVtZW50LW1ha2VyOiBjYWxsIHVwIGluIGJhc2V0cmFuc2Zvcm0gdGVtcGxhdGUKCSAgTW9yZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIGRvaW5nIHRoaXM6IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucwoJICBzaG91bGQgY2FsbCB1cCB0byB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgYmFzZSBjbGFzcy4KCjIwMTMtMDQtMDEgMjI6Mzg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBjaGVjayBmb3IgYmx1ZXogZm9yIGJsdWV0b290aC9ibHVldG9vdGguaAoJICBGaXhlcyBidWlsZCBvbiBtYWNoaW5lcyB3aGVyZSBibHVleiBoZWFkZXJzIGFyZSBub3QgYXZhaWxhYmxlLgoKMjAxMy0wNC0wMSAyMTo0OTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmx1ZXo6IGVuYWJsZSBibHVleiBwbHVnaW4KCSAgU2VlbXMgdG8gbW9zdGx5IHdvcmsgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTA0LTAxIDIxOjQ4OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIHNvZnQgbGlib3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xNwoJICBUbyBtYXRjaCAtYmFzZSBhbmQgLWdvb2QuIEFsc28gZml4ZXMgcG90ZW50aWFsCgkgIGNyYXNoIHdoZW4gYSBmYWxsYmFjayBmdW5jdGlvbiBoYXMgdG8gYmUgdXNlZC4KCjIwMTMtMDQtMDEgMTA6MjA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSB0aGUgRUdMSW1hZ2UgYW5kIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBjYXBzIGZlYXR1cmVzCgoyMDEzLTA0LTAxIDEwOjIwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGEgI2RlZmluZSBmb3IgdGhlIEVHTEltYWdlIG1lbW9yeSBjYXBzIGZlYXR1cmUKCjIwMTMtMDQtMDEgMDk6MTM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IERvbid0IGluY2x1ZGUgcnN2Zy1jYWlyby5oIGRpcmVjdGx5CgkgIEluY2x1ZGluZyBpdCBkaXJlY3RseSBpcyBub3cgZGVwcmVjYXRlZAoKMjAxMy0wNC0wMSAwOToxMDo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IERvbid0IHVzZSBkZXByZWNhdGVkIEdNdXRleCBtZXRob2RzCgoyMDEzLTAzLTI5IDE3OjU3OjEyICswMTAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IFBvcnQgdG8gMS4wCgkgIEFsc28gcG9ydCB0aGUgZGVjb2RlciB0byB0aGUgR3N0VmlkZW9EZWNvZGVyCgoyMDEyLTA5LTIwIDE5OjAzOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJICB2ZHBhdTogUG9ydCB0byAxLjAKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIHZkcGF1IGRlY29kZXJzCgkgICogbXBlZzIgcG9ydGVkIGFuZCBhY3RpdmF0ZWQKCSAgKiBoMjY0IHBvcnRlZCBidXQgZGVhY3RpdmF0ZWQKCSAgKiBVc2VzIEdzdE1wZWdWaWRlbyBtZXRhCgoyMDEyLTEyLTIzIDAxOjU0OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogT25seSBhZGQgbWV0YSBpZiBkb3duc3RyZWFtIG5lZWRzIGl0CgkgIEl0J3Mgbm90IHBlcmZlY3QsIGJlY2F1c2UgaW4gdGhlIGNhc2VzIHdoZXJlIHVwc3RyZWFtIGRvZXNuJ3QKCSAgaW5pdGlhdGUgYW4gYWxsb2NhdGlvbiBxdWVyeSwgd2Ugd29uJ3Qga25vdy4KCjIwMTItMDktMjAgMTg6Mjc6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBTdG9yZSBpbmZvcm1hdGlvbiBpbiBHc3RNcGVnVmlkZW8xMk1ldGEKCSAgRklYTUUgOiBPbmx5IGRvIHNvIGlmIHdlIGtub3cgZG93bnN0cmVhbSB3aWxsIG5lZWQgaXQKCjIwMTItMDktMjAgMTg6MDM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBNcGVnIFZpZGVvIEdzdE1ldGEKCSAgVGhpcyBjYW4gYmUgdXNlZCBieSBwYXJzZXJzIHRvIHByb3ZpZGUgcHJlLXBhcnNlZCBpbmZvcm1hdGlvbiB0bwoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHRoYXQgd291bGQgcmVxdWlyZSBpdCAoc28gdGhleSBjYW4gYXZvaWQgaGF2aW5nCgkgIHRvIHBhcnNlIHRoZSBiaXRzdHJlYW0gYWdhaW4pLgoKMjAxMi0xMi0yNiAxMzoxNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogRml4IHBpY3R1cmUgcGFja2V0IGV4dGVuc2lvbiBzaXplIGNoZWNrCgkgIEl0IGlzIGF0IGxlYXN0IDM0IGJpdCBiaWcgKDUgYnl0ZXMgd2l0aCBieXRlIHBhZGRpbmcpCgoyMDEzLTAzLTMxIDEyOjExOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgZHZiOiBNb3ZlIENBTSBoYW5kbGluZyB0byBhIHNlcGFyYXRlIEdzdFRhc2sKCSAgKiBObyBsb25nZXIgYmxvY2tzIGluIFJFQURZPT5QQVVTRUQgKGZhc3RlciBzdGFydHVwKQoJICAqIE5vIGxvbmdlciByZXF1aXJlcyBhIHBhZCBwcm9iZQoKMjAxMy0wMy0zMSAxMTo0NjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGdzdF9lbGVtZW50X2dldF9jb250ZXh0KCkgd2hlcmV2ZXIgcG9zc2libGUKCjIwMTMtMDMtMzAgMTM6NDA6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBXZSBvdXRwdXQgdGltZSBzZWdtZW50cwoJICBGaXhlcyAjNjkwOTQ5CgoyMDEzLTAzLTMwIDEzOjM5OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzcGFyc2U6IEVuc3VyZSBzZWdtZW50IGV2ZW50cyBhcmUgZm9yd2FyZGVkCgkgIFdlIHNraXAgdGhlbSBmb3IgdHNkZW11eCB0aG91Z2ggKHJlY3JlYXRlZCBsYXRlcikKCSAgRml4ZXMgIzY5MDk0OQoKMjAxMy0wMy0zMCAxMDoyNToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBwdXNoIHN0cmVhbSBzdGFydCBldmVudAoKMjAxMy0wMy0zMCAxMDo1NzowOCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZXI6IGVuc3VyZSB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCBhbmQgZml4IGRlYnVnIG1lc3NhZ2UgYWNjZXNzCgoyMDEzLTAzLTMwIDA5OjUyOjQ1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2VyOiBGaXggYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgdXNlCgoyMDEzLTAzLTI4IDE3OjQ4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbGdsZXNzaW5rOiBJbXBsZW1lbnQgR3N0Q29udGV4dCBoYW5kbGluZwoKMjAxMy0wMy0yOSAxNjoxMTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGEgc2VwYXJhdGUgdGV4dHVyZSBmb3IgdGhlIGN1c3RvbSB0ZXh0dXJlcwoKMjAxMy0wMy0yOSAxNjowNTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDEzLTAzLTI5IDEwOjMzOjEwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IGNoZWNrIG9uIHRoZSBwcm9wZXIgZGlzcGxheSBhbmQgaW5kZW50IHNvbWUgbGluZXMKCjIwMTMtMDMtMjggMTQ6MzY6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIHN1cmUgdGhlIHplcm8tc2l6ZWQgYXJyYXkgaXMgYWx3YXlzIGxhc3QgaW4gdGhlIHN0cnVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NjgxCgoyMDEzLTAzLTI1IDE0OjE4OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IFVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yOCAxNzozNjowNyArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSAgYmx1ZXo6IFJlbW92ZSBhMmRwc3JjIGJpbgoJICBUaGlzIGVsZW1lbnQgaXNuJ3QgcmVhbGx5IHVzZWZ1bC4gVGhlIG9yaWdpbmFsIHBsYW4gd2FzIHRvIHVzZSB0aGlzIHRvCgkgIGV2ZW50dWFsbHkgYWxsb3cgZHluYW1pY2FsbHkgcGlja2luZyBhIGZvcm1hdCBiYXNlZCBvbiB3aGF0IHdlIGNhbgoJICBzdXBwb3J0IHdoaWxlIG5lZ290aWF0aW5nIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UuIFdlIGNhbiBqdXN0IHBsdWcgaW4gYQoJICBkZWNvZGViaW4gZG93bnN0cmVhbSBhbmQgaXQnbGwgaGFuZGxlIFJUUCBkZXBheWxvYWRpbmcgYW5kIGRlY29kaW5nIG9mCgkgIHdoYXRldmVyIGZvcm1hdCB3ZSBuZWdvdGlhdGVkIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UuCgoyMDEzLTAzLTE0IDE4OjA0OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBDb21waWxlIGZpeGVzIGZvciBhdmR0cHNyYy9hMmRwc3JjIGNvZGUgYWdhaW5zdCAxLngKCjIwMTMtMDMtMTQgMTM6MDk6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkgIGJsdWV6OiBBZGQgYXZkdHBzcmMvYTJkcHNyYyB0byBidWlsZAoKMjAxMy0wMy0xNCAxMjo1ODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdXAgc29tZSBwcm9ibGVtcyB0aGF0IGNhbWUgaW4gd2l0aCBjaGVycnktcGljawoKMjAxMy0wMS0wOCAxMDoxOTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogV2Ugd29yayBpbiBUSU1FIGZvcm1hdCB3aXRoIGF2ZHRwc3JjCgoyMDEyLTEwLTI5IDE2OjQ1OjQ0ICswNTMwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBkZXByZWFjYXRpb24gd2FybmluZ3Mgb24gZ19tdXRleF8qCgoyMDEyLTEwLTI5IDE2OjQ1OjI1ICswNTMwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJICBibHVlejogRml4IGEgbnVtYmVyIG9mIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEwLTI5IDE1OjQ5OjAyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogRml4IHNvbWUgd2FybmluZ3MgaW4gZ3N0YXZkdHB1dGlsLmMKCjIwMTItMTAtMTIgMTg6NTI6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogRml4IHR5cG8gaW4gcmVzZXR0aW5nIHRoZSBELUJ1cyBjb25uZWN0aW9uCgkgIE5vIHJlYWwgZWZmZWN0IHNpbmNlIEZBTFNFIGFuZCBOVUxMIGFyZSBib3RoIDAKCjIwMTItMTAtMTEgMTU6NDg6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBIYW5kbGUgRU9GIGluIGF2ZHRwc3JjIGNvcnJlY3RseQoKMjAxMi0xMC0xMSAwODo1NzowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEZpeCBhdmR0cHNyYyBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgVGhpcyBpcyBub3cgYSBwcm9wZXIgc3Vic2V0IG9mIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxMi0xMC0xMSAwODozODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogQWRkIGFuIGEyZHBzcmMgYmluIGVsZW1lbnQKCSAgVGhpcyB3cmFwcyBhdmR0cHNyYyArIHJ0cHNiY2RlcGF5IGludG8gYSBzaW5nbGUgZWxlbWVudC4gd2hlbiBtb3JlCgkgIGZvcm1hdHMgYXJlIHN1cHBvcnRlZCBpbiBhdmR0cHNyYywgcGF5bG9hZGVyIHNlbGVjdGlvbiB3aWxsIG5lZWQgdG8gYmUKCSAgZG9uZSBkeW5hbWljYWxseS4KCSAgVGhpcyBjb3VsZCBhbHNvIGJlIGV4dGVuZGVkIHRvIGFjY2VwdCBhIGRldmljZSwgY29ubmVjdCB0byBpdCwgYW5kCgkgIHByb3ZpZGUgYXZkdHBzcmMgYSB0cmFuc3BvcnQgKGluc3RlYWQgb2YgcGFzc2luZyB0aHJvdWdoIGEgdHJhbnNwb3J0IGFzCgkgIGl0IGRvZXMgbm93KS4KCjIwMTItMTAtMTEgMDg6MjQ6MDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBGaXggYXZkdHBzcmMgY2xhc3NpZmljYXRpb24KCjIwMTItMTAtMTAgMjE6Mzg6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogQnVtcCB1cCBwcmlvcml0eSBmb3Igc29ja2V0cyBpbiBBVkRUUCBlbGVtZW50cwoJICBUaGlzIGlzIGJhc2VkIG9uIHRoZSBjb2RlIGluIFB1bHNlQXVkaW8uCgoyMDEyLTEwLTEwIDE5OjQ5OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEFkZCBhbiBhdmR0cHNyYyBlbGVtZW50CgkgIFNvdXJjZSBlbGVtZW50IHRoYXQgY29ubmVjdHMgdG8gYSBnaXZlbiB0cmFuc3BvcnQgYW5kIHJlYWRzIGF1ZGlvIG92ZXIKCSAgQVZEVFAuIERvZXMgbm90IHByb3ZpZGUgYSBjbG9jayBidXQgdXNlcyB0aGUgc3lzdGVtIGNsb2NrIHRvIHRpbWVzdGFtcAoJICBpbmNvbWluZyBwYWNrZXRzLiBPbmx5IFNCQyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLgoKMjAxMy0wMy0yOCAxNjo1MTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBhIGJveGVkIHR5cGUgZm9yIEdzdEVHTERpc3BsYXkKCjIwMTMtMDMtMjggMTM6MTg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNiYzogYWN0dWFsbHkgZW5hYmxlIHBsdWdpbiBpZiBsaWJzYmMgaXMgYXZhaWxhYmxlCgoyMDEzLTAzLTI3IDEzOjExOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IHBvcnQgZW5jb2RlciB0byBHc3RBdWRpb0VuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNiAxMzo1NTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvc2JjLXBsdWdpbi5jOgoJICBzYmM6IHBvcnQgZGVjb2RlciB0byBHc3RBdWRpb0RlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0xNiAxMTozNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJKiBleHQvc2JjL3NiYy1wbHVnaW4uYzoKCSAgc2JjOiBpbXBvcnQgc2JjIGRlY29kZXIvZW5jb2RlciBmcm9tIGJsdWV6IGFuZCBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI3IDIyOjI0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWVyZ2UgU0JDIGRlY29kZXIgYW5kIGVuY29kZXIgZnJvbSBibHVlegoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI2IDE2OjUwOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBuZXcgZWxlbWVudAoKMjAxMy0wMy0yNyAwMDo1NjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IHJlbW92ZSBwYXJzZXIgaW4gZmF2b3VyIG9mIG5ldyBHc3RCYXNlUGFyc2UtYmFzZWQgc2JjcGFyc2UgaW4gLWdvb2QKCjIwMTMtMDEtMDggMTA6MTk6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IHNiY2RlYzogbWFrZSBkZWNvZGVyIG1vcmUgcGVyZm9ybWFudAoJICBVc2UgYW4gYWRhcHRlciB0byBhY2N1bXVsYXRlIGlucHV0IGJ1ZmZlcnMuCgkgIERlY29kZSBhbGwgaW5wdXQgaW4gb25lIG91dHB1dCBidWZmZXIgd2hlbiBwb3NzaWJsZSB0byByZWR1Y2UgdGhlIGFtb3VudCBvZiBwdXNoCgkgIG9wZXJhdGlvbnMuCgoyMDEyLTEwLTMwIDE4OjQxOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IHNraXAgdGhlIGZyYW1lIG9uIGRlY29kaW5nIGVycm9yCgoyMDEyLTEwLTI5IDE3OjIyOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IHNldCBESVNDT05UIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTEwLTI5IDE3OjE5OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBzYmNkZWM6IGhhbmRsZSBESVNDT05UIGFuZCB0aW1lc3RhbXBzCgkgIFJlc2V0IHN0YXRlIG9uIGRpc2NvbnQuCgkgIEludGVycG9sbGF0ZSB0aW1lc3RhbXBzLgoKMjAxMi0xMC0wMyAxMjo0NzoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGF1ZGlvOiBNYWtlIHRoZSBzYmNkZWMgZWxlbWVudCBjb3B5IGJ1ZmZlciBtZXRhZGF0YQoJICBNYWtlcyBzdXJlIHdlIGRvbid0IGxvc2UgdGltZXN0YW1wcywgZXRjLgoKMjAxMi0xMC0yOSAxMjo0OTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogZW5jOiBzYmNfZ2V0X2ZyYW1lX2R1cmF0aW9uIGlzIGluIG1pbGxpc2Vjb25kcwoKMjAxMi0xMC0yOSAxMjozNzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogZGVjOiBjaGFpbiB1cCB0byBwYXJlbnQgYmVmb3JlIGRvd253YXJkIHN0YXRlIGNoYW5nZQoKMjAxMi0xMC0xMiAxODo1MzoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGF1ZGlvOiBGaXggYSBsZWFrIGluIHNiY2RlYwoKMjAxMi0wOS0yNiAwOTo1NDowMSArMDgwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogYXVkaW86IEluaXRpYWxpc2UgU0JDIGRhdGEgYmVmb3JlIHVzZSBpbiBzYmNwYXJzZSBlbGVtZW50CgoyMDEyLTA4LTIxIDExOjQ5OjI0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWVzIG9uIHBvaW50ZXIgZGVjbGFyYXRpb25zIGFuZCBjYXN0aW5nCgkgIEF2b2lkIHVzaW5nIEMrKyBzdHlsZSBwb2ludGVyIGRlY2xhcmF0aW9ucyBsaWtlICJjaGFyKiBwdHIiLCBhcyBtb3N0CgkgIEJsdWVaIGNvZGUgdXNlcyAiY2hhciAqcHRyIi4KCjIwMTItMDQtMTIgMjA6MzM6MDYgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogYXVkaW86IEZpeCBuZXdsaW5lIGJlZm9yZSBFT0YKCjIwMTEtMDctMDIgMTI6MzI6NDAgLTAzMDAgIEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmk+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggY29tbW9uIG1pc3NwZWxsZWQgd29yZHMKCSAgQWNjb3VudGluZyBvZiBtaXNzcGVsbGVkIHdvcmRzLCBhcyBkZXRlY3RlZCBieSBjb2Rlc3BlbGw6CgkgIGFjb3JkaW5nICAgICAgMgoJICBhbmNpbGxpYXJ5ICAgIDEKCSAgYXBwcm9waWF0ZSAgICAxCgkgIGF0cmlidXRlICAgICAgMQoJICBjYW50ICAgICAgICAgIDEKCSAgY29tbWluZyAgICAgICAyCgkgIGdyYWNlZnVsbCAgICAgMQoJICBsZW5naHQgICAgICAgIDEKCSAgbWlzcGVsbGVkICAgICAxCgkgIG9jY3VyZWQgICAgICAgMQoJICBvY2N1cmVuY2VzICAgIDEKCSAgb2N1cnJlZCAgICAgICAzCgkgIHByZWZlcmVkICAgICAgMQoJICBwcmVzZW5zZSAgICAgIDEKCSAgcmVwb25zZSAgICAgICAxCgkgIHNlcGVyYXRlICAgICAgMQoJICBzdWNjZXNmdWwgICAgIDEKCSAgc3VjY2Vzc3VsbHkgICAxCgkgIHN1Y2Vzc2Z1bGwgICAgMQoJICBzdWNlc3NmdWxseSAgIDEKCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBhdWRpbzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wNC0wMSAxMDo0NTozMCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA0LTAxIDEwOjI5OjMxIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTAxLTMwIDAwOjMxOjE1ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gaXNzdWUgd2l0aGluIEdTdHJlYW1lciBwbHVnaW4KCjIwMDktMDEtMTkgMTA6MjY6MjggKzAyMDAgIFNpYXJoZWkgU2lhbWFzaGthIDxzaWFyaGVpLnNpYW1hc2hrYUBnbWFpbC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IFVzZSBuYXRpdmUgYnl0ZSBvcmRlciBmb3IgYXVkaW8gaW4gR1N0cmVhbWVyIGFuZCBBTFNBIHBsdWdpbnMKCSAgVGhpcyBmaXhlcyBlbmRpYW5uZXNzIGluY29uc2lzdGVuY3kgYmV0d2VlbiBkZWZhdWx0IFNCQwoJICBjb25maWd1cmF0aW9uIGFuZCBHU3RyZWFtZXIvQUxTQS4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMyAwNDoyMTo1NyArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogQXNzaWduIHZhcmlhYmxlcyBhZnRlciBkZWNsYXJhdGlvbnMKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTE0IDIxOjIyOjM4ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBNYWtlIHVzZSBvZiBwYXJhbWV0ZXJzIHNlbGVjdGVkIGluIGFsc2EgcGx1Z2luIGFuZCBmaXggYXV0byBzZWxlY3Rpb24uCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDItMDEgMTk6Mjg6MzcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgYml0cG9vbCBwcm9wZXJ0eSBhbmQgb3RoZXJzIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0zMCAxNzozMDoyNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogRW5hYmxlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIGF1dG9jb25uZWN0IGZsYWcuCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTI0IDE0OjI1OjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggZ3RyZWFtZXIgcGF5bG9hZGVyIHNlbmRpbmcgZnJhZ21lbnRlZCBmcmFtZXMuCgoyMDA4LTAxLTIzIDEzOjE5OjMyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIG1wMyBzdXBwb3J0IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAwNy0xMS0yMyAxNzowMDoxMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBDb2RlIGNsZWFudXAuCgoyMDA3LTExLTIxIDIwOjI0OjExICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBJbnRlZ3JhdGUgbmV3IGlwYyBBUEkgaW1wbGVtZW50YXRpb24uCgoyMDA3LTExLTEzIDIwOjA0OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEFkZCBzYmNfcmVpbml0LgoKMjAwNy0xMS0xMiAyMjoyMTo0NSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBGaXggYnVnIGluIHNiY2VuYyB3aGVuIGNoYW5naW5nIGVuY29kZXIgcGFyYW1ldGVycy4KCjIwMDctMTEtMTIgMTg6MTU6NTkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogTWFrZSBzYmMgY29kZWMgdG8gd3JpdGUgZGlyZWN0bHkgaW4gYXBwbGljYXRpb24gYnVmZmVycyBhbmQgc28gYXZvaWRpbmcgbWVtY3B5cy4KCjIwMDctMTEtMDEgMTk6NDU6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCBzYmMgbmVnb3RpYXRpb24gYW5kIGltcHJvdmVzIGJ1ZmZlciBoYW5kbGluZyBieSB1c2luZyBHc3RBZGFwdGVyLgoKMjAwNy0xMS0wMSAxMzo1Njo1MSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBGaXggYnVmZmVycyB0aW1lc3RhbXBzIGluIHNiY2VuYy4KCjIwMDctMTAtMjkgMTU6MDI6MjYgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBiaXRwb29sIGNhcGFiaWxpdHkuCgoyMDA3LTEwLTI0IDIxOjUxOjM3ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogU29tZSBtb3JlIGNvZGluZyBzdHlsZSBjaGFuZ2VzCgoyMDA3LTEwLTI0IDIxOjM2OjI5ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBEb24ndCBmb3JnZXQgdG8gaW5jbHVkZSB0aGUgY29uZmlnIG9wdGlvbnMKCjIwMDctMTAtMjQgMjE6MzM6MTggKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggY29kaW5nIHN0eWxlIGlzc3VlcwoKMjAwNy0xMC0xOCAyMjo0NjoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgoKMjAwNy0xMC0xOCAyMTo0Nzo1MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeGVzIHNiY3BhcnNlciBlbGVtZW50LgoKMjAwNy0xMC0xOCAyMTo0Njo0OSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4ZXMgZm9yIGdzdHNiY2VuYy4KCjIwMDctMTAtMTggMjE6NDU6MTQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgZ3N0c2JjdXRpbC5jIGFuZCBnc3RzYmN1dGlsLmguCgoyMDA3LTA4LTI3IDE0OjEwOjAwICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRm9yY2UgTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIEJZVEVfT1JERVIgZm9yIG5vdwoKMjAwNy0wOC0yNiAxMzo1OTowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgcGFyc2luZyBzdXBwb3J0CgoyMDA3LTA4LTI2IDEzOjEyOjQ3ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEFkZCBtb2RlIHByb3BlcnR5IHRvIHRoZSBlbmNvZGVyCgoyMDA3LTA4LTI1IDE5OjMyOjAzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIGVuY29kaW5nIHN1cHBvcnQKCjIwMDctMDgtMjUgMTg6NTA6MjggKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogRml4IGNsYXNzIHZhcmlhYmxlIG5hbWluZwoKMjAwNy0wOC0yNSAxNzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBMaW1pdCB0aGUgc3VwcG9ydGVkIG91dHB1dCByYXRlcwoKMjAwNy0wOC0yNSAxNzowMzowMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBkZWNvZGluZyBzdXBwb3J0CgoyMDA3LTA4LTIzIDE5OjEyOjIzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEFkZCBTQkMgZW5jb2RlciBhbmQgZGVjb2RlciBza2VsZXRvbnMgZm9yIEdTdHJlYW1lcgoKMjAxMy0wMy0yNyAwOTowODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBNYWtlIHN1cmUgdGhhdCBhbGwgYnVmZmVycyBpbiBvdXIgcG9vbCBjb250YWluIG91ciBvd24gbWVtb3J5CgoyMDEzLTAzLTI2IDE1OjIyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogSW5pdGlhbCBwb3J0IHRvIDEuMAoJICBUaGlzIHNob3VsZCByZWFsbHkgdXNlIEdzdEF1ZGlvU2luayBhbmQgR3N0QXVkaW9TcmMuCgoyMDEzLTAzLTI2IDE1OjAxOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgd2FzYXBpOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTAzLTI2IDE0OjE1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciBjcm9wIG1ldGEKCjIwMTMtMDMtMjYgMTM6MjI6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiB3ZSBuZWVkIGEgcmVjZW50LWVub3VnaCBnbnV0bHMgZm9yIGhscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NTk3CgoyMDEyLTEyLTIyIDIxOjU5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBJbXBsZW1lbnQgYSBidWZmZXIgcG9vbCB0aGF0IHNoYXJlcyBEM0Qgc3VyZmFjZXMgd2l0aCB1cHN0cmVhbQoKMjAxMi0xMi0yMiAxOToxMjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbGxvY2F0ZSBhIG5ldyBvZmZzY3JlZW4gc3VyZmFjZSBmb3IgZXZlcnkgYnVmZmVyCgkgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIGEgYnVmZmVyIHBvb2wuCgoyMDEzLTAzLTI1IDE4OjA0OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVzZSAlMDN1IGZvciBmb3JtYXQgaW4gZ3N0X3BhZF9jcmVhdGVfc3RyZWFtX2lkX3ByaW50ZigpCgoyMDEzLTAzLTI1IDEzOjQ4OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IEZpeCBmaWx0ZXIgaGFuZGxpbmcgaW4gY2FwcyBuZWdvdGlhdGlvbiB0byBrZWVwIGZpbHRlciBjb250ZW50CgoyMDEzLTAzLTI1IDA5OjQ1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIGZvciBvYmpjCgkgIFRoZSBvYmotYyBhcGkgdmVyc2lvbiBvcHRpb24gaXMgcmVxdWlyZWQgdG8gZ2V0IGFwcGxlbWVkaWEgdG8KCSAgYnVpbGQgZm9yIGlvcywgb3RoZXJ3aXNlIGl0IHdvbid0IGZpbmQgc29tZSBzeW1ib2xzIGR1cmluZyBsaW5raW5nCgoyMDEzLTAzLTI1IDEwOjEwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlZDogc2V0IGJvdGggRFRTIGFuZCBQVFMKCSAgSGFuZGxlIGJvdGggZHRzIGFuZCBwdHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgoyMDEzLTAzLTEwIDEyOjE3OjA1ICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogcmVtb3ZlIHVudXNlZCBjdXJyZW50X3Byb2dyYW1fbnVtYmVyIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA5MzQKCjIwMTMtMDMtMjIgMTk6NDA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBzZW5kIHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgYWxzbyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBjb252ZXJ0aW5nIHRoZSBpbmNvbWluZyBzZWdtZW50IGZyb20gYnl0ZSB0byB0aW1lIGZvcm1hdCwKCSAgZG9uJ3QganVzdCBjb252ZXJ0IHRoZSBzdGFydC9zdG9wL3RpbWUgdmFsdWVzLCBidXQgYWxzbyBjaGFuZ2UKCSAgdGhlIHNlZ21lbnQgZm9ybWF0IHRvIFRJTUUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNjEKCjIwMTMtMDMtMjIgMTU6MzA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkIGlmIGdudXRscyBpcyBub3QgcHJlc2VudAoJICBTa2lwIGJ1aWxkIG9mIGhscyBwbHVnaW4gaWYgZ251dGxzIGhlYWRlcnMgY2FuJ3QgYmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzOTIKCjIwMTMtMDMtMjIgMTU6NDk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBVc2UgdGhlIGNvcnJlY3Qgc3RyaWRlcyBhcyB1c2VkIGJ5IHk0bSBhbmQgY29udmVydCB0byBHU3RyZWFtZXIgc3RyaWRlcyBpZiBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM2MQoKMjAxMy0wMy0yMiAxNToxOTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5oOgoJICBmbHVpZHN5bnRoOiByZW5hbWUgdG8gZmx1aWRkZWMKCSAgUmVuYW1lIHRoZSBmbHVpZHN5bnRoIHBsdWdpbiB0byBmbHVpZHN5bnRobWlkaSBhbmQgdGhlIGRlY29kZXIKCSAgdG8gZmx1aWRkZWMgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggYnV6enRhcmQuCgoyMDEzLTAzLTIyIDE0OjUyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogVXNlIHRoZSBkZWZhdWx0IGV2ZW50L3F1ZXJ5IGhhbmRsZXJzIGZvciB0aGUgZGVmYXVsdCBoYW5kbGluZwoJICBFc3BlY2lhbGx5IGRvbid0IGZvcndhcmQgY2FwcyBldmVudHMgZnJvbSB0aGUgc2lua3BhZCB0byB0aGUgc3JjcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MjgyCgoyMDEzLTAzLTIyIDE0OjM3OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogUHJvcGVybHkgaGFuZGxlIHNlZ21lbnQgYW5kIHRpbWUgdmFsdWVzIG9mIC0xCgoyMDEzLTAzLTIyIDE0OjQ4OjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBzZXQgbWlkaSBwYXJzZXIgcmFuayBwcmltYXJ5CgkgIE5vdyB0aGF0IGl0IHN1cHBvcnRzIHNlZWtpbmcgYW5kIGFsbCwgbWFyayBpdCBwcmltYXJ5CgoyMDEzLTAzLTIyIDEzOjQ5OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogYWx3YXlzIHNlZWsgYmFjayB0byBiZWdpbm5pbmcKCSAgV2UgYWx3YXlzIG5lZWQgdG8gc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgYmVjYXVzZSB3aGVuIHdlIGRvIGEgZmx1c2hpbmcgc2VlaywKCSAgd2UgbWlnaHQgaGF2ZSBsb3N0IGV2ZW50cyBkb3duc3RyZWFtLgoKMjAxMy0wMy0yMiAxMzo0ODoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogZml4IGRlYnVnIG9mIHNlZ21lbnQgc3RydWN0dXJlCgoyMDEzLTAzLTIyIDEzOjQ4OjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGhhbmRsZSBkaXNjb250CgoyMDEzLTAzLTIyIDEyOjI1OjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGltcGxlbWVudCBzZWVraW5nCgkgIFNlZWsgYmFjayB0byAwIGZvciBiYWNrd2FyZCBzZWVraW5nIGFuZCBsZXQgdGhpbmdzIHJ1biBhbmQgY2xpcCBmb3IgZm9yd2FyZHMKCSAgc2Vla2luZy4KCjIwMTMtMDMtMjIgMTI6MTY6NDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IHJlc2V0IG9uIGZsdXNoIGFuZCBzdGF0ZSBjaGFuZ2UKCjIwMTMtMDMtMjIgMTE6MDQ6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogYWRkIHByb3BlcnRpZXMKCSAgQWRkIHByb3BlcnRpZXMuCgkgIFRyeSB0byBmaW5kIGEgZ29vZCBkZWZhdWx0IHNvdW5kZm9udCB3aGVuIG5vdCBzcGVjaWZpZWQuCgoyMDEzLTAzLTIyIDA4OjU0OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBsb2cgbWlkaSB0aWNrIGV2ZW50CgoyMDEzLTAzLTIyIDA4OjU0OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiByZWRpcmVjdCBsb2dnaW5nIHRvIGdzdCBsb2dnaW5nIGZ1bmN0aW9ucwoKMjAxMy0wMy0yMSAxODoxODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNpbXBsaWZ5IHRoZSBjYWxsYmFja3MKCSAgV2Ugb25seSBuZWVkIG9uZSBjYWxsYmFjayB0byBzZW5kIGJ5dGVzIG91dC4KCjIwMTMtMDMtMjEgMTg6MTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGltcHJvdmUgZGVidWcKCjIwMTMtMDMtMjEgMTc6MjU6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBjbGVhbiB1cCB0cmFja3MKCjIwMTMtMDMtMjEgMTc6MTY6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogZG9uJ3QgbGVhayBtaWRpIGRhdGEKCjIwMTMtMDMtMjEgMTc6MDU6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogcHJvZHVjZSBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMKCjIwMTMtMDMtMjEgMTY6MDU6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzbWFsbCBjbGVhbnVwcyBpbiBlcnJvciBwYXRocwoKMjAxMy0wMy0yMSAxNjowNTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGR1cmF0aW9uIGlzIG1heCBvZiBhbGwgdHJhY2sgZHVyYXRpb25zCgoyMDEzLTAzLTIxIDE2OjA0OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogZml4IGtsYXNzCgoyMDEzLTAzLTIxIDE1OjQzOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IEluY2x1ZGUgc3RyaW5nLmggZm9yIG1lbWNweSgpCgoyMDEzLTAzLTIxIDE1OjAwOjE2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IFVwZGF0ZSBkdXJhdGlvbgoJICBSZXdvcmsgdGhpbmdzIGEgYml0IHNvIHRoYXQgd2UgY2FuIHJ1biBvdmVyIHRoZSBtaWRpIGV2ZW50cyBhbmQgZmlyZSBjYWxsYmFja3MKCSAgZm9yIGVhY2ggb2YgdGhlbS4gV2UgY2FuIHRoZW4gdXNlIHRoYXQgZm9yIGNhbGN1bGF0aW5nIHRoZSBkdXJhdGlvbiBhbmQgYWxzbyBmb3IKCSAgZG9pbmcgcGxheWJhY2suCgkgIE9ubHkgcGFyc2UgYXMgbWFueSB0cmFja3MgYXMgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIuCgkgIEZpeCBkZWZhdWx0IHRlbXBvOwoJICBTZW5kIE1JREkgdGljayBldmVudHMgZXZlcnkgMTBtcwoKMjAxMy0wMy0yMSAxNDo1Nzo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDMtMjEgMDk6MzA6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBoYW5kbGUgbWlkaSBpbiBSSUZGCgoyMDEzLTAzLTIxIDA3OjIxOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc21hbGwgZml4ZXMKCjIwMTMtMDMtMjEgMDc6MDc6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IHNldCByYW5rIGFzIG1hcmdpbmFsCgkgIFNldCB0aGUgbWFyayB0byBtYXJnaW5hbCB1bnRpbCB3ZSBpbXBsZW1lbnQgbW9yZSBmZWF0dXJlcy4KCjIwMTMtMDMtMjEgMDc6MDU6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBhZGQgZmx1aWRzeW50aCBtaWRpIHJlbmRlcmVyCgkgIEFkZCBhIGZsdWlkc3ludGggZWxlbWVudCB0aGF0IGNvbnZlcnRzIG1pZGkgZXZlbnRzIGludG8gcmF3CgkgIGZsb2F0IHNhbXBsZXMuCgoyMDEzLTAzLTIxIDA2OjUwOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvbWlkaS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogYWRkIGJhc2ljIG1pZGkgcGFyc2VyCgkgIFBhcnNlcyBtaWRpIGZpbGVzIGFuZCBvdXRwdXRzIGJ1ZmZlcnMgd2l0aCBtaWRpIGV2ZW50cy4KCjIwMTMtMDMtMjAgMTU6Mjk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkgIGl2dGM6IGZpeCBtYWtlIGRpc3QKCjIwMTMtMDMtMjAgMTU6MjU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBEaXN0IGhscyBhcyB3ZWxsCgoyMDEzLTAzLTIwIDE1OjE5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhY3R1YWxseSBidWlsZCBobHMgcGx1Z2luCgoyMDEzLTAzLTIwIDEwOjQ5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMTkgMTY6Mzk6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0Lmg6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5oOgoJICBjb21iZGV0ZWN0LGl2dGM6IGNvZGUgY2xlYW51cAoKMjAxMy0wMy0xOSAxNzoyODoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiByZW1vdmUgc2lua3BhZC9zcmNwYWQgZmllbGRzCgkgIEluZm9ybWF0aW9uIGlzIGluIHRoZSBiYXNlIGNsYXNzIGFueXdheSwgcGx1cyBwYWQgY3JlYXRpb24gd2FzCgkgIGRvbmUgaW5jb3JyZWN0bHkuCgoyMDEzLTAzLTE5IDEyOjE5OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogb3V0cHV0IHByb2dyZXNzaXZlIHZpZGVvCgoyMDEzLTAzLTE4IDE2OjIyOjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogY29kZSBjbGVhbnVwCgoyMDEzLTAzLTEyIDE3OjQ3OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSAgY29tYmRldGVjdDogc3dpdGNoIHRvIHplYnJhIHN0cmlwaW5nCgoyMDEzLTAzLTA4IDE3OjAyOjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogZHJvcCBlYXJseSBmaWVsZHMKCjIwMTMtMDItMjAgMTU6MzI6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0Lmg6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5oOgoJICBpdnRjOiBuZXcgaW52ZXJzZSB0ZWxlY2luZSBmaWx0ZXIKCSAgVGhpcyBmaWx0ZXIgY29udmVydHMgaW50ZXJsYWNlZCBjb250ZW50IHRoYXQgd2FzIG9yaWdpbmFsbHkKCSAgdGVsZWNpbmUnZCBmcm9tIDI0IGZwcyAob3Igc2ltaWxhcikgcHJvZ3Jlc3NpdmUgY29udGVudC4gIEl0IHdvcmtzCgkgIGFwcHJveGltYXRlbHkgbGlrZSB2aWRlb3JhdGUsIGJ1dCB3aXRoIGF3YXJlbmVzcyBvZiBpbnRlcmxhY2luZy4KCSAgSXQgbWVyZ2VzIG5laWdoYm9yaW5nIGZpZWxkcyBpbiB0aGUgaW5wdXQgaW50ZXJsYWNlZCBzdHJlYW0gd2l0aAoJICB0aGUgZ29hbCBvZiBtaW5pbWl6aW5nIGNvbWJpbmcgYXJ0aWZhY3RzLCB3aGlsZSBrZWVwaW5nIHRoZSBvdXRwdXQKCSAgZnJhbWVyYXRlIGNvbnN0YW50LiAgSWYgaXQgY2Fubm90IGF2b2lkIGNvbWJpbmcgYXJ0aWZhY3RzLCBpdCB3aWxsCgkgIHJlY29uc3RydWN0IHRoZSBpbWFnZSBmcm9tIGEgc2luZ2xlIGZpZWxkLiAgTm90ZSB0aGF0IHRoaXMgZmlsdGVyCgkgIGRvZXMgbm90IGF1dG9kZXRlY3QgdGhlIGZyYW1lcmF0ZSwgYnV0IHdpbGwgYXV0b21hdGljYWxseSBmaXhhdGUKCSAgYXQgMjQgZnBzLgoKMjAxMy0wMy0xOSAxNDozMToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IEZpeCBzb21lIHJldHVybiB2YWx1ZXMgaW4gZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoKMjAxMy0wMy0xOSAxMzo1NDowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IGV2ZW50IGFuZCBxdWVyeSBoYW5kbGVyCgkgIENhbGwgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIHVua25vd24gZXZlbnRzIGFuZCBxdWVyaWVzLgoJICBGaXggZXZlbnQgbGVhay4KCjIwMTMtMDMtMTkgMTA6NDc6MjUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5oOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgTWFrZSB0aGUgaGxzIHBsdWdpbiBkZXBlbmQgb24gZ251dGxzIGFuZCBtb3ZlIHRvIGV4dC9obHMvCgkgIGdudXRscyBpcyB1c2VkIHRvIGltcGxlbWVudCBBRVMgZGVjcnlwdGlvbgoKMjAxMy0wMy0xOSAxMDoyNjoxNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1c2UgZ251dGxzIGluc3RlYWQgb2Ygb3BlbnNzbAoKMjAxMy0wMy0xOSAwODo0OToyMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IHN1cHBvcnQgZW5jcnlwdGVkIHN0cmVhbXMKCjIwMTMtMDMtMTkgMTA6MTQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICBwb3J0IHdpbGRtaWRpCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwNDEKCjIwMTMtMDMtMTggMjE6MTI6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IG9idGFpbiBjbGFzcyBmcm9tIG9iamVjdAoKMjAxMy0wMy0xOCAyMTowMTo1OSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbnZhbGlkIGZyZWUoKSBpbnRyb2R1Y2VkIGJ5IGxhc3QgY29tbWl0CgoyMDEzLTAzLTA3IDIyOjE5OjE1ICswMDAwICBLZXZpbiBUaG9ybmJlcnJ5IDxnaW1tZWFtaWxrYnR0ZkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSAgbXBlZ3RzbXV4OiBmaXggY3JlYXRpb24gb2YgQURUUyBoZWFkZXIgZm9yIEFBQyBhdWRpbyBpbiBNUEVHLVRTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU0MTIKCjIwMTMtMDMtMTggMDc6MzQ6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogcGFyc2UgI0VYVC1YLUtFWSB0YWdzCgoyMDEzLTAzLTE4IDA3OjIyOjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZmFjdG9yIG91dCBVUkkgam9pbmluZyB1dGlsaXR5CgoyMDEzLTAzLTE4IDA3OjAyOjU0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZml4IFVSSSBwYXJzaW5nIGZvciBhYnNvbHV0ZSBmcmFnbWVudCBwYXRocwoKMjAxMy0wMy0xNiAyMzozMjoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBzZXQgZGlzY29udCBmbGFnIG9uIGZpcnN0IGF1ZGlvIGJ1ZmZlciB0b28KCjIwMTMtMDMtMTYgMjM6Mjk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogYWdncmVnYXRlIGF1ZGlvIGFuZCB2aWRlbyBmbG93IHJldHVybnMKCSAgQW5kIHBhdXNlIHRhc2sgaW4gc29tZSBtb3JlIGNhc2VzIHdoZXJlIHdlIHNob3VsZAoJICBwYXVzZSB0aGUgdGFzay4KCjIwMTMtMDMtMTYgMjE6Mzk6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IGFkZCBzZW5kX2V2ZW50IGhhbmRsZXIgc28gYXBwbGljYXRpb24gY2FuIGluamVjdCBFT1MgZXZlbnQKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2h1dCBkb3duIGEgcmVjb3JkaW5nIHBpcGVsaW5lIGNsZWFubHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3MDAKCjIwMTMtMDMtMTYgMjE6MzQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogcGF1c2Ugc3RyZWFtaW5nIHRocmVhZCBhbmQgc2VuZCBFT1MgZXZlbnQgb24gZXJyb3IKCSAgSW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gRU9TIG1lc3NhZ2UgYW5kIGNvbnRpbnVpbmcsCgkgIGFjdHVhbGx5IHBhdXNlIHRoZSB0aHJlYWQuCgoyMDEzLTAzLTE2IDEzOjEzOjE0IC0wNDAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGltcHJvdmUgcmVhZGFiaWxpdHkgb2YgUkdCIGFuZCBYWSBwcm9wZXJ0eSBuaWNrbmFtZSBzdHJpbmdzCgkgIEFsc28gZml4IHRoZSBZIHByb3Agbmlja25hbWUgc3RyaW5nIGJlaW5nIGluY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg4NAoKMjAxMy0wMy0xNiAxMzowNzoyNSAtMDQwMCAgSmVhbi1GcmFuw6dvaXMgRm9ydGluIFRhbSA8bmVrb2hheW9AZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBmaXggbmlja25hbWVzIGZvciBjb2xvciBhbmQgcG9zaXRpb24gcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODg0CgoyMDEzLTAzLTE1IDIwOjIxOjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYXJrIGRlY2tsaW5rIGFzIHBvcnRlZAoKMjAxMy0wMy0xNSAwMDoyNTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZWxlbWVudC1tYWtlcjogY2xlYW4gdXAgYml0cyBmcm9tIHByZXZpb3VzIGNvbW1pdAoJICBGaWxlcyB0aGF0IHdlcmUgc3VwcG9zZWQgdG8gYmUgaW4gdGhlIHByZXZpb3VzIGVsZW1lbnQtbWFrZXIKCSAgY29tbWl0LiAgVGhpcyBpcyB3aGF0IGhhcHBlbnMgd2hlbiBjaGVycnktcGljayBkb2Vzbid0IHdvcmsuCgoyMDEzLTAzLTE1IDE3OjQ3OjIzICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIHRvb2xzOiBGaXggbWFrZSBkaXN0CgkgIE1pc3NpbmcgYml0cyBvZiBiNDVhMWRmNWRlYWRiMDI5ZGNiZTQ1MjJmMDExNmQzNGYxY2QyZjFlCgoyMDEzLTAzLTE1IDA5OjI5OjQyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBmaXggY29tcGlsYXRpb24gd2FybmluZyByZXR1cm5pbmcgTlVMTCBpbiBjYXNlIG9mIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4OTcKCjIwMTMtMDMtMTUgMDk6Mjc6MzYgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkgIHNydHA6IHVzZSBjb25zdGFudCBBRVNfMTI4X0lDTSBpbnN0ZWFkIG9mIEFFU19JQ00gdGhhdCBpcyBub3QgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg5NwoKMjAxMy0wMy0wMSAxNjo1Mjo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJICB2aWRlb3NlZ21lbnRjbGlwOiBEb24ndCBsZWFrIGJ1ZmZlcnMgYWZ0ZXIgc2VnbWVudAoKMjAxMy0wMy0xMiAxNzozMjo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBGSVhNRSBmb3IgZnV0dXJlIHJldml2YWwKCjIwMTMtMDMtMTQgMjM6NTc6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9kZWNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2VuY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9kZWNvZGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvc2luazoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSB0ZW1wbGF0ZXMgZm9yIDEuMAoJICBUaGlzIGFyZSAoYWxtb3N0KSBjb21wbGV0ZWx5IGF1dG9nZW5lcmF0ZWQgZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMTMtMDItMDUgMTY6MzQ6MjAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmRlbXV4OiBBZGQgYSBzZWNvbmQgTVhGIFVMIGZvciB1bmNvbXByZXNzZWQgYXVkaW8KCjIwMTMtMDItMDUgMTU6NTg6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogSWdub3JlIG1pc3NpbmcgbWV0YWRhdGEgZGVzY3JpcHRvcnMKCjIwMTMtMDMtMTQgMTI6MDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBzdG9wIHRhc2tzIGluIHBhdXNlZAoJICBBIG5vbi1saXZlIGVsZW1lbnQgaXMgc3VwcG9zZWQgdG8gY29udGludWUgc3RyZWFtaW5nIGluIHRoZSBwYXVzZWQgc3RhdGUgc28KCSAgZG9uJ3Qgc3RvcCB0aGUgdGFza3Mgd2hlbiBnb2luZyB0byBwYXVzZWQuCgkgIFdlIGFsc28gYWx3YXlzIHdhbnQgdG8gc3RhcnQgdGhlIHVwZGF0ZSB0YXNrIGFmdGVyIHdlIHByZXJvbGxlZCBlbm91Z2ggZGF0YSwKCSAgbm90IG9ubHkgaW4gdGhlIHBsYXlpbmcgc3RhdGUuCgoyMDEzLTAzLTE0IDEyOjA4OjM1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIG1vcmUgZGVidWcKCjIwMTMtMDMtMTMgMTI6NTA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBkaWZmZXJlbnQgRUdMSW1hZ2Ugb3JpZW50YXRpb25zCgoyMDEzLTAzLTEzIDExOjI5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBvcmllbnRhdGlvbnMgb2YgdGhlIEVHTEltYWdlCgkgIFRoZSBjb250ZW50IG9mIHRoZSBFR0xJbWFnZXMgY2FuIGJlIGF0IGxlYXN0IGluIEdTdHJlYW1lciBvcmllbnRhdGlvbiwKCSAgbWVhbmluZyB0b3AgbGluZSBmaXJzdCBpbiBtZW1vcnksIG9yIE9wZW5HTCBvcmllbnRhdGlvbiwgbWVhbmluZwoJICBib3R0b20gbGluZSBmaXJzdCBpbiBtZW1vcnkuCgoyMDEzLTAzLTEzIDExOjA5OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgUkdCQSB0byB0aGUgY2FwcyBhZ2FpbgoKMjAxMy0wMy0xMyAwMDoyNTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogZml4IHVwIG1wZWd0c211eCB1bml0IHRlc3QgYWZ0ZXIgY29sbGVjdHBhZHMgY2hhbmdlCgkgIEl0IHdhcyBwYXNzaW5nIGV4cGVjdGVkIGZsb3cgcmV0dXJucyAod2hpY2ggbWlnaHQgYmUgbmVnYXRpdmUpCgkgIGluIHRoZSBidWZmZXIgdGltZXN0YW1wIGZpZWxkLCB3aGljaCB3YXMgbWF5YmUgbm90IHRoZSBiZXN0CgkgIGlkZWEuCgoyMDEzLTAzLTExIDIxOjU1OjI4IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggaW1wcm9wZXIgdmlkZW8gZnJhbWUgY2xlYXIgb3BlcmF0aW9uCgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgbWVtc2V0dGluZyB0aGUgR3N0VmlkZW9GcmFtZS5kYXRhIGFkZHJlc3MgdG8gMHMgKHdoaWNoCgkgIGNhdXNlcyBhIHNlZ2ZhdWx0KS4gVGhpcyBtZW1iZXIgaXMgYWN0dWFsbHkgYW4gYXJyYXkgb2YgZGF0YSBidWZmZXJzIChvbmUgZm9yCgkgIGVhY2ggcGxhbmUpLiAgVGhpcyBmaXggaXRlcmF0ZXMgb3ZlciBlYWNoIGRhdGEgcGxhbmUgdG8gY2xlYXIgdGhlbSBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU2NTUKCjIwMTMtMDMtMTIgMTk6NDc6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvLmdpdGlnbm9yZToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHA6IEFkZCBTUlRQIHBsdWdpbiBiYXNlZCBvbiBsaWJzcnRwCgkgIEluIGxhcmdlIHBhcnQgdGhlIHdvcmsgb2YgR2FicmllbCBNaWxsYWlyZQoKMjAxMy0wMy0xMiAxOTozNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRoZSBidWZmZXIgaXMgcmVsZWFzZWQgdG8gdGhlIHBvb2wgaWYgaXQncyB0aGUgbGFzdCB1c2VkIG9uZQoKMjAxMy0wMy0xMCAyMjowNjozMSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSAgYXBwbGVtZWRpYTogc3VwcHJlc3Mgd2FybmluZ3MgZm9yIGRlcHJlY2F0ZWQgZ2xpYiBBUEkKCjIwMTMtMDMtMTAgMjE6MjE6MTcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBVc2UgY29ycmVjdCBwcmludCBmb3JtYXQgc3BlY2lmaWVycyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDkgMDE6MDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgUmVtb3ZlIERUTUYgcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NDE2CgoyMDEzLTAzLTA5IDAwOjE3OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJICBmYmRldjogcG9ydCBmYmRldnNpbmsgdG8gMS4wCgoyMDEzLTAzLTA3IDExOjU4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBUaGVyZSBhcmUgb25seSB0d28gR0xTTCBwcm9ncmFtcywgbm90IHRocmVlCgoyMDEzLTAzLTA3IDExOjUwOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBnc3RfYnVmZmVyX3Bvb2xfY29uZmlnX2dldF9hbGxvY2F0b3IoKSBkb2VzICpub3QqIHJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIGFsbG9jYXRvcgoJICBEaWZmZXJlbnQgdG8gZ3N0X3F1ZXJ5X2dldF9uX2FsbG9jYXRpb25fcGFyYW1zKCkgd2hpY2ggZG9lcwoKMjAxMy0wMy0wNyAwMDowMTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWUwNTU1OCB0byAwNGM3YTFlCgoyMDEzLTAzLTA2IDE3OjUzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYWxsb2NhdGlvbiBvZiBSR0JBIHRleHR1cmVzCgoyMDEzLTAzLTA2IDEwOjUzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gc2V0IHRoZSBOT19TSEFSRSBmbGFnIG9uIHRoZSBFR0xJbWFnZSBtZW1vcmllcwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTIwMwoKMjAxMy0wMy0wNSAxMjo0NzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWx3YXlzIHVzZSBhbiBSR0JBIGNvbmZpZ3VyYXRpb24KCjIwMTMtMDItMjcgMTM6MTU6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogQWRkIGVnbCBsaWJyYXJ5IHRvIHRoZSBnZW5lcmljIHBrZy1jb25maWcgZmlsZQoKMjAxMy0wMi0yNSAxMzo0MzoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgbmVnb3RpYXRlIGFuIGFsbG9jYXRvcgoKMjAxMy0wMi0yNSAxMzozMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFJlbmFtZSBnc3RfZWdsX2ltYWdlX21lbW9yeV9jYW5fbWFwKCkgdG8gaXNfbWFwcGFibGUoKQoKMjAxMy0wMi0yNSAxMzoyNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IFJlbW92ZSBidWZmZXIgcG9vbCBvcHRpb24KCSAgVGhpcyBzaG91bGQgYmUgZG9uZSBkaWZmZXJlbnRseSB2aWEgdGhlIGFsbG9jYXRvcnMgaW4gdGhlIGFsbG9jYXRpb24gcXVlcnkuCgoyMDEzLTAyLTIyIDEzOjA3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogTWFyayBtZW1vcnkgYXMgbm90IG1hcHBhYmxlIGlmIGl0IGlzbid0CgoyMDEzLTAyLTIyIDEyOjQ4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogSW1wbGVtZW50IHNoYXJpbmcgb2YgbWVtb3J5CgoyMDEzLTAyLTIyIDExOjIzOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTdG9yZSBhIHJlZmVyZW5jZSB0byB0aGUgbGFzdF9idWZmZXIgaWYgdXNpbmcgRUdMSW1hZ2VzCgoyMDEzLTAyLTIyIDEwOjU4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBSUGkKCjIwMTMtMDItMjEgMTc6NDM6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IHRvIG5ldyBFR0wgbGlicmFyeQoKMjAxMy0wMi0yMSAxNDo0MDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2w6IE1vdmUgY29uZmlndXJlIGNoZWNrcyBhcm91bmQgYW5kIHJlLXVzZSBmb3IgZWdsZ2xlc3NpbmsgcGx1Z2luCgoyMDEzLTAyLTIxIDEzOjM5OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC5wYy5pbjoKCSAgZWdsOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIEVHTEltYWdlIGhhbmRsaW5nCgoyMDEzLTAzLTAzIDEyOjMwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IE9ubHkgaW5jbHVkZSA8Z3N0L2F1ZGlvL2F1ZGlvLmg+CgoyMDEzLTAzLTAzIDEyOjMwOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBtcGVndHNkZW11eDogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6MzA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgY29ycmVjdCB0eXBlIHNwZWNpZmllcnMgZm9yIGZvcm1hdCBzdHJpbmdzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjoyOTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVXNlIGNvcnJlY3QgdHlwZSBzcGVjaWZpZXJzIGZvciBmb3JtYXQgc3RyaW5ncyB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDMtMDMgMTI6Mjk6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHU1RfRVJST1JfT0JKRUNUKCkgcGFyYW1ldGVycwoKMjAxMy0wMy0wMyAxMDo1NDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IEZpeCBjb21waWxlciB3YXJuaW5nIGNhdXNlZCBieSB3cm9uZyBmb3JtYXQgc3BlY2lmaWVyCgoyMDEzLTAzLTAxIDE1OjU4OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdHMgZm9yIHNobXNpbmsvc2htc3JjCgoyMDEzLTAzLTAxIDAwOjEwOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2UgcGtnZGF0YWRpciBsb2NhbGx5IHRvIGNvbnN0cnVjdCBwYXRoIGZvciBjdXN0b20gaGFhciBjYXNjYWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEzLTAxLTMwIDE0OjM3OjE4ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIG9wZW5jdjogcG9ydCBoYW5kZGV0ZWN0IGVsZW1lbnQgdG8gMS4wIGFuZCBhZGQgdG8gYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMy0wMS0yNyAxOTowNToyNyArMDIwMCAgQW5kb2wgTGkgPGFuZG9sQGFuZG9sLmluZm8+CgoJKiBleHQvb3BlbmN2L2Zpc3QueG1sOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcGFsbS54bWw6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgb3BlbmN2OiBhZGQgaGFuZGRldGVjdCBwbHVnaW4sIGluaXRpYWwgaW1wbGVtZW50YXRpb24KCSAgVGhlIGhhbmRkZXRlY3QgcGx1Z2luIGlzIGZvciBkZXRlY3RpbmcgaGFuZCBnZXN0dXJlcyB1c2luZwoJICBvcGVuY3YuCgkgIEl0IHdhcyBjcmVhdGVkIGluIHRoZSBjb3Vyc2Ugb2YgdGhlIEdvb2dsZSBTdW1tZXIgb2YgQ29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTY1NQoKMjAxMi0wOS0yNiAxNjowMDozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBBZGQgY3VzdG9tIGFsbG9jYXRvciB0byBhbGxvdyBmb3IgemVyby1jb3B5IHNoYXJlZCBtZW1vcnkgdXNlCgoyMDEzLTAyLTI4IDE4OjEzOjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogRG9uJ3QgbGVhayBzb2NrZXQgcGF0aAoKMjAxMy0wMi0yOCAyMDoyMjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIC5naXRpZ25vcmU6CgkgIGV4YW1wbGVzOiBpZ25vcmUgbmV3IHRlc3QtdXZjaDI2NCBiaW5hcnkKCjIwMTMtMDItMjggMjA6MTE6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlcG9ydCBlbGVtZW50IGNyZWF0aW9uIGZhaWx1cmVzIGJldHRlciBhbmQgZml4IHVwIExJQlMKCjIwMTMtMDItMjggMjA6MDk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB0ZXN0czogdXBkYXRlIHNvbWUgZWxlbWVudCBuYW1lcyBmb3IgMS4wCgoyMDEzLTAyLTI4IDIwOjAyOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZmluZCB1bmluc3RhbGxlZCBnc3QtbGliYXYgcGx1Z2lucyBmb3IgdW5pdCB0ZXN0cwoKMjAxMy0wMi0yOCAxODo1NDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgbm90IHRlc3RlZCB5ZXQuCgoyMDEzLTAyLTI4IDE4OjUzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGFkZCBsYXlvdXQ9aW50ZXJsZWF2ZWQgdG8gYXVkaW8gY2FwcwoKMjAxMi0xMS0wOCAxMzoyMjo0MSAtMDgwMCAgQmxha2UgVHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogdXNlIE9fQ0xPRVhFQyB3aGVyZSBhcHByb3ByaWF0ZSBpbiBzaG1waXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQzMzkKCjIwMTMtMDItMjggMTY6NTU6MDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggY2FwcyBsZWFrCgoyMDEzLTAyLTI4IDEzOjI1OjA2ICswMTAwICBKb25hcyBIb2xtYmVyZyA8am9uYXNoZ0BheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IHVzZSByZWxhdGl2ZSBpbmNsdWRlIGZvciBvdXQtb2YtdHJlZSBidWlsZHMgaW4gZHRtZiB0ZXN0CgoyMDEzLTAyLTI4IDEyOjA0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IGdzdF92aWRlb19zaW5rX2NlbnRlcl9yZWN0KCkgdGFrZXMgdGhlIHN0cnVjdHMgaXRzZWxmIGluc3RlYWQgb2YgcG9pbnRlcnMgYXMgZmlyc3QgcGFyYW1ldGVycwoKMjAxMy0wMi0yOCAxMToyNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYXNwZWN0LXJhdGlvIGlzc3VlcyBjYXVzZWQgYnkgc2NhbGluZyBvbiBSUGkKCjIwMTMtMDItMjcgMjE6MDU6MzggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBFcnJvciBvdXQgaWYgbWVtb3J5IGFyZWEgaXMgc21hbGxlciB0aGFuIGJ1ZmZlcgoKMjAxMy0wMi0yNyAyMDo1Nzo1NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSAgc2htOiBNYWtlIHN1cmUgdG8gbm90IGFsbG9jYXRlIGJsb2NrcyBsYXJnZXIgdGhhbiB0aGUgc2hhcmVkIG1lbSBhcmVhCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEzNTkKCjIwMTMtMDItMjcgMTg6NTY6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdHMgZm9yIGR0bWZzcmMKCjIwMTMtMDItMjcgMjM6Mjc6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBwb3J0IHRvIDEuMAoJICBDb21waWxlcywgbm90IHRlc3RlZCB5ZXQuIEEgZ3JlYXQgbnVtYmVyIG9mIHN1cGVyZmx1b3VzIGN1c3RvbQoJICBwYWQgZnVuY3Rpb25zIG1heSBoYXZlIGJlZW4gaGFybWVkIGluIHRoZSBtYWtpbmcgb2YgdGhpcyBwb3J0LgoKMjAxMy0wMi0yNyAxNjoxNToyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEZpeCByZWYgbGVhayBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjcgMTM6MTQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnLWNvbmZpZzogTWFrZSB0aGUgZ2VuZXJpYyBwa2ctY29uZmlnIGZpbGUgbW9yZSB1c2VmdWwKCjIwMTMtMDItMjMgMDk6MTE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjZGVjOiBVc2UgbmV3IEdTVF9NRU1PUllfRkxBR19DT05USUdVT1VTIGluc3RlYWQgb2YgcmVxdWlyaW5nIGEgc3BlY2lmaWMgbWVtb3J5IHR5cGUKCjIwMTMtMDItMTkgMTM6MDA6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGQgYWxsIHN1cHBvcnRlZCB2aWRlbyBmb3JtYXRzIHRvIHRlbXBsYXRlIGNhcHMKCSAgV2Ugbm93IHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9jb21wb3NpdGlvbl9ibGVuZCgpLCBzbyBjYW4gc3VwcG9ydAoJICBhbGwgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhhdCwgbm90IGp1c3QgSTQyMC4KCjIwMTMtMDItMTkgMTE6MjQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBwcm94eSB0aGUgYWxsb2NhdGlvbiBxdWVyeQoJICBQYXNzIGFsbG9jYXRpb24gcXVlcnkgZG93bnN0cmVhbS4KCjIwMTMtMDItMTkgMTE6MTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBkb24ndCBmb3J3YXJkIENBUFMgZXZlbnQgZnJvbSBzdWJ0aXRsZSBwYWQKCSAgTWF5IHJlc3VsdHMgaW4gbm90LW5lZ290aWF0ZWQgZmxvdyBlcnJvcnMgb3RoZXJ3aXNlLgoKMjAxMy0wMi0xNiAwMjo0NDoxOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb250YWN0IGluZm9ybWF0aW9uCgoyMDEzLTAyLTE2IDAyOjM4OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogZml4IGdzdF9idWZmZXJfZ2V0X2NvcmVfbWVkaWFfbWV0YSBtYWNybwoKMjAxMy0wMi0xNiAwMjozNzoxMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0ZW5jIHRvIDEuMAoKMjAxMy0wMi0xNiAwMjozMToyOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogcmVwbGFjZSB1c2FnZSBvZiBkZXByZWNhdGVkIGdzdF9wYWRfc2V0X2NhcHMoKSBpbiB2dGRlYwoKMjAxMy0wMi0xNiAwMjoyNjo1MSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGVhdnJAc291bmRyb3AuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGFwaSB0byBydW4gb24gT1MgWCAxMC44CgoyMDEzLTAyLTE1IDA4OjIwOjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkgIGZyZWV2ZXJiOiByZW1vdmUgY2hhbm5lbC1tYXNrIGZyb20gY2FwcwoJICBUaGUgY2hhbm5lbC1tYXNrIGlzIG9ubHkgbmVlZGVkIGZvciBjaGFubmVscz4yIHdoaWNoIHdlIGRvbid0IGRvLgoKMjAxMy0wMi0xNCAxMDo0Mzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IGZpeCBoMjY0IGNhcHMgaW4gbXBlZ3RzbXV4IHRlc3QKCSAgTmVlZHMgdG8gYmUgc3RyZWFtLWZvcm1hdD1ieXRlLXN0cmVhbSwgbm90IGZvcm1hdD1ieXRlLXN0cmVhbS4KCjIwMTMtMDItMTQgMTA6NDA6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICB0ZXN0czogZml4IGZhYWQgdW5pdCB0ZXN0IGZvciBnc3RfY2Fwc19pc19zdWJzZXQoKSBmaXggaW4gY29yZQoJICBOZWVkIHRvIHNwZWNpZnkgdGhlIHN0cmVhbS1mb3JtYXQuCgoyMDEzLTAyLTE0IDA5OjQwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIFJldmVydCAibXBlZzR2aWRlb3BhcnNlOiBzZXQgMCBkdXJhdGlvbiB3aGVuIHZvcF9jb2RlZCBpcyAwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzMjE5YTI2MWE1YTdiNzM0MGI2M2M4MDAxMDAwOWE3M2IwMzI3NTkuCgkgIHZvcF9jb2RlZCAwIG1lYW5zIHRoYXQgdGhlIHByZXZpb3VzIGZyYW1lIHNob3VsZCBiZSByZXBlYXRlZCwKCSAgc28gaXQgc2hvdWxkIGhhdmUgdmFsaWQgZHVyYXRpb24gYWZ0ZXIgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTY5CgoyMDEzLTAyLTE0IDA5OjAzOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkgIGluc2VydGJpbjogbWFyayBhcyB1bnN0YWJsZSBBUEkKCjIwMTMtMDItMTQgMDk6MDI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBmaXggdXAgZ3RrLWRvYyBjaHVuayBhbmQgYWRkIHNpbmNlIG1hcmtlcnMKCjIwMTMtMDItMTMgMTU6MDA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHRlc3RzOiBwb3J0IHV2Y2gyNjQgdGVzdCB0byAxLjAKCSAgRml4ZXMgJ21ha2UgY2hlY2snIGJ1aWxkLgoKMjAxMy0wMi0xMyAxNToyMDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBDbG9zZSB0aGUgZGlzcG1hbiBkaXNwbGF5IG9uIFJQaSBhZnRlciB1c2FnZQoKMjAxMy0wMi0xMyAxNTowOTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRm9yIFJQaSwgaW5pdGlhbGl6ZSBiY21faG9zdCBpbiBwbHVnaW5faW5pdCgpCgoyMDEzLTAyLTEzIDE1OjA2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gY2hlY2sgZm9yIGFsbCB0aGUgcmVxdWlyZWQgbGlicmFyaWVzIGFuZCBoZWFkZXJzIGZvciBSUGkKCjIwMTMtMDItMTMgMTI6NTE6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSBjb21wbGV0ZSBhbmQgdmFsaWQgY2FwcyBpbiB0aGUgdGVzdHMKCjIwMTMtMDItMTIgMTg6MzY6MTAgKzAxMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGJjbS9SYXNwYmVycnkgUGkgc3VwcG9ydC4KCSAgVGhpcyBhZGRzIGEgdmlkZW8gcGxhdGZvcm0gYmFja2VuZCBmb3IgdGhlIGRpc3BtYW54IGRpc3BsYXkgbWFuYWdlciB1c2VkIGJ5CgkgIGJyb2FkY29tIGFuZCB0aGUgUmFzcGJlcnJ5IFBpLgoJICBTaWduZWQtb2ZmLWJ5OiBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoyMDEzLTAyLTEyIDE4OjExOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogRGVjbGFyZSB0aGUgd2lkdGgvaGVpZ2h0IG91dHNpZGUgdGhlIGxvb3AKCSAgQWxzbyBpbml0aWFsaXplIHRoZW0gdG8gbWFrZSBnY2MgaGFwcHkKCjIwMTMtMDEtMjggMjI6NDI6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBBZGQgcG5nIGZpbGUgcGFyc2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA2MzkKCjIwMTMtMDItMTEgMTY6MzU6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIFVucmV2ZXJ0OiBtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0CgkgIEFQSSBpcyBub3cgaW4gYmFzZXBhcnNlIGluIGdzdHJlYW1lci4KCSAgVGltZXN0YW1wcyBpbiBNUEVHLVRTIHN0cmVhbXMgYXJlIGJhc2VkIG9uIHRoZSBsYXN0IHRpbWVzdGFtcAoJICBiZWZvcmUgdGhlIHN0YXJ0IGNvZGUgb2YgdGhlIHBpY3R1cmUuICBHc3RCYXNlUGFyc2Ugc2V0cyB0aGUKCSAgdGltZXN0YW1wIGJhc2VkIG9uIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIGhlYWRlciwgaWYKCSAgb25lIGV4aXN0cyBiZWZvcmUgdGhlIHBpY3R1cmUuICBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHRoZQoJICB0aW1lc3RhbXAgb2NjdXJzIGluIHRoZSBNUEVHLVRTIHN0cmVhbSBiZXR3ZWVuIHRoZSBzZXEgaGVhZGVyCgkgIGFuZCBwaWN0dXJlIHN0YXJ0IGNvZGUuCgoyMDEzLTAyLTA3IDE1OjQyOjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSAgeWFkaWY6IEFkZCBtb2RlIHByb3BlcnR5CgkgIENvcHkgbW9kZSBmcm9tIGRlaW50ZXJsYWNlIGVsZW1lbnQuICBJc24ndCBhY3R1YWxseSBpbXBsZW1lbnRlZAoJICBpbiB5YWRpZiwgZXZlcnkgZnJhbWUgaXMgZGVpbnRlcmxhY2VkLCBzbyBlZmZlY3RpdmVseSBtb2RlPTEuCgoyMDEzLTAyLTEyIDExOjQ3OjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSAgeWFkaWY6IEZpeCBub24teDg2XzY0IGJ1aWxkcwoKMjAxMy0wMi0xMiAxMToyNDo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFkZCBwYXJzZWQ9ZmFsc2UgdG8gbXBlZzIgY2FwcwoKMjAxMy0wMi0xMiAxMDozOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJICBnbGliLWNvbXBhdC1wcml2YXRlLmg6IHJlbW92ZSBvbGQgR1N0YXRpY1JlY011dGV4IHN0dWZmCgkgIEJyZWFrcyB0aGUgYnVpbGQgd2l0aCBuZXdlciBHTGlicyAoInVua25vd24gdHlwZSBHU3RhdGljUmVjTXV0ZXgiKQoJICBhbmQgaXMgbm90IG5lZWRlZCBhbnkgbW9yZS4KCjIwMTMtMDItMTIgMDk6Mzg6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYzNzE4ZGE5MTliNmEzZGFhMDRhNjZkYTFiZTRkYjU0ZTA3Nzg4OTguCgkgIFRoZSByZXF1aXJlZCBiYXNlcGFyc2UgQVBJIGFkZGl0aW9uIGhhcyBub3QgYmVlbiBwdXNoZWQgeWV0LAoJICB3aGljaCBicmVha3MgdGhlIGJ1aWxkLgoKMjAxMy0wMi0xMSAxNzo1ODozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IGluY3JlYXNlIG1pbiBzaXplIGZvciBwaWN0dXJlIGNvZGluZyBleHQKCSAgVGhpcyBjb3VsZCB1c2UgYWRkaXRpb25hbCB3b3JrLiAgVGhlIHBhcnNpbmcgY29kZSBvdmVycnVucyB0aGUKCSAgZW5kIG9mIGJ1ZmZlcnMgZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24sIHRyaWdnZXJpbmcgR1NUX1dBUk5JTkdzLgoKMjAxMy0wMi0xMSAxNzozOToyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogcXVpZXQgZGVidWdnaW5nIHdoZW4gbWZjIGRldmljZSBkb2Vzbid0IGV4aXN0CgkgIEF2b2lkIHJlZ2lzdGVyaW5nIHRoZSBlbGVtZW50IGlmIHRoZSBtZmMgZGV2aWNlIGRvZXNuJ3Qgd29yaywKCSAgYnV0IGFsbG93IHBsdWdpbiBsb2FkaW5nIHRvIHN1Y2NlZWQuCgoyMDEzLTAyLTExIDE2OjM1OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc2V0IHRpbWVzdGFtcCBiYXNlZCBvbiBwaWMgb2Zmc2V0CgkgIFRpbWVzdGFtcHMgaW4gTVBFRy1UUyBzdHJlYW1zIGFyZSBiYXNlZCBvbiB0aGUgbGFzdCB0aW1lc3RhbXAKCSAgYmVmb3JlIHRoZSBzdGFydCBjb2RlIG9mIHRoZSBwaWN0dXJlLiAgR3N0QmFzZVBhcnNlIHNldHMgdGhlCgkgIHRpbWVzdGFtcCBiYXNlZCBvbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZXF1ZW5jZSBoZWFkZXIsIGlmCgkgIG9uZSBleGlzdHMgYmVmb3JlIHRoZSBwaWN0dXJlLiAgVGhpcyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB0aGUKCSAgdGltZXN0YW1wIG9jY3VycyBpbiB0aGUgTVBFRy1UUyBzdHJlYW0gYmV0d2VlbiB0aGUgc2VxIGhlYWRlcgoJICBhbmQgcGljdHVyZSBzdGFydCBjb2RlLgoKMjAxMy0wMi0xMSAyMzo0NjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSAgeWFkaWY6IGZpeCBkaXN0Y2hlY2sKCjIwMTMtMDItMTEgMjM6Mjk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogTWFrZWZpbGUuYW06CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgIHN3ZmRlYzogcmVtb3ZlCgkgIFRoZSBzd2ZkZWMgcHJvamVjdCBpcyBkZWFkLCBhbmQgdGhpcyBwbHVnaW4gd2FzCgkgIG5ldmVyIHJlYWxseSB1c2VmdWwgYmVjYXVzZSBvZiB0aGUgd2F5IHN3ZiB3b3Jrcy4KCSAgUmVtb3ZlIGl0IGJlZm9yZSBzb21lb25lIGFjY2lkZW50YWxseSBwb3J0cyBpdC4KCjIwMTMtMDItMTEgMjI6NTA6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nLy5naXRpZ25vcmU6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBBZGQgY29nIHRvIGNydWZ0IGxpc3QgYW5kIHJlbW92ZSBzb21lIG1vcmUgbGVmdG92ZXIgZmlsZXMKCjIwMTMtMDItMTEgMjI6NDA6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkgIHlhZGlmOiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTMtMDItMDMgMTQ6MzI6MjcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NCB0ZXN0OiBVc2Ugc3RyaW5nIGluc3RlYWQgb2YgZm91cmNjIGluIGdsYWRlIGNhcHMKCjIwMTMtMDItMDMgMTQ6MzE6NTAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBSZW1vdmUgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgoyMDEzLTAyLTAzIDE0OjMxOjEzICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogQWRkIGltYWdlL2pwZyB0byB2ZnNyYyBhbmQgdmlkc3JjIGNhcHMKCjIwMTMtMDItMDMgMTQ6MzA6MzYgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0OiBGaXggTlYyMSB2cyBOVjEyIHR5cG8KCjIwMTMtMDItMDIgMTQ6MTY6NDAgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBQYXNzIHRocm91Z2ggdGhlIGZpbHRlciBvbiB0aGUgY2FwcyBxdWVyeQoKMjAxMy0wMS0xOCAyMzoyMzo1NiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0OiBSZW1vdmUgdGhlIF8gZnJvbSB0aGUgZWxlbWVudCBuYW1lcwoJICBSZW5hbWUgdXZjaDI2NF9zcmMgdG8gdXZjaDI2NHNyYyBhbmQgdXZjaDI2NF9tanBnZGVtdXggdG8KCSAgdXZjaDI2NG1qcGdkZW11eAoKMjAxMy0wMS0xOCAyMzoxNjozMSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNYXJrIHV2Y2gyNjQgYXMgcG9ydGVkCgoyMDEzLTAxLTE4IDIzOjE0OjI3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQ6IFBvcnQgdGVzdCB0byBnc3RyZWFtZXIgMS4wCgoyMDEzLTAxLTE4IDIyOjQ5OjE5ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogUG9ydCB0byBnc3RyZWFtZXIgMS4wCgoyMDEyLTA1LTAzIDIwOjM2OjI3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEFkZCBhdXRvLXN0YXJ0IHByb3BlcnR5IHRvIGJhc2VjYW1lcmFiaW4KCjIwMTMtMDItMTEgMTI6NTE6MDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSBsYXN0IHJlbW5hbnRzCgoyMDEzLTAyLTA3IDE1OjA5OjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmg6CgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWYuYzoKCSogZ3N0L3lhZGlmL3lhZGlmX3RlbXBsYXRlLmM6CgkgIHlhZGlmOiBBZGQgWUFESUYgZGVpbnRlcmxhY2luZyBmaWx0ZXIKCSAgQ29kZSBjb3BpZWQgZnJvbSBMaWJhdiwgY29tbWl0IDI2ZTRmMGM3MC4gIFdpbGwgZXZlbnR1YWxseSBiZQoJICBtb3ZlZCB0byAtdWdseSBiZWNhdXNlIHVuZGVybHlpbmcgY29kZSBpcyBHUEwuCgoyMDEzLTAyLTA3IDE0OjMzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogQWRkIFk0MkIgYW5kIFk0NDQgZm9ybWF0cwoKMjAxMy0wMi0wNyAxMToxNTowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LWFwcC1tYWtlci9nc3QtZWxlbWVudC1tYWtlcjogMS4wIHVwZGF0ZXMKCjIwMTMtMDItMTEgMTI6MjU6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLmg6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3RhYmxlcy5jOgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSAgY29nOiByZW1vdmUgY29nIHBsdWdpbgoJICBFdmVyeXRoaW5nIGhhcyBiZWVuIG1lcmdlZCBpbnRvIG90aGVyIGVsZW1lbnRzLgoKMjAxMy0wMi0xMSAyMDoyNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCB0YWdsaXN0IGxlYWsKCSAgRG9uJ3QgbGVhayBkZW11eGVyIHRhZyBsaXN0LgoKMjAxMy0wMi0xMSAyMDoxNzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIHRlc3RzOiBmaXggbXhmZGVtdXggcHVsbCB1bml0IHRlc3QgaGFuZ2luZyBmb3JldmVyCgkgIE91ciB0ZXN0IHNvdXJjZSBwYWQgbmVlZHMgdG8gYW5zd2VyIFNDSEVEVUxJTkcgcXVlcmllcwoJICBwcm9wZXJseSBmb3IgbXhmZGVtdXggdG8gYWN0aXZhdGUgaW4gcHVsbCBtb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkxODQzCgoyMDEzLTAyLTExIDE5OjUzOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHB1c2ggbW9kZSB1bml0IHRlc3QgZmFpbHVyZQoJICBJbiB0aGUgc2luayBldmVudCBoYW5kbGVyIHdlIGVuZCB1cCBzZW5kaW5nIG11bHRpcGxlIEVPUwoJICBldmVudHMgcGVyIHBhZC4gRG9uJ3QgcmV0dXJuIEZBTFNFIHdoZW4gc2VuZGluZyB0aGUKCSAgc2Vjb25kIEVPUyBvbiBhbiBhbHJlYWR5LUVPUyBwYWQgZmFpbHMuIE5vdCBzdXJlIGlmIHRoZXJlCgkgIHdhcyBhIHJlYXNvbiBmb3Igc2VuZGluZyBhIHNlY29uZCBFT1MsIHNvIGxlYXZpbmcgdGhlCgkgIGNvZGUgaW4gdGhlcmUgZm9yIG5vdywgYnV0IGFzc3VtZSBhbGwgd2VudCBmaW5lIGlmIHRoZXJlCgkgIGFyZSBzb3VyY2UgcGFkcywgd2hpY2ggaXMgc2xpZ2h0bHkgbGVzcyB3cm9uZyB0aGFuIGJlZm9yZS4KCSAgVGhpcyBmdW5jdGlvbiBuZWVkcyB3b3JrLgoKMjAxMy0wMi0xMSAxMjozNDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBjb21waWxhdGlvbiBvZiBkdG1mIHRlc3QgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCjIwMTMtMDItMTEgMTI6MzQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBhY3R1YWxseSBsb2cgZ2VuZXJpYyBkYXRhcHJvdG9jb2wgc3R1ZmYgdG8gZ2RwIGNhdGVnb3J5CgoyMDEzLTAyLTA5IDIwOjIyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTA5IDE5OjUzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMDkgMTk6NDk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobTogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0xMSAxMTowNjozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogY2xlYXIgdGhlIHN0YXRlIG9mIHRoZSBkZWNvZGVyCgkgIFNldCB0aGUgY2hhbm5lbHMgYW5kIHJhdGUgYmFjayB0byB0aGVpciBkZWZhdWx0IHZhbHVlcyBpbiBfc3RvcCBiZWNhdXNlIHRoZXkKCSAgYXJlIHVzZWQgdG8gcmVuZWdvdGlhdGUgd2hlbiBuZWVkZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTUwCgoyMDEzLTAyLTA3IDExOjUyOjIzICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IC0+IEdNdXRleAoJICBFbGVtZW50IG5lZWRzIHBvcnRpbmcgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA5IDE4OjQ2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBmaXggY29tcGlsYXRpb24gd2l0aCBuZXdlciBHTGliIHZlcnNpb25zCgkgIHRoYXQgZG9uJ3QgaW5jbHVkZSBwdGhyZWFkLmggYW55IG1vcmUgZnJvbSBwdWJsaWMgaGVhZGVycy4KCSAgV2UgY291bGQganVzdCBmaXggdGhpcyBieSBpbmNsdWRpbmcgcHRocmVhZC5oIG91cnNlbHZlcywKCSAgYnV0IHdlIG1heSBqdXN0IGFzIHdlbGwgdXNlIGF0b21pYyBvcHMgZm9yIHRoaXMgYW5kCgkgIHNpbXBsaWZ5IHRoZSBjb2RlIGEgbGl0dGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDExOjU0OjM4ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBkZXByZWNhdGVkIEdTdGF0aWNSV0xvY2sgLT4gR1JXTG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDExOjU0OjA2ICswMTAwICBNYXJjIExlZW1hbiA8bWFyYy5sZWVtYW5AZ21haWwuY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJICBjaHJvbWFob2xkOiBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCAtPiBHTXV0ZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMyMgoKMjAxMy0wMi0wNyAxMDo1Mjo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBnc3QtYXBwLW1ha2VyOiBjb252ZXJ0IHRvIDEuMAoKMjAxMy0wMi0wOCAwMDowNjoxNiArMTEwMCAgVGltICdtaXRocm8nIEFuc2VsbCA8bWl0aHJvQG1pdGhpcy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGZpeCBidWZmZXIgbGVhayB3aGVuIG5ldyBjYXBzIGFyZSBzYW1lIGFzIG9sZCBjYXBzCgkgIFRoZSBsZWFrIG9jY3VycyB3aGVuIHlvdSBnb3QgYSBtZXNzYWdlIHdpdGggaWRlbnRpY2FsIGNhcHMgdG8gdGhlIG9uZXMgeW91CgkgIGFscmVhZHkgaGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzI0CgoyMDEyLTEwLTAyIDExOjAyOjMyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgcHJvZmlsZSBlbnVtcy4KCSAgQWRkIGFsbCB1c2VmdWwgcHJvZmlsZXMgZnJvbSBBVkMsIE1WQyBhbmQgU1ZDIHNwZWNpZmljYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMTQwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMDcgMjI6MjY6MTUgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJICBkdmRzcHU6IEZpeCB0aGUgcmVuZGVyaW5nIG9mIFBHUyB3aW5kb3dzIHdpdGggbGVmdCAhPSAwCgkgIFdoZW4gcmVuZGVyaW5nIGEgUEdTIHdpbmRvdyBhcmVhIHdoZXJlIHRoZSBsZWZ0IGVkZ2UgaXMgbm90IGF0CgkgIHBpeGVsIDAsIHRoZSBjaHJvbWEgd2FzIGJlaW5nIHJlbmRlcmVkIGluIHRoZSB3cm9uZyBwbGFjZSBzaW5jZQoJICBjb21taXQgNGRjNjQ4ZDM0MzBiNjc1OTJjZjE0MTNjY2VmNDE1ZjcwODg5ZDcxZQoKMjAxMy0wMi0wNyAxMTozMToxMiArMDAwMCAgVGltIEFuc2VsbCA8Z25vbWUgYXQgbWl0aGlzLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IGZpeCBsZWFrcyBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMDAKCjIwMTMtMDItMDcgMDg6NDE6MjUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJICBmcmVldmVyYjogcG9ydCB0byAxLjAKCjIwMTMtMDEtMDkgMTM6MzE6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBjb21tZW50cyBmb3IgbW9ub3Njb3BlIHBvcnRpbmcKCjIwMTMtMDItMDYgMTU6NDg6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gZm9yIHRydWUgaW50ZXJsYWNlZCBtb2RlcwoKMjAxMy0wMi0wNiAxMjozNTozNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSBzb21ld2hhdCBmb3IgMS4wCgkgIE9ubHkgY29udmVydGVkIGJhc2V0cmFuc2Zvcm0gZm9yIHRoZSBtb21lbnQuICBJdCdzIHByb2JhYmx5IGVhc2llcgoJICB0byB3cml0ZSB0ZW1wbGF0ZXMgZnJvbSBzY3JhdGNoIGZyb20gdGhlIGRvY3VtZW50YXRpb24uCgoyMDEzLTAyLTA1IDExOjU2OjQ2ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcy4KCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnemFnIHNjYW4KCSAgb3JkZXIgKGFzIGVuY29kZWQgaW4gdGhlIGJpdHN0cmVhbSkgaW50byByYXN0ZXIgc2NhbiBvcmRlci4gQWxzbyBwcm92aWRlCgkgIGFub3RoZXIgZnVuY3Rpb24gdG8gcmV2ZXJzZSB0aGUgb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMDAwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTY6MTM6MjIgKzA4MDAgIENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IHN0b3JlIHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbiB6aWd6YWcgc2NhbiBvcmRlci4KCSAgUXVhbnRpemVyIG1hdHJpY2VzIGFyZSBlbmNvZGVkIGluIHppZ3phZyBzY2FuIG9yZGVyIGluIHRoZSBiaXRzdHJlYW0sCgkgIGJ1dCB0aGV5IGFyZSBzdG9yZWQgaW4gcmFzdGVyIHNjYW4gb3JkZXIgd2hlbiB0aGV5IGFyZSBwYXJzZWQuIEhvd2V2ZXIsCgkgIGRlZmF1bHQgbWF0cmljZXMgd2VyZSBhbHNvIHByZXBhcmVkIGluIHppZ3phZyBzY2FuIG9yZGVyLCBoZW5jZSB0aGUKCSAgbWlzbWF0Y2guIGkuZS4gdGhlIG1hdHJpY2VzIHdlcmUgcHJlc2VudGVkIGVpdGhlciBpbiByYXN0ZXIgc2NhbiBvcmRlcgoJICBpZiB0aGV5IGFyZSBleHBsaWNpdGx5IHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSwgb3IgdGhleSB3ZXJlIHByZXNlbnRlZAoJICBpbiB6aWd6YWcgc2NhbiBvcmRlciBpZiB0aGUgZGVmYXVsdCBkZWZpbml0aW9ucyB3ZXJlIHRvIGJlIHVzZWQgaW5zdGVhZC4KCSAgT25lIHdheSB0byBzb2x2ZSB0aGlzIHByb2JsZW0gaXMgdG8gYWx3YXlzIGV4cG9zZSB0aGUgcXVhbnRpemF0aW9uCgkgIG1hdHJpY2VzIGluIHppZ3phZyBzY2FuIG9yZGVyLCBzaW5jZSB0aGlzIGlzIHRoZSByb2xlIG9mIHRoZSBwYXJzZXIgdG8KCSAgbm90IGJ1aWxkIHVwIHN0b3JpZXMgZnJvbSB0aGUgc291cmNlIGJpdHN0cmVhbSBhbmQganVzdCBwcmVzZW50IHdoYXQKCSAgaXMgaW4gdGhlcmUuCgkgIFV0aWxpdHkgZnVuY3Rpb25zIHdpbGwgYmUgcHJvdmlkZWQgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4KCSAgZWl0aGVyIHNjYW4gb3JkZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDAKCSAgU2lnbmVkLW9mZi1ieTogQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTA1IDIzOjA3OjEyICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBleHBvc2UgVkMxIHN0cmVhbXMgd2l0aCBtaXNzaW5nIGRlc2NyaXB0b3IuCgkgIEZpeGVzIHBsYXliYWNrIG9mIFZDMSBzdHJlYW1zIHdoZW4gdGhlIGRlc2NyaXB0b3IgaXMgbWlzc2luZy4KCjIwMTMtMDItMDUgMTc6MzQ6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGhhbmRsZSBFSU5UUiBmcm9tIHBvbGwKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzIxMgoKMjAxMC0xMi0yNyAyMzoyMToxMCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgc3VwcG9ydCBmb3IgbW9yZSB0ZWxlY2luZSBwYXR0ZXJucwoKMjAxMS0wMS0xMCAxMDozNjo0MyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgbW9yZSB2ZXJib3NlIGhpbnRzIGFib3V0IGZpZWxkIHBhdHRlcm5zCgoyMDEzLTAyLTA0IDE4OjA3OjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgZGVzY3JpcHRvcnMgZm9yIFNNUFRFIDMwMm0gYXVkaW8KCjIwMTMtMDItMDIgMTg6NDQ6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogc2VwYXJhdGUgZmllbGRzIGZvciBkaXN0aW5jdCBmdW5jdGlvbmFsIHVzZXMgb2YgY29kZWNfZGF0YSBmaWVsZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNzg5CgoyMDEzLTAxLTMxIDEyOjMwOjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzcGF5OiBmaXggdGltZXN0YW1wcwoJICBDb3B5IHRpbWVzdGFtcHMgdG8gcGF5bG9hZGVkIGJ1ZmZlci4KCSAgQXZvaWQgaW5wdXQgYnVmZmVyIG1lbW9yeSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyOTI5CgoyMDEzLTAxLTMwIDA5OjMzOjQ5ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3QuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWxsb3cgY2FsbGluZyBmcm9tIG91dC1vZi10cmVlCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyODU5CgoyMDEzLTAxLTI4IDIwOjQyOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhOTQyMjkzIHRvIDJkZTIyMWMKCjIwMTMtMDEtMjggMTQ6MTI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY3Jhc2ggd2hlbiBzZXR0aW5nICJjYnIiIHByb3BlcnR5IHdoZW4gZW5jb2RlciBpcyBub3QgcnVubmluZyB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjY5OAoKMjAxMy0wMS0yNiAyMjo1ODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cnRwZHRtZnNyYy5jOiBJbiBmdW5jdGlvbiAnZ3N0X2R0bWZfc3JjX3ByZXBhcmVfbWVzc2FnZS5pc3JhLjEnOgoJICBnc3RydHBkdG1mc3JjLmM6NjY5OjM6IGVycm9yOiAncycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEzLTAxLTI1IDIxOjA2OjA1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogRml4IG1pc3Npbmcgd29yayBpbiBkb2MKCjIwMTMtMDEtMjQgMjE6MDA6MDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZkZXBheSBhbmQgcnRwZHRtZnNyYwoKMjAxMy0wMS0yNSAyMDozOTozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUG9zdCB0aGUgbWVzc2FnZXMgYWZ0ZXIgdGhlIGNsb2NrIHdhaXQKCSAgVGhpcyB3YXksIHRoZSBtZXNzYWdlcyB3aWxsIGJlIGNsb3NlciBpbiB0aW1lIHRvIHdoZW4gdGhlIHBhY2tldHMgYXJlIHNlbnQgb3V0CgoyMDEzLTAxLTI1IDIwOjM3OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBPbmx5IHNldCB0aGUgZHVyYXRpb24gd2hlbiBzdGFydGluZyB0byBzZW5kCgkgIFRoZSBkdXJhdGlvbiBkZXBlbmRzIG9uIHRoZSBjbG9jayByYXRlLCB3aGljaCBjb3VsZCBjaGFuZ2UgZHVlIHRvIHJlbmVnb3RpYXRpb24KCjIwMTMtMDEtMjUgMjA6Mzc6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IHJlbW92ZSAic3NyYyIgZnJvbSBjYXBzCgkgIHNzcmMgaXMgdWludCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHVpbnQgcmFuZ2UgdHlwZQoKMjAxMy0wMS0yNSAxNTo0NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBmaXggaW5zZXJ0YmluIGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIE1ha2Ugc3VyZSBwa2ctY29uZmlnIGluIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vIGNhbiBmaW5kCgkgIHRoZSB1bmluc3RhbGxlZCBjb3JlL2Jhc2UgcHJvcGVybHkuIEZpeGVzIGJ1aWxkIG9mCgkgIGluc2VydGJpbiBpbiB1bmluc3RhbGxlZCBzZXR1cCBpZiB0aGVyZSBhcm4ndCBhbnkKCSAgaW5zdGFsbGVkIGdpciBmaWxlcyB0byBmYWxsIGJhY2sgdG8uCgoyMDEzLTAxLTI1IDEyOjI0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGluc2VydGJpbiwgdGVzdHM6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAxLTI0IDE4OjE0OjI4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoRElGRjYgb3IgTk9STTYgcmVzaWR1YWwgYnl0ZXMpLgoJICBGaXggcGFyc2luZyBvZiByZXNpZHVhbCBieXRlcy4gVGhpcyBpcyBhIHR3by1zdGVwIHByb2Nlc3MuIEZpcnN0LAoJICByZW1haW5pbmcgY29sdW1zIG9mIGZ1bGwgdmVydGljYWwgcmVzb2x1dGlvbiAoPGhlaWdodD4pIG5lZWQgdG8gYmUKCSAgcHJvY2Vzc2VkLiBOZXh0LCByZW1haW5pbmcgYnl0ZXMgaW4gdGhlIGZpcnN0IHJvdyBjYW4gYmUgcHJvY2Vzc2VkLAoJICB3aGlsZSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBmYWN0IHRoYXQgd2UgbWF5IGhhdmUgZmlsbGVkIGluIHRoZQoJICBmaXJzdCBjb2x1bW5zIGFscmVhZHkuIFNvLCB0aGlzIGlzIG5vdCBmdWxsIGhvcml6b250YWwgcmVzb2x1dGlvbi4KCSAgVGhlIGZvbGxvd2luZyBmaWd1cmUgaGVscHMgaW4gdW5kZXJzdGFuZGluZyB0aGUgZXhwZWN0ZWQgb3JkZXIgb2YKCSAgb3BlcmF0aW9ucywgZm9yIGEgOHg1IE1CcyBiaXRwbGFuZS4KCSAgNSA1IDYgNiA2IDYgNiA2CgkgIDUgNSAxIDEgMSAyIDIgMgoJICA1IDUgMSAxIDEgMiAyIDIKCSAgNSA1IDMgMyAzIDQgNCA0CgkgIDUgNSAzIDMgMyA0IDQgNAoJICBTbywgYWZ0ZXIgdGlsZXMgMSB0byA0IGFyZSBkZWNvZGVkLCB2ZXJ0aWNhbCB0aWxlIDUgbmVlZHMgdG8gYmUKCSAgcHJvY2Vzc2VkICgyeDUgTUJzKSBhbmQgdGhlbiB0aGUgaG9yaXpvbnRhbCB0aWxlIDYgKDZ4MSBNQnMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDYxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjQgMTc6Mjg6MjIgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChESUZGNiBvciBOT1JNNikuCgkgIEZpeCBkZWNvZGluZyBvZiBESUZGNiBvciBOT1JNNiBiaXRwbGFuZXMgd2l0aCBhbiBvZGQgbnVtYmVyIG9mIGxpbmVzCgkgICgzeDIgImhvcml6b250YWwiIHRpbGVzKS4gSW4gdGhpcyBjYXNlLCB3ZSBoYXZlIHRvIHNraXAgdGhlIGZpcnN0IGxpbmUKCSAgb2YgbWFjcm9ibG9ja3MgYnV0IDx3aWR0aD4gbnVtYmVyIG9mIGJ5dGVzIHdhcyB1c2VkIHRvIGRvIHNvLCBpbnN0ZWFkCgkgIG9mIHRoZSBhY3R1YWwgPHN0cmlkZT4gc2l6ZS4KCSAgVGhpcyBmaXhlcyBkZWNvZGluZyBmb3IgdGhlIHZpZGVvIHNhbXBsZSBhdHRhY2hlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODU2NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNDYxCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDMtMTUgMTQ6MTI6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWluc2VydGJpbi5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBZGQgYmluIHRvIGR5bmFtaWNhbGx5IGluc2VydCBlbGVtZW50cyBpbiBhIHJ1bm5pbmcgcGlwZWxpbmUKCSAgVGhpcyBlbGVtZW50IGF1dG9tYXRpY2FsbHkgbGlua3MgaW4gYW55IGVsZW1lbnQgYWRkZWQgdXNpbmcgaXQncwoJICBhY3Rpb24gc2lnbmFscy4gVGhlc2UgZWxlbWVudHMgbXVzdCBoYXZlIGEgc2luZ2xlIHNvdXJjZSBwYWQgYW5kIGEgc2luZ2xlCgkgIHNpbmsgcGFkLgoKMjAxMy0wMS0yMyAxNDo0Nzo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGFkZCBBUEkgdG8gcGFyc2Ugc2xpY2UgaGVhZGVycy4KCSAgQWRkIGdzdF92YzFfcGFyc2Vfc2xpY2VfaGVhZGVyKCkgZnVuY3Rpb24gdG8gcGFyc2Ugc2xpY2UgaGVhZGVycyBhcwoJICBkZXNjcmliZWQgaW4gNy4xLjIuIFNsaWNlIGxheWVycyBhcmUgb3B0aW9uYWwgYW5kIGFsbG93ZWQgaW4gYWR2YW5jZWQKCSAgcHJvZmlsZSBtb2RlIG9ubHkuIFBpY3R1cmUgaGVhZGVyLCBpZiBhdmFpbGFibGUgKFBJQ19IRUFERVJfRkxBRyksCgkgIGlzIHBhcnNlZCBidXQgbm90IHJlY29yZGVkIGJlY2F1c2UgaXQgc2hhbGwgYmUgdGhlIHNhbWUgYXMgdGhhdCB3YXMKCSAgcHJldmlvdXNseSBwYXJzZWQgd2l0aCBnc3RfdmMxX3BhcnNlX2ZyYW1lX2hlYWRlcigpLgoJICBUaGlzIGZpeGVzIFNBMDAwNDkudmMxIGNvbmZvcm1hbmNlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIzODgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxODowMToyNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcuCgkgIEZpeCBkZWNvZGluZyBvZiBESUZGMiBvciBOT1JNMiBiaXRwbGFuZXMgd2l0aCBhbiBvZGQgbnVtYmVyIG9mIG1hY3JvYmxvY2tzLgoJICBJbiBwYXJ0aWN1bGFyLCBhY2NvdW50IGZvciB0aGUgZmlyc3QgYml0IHRoYXQgd2FzIGFscmVhZHkgcGFyc2VkIHNvIHRoYXQgdG8KCSAgYXZvaWQgYSBidWZmZXIgb3ZlcmZsb3cgYWZ0ZXIgYWxsIHBhaXJzIGFyZSBwYXJzZWQuCgkgIFRoaXMgZml4ZXMgU0EwMDA0MC52YzEgY29uZm9ybWFuY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjMxMgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDE5OjMxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZGlzYWJsZSBNRkMgaWYgc29tZSB2NGwyIFBJWF9GTVQgbWlzc2luZwoKMjAxMy0wMS0yMiAxMTo0Mjo0OSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHNpbXBsaWZ5IEdzdFZDMVZvcERxdWFudCBzdHJ1Y3R1cmUuCgkgIFJlbmFtZSBkcXNiZWRnZSB0byBkcWJlZGdlLiBUaGUgaW50ZW50IGlzIHRoYXQgd2UgY2FuIG9ubHkgaGF2ZSBhIHNpbmdsZQoJICBib3VuZGFyeSBlZGdlIHNlbGVjdG9yLCBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGRxcHJvZmlsZS4gU28sIGRxYmVkZ2UKCSAgcmVwcmVzZW50cyBEUVNCRURHRSBpZiBkcXByb2ZpbGUgPT0gR1NUX1ZDMV9EUVBST0ZJTEVfU0lOR0xFX0VER0UsIG9yCgkgIERRREJFREdFIGlmIGRxcHJvZmlsZSA9PSBHU1RfVkMxX0RRUFJPRklMRV9ET1VCTEVfRURHRS4KCSAgVGhlIGZvcm1lciBkcWJlZGdlIGZpZWxkIGlzIG1hcmtlZCBhcyB1bnVzZWQgYW5kIGNhbiBiZSByZW1vdmVkIG9uIHRoZQoJICBuZXh0IGdzdC1wbHVnaW5zLWJhZCB2ZXJzaW9uIHRoYXQgYWxsb3dzIEFCSSBjaGFuZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMTggMTQ6NTU6NDAgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybHRsc3Npbms6IHNldCBjb3JyZWN0IGxldmVsIG9mIFNTTCBmb3IgdGhlIHRyYW5zZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTAKCjIwMTMtMDEtMjIgMTA6NDg6MzkgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggVk9QRFFVQU5UIHBhcnNlciBmb3IgRFFVQU5UID09IDIuCgkgIEZpeCBwYXJzaW5nIG9mIFZPUERRVUFOVCB3aGVuIERRVUFOVCA9PSAyLiBJbiBwYXJ0aWN1bGFyLCBEUVVBTlRGUk0gaXMKCSAgbm90IHByZXNlbnQgaW4gdGhlIGJpdHN0cmVhbSBpbiB0aGlzIGNhc2UgYW5kIGl0IHNoYWxsIGJlIGRlcml2ZWQgdG8KCSAgdGhlIGRlZmF1bHQgdmFsdWUgb2YgemVybyAoNy4xLjEuMzEuMSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxMDozODoyMCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBjYWxjdWxhdGlvbiBvZiBBTFRQUVVBTlQuCgkgIEZpeCBjYWxjdWxhdGlvbiBvZiBBTFRQUVVBTlQgd2hlbiBEUVVBTlQgPT0gMS4gUFFESUZGIGFsdGVycyBBTFRQUVVBTlQKCSAgaW4gYW55IGNhc2UuIFNlZSA3LjEuMS4zMS42LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjcwCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTA6MTE6MzQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggcGFyc2VyIGZvciBEUVBST0ZJTEUgaW4gVk9QRFFVQU5ULgoJICBGaXggcGFyc2Vfdm9wZHF1YW50KCkgdG8gY29ycmVjdGx5IHBhcnNlIERRUFJPRklMRSwgd2hpY2ggaXMgMiBiaXRzCgkgIGluc3RlYWQgb2YgYSBzaW5nbGUgYml0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMjY3CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMDYgMTg6NTQ6NTIgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBpbmZlcnJlZCB2YWx1ZSBmb3Igc2xpY2VfYmV0YV9vZmZzZXRfZGl2Mi4KCSAgVGhlIHN0YW5kYXJkIHNwZWNpZmllcyB0aGF0IHdoZW4gc2xpY2VfYmV0YV9vZmZzZXRfZGl2MiBpcyBub3QgcHJlc2VudAoJICBpbiB0aGUgc2xpY2UgaGVhZGVyLCB0aGVuIHRoZSB2YWx1ZSBvZiBzbGljZV9iZXRhX29mZnNldF9kaXYyIHNoYWxsIGJlCgkgIGluZmVycmVkIHRvIGJlIGVxdWFsIHRvIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNjUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0xNyAxOTowMjo0OCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWVuYWJsZSB1bml0IHRlc3RzIGFuZCB1cCByYW5rIHRvIHByaW1hcnkgYWdhaW4KCjIwMTMtMDEtMTggMTY6MTQ6MDMgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiB1c2Ugb3ZlcmxheSBjb21wb3NpdGlvbiB0byBibGl0IHN1YnRpdGxlcyBvbiB2aWRlbyBmcmFtZXMKCSAgUmUtdXNlcyBleGlzdGluZyBibGl0dGluZyBjb2RlIGFuZCBhbHNvIG1lYW5zIHdlIGNhbiBzdXBwb3J0CgkgIGEgbG90IG1vcmUgdmlkZW8gZm9ybWF0cyBvdXQgb2YgdGhlIGJveCwgaGVuY2UgYXZvaWQgdW5uZWNlc3NhcnkKCSAgcGl4ZWwgZm9ybWF0IG9yIGNvbG91ciBzcGFjZSBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODo0ODoxMiArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHJlbmRlciBvdmVybGF5IGNvbXBvc2l0aW9uIGlmIHN1cHBvcnRlZCBkb3duc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHJlbmRlcmluZyBBU1Mgc3VidGl0bGVzIG9uIHRvcCBvZiB2aWRlbyB3aGVuCgkgIHVzaW5nIGhhcmR3YXJlLWFjY2VsZXJhdGVkIHZpZGVvIGRlY29kZXJzIGJhc2VkIG9uIGUuZy4KCSAgVkEtQVBJIG9yIFZEUEFVLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4Mzg5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMjEgMTA6MzU6NDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBhZGQgd2FpdC10ZXh0IHByb3BlcnR5CgkgIFRoaXMgaXMgdGhlIHNhbWUgcHJvcGVydHkgYXMgaW4gdGhlIHBhbmdvIGVsZW1lbnQsIHRvIGFsbG93IHdhaXRpbmcgZm9yCgkgIHRleHQgb24gdGhlIHRleHQgcGFkIGJlZm9yZSByZW5kZXJpbmcgdGhlIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE4IDE1OjI1OjQ4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogZml4IHNvbWUgc3VidGl0bGVzIGJlaW5nIGlnbm9yZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODozMzoxMSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZmFjdG9yIGNvZGUgdG8gYXZvaWQgZHVwbGljYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0xNyAxODoyNjowOCArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHByb3h5IGFsbG9jYXRpb25zIG9uIHZpZGVvIHBhZAoJICBGb3J3YXJkIGFsbG9jYXRpb24gcXVlcmllcyBvbiB2aWRlbyBzaW5rIHBhZCBpbnN0ZWFkCgkgIG9mIGRpc2NhcmRpbmcgdGhlbS4KCSAgVGhpcyBhbGxvd3MgdGhlIHVwc3RyZWFtIGVsZW1lbnRzIHRvIHVzZSB0aGUgYWxsb2NhdGlvbgoJICBwYXJhbWV0ZXJzIG9yIHBvb2xzIGZyb20gdGhlIGRvd25zdHJlYW0gZWxlbWVudHMgbGlrZQoJICB2aWRlb3NpbmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMjAgMTc6NDM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBjbGVhbiB1cCBHVmFsdWUgaGFuZGxpbmcgYSBsaXR0bGUKCSAgQWxsb2NhdGUgR1ZhbHVlcyBvbiB0aGUgc3RhY2ssIGFuZCB1bnNldC9mcmVlIHRoZW0gcHJvcGVybHksIGZpeGluZwoJICBhIGZldyBsZWFrcyBpbiB0aGUgcHJvY2Vzcy4gQWxzbyB1c2UgZ3N0X3N0cnVjdHVyZV90YWtlX3ZhbHVlKCkKCSAgd2hlcmUgYXBwcm9wcmlhdGUgdG8gYXZvaWQgdW5uZWNlc3NhcnkgbGlzdCBjb3BpZXMuCgoyMDEzLTAxLTIwIDE3OjE3OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IHVwZGF0ZSBTQkMgY2FwcyBmb3IgcmVuYW1lZCBmaWVsZHMKCSAgbW9kZSAtPiBjaGFubmVsLW1vZGUKCSAgYWxsb2NhdGlvbiAtPiBhbGxvY2F0aW9uLW1ldGhvZAoKMjAxMy0wMS0xNyAxOToyOTozMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEluaXRpYWxpemUgc2htX2FyZWFfYnVmIHRvIGludmFsaWQgdmFsdWUKCjIwMTMtMDEtMDcgMTM6MzI6MDYgKzAxMDAgIFJvbGFuZCBFbGVrIDxyZWxlay5mMkBnbWFpbC5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBhcHBseSBzaG0gYXJlYSBwZXJtaXNzaW9ucyB0byBzaG1waXBlIGNvbnRyb2wgc29ja2V0CgkgIEFwcGx5IHNoYXJlZCBtZW1vcnkgYXJlYSBwZXJtaXNzaW9ucyB0byB0aGUgY29udHJvbCBzb2NrZXQgKG1vcmUKCSAgcHJlY2lzZWx5LCB0aGUgcGF0aCBpdCBpcyBib3VuZCB0bykgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mjc3NQoKMjAxMy0wMS0xNiAxNDo0MDoxMSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IERlZmluZSBMSUJVU0JfQ0xBU1NfVklERU8gaWYgdXNpbmcgYW4gb2xkIHZlcnNpb24gb2YgbGlidXNiCgoyMDEzLTAxLTE2IDE0OjQ4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogUHJldmVudCB0ZW1wb3JhcnkgZWxlbWVudHMgZnJvbSBnb2luZyB0byBwbGF5aW5nCgoyMDEzLTAxLTE2IDE0OjQyOjM4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogZG8gbm90IGRvdWJsZS11bnJlZiBpZiB0cmFuc2Zvcm1fY2FwcyBmYWlscwoKMjAxMy0wMS0xNiAxNDo0MTowOCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IEFkZCBhIGZha2VzaW5rIHRvIHRoZSB0cmFuc2Zvcm1fY2FwcyBTb21lIHZlcnNpb24gb2YgYmFzZXRyYW5zZm9ybSB3aWxsIHJldHVybiB0aGUgdGVtcGxhdGUgY2FwcyBpZiB0aGUgc3JjIHBhZCBpcyBub3QgbGlua2VkLCBzbyB0aGUgY2Fwc2ZpbHRlciB3aWxsIHJldHVybiBBTlkuIExpbmtpbmcgaXQgdG8gZmFrZXNpbmsgYWxsb3dzIHVzIHRvIHJldHVybiB0aGUgcmlnaHQgY2FwcyBpbiB0aGUgY2Fwc2ZpbHRlciBhbmQgaGF2ZSB0aGVtIHRyYW5zZm9ybWVkIGJ5IHRoZSBjb2xvcnNwYWNlIGNvbnZlcnRlci4KCjIwMTMtMDEtMTUgMTU6MDI6MzcgKzAxMDAgIE1hcnRpbiBQaXR0IDxtYXJ0aW5waXR0QGdub21lLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdXNlIF8xXzAgdmFyaWFudHMgZm9yIHRoZSB2YXJpb3VzIHJlZ2lzdHJ5IHZhcmlhYmxlcwoJICBUaGVzZSBvdmVycmlkZSB0aGUgdmFyaWFudHMgd2l0aG91dCB2ZXJzaW9uIHN1ZmZpeC4gTWFrZXMgJ21ha2UgY2hlY2snIHdvcmsKCSAgcHJvcGVybHkgaW4gZW52aXJvbm1lbnRzIHRoYXQgc2V0IHRoZSBzdWZmaXhlZCB2YXJpYW50IGZvciAxLjAsIHN1Y2ggYXMKCSAgamhidWlsZC4KCjIwMTMtMDEtMTIgMTM6MTU6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHplcm8taW5pdGlhbGl6ZSBTUFMgVlVJIHBhcmFtZXRlcnMKCSAgLi4uIHNvIGFsbCAncHJlc2VudCcgZmxhZ3MgaW5kaWNhdGUgbm8gcHJlc2VuY2Ugb2Ygb3B0aW9uYWwgcGFydHMKCSAgaW4gY2FzZSBWVUkgcGFyYW1ldGVycyBlbmQgdXAgbm90IGJlaW5nIHBhcnNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTgxOAoKMjAxMy0wMS0xNSAxNTowNTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE3MmZhZWEgdG8gYTk0MjI5MwoKMjAxMy0wMS0xMiAxODoxMDozNSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCB0d28gbGF0ZXN0IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDEzLTAxLTA5IDE5OjU5OjE2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0ZHRtZmRldGVjdC5jOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZi9zcGFuZHNwOiBNb3ZlIGR0bWZkZXRlY3QgdG8gdXNlIGxpYnNwYW5kc3AKCSAgUmVtb3ZlIG91ciBjb3B5IG9mIHRoZSB0b25lX2RldGVjdC5jIGZpbGUgYW5kIHVzZSB0aGUgb3JpZ2luYWwKCSAgZnJvbSBsaWJzcGFuZHNwLiBBbHNvIG1vdmUgdGhlIGVsZW1lbnQgdG8gdGhlIHNwYW5kc3AgcGx1Z2luLgoKMjAxMy0wMS0xMCAwMDozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogdXNlIEdMaWIgZGVmaW5lcyB0byBjaGVjayBmb3IgYnl0ZSBvcmRlcgoKMjAxMy0wMS0wOSAxODoxMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkgIGJsdWV6OiBhZGQgbmV3IHBsdWdpbiB0byBidWlsZCBzeXN0ZW0sIGJ1dCBkaXNhYmxlIGZvciBub3cKCSAgRGlzYWJsZSB1bnRpbCBpdCBoYXMgYmVlbiB0ZXN0ZWQgYW5kIHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTA5IDE4OjAyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBtYWtlIGJsdWV6IGVsZW1lbnRzIGNvbXBpbGUgd2l0aCAxLjAKCSAgQnVpbGRzLCBidXQgdmVyeSBsaWtlbHkgZG9lc24ndCB3b3JrIHlldCBhdCBhbGwuIFNvbWUKCSAgdGhpbmdzIGFyZSBzdGlsbCBjb21tZW50ZWQgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEyLTEwLTA5IDIwOjM1OjQ1ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXZpbmZvOiBSZXBsYWNlIGRlZmluaXRpb25zIHdpdGggYTJkcC1jb2RlY3MuaCdzCgoyMDEyLTEwLTA5IDIwOjM1OjQ0ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXVkaW86IEFkZCBjaGVjayBmb3IgdmVuZG9yIHNwZWNpZmljIEEyRFAgY29kZWMKCSAgVGhpcyBwYXRjaCBhZGRzIGNoZWNrcyh2ZW5kb3IgSUQsIHZlbmRvciBzcGVjaWZpYyBjb2RlYyBJRCkgdG8gbWFrZSBzdXJlIG9mCgkgIHZlbmRvciBzcGVjaWZpYyBBMkRQIGNvZGVjIHNlbGVjdGlvbi4KCjIwMTItMDktMTQgMjE6NDA6MTAgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogZ3N0YXZkdHBzaW5rOiBGcmVlIHRoZSBELUJ1cyBlcnJvciBvbiByZXBseSBmYWlsdXJlCgkgIElmIEQtQnVzIGVycm9yIGlzIHNldCB3ZSBzaG91bGQgZnJlZSBpdC4KCjIwMTItMDgtMjEgMTE6NDk6MjQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZXMgb24gcG9pbnRlciBkZWNsYXJhdGlvbnMgYW5kIGNhc3RpbmcKCSAgQXZvaWQgdXNpbmcgQysrIHN0eWxlIHBvaW50ZXIgZGVjbGFyYXRpb25zIGxpa2UgImNoYXIqIHB0ciIsIGFzIG1vc3QKCSAgQmx1ZVogY29kZSB1c2VzICJjaGFyICpwdHIiLgoKMjAxMi0wNi0yNSAxMjowNjoxNyArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBhdWRpbzogUmVtb3ZlIGludGVybmFsIGF1ZGlvIElQQwoJICBXaXRoIHVuaXggc29ja2V0IGFuZCBBTFNBIHJlbW92ZWQgdGhlcmUgaXMgbm8gbG9uZ2VyIGFueSB1c2UgZm9yIHRoZQoJICBpbnRlcm5hbCBJUEMuCgoyMDEyLTA1LTMwIDE3OjE2OjE5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgY29tcGF0aWJpbGl0eSBjaGVjayBmb3IgREJVU19UWVBFX1VOSVhfRkQKCSAgU2luY2UgY29tbWl0IGM4OWI1ODlhNTg2ZTk3YWQ4NzVmYmRkMWQ0MWYwMzk3OTE1N2ViYjAsIEQtQnVzID49IDEuNC4wIGlzCgkgIHJlcXVpcmVkLiBUaGlzIHZlcnNpb24gYWxyZWFkeSBjb250YWlucyBVbml4IEZEIHBhc3Npbmcgc3VwcG9ydCwKCSAgdGhlcmVmb3JlIGNvZGUgdGhhdCBjaGVja3MgZm9yIERCVVNfVFlQRV9VTklYX0ZEIGRlZmluaXRpb24gaXMKCSAgdW5uZWNlc3NhcnkuCgoyMDEyLTA1LTE4IDA5OjQ2OjI5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBhdmR0cDogRml4IGluY29ycmVjdCBnY2hhciBidWZmZXIgYWxsb2NhdGlvbgoJICBUaGUgY29kZSB3YXMgYWxsb2NhdGluZyBhbiBhcnJheSBvZiBnY2hhciBwb2ludGVycywgd2hlcmUgYW4gYXJyYXkgb2YKCSAgZ2NoYXIgaXMgZXhwZWN0ZWQuCgoyMDEyLTA0LTE2IDExOjU5OjU5ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGF1ZGlvOiBBZGQgU0JDIE5VTEwgY2hlY2sgZm9yIEdTVCBBVkRUUCBzaWduYWxpbmcKCSAgRHVlIHRvIFJGIGNvbmRpdGlvbiBvciBoZWFkc2V0IG1hbGZ1bmN0aW9uaW5nLCBnc3QgYXVkaW8gcGx1Zy1pbiBjb3VsZAoJICBub3QgZ2V0IFNCQyAobWFuZGF0b3J5IGNvZGVjKSBpbmZvcm1hdGlvbi4KCjIwMTItMDQtMTIgMjA6MzM6MDYgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSAgYmx1ZXo6IGF1ZGlvOiBGaXggbmV3bGluZSBiZWZvcmUgRU9GCgoyMDEyLTA0LTEyIDIwOjMyOjU1ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGdzdGF2ZHRwc2luazogRml4IEQtQnVzIG1lbW9yeSBsZWFrIGluIGF1ZGlvCgoyMDExLTExLTE3IDEzOjI5OjA2IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBVkRUUDogRml4IGNsb3NpbmcgaW52YWxpZCBGRCBvbiBlcnJvcgoJICBJbiBnc3RfYXZkdHBfc2lua19zdGFydCgpLCBpZiBidF9hdWRpb19zZXJ2aWNlX29wZW4oKSBmYWlsZWQsIHRoZXJlIHdhcwoJICBhbiBhdHRlbXB0IHRvIGNsb3NlIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yICh0aHJvdWdoCgkgIGJ0X2F1ZGlvX3NlcnZpY2VfY2xvc2UoKSkuCgoyMDExLTExLTE2IDA5OjIwOjA0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggcmV0dXJuIHZhbHVlIGNoZWNrIGZvciBidF9hdWRpb19zZXJ2aWNlX29wZW4oKQoJICBPbmx5IG5lZ2F0aXZlIHZhbHVlcyAobmFtZWx5IC0xKSBhcmUgZXJyb3JzIGZvciB0aGlzIGZ1bmN0aW9uLgoKMjAxMS0xMS0xNiAwOToxOTo0OSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQVZEVFA6IEZpeCBlcnJubyBoYW5kbGluZyBjb252ZW50aW9uCgkgIFZhcmlhYmxlcyB3aGljaCBhcmUgYXNzaWduZWQgdG8gdGhlIGVycm5vIHZhcmlhYmxlICh1c3VhbGx5IGNhbGxlZAoJICAiZXJyIikgc2hvdWxkIGJlIG5lZ2F0aXZlLCBhbmQgIi1lcnIiIHNob3VsZCBiZSB1c2VkIHdoZXJlIGEgcG9zaXRpdmUKCSAgdmFsdWUgaXMgbmVlZGVkLgoKMjAxMS0wOC0yNiAxMToxODo1NCAtMDcwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdWRpbzogVXBkYXRlIGxpY2Vuc2UgZm9yIHNoYXJlZCBoZWFkZXIgZmlsZXMKCSAgVGhlIGhlYWRlciBmaWxlcyB3aXRoIGNvbnN0YW50cyBhbmQgc3RydWN0dXJlcyBmb3IgYXVkaW8gc3BlY2lmaWMKCSAgaW50ZXJhY3Rpb24gd2l0aCBQdWxzZWF1ZGlvIGFyZSBzdXBwb3NlIHRvIGJlIHVuZGVyIExHUEwgbGljZW5zZS4KCSAgRm9yIHNvbWUgb2RkIHJlYXNvbiBhMmRwLWNvZGVjcy5oIGVuZGVkIHVwIGJlaW5nIHVuZGVyIEdQTCBsaWNlbnNlCgkgIHdoaWNoIGlzIGFnYWluc3QgdGhlIGludGVudGlvbiBvZiB0aGlzIGJlaW5nIHNoYXJlZCBhbmQgcmUtdXNlZCBieQoJICBub24tR1BMIHByb2dyYW1zLiBGaXggdGhpcyBub3cgdG8gYXZvaWQgYW55IGZ1dHVyZSBjb25mdXNpb24uCgoyMDExLTA3LTAyIDEyOjMyOjQwIC0wMzAwICBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNvbW1vbiBtaXNzcGVsbGVkIHdvcmRzCgkgIEFjY291bnRpbmcgb2YgbWlzc3BlbGxlZCB3b3JkcywgYXMgZGV0ZWN0ZWQgYnkgY29kZXNwZWxsOgoJICBhY29yZGluZyAgICAgIDIKCSAgYW5jaWxsaWFyeSAgICAxCgkgIGFwcHJvcGlhdGUgICAgMQoJICBhdHJpYnV0ZSAgICAgIDEKCSAgY2FudCAgICAgICAgICAxCgkgIGNvbW1pbmcgICAgICAgMgoJICBncmFjZWZ1bGwgICAgIDEKCSAgbGVuZ2h0ICAgICAgICAxCgkgIG1pc3BlbGxlZCAgICAgMQoJICBvY2N1cmVkICAgICAgIDEKCSAgb2NjdXJlbmNlcyAgICAxCgkgIG9jdXJyZWQgICAgICAgMwoJICBwcmVmZXJlZCAgICAgIDEKCSAgcHJlc2Vuc2UgICAgICAxCgkgIHJlcG9uc2UgICAgICAgMQoJICBzZXBlcmF0ZSAgICAgIDEKCSAgc3VjY2VzZnVsICAgICAxCgkgIHN1Y2Nlc3N1bGx5ICAgMQoJICBzdWNlc3NmdWxsICAgIDEKCSAgc3VjZXNzZnVsbHkgICAxCgoyMDExLTA1LTA5IDE1OjI2OjA3ICswMjAwICBTenltb24gSmFuYyA8c3p5bW9uLmphbmNAdGlldG8uY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGdhcmJhZ2UgcmV0dXJuIHZhbHVlIGluIGdzdF9hdmR0cF9zaW5rX2F1ZGlvc2VydmljZV9yZWN2CgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDEtMjAgMTE6Mjk6NDEgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFVwZGF0ZSBhMmRwc2luayB0byB1c2UgbmV3IEFjcXVpcmUgQVBJCgoyMDExLTAxLTE5IDEwOjA0OjQ5ICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdXNlIG9mIGRlcHJlY2F0ZWQgZ2xpYiBvbiBhdWRpbyBwbHVnaW4KCjIwMTAtMDUtMDYgMTc6MTQ6MTQgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogQWRkIHN1cHBvcnQgZm9yIG1lZGlhIHRyYW5zcG9ydCBpbiBnc3RyZWFtZXIgcGx1Z2luCgoyMDEwLTA5LTEzIDE1OjQwOjExICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY3Jhc2ggb24gZ3N0cmVhbWVyIHBsdWdpbiBpZiBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IHNiYwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjEwOjI2ICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFJldmVydCAiRml4IGJ1aWxkIGlzc3VlcyB3aXRoIGxhdGVzdCBHU3RyZWFtZXIgdXBkYXRlcyIKCjIwMTAtMDUtMTcgMjI6MzE6MjggKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4IGJ1aWxkIGlzc3VlcyB3aXRoIGxhdGVzdCBHU3RyZWFtZXIgdXBkYXRlcwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMTAtMDUgMjI6NTE6MTQgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAZ21haWwuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNvZGVjIHNlbGVjdGlvbiBvbiBnc3RyZWFtIHBsdWdpbi4KCjIwMDktMTAtMDIgMTA6NTg6NTQgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MKCjIwMDktMDctMTUgMTY6NTE6MDggLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSB1c2VsZXNzIGluc3RydWN0aW9uLgoKMjAwOS0wNy0wMSAxMzoxNTo1NyArMDIwMCAgRmlsaXBwbyBHaXVuY2hlZGkgPGZpbGlwcG9AZXNhdXJpdG8ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBSZWdpc3RlciB0aGUgYTJkcCBnc3Qgc2luayBhcyBtYXJnaW5hbAoJICBBdm9pZCB0YWtpbmcgb3ZlciBhcyBkZWZhdWx0IGdzdCBzaW5rIGJ5IHJlZ2lzdGVyaW5nIGFzIEdTVF9SQU5LX01BUkdJTkFMCgoyMDA5LTAzLTI1IDE4OjA1OjQzIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgc3BlY2lmaWMgY29kZWMgdHlwZXMuCgkgIEFkZCBzcGVjaWZpYyBjb2RlYyB0eXBlcyBmb3IgYTJkcCBzb3VyY2VzIGFuZCBzaW5rcyBzbyBjbGllbnRzIGFyZSBhYmxlCgkgIHRvIGRpZmZlciBiZXR3ZWVuIHRoZW0uCgoyMDA5LTAzLTE4IDE1OjU4OjUzIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgdW5uZWNlc3NhcnkgbWVtc2V0LgoKMjAwOS0wMy0xOSAxNjoxNjoxOSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIGxvY2sgZmxhZyBmb3IgY2FwYWJpbGl0aWVzLgoJICBsb2NrIGZsYWcgcGVybWl0cyB0aGUgdW5peCBjbGllbnQgdG8gZGV0ZWN0IGlmIHRoZXJlIGlzIHNvbWVvbmUgaG9sZGluZwoJICB0aGUgbG9jayBzbyBpdCBjYW4gcHJldmVudCB1c2VsZXNzIGF0dGVtcHQgb2Ygc2V0dGluZyBhIG5ldyBjb25maWd1cmF0aW9uLgoKMjAwOS0wMy0xOCAxMToyMDozMSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogSW50cm9kdWNlIEJUX09QRU4gY29tbWFuZCB0byBhdWRpbyBpcGMuCgkgIEJUX09QRU4gbWFrZSBpdCBwb3NzaWJsZSB0byBsb2NrIGEgZ2l2ZW4gc2VpZCB3aGljaCBpcyBhdXRvbWFjYWxseQoJICByZWxlYXNlIGlmIHRoZSBjbGllbnQgZGlzY29ubmVjdHMgZnJvbSB0aGUgdW5peCBzb2NrZXQuCgoyMDA5LTAzLTE5IDExOjUwOjI2IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWVsZHMgdG8gYXVkaW8gaXBjIG1lc3NhZ2VzLgoKMjAwOS0wMi0xOSAxNTo1ODoxNSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTWFrZSB1c2Ugb2YgZ19pb19jaGFubmVsX3NodXRkb3duIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnX2lvX2NoYW5uZWxfY2xvc2UuCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMTItMjAgMjE6MDQ6NDQgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTEyLTIwIDE4OjI3OjMwICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBsZW5ndGggaGVhZGVyIHZhbHVlcyBpbiBtZXNzYWdlcwoKMjAwOC0xMi0xNiAxNzowOTo1NyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGdzdHJlYW1lciBwbHVnaW4gdG8gcmVmbGVjdCB0aGUgaXBjIGNoYW5nZXMuCgoyMDA4LTEwLTA3IDEyOjA3OjE0IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY2hhbm5lbCBtb2RlIHN0cmluZyBmcm9tIGR1YWwgdG8gZHVhbC1jaGFubmVsLgoKMjAwOC0xMC0wNyAxMTo1NTo1OCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNoYW5uZWwgbW9kZSBzdHJpbmcgdG8gam9pbnQtc3RlcmVvLgoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMTQgMjE6MjI6MzggKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1ha2UgdXNlIG9mIHBhcmFtZXRlcnMgc2VsZWN0ZWQgaW4gYWxzYSBwbHVnaW4gYW5kIGZpeCBhdXRvIHNlbGVjdGlvbi4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAyLTAxIDE5OjI4OjM3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBiaXRwb29sIHByb3BlcnR5IGFuZCBvdGhlcnMgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTMwIDE3OjMwOjI3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRW5hYmxlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIGF1dG9jb25uZWN0IGZsYWcuCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yMyAxOToxNzozMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IHVzZSBvZiBnc3RyZWFtZXIgcGx1Z2luIHdpdGggcmh5dGhtYm94IGFuZCBiYW5zaGVlIGFuZCBydHAgdGltZXN0YW1wcy4KCjIwMDgtMDEtMjMgMTU6MTg6MTUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBSZW5hbWUgYTJkcHNlbmRlcnNpbmsgdG8gYXZkdHBzaW5rLgoKMjAwOC0wMS0yMyAxMzoyMzowMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQnVnIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxOTozMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIG1wMyBzdXBwb3J0IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMDctMTItMDQgMTk6NDI6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGVycm9yIG1lc3NhZ2VzLiAodGhhbmtzIHRvIGZjaGV2YWxpZXIgZm9yIHRoZSBwYXRjaCkKCjIwMDctMTItMDMgMjI6NDE6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogSGFuZGxlIG5ldyBpcGMgbWVzc2FnZXMgcHJvcGVybHkgYW5kIGFkYXB0IHRoZSBwbHVnaW5zLgoKMjAwNy0xMS0yMyAxNzowMDoxMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBDb2RlIGNsZWFudXAuCgoyMDA3LTExLTIxIDIwOjI0OjExICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBJbnRlZ3JhdGUgbmV3IGlwYyBBUEkgaW1wbGVtZW50YXRpb24uCgoyMDA3LTExLTAxIDE5OjQ1OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggc2JjIG5lZ290aWF0aW9uIGFuZCBpbXByb3ZlcyBidWZmZXIgaGFuZGxpbmcgYnkgdXNpbmcgR3N0QWRhcHRlci4KCjIwMDctMTAtMjkgMTU6MDI6MjYgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIGJpdHBvb2wgY2FwYWJpbGl0eS4KCjIwMDctMTAtMjYgMTg6NDg6NDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIGRlcGVuZGVuY3kgb2Ygc2JjIGxpYnJhcnkgZnJvbSBhMmRwc2luayBlbGVtZW50LgoKMjAwNy0xMC0yNSAyMTowNzo1MCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IGJ1ZmZlciB1c2FnZS4KCjIwMDctMTAtMjQgMjE6NDA6MzUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogU29tZSBtb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwNy0xMC0yNCAyMTozMzoyMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kaW5nIHN0eWxlLgoKMjAwNy0xMC0yNCAyMToxMzoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IGEyZHBzaW5rIGNvZGluZyBzdHlsZSBwcm9ibGVtcyBhbmQgaW1wcm92ZSBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBwbGF5ZXJzLgoKMjAwNy0xMC0xOCAyMzowMjoyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgcnRwIGhlYWRlci4KCjIwMDctMTAtMTggMjI6NDY6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMuCgoyMDA3LTEwLTE4IDIxOjUwOjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXhlcyBhMmRwc2luayBlbGVtZW50LgoKMjAwNy0wOC0yNiAxNDoxNDozNCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIHBvc3NpYmxlIGNhcGFiaWxpdGllcyBhbmQgY29ubmVjdCB0byBhdWRpbyBzZXJ2ZXIKCjIwMDctMDgtMjMgMTk6MTI6MjMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBTQkMgZW5jb2RlciBhbmQgZGVjb2RlciBza2VsZXRvbnMgZm9yIEdTdHJlYW1lcgoKMjAwNy0wOC0yMiAyMTo1MDo1OSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIHNrZWxldG9uIGZvciBhbiBBMkRQIHNpbmsgZWxlbWVudAoKMjAxMy0wMS0wNyAxMDozNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogaGFuZGxlIG5vbi11dGY4IGR2ZCBkaXNjIHRpdGxlcyBiZXR0ZXIKCSAgTWF5YmUgc29tZXRoaW5nIGJhc2VkIG9uIHRoZSBjb2RlIGluIGJ1ZyAjNjg4MzY3CgkgIGFuZCB0aGUgbGFuZ3VhZ2UgZW5jb2RpbmdzIHdvdWxkIHdvcmsgZXZlbiBiZXR0ZXIKCSAgdGhvdWdoIChub3cgaXQgd2lsbCB0cnkgdGhpbmdzIGJhc2VkIG9uIHRoZSBsb2NhbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDk3CgoyMDEzLTAxLTA3IDEwOjM2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBqYXNwZXI6IHJlbW92ZSBqYXNwZXIganBlZzIwMDAgcGx1Z2luLCByZXBsYWNlZCBieSBvcGVuanBlZyBwbHVnaW4KCSAgbGliamFzcGVyIGlzbid0IHJlYWxseSBtYWludGFpbmVkIGFueSBsb25nZXIsIHdlIHByb2JhYmx5CgkgIGRvbid0IHdhbnQgdG8gcG9ydCB0aGlzLgoKMjAxMy0wMS0wNyAwMDo0OToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IG9wZW5jdiAyLjQuMyBhcyB3ZWxsCgoyMDEyLTEyLTA2IDExOjU1OjQ1IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkb24ndCBmb3J3YXJkIG11bHRpZmlsZXNpbmsgbWVzc2FnZXMgdG8gYXBwbGljYXRpb24KCSAgVGhlc2UgbWVzc2FnZXMgYXJlIHVzdWFsbHkgb25seSBuZWVkZWQgaW50ZXJuYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMi0xMS0wNiAxMDoxNzoxOSAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBtM3U4IGFkZCBFWFQtWC1BTExPVy1DQUNIRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEyLTEyLTA1IDEwOjA2OjM4IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IHJvdW5kIHNlZ21lbnQgZHVyYXRpb24gdG8gbmVhcmVzdCBudW1iZXIgb2Ygc2Vjb25kcwoJICBFLmcuIGZvciAxcyBwZXJpb2QsIGR1cmF0aW9uIGNhbiBiZSAwLjk5cywgcm91bmRzIGRvd24gdG8gMCwgcmVzdWx0cyBpbiBpbnZhbGlkCgkgIHBsYXlsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTMtMDEtMDYgMjI6MTk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHNzaW5rOiBkb24ndCBsZWFrIG9sZCBwbGF5bGlzdCBlbnRyaWVzIHdoZW4gdXNpbmcgbWF4LWZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMy0wMS0wNSAxODo1NjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciBSR0IKCjIwMTMtMDEtMDQgMTU6Mzg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htOiBBY3R1YWxseSBnZXQgdGhlIHBlcm1pc3Npb25zIG9uIGdldF9wcm9wZXJ0eQoKMjAxMy0wMS0wNCAxNzoxOToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggQVBJCgoyMDEzLTAxLTAzIDE3OjI4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCByZXR1cm4gRUdMSW1hZ2VzIHRoYXQgd2UganVzdCByZW5kZXJlZCBmcm9tIHRoZSBidWZmZXIgcG9vbAoJICBNYXBwaW5nIHRoZW0gd2lsbCBmYWlsIGJlY2F1c2UgdGhleSdyZSBzdGlsbCBpbnRlcm5hbGx5IHVzZWQuCgoyMDEzLTAxLTAzIDE1OjIyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogSGFuZGxlIGNvcHlpbmcgb2YgR3N0TWVtb3J5IHByb3Blcmx5CgkgIFdlIGhhdmUgdG8gdXNlIHRoZSBkZWZhdWx0IHZpZGVvIG1ldGEgbWFwcGluZyBmdW5jdGlvbnMuCgoyMDEzLTAxLTAzIDEyOjA5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU2V0IHZhcmlhYmxlcyB0byBOVUxMIHRvIHByZXZlbnQgdXNhZ2UgYWZ0ZXIgZnJlZS91bnJlZgoKMjAxMy0wMS0wMyAxMjowODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVzZSB0aGUgY29ycmVjdCBHc3RNZW1vcnkgZm9yIGJ1ZmZlcnMgZnJvbSBvdXIgcG9vbAoKMjAxMy0wMS0wMyAxMTowMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgZm9yZ2V0IHRvIGNhbGwgdGhlIHBsYXRmb3JtIHNwZWNpZmljIEVHTEltYWdlIGZyZWUgZnVuY3Rpb24KCjIwMTMtMDEtMDMgMTA6NTM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IEZpeCBsZWFrIG9mIGlucHV0L291dHB1dCBidWZmZXIgc3RvcmFnZSBpbiB0aGUgTUZDIGRlY29kZXIgbGlicmFyeQoKMjAxMy0wMS0wMyAxMDo0MDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIHdhaXQgZm9yIHRoZSByaWdodCBvYmplY3QgdG8gYmUgZGVxdWV1ZWQKCjIwMTMtMDEtMDMgMTA6MTA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBGaXggdHlwbwoKMjAxMy0wMS0wMiAxNzoyMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgYWRkIGNyb3AgbWV0YWRhdGEgaWYgcmVxdWlyZWQKCjIwMTMtMDEtMDIgMTY6NTM6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgZmltYzogRG8gU1RSRUFNT04vU1RSRUFNT0ZGIG9ubHkgb25jZSBhbmQgbm90IG9uY2UgcGVyIGJ1ZmZlcgoKMjAxMy0wMS0wMiAxNjozODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogUmVxdWlyZSBvbmUgbW9yZSBvdXRwdXQgYnVmZmVyIHRoYW4gcmV0dXJuZWQgYnkgdGhlIGRyaXZlcgoKMjAxMy0wMS0wMiAxNjoxMDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHBhY2tlZCBZVVYgc3VwcG9ydAoJICBUaGlzIHdpbGwgbm90IGFsbG93IHplcm8tY29weSBiZWNhdXNlIHRoZSBzYW1lCgkgIEVHTEltYWdlIHdvdWxkIG5lZWQgdG8gYmUgdXNlZCBmb3IgdHdvIGRpZmZlcmVudAoJICB0ZXh0dXJlcyB3aXRoIGEgZGlmZmVyZW50IGZvcm1hdC4KCjIwMTMtMDEtMDIgMTY6MDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBQcmVmZXIgTlYxMiBvdmVyIEk0MjAvWVYxMgoKMjAxMy0wMS0wMiAxNTo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogVGhlIGZpcnN0IGZyYW1lIHByb2R1Y2VzIG91dHB1dCBpbiBvdXIgY2FzZQoKMjAxMy0wMS0wMiAxNDozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBSZXF1ZXN0IGlucHV0IGJ1ZmZlcnMgZXhwbGljaXRlbHkKCjIwMTMtMDEtMDIgMTQ6Mjc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IERvbid0IFNUUkVBTU9GRiBpZiBubyBTVFJFQU1PTiBoYXBwZW5lZCB5ZXQKCjIwMTMtMDEtMDIgMTQ6MjM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSAgbWZjOiBDaGVjayBpZiB0aGUgTUZDIGhhcmR3YXJlIGV4aXN0cyBiZWZvcmUgcmVnaXN0ZXJpbmcgdGhlIGVsZW1lbnQKCjIwMTMtMDEtMDIgMTQ6MTY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IENoZWNrIGRldmljZSBjYXBhYmlsaXRpZXMgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCjIwMTMtMDEtMDIgMTI6MzM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBJbmNsdWRlIGNvZGVjX2RhdGEgaW4gdGhlIGJ1ZmZlciB3aXRoIHRoZSBuZXh0IGZyYW1lCgoyMDEzLTAxLTAyIDExOjQ0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU2V0IGZvcm1hdCBmaWVsZCBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0CgoyMDEzLTAxLTAyIDExOjAwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGNyb3AgbWV0YWRhdGEKCjIwMTMtMDEtMDIgMTA6MjY6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBDaGVjayBpZiB0aGUgaGFyZHdhcmUgaXMgYXZhaWxhYmxlIGluIEdzdFZpZGVvRGVjb2Rlcjo6b3BlbigpCgoyMDEzLTAxLTAxIDExOjU2OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiB1c2UgRFRTIGluIGFkZGl0aW9uIHRvIFBUUwoJICBBbmQgcmVmYWN0b3IgY2hvb3NlX2Jlc3Rfc3RyZWFtKCkgYSBsaXR0bGUuCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWJhbGwgISB4MjY0ZW5jICEgbXBlZ3BzbXV4ICEgLi4uCgkgIHBsYXlzIG11Y2ggbmljZXIgbm93LgoKMjAxMy0wMS0wMSAxMjowNTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTG9nIGluIHRoZSBwZXJmb3JtYW5jZSBjYXRlZ29yeSBpZiB3ZSBtYXAvY29weSBFR0xJbWFnZXMgdG8gbm9ybWFsIG1lbW9yeQoKMjAxMy0wMS0wMSAxMTowNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciBoMjYzIGFuZCBNUEVHMS8yCgoyMDEzLTAxLTAxIDEwOjQ4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDYXRjaCBlcnJvcnMgZnJvbSBnbEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VTKCkKCjIwMTMtMDEtMDEgMTA6NDQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVwbG9hZCB0ZXh0dXJlcyBpbiBHc3RCYXNlU2luazo6cHJlcGFyZSgpIGFscmVhZHkKCSAgVGhpcyBnaXZlcyBtb3JlIHRpbWUgZm9yIHRoZSB0ZXh0dXJlIHRvIGJlIHVwbG9hZGVkIGFzIGl0IGhhcHBlbnMKCSAgYmVmb3JlIHN5bmNpbmcgdG8gdGhlIHJ1bm5pbmcgdGltZS4gV2hlbiB0aGUgcnVubmluZyB0aW1lIGlzIHJlYWNoZWQKCSAgb25seSBlZ2xTd2FwQnVmZmVycygpIGlzIG5lY2Vzc2FyeS4KCjIwMTItMTItMzEgMTk6NDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg6IHVzZSBnc3RyZWFtZXIgZGVidWcgbG9nZ2luZyBzeXN0ZW0gZXZlcnl3aGVyZQoKMjAxMi0xMi0zMSAxOTo0MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiBwb3J0IHRvIDAuMTEKCSAgTmFpdmUgcG9ydC4gQmFyZWx5IHRlc3RlZC4KCjIwMTItMTItMzEgMTI6NDI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBEb24ndCByZWNvbmZpZ3VyZSBpZiB3ZSBnZXQgY29tcGF0aWJsZSBjYXBzCgoyMDEyLTEyLTMxIDEyOjMzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSBjcmVhdGUgdGhlIE1GQyBjb250ZXh0IGluIDo6c2V0X2Zvcm1hdCgpCgoyMDEyLTEyLTMxIDExOjU2OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVjcmVhdGUgZmltYyBjb250ZXh0IGlmIHNldHRpbmdzIGNoYW5nZQoKMjAxMi0xMi0zMSAxMTowMjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNvbWUgcmVmYWN0b3JpbmcKCjIwMTItMTItMzEgMDk6NDc6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBEbyB6ZXJvY29weSBpZiB3ZSBnZXQgRUdMSW1hZ2UgYnVmZmVycwoKMjAxMi0xMi0zMCAxNjo0NTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNvbWUgbWlub3IgZml4ZXMKCjIwMTItMTItMjYgMTM6MzA6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBGaXggZG91YmxlLXVubWFwIG9mIHRoZSBjb2RlYyBkYXRhCgoyMDEyLTEyLTI2IDEzOjI3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogUGFzcyBjb2RlY19kYXRhIHRvIHRoZSBjb2RlYyBpZiB0aGVyZSdzIHNvbWUKCjIwMTItMTItMjYgMTM6MTg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZWZhY3RvciBmaW1jIGNvZGUgYSBiaXQKCjIwMTItMTItMjYgMTI6Mzg6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IERvd25ncmFkZSBhbiBlcnJvciB0byBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjYgMTE6NTE6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBTb21lIGZpbWMgY2xlYW51cAoKMjAxMi0xMi0yNiAwOTo1NjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBwcm9maWxlL2xldmVsIGFuZCB3aWR0aC9oZWlnaHQgY29uc3RyYWludHMKCjIwMTItMTItMjQgMTY6MjM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBzZXR0aW5nIG5ldyBkZXN0IHNldHRpbmdzIGZvciBhIGRpcmVjdCBidWZmZXIKCjIwMTItMTItMjQgMTY6MDI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgaW5pdGlhbCBNUEVHNCBzdXBwb3J0CgoyMDEyLTEyLTI0IDE1OjQ0OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjQgMTU6MzQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogSW1wbGVtZW50IHRyYWNraW5nIG9mIGZyYW1lcyB1c2luZyB0aGUgdjRsMl9idWZmZXIgdGltZXN0YW1wCgoyMDEyLTEyLTI0IDE0OjQ4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVzZXQgc29tZSBtb3JlIHZhcmlhYmxlcyBvbiA6OnJlc2V0KCkKCjIwMTItMTItMjQgMTQ6MzY6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBbHNvIGFkZCBzdXBwb3J0IGZvciBZVjEyCgoyMDEyLTEyLTI0IDEzOjQxOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGEKCjIwMTItMTItMjQgMTM6Mzk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBJbXBsZW1lbnQgbmVnb3RpYXRpb24gdG8gTlYxMiBvciBJNDIwIGJhc2VkIG9uIGRvd25zdHJlYW0gY2FwcwoKMjAxMi0xMi0yNCAxMjozMTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IFdvcmthcm91bmQgZm9yIHdyb25nbHkgcmVwb3J0ZWQgc3RyaWRlcyBieSBGSU1DCgoyMDEyLTEyLTI0IDEyOjE4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgTUZDIGRlY29kZXIgc3RyaWRlcwoKMjAxMi0xMi0yNCAxMjoxMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFRyeSB3aXRoIEk0MjAgZm9yIG5vdywgaXQncyBlYXNpZXIgdG8gZGVidWcKCjIwMTItMTItMjQgMTE6NTc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNCAxMTo1NDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IERvbid0IHJlcXVpcmUgc3RyaWRlIHRvIGJlIHNldCBvbiBzcmMgcGFyYW1ldGVycwoKMjAxMi0xMi0yNCAxMTo0OTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBUaGUgbWZjIGRlY29kZXIgbGlicmFyeSBpcyBkdWFsIGxpY2Vuc2VkIHRvbwoJICBBcGFjaGUgTGljZW5zZSAyLjAgYW5kIExHUEwyKwoKMjAxMi0xMi0yMyAxMjoyNTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IFVzZSBDQU1JRi9GSU1DIGZvciBoYXJkd2FyZSBjb2xvciBmb3JtYXQgY29udmVyc2lvbiBhbmQgZGUtdGlsaW5nCgoyMDEyLTEyLTIzIDEzOjQ2OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSB1bnJlZiB0aGUgb3V0YnVmIGlmIGl0IGRvZXNuJ3QgYmVsb25nIHRvIHRoZSBmcmFtZQoKMjAxMi0xMi0yMyAxMjowNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMAoKMjAxMi0xMi0yMyAxMTo0Nzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBpbml0aWFsIGRlY29kZXIgZWxlbWVudCBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIGRvZXMgbm90IGNvcHkgdGhlIG91dHB1dCB0byBhbnkgb3V0cHV0IGJ1ZmZlcnMgeWV0LgoJICBPdGhlciB0aGFuIHRoYXQgc2hvdWxkIGJlIGJhc2ljYWxseSBmdW5jdGlvbmFsIGFscmVhZHkuCgoyMDEyLTEyLTIzIDEwOjIzOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBwbHVnaW4gYW5kIGRlY29kZXIgc2tlbGV0b24KCjIwMTItMTItMjMgMTA6MDU6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogTWFrZSBtZmNfZGVjb2RlciBsaWJyYXJ5IGNvbXBpbGUgYW5kIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTIzIDA5OjU2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEFkZCBtZmNfZGVjb2RlciBsaWJyYXJ5IGZyb20gRlhJCgoyMDEyLTEyLTMxIDExOjM4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb3duZ3JhZGUgYSBHU1RfRVJST1IgdG8gYSBHU1RfREVCVUcKCjIwMTItMTItMzAgMTQ6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgbGFzdF9mbG93IGhhbmRsaW5nIG1vcmUgdGhyZWFkc2FmZQoKMjAxMi0xMi0yOCAxMjoyNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBhbGxvY2F0aW5nIEVHTEltYWdlcyBvbiBNYWxpCgkgIFRoaXMgYWxsb3dzIHRvIGRlY29kZXJzIGFuZCBvdGhlciB1cHN0cmVhbSBlbGVtZW50cyB0byBkbwoJICB6ZXJvLWNvcHkgdG8gdGhlIHNpbmsuCgoyMDEyLTEyLTMxIDAwOjE2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcGxhY2UgZGVwcmVjYXRlZCBBTV9DT05GSUdfSEVBREVSIHdpdGggQUNfQ09ORklHX0hFQURFUlMKCSAgQU1fQ09ORklHX0hFQURFUiBoYXMgYmVlbiByZW1vdmVkIGluIHRoZSBqdXN0LXJlbGVhc2VkIGF1dG9tYWtlIDEuMTM6CgkgIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0b21ha2UvMjAxMi0xMi9tc2cwMDAzOC5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA4ODEKCjIwMTItMTItMzAgMTE6MzI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGluZGVudGlvbgoKMjAxMi0xMi0zMCAxMTozMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmV0dXJuIHRoZSBsYXN0X2Zsb3cgaW1tZWRpYXRlbHkgaWYgaXQgd2Fzbid0IEdTVF9GTE9XX09LCgoyMDEyLTEyLTMwIDExOjI5OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29weSZwYXN0ZSBtaXN0YWtlCgoyMDEyLTEyLTMwIDEwOjQ1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXByb3ZlIEVHTC9HTCBlcnJvciBoYW5kbGluZyBhIGJpdAoKMjAxMi0xMi0zMCAxMDo0MzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYWNjZXNzIHRoZSB2aWRlbyBmcmFtZSBkYXRhIGlmIG5vdCBuZWNlc3NhcnkKCjIwMTItMTItMzAgMTA6MTg6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvbmZpZ3VyZSBjYXBzIGZyb20gdGhlIHNldGNhcHMgZnVuY3Rpb24gYWxyZWFkeQoKMjAxMi0wNy0yNiAyMDozODoyOCArMDIwMCAgTWF0dGhpYXMgSGFyZHQgPG1oYXJkdEBiZXJsaW51eC1zb2x1dGlvbnMuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBleHRyYWN0IElTTyA2MzkgbGFuZ3VhZ2UgY29kZXMgZm9yIHN1YnRpdGxlcyBpbnRvIHRhZ2xpc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyMDAKCjIwMTItMTItMjggMTk6MzY6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEJpbmQgdGhlIE9wZW5HTCBFUyBBUEkgaW4gdGhlIHJlbmRlciB0aHJlYWQgdG9vCgoyMDEyLTEyLTI4IDE0OjA1OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHJlZmFjdG9yaW5nIGFzIHByZXBhcmF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyByZW5kZXJpbmcKCjIwMTItMTItMjggMTM6MDg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIG1vcmUgY29tbWVudHMKCjIwMTItMTItMjggMTI6NDA6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgdXNlIHRoZSBHc3RWaWRlb0ZyYW1lIGlmIHdlIGhhdmUgYSBidWZmZXIKCjIwMTItMTItMjcgMTA6NTE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGNvbmZpZ3VyZSBwYXJhbWV0ZXIgdG8gY2hvc2UgdGhlIEVHTCB3aW5kb3cgc3lzdGVtCgkgIE9ubHkgbmVlZGVkIGZvciBjcmVhdGluZyBuYXRpdmUgd2luZG93cy4KCjIwMTItMTItMjYgMTc6MzU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgTWFsaSBmYmRldiBFR0wgZHJpdmVyCgoyMDEyLTEyLTI3IDE0OjA5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBjb21wYXRpYmlsaXR5ICNkZWZpbmVzIGZvciBvbGRlciBtaW5ndyBoZWFkZXJzCgkgIFRoZXNlIHdlcmUgcmVtb3ZlZCByZWNlbnRseSBidXQgdGhlc2UgbWluZ3cgaGVhZGVycyBhcmUgc3RpbGwKCSAgb3V0IHRoZXJlLgoKMjAxMi0xMi0yMSAwNzozNToxMyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVtb3ZlIHVzZWxlc3MgYW5kIHVuaW5pdGlhbGl6ZWQgbGlzdCBjYXVzaW5nIGEgY3Jhc2ggaW4gdGhlIGRldmljZSBwcm9iZQoKMjAxMi0xMi0yNiAxNzoyNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGEgYW5kIGFyYml0cmFyeSBzdHJpZGVzCgoyMDEyLTEyLTI2IDE1OjU4OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggd2lkdGgvaGVpZ2h0IHN3YXAgaW4gbGFzdCBjb21taXQKCjIwMTItMTItMjYgMTU6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBkZWJ1ZyBmdW5jdGlvbiBjYWxsIGZyb20gcHJldmlvdXMgY29tbWl0CgoyMDEyLTEyLTI2IDE0OjM5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBoYW5kbGluZyBvZiBHc3RWaWRlb092ZXJsYXk6OnNldF9yZW5kZXJfcmVjdCgpIGFuZCBjcm9wIG1ldGFkYXRhCgoyMDEyLTEyLTI2IDEwOjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBhIGNhc3QgZnJvbSBFR0xOYXRpdmVXaW5kb3dUeXBlIHRvIFdpbmRvdyB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEyLTI2IDEwOjM5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYSBjcmFzaCBvbiBHc3RWaWRlb092ZXJsYXk6OmV4cG9zZSgpCgoyMDEyLTEyLTI2IDEwOjM0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoIHdoZW4gY2xvc2luZyBpbnRlcm5hbCBYMTEgd2luZG93CgoyMDEyLTEyLTI2IDEwOjIwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHByb3BlciBjaGVjayBmb3IgWDExCgoyMDEyLTEyLTE4IDA5OjUzOjE2IC0wODAwICBKb2UgS29ubm8gPGpvZS5rb25ub0BpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IGRlZmF1bHQgdG8gYSBmdWxsc2NyZWVuIGNhbnZhcwoJICBEZWZlciBjZXJ0YWluIGNhbnZhcyBwYXJ0aWN1bGFycyB0byB0aGUgcGxheWVyIChvciB0aGUgV2F5bGFuZAoJICBjb21wb3NpdG9yKS4gQmVmb3JlIHRoaXMgY2hhbmdlLCBhIGZ1bGxzY3JlZW4gY2FudmFzIHdhcyBhbHdheXMKCSAgcmVxdWVzdGVkLiBUaGlzIG1heSBub3QgYmUgZGVzaXJhYmxlIGluIGFsbCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDQ0MgoKMjAxMi0xMi0yMyAwOTo1MTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IE9ubHkgdXNlIDEwIGJpdCBZVVYgZm9ybWF0cyBmb3IgZXhhY3RseSAxMCBiaXQgaW1hZ2VzLCBub3QgPD0gMTYgYml0CgkgIEFuZCB1c2UgdGhlIGdlbmVyaWMgY29udmVydGVyIHRvIEFZVVY2NCBmb3IgZXZlcnl0aGluZyBlbHNlLgoKMjAxMi0xMi0yMiAxODo0MzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgc2NhcnkgIndoaWxlIChvYmplY3QucmVmY291bnQgPiAwKSByZWxlYXNlIChvYmplY3QpOyIgY29kZQoJICBJZiB0aGVyZSBpcyBhIG1lbW9yeSBsZWFrLCB0aGlzIGlzbid0IHRoZSB3YXkgaG93IGl0IHNob3VsZCBiZSBmaXhlZC4KCjIwMTItMTItMjIgMTg6MTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBmb3JnZXQgdG8gcmV0dXJuIGEgdmFsdWUgZnJvbSA6OnByb3Bvc2VfYWxsb2NhdGlvbigpCgoyMDEyLTEyLTIyIDE4OjE3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSB2aWRlbyBtZXRhCgoyMDEyLTEyLTIyIDE4OjEyOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCB1c2UgImNsYXNzIiBhcyB2YXJpYWJsZSBuYW1lIGFuZCBkb24ndCB1c2UgQzk5IGNvbW1lbnRzCgoyMDEyLTEyLTIyIDE4OjA0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgb3BlbiBzeXN0ZW0gcmVzb3VyY2VzIGluIGluIE5VTEwtPlJFQURZLCBub3Qgb24gb2JqZWN0IGluc3RhbnRpYXRpb24KCjIwMTItMTItMjIgMTc6NTU6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFByb3Blcmx5IGNvcHkgZnJhbWVzIHRvIEQzRCB3aXRoIHRoZSByaWdodCBzdHJpZGVzIGFuZCBldmVyeXRoaW5nCgkgIEFuZCBvbmx5IHN1cHBvcnQgY29sb3IgZm9ybWF0cyB0aGF0IGFyZSBhY3R1YWxseSBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciwKCSAgdGhpcyBhbGxvd3MgcHJvcGVyIHplcm8tY29weSBoYW5kbGluZyBsYXRlciBhbmQgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdC4KCSAgQWxzbyBzaW1wbGlmeSBzb21lIG90aGVyIHBsYWNlcywgbGlrZSB0aGUgZm9ybWF0IG1hcHBpbmcgY29kZS4KCjIwMTItMTItMjIgMTY6MjY6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgbm9uLXNlbnNlIGRpc3BsYXkgUEFSIGhhbmRsaW5nCgkgIFRoaXMgaGFzIHRvIGJlIGltcGxlbWVudGVkIHByb3Blcmx5IGF0IHNvbWUgcG9pbnQKCjIwMTItMTItMjIgMTY6MTg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggY2FwcyBsZWFrCgoyMDEyLTEyLTIyIDEyOjA5OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGR1cGxpY2F0ZWQgZm9ybWF0IGVudHJ5IGluIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTEyLTIyIDEyOjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBGaXggbGlua2luZwoKMjAxMi0xMi0yMiAxMTo1ODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggc29tZSBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTIyIDExOjUwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUG9ydCByZW1haW5pbmcgYml0cyB0byBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTIyIDExOjQ1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQW5kIHJlbW92ZSB0aGUgcmlnaHQgZGVjbGFyYXRpb24KCjIwMTItMTItMjIgMTE6NDQ6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHN0YXRpYyBkZWNsYXJhdGlvbgoKMjAxMi0xMi0yMiAxMTo0MzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDEyLTEyLTIyIDExOjQyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogVXBkYXRlIHRvIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCjIwMTItMTItMjIgMTE6Mzg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZW5hbWUga2VlcF9hc3BlY3RfcmF0aW8gdG8gZm9yY2VfYXNwZWN0X3JhdGlvIGluIHRoZSBoZWFkZXIgdG9vCgoyMDEyLTEyLTIyIDExOjM1OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTItMTItMjIgMTE6MzQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVuYW1lIGtlZXAtYXNwZWN0LXJhdGlvIHRvIGZvcmNlLWFzcGVjdC1yYXRpbyBhbmQgZGVmYXVsdCB0byBUUlVFCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHZpZGVvIHNpbmtzLgoKMjAxMi0xMi0yMiAxMTozMDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIGZpbGVzIHRoYXQgaGFkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAxMi0xMi0yMiAxMToyODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MKCjIwMTItMTItMjIgMTE6MjQ6MjggKzAxMDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogVmFyaW91cyBpbXByb3ZlbWVudHMKCSAgKiBYT3ZlcmxheSBzZXRfcmVuZGVyX3JlY3RhbmdsZSBzdXBwb3J0IChVc2VmdWwgZm9yIHJlbmRlcmluZyBpbiBRVCBRTUwpCgkgICogVmlkZW8gZm9ybWF0IG5lZ290aWF0aW9uICh3aXRoIHByZWZlcmVuY2Ugb3JkZXJpbmcpCgkgICogVXNpbmcgRGlyZWN0M0Q5IChObyBiZW5lZml0IHRvIHVzaW5nIG5ld2VyIEQzRCB2ZXJzaW9ucykKCjIwMTItMTItMjEgMTY6MTE6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IGluY2x1ZGUgZm9ybWF0cyB0aGF0IGFyZSBhY3R1YWxseSB3b3JraW5nCgoyMDEyLTEyLTIxIDE1OjIzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQWRkIHRoZSBhY3R1YWxseSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0cyB0byB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMi0xMi0xOCAyMjoyMzo0MiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmMvLWRlYzogcHJpbnQgb3BlbmpwZWcgbG9ncyBmb3IgZGVidWcgdHJhY2luZwoKMjAxMi0xMi0xOCAxNjo1NjoyOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjUyOjI2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo1MDozNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NDA6NTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAganBlZzogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjIwOjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NDQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBBZGQgc29tZSBwcm9wZXJ0aWVzCgoyMDEyLTEyLTE4IDE1OjQzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogRG9uJ3QgY3Jhc2ggaWYgY29sb3JzcGFjZSBpcyBub3QgcHJvdmlkZWQgb24gdGhlIGNhcHMKCSAgZ19zdHJfZXF1YWwoKSBpcyAqbm90KiBOVUxMLXNhZmUKCjIwMTItMTItMTcgMTc6MTk6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBJbXByb3ZlIHJvYnVzdG5lc3MgYWdhaW5zdCBmb3JtYXRzIHdpdGggZGlmZmVyZW50IHNldHRpbmdzIHBlciBjb21wb25lbnQKCjIwMTItMTItMTcgMTc6MTM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBQcm9wZXJ0aWVzIHdvbid0IGJlIG5lZWRlZCBpbiB0aGUgZGVjb2RlcgoKMjAxMi0xMi0xNyAxNzoxMTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEZpeCBkYXRhIHBvaW50ZXIgaW5jcmVtZW50aW5nCgoyMDEyLTEyLTE3IDE3OjA2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogT3B0aW1pemUgaW1hZ2UgZmlsbGluZyBmdW5jdGlvbnMgYSBiaXQKCjIwMTItMTItMTcgMTc6MDI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBBZGQgbWlzc2luZyBzaGlmdHMKCjIwMTItMTItMTcgMTY6NTc6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBPcHRpbWl6ZSBmcmFtZSBmaWxsaW5nIGZ1bmN0aW9ucyBhIGJpdAoKMjAxMi0xMi0xNyAxNToxNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IE1ha2Ugc3VyZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0KCjIwMTItMTItMTcgMTU6MDQ6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgdGhlIHBlZXIgY2FwcyBmb3IgcmVzdHJpY3Rpb25zIGluc3RlYWQgb2YgdGhlIHNyY3BhZCBhbGxvd2VkIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaW50ZXJzZWN0IHdpdGggdGhlIHNyY3BhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBhZGQgYWxsIHRoZSBjYXBzIGZpZWxkcwoJICB0aGF0IHRoZSBwYXJzZXIgd2lsbCBldmVyIHNldCwgbm8gbWF0dGVyIGlmIGRvd25zdHJlYW0gcmVzdHJpY3RzIHRoaXMgZmllbGQgb3Igbm90LgoJICBUaGlzIHJlcXVpcmVzIHVwc3RyZWFtIHRvIHNldCB0aGlzIGZpZWxkIG9uIHRoZSBjYXBzIHRvIHN1Y2Nlc3NmdWxseSBuZWdvdGlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxODQKCjIwMTItMTItMTYgMjA6MDU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogQ29ycmVjdCB0ZW1wbGF0ZSBjYXBzIGEgYml0CgoyMDEyLTEyLTE2IDIwOjAyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBIYW5kbGUgdGhlIG51bS1jb21wb25lbnRzIGZpZWxkIGluIHRoZSBjYXBzCgoyMDEyLTEyLTE1IDExOjI1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGNvbG9yc3BhY2UgZmllbGQgaW4gdGhlIGNhcHMKCjIwMTItMTItMTQgMjA6MDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IEFkZCBKUEVHMjAwMCBlbmNvZGVyIGVsZW1lbnQKCjIwMTItMTItMTQgMTQ6Mzg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogQWRkIE9wZW5KUEVHIGJhc2VkIEpQRUcyMDAwIGRlY29kZXIKCjIwMTItMTItMTYgMTc6NDQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCByZW1vdmVkIHJ0cG11eCBiaXRzIHRvIGNydWZ0IGNoZWNrCgoyMDEyLTEyLTE2IDE3OjM1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHJlbW92ZSBydHBtdXggcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBNb3ZlIHJ0cG11eCBhbmQgcnRwZHRtZm11eCBpbnRvIHJ0cG1hbmFnZXIgcGx1Z2luIGluIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTEyLTE0IDE0OjUxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgc2NhbGV0ZW1wbzogcmVtb3ZlIHNjYWxldGVtcG8gcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYyCgoyMDEyLTEyLTE0IDE4OjA5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGRvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZGluZyBBUEkKCjIwMTItMTItMTMgMTQ6MTI6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSB1cHN0cmVhbSB3aWR0aC9oZWlnaHQgd2hlbiBnaXZlbgoJICBUaGUgdXBzdHJlYW0gd2lkdGggYW5kIGhlaWdodCBzaG91bGQgb3ZlcnJpZGUgdGhlIGRpbWVuc2lvbiBkZXRlY3RlZCBpbiB0aGUKCSAgZmlsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE0MgoKMjAxMi0xMi0xMyAxMTo0Nzo1NyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGV4cG9ydCBudW1iZXIgb2Ygc3ByaXRlIHdhcnBpbmcgcG9pbnRzIGluIGNhcHMKCSAgVGhpcyBhbGxvd3MgZmlsdGVyaW5nIG91dCB2aWRlb3MgZm9yIGhhcmR3YXJlIGRlY29kZXJzIHRoYXQgZG8gbm90CgkgIHN1cHBvcnQgR01DIGF0IGFsbCBvciBvbmx5IHN1cHBvcnQgYSBsaW1pdGVkIG51bWJlciBvZiBzcHJpdGUgd2FycGluZwoJICBwb2ludHMgKHVzdWFsbHkgMSkuCgoyMDEyLTEyLTEzIDExOjQzOjA5ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIGRpdnggY2FwcwoJICBEaXZYIDQvNSBhcmUgTVBFRzQgcGFydCAyIHZpZGVvcywgc28gdGhleSBjYW4gYmUgcGFyc2VkIGJ5IHRoaXMgcGx1Z2luLgoKMjAxMi0xMi0xMyAwMTo1NzoyMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTI4CgoyMDEyLTEyLTEyIDE4OjUwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcHJpbnRmIGZvcm1hdCBmaXhlcyBmb3IgZGVidWcgbWVzc2FnZXMKCjIwMTItMTItMTIgMDA6NDA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IG1pbm9yIE1ha2VmaWxlIGNsZWFuLXVwCgkgIFJlbW92ZSBzdXBlcmZsdW91cyBTT1VQX0NGTEFHUyBhbmQgU09VUF9MSUJTLgoKMjAxMi0xMi0xMSAyMTowOTowMiArMDAwMCAgTWljaGFlbCBFc2VtcGxhcmUgPG1pY2hhZWwuZXNlbXBsYXJlQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogbGluayB0byB0aGUgcmlnaHQgZ3N0LXBsdWdpbnMtYmFzZSBsaWJzIGFuZCBmaXggbGlicyBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDMwCgoyMDEyLTEyLTExIDIwOjU4OjQyICswMDAwICBNaWNoYWVsIEVzZW1wbGFyZSA8bWljaGFlbC5lc2VtcGxhcmVAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBmaXggY29tcGlsZXIgYW5kIGxpbmtlciBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDMxCgoyMDEyLTEyLTExIDE1OjAwOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgQUNfTEFOR19QUk9HUkFNIHRvIG1ha2UgYXV0b2NvbmYgaGFwcHkKCjIwMTItMTItMTEgMTQ6MTk6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGNvbXBpbGF0aW9uCgoyMDEyLTEyLTExIDEwOjU4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogRml4IGZvcm1hdCBzdHJpbmcgZm9yIG9mZl90L2dvZmZzZXQKCSAgRml4ZXMgYnVnICM2OTAwMzMuCgoyMDEyLTEyLTA2IDEwOjA2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IGFsbG93IGFueSB3cmFwcGluZyBvdGhlciB0aGFuIGZyYW1lIHdyYXBwaW5nCgkgIEJhZCB0aGluZ3Mgd2lsbCBoYXBwZW4gb3RoZXJ3aXNlLCBsaWtlIHJlYWRpbmcgYSBjb21wbGV0ZSwKCSAgbXVsdGlwbGUgR0IgbGFyZ2UgdmlkZW8gdHJhY2sgaW50byBhIHNpbmdsZSBidWZmZXIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZkZW11eC5jCgoyMDEyLTEyLTA1IDE1OjI3OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmZGVtdXg6IEFkZCBmdW5jdGlvbiB0byBnZXQgdGhlIGVzc2VuY2UgdHJhY2sgd3JhcHBpbmcKCjIwMTItMTItMDUgMTI6MjM6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJICBteGY6IEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIGZpbGxlciBzdHJ1Y3R1cmFsIGNvbXBvbmVudHMKCSAgVGhpcyBkb2VzIG5vdCBhZGQgc3VwcG9ydCBmb3IgYWN0dWFsbHkgcHJvZHVjaW5nIGZpbGxlciBkYXRhCgkgIGlmIHRoZXJlJ3MgYSBmaWxsZXIgY29tcG9uZW50IGluIGEgdGltZWxpbmUuCgoyMDEyLTEyLTA1IDEyOjA4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBkdXJpbmcgbWV0YWRhdGEgcmVzb2x2YWwKCjIwMTItMTItMDEgMTc6MDU6MzggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBkaXNhYmxlIHNlZWtpbmcgaWYgdGhlIGNvbmZpZ3VyZWQgdXJsIHNwZWNpZmllcyBsaXZlPXRydWUKCSAgRGlzYWJsZSBzZWVraW5nIHdoZW4gbGl2ZT10cnVlIGlzIHNldCBpbiB0aGUgbG9jYXRpb24gVVJMIChlZzoKCSAgInJ0bXA6Ly9leGFtcGxlLm5ldC9zdHJlYW0gbGl2ZT10cnVlIikKCjIwMTItMTEtMzAgMjA6MDE6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkLCBmcmVpMHI6IGxpbmsgdG8gbGliZ21vZHVsZS0yLjAgaW4gcGx1Z2lucyB0aGF0IHVzZSBnX21vZHVsZV8qIEFQSQoJICBQcm9iYWJseSBuZWVkZWQgZm9yIG90aGVyIHBsdWdpbnMgYXMgd2VsbC4KCjIwMTItMTEtMzAgMTk6NTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNwcmlua2xlIHNvbWUgQUNfTEFOR19QUk9HUkFNIGluIHdhc2FwaSBjaGVjawoJICBTbyBhdXRvZ2VuLnNoIHN0b3BzIG1vYW5pbmcuCgoyMDEyLTExLTMwIDE1OjEwOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IEFkZCBtb3JlIHN1cHBvcnQgZm9yIFJQMjAwOCAoQVZDIGluIHRoZSBNUEVHIG1hcHBpbmcpCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZtcGVnLmMKCjIwMTItMTEtMzAgMTE6NDQ6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBtYWtlIHRoZSBidWlsZCBoYXBweSB3aXRob3V0IHRoZSBzdGF0aWMgcGx1Z2lucyBwYXRjaAoKMjAxMi0xMS0zMCAxMTo0MDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIHdhc2FwaSB0byB0aGUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMS0zMCAxMTozNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBJbnRlZ3JhdGUgaW50byB0aGUgYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBQYXRjaCBiYXNlZCBvbiBhIHBhdGNoIGJ5IEZhYnJpemlvIENpYXZhdHRhIDxmYWJyaXppby5jaWF2YXR0YUBnbWFpbC5jb20+CgoyMDEyLTExLTI4IDEzOjEwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSAgc2htOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBjbGVhbiB1cCBNYWtlZmlsZQoKMjAxMi0xMS0yNyAxNTozNDoxOSAtMDUwMCAgRW1tYW51ZWwgRHVyYW5kIDxlbW1hbnVlbGR1cmFuZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEZpeCBjb21waWxhdGlvbiBvZiBzaG0gb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxODMKCjIwMTItMTEtMjYgMTk6MjE6MDMgKzAwMDAgIEtyenlzenRvZiBLb25vcGtvIDxrcnp5c3p0b2Yua29ub3Brb0B5b3V2aWV3LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gcmUtdXNlIHRoZSBlbGVtZW50CgkgIEEgY3Jhc2ggb2NjdXJlZCBhZnRlciBwdXNoaW5nIGJ1ZmZlcnMgYW5kIGNoYW5naW5nIG1wZWd0c211eCBzdGF0ZSB0bwoJICBOVUxML1JFQUQgYW5kIHRoZW4gYmFjayB0byBQTEFZSU5HL1BBVVNFRC4KCSAgVGhlIGNyYXNoIHdhcyBjYXVzZWQgYnkgaG9sZGluZyBhIGRhbmdsaW5nIHBvaW50ZXIgaW4gdGhlIE1wZWdUc011eAoJICBwcm9ncmFtIHRhYmxlLgoJICBBZGRpdGlvbmFsbHkgc3RyZWFtIGhlYWRlcnMgd2VyZSBsZWFrZWQgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQ6CgkgIG11eC0+c3RyZWFtaGVhZGVyIHNldCB0byBOVUxMIGluIG1wZWd0c211eF9yZXNldCgpIGJlZm9yZSBpdCdzIHJlbGVhc2VkCgkgIGxhdGVyIGluIHRoZSBzYW1lIGZ1bmN0aW9uLgoJICBBZGRlZCBhIHVuaXQgdGVzdDogdGVzdF9tdWx0aXBsZV9zdGF0ZV9jaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTEwNwoKMjAxMi0xMS0yMyAxMjoyNjo0MyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMgZXRjLgoKMjAxMi0xMS0yMiAxMDo1NzoyNSArMDAwMCAgS3J6eXN6dG9mIEtvbm9wa28gPGtyenlzenRvZi5rb25vcGtvQHlvdXZpZXcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcHJvcGFnYXRlIGZsb3cgcmV0dXJucwoJICBBbmQgYWRkIGEgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4ODcwCgoyMDEyLTExLTIxIDEwOjIxOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2luZG93czogUHV0IHRoZSBEaXJlY3RYIExERkxBR1MgaW4gdGhlIGNvcnJlY3QgcGxhY2UgYW5kIHJlb3JkZXIgbGlicmFyaWVzCgoyMDEyLTExLTIwIDIzOjIwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGFkZCBkb2MgY2h1bmsgd2l0aCBleGFtcGxlIGNvbW1hbmQgbGluZQoKMjAxMi0xMS0yMCAxMjowNToxNyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogZml4IHJlZGVmaW5pdGlvbiBvZiBERUNMQVJFX0lOVEVSRkFDRV9JSUQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODUxMAoKMjAxMi0xMS0xOSAxOToyOTo0OCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIEdzdFBob3RvZ3JhcGh5OiBBZGQgbmV3IGVudW0gdmFsdWVzIHRvIG1hdGNoIGFuZHJvaWQncyBwYXJhbWV0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg0ODYKCjIwMTItMTEtMTkgMTA6MzI6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggUFRZUEUgZm9yIGludGVybGFjZWQgZnJhbWVzLgoJICBDb3Zlcml0eSBmb3VuZCBtaXNzaW5nIGJyZWFrIGluIHBhcnNlX2ZyYW1lX2hlYWRlcl9hZHZhbmNlZCgpIHdoZW4KCSAgZGV0ZXJtaW5pbmcgUFRZUEUgZnJvbSBGUFRZUEUgZm9yIGludGVybGFjZWQgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODYyNgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTIxIDE4OjIzOjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZXJyb3IgY29kZSBmb3IgaW52YWxpZCBzaXplIHBhcnNlZCBpbiBTUFMuCgkgIGdzdF9oMjY0X3BhcnNlX3NwcygpIHJldHVybmVkIEZBTFNFIGlmIGl0IHBhcnNlZCBpbnZhbGlkIChuZWdhdGl2ZSkKCSAgc2l6ZSBjb21wb25lbnRzLiBOb3cgbWFrZSBpdCBncmFjZWZ1bGx5IHJldHVybiBHU1RfSDI2NF9QQVJTRVJfRVJST1IKCSAgaW5zdGVhZCBvZiBHU1RfSDI2NF9QQVJTRVJfT0sgKEZBTFNFKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDU2OAoKMjAxMi0xMS0xOSAxMToyNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjQ5N2M0ZiB0byBhNzJmYWVhCgoyMDEyLTExLTE1IDExOjM3OjEyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEZpeCBuaXRwaWNrCgoyMDEyLTExLTE1IDEwOjE0OjM0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IE1ha2Ugc3VyZSBwYWQgdGVtcGxhdGUgY2FwcyBhcmUgbm90IGZpeGVkIGZyb20gdGhlIGJlZ2dpbmcKCSAgUmlnaHQgbm93IGRlY29kZWJpbiB3aWxsIGNvbmNpZGVyIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBmaXhlZCBhbmQgaWYgYSBkZWNvZGVyCgkgIGhhcyByZXN0cmljdGlvbiBvbiBmb3IgZXhhbXBsZSBoZWlnaHQvd2lkdGggaXQgd29uJ3QgYmUgYXV0b3BsdWdnZWQgYmVjYXVzZQoJICBnc3RfY2Fwc19pc19zdWJzZXQgZmFpbHMgYXMgdGhvc2UgZmllbGRzIGFyZSBtaXNzaW5nIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzLgoJICBXZSBmaXggdGhlIGlzc3VlIGhlcmUgbWFraW5nIHN1cmUgdGhhdCB0aGUgcGFkIGNhcHMgYXJlIGZpeGVkIHVzaW5nIGRhdGEgZnJvbQoJICB0aGUgc3RyZWFtLgoKMjAxMi0xMS0xMyAyMjo0MDoyNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZm9yd2FyZCB1cHN0cmVhbSB0aW1lIHNlZ21lbnRzIGFmdGVyIGZsdXNoZXMKCSAgQWxzbyByZXNldCBzZWdtZW50IGluZm8gYW5kIGRyb3AgdGhlIHNlZ21lbnQgZXZlbnQgd2hlbiBkZW11eGVyIGlzCgkgIGZsdXNoZWQuCgkgIFJlc3RvcmUgZGVtdXhlciBzZWdtZW50IHdpdGggdGhlIGluZm8gc3RvcmVkIGluIGJhc2Ugd2hlbiBkZW11eGVyIGlzCgkgIGdvaW5nIHRvIHB1c2ggZGF0YSBhZ2FpbiBpZiBuZWVkZWQuCgkgIERyb3AgY29kZSB0byByZWNvdmVyIHRoZSBzZWdtZW50IGluZm8gZnJvbSBiYXNlIGluIHRoZSBpbml0aWFsIHByb2dyYW0KCSAgYmVjYXVzZXMgaXQncyBzdXBlcnNlZGVkIGJ5IHRoZSBuZXcgY29kZS4KCjIwMTItMTEtMTQgMTI6NDE6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgLT4gZ3N0X2FkYXB0ZXJfcHJldl9wdHMKCjIwMTItMTEtMTQgMTE6MzU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IGRpc3QgYWxsIGhlYWRlciBmaWxlcyBuZWVkZWQgdG8gYnVpbGQKCjIwMTItMTEtMTQgMTA6NDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSAgYWNjdXJpcDogZml4IGxpbmtlciBmbGFncwoJICBTcG90dGVkIGJ5IFJpY28gVHpzY2hpY2hob2x6LgoKMjAxMi0xMS0xMSAxMjo0Njo0MyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgdGhlIHN0cmVhbSBzb21lIG1vcmUgaW4gdGhlIGZsdXNoZXMKCSAgTm93IHRoYXQgd2UgaGFuZGxlIGZsdXNoaW5nIGluIHRoZSBGTFVTSF9TVE9QIGV2ZW50IHdlIG5lZWQgdG8gbWFrZQoJICB0aGUgc3RyZWFtcyByZWFkeSBpZiB0aGV5IHdlcmUgZmx1c2hpbmcuCgoyMDEyLTExLTExIDEyOjQ1OjAzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmbHVzaCBvYnNlcnZhdGlvbnMgdG9vCgkgIEZsdXNoIHRoZSBwcmV2aW91cyBvYnNlcnZhdGlvbnMgd2hlbiB0aGUgcGFja2V0aXplciBpcyBmbHVzaGVkLgoJICBBbHNvIGRvbid0IGxlYWsgdGhlbSBpbiB0aGUgZGlzcG9zZS4KCjIwMTItMTEtMTAgMjA6NDQ6NDQgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGZpeCBkb3VibGUgdW5yZWYgb2Ygc2VlayBldmVudAoKMjAxMi0xMS0xMCAyMDozMDoxMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZmx1c2ggaW4gRkxVU0hfU1RPUCB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMKCSAgRW5zdXJlIHRoZSBjaGFpbiBpcyBub3QgcnVubmluZyBiZWZvcmUgcmVzZXQgdGhlIHN0YXRlIHRvIGF2b2lkIHJhY2UKCSAgY29uZGl0aW9ucyBhbmQgcmFuZG9tIGNvcnJ1cHRpb25zIGRvd25zdHJlYW0uCgkgIEFsc28gZml4ZXMgc2VnZmF1bHRzIGluIHRoZSBwYWNrZXRpemVyIGR1ZSB3cm9uZyBhdmFpbGFibGUgdmFsdWVzIHRoYXQKCSAgY2F1c2VzIGdzdF9hZGFwdGVyX21hcCB0byByZXR1cm4gYSBOVUxMIHBvaW50ZXIuCgoyMDEyLTExLTEyIDE0OjU2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEZpeCByZWZjb3VudCBwcm9ibGVtIHdpdGggZnJhbWVzIGJlaW5nIGRyb3BwZWQgYmVjYXVzZSBvZiBkZWNvZGVyIGJ1Z3MKCjIwMTItMTEtMTIgMTE6NDg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBuZXcgR1R5cGUgZm9yIEdUaHJlYWQgaW5zdGVhZCBvZiBqdXN0IEdfVFlQRV9QT0lOVEVSCgoyMDEyLTExLTEyIDExOjMyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBVcGRhdGUgdG8gbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0xMS0xMCAxOTo1Mjo0NiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmV2ZXJ0ICJ0c3BhY2tldGl6ZXI6IGVuc3VyZSB0aGF0IGEgbnVsbCBwb2ludGVyIGlzbid0IGFjY2Vzc2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZlZmQ2MTFiOGM2ZjQzZjY3YTJmOTNmODQ0NWMxODllMjQ5NjFhYmQuCgkgIEFsc28gdGhpcyBleHRyYSBjaGVjayB3b24ndCBiZSBuZWVkZWQgaWYgaXQncyBmaXhlZCB0aGUgcmFjZSBieSBtb3ZpbmcKCSAgZmx1c2ggYWN0aW9ucyB0byBGTFVTSF9TVE9QLgoKMjAxMi0xMS0xMCAxOTo0Njo0MCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgUmV2ZXJ0ICJ0c2Jhc2U6IGFkZCBhIGd1YXJkIHdpdGggYW4gYXRvbWljIGJvb2xlYW4gd2hlbiBmbHVzaGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMTRlMzEwZjcxNzhhYThjMDIwZjU5M2UzZjcxZWM5MmNhMjUzMWY3LgoJICBXb3VsZCBiZSBiZXR0ZXIgbW92ZSB0aGUgcGFja2V0aXplciBmbHVzaGluZyB0byBGTFVTSF9TVE9QIGFuZCBhdm9pZAoJICB0aGUgcmFjZSB0aGF0IHdheS4gV2l0aG91dCBpbnRyb2R1Y2luZyBhIG1lbW9yeSBiYXJyaWVyIHRoYXQgY291bGQKCSAgaGF2ZSBpbXBhY3QgaW4gdGhlIHBlcmZvcm1hbmNlLgoKMjAxMi0xMS0xMCAxNDo0MzoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzLy5nc3RobHNkZW11eC5jLnN3cDoKCSogZ3N0L2hscy8uZ3N0aGxzc2luay5jLnN3cDoKCSAgaGxzc2luazogcmVtb3ZlIHZpbSAuc3dwIGZpbGVzIHRoYXQgSSBqdXN0IGNvbW1pdHRlZCBhY2NpZGVudGFsbHkuLi4KCjIwMTItMTEtMTAgMTQ6MjY6NDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy8uZ3N0aGxzZGVtdXguYy5zd3A6CgkqIGdzdC9obHMvLmdzdGhsc3NpbmsuYy5zd3A6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJICBobHNzaW5rOiBwb3J0IHRvIDEuMAoKMjAxMi0xMC0yOCAyMToyOTozMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IGN1dCBzZWdtZW50cyB1c2luZyB0aGUgcnVubmluZy10aW1lCgoyMDEyLTA5LTA5IDIxOjU2OjQzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkb24ndCB1bnJlZiAtPm11bHRpZmlsZXNpbmsuCgkgIFdlIGdzdF9iaW5fYWRkIGl0IHRvIG91cnNlbGYgc28gbm8gbmVlZCB0byB1bnJlZiBpbiBfZGlzcG9zZS4KCjIwMTItMDktMDkgMjE6NTY6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJld29yayBfcmVzZXQgYSBiaXQKCjIwMTItMTEtMTAgMDA6MDg6MzUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIHRzYmFzZTogYWRkIGEgZ3VhcmQgd2l0aCBhbiBhdG9taWMgYm9vbGVhbiB3aGVuIGZsdXNoaW5nCgoyMDEyLTExLTA5IDIyOjE3OjExICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c3BhY2tldGl6ZXI6IGVuc3VyZSB0aGF0IGEgbnVsbCBwb2ludGVyIGlzbid0IGFjY2Vzc2VkCgkgIE1pdGlnYXRlcyBzZWdmYXVsdCBkdWUgcmFjZSBjb25kaXRpb24gaW4gRkxVU0hfU1RBUlQgaGFuZGxpbmcgYW5kCgkgIG1wZWd0c19iYXNlX2NoYWluLgoKMjAxMi0xMS0wOCAxNzoxNToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IE9ubHkgdXNlIHRpbWVzdGFtcC1iYXNlZCBQQ1IvUFRTIGVzdGltYXRpb24gd2hlbiBuZWVkZWQKCSAgV2hlbiBkZWFsaW5nIHdpdGggbm9uLXRpbWUgYmFzZWQgcHVzaC1tb2RlIHN0cmVhbXMsIHdlIG5lZWQgdG8gcmV2ZXJ0CgkgIHRvIHVzaW5nIHRoZSBvZmZzZXQtYmFzZWQgUENSL1BUUyBlc3RpbWF0aW9uIGxvZ2ljIG9mIHBhY2tldGl6ZXIuCgkgIFRoaXMgc29sdmVzIHVzZXMgY2FzZXMgc3VjaCBhczoKCSAgcHVzaGZpbGU6Ly8gISB0c2RlbXV4CgkgIHNyYyAhIHF1ZXVlICEgdHNkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTc4CgoyMDEyLTExLTA4IDEyOjEyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgZG9jczogQWRkIG1pc3NpbmcgcGx1Z2luIGluc3BlY3Rpb24gZmlsZXMKCSAgRml4ZXMgYnVnICM2ODc4NDAuCgoyMDEyLTExLTA3IDIwOjUwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBjb3VydGVzeSBvZiBhdXRvdXBkYXRlCgoyMDEyLTExLTA3IDIwOjQ4OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbGV0IEFHX0dTVF9QTFVHSU5fRE9DUyBjaGVjayBmb3IgcHl0aG9uCgkgIEFuZCB1cGRhdGUgY29tbW9uIGZvciBtb3ZlIGZyb20gQVNfUEFUSF9QWVRIT04gdG8gQU1fUEFUSF9QWVRIT04sCgkgIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3Qgc2hvdWxkIHBpY2sgdXAgbmV3ZXIgcHl0aG9uIHZlcnNpb25zIGFzCgkgIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM5MDMKCjIwMTItMTEtMDYgMjA6NTE6MTAgKzAwMDAgIEtldmluIFRob3JuYmVycnkgPGdpbW1lYW1pbGtidHRmQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IERUUyB2YWx1ZSBiZWluZyB1c2VkIGZvciBQVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzgwNgoKMjAxMi0xMS0wNiAxMjo0MDowNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCByZXdpbmQgdG8gdGhlIE5BTCBsZW5ndGggc2l6ZSBpbiBieXRld3JpdGVyIGlmIHRoZSBmb3JtYXQgaXMgYnl0ZXN0cmVhbQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTQ4CgkgIFNpZ25lZC1vZmYtYnk6ICBLZXZpbiBUaG9ybmJlcnJ5CgoyMDEyLTExLTA2IDExOjU0OjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFjdHVhbGx5IGFkZCBQUFMgZGF0YSB0byB0aGUgb3V0cHV0IGJ1ZmZlcgoKMjAxMi0wOS0yOCAxMjozNjo1NSAtMDQwMCAgV2lsbCBUaG9tcHNvbiA8d2lsbC50aG9tcHNvbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IGFkZCBhIHBsYXlsaXN0LWxlbmd0aCBwcm9wZXJ0eQoJICBQcm9iYWJseSBub3QgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBnZW5lcmFsLCBidXQgaGFuZHkKCSAgdG8gY3V0IGRvd24gdGhlIGxhdGVuY3kgb24gYSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMTAtMjkgMTM6MjQ6MjUgKzAwMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJlc2V0IHdoZW4gZ29pbmcgdG8gTlVMTCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTA4LTIxIDIzOjIyOjE5IC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBGaXggc2VnbWVudCBuYW1lcyBvbiBwbGF5bGlzdAoJICBXaGVuIHRoZSBwbGF5bGlzdC1yb290IGlzIG5vdCBzZXQsIHRoZSBzZWdtZW50IG5hbWUgbXVzdCBub3QgYmUKCSAgYXBwZW5kZWQgYnkgdGhlIHBhdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3JhbmRvbS9MSUNFTlNFOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuaDoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmhoOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmFzL25hc3NpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuaDoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuaGg6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuaDoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuaDoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJKiBnc3QvbXZlL212ZS5oOgoJKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkqIGdzdC9uc2YvZGlzNjUwMi5oOgoJKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSogZ3N0L25zZi9mZHNfc25kLmg6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmg6CgkqIGdzdC9uc2YvbG9nLmM6CgkqIGdzdC9uc2YvbG9nLmg6CgkqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSogZ3N0L25zZi9tbWM1X3NuZC5oOgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSogZ3N0L25zZi9uZXM2NTAyLmg6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25lc19hcHUuaDoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L25zZi9uc2YuaDoKCSogZ3N0L25zZi9vc2QuaDoKCSogZ3N0L25zZi90eXBlcy5oOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSogZ3N0L25zZi92cmN2aXNuZC5jOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmg6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguaDoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguaDoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmg6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuX2NvbnN0cy5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3Qvc2lyZW4vc2lyZW43Lmg6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkqIGdzdC9zcGVlZC9kZW1vLW1wMy5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmg6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmg6CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9nc3R0dGEuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkqIGdzdC90dGEvdHRhZGVjLmg6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5oOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2JzZC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfaXJpeC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfc29sYXJpcy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkqIHN5cy9kdmIvY2FtLmM6CgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSogc3lzL2R4cjMvZHhyM2NvbW1vbi5oOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5oOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWV3ZmluZGVyYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21pbWljLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BDbGllbnRTYXZlRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUFNlcnZlclNlbmRGaWxlLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BDbGllbnRQbGF5TWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BTZXJ2ZXJNaWMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUENsaWVudFBsYXlNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUFNlcnZlclNlbmRNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQQ2xpZW50UGxheVNwZWV4TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUFNlcnZlclNlbmRTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQQ2xpZW50UGxheU1QM1N0cmVhbS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQU2VydmVyU2VuZE1QM1N0cmVhbS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmg6CgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wMyAxMzo1MToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiBmaXggd2FybmluZ3MgYW5kIGJ1aWxkIGFnYWluc3Qgb3BlbmN2IDIuNC54CgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6IEluIGZ1bmN0aW9uICdnc3RfcHlyYW1pZF9zZWdtZW50X2NoYWluJzoKCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzozMDc6MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uCgkgICdjdlB5clNlZ21lbnRhdGlvbicgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6MzA3OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mCgkgICdjdlB5clNlZ21lbnRhdGlvbicgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyMzcKCjIwMTItMTEtMDIgMTM6NDQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIHNjYWxldGVtcG86IFVzZSBhIGJldHRlciBwbHVnaW4gZmlsZW5hbWUKCjIwMTItMTEtMDIgMTE6Mjk6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBtb3JlIGNvbnN0YW50cyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzCgoyMDEyLTExLTAyIDExOjI0OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBlbmFibGVkCgoyMDEyLTExLTAxIDIwOjUwOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5jOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiByZW1vdmUgYW5kIG1vdmUgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MwoKMjAxMi0xMS0wMSAxNTozNjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEyLTExLTAxIDE1OjM1OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBNYWtlIHN1cmUgdG8gb25seSBldmVyIGNyZWF0ZSBhIHNpbmdsZSBlbmdpbmUgb2JqZWN0CgkgIFRoZSBPcGVuU0wgRVMgc3BlYyBkZWZpbmVzOgoJICBBbiBpbXBsZW1lbnRhdGlvbiBzaGFsbCBlbmFibGUgY3JlYXRpb24gb2YgYXQgbGVhc3Qgb25lIHN1Y2ggb2JqZWN0LCBidXQKCSAgYXR0ZW1wdGluZyB0byBjcmVhdGUgbW9yZSBpbnN0YW5jZXMgKGVpdGhlciBieSBhIHNpbmdsZSBhcHBsaWNhdGlvbiBvciBieQoJICBzZXZlcmFsIGRpZmZlcmVudCBhcHBsaWNhdGlvbnMpIG1heSBmYWlsLgoKMjAxMi0xMC0zMSAyMDowMDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFNraXAgQXJpY2VudCBjb2RlY3MgZm9yIG5vdwoJICBUaGUgSFRDIE9uZSBYIGNsYWltcyB0byBoYXZlIG9uZSAoYnV0IGRvZXNuJ3QpIGFuZCBsb2FkaW5nCgkgIHRoZSBsaWJyYXJ5IGZvciBpdCBoYW5ncyBmb3JldmVyLgoKMjAxMi0xMS0wMSAxMzo1MTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUG9zdCBzdHJlYW0tc3RhdHVzIG1lc3NhZ2VzIGZvciBvdXIgcmVuZGVyIHRocmVhZAoKMjAxMi0xMC0zMSAxMzo1NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSWYgcHVzaGluZyBhbiBpdGVtIG9uIHRoZSBxdWV1ZSBmYWlscywgZnJlZSBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gbGVhayB0aGUgaXRlbS4KCjIwMTItMTAtMzEgMTE6Mzg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9wZW5jdiBwbHVnaW4gYnVpbGRzIHdpdGggbmV3ZXIgdmVyc2lvbnMgdXAgdG8gMi40LjIgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjM3CgoyMDEyLTEwLTMwIDE5OjMwOjM4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE5lZ290aWF0ZSBmb3JtYXQsIGFsc28gc3VwcG9ydCBtb3JlIHJlc29sdXRpb25zCgkgIFRoaXMgc2hvdWxkIGVuYWJsZSBzdXBwcnQgZm9yIG9sZCBhbmQgbmV3IGlQaG9uZXMgd2l0aCB0aGUgc2FtZSBjb2RlLgoKMjAxMi0xMC0zMCAwOToyNzoyNCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHJlbW92ZWQgdW5uZWNlc3NhcnkgZmluYWxpemUgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3NgoKMjAxMi0xMC0zMCAxMDoyMDowOSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEZpeCBsZWFrcyBmcm9tIG5vdCBjaGFpbmluZyB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24KCjIwMTItMTAtMjIgMTI6MzY6MjggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBTbGlnaHRseSByZWZsb3cgY29sbGVjdGVkIGJ1ZmZlciBoYW5kbGVyIGZvciBjbGFyaXR5LgoKMjAxMi0xMC0yNiAxODoyOTozMiArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbmFtZSBvZiBDQVQgR3N0U3RydWN0dXJlCgkgIFRoZSBzdHJ1Y3R1cmUgcHJldmlvdXNseSB3YXMgYXNzaWduZWQgdGhlIG5hbWUgInBhdCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5NDgKCjIwMTItMTAtMjggMTY6NDE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSAgZG9jczogYWRkIG5ldyBhY2N1cmlwIGVsZW1lbnQgdG8gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTYzCgoyMDEyLTEwLTI4IDE2OjM2OjAxICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmg6CgkgIGFjY3VyYXRlcmlwOiBuZXcgZWxlbWVudCBmb3IgQWNjdXJhdGVSaXAgY2FsY3VsYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE2MwoKMjAxMi0xMC0yNiAxMzo0ODowNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGY6IFBvcnQgbXhmZGVtdXggdG8gMS4wIEFsc28gcG9ydHMgbXhmbXV4IHRvIDEuMCB0byB0aGUgZXh0ZW50IHRoYXQgaXQgY29tcGlsZXMsIGJ1dCBpcyAxMDAlIHVudGVzdGVkLCBzbyByZW1haW5zIGRpc2FibGVkLgoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmZGVtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgoyMDEyLTEwLTI1IDE5OjEwOjQwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGEgbnVtYmVyIG9mIHdhcm5pbmdzL2Vycm9ycyBpbiBkaXJlY3Rzb3VuZHNyYwoJICAqIERvbid0IHVzZSBkZXByZWNhdGVkIGdsaWIgbXV0ZXggZnVuY3Rpb25zCgkgICogRG9uJ3QgZGVjbGFyZSB1c2VsZXNzIHZhcmlhYmxlcwoJICAqIERvbid0IGxpbmsgdG8gbm9uLWV4aXN0aW5nIGxpYmdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY4Njg3MQoKMjAxMi0xMC0yNSAxNzo1MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIHBhcnNlZCBvciB1cHN0cmVhbSBmcHMgdG8gc2V0IHNvbWUgYmFzZXBhcnNlIHBhcmFtZXRlcnMKCjIwMTItMTAtMjUgMTg6MDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHRyYWN0IHN0cnVjdHVyZSBmcm9tIGNvcnJlY3QgY2FwcwoJICAuLi4gd2hpY2ggYXJlIGtub3duICE9IE5VTEwuCgoyMDEyLTEwLTI1IDExOjMxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBwcmVzZXJ2ZSB1cHN0cmVhbSBmcHMgYW5kIHBhcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwODY2CgoyMDEyLTEwLTI1IDE0OjI4OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTEwLTI1IDEyOjA2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSGFuZGxlIEdBUCBldmVudHMKCjIwMTItMTAtMTggMTY6MjM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDExOjQxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhZGF0YQoKMjAxMi0xMC0yMiAxMToxODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMTM6MjE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbWVtYmVyIGFuZCB1c2UgaW5wdXQgc3RhdGUKCjIwMTItMTAtMTggMTY6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogUG9ydCB0byAxLjAKCjIwMTItMTAtMjMgMTI6MTA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmMxcGFyc2U6IEdpdmUgdmMxcGFyc2UgYSByYW5rIG9mIE5PTkUgZm9yIG5vdwoKMjAxMi0xMC0xNSAwOToxMjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IFBvcnQgdG8gMS4wCgoyMDEyLTAyLTIzIDEzOjQ4OjU3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZGlzYWJsZSBCRFUgcGFyc2luZyB1bnRpbCBpdCdzIG1vcmUgbWF0dXJlCgkgIFBhcnNpbmcgYW5kIHNwbGl0dGluZyBCRFVzIHNlZW1zIHRvIHRyaWdnZXIgYSBmZXcgYnVncyBpbgoJICBkb3duc3RyZWFtIGRlY29kZXJzIHNvIGRpc2FibGUgaXQgZm9yIG5vdy4KCjIwMTItMTAtMTQgMTE6Mzk6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IHNldCBkdXJhdGlvbiBvbiBvdXRwdXQgYnVmZmVycwoJICBUaGlzIGhhcyB0aGUgbmljZSBzaWRlIGVmZmVjdCBvZiBhdm9pZGluZyBoYW5naW5nIGF0IEVPUyB3aXRoIHRydW5jYXRlZCBhc2YKCSAgY2xpcHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jCgoyMDEyLTAxLTMxIDExOjAzOjQ1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogd29ya2Fyb3VuZCBmb3Igc2ltcGxlL21haW4gY29kZWNfZGF0YSBiZWluZyA1IGJ5dGVzIGxvbmcKCSAgU29tZXRpbWVzIHRoZSBjb2RlY19kYXRhIGJ1ZmZlciBmb3Igc2ltcGxlL21haW4gcHVzaGVkIGJ5IGFzZmRlbXV4IGlzIDUgYnl0ZXMKCSAgaW5zdGVhZCBvZiA0LiBXaGVuIHRoYXQgaGFwcGVucywgY29kZWNfZGF0YSBpcyBzdGlsbCB2YWxpZCBidXQgaXQgc2VlbXMgdG8gaGF2ZQoJICBvbmUgMHgwMCB0cmFpbGluZyBieXRlLiBNaWdodCBiZSBhIGJ1ZyBpbiB0aGUgZGVtdXhlciwgbmVlZHMgbW9yZSBpbnZlc3RpZ2F0aW9uLgoKMjAxMi0wMS0zMSAxMTowMjoxMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHJlbW92ZSBzdHViIHN0cmVhbSBjb252ZXJzaW9uIGNvZGUKCjIwMTItMDEtMzEgMTE6MDA6NTUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBtb3JlIGRlYnVnZ2luZyB0byBfcmVuZWdvdGlhdGUKCjIwMTItMDEtMzEgMTA6NTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZjMXBhcnNlOiBBZGQgVkMxIHBhcnNlciBwbHVnaW4KCjIwMTItMTAtMjUgMTI6NDY6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4wLjIgPT09CgoyMDEyLTEwLTI1IDAxOjQ0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjIKCjIwMTItMTAtMjQgMjM6NDA6MjAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4ZWQgYnVmZmVyIHVubWFwcGluZyBidWcKCSAgV2hlbiB0aGUgZGVjb2RlciByZWNlaXZlZCBhIE5VTEwgYnVmZmVyLCBpdCB0cmllZCB0bwoJICB1bm1hcCBhIG5vdCBtYXBwZWQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODI5CgoyMDEyLTEwLTI0IDE0OjIzOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIHdheWxhbmQgPj0gMS4wLjAKCSAgV2UgaGF2ZSBhbiBBUEkgc3RhYmxlIHJlbGVhc2Ugbm93LCByZXF1aXJlIHRoYXQuCgoyMDEyLTEwLTI0IDEzOjQxOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCB1cCBtcGcxMjMgdGVzdCBhIGxpdHRsZQoJICAtIGRpc3QgaW5wdXQgZmlsZXMKCSAgLSBmaXggc2FtcGxlIGxlYWsKCSAgLSBzaW1wbGlmeSBjaGVjayBmb3IgZWxlbWVudHMKCSAgLSBvbmx5IHJ1biBtcGcxMjMgdGVzdCBpZiBtcGcxMjMgaXMgYXZhaWxhYmxlIGFuZCBzZWxlY3RlZAoJICAtIGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDEyOjMwOjEwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvZmlsZXMvY2JyX3N0cmVhbS5tcDM6CgkqIHRlc3RzL2ZpbGVzL3N0cmVhbS5tcDI6CgkqIHRlc3RzL2ZpbGVzL3Zicl9zdHJlYW0ubXAzOgoJICB0ZXRzOiBhZGQgdW5pdCB0ZXN0IGZvciBtcGcxMjNhdWRpb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjM2OjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogYWRkZWQgZ3RrZG9jIHNlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMjowNSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeGVkIGJ1ZyB3aXRoIGxhc3QgZnJhbWUsIGRpc2FibGVkIGludGVybmFsIHJlc2FtcGxlciAmIGNoYXR0ZXIKCSAgKiBUaGUgbGFzdCBNUDMgZnJhbWUgd2Fzbid0IGJlaW5nIHB1c2hlZCB3aGVuIGJhc2UgY2xhc3Mgd2FzIGRyYWluaW5nCgkgICogTWFkZSBzdXJlIG1wZzEyMyBjYW5ub3QgZXZlciB1c2UgaXRzIChjcnVkZSkgaW50ZXJuYWwgcmVzYW1wbGVyCgkgICogRGlzYWJsZWQgbXBnMTIzIHN0ZGVyciBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMTo0NSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGNsZWFuZWQgdXAgY29tbWVudHMsIGZvcm1hdHRpbmcsIGFuZCBsb2dnaW5nIGxpbmVzCgkgIGFsc28gcmVwbGFjZWQgbXBnMTIzZGVjb2Rlci0+aGFuZGxlICE9IE5VTEwgY2hlY2tzIHdpdGggYXNzZXJ0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDExOjM0OjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IGFkZCBjb21tZW50IGRlc2NyaWJpbmcgZnVuY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njc3NAoKMjAxMC0wNy0wMiAxNToyODo0MSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2hlY2sgYmFzZV90aW1lIGJlZm9yZSBjYWxjdWxhdGluZyBuZXdfc3RhcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM4NwoKMjAxMi0xMC0yMyAxNDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCBldmVudCBsZWFrCgoyMDEyLTEwLTIzIDE0OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IHRpbWVzdGFtcCB0cmFja2luZwoKMjAxMi0xMC0yMyAxNDowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgoyMDEyLTEwLTIzIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBTdG9yZSBpbnN0YW5jZSBwcml2YXRlIGRhdGEgaW4gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBHZXR0aW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gdmlhIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgpCgkgIGlzIHJlYWxseSBzbG93LgoKMjAxMi0xMC0yMyAxMDowNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IExpbmsgdG8gJChMSUJNKSBmb3IgaXNmaW5pdGUoKQoKMjAxMi0xMC0yMiAyMTo0MToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogZml4IGZvciBzdGFydCB0aW1lcyA+IDAKCSAgRml4ZXMgYnVmZmVyaW5nIGFuZCBwbGF5YmFjayBvZiBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aAoJICBhIG5vbi0wIHRpbWVzdGFtcCBpbiB0b3RlbSAod2hpY2ggaGFzIGEgJ3BpdGNoJyBlbGVtZW50CgkgIGJlZm9yZSBwdWxzZXNpbmspLgoJICBFeGFtcGxlIFVSSTogaHR0cDovL2xvYm9zdHYubG9ib2Nhc3Qub3JnLmVzOjgwMDQvbG9ib3N0di5vZ2cKCSAgU3RpbGwgYnJlYWtzIHdpdGggY2hhaW5lZCBvZ2dzLCBvbiBzZWNvbmQgY2hhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYzOTEKCjIwMTItMTAtMjIgMTI6MDg6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2FwcyBzZXJpYWxpemF0aW9uCgkgIFJlbW92ZSB0aGUgY2FwcyBzZXJpYWxpemF0aW9uIGluIHRoZSBydHAgY2Fwcy4gdGhlIHNwZWMgbm9yIHRoZSByZWNlaXZlcgoJICBkb2VzIGFueXRoaW5nIHdpdGggaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NDcKCjIwMTItMTAtMjIgMTA6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkgIHN1YmVuYzogcG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMDE6Mzk6MTMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRG9uJ3QgbWFrZSB0aGUgc2FtZSBidWZmZXIgd3JpdGFibGUgdHdpY2UuCgkgIEZpeGVzIEJ1ZyA2ODYzMjcgLSBtcGVndHNtdXg6IGZpeCByZWZjb3VudCBpc3N1ZSB3aXRoIGlucHV0IGJ1ZmZlcnMKCjIwMTItMTAtMjAgMTQ6NTU6NDEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZDogdXBkYXRlIHRvIHdheWxhbmQtcHJvdG9jb2wgMC45OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTIwCgoyMDEyLTEwLTE4IDIyOjIzOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZm9yd2FyZCBub24tcHJvY2Vzc2VkIGR2ZCBldmVudHMKCSAgLi4uIHN1Y2ggYXMgbm90YWJseSBkdmQtc3B1LWNsdXQtY2hhbmdlLgoKMjAxMi0xMC0xOCAyMjoyMjoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlZ21lbnQgZXZlbnQgc2hvdWxkIGJlIHNlbnQgYmVmb3JlIGdhcCBldmVudAoKMjAxMi0xMC0xOSAwOTo1OToxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgdHJ5IHRvIHJlbmRlciBleHBvc2UoKSBpZiBubyBjYXBzIGFyZSBrbm93biB5ZXQKCjIwMTItMTAtMTggMTU6MTI6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBleHBvc2UKCjIwMTItMTAtMTkgMDE6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogZml4IHByb2dyYW0gcGFja2V0IHNlcXVlbmNlIGNvdW50ZXIgcGFyc2luZyBpbiBQRVMgaGVhZGVyCgoyMDEyLTEwLTE5IDAwOjQ3OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IGZpeCBzb21lIGluY29uc2VxdWVudGlhbCBQRVMgaGVhZGVyIHBhcnNpbmcgaXNzdWVzCgkgIGFkZGl0aW9uYWxfY29weV9pbmZvOiBuZWVkIHRvIGdldCByaWQgb2YgdGhlIGhpZ2hlc3QKCSAgYml0LCBub3QgdGhlIGxvd2VzdCBvbmUKCSAgcHJvZ3JhbV9wYWNrZXRfc2VxdWVuY2VfY291bnRlcjogYWxzbyBuZWVkIHRvIGdldCByaWQKCSAgb2YgdGhlIGhpZ2hlc3QgYml0IGluc3RlYWQgb2YgbXVsdGlwbHlpbmcgd2l0aCBhIHJhbmRvbQoJICB2YWx1ZQoJICBvcmlnaW5hbF9zdHVmZl9sZW5ndGg6IHdhbnQgdG8gQU5EIDB4M2YgdG8gZXh0cmFjdCB0aGUKCSAgbG93ZXN0IDYgYml0cywgbm90IG11bHRpcGx5IGJ5IGl0LgoJICBOb25lIG9mIHRoZXNlIGZpZWxkcyBhcmUgYWN0dWFsbHkgdXNlZCB0aG91Z2gsIHNvIHRoZXNlCgkgIHNob3VsZCBub3QgaGF2ZSBjYXVzZWQgYW55IGlzc3Vlcy4KCjIwMTItMTAtMTcgMTU6NTQ6MzIgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IEZpeCBwYXJzaW5nIFAtU1REX2J1ZmZlciBpbiBQRVMgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYyOTQKCjIwMTItMTAtMTggMTg6NTY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdheWxhbmQ6IGRvbid0IHRyeSB0byBidWlsZCBhZ2FpbnN0IDAuOTkgb3IgbGF0ZXIKCSAgVGhlIHBsdWdpbiBuZWVkcyB1cGRhdGluZyBmb3Igc29tZSBBUEkgY2hhbmdlcyBzaW5jZSAwLjk1LgoKMjAxMi0xMC0xOCAwMTo0Nzo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHByb2dyYW0gcG9pbnRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzU4CgoyMDEyLTEwLTE4IDE1OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbnNsZXM6IE9ubHkgY2hlY2sgZm9yIHRoZSBtYWluIG9wZW5zbGVzIGhlYWRlcgoKMjAxMi0xMC0xOCAxNDozODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbGdsZXNzaW5rOiBQdXQgaW50byB0aGUgbm90LXBvcnRlZCBwbHVnaW5zIGxpc3QKCjIwMTItMTAtMTggMTQ6MjU6MDUgKzAyMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBIb29rIGVnbGdsZXNzaW5rIGRvY3VtZW50YXRpb24gaW4KCjIwMTItMTAtMTggMTQ6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgY29tcGlsYWJsZSBvbiBkZXNrdG9wIExpbnV4IHdpdGggTUVTQSB0b28KCjIwMTItMTAtMTggMTQ6MDc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoJICBDb25mbGljdHM6CgkgIGV4dC9NYWtlZmlsZS5hbQoKMjAxMi0xMC0xOCAxMDo0OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRlYnVnIG91dHB1dAoKMjAxMi0xMC0xOCAxMDozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxzbyBjbGVhciB0aGUgc3VyZmFjZSBvbmNlIHdoZW4gdGhlIGJ1ZmZlciBjb250ZW50IGlzIHByZXNlcnZlZAoKMjAxMi0xMC0xOCAxMDoyMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogT25seSBkcmF3IGJsYWNrIGJvcmRlcnMgaWYgdGhlIGRlZmF1bHQgc3dhcCBiZWhhdmlvdXIgb2YgdGhlIHN1cmZhY2UgaXMgdG8gZGVzdHJveSB0aGUgYnVmZmVyCgoyMDEyLTEwLTE4IDA5OjM3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW51c2VkIGxhYmVsCgoyMDEyLTEwLTE4IDAyOjI2OjE3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZhY3RvciBkaXNwbGF5IHJlZ2lvbiByZXNldCB0byBpdHMgb3duIGZ1bmMKCjIwMTItMTAtMTggMDE6NDU6NTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWx3YXlzIFJlc2V0IGRpc3BsYXlfcmVnaW9uLiogYXQgRUdML0dMRVMgY3R4IHdpcGUKCjIwMTItMTAtMTggMDE6MzY6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRmFjdG9yIEVMRy9HTEVTIGNvbnRleHQgY2xlYW51cCBpbnRvIGl0cyBvd24gZnVuYwoKMjAxMi0xMC0xOCAwMDozMzoyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIGRyYWZ0ZWQgZmFzdCByZW5kZXJpbmcgcGF0aCBsb2dpYwoKMjAxMi0xMC0xNyAxNTo1MDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyB1cGRhdGUgaGVhZGVyIGZpbGUKCjIwMTItMTAtMTcgMTU6Mzc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3ZpZGUgdGhlIHRleHR1cmUgcG9zaXRpb25zIHRvIHRoZSBzaGFkZXIgb24gZXZlcnkgZnJhbWUgdG9vCgoyMDEyLTEwLTE3IDE1OjA0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcmF3IGJsYWNrIGJvcmRlcnMgYW5kIGFsc28gdXNlIGEgc2luZ2xlIEdMIGJ1ZmZlciBmb3IgYWxsIHZlcnRpY2VzCgkgIEZpeGVzIHdlaXJkIGFydGlmYWN0cyBvdXRzaWRlIHRoZSB2aWRlbyBmcmFtZSBvbgoJICBRdWFsY29tbSBTbmFwZHJhZ29uIGNoaXBzZXRzIGFuZCBzaG91bGQgYmUgZmFzdGVyCgkgIHRoYW4gZ2xDbGVhcigpIG9uIHRoZSBjb21wbGV0ZSBhcmVhIGFsbCB0aGUgdGltZS4KCjIwMTItMTAtMTcgMTI6NDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtZW1vcnkgbGVhawoKMjAxMi0xMC0xNyAxMDo0NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVzZWxlc3MgZGVidWcgb3V0cHV0IGFkZGVkIGZvciBkZWJ1Z2dpbmcgZWFybGllcgoKMjAxMi0xMC0xNyAxMDowODoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSB3aW5kb3cgc2V0dGluZy9oYW5kbGluZyBhIGJpdCBtb3JlIHRocmVhZHNhZmUKCjIwMTItMTAtMTcgMDk6NTk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByaW50IHdpbmRvdyBoYW5kbGUgYWZ0ZXIgc2V0dGluZyBpdAoKMjAxMi0xMC0xNiAxNzo1MDowMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIERBUiBxdWVyeSAmIHN0b3JlIHRvIHN1cmZhY2UgaW5pdAoJICBUaGUgREFSIChkaXNwbGF5J3MgcGl4ZWwgYXNwZWN0IHJhdGlvKSBzaG91bGQgcmVtYWluIGEKCSAgY29uc3RhbnQgYXQgcnVudGltZSBzbyB0aGVyZSdzIG5vIHBvaW50IG9uIHJlcGVhdGVkbHkKCSAgcXVlcnkgYW5kIHN0b3JlIHRoaXMgdmFsdWUuIERvaW5nIGl0IGF0IHN1cmZhY2Ugc2V0dXAKCSAgc2hvdWxkIGJlIGVub3VnaC4gQXMgYW4gYWRkZWQgYm9udXMgdGhpcyBjaGFuZ2Ugc2hvdWxkCgkgIG1ha2UgcmVuZGVyaW5nIGEgYml0IGZhc3Rlci4KCjIwMTItMTAtMTYgMTc6MzU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHNpZ25hbCB0aGUgR0NvbmQgdG9vIG9mdGVuCgoyMDEyLTEwLTE2IDE3OjA1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgbXlzZWxmIGFzIGF1dGhvcgoKMjAxMi0xMC0xNiAxNjoyNTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyByZXNldCB0aGUgZGlzcGxheSByZWdpb24gaW4gc3RhcnQoKQoKMjAxMi0xMC0xNiAxNjoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyBjb21taXQgbWlzc2luZyBjaGFuZ2VzIHRvIHRoZSBoZWFkZXIgZmlsZQoKMjAxMi0xMC0xNiAxNjoxODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEFsc28gaW5jbHVkZSAkKEdTVF9CQVNFX0NGTEFHUykKCjIwMTItMTAtMTYgMTY6MTI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCByYWNlIGNvbmRpdGlvbgoKMjAxMi0xMC0xNiAxNTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVmYWN0b3IgcmVuZGVyaW5nIGFuZCBhbGwgY29udGV4dCBzcGVjaWZpYyBHTCB0aGluZ3MgaW50byBhIHNlcGFyYXRlIHRocmVhZAoJICBBbHNvIGZpeGVzIHNvbWUgdGhyZWFkaW5nIHJlbGF0ZWQgcHJvYmxlbXMuCgoyMDEyLTEwLTE2IDE0OjM5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZS1hZGQgYWNjaWRlbnRpYWxseSByZXZlcnRlZCBjb21taXQKCjIwMTItMTAtMTYgMTQ6MTU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bm5lZWRlZCBmbG93X2xvY2sKCSAgVXNlIHRoZSBvYmplY3QgbG9jayBpbiB0aGUgZmV3IHBsYWNlcyBuZWNlc3NhcnksIGV2ZXJ5dGhpbmcKCSAgZWxzZSBpcyBwcm90ZWN0ZWQgYnkgb3RoZXIgdGhpbmdzIGFscmVhZHkuCgkgIEFsc28gc3RvcmUgdGhlIGNvbnRleHQgZGlyZWN0bHkgaW5zaWRlIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIHNvbWUgbWVtb3J5IGZvciBpdC4KCjIwMTItMTAtMTYgMTE6NTM6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkZWJ1ZyBvdXRwdXQgYW5kIGNvbnN0YW50IG5hbWVzCgoyMDEyLTEwLTE2IDExOjUxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBzdGFydCgpL3N0b3AoKSBpcyBjYWxsZWQgaW4gUkVBRFk8LT5OVUxMIGluIGJhc2VzaW5rCgkgIEJ1dCB0aGlzIHNob3VsZCBiZSBjYWxsZWQgaW4gUEFVU0VEPC0+UkVBRFkuCgoyMDEyLTEwLTE1IDEzOjQ0OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBmb3Igb3V0Ym91bmQgREFSIHJlcG9ydGVkIGJ5IEVHTAoJICBTb21lIEVHTCBpbXBsZW1lbnRhdGlvbnMgZG9uJ3QgaG9ub3IgdGhlIHNwZWMKCSAgcmVxdWlyZW1lbnQgb2YgcmV0dXJuaW5nIERBUiB2YWx1ZXMgYXMgdy9oICoKCSAgRUdMX0RJU1BMQVlfU0NBTElORy4KCSAgVGhpcyBjaGFuZ2VzZXQ6CgkgIC0gRml4ZXMgcmVuZGVyaW5nIG9uIHRoZSBTYW1zdW5nIEdhbGF4eSBJSUkKCSAgLSBGaXhlcyB3cm9uZyBjaGVjayBvbiByZXF1aXJlZCAxLjIgRUdMIHZlcnNpb24KCSAgLSBSZW9yZGVycyB0aGUgY29kZSBhIGJpdC4KCjIwMTItMTAtMTUgMTM6Mzg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaGVzIGlmIHRoZXJlIGFyZSBubyBFR0wgb3IgR0xFUyBleHRlbnNpb25zCgoyMDEyLTEwLTEwIDEyOjQyOjQ3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaCBhdCBlbGVtZW50IGluc3RhbnRpYXRpb24KCjIwMTItMTAtMTAgMTI6MjY6MDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogU2F2ZSBvbmUgZXh0cmEgdGV4dHVyZSBsb29rdXAKCjIwMTItMTAtMTAgMTI6MjI6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogTWlub3IgbmFtZWQgaW5kZXggYWNjZXNzIHR3ZWFrIHh5eiAtPiByZ2IKCjIwMTItMTAtMTAgMTI6MTg6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogQXNzb3J0ZWQgZml4ZXMgdG8gb3B0aW1pemVkIGNvZGUKCSAgLSBEb24ndCBjb3B5IG92ZXIgb3BvcyBhcyBpdCdzIGFscmVhZHkgYSB2ZWMyCgkgIC0gRml4IGluZGV4IG9yZGVyIGFjY2VzcyBhdCBmcmFnX1lVWTJfWVZZVV9VWVZZX3Byb2cKCjIwMTItMTAtMTAgMTE6NTA6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogUGxhbmFyIFlVViBjb252ZXJ0ZXJzIG9wdGltaXphdGlvbgoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIG11bHQgYW5kIGFkZAoJICAtIEF2b2lkIHVubmVlZGVkIHRleHR1cmUgbG9va3VwcwoKMjAxMi0xMC0xMCAxMTowNTowNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIEdlZ2xnbGVzc2luazogTFNMOiBPcHRpbWl6ZSBmcmFnX1lVWTJfWVZZVV9VWVZZX3Byb2cKCSAgLSBBdm9pZCByZXBlYXRlZGx5IHBlcmZvcm1pbmcgdGhlIHRleHR1cmUgbG9va3VwCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIHRoZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIHRoZSBleHBsaWNpdCBtdWx0IGFuZCBhZGQKCjIwMTItMTAtMTAgMDM6MDI6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogRHJvcCB1bm5lZGVkIG54eSB2ZWMyCgoyMDEyLTEwLTEwIDAyOjE2OjM1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtaXNzaW5nIGRvdWJsZSBxdW90YXRpb24gbWFyayBpbiBHTFNMIGNvZGUKCjIwMTItMTAtMTAgMDI6MDQ6MTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogT3B0aW1pemUgZnJhZ19BWVVWX3Byb2cKCSAgLSBBdm9pZCByZXBlYXRlZGx5IHBlcmZvcm1pbmcgdGhlIHRleHR1cmUgbG9va3VwCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIHRoZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIHRoZSBleHBsaWNpdCBtdWx0IGFuZCBhZGQKCjIwMTItMTAtMDkgMjM6MzU6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc1Npbmsgc3RydWN0CgoyMDEyLTEwLTA5IDIzOjA0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNCdWZmZXIgc3RydWN0IChEUkFGVCkKCjIwMTItMTAtMDkgMjI6NTQ6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc0ltYWdlRm10IHN0cnVjdAoKMjAxMi0xMC0wOSAyMjo0MDoxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzUmVuZGVyQ29udGV4dCBzdHJ1Y3QKCjIwMTItMTAtMDkgMTc6MDA6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQXNzb3J0ZWQgZG9jIGFuZCByZW9yZGVyaW5nIGZpeGVzCgoyMDEyLTEwLTA5IDE2OjI1OjQ2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEVsZW1lbnQgcHJvcGVydGllcwoJICBCcmllZiBleHBsYW5hdG9yeSBjb21tZW50cyBwbHVzIHNvbWUgcmVvcmRlcmluZwoJICB0byBncm91cCBkZWZhdWx0IHNldHRpbmcgb2YgcHJvcGVydGllcyBhbmQgcnVudGltZQoJICBmbGFncyB2YWx1ZXMuCgoyMDEyLTEwLTA5IDE3OjIwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgWVZZVQoKMjAxMi0xMC0wOSAxMTo0ODowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHTFNMIFNoYWRlcnMKCSAgQnJpZWYgZXhwbGFuYXRvcnkgY29tbWVudHMgcGx1cyBzb21lIHJlcmRlcmluZwoJICB0byBncm91cCBwYWNrZWQvcGxhbmFyIGNvbnZlcnRlcnMuCgoyMDEyLTEwLTA5IDExOjAwOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEVsZW1lbnQgb3ZlcnZpZXcKCjIwMTItMTAtMDggMTI6MTA6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVmYWN0b3IgUkVPUkRFUiBzaGFkZXIuCgkgIEF2b2lkIHVubmVlZGVkbHkgY2FsbGluZyB0ZXh0dXJlMkQoKSAzIGNvbnNlY3V0aXZlIHRpbWVzLgoKMjAxMi0xMC0wNCAxNTo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGhhbmRsaW5nIG9mIGNhcHMgY2hhbmdlcyBieSBvbmx5IHJlbGVhc2luZyB3aGF0IG5lZWRzIHRvIGJlIHJlbGVhc2VkCgkgIEFuZCBub3QgdGVybWluYXRpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbgoKMjAxMi0xMC0wNCAwMjoxNToyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGRpc3BsYXlfcmVnaW9uIHJlc2V0IHRvIGxvY2tlZCBzZWN0aW9uCgoyMDEyLTEwLTA0IDAxOjU2OjEwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlc2V0IGRpc3BsYXlfcmVnaW9uIGRpbXMgYXQgY2FwcyByZW5lZ28KCjIwMTItMTAtMDQgMDE6MzM6MzEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29zbWV0aWNzCgoyMDEyLTEwLTA0IDAxOjI5OjQwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFjY2VzcyBsb2NhbCB2YWx1ZSBmcm9tIHN0cnVjdAoKMjAxMi0xMC0wMyAyMzo0MTo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBUZXJtaW5hdGUgZGlzcGxheSBjb25uZWN0aW9uIGF0IGNhcHMgcmVuZWdvCgoyMDEyLTEwLTAyIDE3OjU2OjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvc21ldGljcwoKMjAxMi0xMC0wMyAxMjozMjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogT25seSBhdHRhY2ggdGhlIGNvbnRleHQgb25jZSB0byB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxMi0xMC0wMyAxMDo1MzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSB0aGUgY29udGV4dCBjdXJyZW50IGZvciB0aGUgdGhyZWFkIGFuZCB1bmJpbmQgaXQgYWdhaW4gYXJvdW5kIGV2ZXJ5IHVzZQoJICBUaGlzIGZpeGVzIHNvbWUgY3Jhc2hlcyBhbmQgbGVha2luZyBvZiBvdXIgY29udGV4dCBpbnRvIG90aGVyCgkgIE9wZW5HTCBjb2RlIG9uIHRoZSBzYW1lIHRocmVhZC4KCjIwMTItMTAtMDIgMTc6Mjk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcHJvdmUgY2xlYW51cAoKMjAxMi0xMC0wMiAxNTo0NjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVudXNlZCBsYWJlbAoKMjAxMi0xMC0wMiAxNTo0MjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxsb3cgc2V0dGluZyBhIE5VTEwgaGFuZGxlCgoyMDEyLTEwLTAyIDA5OjQ4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXZlcnQgIkRvIG5vdCB1cGRhdGVfc3VyZmFjZV9kaW1zKCkgb25jZSBwZXIgZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODIxMDMzNzZlZGUyYmM3YzYzZGQ2OTlmNTk4MjE2ODY2MGY2Nzg1Mi4KCSAgV2UgaGF2ZSB0byB1cGRhdGUgdGhlIHN1cmZhY2UgZGltZW5zaW9ucyBvbiBldmVyeSBmcmFtZSB0bwoJICBtYWtlIHN1cmUgdGhhdCB3ZSBnZXQgbm90aWZpZWQgYWJvdXQgdXBkYXRlcy4gVGhpcyBoYXBwZW5zCgkgIGZvciBleGFtcGxlIGlmIHRoZSBBbmRyb2lkIHdpbmRvdyBnZXRzIHJlLWxheW91dGVkIGJlY2F1c2UKCSAgYSB3aWRnZXQgdGFrZXMgbW9yZSBzcGFjZSB0aGFuIGJlZm9yZS4KCjIwMTItMTAtMDIgMDE6NDM6MzUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG8gbm90IHVwZGF0ZV9zdXJmYWNlX2RpbXMoKSBvbmNlIHBlciBmcmFtZQoJICBBbmQuLiBVcGdyYWRlIGRlYnVnIG1lc3NhZ2UgdG8gd2FyZ2luZyBvbiB3ZWlyZCBEQVIuCgkgIENvcnJlY3QgZml4IHRvIGF2b2lkIHNwYW1pbmcgd2l0aCB0aGlzIG1lc3NhZ2UKCSAgb25jZSBwZXIgZWFjaCBmcmFtZSBpcyBhdm9pZCBjYWxsaW5nIHVwZGF0ZV9zdXJmYWNlX2RpbXMoKQoJICBhdCByZW5kZXJfYW5kX2Rpc3BsYXkoKS4gVGhpcyBpcyBoYW5kbGVkIGF0IGVnbCBzdXJmYWNlCgkgIGluaXQuCgoyMDEyLTEwLTAxIDE2OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbmQgZG93bmdyYWRlIGFub3RoZXIgd2FybmluZyB0b28KCjIwMTItMTAtMDEgMTY6MTQ6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvd25ncmFkZSBHU1RfV0FSTklORyB0byBHU1RfREVCVUcKCjIwMTItMTAtMDEgMDk6NDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIHt9IHRvIGlmIHN0YXRlbWVudHMgbWFrZSB0aGVtIHdvcmsgYXMgZXhwZWN0ZWQKCjIwMTItMDktMzAgMjM6MDc6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCBzdGFsZSBkZWZpbmVzIGZvciBtYXggZnJhbWUgc2l6ZQoKMjAxMi0wOS0zMCAyMzowNjoxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTbWFsbCBjb21tZW50YXJ5IGZpeGVzIGhlcmUgYW4gdGhlcmUKCjIwMTItMDktMjggMTE6NDg6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgc2V0dGluZyBoZWlnaHQgb3Igd2lkdGggdHdpY2UKCjIwMTItMDktMjcgMDE6MTg6MzcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXNlIFBBUi9EQVIgdG8gc2V0IHZpZXdwb3J0CgoyMDEyLTA5LTI3IDE0OjI4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgcmVzaXplIGlmIHRoZSBzdXJmYWNlIGRpbWVuc2lvbnMgY2hhbmdlCgoyMDEyLTA5LTI3IDE0OjA4OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgc3VyZmFjZSBkaW1lbnNpb25zIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAxMi0wOS0yNyAxNDowMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW9yZSBjb25zaXN0ZW50IG5hbWluZyBvZiBzaGFkZXIgcmVsYXRlZCB2YXJpYWJsZXMKCjIwMTItMDktMjcgMTM6NTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgdmFyaWFibGUgbmFtZSBjbGVhbnVwCgoyMDEyLTA5LTI3IDEzOjUzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgZGVmYXVsdC13aWR0aC9oZWlnaHQgcHJvcGVydGllcwoJICBUaGVzZSBhcmUgY29tcGxldGVseSB1bm5lZWRlZAoKMjAxMi0wOS0yNSAxMzozMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRvdWJsZSBmcmVlKCkKCjIwMTItMDktMjUgMDk6MDY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGxlYWsgRUdML0VTIHJlbmRlciBjb250ZXh0CgoyMDEyLTA5LTI1IDAxOjM5OjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFB1dCBFR0wvR0xFUyBjb250ZXh0IHZhcnMgb24gdGhlaXIgb3duIHN0cnVjdAoKMjAxMi0wOS0yNCAxMToxOTozMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkgIGVnbGdsZXNzaW5rOiBTbWFsbCBUT0RPIHJlZm9ybWF0dGluZwoKMjAxMi0wOS0yNCAxMDoyMzoyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkgIGVnbGdsZXNzaW5rOiBBZGQgVE9ETyBmaWxlCgoyMDEyLTA5LTI0IDE0OjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgaW1wbGVtZW50IDo6ZXhwb3NlKCkKCSAgV2UgZG9uJ3QgbmVlZCB0aGUgcGFzdCBidWZmZXIgZm9yIHRoaXMsIHRoZSBvbGQgb25lIGlzIHN0aWxsIGF2YWlsYWJsZQoJICBhcyB0ZXh0dXJlIGFuZCB3ZSBqdXN0IG5lZWQgdG8gZHJhdyBvdXIgcmVjdGFuZ2xlIGFnYWluLgoKMjAxMi0wOS0yNCAxMzo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxsb3cgc2V0dGluZyBhbm90aGVyIHdpbmRvdyBmb3IgdGhlIG5leHQgdGltZSB3ZSByZWNvbmZpZ3VyZSBldmVyeXRoaW5nCgoyMDEyLTA5LTI0IDEyOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHVucmVmIGN1cnJlbnQgY2FwcyBhZnRlciB1c2FnZQoKMjAxMi0wOS0yNCAxMjozMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGNhcHMgY2hhbmdlcwoKMjAxMi0wOS0yNCAxMjoyNzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW9yZSBjbGVhbnVwIGFuZCBtYWtpbmcgdGhlIGVsZW1lbnQgcmV1c2FibGUKCjIwMTItMDktMjQgMTI6MDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IGluaXQvcmVsZWFzZSByZXNvdXJjZXMgd2hlbiBnb2luZyBmcm9tIE5VTEwtPlJFQURZIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAxMi0wOS0yNCAxMTo0ODo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogR2VuZXJhdGUgdGhlIHNpbmsgY2FwcyBleGFjdGx5IG9uY2UKCjIwMTItMDktMjQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb2RlIHN0eWxlIGEgYml0IHRvIHN0b3AgY29uZnVzaW5nIGluZGVudAoKMjAxMi0wOS0yNCAxMToxNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHN1cHBvcnQgZm9yIFlVWTIgYW5kIFVZVlkKCjIwMTItMDktMjQgMTE6MDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgcHJvcGVydHkgY2xlYW51cAoKMjAxMi0wOS0yNCAxMDo0NTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgUkdCIGZvcm1hdHMKCjIwMTItMDktMjQgMTA6MjM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCIGFuZCBZNDFCLCBqdXN0IGJlY2F1c2UgaXQncyBzbyBlYXN5CgoyMDEyLTA5LTI0IDEwOjAyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBzaW1wbGUgVE9ET3MKCjIwMTItMDktMjQgMDE6MDg6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTG9jayB3aGlsZSBhbHRlcmluZyBkaXNwbGF5IHJlZ2lvbiBjb29yZHMKCjIwMTItMDktMjQgMDA6Mjc6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IF9nZXRfY29tcGF0X2Zvcm1hdF9mcm9tX2NhcHMoKSBsb2dpYwoJICBJdCdzIGEgZ2V0dGVyIHNvIGl0IHNob3VsZG4ndCBtZXNzaW5nIHdpdGggdGhlIHNpbmsgY29udGV4dC4KCSAgQWRkaW5nIGluc3VsdCB0byBpbmp1cnkgaXQgd2FzIHNldHRpbmcgc2VsZWN0ZWRfZm10IHdpdGhvdXQKCSAgbG9ja2luZy4KCSAgVGhlIGFzc29jaWF0ZWQgY2hhbmdlcyB0byB0aGUgYnVmZmVyIGZ1bmN0aW9ucyBhcmUgbWVyZWx5CgkgIG1ha2UtaXQgYnVpbGQgZml4ZXMuIFRob3NlIGZ1bmN0aW9ucyBhcmUgYmFyZWx5IGRyYWZ0ZWQKCSAgYW5kIGluIFdJUCBzdGF0ZS4KCjIwMTItMDktMjMgMjM6MDc6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCB1bm5lZGVkIGluaXRpYWwgc2V0IHRvIE5VTEwKCjIwMTItMDktMjMgMjI6MzM6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTWlub3IgZm9ybWF0dGluZyBhbmQgY29tbWVudCBmaXhlcwoKMjAxMi0wOS0yMSAxMjoxMjoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBDbGVhbi11cCBnbC9lZ2wgYWxsb2NhdGlvbnMgYXQgX3N0b3AoKQoJICBBbHNvLCBjb25kaXRpb25hbHkgZGVzdHJveSB3aW5kb3cgaWYgdGhlIHNpbmsgY3JlYXRlZCBpdHMgb3duLgoKMjAxMi0wOS0yMSAxNzowODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIE5WMTIgYW5kIE5WMjEKCSAgQWxzbyBZVVkyIGFuZCBVWVZZIGJ1dCB0aGlzIGlzIGRpc2FibGVkIGZvciBub3cgYXMgaXQKCSAgZG9lc24ndCB3b3JrIGNvbXBsZXRlbHkgeWV0LiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0aAoJICB0aGUgY2hyb21hLgoKMjAxMi0wOS0yMSAxNTo0NDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEk0MjAgYW5kIFlWMTIgY29sb3IgZm9ybWF0cwoKMjAxMi0wOS0yMSAxNDowNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJlcGFyYXRpb25zIGZvciBzdXBwb3J0aW5nIG11bHRpcGxlIHRleHR1cmVzIGZvciBtb3JlIFlVViBmb3JtYXRzCgoyMDEyLTA5LTIxIDEzOjQyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVc2UgdGhlIGF0dHJpYiBsb2NhdGlvbnMgYXMgcmVhbGx5IHVzZWQgaW5zaWRlIHRoZSBzaGFkZXIKCjIwMTItMDktMjEgMTI6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlYWxseSBkZWNvdXBsZSB2ZXJ0ZXggYW5kIHRleHR1cmUgcG9zaXRpb25zIGluIHRoZSBzaGFkZXIKCjIwMTItMDktMjEgMTI6NDU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERlY291cGxlIHRleHR1cmUgYW5kIHZlcnRleCBwb3NpdGlvbnMKCjIwMTItMDktMjEgMTI6MTQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgdmVydGV4IHZhbHVlIG9yZGVyIHRvIG1ha2UgYSBiaXQgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMSAwMTowOToxMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBIYW5kbGUgZnJhbWUgc2NhbGluZyB0byBmaWxsIHN1cmZhY2UKCjIwMTItMDktMjEgMDA6MDk6MDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRHJhZnQgc2V0X3JlbmRlcl9yZWN0YW5nbGUoKSBmcm9tIHRoZSB4T3ZlcmxheSBpbnRlcmZhY2UKCjIwMTItMDktMjAgMjI6NTA6MzEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHN0YWxlIGNvbW1lbnQKCjIwMTItMDktMjAgMjI6NDE6MTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBWQk8gc2V0dXAgdG8gc2V0Y2FwcwoKMjAxMi0wOS0yMCAyMjoxMTowOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBkbyBjb250ZXh0IG9wcyBhdCByZW5kZXIKCSAgV2UgZG9uJ3QgbmVlZCB0byByZXBlYXRlZGx5IGNhbGwKCSAgZWdsTWFrZUN1cnJlbnQoKSB3aGlsZSB1c2luZyB0aGUKCSAgc2FtZSBjb250ZXh0IGFueXdheS4KCjIwMTItMDktMjAgMjI6MDE6MjAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgY2xlYXIgc3VyZmFjZSBjb2xvciBhdCByZW5kZXIKCjIwMTItMDktMjAgMTc6MjI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbmFtZSBzaGFkZXIgdmFyaWFibGVzIHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMCAxNzoxNDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEFZVVYKCjIwMTItMDktMjAgMTc6MDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgY2FwcyBhIGJpdCB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTItMDktMjAgMTY6NTA6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNldCByYW5rIHRvIFBSSU1BUlkKCjIwMTItMDktMjAgMTY6MjU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBSR0JBCgoyMDEyLTA5LTIwIDE2OjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgZ2VuZXJhdGVkIGNhcHMgZm9yIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMi0wOS0yMCAxNjowODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIDo6Z2V0X2NhcHMoKSB2ZnVuYyB0aGF0IHJldHVybnMgdGhlIGFjdHVhbGx5IHN1cHBvcnRlZCBjYXBzCgoyMDEyLTA5LTIwIDE1OjU2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHJlcXVpcmUgYSBjb25maWd1cmF0aW9uIHdpdGggRUdMX1NVUkZBQ0VfVFlQRSBjb250YWluaW5nIEVHTF9XSU5ET1dfQklUCgoyMDEyLTA5LTIwIDE0OjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDktMTkgMTk6MjY6NTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2xlYXIgc3VyZmFjZSB0byBibGFjayBieSBkZWZhdWx0CgoyMDEyLTA5LTE5IDE5OjIzOjUwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB3ZSBnZXQgYSBjb25maWcgd2UgY2FuIHVzZSB3aXRoIEdMRVMyCgoyMDEyLTA5LTE5IDE5OjEyOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHNldF93aW5kb3dfaGFuZGxlKCkgaGFzIGJlZW4gdGVzdGVkIHRvIHdvcmsgbm93CgoyMDEyLTA5LTE5IDEyOjI5OjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIGF1dG9zY2FsaW5nIGJ5IGRlZmF1bHQKCjIwMTItMDktMTggMTQ6NTg6NDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgcmVwZWF0ZWRseSBzZXR0aW5nIDJEIHJlc2l6aW5nIHBhcmFtcwoJICBNb3ZlZCB0byBpbml0aWFsIHRleHR1cmUgc2V0dXAgc28gaXQgaGFwZW5zCgkgIGp1c3Qgb25jZSB3aGlsZSBvbiB0aGUgc2FtZSBjb250ZXh0LgoKMjAxMi0wOS0xOCAxMjowNDoyMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBpbml0aWFsaXppbmcgRUdMIGF0IF9zZXRfd2luZG93X2hhbmRsZSgpCgkgIF9zdGFydCgpIHNob3VsZCB0YWtlIGNhcmUgb2YgdGhhdC4KCSAgVGhpcyBjaGFuZ2UgYXN1bWVzIF9zZXRjYXBzKCkgd2lsbAoJICBoYXBwZW4gYWx3YXlzIGFmdGVyIF9zdGFydCgpIGlzCgkgIGRvbmUuCgoyMDEyLTA5LTE4IDEwOjQzOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFzayBmb3IgYSB3aW5kb3cgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZQoKMjAxMi0wOS0xOCAxMDozMToyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggRUdMIGF0dHJpYnMgdmFyIG5hbWluZwoKMjAxMi0wOS0xOCAwMjozMjoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2xvdyBwYXRoIHJlbmRlcmluZyBvbiBBbmRyb2lkCgkgIFNwZWNpZnkgbWlzc2luZyBhbmQgbWFuZGF0b3J5IHBhcmFtcyBmb3IgbnBvdAoJICBCZWZvcmUgY2FsbGluZyBnbFRleEltYWdlMkQuCgkgIEluIHBhcnRpY3VsYXIsIF9XUkFQX1QgYW5kIF9XUkFQX1MgbmVlZCB0byBiZQoJICBzZXQgdG8gR0xfQ0xBTVBfVE9fRURHRSB0byBhdm9pZCBhbGwtYmxhY2sKCSAgcmVuZGVyaW5nIHdpdGggbnBvdCBzaXplZCBmcmFtZXMuCgoyMDEyLTA5LTE4IDAwOjUxOjM2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCB0ZXN0IG9uIHVzYWJsZSBlZ2xjb25maWdzIHJldHVybmVkCgoyMDEyLTA5LTE3IDIzOjA1OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agc3RhbGUgZXJyb3JfbG9ja2VkIGxhYmVsCgoyMDEyLTA5LTE3IDIzOjA0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENsZWFudXAgc3RhbGUgY29kZSBjb21tZW50cwoKMjAxMi0wOS0xNyAxODowMDoxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBHbFZpZXdQb3J0KCkgc2hvdWxkIHVzZSBhY3R1YWwgc3VyZmFjZSBzaXplCgoyMDEyLTA5LTE3IDE3OjIxOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHJlaW5pdGluZyBFR0wgYWZ0ZXIgdGhlIGZpcnN0IHRpbWUKCjIwMTItMDktMTcgMTM6NDQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGNvcnJlY3QgdGVtcGxhdGUgY2FwcwoKMjAxMi0wOS0xNyAxMjo1NDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWlzc2luZyB0ZXh0dXJlIHNldHVwIGJpdHMKCjIwMTItMDktMTcgMTE6NTc6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGVycm9yIGNoZWNraW5nIG9uIGVnbFN3YXBCdWZmZXJzCgoyMDEyLTA5LTE3IDExOjQwOjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdGFsZSZ3cm9uZyAwLjUgYWxwaGEgYmxlbmQKCjIwMTItMDktMTcgMTA6NTY6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGZsb2F0IHByZWNpc2lvbiBzcGVjaWZpZXIgdG8gZnJhZ21lbnQgc2hhZGVyCgkgIFRoaXMgaXMgcmVxdWlyZWQgYnkgR0xFUyBhbmQgZml4ZXMgY29tcGlsYXRpb24gb2YgZnJhZ21lbnQKCSAgc2hhZGVyIHByb2cuCgoyMDEyLTA5LTE3IDEwOjQ3OjM5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBsb2cgcmVwb3J0aW5nIGF0IHNoYWRlciBjb21waWxhdGlvbiBmYWlsdXJlCgoyMDEyLTA5LTE2IDIyOjQzOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIG1pc3NpbmcgY2hlY2tzIG9uIHNoYWRlciBvcHMKCSAgLSBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIHNoYWRlciBjb21waWxlciBzdXBwb3J0CgkgIGFuZCBiYWlsIG91dCBvdGhlcndpc2UuCgkgIC0gQWRkIGNoZWNrcyBvbiBjb21waWxlIGFuZCBsaW5raW5nIG9wcwoKMjAxMi0wOS0xNCAyMDo0OTo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2V0dXAgY2hhaW4gbG9naWMKCSAgTW9zdGx5IGEgcHJvY2VkdXJhbCByZW9yZGVyaW5nLiBJZGVhIGlzIHRvIGF2b2lkCgkgIHRyeWluZyB0byBzZXR1cCBhIHN1cmZhY2Ugd2l0aG91dCBhIGRpc3BsYXkuVGhpcwoJICBjaGFuZ2UgcmVsaWVzIG9uIHRoZSBhc3VtcHRpb24gdGhhdDoKCSAgMS4tIHNldF93aW5kb3dfaGFuZGxlKCkgY2FuIGhhcHBlbiBhdCBhbnkgdGltZQoJICAyLi0gc2V0Y2FwcyB3aWxsIG5ldmVyIGdldCBjYWxsZWQgYmVmb3JlIF9zdGFydCgpCgkgIGlzIGRvbmUuCgkgIElmIGJvdGggY29uZGl0aW9ucyBhcmUgbWVldCB0aGUgbmV3IHByb2NlZHVyZQoJICBzaG91bGQgd29yayBhcyBleHBlY3RlZC4KCjIwMTItMDktMTQgMTU6NTk6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogV0lQOiBSZW9yZGVyIGxvY2tpbmcKCjIwMTItMDktMTMgMjM6MjM6MDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHhPdmVybGF5IGxvZ2ljCgkgIFNldmVyYWwgZml4ZXMgZGVhbGluZyB3aXRoIGNvcnJlY3Qgd2luZG93CgkgIGNyZWF0aW9uIGFuZCBzZXRfaGFuZGxlKCkgb3BzLiBUZXN0ZWQgb24KCSAgWDExL21lc2Egd2l0aCBpbnRlcm5hbCB3aW5kb3cgY3JlYXRpb24uCgoyMDEyLTA5LTEzIDAwOjU1OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFjdHVhbGx5IHRlc3QgRUdMIGNvbmZpZ3MgYmVmb3JlIGNsYWltaW5nIHN1cHBvcnQKCjIwMTItMDktMTMgMDA6MTE6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2FwcyBuZWdvIEVHTCBmaXhlcwoJICAtIEZpeCBhbGxvYyBsb2wgb24gZm9ybWF0IGxpc3Q6IEFza2VkIGZvciAyIHNsaWNlcyBhbmQgdXNlZCAzLgoJICAtIFJlb3JkZXJlZCBkaXNwbGF5ICYgY29udGV4dCBpbml0IGxvZ2ljIHRvIHByZXBhcmUgZm9yIGFjdHVhbAoJICBjb25maWcgY2hlY2tpbmcgYmVmb3JlIGNsYWltaW5nIHN1cHBvcnQgZm9yIGEgZ2l2ZW4gZm9ybWF0LgoJICBDaGFuZ2UgZGVhbHMgYmFzaWNhbGx5IHdpdGggc2V0dGluZyB1cCBFR0wgZGlzcGxheSBhdCBzdGFydCgpCgkgIGFuZCBjaG9vc2UgYW4gRUdMIGNvbmZpZyBvbmx5IGF0IHNldGNhcHMgdGltZS4KCjIwMTItMDktMTIgMjI6MTE6MzkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQ2FwcyBuZWdvLiBTdGFydCBleHRlbmRpbmcgUkdCIHN1cHBvcnQgdG8gYSBzZXQuCgoyMDEyLTA5LTEyIDE2OjE5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGJ1aWxkIG9mIHN0YXRpYyBwbHVnaW4KCjIwMTItMDktMTIgMDk6Mjg6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCB3cm9uZyBmb3JtYXQgdGVzdCBvbiBfc2V0Y2FwcyAoZHJhZnQgbGVmdG92ZXIpCgoyMDEyLTA5LTExIDEzOjU0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFN1cHBvcnQgUkdCMjQgYnkgZGVmYXVsdAoKMjAxMi0wOS0xMSAxMzo1MToyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbnN0cnVtZW50IEVHTCBlcnJvciByZXBvcnRpbmcKCjIwMTItMDktMTEgMTI6MDQ6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IHJldHVybiBHc3RGbG93UmV0dXJuIGZyb20gcmVuZGVyX2FuZF9kaXNwbGF5KCkKCjIwMTItMDktMTEgMTE6NTE6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBWQk8gc2V0dXAgdG8gaXQncyBvd24gZnVuY3Rpb24KCjIwMTItMDktMTEgMTA6MjA6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHJlbmRlcl9hbmRfZGlzcGxheSBsb2dpYwoJICBTd2l0Y2ggcHJvY2VkdXJlIGFjY29yZGluZyB0byBlbmFibGVkIHJlbmRlcmluZyBwYXRoCgoyMDEyLTA5LTEwIDIyOjU5OjU3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzYW1wbGUgbGF1bmNoIGxpbmUgd2l0aCBkaXNhYmxlZCB3aW5kb3cgY3JlYXRpb24KCjIwMTItMDktMTAgMjI6NDE6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUmVuYW1lIHN0YWxlIGFuZHJvaWQgbGVmdG92ZXIKCjIwMTItMDktMTAgMjA6MjI6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZWdsZ2xlcyBTaW5rIHRvIGV4dC8gIzIKCjIwMTItMDktMTAgMjA6MDA6NTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9BbmRyb2lkLm1rOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGVnbGdsZXMgU2luayB0byBleHQvCgoyMDEyLTEwLTE4IDE0OjAzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbnNsZXM6IEFkZCB0aGUgb3BlbnNsZXMgcGx1Z2luIHRvIHRoZSBsaXN0IG9mIG5vdCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMC0xOCAxMzo1Njo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJICBvcGVuc2xlczogSW50ZWdyYXRlIGludG8gYnVpbGQgc3lzdGVtCgoyMDEyLTEwLTEyIDEwOjA4OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzc2luazogUmV0dXJuIDAgZGVsYXkgaWYgdGhlIHBsYXllciBvYmplY3QgaXMgaW4gUEFVU0VEIHN0YXRlCgoyMDEyLTEwLTAxIDEyOjU0OjE1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGZpeGVzIG5vaXNlIG9uIHNlZWtlaW5nCgoyMDEyLTEwLTAxIDExOjQ2OjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjaGFpbiB1cCBvbiBfY2xlYXJfYWxsCgoyMDEyLTEwLTAxIDExOjE0OjI0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGltcGxlbWVudCB0aGUgcmluZ2J1ZmZlciBjbGVhcl9hbGwgdm1ldGhvZCB0b28KCjIwMTItMTAtMDEgMTA6NTk6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBpbml0aWFsIGF0dGVtcHQgdG8gcmVkdWNlIHRoZSBzcmMgbGF0ZW5jeQoKMjAxMi0wOS0yOSAxOTowMDoxMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBzcHJpbmtsZSBjb21tZW50cyBhbmQgY29zbWV0aWMgZml4ZXMKCjIwMTItMDktMjggMTU6MTA6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNoZWNrIGZvciBkZXZpY2Ugb3V0cHV0cyBpbiB0aGUgbWl4ZXIKCjIwMTItMDktMjggMTQ6Mzk6MDEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGRyb3AgNDhrSHogc2FtcGxlIHJhdGUKCSAgT3BlblNMIEVTIGltcGxlbWVudGF0aW9uIGluIEFuZHJvaWQgaXMganVzdCBhICdmYWNhZGUnIEFQSSBvbiB0b3Agb2YKCSAgQXVkaW9GbGluZ2VyIHdoaWNoIHdpbGwgZG93bnNhbXBsZSA0OGtIeiBpbnRvIDQ0LjFrSHogYmVmb3JlCgkgIGRlbGl2ZXJpbmcgdGhlIGF1ZGlvIHRvIHRoZSB1bmRlcmxheWluZyBoYXJkd2FyZS4KCSAgV2UgZm91bmQgdGhhdCBpdCBzdWZmZXIgc29tZSBzb3J0IG9mIHVuZGVycnVuIHdoZW4gdGhlIGRvd25zYW1wbGUKCSAgZW50ZXJzIGluIGFjdGlvbiBzbyByZWxheSBvbiBvdXIgZ29vZCByZXNhbXBsZXIgdG8gdGFrZSBjYXJlIG9mIHRoYXQKCSAgYW5kIGZpeCB0aGUgY2xpY2tzIGlzc3VlLiBBbmQgZ2V0IGFuIGV4dHJhIGJvbnVzIG9mIGEgbG93ZXIgbGF0ZW5jeS4KCjIwMTItMDktMjcgMTk6MjQ6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGNoYW5nZSB0aGUgZGVmYXVsdHMgdG8gdXNlIDIwIG1zIHJpbmdidWZmZXIgc2VnbWVudHMKCSAgSW4gbXkgbmV4dXM3IHNlZW1zIHRoYXQgdGhlIGludGVybmFsIG1pbiBidWZmZXIgc2l6ZSBpcyAyMCBtcyBzbyBtYWtlCgkgIG91ciBzZWdtZW50cyBtYXRjaC4KCjIwMTItMDktMjcgMTg6MzM6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZW5zdXJlIHRoYXQgd2UgcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIG9ubHkgaW4gU1RPUFBFRAoJICBGaXhlcyB0aGUgZXJyb3IgcmVnaXN0ZXJpbmcgdGhlIGNhbGxiYWNrIG9uIHRoZSBQTEFZSU5HIC0+IFBBVVNFIC0+CgkgIFBMQVlJTkcgc3RhdGUgY2hhbmdlIHNlcXVlbmNlLgoKMjAxMi0wOS0yNyAxNzo0NjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2FwIHF1ZXVlIHNpemUKCSAgSnVzdCBpbiBjYXNlIHdlIHdhbnQgdG8gdHdlYWsgdGhlIHNpbmsgYmVoYXZpb3VyIHdpdGggYnVmZmVyLXRpbWUgYW5kCgkgIGxhdGVuY3ktdGltZSBwcm9wZXJ0aWVzIGNhcCB0aGUgcXVldWUgc2l6ZSB0byBzb21ldGhpbmcgcmVhc29uYWJsZS4KCjIwMTItMDktMjcgMTc6MzI6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IHNpbmsgdG8gcHJvdmlkZSB0aGUgYXVkaW9jbG9jayBieSBkZWZhdWx0CgoyMDEyLTA5LTI3IDE3OjI3OjI0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBvbmx5IGRyYWluIGhhbGYgcmluZ2J1ZmZlciBvbiBzdGFydAoJICBBdCBzdGFydCBkcmFpbiBoYWxmIHJpbmdidWZmZXIgaW50byB0aGUgT3BlblNMIHNvIHRoZSB3cml0dGluZy9yZWFkaW5nCgkgIHBvaW50ZXJzIHdpbGwgc3RhcnQgYXQgaGFsZiByaW5nYnVmZmVyIGRpc3RhbmNlLgoKMjAxMi0wOS0yNyAxNDo1Mjo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogbW9uaXRvciBzb21lIHBsYXllciBldmVudHMKCjIwMTItMDktMjcgMDc6MjI6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmV3b3JrIGFyb3VuZCB0aGUgX2RlbGF5IGZ1bmN0aW9uCgoyMDEyLTA5LTI3IDA1OjQwOjQ2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGltcGxlbWVudCBfZGVsYXkgZnVuY3Rpb24KCjIwMTItMDktMjcgMDQ6MDA6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmVmYWN0b3IgdG8gYmVoYXZlIG1vcmUgbGlrZSBvdGhlciBzaW5rcwoJICBSZWZsZWN0IHRoZSBxdWV1ZSBpbiBvdXIgb3duIGRhdGEgYnVmZmVyLgoJICBEcm9wIHRoZSBfY29tbWl0IGhvb2sgdGhhdCB3YXNuJ3QgdXNlZnVsbC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZWdzaXplL3NlZ3RvdGFsLgoKMjAxMi0wOS0yNiAxNDowMToxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcmVhZCBwbGF5ZXIgcG9zaXRpb24gYW5kIHNob3cgaXQgaW4gdGhlIGxvZwoKMjAxMi0wOS0yNiAxMjo1MDo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZG8gbm90IHByb3ZpZGUgYSBjbG9jayBpbiB0aGUgc2luayBlbGVtZW50LgoKMjAxMi0wOS0yNiAxMjozMjo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcmV3b3JrIG9uIHN0YXJ0L3N0b3Agb3BlcmF0aW9ucyBhbmQgY2FsbGJhY2sgZnVuY3Rpb24gaGFuZGxpbmcKCjIwMTItMDktMjYgMTI6MDk6MDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGZpeGVzIDggYml0IGZvcm1hdCB3aGljaCBpcyB1bnNpZ25lZCBvbiBhbmRyb2lkLgoKMjAxMi0wOS0yNSAxOToyNTowMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogYXR0ZW1wdCB0byByZWR1Y2UgcGxheWJhY2sgbGF0ZW5jeQoKMjAxMi0wOS0yNSAxODowNDoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBkcm9wIF9idWZmZXJfY2xlYXIgY2FsbHMgYW5kIHJlZmFjdG9yIHRvIGEgc2hhcmVkIF9lbnF1ZXVlX2NiCgoyMDEyLTA5LTIxIDE3OjA0OjE0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiB1c2UgMC4yNXMgc2VnbWVudHMgaW4gdGhlIHNpbmsgdG8gbG93ZXIgbGF0ZW5jeQoKMjAxMi0wOS0yMSAxNjoxMTo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGZpbmlzaCByZW1haW5pbmcgYml0cyBmb3Igc291cmNlIGVsZW1lbnQuCgoyMDEyLTA5LTIxIDE0OjE1OjEyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBhdHRlbXB0IHRvIHF1ZXJ5IGRldmljZSBmb3IgY2FwYWJpbGl0aWVzCgoyMDEyLTA5LTIwIDE4OjQxOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogYWRkIHRoZSBtdXRlIHByb3BlcnR5IGFuZCBoYW5kbGUgdm9sdW1lL211dGUgY2hhbmdlcyBvbiB0aGUgZmx5CgoyMDEyLTA5LTIwIDE4OjA0OjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkgIG9wZW5zbGVzOiBtYWtlIHRoZSB2b2x1bWUgcHJvcGVydHkgYWN0dWFsbHkgd29yawoKMjAxMi0wOS0yMCAxNDoxNjoyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZXdvcmsgb24gdGhlIHJpbmdidWZmZmVyIHRvIHByb3Blcmx5IGNsZWFyIHNlZ21lbnRzCgkgIE1ha2UgdGhlIHNlZ21lbnRzIGJpZ2dlciAoMSBzZWNvbmQpIGFzIGl0IHNlZW1zIHRvIGJlIHRoZSBtaW5pbXVtIHNpemUKCSAgd2UgbmVlZCB0byBub3QgaW50cm9kdWNlIG5vaXNlLgoJICBTaW5rIHdvcmtzIGluIG15IG5leHVzIDcgd2l0aCByYXRlcyBmcm9tIDgwMDAgdG8gNDQxMDAgYW5kIHNvbWUgbm9pc2UKCSAgY2FuIGJlIG5vdGljZWQgb24gaGlnZ2VyIHNhbXBsZSByYXRlcy4KCjIwMTItMDktMjAgMTE6NTA6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IGZpeGVzIHRoZSBsaWNlbnNlIGhlYWRlcnMKCjIwMTItMDktMjAgMTA6NDE6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHByb2R1Y2VzIGV4cGVjdGVkIG91dHB1dCB1bnRpbCByaW5nYnVmZmVyIHdyYXBzCgkgIEFkZCBzb21lIGxvZyBtZXNzYWdlcy4KCSAgRml4ZWQgYSBiaXQgdGhlIF9wbGF5ZXJfY2IgZnVuY3Rpb24gYW5kIHByb3Blcmx5IGFkdmFuY2UgcmVkaW5nIGluIHRoZQoJICByaW5nYnVmZmVyLgoJICBTdGlsbCBwcm9kdWNlcyBub2lzZSB3aGVuIHRoZSByaW5nYnVmZmVyIHdyYXBzLgoKMjAxMi0wOS0xOSAxODoxMTo1NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBBZGQgaW5pdGlhbCBkcmFmdCBpbXBsZW1lbnRhdGlvbiBvZiBPcGVuU0wgRVMgcGx1Z2luLgoJICBJbml0aWFsIGRyYWZ0IGltcGxlbWVudGF0aW9uIGZvciBhIE9wZW5TTCBFUyBiYXNlZCBwbHVnaW4gZm9yIEFuZHJvaWQKCSAgdGhhdCBwcm92aWRlcyBhdWRpbyBzcmMgYW5kIHNpbmsuCgoyMDEyLTEwLTE4IDA5OjI0OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBVc2UgY29ycmVjdCB2YXJpYWJsZSBuYW1lIGluIE1ha2VmaWxlLmFtCgoyMDEyLTEwLTE3IDIyOjU0OjI4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQxNAoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA0LTAzIDEyOjA5OjE5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDE0CgoyMDEyLTEwLTE2IDExOjM4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMTAtMTYgMTE6MzQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZTogZml4IGJ1aWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjMWMzNTI5MGQ3ZjcyYTRiYzAxNmU4YWVmMjc2ZDhjMWJkY2YzN2IuCgoyMDEyLTEwLTE2IDExOjMxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogQWRkIG1pc3NpbmcgZmlsZQoKMjAxMi0xMC0xNiAxMTozMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQKCjIwMTItMTAtMTUgMTY6MzU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW5hbWUgcGx1Z2luCgoyMDEyLTEwLTE1IDE2OjI5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgdG8gdGhlIG5vdCB5ZXQgcG9ydGVkIHBsdWdpbnMKCjIwMTItMTAtMTUgMTY6MDU6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBldmVyeXRoaW5nIGJ1aWxkYWJsZQoKMjAxMi0xMC0xNSAxNDozNjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBEb24ndCB0cnkgdG8gdXNlIHRoZSBOVmlkaWEgRFJNIGNvZGVjcwoKMjAxMi0xMC0wOSAxMDo1NjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVHJ5IHRvIGhhbmRsZSBmb3JtYXQgY2hhbmdlcyBtb3JlIGdyYWNlZnVsbHkKCSAgQW5kIG1ha2Ugc3RvcCgpIGZhc3RlciBhbmQgbW9yZSByb2J1c3QKCjIwMTItMTAtMDkgMTA6Mjc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIEFkZCB3b3JrYXJvdW5kIGZvciBHb29nbGUgTVAzIGRlY29kZXIgb3V0cHV0dGluZyBnYXJiYWdlIGluIGZpcnN0IG91dHB1dCBidWZmZXIKCSAgQW5kIGFzc3VtZSBvbmUgZGVjb2RlZCBpbnB1dCBmcmFtZSBwZXIgb3V0cHV0IGJ1ZmZlciB0byBmaXggdGltZXN0YW1wCgkgIGhhbmRsaW5nIGJ5IHRoZSBiYXNlIGNsYXNzLgoKMjAxMi0xMC0wOSAxMDoxNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFsc28gYWRkIHNvbWUgbW9yZSBvdXRwdXQgZm9ybWF0IGNoZWNrcyB0byB0aGUgYXVkaW8gZGVjb2RlcgoKMjAxMi0xMC0wOSAxMDoxMzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENoZWNrIG91dHB1dCBmb3JtYXQgbWV0YWRhdGEgc29tZSBtb3JlCgkgIEFuZCBpbXBsZW1lbnQgd29ya2Fyb3VuZCBmb3IgTlZpZGlhIFRlZ3JhIDMgbm90IHNldHRpbmcgdGhlIHNsaWNlX2hlaWdodC4KCSAgVGhhbmtzIHRvIEpvc2VwIFRvcnJhIGZvciBkZWJ1Z2dpbmcgdGhpcyBpc3N1ZS4KCjIwMTItMTAtMDUgMTU6MDk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIHNvbWUgbW9yZSBkZWZhdWx0IGNoYW5uZWwgbGF5b3V0cywgdGhlc2Ugc2hvdWxkIGJlIGdvb2QgZm9yIEFBQyBhdCBsZWFzdAoKMjAxMi0xMC0wNSAxNDo1NjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIERvbid0IHNldCB0aW1lc3RhbXBzLCB0aGUgYmFzZWNsYXNzIGhhbmRsZXMgdGhpcyBmb3IgdXMgYW55d2F5CgoyMDEyLTEwLTAzIDEwOjA2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgTGlzdCBwcm9maWxlcyBpbiByZXZlcnNlIHRvIG1pbmltaXplIGNhcHMKCjIwMTItMTAtMDMgMDk6NTY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJdGVyYXRlIGxldmVscyBpbiByZXZlcnNlIG9yZGVyIHRvIG1pbmltaXplIGNhcHMKCjIwMTItMTAtMDMgMDk6NTE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIE1lcmdlIHN0cnVjdHVyZXMgaW50byBjYXBzIGluc3RlYWQgb2YgYXBwZW5kaW5nIHRoZW0KCjIwMTItMDktMjUgMTA6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFVzZSBvcmNfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCBzaG91bGQgYmUgZmFzdGVyIGZvciBsYXJnZXIgbWVtb3J5IGFyZWFzCgoyMDEyLTA5LTI0IDE1OjMyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvL21wZWctTDIgZm9yIHRoZSBOZXh1cyA3CgoyMDEyLTA5LTI0IDE1OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIE1QRUcxLzIgdmlkZW8KCjIwMTItMDktMTkgMTQ6NTI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSWdub3JlIHRoZSAqbGF3IGFuZCBWb3JiaXMgZGVjb2RlcnMKCSAgVGhleSBhcmUgYnJva2VuIHVuZm9ydHVuYXRlbHkuCgoyMDEyLTA5LTE5IDExOjIwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIEZJWE1FIGNvbW1lbnQgZm9yIG5vdCBoYW5kbGluZyBvZGQgd2lkdGhzL2hlaWdodCB3aXRoIHRoZSBUSSBoYXJkd2FyZSBkZWNvZGVycwoJICBNdXN0IGxpa2VseSBhbiBpc3N1ZSB3aXRoIHRoZSBjb2RlYyBpdHNlbGYgdGhvdWdoLgoKMjAxMi0wOS0xOSAwOTo0Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBoYW5kbGluZyBvZiBJNDIwIGJ1ZmZlcnMgd2l0aCBvZGQgd2lkdGgKCjIwMTItMDktMTggMTU6Mzg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBPbmx5IG1wZWd2ZXJzaW9uPTQgaXMgc3VwcG9ydGVkIGZvciBBQUMKCjIwMTItMDktMTggMTU6Mjg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbW92ZSBzb21lIG9ic29sZXRlIEZJWE1FcwoKMjAxMi0wOS0xNyAxMzo0NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGZsdXNoaW5nIGxvZ2ljIHRvIHVuYnJlYWsgaGFuZGxpbmcgb2YgZmx1c2hpbmcgc2Vla3MKCjIwMTItMDktMTcgMTI6MjQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggY2hyb21hIHN0cmlkZSBmb3IgSTQyMCBzdHJpZGUvY3JvcCBjb252ZXJzaW9uCgoyMDEyLTA5LTE3IDExOjI4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IFZvcmJpcyBkZWNvZGluZwoKMjAxMi0wOS0xNCAxNjoxNzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgV2FpdCBhdCBtb3N0IDEwMG1zIGZvciBkZXF1ZXVlaW5nIGEgYnVmZmVyLCBhbmQgcmV0cnkgYWZ0ZXIgdGhhdAoJICBTb21lIGNvZGVjcyBkb24ndCBmYWlsIHRoZSBkZXF1ZXVlaW5nIGlmIHRoZSBjb2RlYyBpcyBmbHVzaGVkLAoJICBjYXVzaW5nIGRlYWRsb2NrcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGVsZW1lbnQuCgoyMDEyLTA5LTE0IDE2OjExOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWxlYXNlIG91dHB1dCBidWZmZXJzIGEgYml0IGVhcmxpZXIKCjIwMTItMDktMTQgMTY6MTE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBLZWVwIGFub3RoZXIgcmVmZXJlbmNlIG9mIHRoZSBpbnB1dCBidWZmZXIgaW4gaGFuZGxlX2ZyYW1lKCkKCSAgSXQgbWlnaHQgYmUgdW5yZWZmZWQgaW4gdGhlIG1lYW50aW1lIGJ5IHRoZSBvdGhlciB0aHJlYWQgZHVlCgkgIHRvIGZpbmlzaF9mcmFtZSgpLgoKMjAxMi0wOS0xNCAxNjoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFBhc3MgLTEgYXMgbnVtYmVyIG9mIGZyYW1lcyB0byB0aGUgYmFzZSBjbGFzcwoJICBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBkbyB0aGUgcmlnaHQgdGhpbmcgaWYgdGltZXN0YW1wcyBhcmUgZ29vZCBlbm91Z2gKCjIwMTItMDktMTQgMTY6MDk6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBVc2UgY29ycmVjdCBidWZmZXIgdmFyaWFibGUKCjIwMTItMDktMTQgMTQ6NDM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFsd2F5cyBwYXNzIDEgYXMgbnVtYmVyIG9mIGZyYW1lcyB0byBmaW5pc2hfZnJhbWUoKQoKMjAxMi0wOS0xNCAxNDo0Mjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIENvcnJlY3RseSByZW1lbWJlciBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZXJhdGUKCjIwMTItMDktMTQgMTQ6NDI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBEb24ndCB1bnJlZiBpbnB1dCBidWZmZXIgZnJvbSBoYW5kbGVfZnJhbWUoKSwgaXQncyBvd25lZCBieSB0aGUgYmFzZWNsYXNzCgoyMDEyLTA5LTE0IDEzOjMxOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgUmVtb3ZlIGludmFsaWQgR1NUX0VSUk9SKCkgY2FsbAoKMjAxMi0wOS0xNCAxMzoyNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIE9ubHkgdHJ5IHRvIGdldCB0aGUgY2hhbm5lbC1tYXNrIGlmIGl0IGlzIHNldAoKMjAxMi0wOS0xNCAxMzoyNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBGTEFDCgoyMDEyLTA5LTE0IDEzOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTA5LTE0IDEzOjE2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IHBsdWdpbiBpbml0aWFsaXphdGlvbgoKMjAxMi0wOS0xNCAxMzowNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBkZWNvZGVycywgY29tcGxldGVseSB1bnRlc3RlZCBzbyBmYXIKCjIwMTItMDktMTQgMTI6MDc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBPbmx5IHNldCB0aGUgU1lOQ19GUkFNRSBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgaWYgd2UgbmVlZCB0byBzcGxpdCB0aGUgaW5wdXQKCjIwMTItMDktMTIgMTQ6MzA6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIElnbm9yZSBjb2RlY3Mgd2l0aCB1bmtub3duIGNvbG9yIGZvcm1hdHMgZm9yIHN0YWJpbGl0eSBwdXJwb3NlcwoJICBUaGV5IGNhbiBiZSByZWdpc3RlcmVkIG5vbmV0aGVsZXNzIGlmIGFuIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIG9yIGNvbXBpbGUtdGltZSAjZGVmaW5lIGlzIHNldC4KCjIwMTItMDktMTIgMTM6NDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXBsZW1lbnQgY3JvcHBpbmcgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGRpZmZlcmVudCBjb2xvciBmb3JtYXRzCgoyMDEyLTA5LTExIDE2OjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVhbGx5IGltcGxlbWVudCBzdHJpZGUgY29udmVyc2lvbiBmb3IgTlYxMiB0b28KCjIwMTItMDktMTEgMTY6MjQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXBsZW1lbnQgc3RyaWRlLWNvbnZlcnNpb24gZm9yIEk0MjAgYW5kIE5WMTIKCjIwMTItMDktMTEgMTU6NTY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHR5cG8gaW4gcHJldmlvdXMgY29tbWl0CgoyMDEyLTA5LTExIDE1OjQ5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIERvbid0IGFsbG93IHVzaW5nIG5vbi1Hb29nbGUgY29kZWNzIGlmIHdlIHN0YXJ0ZWQgdGhlIEphdmEgVk0gb3Vyc2VsdmVzCgkgIEhhcmR3YXJlIGNvZGVjcywgZS5nLiB0aGUgVEkgb25lcywgb25seSB3b3JrIGluIHByb2Nlc3NlcyB0aGF0IGhhZCB0aGVpcgoJICBKYXZhIFZNIHN0YXJ0ZWQgdmlhIHRoZSBub24tcHVibGljIEFuZHJvaWRSdW50aW1lIGNsYXNzLgoKMjAxMi0wOS0xMSAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBSZW5hbWUgdG8gYW1jIGZyb20gYW5kcm9pZG1lZGlhY29kZWMgZXZlcnl3aGVyZQoKMjAxMi0wOS0xMSAxMzowODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA5LTExIDEyOjM5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUHJpbnQgdGhlIE1lZGlhRm9ybWF0cyB3ZSBnZXQgaW4gdGhlIGRlYnVnIGxvZ3MKCjIwMTItMDktMTAgMTU6MzE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wOS0xMCAxNTozMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgbGV2ZWwvcHJvZmlsZSBoYW5kbGluZwoKMjAxMi0wOS0xMCAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBbGxvdyByZWdpc3RlcmluZyBhcyBzdGF0aWMgcGx1Z2luIHdpdGggdGhlIEdTdHJlYW1lciBTREsgQVBJCgoyMDEyLTA5LTEwIDEzOjMwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSWYgdGhlIGJ1ZmZlciBzaXplcyBhcmUgdGhlIHNhbWUsIGp1c3QgbWVtY3B5KCkgdG8gdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTA5LTEwIDEyOjU2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ29ycmVjdGx5IGNvbnZlcnQgdGltZXN0YW1wcyBiZXR3ZWVuIHVzIGFuZCBucwoKMjAxMi0wOS0wNyAxNjoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFNldCBTWU5DX0ZSQU1FIGZsYWcgb24gYnVmZmVycyBpZiByZXF1aXJlZAoKMjAxMi0wOS0wNyAxNDoyMjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZmx1c2hpbmcKCjIwMTItMDktMDcgMTM6NDQ6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBXYWl0IGF0IG1vc3QgMC41IHNlY29uZHMgZm9yIGdldHRpbmcgYW4gaW5wdXQgYnVmZmVyIGZvciBFT1MKCjIwMTItMDktMDcgMTM6NDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDb3JyZWN0bHkgY2hlY2sgZm9yIGZsdXNoaW5nCgoyMDEyLTA5LTA2IDE3OjI0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmV0cnkgZm9yIG5lZ2F0aXZlIHJldHVybiB2YWx1ZXMgd2hlbiBkZXF1ZXVlaW5nIGJ1ZmZlcnMKCjIwMTItMDktMDYgMTc6MDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggcmVmY291bnQgYnVnCgoyMDEyLTA5LTA2IDE3OjA3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVGhlIE1lZGlhQ29kZWMgQVBJIGlzIGFwcGFyZW50bHkgbm90IHRocmVhZHNhZmUgYmV0d2VlbiBzdG9wKCkgYW5kIHJlbGVhc2UoKQoJICBTbyB3ZSBkb24ndCBjYWxsIHJlbGVhc2UoKSBhbmQganVzdCBob3BlIGZvciB0aGUgR0MgdG8gcmVsZWFzZSB0aGUKCSAgY29kZWMgaW4gdGltZS4KCjIwMTItMDktMDYgMTU6NDQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHBsdWdpbiBjYWNoZSBjcmVhdGlvbgoKMjAxMi0wOC0yNCAwNDozNTo0NCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBDYWNoZSB0aGUgY29kZWMgaW5mb3JtYXRpb25zIGluc2lkZSB0aGUgcmVnaXN0cnkKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGFsd2F5cyBsb2FkIGFsbCBjb2RlY3MgZHVyaW5nIHBsdWdpbiBpbml0aWFsaXphdGlvbgoJICB3aGljaCBjYW4gdGFrZSBxdWl0ZSBzb21lIHRpbWUgKGJlY2F1c2Ugb2YgaGFyZHdhcmUpIGFuZCBhbHNvIGxvYWRzCgkgIGxvdHMgb2Ygc2hhcmVkIGxpYnJhcmllcyAod2hpY2ggbnVtYmVyIGlzIGxpbWl0ZWQgYnkgNjQgaW4gQW5kcm9pZCkuCgoyMDEyLTA4LTI0IDA5OjIwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFByb3Blcmx5IGF0dGFjaCBhbmQgZGV0YWNoIHRoZSBjdXJyZW50IHRocmVhZHMgdG8gdGhlIEphdmEgVk0KCSAgQXR0YWNoaW5nIGEgdGhyZWFkIGFmdGVyIGl0IHdhcyBkZXRhY2hlZCB3aWxsIGNhdXNlIHNlZ2ZhdWx0cywKCSAgYXMgc3VjaCB3ZSB1c2UgYSBwdGhyZWFkX2tleV90IHRvIGtlZXAgdHJhY2sgb2YgdGhlIEpOSUVudiogb2YKCSAgdGhlIGF0dGFjaGVkIHRocmVhZHMgYW5kIGluIHRoZSBkZXN0cnVjdG9yIChpLmUuIHdoZW4gdGhlCgkgIHRocmVhZCBleGl0cykgd2UgZGV0YWNoIHRoZSB0aHJlYWQuCgoyMDEyLTA4LTIzIDE3OjMxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRG9uJ3QgZ2V0IHRoZSBvdXRwdXQgZm9ybWF0IGZyb20gdGhlIGNvZGVjIGJlZm9yZSBpdCBpcyByZWFkeQoJICBBcHBhcmVudGx5IHRoaW5ncyBhcmUgY3Jhc2hpbmcgb3RoZXJ3aXNlLgoKMjAxMi0wOC0yMyAxNzozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEdldCB0aGUgaW5wdXQgYnVmZmVycyBmcm9tIHRoZSBjb2RlYwoKMjAxMi0wOC0yMyAxNzozMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggSk5JIG1ldGhvZCBjYWxsIHNpZ25hdHVyZXMKCjIwMTItMDgtMjMgMTc6MzA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSW5pdGlhbGl6ZSB0aGUgVk0gd2lsbCBmdWxsIGRlYnVnZ2luZyBmb3Igbm93CgoyMDEyLTA4LTIzIDEzOjUzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFVzZSBOZXdTdHJpbmdVVEYoKSBpbnN0ZWFkIG9mIG91ciBvd24gbWV0aG9kIGZvciB0aGF0CgoyMDEyLTA4LTIzIDEyOjMwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCB0aGUgVEkgZm9ybWF0IHRvIHRoZSBtYXBwaW5nIHRhYmxlIHRvbwoKMjAxMi0wOC0yMyAxMjoyOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIGFub3RoZXIgVEkgc3BlY2lmaWMgT3Blbk1BWCBjb2xvciBmb3JtYXQKCjIwMTItMDgtMjIgMTk6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXhlcyB0byBlbGVtZW50L2VsZW1lbnRmYWN0b3J5IGNyZWF0aW9uCgoyMDEyLTA4LTIyIDE5OjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFNvbWUgYnVnZml4ZXMgdG8gdGhlIGNvZGVjIHNjYW5uaW5nIGNvZGUKCSAgQWxzbyBpdCdzIG5vdCBwb3NzaWJsZSB0byBhdHRhY2ggYSB0aHJlYWQgYWZ0ZXIgaXQgd2FzCgkgIGRldGFjaGVkIG9uY2UuIEFzIHN1Y2ggd2Ugc2ltcGx5IG5ldmVyIGRldGFjaCBhbnkgdGhyZWFkCgkgIGF0IGFsbCBub3cuCgoyMDEyLTA4LTIyIDE4OjM1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBzb21lIGNvbXBpbGF0aW9uIGVycm9ycwoKMjAxMi0wOC0yMCAxNDoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBpbXBvcnRhbnQgRklYTUUKCjIwMTItMDgtMjAgMTM6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIEFkZCB2aWRlbyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMjAgMTM6NDU6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgQWRkIHNvbWUgbW9yZSBKTkkgd3JhcHBpbmcKCjIwMTItMDgtMjAgMTM6NDI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkgIEFkZCBzb21lIG1pc3NpbmcgY29sb3IgZm9ybWF0IGNvbnN0YW50cwoKMjAxMi0wOC0xNiAxNToxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgSW1wbGVtZW50IGJhc2ljIHdyYXBwZXIgYXJvdW5kIE1lZGlhQ29kZWMgQVBJCgkgIElkZWFsbHkgbm90aGluZyBlbHNlIHdpbGwgYmUgbmVlZGVkIGZyb20gdGhlIGVsZW1lbnRzIGxhdGVyLgoKMjAxMi0wOC0xNSAxODoyMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBTb21lIG1vcmUgV0lQCgkgIFNjYW5uaW5nIGFsbCBjb2RlY3Mgbm93IGFuZCBoYXZlIGRhdGEgc3RydWN0dXJlcyBmb3IgaG9sZGluZyBjb2RlYwoJICBpbmZvcm1hdGlvbiBhbmQgY29kZWMgY29udGV4dHMuIEFsc28gZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZvcgoJICB3b3JraW5nIHdpdGggdGhlbS4KCjIwMTItMDgtMTQgMTM6MjA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgSW5pdGlhbCBjb21taXQKCjIwMTItMTAtMTUgMTU6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogQWRkIGFuZHJvaWRtZWRpYSBwbHVnaW4KCjIwMTItMTAtMTUgMTE6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQW5kIGZpeCBhbm90aGVyIGRlYWRsb2NrIGNhdXNlZCBieSB0aGUgdXBkYXRlIHRocmVhZCBub3QgY29ycmVjdGx5IHNodXR0aW5nIGRvd24KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMTE6MDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsc2RlbXV4OiBBbHNvIGhvbGQgdGhlIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBjb25kaXRpb24gdmFyaWFibGUKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYwoKMjAxMi0xMC0xNSAxMDo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIGNhbmNlbCB0aGUgZG93bmxvYWRlciBiZWZvcmUgc3RvcHBpbmcgdGhlIHBsYXlsaXN0IHVwZGF0ZSB0YXNrCgoyMDEyLTEwLTE1IDEwOjM4OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgbG9jayB0aGUgbXV0ZXggd2hlbiBpdCdzIG5vdCBsb2NrZWQgYWxyZWFkeQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAxMDozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggYW5vdGhlciByYWNlIGNvbmRpdGlvbiBieSBob2xkaW5nIHRoZSBtdXRleCB0aGF0IHRoZSBjb25kaXRpb24gdmFyaWFibGUgdXNlcwoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAwOTo0NzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQb3J0IHNvbWUgdGhpbmdzIGZyb20gdGhlIGxhc3QgY29tbWl0cwoKMjAxMi0xMC0xNSAwOTozNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBOZXZlciBldmVyIHN0b3AgYSB0YXNrIGZyb20gdGhlIHRhc2sgZnVuY3Rpb24KCSAgVGhpcyB3aWxsIGRlYWRsb2NrLiBBbHNvIG1ha2Ugc3VyZSB0byBhbHdheXMgcG9zdCBhbiBlcnJvciBtZXNzYWdlCgkgIGlmIHJlcXVpcmVkIGJlZm9yZSBwYXVzaW5nIHRhc2tzIGZyb20gdGhlIHRhc2sgZnVuY3Rpb24uCgkgIFNob3VsZCBmaXggYW5vdGhlciBidW5jaCBvZiBkZWFkbG9ja3MuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDA5OjI0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBsb3RzIG9mIGRlYWRsb2NrcyBjYXVzZWQgYnkgcmFjZSBjb25kaXRpb25zIGluIHRoZSB0YXNrIHN0YXRlIGhhbmRsaW5nCgoyMDEyLTEwLTEyIDEwOjU3OjQ0ICswNDAwICBTZXJnZXkgTi4gR29yc2hrb3YgPHNuZ0BzZXRldmlzb3IudHY+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogaGFuZGxlIFJUTVBfV3JpdGUoKSByZXR1cm4gdmFsdWUgY29ycmVjdGx5CgkgIEVycm9yIG1pZ2h0IGFsc28gYmUgbmVnYXRpdmUgKC0xKS4gVW5jbGVhciBpZiAwIHNob3VsZAoJICBiZSBmYXRhbCBhcyB3ZWxsIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDA5CgoyMDEyLTEwLTEyIDIzOjA5OjA2ICswMTAwICBEYXZpZCBSw6lnYWRlIDxkcmVnYWRlQHZpZXdzdXJmLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBmaXggbWVtb3J5IGxlYWsgZnJvbSBVUkkgdmVyaWZpY2F0aW9uIHZpYSBSVE1QX1BhcnNlVVJMKCkKCSAgSW4gZ3N0X3J0bXBfc2lua191cmlfc2V0X3VyaSgpLCBhIHRlc3QgaXMgcGVyZm9ybWVkIGluIG9yZGVyCgkgIHRvIGJlIHN1cmUgdXJpIGlzIGNvcnJlY3QgZm9yIGxpYnJ0bXAuIFRoaXMgdGVzdCBjYWxscwoJICBSVE1QX1BhcnNlVVJMIHdpdGggMyBBVmFsIHBvaW50ZXJzIGFzIHBhcmFtZXRlcnM6IGhvc3QsCgkgIHBsYXlwYXRoIGFuZCBhcHAuCgkgIEFWYWwgaXMgYSBzdHJ1Y3Qgd2l0aCBhIGNoYXIqICsgaW50LiBBZnRlciBSVE1QX1BhcnNlVVJMIGNhbGwsCgkgIGhvc3QuYXZfdmFsIGFuZCBhcHAuYXZfdmFsIGJvdGggcmVmZXIgYSBzdWJzdHJpbmcgb2YgInVyaSIuIEJ1dAoJICBwbGF5cGF0aC5hdl92YWwgbWF5IGJlIHRoZSByZXN1bHQgb2YgYSBtYWxsb2Mgc28gaXQgbmVlZHMgdG8KCSAgYmUgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTkKCjIwMTItMTAtMTIgMjI6MzM6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhZHZhbmNlIHN0cmVhbSB0aW1lIHdoZW4gc2VuZGluZyBHQVAgZXZlbnQKCjIwMTItMTAtMTIgMjI6MzM6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBzZW5kIGxhbmd1YWdlIGluZm8gZG93bnN0cmVhbSBpZiBhdmFpbGFibGUKCSAgLi4uIGFzIGV4dHJhY3RlZCBmcm9tIGR2ZCBldmVudC4KCjIwMTItMTAtMTIgMjI6MzE6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgb2Jzb2xldGUgc3RydWN0IGZpZWxkCgoyMDEyLTEwLTEyIDEyOjI4OjQ0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBTZXQgZnJhbWVzaXplIGFuZCBwcm9wZXJ0aWVzIGNvcnJlY3RseSB3aGVuIHRha2luZyBmb3JtYXQgZnJvbSBjYXBzLgoKMjAxMi0xMC0xMiAxNzo1MTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHR3ZWFrIGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgoyMDEyLTEwLTEyIDE1OjQ0OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaGFuZGxlIHVwc3RyZWFtIFRJTUUgc2VnbWVudHMKCjIwMTItMTAtMTIgMTU6MDc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgYW5kIGNvbWJpbmUgZG93bnN0cmVhbSBmbG93IHJldHVybgoKMjAxMi0xMC0xMiAxNDo1MDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGhhbmRsZSBuZXcgc3R5bGUgZHZkIGV2ZW50CgoyMDEyLTEwLTExIDE1OjI5OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IGFkZCBwYWQgYWZ0ZXIgbm8tbW9yZS1wYWRzCgoyMDEyLTEwLTExIDE1OjI3OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogY2xlYW4gdXAgc2VnbWVudCBzZW5kaW5nCgkgIC4uLiB0byB1c2UgdGhlIHNyY19zZWdtZW50IGFzIGEgYmFzaXMgZm9yIHRoZSBzZW50IHNlZ21lbnQsCgkgIHRoZXJlYnkgcHJvcGVybHkgY29udmV5aW5nIGFjY3VtdWxhdGVkIGJhc2VfdGltZSBldGMuCgkgIEFsc28gZW5zdXJlIHNyY19zZWdtZW50IGlzIG9ubHkgYWRqdXN0ZWQgb25jZSwgc28gdGhhdAoJICBhbGwgZG93bnN0cmVhbSBzZWdtZW50cyBhcmUgaWRlbnRpY2FsIHRvIGF2b2lkIHN0cmVhbQoJICBtaXNhbGlnbm1lbnQuCgoyMDEyLTEwLTExIDEyOjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogc2VuZCBHQVAgZXZlbnQgcmF0aGVyIHRoYW4gc2VnbWVudCB1cGRhdGVzCgoyMDEyLTEwLTExIDExOjUxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVmYWN0b3Igc2VnbWVudCBzZW5kaW5nCgoyMDEyLTEwLTExIDExOjMwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVmYWN0b3IgaW5pdCBhbmQgcmVzZXQKCjIwMTItMTAtMTEgMTE6MDQ6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBubyBtb3JlIHNlZ21lbnQgY2xvc2luZyBpbiAxLjAKCjIwMTItMTAtMTEgMTE6MDM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjbGVhbiB1cCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTItMTAtMTEgMTU6MzE6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBmaXggYnVmZmVyIHBhcnNpbmcKCSAgLi4uIHRvIGF2b2lkIGZlZWRpbmcgZW1wdHkgYnVmZmVycyB0byBkZWNvZGVyLgoKMjAxMi0xMC0xMiAxNToyNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRmlyc3QgcHVzaCBFT1MsIHRoZW4gZGVzdHJveSBhbGwgcHJvZ3JhbXMKCSAgQW5kIGFsc28gcHJvcGVybHkgcmVtb3ZlIHRoZSBwcm9ncmFtIGZyb20gdGhlIHN1YmNsYXNzCgoyMDEyLTEwLTEyIDE1OjA5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBpbnZhbGlkIHJlYWQKCjIwMTItMTAtMTAgMTg6MTg6MDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNpZ25hbCBpbnRlcmxhY2luZyBwcm9wZXJseSBpbiB2aWRlbyBjYXBzCgkgIFRoZSBmaWVsZCBpcyBjYWxsZWQgImludGVybGFjZS1tb2RlIiBtb2RlIG5vdyBhbmQgaXMgYSBzdHJpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4OTUKCjIwMTItMTAtMTAgMTQ6MTE6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIHJlcGxhY2Ugc29tZSBwbGF5YmluMiAtPiBwbGF5YmluCgoyMDEyLTEwLTEwIDA5OjU4OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcmVzZXQgZnJhbWUgcGFyc2VyIGFmdGVyIHBhcnNpbmcgY2FwcyBjb2RlYyBkYXRhCgkgIC4uLiBzbyBhcyB0byBhcnJhbmdlIGZvciBhIHByb3BlciBmcmVzaCBzdGF0ZSB1cG9uIGZpcnN0IGZyYW1lLgoKMjAxMi0xMC0xMCAwOTo0ODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogVXBkYXRlIHRvIHRoZSByaWdodCBjb21taXQgYWdhaW4KCSAgV2FzIGFjY2lkZW50aWFsbHkgcmV2ZXJ0ZWQgdG8gYW4gb2xkZXIgdmVyc2lvbiBpbiB0aGUgbGFzdCBjb21taXQuCgoyMDEyLTEwLTA5IDIzOjAwOjE0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlOiBhZGQgYSBtb2RlIHdoZXJlIHRoZSBjYXBzIGFyZSB0YWtlbiBmcm9tIHRoZSBzaW5rIHBhZCwgYW5kIHRodXMgYXVkaW9wYXJzZSBpcyBvbmx5IHBlcmZvcm1pbmcgdGltZXN0YW1waW5nLgoKMjAxMi0xMC0wOSAyMToxOToxNSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogY29tbW9uOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiByZXNldCBmcmFtZSBwYXJzZXIgYWZ0ZXIgcGFyc2luZyBjb2RlY19kYXRhIGJ1ZmZlciBpbiBjYXBzLCB0byBhdm9pZCBub3QgY29ycmVjdGx5IHBhcnNpbmcgdGhlIGZ1bGwgZmlyc3QgZnJhbWUuCgoyMDEyLTEwLTA5IDEzOjUzOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogcHJvcGVybHkgbWFyayBjb25maWcgZGF0YSBwcmVzZW5jZQoJICAuLi4gd2hpY2ggd2UgYWxsb3cgdG8gc3RhcnQgYXQgVmlzdWFsT2JqZWN0U2VxdWVuY2Ugb3IKCSAgYXQgVmlkZW9PYmplY3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU3MDkKCjIwMTItMTAtMDggMTI6Mzg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBGaXggdW5pdGlhaWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgQW5kIGFsc28gdXNlIHRoZSBwYWQncyBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9uIGluc3RlYWQKCSAgb2YganVzdCBwdXNoaW5nIHRvIHRoZSBwZWVycGFkLiBUaGlzIG1ha2VzIHN1cmUgYW55CgkgIGRlZmF1bHQgaGFuZGxpbmcgb2YgZXZlbnRzIGlzIGNhbGxlZC4KCjIwMTItMTAtMDggMTI6MjM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmaWVsZGFuYWx5c2lzOiBSZW1vdmUgZnJvbSB0aGUgTk9OUE9SVEVEIHBsdWdpbnMgbGlzdAoJICBJdCdzIHN1cHBvc2VkIHRvIGJlIHBvcnRlZCBpbiAxLjAuMSBhbHJlYWR5LgoKMjAxMi0xMC0wNyAxNzowNjozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCAnbWFrZSB1cGxvYWQnIHRhcmdldCBmb3IgZG9jcy8gZm9yIG5ldy1yZWxlYXNlIHNjcmlwdAoKMjAxMi0xMC0wNyAxNzowMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6NTc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDMgMTE6MDU6MDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgbWV0YSBpbmZvOiByZWdpc3RlciB0aHJlYWQtc2FmZWx5LgoKMjAxMi0xMC0wMyAxNzoyMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IEFsc28gY29tbWl0IHJlbWFpbmluZyB1bmNvbW1pdHRlZCBjaGFuZ2VzLi4uCgoyMDEyLTEwLTAzIDA5OjM5OjI4ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiByZWRpZmluZSB2cDhfbm9ybSB0byBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzIHdpdGggbGlidnB4CgoyMDEyLTEwLTAzIDA5OjQ5OjM5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIGZvciBzdGF0aWMgbGlua3Mgd2l0aCBsaWJzY2hyb2VkaW5nZXIKCjIwMTEtMTItMjYgMjI6MDQ6MDQgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGFkZCBZVjEyIGFuZCBOVjEyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMAoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmMKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaAoJICBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYwoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTItMTAtMDIgMjI6MjA6MjAgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGNhcHMgbG9jayBmcm9tIHBhcnNldHRlciBlbGVtZW50LgoJICBBbGwgdGhlIG1lbWJlcnMgaXQgdXNlZCB0byBwcm90ZWN0IGluIDAuMTAgYXJlIHByb3RlY3RlZCBieQoJICB0aGUgc3RyZWFtIGxvY2sgbm93LgoKMjAxMi0xMC0wMSAyMzo0Mzo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJICByZXNpbmR2ZDogVXBkYXRlIG92ZXJyaWRkZW4gY2FwcyB3aGVuIHRoZSBEQVIgY2hhbmdlcwoJICBTZW5kIGEgbmV3IGNhcHMgZXZlbnQgZG93bnN0cmVhbSB3aGVuIHdlIHJlY2VpdmUgbmV3IG9yZGVycwoJICBmcm9tIHRoZSBWTSwgaWYgdGhlcmUgYXJlIGV4aXN0aW5nIGNhcHMuCgoyMDEyLTEwLTAxIDIzOjIxOjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgcmVzaW5kdmQ6IFBvcnQgcGFyc2V0dGVyIGVsZW1lbnQKCSAgUG9ydCB0aGUgRFZEIGVsZW1lbnQgd2hpY2ggb3ZlcnJpZGVzIHRoZSBNUEVHIGVuY29kZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIHRvIG1hdGNoIHRoYXQgcmVxdWVzdGVkIGJ5IHRoZSBEVkQgVk0uCgoyMDEyLTEwLTAxIDEzOjUyOjM1ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoKMjAxMi0wOS0zMCAyMDo1MjozMCArMDIwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDxjZmVyZ2VhdUByZWRoYXQuY29tPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBNaXNzaW5nIHVubWFwIGJ1ZmZlciBpbiB0cmFuc2Zvcm1faXAKCSAgV2hlbiBubyBzYW1wbGVzIGhhdmUgdG8gYmUgcHJvY2Vzc2VkLCB0cmFuc2Zvcm1faXAgZXhpdHMgZWFybHksIGJ1dAoJICB0aGUgYnVmZmVyIGl0IHVzZXMgd2FzIG5vdCBwcm9wZXJseSB1bm1hcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE1OQoKMjAxMi0wOS0zMCAwMzo0OToxNyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpZGRsZSB3aXRoIHNlZ21lbnQgaGFuZGxpbmcgZm9yIERWRC4KCSAgQ2xhcmlmeSBzb21lIG9mIHRoZSB0ZXJtcyB1c2VkLCBhbmQgbWFrZSBzdXJlIHRvIGV4dGVuZCB0aGUKCSAgc3RvcCB0aW1lIHdoZW4gdGhlIHBvc2l0aW9uIG1vdmVzIHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudAoJICBzZWdtZW50IChhcyBmb3Igc3RpbGwgZnJhbWVzLCBmb3IgZXhhbXBsZSkuCgkgIEFsc28sIG1ha2Ugc3VyZSB0byByZXNldCB0aGUgcG9zaXRpb24gdmFsdWUgb2YgdGhlIHNlZ21lbnQgdGhlCgkgIGRlbXV4ZXIgb3V0cHV0cyB3aGVuIGNvbGxlY3RpbmcgYSBzZWFtbGVzcyBzZWdtZW50LgoKMjAxMi0wOS0yOSAxMzoyMToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogZml4IHBsdWdpbiBsb2FkaW5nIGZvciBmcmVpMHIgZWxlbWVudHMgdGhhdCBoYXZlIG5vIGluZm8uZXhwbGFuYXRpb24KCSAgV2UgZG9uJ3QgYWxsb3cgZW1wdHkgZGVzY3JpcHRpb25zIGZvciBlbGVtZW50cyBhbnkgbW9yZS4KCjIwMTItMDktMjkgMTI6MzY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc29tZSBsaWJvaWwgcmVmZXJlbmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjg1CgoyMDEyLTA5LTI5IDEyOjMwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSBzb21lIG9sZCBlbGVtZW50cyBzbyB0aGV5IGRvbid0IGdldCBwb3J0ZWQgYWNjaWRlbnRhbGx5CgkgIFRoZXkgYXJlIHJlcGxhY2VkIGJ5IHZpZGVvY29udmVydCBhbmQgZ2RrcGl4YnVmb3ZlcmxheQoKMjAxMi0wOS0yOCAyMjozMDozOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybDogZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBzZXRzb2Nrb3B0KCkgb24gd2luZG93cwoJICBUaGUgb3B0dmFsIGFyZ3VtZW50IGlzIG9mIHR5cGUgY29uc3QgY2hhciAqIG9uIHdpbmRvd3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUwNjUKCjIwMTItMDktMjggMTE6NTk6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogUG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTY3OAoKMjAxMi0wOS0yNiAwODoyMDo0OSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybDogZml4IGJ1aWxkIG9uIHdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ4NDcKCjIwMTItMDktMjggMDA6MDY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBjaGFuZ2UgdmlkZW8tc291cmNlIGlmIHRoZSB1c2VyIHJlcXVlc3RlZAoJICBXaGVuIGdvaW5nIGZyb20gbnVsbCB0byByZWFkeSwgY2hlY2sgaWYgdGhlIHVzZXIgcmVxdWVzdGVkIHRvCgkgIHVzZSBhIG5ldyBzb3VyY2UgYW5kIHJlcGxhY2UgdGhlIGN1cnJlbnQgb25lLgoJICBGaXhlcyAjNjgxNTYyCgoyMDEyLTA5LTI3IDIzOjIyOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHBhZCBwcm9iZSBpZHMgYXJlIGd1bG9uZwoJICBDaGFuZ2UgdmFyaWFibGUgdG8gdGhlIGNvcnJlY3QgdHlwZQoKMjAxMi0wOS0yNyAxOTo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHVzZSBjb3JyZWN0IGVsZW1lbnQgbmFtZSB3aGVuIHJlcGxhY2luZyB0aGUgdmlkZW8gZmlsdGVyCgkgIFRoZSBuYW1lIHdhcyB1cGRhdGVkIG9uIHRoZSAwLjEwIC0+IDEuMCB0cmFuc2l0aW9uLCBidXQgdGhlCgkgIGdzdF9iaW5fcmVtb3ZlIHdhcyBzdGlsbCB1c2luZyB0aGUgb2xkIG5hbWUsIGNhdXNpbmcgYW4gYXNzZXJ0aW9uCgkgIHdoZW4gcmVwbGFjaW5nIHZpZGVvLXNvdXJjZS1maWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTU2NAoKMjAxMi0wOS0yNiAxNDo1MDowNCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IFRyYW5zZm9ybSB0aW1lc3RhbXBzIHByb3Blcmx5IGFmdGVyIGEgc2Vlay4KCSAgVGhlIHNlZ21lbnQgaXMgdHJhbnNmb3JtZWQgdG8gbWF0Y2ggdGhlIHBpdGNoIGNvbnZlcnNpb24KCSAgYmVpbmcgYXBwbGllZCwgc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIGJlaW5nIG91dHB1dAoJICBtYXRjaCB0aGUgY29uZmlndXJlZCBkb3duc3RyZWFtIHNlZ21lbnQgYWNjb3JkaW5nbHksIGFuZAoJICBhZGp1c3QgdGhlIGRvd25zdHJlYW0gc2VnbWVudCBwb3NpdGlvbiB0byBtYXRjaCB0aGUgc3RyZWFtIHRpbWUKCSAgcmF0aW8gYWxzby4KCjIwMTItMDktMTggMDE6MTM6MzYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgc3B1cmlvdXMgJ2Nsb3NlIHNlZ21lbnQnIGV2ZW50cy4gTWFrZSBhIHNpbmdsZSBzZWdtZW50CgkgIFdpdGggdGhlIG5ldyAxLjAgc2VnbWVudCBzZW1hbnRpY3MsIHRoZXJlJ3Mgbm8gbmVlZCB0byBjbG9zZSB0aGUKCSAgcHJldmlvdXMgc2VnbWVudCBiZWZvcmUgc2VuZGluZyBvdXQgYSBuZXcgb25lLCBzbyBkb24ndCBkbyBpdC4KCSAgQWxzbywgYWRqdXN0IHRoZSBvdXRnb2luZyBzZWdtZW50IHRvIGp1c3QgYmUgb25lIGNvbnRpZ3VvdXMKCSAgdGltZWxpbmUsIHdpdGggYSBiYXNlIG9mIDAuIEZpeGVzIHNvbWUgcmVwZWF0aW5nIHRpbWVzdGFtcHMgd2hlbgoJICBzZWdtZW50cyBjaGFuZ2UuCgoyMDEyLTA5LTI0IDE3OjI1OjI1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSAgZmllbGRhbmFseXNpczogUG9ydCB0byAxLjAKCSAgSSB3YXMgYWxzbyB2YWd1ZWx5IGZvcmNlZCB0byBvdmVyaGF1bCBzb21lIGJpdHMgYW5kIHBpZWNlcyBhbmQgbWVzcyB3aXRoCgkgIHRoZSBkYXRhIHN0cnVjdHVyZXMuIFRoaXMgd2FzIG1vc3RseSBkdWUgdG8gY2FwcyBub3QgYmVpbmcgcGFydCBvZgoJICBidWZmZXJzIGFuZCBzbyBJIGhhZCB0byBzd2l0Y2ggdG8gdXNpbmcgR3N0VmlkZW9GcmFtZSBhbmQgR3N0VmlkZW9JbmZvLgoKMjAxMi0wOS0yNCAxNjoxMTozMiAtMDUwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkgIGNocm9tYXByaW50OiBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZQoJICBDYWxscyB0byBnc3RfYmFzZV90cmFuc2Zvcm1fZ2V0X3R5cGUgYW5kIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfcGFzc3Rocm91Z2gKCSAgcmVxdWlyZSBsaW5raW5nIHdpdGggbGliZ3N0YmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDc0MAoKMjAxMi0wOS0yNCAxNjo1OToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMCA9PT0KCjIwMTItMDktMjQgMTQ6NDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDE0OjQyOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMjMgMTM6MTU6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogY2hhbmdlIGRldmljZSBpbnN0YW5jZSBsaWZlY3ljbGUKCSAgVGhlIGRlY2tsaW5rIGRyaXZlciBldmVudHVhbGx5IGNyYXNoZXMgYWZ0ZXIgcmVwZWF0ZWQgY3JlYXRpb24vZGVsZXRpb24KCSAgb2YgZGV2aWNlLCBpbnB1dCwgb3V0cHV0LCBhbmQgY29uZmlndXJhdGlvbiBvYmplY3RzLiAgQ2hhbmdlIHRvIGNyZWF0ZQoJICB0aGVzZSBhdCB0aGUgb3V0c2V0IGFuZCBrZWVwIHRoZW0gYXJvdW5kIGZvcmV2ZXIuCgoyMDEyLTA5LTIyIDEzOjU2OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBGaXggbWVtb3J5IGxlYWtzCgkgIEJ1ZmZlcnMgbm93IGhvbGQgb24gdG8gYSByZWZlcmVuY2UgZm9yIHRoZSBpbnB1dCwgc28gdGhlIGlucHV0CgkgIG9iamVjdCBkb2Vzbid0IGdldCBmcmVlZCAoYW5kIGNhcnJ5IHRoZSBidWZmZXJzIHdpdGggaXQpIGJlZm9yZQoJICBhbGwgdGhlIGJ1ZmZlcnMgYXJlIGZyZWVkLgoKMjAxMi0wOS0yMyAyMTowODo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICB0ZXN0czogZGlzYWJsZSBhc3NyZW5kZXIgdW5pdCB0ZXN0CgkgIERvZXNuJ3Qgd29yaywgbmVlZHMgZml4aW5nLgoKMjAxMi0wOS0yMyAyMTowNzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZGlzYWJsZSBmb3IgYXV0b3BsdWdnaW5nIHVudGlsIGl0IHdvcmtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxOTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDY4MwoKMjAxMi0wOS0yMiAxNTowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IFVzZSAxLjAtc3R5bGUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYXVkaW8veC1yYXcKCjIwMTItMDktMjAgMTg6NDI6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXNlbmM6IFJhbmsgYXMgUHJpbWFyeQoKMjAxMi0wOS0yMCAxODo0MToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogQWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIgY29ycmVjdGx5CgkgIFVzZSB0aGUgcmlnaHQgZnVuY3Rpb25zIHRvIGFsbG9jYXRlIHRoZSBydHAgYnVmZmVyCgoyMDEyLTA5LTIyIDE2OjA4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0Zjk2MmY3IHRvIDZjMGI1MmMKCjIwMTItMDktMjAgMDA6MDg6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSAgaW50ZXJzdWJzcmM6IGRpc2FibGUgdGltZXN0YW1waW5nIGNvZGUgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UKCSAgYW5kIHdoaWNoIGJyZWFrcyB0aGUgc3RhdGVzIGNoZWNrIGJlY2F1c2Ugd2UgZW5kIHVwIHRyeWluZyB0bwoJICBkaXZpZGUgYnkgMC4KCjIwMTItMDktMTggMTM6MTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGluaXQgdmlkZW9pbmZvCgoyMDEyLTA5LTE4IDEzOjE3OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogaW5pdCB2aWRlb2luZm8KCjIwMTItMDktMTggMDA6MTI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiByZW1vdmUgb25lIG1vcmUgb2xkIGluY2x1ZGUKCj09PSByZWxlYXNlIDAuMTEuOTkgPT09CgoyMDEyLTA5LTE3IDE4OjA0OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk5CgoyMDEyLTA5LTE3IDE3OjUyOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvM2QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMTcgMTc6MTM6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IHJlbW92ZSBmcmVlemUgZWxlbWVudCwgd2FzIHJlcGxhY2VkIGJ5IGltYWdlZnJlZXplIGluIC1nb29kIHllYXJzIGFnbwoKMjAxMi0wOS0xNyAyMzo1OTozNCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IEZpeCBzZWdtZW50IGhhbmRsaW5nIGluIHRoZSBkZW11eGVyLgoJICBUcmFuc2ZlciB0aGUgaW5jb21pbmcgc2VnbWVudCBiYXNlIHRpbWUgdG8gdGhlIHNyYwoJICBzZWdtZW50IHRoZSBkZW11eGVyIHNlbmRzIGRvd25zdHJlYW0uIEFkZCBzb21lCgkgIChkaXNhYmxlZCkgZGVidWcgdG8gdGhlIGJpbiBmb3IgdHJhY2tpbmcgb3V0Z29pbmcKCSAgdGltZXN0YW1wcy4KCjIwMTItMDktMTcgMDA6MDU6MTkgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgdnA4IHBsdWdpbiBmcm9tIHNwZWMgYWZ0ZXIgbW92ZSB0byBnb29kCgoyMDEyLTA5LTE2IDE1OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4OiBSZW1vdmUgcGx1Z2luLCBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgoyMDEyLTA5LTE2IDE1OjI1OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogVW5yZWYgaW5wdXQvb3V0cHV0IHN0YXRlcyB3aGVuIHN0b3BwaW5nIHRoZSBkZWNvZGVyCgoyMDEyLTA5LTE2IDE1OjE4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSAgdnA4ZW5jOiBVcGRhdGUgcmVhbHRpbWUgcHJvZmlsZSB0byB0aGUgbmV3IHByb3BlcnRpZXMKCjIwMTItMDktMTYgMTE6MDA6NTMgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgYW5kIGZpeCBzcGVjIHdpdGggbGF0ZXN0IGNoYW5nZXMgYW5kIEYxOCBuYW1lIHNjaGVlbWUKCjIwMTItMDktMTYgMTA6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDg6IFJlcXVpcmUgbGF0ZXN0IGxpYnZweCByZWxlYXNlICgxLjEuMCBmcm9tIE1heSAyMDEyKQoJICBGaXhlcyBidWcgIzY4NDExNiBhbmQgc2ltcGxpZmllcyBjb25maWd1cmUgY2hlY2tzLgoKMjAxMi0wOS0xNSAyMDoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBhIHN0cmluZyBmaWVsZCBmb3IgdGhlIHByb2ZpbGUgaW4gdGhlIGNhcHMKCSAgSnVzdCBmb3IgY29uc2lzdGVuY3kgd2l0aCBhbGwgdGhlIG90aGVyIGNvZGVjcy4KCjIwMTItMDktMTUgMTk6MDg6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICB1c2UgZ3N0X2VsZW1lbnRfZmFjdG9yeV9nZXRfbWV0YWRhdGEgdG8gcmVwbGFjZSBvYnNvbGV0ZSBBUEkKCjIwMTItMDktMTUgMDA6MDQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IHByb2ZpbGUgaW4gY2FwcwoKMjAxMi0wOS0xNCAyMzo0MTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFVwZGF0ZSBjb3B5cmlnaHQgYW5kIGF1dGhvcnMKCjIwMTItMDktMTQgMjM6NDA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiBVcGRhdGUgcGx1Z2luIGRvY3MKCjIwMTItMDktMDggMTU6Mzg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBSZXdvcmsgZW5jb2RlciBwcm9wZXJ0aWVzIHRvIGJlIG1vcmUgaW4gbGluZSB3aXRoIHRoZSBsaWJ2cHggdG9vbHMgYW5kIEFQSQoJICBBbHNvIGFkZCBhbGwgYXZhaWxhYmxlIHByb3BlcnRpZXMuCgoyMDEyLTA5LTE0IDE3OjU1OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgcmVwbGFjZSBfZ2V0X2NhcHNfcmVmZmVkIHdpdGggX2dldF9jYXBzCgoyMDEyLTA5LTE0IDE3OjA4OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgcmVwbGFjZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUgd2l0aCBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEKCjIwMTItMDktMTQgMTI6MDY6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpbml0IHBwcyBhbmQgc3BzIHN0cnVjdHVyZXMgYmVmb3JlIHBhcnNpbmcKCSAgLi4uIHdoaWNoIGFycmFuZ2VzIGZvciBhIHZhbGlkIGZhbGxiYWNrIGlkLCBhbmQgYWxsb3dzIHRvIGNvbnRpbnVlIGJlc3QgZWZmb3J0CgkgIHByb2Nlc3NpbmcgZXZlbiB3aGVuIHNwcy9wcHMgcGFyc2luZyBmYWlscy4KCjIwMTItMDktMDMgMTM6NTg6MjIgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGdzdGgyNjRwYXJzZTogYWRkIGNvbW1lbnQgd2hlcmUgcmV0dXJuIHNob3VsZCBiZSBjaGVja2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjY0CgoyMDEyLTA5LTAzIDEzOjQzOjAzICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgZ3N0aDI2NHBhcnNlcjogZml4IENvdmVyaXR5IGZvdW5kIG5vdCBpbml0aWFsaXplZCBzcHMvcHBzIHZhbGlkIG1lbWJlci4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI2NAoKMjAxMi0wOS0wMyAxMzowOToyOSArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGdzdGgyNjRwYXJzZXI6IGZpeCBDb3Zlcml0eSBkZXRlY3RlZCBvZmYgYnkgb25lIGF0IGNhbGwgdG8gUkVBRF9VRV9BTExPV0VELgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjYzCgoyMDEyLTA5LTE0IDE2OjQ5OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJICByZW5hbWUgc29tZSBjYXBzCgoyMDEyLTA5LTE0IDE2OjQ1OjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZmZtcGVnY29sb3JzcGFjZSBpcyBubyBtb3JlCgoyMDEyLTA5LTE0IDE2OjI5OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL1JFQURNRToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZW5hbWUgc29tZSBjYXBzIGFuZCBlbGVtZW50cyBpbiBleGFtcGxlcwoKMjAxMi0wOS0wMiAyMDoxNzoxNCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHVzZSBwcmV2aW91c2x5IHBhcnNlZCB2aXN1YWwgb2JqZWN0IHdoZW4gcGFyc2luZyBWT0wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAyMDoxOToxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIG1wZWc0cGFyc2VyOiBwYXJzZSBjb21wbGV4aXR5IGVzdGltYXRpb24gaGVhZGVyIGluIHZpZGVvIG9iamVjdCBsYXllcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDIwOjE4OjMyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IGZpeCBzb21lIGlzc3VlcyByZWxhdGVkIHRvIHZpZGVvIG9iamVjdCBsYXllciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMTg6MjE6MTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkbyBub3Qgc2tpcCB1c2VyIGRhdGEKCSAgVXNlciBkYXRhIHdhcyBza2lwcGVkIHVudGlsIG5vdywgc28gdGhlIHVzZXIgZGF0YSB3YXMgaW5jbHVkZWQgd2hlbgoJICBwYXJzaW5nIHRoZSBwcmV2aW91cyBwYWNrZXQgYW5kIGluIHRoZSBjb25maWcgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTE0IDAyOjU5OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjk0ID09PQoKMjAxMi0wOS0xNCAwMjo1MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTQKCjIwMTItMDktMTQgMDI6MDY6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTItMDktMTMgMTM6NDQ6MDUgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBjaGVjazogVmVyaWZ5IHRoZSBEVFMgZW1lcmdpbmcgZnJvbSB0aGUgcGFyc2VyLCBub3QgUFRTCgkgIFBUUyBkb2Vzbid0IGluY3JlbWVudCBsaW5lYXJseSBpbiBwYXJzZXJzIHdpdGggZnJhbWUgcmUtb3JkZXJpbmcsIGJ1dAoJICBEVFMgZG9lcy4gVmVyaWZ5IHRoYXQgaW5zdGVhZC4KCjIwMTItMDktMTMgMTM6MzQ6MTYgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNoZWNrOiBGaXggbXBlZ3ZpZGVvcGFyc2VyIFBBUiBleHBlY3RhdGlvbgoJICBUaGUgcGFyc2VyIChjb3JyZWN0bHkpIG5vdyBpbnRlcnByZXRzIHRoZSB0ZXN0IGhlYWRlciB1c2luZwoJICBNUEVHLTEgc2VtYW50aWNzLCBzbyBmaXggdGhlIHRlc3QgZXhwZWN0YXRpb24uCgoyMDEyLTA5LTEzIDE1OjUxOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogTWFrZSBjYXBzIHdyaXRhYmxlIGluIGZpeGF0ZQoKMjAxMi0wOS0xMyAxNTowNjo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkgIGludGVyOiBQb3J0IHRvIDEuMCBBUEkKCSAgQWxzbyByZW1vdmUgYSBsb3Qgb2YgZW1wdHksIG5vbi1pbXBsZW1lbnRlZCBtZXRob2RzCgoyMDEyLTA5LTEyIDIyOjU4OjA0IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IERpc2FibGUgUFRTIGludGVycG9sYXRpb24gaW4gdGhlIGJhc2UgcGFyc2UgY2xhc3MKCSAgQWxsIHRoZXNlIGZvcm1hdHMgaGF2ZSByZS1vcmRlcmVkIFBUUyB3aGljaCB0aGUgYmFzZSBjbGFzcyBnZXRzCgkgIHdyb25nLiBJdCdzIGJldHRlciB0byBsZWF2ZSB0aGVtIGJsYW5rIGFuZCBsZXQgdGhlIGRlY29kZXIgc29ydCBpdAoJICBvdXQuIEJldHRlciB5ZXQgd291bGQgYmUgdG8gdHJhY2sgYW5kIGludGVycG9sYXRlIHRoZSB0aW1lc3RhbXBzCgkgIGluIHRoZSBzdWJjbGFzc2VzIChGSVhNRSkKCjIwMTItMDktMDkgMTY6NDA6MDAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWR2YW5jZSB2aWRlbyBzdHJlYW0gd2l0aCBnYXAgZXZlbnRzLgoJICBIYW5kbGUgR2FwIGV2ZW50cyB0aGUgd2F5IHdlIHVzZWQgdG8gaGFuZGxlIHNlZ21lbnQgdXBkYXRlcwoJICBhbmQgYWR2YW5jZS9maWxsIGluIHRoZSB2aWRlbyBzdHJlYW0gYWNjb3JkaW5nbHkuIEZpeGVzCgkgICdzdGlsbCcgbWVudXMgd2hpY2ggYXJlbid0IERWRCBzdGlsbCBmcmFtZXMsIGJ1dCBhcmUganVzdCBhCgkgIHNpbmdsZSBmcmFtZSB3aXRoIGFjY29tcGFueWluZyBhdWRpby4KCjIwMTItMDktMDkgMTY6Mjk6NTIgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFN0YXJ0IHdpdGggYSBsYXJnZXIgc3VicGljdHVyZSBxdWV1ZSBmb3IgcHJlcm9sbC4KCSAgU2hyaW5rIHRoZSBxdWV1ZSBvbmNlIHdlJ3JlIHByZXJvbGxlZC4gRml4ZXMgdGhlIEZyaW5nZSBTMQoJICBEVkQuIEFsc28sIGVuc3VyZSB3ZSBvbmx5IGZpcmUgbm9fbW9yZV9wYWRzIG9uY2UuCgoyMDEyLTA5LTA4IDE5OjIxOjQ3IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IERpc2FibGUgaW5wdXQtc2VsZWN0b3Igc3luY2luZwoJICBVbnRpbCBzZWdtZW50cyBhcmUgYmV0dGVyIHdvcmtlZCBvdXQuIEFsc28sIHVzZQoJICBpbnRlcm5hbCBpbnB1dC1zZWxlY3RvciBmb3IgYXVkaW8gYXMgd2VsbAoKMjAxMi0wOS0wMyAwOTo0NzozMCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBIYW5kbGUgU2VxdWVuY2UgRGlzcGxheSBFeHRlbnNpb24KCSAgQ2hhbmdlIHRoZSB3YXkgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBpcyBjb21wdXRlZCBieQoJICBpbnRlcnByZXRpbmcgdGhlIHNlcXVlbmNlIGhlYWRlciBhc3BlY3QgcmF0aW8gaW5mbwoJICBhcyBNUEVHLTEgdmFsdWVzIHVudGlsIGEgc2VxdWVuY2UgZXh0ZW5zaW9uIG9yCgkgIHNlcXVlbmNlIGRpc3BsYXkgZXh0ZW5zaW9uIGlzIHNlZW4sIGFuZCB0aGVuIHVwZGF0aW5nCgkgIHRoZSBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0IGFjY29yZGluZ2x5LgoJICBGaXhlcyBpbmNvcnJlY3QgYW5hbW9ycGhpYyBkaXNwbGF5IG9uIHNvbWUgTVBFRy0yIChEVkQpCgkgIHNlcXVlbmNlcy4KCjIwMTItMDktMTMgMDE6NDA6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiBkaXNhYmxlIHlldCBhbm90aGVyIG14ZiB0ZXN0cyB1bnRpbCB0aGUgZWxlbWVudHMgYXJlIHBvcnRlZAoKMjAxMi0wOS0xMyAwMTozNDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBmaXggY2FwcyBmaXhhdGlvbgoJICBNYWtlIGNhcHMgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0uCgoyMDEyLTA5LTEzIDAxOjI2OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBmaXggd3JvbmcgcGFkIHRlbXBsYXRlIHVucmVmCgkgIEJsb3dzIHVwIHdoZW4gdHJ5aW5nIHRvIGluc3RhbnRpYXRlIGEgc2Vjb25kIGNsaXAgZWxlbWVudAoJICBvZiB0aGUgc2FtZSB0eXBlLCBsaWtlIGluIHRoZSBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEyLTA5LTEzIDAxOjA3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZhaWwgZ3JhY2VmdWxseSB3aXRoIGFuIGVycm9yIG1lc3NhZ2UgaWYgd2UgY2FuJ3QgY29ubmVjdCB0byB3YXlsYW5kCgkgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgaXMgbm90IGZvciBlcnJvciBoYW5kbGluZywgaXQncyBmb3IKCSAgY2F0Y2hpbmcgcHJvZ3JhbW1pbmcgZXJyb3JzIGluIHB1YmxpYyBBUEkuCgkgIEZpeGVzIHByb2JsZW0gd2l0aCBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3QuCgoyMDEyLTA5LTEzIDAwOjU5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgbG9nZ2luZyBhbnl0aGluZwoKMjAxMi0wOS0xMyAwMDo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJICB0ZXN0czogc2tpcCBteGYgdGVzdHMgd2hpbGUgZWxlbWVudHMgaGF2ZW4ndCBiZWVuIHBvcnRlZCB5ZXQKCjIwMTItMDktMTMgMDA6NTA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiByZW1vdmUgR1NUX0VSUk9SIHN0YXRlbWVudCB0aGF0IHdhcyBjb21taXR0ZWQgYnkgYWNjaWRlbnQKCjIwMTItMDktMTMgMDA6NDA6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGZpeCBqaWZtdXggdGVzdAoJICBOZWVkIHRvIHBhc3MgYSBHc3RTYW1wbGUgbm93IGZvciBHU1RfVEFHX0FQUExJQ0FUSU9OX0RBVEEKCSAgaW5zdGVhZCBvZiBhIEdzdEJ1ZmZlci4KCjIwMTItMDktMTIgMTg6MzQ6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubTogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE3OjM0OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgZnJlZXplOiBVc2UgYSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBhIEdRdWV1ZQoJICBUaGlzIHdheSwgdGhlIG1vc3QgY29tbW9uIGZ1bmN0aW9uIChjaGFuZ2luZyBidWZmZXJzKSBiZWNvbWVzIE8oMSkgaW5zdGVhZAoJICBvZiBPKG4pCgoyMDEyLTA5LTEyIDE3OjI0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNjoyMzo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgc3BlZWQ6IFZhcmlvdXMgMS4wIHN0eWxlIGFkZGl0aW9ucwoJICBVc2UgR3N0QXVkaW9JbmZvIGV2ZXJ5d2hlcmUsIGV0YwoKMjAxMi0wOS0xMCAxNzoxNjowNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM3MjcKCjIwMTItMDktMTIgMTY6MDM6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIGxpdmVhZGRlcjogcG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDIxOjEzOjM1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgY29sbGVjdHBhZHM6IHJlbW92ZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbAoJICBSZW5hbWUgZ3N0X2NvbGxlY3RfcGFkc19hZGRfcGFkX2Z1bGwoKSB0byBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWQoKSBhbmQgZml4IGFsbAoJICBpbnZvY2F0aW9ucy4KCjIwMTItMDktMTIgMTI6MTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IFBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMiAxNTowODowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFVzZSBkZWZhdWx0IHF1ZXJ5IGhhbmRsZXJzIHdoZXJlIG5lZWRlZAoJICBBbmQgZml4dXAgZ2V0Y2FwcyBoYW5kbGVyIHdoaWxlIEknbSBhdCBpdAoKMjAxMi0wOS0xMiAwOTo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHBvcnQgdGFnc2V0dGVyIG1vZGUgc2V0dGluZyBjb2RlCgkgIENoZWNrIGRpcmVjdGx5IHdpdGggR1NUX0lTX1RBR19TRVRURVIgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgZGVwcmVjYXRlZCBHc3RJbXBsZW1lbnRzSW50ZXJmYWNlCgkgIEZpeGVzIHRoZSBpbWFnZSB0YWcgc2V0dGluZyB1bml0IHRlc3QKCjIwMTItMDktMTIgMTM6MDM6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHdpbjMyIGJ1aWxkIGV2ZW4gbW9yZQoKMjAxMi0wOS0xMiAxMzoxNzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMiAxMTowODoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBhc3BlY3QgcmF0aW8gY2FsY3VsYXRpb24uCgkgIEFTUEVDVF9IT1JJWl9TSVpFIGFuZCBBU1BFQ1RfVkVSVF9TSVpFIGFyZSBzeW50YXggZWxlbWVudHMgdGhhdCBob2xkCgkgIGJpbmFyeSBlbmNvZGluZ3Mgb2Ygc2l6ZXMgcmFuZ2luZyBmcm9tIDEgdG8gMjU2LiBUaHVzLCB0aGUgY2FsY3VsYXRlZAoJICBwaXhlbC1hc3BlY3QtcmF0aW8gd2FzIG9mZiBieSBvbmUuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg1OAoKMjAxMi0wOS0xMiAxMTowMTozNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjRwYXJzZTogZG9uJ3QgdXNlIGFub255bW91cyB1bmlvbnMuCgkgIEFub255bW91cyB1bmlvbiBpcyBhbiBJU08gQyAoMjAxMSkgZmVhdHVyZSB0aGF0IGlzIG5vdCBleHBvc2VkIGluCgkgIGNvbXBpbGVycyBzdHJpY3RseSBjb25mb3JtaW5nIHRvIHRoZSBwcmV2aW91cyBzdGFuZGFyZC4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0xMiAxMToyMTo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNvbXB1dGUgcGl4ZWwgYXNwZWN0IHJhdGlvLgoJICBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0xMiAwOTo0ODo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGF0dGVtcHQgdG8gZ2V0IGRpc2FibGVkIHN0cmVhbWhlYWRlciB0ZXN0IHRvIGNvbXBpbGUgb24gd2luMzIKCSAgVGhvdWdoIGl0IHByb2JhYmx5IHdvbid0IHdvcmssIGJ1dCB0aGVuIGl0J3MgZGlzYWJsZWQuCgoyMDEyLTA5LTEyIDA5OjEwOjM1ICswMjAwICBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBvcHVzICsganBlZ2Zvcm1hdDogdW5icmVhayBub24tZGVidWcgYnVpbGQKCSAgb3B1cyArIGpwZWdmb3JtYXQgcGx1Z2luIGJ1aWxkcyBmYWlsIHdoZW4gZ3N0cmVhbWVyIGlzIGNvbmZpZ3VyZWQgd2l0aAoJICAtLWRpc2FibGUtZ3N0LWRlYnVnIGFzIHRoZXkgYXJlIGNoZWNraW5nIHRoZSBHU1RfRElTQUJMRV9ERUJVRyBzeW1ib2wKCSAgaW5zdGVhZCBvZiBHU1RfRElTQUJMRV9HU1RfREVCVUcuCgkgIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODM4NTAKCjIwMTItMDktMTIgMDE6MzU6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSAganBlZ2Zvcm1hdDogZG9uJ3QgbGluayB0byBsaWJnc3RpbnRlcmZhY2VzIHdoaWNoIGRvZXNuJ3QgZXhpc3QgYW55IGxvbmdlcgoKMjAxMi0wOS0xMSAyMDozMDo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbnBsYzogRG9uJ3QgdW5yZWYgdG9vIG11Y2gsIGRvbid0IGZvcndhcmQgZ2FwIGV2ZW50CgoyMDEyLTA5LTExIDIwOjE5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSAgc3BhbnBsYzogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTExIDE5OjQxOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogRG9uJ3QgdHJ5IHRvIHN5bmMgY29udHJvbGxlciB2YWx1ZXMgdG8gaW52YWxpZCB0aW1lc3RhbXAKCjIwMTItMDktMTEgMTk6MzY6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRmluaXNoIHBvcnQgdG8gMS4wIEFQSQoKMjAxMi0wOS0xMSAxODo1NToxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIHRlc3Q6IFNpbXBsaWZ5IGF1dG9jb252ZXJ0IHRlc3QKCjIwMTItMDktMTEgMTg6NTM6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IExvb2sgYXQgYWxsIHBvc3NpYmlsaXRpZXMgZm9yIGFjY2VwdC1jYXBzIGV2ZW4gaWYgdGhlcmUgaXMgYSBzZWxlY3RlZCBzdWJlbGVtZW50CgkgIElmIHRoZSBhY2NlcHQtY2FwcyBzdWNjZWVkcyB3aXRoIGEgZGlmZmVyZW50IHN1YmVsZW1lbnQsIHRoZW4gdGhlIHN1YnNlcXVlbnQKCSAgY2FwcyBldmVudCB3aWxsIGNoYW5nZSB0aGUgY3VycmVudCBzdWJlbGVtZW50LgoKMjAxMi0wOS0xMSAxODowMjoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdDogRmx1c2ggb3B1cyBlbmNvZGVyIGJldHdlZW4gdGVzdHMKCjIwMTItMDktMTEgMTg6MDE6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3Q6IEZsdXNoIG9wdXMgZW5jb2RlciBiZXR3ZWVuIHRlc3RzCgoyMDEyLTA5LTEwIDE4OjIwOjQ4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJICB1dmNoMjY0OiBNYWtlIGd1ZGV2L2xpYnVzYiBhIGhhcmQgZGVwZW5kZW5jeSBhbmQgcmVtb3ZlIFhVX0ZJTkRfVU5JVCBpb2N0bCBzdXBwb3J0CgkgIENvbmZsaWN0czoKCSAgc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYwoKMjAxMi0wOS0xMSAxNzo0NzoxNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGV4dCwgZ3N0OiBvbmx5IGFjdGl2YXRlIGluIHB1bGwgbW9kZSBpZiB1cHN0cmVhbSBpcyBzZWVrYWJsZQoKMjAxMi0wOS0xMSAxNTowNzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IHRpbWVkIHRleHQgaXMgdGV4dC94LXJhdyBub3cKCjIwMTItMDktMTEgMTU6MDI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4LmM6CgkgIGQzZHZpZGVvc2luazogcG9ydCB0byB0aGUgbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0wOS0xMSAxNDozMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICB0ZXN0czogbXBlZzJlbmMsIG1wbGV4OiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDE0OjMxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDAxOjUyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGdkcDogbW92ZSBnZHAgcGx1Z2luIGhlcmUgZnJvbSAtYmFzZQoJICBOZWVkcyBzb21lIHJld29ya2luZy4KCjIwMTItMDktMDkgMTg6MDU6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGR1bXAgYnl0ZXMgaW50byBkZWJ1ZyBsb2cgdXNpbmcgR1NUX01FTURVTVAKCSAgSW5zdGVhZCBvZiBob21lLWdyb3duIHNvbHV0aW9uLgoKMjAxMi0wNy0yNyAxNToyMTo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHZhcmlhYmxlIG5hbWVzCgoyMDEyLTA3LTAyIDEyOjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogdXNlIG11bHRpZmRzaW5rIGZvciBzdHJlYW1oZWFkZXIgdGVzdAoJICBVc2UgbXVsdGlmZHNpbmsgZm9yIHBpcGVzIGluc3RlYWQgb2YgbXVsdGlzb2NrZXRzaW5rLAoJICB0byBhdm9pZCAiY3JlYXRpbmcgR1NvY2tldCBmcm9tIGZkIDk6IFNvY2tldCBvcGVyYXRpb24KCSAgb24gbm9uLXNvY2tldCAiY3JpdGljYWxzIGZyb20gR2lvLiBUZXN0IHN0aWxsIGZhaWxzLAoJICBidXQgaXQgZmFpbHMgaW4gYSBkaWZmZXJlbnQgd2F5IG5vdy4KCjIwMTItMDQtMjUgMTg6MDc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwbHVnIGJ1ZmZlciBsZWFrCgoyMDEyLTA0LTE5IDE0OjQxOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogaW5pdGlhbGl6ZSB2YXJpYWJsZXMKCjIwMTItMDQtMTAgMDA6NDU6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBVc2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoKMjAxMi0wNC0wNSAxNToxMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcC5jOgoJICBnc3Q6IFVwZGF0ZSBmb3IgR1NUX1BMVUdJTl9ERUZJTkUoKSBBUEkgY2hhbmdlCgoyMDEyLTA0LTAxIDE4OjExOjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgSW1wcm92ZSBidWZmZXIgYWxsb2NhdGlvbiBvZiB3cmFwcGVkIG1lbW9yeQoKMjAxMi0wMy0zMCAxODoxMjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMjggMTI6NDg6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTE1IDEzOjMyOjA4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDItMjIgMDI6MDU6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTAzIDExOjM4OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogZml4dXAgdW5pdCB0ZXN0cwoKMjAxMi0wMi0wMyAxMTozODoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4dXAgZm9yIGNoYW5nZWQgY2FwcwoJICBUcnkgdG8gc2VuZCB0aGUgc3RyZWFtaGVhZGVyIGFmdGVyIHRoZSBmaXJzdCBidWZmZXIuCgoyMDEyLTAyLTAzIDExOjM3OjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZGF0YXByb3RvY29sOiBkb24ndCBkZWZpbmUgZGVmYXVsdCBDYXRlZ29yeQoJICBTaW5jZSB3ZSBub3cgaW5jbHVkZSB0aGlzIGludG8gdGhlIHVuaXQgdGVzdHMgZGlyZWN0bHksIGRvbid0IGRlZmluZSB0aGUgZGVmYXVsdAoJICBjYXRlZ29yeSBtYWNybyBiZWNhdXNlIGl0IGNvbmZsaWN0cyB3aXRoIGNoZWNrLgoKMjAxMi0wMS0zMCAxNzoxNjoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHVwZGF0ZSBmb3IgSEVBREVSIGZsYWcgY2hhbmdlcwoKMjAxMi0wMS0yMCAxNjoxMTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgcG9ydCB0byBuZXcgbWFwIEFQSQoKMjAxMi0wMS0xOSAxNTozMjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDEyLTAxLTA0IDE2OjQxOjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdGVzdHM6IHBvcnQgYW5kIGVuYWJsZSBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMTItMjUgMjM6MTk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogbW92ZSBkYXRhcHJvdG9jb2wgbGlicmFyeSBpbnRvIGdkcCBwbHVnaW4gYW5kIG1ha2UgcHJpdmF0ZQoJICBXZSBoYXZlIHJlbW92ZWQgdGhpbmdzIGxpa2UgcHJvdG9jb2w9Z2RwIGluIHRoZSB0Y3AgZWxlbWVudHMKCSAgaW4gZmF2b3VyIG9mIGV4cGxpY2l0IGdkcHBheS9kZXBheSBlbGVtZW50cywgc28gdGhlcmUncyBubyBuZWVkCgkgIHRvIGtlZXAgYSBwdWJsaWMgQVBJIGFuZCBsaWJyYXJ5IGZvciBub3cuIFdlIGNhbiBzdGlsbCBhZGQgaXQKCSAgYmFjayBsYXRlci4gU29tZW9uZSBuZWVkcyB0byB0aGluayBoYXJkIGFib3V0IDAuMTEgYW5kIGdkcAoJICBhbnl3YXkgb25lIG9mIHRoZXNlIGRheXMuCgoyMDExLTExLTExIDE3OjE3OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiBmaXggaGVhZGVyIGZpbGVzCgkgIEVuc3VyZSBjb3JyZWN0IGluZGVudGF0aW9uIGFuZCByZXRhYgoJICBNYWtlIHN1cmUgYWxsIHN0cnVjdHVyZSBoYXZlIHBhZGRpbmcKCjIwMTEtMDgtMTYgMTc6MzI6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHJlbmFtZSBidWZmZXIgUFJFUk9MTCAtPiBMSVZFIGZsYWcKCSAgUmVuYW1lIHRoZSBHU1RfQlVGRkVSX0ZMQUdfUFJFUk9MTCB0byBHU1RfQlVGRkVSX0ZMQUdfTElWRSBhbmQgZ2l2ZSB0aGUgbmV3IGZsYWcKCSAgYSBtZWFuaW5nLiBUaGUgb2xkIFBSRVJPTEwgZmxhZyBuZXZlciBoYWQgYSBjbGVhciBtZWFuaW5nLgoKMjAxMS0wNi0xMCAxMzo0MDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogbWFrZSBuZXcgX2J1ZmZlcl9hbGxvY2F0ZSBtZXRob2QKCSAgTWFrZSBhIG5ldyBtZXRob2QgdG8gYWxsb2NhdGUgYSBidWZmZXIgKyBtZW1vcnkgdGhhdCB0YWtlcyB0aGUgYWxsb2NhdG9yIGFuZCB0aGUKCSAgYWxpZ25tZW50IGFzIHBhcmFtZXRlcnMuIFByb3ZpZGUgYSBtYWNybyBmb3IgdGhlIG9sZCBtZXRob2QgYnV0IHByZWZlciB0byB1c2UKCSAgdGhlIG5ldyBtZXRob2QgdG8gZW5jb3VyYWdlIHBsdWdpbnMgdG8gbmVnb3RpYXRlIHRoZSBhbGxvY2F0b3IgcHJvcGVybHkuCgoyMDExLTA1LTEzIDE4OjA3OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBSZXdvcmsgR3N0U2VnbWVudCBoYW5kbGluZwoJICBJbXByb3ZlIEdzdFNlZ21lbnQsIHJlbmFtZSBzb21lIGZpZWxkcy4gVGhlIGlkZWEgaXMgdG8gaGF2ZSB0aGUgR3N0U2VnbWVudAoJICBzdHJ1Y3R1cmUgcmVwcmVzZW50IHRoZSB0aW1pbmcgc3RydWN0dXJlIG9mIHRoZSBidWZmZXJzIGFzIHRoZXkgYXJlIGdlbmVyYXRlZCBieQoJICB0aGUgc291cmNlIG9yIGRlbXV4ZXIgZWxlbWVudC4KCSAgZ3N0X3NlZ21lbnRfc2V0X3NlZWsoKSAtPiBnc3Rfc2VnbWVudF9kb19zZWVrKCkKCSAgUmVuYW1lIHRoZSBORVdTRUdNRU5UIGV2ZW50IHRvIFNFR01FTlQuCgkgIE1ha2UgcGFyc2luZyBvZiB0aGUgU0VHTUVOVCBldmVudCBpbnRvIGEgR3N0U2VnbWVudCBzdHJ1Y3R1cmUuCgkgIFBhc3MgYSBHc3RTZWdtZW50IHN0cnVjdHVyZSB3aGVuIG1ha2luZyBhIG5ldyBTRUdNRU5UIGV2ZW50LiBUaGlzIGFsbG93cyB1cyB0bwoJICBwYXNzIHRoZSB0aW1pbmcgaW5mbyBkaXJlY3RseSB0byB0aGUgbmV4dCBlbGVtZW50LiBObyBhY2N1bXVsYXRpb24gaXMgbmVlZGVkIGluCgkgIHRoZSByZWNlaXZpbmcgZWxlbWVudCwgYWxsIHRoZSBpbmZvIGlzIGluc2lkZSB0aGUgZWxlbWVudC4KCSAgUmVtb3ZlIGdzdF9zZWdtZW50X3NldF9uZXdzZWdtZW50KCk6IFRoaXMgZnVuY3Rpb24gYXMgdXNlZCB0byBhY2N1bXVsYXRlCgkgIHNlZ21lbnRzIHJlY2VpdmVkIGZyb20gdXBzdHJlYW0sIHdoaWNoIGlzIG5vdyBub3QgbmVlZGVkIGFueW1vcmUgYmVjYXVzZSB0aGUKCSAgc2VnbWVudCBldmVudCBjb250YWlucyB0aGUgY29tcGxldGUgdGltaW5nIGluZm9ybWF0aW9uLgoKMjAxMS0wNS0xMCAxMTo1MDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogSGlkZSB0aGUgR3N0U3RydWN0dXJlIGluIEdzdEV2ZW50CgkgIEhpZGUgdGhlIEdzdFN0cnVjdHVyZSBvZiB0aGUgZXZlbnQgaW4gdGhlIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHBhcnQgc28gdGhhdAoJICB3ZSBjYW4gY2hhbmdlIGl0LgoJICBBZGQgbWV0aG9kcyB0byBjaGVjayBhbmQgbWFrZSB0aGUgZXZlbnQgd3JpdGFibGUuCgkgIEFkZCBhIG5ldyBtZXRob2QgdG8gZ2V0IGEgd3JpdGFibGUgR3N0U3RydWN0dXJlIG9mIHRoZSBlbGVtZW50LgoJICBBdm9pZCBkaXJlY3RseSBhY2Npc2luZyB0aGUgZXZlbnQgc3RydWN0dXJlLgoKMjAxMS0wNS0wMiAxNjowMDo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiBhZGQgZG9jcyBmb3IgR3N0RFBQYWNrZXRpemVyCgoyMDExLTAzLTIxIDE4OjEzOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBwb3J0IGNvZGUgdG8gbmV3IGJ1ZmZlciBkYXRhIEFQSQoKMjAxMC0xMi0wNiAxOTo0MDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogcmVtb3ZlIGRlcHJlY2F0ZWQgY29kZQoKMjAxMC0xMC0wOCAwOTozNDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IG1ha2UgcHVibGljIGVudW0gX2dldF90eXBlKCkgZnVuY3Rpb25zIHRocmVhZC1zYWZlCgkgIE5vdCB0aGF0IGl0IGlzIGxpa2VseSB0byBtYXR0ZXIgaW4gcHJhY3RpY2UsIGJ1dCBzaW5jZSB0aGVzZSBhcmUgcHVibGljCgkgIEFQSSB0aGV5IHNob3VsZCBwcm9iYWJseSBiZSB0aHJlYWQtc2FmZS4KCjIwMTAtMTAtMDggMDA6Mzg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkYXRhcHJvdG9jb2wsIGxmb2NvbnRyb2xzb3VyY2U6IGZpeCBlbnVtIHZhbHVlIG5hbWUgaW4gZW51bXMgdGhhdCBhcmUgcHVibGljIEFQSQoJICBTbyBydW4tdGltZSBiaW5kaW5ncyBjYW4gaW50cm9zcGVjdCB0aGUgbmFtZXMgY29ycmVjdGx5ICh3ZSBhYnVzZSB0aGlzCgkgIGZpZWxkIGFzIGRlc2NyaXB0aW9uIGZpZWxkIG9ubHkgaW4gZWxlbWVudHMsIG5vdCBmb3IgcHVibGljIEFQSQoJICAod2hlcmUgdGhlIGRlc2NyaXB0aW9uIGJlbG9uZ3MgaW50byB0aGUgZ3RrLWRvYyBjaHVuaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5NDYKCjIwMTAtMDMtMDIgMjI6NTg6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRml4ZXMgZm9yIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMKCSAgQWxzbyBhZGRzIHRob3NlIGZsYWdzIHRvIHRoZSBjb25maWd1cmUgd2FybmluZyBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjkyCgoyMDEwLTAzLTAyIDIzOjUxOjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBNYWtlIGNvZGUgc2FmZSBmb3IgLVdyZWR1bmRhbnQtZGVjbHMKCSAgQWRkcyB0aGF0IHdhcm5pbmcgdG8gY29uZmlndXJlLmFjCgkgIEluY2x1ZGVzIGEgdGlueSBjaGFuZ2Ugb2YgdGhlIEdTVF9CT0lMRVJQTEFURV9GVUxMKCkgbWFjcm86CgkgIFRoZSBnZXRfdHlwZSgpIGZ1bmN0aW9uIGlzIG5vIGxvbmdlciBkZWNsYXJlZCBiZWZvcmUgYmVpbmcgZGVmaW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY5MgoKMjAwOS0xMS0yNyAxNjozOTozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggYnJva2VuIHhyZWZzIGluIGRvY3MKCjIwMDgtMDYtMzAgMDk6Mzg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdkcDogRG9uJ3Qgd3JpdGUgdG8gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBhcyBhIHVpbnQ2NCBhbmQgdWludDE2IGFzIHRoaXMgYnJlYWtzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIERvbid0IHdyaXRlIHRvIHRoZSBzYW1lIHJlZ2lvbiBvZiBtZW1vcnkgYXMgYSB1aW50NjQgYW5kIHVpbnQxNgoJICBhcyB0aGlzIGJyZWFrcyBzdHJpY3QgYWxpYXNpbmcgcnVsZXMgYW5kIGFwcGFyYW50bHkgYnJlYWtzIG9uIFBQQwoJICBhbmQgczM5MC4gVGhhbmtzIHRvIFNqb2VyZCBTaW1vbnMgZm9yIGFuYWx5c2luZy4gRml4ZXMgYnVnICMzNDgxMTQuCgoyMDA4LTAzLTI3IDE1OjIzOjU1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IFdoZW4gY2FsY3VsYXRpbmcgR0RQIGJvZHkgQ1JDLCB1c2UgdGhlIGNvcnJlY3QgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCk6CgkgIFdoZW4gY2FsY3VsYXRpbmcgR0RQIGJvZHkgQ1JDLCB1c2UgdGhlIGNvcnJlY3QgcG9pbnRlci4KCSAgRml4ZXMgcGFydCBvZiAjNTIyNDAxLgoKMjAwOC0wMi0yOSAxMjo0MTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ2RwOiBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdGNvbmZpZy5oLmluOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0Y29sbGVjdHBhZHMuYzogKGdzdF9jb2xsZWN0X3BhZHNfcmVhZF9idWZmZXIpOgoJICAqIGxpYnMvZ3N0L2NoZWNrL2dzdGNoZWNrLmM6IChnc3RfY2hlY2tfbG9nX21lc3NhZ2VfZnVuYyksCgkgIChnc3RfY2hlY2tfbG9nX2NyaXRpY2FsX2Z1bmMpLCAoZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycyksCgkgIChnc3RfY2hlY2tfZWxlbWVudF9wdXNoX2J1ZmZlcl9saXN0KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzogKGdzdF9jb250cm9sbGVyX2dldCksCgkgIChnc3RfY29udHJvbGxlcl9nZXRfdHlwZSk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RoZWxwZXIuYzogKGdzdF9vYmplY3RfY29udHJvbF9wcm9wZXJ0aWVzKSwKCSAgKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xsZXIpLCAoZ3N0X29iamVjdF9nZXRfY29udHJvbF9zb3VyY2UpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aW50ZXJwb2xhdGlvbmNvbnRyb2xzb3VyY2UuYzoKCSAgKGdzdF9pbnRlcnBvbGF0aW9uX2NvbnRyb2xfc291cmNlX25ldyk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RsZm9jb250cm9sc291cmNlLmM6CgkgIChnc3RfbGZvX2NvbnRyb2xfc291cmNlX25ldyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMik6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RmZHNyYy5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0bXVsdGlxdWV1ZS5jOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0dGVlLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzoKCSAgKiBwbHVnaW5zL2luZGV4ZXJzL2dzdGZpbGVpbmRleC5jOiAoX2ZpbGVfaW5kZXhfaWRfc2F2ZV94bWwpLAoJICAoZ3N0X2ZpbGVfaW5kZXhfYWRkX2Fzc29jaWF0aW9uKToKCSAgKiBwbHVnaW5zL2luZGV4ZXJzL2dzdG1lbWluZGV4LmM6CgkgICogdGVzdHMvYmVuY2htYXJrcy9nc3Rwb2xsc3RyZXNzLmM6IChtZXNzX3NvbWVfbW9yZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXVldWUuYzogKHNldHVwX3F1ZXVlKToKCSAgKiB0ZXN0cy9jaGVjay9nc3QvZ3N0cGlwZWxpbmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NvbGxlY3RwYWRzLmM6IChzZXR1cCksICh0ZWFyZG93biksCgkgIChnc3RfY29sbGVjdF9wYWRzX3N1aXRlKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9hZGFwdGVyL2FkYXB0ZXJfdGVzdC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL21ldGFkYXRhL3JlYWQtbWV0YWRhdGEuYzogKG1ha2VfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3htbC9jcmVhdGV4bWwuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy94bWwvcnVueG1sLmM6CgkgICogdG9vbHMvZ3N0LWluc3BlY3QuYzoKCSAgKiB0b29scy9nc3QtcnVuLmM6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzLCBub3QgdXNpbmcgdmFyaWFibGUgc2l6ZWQgYXJyYXlzCgkgIG9uIHRoZSBzdGFjaywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mCgkgIGEgYmxvY2sgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgoyMDA4LTAxLTA4IDAyOjA3OjM4ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggZW1wdHkgcHJvdG90eXBlcy4gRml4ZXMgYnVnICM1MDc5NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGludGVycG9sYXRpb25jb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RsZm9jb250cm9sc291cmNlLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBGaXggZW1wdHkgcHJvdG90eXBlcy4gIEZpeGVzIGJ1ZyAjNTA3OTU3LgoKMjAwNy0xMS0wMSAyMTo1MDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdkcDogZ190eXBlX2NsYXNzX3JlZigpIG90aGVyIHR5cGVzIGFzIHdlbGwsIHNlZSAjMzQ5NDEwIGFuZCAjNjQ3NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3QuYzogKGluaXRfcG9zdCk6CgkgICogZ3N0L2dzdGV2ZW50LmM6IChfZ3N0X2V2ZW50X2luaXRpYWxpemUpOgoJICAqIGdzdC9nc3RxdWVyeS5jOiAoX2dzdF9xdWVyeV9pbml0aWFsaXplKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmMgKGdzdF9kcF9pbml0KToKCSAgZ190eXBlX2NsYXNzX3JlZigpIG90aGVyIHR5cGVzIGFzIHdlbGwsIHNlZSAjMzQ5NDEwIGFuZCAjNjQ3NjQuCgkgICogZ3N0L2dzdGJ1ZmZlci5jOiAoX2dzdF9idWZmZXJfaW5pdGlhbGl6ZSk6CgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKF9nc3RfbWVzc2FnZV9pbml0aWFsaXplKToKCSAgU2ltcGxpZnkgZXhpc3RpbmcgZ190eXBlX2NsYXNzX3JlZigpLgoKMjAwNi0xMC0wNSAxNDoyNjowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdkcDogUHJpbnRmIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0cGFkLmM6IChwcmVfYWN0aXZhdGUpOgoJICAqIGdzdC9nc3RyZWdpc3RyeS5jOiAoZ3N0X3JlZ2lzdHJ5X3NjYW5fcGF0aF9sZXZlbCk6CgkgICogZ3N0L2dzdHJlZ2lzdHJ5eG1sLmM6IChsb2FkX3BsdWdpbik6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6CgkgIChnc3RfY29udHJvbGxlZF9wcm9wZXJ0eV9zZXRfaW50ZXJwb2xhdGlvbl9tb2RlKToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKToKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0Y2xpZW50Y2xvY2suYzoKCSAgKGdzdF9uZXRfY2xpZW50X2Nsb2NrX29ic2VydmVfdGltZXMpOgoJICAqIHBsdWdpbnMvZWxlbWVudHMvZ3N0ZmRzcmMuYzogKGdzdF9mZF9zcmNfY3JlYXRlKToKCSAgUHJpbnRmIGZpeGVzLgoKMjAwNi0wOC0xMSAxNToyNjozMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGlzIG9ubHkgZm9yIHVzZXJzIG9mIEFQSSB0aGF0IGRvbid0IHdhbnQgdG8gc2VlIGRlcHJlY2F0ZWQgZnVuY3Rpb25zIGluIHRoZSBoZWFkZXJzOyBwZW9wbGUgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMTEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRpemVyX25ldyk6CgkgICogdGVzdHMvY2hlY2svbGlicy9nZHAuYzogKGdzdF9kcF9zdWl0ZSk6IEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQKCSAgaXMgb25seSBmb3IgdXNlcnMgb2YgQVBJIHRoYXQgZG9uJ3Qgd2FudCB0byBzZWUgZGVwcmVjYXRlZAoJICBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlcnM7IHBlb3BsZSB0aGF0IHdhbnQgdG8gY29tcGlsZSBvdXQKCSAgZGVwcmVjYXRlZCBjb2RlIHNob3VsZCBwYXNzIC1ER1NUX1JFTU9WRV9ERVBSRUNBVEVEIGludG8gdGhlCgkgIENGTEFHUy4gRml4ZXMgdGhlIGJ1aWxkIG9mIG11bHRpZmRzaW5rLCBvciB3aWxsIHNvb24uLgoKMjAwNi0wOC0xMCAxOTo0NjoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ2RwOiBhZGQgZ3N0X29iamVjdF97cyxnfWV0X2NvbnRyb2xfcmF0ZSgpLCBhZGQgcHJpdmF0ZSBkYXRhIHNlY3Rpb24sIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvbGlicy9nc3RyZWFtZXItbGlicy1zZWN0aW9ucy50eHQ6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmM6CgkgIChfZ3N0X2NvbnRyb2xsZXJfZ2V0X3Byb3BlcnR5KSwgKF9nc3RfY29udHJvbGxlcl9zZXRfcHJvcGVydHkpLAoJICAoX2dzdF9jb250cm9sbGVyX2luaXQpLCAoX2dzdF9jb250cm9sbGVyX2NsYXNzX2luaXQpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aGVscGVyLmM6IChnc3Rfb2JqZWN0X2dldF9jb250cm9sX3JhdGUpLAoJICAoZ3N0X29iamVjdF9zZXRfY29udHJvbF9yYXRlKToKCSAgQVBJOiBhZGQgZ3N0X29iamVjdF97cyxnfWV0X2NvbnRyb2xfcmF0ZSgpLCBhZGQgcHJpdmF0ZSBkYXRhIHNlY3Rpb24sCgkgIGZpeCBkb2NzCgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIGFkZCBkZXByZWNhdGlvbiBndWFyZHMgdG8gbWFrZSBndGstZG9jIGhhcHB5IGFuZCBhbGxvdyBkaXNhYmxpbmcgY3J1ZnQKCjIwMDYtMDgtMDIgMTU6MTk6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IE1ha2UgZGVidWcgY2F0ZWdvcnkgc3RhdGljCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXJfYW55KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzX2FueSksCgkgIChnc3RfZHBfY3JjKSwgKGdzdF9kcF9oZWFkZXJfcGF5bG9hZF9sZW5ndGgpLAoJICAoZ3N0X2RwX2hlYWRlcl9wYXlsb2FkX3R5cGUpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApLCAoZ3N0X2RwX2J1ZmZlcl9mcm9tX2hlYWRlciksCgkgIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCksIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCksIChnc3RfZHBfdmFsaWRhdGVfaGVhZGVyKSwKCSAgKGdzdF9kcF92YWxpZGF0ZV9wYXlsb2FkKToKCSAgTWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCSAgQ29uc3RpZnkgdGhlIGNyYyB0YWJsZS4KCSAgRG8gc29tZSBtb3JlIGFyZyBjaGVja2luZyBpbiBwdWJsaWMgZnVuY3Rpb25zLgoJICBGaXggc29tZSBkb2NzIGFuZCBkbyBzb21lIHNtYWxsIGNsZWFudXBzLgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvZ2RwLmM6IChHU1RfU1RBUlRfVEVTVCksIChnc3RfZHBfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGNoZWNrcyB0byBzZWUgaWYgR0RQIGRlYWxzIHdpdGggYm9ndXMgaW5wdXQuCgoyMDA2LTA3LTEzIDE0OjAyOjE2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZml4IGZhaWx1cmUgdG8gZGVzZXJpYWxpemUgZXZlbnQgcGFja2V0cyB3aXRoIGVtcHR5IHBheWxvYWQgKG9ubHkgZXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzFfMCk6CgkgIEZpeGVzICMzNDczMzc6IGZhaWx1cmUgdG8gZGVzZXJpYWxpemUgZXZlbnQgcGFja2V0cyB3aXRoCgkgIGVtcHR5IHBheWxvYWQgKG9ubHkgZXZlbnQgdHlwZSkKCjIwMDYtMDYtMTMgMTk6MjQ6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBhZGQgYSBnZHAgaW1hZ2UgdG8gdGhlIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9SRUFETUU6CgkgICogZG9jcy9pbWFnZXMvZ2RwLWhlYWRlci5zdmc6CgkgIGFkZCBhIGdkcCBpbWFnZQoJICAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL2xpYnMvZ2RwLWhlYWRlci5wbmc6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBhZGQgaXQgdG8gdGhlIEFQSSBkb2NzCgkgICogZG9jcy9tYW51YWwvaW50cm8tbW90aXZhdGlvbi54bWw6CgkgIGZpeCB0eXBvCgoyMDA2LTA2LTA2IDE0OjI5OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogYWRkIG5vdGUgdG8gZG9jcyBhYm91dCBHRFAgdmVyc2lvbmluZzsgcmVtb3ZlIHRtcGwgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5vdGUgdG8gZG9jcyBhYm91dCBHRFAgdmVyc2lvbmluZzsgcmVtb3ZlIHRtcGwgZmlsZQoKMjAwNi0wNi0wNiAxNDoyNDowMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGFkZCBhIEdzdERQUGFja2V0aXplciBvYmplY3QsIGFuZCBjcmVhdGUvZnJlZSBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl9hbnkpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfYW55KSwKCSAgKGdzdF9kcF92ZXJzaW9uX2dldF90eXBlKSwgKGdzdF9kcF9pbml0KSwKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl8xXzApLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfMV8wKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpLCAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzFfMCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpLCAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KSwKCSAgKGdzdF9kcF9wYWNrZXRpemVyX2ZyZWUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgQVBJOiBhZGQgYSBHc3REUFBhY2tldGl6ZXIgb2JqZWN0LCBhbmQgY3JlYXRlL2ZyZWUgZnVuY3Rpb25zCgkgIEFQSTogYWRkIEdzdERQVmVyc2lvbiBlbnVtCgkgIEFkZCAxLjAgZXZlbnQgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBzdHJpbmcgc2VyaWFsaXphdGlvbgoJICBTZXJpYWxpemUgbW9yZSB1c2VmdWwgYnVmZmVyIGZsYWdzCgkgIEZpeGVzICMzNDM5ODgKCjIwMDYtMDYtMDIgMTY6NDY6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmYWN0b3Igb3V0IENSQyBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgZmFjdG9yIG91dCBDUkMgY29kZQoKMjAwNi0wNi0wMiAxMDo1ODo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZhY3RvciBvdXQgc29tZSBjb21tb24gaGVhZGVyIGluaXQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCk6CgkgIGZhY3RvciBvdXQgc29tZSBjb21tb24gaGVhZGVyIGluaXQgY29kZQoKMjAwNi0wNi0wMiAxMDowODozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IG1ha2UgZ3N0X2RwX2NyYygpIHB1YmxpYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL2xpYnMvZ3N0cmVhbWVyLWxpYnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvbGlicy90bXBsL2dzdGRhdGFwcm90b2NvbC5zZ21sOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9jcmMpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgQVBJOiBtYWtlIGdzdF9kcF9jcmMoKSBwdWJsaWMKCjIwMDYtMDYtMDEgMTE6MTM6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBtYWtlIHN1cmUgd2UgemVybyB0aGUgd2hvbGUgQUJJLWNvbXBhdGlibGUgYXJlYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyKToKCSAgbWFrZSBzdXJlIHdlIHplcm8gdGhlIHdob2xlIEFCSS1jb21wYXRpYmxlIGFyZWEKCjIwMDYtMDUtMDggMTU6NTM6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiB3aGl0ZXNwYWNlLCBjb21tZW50LCBkb2MgZml4dXAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdoaXRlc3BhY2UsIGNvbW1lbnQsIGRvYyBmaXh1cAoKMjAwNi0wNC0yOCAxMzo0MDoxNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBGaXhlcyBpbiByZWFkaW5nL3dyaXRpbmcgZXZlbnRzIG92ZXIgR0RQIChub3QgY3VycmVudGx5IHVzZWQ/KSAtIGRlcmVmZXJlbmNpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBGaXhlcyBpbiByZWFkaW5nL3dyaXRpbmcgZXZlbnRzIG92ZXIgR0RQIChub3QgY3VycmVudGx5IHVzZWQ/KSAtCgkgIGRlcmVmZXJlbmNpbmcgTlVMTCBldmVudHMgZm9yIHVua25vd24vaW52YWxpZCBldmVudCB0eXBlcywgbWVtb3J5CgkgIGxlYWssIGFuZCBjaGFuZ2UgZ193YXJuaW5nIHRvIEdTVF9XQVJOSU5HLgoKMjAwNi0wMy0xMCAxNTozMDoyNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ2RwOiBGaXggZG9jcyBmb3IgZGF0YXByb2NvdG9sIHRvIG5vdCBnZXQgdGhlIHJldHVybiB0eXBlcyBjb21wbGV0ZWx5IHdyb25nIGZvciBhIGZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgRml4IGRvY3MgZm9yIGRhdGFwcm9jb3RvbCB0byBub3QgZ2V0IHRoZSByZXR1cm4gdHlwZXMgY29tcGxldGVseQoJICB3cm9uZyBmb3IgYSBmZXcgZnVuY3Rpb25zLgoKMjAwNS0xMi0xOCAxNjowNDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRG9jdW1lbnRhdGlvbiB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGFkYXB0ZXIuYzoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGFkYXB0ZXIuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZV9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2Vfc2lua19nZXRfcG9zaXRpb24pOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3NyY19kZWZhdWx0X3F1ZXJ5KSwgKGdzdF9iYXNlX3NyY19kZWZhdWx0X2RvX3NlZWspLAoJICAoZ3N0X2Jhc2Vfc3JjX2RvX3NlZWspLCAoZ3N0X2Jhc2Vfc3JjX3BlcmZvcm1fc2VlayksCgkgIChnc3RfYmFzZV9zcmNfc2VuZF9ldmVudCksIChnc3RfYmFzZV9zcmNfdXBkYXRlX2xlbmd0aCksCgkgIChnc3RfYmFzZV9zcmNfZ2V0X3JhbmdlKSwgKGdzdF9iYXNlX3NyY19sb29wKSwKCSAgKGdzdF9iYXNlX3NyY19zdGFydCk6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3Rjb2xsZWN0cGFkcy5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0cHVzaHNyYy5jOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0cHVzaHNyYy5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldGNsaWVudGNsb2NrLmg6CgkgICogbGlicy9nc3QvbmV0L2dzdG5ldHRpbWVwcm92aWRlci5oOgoJICBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgoyMDA1LTEwLTEzIDE2OjI2OjEyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEZpeCBUaW1tZWtlIFdheW1hbnMgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmMgKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKToKCSAgRml4IFRpbW1la2UgV2F5bWFucyBidWcuCgkgIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCk6IE1ha2Ugc3VyZSB3ZSBwYXNzIGEgTlVMLXRlcm1pbmF0ZWQKCSAgc3RyaW5nIG9mIHRoZSBwcm9wZXIgbGVuZ3RoIHRvIGdzdF9jYXBzX2Zyb21fc3RyaW5nLiBUaGVyZSdzIGEKCSAgcG90ZW50aWFsIGZvciwgYmVmb3JlIHRoaXMgZml4LCB0aGF0IHRoaXMgY291bGQgY2F1c2Ugc29tZW9uZQoJICBjb25uZWN0aW5nIG92ZXIgdGhlIG5ldHdvcmsgdG8gY2F1c2UgYSBzZWdmYXVsdCBpZiB0aGUgcGF5bG9hZCBpcwoJICBub3QgTlVMLXRlcm1pbmF0ZWQuCgoyMDA1LTEwLTEwIDIzOjU1OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IG1vcmUgdmFsZ3JpbmQgd2FybmluZ3MgYmVmb3JlIHR1cm5pbmcgdXAgdGhlIGhlYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtb3JlIHZhbGdyaW5kIHdhcm5pbmdzIGJlZm9yZSB0dXJuaW5nIHVwIHRoZSBoZWF0CgoyMDA1LTEwLTA4IDE3OjE3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBJdCdzIGFib3V0IHRpbWUgd2UgYnVtcCB0aGUgdmVyc2lvbiBudW1iZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RwLXByaXZhdGUuaDoKCSAgSXQncyBhYm91dCB0aW1lIHdlIGJ1bXAgdGhlIHZlcnNpb24gbnVtYmVyLgoJICBTaW5jZSBldmVudCB0eXBlcyBkb24ndCBmaXQgaW4gdGhlIGd1aW50OCBhbnltb3JlIGRlc2NyaWJpbmcKCSAgdGhlIHBheWxvYWQgdHlwZSwgbWFrZSBwYXlsb2FkIHR5cGUgMTYgYml0cyB3aWRlLgoKMjAwNS0wOS0yNyAxNjozMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBGaXggZXJyb3ItY2hlY2tpbmcgcmV0dXJuIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMjcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiBGaXggZXJyb3ItY2hlY2tpbmcgcmV0dXJuCgkgIHZhbHVlcy4KCjIwMDUtMDctMjcgMTk6MDA6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEZpeCBzZXJpYWxpemF0aW9uIG9mIHNlZWsgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRml4IHNlcmlhbGl6YXRpb24gb2Ygc2VlayBldmVudHMuCgoyMDA1LTA3LTI3IDE4OjMzOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBTb21lIGRvY3MgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDSEFOR0VTLTAuOToKCSAgKiBkb2NzL2Rlc2lnbi9wYXJ0LVRPRE8udHh0OgoJICAqIGRvY3MvZGVzaWduL3BhcnQtZXZlbnRzLnR4dDoKCSAgU29tZSBkb2NzIHVwZGF0ZXMKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2Vfc2lua19oYW5kbGVfb2JqZWN0KSwKCSAgKGdzdF9iYXNlX3NpbmtfZXZlbnQpLCAoZ3N0X2Jhc2Vfc2lua19kb19zeW5jKSwKCSAgKGdzdF9iYXNlX3NpbmtfYWN0aXZhdGVfcHVzaCksIChnc3RfYmFzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGdzdC9iYXNlL2dzdGJhc2VzcmMuYzogKGdzdF9iYXNlX3NyY19zZW5kX2Rpc2NvbnQpLAoJICAoZ3N0X2Jhc2Vfc3JjX2RvX3NlZWspLCAoZ3N0X2Jhc2Vfc3JjX2V2ZW50X2hhbmRsZXIpLAoJICAoZ3N0X2Jhc2Vfc3JjX2xvb3ApOgoJICAqIGdzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uYzogKGdzdF9iYXNlX3RyYW5zZm9ybV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fY29uZmlndXJlX2NhcHMpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldGNhcHMpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2dldF9zaXplKSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2V2ZW50KSwgKGdzdF9iYXNlX3RyYW5zZm9ybV9oYW5kbGVfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfcGFzc3Rocm91Z2gpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2lzX3Bhc3N0aHJvdWdoKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNpbmsuYzogKGdzdF9mYWtlX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmaWxlc2luay5jOiAoZ3N0X2ZpbGVfc2lua19ldmVudCk6CgkgIEV2ZW50IHVwZGF0ZXMuCgkgICogZ3N0L2dzdGJ1ZmZlci5oOgoJICBVc2UgZmFzdGVyIGNhc3RzLgoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9zZWVrKToKCSAgKiBnc3QvZ3N0ZWxlbWVudC5oOgoJICBVcGRhdGUgZ3N0X2VsZW1lbnRfc2Vlay4KCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKGdzdF9ldmVudF9maW5hbGl6ZSksIChfZ3N0X2V2ZW50X2NvcHkpLAoJICAoZ3N0X2V2ZW50X25ldyksIChnc3RfZXZlbnRfbmV3X2N1c3RvbSksIChnc3RfZXZlbnRfZ2V0X3N0cnVjdHVyZSksCgkgIChnc3RfZXZlbnRfbmV3X2ZsdXNoX3N0YXJ0KSwgKGdzdF9ldmVudF9uZXdfZmx1c2hfc3RvcCksCgkgIChnc3RfZXZlbnRfbmV3X2VvcyksIChnc3RfZXZlbnRfbmV3X25ld3NlZ21lbnQpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX25ld3NlZ21lbnQpLCAoZ3N0X2V2ZW50X25ld190YWcpLAoJICAoZ3N0X2V2ZW50X3BhcnNlX3RhZyksIChnc3RfZXZlbnRfbmV3X2ZpbGxlciksIChnc3RfZXZlbnRfbmV3X3FvcyksCgkgIChnc3RfZXZlbnRfcGFyc2VfcW9zKSwgKGdzdF9ldmVudF9uZXdfc2VlayksCgkgIChnc3RfZXZlbnRfcGFyc2Vfc2VlayksIChnc3RfZXZlbnRfbmV3X25hdmlnYXRpb24pOgoJICAqIGdzdC9nc3RldmVudC5oOgoJICBNYWtlIEdzdEV2ZW50IHVzZSBHc3RTdHJ1Y3R1cmUuIEFkZCBwYXJzaW5nIGNvZGUsIG1ha2Ugc3VyZSB0aGUKCSAgQVBJIGlzIHN1ZmZpY2llbnRseSBnZW5lcmljLgoJICBNYXJrIHBvc3NpYmxlIGRpcmVjdGlvbnMgb2YgZXZlbnRzIGFuZCBzZXJpYWxpemF0aW9uLgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChnc3RfbWVzc2FnZV9pbml0KSwgKGdzdF9tZXNzYWdlX2ZpbmFsaXplKSwKCSAgKF9nc3RfbWVzc2FnZV9jb3B5KSwgKGdzdF9tZXNzYWdlX25ld19zZWdtZW50X3N0YXJ0KSwKCSAgKGdzdF9tZXNzYWdlX25ld19zZWdtZW50X2RvbmUpLCAoZ3N0X21lc3NhZ2VfbmV3X2N1c3RvbSksCgkgIChnc3RfbWVzc2FnZV9wYXJzZV9zZWdtZW50X3N0YXJ0KSwKCSAgKGdzdF9tZXNzYWdlX3BhcnNlX3NlZ21lbnRfZG9uZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9nc3RwYWQuYzogKGdzdF9wYWRfZ2V0X2NhcHNfdW5sb2NrZWQpLCAoZ3N0X3BhZF9hY2NlcHRfY2FwcyksCgkgIChnc3RfcGFkX3NldF9jYXBzKSwgKGdzdF9wYWRfc2VuZF9ldmVudCk6CgkgIFVwZGF0ZSBmb3IgbmV3IGV2ZW50cy4KCSAgQ2F0Y2ggZXZlbnRzIHNlbnQgaW4gd3JvbmcgZGlyZWN0aW9ucy4KCSAgKiBnc3QvZ3N0cXVldWUuYzogKGdzdF9xdWV1ZV9saW5rX3NyYyksCgkgIChnc3RfcXVldWVfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F1ZXVlX2NoYWluKSwgKGdzdF9xdWV1ZV9sb29wKSwKCSAgKGdzdF9xdWV1ZV9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgRXZlbnQgdXBkYXRlcy4KCSAgKiBnc3QvZ3N0dGFnLmM6CgkgICogZ3N0L2dzdHRhZy5oOgoJICBSZW1vdmUgZXZlbnQgY29kZSBmcm9tIHRoaXMgZmlsZS4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KToKCSAgRXZlbnQgdXBkYXRlcy4KCjIwMDUtMDctMDUgMTA6MjA6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IFBvcnRlZCBkYXRhcHJvdG9sIHRvIDAuOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9NYWtlZmlsZS5hbToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfdmFsaWRhdGVfcGFja2V0KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgICogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZGF0YXByb3RvY29sLXVuaW5zdGFsbGVkLnBjLmluOgoJICAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZGF0YXByb3RvY29sLnBjLmluOgoJICBQb3J0ZWQgZGF0YXByb3RvbCB0byAwLjkuCgkgIEFkZGVkIHBrZ2NvbmZpZyBmaWxlcy4KCjIwMDUtMDUtMTYgMjA6MjE6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ2RwOiByZW1vdmUgR3N0RGF0YSBjaGVja3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY2hlY2svTWFrZWZpbGUuYW06IHJlbW92ZSBHc3REYXRhIGNoZWNrcwoJICAqIGNoZWNrL2dzdC1saWJzL2dkcC5jOiAoU1RBUlRfVEVTVCk6IGZpeCBmb3IgQVBJIGNoYW5nZXMKCSAgKiBnc3QvTWFrZWZpbGUuYW06IGFkZCBtaW5pb2JqZWN0LCByZW1vdmUgZGF0YQoJICAqIGdzdC9nc3QuaDogYWRkIG1pbmlvYmplY3QsIHJlbW92ZSBkYXRhCgkgICogZ3N0L2dzdGRhdGEuYzogcmVtb3ZlCgkgICogZ3N0L2dzdGRhdGEuaDogcmVtb3ZlCgkgICogZ3N0L2dzdGRhdGFfcHJpdmF0ZS5oOiByZW1vdmUKCSAgKiBnc3QvZ3N0dHlwZXMuaDogcmVtb3ZlIEdzdEV2ZW50IGFuZCBHc3RNZXNzYWdlCgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSk6IGZpeCBmb3IgQVBJIGNoYW5nZXMKCSAgKiBnc3QvZ3N0bWFyc2hhbC5saXN0OiBjaGFuZ2UgQk9YRUQgLT4gT0JKRUNUCgkgIEltcGxlbWVudCBHc3RNaW5pT2JqZWN0LgoJICAqIGdzdC9nc3RtaW5pb2JqZWN0LmM6CgkgICogZ3N0L2dzdG1pbmlvYmplY3QuaDoKCSAgTW9kaWZ5IHRvIGJlIHN1YmNsYXNzZXMgb2YgR3N0TWluaU9iamVjdC4KCSAgKiBnc3QvZ3N0YnVmZmVyLmM6IChfZ3N0X2J1ZmZlcl9pbml0aWFsaXplKSwgKGdzdF9idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9idWZmZXJfZmluYWxpemUpLCAoX2dzdF9idWZmZXJfY29weSksCgkgIChnc3RfYnVmZmVyX2luaXQpLCAoZ3N0X2J1ZmZlcl9uZXcpLCAoZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKSwKCSAgKGdzdF9zdWJidWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3N1YmJ1ZmZlcl9pbml0KSwKCSAgKGdzdF9idWZmZXJfY3JlYXRlX3N1YiksIChnc3RfYnVmZmVyX2lzX3NwYW5fZmFzdCksCgkgIChnc3RfYnVmZmVyX3NwYW4pOgoJICAqIGdzdC9nc3RidWZmZXIuaDoKCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKF9nc3RfZXZlbnRfaW5pdGlhbGl6ZSksIChnc3RfZXZlbnRfZ2V0X3R5cGUpLAoJICAoZ3N0X2V2ZW50X2NsYXNzX2luaXQpLCAoZ3N0X2V2ZW50X2luaXQpLCAoZ3N0X2V2ZW50X2ZpbmFsaXplKSwKCSAgKF9nc3RfZXZlbnRfY29weSksIChnc3RfZXZlbnRfbmV3KToKCSAgKiBnc3QvZ3N0ZXZlbnQuaDoKCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoX2dzdF9tZXNzYWdlX2luaXRpYWxpemUpLAoJICAoZ3N0X21lc3NhZ2VfZ2V0X3R5cGUpLCAoZ3N0X21lc3NhZ2VfY2xhc3NfaW5pdCksCgkgIChnc3RfbWVzc2FnZV9pbml0KSwgKGdzdF9tZXNzYWdlX2ZpbmFsaXplKSwgKF9nc3RfbWVzc2FnZV9jb3B5KSwKCSAgKGdzdF9tZXNzYWdlX25ldyksIChnc3RfbWVzc2FnZV9uZXdfZXJyb3IpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3dhcm5pbmcpLCAoZ3N0X21lc3NhZ2VfbmV3X3RhZyksCgkgIChnc3RfbWVzc2FnZV9uZXdfc3RhdGVfY2hhbmdlZCksIChnc3RfbWVzc2FnZV9uZXdfYXBwbGljYXRpb24pOgoJICAqIGdzdC9nc3RtZXNzYWdlLmg6CgkgICogZ3N0L2dzdHByb2JlLmM6IChnc3RfcHJvYmVfcGVyZm9ybSksCgkgIChnc3RfcHJvYmVfZGlzcGF0Y2hlcl9kaXNwYXRjaCk6CgkgICogZ3N0L2dzdHByb2JlLmg6CgkgICogZ3N0L2dzdHF1ZXJ5LmM6IChfZ3N0X3F1ZXJ5X2luaXRpYWxpemUpLCAoZ3N0X3F1ZXJ5X2dldF90eXBlKSwKCSAgKGdzdF9xdWVyeV9jbGFzc19pbml0KSwgKGdzdF9xdWVyeV9maW5hbGl6ZSksIChnc3RfcXVlcnlfaW5pdCksCgkgIChfZ3N0X3F1ZXJ5X2NvcHkpLCAoZ3N0X3F1ZXJ5X25ldyk6CgkgIFVwZGF0ZSBlbGVtZW50cyBmb3IgR3N0RGF0YSAtPiBHc3RNaW5pT2JqZWN0IGNoYW5nZXMKCSAgKiBnc3QvZ3N0cXVlcnkuaDoKCSAgKiBnc3QvZ3N0cXVldWUuYzogKGdzdF9xdWV1ZV9maW5hbGl6ZSksIChnc3RfcXVldWVfbG9ja2VkX2ZsdXNoKSwKCSAgKGdzdF9xdWV1ZV9jaGFpbiksIChnc3RfcXVldWVfbG9vcCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGJ1ZmZlcnN0b3JlLmM6CgkgIChnc3RfYnVmZmVyX3N0b3JlX2FkZF9idWZmZXJfZnVuYyksCgkgIChnc3RfYnVmZmVyX3N0b3JlX2NsZWFyZWRfZnVuYyksIChnc3RfYnVmZmVyX3N0b3JlX2dldF9idWZmZXIpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc2luay5jOiAoZ3N0X2Zha2VzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zha2VzaW5rX3JlbmRlcik6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzcmMuYzogKGdzdF9mYWtlc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmaWxlc3JjLmM6IChnc3RfbW1hcF9idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X21tYXBfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X21tYXBfYnVmZmVyX2luaXQpLAoJICAoZ3N0X21tYXBfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9maWxlc3JjX21hcF9yZWdpb24pLAoJICAoZ3N0X2ZpbGVzcmNfY3JlYXRlX3JlYWQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RpZGVudGl0eS5jOiAoZ3N0X2lkZW50aXR5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0eXBlZmluZGVsZW1lbnQuYzoKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9zcmNfZXZlbnQpLCAoZnJlZV9lbnRyeV9idWZmZXJzKSwKCSAgKGdzdF90eXBlX2ZpbmRfZWxlbWVudF9oYW5kbGVfZXZlbnQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZHAtcHJpdmF0ZS5oOgoKMjAwNS0wNS0wNCAyMToyOTo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ2RwOiBHQ0MgNCBmaXhlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDUtMDQgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL2dzdC90bXBsL2dzdGF0b21pYy5zZ21sOgoJICAqIGRvY3MvZ3N0L3RtcGwvZ3N0cGx1Z2luLnNnbWw6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlc2lua19hY3RpdmF0ZSk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZXNyY19pbml0KSwgKGdzdF9iYXNlc3JjX3NldF9kYXRhZmxvd19mdW5jcyksCgkgIChnc3RfYmFzZXNyY19xdWVyeSksIChnc3RfYmFzZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2Jhc2VzcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9iYXNlc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfYmFzZXNyY19hY3RpdmF0ZSk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5oOgoJICAqIGdzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uYzogKGdzdF9iYXNlX3RyYW5zZm9ybV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9zcmNfYWN0aXZhdGUpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RlbGVtZW50cy5jOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc3JjLmM6IChnc3RfZmFrZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9mYWtlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZmFrZXNyY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lbGVtZW50cy9nc3R0ZWUuYzogKGdzdF90ZWVfc2lua19hY3RpdmF0ZSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOiAoZmluZF9lbGVtZW50X2dldF9sZW5ndGgpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2NoZWNrZ2V0cmFuZ2UpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2FjdGl2YXRlKToKCSAgKiBnc3QvZ3N0YmluLmM6IChnc3RfYmluX3NhdmVfdGh5c2VsZiksIChnc3RfYmluX3Jlc3RvcmVfdGh5c2VsZik6CgkgICogZ3N0L2dzdGNhcHMuYzogKGdzdF9jYXBzX2RvX3NpbXBsaWZ5KSwgKGdzdF9jYXBzX3NhdmVfdGh5c2VsZiksCgkgIChnc3RfY2Fwc19sb2FkX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RlbGVtZW50LmM6IChnc3RfZWxlbWVudF9wYWRzX2FjdGl2YXRlKSwKCSAgKGdzdF9lbGVtZW50X3NhdmVfdGh5c2VsZiksIChnc3RfZWxlbWVudF9yZXN0b3JlX3RoeXNlbGYpOgoJICAqIGdzdC9nc3RwYWQuYzogKGdzdF9wYWRfbG9hZF9hbmRfbGluayksIChnc3RfcGFkX3NhdmVfdGh5c2VsZiksCgkgIChnc3RfZ2hvc3RfcGFkX3NhdmVfdGh5c2VsZiksIChnc3RfcGFkX2NoZWNrX3B1bGxfcmFuZ2UpOgoJICAqIGdzdC9nc3RwYWQuaDoKCSAgKiBnc3QvZ3N0eG1sLmM6IChnc3RfeG1sX3dyaXRlKSwgKGdzdF94bWxfcGFyc2VfZG9jKSwKCSAgKGdzdF94bWxfcGFyc2VfZmlsZSksIChnc3RfeG1sX3BhcnNlX21lbW9yeSksCgkgIChnc3RfeG1sX2dldF9lbGVtZW50KSwgKGdzdF94bWxfbWFrZV9lbGVtZW50KToKCSAgKiBnc3QvaW5kZXhlcnMvZ3N0ZmlsZWluZGV4LmM6IChnc3RfZmlsZV9pbmRleF9sb2FkKSwKCSAgKF9maWxlX2luZGV4X2lkX3NhdmVfeG1sKSwgKGdzdF9maWxlX2luZGV4X2NvbW1pdCk6CgkgICogZ3N0L3JlZ2lzdHJpZXMvZ3N0bGlieG1scmVnaXN0cnkuYzogKHJlYWRfc3RyaW5nKSwgKHJlYWRfdWludCksCgkgIChyZWFkX2VudW0pLCAobG9hZF9wYWRfdGVtcGxhdGUpLCAobG9hZF9mZWF0dXJlKSwgKGxvYWRfcGx1Z2luKSwKCSAgKGxvYWRfcGF0aHMpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksIChnc3RfZHBfY2Fwc19mcm9tX3BhY2tldCk6CgkgICogdG9vbHMvZ3N0LWNvbXBsZXRlLmM6IChtYWluKToKCSAgKiB0b29scy9nc3QtY29tcHByZXAuYzogKG1haW4pOgoJICAqIHRvb2xzL2dzdC1pbnNwZWN0LmM6IChwcmludF9lbGVtZW50X3Byb3BlcnRpZXNfaW5mbyk6CgkgICogdG9vbHMvZ3N0LWxhdW5jaC5jOiAoeG1sbGF1bmNoX3BhcnNlX2NtZGxpbmUpOgoJICAqIHRvb2xzL2dzdC14bWxpbnNwZWN0LmM6IChwcmludF9lbGVtZW50X3Byb3BlcnRpZXMpOgoJICBHQ0MgNCBmaXhlbi4KCjIwMDUtMDMtMjEgMTc6MzQ6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IE5leHQgYmlnIG1lcmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV4dCBiaWcgbWVyZ2UuCgkgIEFkZGVkIEdzdEJ1cyBmb3IgbWFpbmxvb3AgaW50ZWdyYXRpb24uCgkgIEFkZGVkIEdzdE1lc3NhZ2UgZm9yIHNlbmRpbmcgbm90aWZpY2F0aW9ucyBvbiB0aGUgYnVzLgoJICBBZGRlZCBHc3RUYXNrIGFzIGFuIGFic3RyYWN0aW9uIGZvciBwaXBlbGluZSBlbnRyeSBwb2ludHMuCgkgIFJlbW92ZWQgR3N0VGhyZWFkLgoJICBSZW1vdmVkIFNjaGVkdWxlcnMuCgkgIFNpbXBsaWZpZWQgR3N0UXVldWUgZm9yIG11bHRpdGhyZWFkZWQgY29yZS4KCSAgTWFkZSBfbGluayB0aHJlYWRzYWZlLCByZW1vdmVkIG9sZCBjYXBzbmVnby4KCSAgQWRkZWQgU1RSRUFNX0xPQ0sgYW5kIFBSRVJPTExfTE9DSyBpbiBHc3RQYWQuCgkgIEFkZGVkIHBhZCBibG9ja2luZyBmdW5jdGlvbnMuCgkgIFJld29ya2VkIHNjaGVkdWxpbmcgZnVuY3Rpb25zIGluIEdzdFBhZCB0byBwcmVwYXJlIGZvcgoJICBzY2hlZHVsaW5nIHVwZGF0ZXMgc29vbi4KCSAgTW92ZWQgZXZlbnRzIG91dCBvZiBkYXRhIHN0cmVhbS4KCSAgU2ltcGxpZmllZCBHc3RFdmVudCB0eXBlcy4KCSAgQWRkZWQgcmV0dXJuIHZhbHVlcyB0byBwdXNoL3B1bGwuCgkgIFJlbW92ZWQgY2xvY2tpbmcgZnJvbSBHc3RFbGVtZW50LgoJICBBZGRlZCBwcm90b3R5cGVzIGZvciBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gZm9yIG5leHQgbWVyZ2UuCgkgIFJlbW92ZWQgaXRlcmF0ZSBmcm9tIGJpbnMgYW5kIHN0YXRlIGNoYW5nZSBtYW5hZ2VtZW50LgoJICBGaXhlZCBzb21lIGVsZW1lbnRzLCBkaXNhYmxlZCBvdGhlcnMgZm9yIG5vdy4KCSAgRml4ZWQgLWluc3BlY3QgYW5kIC1sYXVuY2guCgkgIEFkZGVkIGNoZWNrIGZvciBHc3RCdXMuCgoyMDA1LTAzLTA3IDE4OjI3OjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGaXJzdCBUSFJFQURFRCBiYWNrcG9ydCBhdHRlbXB0LCBmb2N1c2luZyBvbiBhZGRpbmcgbG9ja3MgYW5kIG1ha2luZyBzdXJlIHRoZSBBUEkgaXMgdGhyZWFkc2FmZS4gTmVlZHMgbW9yZSB3b3JrLiBNb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpcnN0IFRIUkVBREVEIGJhY2twb3J0IGF0dGVtcHQsIGZvY3VzaW5nIG9uIGFkZGluZyBsb2NrcyBhbmQKCSAgbWFraW5nIHN1cmUgdGhlIEFQSSBpcyB0aHJlYWRzYWZlLiBOZWVkcyBtb3JlIHdvcmsuIE1vcmUgZG9jcwoJICBmb2xsb3cgdGhpcyB3ZWVrLgoKMjAwNS0wMi0xOCAxMzo1ODozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdkcDogQWxsb2NhdGUgdGhlIDEgYnl0ZSBtb3JlIG1lbW9yeSB0aGF0IHdhcyBmb3Jnb3R0ZW4hISEhIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wMi0xOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9kdW1wX2J5dGVfYXJyYXkpOgoJICBBbGxvY2F0ZSB0aGUgMSBieXRlIG1vcmUgbWVtb3J5IHRoYXQgd2FzIGZvcmdvdHRlbiEhISEhCgoyMDA0LTEwLTAxIDE2OjQ5OjAxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBGaXggdGhyZWFkc2FmZXR5IG9mIHRoZSBjcmMgY2hlY2tpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9jcmMpOgoJICBGaXggdGhyZWFkc2FmZXR5IG9mIHRoZSBjcmMgY2hlY2tpbmcgZnVuY3Rpb24uCgoyMDA0LTA4LTE2IDEwOjM1OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZml4IGZvciAjMTUwMjQyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZm9yICMxNTAyNDIKCjIwMDQtMDctMjggMTA6MjI6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkb2Mgc3R5bGUgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyBzdHlsZSBmaXhlcwoKMjAwNC0wNi0wOSAxNjoyNDoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBidW1wIEdEUCB0byAwLjEsIGFkZCBidWZmZXIgZmxhZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1bXAgR0RQIHRvIDAuMSwgYWRkIGJ1ZmZlciBmbGFncwoKMjAwNC0wNS0yNCAxNjozODoxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IHdyYXAgaGVhZGVyIGluIF9ORVcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdyYXAgaGVhZGVyIGluIF9ORVcKCjIwMDQtMDUtMTkgMTc6MjI6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOiB1c2UgR1NUIG1hY3JvczsgYWRkIGFzc2VydHMKCjIwMDQtMDUtMTkgMTY6NTk6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogcHJpdmF0ZSBwcm90b3R5cGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHByaXZhdGUgcHJvdG90eXBlCgoyMDA0LTA1LTE5IDE2OjM3OjUzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGFkZCBkYXRhcHJvdG9jb2wKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIGxpYnMgZG9jczsgYWRkIGRhdGFwcm90b2NvbAoKMjAxMS0xMS0xNyAxMjo0ODoyNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTEwIDE4OjMyOjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZXMKCjIwMTEtMDktMjkgMTM6NDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgbmV3IGF1ZGlvIGNhcHMKCjIwMTEtMDctMDggMjA6MDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwYXJzZSBjYXBzIGV2ZW50IGFuZCBwYXlsb2FkIGNhcHMKCSAgV2hpY2ggbWFrZXMgaXQgYWN0dWFsbHkgb3V0cHV0IHN0dWZmLgoKMjAxMS0wNi0xMyAxNjozMjo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiB1cGRhdGUgZm9yIGJ1ZmZlciBBUEkgY2hhbmdlCgoyMDExLTA1LTE2IDEzOjQ4OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogcG9ydCB0byBuZXcgU0VHTUVOVCBBUEkKCjIwMTEtMDUtMDkgMTg6MTY6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBzZWdtZW50OiBmaXggZm9yIG5ldyBjb3JlIEFQSQoJICBGaXggZm9yIGdzdF8qX3NlZ21lbnRfZnVsbCByZW5hbWUuCgoyMDExLTA1LTA5IDEzOjA1OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAtYmFzZTogZG9uJ3QgdXNlIGJ1ZmZlciBjYXBzCgkgIFBvcnQgdG8gbmV3ZXN0IDAuMTEgY29yZSBBUEksIHJlbW92ZSBHU1RfUEFEX0NBUFMgYW5kIEdTVF9CVUZGRVJfQ0FQUy4KCjIwMTEtMDQtMTkgMTE6MzU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3Q6IFVzZSBHX0RFRklORV9UWVBFIGluc3RlYWQgb2YgR1NUX0JPSUxFUlBMQVRFCgoyMDExLTAxLTI3IDE3OjI4OjUxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlCgkgIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6CgkgIGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wMy0zMSAxNzo0Nzo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGJ1ZmZlcmxpc3Q6IGZpeGVzIGZvciBuZXcgQVBJCgoyMDExLTAzLTI4IDE3OjQ2OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTAzLTI4IDE1OjUxOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHJlbWFpbmluZyB1bml0IHRlc3RzCgoyMDExLTAzLTI4IDE0OjEyOjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB3b3JrIG9uIHBvcnRpbmcgdGhlIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjcgMTY6MzU6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHBsdWdpbnM6IHBvcnQgc29tZSBwbHVnaW5zIHRvIHRoZSBuZXcgbWVtb3J5IEFQSQoKMjAxMS0wMi0wOSAxMjo0NToyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBlbnN1cmUgYnVmZmVyJ3MgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgY2FwcwoKMjAxMS0wMS0xNiAxNDo1NTo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IG1ha2UgbmV3c2VnbWVudCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUKCjIwMTAtMDYtMTggMTY6Mzc6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogdXNlIG91ciBvd24gbWFjcm9zIGZvciB0aGUgdGVzdHMgbWFpbiBmdW5jdGlvbgoKMjAxMC0wMy0xNSAyMjo0OTo1MyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncyB0byBjb25maWd1cmUKCSAgRml4ZXMgZm9yIHRoZSBjb2RlIGluY2x1ZGVkCgoyMDEwLTAzLTE2IDE1OjQ1OjIzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoJICBBbHNvIGNoYW5nZSBteSBlbWFpbCBmcm9tIHRoZSBvbGQgdW5pdmVyc2l0eSBvbmUgdG8gdGhlIGN1cnJlbnQgb25lLgoKMjAxMC0wMy0xMSAxMzozMjoxNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byB3YXJuaW5nIGZsYWdzCgkgIEluY2x1ZGVzIGFsbCB0aGUgZml4ZXMgbmVjZXNzYXJ5IHRvIG1ha2Ugc3R1ZmYgY29tcGlsZSBhZ2Fpbi4KCjIwMDktMTEtMDUgMTU6NDI6MDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgZ2RwZGVwYXk6IENsZWFyIGFkYXB0ZXIgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZQoJICBGaXhlcyAjNjAwNDY5CgoyMDA5LTEwLTI4IDAwOjU5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgUmVtb3ZlIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIHRoZXkncmUgcG9pbnRsZXNzCgkgIFRoZXJlJ3Mgbm90IG11Y2ggcG9pbnQgaW4gdXNpbmcgR1NUX0RFQlVHX0ZVTkNQVFIgd2l0aCBHT2JqZWN0CgkgIHZpcnR1YWwgZnVuY3Rpb25zIHN1Y2ggYXMgZ2V0X3Byb3BlcnR5LCBzZXRfcHJvcGVyeSwgZmluYWxpemUgYW5kCgkgIGRpc3Bvc2UsIHNpbmNlIHRoZXknbGwgbmV2ZXIgYmUgdXNlZCBieSBhbnlvbmUgYW55d2F5LiBTYXZlcyBhCgkgIGZldyBieXRlcyBhbmQgcG9zc2libHkgYSBzaXh0ZWVudGggb2YgYSBwb2xhciBiZWFyLgoKMjAwOS0wOS0yMiAxMTo1ODoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBEb24ndCByZXBlYXQgdGFncyBidWZmZXJzIGZvciBldmVyeSBuZXcgc2VnbWVudAoJICBPbmx5IHNlbmQgYSB0YWcgYnVmZmVyIHdoZW4gb25lIGlzIHJlY2VpdmVkLCBub3QgYWZ0ZXIgZXZlcnkgbmV3IHNlZ21lbnQKCSAgZXZlbnQvdXBkYXRlLgoKMjAwOS0wOC0yNyAxODo1OTo0OSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBCdWcgNTkzMDM1IC0gc2V0IElOX0NBUFMgZm9yIHN0cmVhbWhlYWRlciBidWZmZXIKCjIwMDktMDgtMTAgMTU6NDA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBzdHJlYW1oZWFkZXI6IEZpeCBjYXBzIGxlYWsgaW4gdGhlIHZvcmJpc2VuYyB1bml0IHRlc3QKCjIwMDktMDgtMTAgMTQ6MTQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBjaGVja3M6IGZpeCBzdHJlYW0gaGVhZGVyIHVuaXQgdGVzdCBoYW5naW5nIGluIGdzdF90YXNrX2NsZWFudXBfYWxsKCkKCSAgU2V0IHBpcGVsaW5lcyB0byBOVUxMIHN0YXRlIGFuZCB1bnJlZiB3aGVuIGRvbmUuCgoyMDA5LTA1LTI3IDEyOjEwOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzCgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMgYmVjYXVzZSBOVUxMIGNhcHMgY29uZnVzZSBiYXNldHJhbnNmb3JtLgoJICBGaXhlcyAjNTgzODY3CgoyMDA4LTEwLTE2IDE1OjA3OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R5cGVmaW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCjIwMDgtMDctMTAgMjE6MDY6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXIuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3RhZy5jOgoJICAqIGdzdC9hZGRlci9nc3RhZGRlci5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24KCSAgdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlbGluZXMgYXJlICJzaW1wbGUiCgkgIHBpcGVsaW5lcy4KCjIwMDgtMDYtMzAgMDk6NDY6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogRW5hYmxlIHVuaXQgdGVzdHMgb24gUFBDIGFnYWluIGFzIHRoZSBidWdzIGFyZSBub3cgZml4ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRW5hYmxlIHVuaXQgdGVzdHMgb24gUFBDIGFnYWluIGFzIHRoZSBidWdzIGFyZSBub3cgZml4ZWQuCgoyMDA4LTA2LTIwIDA4OjQ1OjEzICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRml4IGEgYnVmZmVyIG1lbWxlYWsgYW5kIHJlbW92ZSBhIGNvbmZ1c2luZyBhbmQgd3JvbmcgZGVidWcgb3V0cHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldCk6CgkgIEZpeCBhIGJ1ZmZlciBtZW1sZWFrIGFuZCByZW1vdmUgYSBjb25mdXNpbmcgYW5kIHdyb25nIGRlYnVnIG91dHB1dC4KCSAgRml4ZXMgYnVnICM1Mzg2NjMuCgoyMDA4LTA2LTA0IDE2OjAwOjI2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogRG8gbm90IHRyeSB0byBydW4gYSB0ZXN0IHdoaWNoIHJlcXVpcmVzIHZvcmJpc2VuYyB1bmxlc3Mgd2UgaGF2ZSBhY3R1YWxseSBidWlsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChidWZmZXJfcHJvYmVfY2IpLAoJICAodGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKSwgKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIERvIG5vdCB0cnkgdG8gcnVuIGEgdGVzdCB3aGljaCByZXF1aXJlcyB2b3JiaXNlbmMgdW5sZXNzIHdlIGhhdmUKCSAgYWN0dWFsbHkgYnVpbHQgaXQuCgoyMDA4LTA2LTA0IDA1OjU4OjM4ICswMDAwICBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDBAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRG9uJ3Qgc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgdGhhdCBjb250YWluIGEgY29weSBvZiB0aGUgYnVmZmVyIGluY2x1ZGluZyB0aGUgY2FwcyBvZiB0aGVtIHJlc3VsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIERvbid0IHNldCBjYXBzIG9uIHRoZSBidWZmZXJzIHRoYXQgY29udGFpbiBhIGNvcHkgb2YgdGhlIGJ1ZmZlcgoJICBpbmNsdWRpbmcgdGhlIGNhcHMgb2YgdGhlbSByZXN1bHRpbmcgaW4gYW4gYWx3YXlzIGluY3JlYXNpbmcgcmVmY291bnQKCSAgb2YgdGhlIGNhcHMgYW5kIGluc2FuZWx5IGxhcmdlIGNhcHMuIEluc3RlYWQgaW5jbHVkZSBhIGJ1ZmZlciB3aXRob3V0CgkgIGNhcHMgaW4gdGhlIG5ldyBjYXBzLiBGaXhlcyBidWcgIzUzNjQ3NS4KCjIwMDgtMDUtMjIgMjI6MDk6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBjb21tZW50cywgYW5kIHNvbWUgbmV3IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3AuaDoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBjb21tZW50cywgYW5kIHNvbWUgbmV3IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4KCSAgUmVuYW1lIHNvbWUgaW50ZXJuYWwgZW51bSBkZWNsYXJhdGlvbnMgKGF1ZGlvY29udmVydCdzIERpdGhlclR5cGUgYW5kCgkgIE5vaXNlU2hhcGluZ1R5cGUsIEdzdFVuaXRUeXBlIGZyb20gdGhlIFRDUCBlbGVtZW50cykgdG8gbWF0Y2ggdGhlCgkgIGRvY3VtZW50ZWQgR09iamVjdCB0eXBlIG5hbWVzIHNvIHRoYXQgdGhlIGRvY3MgcGljayB0aGVtIHVwLgoJICBOYW1lIHRoZSBwbGF5YmluMiBkb2NzIG1hcmt1cHMgcHJvcGVybHkgc28gdGhleSBnZXQgcGlja2VkIHVwLiBUaGV5J2xsCgkgIG5lZWQgcmVuYW1pbmcgYmFjayB3aGVuL2lmIHBsYXliaW4yIGJlY29tZXMgcGxheWJpbi4KCSAgMTAwJSBzeW1ib2wgY292ZXJhZ2UgZm9yIHRoZSBwbHVnaW4gZG9jcywgYm9veWEuCgoyMDA4LTA1LTIxIDE2OjM2OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIGJhZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzogKGdzdF9vZ2dfcGFkX3R5cGVmaW5kKToKCSAgKiBnc3QvcGxheWJhY2svZGVjb2RldGVzdC5jOiAobmV3X2RlY29kZWRfcGFkX2NiKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6IChnc3RfZGVjb2RlX2Jpbl9pbml0KSwKCSAgKHRyeV90b19saW5rXzEpLCAoZWxlbV9pc19keW5hbWljKSwgKGNsb3NlX2xpbmspLCAodHlwZV9mb3VuZCksCgkgIChjbGVhbnVwX2RlY29kZWJpbik6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2luaXQpLAoJICAoY29ubmVjdF9lbGVtZW50KSwgKGdzdF9kZWNvZGVfZ3JvdXBfY29udHJvbF9kZW11eGVyX3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9yZW1vdmVfcHJvYmUpLAoJICAocXVldWVfb3V0X29mX2RhdGEpLCAoZ2VuX3ByZXJvbGxfZWxlbWVudCksIChwcmVyb2xsX3VubGlua2VkKSwKCSAgKG11dGVfZ3JvdXBfdHlwZSk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl92aXNfYmxvY2tlZCksCgkgIChnc3RfcGxheV9iaW5fc2V0X3Byb3BlcnR5KSwgKGhhbmRvZmYpLCAoZ2VuX3ZpZGVvX2VsZW1lbnQpLAoJICAoZ2VuX3RleHRfZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCksIChnZW5fdmlzX2VsZW1lbnQpLAoJICAocmVtb3ZlX3NpbmtzKSwgKGFkZF9zaW5rKSwgKHNldHVwX3NpbmtzKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKHBhZF9hZGRlZF9jYiksIChub19tb3JlX3BhZHNfY2IpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19nZXRfdmlkZW9fc2luayksCgkgIChnc3RfcGxheV9zaW5rX2dldF9hdWRpb19zaW5rKSwgKGdzdF9wbGF5X3NpbmtfdmlzX3VuYmxvY2tlZCksCgkgIChnc3RfcGxheV9zaW5rX3Zpc19ibG9ja2VkKSwgKGdzdF9wbGF5X3Npbmtfc2V0X3Zpc19wbHVnaW4pLAoJICAoZ3N0X3BsYXlfc2lua19nZXRfdmlzX3BsdWdpbiksIChnc3RfcGxheV9zaW5rX3NldF9tdXRlKSwKCSAgKGdlbl92aWRlb19jaGFpbiksIChnZW5fdGV4dF9jaGFpbiksIChnZW5fYXVkaW9fY2hhaW4pLAoJICAoZ2VuX3Zpc19jaGFpbiksIChnc3RfcGxheV9zaW5rX3JlY29uZmlndXJlKSwKCSAgKGdzdF9wbGF5X3Npbmtfc2V0X2ZvbnRfZGVzYyksIChnc3RfcGxheV9zaW5rX2dldF9mb250X2Rlc2MpLAoJICAoZ3N0X3BsYXlfc2lua19yZXF1ZXN0X3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAodHlwZV9mb3VuZCksIChzZXR1cF9zb3VyY2UpOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCksCgkgIChjYl9uZXdwYWQpOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0Ni5jOiAobmV3X2RlY29kZWRfcGFkX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3JhdGUuYzogKHRlc3RfaW5qZWN0b3JfY2hhaW4pLAoJICAoZG9fcGVyZmVjdF9zdHJlYW1fdGVzdCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZmZtcGVnY29sb3JzcGFjZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKG5vdGdzdF9jaGVja19zZXR1cF9zcmNfcGFkMiksIChub3Rnc3RfY2hlY2tfdGVhcmRvd25fc3JjX3BhZDIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6ICh0ZXN0X3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzogKG1ha2Vfd2F2X3BpcGVsaW5lKToKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKG1ha2VfbW9kX3BpcGVsaW5lKSwKCSAgKG1ha2VfZHZfcGlwZWxpbmUpLCAobWFrZV93YXZfcGlwZWxpbmUpLCAobWFrZV9mbGFjX3BpcGVsaW5lKSwKCSAgKG1ha2Vfc2lkX3BpcGVsaW5lKSwgKG1ha2VfcGFyc2VfcGlwZWxpbmUpLCAobWFrZV92b3JiaXNfcGlwZWxpbmUpLAoJICAobWFrZV90aGVvcmFfcGlwZWxpbmUpLCAobWFrZV92b3JiaXNfdGhlb3JhX3BpcGVsaW5lKSwKCSAgKG1ha2VfYXZpX21zbXBlZzR2M19tcDNfcGlwZWxpbmUpLCAobWFrZV9tcDNfcGlwZWxpbmUpLAoJICAobWFrZV9hdmlfcGlwZWxpbmUpLCAobWFrZV9tcGVnX3BpcGVsaW5lKSwgKG1ha2VfbXBlZ250X3BpcGVsaW5lKSwKCSAgKHVwZGF0ZV9maWxsKSwgKG1zZ19idWZmZXJpbmcpOgoJICBEb24ndCB1c2UgYmFkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjEgMDY6NDU6MjIgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBDbG9zZSBhIGJ1ZmZlciBtZW1vcnkgbGVhay4gRml4ZXMgYnVnICM1MzQwNzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgQ2xvc2UgYSBidWZmZXIgbWVtb3J5IGxlYWsuIEZpeGVzIGJ1ZyAjNTM0MDcxLgoKMjAwOC0wNC0xOCAxNDo1NDowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRG9uJ3QgdmFsaWRhdGUgdGhlIHBheWxvYWQgaWYgdGhlcmUgaXNuJ3QgYW55LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRG9uJ3QgdmFsaWRhdGUgdGhlIHBheWxvYWQgaWYgdGhlcmUgaXNuJ3QgYW55LgoJICBGaXhlcyAjNTI1OTE1CgoyMDA4LTAzLTI3IDE1OjI2OjM4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENoZWNrIHRoZSBib2R5IENSQyAoaWYgc2V0KSB3aGVuIGRlcGF5bG9hZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENoZWNrIHRoZSBib2R5IENSQyAoaWYgc2V0KSB3aGVuIGRlcGF5bG9hZGluZy4KCSAgRml4ZXMgIzUyMjQwMS4KCjIwMDgtMDMtMjMgMTM6MTI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBNYWtlIHRlc3QgY29tcGlsZSB3aXRob3V0IHVudXNlZCBmdW5jdGlvbi92YXJpYWJsZSB3YXJuaW5ncyBvbiBQUEMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIE1ha2UgdGVzdCBjb21waWxlIHdpdGhvdXQgdW51c2VkIGZ1bmN0aW9uL3ZhcmlhYmxlIHdhcm5pbmdzIG9uIFBQQy4KCjIwMDgtMDMtMjIgMTU6MDA6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAoZ3N0X2Fsc2FfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoZ3N0X2Fsc2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKGdzdF9hbHNhc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKGdzdF9jZF9wYXJhbm9pYV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZV92ZnNfc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZV92ZnNfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzogKGdzdF90aGVvcmFfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzogKGdzdF90aGVvcmFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zcmMuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X21peGVyX3RyYWNrX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgIChnc3RfYmFzZXJ0cHBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6IChnc3RfYXVkaW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAoZ3N0X2F1ZGlvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChnc3RfcGxheV9iYXNlX2Jpbl9jbGFzc19pbml0KSwKCSAgKHByZXJvbGxfdW5saW5rZWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzogKGdzdF9xdWV1ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAoZ3N0X3VyaV9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOiAoZ3N0X3ZpZGVvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOiAoZ3N0X3Y0bG1qcGVnc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6IChnc3RfdjRsbWpwZWdzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZQoJICBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHVzYWdlLAoJICBmZXdlciBhbGxvY2F0aW9ucyBhbmQgdGh1cyBsZXNzIG1lbW9yeSBkZWZyYWdtZW50YXRpb24uIERlcGVuZAoJICBvbiBjb3JlIENWUyBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MjM4MDYuCgoyMDA4LTAzLTAzIDA2OjA0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suYzogKGdzdF9hbHNhX21peGVyX3RyYWNrX2dldF90eXBlKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby5jOgoJICAqIGdzdC1saWJzL2dzdC9mZnQva2lzc19mZnRfZjY0LmM6IChraXNzX2ZmdF9mNjRfYWxsb2MpOgoJICAqIGdzdC1saWJzL2dzdC9wYnV0aWxzL21pc3NpbmctcGx1Z2lucy5jOgoJICAoZ3N0X21pc3NpbmdfdXJpX3NpbmtfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19kZWNvZGVyX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VuY29kZXJfbWVzc2FnZV9uZXcpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdHJ0Y3BidWZmZXIuYzoKCSAgKGdzdF9ydGNwX3BhY2tldF9ieWVfZ2V0X3JlYXNvbik6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19nZXRfYW55X2NhcHMpOgoJICAqIHN5cy92NGwvdjRsX2NhbGxzLmM6CgkgICogc3lzL3Y0bC92NGxzcmNfY2FsbHMuYzogKGdzdF92NGxzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGxzcmNfdHJ5X2NhcHR1cmUpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeGltYWdlc2lua194aW1hZ2VfbmV3KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChzZXR1cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlY29kZWJpbi5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOiAoc2V0dXBfZ25vbWV2ZnNzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoc2V0dXBfbXVsdGlmZHNpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChzZXR1cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoc2V0dXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKHNldHVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvY2xvY2stc2VsZWN0aW9uLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKHNldHVwKSwgKHRlYXJkb3duKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy92aWRlby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKHF1ZXJ5X3Bvc2l0aW9uc19lbGVtcyksCgkgIChxdWVyeV9wb3NpdGlvbnNfcGFkcyk6CgkgICogdGVzdHMvaWNsZXMvc3RyZXNzLXhvdmVybGF5LmM6IChteWNsb2NrKToKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkCgkgIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJ0cC5kZWY6CgkgIEFkZCBnc3RfcnRwX2J1ZmZlcl9zZXRfZXh0ZW5zaW9uX2RhdGEgdG8gdGhlIHN5bWJvbCBkZWZpbml0aW9uIGZpbGUuCgoyMDA3LTA2LTE0IDE5OjUzOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiBEaXNhYmxlIHRlc3RfbXVsdGlmZHNpbmtfZ2RwX3ZvcmJpc2VuYygpIG9uIHBwYzY0IHNpbmNlIGl0IGZhaWxzIG9uIHRoZSBwNS1wcGM2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIERpc2FibGUgdGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKCkgb24gcHBjNjQgc2luY2UgaXQKCSAgZmFpbHMgb24gdGhlIHA1LXBwYzY0IGJ1aWxkIGJvdCBhbmQgdGhlIGZhaWx1cmUgbG9va3MgbGlrZSBpdCBpcyBkdWUKCSAgdG8gdGhlIHNhbWUgaXNzdWUgYXMgIzM0ODExNCwgaWUuIGEgY29tcGlsZXIgYnVnLgoKMjAwNy0wNC0xNCAxMjozNDo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9jaGFpbik6IHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9jaGFpbik6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBidWZmZXJfcHJvYmVfY2IsIEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGEgYnVnIHdoZXJlIHNlcmlhbGl6ZWQgSU5fQ0FQUyBidWZmZXJzIG5lZWRlZCB0byBiZSBzZXQgSU5fQ0FQUy4KCjIwMDctMDQtMTMgMjE6NTU6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIEdTVF9TVEFSVF9URVNULCBuX2luX2NhcHMsIGJ1ZmZlcl9wcm9iZV9jYiwgR1NUX1NUQVJUX1RFU1QsCgkgIHN0cmVhbWhlYWRlcl9zdWl0ZSk6CgkgIEFkZCBhbm90aGVyIHRlc3Qgc2V0IHVwIGZvciBmYWlsdXJlCgoyMDA3LTA0LTEzIDIxOjA5OjA0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgZGVidWcgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGVidWcgY2hhbmdlcwoKMjAwNy0wNC0xMyAyMTowODoxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jIChuX3RhZ3MsIHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jIChuX3RhZ3MsIHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIHN0cmVhbWhlYWRlcl9zdWl0ZSwgbWFpbik6CgkgIEFkZCBhIHRlc3QgZm9yIHRoZSBzdHJlYW1oZWFkZXIgYnVnIFdpbSBmaXhlZC4KCjIwMDctMDQtMTIgMTA6MDM6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBNYWtlIHN1cmUgd2Ugc2V0IHRoZSBJTl9DQVBTIGZsYWcgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIElOX0NBUFMgZmxhZyBjb3JyZWN0bHkuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfcmVuZGVyKToKCSAgR2V0IHRoZSBJTl9DQVBTIGZsYWcgYmVmb3JlIHdlIGNhbGwgZnVuY3Rpb25zIHRoYXQgbWVzcyB3aXRoIHRoZSBmbGFncy4KCjIwMDctMDQtMTAgMjA6Mzc6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyLCBnc3RfZ2RwX3BheV9jaGFpbiwgZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciwKCSAgZ3N0X2dkcF9wYXlfY2hhaW4sIGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpOgoJICBPbmx5IHN0YW1wIGJ1ZmZlcnMgd2l0aCBvZmZzZXQvb2Zmc2V0X2VuZCByaWdodCBiZWZvcmUgdGhleSBnZXQKCSAgcHVzaGVkLiAgVGhpcyBlbnN1cmVzIG9mZnNldCBjb250aW51aXR5LCB3aGljaCB3YXMgbm90IHRoZSBjYXNlCgkgIGJlZm9yZSBhcyBzaG93biBieQoJICBnc3QtbGF1bmNoIC12IC1tIGF1ZGlvdGVzdHNyYyBudW0tYnVmZmVycz0xMCAhIGF1ZGlvY29udmVydCAhIHZvcmJpc2VuYyAhIGdkcHBheSAhIGlkZW50aXR5IGNoZWNrLWltcGVyZmVjdC1vZmZzZXQ9VFJVRSAhIGZha2VzaW5rIHNpbGVudD1UUlVFCgoyMDA3LTA0LTEwIDIwOjI1OjA2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkaW5nIGRlYnVnZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGRlYnVnZ2luZwoKMjAwNy0wMy0xNCAxNTowNTozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIGFkZCBidWZmZXIgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGJ1ZmZlciBsb2dnaW5nCgoyMDA2LTEyLTIyIDEyOjEwOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEZpeCB0aGUgZHAgdGVzdHMsIGJ1dCBhY3RpdmF0aW5nIHRoZSBwYWRzIGZvciB0aGUgc3RyZWFtaGVhZGVyIHRlc3RzIHRvbyBhbmQgY2xlYW5pbmcgdXAgY29uZGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGNsZWFudXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKGNsZWFudXBfZ2RwcGF5KSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICBGaXggdGhlIGRwIHRlc3RzLCBidXQgYWN0aXZhdGluZyB0aGUgcGFkcyBmb3IgdGhlIHN0cmVhbWhlYWRlciB0ZXN0cwoJICB0b28gYW5kIGNsZWFuaW5nIHVwIGNvbmRpdGlvbmFseQoKMjAwNi0xMi0yMSAwODoxMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoY2xlYW51cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYzogKHRlYXJkb3duX3N1YnBhcnNlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOiAoY2xlYW51cF90ZXh0b3ZlcmxheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChjbGVhbnVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjbGVhbnVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChjbGVhbnVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpLAoJICAoY2xlYW51cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOiAoc2V0dXBfdm9yYmlzdGFnKSwKCSAgKGNsZWFudXBfdm9yYmlzdGFnKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMDktMjEgMDU6MzE6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IFNvbWUgbW9yZSBjb21waWxhdGlvbiBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2F1ZGlvLmM6CgkgIFNvbWUgbW9yZSBjb21waWxhdGlvbiBmaXhlcy4KCjIwMDYtMDktMjAgMTc6MDQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IEZpeCBzb21lIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKGVvc19idWZmZXJfcHJvYmUpOgoJICBGaXggc29tZSB3YXJuaW5ncy4KCjIwMDYtMDgtMjUgMTY6MTk6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIG1pc2xlYWRpbmcgZGVidWcgbWVzc2FnZXMsIGFkZCBhIGNvdXBsZSBvZiBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbik6CgkgIEZpeCBtZW1vcnkgbGVha3MgYW5kIG1pc2xlYWRpbmcgZGVidWcgbWVzc2FnZXMsIGFkZCBhIGNvdXBsZSBvZgoJICBjb21tZW50cy4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19nZXRfc3RhdHMpLAoJICAoZ3N0X211bHRpX2ZkX3NpbmtfcmVuZGVyKToKCSAgRG8gbm90IHVzZSBnc3RfYnVmZmVyX21ha2Vfd3JpdGFibGUoKSBpbiBhIGJhc2VzaW5rIHJlbmRlciBtZXRob2QsCgkgIGFzIGl0IG1heSBpbmNvcnJlY3RseSB1bnJlZiB0aGUgYnVmZmVyLiBJbnN0ZWFkLCB1c2UgY29udm9sdXRlZAoJICBkYW5jZSB0byBhdm9pZCBjb3B5aW5nIHRoZSBidWZmZXIgZXhjZXB0IHdoZW4gd2UgbmVlZCB0by4KCjIwMDYtMDgtMjEgMTk6MDQ6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9SRUFETUU6CgkgIGFkZGluZyBhIFJFQURNRQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkaW5nIGEgUkVBRE1FCgoyMDA2LTA4LTIxIDE5OjAxOjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgR0RQIHBsdWdpbiB0byAtYmFzZSBmcm9tIC1iYWQuIENsb3NlcyAjMzQ3NzgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE1vdmUgR0RQIHBsdWdpbiB0byAtYmFzZSBmcm9tIC1iYWQuICBDbG9zZXMgIzM0Nzc4My4KCjIwMDYtMDgtMDggMTM6NTc6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE5vdyBpbmNsdWRlcyAiY29uZmlnLmgiCgoyMDA2LTA4LTA4IDEzOjQ1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoKMjAwNi0wOC0wNCAxMzoyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuIEZpeGVzICMzNDk5MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCjIwMDYtMDgtMDIgMTY6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERpc2FibGUgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfZGVwYXlfc3JjX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIFNtYWxsIGNsZWFudXBzLgoJICBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBDbGVhciBjYXBzIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX3BheV9maW5hbGl6ZSksIChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc3JjX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgUmVzZXQgcGF5bG9hZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIEZpeCBsZWFrZWQgYnVmZmVycyBpbiAtPnF1ZXVlIG9uIHB1c2ggZXJyb3JzLgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIENvZGUgY2xlYW51cHMuCgkgIENyZWF0ZSBwYWNrZXRpemVyIGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCjIwMDYtMDctMzEgMDg6NDg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20gdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbQoJICB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIzM0OTIwNAoKMjAwNi0wNy0yNiAxMDo1MjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseSBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KToKCSAgcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5CgkgIGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudGFsbHkKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICByZW1vdmUgZGVjbGFyYXRpb24gb2YgYnVmZmVycywgaXQncyBhbHJlYWR5IGRvbmUgaW4gZ3N0Y2hlY2suaAoKMjAwNi0wNy0xNyAxNDoxNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMgZml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDYtMDctMTQgMTA6MzQ6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoKMjAwNi0wNy0xMyAxNToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgZml4IHNlZ2ZhdWx0cyBkdWUgdG8gd3JvbmcgZ19mcmVlCgkgIGFkZCBleGFtcGxlCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIGV4YW1wbGUKCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA2LTA2IDE2OjI2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCjIwMDYtMDYtMDYgMTQ6Mzk6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBhZGQgdmVyc2lvbiAxLjAKCjIwMDYtMDYtMDIgMTY6NDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBzbWFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgZml4ZXMKCjIwMDYtMDYtMDIgMTA6Mjg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpOgoJICBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcwoJICBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdkcHBheV9zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBjcmMKCjIwMDYtMDYtMDEgMjI6MDA6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0yMiAxNTo1MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9wYXlfY2hhaW4pLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zCgkgIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgY2xlYW4gdXAgbW9yZQoKMjAwNi0wNS0yMiAxMzoyNTo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuIEJ1aWxkIGludGVncmF0aW9uIHdpbGwgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfZ2RwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfZGlzcG9zZSksIChnc3RfZ2RwX3N0YW1wX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9nZHBfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KSwgKGdkcGRlcGF5X3B1c2hfcGVyX2J5dGUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcGRlcGF5X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwcGF5X3N1aXRlKSwKCSAgKG1haW4pOgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsCgkgIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoKMjAxMi0wOS0xMCAyMDozODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IE1pc2MgZml4IGZvciAwLjExCgkgIENvbnZlcnQgdGhlIGluY29taW5nIGNhcHMgYmVmb3JlIHByb3h5aW5nIHRoZW0KCSAgQ2xlYXIgdGhlIGxhc3RfcGFkIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgdGVzdHM6IEltcGxlbWVudCBhY2NlcHRfY2FwcywgZG9uJ3QgbGVhayBldmVudAoKMjAxMi0wOS0xMCAxNjoxMjozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LW1hcnNoYWwubGlzdDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogVXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxMi0wOS0xMCAxNjowOToyNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC1tYXJzaGFsLmxpc3Q6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5oMjY0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X2pwZy5qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLm1qcGc6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi5oMjY0OgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIubWpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLnl1eTI6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2Jvb2xlYW5fcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvZW51bV9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9lbnVtX3Byb3BlcnR5X2d0azIuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvaW50X3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgVVZDIEgyNjQgcGx1Z2luCgoyMDEyLTA5LTA5IDIzOjUyOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBvcGVuY3Y6IGRpc2FibGUgbW90aW9uY2VsbHMgImRhdGUiIHByb3BlcnR5IGZvciBub3cKCSAgU2hvdWxkbid0IGJlIG9mIHR5cGUgbG9uZy4gTm90IHN1cmUgaXQncyB1c2VmdWwgYXQgYWxsLCBzbwoJICBqdXN0IGRpc2FibGUgaXQgZm9yIG5vdyB0byBzZWUgaWYgc29tZW9uZSBtaXNzZXMgaXQuCgoyMDEyLTA5LTA5IDE0OjM1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBub24tZXhpc3RhbnQgaGxzc2luayBwbHVnaW4gZnJvbSBOT05QT1JURUQgbGlzdAoKMjAxMi0wOS0wOCAxNjowODoyMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBGaXggbWVtb3J5IGxlYWsKCjIwMTItMDktMDggMTU6NTc6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBmaXggbGVha3MgaW4gYXVkaW9zcmMvc2luawoKMjAxMi0wOS0wOCAxNzowMzozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IG92ZXJyaWRlIHVwc3RyZWFtIGZyYW1lcmF0ZSBhbmQgUEFSCgkgIElmIHVwc3RyZWFtIHByb3ZpZGVkIHNvbWUsIHRoZXJlJ3MgYSBnb29kIGNoYW5jZSB0aGV5IGFyZSB0aGUgb25lcyB0byB1c2UKCjIwMTItMDktMDggMTQ6NDM6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSAgaGxzOiBkaXNhYmxlIGhsc3NpbmsgYnV0IGRvIGJ1aWxkIGhsc2RlbXV4CgoyMDEyLTA5LTA4IDE0OjMxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJjb25maWd1cmUuYWM6IFByb3Blcmx5IGRpc2FibGUgSExTIHBsdWdpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYWQzNDQ1YTI1ZjMxYmMwZDAxNjdhNGY0MTM3OTFiZWE4MDA2NzgzLgoJICBUaGlzIGRpc2FibGVkIGhsc2RlbXV4IGFzIHdlbGwKCjIwMTItMDktMDggMTQ6MDU6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFByb3Blcmx5IGRpc2FibGUgSExTIHBsdWdpbgoKMjAxMi0wOS0wNyAxNjowODo1NyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBBZGQgbWlzc2luZyBHU1RfUExVR0lOU19CQVNFX0NGTEFHUwoKMjAxMi0wOS0wNyAxNjowNzo0MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJICBobHNzaW5rOiBBZGQgc2VnbWVudCB0YXJnZXQtZHVyYXRpb24gcHJvcGVydHkKCSAgVGhpcyBwcm9wZXJ0eSBjYXVzZXMgaGxzc2luayB0byBwdXNoIGEgZm9yY2Uga2V5IHVuaXQgZXZlbnQgdXBzdHJlYW0KCSAgZXZlcnkgdGFyZ2V0LWR1cmF0aW9uIHNlY29uZHMuIFRoaXMgaXMgZm9yIHNpbXBsZSBhdXRvbWF0aWMgc2VnbWVudGluZy4KCSAgVG8gZGlzYWJsZSBpdCwgc2V0IHRoZSBwcm9wZXJ0eSB0byAwIGFuZCBwdXNoIHRoZSBmb3JjZSBrZXkgdW5pdCBldmVudAoJICBtYW51YWxseS4KCjIwMTEtMDgtMjEgMTE6MDA6NTEgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IGFkZCBobHNzaW5rIGVsZW1lbnQKCjIwMTItMDktMDYgMDE6NTM6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGNvcnJlY3QgdmFyaWFibGUgd2hlbiBoYW5kbGluZyBwYWQgcHJvYmUgYnVmZmVycwoJICBQYWQgcHJvYmUgZGF0YSBpcyBpbiB0aGUgR3N0UGFkUHJvYmVJbmZvLCBub3QgaW4gdGhlIHVzZXIgZGF0YQoJICBwYXJhbWV0ZXIuCgoyMDEyLTA5LTAzIDE5OjI1OjUyICswMTAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgbXl0aHR2OiB1cGRhdGUgZm9yIGR1cmF0aW9uIG1lc3NhZ2UgQVBJIGNoYW5nZQoKMjAxMi0wOS0wMyAxNDoyMToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCBpbnRlcmxhY2VfY29kaW5nIGJhc2VkIG9uIGlucHV0IGNhcHMKCSAgYW5kIHJlbW92ZSBwcm9wZXJ0eS4KCjIwMTItMDktMDMgMTQ6MDQ6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBjb25maWd1cmUgcHJvZmlsZS9sZXZlbCBmcm9tIGFsbG93ZWQgZG93bnN0cmVhbSBjYXBzIGluc3RlYWQgb2YgcHJvcGVydGllcwoJICBUaGlzIGlzIGhvdyBpdCdzIGRvbmUgZWxzZXdoZXJlIGFuZCB3b3JrcyBiZXR0ZXIgd2l0aCBlbmNvZGViaW4uCgkgIFJlbW92ZXMgImZvcmNlLXByb2ZpbGUiIHByb3BlcnR5LCByZWFkLW9ubHkgInByb2ZpbGUiIHByb3BlcnR5IGFuZAoJICAibGV2ZWwiIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNjA4CgoyMDEyLTA5LTAzIDEzOjU4OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IGZpeCBtYWluIHByb2ZpbGUgbWFwcGluZwoKMjAxMi0wOS0wMyAxMzowNDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHByZXR0aWZ5IGVudW0gcHJvcGVydHkgbmlja3MKCSAgVXNlICctJyBpbnN0ZWFkIG9mICdfJyBhcyB3b3JkIHNlcGFyYXRvci4KCjIwMTItMDktMDMgMTI6NDE6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogY2hhbmdlICJpbnRlcmxhY2VkIiBib29sZWFuIGluIGNhcHMgdG8gImludGVybGFjZS1tb2RlIgoJICBOb3Qgc3RyaWN0bHkgbmVlZGVkLCBidXQgbGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggdGhlIHJhdwoJICB2aWRlbyB3YXkgb2YgZG9pbmcgdGhpbmdzLgoKMjAxMi0wOS0wMyAxMjozMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiB1c2Ugc3RyaW5ncyBmb3IgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBGb3IgY29uc2lzdGVuY3kgd2l0aCBtb3N0IG90aGVyIGZvcm1hdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MzYKCjIwMTItMDktMDIgMTI6MzY6MzcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTm8gbmVlZCB0byBkZWZpbmUgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNzUKCjIwMTItMDktMDIgMDM6NTU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGV4dHJhY3QgeWVhciB0byB3cml0ZSBpbnRvIElEM3YxIHRhZyBmcm9tIEdTVF9UQUdfREFURV9USU1FIG5vdCBHU1RfVEFHX0RBVEUKCjIwMTItMDktMDEgMjE6NDY6MTkgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNldCAwIGR1cmF0aW9uIHdoZW4gdm9wX2NvZGVkIGlzIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE2OQoKMjAxMi0wOS0wMiAwMTo0MjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb24gLT4gZ3N0X21lc3NhZ2VfbmV3X2R1cmF0aW9uX2NoYW5nZWQKCjIwMTItMDktMDEgMDk6MTI6NTEgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogSGFuZGxlIGNhcHMgcXVlcnkgb24gaW50ZXJuYWwgc3JjcGFkCgkgIFJlcGx5IHdpdGggQU5ZIGNhcHMgdG8gZW5zdXJlIGxpbmtpbmcgdGhlIGludGVybmFsIHNyYyBwYWQuIFRoaXMKCSAgbWlnaHQgbmVlZCBtb3JlIGF0dGVudGlvbiBsYXRlciwgdG8gcmVwbHkgd2l0aCB0aGUgcmVhbCB1cHN0cmVhbSBjYXBzCgkgIGZvciB0aGUgY3VycmVudGx5IGFjdGl2ZSBlbGVtZW50LgoKMjAxMi0wOC0zMSAxNToyODoyOSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZC9tcGVnZGVtdXg6IFNlbmQgYm90aCBQVFMgYW5kIERUUyBkb3duc3RyZWFtCgkgIE5vdyB0aGF0IHdlIGNhbi4KCjIwMTItMDktMDIgMDA6MDQ6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGRvbid0IGxlYWsgYnVmZmVyIGluIGNhc2Ugb2YgYW4gaW5pdCBlcnJvcgoKMjAxMi0wOS0wMiAwMDozNDozOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTc1CgoyMDEyLTA4LTMxIDE0OjEzOjU4IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBQbHVnIGEgdmlkZW8gcGFyc2VyIGluIGZyb250IG9mIGRlY29kZXIKCSAgU2VlbXMgdG8gbWFrZSBwbGF5YmFjayBib3RoIGJldHRlciBhbmQgd29yc2UuIFRoZSBwYXJzZXIgbmVlZHMgc29tZQoJICBmaXhpbmcsIGl0IHNlZW1zIDotLwoKMjAxMi0wOC0zMSAxMjozMTo0OCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBNYWtlIEdBUCBldmVudCBhd2FyZQoKMjAxMi0wOC0zMSAwODo0Njo0NSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuaDoKCSAgcmVzaW5kdmQ6IEFkZCBzb21lIEdBUCBldmVudCBzdHVmZiB0byBtYWtlIHN0aWxsLWZyYW1lcyBzdGFydCB0byB3b3JrCgkgIEFuZCByZW1vdmUgdGhlIGRlYWQgYXVkaW9tdW5nZSBlbGVtZW50LiBJdCBpc24ndCBuZWVkZWQgbm93LCB3ZSBqdXN0CgkgIHNlbmQgR0FQIGV2ZW50cwoKMjAxMi0wNi0wOSAyMjozNjowNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25pbnB1dHNlbGVjdG9yLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgcmVzaW5kdmQ6IEluaXRpYWwgcGFydGlhbCBwb3J0IHRvIDAuMTEKCjIwMTItMDgtMzAgMTg6Mzk6NTAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgZHJvcCB1cHN0cmVhbSBldmVudHMgZHVlIHRvIHNpbGx5IHR5cG8KCjIwMTItMDgtMzAgMTc6NTE6NTAgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogTWVyZ2Ugc29tZSBEVkQgcGllY2VzIGFuZCBmaXhlcwoJICBCcmluZyB0aGUgcmVzaW5kdmQgY29weSBvZiBtcGVncHNkZW11eCBhbmQgdGhlIG5vcm1hbCB2ZXJzaW9uCgkgIHNsaWdodGx5IGNsb3NlciB0b2dldGhlci4KCSAgRG9uJ3QgZm9yd2FyZCBpbmNvbWluZyBzaW5rIGNhcHMgZXZlbnQgdG8gZG93bnN0cmVhbSBlbGVtZW50cy4KCjIwMTItMDYtMTEgMDg6MzM6MzYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgZXh0cmEgcmVmcy91bnJlZnMgb2YgdGhlIGRlbXV4ZXIKCSAgQ2hhbmdlIGFsbCB0aGUgZ3N0X3BhZF9nZXRfcGFyZW50KCkgY2FsbHMgdG8gYSBjYXN0IHRvIHRoZQoJICBwYXNzZWQgcGFyZW50IHZhcmlhYmxlIHdoZXJlIGFwcHJvcHJpYXRlLCBhbmQgZG9uJ3QgdW5yZWYsCgkgIGluY2x1ZGluZyB0aGUgZXh0cmEgdW5yZWYgaW4gdGhlCgkgIGdzdF9mbHVwc19kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2goKSBmdW5jdGlvbi4KCjIwMTItMDgtMzAgMTI6MTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhZGp1c3QgdG8gbW9kaWZpZWQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBBUEkKCSAgLi4uIGFuZCBzdXBwbHkgb3ZlcmxheSByZWN0YW5nbGUgZGF0YSBpbiBBWVVWIGFzIHByb3ZpZGVkIGJ5IGlucHV0CgkgIGRhdGEgcmF0aGVyIHRoYW4gY29udmVydGluZyB0byBSR0IuCgoyMDEyLTA4LTI5IDIyOjA1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byBzZXQgY2xvY2svYmFzZXRpbWUgYWdhaW4KCSAgVGhlIGJhc2UgYW5kIGNsb2NrIGFyZW4ndCBsb3N0IGFueW1vcmUgb24gc3RhdGUgY2hhbmdlcwoJICBpbiAxLjAKCjIwMTItMDgtMjkgMjI6MDU6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHNlbmQgZXh0cmEgcmVjb25maWd1cmUKCSAgU2V0dGluZyBjYXBzZmlsdGVycyBhbHJlYWR5IHNlbmRzIHJlY29uZmlndXJlIGV2ZW50cyB3aGVuIGEgbmV3CgkgIGNhcHMgaXMgc2V0LCBubyBuZWVkIHRvIHJlc2VuZCB0aGVtLgoKMjAxMi0wOC0yOCAyMTowMTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlcXVlc3QgXyV1IHRlbXBsYXRlcyBpbnN0ZWFkIG9mIF8lZAoJICBJbiAxLjAsIHRlbXBsYXRlcyBoYXZlIGJlZW4gcmVuYW1lZCB0byBfJXUgYXMgZGVmYXVsdAoKMjAxMi0wOC0yNiAxNjo0MzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBpbWFnZSBsb2NhdGlvbiBzd2l0Y2hpbmcgdGVzdAoJICBUaGUgdGVzdCBzaG91bGQgd2FpdCB1bnRpbCB0aGUgbGFzdCBpbWFnZS1kb25lIGlzIHBvc3RlZCBzbyBpdAoJICBjYW4gY29ycmVjdGx5IGNoZWNrIHRoYXQgYWxsIGltYWdlcyBoYXZlIGJlZW4gc2F2ZWQuCgoyMDEyLTA4LTI2IDE2OjQyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJld29yayB2aWRlbyByZWNvcmRpbmcgZW9zIHB1c2gKCSAgUHVzaCBFT1Mgb3V0c2lkZSBvZiB3cmFwcGVyY2FtZXJhYmluc3JjIHNvIHRoYXQgbm9uZSBvZiB0aGUKCSAgaW50ZXJuYWwgZWxlbWVudHMgZ2V0cyBpdHMgcGFkcyBpbnRvIGVvcyBzdGF0ZSwgcHJldmVudGluZyBhbnkKCSAgZnVydGhlciBkYXRhIGZyb20gcGFzc2luZwoKMjAxMi0wOC0yOCAxMTowNzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50bHkgc2l6ZWQgYnVmZmVyIHdoZW4gd3JhcHBpbmcgTkFMCgkgIE5vdGVkIGJ5IDx6aGFuZ3lhbnBpbmcyMTBAeWFob28uY29tLmNuPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNTg5CgoyMDEyLTA4LTI0IDA5OjAxOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkgIHNobTogcmVtb3ZlIHVubmVlZGVkIGdsaWItZ2VuLW1hayBpbmNsdWRlIGluIE1ha2VmaWxlCgkgIE5vIGVudW1zIG9yIG1hcnNoYWxsZXJzIHRvIGJlIGdlbmVyYXRlZCBoZXJlLiBTaG91bGQgYWxzbwoJICBiZSBnc3QtZ2xpYi1nZW4ubWFrIHRoZW4uCgoyMDEyLTA4LTIyIDE1OjA4OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmV2ZXJ0IHJlbmFtaW5nIG9mIHRoZSB0eXBlCgkgIFRoZSBzcGVjaWFsIHR5cGUgbmFtZSB3YXMgbG9zdCB3aGVuIG1lcmdpbmcgZnJvbSBiYXNlLgoKMjAxMi0wOC0yMiAxMzozMDo0MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjY4YWNlZSB0byA0Zjk2MmY3CgoyMDEyLTA4LTIyIDEzOjE5OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgZ3RrLWRvYyByZXEgdG8gMS4xMiAobWFyLTIwMDkpCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGUuZy4gdW5jb25kaXRpb25hbGx5IHVzZSBndGtkb2MtcmViYXNlLgoKMjAxMi0wOC0yMSAxMzoyOToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBhdm9pZCByZWdpc3RlcmluZyBlbnVtIHR5cGUgb2Ygc2FtZSBuYW1lIGFzIGxpYnZpc3VhbCBwbHVnaW4gaW4gLWJhc2UKCjIwMTItMDgtMTcgMTE6MTI6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IHVzZSBzY2FsZSBmdWxsc2NyZWVuIG1ldGhvZC4KCSAgVGhpcyBtYWtlcyB0aGUgY29tcG9zaXRvciBzY2FsZSB0aGUgc3VyZmFjZSB0byBmaXQgYW5kIHByZXNlcnZlcwoJICBhc3BlY3QgcmF0aW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMTcgMTE6MTA6MzkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmQ6IHJlc3BvbmQgdG8gcGluZy9wb25nIHByb3RvY29sIHNvIHdlJ3JlIG5vdCBkZWVtZWQgdW5yZXNwb25zaXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNDUzCgoyMDEyLTA4LTIxIDEwOjM3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBjaGVjayBmb3Igd2F5bGFuZAoJICBXZSBvbmx5IHNlZW0gdG8gbmVlZCB3YXlsYW5kLWNsaWVudC4gQWxzbyBtYWtlIHdvcmsgd2l0aAoJICB3YXlsYW5kIGJlaW5nIGluc3RhbGxlZCBpbiBhIG5vbi1kZWZhdWx0IHByZWZpeCBieSBub3QKCSAgb3ZlcndyaXRpbmcvY2xlYXJpbmcgV0FZTEFORF97Q0ZMQUdTLExJQlN9IGZvciBubyByZWFzb24KCSAgYXQgYWxsLgoKMjAxMi0wOC0yMSAxMDoyOTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZml4IGJ1aWxkCgkgIFNvbWUgY29kZSBzbGlwcGVkIGludG8gdGhlIGxhc3QgY29tbWl0IHRoYXQgd2FzIG1lYW50IHRvIGJlCgkgIHB1c2hlZCBzZXBhcmF0ZWx5LiBVc2UgZ3N0X2RhdGVfdGltZV91bnJlZigpIGluc3RlYWQgb2YgX2ZyZWUoKS4KCjIwMTItMDgtMDggMTc6MTA6MjggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmQ6IE1vcmUgZml4ZXMgYmFzZWQgb24gd2F5bGFuZC0wLjk1LjAgYW5kIGdzdHJlYW1lci0xLjAgYXBpcwoJICAtIGJ1bXAgd2F5bGFuZCB2ZXJzaW9uIHRvIDAuOTUuMCB3aGljaCB3aWxsIGxlYWQgdG8gc3RhYmxlIDEuMCByZWxlYXNlCgkgIC0gYXZvaWQgbWVtY29weSBhbmQgdXNlIHByb3Bvc2VfYWxsb2NhdGlvbiBmb3IgR3N0QnVmZmVyUG9vbCBhbGxvY2F0aW9uCgkgIC0gdXNpbmcgV2F5bGFuZEJ1ZmZlclBvb2wKCSAgLSBzaG06IEFsbG9jYXRlIHNobSBidWZmZXJzIHRocm91Z2ggbmV3IHdsX3NobV9wb29sIGludGVyZmFjZQoJICAodGhlIHNobSBidWZmZXIgYWxsb2NhdGlvbiBpcyBhIHR3byBzdGVwIHByb2Nlc3Mgbm93OiBmaXJzdAoJICBhbGxvY2F0ZSBhIHdsX3NobV9wb29sLCB0aGVuIGFsbG9jYXRlIGEgYnVmZmVyIGZyb20gdGhlIHBvb2wpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMjEgMTA6MjI6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogcG9ydCB0byAwLjExCgoyMDEyLTA4LTIxIDAwOjEwOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBHU1RfVEFHX0RBVEUgLT4gR1NUX1RBR19EQVRFX1RJTUUKCSAgSW4gY2FtZXJhYmluMiBleGFtcGxlLgoKMjAxMi0wOC0yMCAyMzozNzowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdmlkZW8veC1kdmQtc3VicGljdHVyZSAtPiBzdWJwaWN0dXJlL3gtZHZkCgoyMDEyLTA4LTE4IDIwOjMxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L3J0anBlZy9SVGpwZWcuYzoKCSogZ3N0L3J0anBlZy9SVGpwZWcuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuaDoKCSogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uYzoKCSogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uaDoKCSAgRml4IHVwIEZTRiBhZGRyZXNzIGluIHNvbWUgc291cmNlIGZpbGVzIGFzIHdlbGwKCjIwMTItMDgtMTggMTE6MDk6MzkgLTA0MDAgIEJyaWFuIFBlcHBsZSA8YnBlcHBsZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIENPUFlJTkc6CgkqIENPUFlJTkcuTElCOgoJICBDb3JyZWN0IGluY29ycmVjdCBGU0YgYWRkcmVzcyBpbiBsaWNlbnNlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxNTgKCjIwMTItMDgtMTcgMjI6NTc6MTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3luYyB0byBjaGFuZ2UgaW4gYmFzZSBhbmQgcG9ydAoJICBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhIGFuZCBHc3RWaWRlb0ZyYW1lLiBSZW1vdmUgc29tZSByZWR1bmRhbnQgZmllbGRzCgkgIHRoYXQgYXJlIGFsc28gaW4gR3N0VmlkZW9JbmZvLiBEb24ndCBkaXNhYmxlIHRoZSBzaGFkZXIgY29kZSwgaXQgZG9lcyBub3QKCSAgbG9vayBicm9rZW4uCgoyMDEyLTA4LTE3IDE1OjE1OjM0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHN0YXR1cyB1cGRhdGUKCjIwMTItMDgtMTUgMTg6Mjg6MDkgLTA0MDAgIEJyaWFuIFBlcHBsZSA8YnBlcHBsZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbWlzc2luZyBBQ19MQU5HX1BST0dSQU0gY2FsbCB0byBEaXJlY3RTaG93IHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE5NTIKCjIwMTItMDgtMTUgMTE6MjY6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdmlzdWFsaXplcjogc21hbGwgY2xlYW51cAoJICBBcHBseSBjbGVhbnVwIGZyb20gY29weSBpbiBiYXNlLgoKMjAxMi0wNy0yNCAyMDozOTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZmx1c2hpbmcvc3luYyBoYW5kbGluZwoJICBUaGVyZSB3YXMgYSBzdHJheSBhZGFwdGVyX2ZsdXNoKCkgbm93IHRoYXQgd2UgdXNlZCBhIHRlbXBvcmFyeSBidWZmZXIKCjIwMTItMDctMTkgMTM6MzU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQmV0dGVyIGRldGVjdCBQQ1IgcmVzZXRzCgkgIEFzc3VtZSB0aGF0IGFueSBkaWZmZXJlbmNlcyBpbiBQQ1IgZ3JlYXRlciB0aGFuIDE1cyBtZWFucyB0aGVyZSBpcwoJICBhIHJlc2V0IGluIHRoZSBzdHJlYW0uCgoyMDEyLTA3LTE5IDA5OjA1OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQ2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoKMjAxMi0wNy0xOSAwOTowNToxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE0IDEzOjU5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZS9kZW1vdGUgc29tZSBkZWJ1Z2dpbmcKCjIwMTItMDctMTMgMTY6NTY6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWx3YXlzIHVzZSBjdXJyZW50IFBUUy9EVFMKCSAgVGhpcyBhdm9pZHMgc2V0dGluZyBvbGQgUFRTIGFuZC9vciBEVFMKCjIwMTItMDctMTMgMTY6MjI6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlIHVubmVlZGVkIG1lbXNldCgwKQoKMjAxMi0wNy0xMyAxNjoyMjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHM6IFVzZSBHX0dOVUNfSU5URVJOQUwKCjIwMTItMDctMTEgMDg6MTA6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGR2YiBwbHVnaW4gaXMgcG9ydGVkCgoyMDEyLTA3LTExIDA4OjEwOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IE1vcmUgZml4dXBzIHRvIDEuMAoJICBOb3QgdGVzdGVkIHlldCAhCgkgIENvbmZsaWN0czoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYwoKMjAxMi0wNi0yOSAxODowNDowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICBjYW06IEFsbG93IHRpbWUgZm9yIENBIHRvIGluaXRpYWxpemUKCSAgU29tZSBkZXZpY2VzIHRha2Ugc29tZSB0aW1lIHRvIGluaXRpYWxpemUsIGFuZCB1bnRpbCB0aGV5IGFyZSB0aGV5CgkgIHdpbGwgZXJyb3Igb3V0IHdoZW4gdHJ5aW5nIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0EgZGV2aWNlLgoKMjAxMi0wNi0yOSAxODowMToxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgIGNhbTogUE1UX1JFUExZIHBhcnNpbmcKCSAgTm90IHVzZWQgeWV0CgoyMDEyLTA2LTI5IDE4OjAwOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgZHZiYmFzZWJpbjogU3dpdGNoIHRvIHVzZSB0c3BhcnNlCgoyMDEyLTA2LTI5IDE3OjUzOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBnc3Rfc3RydWN0dXJlXypfdGFrZV92YWx1ZSB3aGVyZSBhcHBsaWNhYmxlCgkgIFNhdmVzIGNvcHlpbmcvZnJlZWluZyBkYXRhCgoyMDEyLTA2LTI5IDE2OjE0OjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENhY2hlIHRoZSBHSUNvbnYKCSAgQXZvaWRzIGhhdmluZyB0byBjb25zdGFudGx5IG9wZW4vZnJlZSB0aGVtICh3aGljaCB3aWxsIGVuZCB1cCBiZWluZwoJICB2ZXJ5IG9mdGVuIHdpdGggRUlUL05JVCkuCgoyMDEyLTA2LTI5IDE2OjA5OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogcmVzZXQgZWxlbWVudCBpbiBSRUFEWT0+UEFVU0VECgkgIEVuc3VyZXMgYWxsIHN1YmNsYXNzIHJlc2V0IHZtZXRob2RzIGFyZSBjYWxsZWQKCjIwMTItMDYtMjggMTI6MTg6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIG1vcmUgUXVhcmtzCgoyMDEyLTA2LTI2IDE5OjAxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGNvZGUKCSAgUENSL09QQ1IgaXMgbWVhbnQgdG8gYmUgaGFuZGxlZCBieSB0aGUgcGFja2V0aXplcgoKMjAxMi0wNi0yNiAxODo1OTozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDYWxjdWxhdGUgcGNyL3RpbWUvb2Zmc2V0IHNlcGFyYXRlbHkgcGVyIHByb2dyYW0KCSAgQXZvaWRzIHF1aXRlIGEgZmV3IGlzc3VlcyB3aXRoIG11bHRpLXByb2dyYW0gc3RyZWFtcwoKMjAxMi0wNi0yNiAxODo1NDo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogUHVzaCBvdXQgYnVmZmVyIG9uIG1haW4gc291cmNlIHBhZAoKMjAxMi0wNi0yNiAxODo1MToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndGJhc2U6IHZtZXRob2QgdG8gbm90aWZ5IHdoZW4gd2UncmUgZG9uZSBwcm9jZXNzaW5nIGlucHV0CgkgIFRoaXMgY2FuIGJlIHVzZWQgdG8gbm90aWZ5IHN1YmNsYXNzZXMgbm8gbW9yZSBkYXRhIGlzIGV4cGVjdGVkIHRoaXMKCSAgcm91bmQuCgkgIHRzcGFyc2Ugd2lsbCB1c2UgaXQgdG8gcHVzaCB3aG9sZSBidWZmZXJzICh3aXRob3V0IGNvcHkpIG9uIHRoZSBtYWluCgkgIHNvdXJjZSBwYWQuCgkgIEl0IGNvdWxkIGFsc28gYmUgdXNlZCBsYXRlciB0byBkZWNpZGUgd2hldGhlciB0byBwdXNoIHBlbmRpbmcgZGF0YQoJICBpbiBvcmRlciB0byByZWR1Y2UgbGF0ZW5jeS4KCjIwMTEtMDItMDEgMTE6Mzk6MTYgLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYyArIGR2YiBhcGkgYnVmZmVyIHByb3BlcnR5IHRvIG92ZXJjb21lIGJ1ZmZlciB1bmRlciByZWFkcwoKMjAxMi0wOC0wOCAxNTowNjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogRG9uJ3QgYXNzdW1lIG91dHB1dCBidWZmZXIgdGltZXN0YW1wcwoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB3aGF0c29ldmVyIHRoYXQgdGhlIGZpcnN0IGJ1ZmZlciB0byBvdXRwdXQgd2lsbAoJICBzdGFydCBhdCB0aGUgc2VnbWVudC5zdGFydC4KCSAgSW5zdGVhZCwgd2FpdCBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhZnRlciBhIHNlZ21lbnQsIGFuZCB1c2UgdGhhdCB0aW1lc3RhbXAKCjIwMTItMDgtMTQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgZGVjb2RpbmcgdGhyZWFkcwoKMjAxMi0wOC0xNCAxMTowOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBNRlFFIHBvc3Rwcm9jZXNzaW5nIGZsYWcKCSAgV2hpY2ggaXMgZW5hYmxlZCBieSBkZWZhdWx0IGlmIHBvc3Rwcm9jZXNzaW5nIGlzIGVuYWJsZWQuCgoyMDEyLTA4LTEzIDEwOjU3OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogb25seSBhcHBseSByZXBlYXQgY291bnQgd2hlbiBzZXQKCSAgV2hlbiB0aGVyZSBpcyBubyBleHRlbnNpb24gaGVhZGVyLCB0aGUgcmVwZWF0X2NvdW50IHZhcmlhYmxlIGlzIGxlZnQgdG8gMCBhbmQKCSAgdGhlbiB0aGUgZHVyYXRpb24gb24gdGhlIG91dHB1dCBidWZmZXJzIGlzIGNhbGN1bGF0ZWQgd3JvbmdseS4gQmVjYXVzZSB0aGUKCSAgZHVyYXRpb24gaXMgdXNlZCB0byBpbnRlcnBvbGF0ZSBvdXRwdXQgdGltZXN0YW1wcywgdGhlIG91dHB1dCB0aW1lc3RhbXBzIGFyZQoJICBhbHNvIHdyb25nLCBjYXVzaW5nIGJhZCBmcmFtZXJhdGVzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTUzNQoKMjAxMi0wOC0wOSAxMzozNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogVXNlIHBrZy1jb25maWcgZmlsZSBmb3IgZ2V0dGluZyB0aGUgTElCUyBhbmQgQ0ZMQUdTCgoyMDEyLTA4LTA5IDExOjQ4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBHaXZlIE1BUkdJTkFMIHJhbmsgdG8gdGhlIG1wZzEyMyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMDggMTc6NDA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZ3N0OiBTZXQgYWxpZ25tZW50IGF0IHRoZSBjb3JyZWN0IHBsYWNlIG9mIEdzdEFsbG9jYXRpb25QYXJhbXMKCjIwMTItMDgtMDggMTc6MDY6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgdGhlIHBlci1jb21wb25lbnQgc3RyaWRlcyBmb3IgZXZlcnkgZnJhbWUgdG9vCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgR3N0VmlkZW9BbGlnbm1lbnQKCjIwMTItMDgtMDggMTY6MzU6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTMgPT09CgoyMDEyLTA4LTA4IDE1OjMyOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIFJlbGVhc2UgMC4xMS45MwoKMjAxMi0wOC0wOCAxMjo1ODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogZGlzdCBoZWFkZXIgZmlsZQoKMjAxMi0wOC0wOCAxMjoxMzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBob3RvZ3JhcGh5LmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBmb3IgcGhvdG9ncmFwaHkgQVBJIGNoYW5nZXMKCjIwMTItMDgtMDggMTE6NTM6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogLmdpdGlnbm9yZSBuZXcgY3VybHNtdHBzaW5rIHRlc3QgYmluYXJ5CgoyMDEyLTA4LTAzIDE2OjIxOjA5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBQb3J0IHRvIDAuMTEKCjIwMTItMDgtMDcgMTg6MjM6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogYWRkIG1pc3NpbmcgZGVmYXVsdCBzd2l0Y2ggY2FzZQoKMjAxMi0wOC0wNyAxODoyMzowNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiBmaXggdHlwZXMKCjIwMTItMDgtMDcgMTg6MjI6MzYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogZml4IGZvcm1hdCB3YXJuaW5ncwoKMjAxMi0wOC0wNyAxODoyMTo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBmaXggdW51c2VkIHZhcmlhYmxlcyB3YXJuaW5ncwoKMjAxMi0wOC0wNyAxODoyMDo1MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogZG9uJ3QgcmVpbml0aWFsaXplIE1FRElBU1VCVFlQRV9JNDIwCgoyMDEyLTA4LTA3IDE4OjE5OjI5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAgd2lua3M6IGRlZmluZSBTVEFUSUNfS1NQUk9QU0VUSURfV2F2ZV9RdWV1ZWQgaWYgbm90IGRlZmluZWQKCjIwMTItMDgtMDcgMTY6NTM6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5rczogaW50ZWdyYXRlIGJ1aWxkIHdpdGggYXV0b3Rvb2xzCgoyMDEyLTA4LTAyIDE0OjI2OjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzCgkgIFJlbmFtZSB0aGUgRExMIGVudHJ5IHBvaW50IHRoZSBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljCgkgIGxpbmtzLgoKMjAxMi0wOC0wMiAxNDoyNjozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYyBsaW5rcwoJICBSZW5hbWUgdGhlIERMTCBlbnRyeSBwb2ludCB0aGUgYXZvaWQgZHVwbGljYXRlZCBzeW1ib2xzIGluIHN0YXRpYwoJICBsaW5rcy4KCjIwMTItMDgtMDYgMTM6NTk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgZ3N0OiBBZGQgc3RyZWFtLWlkIHRvIHN0cmVhbS1zdGFydCBldmVudHMKCjIwMTItMDctMjYgMTk6MzE6MTQgKzAyMDAgIE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGluaXRpYXRlIGVuY29kZXIgdG8gZml4IGEgY3Jhc2guCgkgIFdpdGhvdXQgdGhpcyBwYXRjaCB2cDhlbmMgc2VuZCBoZWFkZXIgYmVmb3JlIGFuZCBhZnRlciBmaXJzdAoJICBrZXkgZnJhbWUuIE9uIHNlY29uZCBrZXlmcmFtZSB2cDhkZWMgd2lsbCBjcmFzaCB3aXRob3V0IGdldHRpbmcKCSAgZGVjb2RlZCBmcmFtZS4gV2l0aCB0aGlzIHBpcGUgaXQgaXMgZWFzeSB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZToKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgdnA4ZW5jICEgdnA4ZGVjICEgZmFrZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDY2NwoKMjAxMi0wOC0wNSAxNjo0MDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTRjY2Y0YyB0byA2NjhhY2VlCgoyMDEyLTA4LTA0IDE2OjMxOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZ3N0X3RhZ19saXN0X2ZyZWUgLT4gZ3N0X3RhZ19saXN0X3VucmVmCgoyMDEyLTA4LTAzIDExOjMxOjAwICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmw6IGZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzIGluIHRoZSBwbHVnaW4gYW5kIHRoZSB1bml0IHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODExMTcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExNQoKMjAxMi0wOC0wMyAxNDoxMjowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBsaWJtcGcxMjMgPj0gMS4xMyBmb3IgMjQtYml0IGZvcm1hdHMKCjIwMTItMDgtMDMgMTM6NDM6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IG1hcCBpbnB1dCBidWZmZXIgaW4gUkVBRCBtb2RlLCBub3QgV1JJVEUgbW9kZQoJICBNYWtlcyB0aGluZ3MgYWN0dWFsbHkgd29yay4KCjIwMTItMDgtMDMgMTE6NTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHF1ZXJ5IHN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0cyBhdCBydW4tdGltZQoJICBGaXhlcyBzdHVmZi4gV2UgdXNlIGEgc3RyaW5nIGhlcmUgc2luY2Ugd2UgY2FuJ3QgYmUgYm90aGVyZWQKCSAgd2l0aCBHVmFsdWUuCgoyMDEyLTA4LTAzIDExOjQ4OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJICBtcGcxMjM6IGhvb2sgdXAgdG8gYnVpbGQgc3lzdGVtCgoyMDEyLTA4LTAzIDExOjEzOjQ4ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuaDoKCSAgbXBnMTIzOiBhZGQgbmV3IGxpYm1wZzEyMy1iYXNlZCBtcDMgZGVjb2RlciBwbHVnaW4KCSAgTmVlZHMgYSBiaXQgb2YgY2xlYW5pbmcgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODEwMDMKCjIwMTItMDgtMDMgMDA6MTA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHNjaHJvZWRpbmdlciwgbXBlZ3RzbXV4OiBmaXggcGx1Z2luIG5hbWVzCgoyMDEyLTA3LTMxIDA5OjM2OjM1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogU2F2ZSBpbWFnZS92aWRlbyByZWNvbmZpZ3VyYXRpb24gdW50aWwgY2FwdHVyaW5nCgkgIEFkZCBhIHNyYyBwYWQgZXZlbnQgaGFuZGxlciBmdW5jdGlvbiB0aGF0IGZpbHRlcnMgcmVjb25maWd1cmUgZXZlbnRzIHRvCgkgIHRyaWdnZXIgdGhlIHJlbmVnb3RpYXRpb24gY29kZSBwYXRocyBpbiB0aGUgbW9kZS1zcGVjaWZpYyBzdGFydC1jYXB0dXJlCgkgIHBoYXNlLgoJICBUaGlzIGlzIHRvIHdvcmsgdG93YXJkcyBmaXhpbmcgdW5pdCB0ZXN0cyBidXQgbW9yZSB3b3JrIGlzIG5lZWRlZC4KCjIwMTItMDgtMDIgMTQ6NDA6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkbyBub3QgYWNjZXNzIGZyYW1lIGJ1ZmZlciBmb2xsb3dpbmcgX2ZpbmlzaF9mcmFtZSBjYWxsCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA0OTQKCjIwMTItMDgtMDEgMTE6MzQ6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgIG1wbGV4OiBkZWZhdWx0IHRvIERWRCBNUEVHLTIgZm9ybWF0IGluc3RlYWQgb2YgR2VuZXJpYyBNUEVHLTEKCjIwMTItMDgtMDEgMTE6MzE6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgIG1wbGV4am9iOiBhZGQgbmlja3MgZm9yIGZvcm1hdCBlbnVtcywgYWRkIHNvbWUgbW9yZSBmb3JtYXRzCgoyMDEyLTA3LTMwIDE3OjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBmaXggamlmbXV4IHRlc3QgZm9yIGZpeGVkIGZhaWwoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzU1CgoyMDEyLTA3LTI5IDAxOjExOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IHByZXZpZXcgbWVzc2FnZSBoYW5kbGluZwoJICBQcmV2aWV3IG1lc3NhZ2VzIG5vdyBjb250YWluIEdzdFNhbXBsZXMgaW5zdGVhZCBvZiBHc3RCdWZmZXJzCgoyMDEyLTA3LTI5IDAwOjUzOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgcHJldmlldyBidWZmZXIgcHVzaGluZwoJICBuZWVkIHRvIHBhc3MgYSBHc3RTYW1wbGUgdG8gdGhlIHV0aWxpdGFyeSBwcmV2aWV3IGJ1ZmZlciBwb3N0IGZ1bmN0aW9ucwoJICBhcyBhIEdzdEJ1ZmZlciBkb2Vzbid0IGhhdmUgY2FwcyBhbnltb3JlLiBUaGUgR3N0U2FtcGxlIGhhcyB0aGUgR3N0Q2FwcwoJICBhbmQgaXQgaXMgdXNlZCB0byBpbmZvcm0gdGhlIHByZXZpZXcncyBwaXBlbGluZSBhYm91dCB0aGUgZm9ybWF0IG9mIHRoZQoJICBpbnB1dCwgYmVmb3JlIGl0IGdldHMgY29udmVydGVkIHRvIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIG91dHB1dCBmb3JtYXQuCgoyMDEyLTA3LTI5IDAwOjA0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBSZXZlcnQgImNhbWVyYWJpbjogdXBkYXRlIHRvIG5ldyB0YWcgZXZlbnQgY3JlYXRpb24gQVBJIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVkODkwYjNjOTI3MTRlMWYzNzE2MzI5MGMzMjkxMWJjZDc4MThhNTcuCgkgIFRoZSBuZXcgQVBJIGlzIHRoZSBvbGQgQVBJLgoKMjAxMi0wNy0yOCAxODowNDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IEZpeCByZWZlcmVuY2VzIHRvIGF2b2lkIGVsZW1lbnQgbGVha2luZwoJICBTb21lIHBhZCBwcm9iZXMgYXJlIG5ldmVyIGdvaW5nIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgcGFkcywgc28KCSAgd2Ugc2hvdWxkbid0IGtlZXAgYSBjYW1lcmFiaW4gcmVmZXJlbmNlIHdpdGggdGhlbSBvciBjYW1lcmFiaW4gd2lsbAoJICBuZXZlciBnZXQgcmVsZWFzZWQKCjIwMTItMDctMjggMTU6MTc6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdG8gbmV3IHRhZyBldmVudCBjcmVhdGlvbiBBUEkKCjIwMTItMDctMjggMTI6MDk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiByZW1vdmUgYXNzZXJ0aW9uIG9uIG51bGwgcHJvcGVydHkKCSAgQ2hlY2sgaWYgdGhlIGZsYWdzIGFyZSBub3QgbnVsbCBiZWZvcmUgdHJ5aW5nIHRvIHNldCB0aGVtIHRvCgkgIGNhbWVyYWJpbiB0byBhdm9pZCBhbiBhc3NlcnRpb24KCjIwMTItMDctMjggMDA6MzI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGFnOiBVcGRhdGUgZm9yIHRhZ2xpc3QvdGFnIGV2ZW50IEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTI3IDEzOjIyOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcHJvY2VzcyBBVFRBQ0hNRU5UIHRhZyBhcyBzYW1wbGUKCjIwMTItMDctMjUgMTY6MDU6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgZmFhYywgdm9hYWNlbmM6IGFkanVzdCB0byBtb2RpZmllZCBhdWRpb2VuY29kZXIgZ2V0Y2FwcyBoZWxwZXIgQVBJCgoyMDEyLTA3LTI0IDEyOjI4OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4YXRlIGNhcHMKCjIwMTItMDctMjQgMTA6NDY6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLm9yYzoKCSAgZ3VhZGk6IHByZWZpeCBvcmMgZnVuY3Rpb25zIHdpdGggZ2F1ZGlfb3JjXwoKMjAxMi0wNy0yNCAxMDo0NDo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgZmllbGRhbmFseXNpczogcHJlZml4IG9yYyBmdW5jdGlvbnMKCjIwMTItMDctMjQgMTA6MzI6NTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBiYXllcjogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCBiYXllcl9vcmMKCSAgQWRkIGJheWVyIG9yYyB0byB0aGUgdW5pdCB0ZXN0CgoyMDEyLTA3LTI0IDEwOjMyOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGZpeCB2aXN1YWxpemVyIGNvbXBpbGF0aW9uCgoyMDEyLTA3LTIzIDExOjM2OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YWRhdGEgYW5kIGFyYml0cmFyeSBzdHJpZGVzCgoyMDEyLTA3LTIzIDEwOjU0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBNYXAgcmF3IHZpZGVvIGJ1ZmZlcnMgd2l0aCB0aGUgY29ycmVjdCByZWFkL3dyaXRlIGZsYWdzCgoyMDEyLTA3LTIzIDEwOjM1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIHZpZGVvIGJhc2UgY2xhc3NlcyBBUEkgY2hhbmdlcwoKMjAxMi0wNy0yMyAwODo0NTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk4ZTM4NmYgdG8gOTRjY2Y0YwoKMjAxMi0wNy0yMSAxOTo1OToyMSArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IG1lbW9yeSBsZWFrCgkgIHVucmVmIGZyYW1lLiBpIGhvcGUgaXQgaXMgY29ycmVjdCBwbGFjZSB0byBkbyBpdC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDctMjAgMjM6Mjg6NDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogVXNlIGJ1ZmZlciBmbGFncyBhbmQgY2FwcyBjb3JyZWN0bHkKCSAgVGhpcyByZXF1aXJlcyBhIHJlY2VudCBjb21taXQgdG8gLWJhc2UgdGhhdCBhZGRzIGFuIElOVEVSTEFDRUQgYnVmZmVyCgkgIGZsYWcuCgoyMDEyLTA3LTIwIDE2OjQzOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogb25seSBkaXNjYXJkIGZyYW1lIG9uY2UgdXBvbiBkZWNvZGluZyBlcnJvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5ODg2CgoyMDEyLTA3LTE5IDE2OjEwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogZmFicy0+c3FydCB0byBjYWxjdWxhdGUgdGhlIG1hZ25pdHVkZQoKMjAxMi0wNy0xOCAwOToxOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBhbHNvIGFjdGl2YXRlIGluIHB1c2ggbW9kZSBpZiB0aGUgc2NoZWR1bGluZyBxdWVyeSBmYWlsZWQKCSAgSW4gY2FzZSBwYWRzIGFyZSB1bmxpbmtlZCBzb21ld2hlcmUuCgoyMDEyLTA3LTE4IDA4OjQxOjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggcHVzaCBtb2RlIGFjdGl2YXRpb24KCSAgRXh0cmEgdW5yZWYgb24gcHVzaCBtb2RlIGFjdGl2YXRpb24gY2F1c2VkIGhhdm9jLgoKMjAxMi0wNy0xNiAwMDowNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZXh0cmFjdCB5ZWFyIGFzIEdzdERhdGVUaW1lIGluc3RlYWQgb2YgR0RhdGUKCjIwMTItMDctMTcgMTg6MDU6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBubyBuZWVkIHRvIG1ha2UgYnVmZmVyIHdyaXRhYmxlIHR3aWNlCgoyMDEyLTA3LTE3IDE4OjA1OjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcGx1ZyBzb21lIHJlZiBsZWFrcwoKMjAxMi0wNy0xNyAxNDowMjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoKMjAxMi0wNy0xNyAxNjozOTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICB1cGRhdGUgZm9yIFJUUCBidWZmZXIgYXBpIGNoYW5nZXMKCjIwMTItMDctMTYgMjI6MDI6NDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBzaG9ydGVuIGJhc2UgY2xhc3MgbmFtZQoJICBBcyBzdWdnZXN0ZWQgb24gSVJDIHJlbmFtZSB0byBBdWRpb1Zpc3VhbGl6ZXIuIFdlIHVzZSBjdXN0b20gc3VmZml4IG9uIHRoZSB0eXBlCgkgIHRvIGF2b2lkIGNsYXNoaW5nIHdpdGggb3RoZXIgY29waWVzIGZvciB0aGUgdGltZSBiZWluZy4KCjIwMTItMDctMTUgMTI6Mjc6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGNlbHQsIG9wZW5jdiwgd2F5bGFuZCwgZHZic3ViLCBmZXN0aXZhbCwgaGxzOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDEyLTA3LTE0IDE1OjUxOjA4ICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kOiBkb24ndCBsaW5rIHRvIGdzdGludGVyZmFjZXMsIHdoaWNoIGRvZXNuJ3QgZXhpc3QgYW55IG1vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTkyOQoKMjAxMi0wNi0zMCAwMDoyMjo0MCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogcG9ydCB0byAwLjExCgkgIEJhc2ljIHBvcnQgdG8gMC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkxNjQKCjIwMTItMDctMTMgMTI6MzI6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkYXB0aXZlbHkgYmxlbmQgb3IgYXR0YWNoIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTMgMTI6Mjc6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIGhlbHBlcgoJICAuLi4gcmF0aGVyIHRoYW4gY3VzdG9tIGhvbWUtbWFkZSBibGVuZGluZy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTIgMTA6MTM6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogbW9yZSBjb3JyZWN0bHkgZGV0ZXJtaW5lIGV4cGVjdGVkIFBFUyBwYWNrZXQgcGF5bG9hZCBzaXplCgkgIC4uLiBwYXJ0aWN1bGFybHkgY29uc2lkZXJpbmcgdGhhdCBwYWNrZXRfbGVuZ3RoID09IDAgaXMgcG9zc2libGUuCgoyMDEyLTA3LTExIDIzOjE3OjE5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiByZWdpc3RlciBhcyBlZmZlY3QKCjIwMTItMDctMTEgMjA6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29ycmVjdGx5IGRldGVybWluZSBleHBlY3RlZCBQRVMgcGFja2V0IHBheWxvYWQgc2l6ZQoJICBBdm9pZHMgY29uc2lzdGVudGx5IGZhaWxpbmcgdG8gZGV0ZWN0IHRoYXQgYSBwYWNrZXQgaXMgY29tcGxldGUsIHdoaWNoCgkgIHdvdWxkIHRoZW4gb25seSBiZSBwdXNoZWQgdXBvbiB0aGUgc3RhcnQgb2YgYSBuZXh0IHBhY2tldCwgd2hpY2ggbGVhZHMKCSAgdG8gcXVpdGUgYSBkZWxheSBpbiBjYXNlIG9mIGEgc3BhcnNlIChzdWJ0aXRsZSkgc3RyZWFtLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njc0CgoyMDEyLTA3LTEwIDE3OjU4OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZW5zdXJlIG1pbmltdW0gcGFnZSB0aW1lIG91dCBvZiAxIHNlY29uZAoJICAuLi4gdG8gY29tcGVuc2F0ZSBmb3Igc29tZSBib2d1cyBzdWJ0aXRsZSB3aXRoIGEgMCB0aW1lb3V0LCB3aGljaCB3b3VsZAoJICByZXN1bHQgaW4gb25seSBiZWluZyBzaG93biBmb3IgYSB2ZXJ5IHVucmVhZGFibGUgYW1vdW50IG9mIHRpbWUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2Njc0CgoyMDEyLTA3LTExIDE0OjI3OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBwaXRjaC10ZXN0CgkgIERvZXMgbm90IHNvdW5kIGxpa2UgdGhlIHNhbWUgdGVzdCBpbiAwLjEwIHRob3VnaC4uCgoyMDEyLTA3LTExIDEzOjU5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGR2YnN1Ym92ZXJsYXkuYzo3NzI6MTU6IGVycm9yOiBwb2ludGVyIHRhcmdldHMgaW4gcGFzc2luZyBhcmd1bWVudCA1IG9mICdnc3Rfc2VnbWVudF9jbGlwJyBkaWZmZXIgaW4gc2lnbmVkbmVzcwoJICAvaG9tZS90cG0vZ3N0LzAuMTEvZ3N0cmVhbWVyL2dzdC9nc3RzZWdtZW50Lmg6MTkyOjE0OiBub3RlOiBleHBlY3RlZCAnZ3VpbnQ2NCAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnZ2ludDY0IConCgkgIGdzdGR2YnN1Ym92ZXJsYXkuYzo3NzI6MTU6IGVycm9yOiBwb2ludGVyIHRhcmdldHMgaW4gcGFzc2luZyBhcmd1bWVudCA2IG9mICdnc3Rfc2VnbWVudF9jbGlwJyBkaWZmZXIgaW4gc2lnbmVkbmVzcwoKMjAxMi0wNy0xMSAxMzo0OToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeHVwIGVuZC1vZi1kaXNwbGF5LXNldCBmb3JjaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTExIDEzOjQ4OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZW5zdXJlIHZhbGlkIHN1YnRpdGxlIHJ1bm5pbmcgdGltZSBieSBwcm9wZXIgY2xpcHBpbmcKCSAgSW4gcGFydGljdWxhciwgcGFzcyBidWZmZXIgdGltZXN0YW1wIChwdHMpIHRvIGR2Yl9zdWIsIGFuZCB0aGVuIGNsaXAKCSAgYW5kIGNvbnZlcnQgdG8gcnVubmluZyB0aW1lIHdoZW4gdGhlIGR1cmF0aW9uICh0aW1lb3V0KSBpcyBrbm93biBhZnRlcgoJICBkZWNvZGluZyBpdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDIzMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMSAxMzo0NToxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBwcm9wZXJseSBmb3JjZSBlbmQtb2YtZGlzcGxheS1zZXQKCSAgLi4uIHdoaWNoIGlzIHVwb24gcmVjZWl2aW5nIG5ldyBkYXRhIHdpdGggZGlmZmVyZW50IFBUUyBzcGVjLXdpc2UsCgkgIG9yIG9wdGlvbmFsbHkgdXBvbiBlYWNoIHBhY2tldCBvZiBzdWJ0aXRsZSBkYXRhIGlmIGRlc2lyZWQgYnkgcHJvcGVydHkuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzMTAKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTEtMTItMjEgMTM6MDA6MjcgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogSGFuZGxlIG5vbl9tb2RpZnlpbmdfY29sb3VyX2ZsYWcgY29ycmVjdGx5IGluIHRoZSBSTEUgaGFuZGxlcnMKCSAgVGhlIGNoZWNrIGZvciB3aGVuIHRvIG5vdCBtZW1zZXQgd2FzIGNoZWNraW5nIG9uIGFuIHVuZGV0ZXJtaW5pc3RpYyAnYml0cycgdmFyaWFibGUgdmFsdWUsCgkgIHdoaWNoIGlzIG9ubHkgbWVhbnQgdG8gYmUgdXNlZCBpbnNpZGUgdGhlIGxvb3AgZWFybGllciB3aGVuIGl0IGlzIHN1cHBvc2VkIHRvIGNoZWNrIGlmCgkgIGNsdXRfaW5kZXggaXMgMSB0b2dldGhlciB3aXRoIG5vbl9tb2Qgc2V0LCBhcyBwZXIgc3BlYzoKCSAgIm5vbl9tb2RpZnlpbmdfY29sb3VyX2ZsYWc6ICBJZiBzZXQgdG8gJzEnIHRoaXMgaW5kaWNhdGVzIHRoYXQgdGhlIENMVVQgZW50cnkgdmFsdWUgJzEnCgkgIGlzIGEgbm9uIG1vZGlmeWluZyBjb2xvdXIuIFdoZW4gdGhlIG5vbiBtb2RpZnlpbmcgY29sb3VyIGlzIGFzc2lnbmVkIHRvIGFuIG9iamVjdCBwaXhlbCwKCSAgdGhlbiB0aGUgcGl4ZWwgb2YgdGhlIHVuZGVybHlpbmcgcmVnaW9uIGJhY2tncm91bmQgb3Igb2JqZWN0IHNoYWxsIG5vdCBiZSBtb2RpZmllZC4gVGhpcwoJICBjYW4gYmUgdXNlZCB0byBjcmVhdGUgInRyYW5zcGFyZW50IGhvbGVzIiBpbiBvYmplY3RzLiIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjM1MgoKMjAxMC0xMC0xMyAxMDo1NToxNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI0ODIKCjIwMTAtMTAtMTQgMTA6NDk6NTUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgbWFudWFsIGNvbnRyb2wgb2YgZXhwb3N1cmUsIGZvY3VzIGFuZCB3aGl0ZSBiYWxhbmNlCgkgIEFkZCBuZXcgaW50ZXJmYWNlIHByb3BlcnRpZXMgYW5kIG1vZGUgZm9yIGJldHRlciBtYW51YWwgY29udHJvbCBvZgoJICBleHBvc3VyZSwgZm9jdXMgYW5kIHdoaXRlIGJhbGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI0ODIKCjIwMTAtMTAtMDggMTE6MzM6MzEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgcGhvdG9ncmFwaHk6IEFkZCBHc3RQaG90b2dyYXBoeSBwcmVmaXggYW5kIGZpeCBzcGVsbGluZyBjb2xvdXItPmNvbG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI0ODIKCjIwMTItMDctMTAgMjM6Mjc6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1pbm9yIGhlYWRlciBpbmRlbnRhdGlvbiBjbGVhbi11cCBmb3IgbXBlZ3ZpZGVvcGFyc2VyCgoyMDEyLTA3LTEwIDE3OjQ3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBwb3J0IHRvIDAuMTEKCjIwMTItMDctMTAgMTI6MTA6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IHVubWFwIGlucHV0IGJ1ZmZlcgoKMjAxMi0wNy0wNCAxMDoxNDozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBwb3J0IGZlc3RpdmFsIHRvIDAuMTEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTM3MwoKMjAxMi0wNy0xMCAxMToxNDo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGZpeCBzb21lIHBhZCB0ZW1wbGF0ZS1yZWxhdGVkIGNyaXRpY2FscyBpbiBjYW1lcmFiaW4gdGVzdAoKMjAxMi0wNy0xMCAwMDo1OTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogY29weSBpbnRvIHByb3ZpZGVkIGJ1ZmZlciBpZiBhIGJ1ZmZlciBpcyBwcm92aWRlZAoKMjAxMi0wNy0wOSAyMjowODo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgdGVzdHM6IGZpeCB6YmFyIHRlc3QKCjIwMTItMDctMDkgMTI6MjI6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1cGRhdGUgZm9yIHJpZmYgZmllbGQgcmVuYW1lCgoyMDEyLTA3LTA4IDE5OjIzOjMwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHVwZGF0ZSBiYXNlY2xhc3MgZnJvbSBsaWJ2aXN1YWwgcG9ydGluZwoKMjAxMi0wNy0wOCAwMDowODo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcGFzcyB1bmhhbmRsZWQgbm9uLWN1c3RvbSBldmVudHMgdG8gdGhlIGJhc2UgY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjYyNgoKMjAxMi0wNy0wNiAxNDo1Mzo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHJlbW92ZSBkZXByZWNhdGVkICJpcy1saXZlIiBwcm9wZXJ0eQoJICBVc2UgdGhlICJzdHJlYW1hYmxlIiBwcm9wZXJ0eSBpbnN0ZWFkLgoKMjAxMi0wNy0wNiAxMTo1MDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMToyNjo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MDM6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB1cGRhdGUgZm9yIGFsbG9jYXRpb24gcXVlcnkgY2hhbmdlcwoKMjAxMi0wNy0wNCAxMTozODo1MSArMDIwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1zcmM6IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gYSBjbGllbnQgZGlzY29ubmVjdHMgKGZpeGVzICM2NzkzODUpCgoyMDEyLTA3LTA1IDEzOjE4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZ3N0OiBJbXBsZW1lbnQgc2VnbWVudC1kb25lIGV2ZW50CgoyMDEyLTA3LTAzIDEyOjU3OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcycgZmluYWxpemUgaW1wbGVtZW50YXRpb24KCjIwMTItMDctMDIgMTc6NTU6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBCZXR0ZXIgaGFuZGxpbmcgb2YgYXVkaW8gb3V0cHV0CgkgIENvbmZsaWN0czoKCSAgc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHAKCjIwMTItMDctMDIgMTc6NTI6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rc3JjOiBTZW5kIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDEyLTA3LTAyIDE3OjUxOjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IE1hcmsgZWxlbWVudCBhcyBzaW5rIGVsZW1lbnQKCjIwMTItMDctMDIgMTc6NDk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IHVzZSBHT25jZSBpbiB0eXBlIHJlZ2lzdHJhdGlvbgoKMjAxMi0wNy0wMiAxNzozMjoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IEluY3JlYXNlIHRoZSBpbnRlciBhdWRpbyBzdXJmYWNlIGJ1ZmZlcmluZwoKMjAxMi0wNy0wMiAxMjowNDoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IHJlZW5hYmxlIGNoYW5uZWwgcHJvcGVydHkKCjIwMTItMDctMDIgMTI6MDM6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogU2V0IGZvcm1hdCB0byB0aW1lCgoyMDEyLTA2LTI5IDEyOjAzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgc3lzOiBtYWtlIHZpZGVvIHNpbmtzIGRlZmF1bHQgdG8gZm9yY2UtYXNwZWN0LXJhdGlvPXRydWUKCjIwMTItMDYtMjggMTg6MDQ6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c2Jhc2U6IE1vdmUga25vd24gUFNJIFBJRHMgdG8gd2hlcmUgdGhleSBiZWxvbmcKCSAgVGhpcyBhdm9pZHMgdHNkZW11eCBwYXJzaW5nIGRhdGEgaXMgZG9lc24ndCByZWFsbHkgY2FyZSBhYm91dAoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgoyMDEyLTA2LTAyIDA4OjA1OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUga25vd24gZGVmYXVsdCBTSSBQSURzCgoyMDEyLTA2LTI4IDE3OjQwOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBBQUMgTEFUTSBjYXBzCgoyMDEyLTA2LTIyIDE2OjQ3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGQgYmFzaWMgb3V0cHV0IHVuaXQgdGVzdCB2ZXJpZmljYXRpb24KCjIwMTItMDYtMjIgMTc6NTE6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGFwcGx5IHNvbWUgbW9yZSBDTE9DS19CQVNFIHRvIGVuc3VyZSBzbGFjayBmb3IgUENSIG9mZnNldAoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYwoKMjAxMi0wNi0yNyAxMToyMzoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGZpeCB4LXdtdiBmb3JtYXQgc3RyaW5nCgoyMDEyLTA2LTI2IDE2OjMzOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNi0yNSAxNjoxODo0MSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgYmVmb3JlIHRoZSBkM2QgZGV2aWNlCgkgIFRoZSBvZmZzY3JlZW4gc3VyZmFjZSBrZWVwcyBhIHJlZmVyZW5jZSBvbiB0aGUgZDNkIGRldmljZSwgc28gaWYgdGhlCgkgIGRldmljZSBpcyByZWxlYXNlZCBmaXJzdCB3ZSBkb24ndCBzZWUgdGhlIHJlZmVyZW5jZSBjb3VudCBkZWJ1ZyBtZXNzYWdlCgkgIGdvaW5nIHRvIDAgYXMgaXQgc2hvdWxkIGJlLgoKMjAxMi0wNi0xOSAyMDoxNjo0MCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogY2xlYW4gdXAgZWxlbWVudAoJICBSZW1vdmUgb2xkIGNvbW1lbnRlZCBjb2RlIGFuZCB1bmVlZGVkIGV4dHJhIGluZGVudGF0aW9uCgoyMDEyLTA2LTE5IDIwOjAzOjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiByZXdvcmsgbG9ja2luZyBmb3IgZGV2aWNlcyBsb3N0CgoyMDEyLTA2LTE5IDIwOjE5OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIGFuZCByZWNyZWF0ZSB0aGUgZGV2aWNlIGluIHByZXBhcmVfd2luZG93CgoyMDEyLTA2LTI0IDIxOjExOjM5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogYXZvaWQgZGFyayBwaXhlbHMgaW4gZmFkZS1hbmQtbW92ZS11cCBtb2RlCgoyMDEyLTA2LTI0IDIwOjU0OjI0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGZpeCBpbnB1dCBidWZmZXIgaGFuZGxpbmcKCSAgVXNlIF9yZXBsYWNlIGluc3RlYWQgb2YgX2FwcGVuZCB0byBmaXggZ3Jvd2luZyBidWZmZXJzLgoKMjAxMi0wNi0yMyAxNTowMjoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIGhscywgc2RwOiB1cGRhdGUgZm9yIGdzdF9lbGVtZW50X21ha2VfZnJvbV91cmkoKSBjaGFuZ2VzCgoyMDEyLTA2LTIxIDEyOjE3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92NGwyL1JFQURNRToKCSAgc3lzOiByZW1vdmUgbGVmdC1vdmVyIHY0bDIgZGlyIHdoaWNoIGhhcyBtb3ZlZCB0byBnb29kCgkgIGxldCdzIG5vdCBrZWVwIGEgUkVBRE1FIGFyb3VuZCB0byBhbm5vdW5jZSBpdCdzIG1vdmVkIHRvIC1nb29kLAoJICB0aGF0J3MganVzdCBjbHV0dGVyLgoKMjAxMi0wNi0yMSAxMTo0MzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVhbGx5IGFsd2F5cyBkZWZpbmUgREVDS0xJTktfT1NYIGNvbmRpdGlvbmFsCgoyMDExLTA3LTEzIDE5OjI1OjA4ICswMTAwICBUb255IEhvdWdodG9uIDxoQHJlYWxoLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIENvcnJlY3Qgc2F0ZWxsaXRlIGRlbGl2ZXJ5IGRlc2NyaXB0b3IgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29kZSB0byBwYXJzZSBzYXRlbGxpdGUgZGVsaXZlcnkgZGVzY3JpcHRvcnMgdG8gZ2VuZXJhdGUKCSAgInNhdGVsbGl0ZSIgc3RydWN0dXJlcyBhcHBlYXJlZCB0byBiZSBjb3B5ICYgcGFzdGVkIGZyb20gY2FibGUncyBjb2RlCgkgIHdpdGhvdXQgYW1lbmRpbmcgZm9yIHNhdGVsbGl0ZS4KCSAgQWxzbyBhZGRlZCA4UFNLIHRvIGR2YnNyYydzIGVudW0gZm9yIG1vZHVsYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ0ODUKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmgKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCjIwMTItMDYtMjAgMTg6MTQ6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBSZXdvcmsgaGFuZGxpbmcgYW5kIGNsZWFudXBzCgkgIHRzcGFkIGFsd2F5cyBoYXMgYSBzdGF0aWMgc291cmNlIHBhZCB3aGljaCBvdXRwdXQgZXZlcnl0aGluZyByZWNlaXZlZAoJICAobm90IGZ1bmN0aW9uYWwgeWV0KS4KCSAgUHJvZ3JhbSBwYWRzIGFyZSBub3cgcmVxdWVzdCBwYWRzLgoJICBSZW1vdmUgYWxsIGNydWZ0IHRoYXQgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHN3aXRjaCBvdmVyCgkgIHRvIG1wZWd0c2Jhc2UuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCjIwMTItMDYtMjAgMTg6MTA6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBbHdheXMgc2VuZCBFT1MKCSAgc3ViY2xhc3Mgd2lsbCB0YWtlIGNhcmUgb2YgaGFuZGxpbmcgaXQgbW9yZSBpZiBuZWVkZWQKCjIwMTItMDYtMjAgMTc6NTI6MTMgLTA1MDAgIE1pa2UgUnVwcmVjaHQgPG1pa2UucnVwcmVjaHRAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggZWxlbWVudCBsb3NpbmcgZGF0YSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcnMKCSAgcnRtcHNyYyBvdXRwdXRzIHRydW5jYXRlZCBidWZmZXJzIGJlY2F1c2UsIHdoZW4gZW5vdWdoIGRhdGEgaXMKCSAgcmVhZCB0byBmaWxsIHRoZSBidWZmZXIsIHRoZSBhbW91bnQgcmVhZCB0aGF0IHRpbWUgKHRvZG8pIGlzIHNldAoJICB0byB6ZXJvIGJlZm9yZSBpdCdzIGFkZGVkIHRvIHRoZSBjdW11bGF0aXZlIGJ1ZmZlciBzaXplIChic2l6ZSkuCgkgIFRoZSBidWZmZXIgaXMgdGhlbiB0cnVuY2F0ZWQgdG8gYnNpemUgcmVzdWx0aW5nIGluIGxvc3QgZGF0YS4KCSAgVGhpcyBwYXRjaCBhZGRzIHRvZG8gdG8gYnNpemUgYmVmb3JlIHNldHRpbmcgdG9kbyB0byB6ZXJvLgoJICBGaXhlcyAjNjc4NTA5CgoyMDEyLTA2LTIwIDExOjAyOjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogRml4IGZsYWcgY2hlY2tpbmcKCjIwMTItMDYtMjAgMTA6NTk6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0OiAjaWYwIGNvZGUgdGhhdCBuZXZlciBoYXBwZW5zCgkgIFRoZSBvbmx5IHBsYWNlIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCBpcyB3aXRoIGxvZnAgYmVpbmcgYSBndWludDggKGZyb20KCSAgYSBkYXRhIGJsb2NrKS4KCjIwMTItMDYtMjAgMTA6NTg6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBVc2UgcHJvcGVyIHZhcmlhYmxlIHR5cGUKCjIwMTItMDYtMjAgMTI6MzE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICB1cGRhdGUgZm9yIGJ1cyBhcGkgY2hhbmdlcwoKMjAxMi0wNi0yMCAxMjoxOTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcG9ydCB0ZXN0IHRvIDAuMTEKCjIwMTItMDYtMjAgMTI6MTc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggdmFsdWUgaGFuZGxpbmcgaW4gcGFkIGl0ZXJhdGlvbgoKMjAxMi0wNi0yMCAxMDozNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFzayBhcGkgY2hhbmdlCgoyMDEyLTA2LTE5IDIyOjQ1OjI3IC0wNDAwICBNYXRlaiBLbm9wcCA8TWF0ZWpAbmV3LWhvc3QtNS5ob21lPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODEzMAoKMjAxMi0wNi0xOSAxMDozNTo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBEZXRlY3QgbW9yZSBpc3N1ZXMgd2l0aCBjb25maWd1cmF0aW9uIGZpbGUKCSAgUmVwb3J0IHVzZWZ1bCBlcnJvcnMgd2hlbjoKCSAgKiBmaWxlIGlzIHByZXNlbnQgYnV0IGVtcHR5CgkgICogcmVxdWVzdGVkIGNoYW5uZWwgaXMgbm90IHByZXNlbnQKCjIwMTItMDYtMTkgMTA6MjI6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgZHZiYmFzZWJpbjogRW1pdCBhbiBlcnJvciB3aGVuIHdlIGZhaWwgcmVhZGluZyB0aGUgY2hhbm5lbHMgZmlsZQoJICBDb25mbGljdHM6CgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jCgoyMDExLTAyLTAxIDEwOjIzOjA0IC0wODAwICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNwZWxsLWNoZWNrCgoyMDExLTAxLTE0IDE5OjMwOjA4IC0wODAwICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IGJldHRlciBkdnNyYyBwb2xhcml0eSBpbmZvCgoyMDEyLTA2LTE4IDExOjM2OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dDogRml4IGluaXRpYWxpemF0aW9uCgkgIFdlIGFsd2F5cyBlbmRlZCB1cCBlcnJvcmluZyBvbiB0aGUgZmlyc3QgcGFnZSBvdGhlcndpc2UKCSAgQ29uZmxpY3RzOgoJICBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYwoKMjAxMi0wNi0xMCAxMTozNjozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCB1c2UgR0J5dGVBcnJheQoJICBVc2luZyBhIHNpbXBsZSBhcnJheSBjb21lcyB0byB0aGUgc2FtZSByZXN1bHQgZm9yIGEgZnJhY3Rpb24gb2YgdGhlIGNvc3QKCjIwMTItMDYtMTAgMTE6MjE6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBdm9pZCBjb3B5aW5nIEdzdFN0cnVjdHVyZQoKMjAxMi0wNi0wOCAxNToxMjozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZXNjOiBEb24ndCBhbGxvY2F0ZS9mcmVlIEdzdE1QRUdEZXNjcmlwdG9yCgkgIEp1c3QgdXNlIHN0YXRpYyB2YXJpYWJsZXMKCjIwMTItMDYtMTYgMTY6NDk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9wbHVnaW4uYzoKCSAgbXBlZ2RlbXV4OiByZW5hbWUgcGx1Z2luIHRvIG1wZWdwc2RlbXV4CgoyMDEyLTA2LTE2IDE2OjMwOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVnZGVtdXg6IHJlbW92ZSB1bnVzZWQgVFMgZGVtdXhlciBiaXRzIHRoYXQgaGF2ZSBtb3ZlZCB0byB0c2RlbXV4CgoyMDEyLTA2LTE2IDE5OjIwOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcmVtb3ZlIG9ic29sZXRlIHN0cnVjdCBmaWVsZAoKMjAxMi0wNi0xNiAxNjo1MDo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIERWQiBzdWJ0aXRsZSBhbmQgdGVsZXRleHQgc3RyZWFtcwoJICBTZWUgYnVnICM2NzM1ODIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbQoKMjAxMi0wNi0xNiAxNjo1MDozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvcHRpb25hbGx5IHVzZSBmaXhlZC1zaXplIFBFUyBoZWFkZXIKCjIwMTItMDYtMTYgMTY6NTA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9ubHkgd3JpdGUgUFRTIGFuZCBEVFMgaWYgZGlmZmVyZW50CgoyMDEyLTA2LTE2IDE2OjUwOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9wdGlvbmFsbHkgc2V0IGRhdGFfYWxpZ25tZW50IGZsYWcgaW4gUEVTIGhlYWRlcgoKMjAxMi0wNi0xNiAxNjo1MDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogcmUtZW5hYmxlIGluYWR2ZXJ0ZW50IGRpc2FibGVkIGNvZGUKCjIwMTItMDYtMTYgMTY6NDQ6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkanVzdCBhZ2FpbiB0byBtb2RpZmllZCBidWZmZXIgY29sbGVjdCBiZWhhdmlvdXIKCSAgLi4uIGJ5IGVmZmVjdGl2ZWx5IHJldmVydGluZyBwcmV2aW91cyBhZGp1c3RtZW50LgoKMjAxMi0wNi0xNiAxNjo0OTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHVzZSBkZWZhdWx0IENvbGxlY3RQYWRzIGNvbGxlY3QgaGV1cmlzdGljCgkgIC4uLiB3aXRoIGFuIGFwcHJvcHJpYXRlbHkgY3VzdG9tIGJ1ZmZlciBjbGlwIGZ1bmN0aW9uIHRvIGFycmFuZ2UgZm9yCgkgIGJ1ZmZlciBwcm9jZXNzaW5nLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguaAoKMjAxMi0wNi0xNiAxNTo1NDo0OSArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgyMTEKCjIwMTItMDYtMTYgMTk6MTc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcG9ydGVkIHNlZ21lbnQgaW5pdAoKMjAxMi0wNi0xNCAxNDo0OTo1NSAtMDcwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgxMzAKCjIwMTItMDYtMTUgMTM6MDA6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IHJlY3JlYXRlIHRoZSBkM2QgZGV2aWNlIGlmIGl0IGFscmVhZHkgZXhpc3RzCgoyMDEyLTA2LTE1IDExOjQxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL01ha2VmaWxlLmFtOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgamFzcGVyOiBSZW5hbWUgZnJvbSBqcDJrIHRvIGphc3BlcgoJICBKYXNwZXIgaXMgbm90IHRoZSBvbmx5IEpQRUcyMDAwIGxpYnJhcnkgb3V0IHRoZXJlIGFuZCB3ZQoJICBtaWdodCB3YW50IHRvIGFkZCBlbmNvZGVycy9kZWNvZGVycyBiYXNlZCBvbiBPcGVuSlBFRyBmb3IgZXhhbXBsZS4KCjIwMTItMDYtMTUgMTA6MzI6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBhZGQgbWlzc2luZyBtdXRleCB1bmxvY2sgb24gZXJyb3IgcGF0aAoKMjAxMi0wNi0xNSAxMDoyNDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBzZXQgYXV0aG9yIHRvIG15c2VsZiwgYW5kIHVwZGF0ZSBjb3B5cmlnaHQgbm90aWNlcwoJICBiZWNhdXNlIGFzIHNsb21vIG5vdGVkLCBpbiBmYWN0IHByZXR0eSBtdWNoIGFsbCB0aGUgY29kZSBpbiB0aGVyZSBpcyBtaW5lLgoKMjAxMi0wNi0xNSAwMDo1ODo0MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgY3JlYXRlIG5ldyBpbnRlcm5hbCB3aW5kb3dzIGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUKCjIwMTItMDYtMDggMjM6MDE6MjYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBGaXggY29tcGlsaW5nIGluIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzcyNAoKMjAxMi0wNi0xMSAxMzoxMDo0MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkOiByZW5hbWUgdGhlIGxpYiBmcm9tIGxpYnJlc2luZHZkIHRvIGxpYmdzdHJlc2luZHZkCgkgIEZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDYtMDcgMTU6MDY6MzQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBndWFyZCBhZ2FpbnN0IG5vdCBmaW5kaW5nIHNvbWUgZGF0YSBvbiBhIERWRAoJICBNYXkgcG9zc2libHkgaGVscCB3aXRoIGEgcGFydGljdWxhciBEVkQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMxMTgKCjIwMTItMDYtMTQgMDI6NDc6MTAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmxmaWxlc2luazogUmVtb3ZlIHN0cmF5IGRlYnVnIHByaW50cwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MDYwCgoyMDEyLTA2LTEyIDIxOjM1OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICBsY3M6IHJlbW92ZSBvbGQgTENTIGNvbG9yc3BhY2UgY29udmVyc2lvbiBwbHVnaW4KCSAgV2Fzbid0IGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCBldmVuIGJhY2sgaW4gdGhlIGRheQoJICBubyBvbmUga25ldyB3aGVyZSB0aGUgY29ycmVzcG9uZGluZyBsaWIgd2FzIGZyb20uCgoyMDEyLTA2LTEyIDIxOjI5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jaGFydC8uZ2l0aWdub3JlOgoJKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9jaGFydC9jaGFydC52Y3Byb2o6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICBjaGFydDogcmVtb3ZlIG9sZCBwbHVnaW4gdGhhdCBoYXMgbmV2ZXIgYmVlbiBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAyMToyMDozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJKiBnc3QvdmlkZW9kcm9wL3ZpZGVvZHJvcC52Y3Byb2o6CgkgIHZpZGVvZHJvcDogZHJvcCB2aWRlb2Ryb3AKCSAgSXQgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCB2aWRlb3JhdGUgZG9lcyBpdHMgam9iIG5vdy4KCjIwMTItMDYtMTIgMjE6MTY6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0cy8uZ2l0aWdub3JlOgoJKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSogZXh0L2FydHMvZ3N0X2FydHNpby5pZGw6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW9faW1wbC5jYzoKCSogZXh0L2FydHMvZ3N0X2FydHNpb19pbXBsLmg6CgkqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSogZXh0L2FydHNkL1JFUVVJUkVNRU5UUzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9hcy1hcnRzLm00OgoJKiBtNC9nc3QtYXJ0c2MubTQ6CgkgIGFydHM6IHJlbW92ZSBhUnRzLXJlbGF0ZWQgcGx1Z2lucwoJICBhUnRzIGRldmVsb3BtZW50IHN0b3BwZWQgaW4gMjAwNCwgaXQncyB1bmxpa2VseSBldmVyIGlzCgkgIHN0aWxsIHVzaW5nIGl0LiBCZXNpZGVzLCB0aGVzZSBlbGVtZW50cyB3ZXJlIG5ldmVyIGV2ZW4KCSAgcG9ydGVkIHRvIDAuMTAuCgoyMDEyLTA2LTEyIDIxOjAyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICBzaG91dDogcmVtb3ZlIG9sZCBzaG91dCBwbHVnaW4gdGhhdCBoYXMgbmV2ZXIgYmVlbiBwb3J0ZWQgdG8gMC4xMAoJICBUaGVyZSdzIHNob3V0MiBpbiAtZ29vZCBub3cuCgoyMDEyLTA2LTEyIDIwOjM1OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICBoZXJtZXM6IHJlbW92ZSBoZXJtZXMgY29sb3JzcGFjZSBjb252ZXJ0ZXIgdGhhdCB3YXMgbmV2ZXIgcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMTk6MDY6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogcmVtb3ZlIGxlZ2FjeSBwbHVnaW4KCjIwMTItMDYtMTIgMTk6MDI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgIGF1ZGlvcmVzYW1wbGU6IHJlbW92ZSBvbGQgYXVkaW9yZXNhbXBsZSBwbHVnaW4gdGhhdCB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAxODo1MzoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IHVwZGF0ZSBmb3IgbmV3IHRhZyBldmVudCBBUEkKCjIwMTItMDYtMTIgMTg6NDc6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgZGl2eDogcmVtb3ZlIHBsdWdpbiB0aGF0IHRoZSB3b3JsZCBkb2Vzbid0IG5lZWQgYW55IG1vcmUKCSAgMjAwMiBjYWxsZWQuCgoyMDEyLTA2LTEyIDEwOjU5OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRml4IGFycmF5IHR5cGUKCSAgV2Ugd2FudGVkIGFuIGFycmF5IG9mIGd1aW50OCAoYW5kIG5vdCBhbiBhcnJheSBvZiBwb2ludGVycykgdG8gc3RvcmUKCSAgdGhlIGRhdGEgZnJvbSBnc3RfYnVmZmVyX2V4dHJhY3QoKSBhbmQgcmVhZCBpdC4KCjIwMTItMDYtMTIgMDk6MTA6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRvbid0IGFjY2VzcyBidWZmZXIgYWZ0ZXIgX2ZpbmlzaF9mcmFtZQoJICBVbm1hcCB0aGUgYnVmZmVyIGJlZm9yZSBjYWxsaW5nIF9maW5pc2hfZnJhbWUgYmVjYXVzZSB3ZSBhcmUgbm90IGFsbG93ZWQgdG8KCSAgYWNjZXNzIGl0IGFmdGVyLgoKMjAxMi0wNi0xMSAxNjo0NTo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHNwcmlua2xlIHNvbWUgbW9yZSBkZWJ1ZyBjYXRlcmluZwoKMjAxMi0wNi0xMSAxNjo0NDowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFkZCBTUE4vUFRTIGluZGV4aW5nIGNhcGFiaWxpdGllcwoJICBCYXNlZCBvbiBwYXRjaCBieSBBbmRyZWFzIEZyaXNjaCA8ZnJheGluYXNAb3BlbmRyZWFtYm94Lm9yZz4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDg5MAoKMjAxMi0wNi0xMSAxNDowMzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBtZW1jcHkgZHVlIHRvIHRlbXBvcmFyeSBwYWNrZXQgYnVmZmVyCgkgIC4uLiBieSB3cml0aW5nIGRpcmVjdGx5IGludG8gdGhlIG91dHB1dCBidWZmZXIgaW5zdGVhZC4KCjIwMTItMDYtMTEgMTA6NDk6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGRvIG5vdCBhc3NlcnQgb24gZGF0YSBpbnB1dCwganVzdCByZXR1cm4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDA2OQoKMjAxMi0wNi0xMCAxNDoyOTo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogYWxsb3cgZGVidWdnaW5nIG9mIHJlbmRlciBhbmQgaGlnaGxpZ2h0IHJlY3RhbmdsZXMgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIEVuYWJsZSBkZWJ1Z2dpbmcgb2YgcmVjdGFuZ2xlcyB2aWEgR1NUX0RWRF9TUFVfREVCVUcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTEtMTItMzEgMTg6MzU6NDAgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBjbGVhbnVwIGRlYnVnIGNvZGUKCSAgQ2xlYW4gdXAgZGVidWcgY29kZSBmb3IgZHJhd2luZyBoaWdobGlnaHQgcmVjdHMgd2hpY2ggd2Fzbid0IGV2ZW4KCSAgY29tcGlsaW5nIHByZXZpb3VzbHkuCgkgIFRPRE86IG1pZ2h0IGJlIG5pY2UgaWYgdGhpcyBjb3VsZCBiZSBjb250cm9sbGVkIGJ5IHByb3BlcnRpZXMgb3IKCSAgZW52IHZhcmlhYmxlcyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGVuYWJsZSB0aGUgZGVidWcgY29kZSBhdAoJICBydW50aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDEyLTA2LTA4IDE3OjE0OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBwbHVnIGxlYWtzIHdoZW4gZnJlZWluZyBzdHJlYW0KCjIwMTItMDYtMDggMTc6MTM6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBsdWcgc29tZSBsZWFrcwoKMjAxMi0wNi0wOCAxNTo1ODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZWxlbWVudHM6IFVzZSBnc3RfcGFkX3NldF9jYXBzKCkgaW5zdGVhZCBvZiBtYW51YWwgZXZlbnQgZmlkZGxpbmcKCjIwMTItMDYtMDggMTU6MDU6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwM2EwZTU3IHRvIDk4ZTM4NmYKCjIwMTItMDYtMDggMTE6NTU6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkanVzdCB0byBtb2RpZmllZCBidWZmZXIgY29sbGVjdCBiZWhhdmlvdXIKCjIwMTItMDYtMDggMTE6MTI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IG1wZWd2aWRlb3BhcnNlcjogYWRqdXN0IHRvIG1vZGlmaWVkIEFQSQoKMjAxMi0wNi0wNyAxNzo0MzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGRyYWluIGNhY2hlZCBkYXRhIHVwb24gRU9TCgoyMDEyLTA2LTA3IDE3OjM4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWxsb3cgZm9yIGFsaWduZWQgb3V0cHV0CgkgIC4uLiBhbmQgcmVmYWN0b3IgcGFja2V0IGhhbmRsaW5nIHNvbWUgbW9yZSBpbiB0aGUgcHJvY2Vzcy4KCSAgRml4ZXMgIzY1MTgwNS4KCjIwMTItMDYtMDcgMTQ6Mzg6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogaW1wcm92ZSBtMnRzIHRpbWVzdGFtcCBpbnRlcnBvbGF0aW9uCgkgICogYSBrbm93biBQQ1Igc2hvdWxkIHJlYWxseSBiZWxvbmcgdG8gYSBwYWNrZXQgaG9sZGluZyB0aGF0IFBDUgoJICAqIGludGVycG9sYXRpb24gY2FuIGJlIGV4dGVuZGVkIGJhY2t3YXJkIGZvciBpbml0aWFsIHBhY2tldHMgKFBBVCwgUE1UKQoKMjAxMi0wNi0wNyAxMjoxNzoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHR3ZWFrIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgoyMDEyLTA2LTA3IDE2OjIzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MiA9PT0KCjIwMTItMDYtMDcgMTY6MjM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTIKCjIwMTItMDYtMDcgMTY6MjI6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNi0wNyAxMjozMzozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrcwoJICBJIG9ubHkgdGVzdGVkIHRoYXQgdnA4ZW5jICEgdnA4ZGVjIGRvZXMgbm90IGNyYXNoLCBhcyB2YWxncmluZCBkb2VzIG5vdCBncm9rCgkgIGF0IGxlYXN0IG9uZSBvZiB0aGUgaW5zdHJ1Y3Rpb25zIHVzZWQgYnkgdnA4ZW5jLCBwcmV2ZW50aW5nIG1lIGZyb20gY2hlY2tpbmcKCSAgYSBsZWFrLCBhbmQgdGhlIGxhY2sgb2Ygb25lIGFmdGVyIHRoZSBwYXRjaC4KCjIwMTItMDYtMDcgMTI6MjU6MDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGJ1ZmZlciBsZWFrCgoyMDEyLTA2LTA3IDEyOjE2OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBmcmFtZSBsZWFrcwoKMjAxMi0wNi0wNyAxMjowMTozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggY29kZWMgc3RhdGUgbGVhawoKMjAxMi0wNi0wNyAxMTo1ODo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggc3RyYXkgdW5yZWYgY2F1c2luZyBhY2Nlc3MgdG8gZnJlZWQgbWVtb3J5CgoyMDEyLTA2LTA3IDExOjUyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IGZpeCB2aWRlbyBjb2RlYyBzdGF0ZSBsZWFrcwoKMjAxMi0wNi0wNiAxODoxODo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFmYWIzNTkgdG8gMDNhMGU1NwoKMjAxMi0wNi0wNiAxNjowMDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTAzIDAxOjU4OjEyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IHRoZSB3YXlsYW5kIHZlcnNpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzM2MgoKMjAxMi0wNi0wNiAxMzowMjo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDYtMDYgMTE6MTQ6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyOiBmaXggb3V0cHV0IGZyYW1lIG1hcAoKMjAxMi0wNi0wNSAxNzo1Nzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogUmVtb3ZlIHVuLW5lZWRlZCBjaGVja3MgYW5kIGlubGluZSBzb21lIGZ1bmN0aW9ucwoJICB2YWwgYW5kIG5yIGFsd2F5cyBleGlzdCAoJm5yLCAmdmFsdWUpCgkgIGJpdHMgaXMgYWx3YXlzIGNhbGxlZCBzbWFsbGVyIHRoYW4gdGhlIHdpZHRoCgkgIE1ha2VzIHBhcnNpbmcgMzAlIGZhc3RlcgoKMjAxMi0wNi0wNSAxODowMzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBtb3JlIGhlYWRlciBjbGFyaWZpY2F0aW9ucyBhbmQgcmVtb3ZlIHNvbWUgcmVkdW5kYW50IGZpZWxkcwoKMjAxMi0wNi0wNSAxNDoxODozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgUElEIGNvbGxpc2lvbiBmb3IgYXV0by1nZW5lcmF0ZWQgUElECgoyMDEyLTA2LTA1IDE2OjU5OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgdHNtdXg6IGlubGluZSBtb3JlIGNvZGUKCSAgV2l0aCB0aGUgcHJldmlvdXMgY29tbWl0LCBtYWtlcyBtcGVndHNtdXggMTAgdG8gMTUlIGZhc3RlcgoKMjAxMi0wNi0wNSAxNjo1ODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBEb24ndCB1c2UgZ19saXN0X2ZpcnN0ICgpCgkgIFNlcmlvdXNseSAuLi4KCjIwMTItMDYtMDUgMTI6MTc6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhbHNvIHByb3Blcmx5IHJlc2V0IGFuZCBmcmVlIHBhZCBkYXRhCgoyMDEyLTA2LTA1IDExOjUyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcmVmYWN0b3IgaW5pdCB1c2luZyBfcmVzZXQgdG8gY2F0ZXIgZm9yIHByb3BlciByZXVzZQoKMjAxMi0wNi0wNCAxNjoyNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGhlYWRlciBjbGVhbnVwcyBhbmQgY2xhcmlmaWNhdGlvbnMKCjIwMTItMDYtMDQgMTY6MDU6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0d2VhayBidWZmZXIgaGFuZGxpbmcKCSAgLi4uIGZvciBjbGFyaXR5IGFuZCB0byBhdm9pZCBtaXhpbmcgX3BlZWsvX3BvcAoKMjAxMi0wNi0wNCAxNjowMzoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1pc2MgY29kZSBjbGVhbnVwcyBhbmQgcmVmYWN0b3JpbmcKCjIwMTItMDYtMDQgMTQ6NTQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBzZXBhcmF0ZSBhbGxvY2F0aW9uIGZvciBsaXN0IG9mIHByb2dyYW1zCgoyMDEyLTA2LTA0IDE0OjU0OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcmVhcnJhbmdlIGRlZmluZSdzCgoyMDEyLTA2LTA0IDE0OjQ4OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcmVtb3ZlZCBoYWNrZWQgZXZlbnQgaGFuZGxpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIFJldmVydGVkIGJhY2sgdG8gMC4xMCBzdGF0ZSBhcyBpdCB3YXNuJ3QgcmVhbGx5IHBvcnRlZAoJICB5ZXQgYW55d2F5LgoKMjAxMi0wNi0wNSAwOTo1NDo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogQWxzbyBwYXJzZSBUT1QgKFRpbWUgT2Zmc2V0IFNlY3Rpb24pCgkgIEl0J3MgdGhlIHNhbWUgYXMgVERULCBleGNlcHQgd2l0aCBkZXNjcmlwdG9ycyBhdCB0aGUgZW5kCgoyMDEyLTA2LTA1IDA5OjUyOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGSVhNRS9Db21tZW50IGFib3V0IGlzc3Vlcy9lcnJvcnMKCjIwMTItMDYtMDUgMDk6NDg6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGxlYWsKCjIwMTItMDYtMDUgMDk6NDQ6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVkdWNlIHVzYWdlIG9mIEdzdEFkYXB0ZXIKCSAgUGVlayBhcyBtdWNoIGFzIHBvc3NpYmxlIGluIG9uZSBnby4gSWRlYWxseSB3ZSBzaG91bGQgcmVtb3ZlIHVzYWdlIG9mCgkgIGFkYXB0ZXIgYWx0b2dldGhlciwgYnV0IGZvciB0aGUgdGltZSBiZWluZyBpdCBwcm92aWRlcyBhIGJpZyBlbm91Z2gKCSAgc3BlZWR1cCAoYXJvdW5kIDIgdGltZXMgZmFzdGVyIHBlciBwYWNrZXQgcHJvY2Vzc2VkKS4KCjIwMTItMDYtMDQgMDg6Mzk6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgYWxsb2MvZnJlZSB3aGVyZSBwb3NzaWJsZQoJICBIZWxwcyBmb3Igc3RyZWFtcyB3aXRoIGEgbG90IG9mIHNlY3Rpb25zLCBsaWtlIEVJVAoKMjAxMi0wNi0wNCAwODozNzo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIHNlY3Rpb25zIHRoYXQgZG9uJ3QgaGF2ZSBhIENSQwoKMjAxMi0wNi0wNCAwODozMjo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ2RlZnM6IEFkZCBsaXN0IG9mIGtub3duIHRhYmxlX2lkCgkgIEFsb25nIHdpdGggdGhlIHNwZWNpZmljYXRpb25zIGZyb20gd2hpY2ggdGhleSBjb21lLiBBdm9pZHMgaGF2aW5nCgkgIHRvIHNlYXJjaCBmb3Igd2hpY2ggc3BlYyBhIHRhYmxlX2lkIGJlbG9uZ3MgdG8KCjIwMTItMDYtMDMgMTA6NTg6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ2xhcmlmeSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIFVzZSBoZXggdmFsdWVzIGluIG1vcmUgY2FzZXMgKHNpbmNlIHRoYXQncyBob3cgUElEL3RhYmxlX2lkLy4uLiBhcmUKCSAgcmVwcmVzZW50ZWQgaW4gdGhlIHZhcmlvdXMgc3BlY3MpLgoKMjAxMi0wNi0wMyAxMDo1NjoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNiYXNlL3BhY2tldGl6ZXI6IEFkZCBDQVQgc2VjdGlvbiBoYW5kbGluZwoJICBBbGxvd3MgcmVwb3J0aW5nIHRoZSBnbG9iYWwgRU1NCgoyMDEyLTA2LTAzIDEwOjUzOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgZGVidWcgaW4gUFNJIGhhbmRsaW5nCgkgIEFsbG93cyB1cyB0byBpZGVudGlmeSB3aGljaCBTSSB3ZSBkb24ndCBoYW5kbGUKCjIwMTItMDYtMDMgMTA6NTM6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBkZWZhdWx0IGtub3duIFBTSSB0YWJsZV9pZAoKMjAxMi0wNi0wMiAwODowNjoyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IFJlZmFjdG9yIFBTSSBkZXRlY3Rpb24KCjIwMTItMDYtMDUgMDk6MzA6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIGNvbmZpZy5oCgoyMDEyLTA2LTA1IDA5OjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IEdzdEJhc2VQYXJzZTo6Z2V0X3NpbmtfY2FwcygpIGltcGxlbWVudGF0aW9ucwoJICBUaGV5IHNob3VsZCB0YWtlIHRoZSBmaWx0ZXIgY2FwcyBpbnRvIGFjY291bnQgYW5kIGFsd2F5cyByZXR1cm4KCSAgdGhlIHRlbXBsYXRlIGNhcHMgYXBwZW5kZWQgdG8gdGhlIGFjdHVhbCBjYXBzLiBPdGhlcndpc2UgdGhlCgkgIHBhcnNlcnMgc3RvcCB0byBhY2NlcHQgdW5wYXJzZWQgc3RyZWFtcyB3aGVyZSB1cHN0cmVhbSBkb2VzIG5vdAoJICBrbm93IGFib3V0IHdpZHRoLCBoZWlnaHQsIGV0Yy4KCSAgRml4ZXMgYnVnICM2Nzc0MDEuCgoyMDEyLTA2LTAxIDE2OjI5OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogRUNNL0NBIHNlY3Rpb25zIGRvbid0IGhhdmUgYSBDUkMKCSAgU28gZG9uJ3QgY2hlY2sgZm9yIGl0IDopCgkgIEFsc28gYWRkIGEgYml0IG1vcmUgaW5mbyBpbiB0aGUgd2FybmluZyBtZXNzYWdlIHRvIHNwZWVkIHVwIGRldGVjdGluZwoJICB3aGV0aGVyIGl0J3MgYSBmYWxzZS1wb3NpdGl2ZSBvciBub3QuCgoyMDEyLTA2LTAxIDEwOjU5OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogcmVsYXggZW50cnkgY29uc3RyYWludAoJICAuLi4gc2luY2UgaXQgaXMgYWNjZXB0YWJsZSBhbmQgcHJvcGVybHkgaGFuZGxlZCBmdXJ0aGVyIG9uLgoKMjAxMi0wNi0wMSAxMDoyOTowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYxYjVhOTYgdG8gMWZhYjM1OQoKMjAxMi0wNS0zMSAxMzowODozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkyYjcyNjYgdG8gZjFiNWE5NgoKMjAxMi0wNS0yOSAxMDo0ODo1NCAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBhZGQgc3VwcG9ydCBmb3IgVkMxIGFuZCBmaXggcGx1Z2lucyByYW5rcwoKMjAxMi0wNS0yOSAxMDo0ODowMyAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGluaXRpYWxpemUgZGVidWcgcHJvcGVybHkKCjIwMTItMDUtMjkgMTA6NDM6NDMgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGZpeCBvYmplY3QgZGlzcG9zYWwgYW5kIGZpbmFsaXphdGlvbgoKMjAxMi0wNS0zMCAxMDozNDo0NCAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgZmx1c2ggYWZ0ZXIgYSBkZXZpY2UgbG9zdAoKMjAxMi0wNS0zMCAxMzo1NDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogUHV0IHRoZSByaWdodCBmbGFncyBpbnRvIHRoZSByaWdodCB2YXJpYWJsZQoKMjAxMi0wNS0zMCAxMjo0NTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjMWM0YTggdG8gOTJiNzI2NgoKMjAxMi0wNS0zMCAxMTozMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmV2ZXJ0IGFjY2lkZW50aWFsbHkgY29tbWl0dGVkIHN0dWZmIGluIGxhc3QgY29tbWl0CgoyMDEyLTA1LTMwIDExOjI0OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogQWRkIE9CSkMgc3BlY2lmaWMgY29tcGlsZXIgZmxhZ3MKCSAgU2VlIGJ1ZyAjNjQzOTM5LgoKMjAxMi0wNS0zMCAxMToyMzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM0MjliYTYgdG8gZWMxYzRhOAoKMjAxMi0wNS0yOSAxNzoyNDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHJlYWQgZ2FpbiBmcm9tIHRoZSByaWdodCBwbGFjZSBpbiB0aGUgaGVhZGVyCgkgIEl0J3MgYXQgYnl0ZSBvZmZzZXQgMTYsIG5vdCAxNC4KCjIwMTItMDUtMjQgMTE6MTE6MDAgLTAzMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFJlZmFjdG9yaW5nIGFuZCBtYWtlIGNvcmUgbW9yZSBzaW1pbGFyIHRvIHRleHRvdmVybGF5CgkgIEVzcGVjaWFsbHkgdGhlIGNvbWJpbmluZyBvZiB0aGUgdGV4dCBhbmQgdmlkZW8gYnVmZmVycyBpcyBub3cKCSAgYWxtb3N0IHRoZSBzYW1lIGFzIGluIHRleHRvdmVybGF5LgoJICBXZSBzaG91bGQgcmVhbGx5IGdldCBhIGJhc2UgY2xhc3MgZm9yIHRoaXMuCgkgIENvbmZsaWN0czoKCSAgZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYwoJICBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oCgoyMDEyLTA1LTI4IDE1OjQ4OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBkdmI6IEFkZCBtb3JlIGRlYnVnZ2luZyB0byBjYW0gc3VwcG9ydAoKMjAxMi0wNC0yNCAxMTowOToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBQb3J0IHRvIC1iYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvZGlyYWMvTWFrZWZpbGUuYW0KCjIwMTItMDUtMjggMTY6NDI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgb2xkIHZpZGVvIGJhc2UgY2xhc3NlcwoKMjAxMi0wNS0yOCAxNjo0MjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hyb2VkaW5nZXI6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0yOCAwNzo1ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBXZSBkb24ndCBhc3N1bWUgcGFja2V0aXplZCBpbnB1dAoJICBPdGhlcndpc2UgdGhlIHBhcnNlIHZtZXRob2QgbmV2ZXJzIGdldHMgY2FsbGVkCgoyMDEyLTA0LTI0IDExOjA4OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm9lZGluZ2VyOiBQb3J0IHRvIC1iYXNlIHZpZGVvIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtCgkgIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYwoJICBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlLCBuZWVkcyBwb3J0aW5nIGFnYWluLgoKMjAxMi0wNS0yOCAxNjowNToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFBvcnQgdG8gMC4xMSBhZ2FpbgoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMTYgMTQ6MDQ6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdFZpZGVvQ29kZWNGcmFtZSBBUEkgY2hhbmdlcwoKMjAxMi0wNC0yNyAxODoyMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSAgdnA4ZGVjOiBJbXByb3ZlIG91dHB1dF9zdGF0ZSBoYW5kbGluZwoJICBBdm9pZCBnZXR0aW5nIG91dHB1dF9zdGF0ZSBmb3IgZXZlcnkgYnVmZmVyIGFzIHRoYXQgcmVxdWlyZXMKCSAgZ2V0dGluZyB0aGUgb2JqZWN0bG9jayBhbmQgZG9pbmcgcmVmZXJlbmNlIGNvdW50aW5nLiBTdG9yZSBpdCBsb2NhbGx5CgkgIHdoZW4gaXQgaXMgY3JlYXRlZCBhbmQgdXNlIGl0LgoKMjAxMi0wNC0yNyAwOTowNTo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBVc2Ugb3V0cHV0c3RhdGUgd2hlbiBjb3B5aW5nIG91dHB1dCBidWZmZXIgZGF0YQoJICBVc2luZyB0aGUgaW5wdXQgc3RhdGUgd2FzIGNhdXNpbmcgYSBjcmFzaCBiZWNhdXNlIHRoZSBzdHJpZGVzL29mZnNldHMKCSAgd291bGQgYmUgd3JvbmcuIEZpeCBpdCBieSB1c2luZyB0aGUgb3V0cHV0IGFzIHdlIGFyZSBkZWFsaW5nIHdpdGgKCSAgdGhlIGRlY29kZWQgZnJhbWUuCgoyMDEyLTA0LTI0IDExOjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogUG9ydCB0byAtYmFzZSB2aWRlbyBiYXNlIGNsYXNzZXMKCSAgQ29uZmxpY3RzOgoJICBleHQvdnA4L01ha2VmaWxlLmFtCgkgIGV4dC92cDgvZ3N0dnA4ZGVjLmMKCSAgZXh0L3ZwOC9nc3R2cDhlbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUgZm9yIG5vdywgbmVlZCB0byBiZSBwb3J0ZWQgYWdhaW4uCgoyMDEyLTA1LTI3IDIzOjQxOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZG8gbm90IGFzc2VydCBvbiBiYWQgaGVhZGVyLCBlcnJvciBvdXQgaW5zdGVhZAoKMjAxMi0wNS0yNyAwMDowMDoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGRvbid0IHVzZSBHc3RTdHJ1Y3R1cmUgQVBJIG9uIHRhZyBsaXN0cwoKMjAxMi0wNS0yNiAxNDo1Nzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ2Rlc2M6IEFkZCBtb3JlIGNvbW1lbnRzL2luZm8KCSAgTmFtZWx5IHdoZXJlIHRoZXkgYmVsb25nIHRvCgoyMDEyLTA1LTI2IDE0OjU3OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1ha2Ugc3VyZSB3ZSBoYXZlIGEgbGFuZ3VhZ2UgY29kZSBiZWZvcmUgdXNpbmcgaXQKCjIwMTItMDUtMjYgMTQ6MTE6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2hlY2sgYmVmb3JlIGdldHRpbmcgZGVzY3JpcHRvcnMgZnJvbSBzdHJ1Y3R1cmUKCSAgQXZvaWRzIHNwdXJpb3VzIHdhcm5pbmdzLiBOb3QgaGF2aW5nIHRob3NlIGRlc2NyaXB0b3JzIGlzIG5vdGhpbmcKCSAgZmF0YWwsIHNvIGNoZWNrIHRoZWlyIHByZXNlbmNlIGJlZm9yZSB0cnlpbmcgdG8gZ2V0IHRoZW0uCgoyMDEyLTA1LTI2IDE0OjA4OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogQmUgYSBiaXQgbW9yZSBwZXJtaXNzaXZlIHdpdGggUFRTL0RUUyBwYXJzaW5nCgkgIEFjY29yZGluZyB0byB0aGUgc3BlY2lmaWNhdGlvbnMgYSBQVFNfRFRTX2ZsYWdzIHZhbHVlIG9mIDB4MDEgaXMgZm9yYmlkZGVuLgoJICAuLi4gYnV0IHRoZXJlIGFyZSBzb21lIHJhcmUgZmlsZXMgb3V0IHRoZXJlIHRoYXQgZG8gdGhhdC4KCSAgSW5zdGVhZCBvZiBlcnJvcmluZyBvdXQsIGxldCdzIHdhcm4sIGNhcnJ5IG9uIHBhcnNpbmcgYWNjb3JkaW5nbHkuCgkgIElmIHRoZSBwYWNrZXQgaXMgcmVhbGx5IGNvcnJ1cHRlZCB0aGVyZSBhcmUgZW5vdWdoIGNoZWNrcyBhZnRlcndhcmQgdG8KCSAgZGV0ZWN0IHRoYXQuCgoyMDEyLTA1LTI1IDIyOjIwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGhlZWQgdGVzdCB2ZWN0b3IgZnJhbWluZyB0byBlYXQgYW55IHBhZGRpbmcKCSAgVGhpcyBmaXhlcyBwYXJzaW5nIG9uIG9uZSBwYXJ0aWN1bGFyIHRlc3QgdmVjdG9yIHdoZXJlIHBheWxvYWQKCSAgZGF0YSBpcyBzbWFsbGVyIHRoYW4gdGhlIGFjdHVhbCBhdWRpbyBwYXlsb2FkLgoKMjAxMi0wNS0yNSAxNDoxNTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBGaXggYml0IG9wZXJhdGlvbgoJICAiYSAlIDgiIGNvcnJlc3BvbmRzIHRvICJhICYgMHg3IiAoYW5kIG5vdCAweGYpLgoJICBzcG90dGVkIGJ5IEp1bGlhbiBTY2hlZWwKCjIwMTItMDUtMjQgMTY6MjI6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogU2ltcGxpZnkgY2hlY2sKCSAgQXZvaWRzIGEgdW5zZXQgdmFyaWFibGUgd2FybmluZyAoZm9yIG5mcmFtZXMpIHdpdGggZ2NjIDQuNy4wCgoyMDEyLTA1LTI0IDIyOjEyOjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogcmVqZWN0IG1ham9yIHZlcnNpb24gbnVtYmVyIGFib3ZlIHdoYXQgd2UgZ3JvawoKMjAxMi0wNS0yNCAyMTo1ODo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IGJ1bXAgd3JpdHRlbiB2ZXJzaW9uIGZyb20gMCB0byAweDAxCgkgIGFzIHBlciB0aGUgc3BlYyB1cGRhdGUgYXQgaHR0cHM6Ly93aWtpLnhpcGgub3JnL09nZ09wdXMjSURfSGVhZGVyCgoyMDEyLTA0LTMwIDE0OjQwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGxvc3QgcGFja2V0IGhhbmRsaW5nIGZvciBGRUMvUExDCgkgIFRoZSBiYXNlIGF1ZGlvIGRlY29kZXIgc2VuZHMgemVybyBzaXplIHBhY2tldHMsIG5vdCBOVUxMIGJ1ZmZlcnMsCgkgIHRvIHNpZ25hbCBkcm9wcGVkIHBhY2tldHMuCgoyMDEyLTA1LTI0IDEyOjMyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGM3MDIwMyB0byAzNDI5YmE2CgoyMDEyLTA1LTIzIDE4OjE5OjUyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzdXBwcmVzcyBzb21lIHdhcm5pbmdzIHdoZW4gZGVidWcgaXMgZGlzYWJsZWQKCSAgV2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyBzaG91bGQgYmUgc3VwcHJlc3NlZCBpZiBjb3JlIGhhcyB0aGUKCSAgZGVidWcgc3lzdGVtIGRpc2FibGVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NjcyCgoyMDEyLTA0LTI1IDIxOjIxOjQzICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuaDoKCSAgUG9ydCBkM2R2aWRlb3NpbmsgdG8gMC4xMQoJICBGaXhlcyAjNjc0ODE3CgoyMDEyLTA1LTIzIDEyOjA3OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZDogcG9ydCB0byAwLjExCgoyMDEyLTA1LTIyIDE4OjU1OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBFbWl0IG5vLW1vcmUtcGFkcyB3aGVuIHBhZCBpcyBhZGRlZAoJICBUaGlzIGF2b2lkcyBhbiBlbmRsZXNzIGhhbmcgd2l0aCBwbGF5YmluMiwgd2hpY2ggc2VlcyBkdmJiYXNlc2JpbiBhcwoJICBoYXZpbmcgZHluYW1pYyBwYWRzIC4uLiBidXQgbmV2ZXIgZW1pdHRlZCBuby1tb3JlLXBhZHMuCgoyMDEyLTA1LTIyIDE4OjUzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgY2FtdXRpbHM6IEZpeCBQTVQgbWVzc2FnZSBjb25zdHJ1Y3Rpb24KCSAgVGhlIHNpemUgb2YgdGhlIG1lc3NhZ2UgZW5kZWQgdXAgYmVpbmcgYmlnZ2VyIHRoYW4gaXRzIGNvbnRlbnQuCgkgIFRoYXQgY2F1c2Ugc29tZSBDQSBtb2R1bGVzIHRvIGp1c3QgaGFuZy4KCjIwMTItMDUtMjIgMTg6NTE6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgY2FtdHJhbnNwb3J0OiBBbGxvdyBkZWxheSB3aGVuIHNldHRpbmcgdXAgY2FtIGRldmljZQoJICBTb21lIENBIGRldmljZXMgdGFrZSBhIGxvbmcgdGltZSB0byBzZXQgdGhlbXNlbHZlcyB1cCwKCSAgdGhlcmVmb3JlIHJldHJ5IGV2ZXJ5IDI1MG1zIChmb3IgYSBtYXhpbXVtIG9mIDIuNXMpCgoyMDEyLTA1LTIyIDE4OjQ5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRml4dXAvYWRkIGRlYnVnIHN0YXRlbWVudHMKCjIwMTItMDUtMjIgMTg6NDg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBPbmx5IG9wZW4gZGV2aWNlIHJlYWQvd3JpdGUgd2hlbiBuZWVkZWQKCSAgQXZvaWQgc3RhcnRpbmcgdXAga2VybmVsIHRocmVhZCB3aGVuIG5vdCBuZWVkZWQKCjIwMTItMDUtMjIgMTg6NDY6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogQWRkIHdhcm5pbmcgd2hlbiBkdmIgY2hhbm5lbHMgZmlsZSBpc24ndCBwcmVzZW50CgoyMDEyLTA1LTIzIDA4OjM5OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFNwZWVkIHVwIF9pc19wc2koKQoJICBCeSBtYWtpbmcgaXQgaW5saW5lIGFuZCBzaW1wbGlmeWluZyB0aGUgYml0IG1hY3JvcwoKMjAxMi0wNS0yMiAyMTowMDozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhdm9pZCBzY2FubmluZyBmb3Igc3RhcnQgY29kZXMgdHdpY2UKCSAgLi4uIHNpbmNlIGEgcHJldmlvdXMgdGVybWluYXRpbmcgc3RhcnQgY29kZSBzZXJ2ZXMgYXMgc3Vic2VxdWVudCBzdGFydCBjb2RlLgoKMjAxMi0wNS0yMiAxOToxMToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBGaXh1cHMgZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoKMjAxMi0wNC0xMCAxMjozNjoxNSArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIGxhbmd1YWdlIGNvZGUgdG8gdGFnbGlzdC4KCSAgUmVhZCB0aGUgbGFuZ3VhZ2UgY29kZXMgZm9yIHRyYWNrcyBmcm9tIHRoZSBtcGVndHMgZGVzY3JpcHRvcnMgYW5kIGFkZCBpdCBpbnRvCgkgIHRoZSBwYWRzIHRhZ2xpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM4OTYKCjIwMTItMDUtMjEgMTc6NTM6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgQVBJCgkgIFdlIG5vIGxvbmdlciB1c2UgR3N0QnVmZmVyTGlzdCBhbmQgaW5zdGVhZCBjb3B5IHRoZSBpbmNvbWluZyBkYXRhCgkgIGludG8gbmV3bHkgYWxsb2NhdGVkIG1lbW9yeS4KCSAgVGhpcyBtYWtlcyB0c2RlbXV4IGJlaGF2aW91ciAzIHRvIDQgdGltZXMgZmFzdGVyLgoKMjAxMi0wNS0yMSAxNzo1MzoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdHNwYXJzZTogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgQVBJCgoyMDEyLTA1LTIxIDE3OjUyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEFkYXB0IHRvIG5ldyBwYWNrZXRpemVyIGJlaGF2aW91cgoKMjAxMi0wNS0yMSAxNzo0ODo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCB1c2FnZSBvZiBHc3RCdWZmZXIgaW50ZXJuYWxseQoJICBUaGUgb3ZlcmhlYWQgb2YgY3JlYXRpbmcvdXNpbmcgMTg4IGJ5dGUgR3N0QnVmZmVyIGZyb20gR3N0QWRhcHRlcgoJICBpcyB0b28gZXhwZW5zaXZlLgoJICBXZSBub3cgcGVlayB0aGUgbmV4dCBwYWNrZXQsIGFuZCBwcm92aWRlIGEgZGF0YS9zaXplIHdoaWNoIGlzIG9ubHkKCSAgdmFsaWQgdW50aWwgdGhlIHBhY2tldGl6ZXJwYWNrZXQgaXMgY2xlYXJlZC4KCSAgSW4gYWRkaXRpb24sIGNsZWFudXAgYWxsIHRoZSBpbnRlcm5hbCBjb2RlIHRvIGRlYWwgd2l0aCB0aGF0IG5ldwoJICBiZWhhdmlvdXIgYW5kIHJlbW92ZSBkb3VibGUtY2hlY2tzIHdoaWNoIGFyZSBubyBsb25nZXIgbmVlZGVkLgoJICBUaGUgc2VjdGlvbl9sZW5ndGggaXMgbm93IHRoZSBjb3JyZWN0ZWQgc2VjdGlvbl9sZW5ndGggKGkuZS4gd2l0aAoJICB0aGUgYWRkaXRpb25hbCAzIGJ5dGVzKS4KCSAgQXZvaWQgdXNpbmcgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgYW5kIGluc3RlYWQgdHJhY2sKCSAgdGhlIHRpbWVzdGFtcCBvdXJzZWxmLgoKMjAxMi0wNS0yMCAxMzoyNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBEZXRlY3QgUENSIHdyYXBhcm91bmQgaW4gc2tldyBjb2RlCgkgIElmIHRoZSByZWNlaXZlZCBQQ1IgaXMgZ29pbmcgYmFja3dhcmRzIChieSBhIHNhZmUgbWFyZ2luKSwgaW5jbHVkZQoJICB0aGF0IHdyYXBhcm91bmQgZm9yIGZ1cnRoZXIgY2FsY3VsYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTItMDUtMjIgMTQ6NDg6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGF2b2lkIHJlcGVhdGVkIGNhcHMgc2V0dGluZwoKMjAxMi0wNS0yMiAxNDowMDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHR3ZWFrIGNvZGVjIHBhcnNlciBBUEkgYW5kIGFkanVzdCBwYXJzZXIgZWxlbWVudAoJICAuLi4gdG8gYWxsb3cgZm9yIG1vcmUgZWZmaWNpZW50IHBhcnNpbmcgYW5kIChtb3JlKSBjb25zaXN0ZW50IHBhcnNpbmcgQVBJCgkgIGFtb25nIHZhcmlvdXMgY29kZWMgcGFyc2Vycy4KCSAgRml4ZXMgIzY3MjcwMS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMjIgMTI6MzA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBmaXh1cCBkb2N1bWVudGF0aW9uIHNwZWxsaW5nCgoyMDEyLTA1LTA4IDE2OjUxOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IE9wdGltaXplIHNjYW5uaW5nIGZvciBzdGFydCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI3MDEKCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTIyIDExOjEwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRG91YmxlIHByb3BlcnRpZXMgYXJlIHN1cHBvc2VkIGluIHRoZSByYW5nZSBbMC4wLCAxLjBdCgkgIEZpeGVzIGJ1ZyAjNjc2MTM3LgoKMjAxMi0wNS0yMSAxOToyMjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHVub2JmdXNjYXRlIGZyYW1lIHBhcnNpbmcKCSAgLi4uIGFuZCBhZGQgY29tbWVudHMgYW5kIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeGVzICM2NzQyMDIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jCgoyMDEyLTA1LTIxIDE2OjM3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJldmVydCAiZml4IGNyYXNoIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDkxMjEwODMxZWU2NzIzNDNhMjk2ZjMxMzU3MTQ0MzU5ZDVjMmU3NjguCgkgIFN1Y2ggZXhwbGljaXQgcmVzZXQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgYXMgaXQgaXMgYXJyYW5nZWQgZm9yIGJ5CgkgIHRoZSBiYXNlY2xhc3MgaW4gdW5pc29uIHdpdGggbW9uaXRvcmluZyBmb3IgYSBuZXcgZnJhbWUgYnkgc3ViY2xhc3MuCgkgIEFzIHN1Y2ggaXQgbWlnaHQgd3JvbmdmdWxseSBoaWRlIHNvbWV0aGluZyBlbHNlIGdvaW5nIG9uIC4uLgoJICBTZWUgIzY3NDA3My4KCjIwMTItMDUtMjEgMTU6MjQ6MjUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW9wYXJzZXI6IGZpeCBidWZmZXIgc2l6ZSBjaGVjawoJICAuLi4gdG8gbWluZCB1bnNpZ25lZCBpbnRlZ2VyIHdyYXAKCSAgQmFzZWQgb24gcGF0Y2ggYnkgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MzYKCjIwMTItMDUtMjEgMTU6MDk6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGVzdHM6IG1wZWd2aWRlb3BhcnNlOiBmaXggdW5pdCB0ZXN0IHJlZ3Jlc3Npb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjA5NwoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMTkgMTU6MzQ6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBkb24ndCBhY2Nlc3MgR3N0RWxlbWVudEZhY3Rvcnkgc3RydWN0dXJlIGRpcmVjdGx5CgoyMDEyLTA1LTE4IDE2OjE3OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogZG8gbm90IGV4cGVjdCBhIG1hcmtlciBiaXQgd2hlcmUgbm90IHNwZWNpZmllZAoJICBGaXhlcyAjNjcyNDQ3LgoKMjAxMi0wNS0xNiAxNjoxNTo1OCArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZmx1c2ggb24gcHVzaSBvbmx5IGZvciBwYXlsb2FkIHBhY2tldHMKCSAgRGF0YSBzaG91bGQgbm90IGJlIGZsdXNoZWQgb3V0IG9mIHRoZSB0c2RlbXV4IGJlY2F1c2UgYSBwYXlsb2FkIHVuaXQgc3RhcnQKCSAgaW5kaWNhdG9yIChwdXNpKSBpcyBzZWVuIGluIGEgYWRhcHRhdGlvbiBvbmx5IHRzIHBhY2tldC4gSWYgdGhlIHBhY2thZ2UgY29udGFpbnMgbm8KCSAgcGF5bG9hZCBhIHB1c2kgZG9lcyBub3QgaW5kaWNhdGUgYSBuZXcgUEVTIHBhY2tldCwgYnV0IFBTSSBpbmZvcm1hdGlvbiwgZXRjLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNldmVyYWwgVFMgZmlsZXMgd2hpY2ggY29udGFpbiB0cyBwYWNrZXRzIHdpdGhvdXQKCSAgcGF5bG9hZCBidXQgd2l0aCBwdXNpIHNldCB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTY4CgoyMDEyLTA1LTE4IDEwOjE1OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IHF1ZXVlIGRhdGEgZm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgcGFkCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGFuIGVycm9yIGZ1cnRoZXIgZG93biwgYW5kIGl0IGFsc28gYXZvaWRzIHByb2Nlc3NpbmcKCSAgZm9yIHRoYXQgZGF0YSB3aGljaCB3ZSB3b3VsZG4ndCBiZSB1c2luZyBhbnl3YXkuCgoyMDEyLTA1LTE4IDEwOjEzOjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IERldGVjdCBhbmQgaGFuZGxlIHNjcmFtYmxlZCBwYWNrZXRzCgkgIFVzZXJzICh0c2RlbXV4L21wZWd0c3BhcnNlKSBjYW4gZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGF0CgoyMDEyLTA1LTE4IDEwOjA3OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEVtaXQgbm8tbW9yZS1wYWRzIHdoZW4gYWxsIHBhZHMgYXJlIGFjdGl2YXRlZAoJICBGaXhlcyAjNjcwOTIxIGFnYWluCgoyMDEyLTA1LTE3IDExOjE1OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0Lmg6CgkgIGdhdWRpZWZmZWN0czogYWRkIGZhbGxiYWNrIGNvZGUgZm9yIG9yYwoJICB0aGlzIGluY2x1ZGVzIGFuIGltcHJvdmVkIHZlcnNpb24gb2YgdGhlIGJ1cm4gZmlsdGVyLCB3aXRoIGEgfjQwJSBzcGVlZAoJICBpbXByb3ZlbWVudC4KCjIwMTItMDUtMTcgMTA6NDk6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCB0aGUgb3JjIHZlcnNpb24gcmVxdWlyZWQgdG8gMC40LjE2CgkgIFNvbWUgb3Bjb2RlcyBoYXZlIGNoYW5nZWQgc28gdGhleSB3b3VsZCBmYWlsIHRvIGJ1aWxkIHdpdGggMC40LjE0CgoyMDEyLTA1LTE3IDA5OjQ3OjA4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBzb2xhcml6ZQoJICBObyBuZWVkIHRvIGhhdmUgYSBnYXRlX2ludCAoKSBmdW5jdGlvbiBkdXBsaWNhdGluZyB0aGUgYWxyZWFkeSBleGlzdGluZyBhbmQKCSAgZXN0YWJsaXNoZWQgQ0xBTVAgKCkgZnVuY3Rpb24uCgoyMDEyLTA1LTE3IDA5OjQ2OjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gZXhjbHVzaW9uCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDU6NTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGRvZGdlCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDQ6MjkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIGNocm9taXVtCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMTE6NDc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGNvbnNpZGVyIG5hbF9sZW5ndGhfc2l6ZSB3aGVuIGluc2VydGluZyBjb2RlYyBkYXRhCgkgIFNlZSAjNjc2MTc0LgoKMjAxMi0wNS0xNiAyMTo1MDo0OCArMDEwMCAgSm9obiBIZWluIDxuNGtkbG14MDJAc25lYWtlbWFpbC5jb20+CgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICB5NG06IGxpbmsgYWdhaW5zdCB0aGUgcmlnaHQgbGliZ3N0dmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjE4OQoKMjAxMi0wNS0xNiAxNzo1MDo0MyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGV4YW1wbGUgcGlwZWxpbmVzIHdpdGggdmlkZW9jb252ZXJ0CgoyMDEyLTA1LTE2IDE3OjQ5OjEyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLm9yYzoKCSAgZ2F1ZGllZmZlY3RzOiBvcmMtaWZ5IGJ1cm4gZmlsdGVyCgoyMDEyLTA1LTE2IDA5OjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIGNvcmUvYmFzZSAwLjExLjkxCgoyMDEyLTAxLTEzIDE4OjU3OjIwIC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogYWRkIHZpc3VhbCBzdHVkaW8gSURFIGZpbGVzIGFuZCBPUyBYIC5EU19TdG9yZSBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3ODk5CgoyMDEyLTA1LTE1IDE1OjQ2OjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiB1c2UgZ3N0IGFwaSBmb3IgdGltZXN0YW1wcyBpbnN0ZWFkIG9mIHRoZSAod3JvbmcpIGFwaSBmcm9tIGEgdG9vIG5ldyBnbGliCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RmcmFnbWVudC5jCgoyMDEyLTA1LTE0IDExOjM4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogb3B0aW1pemUgb3V0cHV0IGJ5IGFnZ3JlZ2F0aW5nIHBhY2tldHMKCSAgLi4uIHJhdGhlciB0aGFuIHB1c2hpbmcgZWFjaCAoc21hbGwpIHBhY2tldCBpbiBhIHNlcGFyYXRlIGJ1ZmZlci4KCSAgbTJ0cyBtb2RlIG5vdCB5ZXQgb3B0aW1pemVkIHRob3VnaC4KCjIwMTItMDUtMTEgMTE6NDY6NTggKzAyMDAgIEFsYmVydCBBc3RyYWxzIENpZCA8YWxiZXJ0LmFzdGFscyBhdCBjYW5vbmljYWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBzdXBwb3J0IGl0ZW1zIGluIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjQ3OAoKMjAxMi0wNS0xNCAwOToxNTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsOiBmaXggY29tcGlsYXRpb24KCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkIEFQSQoKMjAxMi0wNS0xMyAxNzowMDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTEgPT09CgoyMDEyLTA1LTEzIDE2OjQzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MQoKMjAxMi0wNS0xMyAxNjo0MzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA1LTEzIDE1OjU2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGM3MDIwMyB0byAzNDI5YmE2CgoyMDEyLTA1LTEzIDE1OjI0OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsOiBGaXggZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyYW50aGVzZXMgY29tcGlsZXIgd2FybmluZwoJICBnc3RjdXJsaHR0cHNpbmsuYzo0MTE6Mjc6IGVycm9yOiBlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJlbnRoZXNlcwoKMjAxMi0wNS0xMiAxMjowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVjazogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTItMDQtMjUgMTk6NDY6NTMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxzbXRwc2luayBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6NDU6MjQgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkgIGN1cmw6IG5ldyBjdXJsZnRwc2luayBlbGVtZW50CgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOToyODoxMCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxmaWxlc2luayBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDEtMjMgMDk6MDA6NDcgKzAxMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGh0dHBzaW5rLmM6CgkgIGN1cmw6IHJlZmFjdG9yIGN1cmxzaW5rLCByZW5hbWUgdG8gY3VybGh0dHBzaW5rCgkgIFNwbGl0IGludG8gYmFzZSwgdGxzIGFuZCBodHRwIGNsYXNzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3NDEKCjIwMTItMDUtMTAgMjE6MTU6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBjb25zaXN0ZW5jeSBpbiB0ZW1wbGF0ZXMgbmFtZQoKMjAxMi0wNS0xMCAxMDoxMToxOCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgYSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTA1LTEwIDEwOjEwOjE0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzOiBBZGQgYSB3YXkgdG8gZ2V0IGJlc3QgcGxheWxpc3QgZm9yIGEgc3BlY2lmaWMgYml0cmF0ZSBpbiBNM1U4Q2xpZW50CgkgIE1ha2UgdXNlIG9mIGl0IGluIGhsc2RlbXV4CgoyMDEyLTA1LTA4IDEzOjI3OjE1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIGZhaWxvdmVyIHByb3RlY3Rpb24uCgkgIE11bHRpcGxlIHN0cmVhbXMgd2l0aCBzYW1lIGJhbmR3aWR0aCBnZXQgcmV0cmllZAoKMjAxMi0wNS0wOCAxMzowNDozNSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQ2FsY3VsYXRlIHRoZSByZWFsIGJpdHJhdGUgYW5kIHN3aXRjaCB0byB0aGUgY29ycmVjdCB2YXJpYW50CgkgIFdlIG5vdyBjYWxjdWxhdGUgdGhlIGFjdHVhbCBiaXRyYXRlIHVzaW5nIHRoZSBkb3dubG9hZCBzcGVlZC9zaXplIGFuZAoJICB0aGVuIHN3aXRjaCBkaXJlY3RseSB0byB0aGUgdmFyaWFudCB0aGF0IG1hdGNoZXMgb3VyIGJhbmR3aWR0aCB0aGUKCSAgbW9zdC4KCSAgSXQgd2lsbCBhbHNvIGJlIGFibGUgdG8gaGFuZGxlIGFueSB1c2UgY2FzZSB3aGVyZSBzb21lIG9mIHRoZQoJICB2YXJpYW50cyBhcmUgbm90IGF2YWlsYWJsZSwgYW5kIHdvdWxkIHNraXAgdGhlbSBhbmQgZ28gdG8gdGhlIG5leHQKCSAgcG9zc2libGUgdmFyaWFudC4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMDUtMDggMTE6MzQ6NDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgcmVzZXQgdGhlIHNlcXVlbmNlIG51bWJlciBpbiBhIGxpdmUgc3RyZWFtIGZvciBhIG5vcm1hbCBwbGF5bGlzdCB1cGRhdGUuCgkgIE9ubHkgZm9yIHN0cmVhbSBzd2l0Y2hpbmcKCjIwMTItMDUtMDggMTE6MzM6NTAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIHdlIHVwZGF0ZSB0aGUgcGxheWxpc3QsIG1ha2Ugc3VyZSB0aGUgc2VxdWVuY2UgbnVtYmVyIGlzIG5ldmVyIG1vcmUgdGhhbiAzIGZyYWdtZW50cyBiZWZvcmUgdGhlIGVuZAoKMjAxMi0wNS0wOCAxMToxMzoyNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluIGEgbGl2ZSBzdHJlYW0sIGRvIG5vdCBzdGFydCBmcm9tIDMgZnJhZ21lbnRzIGJlZm9yZSB0aGUgZW5kLgoKMjAxMi0wNS0wOCAxMTowOToyOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogTm8gbmVlZCB0byBzdG9yZSBwb3NpdGlvbiBzaW5jZSBpdCdzIHRoZSBidWZmZXIncyB0aW1lc3RhbXAKCSAgVGhpcyBhbHNvIHdpbGwgZml4IHRoZSBpc3N1ZSBvZiBoYXZpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gZGlmZmVyZW50CgkgIGZyb20gdGhlIGFjdHVhbCBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgYnVmZmVyIGluIHRoZSBxdWV1ZSBpbiBjYXNlCgkgIHRoZSBjYWNoaW5nIGNhdXNlZCBhIHJlc3luYyBvZiB0aGUgc2VxdWVuY2UgbnVtYmVyLgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMS0wOS0xNSAyMDo0Nzo1NCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZhbGxiYWNrIHRvIHByZXZpb3VzIHBsYXlsaXN0IHdoZW4gc3dpdGNoaW5nIGlmIHRoZSBuZXcgcGxheWxpc3QgY2FuJ3QgYmUgZmV0Y2hlZAoKMjAxMi0wNS0xMCAxMzo0NjoyNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkgIGdhdWRpZWZmZWN0czogY29uc2lzdGVuY3kgZml4ZXMgaW4gZ3N0Z2F1c3NibHVyCgoyMDEyLTA1LTEwIDEwOjQ3OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGdhdXNzaWFuYmx1ciB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNzoyMTozMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgc29sYXJpemUgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTc6MDY6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZXhjbHVzaW9uIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjU1OjE3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkb2RnZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjozMDo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkaWxhdGUgdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6MTA6MTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBidXJuIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE1OjQ0OjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBjaHJvbWl1bSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNDoyODowOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIEdTVF9ERUJVR19GVU5DUFRSIGluIGJsdXIKCjIwMTItMDUtMDkgMTM6MzU6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdhdWRpZWZmZWN0czogcG9ydCB0byAwLjExCgoyMDEyLTA1LTA5IDA5OjQ5OjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGdhdXNzYmx1ciB0byAwLjExCgoyMDEyLTA1LTA4IDE4OjA5OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBzb2xhcml6ZSB0byAwLjExCgoyMDEyLTA1LTA4IDE4OjA5OjA5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGV4Y2x1c2lvbiB0byAwLjExCgoyMDEyLTA1LTA4IDE3OjM4OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBkb2RnZSB0byAwLjExCgoyMDEyLTA1LTA4IDE3OjE3OjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRpbGF0ZSB0byAwLjExCgoyMDEyLTA1LTA4IDE2OjUwOjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBhZGQgaGVhZGVyIHRvIGdhdXNzYmx1cgoKMjAxMi0wNS0wOCAxNjozOTowMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgY2hyb21pdW0gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNjozODo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGJ1cm4gdG8gMC4xMQoKMjAxMi0wNS0wOCAxNDoxNzowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTItMDUtMDggMTc6NTg6NTggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZpeCBkZWFkbG9jayB3aGVuIHRoZSBkZXZpY2UgaXMgbG9zdAoKMjAxMi0wNS0wOCAxODoxMDozMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVtb3ZlIHRyYWlsaW5nICc7JyBmcm9tIGxvY2tzIGRlZmluZXMgdG8gbWFrZSBnc3QtaW5kZW50IGhhcHB5CgoyMDEyLTA1LTA3IDEzOjEzOjM0IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXNpbms6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIChmaXhlcyAjNjc1NjQwKQoJICBBbHNvLCBhZGQgYSBjaGVjayB0byBtYWtlIHN1cmUgYSBjbGllbnQgaXNuJ3QgZHVtcGVkIHR3aWNlCgoyMDEyLTA1LTA3IDIzOjU3OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogY2FsbCBXU0FTdGFydHVwL0NsZWFudXAgb24gd2luMzIKCSAgSWYgd2UgbGluayBhZ2FpbnN0IGxpYndpbnNvY2syLCB3ZSBzaG91bGQgcHJvYmFibHkgY2FsbAoJICBTdGFydHVwL0NsZWFudXAgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQxNQoKMjAxMi0wNS0wMyAyMzo0MjoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHJmYnNyYzogZml4IGxpYnJmYiBsaW5raW5nIG9uIHdpbjMyCgkgIGxpYnRvb2w6IGxpbms6ICBpNjg2LXc2NC1taW5ndzMyLWdjYyAtc2hhcmVkIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuZGVmCgkgIC5saWJzL2xpYmdzdHJmYnNyY19sYS1nc3RyZmJzcmMubyAgLVdsLC0td2hvbGUtYXJjaGl2ZSAuLy5saWJzL2xpYnJmYi5hCgkgIC1XbCwtLW5vLXdob2xlLWFyY2hpdmUgIC1ML3Vzci9pNjg2LXc2NC1taW5ndzMyL3N5cy1yb290L21pbmd3L2xpYgoJICAtbGdzdGJhc2UtMC4xMCAtbGdzdHJlYW1lci0wLjEwIC1seG1sMiAtbGdvYmplY3QtMi4wIC1sZ3RocmVhZC0yLjAKCSAgLWxnbW9kdWxlLTIuMCAtbGdsaWItMi4wIC1saW50bCAgLW1tcy1iaXRmaWVsZHMgLW1tcy1iaXRmaWVsZHMgLU8yICAgLW8KCSAgLmxpYnMvbGliZ3N0cmZic3JjLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyCgkgIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJnc3RyZmJzcmMuZGxsLmEKCSAgQ3JlYXRpbmcgbGlicmFyeSBmaWxlOiAubGlicy9saWJnc3RyZmJzcmMuZGxsLmEKCSAgLi8ubGlicy9saWJyZmIuYShsaWJyZmJfbGEtcmZiZGVjb2Rlci5vKTogSW4gZnVuY3Rpb24KCSAgYHJmYl9kZWNvZGVyX3JlYWQnOgoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTY0OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19yZWN2QDE2JwoJICAuLy5saWJzL2xpYnJmYi5hKGxpYnJmYl9sYS1yZmJkZWNvZGVyLm8pOiBJbiBmdW5jdGlvbgoJICBgcmZiX2RlY29kZXJfY29ubmVjdF90Y3AnOgoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTEyOgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19zb2NrZXRAMTInCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMTk6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2h0b25zQDQnCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMjM6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2luZXRfYWRkckA0JwoJICAvaG9tZS9lbG1hcmNvL3BrZy9yaGVsL21pbmd3LWdzdHJlYW1lci1wbHVnaW5zLWJhZC1mcmVlL2dzdC1wbHVnaW5zLWJhZC0wLjEwLjIzL2J1aWxkX3dpbjMyL2dzdC9saWJyZmIvLi4vLi4vLi4vZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6MTI1OgoJICB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfaW1wX19jb25uZWN0QDEyJwoJICBJdCBuZWVkcyAtbHdzMl8zMiB3aGljaCBpcyBhbHJlYWR5IGluICQoV0lOU09DSzJfTElCUykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTQxNQoKMjAxMi0wNS0wMiAwODowMzo0NiAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBhZGQgbWlzc2luZyBjYXN0cyB0byBMUENTVFIKCjIwMTItMDUtMDMgMjM6NTE6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogbG93ZXIgcmFuayBvZiB0aGUgRGlyZWN0U2hvdyB2aWRlbyBzaW5rIHBsdWdpbgoJICBkM2R2aWRlb3Npbmsgc2hvdWxkIGhhdmUgYSBoaWdoZXIgcmFuayBhcyBpdCB3b3JrcyBiZXR0ZXIuCgoyMDEyLTA1LTAyIDA3OjU2OjAwIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IEZpeCBjb21waWxhdGlvbiBvbiB4NjQgcGxhdGZvcm1zCgoyMDEyLTA1LTA1IDIwOjAxOjQ2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBtaW5ndy13NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTUyMAoKMjAxMi0wNS0wNSAxODoyMDozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICBBZGQgV0lOU09DSzJfTElCUywgcmVtb3ZlIFdJTjMyX0xJQlMsIGZpeCBydG1wIGJ1aWxkIG9uIFdpbmRvd3Mgc29tZSBtb3JlCgkgIE9uZSB3YXkgb2YgcGFzc2luZyAtbHdzMl8zMiB0byBwbHVnaW5zIHNob3VsZCBiZSBlbm91Z2guLgoKMjAxMi0wNC0xNyAxMTo0NDoxOCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJ0bXA6IGxpbmsgdG8gd2luc29jayBsaWJyYXJ5IG9uIFdpbmRvd3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDI0MwoKMjAxMi0wNS0wNCAxNDowMToxMyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbWFyayB1bnBvcnRlZCBXaW5kb3dzIHBsdWdpbnMgYXMgc3VjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDQwCgoyMDEyLTA1LTA0IDE3OjA5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUKCjIwMTItMDUtMDQgMTc6MTA6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIGltYWdlIGNhcHR1cmUgZGVidWcKCjIwMTItMDUtMDQgMTc6MDU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBhbHdheXMgZm9yY2UgaW1hZ2UtcHJvZmlsZSB0byBoYXZlIHZhcmlhYmxlIGZyYW1lcmF0ZQoJICBpbWFnZS1lbmNvZGViaW4gY2FuJ3QgdXNlIHZpZGVvcmF0ZSBhcyBpdCBhbHdheXMgc3RvcmUgb25lIGJ1ZmZlcgoJICB0byBiZSBhYmxlIHRvIGRvIGl0cyB0aW1lc3RhbXBzL2R1cmF0aW9uIG1hdGguIEFzIGltYWdlIGNhcHR1cmVzCgkgIG9ubHkgcHVzaCBvbmUgYnVmZmVyIGF0IGEgdGltZSwgdGhpcyB2aWRlb3JhdGUgYmVoYXZpb3IgYnJlYWtzCgkgIGNhbWVyYWJpbiB1c2FnZS4KCjIwMTItMDUtMDMgMTk6MTE6NTcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYWJpbjogRG8gbm90IHNldCB0aGUgcGFkIHRlbXBsYXRlcyBpbiB0aGUgYmFzZSBjbGFzcy4KCSAgSXQgaXMgYmVzdCB0byBsZXQgdGhlIHN1YmNsYXNzIGRlZmluZSB0aGUgcGFkIHRlbXBsYXRlcywgdGhpcyB3b3VsZAoJICBhbGxvdyB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoaWNoIGNhcHMgdGhlIHBhZHMgc2hvdWxkIGhhdmUuCgoyMDEyLTA1LTAxIDE3OjU1OjAyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkgIHZpZGVvY29udGV4dDogUmVtb3ZlIHRoZSBleHBsaWNpdCB1bnJlZmluZyBvZiBwYWQgb2JqZWN0IGdldHRpbmcgZnJvbSBpdGVyYXRvci4KCjIwMTItMDUtMDIgMTU6MzU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogYXZvaWQgYXNzZXJ0aW9uIGJ5IHVzaW5nIG51bGwgY2FwcyBhcyBhbnkKCSAgTlVMTCBjYXBzIGFyZW4ndCB2YWxpZCBjYXBzLCB1c2UgYSByZWZlcmVuY2UgdG8gJ2FueScgY2FwcwoKMjAxMi0wNS0wMiAxNToyNDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IEZpeCBnZXQvc2V0X3Byb3BlcnR5IGZvciBlbmNvZGluZyBwcm9maWxlcwoJICBFbmNvZGluZyBwcm9maWxlcyBhcmUgb2JqZWN0cywgbm90IGJveGVkIHR5cGVzCgoyMDEyLTA1LTAyIDA5OjQzOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IG51bGwgY2FwcyBhcmUgbm90IHZhbGlkIGluIDEuMAoJICBVc2UgYW55IGNhcHMgZm9yIHRoZSBwcmV2aWV3LWNhcHMgcHJvcGVydHksIGFzIE5VTEwgY2FwcyBhcmUKCSAgbm90IHZhbGlkIGNhcHMgaW4gMS4wIGFueW1vcmUKCjIwMTItMDUtMDEgMTU6Mjk6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbjItc3JjLnR4dDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCSAgSW4gMS4wIHRoZXJlIGlzIGEgY29yZSByZWNvbmZpZ3VyZSBldmVudCwgY2FtZXJhYmluIGRvZXNuJ3QgbmVlZAoJICBpdHMgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50IGFueW1vcmUKCjIwMTItMDUtMDEgMTU6MDg6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBVc2UgcGxhaW4gdmlkZW8gZW5jb2RpbmcgcHJvZmlsZSBmb3IgaW1hZ2VzCgkgIERvIG5vdCB1c2UganBlZyBhcyBhIGNvbnRhaW5lciBmb3JtYXQgZm9yIGltYWdlIGNhcHR1cmVzLCB1c2UKCSAgdGhlIHBsYWluIHZpZGVvIGVuY29kaW5nIGZvcm1hdC4gSXQgd2FzIHVzZWQgYXMgYSBjb250YWluZXIgaW4KCSAgMC4xMCB0byBmb3JjZSB0aGUgYWRkaXRpb24gb2YgdGFncyB0byB0aGUgaW1hZ2UuCgoyMDEyLTA1LTAxIDE0OjMxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNoYW5nZSBvdXRwdXQtc2VsZWN0b3IgbmVnb3RpYXRpb24gbW9kZQoJICBJbiAwLjEwIGNhbWVyYWJpbjIgY29udHJvbGxlZCB0aGUgbmVnb3RpYXRpb24gc3RyaWN0bHkgYW5kIHRoZSBvdXRwdXQtc2VsZWN0b3IKCSAgd291bGRuJ3QgZm9yd2FyZCBzZXRjYXBzIGNhbGxzLiBJbiAwLjExIHRoZSByZW5lZ290aWF0aW9uIGV2ZW50cyBhcmUgYWxyZWFkeSBpbgoJICBjb3JlIGFuZCB3ZSBjYW4gYWxsb3cgdGhlIHBpcGVsaW5lIHRvIGhhbmRsZSBpdCB3aXRob3V0IG11Y2ggY29udHJvbCBmcm9tIGNhbWVyYWJpbgoJICBwYXJ0IChJIGhvcGUpLCBzbyB0aGlzIHBhdGNoIG1ha2VzIG91dHB1dC1zZWxlY3RvciBmb3J3YXJkIGNhcHMgbmVnb3RpYXRpb24gZXZlbnRzCgkgIHRvIHRoZSBhY3RpdmUgcGFkLgoKMjAxMi0wNS0wMSAxNDozMToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmluZyByZW5lZ290aWF0ZSBoYW5kbGVycwoJICBnc3RyZWFtZXIgMS4wIGFscmVhZHkgaGFzIHRoZSByZWNvbmZpZ3VyZSBldmVudCwgcmVtb3ZlIHRoZQoJICBjdXN0b20gZXZlbnQgaGFuZGxpbmcgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjCgoyMDEyLTA1LTAxIDEzOjI4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHByZXZlbnQgY2FwcyByZW5lZ290aWF0aW9uIGxvb3AKCSAgT25seSBzZXQgdGhlIHpvb20gY2Fwc2ZpbHRlciBjYXBzIHdoZW4gdGhlIG5ldyBjYXBzIGFyZSBkaWZmZXJlbnQsCgkgIHByZXZlbnRpbmcgYSBjYXBzIHJlbmVnb3RpYXRpb24gbG9vcC4KCjIwMTItMDUtMDEgMTM6MTU6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlOiBVcGRhdGUgcHJlcGFyZS13aW5kb3ctaGFuZGxlIG1lc3NhZ2UKCSAgTWVzc2FnZSBuYW1lIGNoYW5nZWQgZnJvbSBwcmVwYXJlLXh3aW5kb3ctaWQgdG8gcHJlcGFyZS13aW5kb3ctaGFuZGxlCgoyMDEyLTA1LTAxIDEzOjAwOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBSZW5hbWluZyBjYW1lcmFiaW4yIHRvIGNhbWVyYWJpbgoKMjAxMi0wNS0wMSAxMDoyNjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiB1cGRhdGluZyBwcm9wZXJ0eSB0byBuZXcgbmFtZQoJICBlbmFibGUtbGFzdC1idWZmZXIgaXMgbm93IGVuYWJsZS1sYXN0LXNhbXBsZQoKMjAxMi0wNS0wMSAxMDoxODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiBSZXBsYWNpbmcgZmZtcGVnY29sb3JzcGFjZSB3aXRoIHZpZGVvY29udmVydAoKMjAxMi0wNC0zMCAxMjozNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogdW5yZWYgYmFkIHBhY2tldHMgdG9vCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoKMjAxMi0wNC0zMCAxMjoyODo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlc2V0IHRoZSBzdGF0ZSBvZiB0aGUgc3RyZWFtIHdoZW4gZmx1c2hpbmcKCSAgV2UgbmVlZCB0byByZXNldCB0aGUgc3RyZWFtIG9uIGEgZmx1c2ggb3IgZWxzZSBvbGQgcGFja2V0cyBjb3VsZCBiZSBhZGRlZCB0byB0aGUKCSAgbGlzdCBhbmQgbGVhay4KCjIwMTItMDQtMzAgMTE6MDU6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkb24ndCBwdXNoIGV2ZW50cyB1cHN0cmVhbSBpbiBwdWxsIG1vZGUKCSAgSW4gcHVsbCBtb2RlLCBkb24ndCBwdXNoIHRoZSBzZWVrIGV2ZW50IHVwc3RyZWFtLgoKMjAxMi0wNC0yNiAyMjo0OTowNyAtMDQwMCAgV2luZCBZdWFuIDxmZW5nLnl1YW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogbXBlZzQgdHlwZSBlcnJvcgoKMjAxMi0wNS0wMSAwOTo0MToxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogZG9uJ3QgcG9rZSBpbnRvIHByaXZhdGUgYWRhcHRlciBmaWVsZHMKCjIwMTItMDQtMzAgMTg6MDU6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiB1cGRhdGUgY2FtZXJhYmluKDIpIHVuaXQgdGVzdCBmb3IgcmVuYW1lCgoyMDEyLTA0LTMwIDE3OjU2OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogcmVuYW1lIHRvICJjYW1lcmFiaW4iCgkgIEJ1dCBsZWF2ZSBzb3VyY2UgY29kZSBpbnRhY3QgZm9yIG5vdywgZm9yIGVhc2llciBwYXRjaCBtZXJnaW5nLgoKMjAxMi0wNC0zMCAxNzo0NDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZ3N0L2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL1RPRE86CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZGVidWcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgUmVtb3ZlIG9sZCBjYW1lcmFiaW4KCjIwMTItMDQtMjUgMTM6MzE6MzYgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RhcnQgcGF1c2VkIHRhc2sgb24gbmV3IGRhdGEKCjIwMTItMDQtMjEgMTE6MzY6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWQ6IEFkZCBzdXBwb3J0IGZvciB0aGUgZmFhYyBwbHVnaW4KCjIwMTItMDQtMTYgMTA6MDc6NTEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBSZWVuYWJsZSBmYWFkIHBsdWdpbiBmb3IgdGhlIEFuZHJvaWQgTkRLIGJ1aWxkcwoKMjAxMi0wNC0yNSAxMTo1MDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmc6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBBUEkgd2hlbiBjb21waWxpbmcgd2l0aCBSU1ZHIDIuMzUuMCBvciBuZXdlcgoKMjAxMi0wMy0yOSAxNTo1Nzo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEyLTA0LTA0IDExOjUxOjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogSGFuZGxlIEdzdEJ5dGVXcml0ZXIgcmV0dXJuIHZhbHVlcwoKMjAxMi0wNC0yNSAxMDoyNzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc25kaW8gcGx1Z2luIGlzIG5vdCBwb3J0ZWQgeWV0CgoyMDEyLTA0LTI1IDEwOjI1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRpby9nc3RzbmRpby5jOgoJICBzbmRpbzogRml4IGkxOG4gaW5pdGlhbGl6YXRpb24KCjIwMTItMDQtMTEgMjE6MDU6MjYgLTA0MDAgIEphY29iIE1ldXNlciA8amFrZW1zckBzZGYubG9uZXN0YXIub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRpby9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5oOgoJKiBleHQvc25kaW8vc25kaW9zcmMuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmg6CgkgIHNuZGlvOiBhZGQgc25kaW8gcGx1Z2luIGZvciBPcGVuQlNECgoyMDEyLTA0LTI0IDE3OjAwOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yNCAxNToyMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2Yi1zdWI6IFVzZSB1bmNoZWNrZWQgYnl0ZSByZWFkZXIgZnVuY3Rpb25zCgoyMDEyLTA0LTI0IDE0OjU3OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogVXNlIGNvcnJlY3QgZW51bSB0eXBlCgoyMDEyLTA0LTI0IDExOjAyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBTd2l0Y2ggZnJvbSBkZXByZWNhdGVkIFhLZXljb2RlVG9LZXlzeW0oKSB0byBYa2JLZXljb2RlVG9LZXlzeW0oKQoJICBDb25mbGljdHM6CgkgIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmMKCjIwMTItMDQtMjMgMTc6MTE6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDEyLTA0LTIzIDE2OjU1OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkgIGFzZm11eDogcG9ydCB0byAwLjExCgoyMDEyLTA0LTEyIDE0OjE3OjE0ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsc2RlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMjAgMTU6MDU6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHBhc3MgdGhlIHJlYXNvbiBmb3IgZmFpbGVkIHJlYWQgYXMgR3N0Rmxvd1JldHVybgoJICBNYWtlIHRoZSBfcmVhZF9kZXZpY2UgZnVuY3Rpb24gcmV0dXJuIGEgR3N0Rmxvd1JldHVybiBzbyB0aGF0IHdlIGNhbiBwcm9wYWdhdGUKCSAgdGhpcyB0byB0aGUgY2FsbGVyLiBUaGlzIGFsbG93cyB1cyB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gcG9sbCBlcnJvcnMgYW5kCgkgIGZsdXNoaW5nIHN0YXRlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjE5CgoyMDEyLTA0LTE3IDExOjQ0OjAwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICBGaXggZm9ybWF0ICh0eXBlIGlzIGV4cGxpY2l0bHkgdW5zaWduZWQgbG9uZykKCSAgRml4ZXMgIzY3NDI0NAoKMjAxMi0wNC0yMCAxMjowOTowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uYXMvbmFzc2luay5jOgoJICBuYXM6IFJld29yayBuYXNzaW5rIGEgbGl0dGxlCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gPG9sZS5oZWxscXZpc3QgYXQgc3ByYXkuc2U+CgkgIENyZWF0ZSBhbmQgZGVzdHJveSBmbG93IGluIHByZXBhcmUvdW5wcmVwYXJlCgkgIFJlbW92ZSBzb21lIGR1cGxpY2F0ZSBjb2RlIGZyb20gY2xvc2UgYW5kIHByZXBhcmUgdGhhdCBpcyBub3cgaW4gdW5wcmVwYXJlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MTMwCgoyMDEyLTA0LTE4IDEyOjAyOjUyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkgIERvYyBmaXhlcyAoZ3N0c3VyZmFjZWNvbnZlcnRlciwgZ3N0c3VyZmFjZW1ldGEpLgoKMjAxMi0wNC0yMCAxMToyMzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzZGVtdXg6IHdlIGlnbm9yZSB3YXJuaW5ncyBkaWZmZXJlbnRseQoJICBXZSBzdXBwcmVzcyB0aGUgd2FybmluZ3MgaW4gdGhlIC5jIGZpbGUgaW5zdGVhZC4KCjIwMTItMDQtMTkgMTQ6MjA6NTIgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcG9ydCB0byAwLjExCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQzOTcKCjIwMTItMDQtMjAgMTA6NTA6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBjbGFyaWZ5IGV2ZW50IG93bmVyc2hpcAoKMjAxMi0wNC0xOSAxMzo1OTozNyArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1vcnkgbGVha3MKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDM5MwoKMjAxMi0wNC0yMCAxMToxMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSAgZmllbGRhbmFseXNpczogRG9lcyBub3QgbmVlZCB0byBsaW5rIHRvIGxpYmdzdGJhc2V2aWRlbyBhdCBhbGwKCSAgQ29uZmxpY3RzOgoJICBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbQoKMjAxMi0wNC0xOSAxNDoyNDo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBmaXggZm9yIHZpZGVvIGFwaSB1cGRhdGUKCjIwMTItMDQtMTkgMTI6Mjk6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHZpZGVvOiBVcGRhdGUgZm9yIGxpYmdzdHZpZGVvIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTE3IDIyOjQ2OjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRG8gbm90IHNldCB0aGUgZHVyYXRpb24gdG8gdGhlIGlucHV0IGJ1ZmZlcidzIGR1cmF0aW9uIHVubGVzcyB2YWxpZCBUaGlzIGNhdXNlcyBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgYnVmZmVyIGhhcyB0cyA9IDAsIGR1cj1YLCB0aGUgc2Vjb25kIGJ1ZmZlciBoYXMgdHM9WCAoYmVjYXVzZSBvZiB0cyArPSBkdXJhdGlvbiksIGR1cj0tMSwgdGhlbiB0aGUgZm9sbG93aW5nIGJ1ZmZlcnMgd2lsbCBzdGFydCBoYXZpbmcgYSBub24gdmFsaWQgdGltZXN0YW1wLiBUaGUgcmVhbCBkdXJhdGlvbiBpcyBvbmx5IGNhbGN1bGF0ZWQgZHVyaW5nIHRoZSBjYXBzIG5lZ29jaWF0aW9uIHdoZW4gdGhlcmUgaXMgYSBmcmFtZXJhdGUgYXZhaWxhYmxlIGFuZCB0aGUgYnVmZmVyJ3MgZHVyYXRpb24gaXMgaW52YWxpZC4KCjIwMTItMDQtMTcgMTU6NDQ6MDcgKzAyMDAgIEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNldCBjdXJyZW50bGlzdCB0byBOVUxMIGFmdGVyIGZyZWUuCgkgIFRoaXMgcHJldmVudHMgZG91YmxlIGZyZWUgb2YgY3VycmVudGxpc3QgaXMgc29tZSBjaXJjdW1zdGFuY2VzLgoKMjAxMi0wNC0xNyAxODo1Njo1MCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCBkdXJhdGlvbiBpbiBidWZmZXJzLiBJdCdzIGZyYW1lcyBwZXIgc2Vjb25kLCBub3Qgc2Vjb25kcyBwZXIgZnJhbWUKCjIwMTItMDQtMTcgMTU6MjI6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIGNvbGxlY3RwYWRzMjogcmVuYW1lIHRvIGNvbGxlY3RwYWRzCgoyMDEyLTA0LTE2IDExOjAwOjQ0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGRvIG5vdCBsaW5rIGdzdGludGVyZmFjZXMKCjIwMTItMDQtMTYgMDk6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZGIyNWJlIHRvIGRjNzAyMDMKCjIwMTItMDQtMTMgMDA6MTM6MzkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwYWQgaXRlcmF0b3IgbGVhawoKMjAxMi0wNC0xMyAwMDoxNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGxlYWsgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgoyMDEyLTA0LTE0IDIxOjA5OjI1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERvIG5vdCBpZ25vcmUgc3RhcnQgY29kZSBhdCB0aGUgZW5kIG9mIGJ1ZmZlcgoKMjAxMi0wNC0xNCAyMTowMjowNiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBhcnNlciBmYWlscyB0byBzcGxpdCBzb21lIGZyYW1lcwoKMjAxMi0wNC0xNCAyMDo1Mzo0NyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBGUFMgYW5kIGZyYW1lIGR1cmF0aW9uIGZvciB0ZWxlY2luZSBmaWxlcwoKMjAxMi0wNC0xNCAyMDo0NjoyNCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERvIG5vdCB1cGRhdGUgY29kZWMtZGF0YSB3aGVuIG9ubHkgcXVhbnRpc2VyIG1hdHJpeCBjaGFuZ2VzCgoyMDEyLTA0LTE0IDE1OjI5OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogZG9uJ3QgbGluayBhZ2FpbnN0IGxpYmdzdGludGVyZmFjZXMgd2hpY2ggd2FzIHJlbW92ZWQKCSAgVGhlIEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlIGlzIG5vdyBpbiBsaWJnc3R2aWRlby4KCjIwMTItMDQtMTMgMjI6MDQ6MzggKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIGZpeCBjcmFzaAoJICBsYXN0X3NjIGlzIG5vdCByZXNldCBldmVyeSB0aW1lIGEgZnJhbWUgaXMgYmVpbmcgb3V0cHV0LCB3aGljaCBjYW4gY2F1c2UKCSAgbGFzdF9zYyA+IGJ1Zl9zaXplIGluIHN1YnNlcXVlbnQgZnJhbWUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQwNzMKCjIwMTItMDQtMTMgMTU6MTI6MTIgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBTZXQgc3luY19wb2luciA9IDEgZm9yIGtleWZyYW1lCgoyMDEyLTA0LTEzIDE0OjA3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IHVzZSAxLjAgdmlkZW9maWx0ZXIgYmFzZWNsYXNzIGZ1bmN0aW9ucwoJICBQb3J0IHRvIHRoZSBuZXcgZnVuY3Rpb25zIG9mIHRoZSB2aWRlb2ZpbHRlciBjbGFzcwoKMjAxMi0wNC0xMyAxMDoxNjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogcG9ydCB0byAxLjAKCSAgU3RyYWlnaHRmb3J3YXJkIHBvcnQgb2YgZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMi0wNC0xMyAxMzo0NDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogTW9kZXJuaXplIGF1dG90b29scyBzZXR1cCBhIGJpdAoJICBBbHNvIHdlIG5vdyBvbmx5IGNyZWF0ZSB0YXIuYnoyIGFuZCB0YXIueHogdGFyYmFsbHMuCgoyMDEyLTA0LTEzIDEzOjM3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0ZmUxNSB0byA2ZGIyNWJlCgoyMDEyLTA0LTEzIDEzOjEwOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgZm9yIHRoZSByZW1vdmFsIG9mIHRoZSBpbnRlcmZhY2VzIGxpYnJhcnkgYW5kIHRoZSB0dW5lci9taXhlciBpbnRlcmZhY2VzCgoyMDEyLTA0LTEyIDE4OjI1OjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgU3luYyBBbmRyb2lkLm1rIGVudHJpZXMgdG8gdGhlIG5ldyBtYWpvciB2ZXJzaW9uCgkgIENoYW5nZSBuYW1pbmcgb24gdGhlIHBrZ2NvbmZpZyBmaWxlcyB0byByZWZsZWN0CgkgIHRoZSAwLjEwIC0+IDEuMCBidW1wLgoKMjAxMi0wNC0xMiAxMToxOToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTAgPT09CgoyMDEyLTA0LTEyIDEwOjUwOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkwCgoyMDEyLTA0LTEyIDEwOjQ3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDQtMTEgMjE6NDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkgIHRlc3RzOiByZW1vdmUgb2Jzb2xldGUgbXVsdGlmZHNpbmsgdGVzdAoJICAuLi4gd2hpY2ggaXMgaW4gLWJhc2Ugbm93YWRheXMuCgoyMDEyLTA0LTEwIDE3OjM1OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjRlbmMuYzoKCSAgdGVzdHM6IHJlbW92ZSBvYnNvbGV0ZSB4MjY0ZW5jIHVuaXQgdGVzdAoJICAuLi4gd2hpY2ggaXMgaW4gLXVnbHkgbm93YWRheXMuCgoyMDEyLTA0LTEwIDE3OjI0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB0ZXN0czogcG9ydCBzb21lIG1vcmUgdG8gMS4wCgoyMDEyLTA0LTEwIDE3OjIyOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogcGx1ZyBjYXBzIGxlYWsKCjIwMTItMDQtMTAgMTc6MjI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiB0d2VhayBjYXBzIG5lZ290aWF0aW9uCgkgIC4uLiBzbyBhcyB0byBhdm9pZCBsZWFraW5nIGNhcHMgb3IgbWFuaXB1bGF0aW5nIE5VTEwgY2Fwcy4KCjIwMTItMDQtMTAgMTc6MjI6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogYXZvaWQgbGVha2luZyBwYWQgdGVtcGxhdGUgY2FwcyBhbmQgc3VwZXJmbHVvdXMgY29weQoKMjAxMi0wNC0xMCAxNzoyMToyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBmaXggcGFkIHJlbGVhc2UgYW5kIGNsZWFudXAKCjIwMTItMDQtMDYgMTQ6NTI6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgoyMDEyLTA0LTA2IDE0OjI3OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdHdlYWsgZGVmYXVsdCBzZXR0aW5nIG9mIGZvcm1hdCBhbmQgYWxpZ25tZW50IGluIGNvZGVjX2RhdGEgY2FzZQoJICAuLi4gd2hpY2ggc2hvdWxkIHByb21vdGUgZW5kaW5nIHVwIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDEyLTA0LTA2IDE0OjIzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHVzZSBfdW5jaGVja2VkIGJ5dGV3cml0ZXIgdmFyaWFudHMgdG8gaW5zZXJ0IGNvbmZpZwoJICAuLiBzaW5jZSB0aGUgYnl0ZXdyaXRlciBpcyBleHBsaWNpdGx5IGNyZWF0ZWQgd2l0aCBub24tZml4ZWQgc2l6ZSB0bwoJICBhbGxvdyAodmVyeSBtdWNoIHNvIGV4cGVjdGVkKSBncm93dGguCgkgIFBhcnRpYWxseSByZXZlcnRzIGNvbW1pdCAyMDY2OWQ0NjFhNDk1M2ViNWVkMDEzNzRkNWFiNjI4YjRkYzczYjY0IHdoaWxlCgkgIHRyeWluZyB0byBrZWVwIChzb21lPykgY29tcGlsZXJzIGhhcHB5LgoJICBJSVJDLCB0aGUgcHVycG9zZSBvZiBHc3RCeXRlV3JpdGVyIGluIHRoZSBmaXJzdCBwbGFjZSB3YXMgKGF0IGxlYXN0KQoJICBiZWluZyBhYmxlIHRvIGR1bXAgZGF0YSB3aXRob3V0IGhhdmluZyB0byBmdXNzIHdpdGggbWVtb3J5IGV4cGFuc2lvbgoJICBhbmQgc2l6ZSBpc3N1ZXMgLi4uCgkgIEZpeGVzICM2NzM0ODUuCgoyMDEyLTA0LTA1IDE3OjE1OjExIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCjIwMTItMDQtMDUgMTg6NDM6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3ZmRhNTI0IHRvIDQ2NGZlMTUKCjIwMTItMDQtMDUgMTg6MDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2F1dG9jb252ZXJ0L3BsdWdpbi5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZS5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGEuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hdmMvZ3N0YXZjcGx1Z2luLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3NobS9nc3RzaG0uYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTA1IDExOjUxOjQwIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzOiBTb21lIG1vcmUgZGVidWdnaW5nCgoyMDEyLTAzLTE1IDE0OjQyOjQ0IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFJlcGxhY2UgdGhlIGZldGNoZXIgY29kZSB3aXRoIGEgR3N0VVJJRG93bmxvYWRlciBvYmplY3QKCjIwMTItMDMtMTQgMTc6MDE6MTcgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IE1pbm9yIGNsZWFudXAgaW4gR3N0VXJpRG93bmxvYWRlcgoKMjAxMi0wMy0xNCAxNzowNjoyMiAtMDQwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgaGxzZGVtdXg6IEZhY3RvciBvdXQgYWxsIHRoZSBmZXRjaGVyIGNvZGUgaW4gYSBHc3RVUklEb3dubG9hZGVyIGNsYXNzCgkgIFRoaXMgY2xhc3MgaXMgbWVhbnQgdG8gYmUgcmV1c2FibGUgYnkgb3RoZXIgY29tcG9uZW50cwoKMjAxMi0wNC0wNSAxMDoyMjoyOSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJICBobHM6IERvIG5vdCBhZGQgcmVmZXJlbmNlIHRvIGJ1ZmZlcnMgcGFzc2VkIGluIEdzdEZyYWdtZW50CgkgIFdlIGp1c3Qgc3RlYWwgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyLCB3aGljaCBtZWFucyB3ZSBjYW4ga2VlcCB3cml0aW5nIG1ldGFkYXRhcwoJICBvbiB0aGUgYnVmZmVycy4KCjIwMTItMDMtMTMgMTU6MTg6MjIgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSAgaGxzOiBNaW5vciBHc3RGcmFnbWVudCBjbGVhbnVwCgoyMDExLTA3LTA4IDAxOjA5OjAwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkgIGhsczogQWRkIGEgR3N0RnJhZ21lbnQgY2xhc3MgdGhhdCByZXByZXNlbnRzIGEgZnJhZ21lbnQgaW4gYSBtM3UgcGxheWxpc3QKCjIwMTItMDMtMTUgMTg6MjE6NTggLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHM6IE1ha2UgdGhlIHVwZGF0ZXMgdGhyZWFkIGEgR3N0VGFzawoKMjAxMi0wNC0wNSAxMzoyODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXBkYXRlIHZlcnNpb24gdG8gMC4xMS44OS4xCgoyMDEyLTA0LTA1IDA5OjE2OjI3ICswMTAwICB1cmFldXMgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAxMi0wNC0wNSAwNjoxODoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZXQgY29ycmVjdCBuZXdzZWdtZW50IGZpZWxkcyBvbiBfVElNRSBzZWVrcwoJICBGb3J3YXJkIHRoZSBzZWVrIHJhdGUgYW5kIHNldCBOUy5zdGFydCB0byB0aGUgc2VlayB0YXJnZXQgc28gdGhhdCBkZWNvZGVycyBjYW4KCSAgYXBwbHkgY2xpcHBpbmcgd2hlcmUgbmVjZXNzYXJ5LgoKMjAxMi0wNC0wNSAwODo1NDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb3JldmlkZW9idWZmZXIgYWZ0ZXIgYnVmZmVyIG1ldGEgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODo1Mzo0MSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBjb3JlbWVkaWFidWZmZXIgYWZ0ZXIgYnVmZmVyIG1ldGEgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODo1Mjo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHVwZGF0ZSBhZnRlciBCYXNlU3JjOjpmaXhhdGUgQVBJIGNoYW5nZQoKMjAxMi0wNC0wNSAwODoyNDozMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBjb21waWxlIHdhcm5pbmcKCjIwMTItMDQtMDUgMDY6MTg6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2V0IGNvcnJlY3QgbmV3c2VnbWVudCBmaWVsZHMgb24gX1RJTUUgc2Vla3MKCSAgRm9yd2FyZCB0aGUgc2VlayByYXRlIGFuZCBzZXQgTlMuc3RhcnQgdG8gdGhlIHNlZWsgdGFyZ2V0IHNvIHRoYXQgZGVjb2RlcnMgY2FuCgkgIGFwcGx5IGNsaXBwaW5nIHdoZXJlIG5lY2Vzc2FyeS4KCjIwMTItMDQtMDQgMTQ6NDE6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9jb21waWxpbmcuc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3ZlcnNpb24uZW50aXRpZXMuaW46CgkqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZ3N0OiBVcGRhdGUgdmVyc2lvbmluZwoKMjAxMi0wNC0wNCAxMjowNjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCjIwMTItMDQtMDQgMDc6MjQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgaXRlcmF0b3IgdG8gTlVMTCBhZnRlciBpdCdzIGZyZWUKCSAgRml4ZXMgcG9zc2libGUgaW52YWxpZCBtZW1vcnkgYWNjZXNzIGluIGdzdF90c19kZW11eF9zdHJlYW1fZmx1c2gKCjIwMTItMDQtMDIgMTU6MzE6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoKMjAxMi0wNC0wMiAxNToyNjoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhciBidWZmZXJsaXN0L2l0ZXJhdG9yIHdoZW4gcmVtb3Zpbmcgc3RyZWFtcwoKMjAxMi0wNC0wMiAxNToyNTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBsZWFrIGJ1ZmZlciBpbiBmYXN0IHZhcmlhbnQKCjIwMTItMDQtMDIgMTU6MjU6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgbGVhayBjb3JydXB0IHNlY3Rpb24gcGFja2V0IGJ1ZmZlcgoKMjAxMi0wNC0wMiAxMToxMzoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgdXNlIHRyYW5zZm9ybV9pcF9vbl9wYXNzdGhyb3VnaAoKMjAxMi0wNC0wMiAxMTowNzoxOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogZml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTMwIDE5OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZXZlcmFsIGxlYWtzCgkgICogZG9udCcgbGVhayBidWZmZXJzIHdoZW4gYSBzdHJlYW0gaXMgaW4gZGlzY29udCBzdGF0ZQoJICAqIGRvbid0IGxlYWsgYnVmZmVycyB3aGVuIGEgcHJvZ3JhbSBpcyByZW1vdmVkL2RlYWN0aXZhdGVkCgkgICogcmVtb3ZlIGFsbCBwcm9ncmFtcyB3aGVuIGRpc3Bvc2luZwoKMjAxMi0wMy0zMCAxOToxOToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2V2ZXJhbCBsZWFrcwoJICAqIGRvbnQnIGxlYWsgYnVmZmVycyB3aGVuIGEgc3RyZWFtIGlzIGluIGRpc2NvbnQgc3RhdGUKCSAgKiBkb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHByb2dyYW0gaXMgcmVtb3ZlZC9kZWFjdGl2YXRlZAoJICAqIHJlbW92ZSBhbGwgcHJvZ3JhbXMgd2hlbiBkaXNwb3NpbmcKCjIwMTItMDMtMzAgMTg6MTM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGFwaSBjaGFuZ2UKCjIwMTItMDMtMzAgMTc6MDk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXh1cCBtZXJnZQoKMjAxMi0wMy0zMCAxMzoyMzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEZpeCBjb21waWxhdGlvbgoKMjAxMi0wMy0zMCAxMjo1NTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogVXNlIG5ldyBnc3RfYXVkaW9fZW5jb2Rlcl9zZXRfaGVhZGVycygpIEFQSQoKMjAxMi0wMy0zMCAxMjoyMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0zMCAxMjowMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVwZGF0ZSBmb3IgYmFzZXBhcnNlIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTMwIDExOjUzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZXh0OiBVcGRhdGUgZm9yIGF1ZGlvIGRlY29kZXIgQVBJIGNoYW5nZXMKCjIwMTItMDMtMjkgMTg6MDQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMTItMDMtMjkgMTg6MDM6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBGaXggYSBtZXJnZSBtaXN0YWtlCgoyMDEyLTAzLTI5IDE3OjU1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZXZlcnQgdG8gMC4xMCBzdGF0ZSBhcyB0aGlzIGlzIHVubWVyZ2VhYmxlLCBhbHNvIHB1dCBpdCBpbnRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMgYWdhaW4KCjIwMTItMDMtMjkgMTc6NTE6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBtZXJnZSBtaXN0YWtlCgoyMDEyLTAzLTI5IDE3OjQxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoJICBDb25mbGljdHM6CgkgIE5FV1MKCSAgUkVMRUFTRQoJICBjb21tb24KCSAgY29uZmlndXJlLmFjCgkgIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeQoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlcwoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWwKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmMKCSAgZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaAoJICBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW0KCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmMKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmgKCSAgZ3N0L214Zi9teGZkZW11eC5jCgkgIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmMKCSAgc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHAKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYwoJICBzeXMvc2htL2dzdHNobXNyYy5jCgkgIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYwoJICBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmMKCSAgdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTItMDMtMjkgMTY6MDg6MzQgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBvcnRlZCBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAxMi0wMy0yOCAxMjo0OTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIGZvciBidWZmZXIgY2hhbmdlcwoKMjAxMi0wMy0yNyAxNToxMzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1czogUmFuayBydHAgcGF5L2RlcGF5CgkgIFRoaXMgd2F5IHRoZXkgY2FuIGJlIGF1dG8tcGx1Z2dlZC4KCjIwMTItMDMtMjcgMDk6MzY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gdGhlIGxpbmtlciBmbGFncwoKMjAxMi0wMy0yNiAxMjoxMzoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIFJlcGxhY2UgbWFzdGVyIHdpdGggMC4xMQoKMjAxMi0wMy0yMyAxODozNjoyMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IG1lbW9yeSBoYW5kbGluZyBjbGVhbnVwCgkgIERvbid0IGxlYWsgdGhlIENTb3VuZEZpbGUuIFVzZSBkZWZpbmUgZm9yIGNvbW1lbnQgYnVmZmVyIHNpemUgYW5kIGVuc3VyZSBpdCBpcyAwCgkgIHRlcm1pbmF0ZWQuCgoyMDEyLTAzLTIzIDE4OjE4OjA2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmx0ZTogY29tbWVudCBjbGVhbnVwCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IGNvZGUgZm9yIGEgZmxpdGVzeW50aCB0aGF0IHdlIGRvbid0IGhhdmUgaW4gZ2l0IGFueXdheS4gQWRkCgkgIGEgY29tbWVudCByZWdhcmRpbmcgdGhlIGZsaXRlIHZvaWNlcy4KCjIwMTItMDMtMjMgMTg6MTY6MDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiB3b3JrIGFyb3VuZCBtZW1vcnkgdHJhc2hpbmcgaW4gbGlibW9kcGx1ZyAoMC44LjcpCgkgIEFsbG9jYXRlIGRvdWJsZSBzaXplZCBidWZmZXJzLiBBbHNvIGFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcuCgoyMDEyLTAzLTIzIDEzOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBNYWtlIGJ1ZmZlci10aW1lIHNpZ25lZCB0byBkZWFsIHdpdGggYmFja3dhcmQganVtcHMgaW4gdGltZXN0YW1wcwoKMjAxMi0wMy0yMyAxMzowNjoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogTWFrZSBidWZmZXItdGltZSBzaWduZWQgdG8gZGVhbCB3aXRoIGJhY2t3YXJkIGp1bXBzIGluIHRpbWVzdGFtcHMKCjIwMTItMDMtMjIgMTU6NTU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMiA9PT0KCjIwMTItMDMtMjIgMTU6NTI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS4yCgoyMDEyLTAzLTIxIDIzOjA0OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC1vc3guY3BwOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVN0cmVhbWluZy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVZlcnNpb24uaDoKCSAgZGVja2xpbms6IEFkZCBkZWNrbGluayBkaXNwYXRjaCBjb2RlIGZvciBPUy9YCgoyMDEyLTAzLTIxIDEzOjIzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMjEgMDk6NDE6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGJheWVyIGNhcHMKCjIwMTItMDMtMjAgMjA6MDc6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUHJldmVudCBhY2Nlc3MgdG8gdGhlIHRyYW5zZm9ybSBtYXAgd2hlbiBpdCBpcyBudWxsCgkgIENoZWNrIGlmIHRoZSBtYXAgZG9lc24ndCBleGlzdCB3aGVuIHJlY2VpdmluZyBhIG5ldyBjYXBzIGFuZCBjcmVhdGUKCSAgYSBuZXcgb25lLiBUaGlzIHByZXZlbnRzIHRoYXQgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbnMgdHJ5IHRvIGFjY2VzcwoJICB0aGUgbWFwIHdoZW4gaXQgZG9lc24ndCBleGlzdC4KCjIwMTItMDMtMjAgMTk6MTk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIHNvbWUgbW9yZSBsb2cgbWVzc2FnZXMKCjIwMTItMDMtMjAgMTc6MzI6MDAgLTAzMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBhdm9pZCByZXNldGluZyBjYXBzIHRvIHRoZSBzYW1lIHZhbHVlCgkgIFJlZHVjZXMgY2FwdHVyZSBsYXRlbmN5IHdoZW4gdGhlIG5ldyBjYXBzIGFyZSB0aGUgc2FtZSBhcyB0aGUgb2xkCgkgIG9uZSwgYXZvaWRpbmcgcmVzZXR0aW5nIHRoZSBzb3VyY2Ugc3RhdGUgZm9yIGEgZm9yY2VkIHJlbmVnb3RpYXRpb24uCgoyMDEyLTAzLTIxIDAwOjE3OjQ3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIHdpbnNjcmVlbmNhcDogRml4IGNvbXBpbGluZyB3aXRoIG1pbmd3CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI1MDUKCjIwMTItMDMtMjAgMjA6MjE6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjAgMjA6MjE6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMjAgMTY6NDQ6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGFkZCBzb21lIGNoYW5uZWwgbWFwIGRlYnVnCgoyMDEyLTAzLTIwIDE2OjM0OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IG9wdGltaXplIGNoYW5uZWwgcmVtYXAsIGF2b2lkIHBvdGVudGlhbCBtZW1jcHkKCSAgQ29tYmluZSB0aGUgY2hhbm5lbCByZW1hcCBhbmQgY29weSBpbiBvbmUgb3BlcmF0aW9uLiBDYWxjdWxhdGUgdGhlIGNoYW5uZWwgcmVtYXAKCSAgdGFibGUgb25seSBvbmNlLCBtYWtlIGEgc2hvcnRjdXQgd2hlbiB3ZSBhcmUgbm90IGRvaW5nIGFueSByZW1hcHBpbmcuCgoyMDEyLTAzLTIwIDE1OjM4OjMzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgb3JjOiBkb24ndCBjb21waWxlIGV2ZXJ5dGhpbmcgYXQgc3RhcnR1cAoKMjAxMi0wMy0xOSAyMjo1ODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHN5czogc29ydCBzdWJkaXJzIGluIE1ha2VmaWxlIGFscGhhYmV0aWNhbGx5CgoyMDEyLTAzLTE5IDIzOjQ5OjE3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBJbnRlZ3JhdGUgaW50byBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIwMzEKCjIwMTItMDMtMTggMjM6MTU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogR1NUX0JBU0VfTElCUyBhbHJlYWR5IGNvbnRhaW5zIC1sZ3N0YmFzZS0wLjEwCgoyMDEyLTAzLTE4IDE0OjQzOjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSAgYWRwY21kZWM6IEFkZCAtbGdzdGJhc2UtMC4xMAoKMjAxMi0wMy0xOCAxODozMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVzZSBuZXcgc3R5bGUgYXVkaW8gY2FwcwoJICBBbHNvIGRvIG5vdCBwcmV0ZW5kIHRvIG5lZ290aWF0ZSBvdXRwdXQgY2FwcyB3aGVuIHRoZXJlCgkgIGlzIG5vdCBtdWNoIGluIG91dHB1dCB0byBiZWdpbiB3aXRoLgoKMjAxMi0wMy0xOCAxODozMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHNtb290aDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAwMToxODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGZpeCBidWlsZCBhZnRlciBiYXNlIHRyYW5zZm9ybSBjaGFuZ2VzCgoyMDEyLTAzLTE4IDAwOjUxOjMyICswMDAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBmaXggc3RydWN0dXJlIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjI5NAoKMjAxMi0wMy0xNyAxNTowOToyMSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIG9wZW5jdjogZml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyOTUKCjIwMTItMDMtMTUgMjI6MTI6NTkgKzAxMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBmaXggcmVncmVzc2lvbiBzZXR0aW5nIHdpbmRvdyBoYW5kbGUgaW4gcGF1c2UvcGxheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTA1CgoyMDEyLTAzLTE3IDE1OjA3OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3Npbms6IEFkZCBkZXZpY2UgcHJvcGVydHkKCSAgQWxzbyBhZGQgcHJvcGVydHkgcHJvYmUgZm9yIGRldmljZSBwcm9wZXJ0eSwgc2ltaWxhciB0byBkZWNrbGlua3NyYy4KCjIwMTEtMTAtMzEgMTg6NTg6MzQgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBtYWtlIHN1cmUgd2UgY2FuIGFjY2VwdCBjYXBzIGJlZm9yZSByZXR1cm5pbmcgdHJ1ZQoJICBjYXBzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBwbHVnaW4ncyBwcm9wZXJ0aWVzLCBzbyB3ZSBzaG91bGQgY2hlY2sgdGhlCgkgIGluY29taW5nIGNhcHMgdG8gc2VlIGlmIHRoZXkgYWdyZWUuICBGaXhlczogIzY2NzcyMi4KCjIwMTEtMTAtMzEgMTg6NTc6MjIgLTA3MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBkaXNhYmxlIHB1bGwgbW9kZQoJICBkZWNrbGluayBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IGFueSBwdWxsIG1vZGUgcmVsYXRlZCBmdW5jdGlvbmFsaXR5LgoJICBpdCdzIG1vcmUgbGlrZSBhIGxpdmUgc291cmNlLCB5b3Ugc2VlLiBGaXhlczogIzY2NzcyMC4KCjIwMTItMDItMTEgMjI6NDk6MTAgLTA4MDAgIGJsYWtlIHRyZWdyZSA8Ymxha2VAb2Jsb25nLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBwdXNoIG5ldyBuZXcgc2VnbWVudCBldmVudCB0byBhbGwgcGFkcwoJICBUYWtlIGNhcmUgdG8gcHVzaCB0aGUgZXZlbnQgdG8gYWxsIHBhZHMsIGJ1dCBmYXZvciB0aGUgdmlkZW8gc3JjIHBhZC4KCSAgRml4ZXM6ICM2Njc3MTYuCgoyMDEyLTAzLTE3IDExOjQxOjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeQoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4gIEZpeCBtZW1sZWFrIHJlbGVhc2luZyByZXNvdXJjZXMuCgoyMDEyLTAzLTE3IDExOjM5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZWluZGVudAoKMjAxMS0xMC0zMSAxODo1NjoyMyAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSAgZGVja2xpbmtzcmM6IGhhbmRsZSBmbG93IHJldHVybiBwcm9wZXJseSBhbmQgcHJvdmlkZSBiZXR0ZXIgbWVzc2FnZQoJICAqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgoyMDEyLTAzLTA3IDE5OjIyOjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IHByb2JpbmcKCSAgUmVuYW1lcyB0aGUgc3ViZGV2aWNlIHByb3BlcnR5IHRvIGp1c3QgZGV2aWNlLCBhbmQgaGFzIGl0CgkgIHJldHVybiB0aGUgbnVtYmVyIG9mIGRldmljZXMgaW4gdGhlIHN5c3RlbSBpbiByZXNwb25zZSB0bwoJICBhIHByb2JlLiBUaGlzIGlzIHVzZWZ1bCBib3RoIGZvciB1c2luZyBtdWx0aXBsZSBjYXB0dXJlCgkgIGNhcmRzLCBhbmQgZm9yIGRldGVjdGluZyB3aGV0aGVyIGl0J3Mgd29ydGggYWRkaW5nIHRoZQoJICBlbGVtZW50IHRvIGEgcGlwZWxpbmUuCgkgIEFsc28gY2xlYW5zIHVwIHRoZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgoyMDEyLTAzLTE3IDExOjQ1OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBjaGFpbiBxdWVyeS9ldmVudCBmdW5jdGlvbnMKCSAgQ2hhaW4gdXAgdG8gcGFyZW50IGNsYXNzLiAgVGhpcyBmaXggc2hvdWxkIGJlIGRvbmUgdG8gYWxsIG9mIHRoZQoJICB0ZW1wbGF0ZXMuCgoyMDEyLTAzLTE3IDExOjM1OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IEFkZCBjaGFubmVsIHByb3BlcnR5CgkgIFRoZSBjaGFubmVsIHByb3BlcnR5IGFsbG93cyBtdWx0aXBsZSBpbnRlcnNyYy9zaW5rIHBhaXJzIHRvIGZpbmQKCSAgZWFjaCBvdGhlci4gIEl0J3MgYSBmcmVlLWZvcm0gdGV4dCBzdHJpbmcgdGhhdCBtdXN0IG1hdGNoIGFtb25nCgkgIHZhcmlvdXMgaW50ZXIgZWxlbWVudHMuICBBbHNvIGZpeGVkIHVwIGRvY3VtZW50YXRpb24gYW5kIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgoyMDEyLTAzLTE3IDE2OjA5OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGZpeCAtdGVtcGxhdGUtdmlkZW8gY2FwcyBzdHJpbmcKCSAgRG9uJ3QgZm9yZ2V0IHNlcGFyYXRvci4KCjIwMTItMDMtMTcgMTY6MDU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGFkZCB2aWRlbyBwYWQgdGVtcGxhdGUgYW5kIHVzZSBpdCBpbiB2aWRlb2ZpbHRlciBjbGFzcwoJICBXb3VsZCBiZSBuaWNlciBpZiBvbmUgY291bGQganVzdCBzdXBwbGVtZW50IHRoZSBnZW5lcmljIHRlbXBsYXRlCgkgIGZyb20gdGhlIGVsZW1lbnQgdGVtcGxhdGUgdGhvdWdoLgoJICBBbHNvLCBJIHdvdWxkIHJlYWxseSBoYXZlIGxpa2VkIHRvIGp1c3QgYWRkIHRob3NlIHNlY3Rpb25zIGZyb20gdGhlCgkgIHBhZHMgdGVtcGxhdGUgaW50byB0aGUgZWxlbWVudCB0ZW1wbGV0IGRpcmVjdGx5IChzbyBJIGNhbiBjYXRlciBmb3IKCSAgc3JjIHRlbXBsYXRlIGNhcHMgPT0gc2luayB0ZW1wbGF0ZSBjYXBzKSwgYnV0IHRoYXQgZGlkbid0IHNlZW0gdG8KCSAgd29yay4KCjIwMTItMDMtMTcgMTU6NDk6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGFkZCB7c3JjLHNpbmt9cGFkLXRlbXBsYXRlLCBzaW5jZSBtYW55IGJhc2UgY2xhc3NlcyBjcmVhdGUgcGFkcyBmb3IgdXMKCSAgQW5kIHVzZSB0aGVtIGluIHRoZSB2aWRlb2ZpbHRlciB0ZW1wbGF0ZS4KCjIwMTItMDMtMTcgMTU6MTY6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIHRvb2xzOiBhZGQgdmlkZW9maWx0ZXIgdGVtcGxhdGUgZm9yIGdzdC1lbGVtZW50LW1ha2VyCgoyMDEyLTAzLTE3IDEyOjQ3OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgb3BlbmN2OiBmaXggY29uZmlndXJlIGNoZWNrIGFuZCBidWlsZCB3aXRoIG9wZW5jdiAyLjEKCSAgQUNfQ0hFQ0tfSEVBREVSUygpIGNhbGxzIGFjdGlvbi1pZi1ub3QtZm91bmQgYWxzbyBpZiBqdXN0IG9uZSBvZgoJICB0aGUgaGVhZGVycyBjaGVja2VkIGZvciBpcyBtaXNzaW5nLCB3aGljaCBpcyBub3Qgd2hhdCB3ZSB3YW50ZWQuCgkgIEFsc28sIGNoZWNrIGZvciBoaWdoZ3VpX2MuaCBpbnN0ZWFkIG9mIGhpZ2hndWkuaHBwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjI2CgoyMDEyLTAzLTE2IDIxOjQ3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBkb24ndCBwYXNzIHJhbmRvbSBwb2ludGVycyB0byBwdWxsX3JhbmdlCgoyMDEyLTAzLTE2IDE3OjA3OjQ2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGluaXRpYWxpemUgc29tZSBhcmJpdHJhcnkgdmFyaWFibGUgdGhhdCBnY2MtNC42IGNhbiB0cmFjayBwcm9wZXJseQoJICBUaGUgYWNjZXNzIHRvIHRoZW0gaXMgY2xlYXJseSBndWFyZGVkIGJ5IHRoZSBib29sZWFucyB0aG91Z2guCgoyMDEyLTAzLTE2IDEzOjE0OjQ4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIG9wZW5jdjogY29zbWV0aWMgY29kZSBjaGFuZ2VzCgkgIENoZWNrIGZvciB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoZSBkZXRlY3RvcnMgaW4gdGhlIHByb2Nlc3NpbmcgZnVuY3Rpb24gdG8gYXZvaWQKCSAgc2V0dGluZyB1cCB0aGUgUk9Jcy4gVXNlIHRoZSBib29sZWFucyBmb3IgaGF2ZV94eHggbW9yZS4KCjIwMTItMDMtMTYgMTI6NTc6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIG9wZW5jdjogdXNlIG9wZW5jdiBwcmVmaXggZnJvbSBwa2djb25maWcgdG8gbG9va3VwIGRhdGFmaWxlcwoJICBEb24ndCBoYXJkY29uZGUgL3VzciB0byBsb29rdXAgZGF0YWZpbGVzIChzdWNoIGFzIGhhYXIgY2FzY2FkZXMpLgoKMjAxMi0wMy0xNSAxNzoxMDoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcnNuZHZkc3JjOiBwb3N0IGEgbWVzc2FnZSB3aXRoIHRpdGxlIG51bWJlciBhbmQgZHVyYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIxNjUKCjIwMTItMDMtMTYgMTI6MTA6MTAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IHJlbW92ZSBibGFuayBsaW5lIGluIGd0ay1kb2MgY29tbWVudAoKMjAxMi0wMy0xNiAxMjowNDoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBza2lwIGRldGVjdGlvbiBmb3IgdW5hdmFpbGFibGUgZGV0ZWN0b3JzCgoyMDEyLTAzLTE1IDIzOjE3OjU1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IG1vdmUgdGhlIGRldGVjdG9yIHRvIGFuIG93biBtZXRob2QgdG8gaGlkZSB0aGUgdWdseSBpZmRlZnMKCSAgVGhpcyBpbXByb3ZlcyB0aGUgcmVhZGFiaWxpdHkgaW4gdGhlIGFjdHVhbCBwcm9jZXNzaW5nIGZ1bmN0aW9uLgoKMjAxMi0wMy0xNSAyMzowODowMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBhbHdheXMgc2VuZCBmYWNlZGV0ZWN0IG1lc3NhZ2UKCSAgVGhlIGFwcGxpY2F0aW9uIG1pZ2h0IGxpa2UgdG8ga25vdywgd2hlbiB3ZSBkb24ndCBzZWUgdGhlIGZhY2UgYW55bW9yZS4KCjIwMTItMDMtMTUgMjI6NTg6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IGNvZGUgY2xlYW51cHMKCSAgVXNlIGdsaWIgdHlwZXMgYW5kIHNpbXBseSBleHByZXNzaW9ucyBpbiB0aGUgbWVzc2FnZSBoYW5kbGVyLgoKMjAxMi0wMy0xNSAyMjo0OTo1MSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogZG9uJ3QgYWNjZXNzIG1lc3NhZ2UgZmllbGRzIGRpcmVjdGx5CgoyMDEyLTAzLTE1IDIyOjIyOjEyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGRvbid0IHNraXAgZmFjZXMKCSAgU2tpcHBpbmcgZmFjZXMgYXQgdGhpcyBwb2ludCBtYWtlcyB1cyBsaWUgYWJvdXQgdGhlIG51bS1iZXIgb2YgZmFjZXMgYW5kIGFsc28KCSAgY2F1c2VzIGxlYWtzLgoKMjAxMi0wMy0xNSAyMjoxMTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGNoYW5nZXMKCjIwMTItMDMtMTUgMjA6Mzg6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDE4OjI4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBjb3NtZXRpYyBjaGFuZ2UKCSAgUmVuYW1lIFBST1BfRklMRU5BTUUgdG8gUFJPUF9MT0NBVElPTiB0byBtYXRjaCB0aGUgbmFtZSBvZgoJICB0aGUgcHJvcGVydHkuIEFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDEyLTAzLTE1IDE4OjI2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogY2xlYXIgb3ZlcmxheSBpZiB0aGUgZmFjZSBkaXNhcHBlYXJzCgoyMDEyLTAzLTE1IDE4OjIxOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogYWRkIHNvbWUgbG9ja2luZyBmb3IgcHJvcGVydGllcywgZnJlZSBwcmV2aW91cyBsb2NhdGlvbiB3aGVuIGl0IGNoYW5nZXMKCjIwMTItMDMtMTUgMTg6MDg6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogZG9uJ3QgbWFrZSByc3Znb3ZlcmxheSByZWxvYWQgdGhlIFNWRyBmb3IgZXZlcnkgc2luZ2xlIGZyYW1lCgkgIE9ubHkgc2V0IGxvY2F0aW9uIG9uIHJzdmdvdmVybGF5IGlmIGl0IGhhcyBjaGFuZ2VkLgoKMjAxMi0wMy0xNSAxNzo0Nzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IG1vdmUgZmFjZSBoYW5kbGluZyBpbnRvIG93biBmdW5jdGlvbiBhbmQgaGFuZGxlIDAgZmFjZSBjb3VudAoJICBXaGVuIGEgZmFjZSBkaXNhcHBlYXJzLCB3ZSBzZWVtIHRvIGdldCBhIG1lc3NhZ2UgZnJvbSBmYWNlZGV0ZWN0IHdpdGgKCSAgYSBmYWNlIGNvdW50IG9mIDAsIHdoaWNoIHdlIHdhbnQgdG8ganVzdCBpZ25vcmUgaW5zdGVhZCBvZiB0cnlpbmcgdG8KCSAgYWNjZXNzIGZhY2UgIy0xLCB3aGljaCBjYXVzZXMgbmFzdHkgd2FybmluZ3MuCgoyMDEyLTAzLTE1IDE3OjQyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogZml4IHBhZCB0ZW1wbGF0ZXMKCSAgVXNlIGdlbmVyaWMgYW5kIHVuc3BlY2lmaWZlZCByZ2IvY2FwcyBmb3Igbm93LiBUaGUgZXhhY3QgY2FwcwoJICBzdXBwb3J0ZWQgZGVwZW5kIG9uIHRoZSBmYWNlZGV0ZWN0IGVsZW1lbnQgYW5kIHJzdmdvdmVybGF5LiBJdCdzCgkgIG5vdCBjbGVhciBob3cgdGhpcyB3b3JrZWQgYmVmb3JlLCBzaW5jZSBmYWNlZGV0ZWN0IG9ubHkgYWNjZXB0cwoJICAyNC1iaXQgUkdCLCBidXQgdGhlIGNhcHMgYWR2ZXJ0aXNlZCAzMi1iaXQgQVJHQi9CR1JBLiBJbiBhbnkgY2FzZSwKCSAgd2UgZG9uJ3Qgd2FudCB0byBmb3JjZSBhbnl0aGluZyByZWFsbHksIHNvIHRoYXQgaWYgYW55IG9mIHRob3NlCgkgIGVsZW1lbnRzIGFjcXVpcmVzIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgZm9ybWF0cyB3ZSBwaWNrIHRob3NlIHVwCgkgIGF1dG9tYXRpY2FsbHkuCgoyMDEyLTAzLTE1IDE3OjI2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBmaXggY3Jhc2ggZHVlIHRvIGRvdWJsZSBhZGFwdGVyIHVucmVmCgoyMDEyLTAzLTE1IDE2OjUyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuaDoKCSAgZmFjZW92ZXJsYXk6IGZpeCB3ZWlyZCBwYWQgY3JlYXRpb24gY29kZQoJICBUaGUgZWxlbWVudCB3b3VsZCBjcmVhdGUgbm9ybWFsIHBhZHMgaW4gaXRzIGluc3RhbmNlX2luaXQgZnVuY3Rpb24sCgkgIGFuZCB0aGVuIGxhdGVyIGluIE5VTEwtPlJFQURZIGNyZWF0ZSB0aGUgZWxlbWVudHMgaXQgbmVlZHMsIHJlbW92ZQoJICB0aGUgcGFkcyBjcmVhdGVkIGluIHRoZSBpbnN0YW5jZV9pbml0IGZ1bmN0aW9uLCBhbmQgYWRkIG5ldyBnaG9zdAoJICBwYWRzIGluc3RlYWQuIE5vdCB3aXRob3V0IHNhdmluZyB0aGUgZXh0ZXJuYWwgcGVlciBwYWRzIG9mIHRoZSBvbGQKCSAgcGFkcyBvZiBjb3Vyc2UsIHdoaWNoIGl0IHdvdWxkIHByb21wdGx5IHJlLWxpbmsgdG8gdGhlIG5ldyBnaG9zdAoJICBwYWRzLiBEbyBhbGwgb2YgdGhhdCBhIGJpdCBkaWZmZXJlbnRseS4KCSAgRml4ZXMgdGhlIGdlbmVyaWMvc3RhdGVzLmNoZWNrIHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDU4OAoKMjAxMi0wMy0xNSAxNTo0NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSAgZmFjZW92ZXJsYXk6IG1pbm9yIGNvc21ldGljIGNoYW5nZXMKCSAgUmVtb3ZlIHRlbXBsYXRlIG1ha2VyIGNvbW1lbnRzLCB1c2Ugb3VyIGRlZmluZXMgZm9yCgkgIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luLgoKMjAxMi0wMy0xNSAxNDowODoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVycG9vbCBhcGkgY2hhbmdlCgoyMDEyLTAzLTE1IDEzOjM3OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHVwZGF0ZSBmb3IgbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDEyLTAzLTE1IDAwOjEzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdGVzdCBiaW5hcmllcyBhbmQgc3RhbXAgZmlsZXMKCjIwMTItMDMtMTUgMDA6MDU6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IG1ha2UgYnVpbGQgd2l0aCBvcGVuY3YgMi4zLjEgYXMgaW4gZGViaWFuIHNpZAoJICBXaGVyZSBoaWdoZ3VpLmggZG9lc24ndCBleGlzdCBhbnkgbW9yZSwgYnV0IG9ubHkgb3BlbmN2Mi9oaWdoZ3VpL2hpZ2hndWkuaHBwLgoJICBBbHNvLCBub3QgcXVpdGUgc3VyZSB3aHkgd2UncmUgY2hlY2tpbmcgZm9yIGN2YXV4LmgsIGl0J3Mgbm90IHVzZWQgYW55d2hlcmUuCgoyMDEyLTAzLTE0IDE5OjUyOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0YWtlIHBhZGRpbmcgaW50byBhY2NvdW50CgoyMDEyLTAzLTE0IDE3OjQ4OjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IGFsc28gY2xlYXIgaW5pdGlhbGl6ZWQgbXV0ZXggYW5kIGNvbmQKCjIwMTItMDMtMTQgMTE6MjA6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogYWRqdXN0IHRvIHNvbWUgbW9kaWZpZWQgY2FwcyByZWxhdGVkIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTE0IDEwOjI0OjA1ICswMTAwICBEbWl0cnkgS2V0b3YgPGRrZXRvdkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogSW50ZWdyYXRlIGludG8gYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBGaXhlcyBidWcgIzY3MjAzMS4KCjIwMTItMDMtMTMgMjA6NTA6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBmaXggd2FybmluZ3Mgd2hlbiBnc3QtaW5zcGVjdGluZyBpbnRlcmF1ZGlve3NyYyxzaW5rfQoJICBUaGUgY2hhbm5lbCBwcm9wZXJ0eSBpc24ndCBpbXBsZW1lbnRlZCwgc28gZG9uJ3QgcmVnaXN0ZXIgaXQuCgoyMDEyLTAzLTA4IDAxOjQ4OjU2ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogRml4IHdhcm5pbmdzLCBwcm9wZXIgc3RydWN0dXJpbmcsIGRlYWQgY29kZSByZW1vdmFsLCBhZGRpbmcgZG9jIHNlY3Rpb24uCgoyMDEyLTAzLTEzIDEzOjAyOjU0ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogbW92ZSBzcGMgcGx1Z2luIHRvIE5PTl9QT1JURUQgbGlzdChGaXggYnVpbGQgZXJyb3IpCgoyMDEyLTAzLTEzIDA5OjU0OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICB1c2UgZ3N0X2NhcHNfbWVyZ2UgaW5zdGVhZCBvZiBnc3RfY2Fwc191bmlvbgoKMjAxMi0wMy0xMiAxNTo0MjowNCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3VyZSBndC0+bWFwIG5vdCBmcmVlZCB0d2ljZQoJICBjdXJyZW50IGNoZWVzZSBjYW4gY3JlYXRlIHNpdHVhdGlvbiB3aGVyZSBndC0+bWFwIGlzIGZyZWVkIHR3aWNlLgoJICBUaGlzIHBhdGNoIHNldCBtYXAgdG8gbnVsbCB0byBhdm9pZCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTkxMAoKMjAxMi0wMy0xMiAxNzowNjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGZvciBjYXBzIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTIgMTY6NTE6MTkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBidW1wIEdMaWIgcmVxdWlyZW1lbnQgdG8gMi4zMS4xNAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTExCgoyMDEyLTAyLTI4IDE2OjQwOjMxICswMTAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogYWRkIGZsb2F0aW5nIHBvaW50IHNlZ21lbnQgZHVyYXRpb24gc3VwcG9ydAoKMjAxMi0wMy0xMiAxMjoyMzozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIGNhcHMgX25vcm1hbGl6ZSBjaGFuZ2VzCgoyMDEyLTAzLTEyIDExOjQwOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IGZpeCBmb3IgY2FwcyBBUEkgY2hhbmdlCgoyMDEyLTAzLTEyIDEwOjQ0OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgX2RvX3NpbXBsaWZ5IGNoYW5nZXMKCjIwMTItMDMtMTEgMTk6MDY6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTAgMjA6NTM6NTQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIEZpeCBhbiB1bndhbnRlZCBkb3VibGUgbmVnYXRpb24gZnJvbSBsYXN0IGNvbW1pdAoKMjAxMi0wMy0xMCAxOToxMDo1MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIEZpeCAnaWdub3JpbmcgcmV0dXJuIHZhbHVlIG9mIGZ1bmN0aW9uIGRlY2xhcmVkIHdpdGggY29uc3QgYXR0cmlidXRlJwoJICBUaGlzIGFsd2F5cyBoYXBwZW5zIHdpdGggR3N0Qnl0ZVJlYWRlci9Xcml0ZXIgYW5kIGZyaWVuZHMgd2hlbgoJICBub3QgdGFraW5nIGludG8gYWNjb3VudCByZXR1cm5lZCBib29sZWFuIG9mIHRoZSBfcmVhZC9fd3JpdGUgZnVuY3Rpb25zCgkgICh3aGljaCBpcyBhY3R1YWxseSB3cm9uZykuCgkgIE1ha2UgdXNlIG9mIHRoZSAqX3VuY2hlY2tlZCB2YXJpYW50IGFzIG11Y2ggYXMgcG9zc2libGUsIG9yIHRha2UgdGhlCgkgIHJldHVybmVkIHZhbHVlIGludG8gYWNjb3VudC4KCjIwMTItMDMtMTAgMTE6MzY6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBhdm9pZCBydW5hd2F5IGxvb3Agd2hlbiByZXN5bmNpbmcgZHVyaW5nIHBhcnNlCgkgIC4uLiBieSBjaGVja2luZyBmb3IgdGhlIGNvcnJlY3QgKGRlY3JlbWVudGVkKSBzaXplIHZhcmlhYmxlLgoJICBGaXhlcyAjNjcxNzU2LgoKMjAxMi0wMy0wOSAxNzoxNjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggQUNfTEFOR19TT1VSQ0UtcmVsYXRlZCB3YXJuaW5ncyB3aGVuIGRvaW5nIGF1dG9nZW4uc2gKCjIwMTItMDMtMDEgMTQ6NTk6NTUgLTAzMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgRml4aW5nIHJ0cHZwOCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHRoaXJkIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEwNzMKCjIwMTItMDMtMDggMTE6MzI6MjcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0czogZml4IG1vcmUgY2FwcwoKMjAxMi0wMy0wNyAxNzoxNDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IHBvcnQgdG8gdXBkYXRlZCAwLjExCgoyMDEyLTAzLTA3IDEwOjE4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0wNyAxMjo1OToyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG9ubHkgcmVxdWVzdCBhbmQgcHJvY2VzcyAxIGZyYW1lIGF0IGEgdGltZQoJICAuLi4gc2luY2UgaXQgaXMgc3BlY2lmaWVkIGluIF9maW5pc2hfZnJhbWUgdGhhdCBpbnB1dCBidWZmZXIgbWF5IGJlIGludmFsaWRhdGVkCgkgIGFmdGVyIGNhbGxpbmcgaXQsIGFuZCBpcyBhcyBzdWNoIG5vdCByZWxpYWJseSBhdmFpbGFibGUgZm9yIGZ1cnRoZXIgZW5jb2RpbmcuCgkgIEFsc28sIHJlcXVlc3Rpbmcgb3IgYWxsb3dpbmcgc2V2ZXJhbCBmcmFtZXMgaXMgb25seSB1c2VmdWwgaWYgc3ViY2xhc3MgaW50ZW5kcwoJICB0byBwcm9jZXNzIHRoZXNlICJpbiAxIHJ1biIgKGFzIGluLCAxIG91dHB1dCBidWZmZXIpLCBub3QgZm9yIGhhdmluZyBhbm90aGVyCgkgIChpbm5lcikgbG9vcCBpbiBzdWJjbGFzcyB3aGVyZSB0aGUgYmFzZWNsYXNzIG9uZSB3aWxsIGRvIGp1c3QgZmluZS4KCjIwMTItMDMtMDcgMTI6NTU6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBjb25maWd1cmUgYmFzZWNsYXNzIHJlcXVlc3RlZCBzYW1wbGVzIHJlYWxseSBpbiBzYW1wbGVzCgkgIC4uLiBhcyBvcHBvc2VkIHRvIGJ5dGVzLgoKMjAxMi0wMy0wNiAxODo0OToxMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIHZpZGVvOiBVcGRhdGUvYWRkIGRvY3MKCjIwMTItMDMtMDYgMTg6MTE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIEFkZCBtaXNzaW5nIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBTdXBwcmVzcyB3YXJuaW5ncyBhYm91dCBkZXByZWNhdGVkIHRocmVhZGluZyBhbmQgR1ZhbHVlQXJyYXkKCSAgQVBJLCBzbyBnaXQgY29tcGlsZXMgd2l0aCAtV2Vycm9yLgoKMjAxMi0wMy0wNiAxODozMzoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIHNpcmVuZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMi0wMy0wNiAxODozMzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAzLTA2IDE2OjExOjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE2OjExOjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogdXNlIGJhc2UgY2xhc3MgdGFnIGhhbmRsaW5nIGhlbHBlcgoJICAuLi4gc28gYXMgdG8gZW5zdXJlIHRoZXNlIHRvIGJlIGhhbmRsZWQgYW5kIHNlbnQgYXQgcHJvcGVyIHRpbWUuCgoyMDEyLTAzLTA2IDE4OjMyOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogYXZvaWQgaW5kZWZpbml0ZSBsb29waW5nIHVwb24gZXJyb3IKCSAgLi4uIGFuZCBmaXggJ3VuaW5pdGlhbGl6ZWQnIGNvbXBpbGF0aW9uIHdhcm5pbmcgYXMgd2VsbC4KCjIwMTItMDMtMDYgMTU6MjE6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkgIGdzZXR0aW5nczogRml4ICdpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHknIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTY6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEZpeCAnaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ0RpcmVjdFJlc3VsdCcgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUgJ0RGQlJlc3VsdCcnIGNvbXBpbGVyIHdhcm5pbmcKCSAgV2UncmUgbm90IGNoZWNraW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhhdCBmdW5jdGlvbiBhbnl3YXkuCgoyMDEyLTAzLTA2IDE0OjUxOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmw6IEZpeCAnZXF1YWxpdHkgY29tcGFyaXNvbiB3aXRoIGV4dHJhbmVvdXMgcGFyZW50aGVzZXMnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NTE6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IFVzZSBjb3JyZWN0IGVudW0gdHlwZSBmb3IgcmV0dXJuIHZhbHVlCgoyMDEyLTAzLTA2IDE0OjUwOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEZpeCBsb29wIHRvIG5vdCByZWFkIGJlZm9yZSB0aGUgdmFsaWQgbWVtb3J5IGFyZWEKCjIwMTItMDMtMDYgMTQ6NDc6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSAgcmVtb3Zlc2lsZW5jZTogRml4ICdhcmd1bWVudCB0byAnc2l6ZW9mJyBpbiAnbWVtc2V0JyBjYWxsIGlzIHRoZSBzYW1lIGV4cHJlc3Npb24gYXMgdGhlIGRlc3RpbmF0aW9uJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQ2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRml4ICd2YXJpYWJsZSAncGlkJyBpcyB1bmluaXRpYWxpemVkIHdoZW4gdXNlZCBoZXJlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjQzOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4ICdleHByZXNzaW9uIHJlc3VsdCB1bnVzZWQnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA2IDE0OjM4OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNSAxMjo0NjoxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgcm9sbG92ZXIgaW4gb2Zmc2V0IGNhbGN1bGF0aW9ucwoKMjAxMi0wMy0wNSAxMjo0Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICB4LXJhdy1iYXllciAtPiB4LWJheWVyCgoyMDEyLTAzLTA1IDEyOjAzOjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdXNlIG5ldyBzdHlsZSBjYXBzCgoyMDEyLTAzLTA1IDExOjI3OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IHByaW50ZiBmaXgKCjIwMTItMDMtMDUgMTA6MTQ6NDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkgIHRzZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDEyLTAzLTA1IDA5OjQ2OjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBTd2l0Y2ggcmFuayBvZiBtcGVndHNkZW11eCBhbmQgdHNkZW11eAoJICBNb3JlIGVmZm9ydCBoYXMgYmVlbiBwdXQgbGF0ZWx5IGluIHRzZGVtdXggYW5kIHdvcmtzIGluIG1vcmUgdXNlIGNhc2VzCgoyMDEyLTAzLTA1IDA5OjM4OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggcGFja2V0cyBhcyBlYXJseSBhcyBwb3NzaWJsZQoJICBXaGVuIHRoZSBQRVMgaGVhZGVyIHRlbGxzIHVzIGhvdyBiaWcgdGhlIG91dGdvaW5nIHBhY2tldCBpcywgcHVzaCB0aGUKCSAgcGFja2V0IGRvd25zdHJlYW0gYXMgc29vbiBhcyB3ZSBoYXZlIHRoZSBzcGVjaWZpZWQgc2l6ZSBpbnN0ZWFkIG9mIHdhaXRpbmcKCSAgZm9yIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5leHQgcGFja2V0LgoJICBSZWR1Y2VzIGxhdGVuY3kgYW5kIHJlbW92ZXMgaXNzdWVzIHdpdGggdmVyeSBzcGFyc2Ugc3RyZWFtcyAobGlrZSBzdWJ0aXRsZXMKCSAgYW5kIHN1YnBpY3R1cmVzKS4KCjIwMTItMDMtMDQgMjE6NTQ6MDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBhZGQgbWluaW1hbCBkb2MgYmxvYnMKCjIwMTItMDItMjggMjE6MDA6MjQgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGaXggaW4gc2hlbGxfc3VyZmFjZV9zZXRfZnVsbHNjcmVlbgoKMjAxMi0wMi0xNiAyMjoyNzoyMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IE1vcmUgZml4ZXMgLS0gdXBkYXRlIHRvIFdheWxhbmQgMC44NSBwcm90b2NvbCAtLSBBZGRlZCBzaGVsbCBzdXJmYWNlIC0tIEFkZGVkIGZvcm1hdCBxdWVyeSBmb3Igc2htIGZvcm1hdCAtLSBDcmVhdGUgdGhlIHdpbmRvdyBiYXNlZCBvbiB3aWR0aCBhbmQgaGVpZ2h0IG9mIHZpZGVvIGV4dHJhY3RlZCBmcm9tIHVwc3RyZWFtIGNhcHMuCgoyMDExLTExLTAyIDE2OjIzOjAyICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICBVcGRhdGUgd2l0aCBuZXcgQVBJcyBpbiB3YXlsYW5kLWNsaWVudC4KCjIwMTEtMTEtMDIgMTM6NTE6MTMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIE1vcmUgRml4ZXM6ICogQWRkaW5nIGJ1ZmZlcl9hbGxvYyAqIHBlcmZvcm0gYnVmZmVyX2RhbWFnZSBiZWZvcmUgc3VyZmFjZV9hdHRhY2ggKiBGaXggdHlwbywgUmVtb3ZlIERlYWQgY29kZSBldGMuCgoyMDExLTExLTAyIDExOjAyOjExICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIEluaXRpYWwgQ29tbWl0OiBBZGRpbmcgV2F5bGFuZCBWaWRlbyBTaW5rCgoyMDExLTEyLTEzIDIzOjQzOjU5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBzZW5kIGR1cmF0aW9uIG1lc3NhZ2Ugb24gZHVyYXRpb24gdXBkYXRlcwoJICBXaGVuIHdlIGtub3cgYSBuZXcgZHVyYXRpb24sIHJlcG9ydCBpdC4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTEtMTItMTMgMTA6MjY6NTAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHBsYW5uaW5nICsgZXhhbXBsZSB1cGRhdGUKCjIwMTItMDMtMDMgMTk6MDM6MTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcG9ydCB2dGRlYwoKMjAxMi0wMy0wMyAxODo1NzowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgc2lnbmF0dXJlIG9mIENNU2FtcGxlQnVmZmVyQ3JlYXRlIGFuZCBDTUJsb2NrQnVmZmVyQ3JlYXRlV2l0aE1lbW9yeUJsb2NrCgkgIENoYW5nZSBkYXRhIHR5cGUgZm9yIGNvdW50ZXJzIHBhc3NlZCBvbiB0aGUgc3RhY2sgZnJvbSBVSW50MzIgdG8gc2l6ZV90LiBGaXhlcwoJICA2NGJpdCBidWlsZHMuCgoyMDEyLTAzLTAyIDA4OjEzOjEwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3JtYXQgZGVzY3JpcHRpb24gaGVscGVyIHNpZ25hdHVyZQoJICBVcGRhdGUgdGhlIEZpZ1ZpZGVvRm9ybWF0RGVzY3JpcHRpb25DcmVhdGVXaXRoU2FtcGxlRGVzY3JpcHRpb25FeHRlbnNpb25BdG9tCgkgIHNpZ25hdHVyZSB0byBtYXRjaCB0aGUgaW1wbGVtZW50YXRpb24gb24gT1NYIExpb24uCgoyMDEyLTAzLTAyIDIxOjQxOjM5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFuZCBidWlsZCBmYWlsdXJlIHdpdGggbWluZ3cKCSAgc2hhcmVkLmQzZGRldiB3YXMgcmVtb3ZlZCBhIHdoaWxlIGJhY2ssIG5vdCBzdXJlIGhvdyB0aGlzIHN0aWxsCgkgIGNvbXBpbGVzIGZvciBhbnlvbmUgKHRwbSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM3MTgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDE0MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTA1CgoyMDEyLTAzLTAzIDE1OjU3OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgQVNfTElCVE9PTCBhbmQgYnVtcCB2ZXJzaW9uIGZvciBBQkkgY2hhbmdlIGluIGguMjY0IGNvZGVjIHBhcnNlcgoJICBCYWNrcG9ydGVkIGZyb20gdGhlIDAuMTAgcmVsZWFzZSBicmFuY2gsIHdoZXJlIHYuMjMgd2FzIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzEyMDMKCjIwMTItMDMtMDIgMTE6NDU6NDEgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgbnVtYmVyIG9mIGVtdWxhdGlvbiBwcmV2ZW50aW9uIGJ5dGVzIGluIHNsaWNlX2hlYWRlcigpLgoJICBTb21lIGhhcmR3YXJlIHZpZGVvIGRlY29kZSBhY2NlbGVyYXRpb24gQVBJIChWQS1BUEksIERYVkEpIHJlcXVpcmUKCSAgYSBiaXQgY291bnQgdG8gdGhlIGZpcnN0IG1hY3JvYmxvY2ssIG1pbnVzIHRoZSBudW1iZXIgb2YgZW11bGF0aW9uCgkgIHByZXZlbnRpb24gYnl0ZXMuIFNvLCBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgY29uc3VtZXIgb2YgdGhlIGxpYnJhcnkKCSAgc2NhbiB0aGUgc2xpY2VfaGVhZGVyKCkgYWdhaW4sIGp1c3QgcmVjb3JkIHRoYXQgbnVtYmVyIHdoaWxlIHBhcnNpbmcuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIwMwoKMjAxMi0wMy0wMyAxNTo0NzowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICB0c2RlbXV4OiBmaXggY29uZnVzaW5nIHZhcmlhYmxlIG5hbWUKCjIwMTItMDMtMDIgMTc6MTE6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNlZ21lbnQgc3RhcnQgcG9zaXRpb24KCSAgSWYgd2UgKnJlYWxseSogY2FuJ3QgZmlndXJlIG91dCB0aGUgZmlyc3Qgc3RhcnQgcG9zaXRpb24sIHRoYXQgbW9zdAoJICBsaWtlbHkgbWVhbnMgdGhlIGRhdGEgdG8gcHVzaCBvdXQgZG9lc24ndCBoYXZlIGFueSB0aW1lc3RhbXAuCgkgIFVzZSBhIGRlZmF1bHQgdmFsdWUgb2YgMCB0aGVuCgoyMDEyLTAzLTAyIDE3OjEwOjI4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIG91dCB0aGUgcGFja2V0aXplciBvbiBmbHVzaGluZyBzZWVrcwoJICAuLi4gZWxzZSB3ZSBlbmQgdXAgd2l0aCBib2d1cyBkYXRhL29mZnNldHMKCjIwMTItMDItMjkgMTE6MTQ6MTUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFjdGl2YXRlIHBhZHMgb25seSB3aGVuIHJlY2VpdmluZyBkYXRhIGZvciB0aGUgc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5MjEKCjIwMTItMDMtMDIgMTU6Mzc6NTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGFkZCBtaXNzaW5nIGRpcmVjdHggaGVhZGVycwoKMjAxMi0wMy0wMiAxMTowNzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggbGV2ZWwgY29kZQoJICBWYWxpZCByYW5nZXMgICAgICAgICAgICBhcmUgZnJvbSA0IHRvIDEwCgkgIFZhbGlkIHJhbmdlcyA+PiAxICAgICAgIGFyZSBmcm9tIDIgdG8gNQoJICBWYWxpZCByYW5nZXMgPj4gMSAtIDIgICBhcmUgZnJvbSAwIHRvIDMKCSAgKGFuZCBub3QgZnJvbSAxIHRvIDQpCgoyMDEyLTAzLTAyIDEwOjU0OjQ4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENoZWNrIGhhcmRlciBmb3IgcHJvZ3JhbSBjaGFuZ2VzCgkgIEFuZCBkb24ndCBqdXN0IHJlbHkgb24gdGhlIHNlY3Rpb24gY3JjL3ZlcnNpb25fbnVtYmVyIGNoYW5naW5nIHRvCgkgIGluZGljYXRlIHRoYXQgdGhlIHByb2dyYW0gYWN0dWFsbHkgY2hhbmdlZC4KCjIwMTItMDMtMDEgMTg6NDY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJICB2ZHBhdTogcmVsaWNlbnNlIGZvdXIgc291cmNlIGZpbGVzIGZyb20gR1BMMysgdG8gTEdQTDIrCgkgIFRoZXNlIHNvdXJjZSBmaWxlcyB3ZXJlIG1pc3Rha2VubHkgbGljZW5zZWQgYXMgR1BMMywgdGhlCgkgIGF1dGhvciAoQ2FybC1BbnRvbiBJbmdtYXJzc29uKSBoYXMgZ2l2ZW4gcGVybWlzc2lvbiB0bwoJICByZWxpY2Vuc2UgdGhlbSB0byBMR1BMMisuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExNDIKCjIwMTItMDMtMDEgMTg6MDU6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogUmVmYWN0b3Igc2VlayBhbmQgc2VnbWVudCBoYW5kbGluZwoJICBBbGwgY2FsY3VsYXRpb25zIGdvIHRocm91Z2ggdGhlIG1wZWd0c3BhY2tldGl6ZXIKCSAgUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMvY29kZQoKMjAxMi0wMy0wMSAxNzo1OTo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBFcnJvciBvdXQgb24gRU9TIHdpdGhvdXQgYW55IHBhZAoJICBBdm9pZHMgZW5kaW5nIHVwIHdpdGggaGFuZ2luZyBwaXBlbGluZXMKCjIwMTItMDMtMDEgMTc6NTY6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogT2Zmc2V0IGNhbGN1bGF0aW9uCgkgIEFsbG93cyBQQ1I8PT5QVFM8PT5vZmZzZXQgZXN0aW1hdGlvbi9jYWxjdWxhdGlvbgoJICBSaWdodCBub3cgdGhlIGNhbGN1bGF0aW9uIGlzIHZlcnkgbmFpdmUsIGJ1dCBjYW4gYmUgZXh0ZW5kZWQgbGF0ZXIgb24KCSAgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBjb2RlIGluIHRzZGVtdXgvbXBlZ3RzYmFzZQoKMjAxMi0wMy0wMSAxNzo1Mzo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBjbG9jayBmaXggYW5kIG1pbm9yIGFkZGl0aW9uCgkgICogRG9uJ3QgdGFrZSBpbnRvIGFjY291bnQgcGFja2V0cyB0aGF0IGFycml2ZWQgYXQgdGhlIHNhbWUgdGltZSBhcwoJICBwcmV2aW91cyBvbmVzIGZvciBjbG9jayBza2V3IGVzdGltYXRpb24KCSAgKiBBZGQgY29udmVuaWVuY2UgbWV0aG9kIGZvciBwcm9jZXNzaW5nIHRoZSBuZXh0IHRzIHBhY2tldAoKMjAxMi0wMi0yOSAxODoxOToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBSZXZlcnQgIm1wZWd0c2RlbXV4OiBOb3QgYXBwbHkgdmFyaW91cyB0aW1lIHRoZSBzYW1lIFBNVCB0byBhIHByb2dyYW0gd2hlbiByZXBldGVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4Y2IwZTg3ZjU2MjM4MzZkZGMzNjFlYjkxZGNmOWI1MGI0ODA0OGU3LgoJICBtcGVndHNwYWNrZXRpemVyIGFscmVhZHkgY2hlY2tzIGlmIGl0J3MgYSBuZXcgUE1UIG9yIG5vdAoKMjAxMi0wMi0yOSAxMDozMzowMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogUmVtb3ZlIGFsbCBzZWVraW5nIGNvZGUKCSAgSXQgd2FzIG1vcmUgdGhhbiBib2d1cwoKMjAxMi0wMi0yOSAxNzoyNjoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlcwoKMjAxMi0wMi0xNCAxMTo1NzowMCArMDEwMCAgWGF2aWVyIFF1ZXJhbHQgPHhxdWVyYWx0QGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHNldCB0aGUgZmV0Y2hlcidzIGxvY2F0aW9uIHR3aWNlCgkgIENhbGxpbmcgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSBhbHJlYWR5IGRvZXMgaXQgYW5kIGZpbGVzcmMKCSAgZmFpbHMgd2hlbiB1c2luZyBmaWxlIHByb3RvY29sIGluIGEgbG9jYXRpb24KCjIwMTItMDItMjggMTY6Mjc6NTUgKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIEFkZCBtaXNzaW5nIEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBTdXBwcmVzcyB3YXJuaW5ncyBhYm91dCBkZXByZWNhdGVkIHRocmVhZGluZyBhbmQgR1ZhbHVlQXJyYXkKCSAgQVBJLCBzbyBnaXQgY29tcGlsZXMgd2l0aCAtV2Vycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTgyCgoyMDEyLTAyLTI0IDA5OjU0OjM1ICswMTAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgZmFpbCBmb3IgcGxheWxpc3RzIHNtYWxsZXIgdGhhbiBmcmFnbWVudHMtY2FjaGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDk2MwoKMjAxMi0wMi0yOCAxMTozOToxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIHRhZ3MKCjIwMTItMDItMjggMDg6MTM6MDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHBvcnQgcXRraXR2aWRlb3NyYwoKMjAxMi0wMi0yNyAwOTo0NToyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogY2F0Y2ggc2VjdGlvbiBsZW5ndGhzIGV4dGVuZGluZyBwYXN0IHRoZSBidWZmZXIgbGVuZ3RoCgkgIFRoaXMgaXMgcHJvYmFibHkgdGhlIGNhdXNlIGZvciBhbiBvY2Nhc2lvbmFsIGNyYXNoIHdoaWxlIHN0cmVhbWluZwoJICBNUEVHLiBCbGluZCBmaXggYWZ0ZXIgc3RhcmluZyBhdCB0aGUgY29kZSBhbmQgZm9sbG93aW5nIGxvZ2ljLCBzbwoJICBtYXkgb3IgbWF5IG5vdCBmaXggdGhlIGlzc3VlLCBJIGNhbm5vdCB0ZXN0LgoJICAoUG9ydCBvZiA0Mjc1YTcwY2I1NWQzNzVhZmE3MDI5MTdmNzM1OWVjMTE3ZWQ0OWQ0IGZyb20gbXBlZ2RlbXV4KQoKMjAxMi0wMi0yNyAwOTo0MjoyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogc3VwcG9ydCBtb3JlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmdzCgkgIFN1cHBvcnQgVVRGLTE2QkUsIEVVQy1LUiAoS1NYMTAwMSksIEdCMjMxMiBhbmQgSVNPLTEwNjQ2L1VURjggdGV4dAoJICBlbmNvZGluZyBhbmQgZml4ZWQgbmV3IGxpbmUgZm9yIG11bHRpYnl0ZSBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MjU3CgkgIChQb3J0IG9mIDk3NTlkNjY0MDdmMmJlOGVjMjk5NzViMGVmZjMyMzBiYjFkYWUwZWYgZnJvbSB0aGUgbXBlZ3RzZGVtdXgKCSAgZWxlbWVudCkKCjIwMTItMDItMjcgMTM6MTM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgYXVkaW9lbmNvZGVyczogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCjIwMTItMDItMjYgMjA6NDM6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogbGluayB0byBsaWJnc3RiYXNlCgoyMDEyLTAyLTI0IDE5OjA4OjQwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IEZpeCBwYXJzaW5nIG9mIFBTSSB0YWJsZSBJRHMKCSAgKFBvcnRlZCBmcm9tIG1wZWd0c2RlbXV4IGQ4ZmQ4NzRmNTI5MGU0OTExNDM3MTIwMDU3ZWU4ODVjZGI2OGI0YWYpCgoyMDEyLTAyLTI0IDE1OjI2OjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBdm9pZCB1bmxpbmtlbHkgbGVha3MgYW5kIHNlZ2ZhdWx0CgoyMDEyLTAyLTI0IDE3OjUzOjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBuZXcgY2xvY2sgc2tldyBlc3RpbWF0aW9uIGZvciBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIE9ubHkgdXNlZCBpbiBsaXZlIG1vZGUKCjIwMTItMDItMjQgMTc6NTI6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVmFyaW91cyBjb2RlIGNsZWFudXAgYW5kIGRlYWQgY29kZSByZW1vdmFsCgoyMDEyLTAyLTI0IDE3OjQ3OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBpc3N1ZXMgd2l0aCBza2V3IGNvZGUKCSAgKiBBbHdheXMgdHJ5IHRvIGdldCBhIHRpbWVzdGFtcCBmb3IgdGhlIGFsZ29yaXRobQoJICAqIFJlbW92ZSBkZWFkIHZhcmlhYmxlCgkgICogUmV0dXJuIHByb3BlciBkZWZhdWx0IHZhbHVlCgoyMDEyLTAyLTI0IDE3OjA3OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVGltZXN0YW1wIG91dHB1dCBieSBkZWZhdWx0CgkgIEFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIChsaWtlIGRlbXV4ZXJzIG9yIHBhcnNlcnMpIHRvIGRvIHJlbW90ZQoJICBjbG9jayByYXRlL3NrZXcgZXN0aW1hdGlvbi4KCjIwMTItMDItMjQgMTI6NTM6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZml4IGRvY3MgYW5kIHVuaXQgdGVzdAoKMjAxMi0wMi0yMyAxNDo0NjowOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRXN0aW1hdGUgY2xvY2sgc2tldyBhbmQgcmV0aW1lc3RhbXBzIGJ1ZmZlcnMgbW9yZSBwcmVjaXNseQoJICBBcHBseSB0aGUgRVBUTEEgYWxnb3RpdGhtIHRvIGVzdGltYXRlIGNsb2NrIHNrZXcuCgkgIFJldXNpbmcgY29kZSBmcm9tICAtZ29vZC9nc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYwoKMjAxMi0wMi0yMSAxMToxMjo1MyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYW4gdXAgQUFDIGNhcHMgbWVzcwoKMjAxMi0wMi0yMCAxNzo0NzoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIHRzZGVtdXg6IFJlaW5kZW50IGdzdG1wZWdkZXNjLmgKCjIwMTItMDItMjAgMTc6MzI6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IG1vcmUgRFRTL0FDMyBkZXNjcmlwdG9ycwoKMjAxMi0wMi0yMyAxODoxNzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdXNlbGVzcyBmaW5hbGl6ZSgpCgoyMDEyLTAyLTI0IDEwOjI2OjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgY2hhbmdlcwoKMjAxMi0wMi0yNCAxMDoyMTozMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiBmaXggc29tZSBjYXBzCgoyMDEyLTAyLTIzIDIyOjA0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4dXAgbmFzdHkgdHlwbyBicmVha2luZyBjb21waWxhdGlvbgoKMjAxMi0wMi0yMyAyMToxNzo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbnNpZGVyIG5hbF9sZW5ndGhfc2l6ZSB3aGVuIGNvbnN0cnVjdGluZyBjb2RlY19kYXRhCgkgIEZpeGVzICM2NzA2OTkuCgoyMDEyLTAyLTIzIDIxOjE2OjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZGlzY2FyZCBmcmFtZSB1cG9uIGRlY29kaW5nIGVycm9yCgoyMDExLTExLTA4IDIwOjE5OjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IFVzZSBpbmNvbWluZyB0aW1lc3RhbXBzIGluIGxpdmUgbW9kZQoKMjAxMS0xMS0wOCAyMDoxMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZXBvcnQgbGF0ZW5jeSAoNzAwbXMpCgoyMDExLTExLTA4IDA5OjQ0OjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFF1ZXJ5IHdoZXRoZXIgdXBzdHJlYW0gaXMgbGl2ZSBvciBub3QKCjIwMTItMDItMjMgMTE6NTU6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQnVtcCB2ZXJzaW9uIGFmdGVyIHJlbGVhc2UKCjIwMTItMDItMjIgMTU6NDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICB0ZXN0OiBwb3J0IHNjaHJvZW5jIHVuaXQgdGVzdAoKMjAxMi0wMi0yMiAxMTo0NDoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBQb3J0IHRvIDAuMTEKCSAgV29ya3Mgd2l0aCBzb21lIHNhbXBsZSBmaWxlcy4gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSB0aW1lc3RhbXBpbmcgaXNzdWUgdGhvdWdoLAoJICBidXQgdGhlIDAuMTAgdmVyc2lvbiBhbHNvIGNvbXBsYWlucyBhYm91dCB0aGF0IHRvby4KCjIwMTItMDItMjEgMTg6NTY6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYXZvaWQgdG91Y2hpbmcgLnBvIGZpbGVzIGR1cmluZyAnbWFrZScKCSAgQSBzaW1wbGUgd29ya2Fyb3VuZCB0byBkZWFsIHdpdGggR05VIGdldHRleHQgYXV0b21ha2UgaW50ZWdyYXRpb24KCSAgZmFpbGluZyB0byBkZWFsIHdpdGggZ2l0LiAgRml4ZXMgIzY2OTIwNwoKMjAxMi0wMi0yMiAwMjowNjozOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBuZXcgbWVtb3J5IGFwaQoKMjAxMi0wMi0yMSAxNjo1MzozNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgdmlkZW86IE1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMi0wMi0yMSAxNjo1Mjo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSAgYmFzZXZpZGVvY29kZWM6IERvY3VtZW50IHN0cnVjdHVyZXMKCjIwMTItMDItMjEgMTA6MDY6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDEyLTAyLTIwIDIwOjExOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IHYyMTAgd3JpdGluZyBvdXQgb2YgYm91bmRzCgoyMDEyLTAyLTIwIDE4OjQzOjUxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBHU1RfRVJST1IKCjIwMTItMDItMjAgMTE6NDI6MjMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdC1wcm9qZWN0LW1ha2VyOiBDcmVhdGUgdG9vbHMsIHBhc3MgbWFrZSBkaXN0Y2hlY2sKCSAgQ3JlYXRlIGEgdG9vbHMgZGlyZWN0b3J5IGZvciBhbiBhcHBsaWNhdGlvbi4gIEFkZCBzb3VyY2UgY29kZQoJICBzdHVicyB0byBhbGxvdyB0aGUgcHJvamVjdCB0byBjb21waWxlIGFuZCBwYXNzIG1ha2UgZGlzdGNoZWNrLgoJICBBZGQgbm90ZXMgaW4gc291cmNlIGNvZGUgdG8gdGVsbCB0aGUgdXNlciBob3cgdG8gY3JlYXRlIHBsdWdpbgoJICBvciBhcHAgY29kZSB1c2luZyB0aGUgb3RoZXIgLW1ha2VyIHNjcmlwdHMuCgoyMDEyLTAxLTI2IDA2OjU4OjQ2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTAyLTIwIDE2OjA3OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMi0wMS0yNiAxNjozMjoxNyAtMDUwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdSBzaG91bGQgZm9yd2FyZCB2aWRlbyBjYXBzIGV2ZW50CgoyMDEyLTAyLTIwIDE0OjMyOjEyICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgZmlsZXMgdG8gc3BlYwoKMjAxMi0wMi0yMCAxMjo0Mjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgYW5kICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBmaXggdGhlIGJ1aWxkCgoyMDEyLTAyLTIwIDEwOjU4OjA5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBnbGliLWNvbXBhdC1wcml2YXRlLmggdG8gZGlzdAoKMjAxMi0wMi0xOSAxNTo1NDozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LXByb2plY3QtbWFrZXI6IENyZWF0ZSBhdXRvdG9vbHMgcHJvamVjdAoJICBUaGlzIGlzIGEgcmVwbGFjZW1lbnQgZm9yIGdzdC10ZW1wbGF0ZSB0aGF0IGNyZWF0ZXMgYW4gZW50aXJlCgkgIGF1dG90b29scyBwcm9qZWN0IChjdXN0b21pemVkIHRvIHBhY2thZ2UgbmFtZSksIGFuZCBwb3B1bGF0ZXMKCSAgaXQgd2l0aCB0aGUgc291cmNlIGZvciBhIEdTdHJlYW1lciBwbHVnaW4gKGJ1dCBubyBwbHVnaW4gZmVhdHVyZXMsCgkgIHRob3NlIGNvbWUgZnJvbSBnc3QtZWxlbWVudC1tYWtlcikuICBGaXhlczogIzY2NTcyNy4KCjIwMTItMDItMTkgMTI6NTc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTItMDItMTkgMDA6MTU6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBjbGFtcCBpbnRlcm1lZGlhdGVzIHdoZW4gZGl0aGVyaW5nCgoyMDEyLTAxLTIzIDA5OjA1OjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgMTAtYml0IHN1cHBvcnQKCjIwMTItMDEtMjMgMDk6MDI6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJICBzY2hybzogQWRkIFJHQiBzdXBwb3J0CgkgIFRoaXMgdXNlcyB0aGUgYXV0b21hdGljIFlDb0NnIGNvbnZlcnNpb24gaW5zaWRlIFNjaHJvZWRpbmdlciB0bwoJICBlbmNvZGUvZGVjb2RlIFJHQi4gIE9ubHkgd29ya3MgaW4gaW50cmEtb25seSBtb2RlLCBzaW1pbGFyIHRvIDEwLQoJICBhbmQgMTYtYml0LCBzaW5jZSBSR0IgaXMgdGVjaG5pY2FsbHkgYSA+OC1iaXQgZm9ybWF0IGZvciBEaXJhYwoJICBwdXJwb3Nlcy4gIFRoaXMgZGVwZW5kcyBvbiBzY2hyb2VkaW5nZXItMS4wLjEyLCB3aGljaCBpcyB1bnJlbGVhc2VkLgoKMjAxMi0wMi0xOCAwMDowMTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IGJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTItMDItMTcgMTI6MTU6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBOb3QgYXBwbHkgdmFyaW91cyB0aW1lIHRoZSBzYW1lIFBNVCB0byBhIHByb2dyYW0gd2hlbiByZXBldGVhZAoJICBTb21ldGltZXMgdGhlaXIgYXJlIHNldmVyYWwgdGltZXMgdGhlIHNhbWUgUE1UIGFwcGx5aW5nIHRvIGEgc2FtZSBwcm9ncmFtIGluIGEgc3RyZWFtLAoJICB0c2RlbXV4IHdhcyB0b3RhbGx5IGJhZmZsZWQgd2hlbiB0aGlzIHdhcyBoYXBwZW5pbmcsIHdlIG5vdyBrZWVwIHRoZSBvbmUgd2UKCSAgYWxyZWFkeSBhcHBsaWVkIHNvIGl0IHdvcmtzIHByb3Blcmx5LgoKMjAxMi0wMi0xNiAwOTo1NDoyNCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IGdsaWIgZGVwcmVjYXRpb24KCjIwMTItMDItMTcgMTE6MDY6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuMSA9PT0KCjIwMTItMDItMTcgMTE6MDU6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJFTEVBU0UgMC4xMS4xCgoyMDEyLTAyLTE3IDA5OjAxOjU2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNiAxNjozMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXQgc291cmNlIHRvIG51bGwgd2hlbiByZXNldHRpbmcgY2FwcwoJICBJdCBzZWVtcyB0aGF0IHY0bDJzcmMgaXNuJ3QgaGFwcHkgd2hlbiBzd2l0Y2hpbmcgZm9ybWF0cyBvbiByZWFkeQoJICBzdGF0ZSwgaXQgd29ya3Mgd2hlbiBwdXR0aW5nIGl0IHRvIE5VTEwuIEtlZXAgdGhpcyB3b3JrYXJvdW5kIGluCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgd2hpbGUgdjRsMnNyYyBpc24ndCBmaXhlZC4KCSAgRml4ZXMgIzg0OTgzMgoKMjAxMi0wMi0xNiAxNDozMzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYwoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmMKCjIwMTItMDItMTYgMDE6MTI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUHV0IHNvdXJjZSBpbiBOVUxMIHdoZW4gaXQgZmFpbHMgY2hhbmdpbmcgc3RhdGUKCSAgV2hlbiBzb3VyY2UgaXMgYmVpbmcgcmVzZXQgdG8gY2hhbmdlIGNhcHMsIGNoZWNrIHRoZSByZXR1cm4gb2YKCSAgdGhlIHN0YXRlIHN5bmNpbmcgZnVuY3Rpb24gdG8gYXZvaWQgbGVhdmluZyB0aGUgc291cmNlIGluIGFuCgkgIHVuY29uc2lzdGVudCBzdGF0ZS4KCjIwMTItMDItMTYgMDA6MzA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICBtdmU6IGRvbid0IHJldHVybiBhIGJvb2xlYW4gZm9yIGEgR3N0Rmxvd1JldHVybgoJICBmaXhlcyBwbGF5YmFjay4KCjIwMTItMDItMTUgMTA6MzI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEF2b2lkIHRocm93aW5nIEZMT1dfRVJST1Igb24gbGFzdCBQQ1IgcHJvY2Vzc2luZyBlcnJvcgoJICBJbiB0aGUgY2FzZSBvZiBzY2FubmluZyBsYXN0IHBjciwgZXJyb3JzIGFyZSBub3QgY3JpdGljYWwsIHNvIHdlIGtlZXAKCSAgdGhlIHN0cmVhbSBmbG93aW5nLgoKMjAxMi0wMi0xNCAxMTo0NDo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBBQUMgbGF0bSBzdXBwb3J0CgoyMDEyLTAyLTE1IDExOjA2OjU3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNaW5vciByZWZhY3RvcmluZy9jb2RlIGNsZWFuaW5nCgkgIC4uLiBhZGQgc29tZSBkZWJ1Z2dpbmcgc3ltYm9scyBpbiB0aGUgbWVhbiB0aW1lLgoKMjAxMi0wMi0xNSAxNjozODozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBfY2hhaW4gaGFjawoJICBBcyB3ZSBjYW4gbm93IHJlbHkgdXBvbiBiZWluZyBwYXNzZWQgdXBzdHJlYW0gZGVsaW5lYXRlZCBkYXRhIGluCgkgIDo6aGFuZGxlX2ZyYW1lKCksIHRoZSBsYXR0ZXIgY2FuIGFsc28gcGFyc2UgYXZjIGZvcm1hdHRlZCBkYXRhCgkgIHdpdGhvdXQgaGF2aW5nIHRvIGludGVyY2VwdCBiYXNlcGFyc2UncyBjaGFpbiBmdW5jdGlvbi4KCSAgV2hpbGUgdGhpcyBldmlkZW50bHkgcmVxdWlyZXMgMiBzZXBhcmF0ZSBwYXJzaW5nIHBhdGhzLCBlYWNoIGNhbgoJICBiZSBzdHJlYW1saW5lZCBhY2NvcmRpbmdseS4KCjIwMTItMDItMTUgMTE6NTk6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGFkanVzdCB0byBzdGFuZGFyZGl6ZWQgYmFzZXBhcnNlIGZyYW1lIHN0YXRlIHRyYWNraW5nCgoyMDEyLTAyLTE1IDE3OjE0OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDItMTUgMTU6MDc6MzUgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFNFSSBwYXJzaW5nCgkgIC4uLiBpbiB0aGUgcHJlc2VuY2Ugb2YgZW11bGF0aW9uX3ByZXZlbnRpb25fdGhyZWVfYnl0ZS4KCSAgRml4ZXMgIzY2ODM4MS4KCjIwMTItMDItMTUgMTQ6Mjk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgcHJvcGVyIE5BTFUgb2Zmc2V0IGZvciBjb25maWcgZGF0YSBpbnNlcnRpb24KCSAgLi4uIHdoaWNoIGhhcyB0byBiZSB0aGUgcG9zaXRpb24gb2YgdGhlIHN0YXJ0IGNvZGUsIHdoaWNoIGlzIGFsbW9zdCBhbHdheXMKCSAgYnV0IG5lZWQgbm90IGJlIDQgYnl0ZXMuCgoyMDEyLTAyLTE1IDEzOjM5OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY29tcGlsYXRpb24KCjIwMTItMDItMTUgMTM6MDI6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGRvbid0IGxlYWsgZXZlbnQKCSAgVW5yZWYgdGhlIGV2ZW50IHdoZW4gd2UgZG9uJ3QgY2hhaW4gdXAgdG8gdGhlIHBhcmVudAoKMjAxMi0wMi0xNSAxMjo1Njo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogY2hhaW4gdXAgdG8gcGFyZW50IGV2ZW50IGhhbmRsZXIKCSAgQ2hhaW4gdXAgdG8gdGhlIHBhcmVudCBldmVudCBoYW5kbGVyIHRvIGdldCB0aGUgZGVmYXVsdCBiZWhhdmlvdXIgaW5zdGVhZCBvZgoJICByZXR1cm5pbmcgRkFMU0UuCgoyMDEyLTAyLTE0IDExOjE5OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0yNyAyMDo1ODo0OCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IHdhcm5pbmdzIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoxNTYxOjI0OiBlcnJvcjogYXNzaWdubWVudCBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUKCSAgZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoyMDI4OjM6IGVycm9yOiBmb3JtYXQgJyVkJyBleHBlY3RzIHR5cGUgJ2ludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdzaXplX3QnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc1MjIKCjIwMTItMDItMTMgMTg6NDQ6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxMToxNjoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBhZGp1c3QgdG8gbW9kaWZpZWQgYmFzZXBhcnNlIEFQSQoKMjAxMi0wMi0xMyAxMjoyNjoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeHVwIG1lcmdlCgoyMDEyLTAyLTEzIDE0OjIyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBfdW5tYXAgYnVmZmVyIHVwb24gZXhpdAoKMjAxMi0wMi0xMyAyMzowNDoxMiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBUcml2aWFsIGJ1ZyBmaXguIERvbid0IGNvcHkgZGF0YSBmcm9tIGFuIHVuaW5pdGVkIGJ1ZmZlci4KCjIwMTItMDItMTIgMjI6NTk6NTIgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rLy5naXRpZ25vcmU6CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLW1hcnNoYWwubGlzdDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJICBtdWx0aWZkc2luazogcmVmYWN0b3JlZCBpbiAtYmFzZQoKMjAxMi0wMi0xMCAxNjo1Mjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVwb3J0IGFmdGVyIG1lcmdlCgoyMDEyLTAyLTEwIDE2OjQ2OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jCgkgIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbQoJICBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYwoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmMKCSAgdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jCgkgIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmMKCjIwMTItMDItMTAgMTQ6NDY6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiB1bm9iZnVzY2F0ZSBmcmFtZSBwYXJzaW5nIGNvZGUKCjIwMTItMDItMDggMjE6MjE6NDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGZpeCBpbmRlZmluaXRlIHdhaXQgYWZ0ZXIgYWRkaW5nIGEgbmV3IGZkIHRvIHRoZSBwb2xsIHNldAoJICBJZiB0aGUgc2Vjb25kIGNhbGwgdG8gX3dhaXQgYmxvY2tzLCB3ZSB3aWxsIG5vdCBzaWduYWwgdGhlIGNvbmRpdGlvbgoJICB2YXJpYWJsZSwgc28gZW5zdXJlIHRoYXQgc2Vjb25kIGNhbGwgaXMgbm90IGJsb2NraW5nLgoJICBTZWUgcmF0aW9uYWxlIGFuZCBpbmZvcm1hdGlvbiBpbiB0aGUgbGlua2VkIGJ1ZzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTY5NwoKMjAxMi0wMi0wOSAxODowODoyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogcG9ydCB0byAwLjExCgoyMDEyLTAyLTA5IDE0OjQyOjIzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggcmVmY291bnQgZXJyb3IKCjIwMTItMDItMDkgMDA6MDk6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBkb24ndCB1c2UgZ3N0X2VsZW1lbnRfY2xhc3NfaW5zdGFsbF9zdGRfcHJvcHMoKQoJICBJdCdzIGFib3V0IHRvIGJlIHJlbW92ZWQuCgoyMDEyLTAyLTA4IDIwOjA5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIFJlbW92ZSBsZWdhY3loMjY0cGFyc2UgZWxlbWVudAoJICBPbmUgaDI2NCBwYXJzZXIgb3VnaHQgdG8gYmUgZW5vdWdoIGZvciBhbnlib2R5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MDAyCgoyMDEyLTAyLTA4IDE2OjM3OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICBHU1RfRkxPV19XUk9OR19TVEFURSAtPiBHU1RfRkxPV19GTFVTSElORwoKMjAxMi0wMi0wNyAxNzowMDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogZml4IG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0wOC0yMiAxNjozMTozOCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IGNyZWF0ZSBhIGQzZCBkZXZpY2UgZm9yIGVhY2ggc2luayBhbmQgdXNlIHRoZSBkZWZhdWx0IHN3YXAgY2hhaW4gaW4gY29ubmVjdGlvbiB3aXRoIGZsdXNoaW5nIHRoZSBHUFUgYW5kIG5vdCByZWNyZWF0aW5nIHRoZSBzd2FwIGNoYWluIHRoaXMgYXZvaWRzIHRlYXJpbmcgYWxzbyB1c2UgR1NUX3h4X0RFQlVHIG1hY3JvcyB3aGVyZSBhcHByb3ByaWF0ZQoKMjAxMS0wOC0yMiAxNDo0Njo0OCArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZsdXNoIEdQVSBiZWZvcmUgUHJlc2VudCBhZGRlZCBhbHRlcm5hdGUgd2FpdCBmb3IgdnN5bmMgbWV0aG9kIGJhc2VkIG9uIEdldFJhc3RlclN0YXR1cwoKMjAxMS0wOC0yMiAxNDozMDo0MyArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGNoZWNrIGZvciBoYXJkd2FyZSBjYXBhYmlsaXRpZXMsIHdoZW4gbmVnb3RpYXRpbmcKCjIwMTEtMDgtMjIgMTQ6MTk6MDYgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWRyYXcgbGFzdCBidWZmZXIgd2hlbiBuZXcgd2luZG93IGhhbmRsZSBoYXMgYmVlbiBzZXQuCgoyMDExLTA4LTIyIDE0OjEzOjMwICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogYWRkZWQgTlYxMiArIGVuYWJsZWQgUkdCIHN1cHBvcnQKCjIwMTEtMDgtMjcgMTM6MDc6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBkZXZpY2UgaW5pdGlhbGl6YXRpb24gY2hlY2sKCjIwMTItMDItMDcgMTI6MTQ6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB0ZXN0cwoKMjAxMi0wMi0wNyAxMjowMjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMi0wMi0wNyAxMjowMjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3ZpczogcG9ydCB0byAwLjExIHNvbWUgbW9yZQoKMjAxMi0wMi0wMiAxMzozMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBwcmV2ZW50IGNhcHR1cmVzIGZyb20gYmVpbmcgbG9zdCB3aGVuIHN3aXRjaGluZyByZXNvbHV0aW9ucwoJICBXaGVuIHN3aXRjaGluZyBjYXB0dXJlIGNhcHMsIGNhbWVyYWJpbjEgcmVzZXRzIGl0cyBzdGF0ZSB0byByZWFkeQoJICB0byBmb3JjZSBhIG5ldyBjYXBzIHRvIGJlIG5lZ290aWF0ZWQuIFRoaXMgY2F1c2VzIG9uZ29pbmcgY2FwdHVyZXMKCSAgdG8gYmUgYWJvcnRlZC4KCSAgVGhpcyBjb21taXQgYWRkcyBhIGNvbmRpdGlvbiB0byB3YWl0IGZvciBjYXB0dXJlcyB0byBmaW5pc2ggYmVmb3JlCgkgIGdvaW5nIHRvIHJlYWR5IHN0YXRlLgoKMjAxMi0wMi0wMiAxMjoyMjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBJbXByb3ZlIGRlYnVnIG1lc3NhZ2UgYWJvdXQgcHJvY2Vzc2luZyBjb3VudGVyCgkgIE1lbnRpb24gb24gdGhlIGxvZ3MgaG93IG1hbnkgY2FwdHVyZSBvcGVyYXRpb25zIG1pZ2h0IGhhdmUgYmVlbgoJICBsb3N0CgoyMDEyLTAyLTA0IDIyOjA2OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogYW5nbGUgaXMgaW4gcmFkaWFucyBhbHJlYWR5LCBkbyBub3Qgc2NhbGUgaXQKCSAgT3RoZXIgcGx1Z2lucyB1c2UgcmFkaWFucywgYW5kIHRoZSBhbmdsZSBkb2N1bWVudGF0aW9uIHNheXMgcmFkaWFucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTM2NQoKMjAxMi0wMi0wNCAyMjowNjoxMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IGZpeCBkZXNjcmlwdGlvbiBzdHJpbmcgdG8gbWF0Y2ggd2hhdCB0aGUgZWxlbWVudCBkb2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkzNjUKCjIwMTItMDItMDMgMTE6MDg6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IGVtaXQgbm8tbW9yZS1wYWRzCgkgIERvaW5nIHNvIG1heSBmaXggc29tZSB0aGluZ3MsIGJ1dCBicmVha3Mgb3RoZXJzIChuZXcgc3RyZWFtcyBiZWluZwoJICBhZGRlZCBpbiB0aGUgZnV0dXJlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTgxNAoKMjAxMi0wMi0wMyAxMToyNjo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY3JlYXNlIHBhc3N0aHJvdWdoIG5lZ290aWF0aW9uIHByZWZlcmVuY2UKCSAgQWxzbyBlbnN1cmUgcGFyc2luZyBmaXhlZCBjYXBzIHdoZW4gbmVnb3RpYXRpbmcgcmF0aGVyIHRoYW4gZmFpbGluZyB0bwoJICBoYW5kbGUgbm9uLWZpeGVkIGxpc3QgY2FzZXMuCgkgIFNlZSAjNjY4NDcxLgoKMjAxMi0wMi0wMyAwMDo1MDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggQ0ZMQUdTIG9yZGVyIGFuZCBMSUJTIG9yZGVyCgkgIF9CQURfQ0ZMQUdTIHNob3VsZCBhbHdheXMgY29tZSBmaXJzdCwgdGhlbiBHU1RfUExVR0lOU19CQVNFX0NGTEFHUywKCSAgdGhlbiBHU1RfQkFTRV9DRkxBR1MgdGhlbiBHU1RfQ0ZMQUdTLiBTYW1lIGZvciBsaWJzOiBmaXJzdCBwbHVnaW5zCgkgIGJhc2UgbGlicywgdGhlbiBHU1RfQkFTRV9MSUIgdGhlbiBHU1RfTElCUy4KCjIwMTItMDItMDIgMjM6MjE6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJICBkZWJ1Z3V0aWxzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDIgMTE6NDE6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBpbmNsdWRlIHNwZWNpZmljIEFBQyBzdHJlYW0tZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCSAgVGhpcyBlbGVtZW50cyBzZWVtcyB0byBzdXBwb3J0IHJhdyBhbmQgYWR0cyBBQUMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6Mzc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIGV4cGxpY2l0IHN1cHBvcnRlZCBBQUMgc3RyZWFtLWZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6MzE6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBpbmNsdWRlIHNwZWNpZmljIHN1cHBvcnQgQUFDIHN0cmVhbSBmb3JtYXRzIGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMToyNzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHNwZWNpZnkgaW4gdGVtcGxhdGUgY2FwcyB3ZSBvbmx5IHRha2UgcmF3L2FkdHMgQUFDIGZvcm1hdAoJICBUaGlzIGFwcGVhcnMgdG8gYmUgd2hhdCB0aGlzIGVsZW1lbnQgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTE6MjA6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGluY2x1ZGUgc3BlY2lmaWMgQUFDIHN0cmVhbS1mb3JtYXQgdHlwZXMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDEwOjU5OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBiZXR0ZXIgZXJyb3IvZGVidWcgcmVwb3J0aW5nCgkgIEluY2x1ZGUgdGV4dCBtZXNzYWdlcyBpbnN0ZWFkIG9mIGVycm9yIGNvZGVzLgoKMjAxMi0wMi0wMSAxOTozODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IGZpeCBwYXJlbnQgc3RydWN0dXJlIGluIGJvaWxlcnBsYXRlIG1hY3JvCgoyMDEyLTAyLTAxIDE3OjUzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICBidWlsZDogaWdub3JlIEdWYWx1ZUFycmF5IGRlcHJlY2F0aW9uIHdhcm5pbmdzIGZvciB0aGUgdGltZSBiZWluZwoJICB1bnRpbCB0aGlzIGdldHMgc29ydGVkIG91dCB3aXRoIHRoZSBHTGliIGZvbGtzIGFuZCB3ZSBoYXZlIGEKCSAgdmlhYmxlIGFsdGVybmF0aXZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjI4CgoyMDEyLTAyLTAxIDE3OjQ2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogcG9ydCB0byAwLjExCgoyMDEyLTAyLTAxIDE3OjA2OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogZml4IHVwIGZvciBHc3RBdWRpb0RlY29kZXIgQVBJIGNoYW5nZQoKMjAxMi0wMi0wMSAxNjoyNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjY6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjU6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTY6MjM6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtOiBVc2UgbmV3IGF1ZGlvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzIEFQSSBmb3Igc3JjcGFkIGNhcHMKCjIwMTItMDItMDEgMTI6NDc6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBkaXNhYmxlIG9wdGltaXplZCBwYWNrZXRpemVkIHByb2Nlc3NpbmcgZm9yIHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGFzIGJhc2VwYXJzZSB0aGVuIHByb3ZpZGVzIHdob2xlIGNodW5rcyBvZiBkYXRhIChhcyBpdCBzaG91bGQpIGF0IG9uY2UKCSAgdG8gYmUgcGFyc2VkLCBhbmQgc28gdGhlIGFzc3VtcHRpb25zIHVzZWQgdG8gb3B0aW1pemUgYXJlIG5vIGxvbmdlciB2YWxpZC4KCSAgRml4ZXMgIzY2NzU2MC4KCjIwMTItMDItMDEgMTI6MjM6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhbHNvIG1pbmQgU0VJIHBvc2l0aW9uIGZvciBjb25maWcgZGF0YSBpbnNlcnRpb24KCSAgRml4ZXMgIzY2ODYyNy4KCjIwMTItMDItMDEgMTI6MDM6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiB1bmJyZWFrIG9wdGltaXplZCBwYWNrZXRpemVkIE5BTFUgY29sbGVjdGlvbiBwcm9jZXNzaW5nCgkgIC4uLiBpbiB0aGF0IGl0IHdhcyBzbyBvcHRpbWl6ZWQgaXQgZGlkIG5vdCBjb25zaWRlciBncm91cGluZyBOQUxVIGludG8gQVUKCSAgYWx0b2dldGhlci4KCSAgRml4ZXMgIzY2ODYyNy4KCjIwMTEtMTItMTQgMTk6Mjc6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiB1c2UgdGhlIG5ldyBwcmVtdWx0aXBsaWVkIHN1cHBvcnQgaW4gZ3N0dmlkZW8KCjIwMTItMDEtMzAgMTg6NDY6MDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBmaXggd2VkZ2UgaW4gcHJlcm9sbCB3aGVuIHBsYXliaW4yIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZAoJICBXaGVuIGRlaW50ZXJsYWNpbmcgaXMgZW5hYmxlZCwgYW4gZXh0cmEgY29sb3JzcGFjZSBlbGVtZW50IGlzIGFkZGVkLgoJICBDb2xvcnNwYWNlIGlzIGEgYmFzZXRyYW5zZm9ybSwgYW5kIGlzIHRoZW4gdGhlIG9ubHkgYmFzZXRyYW5zZm9ybQoJICBlbGVtZW50IG9uIHRoZSB2aWRlbyBwYXRoLiBBIHdoaWxlIGFnbywgYmFzZXRyYW5zZm9ybSBzdGFydGVkIGRlbGF5aW5nCgkgIGV2ZW50cyB0aWxsIGNhcHMgd2VyZSBzZXQgb24gaXRzIHNvdXJjZSBwYWQuIFRoZXNlIHRoaW5ncyBjb25zcGlyZWQKCSAgdG8gZW5kIHVwIHNlbmRpbmcgdGhlIERWRCBoaWdobGlnaHQgZXZlbnRzIG9udG8gYSBibG9ja2VkIHBhZCBvbgoJICBzdWJ0aXRsZW92ZXJsYXkuCgkgIEVuc3VyaW5nIHRoZXNlIGhpZ2hsaWdodCBldmVudHMgYXJlIG9ubHkgc2VudCBvbmNlIHdlJ3JlIGluIHBsYXlpbmcKCSAgbW9kZSBmaXhlcyB0aGUgaXNzdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg3NjIKCjIwMTItMDItMDEgMDI6MTM6NDggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvOiBGaXggY29tcGlsYXRpb24gd2l0aCAxLjAuMTAKCjIwMTEtMTItMjYgMjE6NTc6NDggLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBzZXQgaW50ZXJsYWNlZCBmaWVsZCBpbiBjYXBzIGZvciBtcGVnMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjE4CgoyMDEyLTAxLTMxIDEyOjI5OjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sLXNvdXJjZSB0eXBlIGNoYW5nZXMKCjIwMTItMDEtMzEgMDg6NDQ6MDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1cGRhdGUgYWZ0ZXIgY29sbGVjdHBhZHMyIGNoYW5nZXMKCjIwMTItMDEtMzAgMjI6NDE6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHJlbmFtZSBjb250cm9sLWJpbmRpbmdzCgkgIGdzdF9jb250cm9sX2JpbmRpbmdfeHh4IC0+IGdzdF94eHhfY29udHJvbF9iaW5kaW5nIGZvciBjb25zaXN0ZW5jeS4KCjIwMTItMDEtMzAgMTc6MTc6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZwoKMjAxMi0wMS0yNSAxMzo1Nzo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBhcnNpbmcgb2YgVlVJIHBhcmFtZXRlcnMuCgkgIG1heF9kZWNfZnJhbWVfYnVmZmVyaW5nIHdhcyBtaXMtcGFyc2VkIGJlY2F1c2UgbG9nMl9tYXhfbXZfbGVuZ3RoX3ZlcnRpY2FsCgkgIHdhcyBwYXJzZWQgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njg2NjAKCjIwMTItMDEtMjkgMTg6MDE6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVucmVmIG5vbi1mb3J3YXJkZWQgZXZlbnRzCgkgIEFsc28sIGRvbid0IHVucmVmIGZvcndhcmRlZCBvbmVzCgoyMDEyLTAxLTI4IDIwOjAxOjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMi0wMS0yOCAyMDowMToxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGluaXQgZGVidWcgY2F0ZWdvcnkKCjIwMTItMDEtMjggMTY6NTc6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlc3luYyBpdGVyYXRvciBvbiByZXN5bmMKCjIwMTItMDEtMjggMTI6MzI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiByZW1vdmUgJ2ZsdXNoIGV2ZXJ5IHBhY2tldCcgaGFjawoJICBUaGlzIGlzIGEgYmFkIGhhY2sgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIE1hdHJvc2thLCBhbmQgaXMgbm93CgkgIG9ic29sZXRlIGFzIHNpbWlsYXIgY29kZSBpcyBub3QgaW5jbHVkZWQgaW4gb2dnbXV4L29nZ3N0cmVhbS4KCjIwMTItMDEtMjcgMTI6MDg6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFJlLXB1c2ggc3RpY2t5IGV2ZW50cyBvbiBpbnB1dCBwYWQgY2hhbmdlCgoyMDEyLTAxLTI3IDEyOjA3OjQzICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBVc2UgbmV3LXN0eWxlIGNhcHMKCjIwMTItMDEtMjcgMTc6MDA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBtcGVnZGVtdXggdG8gdGhlIGxpc3Qgb2YgcG9ydGVkIHBsdWdpbnMKCjIwMTItMDEtMjcgMTY6NTY6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCBsZWFrIHRoZSBTQ0hFRFVMSU5HIHF1ZXJ5CgoyMDEyLTAxLTI2IDA3OjEzOjA2IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgUG9ydCBtcGVnZGVtdXggdG8gMC4xMQoKMjAxMi0wMS0yNyAxNDo0OTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBwbGVudHk6IGZpeHVwIGdsaWIgZGVwcmVjYXRpb25zCgoyMDEyLTAxLTI3IDA3OjM2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCB2aWV3ZmluZGVyIGNvbG9yc3BhY2UgY29udmVyc2lvbiB0byBkZWZhdWx0IGZsYWdzCgkgIFRoaXMgbWFrZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBtb3JlIGxpa2VseSB0byB3b3JrLiBJZiBuZWVkZWQsIG9uZQoJICBjYW4gb3B0aW1pemUgYnkgZGlzYWJsaW5nIGNvbnZlcnNpb25zIHdpdGggdGhlIGZsYWdzLgoKMjAxMi0wMS0yMyAwODowNDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyBzb2x2ZWQgVE9ETyBhbmQgZml4aW5nIGEgdHlwbwoKMjAxMi0wMS0yNiAyMzoyODoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDIzOjI4OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI2IDIzOjI4OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMTU6MDM6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCB0aGUgRFZCIHBsdWdpbiB0byB0aGUgbm9uLXBvcnRlZCBwbHVnaW5zCgkgIEl0IG5lZWRzIHRoZSBNUEVHIFRTIHBhcnNlciBhbmQgY3VycmVudGx5IGNyYXNoZXMgZHVyaW5nIGluc3RhbnRpYXRpb24KCSAgYmVjYXVzZSBpdCBjYW4ndCBjcmVhdGUgdGhlIE1QRUcgVFMgcGFyc2VyLgoKMjAxMi0wMS0yNSAxODoyNTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgbXBlZzJlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNSAxODo0OTo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgcG9ydCBzb21lIG1vcmUgdG8gbmV3IG1lbW9yeSBBUEkKCSAgRml4ZXMgIzY2ODY3Ny4KCjIwMTItMDEtMjUgMTY6Mzc6MjIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvY29udmVydDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDE2OjU3OjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogSW50ZXJzZWN0IHRyYW5zZm9ybWVkIGNhcHMgd2l0aCBmaWx0ZXIKCjIwMTItMDEtMjUgMTU6NDM6MDEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgZ3ZhbHVlIGZyb20gaXRlcmF0b3IKCjIwMTItMDEtMjUgMTY6NDY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBtb3JlIHBvcnRpbmcKCjIwMTItMDEtMjUgMTY6MjA6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxNDo1MDo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHBvcnQgdG8gbmV3IG1lbW9yeSBBUEkKCjIwMTItMDEtMjUgMTM6NTg6MTkgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyAoYXQpIGFwZXN0YWFydCAoZG90KSBvcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0NjNiYzAgdG8gN2ZkYTUyNAoKMjAxMi0wMS0yNSAxMzoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIGV4dC9rYXRlL2dzdGthdGVlbmMuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDEtMTggMTI6MDQ6NTIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGxpbWl0IHRoZSBhbW91bnQgb2Ygc2Nhbm5pbmcgZG9uZSBvbiBkdXJhdGlvbiBxdWVyaWVzCgkgIExpbWl0IHRoZSBhbW91bnQgb2YgZGF0YSBzY2FubmVkIHdoZW4gbG9va2luZyBmb3IgUFRTZXMgaW4gZHVyYXRpb24gcXVlcmllcyBhcyBhCgkgIGZhaWxzYWZlIGZvciBraW5kYSBicm9rZW4sIHBvdGVudGlhbGx5IGxhcmdlIGZpbGVzIHdpdGggc3BhcnNlIG9yIG5vIFBUU2VzLgoKMjAxMi0wMS0xOCAxMToyODoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogZG9uJ3Qgc2NhbiBmb3IgdGhlIGxhc3QgUFRTIGlmIHRoZSBmaXJzdCB3YXNuJ3QgZm91bmQKCjIwMTItMDEtMjUgMTE6MjE6NTAgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDEwOjQ1OjUxICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjQgMjI6MTQ6MzkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IFJlbW92ZSwgdmlkZW9yYXRlIGluY2x1ZGVzIHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgbm93CgoyMDEyLTAxLTI0IDE0OjIwOjUyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDExOjM4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMmE1OTAxNiB0byBjNDYzYmMwCgoyMDEyLTAxLTI0IDExOjU2OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IG1ha2UgY29uc3RhbnQgc3RhdGljIGFycmF5cyBhY3R1YWxseSBzdGF0aWMKCjIwMTItMDEtMjQgMTE6NTM6MjYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogZml4IHVuaW5pdGlhbGl6ZWQgcmV0dXJuIHZhbHVlCgoyMDEyLTAxLTI0IDExOjIyOjQ2ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdHJhY2Ugb3V0Z29pbmcgdGltZXN0YW1wcwoJICBhZGQgaW5mbyBsZXZlbCBwcmludHMgZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0yMyAyMjoyMDo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBmaXggY2FwcyByZWZjb3VudCBlcnJvcgoJICAvbWUgYmFkIG1vbmtleS4KCjIwMTItMDEtMjMgMTg6MzA6MTkgKzAwMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZml4IGdzdF9oMjY0X3BhcnNlX2Nsb2NrX3RpbWVzdGFtcCBhbHdheXMgZmFpbGluZwoKMjAxMi0wMS0yMyAxODowMToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIFJFUVVJUkVNRU5UUzogd2UgbmVlZCBsaWJydG1wIGZvciBydG1wIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODUyMQoKMjAxMi0wMS0yMyAxODo1MTozNCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZWFkIHRoZSBjYnJfZmxhZyBpbiBoMjY0X3BhcnNlX2hyZF9wYXJhbWV0ZXJzCgoyMDEyLTAxLTIzIDE3OjQ3OjQ1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBmcmVxdWVudCBkZWFkbG9jayBkZW11eGluZyBNUEVHIFRTCgkgIEEgcHJldmlvdXMgcGF0Y2ggdG8gYWRkIHN0cmVhbXMgZWFybHkgdG8gZml4IHBsYXliYWNrIG9mCgkgIGxvdyBiaXRyYXRlIHN0cmVhbXMgY2F1c2VzIGZyZXF1ZW50IGRlYWRsb2NrIG9mIGEgbmF0dXJlCgkgIEknbSBhdCBsb3NzIGhvdyB0byBmaXguCgkgIEknbSBub3QgY2VydGFpbiB3aGV0aGVyIGl0J3MgYSBidWcgaW4gZGVjb2RlYmluMiwgb3IgaW4KCSAgdGhhdCBtcGVndHNkZW11eCBwYXRjaC4KCSAgU2luY2UgaXQgY2F1c2VzIGEgbWFqb3IgcmVncmVzc2lvbiwgbGV0IGl0IGJlIGRpc2FibGVkIGZvciBub3cuCgoyMDEyLTAxLTIzIDE0OjEwOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBicmVhayBvdXQgd2hlbiBzdHJlYW0gaWRlbnRpZmllZAoKMjAxMi0wMS0yMyAxNDowNjo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogYXZvaWQgTlVMTCBtYW5pcHVsYXRpb24gaWYgaW52YWxpZCBpbnB1dAoKMjAxMi0wMS0yMyAxNDowNTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWdkZW11eDogYXZvaWQgTlVMTCBtYW5pcHVsYXRpb24gaWYgaW52YWxpZCBpbnB1dAoKMjAxMi0wMS0yMyAxNDowMTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYXZvaWQgc29tZSB1bmxpa2VseSBsZWFrcwoKMjAxMi0wMS0yMyAxMzo1ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHByZXZlbnQgc29tZSBmYWxsLXRocm91Z2ggY2FzZXMKCjIwMTItMDEtMjMgMTM6NTg6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSAgbXZlOiB1c2Ugc2lnbmVkIGxvb3AgdmFyaWFibGUKCSAgLi4uIHdoZW4gdXNpbmcgaXQgaW4gaSA+PSAwLgoKMjAxMi0wMS0yMyAxMzo1NzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSAgbXZlOiBlbnN1cmUgYmVzdCB0YXJnZXQgZm91bmQKCjIwMTItMDEtMjMgMTM6NTY6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBlbmhhbmNlIHNvbWUgZXJyb3IgY2FzZSBoYW5kbGluZwoKMjAxMi0wMS0yMyAxMzo1NTozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IGNoZWNrIGRpcmVjdGx5IGZvciB2YWxpZCBidWZmZXIKCSAgLi4uIHJhdGhlciB0aGFuIGRvaW5nIHNvIGluZGlyZWN0bHkgaW4gKGluY29tcGxldGUpIHNlbWFudGljIHdheS4KCjIwMTItMDEtMjMgMTM6NTQ6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZml4IHBhcmFtZXRlciBzYW5pdHkgY2hlY2sKCjIwMTItMDEtMjMgMTE6NTQ6MDggKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byB3b3JrCgoyMDEyLTAxLTIwIDE1OjM0OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBmaXggcHJlcm9sbCBvbiB0aXRsZXMgd2l0aCBubyBhdWRpbyB0cmFjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDEyLTAxLTIwIDEyOjI1OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByc25kdmRzcmM6IGZpeCBsZWFrCgoyMDEyLTAxLTIwIDEyOjE1OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogZml4IHZpZGVvL2F1ZGlvIG1peHVwIGluIGVycm9yIG1lc3NhZ2UKCjIwMTItMDEtMjAgMTA6NDI6MjEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcnNuYXVkaW9tdW5nZToga2VlcCB0aGUgb2JqZWN0IHJlZiBsb25nZXIKCSAgU2luY2Ugd2UgZG8gbm90IGdldCBhIHJlZiB0byB0aGUgcGFkLCBJJ20gbm90IGNlcnRhaW4gaXQncyBzYWZlCgkgIHRvIGRyb3AgdGhlIG9iamVjdCBhbmQgdXNlIHRoZSBwYWQgbGF0ZXIsIHNvIGhvbGQgdGhlIG9iamVjdCByZWYKCSAgdGlsbCB3ZSdyZSBkb25lIHdpdGggdGhlIHBhZC4KCjIwMTItMDEtMjEgMjA6MDg6MzYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IG1vdmUgZnJvbSBjb250cm9sLWJpbmRpbmcgdG8gY29udHJvbC1iaW5kaW5nLWRpcmVjdAoKMjAxMi0wMS0yMiAxNjo1OTozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIFJldmVydCAiIWNvbG9yc3BhY2U6IGZpeCBvZGQgc2l6ZSBwcm9ibGVtcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMmU2ZmRjYjZiMjY1ZGIyMDFmMTkxOTUyYWVlZDQyOWU4NWU4MzRlLgoJICBVbnRlc3RlZCBjb21taXQgd2FzIGFjY2lkZW50YWxseSBwdXNoZWQuCgoyMDEyLTAxLTIyIDE2OjU4OjU5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgUmV2ZXJ0ICJjb2xvcnNwYWNlOiBGaXggb3V0LW9mLWJvdW5kIGVycm9ycyBmb3IgdjIxMCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYjhiODdjYjZjMjE3YjlmMGI1MmNmYTMwNzljNGEzNmFmZDFjNDI0LgoJICBVbnRlc3RlZCBjb21taXQgd2FzIGFjY2lkZW50YWxseSBwdXNoZWQuCgoyMDEyLTAxLTIyIDE2OjU1OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkgIGludGVyOiBGaXggY29tcGlsYXRpb24KCSAgRml4IHVwIHByZXZpb3VzbHkgYm90Y2hlZCByZWJhc2UuCgoyMDEyLTAxLTA5IDIxOjU5OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG91dC1vZi1ib3VuZCBlcnJvcnMgZm9yIHYyMTAKCjIwMTEtMTItMzEgMTc6MTQ6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICAhY29sb3JzcGFjZTogZml4IG9kZCBzaXplIHByb2JsZW1zCgoyMDEyLTAxLTIyIDE1OjQ5OjEyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IEFkZCBjaGFubmVsIHByb3BlcnR5CgoyMDEyLTAxLTIyIDE1OjQ4OjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEhhbmRsZSAxMCBhbmQgMTYtYml0IGZvcm1hdHMKCjIwMTEtMTItMzEgMTc6MTM6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSAgYXZjOiBmaXggYnJva2VuIGxpbmUgY29udGludWF0aW9uCgoyMDExLTA4LTE4IDE5OjQ5OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIGpwZWcgY29sb3ItbWF0cml4IGNvbnZlcnNpb24KCjIwMTEtMDgtMDkgMDk6MTk6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJICBpbnRlcjogQWRkIHN1YnRpdGxlIGludGVyIGVsZW1lbnRzCgoyMDExLTA4LTA0IDEzOjA1OjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogRG9uJ3QgZXJyb3Igb24gZW1wdHkgaW5wdXQgYnVmZmVycwoKMjAxMi0wMS0yMiAxOToyNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UudmNwcm9qOgoJICBSZW1vdmUgbGVnYWN5IG1wZWd2aWRlb3BhcnNlIHBsdWdpbgoJICBUaGVyZSdzIGEgbmV3IG9uZSBpbiB0aGUgdmlkZW9wYXJzZXJzIHBsdWdpbi4KCjIwMTItMDEtMjIgMTk6MTM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L211bHRpZmRzaW5rLy5naXRpZ25vcmU6CgkgIG11bHRpZmRzaW5rOiBtYWtlIGdpdCBpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDEyLTAxLTIyIDE5OjExOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogbWFrZSBsZXZlbCBhbmQgcHJvZmlsZSBmaWVsZHMgaW4gY2FwcyBzdHJpbmdzCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0MzgKCjIwMTItMDEtMTggMTY6MzU6MTYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpCgkgIFRoZSBlbnRyaWVzIHdlcmUgbm90IGZpbGxlZCBpbiBsaW5lYXJseSBhbmQgdGhlIHRlcm1pbmF0aW9uIHdhcyBub3QKCSAgcmVjb3JkZWQgZWl0aGVyLiBOb3csIHRoZSBhY3R1YWwgbnVtYmVyIG9mIG1vZGlmaWNhdGlvbnMgaXMgcmVjb3JkZWQKCSAgc2ltaWxhcmx5IHRvIGRlY19yZWZfcGljX21hcmtpbmcoKS4gaS5lLiBhbiBleHBsaWNpdCBjb3VudGVyIGluc3RlYWQKCSAgb2Ygc3RvcmluZyB0aGUgdGVybWluYXRpb24gdmFsdWUgaW4gdGhlIGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4MTkyCgoyMDEyLTAxLTIwIDE2OjEyOjAyICswMDAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgZm9yIGFjdHVhbGx5IHBvcnRlZCBlbGVtZW50cwoKMjAxMi0wMS0yMCAxNToyMzo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvbmx5IGNoZWNrIGZvciBnc3QtcGx1Z2lucy17Z29vZCx1Z2x5LGZmbXBlZ30gaW4gdW5pbnN0YWxsZWQgc2V0dXBzCgkgIFdlIGRvbid0IGluc3RhbGwgLnBjIGZpbGVzIGZvciBwbHVnaW4gbW9kdWxlcywgYmVjYXVzZSB3ZSBvbmx5IG5lZWQKCSAgdGhlbSBpbiB1bmluc3RhbGxlZCBzZXR1cHMsIHNvIHdlIGNhbiBmaW5kIHRoZSBwbHVnaW5zIGZvciB1bml0IHRlc3RzCgkgIChldmVuIHdoZW4gcnVuIGEgY291cGxlIG9mIGRpcmVjdG9yaWVzIGRlZXBlciBvciBvdXQtb2YtdHJlZSBkdXJpbmcKCSAgbWFrZSBkaXN0Y2hlY2spLgoJICBUcnkgdG8gYXZvaWQgY29uZnVzaW9uLCBzbyBvbmx5IGNoZWNrIGZvciB0aG9zZSBpZiB0aGlzIGlzIGluIGZhY3QKCSAgYW4gdW5pbnN0YWxsZWQgc2V0dXAuIEZvciBpbnN0YWxsZWQgc2V0dXBzIHRoZXJlJ3Mgbm8gcHJvYmxlbSBmaW5kaW5nCgkgIHRoZSBwbHVnaW5zLCB3ZSBhc3N1bWUgdGhleSBhcmUgYWxsIGluIHRoZSBwbHVnaW5kaXIgc3BlY2lmaWVkIGJ5CgkgIEdTdHJlYW1lciBjb3JlJ3MgLnBjIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgzMTEKCjIwMTItMDEtMjAgMTQ6NDY6MDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wgYmluZGluZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDExOjQwOjAwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBhZGFwdCB0byBjb250cm9sbGVyIGFwaSBjaGFuZ2VzCgkgIERvbid0IHVzZSB0aGUgY29udmVuaWVuY2UgYXBpIGZvciBjb250cm9sIHNvdXJjZXMuCgoyMDEyLTAxLTIwIDAwOjUzOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSAgY2hyb21hcHJpbnQ6IG1pbm9yIGNsZWFuLXVwcwoJICBGbGVzaCBvdXQgZG9jcyBhIGJpdCwgZml4IGVsZW1lbnQgY2xhc3MuCgoyMDExLTAxLTAyIDE5OjM0OjA0ICswMDAwICBMdWvDocWhIExhbGluc2vDvSA8bGFsaW5za3lAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJICBjaHJvbWFwcmludDogaW1wb3J0IEFjb3VzdGlkIGF1ZGlvIGZpbmdlcnByaW50aW5nIHBsdWdpbgoJICBJbXBvcnRlZCBmcm9tIGh0dHBzOi8vbGF1bmNocGFkLm5ldC9nc3QtY2hyb21hcHJpbnQKCjIwMTItMDEtMTAgMDA6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGhhbmRsZSBjb3JuZXItY2FzZSBvZiBzaG9ydCByZWFkIGluIHB1bGxfYnVmZmVyIGJldHRlcgoJICBJdCdzIGV4dHJlbWVseSB1bmxpa2VseSwgYnV0IHRoZXJlIGFyZSBjb3JuZXIgY2FzZXMgd2hlcmUgYSBzaG9ydAoJICByZWFkIG1pZ2h0IGhhcHBlbiwgc28gaGFuZGxlIHRoYXQsIGp1c3QgaW4gY2FzZS4KCjIwMTItMDEtMTkgMTU6NDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgZ3NtZW5jOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMS0xOSAxNToxMjo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC0tZGlzYWJsZS1mYXRhbC13YXJuaW5ncyBjb25maWd1cmUgb3B0aW9uCgoyMDEyLTAxLTE5IDExOjM0OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIHBvcnQgdG8gbmV3IGd0aHJlYWQgQVBJCgoyMDEyLTAxLTE4IDE3OjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgR0lPIGNoZWNrLCB0aGlzIGlzIGluIGdzdC1nbGliMi5tNCBub3cKCjIwMTItMDEtMTggMTY6NDY6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODA3MTg3IHRvIDJhNTkwMTYKCjIwMTItMDEtMTggMTY6MzU6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IFBvcnQgdG8gR0lPIGFuZCB0aGUgbmV3IHVkcHNyYy9zaW5rIHByb3BlcnRpZXMKCjIwMTItMDEtMTggMTY6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBvcHVzIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMKCSAgSXQgbmVlZHMgdG8gYmUgdXBkYXRlZCBmb3IgdGhlIG5ldyBtdWx0aWNoYW5uZWwgQVBJLgoKMjAxMi0wMS0xOCAxNTo0ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkgIG11bHRpZmRzaW5rOiBBZGQgJChHU1RfUExVR0lOU19CQURfQ0ZMQUdTKSBmb3IgdGhlIGkxOG4gaGVhZGVyIGZpbGUKCjIwMTItMDEtMTcgMjE6MzY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAxLTE3IDIxOjM2OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMS0xNyAxODozMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBnc21kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAxLTE3IDE4OjMyOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIGdzbWVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDEtMTcgMTM6MTI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBtdWx0aWZkc2luazogQWRkIHRvIHRoZSBkb2NzCgoyMDEyLTAxLTE2IDIyOjUyOjE4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkgIG1wbGV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMjI6NTI6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAyMjo1MTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgaXJ0c3BwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDE3OjMwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVnc3B5OiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMTYgMTc6MDc6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgbXBlZ2RlbXV4OiBmaXggbWlzc2luZyBmaW5hbGl6ZSBjaGFpbmluZyB0byBwYXJlbnQKCSAgVGhpcyBjb2RlIGRvZXMgbm90IHNlZW0gdG8gdHJpZ2dlciBvbiBteSB0ZXN0IHN0cmVhbXMsIHNvIGl0J3MKCSAgYSBiaXQgb2YgYSBibGluZCBmaXgsIGJ1dCBzZWVtcyBzYWZlIGVub3VnaCB0byBwdXNoLgoKMjAxMi0wMS0xNiAxNzowMjoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiBmaXggbWlzc2luZyBmaW5hbGl6ZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLgoKMjAxMi0wMS0xNiAxNzowMToxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IGZpeCBtaXNzaW5nIGRpc3Bvc2UgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgbmVjZXNzYXJ5IGRlcGVuZGVuY2llcy4KCjIwMTItMDEtMTYgMTY6NTk6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBmaXggbWlzc2luZyBkaXNwb3NlIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgZXZlbiBjb21waWxlZCwgSSBkbyBub3QgaGF2ZSB0aGUgZGVwZW5kZW5jaWVzIG5lZWRlZC4KCjIwMTItMDEtMTYgMTE6Mjk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6CgkgIG11bHRpZmRzaW5rOiBNb3ZlIG11bHRpZmRzaW5rIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSB0byBnc3QtcGx1Z2lucy1iYWQKCjIwMTItMDEtMTMgMTU6NTc6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBBbmRyb2lkLCBGaXggd3JvbmcgZGluYW1pYyBsaW5raW5nIGF0dGVtcHQKCSAgZ3N0Y29kZWNwYXJzZXJzIGlzIGJ1aWx0IGFzIGFuIHN0YXRpYyBsaWJyYXJ5LgoJICBUaGlzIGNoYW5nZSBmaXhlcyBidWlsZGluZyB3aXRoIHRoZSBBbmRyb2lkIGJ1aWxkc3lzdGVtLgoKMjAxMi0wMS0xMyAxMzozMDo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBmaW5hbGl6ZSBub3QgY2FsbGluZyBiYXNlIGNsYXNzIChhbmQgbGVha2luZykKCjIwMTItMDEtMTMgMTI6NTU6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBzaWduYWwgY2hhaW4gZnVuY3Rpb25zIHRvIGV4aXQgb24gZmx1c2gtc3RhcnQKCjIwMTItMDEtMTMgMTI6MDg6MjggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuZW5jOiBmaXggYmFzZSBjbGFzcyBjYWxsIG1peHVwIGluIGZpbmFsaXplCgoyMDEyLTAxLTEzIDExOjIyOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHR5cG8gdXNpbmcgdGhlIHdyb25nIHBhZAoKMjAxMi0wMS0xMyAxMToyMjoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwb3NzaWJsZSBidWZmZXIgbGVhawoKMjAxMi0wMS0xMyAxMDozMjo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSAgbGluc3lzc2RpOiBmaXggbGVha3MKCjIwMTItMDEtMTMgMTA6MjU6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGZpeCBhZGFwdGVyIGxlYWsKCjIwMTItMDEtMTMgMDA6MTE6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDEyLTAxLTEyIDE3OjE2OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHBhZCBsZWFrcwoKMjAxMi0wMS0xMiAxNzoxMToxNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkgIHBhdGNoZGV0ZWN0OiByZW1vdmUgKGxlYWtpbmcpIGRlYWQgY29kZQoKMjAxMi0wMS0xMiAxNjo0NTozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IHJlbW92ZSAobGVha2luZykgZGVhZCBjb2RlCgoyMDEyLTAxLTEyIDE2OjM2OjE5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IGJhbGFuY2UgZW5jb2RlciBhbmQgdmlkZW8gZm9ybWF0IGFsbG9jL2RlYWxsb2MKCSAgVGhleSB3b3VsZCBsZWFrIGlmIGp1c3QgY29uc3RydWN0aW5nIGFuZCBmcmVlaW5nIGFuIG9iamVjdCwKCSAgYW5kIHByb2JhYmx5IGNyYXNoIGlmIGdvaW5nIGZyb20gUExBWUlORyB0byBSRUFEWSBhbmQgYmFjawoJICBhZ2FpbiAodGhvdWdoIEkgaGF2ZW4ndCB0ZXN0ZWQgdGhhdCkuCgoyMDEyLTAxLTEyIDE1OjU4OjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBxdWV1ZSBsZWFrCgoyMDEyLTAxLTEyIDE1OjQzOjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgIGRjY3BjbGllbnRzaW5rOiBmaXggc3RyaW5nIGxlYWsKCjIwMTItMDEtMTIgMTU6MTk6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBmaXggZXZlbnQgbGVhawoKMjAxMi0wMS0xMiAxNDozNDoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZXI6IGZpeCBtZW1vcnkgbGVhawoKMjAxMi0wMS0xMiAxMDoyNjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IGFsc28gaW5kaWNhdGUgbW9ubyBhdWRpbyBpbiBzaW5rIGNhcHMKCjIwMTItMDEtMTIgMTA6MjU6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhbHNvIGluZGljYXRlIG1vbm8gYXVkaW8gaW4gc2luayBjYXBzCgoyMDEyLTAxLTExIDE4OjI0OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IGZpeCB0YWcgbGVhawoKMjAxMi0wMS0xMSAxODoxMjoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiB0YWtlIG91dCB1bnVzZWQgbGVha2luZyBidWZmZXIKCjIwMTItMDEtMTEgMTg6Mzc6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xMSAxNjozNDozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTExIDE2OjMyOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBzbGlzdCBsZWFrCgoyMDEyLTAxLTExIDEzOjMyOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdHM6IGZpeCBidWZmZXIgbGVha3MgaW4gb3B1cyB0ZXN0cwoKMjAxMi0wMS0xMSAxMjo1ODowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBzb21lIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVyIG1hcCBhbmQgcmVmIGhhbmRsaW5nCgoyMDEyLTAxLTExIDEyOjU3OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYmFzZSBjbGFzcyBhdWRpbyBpbmZvIGlzIG5vdCB5ZXQgc2V0IGR1cmluZyBzZXRfZm9ybWF0CgkgIC4uLiBzaW5jZSBpdCB3aWxsIG9ubHkgYmUgY29tbWl0dGVkIGFmdGVyIGl0IGhhcyBiZWVuIGFjY2VwdGVkIGJ5IHN1YmNsYXNzLgoJICBJbiBwYXJ0aWN1bGFyLCBzdWJjbGFzcyBzaG91bGQgbm90IHJlbHkgb24gaXQgZHVyaW5nIGl0cyBzZXR1cC4KCjIwMTItMDEtMTEgMTI6NTU6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBzcHJpbmtsZSBzb21lIG1vcmUgbGF5b3V0IGluZm8gaW4gY2FwcwoKMjAxMi0wMS0xMSAxMjozOTowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IGZpeCBhdWRpbyBmb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMi0wMS0xMSAxMjoyNDoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTExIDEwOjUwOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogVW5zZXQgdGhlIFVOUE9TSVRJT05FRCBmbGFnIGlmIHdlIGhhdmUgdmFsaWQgY2hhbm5lbCBwb3NpdGlvbnMKCjIwMTItMDEtMTAgMTc6Mjc6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogZml4IGNhcHMgbGVhawoKMjAxMi0wMS0xMCAxNjo1OToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogUG9ydCB0byAwLjExCgoyMDEyLTAxLTEwIDE1OjUwOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jCgoyMDEyLTAxLTEwIDEzOjM4OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHNsaXN0IGxlYWsKCjIwMTItMDEtMTAgMTM6Mzg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEwIDEzOjI1OjA1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IGNhcHMgbGVha3MKCjIwMTItMDEtMTAgMTM6MjQ6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggcmVmIGxlYWsKCjIwMTItMDEtMTAgMTE6NDE6MzQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcHJvdmlkZSBib2d1cyB2YWx1ZXMgaW4gbm9uLVRJTUUgcHVzaC1tb2RlCgkgIE9ubHkgdGFrZSB0aGUgdXBzdHJlYW0gc2VnbWVudCB2YWx1ZXMgaW4gR1NUX0ZPUk1BVF9USU1FCgoyMDEyLTAxLTEwIDExOjM3OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEhhbmRsZSByb2xsb3ZlciBpbiBQVFMgYW5kIERUUwoJICBBbHNvIGhhbmRzIGJhY2stcm9sbG92ZXIgd2hpY2ggY2FuIGhhcHBlbiB3aXRoIFBUUwoKMjAxMi0wMS0wNCAxMTowNTo0OCArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHVzZSBpc19hbHRfZGF0YSBvcHRpb24gdG8gcHJldmVudCB0aW1lc3RhbXAgY29sbGlzaW9ucwoJICBhbHRyZWYvaW52aXNpYmxlIGZyYW1lcyB1c3VhbGx5IHN0b3JlZCBpbiBjb250YWluZXIgd2l0aCBzYW1lIHRpbWVzdGFtcCBhcwoJICBkZXBlbmRldCBmcmFtZS4gVGhpcyBtYWtlIGJhc2V2aWRlb2RlY29kZXIgdG8gdXBkYXRlIHRpbWVzdGFtcCBmb3IgZGVwZW5kZXQKCSAgZnJhbWUgYW5kIGNvdXNlIFRTIGNvbGlzaW9uIG9uIG5leHQgZnJhbWU6CgkgIF4tIGhlcmUgaXMgYWx0cmVmCgkgIHRpbWUgICAgIDogMSAyIDMgNCA1IDYgNyA4IDkKCSAgd2VibSB0cyAgOiAxICAgMyA1IDUgICA3ICAgOQoJICB2cDhkZWMgdHM6IDEgICAzICAgNyAgIDcgICA5CgkgIEZpeCBidWc6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTUyNDUKCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA0IDExOjA5OjIzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgb3B0aW9uIHRvIGhhbmRlIGFsdCBmcmFtZSBkYXRhCgkgIGFsdHJlZi9pbnZpc2libGUgJ2ZyYW1lJyBkbyBub3QgZGVzY3JpYmUgc29tZSBmcmFtZSBkaXJlY3RseSwgc28gaXQgY2FuJ3QgYmUKCSAgZGlzcGxheWVkIGFuZCB0aW1lc3RhbXBzIHNob3VsZCBub3QgYmUgdXBkYXRlZC4KCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDkgMTQ6NTY6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBmaXggcGFyc2luZyB3aGVuIHJlY3Vyc2l2ZWx5IHNraXBwaW5nIHVzZXIgZGF0YQoKMjAxMi0wMS0wOSAxNDo1OTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IE1ha2Ugc3VyZSB0aGF0IHRoZSBzcmNwYWQgaGFzIGNhcHMgYmVmb3JlIGZpbmlzaGluZyBhY3R1YWwgYXVkaW8gZGF0YQoKMjAxMi0wMS0wOSAxNDozOTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IHVwZGF0ZSBjYXBzIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAxMi0wMS0wOSAxNDoyODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IGNhbGwgZ3N0X2J1ZmZlcl9tZW1jbXAoKSB3aXRoIGEgTlVMTCBidWZmZXIKCjIwMTItMDEtMDkgMTE6MDM6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgdGhlIGZyYW1lcmF0ZSB0aGF0IHdhcyBjb3BpZWQgYSBmZXcgbGluZXMgYWJvdmUKCjIwMTItMDEtMDkgMTA6NTg6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogYWRkIGEgY291cGxlIGNvbnN0cyBvbiBzdHJpbmcgbGl0ZXJhbCBhcnJheXMKCjIwMTItMDEtMDkgMDg6NDA6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBHc3RCYXNlQ2FtZXJhU3JjIGlzIHRoZSBiYXNlIGNsYXNzLCBub3QgR3N0QmluCgoyMDEyLTAxLTA5IDA4OjM0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB2b2FtcndiZW5jLCBsdjIgYW5kIHRlbGV4dGRlYyBhcmUgbm90IHBvcnRlZCB5ZXQKCjIwMTEtMTItMTkgMTE6MjQ6MzEgLTA1MDAgIERhdmlkIEJpb21lY2gzNjAgPGRkZXMzMTBAeWFob28uY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBhZGRlZCBzdXBwb3J0IGZvciBhIHZpc3VhbCBtYWduaWZpZXIgY29sb3IgZmlsdGVyIHRvIGJlIHVzZWQgaW4gZ25vbWUtdmlkZW8tZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NTQyCgoyMDEyLTAxLTA2IDEwOjUyOjM2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHRlc3QgYW5kIHNldCBub3QgdXNpbmcgdGhlIHNhbWUgaW5wdXQKCSAgVGhpcyBmaXhlcyBILjI2NCBvdXRwdXQgbm90IGhhdmluZyBhIHNldCBmcmFtZXJhdGUsIGFuZAoJICBjb25mdXNpbmcgc29tZSBvZiB0aGUgZWxlbWVudHMgZG93bnN0cmVhbSAoc3VjaCBhcyBpbnRlcmxhY2UpLgoKMjAxMi0wMS0wNiAxMDozOTowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGF2b2lkIGRpdmlkaW5nIGJ5IHplcm8gb24gdW5rYm93biBmcmFtZXJhdGUKCSAgSWYgdGhlIGZyYW1lcmF0ZSBpcyB1bmtub3duLCB3ZSBjYW5ub3QgZ2VuZXJhdGUgbWVhbmluZ2Z1bAoJICBidWZmZXIgdGltZXN0YW1wcy9kdXJhdGlvbnMsIHNvIHNldCB0aGVtIHRvIF9OT05FIGluc3RlYWQgb2YKCSAgY2FsY3VsYXRpbmcgc29tZXRoaW5nIHdyb25nIGFuZCBkaXZpZGluZyBieSAwLgoKMjAxMi0wMS0wMiAwODoyODoxMyArMDEwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogYWRkIGluaXRpYWwgcHJlc2V0IGZpbGUKCSAgVGhpcyBpcyBpbml0aWFsIHByZXNldCBmaWxlLCBjdXJyZW50bHkgd2l0aCBvbmx5IG9uZSBwcm9maWxlCgkgIGZvciByZWFsdGltZSBlbmNvZGluZy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTA1IDE0OjMwOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGxpbmsgYWdhaW5zdCB2aWRlbyBsaWJyYXJ5CgoyMDExLTEyLTA4IDEyOjE1OjM5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlbW92ZSBoMjYzIGdvYiBwYXJzaW5nLCBzaW5jZSB0aGVyZSBpcyBubyBnb2IgaW1tZWRpYXRlIGFmdGVyIHN2aAoKMjAxMS0xMi0wOCAxMjoxMzozOCArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBhZGQgbWlzc2luZyB6ZXJvX2JpdHMgaW4gaDI2MyBwYXJzaW5nCgoyMDExLTEyLTA4IDEyOjEyOjIxICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGluY2x1ZGVzIHN0YXJ0X21hcmtlciBpbiBoMjYzIGhlYWRlciBmb3IgcGFyc2luZwoKMjAxMS0xMi0wOCAxMjowNzo0MiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggb2Zmc2V0IGlzc3VlIGluIGgyNjMgcGFyc2UKCjIwMTEtMTItMDggMTE6Mjc6NTYgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IG1hc2sgcGF0dGVybiBmb3IgaDI2MyBzdGFydCBtYXJrZXIKCjIwMTItMDEtMDUgMTE6MDE6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICB0ZXN0czogdGVzdCBmb3IgR1RLIDIuMjQgZm9yIG5ldyBzeW1ib2xzIHVzZWQgaW4gY2FtZXJhYmluMiB0ZXN0cwoJICBUaGUgd2hvbGUgdHJlZSBpcyBsaWtlbHkgdG8gc3dpdGNoIHRvIEdUSyAzLjAgYXQgc29tZSBwb2ludCwgYnV0CgkgIHdlIG1pZ2h0IGFzIHdlbGwgY29udGludWUgYnVpbGRpbmcgd2l0aCBzbGlnaHRseSBsZXNzIG5ldyB2ZXJzaW9ucwoJICBpZiBpdCdzIG5vdCBoYXJkIHRvIGRvLgoKMjAxMi0wMS0wNSAxMDozODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IFRoZSBtdWx0aWNoYW5uZWwuaCBoZWFkZXIgaXMgZ29uZSBub3cKCjIwMTItMDEtMDUgMTA6MjM6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNSAwOTo1MjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogUG9ydCB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDA5OjM0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBVcGRhdGUgdG8gdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxNjoxMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBVcGRhdGUgZm9yIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDQgMTk6NTI6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNTQ2ZTU4IHRvIDA4MDcxODcKCjIwMTItMDEtMDQgMTg6NDI6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiByZW1vdmUgdGVtcG9yYXJ5IGZpbGVzIHdoZW4gZG9uZSBpbiBjYW1lcmFiaW4sIGNhbWVyYWJpbjIgYW5kIGppZm11eCB0ZXN0cwoKMjAxMi0wMS0wNCAxMToyODozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogcG9ydCBzb21lIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMi0wMS0wNCAxMDo1Njo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGZpeCBhbmQgdHdlYWsgZnJhbWUgdGltZXN0YW1waW5nCgkgIC4uLiB0byBydW4gd2l0aCBwcm9wZXJseSBpbml0J2VkIHZhcmlhYmxlcywgYW5kIHRvIG9ubHkgcGVyZm9ybSBpbnRlcnBvbGF0aW9uCgkgIGluIHNhZmUgY2FzZXMuCgoyMDEyLTAxLTA0IDEwOjAyOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBHU1RfRkxPV19VTkVYUEVDVEVEIC0+IEdTVF9GTE9XX0VPUwoKMjAxMi0wMS0wMyAyMjowOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByZWZlciBuZWdvdGlhdGluZyBwYXNzLXRocm91Z2gKCjIwMTItMDEtMDMgMjE6NTk6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtYXJrIGJ5dGUtc3RyZWFtIEFVIGZyYW1lIHdpdGggaW5zZXJ0ZWQgY29kZWMgTkFMcyBhcyBrZXlmcmFtZQoKMjAxMi0wMS0wMyAyMDoyMzoxNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByb3Blcmx5IGRldGVybWluZSBza2lwIGFtb3VudCB3aGVuIG5vIE5BTCBzdGFydCBmb3VuZCB5ZXQKCjIwMTItMDEtMDMgMjA6MjE6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzb21lIG1vcmUgcHJvcGVyIHBhcnNlIHN0YXRlIHJlc2V0CgoyMDEyLTAxLTAzIDE1OjI2OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAyIDE1OjU1OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZW5jb2RpbmcgcHJvZmlsZXMgYXJlIG9iamVjdHMgaW4gMC4xMQoKMjAxMi0wMS0wMiAxNTo1MjoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQKCjIwMTEtMTItMzEgMDk6NTU6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gQVBJIGNoYW5nZXMKCjIwMTEtMTItMzAgMTk6MDg6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVwZGF0ZSBmb3IgZ2RwIGRhdGFwcm90b2NvbCBsaWJyYXJ5IHJlbW92YWwKCjIwMTEtMTItMzAgMTg6MTg6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogU3dhbGxvdyBpbmNvbWluZyBjYXBzIGV2ZW50CgkgIE90aGVyd2lzZSB3ZSBlbmQgdXAgYXNraW5nIHN1YmNsYXNzZXMgdG8gcHVzaCB0aGUgZXZlbnQgZm9yd2FyZCwKCSAgd2hpY2ggd2lsbCBmYWlsIHNpbmNlIG5vIHBhZHMgYXJlIGNyZWF0ZWQgeWV0LgoKMjAxMS0xMi0zMCAxODoxNzoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm9wZXJseSBjYXJyeSBvdmVyIHRoZSB0aW1lc3RhbXAKCjIwMTEtMTEtMDggMjA6MTk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogVXNlIGluY29taW5nIHRpbWVzdGFtcHMgaW4gbGl2ZSBtb2RlCgoyMDExLTExLTA4IDIwOjEyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlcG9ydCBsYXRlbmN5ICg3MDBtcykKCjIwMTEtMTEtMDggMDk6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogUXVlcnkgd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlIG9yIG5vdAoKMjAxMS0xMi0wNiAxNzozNzo0NSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFjdGl2YXRlIHBhZCBiZWZvcmUgc2V0dGluZ3MgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Njc3CgoyMDExLTEyLTMwIDExOjQ5OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW0KCjIwMTEtMTItMzAgMTE6NDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExLXByZW1lcmdlCgkgIENvbmZsaWN0czoKCSAgZG9jcy9saWJzL01ha2VmaWxlLmFtCgkgIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQveHZpZC9nc3R4dmlkZW5jLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW0KCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jCgkgIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmMKCSAgZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmMKCSAgZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jCgkgIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYwoJICBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgZ3N0L214Zi9teGZtdXguYwoJICBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTEyLTMwIDAwOjAyOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IFJlc2V0IHNob3VsZCByZXNldCBjdXJyZW50IGNhcHMKCSAgTmV3IGNhcHMgd2lsbCBuZWVkIHRvIGJlIG5lZ290aWF0ZWQgd2hlbiByZXNldCBoYXBwZW5zCgkgIChQQVVTRUQgdG8gUkVBRFkpLiBXaXRob3V0IHJlc2V0aW5nIHRoZSBpbnRlcm5hbAoJICBzdG9yZWQgZm9ybWF0LCBiYXNldmlkZW9lbmNvZGVyL2RlY29kZXIgd291bGRuJ3QgY2FsbCB0aGUKCSAgY29uZmlndXJhdGlvbiBmdW5jdGlvbiB3aGVuIHRoZSBzYW1lIGNhcHMgd2FzIG5lZ290aWF0ZWQKCSAgYWdhaW4gYXMgdGhleSB3b3VsZCBiZWxpZXZlIHRoaXMgd2FzIHRoZSBzYW1lIGNhcHMgYXMgYmVmb3JlLgoJICBUaGUgaXNzdWUgaXMgdGhhdCBfc3RvcCBoYXMgYmVlbiBjYWxsZWQgd2hlbiBnb2luZyB0byBSRUFEWSBhbmQKCSAgdGhlIGVsZW1lbnRzIHdvdWxkIGhhdmUgcmVzZXQgdGhlaXIgaW50ZXJuYWwgY29kZWMgbGlicy9zdGF0ZSBhcwoJICB3ZWxsLiBBIG5ldyBjb25maWd1cmF0aW9uIHNob3VsZCBiZSBkb25lLgoKMjAxMS0xMi0zMCAwMDowMjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBjbGFyaWZ5IHNvbWUgbWVzc2FnZSBsb2dzCgkgIEJlIGV4cGxpY2l0IG9uIHdoaWNoIGVuY29kZWJpbiB3ZSdyZSBzd2l0Y2hpbmcgcHJvZmlsZXMgb24gdGhlCgkgIGxvZyBtZXNzYWdlcwoKMjAxMS0xMi0yOSAxMzozMDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgZm9yIGZvcm1hdCBjaGFuZ2luZwoJICBDaGVjayB0aGF0IHRoZSBmb3JtYXQgY291bGQgYmUgaW5pdGlhbGl6ZWQgYW5kIHNob3dzIGEgbW9kYWwgZGlhbG9nCgkgIGluIGNhc2UgaXQgY291bGRuJ3QuCgoyMDExLTEyLTI5IDEyOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBmb3JtYXQgc2VsZWN0aW9uIGZvciBjYW1lcmFiaW4yIGV4YW1wbGUKCSAgQWRkcyBhIGNvbWJvYm94IGZvciBzZWxlY3RpbmcgdGhlIHZpZGVvIHByb2ZpbGUgZm9yIHJlY29yZGluZ3MuCgkgIFVzZWZ1bCBmb3IgdGVzdGluZyBtdWx0aXBsZSBmb3JtYXRzIGEvdiBzeW5jIHdoZW4gcmVjb3JkaW5nLgoKMjAxMS0xMi0yOCAxNjo1OToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZW1vdmUgY29tbWVudCBmb3IgYWxyZWFkeSBmaXhlZCBpc3N1ZXMgb24gbWFrZWZpbGUKCSAgU29tZSBpc3N1ZXMgb24gY2FtZXJhYmluMiBhbmQgamlmbXV4IHRlc3RzIHdlcmUgZml4ZWQgc29tZQoJICB0aW1lIGFnbywgcmVtb3ZlIHRoZSBjb21tZW50cyBhYm91dCB0aGVtCgoyMDExLTEyLTI4IDE2OjU3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggbWVzc2FnZSBsZWFrIGluIHRlc3RzCgoyMDExLTEyLTI3IDExOjU5OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGZpeCBndmFsdWUgbGVhawoKMjAxMS0xMi0yNyAxMDoyMzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogZml4IG1haW5sb29wIGxlYWtzCgoyMDExLTEyLTI3IDEwOjIwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHNlY3VyZSBldmVudCByZWYgd2hlbiBzZW5kaW5nIGV2ZW50IHRvIHBhcmVudCBjbGFzcwoJICBjYW1lcmFiaW4yIG5lZWRzIHRvIGhvbGQgYW4gZXh0cmEgcmVmIG9uIHNlbmRfZXZlbnQgYmVmb3JlIHNlbmRpbmcKCSAgaXQgdG8gdGhlIHBhcmVudCBjbGFzcyBhcyBpdCB3aWxsIG5lZWQgdG8gdXNlIGl0IGFmdGVyIHRoZSBwYXJlbnQKCSAgaGFuZGxlcyBpdC4KCjIwMTEtMTItMjQgMTQ6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0xMi0yMyAxNjozMzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMi0yMyAwOTozMDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHN0YW5kYXJkaXplIHNvbWUgZmllbGQgZGF0YSB0eXBlcwoJICBGaXhlcyAjNjY2NzUwLgoKMjAxMS0xMi0yMiAxNToxOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHJlbW92ZSByZWR1bmRhbnQgZnVuY3Rpb25zCgkgIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSBzaG91bGQgYmUgZW5vdWdoIGZvciBhcHBsaWNhdGlvbnMuCgkgIEhhdmVuJ3Qgc2VlbiBhbnlvbmUgdXNpbmcgdGhvc2Ugb3RoZXIgdGhhbiB3cmFwcGVyY2FtZXJhYmluc3JjLgoKMjAxMS0xMi0yMiAxNTowMTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bnVzZWQgaGVscGVyIGZ1bmN0aW9uCgkgIFRoaXMgZHJvcF9lb3NfcHJvYmUgZnVuY3Rpb24gaXMgbm90IHVzZWQgYW55bW9yZSwgcmVtb3ZlIGl0CgoyMDExLTEyLTIyIDE3OjE1OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVjcmVhdGUgZW5jb2RlciBhZnRlciBmbHVzaGluZwoJICAuLi4gc2luY2UgaXQgYXBwZWFycyB0aGUgZXhpc3Rpbmcgb25lIGNhbid0IGJlIGJvdGhlcmVkIGFueW1vcmUgdG8gcHJvZHVjZQoJICBzb21lIG91dHB1dC4KCjIwMTEtMTItMjIgMTc6MTQ6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWZhY3RvciBlbmNvZGVyIGxpYnJhcnkgc2V0dXAKCjIwMTEtMTItMjIgMTc6MTA6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBubyBuZWVkIHRvIGR1cGxpY2F0ZSBiYXNlY2xhc3Mgc2FuaXR5IGNoZWNrcwoKMjAxMS0xMi0yMiAxNzowOTozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkgIHZvYW1yd2JlbmM6IG5vIG5lZWQgdG8gZHVwbGljYXRlIGJhc2VjbGFzcyBzYW5pdHkgY2hlY2tzCgoyMDExLTEyLTIxIDIzOjUxOjMwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHVwZGF0ZSBmb3IgdmlkZW9maWx0ZXIgY2hhbmdlcwoKMjAxMS0xMi0yMSAxMTozMzo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgdGVzdHM6IGF2b2lkIHVzZWxlc3MgaW5jbHVkZQoKMjAxMS0xMi0xOSAxNjo0OTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEZpeCBBL1Ygc3luYyBmb3IgY2FwdHVyZXMKCSAgQXVkaW8gc3JjIHdhcyBwdXNoaW5nIG5ld3NlZ21lbnRzIHN0YXJ0aW5nIGZyb20gMCwgZXZlbiB3aGVuIGl0cyBidWZmZXJzCgkgIHdlcmUgbm90IHN0YXJ0aW5nIHdpdGggMCBhcyB0aGVpciB0aW1lc3RhbXBzLiBBZGQgYSBidWZmZXIgcHJvYmUgdGhhdAoJICBjaGVja3MgdGhlIHRzIG9mIHRoZSBmaXJzdCBidWZmZXIgYW5kIHVzZXMgdGhhdCB0byBwdXNoIGEgbmV3c2VnbWVudCwKCSAganVzdCBsaWtlIHdlIGRvIGZvciB2aWRlbyBvbiB3cmFwcGVyY2FtZXJhYmluc3JjLgoKMjAxMS0xMi0xOSAxNToxNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBlbmFibGUgdGVzdHMKCSAgVGVzdHMgYXJlIHBhc3Npbmcgbm93LCBlbmFibGUgdGhlbQoKMjAxMS0xMi0xOSAxNToxNjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXNoIG5ld3NlZ21lbnRzIG9uIHZpZGVvIGNhcHR1cmUgc3RhcnQKCSAgUHVzaGluZyBuZXdzZWdtZW50cyB0byBpbmZvcm0gbXV4ZXJzIGFib3V0IHRoZSBzdGFydCB0aW1lIG9mIHRoZQoJICB2aWRlbyBidWZmZXIgdGltZXN0YW1wcy4KCjIwMTEtMTItMjAgMTQ6MDQ6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY2xlYXIgc2VpIG1lc3NhZ2UgcHJpb3IgdG8gcGFyc2luZwoJICBGaXhlcyAjNjY2NTg0LgoKMjAxMS0xMi0xOSAyMzo1MToxOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgaW50ZXJwb2xhdGlvbi1tb2RlIGFwaQoKMjAxMS0xMi0xOSAyMjo1NDo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBhcGkKCjIwMTEtMTItMTkgMTg6NDQ6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG06IHVwZGF0ZSBmb3IgbmV3IGludGVybGFjZSBjYXBzCgoyMDExLTEyLTE5IDEzOjE4OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgd2FybiB3aGVuIHdlIHNlZSBhIFBJRCB3aXRoIHVua25vd24gdHlwZQoJICBUaGlzIGlzIHF1aXRlIGZyZXF1ZW50LCBhbmQgd2Ugd2lsbCBqdXN0IGlnbm9yZSB0aGF0IHN0cmVhbSwKCSAgc28gYW4gZXJyb3IgaXMgbm90IHdhcnJhbnRlZC4KCjIwMTEtMTItMTkgMTI6MzI6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBhdm9pZCBwdXNoaW5nIFNQUy9QUFMgYXQgc3RhcnQgb25seSBpZiBib3RoIGFyZSBmb3VuZCBpbiBzdHJlYW0KCSAgQXZvaWQgaW5qZWN0aW5nIFNQUy9QUFMgbmFscyBvbmx5IGlmIGJvdGggYXJlIGFscmVhZHkgcHJlc2VudCBpbiB0aGUgc3RyZWFtLgoJICBGaXhlcyBzb21lIEFWQyBjbGlwcyB0aGF0IGhhcHBlbiB0byBoYXZlIG9ubHkgUFBTIG5hbHMgaW4gc3RyZWFtLgoKMjAxMS0xMi0xOCAxODozNzowOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMKCjIwMTEtMTItMTggMTc6NDA6NTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyB3YWl0IGZvciBhIGtleWZyYW1lIHdoZW4gaGFuZGxpbmcgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIEFsdGhvdWdoIHNvbWUgZGVjb2RlcnMgY2FuIHN0YXJ0IGRlY29kaW5nIHdpdGgganVzdCBQUFMgYW5kIFNQUyBhbmQgd2FpdGluZyBmb3IKCSAgYSBrZXlmcmFtZSBpcyBiYWQgd2hlbiB0aGUga2V5ZnJhbWUgaW50ZXJ2YWwgaXMgbGFyZ2UsIGdzdC1mZm1wZWcgZG9lcyBuZWVkIGEKCSAga2V5ZnJhbWUgdG8gc3RhcnQgZGVjb2RpbmcuCgoyMDExLTEyLTE4IDE3OjMyOjExICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdW5zZXQgdGhlIGN1cnJlbnQgUENSIHN0cmVhbSB3aGVuIHN0YXJ0aW5nIGEgbmV3IHVuaXQKCSAgVW5zZXQgdGhlIGN1cnJlbnQgUENSIHN0cmVhbSB3aGVuIHN0YXJ0aW5nIGEgbmV3IHVuaXQgc28gdGhhdCBhZnRlcndhcmRzIGEgbmV3CgkgIHN0cmVhbSBpcyBzZWxlY3RlZCBhcyBQQ1IgYW5kIFBBVCBhbmQgUE1UIHRhYmxlcyBhcmUgcmVnZW5lcmF0ZWQuCgoyMDExLTEyLTE4IDE3OjMxOjE4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGtleSB1bml0IGV2ZW50IGhhbmRsaW5nIHdoZW4gbXV4aW5nIGJvdGggYXVkaW8gYW5kIHZpZGVvCgkgIFRha2Ugb25seSB2aWRlbyBidWZmZXJzIGludG8gYWNjb3VudCB3aGVuIGRlY2lkaW5nIHdoZW4gdG8gY3V0IHNvIHRoYXQgbmV3IHVuaXRzCgkgIHN0YXJ0IHdpdGggYSB2aWRlbyBrZXlmcmFtZS4KCjIwMTEtMTItMTUgMTg6MTQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGV0aWdlcjogZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXIKCjIwMTEtMTItMTUgMTY6NDI6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogZml4IGJhZCBtZXJnZSAoc3RyYXkgdW5tYXAsIHVuZGVjbGFyZWQgdmFyKQoKMjAxMS0xMi0xNSAxMToxMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBqaWZtdXg6IHJlLWVuYWJsZSBqaWZtdXgncyB0ZXN0cwoJICBGaXggZm9yIGl0cyB0ZXN0IGlzIG5vdyBhdmFpbGFibGUgb24gLWJhc2UgbW9kdWxlLgoJICBFbmFibGluZyBhZ2Fpbi4KCjIwMTEtMTItMTUgMTM6NDc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTM6Mzk6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBPbmx5IHRlc3RlZCB3aXRoIGF1ZGlvLCBJIGNhbid0IGdldCBpdCB0byBhY2NlcHQgdmlkZW8gKGJlZm9yZQoJICB0aGUgcG9ydCkuCgoyMDExLTEyLTE1IDEzOjIyOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCSAgSSAqdGhpbmsqIHRoZSBzdHJlYW0gbG9jayB1c2UgaXMgY29ycmVjdCwgbm90IDEwMCUgc3VyZS4KCjIwMTEtMTItMTUgMTM6MDg6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMzowNDo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSAgZnJlaTByOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBVbnRlc3RlZCwgbm8gc2FtcGxlIHBpcGVsaW5lIG1lbnRpb25lZCwgYW5kIEkndmUgbm8gaWRlYSB3aGF0CgkgIHRoaXMgcGx1Z2luIGRvZXMsIGJ1dCBzaW5jZSBhbGwgdGhlIHByZXZpb3VzIHBvcnRzIHdvcmsgb3V0IG9mCgkgIHRoZSBib3gsIHRoaXMgaXMgZGVlbWVkIHRvIHdvcmsgdW50aWwgZXZpZGVuY2UgaXQgZG9lc24ndC4KCjIwMTEtMTItMTUgMTM6MDI6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkgIGNvbXBhcmU6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEyOjU5OjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJICBhc2ZtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE0IDE3OjM2OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogYXZvaWQgY3Jhc2hpbmcgdXBvbiBkcmFpbmluZwoJICAuLi4gYW5kIGNsZWFuIHVwIHNvbWUgdmFyaWFibGUgaW5pdCBhbmQgZGVidWcgc3RhdGVtZW50LgoKMjAxMS0xMi0xNCAwODo1NDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMTItMTQgMDg6MzI6NTAgLTAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZml4IGxlYWsgb24gZXJyb3IgaGFuZGxpbmcKCSAgQ2FtZXJhYmluMiBwYXJzZXMgd2FybmluZyBtZXNzYWdlcyB3aXRoIGdzdF9tZXNzYWdlX3BhcnNlX3dhcm5pbmcobWVzc2FnZSwKCSAgJmVyciwgJmRlYnVnKSBidXQgZG9lc24ndCBmcmVlIGdpdmVuIEdFcnJvciBhbmQgZGVidWcgc3RyaW5ncy4KCSAgRG9jdW1lbnRhdGlvbiBzaG93cyB0aGF0IHRoZSBvd25lcnNoaXAgb2YgdGhvc2UgZmllbGRzIGlzIHRyYW5zZmVycmVkCgkgIHRvIGNhbGxlciAodGhleSBhcmUgbWFya2VkICJbdHJhbnNmZXIgZnVsbF0iIGluIHRoZSBBUEkgZG9jcykuCgoyMDExLTEyLTEyIDE1OjUyOjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMKCSAgRml4IGJ1ZyAjNjY1OTg4CgoyMDExLTEyLTEzIDEwOjQ0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgUmV2ZXJ0ICJtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNjI5NzhkMDQ1ZDU3ZWU5ZmVkNzU5OGMwMmI5MDE3ZWI5NzRlYTM2LgoKMjAxMS0xMi0xMyAxMDoxNzo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IERvbid0IHVzZSBHX1RZUEVfUkVHSVNURVJfQk9YRUQoKSB5ZXQKCSAgVGhpcyB3b3VsZCByZXF1aXJlIEdMaWIgMi4yNi4KCjIwMTEtMTItMTIgMjA6MDE6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBhZHZlcnRpc2UgYWxsIHRoZSBuZXcgWVVWIGZvcm1hdHMgd2UgY2FuIG5vdyB1c2UKCjIwMTEtMTItMTIgMTk6MzQ6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogcmVwbGFjZSB0aGUgbmV3IFlVViBibGl0dGluZyBjb2RlIHdpdGggdGhlIG5ld2VyIG92ZXJsYXkgY29kZQoKMjAxMS0xMi0xMiAxNDo1NDowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzCgoyMDExLTEyLTEyIDEzOjU5OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogZml4IGJ1ZmZlciBsZWFrCgoyMDExLTEyLTA1IDE4OjU3OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IE1ha2UgZnJhbWVzdGF0ZSBhIHJlZmVyZW5jZSBjb3VudGVkIGJveGVkIG9iamVjdAoJICAuLi5hbmQgYWxzbyBjbGVhciBhbGwgZXhpc3RpbmcgZnJhbWVzIHdoZW4gcmVzZXR0aW5nIHRoZSBkZWNvZGVyIG9yIGVuY29kZXIuCgoyMDExLTEyLTA1IDE4OjU3OjAxICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IE1ha2UgR3N0VmlkZW9GcmFtZSBhIHJlZmVyZW5jZSBjb3VudGVkIGJveGVkIG9iamVjdAoJICAuLi5hbmQgYWxzbyBjbGVhciBhbGwgZXhpc3RpbmcgZnJhbWVzIHdoZW4gcmVzZXR0aW5nIHRoZSBkZWNvZGVyIG9yIGVuY29kZXIuCgoyMDExLTEyLTEyIDEwOjQwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgdGVsZXRleHRkZWM6IFByb3Blcmx5IGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTEtMTItMTIgMTA6Mjg6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgZHRzOiBBZGQgJChHU1RfQkFTRV9MSUJTKSBhbmQgQ0ZMQUdTIHRvIHRoZSBidWlsZAoJICBkdHNkZWMgbm93IHVzZXMgR3N0QWRhcHRlciwgd2hpY2ggaXMgaW4gbGliZ3N0YmFzZS4gQWxzbyByZW9yZGVyCgkgIENGTEFHUyBhbmQgTElCQURELgoKMjAxMS0xMi0xMSAxNjowNzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBtYWtlIGRpc3RjaGVjawoJICBTZXQgRE9DX09WRVJSSURFUywgc28gdGhlIC1vdmVycmlkZXMudHh0IGZpbGUgd2hpY2ggaXMgYXBwYXJlbnRseQoJICBjcmVhdGVkIGFueXdheSwgZ2V0cyBjbGVhbmVkIHVwIHByb3Blcmx5LgoKMjAxMS0xMi0xMSAxNjowNTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IG1pbm9yIE1ha2VmaWxlLmFtIGNsZWFuLXVwCgkgIEdTVF9CQURfQ0ZMQUdTIGFuZCBHU1RfQkFEX0xJQlMgZG9uJ3QgZXhpc3QuCgoyMDExLTEyLTExIDE1OjI5OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGlzYWJsZSBmYWlsaW5nIGppZm11eCwgY2FtZXJhYmluMiwgYW5kIGNvbG9yc3BhY2UgdGVzdHMKCSAgamlmbXV4OiBnZW5lcmFsOnRlc3RfamlmbXV4X3RhZ3M6MDogQXNzZXJ0aW9uICdlbnRyeS0+Y29tcG9uZW50cyA9PSAyJyBmYWlsZWQKCSAgY2FtZXJhYmluMjogdGVzdF9tdWx0aXBsZV92aWRlb19yZWNvcmRpbmdzOjA6IGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmU6IGFzc2VydGlvbiBgR1NUX0lTX0NBUFMgKGNhcHMpCgkgIGNvbG9yc3BhY2U6IGJhZCBtZW1vcnkgYWNjZXNzZXMgaW4gb3JjIGNvZGUgZm9yIG9kZCB3aWR0aCBidWZmZXJzIChzZWUgYnVnICM2NjMyNDgpCgoyMDExLTEyLTExIDE1OjAzOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGZpeCBnX3VzbGVlcCgpIGluIGNhbWVyYWJpbjIgdGVzdAoJICBnX3VzbGVlcCgpIHRha2VzIGEgbWljcm9zZWNvbmQgdmFsdWUsIEdTVF9TRUNPTkQgaXMgbmFub3NlY29uZHMsIHNvCgkgIHdlIHdlcmUgc2xlZXBpbmcgZm9yIG1vcmUgdGhhbiAzIG1pbnV0ZXMgaGVyZSBpbnN0ZWFkIG9mIDIwMG1zLgoKMjAxMS0xMi0xMSAwMDo1OToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2dsLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDktMjUgMjM6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkgIG1wZWdwc211eDogcHV0IHN0cmVhbSBoZWFkZXJzIGludG8gb3V0cHV0IGNhcHMKCSAgQmFzaWMgdmVyc2lvbiB3aXRoIG9ubHkgdGhlIHN5c3RlbSBoZWFkZXIgYW5kIHRoZSBwcm9ncmFtCgkgIHN0cmVhbSBtYXAuIEFuIGFkdmFuY2VkIHZlcnNpb24gY291bGQgaW5jbHVkZSBjb2RlYy1zcGVjaWZpYwoJICBiaXRzIGxpa2UgU1BTL1BQUyB0b28uIFRoaXMgaXMgdXNlZnVsIGluIGNvbm5lY3Rpb24gd2l0aAoJICBlLmcuIG11bHRpZmlsZXNpbmsgdG8gbWFrZSBzdXJlIG5ldyBmaWxlcyBhbHdheXMgc3RhcnQgd2l0aAoJICB0aGUgc3RyZWFtIGhlYWRlcnMuCgoyMDExLTA5LTE2IDE5OjMyOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkgIG1wZWdwc211eDogYWRkICJhZ2dyZWdhdGUtZ29wcyIgcHJvcGVydHkgdG8gYWdncmVnYXRlIEdPUHMgaW50byBidWZmZXIgbGlzdHMKCSAgVXNlZnVsIGluIGNvbm5lY3Rpb24gd2l0aCBtdWx0aWZpbGVzaW5rLCBmb3IgZXhhbXBsZSwgdG8gbWFrZSBzdXJlCgkgIHRoZSBuZXcgZmlsZSBhbHdheXMgc3RhcnRzIHdpdGggYSBrZXlmcmFtZS4KCjIwMTEtMTItMTAgMjA6MDg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiByZW1lbWJlciBwcmltYXJ5IHZpZGVvIHN0cmVhbQoKMjAxMS0wOC0zMSAxOTo0MDowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiByZW1lbWJlciB3aGV0aGVyIGFuIGluY29taW5nIGJ1ZmZlciBpcyBhIGtleXVuaXQgb3Igbm90CgoyMDExLTEyLTA5IDE3OjI1OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBvcHVzZW5jOiBhZGQgdXBzdHJlYW0gbmVnb3RpYXRpb24gZm9yIG11bHRpc3RyZWFtIGFiaWxpdHkKCSAgVGhpcyB3aWxsIGhlbHAgZWxlbWVudHMgdGhhdCBjYW5ub3QgZGVhbCB3aXRoIG11bHRpc3RyZWFtLAoJICBzdWNoIGFzIHRoZSBSVFAgcGF5bG9hZGVyLgoJICBUaGUgY2FwcyBub3cgZG8gbm90IGluY2x1ZGUgYSAic3RyZWFtcyIgZmllbGQgYW55bW9yZSwgYnV0CgkgIGEgIm11bHRpc3RyZWFtIiBib29sZWFuLCBzaW5jZSB3ZSBoYXZlIG5vIHJlYWwgdXNlIGZvciBrbm93aW5nCgkgIHRoZSBleGFjdCBhbW91bnQgb2Ygc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wNyAxNToxMzoxMSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuaDoKCSAgQWRkaW5nIG9wdXMgUlRQIHBheWxvYWRlci9kZXBheWxvYWRlciBlbGVtZW50CgkgIEFkZGluZyBPUFVTIFJUUCBtb2R1bGUgYmFzZWQgb24gdGhlIGN1cnJlbnQgZHJhZnQ6CgkgIGh0dHA6Ly90b29scy5pZXRmLm9yZy9pZC9kcmFmdC1zcGl0dGthLXBheWxvYWQtcnRwLW9wdXMtMDAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTcKCjIwMTEtMTItMDggMTk6NDc6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBpbmNsdWRlIHN0cmVhbXMgY291bnQgaW4gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA4IDE4OjQ1OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IHByb3Blcmx5IGNyZWF0ZSBjaGFubmVsIG1hcHBpbmcgdGFibGVzCgkgIFRoZXJlIGFyZSB0d28gb2YgdGhlbSwgdW5pbnR1aXRpdmVseSBlbm91Z2g7IHRoZSBvbmUgcGFzc2VkCgkgIHRvIHRoZSBlbmNvZGVyIHNob3VsZCBub3QgYmUgdGhlIG9uZSB0aGF0IGdldHMgd3JpdHRlbiB0byB0aGUKCSAgZmlsZS4gVGhlIGZvcm1lciBtYXBzIHRoZSBpbnB1dCB0byBhbiBvcmRlcmluZyB3aGljaCBwdXRzCgkgIHBhaXJlZCBjaGFubmVscyBmaXJzdCwgd2hpbGUgdGhlIGxhdHRlciBtb3ZlcyB0aGUgY2hhbm5lbHMKCSAgdG8gVm9yYmlzIG9yZGVyLiBTbyBhZGQgY29kZSB0byBjYWxjdWxhdGUgYm90aCwgYW5kIHdlIG5vdwoJICBoYXZlIHByb3Blcmx5IHBhaXJlZCBjaGFubmVscyB3aGVyZSBhcHByb3ByaWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wOCAyMjo0OTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTEyLTA4IDEyOjQyOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IG9ubHkgb2Zmc2V0IHRpbWVzdGFtcHMgd2hlbiBsaXZlCgkgIFRoaXMgY29kZSBpcyB0byBzeW5jIHRvIGEgbGl2ZSBzb3VyY2Ugd2hlbiB0aGVyZSBpcyBhIGRlbGF5CgkgIGJldHdlZW4gc3RhcnQgYW5kIHdoZW4gd2UgcmVjZWl2ZSB0aGUgZmlyc3QgYnVmZmVyLCBzbyBpdCBkb2VzCgkgIG5vdCBtYWtlIHNlbnNlIGluIGEgbm9uIGxpdmUgY2FzZS4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBzdHJlYW1zIHdoZXJlIHRoZSBpbnB1dCB0aW1lc3RhbXBzIGFyZQoJICBiYXNlZCBvZmYgc29tZSBhcmJpdHJhcnkgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzU2CgoyMDExLTEyLTA4IDExOjUxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgbWFrZSB0aGUgaGVhZGVyIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSwgbm90IHRoZSBidWZmZXIKCjIwMTEtMTItMDggMTA6MTk6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRml4IGhhbmRsaW5nIG9mIGZvcmNlLWtleXVuaXQgZXZlbnRzCgoyMDExLTEyLTA3IDAwOjA2OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBoZWFkZXIgY2xlYW51cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDAwOjA2OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUcnVuY2F0ZSBjYXBzIGZpcnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTEtMjggMTk6NDc6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBkZWZhdWx0IHRvIHN0ZXJlbyA0ODAwMCBIeiBpZiBwb3NzaWJsZSB3aGVuIG5vIGhlYWRlcnMgc2VlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDEzOjQ4OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcnNuZGVjOiBEb24ndCB1c2UgdGhlIGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgb24gYXV0b2NvbnZlcnQKCSAgSXQgd2FzIHJlbW92ZWQsIHNlZSBidWcgIzU5OTQ2OSwgIzY2NTIwNQoKMjAxMS0xMi0wNyAxMzo0Njo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdGhlIGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgZnJvbSBhdXRvY29udmVydAoJICBJbml0aWFsbHkgY3JlYXRpbmcgYW4gaWRlbnRpdHkgZWxlbWVudCB0byBmb3J3YXJkIHNlcmlhbGl6ZWQKCSAgZXZlbnRzIGRvd25zdHJlYW0gYmVmb3JlIGFueSBjYXBzIGFyZSBrbm93biBpcyBicm9rZW4gYmVoYXZpb3VyLgoJICBTZXJpYWxpemVkIGV2ZW50cyBzaG91bGQgb25seSBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbSBpZiB0aGUKCSAgY2FwcyBhcmUgYWxyZWFkeSBrbm93biwgb3RoZXJ3aXNlIGF1dG9wbHVnZ2VycyBhbmQgb3RoZXIgZWxlbWVudHMKCSAgdXNpbmcgcGFkLWJsb2NrcyB3aWxsIGZhaWwuCgkgIFRoaXMgYmVoYXZpb3VyIGFsc28gZG9lc24ndCB3b3JrIGFueW1vcmUgYWZ0ZXIgYmFzZXRyYW5zZm9ybQoJICB3YXMgZml4ZWQgdG8gcXVldWUgc2VyaWFsaXplZCBldmVudHMgdW50aWwgdGhlIGNhcHMgYXJlIGtub3duCgkgIGFzIGEgcmVzdWx0IG9mIGZpeGluZyBidWcgIzY1OTU3MS4KCSAgU2VlIGJ1ZyAjNTk5NDY5LCAjNjY1MjA1LgoKMjAxMS0xMi0wNiAxNjoyNzoyNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBEbyBub3Qgbm90IHNraXAgc3RhcnRjb2RlIHdoZW4gbmVlZGVkCgkgIEZpeDogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTYzMQoKMjAxMS0xMi0wNiAwODo1NToxOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXJzdCB2aWRlb19wYWNrZXRfaGVhZGVyIGRvZXNuJ3Qgc3RhcnQgd2l0aCByZXN5bmNfbWFya2VyCgoyMDExLTEyLTA2IDA4OjUzOjA3ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJldHVybiBOT19QQUNLRVQgaWYgbmVlZGVkCgoyMDExLTEyLTA2IDA4OjMxOjE0ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBhbiBpc3N1ZSBpbiBjaGVjayByZXN5bmMgbWFya2VyCgoyMDExLTEyLTA2IDA4OjI1OjU5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBhbiBpc3N1ZSBpbiBmaW5kaW5nIHRoZSBsYXN0IHZpZGVvIHBhY2tldCBpbiB2b3AKCjIwMTEtMTItMDYgMDg6MjE6MTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaW5jbHVkZSByZXN5bmMgbWFya2VyIGluIHZpZGVvIHBhY2tldCBzaXplCgoyMDExLTEyLTA2IDA4OjE5OjA1ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHNjYW4gbmV4dCByZXN5bmMgbWFya2VyIGFmdGVyIGN1cnJlbnQgb25lCgoyMDExLTEyLTA2IDA4OjE3OjM4ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCA8IDAgaXNzdWUgb2YgZ3VpbnQgaW4gbXBlZzQgcGFyc2VyCgkgIGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgcmV0dXJucyBhIGd1aW50LCBub3QgYSBnaW50LCB3aGljaAoJICBleHBsYWlucyB0aGUgaXNzdWUgd2Ugc29tZXRpbWUgZ2V0IHVzaW5nIDwgMCBpbnN0ZWFkIG9mID09IC0xOwoKMjAxMS0xMi0wNiAwODoxNTo0NiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggcGF0dGVybi9tYXNrIG9mIHJlc3luY19tYXJrZXIgcGFyc2luZyBvZiBtcGVnNAoKMjAxMS0xMi0wNiAxMzowNjowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgU2VuZCBTUFMvUFBTIG9uIGZvcmNlIGtleSB1bml0IGV2ZW50cy4gVXNlZnVsIGZvciBleGFtcGxlIHdoZW4gc2VydmluZyBITFMKCSAgd2l0aG91dCB0cmFuc2NvZGluZy4KCjIwMTEtMTItMDYgMTI6NTU6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBjb21waWxlIHdhcm5pbmdzIGluIGdzdG1wZWc0cGFyc2VyLmMKCjIwMTEtMTItMDUgMTE6NTY6MDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICB0ZXN0czogQWRkIG1vcmUgZmlsZXMgdG8gLmdpdGlnbm9yZQoKMjAxMS0xMi0wNSAxMTo1MDoxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBmYXN0ZXIgcGFyc2luZyB2YXJpYW50IHdoZW4gaW5wdXQgaXMgcGFja2V0aXplZAoJICBSZWR1Y2VzIGxhdGVuY3kgYW5kIGNwdSB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NTg0CgoyMDExLTEyLTA1IDExOjQ3OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWYXJpYW50IG9mIF9pZGVudGlmeV9uYWx1IHdpdGhvdXQgY2hlY2tzCgkgIFRoaXMgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSB0aGUgY2FsbGVyICprbm93cyogdGhhdCB0aGUgcHJvdmlkZWQKCSAgaW5wdXQgY29udGFpbnMgYSB3aG9sZSBOQUxVIGFuZCBjYW4gdGhlcmVmb3JlIGF2b2lkOgoJICAqIHRoZSBleHBlbnNpdmUgY2hlY2tzIGZvciB0aGUgbmV4dCBzdGFydCBjb2RlICh3aGljaCB3b24ndCBiZSBwcmVzZW50KQoJICAqIGRlbGF5aW5nIHRoZSBpbnB1dCBwYXJzaW5nIChzaW5jZSB3ZSB3b3VsZCBuZWVkIHRoZSBuZXh0IGluY29taW5nIE5BTFUKCSAgaW4gb3JkZXIgZm9yIHRoZSBwYXJzaW5nIGNvZGUgdG8gZGV0ZWN0IHRoZSBuZXh0IHN0YXJ0IGNvZGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU1ODQKCjIwMTEtMTItMDUgMTM6MDk6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZsb3cgc2xpY2UgbmFsIHByb2Nlc3NpbmcKCjIwMTEtMTItMDUgMTI6NTc6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvcHRpbWl6ZSBzbGljZSBuYWwgcHJvY2Vzc2luZwoJICBPbmx5IG1pbmltYWwgc2xpY2UgaW5mbyBpcyBuZWVkZWQgaGVyZSB0byBkZXRlcm1pbmUgcmVhbCBmcmFtZSBzdGFydCwKCSAgc28gbm8gbmVlZCB0byBwYXJzZSBleHRlbnNpdmVseS4KCSAgRml4ZXMgIzY2NTQxOC4KCjIwMTEtMTItMDUgMTI6NTM6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiB1bmJyZWFrIGgyNjQgc2xpY2UgaGVhZGVyIHBhcnNpbmcKCSAgLi4gaW50cm9kdWNlZCBieSByZWZhY3RvcmluZyBpbiBjb21taXQgMTc3NDUxYzkyMTZmNGUzOTU5ZTczNTg2NzVmYmI5NzMxZDJjODFhMgoKMjAxMS0xMi0wMSAxODoyODo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuaDoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkgIHB2cjJkOiBQb3J0IHRvIDAuMTEKCSAgSGFuZGxlcyBHc3RWaWRlb01ldGEgYW5kIEdzdFZpZGVvQ3JvcE1ldGEKCSAgUHJvdmlkZXMgR3N0QnVmZmVyUG9vbAoJICBOZXcgR3N0UFZSTWV0YSB0byBoYW5kbGUgdGhlIHdyYXBwZWQgUFZSIG1lbV9zcmMKCjIwMTEtMTItMDIgMTc6NTM6MjMgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXggcmVmZXJlbmNlIGNvdW50aW5nIG9mIGNvZGVjX2RhdGEKCjIwMTEtMTItMDUgMDg6NTY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBJbXBsZW1lbnQgaXRlcmF0ZV9pbnRlcm5hbF9saW5rcyBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZCBhbmQgc3JjcGFkCgoyMDExLTExLTI4IDE5OjM4OjM0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZ3VhcmQgYWdhaW5zdCBkZWNvZGluZyAwIHNhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMi0wMiAxMTo0NjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBYVklEIEFQSSA+PSA0LjMKCSAgVGhpcyBpcyByZXF1aXJlZCBmb3IgZW5jb2RpbmcgdGhlIHNpbXBsZSBwcm9maWxlCgkgIHdpdGggbGV2ZWxzIDRhLCA1IG9yIDYuCgkgIEZpeGVzIGJ1ZyAjNjY1Mzc4LgoKMjAxMS0xMi0wMSAxNjo1OToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiB1c2UgR3N0U2FtcGxlIGZvciB0aGUgcHJldmlldwoKMjAxMS0xMi0wMSAxMDo1NDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IERvbid0IGFkZCB0aGUgcHJvZmlsZS9sZXZlbCB0byB0aGUgdmlkZW8veC14dmlkIGNhcHMKCjIwMTEtMTItMDEgMDk6NTQ6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWRlbmM6IEFkZCBwcm9maWxlL2xldmVsIHRvIHRoZSBjYXBzIGFuZCBuZWdvdGlhdGUgdGhlbSB3aXRoIGRvd25zdHJlYW0KCSAgU3RpbGwga2VlcCB0aGUgcHJvZmlsZSBwcm9wZXJ0eSB0byBzZWxlY3QgcHJvZmlsZS9sZXZlbCBpZiB0aGVyZQoJICBhcmUgbm8gZG93bnN0cmVhbSBjb25zdHJhaW50cy4KCSAgRml4ZXMgYnVnICM2NTIyNjEuCgoyMDExLTEyLTAxIDA5OjM5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogQWRkIHN1cHBvcnQgZm9yIGxldmVscyA0YS81LzYgb2YgdGhlIHNpbXBsZSBwcm9maWxlCgoyMDExLTEyLTAxIDA5OjAyOjQ2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogbGV0IHVwc3RyZWFtIFBBUiBvdmVycmlkZSBpbi1zdHJlYW0gUEFSCgoyMDExLTExLTIzIDE4OjI2OjQ0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiByZXdvcmsgUEFSIHBhcnNpbmcKCSAgQW5kIGluIHRoZSBwcm9jZXNzIHJlZmFjdG9yIF91cGRhdGVfc3JjX2NhcHMgYSBiaXQKCjIwMTEtMTEtMTYgMDA6MDM6MTIgLTA1MDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFmdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJlc3BlY3QgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIFBhcnNlIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiB2dWkgaW5mb3JtYXRpb24uCgoyMDExLTExLTMwIDIyOjEyOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc3BhY2U6IHdoaXRlc3BhY2UgY2xlYW51cHMKCjIwMTEtMTEtMzAgMjI6MTE6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIHdhdmVzY2FwZTogYWxzbyBhZGQgY29sb3Jtb2RlcyBsaWtlIGluIHNwYWNlc2NvcGUKCjIwMTEtMTEtMzAgMTU6MTM6MDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcjogdXBkYXRlIFJFQURNRQoKMjAxMS0xMS0zMCAxNDoyMDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNjb3BlOiBhZGQgY29sb3ItbW9kZXMKCSAgSW4gY29sb3Jtb2RlIHdlIHNwbGl0IHRoZSBzaWduYWwgaW4gbG93LG1pZCxoaWdoIGZyZXF1ZW5jeSBwYXJ0cyBhbmQgZHJhdyB0aGVtCgkgIHNlcGFyYXRlbHkgaW50byByZWQsIGdyZWUsIGJsdWUgY29sb3IgY2hhbm5lbHMuCgoyMDExLTA4LTMwIDE0OjM3OjQyICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICByZXBsYWNlIHByb3BzZXRfbXV0ZXggd2l0aCBHU1RfT0JKRUNUX0xPQ0sKCjIwMTEtMTEtMjUgMjI6MzI6MTEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBzdHJlYW1saW5lIHRoZSBsaW5lX2FhIGNvZGUKCSAgSGF2ZSBhIHJldXNhYmxlIGRvdF9hYSBjb2RlIGFuZCByZXVzZSBpbiB0aGUgbGluZSBkcmF3aW5nLgoKMjAxMS0xMS0zMCAxMDozNToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNtdXg6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgLWJhc2UgbGlicyBpbmNsdWRlcyB0byBDRkxBR1MsIGZpeCBvcmRlciBvZiBMSUJTLgoKMjAxMS0wOC0yMSAxMTowMTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYWRkIHN1cHBvcnQgZm9yIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBIYW5kbGUgZm9yY2Uga2V5IHVuaXQgZXZlbnRzIG91dHB1dHRpbmcgUEFUIGFuZCBQTVQgd2hlbiBhbGxfaGVhZGVycz1UUlVFCgoyMDExLTExLTI5IDIzOjQxOjIyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IGFsbG93IHRvIGJ1aWxkIGFnYWluc3QgMi4zLjEKCjIwMTEtMTEtMjkgMTg6MTg6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIG1wZWc0dmlkZW9wYXJzZSBkaXJlY3RvcnkgdG8gQ1JVRlRfRElSUwoKMjAxMS0xMS0yOSAxOToxMToyMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBmaXggZm9yIG1vdmVkIGludGVyZmFjZXMKCjIwMTEtMTEtMjIgMDk6NDc6NTggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpLgoKMjAxMS0xMS0yMiAwOTo0Nzo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVuYW1lIHJlZl9waWNfbGlzdF9yZW9yZGVyaW5nKCkgdG8gcmVmX3BpY19saXN0X21vZGlmaWNhdGlvbigpLgoJICBVcGdyYWRlIHRvIGN1cnJlbnQgQVZDIHNwZWNpZmljYXRpb24uCgoyMDExLTExLTI5IDEyOjIwOjUxICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogcmVjYWxjdWxhdGUgYWRqdXN0IGlmIGRpZmZlcmVuY2UgaXMgbmVnYXRpdmUKCSAgT25lIG9mIG15IGR2ZHMganVtcCBvbiBzb21lIHBvc2l0aW9uIGFuZCBtaXNzIGFib3V0IDEgbWludXRlIG9mIHN0cmVhbS4KCSAgVGhlIHJlYXNvbiB3YXMgbXBlZyB0aW1lc3RhbXBzLiBPbiBzb21lIHBvc2l0aW9uIHNjciBkaWZmZXJlbmNlIGlzIG5lZ2F0aXZlLgoJICBJdCBwcm9kdWNlZCBuZWdhdGl2ZSB0aW1lc3RhbXBzLiBTaW5jZSBpdCB3YXMgY29udmVydGVkIHRvIHVuc2lnbmVkIHZhbHVlLAoJICBnc3RyZWFtZXIgdGltZXN0YW1wcyB3YXMgaW52YWxpZC4gSW5zdGVhZCBvZiBpbmNyZWFzaW5nIG1wZWcgdHMsCgkgIHRoZXkgd2FzIGRlY3JlYXNpbmcgdGlsbCBpdCBzdGFydGVkIHRvIGJlIHBvc2l0aXZlLgoJICBUaGUganVtcCBpbiB0aW1lc3RhbXBzIGNhdXNlZCBtcGVnMmRlYyB0byBza2lwIGZyYW1lcyB0byBtYWtlIFFvUyBoYXBweS4KCSAgVGhpcyBwYXRjaCBqdXN0IG1ha2UgZGlmZiB1bnNpZ25lZCB0byBhdm9pZCBuZWdhdGl2ZSB2YWx1ZXMuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjExNQoKMjAxMS0xMS0yOSAxMjoxMjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUGFzcyB0aGUgYWxsLWhlYWRlcnMgZmllbGQgb2YgdGhlIGZvcmNlLWtleS11bml0IGV2ZW50IHRvIHRoZSBzdWJjbGFzcwoKMjAxMS0xMS0yOSAxMjoxMjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBJbXBsZW1lbnQgZnVsbCBzdXBwb3J0IGZvciB0aGUgbmV3IGZvcmNlLWtleS11bml0IGV2ZW50CgkgIEluY2x1ZGluZyBzdXBwb3J0IGZvciB0aGUgcnVubmluZy10aW1lIGFuZCBjb3VudCBmaWVsZHMuCgoyMDExLTExLTI5IDA5OjMxOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFVzZSBuZXcgZm9yY2Uta2V5dW5pdCBldmVudCBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgoyMDExLTExLTI5IDA5OjE4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkanVzdGluZyBwYWRkaW5nIGlzIG5vdCByZXF1aXJlZCBmb3IgLWJhZCBsaWJyYXJpZXMKCjIwMTEtMTEtMjggMTk6NDg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTW92ZSBzb21lIGZpZWxkcyB0byB0aGUgcHJpdmF0ZSBwYXJ0IG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTEtMTEtMjggMTk6MzY6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogTWFrZSBoZWFkZXJzIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBwdXNoaW5nIGRvd25zdHJlYW0KCSAgVGhlIHRpbWVzdGFtcCwgZHVyYXRpb24sIGV0YyBvZiB0aGUgaGVhZGVycyBoYXMgdG8gYmUgY2hhbmdlZC4KCjIwMTEtMTEtMjggMTk6MzU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUHVzaCB0aGUgZG93bnN0cmVhbSBmb3JjZS1rZXlmcmFtZSBldmVudCBhZnRlciB0aGUgbmV4dCBrZXlmcmFtZQoJICBFdmVuIGlmIHRoZSBjb3JyZXNwb25kaW5nIEdzdFZpZGVvRnJhbWUgZG9lc24ndCBoYXZlIHRoZSBpc19zeW5jX3BvaW50CgkgIGZsYWcgc2V0LgoKMjAxMS0xMS0yOCAxOToyOToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEb24ndCBwdXNoIGFuIHVwc3RyZWFtIGZvcmNlLWtleXVuaXQgZXZlbnQgZG93bnN0cmVhbQoKMjAxMS0xMS0yNSAxMTo0ODowOCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB0aGUgYWxsLWhlYWRlcnMgZmllbGQgb2YgdGhlIGZvcmNlLWtleWZyYW1lIGV2ZW50CgkgIFNlZSBidWcgIzYwNzc0Mi4KCjIwMTEtMTEtMjkgMDk6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCBzZXQtYnV0LW5vdC11c2VkLXZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0a2F0ZXRpZ2VyLmM6MTE1NjoxNTogZXJyb3I6IHZhcmlhYmxlICdoZWlnaHQnIHNldCBidXQgbm90IHVzZWQKCSAgZ3N0a2F0ZXRpZ2VyLmM6MTE1Njo4OiBlcnJvcjogdmFyaWFibGUgJ3dpZHRoJyBzZXQgYnV0IG5vdCB1c2VkCgoyMDExLTExLTI5IDA5OjE1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1pbm9yIGZpeGVzCgkgIENvbnN0LWlmeSBvbmUgbW9yZSBWTEMgdGFibGUuIEZpeCBzcGVsbGluZyBvZiAnaHlicmlkJy4KCSAgTm8gbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgZW5zdXJlX2RlYnVnX2NhdGVnb3J5KCkgZXZlcnl3aGVyZSwKCSAgdGhhdCB3aWxsIGJlIGRvbmUgYXV0b21hdGljYWxseSBmcm9tIEdTVF9MT0coKSBhbmQgZnJpZW5kcwoJICB2aWEgR1NUX0NBVF9ERUZBVUxULgoKMjAxMS0xMS0wOCAxMDo0NDoxMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIGNvZGVjcGFyc2VyOiBtcGVnNDogTG9vayBmb3IgcmVzeW5jIGNvZGUgaW4gX21wZWc0X3BhcnNlCgkgIFRoaXMgd2F5IHRoZSBBUEkgaXMgc2ltcGxlciBhbmQgdXNlcnMgY2FuIGNhbGwgMSBzaW5nbGUgZnVuY3Rpb24gZm9yIHBhY2tldAoJICBkZXRlY3Rpb24uCgoyMDExLTA5LTI5IDE0OjM3OjU5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFByb3Blcmx5IGhhbmRsZSBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIEZpeCAjNjYwMjM0CgoyMDExLTA5LTI2IDE2OjU4OjU4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUG9ydCB0byB0aGUgbmV3IG1wZWc0cGFyc2VyIGxpYnJhcnkKCjIwMTEtMDktMjYgMTA6Mzk6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IE1vdmUgdG8gdGhlIHZpZGVvcGFyc2VycyBwbHVnaW4KCSAgUmVuYW1lIGEgZmV3IHZhcmlhYmxlcyB0byB1c2UgdGhlIHNhbWUgY29udmVudGlvbiBhcyBvdGhlcnMgZWxlbWVudHMgaW4gdGhpcwoJICBwbHVnaW4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jCgoyMDExLTExLTAyIDA5OjE0OjQyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IERlY2xhcmUgcHJpdmF0ZSBhcnJheXMgYXMgc3RhdGljIGFsbCBhcm91bmQKCjIwMTEtMDktMjEgMTk6NDk6MzYgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBJbXBsZW1lbnQgYW4gTXBlZzQgcGFydCAyIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wOS0yMSAxOTo0MDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogTW92ZSBzaGFyZWQgY29kZSB0byBhIHBhcnNlciB1dGlscyBmaWxlCgoyMDExLTA5LTI5IDE2OjI1OjI5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2djb25maWc6IHJlbW92ZSByZWZlcmVuY2VzIHRvIGNvZGVjcGFyc2VycyBmcm9tIC1iYWQucGMuaW4KCjIwMTEtMTEtMjggMjM6MjA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI4IDIzOjIwOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnNzUyMWI1OTdmNGRjNDlkOGQxNjhmMzY4ZjBlN2ViYWY5OGE3MjE1NicgaW50byAwLjExCgoyMDExLTExLTI4IDIzOjIwOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGNvbW1pdCAnMjZkNmFkZDk0NTdmMDBjZThlYzEzODQ0MzY4NDY2ZjBlMzgxNmU1ZCcgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYwoKMjAxMS0xMS0yOCAxODo0Nzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiB1c2UgZmFzdGVyIGNhc3QgbWFjcm8KCSAgVXNlIGNhc3QgbWFjcm8gd2l0aG91dCB0eXBlIGNoZWNrcyB3aGVuIHdlIGtub3cgaXQgc2hvdWxkIHdvcmsuCgoyMDExLTExLTI4IDE4OjQzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IExpbmsgZWxlbWVudHMgZGlyZWN0bHkgdG8gdXNlIGZhc3RlciB2ZXJzaW9uCgkgIGZmbXBlZ2NvbG9yc3BhY2UgYW5kIHZpZGVvc2NhbGUgc2hvdWxkIGFsd2F5cyBsaW5rIHN1Y2Nlc3NmdWxseSwgdXNlCgkgIHRoZSBmYXN0IHBhZCBsaW5raW5nIHZlcnNpb24gaW5zdGVhZCBvZiBjYWxsaW5nIHRoZSBnZW5lcmljIGhlbHBlcgoJICBmdW5jdGlvbi4KCjIwMTEtMTEtMjggMTY6MzU6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBtaWNybyBvcHRpbWl6ZSBsaW5raW5nIHNvbWUgbW9yZQoKMjAxMS0wOS0yOSAyMjo0MzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAga2F0ZTogc3VwcG9ydCBmb3IgcmVuZGVyaW5nIG9uIHNldmVyYWwgWVVWIGZvcm1hdHMKCSAgVGhpcyBzcGVlZHMgdXAgcmVuZGVyaW5nIGEgZmFpciBiaXQgYnkgbm90IHJlcXVpcmluZyBjb2xvcnNwYWNlCgkgIGNvbnZlcnNpb24sIHdoZXRoZXIgdGhlcmUgaXMgYW55dGhpbmcgdG8gb3ZlcmxheSBvciBub3QuCgkgIFRoZSBibGVuZGluZyBjb2RlIHdhcyBuaWNrZWQgZnJvbSB0ZXh0b3ZlcmxheS4gSSB3b3VsZCB0aGluawoJICB0aGlzIG1pZ2h0IGJlIGEgaGVscGZ1bCB0aGluZyB0byBwdXQgaW4sIHNheSwgbGliZ3N0dmlkZW8gYXQKCSAgc29tZSBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUyOAoKMjAxMS0wOC0xOCAxMTozOTozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggbnVtYmVyIG9mIGJ5dGVzIHJlYWQgZm9yIGZpeGVkIHRpbWUgaW5jcmVtZW50CgkgIFRoZSBzcGVjIEkgZm91bmQgc2F5cyAiMTYgYml0cyIuCgkgIFRoZSBleGlzdGluZyBjb2RlIHVzZWQgbG9nMihzb21ldmFsdWUpKzEuCgkgIGZmbXBlZyB1c2VzIGxvZzIoc29tZXZhbHVlLTEpKzEuCgkgIFRoZSBjb2RlIG5vdyB1c2VzIGxvZzIoc29tZXZhbHVlLTEpKzEsIGFuZCB0aGlzIG1ha2VzIGl0IHdvcmsgd2l0aAoJICBzb21lIHNhbXBsZSB2aWRlbyB3aXRob3V0IGJyZWFraW5nIGFub3RoZXIgc2FtcGxlLgoJICBOb3csIEknbSBmYXIgZnJvbSBjZXJ0YWluIEkndmUgZ290IHRoZSByaWdodCBzcGVjLCBJIGZvdW5kIGl0IGJ5CgkgIHNlYXJjaGluZyB0aGUgaW50ZXJuZXQsIHNvLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ2NjYKCjIwMTEtMTEtMjggMTU6MTA6MzkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogVHJ5IHRvIGFkZCBhbGwgc3RyZWFtcyBlYXJseQoJICBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gc2lnbmFsIG5vLW1vcmUtcGFkcyB0byBhdm9pZCBoaXR0aW5nCgkgIHRoZSBkZWNvZGViaW4yIG92ZXJydW4uCgoyMDExLTA5LTI2IDEyOjQzOjI3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGhhbmRsZSBwYWRzIHdpdGggbm8gZGF0YQoJICBTb21lIHN0cmVhbXMgZGVjbGFyZSBQSURzIGJ1dCB3aWxsIG5vdCBzZW5kIGRhdGEgZm9yIHRoZW0uCgkgIEVuc3VyZSB3ZSB0aW1lIG91dCBvbiB0aG9zZSwgYW5kIGJvdGggc2VuZCBuZXcgc2VnbWVudHMgdG8KCSAga2VlcCB0aGVpciB0aW1lIHN5bmNocm9uaXplZCB3aXRoIHRoZSByZXN0LCBhbmQgZG8gbm90IHdhaXQKCSAgZm9yZXZlciBiZWZvcmUgZGVjaWRpbmcgdG8gc2lnbmFsIG5vLW1vcmUtcGFkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTkyNAoKMjAxMS0wOS0yNiAxMjoxNjozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHNpZ25hbCBuby1tb3JlLXBhZHMgd2hlbiBhcHByb3ByaWF0ZQoJICBXZSB0cmFjayBzdHJlYW1zIGZvciB3aGljaCBhIGRhdGEgY2FsbGJhY2sgaXMgc2V0IChhbmQgZm9yIHdoaWNoCgkgIHBhZHMgd2lsbCBiZSBhZGRlZCBvbmx5IHdoZW4gZGF0YSBpcyByZWNlaXZlZCksIGFuZCBzaWduYWwKCSAgbm8tbW9yZS1wYWRzIHdoZW4gdGhlIGxhc3QgcGFkIGlzIGFkZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTI0CgoyMDExLTA5LTA1IDE3OjQwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IHRha2UgaW50byBhY2NvdW50IG9mZnNldCBvZiBmaXJzdCBidWZmZXIKCSAgVGhpcyBmaXhlcyBwbGF5YmFjayB3aGVuIHRoZSBzb3VyY2Ugc3RhcnRzIGxhdGVyIHRoYW4gdGhlIHBsYXliYWNrCgkgIHBpcGVsaW5lLCBhbmQgd2hlbiBhIHNvdXJjZSBkcm9wcyBmb3IgYSB3aGlsZSB0aGVuIHJlc3RhcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3Nzk0CgoyMDExLTA5LTAzIDE0OjM3OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggc29tZSBtb3JlIHZpZGVvIGZyZWV6aW5nCgkgIFRoZXJlIHdhcyBhIHNlY29uZCB0aHJlc2hvbGQsIHdoaWNoIGFwcGFyZW50bHkgbmVlZHMgdG8gYmUgc21hbGxlcgoJICB0aGFuIHRoZSBmaXJzdCwgdGhvdWdoIEknbSBub3QgY2VydGFpbiBvZiBpdCBhcyBJIGRvbid0IHVuZGVyc3RhbmQKCSAgeWV0IHRoaXMgbmVzdCBvZiB3dGYgdGhhdCBpcyB0aGUgbXBlZyBkZW11eGVyIHRpbWluZyBsb2dpYy4KCSAgRml4ZXMgdmlkZW8gZnJlZXppbmcgb24gb25lIChjb3JydXB0ZWQpIE1QRUcgc2FtcGxlLiBJdCB3b3VsZAoJICBwcmV2aW91c2x5IG5ldmVyIHRoaW5rIGl0IHdhcyBvdXQgb2YgdGhlIGRpc2NvbnRpbnVpdHksIGFuZCB3b3VsZAoJICBwdXNoIGJ1ZmZlcnMgd2l0aCBubyB0aW1lc3RhbXAuCgkgIE5vdyB0aGlzIHRvb2sgbWUgbW9yZSB0aGFuIGEgZGF5J3MgcG9raW5nIGF0IHRoZSB0aGluZywgZm9yIGp1c3QKCSAgb25lIGNvbnN0YW50IGNoYW5nZSwgYW5kIEknbSBzY2FyZWQgdG8gaGF2ZSB0byB0b3VjaCB0aGlzIGFnYWluIDpTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU4MDQKCjIwMTEtMDgtMzAgMTQ6NTA6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogY2F0Y2ggc21hbGxlciBQVFMgZGljb250aW51aXRpZXMKCSAgSW4gYSB0ZXN0IHN0cmVhbSwgSSBnZXQgb25lIGJ1ZmZlciB3aXRoIGEgUFRTIG9mIGFib3V0IDE1IHNlY29uZHMKCSAgaW4gdGhlIGZ1dHVyZSBjb21wYXJlZCB0byB0aGUgcHJldmlvdXMgb25lLCBhbmQgbmV4dCBidWZmZXJzIHdpdGgKCSAgdGltZXN0YW1wcyBjb250aW51aW5nIHdoZXJlIHRoZSBvcmlnaW5hbCBvbmVzIGxlZnQgb2ZmLgoJICBUaGlzIGNhdXNlZCB0aGUgc2luayB0byB3YWl0IDE1IHNlY29uZHMgdG8gZGlzcGxheSB0aGUgZnJhbWUgd2hpbGUKCSAgbW9yZSBmcmFtZXMgcXVldWVkIHVwLCBhbmQgdGhlbiBkdW1wIGFsbCB0aGUgc3Vic2VxdWVudCBmcmFtZXMgYXMKCSAgdGhleSAiYXJyaXZlZCB0b28gbGF0ZSIuCgkgIE1heWJlIHRoYXQgdGhyZXNob2xkIHNob3VsZCBiZSBtYWRlIGNvbmZpZ3VyYWJsZSwgYnV0IGZvciBub3csCgkgIG1ha2UgaXQgbW9yZSBzbWFsbGVyIHRvIGNhdGNoIG1vcmUgb2YgdGhlc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU4MDQKCSAgTm9uIEFWIHN0cmVhbXMga2VlcCB1c2luZyB0aGUgbGFyZ2VyIHRocmVzaG9sZCAoMTAgbWludXRlcyksIGFzCgkgIHN1YnRpdGxlcyBtYXkgYXJyaXZlIG9ubHkgZXZlcnkgc28gb2Z0ZW4uCgoyMDExLTExLTI4IDEzOjA4OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkgIHZhcmlvdXM6IGZpeCBwYWQgdGVtcGxhdGUgcmVmIGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2NjQKCjIwMTEtMTAtMDYgMTc6NDM6MTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBhZGQgV1NBU3RhcnR1cCBhbmQgV1NBQ2xlYW51cCBvbiBXaW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxMDk4CgoyMDExLTExLTI3IDIwOjI0OjM5ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZml4IGZvcm1hdCB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTI3IDIzOjMzOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yNCAxMzo0OToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogZXh0cmFjdCBJRDMgdGFncyBlbWJlZGRlZCBpbiBJRDMgY2h1bmtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ3MjUKCjIwMTEtMTEtMjYgMTU6Mzc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaAoKMjAxMS0xMS0yNSAyMzoxMTozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBvcGVuY3Y6IHBvcnQgYmFzZWNsYXNzIHRvIDAuMTEKCjIwMTEtMTEtMjUgMTE6NDE6MTkgLTAyMDAgIERhbmlsbyBDZXNhciBMZW1lcyBkZSBQYXVsYSA8ZGFuaWxvLmNlc2FyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBGaXhpbmcgIlVudXNlZCB2YXIiIGNvbXBpbGluZyBlcnJvciBmb3Igb3B1cyBjb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0ODE1CgoyMDExLTExLTI1IDE0OjAwOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzZW5jOiBvbmx5IHVzZSBtb25vIHN0cmVhbXMgZm9yID4gMiBjaGFubmVscwoJICBJJ20gZ2V0dGluZyBvZGQgcmVzdWx0cyB3aXRoIHBhY2tpbmcgc3RyZWFtcyBpbnRvIHN0ZXJlbwoJICBzdHJlYW1zLCBhbmQgdXNpbmcgb25seSBtb25vIHN0cmVhbXMgaXMgZW5vdWdoIGluIGFsbCBjYXNlcy4KCjIwMTEtMTEtMjUgMTI6NDc6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBhZGQgc29tZSBtb3JlIGRlYnVnIGluZm9ybWF0aW9uIGFib3V0IGNoYW5uZWwgbWFwcGluZwoKMjAxMS0xMS0yNSAxMjo0Njo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiByZW1vdmUgZGVhZCBhc3NpZ21lbnRzCgkgIFdlIG5vdyBvbmx5IGtlZXAgYSByZWYgdG8gdGhlIGhlYWRlcnMgZm9yIGxhdGVyIHJldXNlLgoKMjAxMS0xMS0yNSAxMjo0MDozMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBjYXVzZSB0aGUgZGVjb2RlciB0byBhcHBseSB0aGUgY2hhbm5lbCBtYXBwaW5nIGFnYWluCgkgIFNpbmNlIHdlIGFscmVhZHkgcmVvcmRlciBjaGFubmVscywgd2UgZG8gbm90IHdhbnQgdG8gd3JpdGUgdGhhdAoJICByZW9yZGVyaW5nIGluIHRoZSBoZWFkZXIsIG9yIHRoZSBkZWNvZGVyIHdpbGwgZG8gaXQgYWdhaW4uCgoyMDExLTExLTI1IDEyOjM5OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGJvZ3VzIGFzc2VydGlvbgoKMjAxMS0xMS0yNSAxNTo0OTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3Igdm9hbXJ3YmVuYwoKMjAxMS0xMS0yNSAxMjo0ODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvZmFhYy9nc3RmYWFjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDExLTExLTI1IDExOjM3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHNvbWUgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDExLTExLTI1IDExOjM2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogdXNlIG5ldyBiYXNldmlkZW9kZWNvZGVyIEFQSSB0byBkcm9wIGZyYW1lcyBhbmQgZ2V0IFFvUyBtZXNzYWdlcyBwb3N0ZWQKCjIwMTEtMTEtMjMgMjA6MDM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIEFQSSB0byBkcm9wIGEgZnJhbWUgYW5kIHBvc3QgYSBRb1MgbWVzc2FnZSBvbiB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAwMTcKCSAgQVBJOiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2Ryb3BfZnJhbWUoKQoKMjAxMS0wOC0zMCAyMzozOTozNiAtMDMwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuaDoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvZHJpMl93cy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ19kZWZzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX3R5cGVzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvcHZyMmQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzZXh0Lmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvd3NlZ2wuaDoKCSAgQWRkIHB2cnZpZGVvc2luayBlbGVtZW50CgkgIFBWUlZpZGVvU2luayB1c2VzIFBWUjJEIGxpYnJhcnkgdG8gYmxpdCBpbWFnZXMuCgkgIEF1dGhvcjogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCSAgQXV0aG9yOiBMdWNpYW5hIEZ1amlpIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCjIwMTEtMTEtMjQgMjE6NTI6NTUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIHVzYWdlIGluIHBhcnNlciB0ZXN0IGhlbHBlcgoJICBGaXhlcyBwcmV2aW91cyBjb21taXQ7IHVzZXJzIGNhbiBjYWxsIHRoaXMgd2l0aCBOVUxMIGNhcHMuCgoyMDExLTExLTI0IDIxOjQyOjM5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdGVzdHM6IHVwZGF0ZSBmb3IgZ3N0Y2hlY2sgQVBJIGNoYW5nZQoKMjAxMS0xMS0yNCAxOTowMzoyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGFhLWxpbmUgY29kZSBhbmQgdXNlciBmb3Igd2F2ZS9zcGFjZS1zY29wZQoKMjAxMS0xMS0yNCAxMzozODo1OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IHByZS1za2lwIGFuZCBvdXRwdXQgZ2FpbiBhcmUgbGl0dGxlIGVuZGlhbiwgcmVtb3ZlIHJlbWluZGVyIG5vdGUKCjIwMTEtMTEtMjQgMTM6Mjk6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IG11bHRpY2hhbm5lbCBzdXBwb3J0CgoyMDExLTExLTIzIDE3OjQ5OjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogc3dpdGNoIHRvIG11bHRpc3RyZWFtIEFQSQoJICBJdCdzIHZlcnkgc2ltaWxhciB0byB0aGUgYmFzaWMgQVBJLCBhbmQgaXMgYSBzdXBlcnNldCBvdCBpdCwKCSAgd2hpY2ggd2lsbCBhbGxvdyBlbmNvZGluZyBhbmQgZGVjb2RpbmcgbW9yZSB0aGFuIDIgY2hhbm5lbHMuCgoyMDExLTExLTIzIDE3OjMyOjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogc2h1ZmZsZSBzdXBwb3J0ZWQgc2FtcGxlIHJhdGVzIHRvIGZhdm9yIDQ4MDAwCgoyMDExLTExLTIzIDE2OjM2OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiByZW1vdmUgdXNlbGVzcyBzZXR1cCBmaWVsZAoKMjAxMS0xMS0yNCAxMjowMTo0OCArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBwb3J0IHRvIDAuMTEKCSAgVW5pdCB0ZXN0cyBtaXNzaW5nIGZvciBub3cuCgoyMDExLTExLTI0IDExOjU5OjE5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IHBvcnQgdG8gMC4xMQoJICBPbmx5IHRvIGZpeCB0aGUgYnVpbGQgcmVhbGx5IChndGstZG9jIGlzIHRyeWluZyB0byBwaWNrIHVwIHRoZSB1bmJ1aWxkYWJsZQoJICBsaWIpLiBOb3QgdGVzdGVkIGF0IGFsbCAoYnV0IHByZXR0eSB0cml2aWFsIGNhc2UgYW55d2F5cykuCgoyMDExLTExLTAyIDEzOjI1OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IHdpZHRoL2hlaWdodCBtaXNtYXRjaGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMzgKCjIwMTEtMTEtMjQgMTA6MjY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgdGhlIHNpbmtwYWQgdGVtcGxhdGUgY2FwcyBhcyBhIGZhbGxiYWNrLCBub3QgdGhlIHNyY3BhZCBvbmVzCgoyMDExLTExLTI0IDEwOjE0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowOTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA0OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDAxOjU2OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiByZW1vdmUgaXJhZGlvLSogcHJvcGVydGllcwoJICBTaG91bGQgc2VuZCB0YWdzIGluc3RlYWQuCgoyMDExLTExLTI0IDAxOjUyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiB1bmNvbmRpdGlvbmFsbHkgc2VuZCBpY2VjYXN0IHJlcXVlc3QgaGVhZGVyLCByZW1vdmUgaXJhZGlvLW1vZGUgcHJvcGVydHkKCjIwMTEtMTEtMjQgMDE6MjI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgbW1zc3JjOiBtYWtlIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkgYSBndWludDY0CgkgIEV2ZW4gaWYgdGhlIGxpYnJhcnkgbGltaXRzIGl0IHRvIGFuIGludC4KCjIwMTEtMTEtMjQgMDA6NTY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogdXBkYXRlIGZvciBnc3RydHBiaW4gLT4gcnRwYmluIHJlbmFtaW5nCgoyMDExLTExLTIzIDIzOjQyOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgZmFhYywgcnRtcDogbW9yZSBwcmludGYgZm9ybWF0IGZpeGVzIGluIGRlYnVnIG1lc3NhZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjEgMjI6NDU6MTUgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3Mgb24gT1MgWCAvIDY0IGJpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTIzIDIzOjMwOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZG8gbm90IGxlYWsgYnVmZmVyIHdoZW4gbm8gZW5jb2RlZCBkYXRhIHlldCBvciBlbmNvZGluZyBlcnJvcgoKMjAxMS0xMS0yMyAyMzoyOToxMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTExLTIzIDE2OjAxOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHNtb290aDogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZyBpbiBkZWJ1ZyBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ2MzEKCjIwMTEtMTEtMjMgMTM6NDc6MTEgKzAxMDAgIEtyenlzenRvZiBLcmFrb3dpYWsgPGtyenlzenRvZi5rcmFrb3dpYWtAZ21haWwuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogZml4IG1vZHVsZXMgcGxheWluZyBhcyBtb25vIGluc3RlYWQgb2Ygc3RlcmVvCgkgIHJlcGxhY2VkIGJyb2tlbiBpZi1yZXR1cm4gbG9naWMgZm9yIGZpeGF0aW5nIHJhdGUgYW5kIG51bWJlcgoJICBvZiBjaGFubmVscyB0aGF0IGNhdXNlZCB0aGF0IG1vZHVsZXMgd2VyZSBhbHdheXMgKGFmdGVyCgkgIHN1Y2Nlc3NmdWwgZml4YXRpb24gb2YgcmF0ZSkgcGxheWVkIGFzIG1vbm8gKGluc3RlYWQgb2YKCSAgc3RlcmVvKSBieSBjb3JyZWN0IG9uZSB3aXRoIGFwcHJvcGlhdGUgd2FybmluZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTkwMzUKCjIwMTEtMTEtMjMgMTM6MjI6MTIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGltcGxlbWVudCByZXBsYXkgZ2FpbgoJICBJdCB3b3VsZCBpZGVhbGx5IGJlIGJldHRlciB0byBsZWF2ZSB0aGlzIHRvIGEgcmd2b2x1bWUgZWxlbWVudCwKCSAgYnV0IHdlIGRvbid0IGNvbnRyb2wgdGhlIHBpcGVsaW5lLiBTbyBkbyBpdCBieSBkZWZhdWx0LCBhbmQgYWxsb3cKCSAgZGlzYWJsaW5nIGl0IHZpYSBhIHByb3BlcnR5LCBzbyB0aGUgY29ycmVjdCB2b2x1bWUgc2hvdWxkIGFsd2F5cwoJICBiZSBvdXRwdXQuCgoyMDExLTExLTIzIDExOjU4OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBhZGQgaW4tYmFuZCBGRUMgc3VwcG9ydAoJICBUaGlzIGFsbG93cyByZWNvbnN0cnVjdGlvbiBvZiBsb3N0IHBhY2tldHMgaWYgRkVDIGluZm8gaXMgaW5jbHVkZWQKCSAgaW4gdGhlIG5leHQgcGFja2V0LCBhdCB0aGUgY29zdCBvZiBleHRyYSBsYXRlbmN5LiBTaW5jZSB3ZSBkbyBub3QKCSAga25vdyBpZiB0aGUgc3RyZWFtIGhhcyBGRUMgKGFuZCB0aGlzIGNhbiBjaGFuZ2UgYXQgcnVudGltZSksIHdlCgkgIGFsd2F5cyBpbmN1ciB0aGUgbGF0ZW5jeSwgZXZlbiBpZiB3ZSBuZXZlciBsb3NlIGFueSBmcmFtZSwgb3Igc2VlCgkgIGFueSBGRUMgaW5mb3JtYXRpb24uIE9mZiBieSBkZWZhdWx0LgoKMjAxMS0xMS0yMyAxMjo0MTozMiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogbm9ybWFsaXplIGJvb2xlYW4gcHJvcGVydHkgZGVmYXVsdCB2YWx1ZXMgdG8gVFJVRS9GQUxTRQoJICBHbGliIGJhcmtzIGF0IHVzIHdpdGggYSB3YXJuaW5nIHdoZW4gd2UgcGFzcyBlLmcuIDQuCgoyMDExLTExLTIzIDExOjU5OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGFhYW5kIGZpeCBteSBsYXN0IGNvbW1pdAoKMjAxMS0xMS0yMyAxMTo1NTowNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBGaXggZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbgoKMjAxMS0xMS0yMyAxMTozMTo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSAgYXVkaW92aXN1YWxpemVyczogdXBkYXRlIFJFQURNRSBhbmQgVE9ETyBjb21tZW50cwoKMjAxMS0xMS0yMyAxMToyMToxNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJICBzcGFjZXNjb3BlOiB1c2UgdGhlIGRyYXdoZWxwZXJzIGFuZCBhZGQgYSBkcmF3LXN0eWxlIHByb3BlcnR5CgkgIExpa2UgaW4gd2F2ZXNjb3BlIHN1cHBvcnQgZHJhd2luZyBkb3RzIGFuZCBsaW5lcy4KCjIwMTEtMTEtMjMgMTE6MDg6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYwoJICBnc3QvZmlsdGVyL01ha2VmaWxlLmFtCgkgIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmMKCSAgZ3N0L2ZpbHRlci9nc3RpaXIuYwoJICBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jCgoyMDExLTExLTIzIDA4OjQwOjQ5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgc29tZSBzaW1wbGUgZHJhd2luZyBoZWxwZXJzIGZvciByZXVzZQoJICBBZGQgYSAodW5pbnN0YWxsZWQpIGhlYWRlciB3aXRoIHNpbXBsZSBkcmF3aW5nIG1hY3JvcwoKMjAxMS0xMS0yMyAwODoxNzowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICBzbW9vdGh3YXZlOiByZW1vdmUgZWxlbWVudCB1bnBvcnRlZCBmcm9tIDAuOAoJICBUaGUgd2F2ZXNjb3BlIGVsZW1lbnQgZG9lcyBhY2hpZXZlIHRoZSBzYW1lIGVmZmVjdC4KCjIwMTEtMTEtMjMgMDg6MTQ6MzggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIHdhdmVzY29wZTogYWRkIGEgc3R5bGUgcHJvcGVydHkgZm9yIGRyYXdpbmcgbW9kZXMKCSAgQWRkIGEgc3R5bGUgZW51bSBvZiB7IGRvdHMsIGxpbmVzfS4gTm93IHRoaXMgZWxlbWVudHMgaXMgYSBzdXBlcnNldCBvZiBzbW9vdGh3YXZlLgoKMjAxMS0xMS0yMiAyMzowNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBkb2NzOiBmaXggY29tbWVudCBpbiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2dldF9tYXhfZGVjb2RlX3RpbWUoKSBkb2NzCgoyMDExLTExLTIyIDIwOjI3OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbWFyayBwcm9wZXJ0aWVzIGNoYW5nZWFibGUgYXQgcnVudGltZSB3aXRoIEdTVF9QQVJBTV9NVVRBQkxFX1BMQVlJTkcKCjIwMTEtMTEtMjIgMTk6NTc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4IHdlaXJkIGV2ZW50IGxpc3QgaGFuZGxpbmcKCSAgR2V0IHJpZCBvZiB3ZWlyZCBjb2RlIHRoYXQgY29waWVzIGEgbGlzdCBtYW51YWxseSwgdGFraW5nCgkgIG93bmVyc2hpcCBvZiB0aGUgZWxlbWVudHMgYW5kIHRoZW4gZnJlZXMgdGhlIG9sZCBsaXN0LiBJbnN0ZWFkLAoJICBqdXN0IHRha2Ugb3ZlciB0aGUgb2xkIGxpc3QgZW50aXJlbHkuIChJZiB0aGUgaW50ZW50IHdhcyB0bwoJICByZXZlcnNlIHRoZSBsaXN0LCBvbmUgY291bGQgdXNlIGdfbGlzdF9yZXZlcnNlKCkgaW5zdGVhZCkuCgkgIFRoZW4sIHB1c2ggZXZlbnRzIGluIHRoZSBsaXN0IG91dCBmcm9tIGxhc3QgdG8gZmlyc3QgKHNpbmNlIHRoZXkKCSAgd2VyZSBwcmVwZW5kZWQgYXMgdGhleSBjYW1lIGluKSBpbnN0ZWFkIG9mIGp1c3QgcHVzaGluZyBvdXQgdGhlCgkgIGxhc3QgaW4gdGhlIGxpc3QgYW5kIGxlYWtpbmcgdGhlIG90aGVycy4KCjIwMTEtMTEtMjIgMTg6MzM6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogYWRkIHRlc3QKCjIwMTEtMTEtMjIgMTc6MDQ6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGFsbG93IHNldHRpbmcgbW9zdCBwcm9wZXJ0aWVzIGF0IFBMQVlJTkcgdGltZQoJICBPcHVzIGFsbG93cyB0aGVzZSB0byBiZSBjaGFuZ2VkIGR1cmluZyBlbmNvZGluZywgdHJhbnNwYXJlbnRseQoJICB0byB0aGUgZGVjb2Rlci4KCjIwMTEtMTEtMjIgMTY6MTQ6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBib3VuZCB0aGUgYml0cmF0ZSB0byBtb3JlIHNlbnNpYmxlIHZhbHVlcwoJICBHbyBmcm9tIHRoZSBib3VuZHMgbWVudGlvbmVkIGluIHRoZSBzcGVjLCBhbmQgYWxsb3cgc29tZSBtb3JlCgkgIHZhcmlhdGlvbi4KCSAgSW4gcGFydGljdWxhciwgZG9uJ3QgYWxsb3cgc2lsbHkgbG93IGJpdHJhdGVzLCBhbmQgYWxsb3cgcmVhY2hpbmcKCSAgdGhlIG1heGltdW0gdXNlZnVsIGJpdHJhdGUuCgoyMDExLTExLTIyIDE1OjMzOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBmaXggY3Jhc2ggb24gcGF0aG9sb2dpY2FsIHBhcmFtZXRlcnMKCSAgQXNraW5nIGZvciAxIGJpdC9zIHdvdWxkIHNlbGVjdCBhIDAgYnl0ZSBidWZmZXIsIGxlYWRpbmcKCSAgdG8gYSBjcmFzaC4gQnVmZmVyIHNpemUgaXMgbm93IGNvbnRyb2xsZWQgYnkgYSBtYXgtcGF5bG9hZC1zaXplCgkgIHByb3BlcnR5LCB3aGljaCBjYW4ndCBiZSBsZXNzIHRoYW4gMi4KCjIwMTEtMTEtMjEgMTg6MTI6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZG8gbm90IHNlbmQgaGVhZGVycyB0aHJvdWdoIGRhdGEgcGF0aAoJICBBZGRpdGlvbmFsbHksIHNpbmNlIE9wdXMgcGFja2V0cyBtYXkgY2hhbmdlIGJldHdlZW4gc3RlcmVvCgkgIGFuZCBtb25vIGFzIHRoZSBlbmNvZGVyIHNlZXMgZml0LCBhc3N1bWUgdHdvIGNoYW5uZWxzIHdoZW4KCSAgd2UgZG8gbm90IHNlZSBhIGhlYWRlciwgYW5kIHVzZSB0aGUgaGVhZGVyIHZhbHVlIG90aGVyd2lzZS4KCjIwMTEtMTEtMjEgMTc6NDg6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSAgb3B1czogbW92ZSBoZWFkZXIgbWFnaWMgdGVzdGluZyB0byBnc3RvcHVzaGVhZGVyCgoyMDExLTExLTIxIDE3OjAxOjQ5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogc2tpcCBwcmUtc2tpcCBzYW1wbGVzCgoyMDExLTExLTIxIDEyOjUwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZWFkIHByZS1za2lwIGZyb20gZmlyc3QgaGVhZGVyIGlmIGF2YWlsYWJsZQoKMjAxMS0xMS0xNyAxMTozMzo1NiArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHN1cHBvcnQgbW9yZSBjaGFyYWN0ZXIgc2V0IGVuY29kaW5ncwoJICBTdXBwb3J0IFVURi0xNkJFLCBFVUMtS1IgKEtTWDEwMDEpLCBHQjIzMTIgYW5kIElTTy0xMDY0Ni9VVEY4IHRleHQKCSAgZW5jb2RpbmcgYW5kIGZpeGVkIG5ldyBsaW5lIGZvciBtdWx0aWJ5dGUgZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI1NwoKMjAxMS0xMS0yMiAwOToxMTozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wbGF5b25kZW1hbmQvLmdpdGlnbm9yZToKCSogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSogZ3N0L3BsYXlvbmRlbWFuZC9kZW1vLW1wMy5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2ZpbHRlci5mdW5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICBwbGF5b25kZW1hbmQ6IHJlbW92ZSB1bnBvcnRlZCBwbHVnaW4gZnJvbSAwLjgKCSAgVGhlc2UgZGF5cyBvbmUgd291bGQgZG8gdGhlIGVmZmVjdCBlLmcuIHVzaW5nIGdub25saW4uCgoyMDExLTExLTIyIDA5OjEwOjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiB0aW55IGRvYyBibG9iIGNsYXJpZmljYXRpb24KCjIwMTEtMTEtMjEgMjI6NTU6NDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5oOgoJICBmcmVldmVyYjogYWRkIGEgZnJlZXZlcmIgcG9ydAoJICBGcmVldmVyYiBpcyBhIHB1YmxpYyBkb21haW4gcmV2ZXJiIGltcGxlbWVudGF0aW9uLiBQb3J0IGl0IGFzIGEgZ3N0cmVhbWVyCgkgIGVsZW1lbnQgYW5kIG1ha2UgdXNlIG9mIGdzdHJlYW1lciBzcGVjaWZpYyBmZWF0dXJlcyAoZ2FwIGF3YXJlLCBkaXNjb250cywKCSAgY29udHJvbGxlciwgLi4uKS4KCjIwMTEtMTEtMjEgMTM6Mzc6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB1cGRhdGUgZm9yIGFjdGl2YXRpb24gY2hhbmdlcwoKMjAxMS0xMS0yMSAxMjowMjoyOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHJlc2V0IHRhZ3NldHRlciBpbnRlcmZhY2Ugb24gc3RvcAoKMjAxMS0xMS0yMSAxMTo0NDowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGhhbmRsZSBOVUxMIHBhY2tldHMgKHVzZWQgZm9yIFBMQykKCjIwMTEtMTEtMjEgMTE6Mjg6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBsaWdodCBjbGVhbnVwCgoyMDExLTExLTIwIDEzOjA3OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IHBhcnNlIHJhdyBvcHVzIHBhY2tldHMKCjIwMTEtMTEtMjAgMDk6NTg6MDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgcHVzaCBoZWFkZXIgYnVmZmVycwoJICBPcHVzIGhlYWRlcnMgYXBwZWFyIG9ubHkgd2hlbiBtdXhlZCBpbiBPZ2csIHNvIG9ubHkgcGxhY2UgdGhlbQoJICBvbiB0aGUgY2Fwcywgd2hlcmUgb2dnbXV4IHdpbGwgZmluZCB0aGVtLCBidXQgb3RoZXIgZWxlbWVudHMgd2lsbAoJICBiZSBibGl0aGVseSB1bmF3YXJlIG9mIHRoZW0uCgoyMDExLTExLTIwIDA5OjUyOjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IG1ha2Ugb3B1c3BhcnNlIHNldCBoZWFkZXJzIG9uIGNhcHMKCSAgSGVhZGVyLW9uLWNhcHMgY29kZSBtb3ZlZCB0byBhIG5ldyBzaGFyZWQgbG9jYXRpb24gdG8gYXZvaWQKCSAgZHVwbGljYXRpbmcgdGhlIGNvZGUuCgoyMDExLTExLTIxIDEwOjU0OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUG9ydCB0byBuZXcgcGFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMKCjIwMTEtMTEtMjEgMDg6MjA6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgIHNtb290aDogcG9ydCB0byAwLjEwCgkgIFBvcnQgZnJvbSBHc3RFbGVtZW50IHRvIEdzdFZpZGVvRmlsdGVyLiBGaXggRklYTUVzLiBDbGVhbnVwIG5hbWluZy4gRXhwb3NlIGxlZnQKCSAgb3V0IHByb3BlcnR5IChrdW1hLW9ubHkpLgoKMjAxMS0xMS0yMCAyMDoxNjowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wYXNzdGhyb3VnaC8uZ2l0aWdub3JlOgoJKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXNzdGhyb3VnaC9maWx0ZXIuZnVuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5oOgoJKiBnc3QvcGFzc3Rocm91Z2gvcGFzc3Rocm91Z2gudmNwcm9qOgoJICBwYXNzdGhyb3VnaDogcmVtb3ZlIG9ic29sZXRlIGVsZW1lbnQKCSAgSXQgaXMgbm90IGJ1aWx0IGJ5IGRlZmF1bHQuIFdlIGhhdmUgaWRlbnRpdHkgZm9yIHNvbWUgb2YgdGhlIG5lZWRzIGFuZCBvdGhlcndpc2UKCSAgYXVkaW8vdmlkZW9maWx0ZXIgYmFzZSBjbGFzc2VzLgoKMjAxMS0xMS0yMCAyMDowODo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9maWx0ZXIvZmlsdGVyLnZjcHJvajoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSogZ3N0L2ZpbHRlci9paXIuYzoKCSogZ3N0L2ZpbHRlci9paXIuaDoKCSAgZmlsdGVyOiByZW1vdmUgZmlsdGVyIHBsdWdpbgoJICBXZSBkb24ndCBidWlsZCBpdCBhbnl3YXkgYW5kIHdlIGhhdmUgYXVkaW9paXJmaWx0ZXIgaW4gZ29vZC4KCjIwMTEtMTEtMjAgMjA6MDY6MjkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZml4IGxlZnRvdmVyIGJvaWxlcnBsYWNlIGNvbW1lbnRzCgoyMDExLTExLTE4IDAzOjMxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsc28gcmVzZXQgdmlkZW8vYXVkaW8gZmlsdGVycyBiZWZvcmUgY2FwdHVyaW5nCgkgIFZpZGVvIGFuZCBhdWRpbyBjdXN0b20gZmlsdGVyIGVsZW1lbnQgc2hvdWxkIGFsc28gYmUgcmVzZXQgYmVmb3JlCgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUsIG90aGVyd2lzZSB3ZSBnZXQgd3Jvbmctc3RhdGUgZXJyb3JzCgoyMDExLTExLTE5IDE1OjU4OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHRlcm1pbmF0aW5nIE5VTCBiZWluZyB3cml0dGVuIGluIHNpZ25hdHVyZQoKMjAxMS0xMS0xNiAxOTo0MDoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1ha2UgZnJhbWUtc2l6ZSBhbiBlbnVtCgkgIEl0IG9ubHkgc3VwcG9ydHMgYSBzZXQgbnVtYmVyIG9mIHNwZWNpZmljIHZhbHVlcyAoaW5jbHVkaW5nCgkgIGEgbm9uIGludGVnZXIgb25lKS4KCjIwMTEtMTEtMTYgMTk6MjI6NDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB0aGUgZW5jb2RlciBtaWdodCBub3QgbWFrZSB1c2Ugb2YgYWxsIHRoZSBieXRlcwoKMjAxMS0xMS0xOCAxOToyODoyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG9wZW5jdjogdXNlIGNhcHMgY29uc3RhbnRzIG1vcmUKCjIwMTEtMTEtMTggMTk6MTk6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IGZpeHVwIGRvYyBibG9icwoKMjAxMS0xMS0xOCAxOToxNToyNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogZml4dXAgZ29iamVjdCBuYW1pbmcgY29udmVudGlvbnMKCjIwMTEtMTEtMTggMTc6NTk6NDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB1cGRhdGUgZm9yIG5ldyBzY2hlZHVsaW5nIHF1ZXJ5CgoyMDExLTExLTE4IDE3OjE4OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBjb2RlCgkgIC4uLiBub3cgdGhhdCB3aGF0IHNob3VsZCBub3QgYmUgbmVlZGVkIGlzIHJlYWxseSBub3QgbmVlZGVkIGFueW1vcmUgdG8gY292ZXIKCSAgdXAgYm9ndXMgc3R1ZmYgdGhhdCBoYXMgYmVlbiBGSVhNRWQuCgoyMDExLTExLTE4IDEyOjMyOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHVwIEFVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZwoJICBPbiB0aGUgb25lIGhhbmQsIG5vIG5lZWQgdG8gY29sbGVjdCBuYWwgaWYgcHJvY2Vzc2luZyBsYXN0IG9uZS4KCSAgT24gdGhlIG90aGVyIGhhbmQsIGVuc3VyZSBBVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcgdG8gaGF2ZSBzdWZmaWNpZW50CgkgIG5leHQgTkFMIGRhdGEgaW4gbm9ybWFsIGNhc2VzLgoJICBGaXhlcyAjNjYzMTgwLgoKMjAxMS0xMS0xOCAxNToxMjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1pbmQgdG8tYmUtc2tpcHBlZCBkYXRhIGluIHN1YnNlcXVlbnQgcmUtdXNlZCBvZmZzZXRzCgoyMDExLTExLTE4IDE1OjEwOjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgYWRkaXRpb25hbCBOQUwgcGFyc2luZyBpZiBubyBBVSBjb2xsZWN0aW9uIGlzIG5lZWRlZAoKMjAxMS0xMS0xOCAxNToxMDoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNvbWUgbW9yZSBnZXRfY2FwcyB0d2Vha2luZwoJICAuLi4gYnkgaGF2aW5nIGl0IHVzZSBzaW5rIHRlbXBsYXRlIHJhdGhlciB0aGFuIHNyYyB0ZW1wbGF0ZSwgYW5kIG5vdAoJICBwYXNzaW5nIGFuIGRvd25zdHJlYW0gcGFyc2VkKD10cnVlKSB0byB1cHN0cmVhbS4KCjIwMTEtMTEtMTggMTU6MDc6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGluaXRpYWxpemUgYWRkaXRpb25hbCBzcHMgZmllbGQgdmFsdWUKCSAgRml4ZXMgIzY2MzU1Mi4KCjIwMTEtMTEtMTggMTM6NTg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBhZGQgcGFyZW50IHRvIGFjdGl2YXRlIGZ1bmN0aW9ucwoKMjAxMS0xMS0xOCAxMjozODoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIGZpeCBmb3Igc2NoZWR1bGluZyBtb2RlIHJlbmFtZQoKMjAxMS0xMS0xOCAwODoyOTozMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkgIG9wZW5jdjogcmVtb3ZlIGVtcHR5IGZpbmFsaXplIGltcGxlbWVudGF0aW9ucwoKMjAxMS0xMS0xNyAyMzowMzowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkgIHZvYW1yd2JlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE3IDIzOjAyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogc29tZSBjb2RlIHNodWZmbGUgY2xlYW51cAoKMjAxMS0xMS0xNyAyMzowMjozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE3IDIzOjAyOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogcHJvcGVybHkgcmVwb3J0IGVycm9yIGNhc2UKCjIwMTEtMTEtMTcgMjM6MDI6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiByZW1vdmUgdW51c2VkIGluc3RhbmNlIHZhcmlhYmxlCgoyMDExLTExLTE3IDEwOjMzOjQyIC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE9ubHkgY2FsbCA6OnJlc2V0IG9uY2UgaW4gUkVBRFktPlBBVVNFRAoKMjAxMS0xMS0xNyAxNzozMjo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuaAoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5oCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgoyMDExLTExLTE3IDE1OjUzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgYWRkIHBhcmVudCB0byBwYWQgZnVuY3Rpb25zCgoyMDExLTExLTE3IDEwOjA3OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBsaWJzLWRvY3M6IGFkZCAtREdTVF9VU0VfVU5TVEFCTEVfQVBJCgoyMDExLTExLTE3IDA5OjU2OjM0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBwb3J0IGZvciBwYWRfcXVlcnkgYXBpIGNoYW5nZQoKMjAxMS0xMS0xNyAwODoyNToyOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIGNvbGxlY3RwYWRzOiBwb3J0IEFQSSBjaGFuZ2VzCgoyMDExLTExLTE2IDIwOjUzOjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBkZXRlY3QgZmFjZSBmZWF0dXJlcwoJICBBbHNvIGRldGVjdCBtb3V0aCwgbm9zZSBhbmQgZXllcy4gRHJvcCBmYWNlcyB0aGF0IGRvbid0IGhhdmUgdGhlbS4gRml4ZXMgbGVha2luZyB0aGUKCSAgY2FzY2FkZXMuIEFkZHMgbW9yZSBkb2NzLgoKMjAxMS0xMS0xNiAyMDo1MToyNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogR3N0ZmFjZWRldGVjdCAtPiBHc3RGYWNlZGV0ZWN0CgoyMDExLTExLTE0IDExOjA1OjQ0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGNvZGUgbWFpbnRlbmFuY2UKCSAgVXBkYXRlIGV4YW1wbGUgdG8gYmUgdXNlZnVsLiBEcmF3IGNvbG9yZWQgZWxsaXBzZXMgaW5zdGVhZCBvZiB1bmljb2xvciBjaXJjbGVzLgoJICBSZWZsb3cgY29kZSBmb3IgbW9yZSBsb2NhbCB2YXJpYWJsZXMuIEltcHJvdmUgcGFyYW1ldGVyIGRlc2NyaXB0aW9ucy4KCjIwMTEtMTEtMTYgMTA6NTc6NTUgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBDaGFuZ2UgcmFuayB0byBQUklNQVJZKzEKCjIwMTEtMTEtMTYgMTA6NDU6NTIgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBEb24ndCByZXF1aXJlIHBhcnNlZD1mYWxzZSBvbiB0aGUgc2lua3BhZCBjYXBzCgoyMDExLTExLTE2IDE4OjQ5OjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IGluY2x1ZGUgdmFyaWFibGUgZmllbGRzIGluIGNhcHMKCSAgVGhvc2UgY2FuIHZhcnkgZnJvbSBvbmUgcGFja2V0IHRvIHRoZSBuZXh0LCBzbyBoYXZlIG5vIHJlYXNvbgoJICB0byBiZSBpbiB0aGUgY2Fwcy4KCjIwMTEtMTEtMTYgMTg6NDM6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY29uc3RyYWluZWQtdmJyIHByb3BlcnR5IG5hbWUgdHlwbwoKMjAxMS0xMS0xNiAxMDozODo0OSAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEltcGxlbWVudCA6OnNpbmtfZ2V0X2NhcHMgdG8gYWxsb3cgc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uIGFnYWluCgkgIEp1c3QgcHJveHlpbmcgdGhlIGRvd25zdHJlYW0gY2FwcyB3aWxsIHByZXZlbnQgaDI2NHBhcnNlIGZyb20KCSAgYWNjZXB0aW5nIGEgZGlmZmVyZW50IHN0cmVhbS1mb3JtYXQgdGhhbiB3aGF0IGlzIHN1cHBvcnRlZAoJICBkb3duc3RyZWFtLCBhbHRob3VnaCBpdCBjb3VsZCBjb252ZXJ0IHRvIGEgZGlmZmVyZW50IHN0cmVhbS1mb3JtYXQuCgoyMDExLTExLTE2IDE4OjM1OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBsZXQgdGhlIGJhc2UgY2xhc3MgaGFuZGxlIGFsbCB0aW1pbmcKCjIwMTEtMTEtMTYgMTk6MTg6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTExLTE2IDE5OjExOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTUgMTk6NTM6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzcGFyc2U6IGFkZCBvcHVzcGFyc2UgZWxlbWVudAoJICBBIHZlcnkgc2ltcGxlIGVsZW1lbnQgdGhhdCBwYXJzZXMgT3B1cyBzdHJlYW1zIGZyb20gdGhlIGFkIGhvYwoJICBmcmFtaW5nIHVzZWQgYnkgdGhlIE9wdXMgdGVzdCB2ZWN0b3JzLgoKMjAxMS0xMS0xNiAxNzoyNDoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGFsbG93IG5lZ290aWF0aW9uIG9mIHJhdGUvY2hhbm5lbHMgd2l0aCBkb3duc3RyZWFtCgkgIFNpbmNlIGFuIG9wdXMgc3RyZWFtIG1heSBiZSBkZWNvZGVkIHRvIGFueSAoc2Vuc2libGUpIHJhdGUsCgkgIGFuZCBlaXRoZXIgc3RlcmVvIG9yIG1vbm8sIHdlIHRyeSB0byBhY2NvbW9kYXRlIGRvd25zdHJlYW0uCgoyMDExLTExLTE2IDE3OjA1OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZXdyaXRlIGxvZ2ljCgkgIFBhcmFtZXRlcnMgc3VjaCBhcyBmcmFtZSBzaXplLCBldGMsIGFyZSB2YXJpYWJsZS4gUHJldHR5IG11Y2gKCSAgZXZlcnl0aGluZyBjYW4gY2hhbmdlIHdpdGhpbiBhIHN0cmVhbSwgc28gYmUgcHJlcGFyZWQgYWJvdXQgaXQsCgkgIGFuZCBkbyBub3QgY2FjaGUgcGFyYW1ldGVycyBpbiB0aGUgZGVjb2Rlci4KCjIwMTEtMTEtMTYgMTY6NTY6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogcG9ydCB0byBiYXNlIGF1ZGlvIGVuY29kZXIvZGVjb2RlcgoKMjAxMS0xMS0xNiAxNzoyODoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgYWRkIHBhcmVudCB0byBxdWVyeSBmdW5jdGlvbgoKMjAxMS0xMS0xNiAxMzoyNjozNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGFsbG93IG5lZ290aWF0aW9uIG9mIHJhdGUvY2hhbm5lbHMgd2l0aCBkb3duc3RyZWFtCgkgIFNpbmNlIGFuIG9wdXMgc3RyZWFtIG1heSBiZSBkZWNvZGVkIHRvIGFueSAoc2Vuc2libGUpIHJhdGUsCgkgIGFuZCBlaXRoZXIgc3RlcmVvIG9yIG1vbm8sIHdlIHRyeSB0byBhY2NvbW9kYXRlIGRvd25zdHJlYW0uCgoyMDExLTExLTE2IDAxOjE0OjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZXdyaXRlIGxvZ2ljCgkgIFBhcmFtZXRlcnMgc3VjaCBhcyBmcmFtZSBzaXplLCBldGMsIGFyZSB2YXJpYWJsZS4gUHJldHR5IG11Y2gKCSAgZXZlcnl0aGluZyBjYW4gY2hhbmdlIHdpdGhpbiBhIHN0cmVhbSwgc28gYmUgcHJlcGFyZWQgYWJvdXQgaXQsCgkgIGFuZCBkbyBub3QgY2FjaGUgcGFyYW1ldGVycyBpbiB0aGUgZGVjb2Rlci4KCjIwMTEtMTEtMTUgMjM6MDA6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJlbW92ZSBidWZmZXIgcG9vbCwgYnVmZmVycyBhcmUgbm90IGNvbnN0YW50IHNpemUKCjIwMTEtMTEtMTUgMTk6NTM6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzcGFyc2U6IGFkZCBvcHVzcGFyc2UgZWxlbWVudAoJICBBIHZlcnkgc2ltcGxlIGVsZW1lbnQgdGhhdCBwYXJzZXMgT3B1cyBzdHJlYW1zIGZyb20gdGhlIGFkIGhvYwoJICBmcmFtaW5nIHVzZWQgYnkgdGhlIE9wdXMgdGVzdCB2ZWN0b3JzLgoKMjAxMS0xMS0xNiAxMjo0NjowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIG5vdGVzIG9uIHN5bmNocm9uaXphdGlvbiBhbmQgc2NoZWR1bGluZwoKMjAxMS0xMS0xNiAxMjo0MDo1OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciByZW5hbWVkIGZsYWdzCgkgIFVzZSB0aGUgX2NoZWNrX3JlY29uZmlndXJlIG1ldGhvZCBpbnN0ZWFkIG9mIGNoZWNraW5nIGZsYWdzLgoKMjAxMS0xMS0xNiAxMDo1NjoyNCArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG91dGdvaW5nIGJ5dGUgc3RyZWFtIHByZWZpeCBhbHdheXMgaGFzIHNpemUgNAoJICBGaXhlcyAjNjY0MTIzLgoKMjAxMS0xMS0xNSAxNzo0OTo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBwb2ludGVyIG1pc21hdGNoIGluIG1lbWNweSBvbiBkcmFpbgoKMjAxMS0xMS0xNSAxNzo1NTo1MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIF9xdWVyeV9wZWVyXyooKSAtPiBfcGVlcl9xdWVyeV8qKCkKCjIwMTEtMTEtMTUgMTc6MjQ6MDcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgX3BlZXJfZ2V0X2NhcHMoKSAtPiBfcGVlcl9xdWVyeV9jYXBzKCkKCjIwMTEtMTEtMTUgMTY6MzQ6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGNoYW5nZSBnZXRjYXBzIHRvIHF1ZXJ5CgoyMDExLTExLTE0IDExOjMwOjEzICswMTAwICBEYXZpZCBLaW5nIDxhbWlnYWRhdmVAYW1pZ2FkYXZlLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG9jdW1lbnQgcmVxdWlyZW1lbnQgZm9yIFBMQVlJTkcgc3RhdGUKCSAgQXMgZGVzY3JpYmVkIGluIEdOT01FIGJ1ZyA2NjM5OTgsIHRoZSBlbGVtZW50IG11c3QgYmUgaW4gdGhlIFBMQVlJTkcKCSAgc3RhdGUgYmVmb3JlIGNhbGxpbmcgY2FwdHVyZS1zdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDA0OAoKMjAxMS0xMS0xNCAxODozNDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggc29tZSByYWN5bmVzcyBpbiB0ZXN0cwoJICBGaXggc29tZSByYWN5bmVzcyBhcyB0aGUgdGVzdCB3YXMgY2hlY2tpbmcgdGhlIGlkbGUgcHJvcGVydHkKCSAgcmlnaHQgYWZ0ZXIgaXQgZ290IHRoZSBwcmV2aWV3IG1lc3NhZ2UgZm9yIHZpZGVvIHJlY29yZGluZ3MuIEluIHNvbWUKCSAgY29uZGl0aW9ucywgaXQgbWlnaHQgaGFwcGVuIHRoYXQgY2FtZXJhYmluMiBzdGlsbCBoYXNuJ3QgZGVjcmVtZW50ZWQKCSAgdGhlIHByb2Nlc3NpbmcgY291bnRlciBhZnRlciBwb3N0aW5nIHRoZSBwcmV2aWV3IGFuZC9vciB0aGUgaW1hZ2UvdmlkZW8tZG9uZQoJICBtZXNzYWdlIGFuZCB0aGUgdGVzdCB3aWxsIGdldCBpZGxlPWZhbHNlIGFuZCBmYWlsLgoJICBUaGUgYXBwcm9hY2ggZm9yIGNoZWNraW5nIGZvciB0aGUgaWRsZSBwcm9wZXJ0eSB3YXMgYSBidXN5IGxvb3Agd2l0aAoJICBhIHNsZWVwLiBGYXIgZnJvbSBlbGVnYW50LCBidXQgZ29vZCBlbm91Z2ggZm9yIHRoZXNlIHRlc3RzLgoKMjAxMS0xMS0xNCAxNjo1NTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHNvIHJlc2V0IGF1ZGlvIGVsZW1lbnRzIHdoZW4gdmlkZW8gY2FwdHVyZSBmaW5pc2hlcwoJICBBdWRpbyBlbGVtZW50cyBhbHNvIG5lZWQgdG8gYmUgcmVzZXQgYWZ0ZXIgZWFjaCBjYXB0dXJlLCBkbyBpdAoJICB0b2dldGhlciB3aXRoIHRoZSB2aWRlbyBlbGVtZW50cycgcmVzZXQKCjIwMTEtMTEtMTEgMDk6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIG9uZSBkZWJ1ZyBsaW5lIGFib3V0IGNhbWVyYWJpbjIgYmVpbmcgaWRsZQoKMjAxMS0xMS0xMCAxNjo1Mzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSB2aWRlbyBlbGVtZW50cycgc3RhdGUgY2xlYXJpbmcgZnJvbSBzdGFydC1jYXB0dXJlCgkgIFJlZHVjZSBzdGFydC1jYXB0dXJlIHdvcmtsb2FkIGJ5IG1vdmluZyB0aGUgZWxlbWVudHMnIHN0YXRlIHJlc2V0aW5nIHRvIHRoZQoJICBmaW5pc2hpbmcgc3RlcHMgb2YgdGhlIGNhcHR1cmUuIFRoaXMgcmVkdWNlcyB0aGUgdGltZSBzdGFydC1jYXB0dXJlIHRha2VzIHRvCgkgIGFjdHVhbGx5IHN0YXJ0IGEgY2FwdHVyZSBhbmQgcmV0dXJuIHRvIGl0cyBjYWxsZXIsIGltcHJvdmluZyB1c2VyIGV4cGVyaWVuY2UuCgkgIEFzIHRoZSBlbGVtZW50cycgc3RhdGUgcmVzZXQgaXMgbm93IHRyaWdnZXJlZCBmcm9tIHRoZSBtZXNzYWdlIGhhbmRsaW5nCgkgIGZ1bmN0aW9uLCBpdCBuZWVkcyB0byBzcGF3biBhIG5ldyB0aHJlYWQsIGNoYW5naW5nIHN0YXRlIGZyb20gdGhlIHBhZCdzCgkgIHRhc2sgd291bGQgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTEtMTEtMTAgMTY6MTE6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBrZWVwIHRyYWNrIG9mIHZpZGVvIHJlY29yZGluZyBzdGF0ZQoJICBBZGRzIGEgbmV3IHZhcmlhYmxlIHRvIGtlZXAgdHJhY2sgb2YgdGhlIHN0YXRlIG9mIHRoZSB2aWRlbwoJICByZWNvcmRpbmcgaW4gY2FtZXJhYmluMi4gVGhpcyBhbGxvd3Mgc3RhcnQtY2FwdHVyZSB0byByZWplY3QKCSAgbmV3IHZpZGVvIHJlY29yZGluZyByZXF1ZXN0cyB3aGVuIG9uZSBpcyBhbHJlYWR5IG9uZ29pbmcuIFRoaXMKCSAgZml4ZXMgb25lIG9mIGNoZWNrIHRlc3RzLgoKMjAxMS0xMS0xNCAxMzo0MTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBwb3J0IHRvIGVuY29kZXIvZGVjb2RlciBiYXNlIGNsYXNzZXMKCjIwMTEtMTEtMDMgMTQ6MDk6NTIgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlOkNvcnJlY3QgdGhlIHNraXBwaW5nIG9mIHZidl9kZWxheSBpbiBwaWN0dXJlIGhlYWRlciBhbmQgc29tZSB0eXBvIGZpeGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzA5CgoyMDExLTExLTEzIDIzOjU1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVwZGF0ZSBmb3IgR3N0VVJJSGFuZGxlciBnZXRfcHJvdG9jb2xzKCkgY2hhbmdlcwoKMjAxMS0xMS0xMSAxNzo0Njo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMTAgMTU6MTM6MzQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPGxlaW9AZ2VudG9vLm9yZz4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbWltaWMsIG9wZW5jdiwgdnA4LCBhY21tcDNkZWMsIGxpbnN5czogRG9uJ3QgYnVpbGQgc3RhdGljIHBsdWdpbnMKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGV2ZXJ5d2hlcmUgd2hlcmUgaXQncyBiZWVuIGZvcmdvdHRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzY4CgoyMDExLTExLTExIDEwOjM5OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxOTo0Mjo0MCAtMDMwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogYWRkIHN1cHBvcnQgZm9yIHByb2dyZXNzaXZlIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzgyCgoyMDExLTExLTA5IDIwOjA5OjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTEtMTAgMTg6MzQ6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBSZW1vdmUgcXVlcnlfdHlwZXMKCjIwMTEtMTEtMTAgMTg6MzQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDE4OjI1OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICB1cGRhdGUgZm9yIGFkYXB0ZXIgYXBpIGNoYW5nZQoKMjAxMS0xMS0xMCAxNzoxMzo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBiYW5kd2lkdGggcHJvcGVydHkgdHlwZSBtaXNtYXRjaAoKMjAxMS0xMS0xMCAxMjoxNDoxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTI6MTE6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkgIGNoYWluIHVwIGluIHNldF9jbG9jawoKMjAxMS0xMS0wOSAxMjoyMTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IHByb3RlY3QgaW1hZ2UgbG9jYXRpb24gbGlzdCB3aXRoIG11dGV4CgkgIFJlbmFtZSB0aGUgaW1hZ2UgdGFnbGlzdHMnIG11dGV4IGludG8gaW1hZ2UgY2FwdHVyZSBtdXRleCBhbmQKCSAgdXNlIGl0IGFsc28gZm9yIHRoZSBpbWFnZSBjYXB0dXJlIGxpc3QgdG8gcHJldmVudCBjb25jdXJyZW50CgkgIGFjY2VzcyBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIChhcHBsaWNhdGlvbiBhbmQgY2FwdHVyZSB0aHJlYWRzKS4KCjIwMTEtMTEtMDkgMTE6NDU6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIG51bGwgdGFnbGlzdHMgZm9yIGltYWdlcwoJICBBZGQgTlVMTCBhbmQgY2hlY2sgZm9yIHRoZW0gdG8gdGhlIGltYWdlIGNhcHR1cmUgdGFnbGlzdCBsaXN0LCByZXByZXNlbnRpbmcKCSAgdGhhdCBhIGNhcHR1cmUgaGFzIG5vIGFwcGxpY2F0aW9uIHRhZ3Mgc2V0LgoKMjAxMS0xMS0wOSAxMToxNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBEb24ndCBzdG9yZSBwcmV2aWV3IGxvY2F0aW9uIGlmIHByZXZpZXcgaXNuJ3QgcmVxdWVzdGVkCgkgIERvIG5vdCBzdG9yZSBwcmV2aWV3IGxvY2F0aW9uIGlzIHBvc3QtcHJldmlld3MgaXMgZmFsc2UsIHRoaXMgd291bGQKCSAgbWVzcyB1cCBwcmV2aWV3IG5hbWluZyBpbiBjYXNlIGFwcGxpY2F0aW9uIHN3aXRjaGVzIGJldHdlZW4gZW5hYmxpbmcKCSAgYW5kIGRpc2FibGluZyBwcmV2aWV3cwoKMjAxMS0xMS0wOSAwOTo0MTo0NCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEF2b2lkIGJsb2NraW5nIGluIHN0YXJ0LWNhcHR1cmUgYW5kIHNlbmQgYXBwbGljYXRpb24gdGFncyBsYXRlcgoJICBUYWdzIGFyZSBjdXJyZW50bHkgc2VudCBmcm9tIHN0YXJ0LWNhcHR1cmUsIHdoaWNoIGlzIHJ1biBpbiB0aGUKCSAgYXBwbGljYXRpb24gdGhyZWFkLiBGb3IgaW1hZ2VzIHdlIGNhbiBkZWxheSB0aGUgdGFncyBwdXNoaW5nIHRvIHRoZQoJICBidWZmZXIgcHJvYmUgYW5kIHB1c2ggdGhlIHRhZ3Mgd2l0aCB0aGUgbG9jYXRpb24gZXZlbnQgYW5kIHJlZHVjZQoJICBzdGFydC1jYXB0dXJlIHRpbWUuCgoyMDExLTExLTA5IDEyOjI0OjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wOSAxMjoxOTowNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTEtMTEtMDkgMTI6MDA6MDUgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBmaXggZG9jdW1lbnRhdGlvbiB0eXBvCgoyMDExLTExLTA5IDExOjU2OjA3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IGZpeCBjb21waWxlciB3YXJuaW5nIGZvciB1bmluaXRpYWxpemVkIHZhbHVlcwoKMjAxMS0xMS0wOSAxMTo1NToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHJlbW92ZSBxdWVyeSB0eXBlcwoKMjAxMS0xMS0wNCAxNzo1NDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogUmVqZWN0IHN0YXJ0L3N0b3AgcmVxdWVzdHMgdGhhdCBjb21lIG91dCBvZiBvcmRlcgoKMjAxMS0xMC0yOSAxODoyNDoyNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBQb3N0IG1lc3NhZ2VzIHdoZW4gc3RhcnRpbmcgdG8gc2VuZC9yZWNlaXZlIERUTUYKCSAgVGhpcyB3YXksIHRoZSBVSSBjYW4gZGlzcGxheSB0aGUgRFRNRiBldmVudHMgYXMgdGhleSBhcyBiZWluZyBzZW50LgoKMjAxMS0xMS0wOCAwODowODoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBEZWNyZW1lbnQgcHJvY2Vzc2luZyBjb3VudGVyIHdoZW4gbWVzc2FnZSBoYW5kbGluZyBmaW5pc2hlcwoJICBTb21lIG1lc3NhZ2VzIG1pZ2h0IGJlIGludGVyZXN0aW5nIHRvIGFwcGxpY2F0aW9ucywgc28gd2UgY2FuIG9ubHkKCSAgZGVjcmVtZW50IHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgYW5kIHNlbmQgdGhlIGlkbGUgbm90aWZpY2F0aW9uCgkgIHdoZW4gdGhvc2UgbWVzc2FnZXMgYXJlIHBvc3RlZCBvbiB0aGUgcGlwbGluZSdzIGJ1cwoKMjAxMS0xMS0wOCAwNzozMzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1cGRhdGUgdGVzdHMgdG8gc2V0IHBvc3QtcHJldmlld3MgdG8gdHJ1ZQoJICBNYWtlcyBtb3N0IG9mIGNhbWVyYWJpbjIgdGVzdHMgcGFzcyBhZ2FpbgoKMjAxMS0xMS0wOCAxMToyODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIHVwZGF0ZSBmb3IgcHJvYmUgYXBpIGNoYW5nZXMKCjIwMTEtMTEtMDggMDc6MDk6NDEgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogY2hhbmdlIHBvc3QtcHJldmlld3MgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZSBhcyBmYWxzZQoJICBHZW5lcmF0aW5nIGFuZCBwb3N0aW5nIHByZXZpZXcgaW1hZ2UgYWx3YXlzIGNvbWVzIHdpdGggYSBwZXJmb3JtYW5jZQoJICBwZW5hbHR5IHNvIHNldCBkZWZhdWx0IHZhbHVlIGFzIGZhbHNlLiBUaGUgcHJldmlldy1jYXBzIHByb3BlcnR5IHRoYXQKCSAgZGVmaW5lcyB0aGUgcHJldmlldyBpbWFnZSBmb3JtYXQgaXMgYWxzbyBOVUxMIGJ5IGRlZmF1bHQsIHNvIGluc3RlYWQKCSAgb2YgZ2VuZXJhdGluZyBwcmV2aWV3IGltYWdlIG9mIHVuc3BlY2lmaWVkIGZvcm1hdCBieSBkZWZhdWx0IGV4cGxpY2l0CgkgIGFjdGlvbiBmcm9tIGFwcGxpY2F0aW9uIHNob3VsZCBiZSByZXF1aXJlZCBmb3IgZW5hYmxpbmcgcHJldmlldyBpbWFnZQoJICBwb3N0aW5nIGZlYXR1cmUuCgkgIEFwcGxpY2F0aW9uIGFsc28gaGFzIHRvIGFkZCBjdXN0b20gY29kZSB0byBiZSBhYmxlCgkgIHRvIGhhbmRsZSBwcmV2aWV3IG1lc3NhZ2VzIG9uIGl0cyBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIGFueXdheS4KCjIwMTEtMTEtMDcgMjA6Mzk6NTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBBZGQgQW5kcm9pZCBidWlsZHN5c3RlbSBob29rcyBmb3IgY29kZWNwYXJzZXJzCgoyMDExLTExLTAxIDIwOjM3OjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IHIyMTAgd3JpdGluZyBvbmx5IGhhbGYgYSBzY2FubGluZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjAzCgoyMDExLTExLTA3IDE2OjQxOjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY206IGFkZCBtb3JlIGNvbnN0cywgZXNwY2lhbGx5IGZvciBzdGF0aWMgY29uc3QgZGF0YQoKMjAxMS0xMS0wNyAxNzoxMzoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmRiYXNlYmluOiBmaXggZm9yIHBhZCBwcm9iZXMgdXBkYXRlCgoyMDExLTExLTAzIDE4OjU1OjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogbWVyZ2UgY2FwcyBpbnN0ZWFkIG9mIHVzaW5nIHVuaW9uCgkgIEl0J3MgYSBsb3QgZmFzdGVyLCBhbmQgcHJlc2VydmVzIGNhcHMgb3JkZXJpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzNDYKCjIwMTEtMTAtMjcgMTU6NTM6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogYWRkIGEgJ3NpbGVudCcgcHJvcGVydHkgdG8gc2tpcCByZW5kZXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjg1NwoKMjAxMS0wOC0yOSAxMzowMDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBjYXRjaCBzZWN0aW9uIGxlbmd0aHMgZXh0ZW5kaW5nIHBhc3QgdGhlIGJ1ZmZlciBsZW5ndGgKCSAgVGhpcyBpcyBwcm9iYWJseSB0aGUgY2F1c2UgZm9yIGFuIG9jY2FzaW9uYWwgY3Jhc2ggd2hpbGUgc3RyZWFtaW5nCgkgIE1QRUcuIEJsaW5kIGZpeCBhZnRlciBzdGFyaW5nIGF0IHRoZSBjb2RlIGFuZCBmb2xsb3dpbmcgbG9naWMsIHNvCgkgIG1heSBvciBtYXkgbm90IGZpeCB0aGUgaXNzdWUsIEkgY2Fubm90IHRlc3QuCgoyMDExLTEwLTIwIDEwOjQyOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogZG8gbm90IHRyeSB0byBzZWVrIGJlZm9yZSB0aGUgZmlyc3QgY2hhcHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg5MDY0CgoyMDExLTEwLTA1IDE4OjMwOjIzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZml4IGxhdGVuY3kgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjQyMQoKMjAxMS0xMC0wNSAxODoyNTo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIFRoaXMgbWFrZXMgbGl2ZSAnYXVkaW9zcmMgISBvcHVzZW5jICEgb3B1c2RlYyAhIGF1ZGlvc2luaycgcGlwZWxpbmVzCgkgIGFjdHVhbGx5IHdvcmsgd2l0aG91dCBhbGwgYXVkaW8gYmVpbmcgZHVtcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwOTk5CgoyMDExLTEwLTA1IDE1OjQ3OjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdXNlIGRlYnVnIGxldmVsIGZvciBkZWJ1ZyBpbmZvLCBub3QgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDk5OQoKMjAxMS0wOS0yOSAxNDoyMjo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGZpeCBjYWxjdWxhdGlvbiBvZiBmaWxsZXIgZGF0YSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA0NjkKCjIwMTEtMDktMjkgMTQ6MjI6MzMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggY2FsY3VsYXRpb24gb2YgZmlsbGVyIGRhdGEgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNDY5CgoyMDExLTEwLTAzIDE4OjI4OjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdwc2RlbXV4OiBmaXggemVybyBsZW5ndGggcGFja2V0IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzE0MTYKCjIwMTEtMTEtMDIgMTI6NDE6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IG1hcmsgdGVzdCBpbnB1dCBkYXRhIGNvbnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMzUKCjIwMTEtMTEtMDIgMTI6NDE6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBpbnB1dCBkYXRhIGlzIGNvbnN0LCBtYXJrIGl0IHNvCgoyMDExLTExLTAyIDEyOjM4OjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBhbGxvdyBidWlsZGluZyB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGdsaWIgKGdfbGlzdF9mcmVlX2Z1bGwpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMzQKCjIwMTEtMTEtMDcgMTA6MDI6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA0IDE4OjA2OjUxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBGaXggbWlzc2luZyBzb3VyY2VzIG9uIGJheWVyJ3MgYnVpbGRzeXN0ZW0gYW5kcm9nZW5pemVyIGNhbGwKCjIwMTEtMTEtMDQgMTg6NTI6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBuZXcgY29udHJvbGxlciBsb2NhdGlvbiBhbmQgYXBpCgoyMDExLTExLTA0IDE2OjM0OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTY6MjM6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgZXhhbXBsZXMgOiBQb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDQgMTM6MDQ6MTkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogYWRkIG1vcmUgc2l6ZSBjaGVja3MgYW5kIGltcHJvdmUgZXhpc3RpbmcKCSAgRG9uJ3Qgc3VidHJhY3Qgd2l0aCB1bnNpZ25lZCB2YWx1ZXMsIHRoYXQgd2lsbCBiaXRlIHVzLiBBbHNvIGZpeCBmb3JtYXQKCSAgc3BlY2lmaWVyIGluIHRoZSBsb2cgbWVzc2FnZS4KCjIwMTEtMTEtMDQgMTI6MzE6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIG1vcmUgdGVtcGxhdGUgZml4ZXMKCjIwMTEtMTEtMDQgMTI6MjI6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBtYWtlIHJlcXVlc3QgcGFkcyB0YWtlIF8ldQoKMjAxMS0xMS0wNCAxMToyNDo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSAgdmlkZW86IHBvcnQgc29tZXdoYXQgdG8gMC4xMQoJICBJbiAwLjExIHRoaXMgc2hvdWxkIGJlIGRvbmUgZGlmZmVyZW50bHkKCjIwMTEtMTEtMDQgMTE6MDE6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA0IDEwOjE3OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRml4IGZvciByZW1vdmFsIG9mIGdzdF9lbGVtZW50X2ZvdW5kX3RhZ3NfZm9yX3BhZCgpCgoyMDExLTExLTAzIDE3OjE3OjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSAgc3VyZmFjZWNvbnZlcnRlcjogUmVtb3ZlIGR1cGxpY2F0ZWQgZm9yd2FyZCBkZWNsYXJhdGlvbgoJICBJdCBzZWVtcyB0aGF0IHNvbWUgY29tcGlsZXJzIGRvbid0IGxpa2UgZHVwbGljYXRlZCB0eXBlZGVmcy4KCjIwMTEtMTEtMDMgMTY6NTc6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICB2aWRlb2VuYzogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMTEtMDMgMTY6NTc6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmlkZW86IGZpeCBmb3IgbWV0YWRhdGEgQVBJIGNoYW5nZQoKMjAxMS0xMS0wMyAxNDowMTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUG9ydCB0byAwLjExCgoyMDExLTExLTAzIDEzOjU2OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBsaWJzL3ZpZGVvOiBGaW5pc2ggcG9ydGluZyB0byAwLjExCgoyMDExLTA5LTI4IDE5OjI5OjA3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJICB2aWRlbzogQWRkIGxpYmdzdGJhc2V2aWRlbyBQQyBmaWxlCgoyMDExLTEwLTE5IDE2OjE5OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSAgdmlkZW86IEFkZCBHc3RWaWRlb0NvbnRleHQgaW50ZXJmYWNlCgkgIFRoaXMgaW50ZXJmYWNlIHdpbGwgYmUgdXNlZCB0byBpbXBsZW1lbnQgdmlkZW8gY29udGV4dCBzaGFyaW5nLiBUaG9zZQoJICBjb250ZXh0IGNvdWxkIGJlIFgxMSBEaXNwbGF5LCBWYURpc3BsYXksIGV0Yy4KCjIwMTEtMTAtMDcgMTk6MDU6MzAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSAgdmlkZW86IEFic3RyYWN0IHN1cmZhY2UgQVBJIGZvciBIVyBhY2NlbGVyYXRlZCBjb2RlY3MKCjIwMTEtMTAtMjYgMTY6MzE6MzkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgdGVzdHM6IG1ha2UgY29uc3QgZGF0YSBjb25zdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNzc2CgoyMDExLTEwLTI2IDE2OjI5OjM1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZG8gbm90IG92ZXJ3cml0ZSBidWZmZXIKCSAgSSBkbyBub3Qga25vdyB0aGUgYml0c3RyZWFtIGZvcm1hdCwgYnV0IHRoaXMgc2VlbXMgbGlrZWx5CgkgIHRvIGJlIHdoYXQgd2FzIGludGVuZGVkLiBBbHNvIGFkZCBhIGNoZWNrIG9uIHRoZSBudW1iZXIgb2YKCSAgaXRlbXMgdG8gcmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjc3NgoKMjAxMS0xMC0yMSAxMzoxODoyNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBmaXggcGFyc2luZyBvZiBSQU5HRVJFREZSTQoKMjAxMS0xMS0wMiAxMjoxMDowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0YWc6IHVwZGF0ZSBmb3IgdGFnIEFQSSByZW1vdmFsCgoyMDExLTExLTAyIDEwOjMxOjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wMiAwOToxNDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXBkYXRlIGZvciB0YWdsaXN0IGFwaSBjaGFuZ2VzCgoyMDExLTEwLTI5IDA5OjA5OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgc3RydWN0dXJlOiBmaXggZm9yIGFwaSB1cGRhdGUKCjIwMTEtMTAtMjkgMDg6MjU6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGNhcHM6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0xMS0wMSAxMTo0Nzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPbiBjYXB0dXJlIGVycm9yLCBza2lwIHByZXZpZXdzCgkgIFdoZW4gdGhlIGNhbWVyYSBzb3VyY2UgZmFpbHMgdG8gZG8gc29tZSBjYXB0dXJlLCBza2lwIHRoZSBuZXh0CgkgIHByZXZpZXcgYW5kIGRlY3JlbWVudCBwcm9jZXNzaW5nIGNvdW50ZXIuCgoyMDExLTExLTAxIDEwOjM4OjMzIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRyYWNrIGFsc28gcHJldmlldyBpbWFnZXMgd2l0aCBwcm9jZXNzaW5nIGNvdW50ZXIKCSAgTWFrZXMgY2FtZXJhYmluMiBvbmx5IHNpZ25hbCB0aGF0IGl0IGlzIGlkbGUgYWZ0ZXIgYWxsIHByZXZpZXdzIGhhdmUKCSAgYmVlbiBnZW5lcmF0ZWQsIGltYWdlcyBhcmUgY2FwdHVyZWQgYW5kIHNhdmVkLCBhbmQgdmlkZW9zIGhhdmUKCSAgYmVlbiBmaW5pc2hlZCBwcm9wZXJseS4KCjIwMTEtMTEtMDEgMTU6MDg6MjYgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IGFjY2VzcyB0byB1bmluaXRpYWxpemVkIG1lbW9yeQoJICBXaGVuIHZ1aS0+dGltaW5nX2luZm9fcHJlc2VudCBpcyAwLCB2dWktPmZpeGVkX2ZyYW1lX3JhdGVfZmxhZyBhbmQgb3RoZXJzCgkgIGNhbm5vdCBiZSBhY2Nlc3NlZCBzaW5jZSB0aGV5IGhhdmUgbm90IGJlZW4gc2V0LgoJICBJdCB3YXMgYWxzbyBwb3NzaWJsZSB0aGF0IHNwcy0+ZnBzX3tudW0sZGVufSBlbmQgdXAgaW5pdGlhbGl6ZWQgaGVyZS4KCjIwMTEtMTEtMDEgMTE6MTE6NDcgKzAwMDAgIEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGhhY2sgYXJvdW5kIGJyb2tlbiBtcGxleCAyLjAuMCBoZWFkZXJzIGluIG1wbGV4IGNoZWNrCgkgIER1ZSB0byB0aGUgYWRkaXRpb24gb2YgYW4gdW5jb25kaXRpb25hbCBpbmNsdXNpb24gb2YgY29uZmlnLmggaW4KCSAgbWpwZWd0b29sIDIuMC4wJ3Mgc3RyZWFtX3BhcmFtcy5oIGhlYWRlciB0aGUgYXV0b2NvbmYgdGVzdCBmb3IgdGhlCgkgIG1wbGV4IG1vZHVsZSBmYWlsZWQuIEhhY2sgYXJvdW5kIHRoaXMgaW4gdGhlIHNhbWUgd2F5IHdlIGRpZCBmb3IKCSAgbXBlZzJlbmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MTQKCjIwMTEtMTEtMDEgMTE6MDk6NTIgKzAwMDAgIEJyYWQgU21pdGggPGJyYWRAY29tc3R5bGUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB0eXBvIGluIG1wZWcyZW5jIGNoZWNrIHNvIENQUEZMQUdTIGdldCByZXN0b3JlZCBjb3JyZWN0bHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYxNAoKMjAxMS0xMS0wMSAxMjoyOTozNSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggTUFYX1NQUy9QUFMgYm91bmRhcnkgY2hlY2tzCgoyMDExLTExLTAxIDEyOjEyOjU2ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IGZpeCBleGl0IGNvZGUKCjIwMTEtMTEtMDEgMDA6NDU6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBVcGRhdGUgZm9yIHBhZCBBUEkgY2hhbmdlcwoJICBHc3RQcm9iZVR5cGUsIEdzdFByb2JlUmV0dXJuIGFuZCBHc3RBY3RpdmF0ZU1vZGUgLT4gR3N0UGFkKgoKMjAxMS0xMC0yOCAxMToxMDowNiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBEb24ndCByZXNldCB0aGUgY29udGV4dCBvbiBESVNDT05UCgkgIE9uIGRpc2NvbnQsIHRoZSBxdWV1ZSBvZiBmcmFtZXMgd2FzIGJlaW5nIGNsZWFyZWQsIGJ1dCBhbHNvIHRoZQoJICBjb250ZXh0IHJlc2V0LiBXZSBvbmx5IG5lZWQgdG8gY2xlYXIgdGhlIHF1ZXVlLgoKMjAxMS0xMC0zMSAxNDo1MTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMzEgMTQ6NTE6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIGthdGUsIGJheWVyLCB0c2RlbXV4OiB1cGRhdGUgZm9yIGNhcHMgYW5kIHRhZ2xpc3QgQVBJIGNoYW5nZXMKCjIwMTEtMTAtMzEgMTQ6NTA6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBrYXRlIGFuZCBteXRodHYgdG8gbm9uLXBvcnRlZCBsaXN0CgkgIGthdGV0aWdlciBpc24ndCBwb3J0ZWQsIHNvIHBsdWdpbiBkb2Vzbid0IGJ1aWxkIGlmIGxpYnRpZ2VyIGlzIHByZXNlbnQuCgoyMDExLTEwLTMxIDExOjM2OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaGFuZGxlIGZhaWx1cmVzIGluIHN0YXJ0KCkgYW5kIHN0b3AoKQoKMjAxMS0xMC0zMSAwNjo1OTo1MyAtMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhc3JjOiBvcHRpbWl6ZSBzdGF0ZSBjaGFuZ2luZyBzcGVlZAoJICBDcmVhdGUgcHJldmlldyBwaXBlbGluZSBhbHJlYWR5IGluIGluaXRpYWxpemF0aW9uIHBoYXNlLiBUaGlzIHNwZWVkcwoJICB1cCBOVUxMX1RPX1JFQURZIHN0YXRlIGNoYW5nZS4gQWxzbyBpbXBsZW1lbnQgYSBzZXBhcmF0ZSBmdW5jdGlvbiBmb3IKCSAgc2V0dGluZyB0aGUgcHJldmlldyBmaWx0ZXIgZWxlbWVudC4KCSAgVGhpcyBhbHNvIHJlc3RyaWN0cyB0aGUgcHJldmlldyBmaWx0ZXIgcHJvcGVydHkgdG8gd29yayBvbmx5IG9uCgkgIE5VTEwgc3RhdGUuCgoyMDExLTEwLTI4IDE1OjE2OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbWFrZSBlbGVtZW50cyBjb21waWxlIGFnYWluCgoyMDExLTEwLTI3IDE2OjIzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yNyAxNjoyMzoxMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI3IDE2OjIyOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBhZGQgc3BhbmRzcCB0byBub24tcG9ydGVkCgoyMDExLTEwLTI3IDE2OjEzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0yMSAxNTowNDowNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkgIGludGVyZmFjZXM6IGNsZWFuIHVwIHRoZSB1c2Ugb2YgaWZhY2UgYW5kIGNsYXNzL2tsYXNzCgoyMDExLTEwLTE5IDEwOjI0OjUyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IENvcnJlY3QgdGhlIHBhcnNpbmcgb2YgRlJNUlRRX1BPU1RQUk9DIGFuZCBCSVRSVFFfUE9TVFBST0MKCjIwMTEtMTAtMjEgMTE6NDA6NTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogQ29ycmVjdCB0aGUgcGFyc2luZyBvZiBzZXF1ZWNlIGxheWVyLgoKMjAxMS0xMC0yMCAwOTozOToxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIERpc2FibGUgZXh0L2ZhYWQgZm9yIHRoZSBhbmRyb2lkIG5kayBidWlsZAoJICBJdCBjdXJyZW50bHkgbWFrZXMgdGhlIGJ1aWxkIGZhaWwuIElkZWEgaXMgdG8gZW5hYmxlCgkgIGl0IGJhY2sgYWdhaW4gb25jZSBpdHMgYnVpbGRpbmcgcHJvYmxlbXMgZ2V0IHNvcnRlZAoJICBvdXQuCgoyMDExLTEwLTE4IDE0OjQxOjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBhc3NyZW5kZXIsIG51dmRlbXV4OiB1bnJlZiBidWZmZXJzIHdpdGggZ3N0X2J1ZmZlcl91bnJlZigpCgoyMDExLTEwLTE4IDE0OjMyOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xOCAxNDoyODowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdDogc3RhcnQgb2YgMC4xMSBwb3J0CgoyMDExLTEwLTE0IDExOjA3OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogQ29tcHV0ZSBwYXIgYW5kIGZwcyBpbiBhZHZhbmNlZCBwcm9maWxlCgoyMDExLTEwLTEwIDE0OjE5OjQ4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSGFuZGxlIGludGVybGFjZWQgZmllbGRzCgoyMDExLTEwLTEwIDEwOjE0OjEyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSGFuZGxlIGludGVybGFjZWQgZnJhbWVzIHByb3Blcmx5CgoyMDExLTEwLTA3IDEzOjExOjU1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogVXNlIGVudW1zIHdoZW4gcG9zc2libGUKCSAgQWRkIEdzdFZDMUZyYW1lQ29kaW5nTW9kZSBhbmQgdXNlIGl0IGZvciB0aGUgZmNtIGZpZWxkCgkgIFVzZSBHc3RWQzFQaWN0dXJlVHlwZSBhcyB2YXJpYWJsZSB0eXBlIGZvciBwdHlwZQoJICBVc2UgR3N0VkMxTGV2ZWwgYXMgdmFyaWFibGUgdHlwZSBmb3IgbGV2ZWwKCjIwMTEtMTAtMDcgMTc6NDI6MTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChjaGVjayBmb3IgZXJyb3JzKS4KCjIwMTEtMTAtMDcgMTU6MjE6MzQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChJTlZFUlQgbW9kZSkuCgoyMDExLTEwLTA3IDEzOjU5OjI5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IE1WTU9ERSBhbmQgTVZNT0RFMiBwYXJzaW5nLgoKMjAxMS0xMC0wNSAxNzozOTo1OSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGhhbmRsZSBza2lwcGVkIHBpY3R1cmVzIGdyYWNlZnVsbHkuCgoyMDExLTEwLTA0IDE3OjM5OjQyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IGJpdHBsYW5lcyBkaWZmIG9wZXJhdG9yCgoyMDExLTEwLTA0IDE3OjM5OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogU29tZSBjb3NtZXRpY3MgYW5kIGRlYnVnIGxvZ2dpbmcgZW5oYW5jZW1lbnRzCgoyMDExLTEwLTA0IDE1OjE2OjA0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogSW1wbGVtZW50IGJpdHBsYW5lcyBoYW5kbGluZyBwcm9wZXJseQoJICBBZGQgYSBuZXcgR3N0VkMxQml0UGxhbmVzIEFQSS4KCjIwMTEtMTAtMDQgMTQ6MDQ6NDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggQkZSQUNUSU9OIHBhcnNlciAodmFsdWVzIHJhbmdlICsgb3ZlcmZsb3cpLgoKMjAxMS0xMC0wNCAxMTo1NzozNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBWTEMgZGVjb2RpbmcuCgoyMDExLTEwLTA1IDE2OjQwOjQ3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IEZyYW1lTGF5ZXIgcGFyc2luZwoKMjAxMS0xMC0wNSAxMjoxNTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBTZXF1ZW5jZSBMYXllciBEYXRhIFN0cnVjdHVyZXMKCSAgSW5zdGVhZCBvZiBoYXZpbmcgYSBzaW5nbGUgVkMxU2VxdWVuY2VIZWFkZXIgc3RydWN0dXJlLCB1c2UgdGhlIDMgc3RydWN0cwoJICBmcm9tIHRoZSAiVGFibGUgMjY1OiBTZXF1ZW5jZSBMYXllciBEYXRhIFN0cnVjdHVyZSIgb2YgdGhlIHNwZWNpZmljYXRpb24KCSAgZm9yIHRoZSBsaWJyYXJ5IHRvIGJlIG1vcmUgZmxleGlibGUuCgkgIEltcGxlbWVudCB0aGUgZnVuY3Rpb25zIHRvIHBhcnNlIHRoZW0KCjIwMTEtMTAtMDUgMDg6MjY6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBDb21wdXRlIGZyYW1lcmF0ZSBhbmQgYml0cmF0ZSBpbiBzaW1wbGUvbWFpbiBwcm9maWxlcwoKMjAxMS0xMC0wMyAxNDoyNTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IGNvbXB1dGUgTUIgaGVpZ2h0IGFuZCB3aWR0aAoJICBBZGQgdGhlbSB0byBHc3RWQzFTZXF1ZW5jZUhkcgoKMjAxMS0xMC0wMyAxNTozNjowOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGRlYnVnIGNvc21ldGljcy4KCjIwMTEtMTAtMDMgMTE6NDI6MzIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiByZWNvcmQgcGljdHVyZSBsYXllciBoZWFkZXIgc2l6ZSBpbiBiaXRzLgoKMjAxMS0xMC0wMyAxMToxNDoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGNvbXB1dGUgYWx0cHF1YW50LgoKMjAxMS0xMC0wMyAxNDoyMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEZpeCBhZnRlciBHc3RWQzFQYXJzZXJSZXN1bHQgcmVuYW1pbmcKCjIwMTEtMDktMzAgMTI6NDE6MTMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiB1c2UgR3N0VkMxUGFyc2VyUmVzdWx0IHR5cGUgbmFtZSBzaW1pbGFybHkgdG8gb3RoZXIgcGFyc2Vycy4KCjIwMTEtMDktMzAgMTE6Mzg6MTUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBoYW5kbGUgRW5kLW9mLVNlcXVlbmNlIGNvcnJlY3RseS4KCjIwMTEtMDktMTQgMTQ6MjE6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGZpeCBxdWFudF9tYXRyaXhfZXh0ZW5zaW9uKCkgcGFyc2VyIGZvciBjaHJvbWEgaW50cmEgUU0uCgoyMDExLTEwLTEzIDE2OjUyOjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgZGVidWcgbWVzc2FnZSBhbmQgcmVtb3ZlIHNvbWUgZGVhZCBjb2RlCgkgIFNlZSAjNjYxMTEzLgoKMjAxMS0xMC0wNiAxNjo1NTo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IHBhcnNpbmcgb2YgIm51bWJlck9mUGljdHVyZVBhcmFtZXRlclNldHMiCgkgIFNlZSAjNjYxMTEzLgoKMjAxMS0xMC0xNyAxMDoxOToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogRml4IHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTEwLTE2IDE3OjQxOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG06IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNjo0NToyNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTY6Mjg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkgIGJheWVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTU6Mjg6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTEzIDE2OjU3OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBnc3RfYnVmZmVyX2pvaW4gaW5zdGVhZCBvZiBidWZmZXJsaXN0cwoJICBUaGlzIGlzICpyZWFsbHkqIGluZWZmaWNpZW50LiBXZSBzaG91bGQgdHJhY2sgbGlzdCBvZiBHc3RNZW1vcnkKCSAgaW5zdGVhZC4KCjIwMTEtMTAtMTMgMTY6NTc6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUGx1ZyBtb3JlIGxlYWtzCgoyMDExLTEwLTEzIDE2OjU1OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIHNjYW4gbG9vcAoJICBBdm9pZHMgZW5kaW5nIHVwIGxlYWtpbmcgcGFja2V0cyB3aGVuIHdlIGdvdCBvbmUgYW5kIHJlcyB3YXMgZGlmZmVyZW50CgkgIGZyb20gR1NUX0ZMT1dfT0suCgkgIEl0IGFsc28gbG9va3MgbW9yZSBjb21wcmVoZW5zaWJsZQoKMjAxMS0xMC0xMyAxNjo1NTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBsZWFrIHVwc3RyZWFtIGV2ZW50cwoKMjAxMS0xMC0xMyAxNjo1NTowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZWZhY3RvciBjb2RlIHRvIGNvcGUgd2l0aCBnX2hhc2hfdGFibGVfZm9yZWFjaF9yZW1vdmUoKQoKMjAxMS0xMC0xMiAxODowNTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4L3RzcGFyc2U6IFBvcnQgdG8gMC4xMQoJICBUaGlzIGlzIGEgbmFpdmUgcG9ydCB0aGF0IHNvbWV3aGF0IHdvcmtzIGJ1dCBpcyBpbmVmZmljaWVudC4KCSAgSSBuZWVkIHRvIHJldGhpbmsgaG93IHRvIG1ha2UgdGhlIGJlc3Qgb3V0IG9mIEdzdE1lbW9yeS9Hc3RCdWZmZXIKCjIwMTEtMTAtMTIgMTI6MDk6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hlY2sgYmVmb3JlIGFjZXNzaW5nIHByZXZpZXcgbG9jYXRpb24gbGlzdAoJICBPbmx5IGFjY2VzcyB0aGUgcHJldmlldyBsb2NhdGlvbiBpZiBpdCBleGlzdHMsIHRvIGF2b2lkIGFjZXNzaW5nCgkgIGEgTlVMTCB2YXJpYWJsZS4gSWYgdGhlIHByZXZpZXcgbG9jYXRpb24gbGlzdCBkb2Vzbid0IGV4aXN0LCBpdCBpcwoJICBsaWtlbHkgYmVjYXVzZSB0aGUgc291cmNlIGhhcyBwb3N0ZWQgYSBwcmV2aWV3IG1lc3NhZ2UgYWZ0ZXIgY2FtZXJhYmluMgoJICBoYXMgYmVlbiBwdXQgdG8gUkVBRFkuCgoyMDExLTA4LTA3IDE3OjAxOjQ4ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htOiBBZGQgYnVmZmVyLXRpbWUgcHJvcGVydHkKCSAgQWRkIGEgYnVmZmVyLXRpbWUgcHJvcGVydHkgdG8gbGltaXQgdGhlIHNpemUgb2YgdGhlIGFtb3VudCBvZiBkYXRhCgkgIHF1ZXVlZCBpbiB0aGUgc2htc2luayBidWZmZXIgaW4gbmFub3NlY29uZHMuCgkgIEZpeGVzOiAjNjU2MTA3CgoyMDExLTA4LTA3IDE2OjM2OjMyICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgYWJpbGl0eSB0byBhZGQgdWludDY0IHRhZ3Mgb24gYnVmZmVycwoKMjAxMS0xMC0xMSAyMzozMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBTZXQgcHJldmlldyBwaXBlbGluZSB0byByZWFkeSB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIFRoZSBwcmV2aWV3IHBpcGVsaW5lIHNob3VsZCBnbyB0byByZWFkeSB3aGVuIHRoZSBjYW1lcmFzcmMgZ29lcwoJICB0byByZWFkeSwgYXMgaW4gcmVhZHkgZWxlbWVudHMgc2hvdWxkbid0IGJlIHByb2Nlc3NpbmcgZGF0YS4KCjIwMTEtMTAtMTEgMjM6MTM6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBtdXRleCB0byBhdm9pZCBjb25jdXJyZW50IGFjY2VzcyBvZiBwcmV2aWV3IGZpbGVuYW1lIGxpc3RzCgkgIFRoZSBwcmV2aWV3IGZpbGVuYW1lIGxpc3QgaXMgYWNlc3NlZCB3aGVuZXZlciBhIG5ldyBjYXB0dXJlIGlzIHN0YXJ0ZWQsIHdoZW4KCSAgY2FtZXJhLXNvdXJjZSBwb3N0cyBhIG5ldyBwcmV2aWV3IG1lc3NhZ2Ugb3Igb24gc3RhdGUgY2hhbmdlcy4gQWxsIG9mIHRob3NlIGNhbgoJICBvY2N1ciBzaW11bHRhbmVvdXNseSwgc28gYWRkIGEgbXV0ZXggdG8gcHJldmVudCBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMTEtMTAtMDcgMTA6NDg6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVzZXQgYXVkaW9zcmMgdGltZXN0YW1waW5nCgkgIFJlc2V0IGF1ZGlvc3JjJ3MgdGltZXN0YW1waW5nIGRhdGEgYnkgc2V0dGluZwoJICBpdCB0byBOVUxMIHRvIHJlc2V0IHRoZSByaW5nYnVmZmVyIGFuZCB0aGVuIHJlLXNldGluZwoJICB0aGUgY2xvY2sgdGhhdCBjYW1lcmFiaW4gbWlnaHQgbm90IHJlZGlzdHJpYnV0ZQoKMjAxMS0xMC0xMSAxNjoyNzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IFByZXZlbnQgYXVkaW8gc291cmNlIGZyb20gcHJvdmlkaW5nIGNsb2NrCgkgIGNhbWVyYWJpbidzIGF1ZGlvIHNvdXJjZSBtaWdodCBiZSBwdXQgdG8gTlVMTCBkdXJpbmcgaXRzCgkgIHVzZSwgc28gdGhlIGNsb2NrIHdvdWxkIGJlIGxvc3QuIEJldHRlciBub3QgYWxsb3cgaXQgdG8KCSAgcHJvdmlkZSBhIGNsb2NrIGF0IGFsbC4KCjIwMTEtMTAtMTEgMTE6MDU6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IG9wZW5hbCBpcyBub3QgcG9ydGVkIHlldAoKMjAxMS0xMC0xMCAxMTo0MTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogcG9ydCB0byAwLjExCgoyMDExLTEwLTEwIDEwOjE1OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDE1OjE2OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDE0OjIyOjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDEzOjE0OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRpc2FibGUgZGlyZWN0ZmIKCjIwMTEtMTAtMDggMTI6MDc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjU3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NDY6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NDA6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMToxNzoxMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDYgMjM6MjI6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGV4YW1wbGVzOiBGaXhlcyBmb3IgY29tcGlsaW5nIHdpdGggR1RLKyAzLjAKCSAgY2FtZXJhYmluZyBleGFtcGxlIGhhZCBhIG1pc3NpbmcgJyknIGFuZCB0aGUgZml4IHRvIGJ1aWxkIGFnYWluc3QgR1RLKzMKCSAgdGhhdCB3YXMgaW50cm9kdWNlZCBpbiBjb21taXQgNTE2Yzk3N2M3NmJhNGNkODZhNzE0N2FhYjc0MTZhMzNkNzZmODcwZgoJICBpcyBhbHNvIGFwcGxpZWQgdG8gdGhlIGNhbWVyYWJpbjIgZXhhbXBsZS4KCSAgVGhlIHNjYWxldGVtcG8gZGVtbyB3YXMgdXNpbmcgQVBJIHdoaWNoIGhhcyBiZWVuIHJlbW92ZWQsIHNvIHRoYXQncwoJICB3cmFwcGVkIGluIGEgdmVyc2lvbiBjaGVjay4KCjIwMTEtMTAtMDYgMTc6NTY6MzUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGJlZ2lubmluZyBvZiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDYgMTI6MTU6NDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTWFrZSBwcm9wZXIgdXNlIG9mIHRoZSBoMjY0cGFyc2VyIGxpYiBpbiBwYXJzZV9jaGFpbgoJICBNaW5vciBkZWJ1Z2dpbmcgbG9ncyBmaXhlcwoKMjAxMS0xMC0wNiAxNDowNTo0MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDYgMTQ6MDM6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA2IDEyOjI1OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJvcGVybHkgaW50ZXJwcmV0IGJhc2VwYXJzZSBkcmFpbmluZyBzdGF0ZQoJICAuLi4gd2hpY2ggbWVhbnMgdGhlIGlucHV0IGRhdGEgaGFzIHJlYWNoZWQgdGhlIGVuZCwgYnV0IG5lZWQgbm90IGV4Y2x1ZGUKCSAgbWFueSBzZXBhcmF0ZSBmcmFtZXMgbWF5IHN0aWxsIG5lZWQgcGFyc2luZy4KCSAgRml4ZXMgbWVyZ2luZyBOQUxzIGludG8gQVUuCgoyMDExLTEwLTA1IDIzOjE0OjIzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgdGhlIHNpemUgYXJndW1lbnQgb2YgZ3N0X2gyNjRfcGFyc2VyX2lkZW50aWZ5X25hbHVfYXZjKCkKCjIwMTEtMTAtMDUgMTI6MDk6MDQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWluaW11bSBzaXplIG9mIHBhcnNhYmxlIGF2Y0MgZGF0YSBzaG91bGQgYmUgOAoKMjAxMS0xMC0wNiAxMDo1ODozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDUgMjA6MDY6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNSAxMjo1MzowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IG1vcmUgcG9ydGluZwoKMjAxMS0xMC0wNCAxODo1NDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTg6Mzg6NTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDE4OjM1OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtb3JlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMDQgMTQ6MzA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJICB0ZXN0czogcG9ydAoKMjAxMS0xMC0wNCAxNDoyNzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgdmlkZW86IHN0YXJ0IHBvcnRpbmcgc29tZSBiYXNlIGNsYXNzZXMKCjIwMTEtMTAtMDQgMTQ6Mjc6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTEtMTAtMDQgMTQ6MjY6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogcmVtb3JlIGltcGxlbWVudC1pbnRlcmZhY2UKCjIwMTEtMTAtMDQgMTQ6MjU6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1vcmUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0wNCAxMzozMzo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDEzOjMzOjA5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2UgcmlnaHQgY2FwcwoKMjAxMS0xMC0wNCAxMzoyOToyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMDQgMTI6MzE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBPbmx5IGZhaWwgdG8gaW5pdGlhbGl6ZSB0aGUgcGx1Z2luIGlmIGFsbCBwYXJzZXJzIGNhbid0IGJlIHJlZ2lzdGVyZWQKCjIwMTEtMTAtMDMgMTU6MjY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBJbml0aWFsaXplIGNhbWVyYWJpbjIgcHJldmlldyBwaXBlbGluZSBkYXRhIHdpdGggMAoJICBVc2UgZ19uZXcwIHRvIGluaXRpYWxpemUgYWxsIGZpZWxkcyB3aXRoIDAgdG8gb25seSBjbGVhbnVwIHdoYXQgaGFzIGJlZW4KCSAgaW5pdGlhbGl6ZWQuIFRoaXMgbWFrZXMgY2xlYW51cCB3b3JrIGNvcnJlY3RseSB3aGVuIHNvbWUgaW5pdGlhbGl6YXRpb24KCSAgZmFpbHMgYW5kIHBvaW50ZXJzIGFyZSBsZWZ0IGluIHNvbWUgaW5jb25zaXN0ZW50IHN0YXRlLgoKMjAxMS0xMC0wMyAxMjowNjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDhwYXk6IEZpeCB0eXBvCgoyMDExLTA5LTIzIDIyOjU4OjMwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IFVwZGF0ZSB0aGUgcGF5L2RlcGF5IHRvIHRoZSBpZXRmLWRyYWZ0LTAxIHNwZWMKCjIwMTEtMTAtMDMgMTE6MjQ6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTI4IDE0OjU3OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGRlY29kaW5nCgkgIEEgc2ltcGxlIC4uLiBvcHVzZW5jICEgb3B1c2RlYyAuLi4gcGlwZWxpbmUgbm93IHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDE0OjU2OjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbW9hbiBpZiB3ZSBnZXQgYW4gdW5leHBlY3RlZCBhbW91bnQgb2YgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDE0OjIyOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBwcm9wZXJseSBzZXR1cCBjYXBzIGFuZCBpbml0IHN0YXRlIGZyb20gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI1OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdXNlIHRoZSBzYW1lIGZyYW1lIHNpemUgc2V0dXAgYXMgdGhlIG9wdXMgdGVzdCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjQ6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBvcHVzIHN1cHBvcnRzIGEgc2VsZWN0IHNldCBvZiBzYW1wbGluZyByYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI0OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBtYWtlIGl0IGJ1aWxkIGFnYWluc3QgY3VycmVudCwgYW5kIHJlbW92ZSBjcnVmdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTMwIDE4OjU0OjA0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzY2FubmluZyBzdG9wcGluZyB0b28gZWFybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODI0NQoKMjAxMS0wOS0yOSAyMDo1NToyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBhdm9pZCByZW5kZXJpbmcgd2hlbiB3ZSBrbm93IHRoZXJlIGlzIG5vdGhpbmcgdG8gcmVuZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MjgKCjIwMTEtMTAtMDEgMTQ6MzA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHJhY2UgY29uZGl0aW9uIG9uIFBBVVNFRC0+UkVBRFkgc3RhdGUgY2hhbmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA2MzAKCjIwMTEtMDktMjEgMTQ6NTM6MDEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHRha2UgaW50byBhY2NvdW50IFNDUiBvZmZzZXQgd2hlbiBzZWVraW5nCgkgIFNpbmNlIHRoZSBzZWVraW5nIGJ5dGUgb2Zmc2V0IGlzIGNob3NlbiBieSBsaW5lYXIgaW50ZXJwb2xhdGlvbgoJICBmcm9tIFNDUiB2YWx1ZXMsIHdlIG5lZWQgdG8gdGFrZSB0aGF0IGZpcnN0IFNDUiBpbnRvIGFjY291bnQKCSAgdG8gZW5kIHVwIG5lYXIgdGhlIGNvcnJlY3Qgb2Zmc2V0LiBPdGhlcndpc2UsIGFzIHRoZSBjb2RlIGRvZXMKCSAgYSBsaW5lYXIgc2VhcmNoIGFmdGVyIHRoYXQgZmlyc3Qgc2VlaywgaXQgd2lsbCB0YWtlIGEgTE9PT09PT05HCgkgIHRpbWUgdG8gZ2V0IHRoZXJlIGZvciBzdHJlYW1zIHdoaWNoIGRvbid0IHN0YXJ0IGF0IHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjEgMTc6Mjk6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhbnN3ZXIgcG9zaXRpb24gcXVlcnkgd2l0aCBhIHN0cmVhbSB0aW1lIHBvc2l0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjAgMTU6MjE6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ3BzZGVtdXg6IHJlbW92ZSB1bnVzZWQgZmllbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yOSAxODoyMDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBSZWZhY3RvciB0ZXN0cyBhIGxpdHRsZQoJICBSZWZhY3RvciBjYW1lcmFiaW4yIHRlc3RzIGEgbGl0dGxlCgoyMDExLTA5LTI5IDEzOjAzOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGFkZGluZyB0ZXN0cyB0byBjaGVjayBmb3IgcHJldmlldyBtZXNzYWdlIGZpbGVuYW1lcwoJICBQcmV2aWV3IG1lc3NhZ2VzIG5vdyBoYXZlIGZpbGVuYW1lcywgYWRkIHRlc3RzIHRvIGNoZWNrIHRoYXQgdGhleSBhcmUKCSAgY29ycmVjdAoKMjAxMS0wOS0yOSAxODowMzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogYWRkIGxvY2F0aW9uIHRvIHByZXZpZXcgaW1hZ2UgbWVzc2FnZXMKCSAgTWFrZXMgY2FtZXJhYmluMiBpbnRlcmNlcHQgcHJldmlldy1pbWFnZSBtZXNzYWdlcyBhbmQgYWRkCgkgIHRoZSBmaWxlbmFtZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBtZXNzYWdlIHN0cnVjdHVyZSBpbiB0aGUKCSAgJ2xvY2F0aW9uJyBmaWVsZC4KCSAgTWFrZXMgZWFzaWVyIGZvciBhcHBsaWNhdGlvbnMgdG8gdHJhY2sgcHJldmlldyBpbWFnZXMKCjIwMTEtMDktMjcgMTM6MDQ6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGNhbWVyYWJpbjI6IHJlbW92aW5nIGNhcHNmaWx0ZXIgZnJvbSBwcmV2aWV3IHBpcGVsaW5lCgkgIGFwcHNpbmsgYWxyZWFkeSBoYXMgYSBjYXBzIHByb3BlcnR5LCBzbyB3ZSBkb24ndCBuZWVkIHRoZQoJICBjYXBzZmlsdGVyIGhlcmUKCjIwMTEtMDktMjkgMTY6MjI6MDAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHBvdGVudGlhbCBsb3NzIG9mIEVPUyBldmVudAoJICBTZXR0aW5nIHRoZSBhdWRpbyBzb3VyY2UgdG8gTlVMTCBqdXN0IGFmdGVyIHB1c2hpbmcgdGhlIEVPUyBldmVudAoJICBvbiBpdCBjb3VsZCBwb3RlbnRpYWxseSBjYXVzZSBsb3NzIG9mIHNhaWQgRU9TIGV2ZW50LiBJbnN0ZWFkLCB3ZQoJICBjYW4gc2V0IHRoZSBhdWRpbyBzb3VyY2UgdG8gTlVMTCB3aGVuIHJlYWR5LWZvci1jYXB0dXJlIGlzCgkgIHNpZ25hbGxlZCBhbmQgdGhlIGJvb2xlYW4gdmFsdWUgaXMgdHJ1ZSBhcyB0aGlzIGluZGljYXRlcyB3ZSBhcmUKCSAgbm90IGN1cnJlbnRseSBjYXB0dXJpbmcgdmlkZW8uCgoyMDExLTA5LTI4IDEzOjAxOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBwb3J0ZWQgZmFhZCBhbmQgc2RwIGVsZW1lbnRzCgoyMDExLTA5LTI4IDEyOjU0OjM4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IHJlbW92ZSBpbXBsZW1lbnRzLWludGVyZmFjZSBwcmVyZXF1aXNpdGUKCjIwMTEtMDktMjggMTI6NTQ6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIHVzZSB0aGUgMC4xMSBicmFuY2ggb2YgY29tbW9uCgoyMDExLTA5LTI3IDEzOjIyOjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjYgMjI6MzE6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTI2IDIyOjMwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcG9ydCB0byAwLjExCgoyMDExLTA5LTI2IDE3OjIzOjQxICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFN0b3AgdGhlIGF1ZGlvIHNvdXJjZSBiZXR3ZWVuIGNhcHR1cmVzCgkgIE1vdmUgdGhlIGF1ZGlvIHNvdXJjZSBzZXR0aW5nIG9mIHN0YXRlIHRvIE5VTEwgdG8gX3N0b3BfY2FwdHVyZSAoKSB0bwoJICBhdm9pZCB0aGUgYXVkaW8gc291cmNlIHJ1bm5pbmcgYmV0d2VlbiBjYXB0dXJlcy4KCjIwMTEtMDktMjYgMTY6MjY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBbHNvIHNldCBtYXhpbXVtIG51bWJlciBvZiBzYW1wbGVzIHRoYXQgdGhlIHN1YmNsYXNzIHdhbnRzCgoyMDExLTA5LTI2IDE2OjA1OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogU2ltcGxlIGZpeCBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2UKCjIwMTEtMDgtMjMgMTg6MjU6MjAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogVkMxOiBJbXBsZW1lbnQgYSBWQzEgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA5LTE2IDE5OjAzOjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogRGVjbGFyZSB0aGUgbmV3IEFQSXMgYXMgdW5zdGFibGUgZm9yIHRoZSB0aW1lIGJlaW5nCgoyMDExLTA5LTI2IDExOjQ0OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGtlZXAgQ1JDIHRhYmxlIGluIC5yb2RhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDExOAoKMjAxMS0wOS0yMCAxNjoyOTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkgIGlydHNwcGFyc2U6IGFkZCBJbnRlcmxlYXZlZCBSVFNQIHBhcnNlciBlbGVtZW50CgoyMDExLTA5LTIzIDEwOjEwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0ZmFhZC5jOiBJbiBmdW5jdGlvbiAnZ3N0X2ZhYWRfcGFyc2UnOgoJICBnc3RmYWFkLmM6NjE1OjExOiBlcnJvcjogJ2xlbicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDExLTA5LTIzIDA5OjU3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcGFyc2Ugd2FudHMgYSBHc3RGbG93UmV0dXJuIHJldHVybiB2YWx1ZSwgbm90IGEgZ2Jvb2xlYW4KCjIwMTEtMDktMjIgMjA6MTE6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJICBwc211eDogZml4IHdyaXRpbmcgb2Ygc3lzdGVtIGhlYWRlciwgd2hpY2ggbWFrZXMgVkxDIG5vdCBza2lwIHRoZSBhZGphY2VudCBQU00gYW5kIHBsYXkgZW1iZWRkZWQgSC4yNjQgc3RyZWFtcwoJICBoZWFkZXJfbGVuZ3RoIGNvbnRhaW5zIHRoZSBsZW5ndGggaW4gYnl0ZXMgYWZ0ZXIgdGhlIGhlYWRlcl9sZW5ndGgKCSAgZmllbGQsIGV4Y2x1ZGluZyB0aGUgNiBieXRlIHN0YXJ0IGNvZGUgYW5kIGhlYWRlcl9sZW5ndGggZmllbGQuCgkgIEguMjY0IHN0cmVhbXMgYW5kIHNvbWUgb3RoZXIgZm9ybWF0cyBuZWVkIHRvIGJlIGFubm91bmNlZCBpbiB0aGUgUFNNLgoJICBWTEMgd291bGRuJ3QgcGxheSBmaWxlcyBjcmVhdGVkIHdpdGggbXBlZ3BzbXV4IGNvbnRhaW5pbmcgSC4yNjQgYmVjYXVzZQoJICB3ZSBjbGFpbSB0aGUgc3lzdGVtIGhlYWRlciBpcyBsYXJnZXIgdGhhbiBpdCBhY3R1YWxseSBpcywgd2hpY2ggbWFrZXMKCSAgVkxDIHNraXAgdGhlIHByb2dyYW0gc3RyZWFtIG1hcCB3aGljaCBmb2xsb3dzIHRoZSBzeXN0ZW0gaGVhZGVyLCB3aGljaAoJICBpbiB0dXJuIG1ha2VzIGl0IG5vdCByZWNvZ25pc2Ugb3VyIEguMjY0IHZpZGVvIHN0cmVhbS4KCjIwMTEtMDktMjIgMjA6MDk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzLy5naXRpZ25vcmU6CgkgIGRvY3M6IGFkZCBpZ25vcmUgcnVsZXMgZm9yIGxpYnMgZG9jcyBkaXJlY3RvcnkKCjIwMTEtMDktMjIgMTg6MjM6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXh1cCBtaXN1bmRlcnN0YW5kaW5nIGluIHNhbXBsZSBjb3VudGluZwoJICAuLi4gYmV0d2VlbiBjb2RlYyBhbmQgYXVkaW9lbmNvZGVyIHJlZ2FyZGluZyB3aGV0aGVyIG9yIG5vdCBjaGFubmVsCgkgIGNvdW50IGlzIGFscmVhZHkgY29uc2lkZXJlZC4KCSAgRml4ZXMgIzY1OTgzNi4KCjIwMTEtMDktMjIgMTY6MDE6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDExLTA5LTIyIDA5OjQ5OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMDktMjEgMTY6MTE6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiB1c2Ugc29tZSBtb3JlIGJvaWxlcnBsYXRlCgoyMDExLTA5LTIxIDE2OjAxOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMDktMjAgMTY6NTQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZvcndhcmQgcmV0dXJuIGNvZGUgZnJvbSBzZXR0aW5nIHNyYyBwYWQgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NjA2CgoyMDExLTA5LTIwIDEzOjAwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhc3JjOiBGYWlsIHN0YXRlIGNoYW5nZSBpZiBwcmV2aWV3IHBpcGVsaW5lIGZhaWxzIGNyZWF0aW9uCgkgIElmIHRoZSBwcmV2aWV3IHBpcGVsaW5lIGZhaWxzIGNyZWF0aW9uLCBmb3IgYW55IHJlYXNvbiwgd2Ugc2hvdWxkCgkgIGZhaWwgYmFzZWNhbWVyYXNyYyBzdGF0ZSBjaGFuZ2UuCgkgIEFsc28gYWRkcyBhIG1pc3NpbmcgZ19yZXR1cm5faWZfZmFpbCBjaGVjayB0byBwcmV2aWV3IHBpcGVsaW5lCgkgIGZ1bmN0aW9ucwoKMjAxMS0wOS0xOSAxNjozMjo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBjaGVja3MgdG8gaW5wdXQsIGFuZCBmaXggc2l6ZSBjaGVja2luZwoKMjAxMS0wOS0xOSAxNDo1NDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGJyaW5nIGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gZGVzaXJlZCBzcGVjcwoKMjAxMS0wOS0xOSAxNDowNzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGJyaW5nIGRlYnVnIHN0YXRlbWVudHMgdXAgdG8gZGVzaXJlZCBzcGVjcwoKMjAxMS0wOS0xOSAxMzo0MTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2luZ2xpYnM6IERvYyBhbmQgaW5kZW50YXRpb24gZml4ZXMKCjIwMTEtMDktMTAgMTE6MzE6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuTElDRU5TRToKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuYzoKCSogZ3N0L3J0cHZwOC9kYm9vbGh1ZmYuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBmaXggYml0c3RyZWFtIHBhcnNpbmcgdXNpbmcgdGhlIHdyb25nIGtpbmQgb2YgYml0cmVhZGVyCgkgIFZQOCB1c2VzIGEgcHJvYmFiaWxpc3RpYyBib29sIGNvZGVyLCBub3QgYSBzdHJhaWdodCBiaXQgY29kZXIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyB3aGVuIGVycm9yLXJlc2lsaWVudCBpcyBzZXQuCgkgIFRoaXMgY29tbWl0IGluY2x1ZGVzIGEgY29weSBvZiBsaWJ2cHgncyBib29sIGNvZGVyLCBCU0QgbGljZW5zZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2OTQKCjIwMTEtMDktMTQgMjA6MjI6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IGEgYml0IG1vcmUgZXJyb3IgY2hlY2tpbmcgb24gaGVhZGVyIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxOTo1Njo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGNsZWFudXAgaGVhZGVyIGNyZWF0aW9uCgkgIEF2b2lkIGFuIGV4dHJhIGNvcHkgdmlhIGEgdGVtcG9yYXJ5IGZpeGVkIHNpemUgc3RhY2sgYnVmZmVyLgoJICBVc2UgbGliY2VsdCdzIGhlYWRlciBzaXplIHRvIGFsbG9jYXRlIGEgYnVmZmVyIG9mIHRoZSBjb3JyZWN0CgkgIHNpemUgaW4gdGhlIGZpcnN0IHBsYWNlIChsaWJjZWx0IGhhcyBhbiBvZmYgYnkgNCB0aGVyZSwgc28KCSAgYWNjb3VudCBmb3IgdGhpcykuCgkgIFdoaWxlIHRoZXJlLCBtYWtlIHNpemUgdW5zaWduZWQsIGFuZCBncmFucG9zIHNpZ25lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxOTowOTozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGRvIG5vdCB1c2UgaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE3OjI2OjA1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogZml4IGVycm9yIGNoZWNraW5nIHdpdGggbGliY2VsdCAwLjExCgkgIFRoZSByZXR1cm4gdmFsdWUgb2YgY2VsdF9kZWNvZGUgaGFzIGNoYW5nZWQsIG5ld2VyIHZlcnNpb25zCgkgIG5vdyByZXR1cm4gcG9zaXRpdmUgdmFsdWVzIG9uIHN1Y2Nlc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTc6MDc6NTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IGFsbG93IGFjdHVhbGx5IG92ZXJyaWRpbmcgZnJhbWUgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTEzIDE2OjI0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmbHVzaCBvbiBzZWVrLCBhbmQgZW5zdXJlIHdlIGNhbmNlbCBhbnkgd2FpdGluZyBidWZmZXIKCSAgVGhpcyBpcyB3aGF0IHBhbmdvIHRleHRvdmVybGF5IGRvZXMsIGFuZCBJJ3ZlIGhhZCB0aGF0IGNvbmRpdGlvbgoJICB2YXJpYWJsZSBnZXQgc3R1Y2sgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODk0MAoKMjAxMS0wOS0xMiAxMToxNzoyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3QgdHJ5IHRvIHJlYWQgZnJvbSBhIG5vbiBleGlzdGVudCBWVUkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODgwMAoKMjAxMS0wOS0xNiAwMDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyAyIG1vcmUgbG9nIG1lc3NhZ2VzCgoyMDExLTA5LTE0IDE1OjIwOjA5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogcmVwbGFjZSBkZXByZWNhdGVkIGdfYXRvbWljX2ludF9leGNoYW5nZV9hbmRfYWRkCgkgIEl0IHdhcyByZXBsYWNlZCBieSBnX2F0b21pY19pbnRfYWRkLCB3aGljaCBub3cgcmV0dXJucyB0aGUKCSAgb2xkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDYxCgoyMDExLTA5LTE1IDE3OjM1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVzZXQgbGFzdCBzdGF0ZSBjaGFuZ2UgcmVzdWx0IG9uIHN0YXRlLWxvY2tlZCBlbGVtZW50cwoJICBBbiBlbGVtZW50IHN0b3JlcyB0aGUgcmVzdWx0IGZvciB0aGUgbGFzdCBzdGF0ZSBjaGFuZ2UgaXQgZGlkIGFuZAoJICBHc3RCaW4ncyBzdGF0ZSBjaGFuZ2UgaGFuZGxlciB3aWxsIHVzZSB0aGlzIGxhc3QgcmVzdWx0IGZvciBzdGF0ZQoJICBsb2NrZWQgZWxlbWVudHMgdG8gZGVjaWRlIGlmIGl0cyBzdGF0ZSBjaGFuZ2Ugd2FzIHN1Y2Nlc3NmdWxsIG9yIG5vdC4KCSAgSW4gY2FtZXJhYmluMiwgdGhlIGZpbGVzaW5rcyBoYXZlIHRoZWlyIHN0YXRlIGxvY2tlZCBhbmQgd2hlbiB0aGV5CgkgIGZhaWwgc3dpdGNoaW5nIHN0YXRlcywgdGhpcyBsYXN0IGZhaWx1cmUgd2lsbCBiZSB1c2VkIGlmIHRoZSBhcHBsaWNhdGlvbgoJICB0cmllcyB0byBjaGFuZ2UgY2FtZXJhYmluMidzIHN0YXRlLCBjYXVzaW5nIGFueSBzdGF0ZSBjaGFuZ2UgdG8gZmFpbC4KCSAgVGhpcyBwYXRjaCBtYWtlcyBjYW1lcmFiaW4yIHJlc2V0IHRoaXMgbGFzdCBjaGFuZ2UgZmFpbHVyZSwgYXZvaWRpbmcKCSAgdGhhdCBjYW1lcmFiaW4yIGZhaWxzIG9uIGl0cyBuZXh0IHN0YXRlIGNoYW5nZXMuCgoyMDExLTA5LTE1IDE4OjE3OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFucGxjOiBGaXggdHlwb3MKCjIwMTEtMDktMTMgMjA6NDA6MzUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEhhbmRsZSBwcm9wZXJseSBmcmFtZSBkZXRlY3Rpb24KCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGhhdmUgYnVmZmVycyBjb250YWluaW5nIG5vIHN0YXJ0Y29kZQoJICBpbiB0aGUgbWlkZGxlIG9mIGEgZnJhbWUgcHJvcGVybHkuCgoyMDExLTA5LTEzIDIwOjM4OjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogRGVidWdnaW5nIHN5bWJvbHMgZW5oYW5jZW1lbnRzCgoyMDExLTA5LTEyIDEzOjU0OjM3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQWRkIHRoZSBDaHJvbWFUeXBlIGVudW0KCjIwMTEtMDktMTIgMTM6NDE6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBDaGFuZ2UgYnJva2VuX2dvcCB0byBicm9rZW5fbGluawoJICBUaGlzIHdheSB3ZSByZXNwZWN0IHRoZSBzdGFuZGFyZCBuYW1pbmcKCjIwMTEtMDktMTQgMTY6MTQ6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBzZW5kIGEgdmlkZW8tY29kZWMgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjkzMDUKCjIwMTEtMDktMTIgMTY6NTA6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGVjayB6b29tIG5vdGlmeSBjYWxsYmFjayBmcm9tIGNhbWVyYS1zb3VyY2UKCSAgQ2FtZXJhYmluMiBoYXMgYSB6b29tIHByb3BlcnR5IHRoYXQgaXMgc2ltcGx5IHByb3hpZWQgdG8gaXRzCgkgIGludGVybmFsIGNhbWVyYS1zb3VyY2UgZWxlbWVudC4gVGhpcyBwYXRjaCBtYWtlcyBjYW1lcmFiaW4yIGxpc3RlbgoJICB0byAnbm90aWZ5JyBzaWduYWxzIGZyb20gaXQgc28gaXQgY2FuIHVwZGF0ZSBpdHMgem9vbSBwcm9wZXJ0eSB2YWx1ZQoJICB3aGVuIGNhbWVyYS1zb3VyY2UgY2hhbmdlcyBpdHMgem9vbSBhcyBhIHNpZGUtZWZmZWN0IG9mIGFub3RoZXIgb3BlcmF0aW9uCgkgIG9yIGJlY2F1c2UgdGhlIHVzZXIgc2V0IHRoZSB6b29tIGRpcmVjdGx5IHRvIGl0LCBpbnN0ZWFkIG9mIGRvaW5nCgkgIGl0IGZyb20gY2FtZXJhYmluMi4KCjIwMTEtMDgtMjkgMDg6MDA6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGRvbid0IGJsb2NrIHRoZSBtYWluIHRocmVhZCB3aXRoIFJUTVBfQ29ubmVjdAoJICBNb3ZlIHRoZSBSVE1QX0Nvbm5lY3QgY2FsbCBmcm9tIHRoZSBtYWluIHRocmVhZCAoOjpzdGFydCkgdG8gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgKDo6cmVuZGVyKS4KCjIwMTEtMDktMTIgMTA6MzM6MDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA5LTEyIDEwOjIzOjE5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOS0wOSAxNDoyMjozOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNYWtlIHVzZSBvZiB0aGUgaDI2NF9uYWxfcGFyc2VyX2ZyZWUgZnVuY3Rpb24KCjIwMTEtMDktMDkgMTQ6MTU6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBJbXBsZW1lbnQgdGhlIG5hbF9wYXJzZXJfZnJlZSBmdW5jdGlvbgoKMjAxMS0wOS0wNiAyMToyOToyOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IFVzZSBnX3NsaWNlIGluc3RlYWQgb2YgZ19tYWxsb2MgaW4gbmFsX3BhcnNlcl9uZXcKCjIwMTEtMDktMDYgMjE6Mjg6NDUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IFVwZGF0ZSB0aGUgZG9jdW1lbnRhdGlvbgoJICBGaXggYSBmZXcgZXJyb3IuCgkgIERvY3VtZW50IG1pc3NpbmcgcGFydHMuCgkgIEFkZCBsaW5rcyB0byB0aGUgc3BlY2lmaWNhdGlvbnMKCjIwMTEtMDktMDkgMTI6Mjc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggbWVyZ2UgbWlzdGFrZSBmcm9tIGxhc3QgY29tbWl0CgoyMDExLTA5LTA4IDIzOjU2OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFJlcG9ydCB0aGUgY29ycmVjdCB0aW1lc3RhbXAgZm9yIGxpdmUgc3RyZWFtcwoJICBCdWZmZXJzIHdvdWxkIGFsd2F5cyBzdGFydCB3aXRoIHRpbWVzdGFtcCAwIGFuZCB3ZSdkIHN0YXJ0IHN0cmVhbWluZwoJICBmcm9tIHRoZSBmaXJzdCBidWZmZXIsIGJ1dCBsaXZlIHN0cmVhbXMgYWx3YXlzIHN0YXJ0IHN0cmVhbWluZyBmcm9tCgkgIHRoZSBsYXN0IGZyYWdtZW50IC0gMyBmcmFnbWVudHMgaW4gdGhlIHBsYXlsaXN0LCB3aGljaCBtYWtlcyBpdHMKCSAgdGltZXN0YW1wLCBhcyByZXR1cm5lZCBieSBnZXRfbmV4dF9mcmFnbWVudCwgYmUgd2hhdGV2ZXIgcG9zaXRpb24KCSAgdGhleSBoYWQgaW4gdGhlIHBsYXlsaXN0LiBUaGlzIG1ha2VzIHN1cmUgdGhlIHBvc2l0aW9uIGNvcnJlY3RseQoJICByZXBvcnRzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYnVmZmVyIGluIHRoZSBwbGF5bGlzdCwgYW5kIGFkZGVkIGEgc2hpZnRpbmcKCSAgdmFyaWFibGUgdG8gYWxsb3cgc2Vla2luZyBpbiB0aGUgbWlkZGxlIG9mIGZyYWdtZW50cy4KCjIwMTEtMDktMDggMjI6MTM6MTkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIGhsc2RlbXV4L3RzZGVtdXg6IEFkZCBIUCBjb3B5cmlnaHQgb24gd29yayBkb25lIG9uIEhMUwoKMjAxMS0wOS0wOCAyMDoyOTo0MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCBwbGF5bGlzdCB0byBOVUxMIGFmdGVyIHVucmVmZmluZyBpdCB0byBhdm9pZCBhIGRvdWJsZS11bnJlZiBpbiB0aGUgZGlzcG9zZQoKMjAxMS0wOS0wOCAxODoyNTowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBsb2NrIHRoZSBtdXRleCBvZiB0aGUgZmV0Y2hlciBkdXJpbmcgRU9TCgkgIFRoZSBmZXRjaF9sb2NhdGlvbiBtaWdodCBjYWxsIHN0b3BfZmV0Y2hlciB3aGljaCBjb3VsZCBnZW5lcmF0ZSBhbiBFT1MKCSAgYW5kIGNhdXNlIGEgZGVhZGxvY2sKCjIwMTEtMDktMDYgMjI6MTE6MDYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkgIHNwYW5kc3A6IEFkZGluZyBzcGFuZHNwIHBsdWdpbiB3aXRoIHNwYW5wbGMgZWxlbWVudCBmb3IgcGFja2V0IGxvc3MgY29uY2VhbG1lbnQKCjIwMTEtMDktMDcgMjA6MDk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgam9pbiB0aGUgdGFzayBmcm9tIHRoZSB0YXNrJ3MgdGhyZWFkIGl0c2VsZi4gam9pbiBpdCBvbmx5IGluIHRoZSBzdGF0ZSBjaGFuZ2UKCjIwMTEtMDktMDcgMTU6NDg6MzMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogY2xlYW51cCBtYWtlZmlsZXMKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgcGFydHMgdGhhdCB3ZSBkb24ndCBuZWVkLiBSZW1vdmUgInRoZSB3aW5nbyBhZGRpdGlvbiIgLSBubwoJICBzbyB1c2VmdWwgYWZ0ZXIgYWxsLiBOYXJyb3cgZG93biBmaWxlLWdsb2JzIGZvciBwbHVnaW4gZG9jcy4KCjIwMTEtMDktMDcgMTU6NDI6MzcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggY2FtZXJhYmluMiBuYW1lcyBpbiBzZWN0aW9ucy50eHQKCjIwMTEtMDktMDcgMTU6Mzc6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSAga2F0ZXBhcnNlOiBmaXggY3JhcCBpbiBvYmplY3QgbWFjcm9zCgoyMDExLTA5LTA3IDEyOjMyOjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IG1ha2UgdGhpcyBidWlsZCB3aXRoIG9sZGVyIGdsaWIKCSAgZ19saXN0X2ZyZWVfZnVsbCBpcyBhIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbi4KCSAgUmVwbGFjZSBpdCB3aXRoIGdfbGlzdF9mb3JlYWNoIGFuZCBnX2xpc3RfZnJlZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQ1MAoKMjAxMS0wOS0wNyAxMzo0Njo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBNYWtlIHRoZSBoMjYzIGFuZCAobmV3KSBtcGVnIHZpZGVvIHBhcnNlciBhdXRvcGx1Z2dhYmxlCgoyMDExLTA5LTA1IDIwOjAyOjU3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBJRFIgcG9zaXRpb24gbWFya2luZyB3aGVuIHRoZSBJRFIgaXMgc3BsaXQgaW50byBzZXZlcmFsIE5BTHMKCjIwMTEtMDktMDcgMTE6Mjc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBBZGQgYWxsIGFsd2F5cyBwcmVzZW50IGZpZWxkcyB0byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDktMDcgMTE6MjQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEFkZCBhbGwgZmllbGRzIHRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMS0wOS0wNyAxMToyMjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEFsbG93IHBhcnNlZCBzdHJlYW1zIHRvIGJlIHBhc3NlZCB0aHJvdWdoIHRoZSBwYXJzZXJzCgoyMDExLTA5LTA3IDExOjE3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUHV0IHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCBpbnRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoJICBBbHNvIHJlbW92ZSB0aGUgcGFyc2VkIGZpZWxkIGZyb20gdGhlIHNpbmsgdGVtcGxhdGUgY2Fwcy4KCjIwMTEtMDktMDcgMTE6MTQ6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgaDI2NHBhcnNlOiBDaGFuZ2UgcmFuayB0byBQUklNQVJZKzEgdG8gaGF2ZSBoMjY0cGFyc2UgYXV0b3BsdWdnZWQKCjIwMTEtMDktMDcgMTE6MDY6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBDb25zdGlmeSBzb21lIGFycmF5cwoKMjAxMS0wOS0wNiAxMDo0OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IE5vIG5lZWQgZm9yIGFwcHNpbmsgdG8gc3RvcmUgdGhlIGxhc3QgYnVmZmVyCgkgIFRoZXJlIGlzIG5vIG5lZWQgZm9yIHByZXZpZXcncyBhcHBzaW5rIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIGxhc3QgYnVmZmVyLAoJICBzbyBkaXNhYmxlIHRoZSBwcm9wZXJ0eSB0byBtYWtlIGl0IHVucmVmIHRoZSBidWZmZXJzIHNvb25lci4KCjIwMTEtMDktMDYgMjI6NDg6MzAgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBsYXRlc3QgbmV3IHBsdWdpbnMgYW5kIG1vdmVkIHBsdWdpbnMKCjIwMTEtMDktMDYgMjE6MjU6MDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzOWViODMgdG8gMTFmMGNkNQoKMjAxMS0wOS0wNiAxNjoxMzoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMDYgMTU6NDA6NDYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDYwNWNkOWEgdG8gYTM5ZWI4MwoKMjAxMS0wOS0wNiAxMzoyMDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBDb252ZXJ0ZXIgdG8gY2xhc3NpZmljYXRpb24KCSAgVGhpcyBwYXJzZXIgY2FuIGNvbnZlcnQgYmV0d2VlbiBkaWZmZXJlbnQgYWxpZ25tZW50cyBhbmQgc3RyZWFtLWZvcm1hdHMuCgoyMDExLTA5LTA1IDE0OjM5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogQXBwc2luayBkb2Vzbid0IG5lZWQgdG8gc3luYwoJICBTZXQgc3luYyB0byBmYWxzZSBvbiBwcmV2aWV3J3MgcGlwZWxpbmUgYXBwc2luawoKMjAxMS0wOS0wNSAwOTo1NTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IFJlbW92ZSBvbmUgb2YgdGhlIHR3byBjb2xvcnNwYWNlIGNvbnZlcnRlcnMKCSAgVGhlIHByZXZpZXcgcGlwZWxpbmUgZG9lc24ndCBuZWVkIDIgY29sb3JzcGFjZSBjb252ZXJ0ZXJzLCByZW1vdmUKCSAgb25lIHRvIHNwZWVkIHVwIGNhcHMgbmVnb3RpYXRpb24gYW5kIHJlZHVjZSB0aGUgZGVsYXkgb24gZ2V0dGluZwoJICB0aGUgZmlyc3QgcHJldmlldyBidWZmZXIgb3V0IG9mIHRoZSBwcmV2aWV3IHBpcGVsaW5lLgoJICBJdCBzaG91bGRuJ3QgY2F1c2UgcHJvYmxlbXMgYXMgdmlkZW9zY2FsZSBhbmQgZmZtcGVnY29sb3JzcGFjZSBzZWVtcwoJICB0byBoYW5kbGUgdGhlIHNhbWUgY2Fwcywgc28gbm8gY29udmVyc2lvbiBzaG91bGQgYmUgbmVlZGVkIGZvcgoJICB2aWRlb3NjYWxlLiBBZGRpdGlvbmFsbHksIGNhbWVyYWJpbjEgaGFzIGJlZW4gd29ya2luZyB3aXRoIGEgc2ltaWxhcgoJICBwaXBlbGluZSB3aXRoIGEgc2luZ2xlIGZmbXBlZ2NvbG9yc3BhY2UgYW5kIG5vIGJ1Z3MgaGF2ZSBiZWVuIG9wZW4gYWJvdXQgaXQKCSAgc28gZmFyLgoKMjAxMS0wOS0wMSAyMDowMTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IERpc2FibGUgYXBwc3JjIHNpZ25hbHMgZW1pc3Npb24KCSAgQ2FtZXJhYmluMiBkb2Vzbid0IGNoZWNrIGFwcHNyYydzIHNpZ25hbHMsIHNvIGRpc2FibGUgdGhlbQoKMjAxMS0wOC0yNiAxMDo1MDozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmM6IGRvIG5vdCB0cnkgdG8gY2FsY3VsYXRlIGxhdGVuY3kgZnJvbSBhbiB1bmtub3duIGZyYW1lcmF0ZQoJICBJdCdsbCBkaXZpZGUgYnkgemVybywgYW5kIGxhdGVuY3kgaXMgdW5rbm93biBmb3IgYW4gdW5rbm93biBmcmFtZXJhdGUuCgkgIEZpeGVzIGFuIGFzc2VydCBpbiB0aGUgc2Nocm9lbmMgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzQxOQoKMjAxMS0wOS0wMyAwMDozNjozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIGEgZmV0Y2ggZmFpbHMsIGRlY3JlbWVudCB0aGUgc2VxdWVuY2UgbnVtYmVyCgoyMDExLTA5LTAyIDIzOjQ5OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbWFrZSBobHNkZW11eCBsb2NrL3VubG9jayB0aGUgbTN1OCBjbGllbnQgd2hlbiBpdCBhY2Nlc3NlcyBpdAoKMjAxMS0wOS0wMiAyMzo0ODoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFkZCBhIGdldF90YXJnZXRfZHVyYXRpb24gYW5kIGdldF9jdXJyZW50X3VyaSBhcGkgdG8gbTN1OF9jbGllbnQKCjIwMTEtMDktMDIgMjM6NDg6MDMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBNYWtlIHRoZSBtM3U4IGNsaWVudCB0aHJlYWQtc2FmZQoKMjAxMS0wOS0wMiAxOTo0NDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCBpbiBQQVVTRUQtPlJFQURZIGFmdGVyIGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MKCSAgT3RoZXJ3aXNlIHRoZXJlIGFyZSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbnMgd2l0aCB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDktMDIgMTY6MDg6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGRvY3M6IG1pbm9yIGZpeGVzCgoyMDExLTA4LTMxIDEwOjEyOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9wbGF5Ly5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS52Y3Byb2o6CgkgIGdzdC1saWJzOiBSZW1vdmUgcGxheSBkaXJlY3RvcnkuIFdhcyB1bnBvcnRlZCBzaW5jZSAwLjgKCjIwMTEtMDgtMzEgMTA6MTA6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBBZGQgbW9yZSBzZWN0aW9ucyB0byB0aGUgZ3N0LWxpYnMgQVBJIGRvY3MKCjIwMTEtMDgtMjkgMTM6NTI6MTcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBQUFMgcGFyc2VyCgkgIEZpeCB0cmFuc2Zvcm1fOHg4X21vZGVfZmxhZyBhbmQgc2Vjb25kX2Nocm9tYV9xcF9pbmRleF9vZmZzZXQKCjIwMTEtMDgtMjkgMTM6NTI6MTYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBOQUwgcmVhZGVyIGluaXRpYWxpemF0aW9uLgoKMjAxMS0wOC0yNiAxNTo1NDo1MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogaGFuZGxlIGVuZC1vZi1zZXEgYW5kIGVuZC1vZi1zdHJlYW0gTkFMIGdyYWNlZnVsbHkuCgoyMDExLTA4LTI2IDE2OjA1OjU4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcmVmX3BpY19saXN0X3Jlb3JkZXJpbmcoKS4KCjIwMTEtMDgtMTYgMTY6MTk6MDIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcHJlZF93ZWlnaHRfdGFibGUoKSBwYXJzaW5nLgoJICBVc2UgMTYtYml0IHNpZ25lZCBpbnRlZ2VyIHZhbHVlcyBmb3Igd2VpZ2h0IHZhbHVlcyBiZWNhdXNlIHZhbGlkCgkgIHJhbmdlcyBhcmUgLTEyOCB0byArMTI4IGluY2x1c2l2ZS4KCjIwMTEtMDgtMTYgMTU6MjE6MTggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCBzbGljZV9oZWFkZXIoKSBzaXplIGluIGJpdHMuCgoyMDExLTA4LTE2IDE1OjE0OjAzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHNsaWNlX2hlYWRlcigpIHBhcnNpbmcuCgkgIFdlIHdlcmUgbm90IHBhcnNpbmcgdGhlIHNsaWNlIGhlYWRlcnMgdW50aWwgdGhlIGFjdHVhbCBlbmQsIHdlIGFyZSBub3cKCSAgcGFyc2luZyB1bnRpbCB0aGUgZW5kLgoKMjAxMS0wOC0xMiAxMzoxOToyOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGZpbGxlci1kYXRhIE5BTCB1bml0IHR5cGUgbmFtZS4KCjIwMTEtMDgtMTIgMTA6MTc6NDcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMucGMuaW46CgkgIGNvZGVjcGFyc2VyczogYWRkIHBrZ2NvbmZpZyBmaWxlLgoJICBBZGRzIGEgbmV3IHBrZ2NvbmZpZyBmaWxlIGZvciBjb2RlY3BhcnNlcnMuIFRoZXkgZG9uJ3QgaGF2ZQoJICBhbnkgc3BlY2lmaWMgZGVwZW5kZW5jeSBvbiBnc3QtcGx1Z2lucy1iYWQgYW5kIHRoZXkgY291bGQgcXVpdGUgYmUKCSAgaW5kZXBlbmRlbnQgYml0c3RyZWFtIHBhcnNlcnMuCgoyMDExLTA4LTA1IDExOjIxOjA1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IGFkZCB1c2VyLWRhdGEgcGFja2V0IHN0YXJ0IGNvZGUgZGVmaW5pdGlvbi4KCjIwMTEtMDgtMDMgMTc6MzE6NTUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogZml4IFBpY3R1cmVfQ29kaW5nX0V4dGVuc2lvbiBwYXJzZXIuCgoyMDExLTA4LTAyIDEyOjM3OjAyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBoLjI2NCBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDctMjkgMTA6NTY6MTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogQWRkIGFuIGguMjY0IGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDYtMjMgMTI6NTQ6NDMgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBvcnQgdG8gdGhlIG5ldyBtcGVnIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNy0xOSAxMzo1MjowMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IEFkZCBhbiBtcGVnIHZpZGVvIGJpdHN0cmVhbSBwYXJzaW5nIGxpYnJhcnkKCSAgQ3JlYXRlIGEgbmV3IGNvZGVjcGFyc2VycyBsaWJyYXJ5CgoyMDExLTA4LTMwIDE0OjUwOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2NvbXBpbGluZy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtb3ZlcnJpZGVzLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBkb2NzOiBCdWlsZCBkb2N1bWVudGF0aW9ucyBmb3IgbGlicmFyaWVzCgoyMDExLTA5LTAyIDE1OjAwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUmVtb3ZlIG9ic29sZXRlIEZJWE1FIGNvbW1lbnQKCjIwMTEtMDktMDIgMTQ6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgdGhlIGludGVybmFsIHN0YXRlIGdvaW5nIHRvL2Zyb20gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgIFRoaXMgdGhlb3JldGljYWxseSBhbGxvd3MgcmV1c2Ugb2YgdGhlIGVsZW1lbnQgd2hlbiBzZXR0aW5nIGl0IHRvIFJFQURZCgkgIGluc3RlYWQgb2YgTlVMTC4KCjIwMTEtMDktMDIgMTQ6NTQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2V0IHBsYXlsaXN0IHBhcnNpbmcgaGVscGVyIG9iamVjdCB0byBOVUxMIGFmdGVyIGZyZWVpbmcKCjIwMTEtMDktMDEgMjM6MTg6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbGxvdyB1cCB0byAzIGNvbnNlY3V0aXZlIGZhaWxlZCBkb3dubG9hZHMgYmVmb3JlIGVycm9yaW5nCgkgIEluIHNvbWUgbmV0d29ya3MsIGVzcGVjaWFsbCBpbiAzRywgYSBmcmFnbWVudCBkb3dubG9hZCBvciBwbGF5bGlzdAoJICB1cGRhdGUgbWF5IGZhaWwuIFdlIGFsbG93IGZvciB1cCB0byAzIGNvbnNlY3V0aXZlIGZhaWx1cmVzLCB3aGlsZSB1c2luZwoJICB0aGUgcmZjJ3Mgc3BlY3MgZm9yIHJldHJ5IGRlbGF5cyBiZWZvcmUgY29uc2lkZXJpbmcgdGhhdCB0aGVyZSB3YXMgYW4KCSAgZXJyb3Igb24gdGhlIHN0cmVhbS4KCjIwMTEtMDktMDEgMjI6NDY6MTkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGFyZ3VtZW50CgoyMDExLTA4LTIxIDIwOjE1OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IGRyb3AtZnJhbWUgcHJvcGVydHkKCSAgRml4ZXMgIzY1NjkyOS4KCjIwMTEtMDktMDEgMTU6NTc6NTAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBmbGFnIHRvIGRpc2FibGUgaW1hZ2UgY29udmVyc2lvbiBlbGVtZW50cwoJICBJZiB3ZSBrbm93IHRoYXQgb3VyIGNhbWVyYSBzb3VyY2UgZWxlbWVudCBwcm9kdWNlcyBidWZmZXJzIGF0IHRoZSBzYW1lCgkgIHJlc29sdXRpb24gYW5kIGFwcHJvcHJpYXRlIGNvbG91cnNwYWNlIGZvciB0aGUgb3V0cHV0LCB3ZSBkb24ndCBuZWVkIGFueQoJICBvZiB0aGUgZ2VuZXJpYyBjb252ZXJzaW9uIGVsZW1lbnRzIGluIGVuY29kZWJpbi4gVGhpcyByZWR1Y2VzIGNhcHMKCSAgbmVnb3RpYXRpb24gb3ZlcmhlYWRzIGFtb25nIG90aGVyIHRoaW5ncy4KCjIwMTEtMDgtMzEgMjM6MDY6NTMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZml4IHdhcm5pbmdzIHJlbGF0ZWQgdG8gdGhlIGZvcm1hdCBvbiB0aGUgZGVidWcgbGluZXMuCgoyMDExLTA4LTMxIDEzOjI5OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWljcm8gb3B0aW1pemUgZW5jb2RlYmluIHBhZHMgbGlua2luZwoJICBSZWR1Y2Ugb25lIGNoZWNrIGluIGVuY29kZWJpbiBwYWRzIGxpbmtpbmcgb24gY2FtZXJhYmluMiBieQoJICB1c2luZyB0aGUgbGlua19wYWRzX2Z1bGwgdmVyc2lvbgoKMjAxMS0wOC0zMSAxMzoyODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IE9wdGltaXplIHByZXZpZXcgcGlwZWxpbmUgc3RhcnR1cAoJICBVc2UgZ3N0X2VsZW1lbnRfbGlua19wYWRzX2Z1bGwgdG8gb3B0aW1pemUgcHJldmlldyBwaXBlbGluZSBzdGFydHVwLAoJICBsZWFkaW5nIHRvIGEgZmFzdGVyIGNhbWVyYWJpbjIgc3RhcnR1cCBhcyB3ZWxsLgoKMjAxMS0wOC0zMSAxNTozMzoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBleHBsaWNpdCBib29sZWFuIGxpdGVyYWxzIHRvIG1ha2UgZ29iamVjdCBoYXBweQoJICBnb2JqZWN0IGJvb2xlYW4gcHJvcGVydGllcyBhcmUgc3RyaWN0IGFuZCBvbmx5IGFjY2VwdCAxIG9yIDAsIG90aGVyd2lzZQoJICB0aGV5IHRocm93IGFuIGFzc2VydGlvbi4KCjIwMTEtMDgtMzEgMTQ6NDg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSnVzdCBqb2luIHRoZSB0YXNrCgkgIGdzdF90YXNrX2pvaW4oKSB3aWxsIGFscmVhZHkgc3RvcCB0aGUgdGFzaywgbm8gbmVlZAoJICB0byBzdG9wIGl0IGFkZGl0aW9uYWxseS4KCjIwMTEtMDgtMzEgMTQ6NDc6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSm9pbiB0aGUgdGFzayBpbnN0ZWFkIG9mIGp1c3Qgc3RvcHBpbmcgaXQgYW5kIG5vdCB3YWl0aW5nIGZvciBpdCB0byBmaW5pc2gKCSAgRml4ZXMgaW50ZXJlc3RpbmcgcmFjZSBjb25kaXRpb25zIHRoYXQgY2F1c2UgY3Jhc2hlcyBpbiBkZWNvZGViaW4yCgkgIGJlY2F1c2UgcGFkcyBhcmUgYWRkZWQvcmVtb3ZlZCBmcm9tIGNoaWxkIGVsZW1lbnRzIGFsdGhvdWdoIHRoZXkKCSAgc2hvdWxkIGJlIGluIFJFQURZIHN0YXRlIGFscmVhZHkuCgoyMDExLTA4LTMxIDEyOjEyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDgtMzEgMDM6NDc6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzd2l0Y2ggdG8gaGlnaGVyL2xvd2VyIGJpdHJhdGUgYnkgbW9yZSB0aGFuIG9uZSBzdGVwIGF0IGEgdGltZQoKMjAxMS0wOC0zMSAwMzoyMDo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBzcGFtbWluZyBHU1RfTE9HX09CSkVDVAoKMjAxMS0wOC0zMSAwMzowNzo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IElmIHBhdXNlZCwgZG8gbm90IGNhY2hlIGZyYWdtZW50cyB1bnRpbCBvdXQgb2YgbWVtb3J5IGVycm9yIQoJICBXZSBzaG91bGQgc3RvcCB0aGUgdXBkYXRlIHRocmVhZCBpbiBQQVVTRUQgc3RhdGUgYW5kIGF2b2lkIGZldGNoaW5nCgkgIG5ldyBmcmFnbWVudHMgd2hlbiB0aGUgcXVldWUgaXMgbm90IGVtcHR5LiBUaGUgcXVldWUgc2hvdWxkIGFsd2F5cyBiZQoJICBlbXB0eSBzaW5jZSB3ZSBwdXNoIGRhdGEgaW50byBhIHF1ZXVlLiBBbHNvLCBpbiB0b3RlbSwgaWYgd2Ugc2VlayBhbmQKCSAgcGF1c2UgdGhlIHN0cmVhbSB3aGlsZSBpdCdzIGJ1ZmZlcmluZywgdGhlbiB0aGUgc3RhdGUgd2lsbCBzdGF5IHBsYXlpbmcKCSAgZm9yIHNvbWUgcmVhc29uLCBzbyBpdCdzIGJlc3Qgbm90IHRvIGNvbnRpbnVlIGZldGNoaW5nIGZyYWdtZW50cyBmb3JldmVyLgoKMjAxMS0wOC0zMSAwMzowMTo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0YXJ0L3N0b3AgdXBkYXRlIHRocmVhZCBhbmQga2VlcCB0cmFjayBvZiBzdGF0dXMKCjIwMTEtMDgtMzEgMDI6MDU6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQb3N0IGR1cmF0aW9uIG1lc3NhZ2Ugd2hlbiB3ZSBwYXJzZSB0aGUgcGxheWxpc3QKCjIwMTEtMDgtMzEgMDE6MDg6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGEgZmx1c2gtc3RvcCB3aGVuIHN3aXRjaGluZyBwYWRzLiBGaXhlcyBBLT5BL1Ygc3luYyBpc3N1ZS4KCSAgVGhpcyBpcyB0byBlbnN1cmUgdGhhdCB3ZSByZXNldCB0aGUgYWNjdW11bGF0ZSBzZWdtZW50IG9uIHRoZSBzaW5rcwoJICBzbyBpZiB3ZSBzdGFydCB3aXRoIGF1ZGlvIG9ubHkgdGhlbiBzd2l0Y2ggdG8gYXVkaW8rdmlkZW8sIHRoZW4gYm90aAoJICBzaW5rcyB3aWxsIGhhdmUgdGhlIHNhbWUgc2VnbWVudHMgYW5kIHdpbGwgYmUgc3luY2hyb25pemVkLgoKMjAxMS0wOC0yNiAyMjo0ODowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNlZW1zIHRoZXJlIHdhcyBhIHR5cG8sIGZyZWUgdGhlIGFkYXB0ZXIgaWYgaXQgY29udGFpbnMgZGF0YSwgbm90IGlmIGFscmVhZHkgZW1wdHkKCjIwMTEtMDgtMjYgMjI6NDc6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBvdXBzLCB3ZSBuZWVkIHRvIGVtcHR5IHRoZSBxdWV1ZSBhZnRlciBmcmVlaW5nIGl0cyBjb250ZW50CgoyMDExLTA4LTI2IDIyOjQ0OjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTmVlZCB0byBmbHVzaCBhbGwgc3RyZWFtcyB3aGVuIHdlIHJlY2VpdmUgYSBmbHVzaC1zdGFydAoKMjAxMS0wOC0yNiAyMTo0NjowNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBicm9hZGNhc3QgdGhlIGZldGNoZXJfY29uZCBvbiBidXMgZXJyb3IgaWYgd2UncmUgY2FuY2VsbGVkCgkgIElmIHdlIGNhbmNlbCB0aGUgZmV0Y2ggYW5kIGNhbGwgdGhlIHN0b3BfZmV0Y2hlciwgd2hpY2ggaG9sZHMgdGhlIGxvY2ssCgkgIHdoZW4gaXQgc2V0cyB0aGUgZmV0Y2hlcidzIHN0YXRlIHRvIE5VTEwsIGl0IG1pZ2h0IHNlbmQgYW4gZXJyb3IKCSAgb24gdGhlIGJ1cy4gSW4gdGhhdCBjYXNlLCB3ZSBtdXN0IGlnbm9yZSBpdCwgb3RoZXJ3aXNlIGl0IHdpbGwgdHJ5CgkgIHRvIHRha2UgdGhlIGxvY2sgYW5kIHdpbGwgYmxvY2sgZm9yZXZlci4KCjIwMTEtMDgtMjYgMTk6Mjk6MDYgKzAwMDAgIEpvbmFzIExhcnNzb24gPEpvbmFzLkxhcnNzb25AaGlxLnNlPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTcGxpdCBwbGF5c2xpc3Qgb24gXHJcbiBub3QganVzdCBcbgoKMjAxMS0wOC0yNiAxOToxMDo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBzdWNjZWVkIGEgZG93bmxvYWQgaWYgdGhlIGZldGNoZXIgaGFkIGFuIGVycm9yCgoyMDExLTA4LTI2IDE5OjEwOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVuYW1lIGZ1bmN0aW9ucyB0aGF0IG5lZWQgdG8gYmUgY2FsbGVkIHdpdGggYSBsb2NrZWQgbXV0ZXgKCjIwMTEtMDgtMjYgMTk6MDk6NTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXZSBtdXN0IHNpZ25hbCB0aGUgZmV0Y2hlcl9jb25kIHdoaWxlIGhvbGRpbmcgaXRzIGxvY2sKCjIwMTEtMDgtMjYgMTc6NTQ6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBXZSBkbyBub3QgbmVlZCB0byBzZXQgdGhlIGN1cnJlbnQgcGxheWxpc3QgdG8gdGhlIG1haW4gb25lCgkgIFdoZW4gY2FjaGluZyBmcmFnbWVudHMsIGlmIHdlIHNldCB0aGUgY3VycmVudCBwbGF5bGlzdCB0byBtYWluLCB0aGVuCgkgIGl0IHdpbGwgYWx3YXlzIHRoaW5rIGl0J3MgYSBsaXZlIHN0cmVhbSAobm8gZW5kbGlzdCBpbiBpdCkgc28gaXQgd2lsbAoJICBmb3JjZSB0aGUgcmVkb3dubG9hZCBvZiB0aGUgbWFpbiBwbGF5bGlzdCBhZnRlciBldmVyeSBzZWVrLCB3aGljaCBpcwoJICB1bm5lY2Vzc2FyeS4gQWxzbywgaXQgY2F1c2VzIGEgcmFjZSBjb25kaXRpb24gd2hlcmUgYSBzZWVrIG1pZ2ggaGFwcGVuCgkgIGR1cmluZyB0aGF0IHJlZG93bmxvYWQsIGFuZCB3ZSdsbCB0aGluayB3ZSdyZSB0cnlpbmcgdG8gc2VlayBhIGxpdmUgcGlwZWxpbmUuCgoyMDExLTA4LTMwIDE3OjQzOjIyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIHNvdW5kdG91Y2g6IEhhbmRsaW5nIGluY29taW5nIHJhdGUgd2hlbiByZXF1ZXN0ZWQuCgkgIEFic29yYiBpbmJvdW5kIHNlZ21lbnRzIHdpdGggcmF0ZSAhPSAxLjAgYW5kIG91dHB1dCBhIHNlZ21lbnQgd2l0aAoJICByYXRlIHRha2VuIGZyb20gdGhlIG5ldyBvdXRwdXQtcmF0ZSBwcm9wZXJ0eSwgYWRqdXN0aW5nIHRoZSBzZWdtZW50CgkgIGFwcGxpZWRfcmF0ZSwgc3RyZWFtIGR1cmF0aW9uIGFuZCB0aW1lc3RhbXBzIGFzIG5lY2Vzc2FyeSB0bwoJICBjb21wZW5zYXRlCgoyMDExLTA4LTE1IDE3OjU3OjUzICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBmaXggdmFsZ3JpbmQgd2FybmluZyBhYm91dCBDb25kaXRpb25hbCBqdW1wIG9yIG1vdmUgZGVwZW5kcyBvbiB1bmluaXRpYWxpc2VkIHZhbHVlKHMpCgoyMDExLTA4LTE3IDA5OjQyOjA3ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBNb3ZlIG1fcHByZXZGcmFtZSBmcmVlIGp1c3QgYmVmb3JlIHRoZSBjbG9uZSBvZiB0aGUgbGF0ZXN0IGZyYW1lIGZvciByZWFkYWJpbGl0eQoKMjAxMS0wOC0yNiAwOTo0MzoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1ha2Ugdmlld2ZpbmRlcidzIHF1ZXVlIGEgdGhyZWFkIGxpbWl0IG9ubHkKCSAgUmVkdWNlIHRoZSB2aWV3ZmluZGVyIHF1ZXVlIGxpbWl0cyB0byBvbmx5IGFsbG93IGl0IHRvIHN0b3JlCgkgIG9uZSBidWZmZXIsIHByZXZlbnRpbmcgdGhlIHF1ZXVlIGZyb20gaG9sZGluZyBvbGQgYnVmZmVycyBmb3IKCSAgdG9vIGxvbmcuIFRoaXMgYWxzbyBhdm9pZHMgc2hvd2luZyBzbGlnaHRseSBvdXRkYXRlZCBmcmFtZXMgb24KCSAgdGhlIHZpZXdmaW5kZXIgd2hlbiB0aGUgc291cmNlIGhhcyBhbHJlYWR5IHByb2R1Y2VkIG5ldyBvbmVzCgkgIGFuZCBpbXByb3ZlcyB0aGUgYnVmZmVyIHJlY3ljbGluZyByYXRlLCBpbXBvcnRhbnQgZm9yIHNvdXJjZXMKCSAgdGhhdCB1c2UgYnVmZmVycG9vbHMuCgoyMDExLTA4LTI1IDE5OjU2OjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGZpeCBlbGVtZW50IGxlYWsKCSAgYW5kIHRoaXMgY29uY2x1ZGVzIGFuIGhvdXIgb2YgeWVsbGluZyBhdCB0aGUgYmxvb2R5IHRlc3QgZmFpbGluZywKCSAgb25seSB0byB0cmFjayBkb3duIHRoZSBwcm9ibGVtIG5vdCBiZWluZyBpbiB0aGUgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM2OAoKMjAxMS0wOC0yNiAwMDo1Mjo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IEluIHB1c2ggbW9kZSwgZG8gbm90IHN0YXJ0IHB1bGwgbG9vcCBpZiB1cHN0cmVhbSBzZWVrIGZhaWxzCgoyMDExLTA4LTI2IDAwOjQ3OjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IG1ha2UgdGhlIHVwZGF0ZV90aHJlYWQgam9pbmFibGUKCjIwMTEtMDgtMjYgMDA6MjY6MjkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBFbnN1cmUgdGhlIHRhc2sgaXMgcGF1c2VkIGluIGNhc2Ugb2YgY2FjaGUgZXJyb3IKCjIwMTEtMDgtMjUgMjM6Mzc6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdG9wIHRoZSB0aHJlYWRzIGluIHRoZSBwcm9wZXIgb3JkZXIKCSAgZmlyc3QgcGF1c2UgdGhlIHRhc2ssIHRoZW4gc3RvcCBhbGwgZmV0Y2hlcnMsIHRoZW4gc3RvcCB0aGUgdXBkYXRlIHRocmVhZAoJICB0aGVuIHBhdXNlIHRoZSB0YXNrIGFnYWluLCBzaW5jZSBpdCBtaWdodCBoYXZlIGJlZW4gcmVzdGFydGVkIGJ5CgkgIGFub3RoZXIgdGhyZWFkIGluIHRoZSBtZWFudGltZQoKMjAxMS0wOC0yNSAyMzozNzoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBwb3N0IGFuIGVycm9yIGlmIHdlIHNlZWsvY2FuY2VsIGR1cmluZyBjYWNoaW5nIG9mIGZyYWdtZW50cwoKMjAxMS0wOC0yNSAyMzozNzowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGlmIHdlJ3JlIGNhbmNlbGluZyBhIGZldGNoZXIsIHdlIG11c3Qgc3RvcCBpdHMgdGhyZWFkCgoyMDExLTA4LTI1IDIzOjM2OjI3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayB0aGUgdXBkYXRlX3RocmVhZCBtdXRleCBiZWZvcmUgc3RvcHBpbmcgaXQKCjIwMTEtMDgtMjUgMjM6MzU6NTUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIHRoZSBmZXRjaGVyIG11dGV4IGJlZm9yZSBzdG9wcGluZyBpdAoKMjAxMS0wOC0yNSAyMzozMzoxMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBhbGxvdyB0d28gZmV0Y2hlcnMgdG8gcnVuIHNpbXVsdGFub3VzbHkKCjIwMTEtMDgtMjMgMjA6NDk6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTdG9wIHRoZSBzdHJlYW1pbmcgdGFzayBvbiBQQVVTRURfVE9fUkVBRFkgc3RhdGUgY2hhbmdlCgoyMDExLTA4LTI1IDE5OjI0OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbWFrZSBjYW1lcmFiaW4yIHRlc3QgYnVpbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM2MwoKMjAxMS0wOC0yNSAxMjo0OToyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jCgoyMDExLTA3LTEyIDIxOjQ4OjM3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IEFkZCBtb3JlIGRlYnVnCgoyMDExLTA3LTEyIDE5OjA5OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogTWF4IGV2ZW50IHR5cGUgaXMgMTUKCjIwMTEtMDQtMTQgMTU6NDY6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBBbGlnbiBEVE1GIHNvdW5kIGJ1ZmZlcnMgd2l0aCBsYXN0LXN0b3AgZnJvbSBldmVudAoJICBBbHNvIG1ha2Ugc3VyZSB0aGUgdGltZXN0YW1wcyBuZXZlciBnbyBiYWNrd2FyZHMKCjIwMTEtMDctMTEgMjE6MzE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENvcnJlY3RseSByZWNvZ25pemUgdGhlIGVuZCBvZiBhIGJ1ZmZlcgoKMjAxMS0wNy0xMSAyMDo0NzoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogTWFrZSBzdXJlIHJ0cGR0bWZzcmMgdGltZXN0YW1wcyBkb24ndCBvdmVybGFwCgoyMDExLTA3LTExIDIwOjQ2OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQdXQgdGhlIGludGVyIGRpZ2l0IGludGVydmFsIGF0IHRoZSBlbmQsIG5vdCBhdCB0aGUgc3RhcnQKCSAgVGhlIHJlYXNvbiBpcyB0byBsZXQgcnRwZHRtZm11eCBkcm9wIGJ1ZmZlcnMgZHVyaW5nIHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCwKCSAgdGhpcyB3YXksIHRoZXJlIHdpbGwgYmUgbW9yZSBzaWxlbmNlIGFyb3VuZCB0aGUgRFRNRiB0b25lcyBzbyBJVkZzIHdpbGwgaGF2ZQoJICBhIGJldHRlciBjaGFuY2UgcmVjb2duaXppbmcgdGhlbS4KCjIwMTEtMDQtMTQgMTc6MDg6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBTdGFydCBhdCB0aGUgbGFzdF9zdG9wIGZyb20gdGhlIHN0YXJ0IGV2ZW50IGlmIHRoZXJlIHdhcyBvbmUKCSAgVGhlIGdvYWwgaXMgdG8gdHJ5IHRvIG5vdCBoYXZlIGEgR0FQIGJldHdlZW4gdGhlIGF1ZGlvIGFuZCB0aGUgRFRNRgoKMjAxMS0wNC0xNCAxNDozNDoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IEFkZCBsYXN0LXN0b3AgdG8gZHRtZi1ldmVudCB1cHN0cmVhbSBldmVudHMKCSAgQWRkIHRoZSBydW5uaW5nIHRpbWUgb2YgdGhlIGxhc3Qgb3V0cHV0dGVkIGJ1ZmZlciB0byB0aGUKCSAgdXBzdHJlYW0gImR0bWYtZXZlbnQiIGV2ZW50cyBzbyB0aGF0IHRoZSBkdG1mIHNvdXJjZSBkb2VzIG5vdAoJICBsZWF2ZSBhIGdhcC4KCjIwMTEtMDQtMTQgMTY6NDk6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBydHBkdG1mc3JjOiBSZXNwZWN0IHB0aW1lIGZyb20gdGhlIGNhcHMKCSAgUmVzcGVjdCB0aGUgcHRpbWUgZnJvbSB0aGUgY2FwcyBmb3IgdGhlIERUTUYgcGFja2V0cwoKMjAxMS0wNy0xMSAyMTozMDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogSnVzdCBlcnJvciBvdXQgaWYgdGhlcmUgaXMgbm8gY2xvY2sKCjIwMTEtMDgtMjQgMTY6NTM6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFrZSBnc3Rfa2F0ZV91dGlsX2lzX3V0Zjhfc3RyaW5nKCkgaW5saW5lIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggb2xkZXIgbGlia2F0ZSB2ZXJzaW9ucwoJICBnc3RrYXRldXRpbC5jOjIzMDoxOiBlcnJvcjogJ2dzdF9rYXRlX3V0aWxfaXNfdXRmOF9zdHJpbmcnIGRlZmluZWQgYnV0IG5vdCB1c2VkCgoyMDExLTA4LTI0IDE1OjMyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIHJzbmR2ZDogZW5zdXJlIG1ldGFkYXRhIGlzIHdyaXRhYmxlIHdoZW4gd3JpdGluZyB0byBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MjUwCgoyMDExLTA4LTI0IDA5OjM1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBGQUxTRSBpbnN0ZWFkIG9mIDAgZm9yIGJvb2wgcGFyYW1ldGVyCgoyMDExLTA4LTIzIDIyOjQ0OjE3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTmVlZCB0byBzZW5kIGEgbmV3c2VnbWVudCBhZnRlciBhIHNlZWsKCjIwMTEtMDgtMjMgMjI6Mzg6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZW5kIGJ1ZmZlcmluZyBtZXNzYWdlcyBvbiB0aGUgYnVzCgoyMDExLTA4LTIzIDIyOjM4OjA1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2FjaGUgdGhlIG51bWJlciBvZiBmcmFnbWVudHMgd2UgYXJlIHJlcXVpcmVkIHRvIGNhY2hlCgoyMDExLTA4LTIzIDIyOjQwOjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRm9yd2FyZCBzZWVrL2R1cmF0aW9uIHF1ZXJ5L2V2ZW50IHRvIHRoZSBzaW5rcGFkCgoyMDExLTA4LTI0IDAxOjAzOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT3B0aW1pemUgc3RhcnQgdXAgYSBsaXR0bGUgYnkgcmVtb3Zpbmcgc29tZSBwYWQgY2hlY2tzCgkgIFNvbWUgcGFkIGNoZWNrcyBhcmUgZ3VhcmFudGVlZCB0byB3b3JrLCBzbyB3ZSBjYW4gZGlzYWJsZSB0aGVtCgkgIGJ5IHVzaW5nIGdzdF9lbGVtZW50X2xpbmtfcGFkc19mdWxsCgoyMDExLTA4LTIzIDE5OjI2OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogUmVtb3ZlIGZyb20gZXhwZXJpbWVudGFsCgkgIFJlbW92ZSBjYW1lcmFiaW4yIGZyb20gZXhwZXJpbWVudGFsLCBhbGxvd2luZyBpdCB0byBiZSBidWlsdAoJICB3aXRob3V0IG5lZWRpbmcgdG8gcGFzcyAtLWVuYWJsZS1leHBlcmltZW50YWwgb24gY29uZmlndXJlLgoKMjAxMS0wOC0yMyAxOToxMzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsd2F5cyBzZXQgZW5jb2RlYmluIGZsYWdzIHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgV2hlbiBnb2luZyBmcm9tIE5VTEwgdG8gUkVBRFkgd2Ugd2FudCB0aGUgZW5jb2RlYmluIGZsYWdzIHRvIGJlCgkgIHNldCwgYW5kIG5vdCBvbmx5IGFmdGVyIGNyZWF0aW5nIGVuY29kZWJpbiAob24gdGhlIGZpcnN0IHJ1bikKCjIwMTEtMDgtMjMgMTE6NTg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBuZXcgZW50cnkgdG8gZmxhZ3MgcHJvcGVydHkKCSAgQWRkcyBhIG5ldyBlbnRyeSB0byBjYW1lcmFiaW4yIGZsYWdzIHRvIGRpc2FibGUgdmlld2ZpbmRlcgoJICBjb252ZXJzaW9uIGVsZW1lbnRzLgoKMjAxMS0wOC0yMyAxMToxOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogQWRkIHByb3BlcnR5IGZvciBkaXNhYmxpbmcgY29udmVydGVycwoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIGRpc2FibGUgY29udmVydGVycyBlbGVtZW50cyBmb3IgcGVyZm9ybWFuY2UKCSAgcmVhc29ucy4gSXQgc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGUgYXBwbGljYXRpb24ga25vd3MgdGhleSBhcmVuJ3QKCSAgbmVlZGVkLgoKMjAxMS0wOC0xOSAxNzoyODo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3QgdHJ5IHRvIGNvbXBhcmUgYSBQQ1Igd2l0aCBpdHNlbGYgZm9yIHN0YXRpc3RpY3MKCSAgRXNwZWNpYWxseSBhcyBvbmUgb2YgdGhlIGxvZ3Mgd2lsbCBjYXVzZSBhIGRpdmlkZSBieSB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI3CgoyMDExLTA4LTE5IDEzOjMyOjE0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCBrZWVwIGEgZGFuZ2xpbmcgcG9pbnRlcgoJICBXaGVuIHJlbW92aW5nIHRoZSBjdXJyZW50IHByb2dyYW0sIGl0IHdpbGwgZ2V0IGZyZWVkIGJ5IHRoZQoJICBoYXNoIHRhYmxlIHJlbW92YWwgY2FsbGJhY2ssIHNvIGVuc3VyZSB3ZSBjbGVhciBvdXIgcG9pbnRlcgoJICB0byBpdC4KCSAgRml4ZXMgYSBjcmFzaCBsYXRlciBvbiBpbiBnc3RfdHNfZGVtdXhfcHVzaCB0cnlpbmcgdG8gYWNjZXNzIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI3CgoyMDExLTA4LTIxIDIwOjM2OjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogcGFzcyBvbiB0aW1lZCBldmVudCBtZXRhZGF0YSBhcyB0YWdzIHdoZW4gd2UgY2FuCgkgIE1ldGFkYXRhIGF0dGFjaGVkIHRvIG90aGVyIG9iamVjdHMgdGhhdCBtYXkgYmUgdXNlZCBpbiB0aGlzCgkgIGV2ZW50IGFyZSBub3QgcGFzc2VkLCBhcyBpcyBiaW5hcnkgbWV0YWRhdGEuCgoyMDExLTA4LTIzIDEwOjMyOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgQUNfTVNHX0NIRUNLSU5HKCkgdG8gdGhlIFZQOEVfU0VUX1RVTklORyBwcmVzZW5jZSBjaGVjawoKMjAxMS0wOC0xOSAxOToxNzoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogcHJvYmUgZm9yIHRoZSBuZXcgdHVuaW5nIEFQSSB0byBrZWVwIGJ1aWxkaW5nIHdpdGggb2xkZXIgbGlidnB4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjgKCjIwMTEtMDgtMTggMTM6MjE6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmdkZWM6IHVzZSBpbnB1dCBidWZmZXIgdGltaW5ncyBpZiBwb3NzaWJsZQoJICBTVkcgZGF0YSBtYXkgY29tZSB0aHJvdWdoIG11bHRpcGxlIGJ1ZmZlcnMsIHNvIGtlZXAgdHJhY2sgb2YgdGhlCgkgIHRpbWVzdGFtcCBvZiB0aGUgZmlyc3QgYnVmZmVyLCBhbmQgdXNlIGl0IGluIHByZWZlcmVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjgyODQKCjIwMTEtMDgtMjIgMTc6MTA6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBkbyBub3QgY29uc2lkZXIgYW4gZW1wdHkgU1BVIHRvIGJlIGEgZmF0YWwgZXJyb3IKCSAgSW5zdGVhZCwganVzdCBlbmNvZGUgbm90aGluZyBhbmQgZ28gb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwOTEKCjIwMTEtMDgtMjIgMTc6MTU6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBkbyBub3QgY2xlYXIgb3V0IGhpZ2ggYml0cyBmcm9tIGRpc3BsYXkgYXJlYQoJICBodHRwOi8vZHZkLnNvdXJjZWZvcmdlLm5ldC9zcHVfbm90ZXMgZG9lcyBub3QgbWVudGlvbiB0aGF0IGhpZ2ggYml0cwoJICBhcmUgdG8gYmUgbWFza2VkLCBhbmQgbm90IGNsZWFyaW5nIHRoZW0gbWFrZXMgYSBzYW1wbGUgd29yaywgd2hlcmUKCSAgY2xlYXJpbmcgdGhlbSB5aWVsZGVkIGxlZnQgPiByaWdodC4KCSAgSGlzdG9yeSBmcm9tIHRoZSBkdmRzcHUgcGx1Z2luLCBmcm9tIHdoZXJlIHRoaXMgY29kZSB3YXMgY29waWVkLAoJICBkb2VzIG5vdCBzaGVkIGFueSBsaWdodCwgYXMgdHJhY2luZyB0aGlzIGNvZGUncyBvcmlnaW4gc2hvd3MKCSAgdGhlIHNhbWUgYml0bWFza3MgYmVpbmcgdGhlcmUgaW4gMjAwNyB3aGVuIGl0IHdhcyBpbXBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA5MQoKMjAxMS0wOC0yMiAxNjo1MjoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSAgZHZkc3B1OiBkbyBub3QgY2xlYXIgb3V0IGhpZ2ggYml0cyBmcm9tIGRpc3BsYXkgYXJlYQoJICBodHRwOi8vZHZkLnNvdXJjZWZvcmdlLm5ldC9zcHVfbm90ZXMgZG9lcyBub3QgbWVudGlvbiB0aGF0IGhpZ2ggYml0cwoJICBhcmUgdG8gYmUgbWFza2VkLCBhbmQgbm90IGNsZWFyaW5nIHRoZW0gbWFrZXMgYSBzYW1wbGUgd29yaywgd2hlcmUKCSAgY2xlYXJpbmcgdGhlbSB5aWVsZGVkIGxlZnQgPiByaWdodC4KCSAgSGlzdG9yeSBkb2VzIG5vdCBzaGVkIGFueSBsaWdodCwgYXMgdHJhY2luZyB0aGlzIGNvZGUncyBvcmlnaW4gc2hvd3MKCSAgdGhlIHNhbWUgYml0bWFza3MgYmVpbmcgdGhlcmUgaW4gMjAwNyB3aGVuIGl0IHdhcyBpbXBvcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDExOQoKMjAxMS0wOC0yMyAwOTo1MjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGaXJzdCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyBzZWVraW5nIGluIFRJTUUgZm9ybWF0IGJlZm9yZSBzZWVraW5nIGluIHRoZSBkZW11eGVyCgoyMDExLTA4LTIzIDA5OjQwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpcnN0IHNlbmQgU0VFS0lORyBxdWVyaWVzIHVwc3RyZWFtCgoyMDExLTA4LTIzIDA5OjI3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNlbmQgRFVSQVRJT04gcXVlcnkgdXBzdHJlYW0gZmlyc3QKCjIwMTEtMDgtMjMgMDk6MjM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXNlIEZBTFNFIGluc3RlYWQgb2YgMCBmb3IgYSBib29sIHBhcmFtZXRlcgoKMjAxMS0wOC0xNiAxOTo1MzozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN3aXRjaCBwYWRzIHdoZW4gd2Ugc2VlayAobmVlZF9zZWdtZW50KSBzaW5jZSB0c2RlbXV4IGRvZXNuJ3QgY29wZSB3ZWxsIHdpdGggYSByZXNldAoKMjAxMS0wOC0yMyAwMjozNjoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBhIEZJWE1FIGNvbW1lbnQuIGxvb3AgdGFzayBzaG91bGQgYmUgYSBwYWQgdGFzawoKMjAxMS0wOC0yMiAyMzo0MTozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBzZWVrIGluIGEgbGl2ZSBzdHJlYW0KCjIwMTEtMDgtMjIgMjM6NDE6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgdGFrZSB0aGUgcGFkIHN0cmVhbSBsb2NrLCB1c2UgdGhlIHRhc2sncyBsb2NrIGluc3RlYWQKCjIwMTEtMDgtMTYgMTk6NDY6NDkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBFVkVOVF9TRUVLCgoyMDExLTA4LTIzIDAxOjU0OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IHRoZSBHU1RfUVVFUllfU0VFS0lORyBwcm9wZXJseQoKMjAxMS0wOC0yMyAwMTo1NDowMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBjb3JyZWN0bHkgdGhlIEdTVF9RVUVSWV9EVVJBVElPTgoKMjAxMS0wOC0xNiAxOTo0MTowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCB1c2UgR1NUX1RBU0tfV0FJVCBpbiB0aGUgdGFzayBmdW5jdGlvbgoJICBUaGUgdGFzayBmdW5jdGlvbiB1c2VzIEdTVF9UQVNLX1dBSVQgd2hpY2ggZG9lcyBhIGdfY29uZF93YWl0IGdpdmluZyBpdAoJICB0aGUgR1NUX09CSkVDVF9HRVRfTE9DSyBvZiB0aGUgdGFzay4gVGhlIG11dGV4IGdldHMgbG9ja2VkIHdoZW4KCSAgZ19jb25kX3dhaXQgcmV0dXJucywgc28gaWYgd2UgZG9uJ3QgbG9jay91bmxvY2sgaXQsIGl0IHdpbGwKCSAgc3RheSBsb2NrZWQgZm9yZXZlciwgcHJldmVudGluZyB0aGUgdGFzayBmcm9tIGV2ZXIgZmluaXNoaW5nLgoJICBXZSBzaG91bGRuJ3QgbG9jayB0aGUgdGFzayBvYmplY3QgbG9jaywgc28gbGV0J3MgcmVtb3ZlIHRoZSBHU1RfVEFTS19XQUlUCgkgIGFuZCBtYWtlIHRoZSB0YXNrIHBhdXNlIGluc3RlYWQgaWYgdGhlcmUgYXJlIG5vIGJ1ZmZlcnMgaW4gdGhlIHF1ZXVlLgoKMjAxMS0wOC0xOCAyMzo1MjozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCBzZW5kIGEgbmV3LXNlZ21lbnQgb24gc3RyZWFtIHJlbW92YWwKCSAgV2hlbiBhIHByb2dyYW0gaXMgY2hhbmdlZCwgc3RyZWFtX2FkZGVkIGlzIGNhbGxlZCB3aGljaCBzZXRzIHRoZQoJICBuZWVkX25ld3NlZ21lbnQgdG8gVFJVRSwgdGhlbiBzdHJlYW1fcmVtb3ZlZCBpcyBjYWxsZWQsIHdoaWNoIGNhbGxzCgkgIHRoZSBmbHVzaF9wZW5kaW5nX2RhdGEsIHdoaWNoIGNoZWNrcyBmb3IgdGhlIG5ld3NlZ21lbnQgYW5kIGNhdXNlcwoJICBpdCB0byBzZW5kIGEgbmV3LXNlZ21lbnQuCgkgIFdlIG11c3Qgbm90IHNlbmQgdGhlIG5ld3NlZ21lbnQgd2hlbiBmbHVzaGluZyB0aGUgcGVuZGluZyBkYXRhIG9uIHRoZQoJICByZW1vdmVkIHN0cmVhbS4gV2Ugc2hvdWxkIG9ubHkgcHVzaCBpdCB3aGVuIGZsdXNoaW5nIGRhdGEgb24gdGhlIG5ld2x5CgkgIGFkZGVkIHN0cmVhbXMgKGFmdGVyIHRoZXkgZmluaXNoIHBhcnNpbmcgdGhlaXIgUFRTIGhlYWRlcikKCjIwMTEtMDgtMTYgMjI6MDU6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggbmV3c2VnbWVudCB3aGVuIHN3aXRjaGluZyBwcm9ncmFtcwoJICBJZiBhIHByb2dyYW0vc3RyZWFtIGlzIGNoYW5nZWQsIHRoZW4gYSBuZXdzZWdtZW50IGlzIHNlbnQgd2hpY2ggbXVzdAoJICBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIGJhc2Ugc2VnbWVudCBzaW5jZSBpdCBoYXBwZW5zIGxhdGVyLiBXZSBtdXN0CgkgIHNoaWZ0IHRoZSBzdGFydCBwb3NpdGlvbiBieSB0aGUgdGltZSBlbGFwc2VkIHNpbmNlIHRoZSBuZXdzZWdtZW50CgkgIGFuZCB0aGUgY3VycmVudCBQVFMgb2YgdGhlIHN0cmVhbQoKMjAxMS0wOC0xNiAxOTo1NDowNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGludGVycG9sYXRlIGdhcCBhbmQgZml4IHRpbWVzdGFtcHMgZGVwZW5kaW5nIG9uIHVwc3RyZWFtIHNlZ21lbnQKCjIwMTEtMDgtMTggMjM6NTQ6NTkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEtlZXAgYSBzZXBhcmF0ZSB2YXJpYWJsZSBmb3IgdGhlIGN1cnJlbnQgdmFyaWFudCB1c2VkCgkgIEJ5IHVzaW5nIGEgc2VwYXJhdGUgdmFyaWFibGUsIGZpcnN0IGl0IGFsbG93cyB1cyB0byBzb3J0IHRoZSBsaXN0cwoJICBvZiBhbHRlcm5hdGVzIGJ1dCBrZWVwIHRoZSBwb2ludGVyIG9uIHRoZSBmaXJzdCBvY2N1cmVuY2UgaW4gdGhlIG1haW4KCSAgcGxheWxpc3QgKHRvIHJlc3BlY3QgdGhlIHNwZWMgb2Ygc3RhcnRpbmcgd2l0aCB0aGUgYml0cmF0ZSBzcGVjaWZpZWQKCSAgZmlyc3QgaW4gdGhlIG1haW4gcGxheWxpc3QpLiBJdCBhbHNvIGF2b2lkIHBsYXlpbmcgd2l0aCB0aGUgbGlzdHMgdmFyaWFibGUKCSAgd2hpY2ggc2hvdWxkIGJlIHVzZWQgdG8gc3RvcmUgdGhlIGxpc3Qgb2YgcGxheWxpc3RzIGFuZCBub3QgYXMgYSBwb2ludGVyCgkgIHRvIHRoZSBjdXJyZW50IG9uZS4KCSAgQWxzbyBmaXhlcyBhIG1lbWxlYWsgd2l0aCB0aGUgZ19saXN0X2ZvcmVhY2ggZnJlZWluZyB0aGUgbGlzdHMsIGlmIGl0IHdhc24ndAoJICBwb2ludGluZyB0byB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgbGlzdC4KCjIwMTEtMDgtMjEgMTg6NDQ6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGZpeCBjb21waWxhdGlvbiBvbiBMaW51eAoKMjAxMS0wOC0xOCAxNDoyOTo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBzdWJkZXZpY2UgcHJvcGVydHkKCjIwMTEtMDctMDcgMTY6NDQ6MzEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSV9pLmM6CgkgIGRlY2tsaW5rOiBhZGQgc3VwcG9ydCBmb3IgV2luZG93cwoJICBCdWlsZHMgd2l0aCBNU1ZDLCBub3QgdGVzdGVkIGluIE1pbkdXIG9yIGFueXRoaW5nIGVsc2UuIEFkZGVkCgkgIENPTSBoYW5kbGluZyBjb2RlLCBib3Jyb3dlZCBmcm9tIGRzaG93dmlkZW9zaW5rLiBNb3ZlZCBMaW51eAoJICBzcGVjaWZpYyBmaWxlcyB0byAuL2xpbnV4IGFuZCBhZGRlZCBXaW5kb3dzIHNwZWNpZmljIGZpbGVzIHRvCgkgIC4vd2luIChnZW5lcmF0ZWQgZnJvbSBJREwgZmlsZXMgaW4gVlM5KS4gQWRkZWQgbWFjcm9zIHRvIGhhbmRsZQoJICBCU1RSIGFuZCBkZWZpbmVkIGJvb2wgYXMgQk9PTC4gIEZpeGVzICM2NTUzNjIuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDozNDowMSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBpbXByb3ZlIGZyYW1lIGhhbmRsaW5nCgkgIFNlbmQgTkVXU0VHTUVOVCBvbiBzdGFydC4gU2VuZCB3YXJuaW5nIGluc3RlYWQgb2YgZXJyb3Igb24KCSAgZHJvcHBlZCBmcmFtZXMuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNDoyMDozNyAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBmaXggZGVidWdnaW5nIGluIGNhcHR1cmUuY3BwIGJ5IG1ha2luZyBjYXRlZ29yeSBleHRlcm4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjEzOjAwIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJICBkZWNrbGluazogdXNlIG11dGV4ZXMgZnJvbSBnbGliIGluc3RlYWQgb2YgcHRocmVhZAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMTYgMTc6MTk6NDkgLTAzMDAgIFRpYWdvIEPDqXNhciBLYXRjaXBpcyA8dGlhZ29rYXRjaXBpc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuaDoKCSAgcmVtb3Zlc2lsZW5jZTogbmV3IHBsdWdpbgoJICBGaXhlczogIzU5NzgyMi4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTIxIDE0OjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBQcmV2ZW50IGF1ZGlvc3JjIGZyb20gc2VuZGluZyB1bmRlc2lyZWQgZW9zCgkgIEJhc2VzcmMgZGVyaXZlZCBjbGFzc2VzIHNlbmQgYW4gZW9zIHdoZW4gdGhleSBjaGFuZ2Ugc3RhdGUKCSAgZnJvbSBwYXVzZWQgdG8gcmVhZHkgYW5kIHRoYXQgYnJlYWtzIHZpZGVvIHJlY29yZGluZ3Mgb24gY2FtZXJhYmluMgoJICBhcyBpdCBtYWtlcyB0aGUgd2hvbGUgYXVkaW8gYnJhbmNoIHBhZHMgZmx1c2hpbmcuCgkgIFByZXZlbnQgaXQgYnkgdXNpbmcgYSBwYWQgcHJvYmUgdGhhdCBvbmx5IGFsbG93cyB0aGUgZW9zIHRvIHBhc3MKCSAgd2hlbiBpdCBpcyBjYXVzZWQgYnkgYSBzdG9wLWNhcHR1cmUgYWN0aW9uLgoKMjAxMS0wOC0yMSAxNDowNzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBVc2UgYXVkaW90ZXN0c3JjIG9uIHRlc3RzCgkgIFVzZSBhdWRpb3Rlc3RzcmMgb24gdGVzdHMgaW5zdGVhZCBvZiB1c2luZyB0aGUgc3lzdGVtJ3MgZGVmYXVsdAoJICBhdWRpb3NyYywgYXZvaWRpbmcgYW55IHByb2JsZW1zIHRoYXQgYSBsb2NhbCBhdWRpbyBzZXR1cCBtaWdodAoJICBoYXZlLgoKMjAxMS0wOC0xOCAxODoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBnc3RfcGFkX3NlbmRfZXZlbnQgaW5zdGVhZCBvZiBldmVudGZ1bmMgbWFjcm8KCjIwMTEtMDgtMTQgMDQ6NDE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogSW1wcm92aW5nIHRlc3RzCgkgIEFkZGluZyBzb21lIGFkZGl0aW9uYWwgY2hlY2tzIGZvciBjdXN0b20gY2FtZXJhYmluMiBtZXNzYWdlcwoJICBBbHNvIGltcHJvdmVzIHJlbGlhYmlsaXR5IG9mIHRoZSB0ZXN0cyBieSB3YWl0aW5nIGZvciB0aGUgcHJldmlldy1idWZmZXIgbWVzc2FnZS4KCSAgVGhpcyBtZXNzYWdlIGlzIGdlbmVyYXRlZCBmcm9tIHRoZSBwcmV2aWV3IHBpcGVsaW5lLCBhbmQgbWlnaHQgYXJyaXZlIGxhdGVyIHRoYW4gdGhlCgkgIGltYWdlL3ZpZGVvLWRvbmUgZnJvbSB0aGUgbWFpbiBjYW1lcmFiaW4yIHBpcGVsaW5lLCB0aGUgdGVzdHMgbmVlZCB0byB3YWl0IGZvciBpdCBldmVuCgkgIGFmdGVyIGdldHRpbmcgdGhlIGltYWdlL3ZpZGVvLWRvbmUuCgoyMDExLTA4LTE4IDE1OjEyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHBsdWdpbiBjcmVhdGlvbiBmYWlscwoJICBDYXBzZmlsdGVycyBhcmUgY3JlYXRlZCBvbiB0aGUgY29uc3RydWN0b3IgYW5kIHRoZWlyIHByb3BlcnRpZXMgY2FuCgkgIGJlIHNldC9nZXQgZnJvbSBjYW1lcmFiaW4yJ3Mgc2V0L2dldF9wcm9wZXJ0eSBmdW5jdGlvbnMuIFRoZSB1c2VyIHdpdGgKCSAgYSBicm9rZW4gc2V0dXAgd291bGQgY2F1c2UgYXNzZXJ0aW9ucyB3aGVuIHRyeWluZyB0byBzZXQvZ2V0IHRoZQoJICBjYXB0dXJlIGNhcHMgb2YgdGhpcyBjYW1lcmFiaW4yLgoJICBBIHByb3BlciBtaXNzaW5nLXBsdWdpbiBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8KCSAgc2V0IGNhbWVyYWJpbjIgdG8gUkVBRFkgc3RhdGUuCgoyMDExLTA4LTIwIDAwOjQ4OjIwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgcmVtb3ZlIGFuIGlmIChiZXN0KSBjaGVjayB3aGVyZSBiZXN0ICE9IE5VTEwgaGFzIGFscmVhZHkgYmVlbiBjaGVja2VkCgoyMDExLTA4LTE2IDE5OjUxOjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiByZWluaXRpYXRlIHNlZ21lbnQgYXQgZmx1c2gtc3RvcCBldmVudCBvbmx5CgoyMDExLTA4LTE2IDE5OjQzOjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBTZXQgYnVmZmVyIHRpbWVzdGFtcCBzaW5jZSB3ZSBzZW5kIGEgVElNRSBzZWdtZW50CgoyMDExLTA4LTAyIDE5OjIxOjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxsb3cgYmFuZHdpZHRoIHN3aXRjaGluZyBkdXJpbmcgY2FjaGluZyBvZiBmcmFnbWVudHMKCjIwMTEtMDgtMDIgMTk6MjE6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgdGhlIHBhZCdzIGNhcHMgYmVmb3JlIGFkZGluZyBpdAoKMjAxMS0wOC0xNyAxMTowMjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGZpbmdlcnByaW50IGNyZWF0aW9uIGNhbiBmYWlsCgkgIFRoZXJlIGRvZXMgbm90IHNlZW0gdG8gYmUgYSB3YXkgdG8gcmV0cmlldmUgaW5mb3JtYXRpb24KCSAgYWJvdXQgd2h5IGZhaWx1cmUgb2NjdXJlZCwgdW5mb3J0dW5hdGVseS4KCSAgV2hlbiBmYWlsdXJlIG9jY3VycywgZG8gbm90IHBvc3QgYSBOVUxMIGZpbmdlcnByaW50IHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNyAxMDo1NTo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGNsZWFudXAKCSAgQXZvaWQgcmVwZWF0aW5nIGNhc3RpbmcgdG8gR3N0QXVkaW9GaWx0ZXIgd2hlbiBvbmUgd2lsbCBkbwoJICBVc2Ugb2JqZWN0IHJlbGF0ZWQgbG9nZ2luZyB0byBtYWtlIGl0IGVhc2llciB0byBnZXQganVzdCB0aGUgbG9ncyB3ZSB3YW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTcgMTE6MDc6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBkbyBub3QgY3JlYXRlIGZpbmdlcnByaW50IG9uIEVPUyBpZiByZWNvcmQgaXMgRkFMU0UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xOCAxMDozOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlbW92ZSB1bnVzZWQgYW5kIHVzZWxlc3MgdmFyaWFibGUgaW4gdGFncyBoYW5kbGluZwoKMjAxMS0wOC0xOCAwODowMjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRml4IGxvY2tpbmcsIGVzcGVjaWFsbHkgaWYgYm90aCBwYWRzIGhhdmUgZGlmZmVyZW50IHN0cmVhbWluZyB0aHJlYWRzCgoyMDExLTA4LTE4IDA3OjQyOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRG9uJ3QgY2FsbCBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoKSBpbiBjbGFzc19pbml0CgkgIFRoaXMgaXMgYWxyZWFkeSBkb25lIGJ5IHRoZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvCgoyMDExLTA4LTE3IDE5OjAxOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOC0xNiAxMDoyNDozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSAgYWlmZm11eDogZHJvcCBkYXRhIGFmdGVyIDRpc2ggR0IgYW5kIG1vYW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxMDowMjo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IHVzZSBndWludDMyIGZvciBndWludDMyIHBhcmFtZXRlcnMKCSAgVGhpcyBtYWtlcyBleHBsaWNpdCB0aGF0IHRoZSByYW5nZSBpcyBsaW1pdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDEwOjAyOjExICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogYXZvaWQgaW50ZWdlciBvdmVyZmxvdwoJICBUaGVzZSB2YWx1ZXMgYXJlIDMyIGJpdHMsIGFuZCB3aWR0aCBpcyBhIG11bHRpcGxlIG9mIDguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTk6Mzk6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBtYWtlIHRoaXMgY29tcGlsZSB3aXRoIGdpdCBsaWJjZWx0CgkgIGNlbHRfbW9kZV9pbmZvIHdhcyByZW1vdmVkLCBpbiBmYXZvciBvZiBhIF9jdGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2ODYKCjIwMTEtMDgtMTYgMTg6MzQ6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBkb24ndCBjcmFzaCB3aGVuIHRoZXJlJ3Mgbm8gZGF0YSB0byBjcmVhdGUgYSBmaW5nZXJwcmludCBmcm9tCgkgIEZpeGVzIGEgY3Jhc2ggd2hlbiBubyBkYXRhIGZsb3dlZCB0aHJvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE2IDE5OjQ3OjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgZ3N0X2JpdF9yZWFkZXJfc2tpcCB0byBza2lwIG1vcmUgdGhhbiAzMiBiaXRzLgoJICBHRVRfQklUUyBpcyBhIG1hY3JvIGZvciBnc3RfYml0X3JlYWRlcl9nZXRfYml0c191aW50MzIsIHdoaWNoIGNhbm5vdAoJICByZWFkIG1vcmUgdGhhbiAzMiBiaXRzIGFuZCB3aWxsIGZhaWwgaW4gdGhpcyBjYXNlIHdoZXJlIGl0IGlzIGNhbGxlZAoJICB0byByZWFkIDc5IGJpdHMuIFNpbmNlIHdlIHdhbnQgdG8gc2tpcCB0aG9zZSBiaXRzLCBnc3RfYml0X3JlYWRlcl9za2lwCgkgIGlzIG1vcmUgYXBwcm9wcmlhdGUgaW4gdGhpcyBjYXNlLgoKMjAxMS0wOC0xNSAwMjowODoxNCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGdldCB0aGUgZnJhbWVyYXRlIGZyb20gY2FwcwoJICAuLi5hbmQgY29uZmlndXJlIFFUS2l0IGFjY29yZGluZ2x5LiBIYXJkY29kaW5nIHRvIDMwZnBzIHdhcyBwcmV0dHkgLWJhZC4KCjIwMTEtMDgtMTMgMTU6NTU6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHRlc3QgZm9yIGF1ZGlvLWZpbHRlciBwcm9wZXJ0eQoJICBDaGVja3MgdGhhdCB0aGUgYXVkaW8tZmlsdGVyIGlzIHByb3Blcmx5IHBsdWdnZWQgaW4gdGhlIHBpcGVsaW5lCgkgIGFuZCByZWNlaXZlcyBidWZmZXJzIHdoZW4gcmVjb3JkaW5nIGEgdmlkZW8uCgoyMDExLTA4LTExIDE4OjU5OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYXVkaW8tZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBhZGQgYSBjdXN0b20gR3N0RWxlbWVudCB0byB0aGUgYXVkaW8KCSAgYnJhbmNoIG9mIHRoZSBwaXBlbGluZS4gVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gZG8gY3VzdG9tIGF1ZGlvCgkgIHByb2Nlc3NpbmcvYW5hbHlzaXMgd2hlbiByZWNvcmRpbmcgdmlkZW9zLgoKMjAxMS0wOC0xMiAyMjozOTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGJhc2V2aXN1YWxpemVyOiBhZGQgbW9yZSBzaGFkZXIgdmFyaWFudHMgYW5kIHNpbXBsaWZ5IGNvZGUKCSAgVXNlIG1hY3JvcyB0byBzaW1wbHlmeSB0aGUgc2hhZGluZyBjb2RlLiBUaG9zZSB3aWxsIGVhc2UgdG8gYWRkIHN1cHBvcnQgZm9yCgkgIG90aGVyIGNvbG9yc3BhY2VzIGluIHRoZSBmdXR1cmUuIEFkZCBtb3JlIHZhcmlhbnRzIGZvciB0aGUgc2hhZGluZyAobGVmdCxyaWdodCwKCSAgaG9yaXotaW4sIHZlcnQtb3V0LCB2ZXJ0LWluKS4KCjIwMTEtMDgtMTIgMjE6MjI6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZXZpc3VhbGl6ZXI6IG1vcmUgZG9jcwoKMjAxMS0wOC0xMiAyMToxODo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IHByb3RlY3QgY29uZmlnIHdpdGggYSBsb2NrCgkgIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBjcmFzaCB0aGUgZWxlbWVudHMgd2hlbiB1c2luZyBhIHhpbWFnZXNpbmsgYW5kIHRyaWdnZXJpbmcKCSAgcmVuZWdvdGlhdGlvbiBieSByZXNpemluZy4KCjIwMTEtMDgtMTIgMTY6NTc6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IG1ha2UgYSBjb3B5IG9mIHRoZSBhdWRpb2RhdGEgYmVmb3JlIGRvd25taXhpbmcgYW5kIHdpbmRvd2luZwoJICBUaGUgYnVmZmVycyBjb21lIGZyb20gdGhlIGFkYXB0ZXIgYW5kIHRoZSBkYXRhIG1pZ2h0IG92ZXJsYXAuIFdlIGRvbid0IHdhbnQgdG8KCSAgbW9kaWZ5IGl0IGluIHBsYWNlLgoKMjAxMS0wOC0xMiAxMjoyNTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQcm94eSB0aGUgd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZS9QQVIgY29uc3RyYWludHMgb2YgZG93bnN0cmVhbSBjYXBzIHRvIHVwc3RyZWFtCgkgIFRoaXMgYWxsb3dzIHRvIHNwZWNpZnkgY29uc3RyYWludHMgb24gdGhlIGNvbXByZXNzZWQgZG93bnN0cmVhbSBjYXBzCgkgIGJ5IG11eGVycyBvciBjYXBzZmlsdGVycywgd2hpY2ggd2lsbCB0aGVuIGJlIGZvcndhcmRlZCB0byB1cHN0cmVhbQoJICBhbmQgYWxsb3dzIHZpZGVvIGNvbnZlcnRlcnMgdG8gZnVsZmlsbCB0aGUgY29uc3RyYWludHMuCgkgIENvZGUgYmFzZWQgb24gTWFyayBOYXV3ZWxhZXJ0cyBhdWRpbyBlbmNvZGVyIGJhc2UgY2xhc3MuCgoyMDExLTA4LTEyIDEyOjEzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFJlbW92ZSBvbGQgOjpnZXRjYXBzKCkgY29tbWVudAoKMjAxMS0wOC0xMiAxMjowODozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBiYXNldmlkZW9lbmNvZGVyIDo6Z2V0X2NhcHMoKSByZW1vdmFsCgoyMDExLTA4LTEyIDEyOjA2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFJlbW92ZSA6OmdldF9jYXBzKCkgdmZ1bmMKCSAgU3ViY2xhc3NlcyBjYW4gc2V0IHRoZSBjYXBzIG1vcmUgZWZmaWNpZW50bHkgYW5kIHRoaXMgb25seQoJICBjYXVzZWQgYWRkaXRpb25hbCBpbmRpcmVjdGlvbnMuCgoyMDExLTA4LTA5IDA5OjI5OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBkbyBub3QgYXNzZXJ0IG9uIHRoZSB2YWx1ZXMgb2YgZGF0YSByZWFkIGZyb20gaW5wdXQKCSAgSW5zdGVhZCwgbG9nIGEgd2FybmluZywgYW5kIHJldHVybi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzgyNwoKMjAxMS0wOC0wMyAxNjowMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBVc2UgdGhlIGNhY2hlZCB2aWRlbyBmcmFtZSBzaXplIGluc3RlYWQgb2YgcmVjYWxjdWxhdGluZyBpdAoKMjAxMS0wOC0wOCAxNzo1MzoxNiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogRml4IHNldCBidXQgdW51c2VkIHZhcmlhYmxlcwoJICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCB0cmlnZ2VycyAic2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzIgoJICBmcm9tIEdjYyA0LjYuICBGaXhlcyAjNjU2MTY2CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0wOCAxNjo0NDoyMCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzCgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IHRyaWdnZXJzICJzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMiIGZyb20gR2NjCgkgIDQuNi4gIEZpeGVzICM2NTYxNjQuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wOC0wNiAxMjoxMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB2aWRlby1kb25lIG1lc3NhZ2UKCSAgdmlkZW8tZG9uZSBtZXNzYWdlIHdpbGwgYmUgcG9zdGVkIHdoZW4gYSB2aWRlbyByZWNvcmRpbmcgaXMKCSAgZmluaXNoZWQuIFNpbWlsYXIgdG8gaW1hZ2UtZG9uZSBtZXNzYWdlLgoKMjAxMS0wOC0wNSAxNTo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB0b3AtbGV2ZWwgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDExLTA4LTA1IDEzOjM0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4aW5nIHR5cG8KCjIwMTEtMDgtMDQgMTM6MzM6MjAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0Bnb29nbGUuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSAgbW90aW9uY2VsbHM6IHR1cm4gdHdvIGdsb2JhbCB2YXJzIGludG8gc3RhdGljIHZhcmlhYmxlcwoJICBNb3ZlIDIgdmFyaWFibGUgdG8gbW90aW9uY2VsbHNfd2FycHBlciBhbmQgbWFrZSB0aGVtIHN0YXRpYy4KCjIwMTEtMDgtMDQgMTM6MzM6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUKCjIwMTEtMDgtMDQgMTE6Mjg6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkIGdzdGRlY2tsaW5rLmggdG8gbGlzdCBvZiBoZWFkZXJzCgoyMDExLTA4LTA0IDA5OjQ5OjQ2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHNlcXVlbmNlIGhlYWRlciBwYXJzaW5nCgkgIEFmdGVyIGJpdHJhdGUgdGhlcmUncyAxMSBiaXRzICgxIG1hcmtlciBiaXQgKyBWQlYgYnVmZmVyIHNpemUpIGJlZm9yZSB0aGUgbG9hZAoJICBpbnRyYSBxdWFudGlzZXIgZmxhZy4KCjIwMTEtMDgtMDQgMDk6NDA6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTA0IDA5OjM2OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbW1vbgoJICBjb25maWd1cmUuYWMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaAoJICBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmMKCjIwMTEtMDctMjEgMDg6NTg6MjcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgbWlzc2luZyBGTElDS0VSX1JFRFVDVElPTiBjYXBhYmlsaXR5CgkgIEdzdFBob3RvZ3JhcGh5IEFQSSBjb250YWlucyBmdW5jdGlvbnMgdG8gZ2V0L3NldCBmbGlja2VyIHJlZHVjdGlvbgoJICBtb2RlLCBidXQgR3N0UGhvdG9DYXBzIGVudW1lcmF0aW9uIGRvZXNuJ3QgaGF2ZSBpdGVtIGZvciBpdCwgc28gZWxlbWVudHMKCSAgYXJlIG5vdCBhYmxlIHRvIHJlcG9ydCB3aGV0aGVyIHRoZXkgc3VwcG9ydCB0aGlzIGZlYXR1cmUgb3Igbm90LgoJICBBbHNvIGFkZCB1c2VmdWwgR1NUX1BIT1RPR1JBUEhZX0NBUFNfQUxMIGZvciBlYXNpbHkgc2VsZWN0aW5nIGFsbAoJICBjYXBhYmlsaXRpZXMgYXQgb25jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTMxOAoKMjAxMS0wOC0wMyAxMzozNzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5oOgoJICBzdWJlbmM6IEFkZCB3ZWJ2dHRlbmMgZWxlbWVudAoKMjAxMS0wOC0wMyAxMzozNTo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IEZpeCB1bmluaXRpYWxpemVkIGVycm9yCgoyMDExLTA3LTA5IDIzOjIyOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBzaGFwZV9vdXRwdXQgaGFuZGxpbmcKCjIwMTEtMDctMDkgMjM6MDc6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogUmVtb3ZlIHVudXNlZCBzaGFwZV9vdXRwdXQgY29kZQoKMjAxMS0wNy0wOSAxODo1MzoyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBtb3JlIHByb3BlcnRpZXMKCjIwMTEtMDYtMTkgMTY6MDY6NDYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogYWRkIG1pbi9tYXhzZWN0aW9uLXBjdCBvcHRpb24KCSAgVGhpcyBvcHRpb25zIHNob3VsZCBiZSBnb29kIHRvIHJlZGV1Y2UgZGVjb2RlIENQVSBsb2FkLgoJICBmb3IgbG93ZW5kIGhhcmR3YXJlOgoJICBtaW5zZWN0aW9uLXBjdD0xNSBtYXhzZWN0aW9uLXBjdD00MDAKCSAgZm9yIGhpZW5kIGh3OgoJICBtaW5zZWN0aW9uLXBjdD01IG1heHNlY3Rpb24tcGN0PTgwMAoJICBzZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfdmJyX2VuY29kaW5nX2Zvcl9zbW9vdGhfcGxheWJhY2tfb25fbG93LWVuZF9oYXJkd2FyZQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAxMTowNTozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBhZGQgbGFnLWluLWZyYW1lcyBvcHRpb24uCgkgIFRoaXMgb3B0aW9uIHNldCBtYXhpbXVtIG9mIGZyYW1lcyBjb2RlYyBzaG91bGQgcmVtZW1iZXIsCgkgIHRvIG1ha2UgYmV0dGVyIHByZWRpa3Rpb24gZm9yIGFsdC1yZWYgZnJhbWVzLgoJICBTZWUgZXhhbXBsZToKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvdG9vbHMvZW5jb2Rlci1wYXJhbWV0ZXJzLyMyLXBhc3NfYmVzdF9xdWFsaXR5X3Zicl9lbmNvZGluZwoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xOSAwNzoxNjo1NyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB1c2UgbXVsdGlwYXNzLmNhY2hlIGZpbGUgbmFtZSBhcyBkZWZhdWx0IGZvciBtdWx0aXBhc3MgbW9kZS4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDkgMTY6MDU6MDcgLTA0MDAgIE11a3VsIE1ham11ZGFyIDxtdWt1bC5tYWptdWRhckBnbWFpbC5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogQWRkIHByb3BlcnRpZXMgZm9yIFZCUiBlbmNvZGluZwoJICBQcm9wZXJ0eSAicXVhbGl0eSIgdG8gc3BlY2lmeSBWQlIgcXVhbnRpemVyIHF1YWxpdHkgYW5kIHByb3BlcnR5CgkgICJicnR5cGUiIHRvIGNob29zZSBiZXR3ZWVuIEFCUiBhbmQgVkJSIGVuY29kaW5nLiBUaGUgZGVmYXVsdCBpcyBub3cgVkJSCgkgIHdpdGggcXVhbGl0eT0xMDAuCgkgIEZpeGVzIGJ1ZyAjNjU0MzEwLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTY6MDc6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGF1ZGlvLWlucHV0IHByb3BlcnR5CgoyMDExLTA3LTE4IDE1OjI1OjA1ICsxMDAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSAgaW50ZXI6IEFkZGluZyBtaXNzaW5nIGJhc2UgcmVxdWlyZW1lbnRzLgoJICBGaXhlczogIzY1NDgwNi4KCjIwMTEtMDgtMDMgMTU6MjE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgbW9yZSBtaXNzaW5nIHBsdWdpbiBjaGVja3MKCSAgU3ByaW5rbGUgc29tZSBtb3JlIG1pc3NpbmcgcGx1Z2luIGNoZWNrcyBhcm91bmQKCjIwMTEtMDgtMDMgMTM6MTI6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBtaXNzaW5nIGVsZW1lbnQgY2hlY2sgYW5kIHJlbW92ZSBUT0RPCgkgIEFkZCBtaXNzaW5nIGVsZW1lbnQgY2hlY2tzIGZvciBlbGVtZW50cyBjcmVhdGVkIGF0IF9pbml0CgkgIGZ1bmN0aW9ucyBhbmQgcmVtb3ZlIFRPRE8gYWJvdXQgaXQKCjIwMTEtMDgtMDMgMTM6NTc6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSByZWR1bmRhbnQgaW1hZ2UtcXVldWUKCSAgRW5jb2RlYmluIGlzIHVzZWQgZm9yIGltYWdlIGVuY29kaW5nIGFuZCBpdCBhbHJlYWR5IGNvbnRhaW5zCgkgIGEgcXVldWUsIHNvIHdlIGNhbiByZW1vdmUgY2FtZXJhYmluMiBpbWFnZSBxdWV1ZS4KCjIwMTEtMDgtMDMgMTM6NDI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogZml4IHVwIGNvcHlyaWdodHMKCjIwMTEtMDYtMjkgMTU6MTQ6MjkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBBZGQgYXVkaW8gY2FwdHVyZSBjYXBzIG9wdGlvbgoKMjAxMS0wOC0wMiAxNToxNDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNYWtlIGFjY2VzcyB0byB0aGUgbGlzdCBvZiBmcmFtZXMgdGhyZWFkc2FmZQoKMjAxMS0wOC0wMiAyMzo1MzowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIGJheWVyOiBiYWNrIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyBpbiBvcmMtZ2VuZXJhdGVkIGNvZGUgYnkgZGlzYWJsaW5nIC1XZXJyb3IgZm9yIHRoaXMgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTI2NzcKCjIwMTEtMDgtMDIgMjI6NTc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIEZpeCBzb21lIG1vcmUgdmFyaWFibGUtc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOC0wMiAyMToxNDowNiArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogRml4IGNhbWVyYWJpbjIgR19PQkpFQ1QgY2FzdAoJICBBZGRzIG1pc3NpbmcgY2FzdCB0byBmaXggYnVpbGQgZXJyb3IuCgoyMDExLTA4LTAyIDEwOjQ5OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogV29ya2Fyb3VuZCBmb3IgcmluZ2J1ZmZlciBub3QgcmVzeW5jaW5nIG9uIFJFQURZCgkgIEFkZCBhIHdvcmthcm91bmQgdG8gZml4IHRpbWVzdGFtcHMgbWVhbndoaWxlIGJ1ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MzU5IGlzIGZpeGVkLgoKMjAxMS0wNy0zMCAxNjoxMjozMSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMiByZW1vdmUgcmVkdW5kYW50IHZpZXdmaW5kZXItY29sb3JzcGFjZSBhbmQgdmlld2ZpbmRlci1zY2FsZQoJICBjYW1yYWJpbjIgY29ubmVjdHMgYSB2aWV3ZmluZGVyYmluIG9uICJ2ZnNyYyIuIHZpZXdmaW5kZXJiaW4gaXMgbWFkZSBvZjoKCSAgdmZiaW4tY3NwICEgdmZiaW4tdmlkZW9zY2FsZSAhIHZpZGVvc2luay4KCSAgd2Ugc2hvdWxkIGVpdGhlciByZW1vdmUgY3NwL3ZpZGVvc2NhbGUgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIChhcwoJICBkb25lIGluIHRoaXMgcGF0Y2gpIG9yIHdlIHNob3VsZCBnZXQgcmlkIG9mIHZpZXdmaW5kZXJiaW4gYWx0b2dldGhlci4KCjIwMTEtMDctMjYgMDY6MDQ6NDEgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiByZW1vdmUgdW51c2VkIGdldF9hbGxvd2VkX2lucHV0X2NhcHMKCSAgVGhlIHVzZSBvZiB0aGlzIG1ldGhvZCB3YXMgcmVtb3ZlZCBpbjoKCSAgY29tbWl0IDUzOWYxMGY0ZDk5ZTFhMDc0ODgxMjg5MjU0ZDFkMTA5MTU5Y2Y5ZTUKCSAgYmFzZWNhbWVyYXNyYzogTW9yZSBjbGVhbnVwCgkgIFRoZSBjb2RlIGZyb20gd3JhcHBlcmNhbWVyYWJpbnNyYyBpcyBmcm9tIHY0bDJjYW1lcmFzcmMgYnV0IGlzIHVudXNlZDoKCSAgZ2V0X2FsbG93ZWRfaW5wdXRfY2FwcyBpcyBub3QgY2FsbGVkIGFueXdoZXJlLgoKMjAxMS0wNy0yNiAwNTo1OTowOSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBkb24ndCB1c2UgY2xhc3Mgb2Zmc2V0cyBmb3Igc3RhcnQvc3RvcC1jYXB0dXJlIHNpZ25hbCBoYW5kbGVycwoKMjAxMS0wNy0yNiAwNTo0MzozNCArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogZG9jdW1lbnQgd2h5IHdlIHNldCBwcmV2aWV3IHRvIFBMQVlJTkcKCjIwMTEtMDctMjYgMDQ6NDI6NDkgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGRvY3VtZW50IGNhbGxiYWNrcwoJICBOb3RlIGZvciBlYWNoIGNhbGxiYWNrOgoJICAtIHdoZW4gaXQgaXMgY2FsbGVkLAoJICAtIHdoZXRoZXIgaXQgaXMgbWFuZGF0b3J5IG9yIG9wdGlvbmFsLgoKMjAxMS0wNy0yNiAwMzowNDo0NyArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogcHJldmlldzogcmVtb3ZlIHVudXNlZCBuZXdfcHJlcm9sbCBjYWxsYmFjawoKMjAxMS0wNy0yOCAxMzoxODo1NyAtMDMwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTeW5jaHJvbml6ZSBjbG9jayBhbmQgYmFzZSB0aW1lIHRvIGF1ZGlvc3JjCgkgIFdoZW4gYXVkaW8gc291cmNlIGdvZXMgdG8gUkVBRFkgaXQgbG9zZXMgaXRzIGNsb2NrIGFuZCBiYXNlIHRpbWUsCgkgIHRoaXMgcGF0Y2ggc2V0cyB0aGVtIGJhY2sgYWZ0ZXIgYnJpbmdpbmcgdGhlIGF1ZGlvIHNvdXJjZSBiYWNrIHRvIFBBVVNFRC4KCjIwMTEtMDctMjggMTI6NTY6MTIgLTAzMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUHJldmVudCBhdWRpbyBzb3VyY2UgZnJvbSBwcm92aWRpbmcgY2xvY2sKCSAgVGhlIGF1ZGlvIHNvdXJjZSBpbnNpZGUgY2FtZXJhYmluMiBpcyBwdXQgdG8gUkVBRFkgYW5kIGJhY2sgdG8KCSAgUExBWUlORyB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUsIGNhdXNpbmcgdGhlIHBpcGVsaW5lIHRvIGxvc2UgaXRzCgkgIGNsb2NrLiBBcyBjYW1lcmFiaW4yIGlzbid0IHB1dCB0byBQQVVTRUQtPlBMQVlJTkcgYWdhaW4gZHVyaW5nCgkgIHRoaXMsIGEgbmV3IGNsb2NrIGlzbid0IHNlbGVjdGVkIGZvciBlbGVtZW50cy4KCjIwMTEtMDYtMzAgMTE6MDk6NDQgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogQWRkIGZsYWdzIHByb3AgdG8gdG9nZ2xlIGVuY29kZWJpbiBjb252ZXJzaW9uIGVsZW1lbnRzCgkgIEEgZmxhZ3MgcHJvcGVydHkgaGFzIGJlZW4gYWRkZWQgdG8gZW5jb2RlYmluIHRvIHRvZ2dsZSB3aGV0aGVyIHRoZQoJICBjb252ZXJzaW9uIGVsZW1lbnRzIChmZm1wZWdjb2xvcnNwYWNlLCB2aWRlb3NjYWxlLCBhdWRpb2NvbnZlcnQsCgkgIGF1ZGlvcmVzYW1wbGUsIGF1ZGlvcmF0ZSkgYXJlIGNyZWF0ZWQgYW5kIGxpbmtlZCBpbnRvIHRoZSBhcHByb3ByaWF0ZQoJICBicmFuY2hlcyBvZiBlbmNvZGViaW4uCgkgIE5vdCBpbmNsdWRpbmcgdGhlc2UgZWxlbWVudHMgYXZvaWRzIHNvbWUgc2xvdyBjYXBzIG5lZ290aWF0aW9uIGFuZAoJICBhbGxvd3MgdGhlIGZpcnN0IGJ1ZmZlcnMgdG8gZmxvdyB0aHJvdWdoIGVuY29kZWJpbiBtdWNoIG1vcmUgcXVpY2tseS4KCSAgSG93ZXZlciwgaXQgaW1wb3NlcyB0aGF0IHRoZSB1bmNvbXByZXNzZWQgaW5wdXQgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZQoJICB0YXJnZXQgcHJvZmlsZSBhbmQgZWxlbWVudHMgc2VsZWN0ZWQgdG8gbWVldCB0aGF0IHByb2ZpbGUuCgoyMDExLTA2LTI5IDE1OjM1OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFByZXBhcmUgYXVkaW9zcmMgYmVmb3JlIHN0YXJ0LWNhcHR1cmUKCSAgSWYgd2UgYnJpbmcgdGhlIGF1ZGlvIHNvdXJjZSB1cCB0byB0aGUgUEFVU0VEIHN0YXRlIGJlZm9yZSBlbWl0dGluZyB0aGUKCSAgc3RhcnQtY2FwdHVyZSBzaWduYWwgdG8gdGhlIGNhbWVyYSBzb3VyY2UsIHdoZW4gc3ViZXF1ZW50bHkgdGFraW5nIHRoZQoJICBhdWRpbyBzb3VyY2UgdG8gdGhlIFBMQVlJTkcgc3RhdGUsIGl0IHdpbGwgYmVnaW4gY2FwdHVyZSBtb3JlIHF1aWNrbHkuCgoyMDExLTA2LTI5IDE1OjE4OjQ3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHJlZHVuZGFudCBlbGVtZW50cwoJICBTaW5jZSBjYW1lcmFiaW4yIGhhcyBzd2l0Y2hlZCB0byBlbmNvZGViaW4gYW5kIGVuY29kZWJpbiBoYXMgaXRzIG93bgoJICBxdWV1ZXMgYW5kIGNvbnZlcnNpb24gZWxlbWVudHMsIHRob3NlIHByZWNlZGluZyBlbmNvZGViaW4gYXJlIG5vIGxvbmdlcgoJICBuZWNlc3NhcnkgYW5kIGFzIHN1Y2ggY2FuIGJlIHJlbW92ZWQuCgoyMDExLTA4LTAyIDEyOjI0OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEZWZpbmUgbGlzdCBvZiBub24tcG9ydGVkIHBsdWdpbnMKCjIwMTEtMDgtMDIgMTE6NDI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoKMjAxMS0wOC0wMSAxODo0OTo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBUYWtlIGludG8gYWNjb3VudCB1cHN0cmVhbSBuZXdzZWdtZW50IGV2ZW50cwoJICBJZiB0aGUgaW5jb21pbmcgbmV3c2VnbWVudCBldmVudCB3YXMgaW4gdGltZSwgdXNlIHRoYXQgcG9zaXRpb24gdmFsdWUKCSAgZm9yIHRoZSBkb3duc3RyZWFtIG5ld3NlZ21lbnRzLgoKMjAxMS0wOC0wMSAxODo0ODowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFNlbmQgTkVXU0VHTUVOVCBldmVudHMKCSAgUHJldmlvdXNseSBobHNkZW11eCB3YXNuJ3Qgc2VuZGluZyBvdXQgYW55IG5ld3NlZ21lbnQuCgkgIEhlcmUgd2UgcHVzaCBhIEdTVF9GT1JNQVRfVElNRSBuZXdzZWdtZW50LCBhbmQgd2hlbmV2ZXIgcG9zc2libGUgd2UKCSAgdHJ5IHRvIGluZGljYXRlIHRoZSBwcm9wZXIgc3RhcnQgdGltZS4KCSAgVGhpcyBhbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyB0byByZWxheSB0aGUgc3RhcnQvdGltZSB2YWx1ZXMgcHJvcGVybHkKCSAgdG8gdGhlIHNpbmtzLCBhbGxvd2luZyBiZXR0ZXIgc3RyZWFtIHN3aXRjaGluZy4KCjIwMTEtMDgtMDEgMTU6NDY6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIHByb2dyYW1zIG9uIEVPUwoJICBBbGxvd3Mgc3ViY2xhc3NlcyB0byBwcm9wZXJseSBmbHVzaCBvdXQgcGVuZGluZyBkYXRhLgoKMjAxMS0wOC0wMSAxMDo1NDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZhY3RvciBzdHJlYW0vcHJvZ3JhbSByZW1vdmFsCgkgIFRoZSBwcm9ncmFtX3N0b3BwZWQgdm1ldGhvZCB3YXMgY2FsbGVkIGJlZm9yZSBzdHJlYW1fcmVtb3ZlZCB2bWV0aG9kCgkgIHdhcyBiZWluZyBjYWxsZWQuIFNpbmNlIHdlIG9ubHkgZGlkIHN0cmVhbS1yZWxhdGVkIG9wZXJhdGlvbnMgaW4gdGhlcmUsCgkgIHdlIGp1c3QgcmVtb3ZlIHRoZSBwcm9ncmFtX3N0b3BwZWQgdm1ldGhvZCBhbmQgZG8gZXZlcnl0aGluZyBpbiB0aGUKCSAgc3RyZWFtX3JlbW92ZWQgb25lLgoJICBBbHNvLCBtYWtlIHN1cmUgd2UgZmx1c2ggb3V0IGFsbCBwZW5kaW5nIGRhdGEgYmVmb3JlIHNlbmRpbmcgRU9TLgoKMjAxMS0wNy0yOCAxODoyMTowNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUHJldmVudCBzdGFjayBnYXJkZW5pbmcgYnkgdXNpbmcgdGhlIHJpZ2h0IHR5cGUKCSAgc3RyZWFtX3R5cGUgaXMgc3RvcmVkIGFzIGd1aW50IGluc2lkZSB0aGUgR3N0U3RydWN0dXJlIGJ1dCB3YXMgcmV0cmVpdmVkCgkgIHVzaW5nIHZhbGlzdCB3aXRoIGEgcG9pbnRlciB0byBndWludDE2LiBUaGlzIHdvdWxkIGNhdXNlIHN0YWNrIGdhcmRlbmluZwoJICB3aGVuIGNvZGUgaXMgY29tcGlsZWQgd2l0aG91dCBvcHRpbWlzYXRpb24gKGUuZy4gaW4gLU8wIHRoZSBjb21waWxlciB3b250CgkgIHBhZCB0aGUgc3RhY2sgdG8gb3B0aW1pc2Ugb3V0IHJlcXVpcmVkIG1hc2spLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NTQwCgoyMDExLTA3LTI5IDIxOjI2OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgdGVzdHM6IGZpeCBjb21waWxlciB3YXJuaW5nIGluIGZhYWQgdW5pdCB0ZXN0CgoyMDExLTA3LTI5IDE5OjQzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM211eDogdXNlIG5vdy1wdWJsaWMgR3N0VGFnTXV4IGJhc2UgY2xhc3MgZnJvbSBsaWJnc3R0YWcKCjIwMTEtMDctMjggMjA6Mzg6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgdGFnbXV4OiByZXF1aXJlIHN1YmNsYXNzIHRvIGluc3RhbGwgc2luayBwYWQgdGVtcGxhdGUKCSAgUmVxdWlyZSB0aGUgc3ViY2xhc3MgdG8gaW5zdGFsbCBib3RoIHNvdXJjZSBhbmQgc2luayBwYWQKCSAgdGVtcGxhdGVzLiBBbHNvLCBwcmludCBzb21lIHdhcm5pbmdzIGlmIHRoZSBzdWJjbGFzcyBkb2Vzbid0CgkgIGRvIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU0MzcKCjIwMTEtMDctMjcgMjI6MzQ6MjMgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBnc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3Q6IHRlc3QgdG9vbCB3aGF0IGNhbiB0byBkbyBkeW5hbWljIGNoYW5nZSBwcm9wZXJ0aWVzCgoyMDExLTA3LTI3IDE4OjU4OjE1ICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBtb3Rpb25jZWxsczogbmV3IGVsZW1lbnQgdG8gZGV0ZWN0IGFyZWFzIG9mIG1vdGlvbgoKMjAxMS0wNy0yNiAxNzowMjowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaHNsZGVtdXg6IEhhbmRsZSBjaGFuZ2Ugb2YgbWVkaWEgdHlwZXMKCSAgV2hlbiBzd2l0Y2hpbmcgYml0cmF0ZXMsIHdlIG1pZ2h0IGVuZCB1cCBzd2l0Y2hpbmcgdG8gYSBkaWZmZXJlbnQKCSAgbWVkaWEtdHlwZSAobGlrZSBmcm9tIGFhYyB0by9mcm9tIG1wZWctdHMpLgoJICBGb3IgdGhpcyBzd2l0Y2ggdG8gYmVoYXZlIHByb3Blcmx5IGluIGRlY29kZWJpbjIsIHRoaXMgcGF0Y2ggYWRkczoKCSAgKiBkeW5hbWljIHNvdXJjZSBwYWRzICh3aGljaCB3aWxsIGJlIGFkZGVkL3JlbW92ZWQgd2hlbmV2ZXIgYSBzdHJlYW0KCSAgbWVkaWEgdHlwZSBjaGFuZ2VzCgkgICogcmUtY2hlY2tpbmcgdGhlIGZyYWdtZW50IG1lZGlhIHR5cGUgd2hlbmV2ZXIgd2Ugc3dpdGNoIHRvIGEgZGlmZmVyZW50CgkgIHBsYXlsaXN0CgoyMDExLTA3LTI2IDEzOjQ3OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBvbGQgY29tcGlsZXJzCgoyMDExLTA3LTI3IDExOjAyOjQxICswMTAwICBPbGFmIFNlaWJlcnQgPHJoaWFsdG9AYXplbm9tZWkua251ZmZlbC5uZXQ+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggd3JvbmcgdXNhZ2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IgbWFjcm9zIGFuZCBjb21waWxhdGlvbiBvbiBOZXRCU0QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTMxOQoKMjAxMS0wNy0yNyAxMDo1NjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHBjYXBwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X3BjYXBfcGFyc2VfY2hhaW4nOgoJICBnc3RwY2FwcGFyc2UuYzozODE6NjogZXJyb3I6ICdldGhfdHlwZScgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPXVuaW5pdGlhbGl6ZWRdCgkgIGdzdHBjYXBwYXJzZS5jOjM1NDoxMTogbm90ZTogJ2V0aF90eXBlJyB3YXMgZGVjbGFyZWQgaGVyZQoKMjAxMS0wNy0yNiAxOToxMToxNiArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGZpeCBTTEwgcGFyc2luZwoJICBUaGUgY3VycmVudCBjb2RlIGlzIG5vdCBjaGVja2luZyBmb3IgZXRoZXJuZXQgdHlwZSwgYXMgaXQncyBzdXBwb3NlZCB0bywKCSAgYnV0IGxpbmsgbGF5ZXIgZGV2aWNlIHR5cGUgYW5kIGl0J3MgaGFyZC1jb2RlZCB0byBvbmx5IGFjY2VwdCBkdW1wcyBmcm9tCgkgIGV0aGVybmV0IChBUlBIUkRfRVRIRVI7IDEpLiBXZSBkb24ndCBjYXJlIHdoZXJlIHRoZSBkdW1wIHdhcyBmZXRjaGVkCgkgIGZyb20gKHdsYW4sIDNHLCBldGMuKQoJICBXaGF0IHdlIGNhcmUgYWJvdXQgaXMgdGhlIHRoYXQgdGhlIGV0aGVybmV0IHR5cGUgaXMgSVAgKEVUSEVSTkVUX0lQOwoJICAweDgwMCksIHdoaWNoIGlzIGNsZWFybHkgZmllbGQgMTQ6CgkgIGh0dHA6Ly93d3cudGNwZHVtcC5vcmcvcGNhcDNfbWFuLmh0bWwKCSAgQW5kIGRvIGEgYml0IG9mIGNsZWFudXAuCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wNy0yMSAxMzoyNjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IEZpeCBzdHJlYW0vcGFkIGFjdGl2YXRpb24gb3JkZXIKCSAgV2UgZmlyc3QgYWN0aXZhdGUgbmV3IHN0cmVhbXMgYmVmb3JlIHNodXR0aW5nIGRvd24gb2xkIG9uZXMuCgkgIFdlIGVtaXQgbm8tbW9yZS1wYWRzIGFmdGVyIHdlIGFkZCBuZXcgc3RyZWFtcyBhbmQgZW1pdCBFT1MgYmVmb3JlCgkgIHJlbW92aW5nIG9sZCBvbmVzLgoJICBBbHNvIGNsZWFudXAvcmVmYWN0b3IgYSBiaXQgbW9yZSBvZiB0aGUgY29kZSBhY2NvcmRpbmdseQoKMjAxMS0wNy0yMiAxMjoyNjowNyArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IGFkZCBsb2NhdGlvbj1OVUxMIGRvY3MgdG8gUE9SVElORwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxOTE4CgoyMDExLTA3LTIyIDExOjM4OjMwICswMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSWYgbG9jYXRpb24gaXMgTlVMTCBkbyBub3QgZW5jb2RlIGltYWdlcwoJICBVc2luZyBhIE5VTEwgc3RyaW5nIGZvciBsb2NhdGlvbiBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbgoJICBkb2Vzbid0IHdhbnQgdGhlIGltYWdlIHRvIGJlIGVuY29kZWQsIGJ1dCB3YW50cyB0byByZWNlaXZlCgkgIHRoZSBwcmV2aWV3IGltYWdlLiAoT25seSB3b3JrcyBmb3IgaW1hZ2UgY2FwdHVyZXMpCgkgIFVzZWZ1bCBmb3IgYXBwbGljYXRpb24gdGhhdCB3YW50IHRoZSBjYXB0dXJlIGluIG1lbW9yeSBvbmx5LCBsaWtlCgkgIGRpc3BsYXlpbmcgdG8gdGhlIHVzZXIgYmVmb3JlIGl0IGNob3NlcyB0byBlbmNvZGUgb3IgdGFrZSBhbm90aGVyCgkgIHBpY3R1cmUgaW4gYXZhdGFyIGNhcHR1cmluZyBzY2VuYXJpb3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5MTgKCjIwMTEtMDctMjEgMDg6MDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA4OjAzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA4OjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFVwZGF0ZSBmb3IgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6ZmluaXNoKCkgc2lnbmF0dXJlIGNoYW5nZQoKMjAxMS0wNy0yMSAwNTo0NDoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBbGxvdyBmaW5pc2hpbmcgb2YgZnJhbWVzIHdpdGggbm8gc3JjX2J1ZmZlciB0byBkcm9wL2ZyZWUgdGhlIEdzdFZpZGVvRnJhbWUKCjIwMTEtMDctMjAgMDg6Mzk6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBnZXQgY2FwcyBmcm9tIHRoZSBzdWJjbGFzcyBpZiB0aGV5IHdlcmUgbm90IHNldCB5ZXQgYnkgdGhlIHN1YmNsYXNzCgoyMDExLTA3LTIwIDA5OjI1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERlbGF5IHNlbmRpbmcgb2Ygc2VyaWFsaXplZCBzaW5rIGV2ZW50cyB1bnRpbCBmaW5pc2hfZnJhbWUoKQoKMjAxMS0wNy0yMCAwOTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBBZGQgOjpyZXNldCB2ZnVuYyBhbmQgaGFuZGxlIDo6cmVzZXQvOjpmaW5pc2ggdGhlIHNhbWUgd2F5IGFzIGluIHRoZSBkZWNvZGVyCgoyMDExLTA3LTIwIDE5OjE2OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgcGVzcGFyc2U6IEZpeCBzdHVmZmluZyBieXRlIGhhbmRsaW5nCgkgIFdlIGluIGZhY3QgZ2V0IHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgKGluY2x1ZGluZyBzdHVmZmluZyBieXRlcyksIHRoZXJlZm9yZQoJICB1c2UgdGhhdCBpbnN0ZWFkIG9mIHRyeWluZyB0byBza2lwIDB4ZmYgYnl0ZXMgb3Vyc2VsdmVzIHNpbmNlIHNvbWUgbWVkaWEKCSAgc3RyZWFtcyBkbyBzdGFydCB3aXRoIDB4ZmYgKGxpa2UgbXBlZyBhdWRpbydzIGluaXRpYWwgMHhmZmYpLgoKMjAxMS0wNy0xOCAxNDo1MzozMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIEZpeCBjb21waWxhdGlvbiBmb3IgdW51c2VkIGJ1dCBub3Qgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ1NzIKCjIwMTEtMDctMjAgMDg6NTc6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTkgMTI6NTA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogVXNlIGEgdGVtcG9yYXJ5IEdzdFZpZGVvU3RhdGUgdW50aWwgdGhlIHN1YmNsYXNzIGFjY2VwdGVkIHRoZSBjYXBzCgkgIEFsc28gc3RvcmUgdGhlIGNhcHMgaW4gdGhlIEdzdFZpZGVvU3RhdGUgYW5kIGFzc3VtZSBhIFBBUiBvZiAxLzEgaW5zdGVhZAoJICBvZiAwLzEgaWYgbm8gUEFSIGlzIHNwZWNpZmllZCBpbiB0aGUgY2Fwcy4KCjIwMTEtMDctMTkgMDk6MzY6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlL3RzZGVtdXg6IEFkZCBtb3JlIGNvbW1lbnRzIGFuZCByZW1vdmFsIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wNy0xOSAwOTozNjoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEF2b2lkIGRvdWJsZSByZW1vdmFsIG9mIHN0cmVhbXMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBQQ1IgcGlkIGlzIHRoZSBzYW1lIGFzIGEgYXVkaW8vdmlkZW8gUElELgoKMjAxMS0wNy0xOSAwOTozNDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2U6IEFkZCBhIEdMaXN0IG9mIHN0cmVhbXMgdG8gdGhlIHByb2dyYW0KCSAgQWxsb3dzIGZhc3RlciBpdGVyYXRpb24gb2YgYWxsIHByb2dyYW0gc3RyZWFtcy4KCSAgV2Ugc3RpbGwga2VlcCB0aGUgQXJyYXkgdG8gYWxsb3cgZmFzdCByZXRyaWV2YWwgb2Ygc3RyZWFtIGJ5IFBJRC4KCjIwMTEtMDctMTkgMDg6NDU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNiYXNlOiBVc2UgYSBiaXQgYXJyYXkgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBnYm9vbGVhbgoJICBNYWtlcyBrbm93X3BzaSBhbmQgaXNfcGVzIDMyIHRpbWVzIHNtYWxsZXIKCjIwMTEtMDctMTkgMDg6Mzc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDExLTA3LTE4IDE0OjE0OjMxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogZml4IGhhcm1sZXNzIHR5cG8gaW4gdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDg0MAoKMjAxMS0wNy0xMiAxOTowNDoyNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIGEgY2hlY2sgbWFkZSB1c2VsZXNzIGJ5IHRoZSBsYXN0IGNvbW1pdAoKMjAxMS0wNy0xMiAxOTowMTo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXNzdW1lIGJ5dGUtc3RyZWFtIGlmIHN0cmVhbS1mb3JtYXQgYW5kIGNvZGVjX2RhdGEgYXJlIG1pc3NpbmcgZnJvbSBpbnB1dCBjYXBzCgoyMDExLTA3LTA2IDIzOjI0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpZ25vcmUgY29kZWNfZGF0YSBpZiBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtCgkgIFNvbWUgZW5jb2RlcnMgc2V0IGNvZGVjX2RhdGEgZXZlbiB3aGVuIG91dHB1dHRpbmcgYnl0ZS1zdHJlYW0uIEJlZm9yZSB0aGlzIHBhdGNoCgkgIGgyNjRwYXJzZSB3b3VsZCBpbmNvcnJlY3RseSBkZXRlY3Qgc3VjaCBzdHJlYW1zIGFzIEFWQy4KCjIwMTEtMDctMTggMDk6MTI6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2Ugc3RhbmRhbG9uZSBQRVMgcGFyc2VyCgoyMDExLTA3LTE3IDE0OjE3OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3RhbmRhbG9uZSBQRVMgcGFyc2VyCgoyMDExLTA3LTE3IDA5OjQ5OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZWZzOiBjbGFyaWZ5IHNvbWUgc3RyZWFtIGlkcwoKMjAxMS0wNy0xNiAxMzo1MTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHdob29wcywgdHNkZW11eCBpc24ndCByZWFkeSB5ZXQgZm9yIHByaW1hcnkgcmFuayA6KQoKMjAxMS0wNy0xNiAxMzo0Nzo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogQ2xlYW51cHMgYW5kIGNvbW1lbnRzCgoyMDExLTA3LTE2IDEzOjQ0OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IG5ld3NlZ21lbnQgY3JlYXRpb24gZm9yIHB1c2ggbW9kZQoJICBBbmQgYWxsIHJlbGV2ZW50IGNvbW1lbnRzIHRvIHdoYXQgaXQgc2hvdWxkIGJlIGRvaW5nLCByZWZhY3RvciBldmVyeXRoaW5nCgkgIGEgYml0LiBTdGlsbCBub3QgcGVyZmVjdCAuLi4gYnV0IGJldHRlci4KCSAgRml4ZXMgIzY1NDY1NwoKMjAxMS0wNy0xNSAxMjowODo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBTdG9yZSBpbmNvbWluZyBuZXdzZWdtZW50cwoKMjAxMS0wNy0xNSAyMDo1Nzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICB0YWdtdXg6IGNvbnN0LWlmeSBHc3RUYWdMaXN0IGFyZ3VtZW50IG9mIHJlbmRlciB2ZnVuY3MKCjIwMTEtMDctMTUgMjA6Mzk6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgdGFnbXV4OiBmaXggdXAgcHJpdmF0ZSBiYXNlIGNsYXNzIGhlYWRlciBzbyBpdCBjYW4gYmUgbWFkZSBwdWJsaWMKCSAgTW92ZSBwcml2YXRlIGJpdHMgaW50byBhIHByaXZhdGUgc3RydWN0LCBhZGQgc29tZSBwYWRkaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NDM3CgoyMDExLTA3LTE1IDE2OjEwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgbmVlZCBjb3JlL2Jhc2UgZnJvbSBnaXQKCSAgVXBkYXRlIHJlcXVpcmVtZW50cyBhZnRlciBvdXQtb2Ytb3JkZXIgMC4xMC4zNSByZWxlYXNlCgoyMDExLTA3LTEzIDE3OjE1OjM2ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogZml4IG5hbWUgb2YgJ2ltYWdlLWRvbmUnIGJ1cyBtZXNzYWdlCgkgIFVzZSB0aGUgY29ycmVjdCBidXMgbWVzc2FnZSBmb3IgY2FtZXJhYmluMiBpbWFnZSBkb25lIGFuZCByZW1vdmVzCgkgIGNoZWNrIHRoYXQgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgdGhlc2UgdGVzdHMuCgoyMDExLTA3LTE1IDEwOjA0OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcmVuYW1lIG9mZnNldCBwcm9wZXJ0eSB0byB0cy1vZmZzZXQKCSAgLi4uIHNvIGFzIHRvIHByb21vdGUgY29uc2lzdGVuY3kgd2l0aCBzb21lIG90aGVyIGVsZW1lbnRzIGluIHRoZSB3aWxkLgoKMjAxMS0wNy0xNCAxOTozMDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBmaXggc29tZSB2YXJpYWJsZS1zZXQtYnV0LXVudXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xNSAwMDowMzoxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBhY3R1YWxseSBzZXQgc2Vlbl9wYXQ9VFJVRSB3aGVuIHdlIHNlZSBhIFBBVAoKMjAxMS0wNi0yNiAyMDozMjo1MyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogaW1wbGVtZW50IFVSSSBxdWVyeQoKMjAxMS0wNy0xNCAyMjowODo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFNwbGl0IHVwIHdoZXRoZXIgd2Ugc2F3IGEgUEFUIGFuZCBpdHMgb2Zmc2V0CgkgIEZpeGVzIHRoZSBpc3N1ZSB3aXRoIHN0cmVhbXMgdGhhdCBkb24ndCBzZXQgYW4gb2Zmc2V0IG9uIHRoZWlyIGJ1ZmZlcnMsCgkgIGxpa2UgdGhvc2UgY29taW5nIGZyb20gaGxzZGVtdXguCgkgIEZpeGVzICM2NTM0ODEKCjIwMTEtMDctMTQgMTc6MDY6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBwcm9wZXJseSBhcHBseSB0cyBvZmZzZXQKCjIwMTEtMDctMTQgMTY6NTA6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBvcHRpb25hbGx5IG91dHB1dCByZWxhdGl2ZSB0aW1lc3RhbXBzLCBwb3NzaWJseSBzaGlmdGVkIGJ5IG9mZnNldAoJICBUaGF0IGlzLCBvdXRwdXQgdGltZXN0YW1wcyBjYW4gdGhlbiBlaXRoZXIgYmUgdGhlIGFic29sdXRlIGNhcHR1cmUgdGltZSwKCSAgb3IgdGhlIHJlbGF0aXZlIGNhcHR1cmUgdGltZSAody5yLnQuIHRvIGZpcnN0IG91dHB1dCBidWZmZXIpLCBvciB0aGUgcmVsYXRpdmUKCSAgY2FwdHVyZSB0aW1lIGluY3JlbWVudGVkIGJ5IHNvbWUgb2Zmc2V0LgoKMjAxMS0wNy0xNCAxNjo0MDoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGFsc28gc3VwcG9ydCBleHRyYWN0aW5nIHRjcCBkYXRhCgoyMDExLTA3LTE0IDE0OjM3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIHNvbWUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMgdG8gLmdpdGlnbm9yZQoKMjAxMS0wNy0xMyAxMzo0NDo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBkb2NzOiBSZXZlcnQgd3JvbmdseSBjb21taXR0ZWQgY2hhbmdlcyB0byAuYXJncy8uaGllcmFyY2h5CgoyMDExLTA3LTEzIDEzOjQyOjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBSZXN0b3JlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBhcyBjb21tZW50cwoKMjAxMS0wNy0xMyAxMzozOTo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBSZXN0b3JlIGVycm9uZW91c2x5IHJlbW92ZWQgZGF0YSsrCgkgIEFsc28sIHB1dCBiYWNrIHNvbWUgdW51c2VkIGNvZGUgaW4gY29tbWVudCBhbmQgcmVwbGFjZSAvLyBjb21tZW50cyBieSAvKiAqLwoKMjAxMS0wNy0xMyAxMzozODozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IFJlc3RvcmUgZXJyb25lb3VzbHkgcmVtb3ZlZCBkYXRhKysKCSAgQWxzbywgcHV0IGJhY2sgc29tZSB1bnVzZWQgY29kZSBpbiBjb21tZW50IGFuZCByZXBsYWNlIC8vIGNvbW1lbnRzIGJ5IC8qICovCgoyMDExLTA3LTEzIDEwOjQyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VkaW5nZXI6IEZpeCBjb21waWxhdGlvbiBhbmQgc2V0LWJ1dC1ub3QtdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xMyAxMDozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBGaXggY29tcGlsYXRpb24gYnkgaW5jbHVkaW5nIHRoZSBuZXcgZ3N0YmFzZXZpZGVvdXRpbHMuaCBoZWFkZXIgYW5kIGZpeGluZyBzb21lIHNldCBidXQgbm90IHVzZWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MjI6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBleGFtcGxlcy9jYW1lcmFiaW46IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoyMDoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAyazogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjE4OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcmVzaW5kdmQ6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoxNjo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjEzOjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGR2YjogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjEwOjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowOToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkgIHR0YTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA4OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJICBzZGk6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODowNToyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjAzOjUzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBSZWplY3QgdW5rbm93biBiaXRzdHJlYW0gdmVyc2lvbnMKCjIwMTEtMDctMTIgMTc6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1Nzo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjU2OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTM6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCB1bnVzZWQtYnV0LXNldCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1MDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IHVudXNlZC1idXQtc2V0IHdhcm5pbmdzCgoyMDExLTA3LTEyIDAxOjE4OjE2ICswNTMwICBTYW1lZXIgTmFpayA8c2FtZWVyLnN1YnNjcmlwdGlvbnNAZGFtYWdlaGVhZC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBzZWdmYXVsdCBpZiBnc3RfY29sbGVjdF9wYWRzX3BvcCAoKSByZXR1cm5zIG5vIGJ1ZmZlcgoJICBJbiBtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtICgpIGNhbGwgaWYgdGhlIGdzdF9jb2xsZWN0X3BhZHNfcG9wICgpIGNhbGwKCSAgcmV0dXJucyBubyBidWZmZXIgKE5VTEwpLCB0aGUgcGx1Z2luIFNlZ0ZhdWx0cyBpbiB0aGUgZ3N0X2J1ZmZlcl91bnJlZiBjYWxsLgoJICBUbyBmaXggdGhpcyB3ZSBjaGVjayBpZiBhIHZhbGlkIGJ1ZmZlciBpcyByZXR1cm5lZCBiZWZvcmUgY2FsbGluZwoJICBnc3RfYnVmZmVyX3VucmVmICgpLgoJICBGaXhlcyBidWcgIzY1NDQxNi4KCjIwMTEtMDctMTEgMTI6NTk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRmlyc3QgaW5mb3JtIHN1YmNsYXNzIGFib3V0IHJlc2V0dGluZyBiZWZvcmUgcmVzZXR0aW5nL2ZyZWVpbmcgYWxsIGludGVybmFsIHN0YXRlCgkgIFRoZSBzdWJjbGFzcyBtaWdodCB3YW50IHRvIGFjY2VzcyB0aGUgb2xkIHN0YXRlLgoKMjAxMS0wNy0xMSAxMjozNjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBUcmFjayBwcmVzZW50IHBvc2l0aW9uIG9uIGRpc2NvbnQgYmVmb3JlIHJlc2V0dGluZyBpdAoKMjAxMS0wNy0xMSAxMTo1MjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBBbHNvIHByb3RlY3QgdGhlIGxpc3Qgb2YgcGVuZGluZyBmcmFtZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyB3aGVuIHB1c2hpbmcgYWxsIHBlbmRpbmdzIGV2ZW50cwoKMjAxMS0wNy0xMSAxMToyODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBQcm90ZWN0IGFjY2VzcyB0byB0aGUgbGlzdCBvZiBwZW5kaW5nIGZyYW1lcyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGlzIGlzIHJlcXVpcmVkIGlmIDo6ZmluaXNoX2ZyYW1lKCkgYW5kIGFsbCBidWZmZXIgb3V0cHV0IGhhcHBlbnMKCSAgb24gYSBkaWZmZXJlbnQgdGhyZWFkIHRoYW4gdGhlIHNpbmtwYWQgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTEtMDctMTEgMDk6MzU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogU2V0IHRoZSBjb3JyZWN0IGxpc3RzIHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoKMjAxMS0wNy0xMSAwODo1NDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBXb3JrIHdpdGggYSBjb3B5IG9mIHRoZSBHc3RWaWRlb1N0YXRlIGluIHNldGNhcHMgdW50aWwgdGhlIGNhcHMgYXJlIGFjY2VwdGVkCgkgIEFsc28gZml4IGEgcmVmY291bnQgcHJvYmxlbSB3aXRoIHRoZSBjb2RlY19kYXRhLgoKMjAxMS0wNy0wOSAxMTo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSB0aGUgdXRpbHMgZnJvbSB0aGUgY29kZWMgaGVhZGVyIHRvIGl0cyBvd24gaGVhZGVyCgoyMDExLTA3LTA5IDExOjMxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIGRlc3Ryb3kgbm90aWZ5IHRvIGZyZWUgdGhlIGNvZGVyIGhvb2sKCjIwMTEtMDctMDkgMTE6MDk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogVXNlIEdTbGljZSBmb3IgYWxsb2NhdGluZyBHc3RWaWRlb0ZyYW1lIGFuZCBkb24ndCBkdXBsaWNhdGUgY29kZSBpbiB0aGUgZGVjb2RlciBiYXNlIGNsYXNzCgoyMDExLTA2LTI4IDExOjQ3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgcmVvcmRlciBzZXJpYWxpemVkIHNyYyBldmVudHMKCSAgQW5kIGFsbG93IHRvIGRyb3AgRU9TIGJ5IHRoZSBzdWJjbGFzcyBpZiA6OmZpbmlzaCByZXR1cm5zCgkgIERST1BQRUQuIFRoaXMgcmVxdWlyZXMgdGhhdCB0aGUgc3ViY2xhc3Mgc2VuZHMgRU9TIG1hbnVhbGx5IGxhdGVyLgoJICBGaXhlcyBidWcgIzY1MzU0NC4KCjIwMTEtMDYtMjcgMDk6NDE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCB0aGUgY2FwcyB0byB0aGUgR3N0VmlkZW9TdGF0ZSBhbmQgY2xlYW4gdXAgY2Fwcy9jb2RlY19kYXRhIHByb3Blcmx5CgkgIEhhdmluZyBhY2Nlc3MgdG8gdGhlIGNhcHMgaW4gOjpzZXRfZm9ybWF0IGNhbiBiZSB1c2VmdWwgaWYKCSAgbm9uLXN0YW5kYXJkIGNhcHMgZmllbGRzIGxpa2UgdGhlIGgyNjQgYWxpZ25tZW50IG11c3QgYmUgYWNjZXNzZWQuCgoyMDExLTA3LTA5IDEwOjU3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBBZGQgZGVzdHJveSBub3RpZnkgZm9yIHRoZSBjb2Rlcl9ob29rIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzCgkgIEZpeGVzIGJ1ZyAjNjU0MjkzLgoKMjAxMS0wNy0wOCAxMTo1MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBQcm9wZXJseSByZXR1cm4gc2Vla2luZyBlcnJvcnMgaWYgdGhlIHJlcXVlc3RlZCBwb3NpdGlvbiBjYW4ndCBiZSBmb3VuZAoKMjAxMS0wNy0wNyAxNjowMDo0NCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVyLy5naXRpZ25vcmU6CgkgIGludGVyOiBhZGQgaWdub3JlIGZpbGUgZm9yIGludGVybWVkaWF0ZSBmaWxlcwoKMjAxMS0wNy0wNyAxNTo1OTowNSAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSAgZG9jczogYWRkIGNhbWVyYWJpbjIgdG8gdGhlIGRvY3MgYW5kIHVwZGF0ZSB0aGUgZG9jIGZpbGVzCgoyMDExLTA3LTA3IDE1OjU1OjU5IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgbWVzcyB3aXRoIGNhbWVyYWJpbiAoMSkgbmFtZXNwYWNlCgkgIFVzZSBhbiBleHRyYSAnMicgdG8gc3RheSBvdXQgb2YgdGhlIG9sZCBuYW1lc3BhY2UuCgoyMDExLTA3LTA3IDExOjExOjQyIC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBrZWVwIHNlY3Rpb24gZmlsZSBzb3J0ZWQKCjIwMTEtMDctMDcgMTA6NTI6NTAgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogaW1wcm92ZSB0aGUgZG9jcwoJICBGaXggdGhlIHN5bnRheCwgYWRkIG1vcmUgZXhwbGFuYXRpb24gYW5kIHhyZWYgdGhlIHByb3BlcnRpZXMuCgoyMDExLTA2LTA1IDAwOjU0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IGR1cGxpY2F0ZSBmcm9tIENFTFQKCSAgQ29weSB0aGUgY2VsdCBwbHVnaW4gYW5kIGNvbnZlcnQgaXQgdG8gT3B1cy4gIE1vc3RseSB3b3Jrcy4KCjIwMTEtMDctMDYgMTU6NTY6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEhEIG1vZGVzIGFyZSBzcXVhcmUgcGl4ZWxzCgoyMDExLTA3LTA1IDEwOjE5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkgdG8gdGhlIGNvbXBpbGVyIGZsYWdzIHRvIGF2b2lkIHdhcm5pbmdzCgoyMDExLTA3LTA0IDE2OjE4OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSAgZGlyYWNwYXJzZTogbWFrZSBkaXJhY3BhcnNlIHdvcmsgY29ycmVjdGx5CgoyMDExLTA3LTAzIDE4OjMyOjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBwcm9wZXJseSBzZXQgdXAgYW5hbG9nIGlucHV0CgoyMDExLTA2LTI4IDIzOjQ3OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogQWRkIG1vcmUgbW9kZXMKCjIwMTEtMDYtMDMgMTk6NDE6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IG5ldyBpbnRlcm1lZGlhdGUgc3VyZmFjZSBwbHVnaW4KCSAgVGhpcyBzZXQgb2YgZWxlbWVudHMgYWxsb3dzIGVhc2lseSByZW5kZXJpbmcgYXVkaW8gYW5kIHZpZGVvIHRvCgkgIGFuIGludGVybWVkaWF0ZSBzdXJmYWNlIHRoYXQgaXMgdGhlbiB1c2VkIGFzIGEgc291cmNlIGluIGEgZGlmZmVyZW50CgkgIHBpcGVsaW5lLgoKMjAxMS0wNi0xOCAxNTo1MTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgSlBFRyBZQ2JDciBtYXRyaXgKCjIwMTEtMDYtMTggMTU6NTY6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB1cGRhdGUgZm9yIG5ldyBsaWJ2cHggYXBpCgoyMDExLTA2LTI2IDE5OjI5OjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogRml4IGJ1ZmZlciBkdXJhdGlvbgoKMjAxMS0wNi0yNiAxNToxNTo1NCArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBnZW5lcmF0ZSBhIHRpbWVzdGFtcCBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIEl0IHdpbGwgZml4IGhhbmRsaW5nIG9mIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHNpbmNlIG1hdHJvc2thLW11eAoJICBkcm9wIGFueSBmcmFtIHdpdGggbm8gdGltZXN0YW1wLgoJICBzZWUgYWxzbzoKCSAgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9jb250YWluZXIvCgkgIFRoZSBlbmNvZGVyIHdpbGwgY3VycmVudGx5IHNldCB0aGUgQVIncyB0aW1lc3RhbXAgYXMgY2xvc2UgYXMgcG9zc2libGUKCSAgdG8gdGhlIHByZXZpb3VzIGZyYW1lIHdoaWxlIGF0dGVtcHRpbmcgdG8gcHJvdmlkZSBhIHRpbWVzdGFtcCB0aGF0IGlzCgkgIHN0cmljdGx5IGluY3JlYXNpbmcuIEluIGNhc2VzIHdoZXJlIHRoZSB0aW1lIGJhc2UgZ2l2ZW4gdG8gdGhlIGVuY29kZXIKCSAgYXQgY29uZmlndXJlIHRpbWUgaXMgbm90IGdyYW51bGFyIGVub3VnaCB0byBhbGxvdyBmb3IgdGhpcyB0aGUgQVIKCSAgd2lsbCBzaGFyZSB0aGUgc2FtZSB0aW1lc3RhbXAgYXMgRCwgYnV0IHNob3VsZCBiZQoJICB0cmVhdGVkIGFzIGhhdmluZyBubyBkdXJhdGlvbi4KCSAgRml4ZXMgYnVnICM2NTI5NTEKCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMS0wNi0yNSAyMzo1NToyOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdpbmluZXQ6IEZpeCBjb25maWd1cmUgY2hlY2sgYnkgaW5jbHVkaW5nIHdpbmRvd3MuaAoJICBGaXhlcyBidWcgIzY1MzE2MS4KCjIwMTEtMDYtMDcgMTM6NTU6MzggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgbWFrZWZpbGVzCgkgIEZpeGVzIGJ1ZyAjNjUyMDM1LgoKMjAxMS0wNi0yNSAxNToxMjo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YTogZGVjcmVhc2UgcmFuayB0byBOT05FCgkgIEFwcGVhcnMgdG8gYmUgdXR0ZXJseSBpbmNhcGFibGUgb2YgcGFyc2luZyBhbmQgZGVjb2RpbmcgVFRBIHN0cmVhbXMuCgkgIEhhc24ndCBiZWVuIHVwZGF0ZWQgdG8gZG8gVFRBMi4gIElmIHlvdSB3YW50IHRoaXMgZWxlbWVudCB0byB3b3JrLAoJICBmaXggdGhlIGJsb29keSB0aGluZy4gIFRoZSBnc3QtZmZtcGVnIGRlY29kZXIgd29ya3MgZmluZS4KCSAgQWxzbyBmaXhlZCBhbiBvYnZpb3VzIGVuZGlhbm5lc3MgaXNzdWUgYWxvbmcgdGhlIHdheS4KCSAgRml4ZXM6ICM2NTI5MjQKCjIwMTEtMDYtMTggMTc6NDc6MzYgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogYWRkIGNoZWNrIGlmIHdlIGhhdmUgbGVnYWwgYXNwZWN0LXJhdGlvIGJlZm9yZSByZXNldCBpdC4KCSAgdGhlIGNvbW1pdCBmOWI1NTJmMDQ5NGUgKHZwOGRlYzogc2V0IHBhciB0byAxLzEpCgkgIHdpbGwgZml4IHNpdHVhdGlvbiB3aGVyZSBubyBhc3BlY3QtcmF0aW8gaXMgc2V0LCBidXQgaXQgYnJha2UKCSAgc3RyZWFtIHdpdGggYXZhaWxhYmxlIGFzcGVjdC1yYXRpby4gVGhpcyBwYXRjaCBmaXggaXQuCgkgIEZpeGVzOiAjNjUyOTAyLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTIzIDIwOjExOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgdXNlIEdMaWIgMi4yOCBBUEkKCSAgRG9uJ3QgdXNlIEdMaWIgMi4yOCBBUEksIHdlIHN0aWxsIG9ubHkgcmVxdWlyZSA+PSAyLjI0LgoKMjAxMS0wNi0yMyAxMToyODo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDY5Yjk4MWYgdG8gNjA1Y2Q5YQoKMjAxMS0wNi0yMiAyMjoyNToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCB0YWdzZXR0ZXJzIHRvIG1lcmdlIHJlcGxhY2UgbW9kZQoJICBUaGUgZGVmYXVsdCBmb3IgdGFnc2V0dGVycyBpcyB0byB1c2UgbWVyZ2Uga2VlcCBtb2RlLCBzbyB0YWdzCgkgIHdvdWxkIG5ldmVyIGJlIHJlcGxhY2VkIGFuZCBhbGwgY2FwdHVyZXMgd291bGQgaGF2ZSB0aGUgc2FtZSB0YWdzLgoJICBUaGlzIGNvbW1pdCB3YXRjaGVzIGFsbCBlbGVtZW50cyBhZGRlZCBpbnRvIGVuY29kZWJpbiBhbmQgc2V0cwoJICBhbGwgdGFnc2V0dGVycyB0byBtZXJnZSByZXBsYWNlIG1vZGUKCjIwMTEtMDYtMjIgMTg6NTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGEgc2luZ2xlIGxvY2F0aW9uIGZvciBib3RoIG1vZGVzCgkgIEltcGxlbWVudCB0aGUgbG9jYXRpb24gcHJvcGVydHkganVzdCBsaWtlIGl0IHdvcmtzIGluIGNhbWVyYWJpbiwgdGhlCgkgIHNhbWUgbG9jYXRpb24gaXMgdXNlZCBmb3IgYm90aCBpbWFnZXMgYW5kIHZpZGVvcwoKMjAxMS0wNi0yMiAxNjoyNzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogU2VuZCBzZXJpYWxpemVkIGN1c3RvbSBldmVudHMgZm9yIGZpbGVuYW1lIGNoYW5nZXMgaW4gaW1hZ2Ugc2luawoJICBVc2luZyBzZXJpYWxpemVkIGN1c3RvbSBldmVudHMgZm9yIHN3aXRjaGluZyBpbWFnZSBjYXB0dXJlIHNhdmluZwoJICBsb2NhdGlvbiBtYWtlcyBjYW1lcmFiaW4yIHNhdmUgZWFjaCBjYXB0dXJlIGNvcnJlY3RseSB0byB0aGUgbG9jYXRpb24KCSAgdGhhdCB3YXMgc2V0IGR1cmluZyB0aGUgbW9tZW50IHN0YXJ0LWNhcHR1cmUgd2FzIGNhbGxlZCwgYW5kIG5vdAoJICB0aGUgbW9tZW50IHRoZSBmaWxlc2luayB3YXMgd3JpdGluZyB0byBkaXNrLgoJICBUaGlzIHByZXZlbnRzIGNhcHR1cmVzIHRvIGJlIG92ZXJ3cml0ZW4gYnkgcmFjeW5lc3MgYW1vbmcgc3RhcnQtY2FwdHVyZQoJICBhbmQgc2V0dGluZyBsb2NhdGlvbiBmb3IgaW1hZ2VzLgoKMjAxMS0wNi0yMiAxNTo1NjoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE5vIG5lZWQgdG8gY2hhbmdlIHN0YXRlIG9mIHRoZSB3aG9sZSBpbWFnZSBicmFuY2gKCSAgV2Ugb25seSBuZWVkIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIGZpbGVzaW5rIHRvIHN3aXRjaCBpdHMKCSAgc2F2aW5nIGxvY2F0aW9uLiBUaGlzIG1pZ2h0IHN0aWxsIGNhdXNlIHNvbWUgcHJvYmxlbXMgb2YgZHJvcHBpbmcKCSAgY2FwdHVyZWQgYnVmZmVycywgYnV0IGl0IGlzIGJldHRlciB0aGFuIGNoYW5naW5nIHRoZSBzdGF0ZSBvZgoJICB0aGUgd2hvbGUgYnJhbmNoLgoKMjAxMS0wNi0yMiAxNTozNzo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBuYW1lcyBmb3IgaW1hZ2UgYW5kIHZpZGVvIGVuY29kZWJpbgoJICBOYW1pbmcgZW5jb2RlYmlucyBhcyBpbWFnZS1lbmNvZGViaW4gYW5kIHZpZGVvLWVuY29kZWJpbiB0byBtYWtlCgkgIGl0IGVhc2llciBmb3IgZGVidWdnaW5nIGNhbWVyYWJpbjIuCgoyMDExLTA2LTE3IDE3OjI2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA2LTE3IDE0OjMyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgbmV3IHRlc3QgdG8gY2hlY2sgaW1hZ2UgbG9jYXRpb24gY29ycmVjdG5lc3MKCSAgVGhpcyBuZXcgdGVzdCBjaGVja3MgdGhhdCBpbWFnZXMgYXJlIHNhdmVkIHdpdGggdGhlIGZpbGVuYW1lIHNldHRpbmcKCSAgb24gbG9jYXRpb24gb24gdGhlIG1vbWVudCBvZiB0aGUgc3RhcnQtY2FwdHVyZQoKMjAxMS0wNi0xNSAwODoyMDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1pbm9yIGRlYnVnIG1lc3NhZ2UgZml4CgoyMDExLTA1LTEzIDExOjI1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogQWRkcyBwZXJmb3JtYW5jZSBtZWFzdXJlbWVudCB0byBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgcGVyZm9ybWFuY2UgKHRpbWluZykgbWVhc3VyZSBmZWF0dXJlIHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QsIGl0IGFsbG93cwoJICB1c2VycyB0byBzcGVjaWZ5IHNvbWUgdGFyZ2V0IHZhbHVlcyBmb3IgY29tbW9ubHkgbWVhc3VyZWQgdGltZXMgYW5kIHRoZQoJICBhcHBsaWNhdGlvbiB3aWxsIHByaW50IG91dCBhIHRhYmxlIG9mIHZhbHVlcyBhdCB0aGUgZW5kIG9mIGl0cyBleGVjdXRpb24KCSAgd2l0aCB0aGUgbWVhc3VyZWQgdGltZXMgYW5kIGF2ZXJhZ2VzIG9mIHRoZW0uCgoyMDExLTA2LTIyIDEwOjEzOjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogY3JlYXRlIGNvcnJlY3QgYXZjIGNvZGVjLWRhdGEKCSAgRml4ZXMgIzY1MzAxMy4KCjIwMTEtMDYtMjEgMTI6NDU6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBmaXggb3V0cHV0IGNhcHMgYWxpZ25tZW50IGZvciBhdmMgaW5wdXQKCSAgLi4uIHBhcnRpY3VsYXJseSB3aGVuIHNwbGl0dGluZyBwYWNrZXRpemVkIGlucHV0LgoJICBGaXhlcyAjNjUyOTk1LgoKMjAxMS0wNi0yMSAxMjo0Mzo0MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2YyBpbnB1dCBtdXN0IGVpdGhlciBwYXNzLXRocm91Z2ggb3IgYmUgc3BsaXQgaW50byBieXRlc3RyZWFtIGNodW5rcwoJICAuLi4gc2luY2UgcGFyc2luZyBjb2RlIGlzIG5vdCBtZWFudCB0byByZWNlaXZlIGF2YyBkYXRhLgoJICBGaXhlcyAjNjUzMDg3LgoKMjAxMS0wNi0yMSAxMjo0MTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIGJvZ3VzIGZyYW1lIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDYtMjAgMTI6NDc6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSAgZGVja2xpbms6IHVwZGF0ZSBEZWNrTGluayBBUEkgd3JhcHBlcnMKCjIwMTEtMDYtMjAgMDA6Mzg6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGNvbm5lY3Rpb24gdHlwZQoKMjAxMS0wNi0wNSAyMToxOTo1OCAtMDcwMCAgUmFmYWVsIERpbml6IDxyYWZhZWxAcmlzZXVwLm5ldD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgYXVkaW8gc3VwcG9ydAoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMjE6MjQ6NTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgdmFyaW91cyBmZWF0dXJlcwoJICBCZXR0ZXIgbW9kZSBzdXBwb3J0LCBpbnB1dCBzb3VyY2UgcHJvcGVydHksIGF1ZGlvIHN1cHBvcnQuCgoyMDExLTA2LTA1IDIxOjI0OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSAgZGVja2xpbms6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wNi0wNSAyMToxNzowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZWluZGVudAoKMjAxMS0wNi0xNyAxNjoxMjowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBvbmx5IGZyZWUgdGhlIGluZGV4IGFycmF5IGlmIGl0IGV4aXN0cwoJICBPbmx5IGZyZWUgdGhlIGFycmF5IGlmIGl0IGV4aXN0cy4KCSAgQ29udGFpbnMgYW4gdW5yZWxhdGVkIGluZGVudGF0aW9uIGZpeCwgY291cnRlc3kgb2YgZ3N0LWluZGVudAoKMjAxMS0wNi0xOCAwMToxMTowNSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICB1cGRhdGUgZG9jcyBnZW5lcmF0ZWQgZmlsZXMKCjIwMTEtMDYtMTggMDE6MDk6NTEgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBSVE1QOiBhZGQgcnRtcHNpbmsgZWxlbWVudCBmb3Igb3V0cHV0IHRvIGFuIFJUTVAgc2VydmVyCgoyMDExLTA2LTE2IDE3OjE3OjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogYWRkIGNvbG9yc3BhY2UgdW5pdCB0ZXN0CgkgIENvbXBhcmVzIGNvbG9yc3BhY2UgcmVzdWx0IHdpdGggZmZtcGVnY29sb3JzcGFjZSBvdXRwdXQgdXNpbmcgU1NJTS4KCSAgQWxzbyBwcm9iZXMgZm9yIHBvc3NpYmxlIGNyYXNoZXMgZm9yIG9kZCB3aWR0aCBhbmQgaGVpZ2h0IGltYWdlIGJ5IGFwcGx5aW5nCgkgIGFsbCBwb3NzaWJsZSBjb2xvcnNwYWNlIHRyYW5zZm9ybWF0aW9ucy4KCjIwMTEtMDYtMTcgMTI6MTA6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkgIGRlYnVndXRpbHM6IGFkZCBjb21wYXJlIGVsZW1lbnQKCjIwMTEtMDYtMTUgMTg6MjA6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggb2RkIHdpZHRoIGFuZCBoZWlnaHQgaGFuZGxpbmcgaW4gc29tZSBmYXN0cGF0aCBjYXNlcwoKMjAxMS0wNi0xNiAxOTowNjowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEltcHJvdmUgZG9jdW1lbnRhdGlvbiBvZiBpbnRlcm5hbCBzaG1waXBlCgoyMDExLTA2LTE1IDE2OjMyOjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UudmNwcm9qOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgTW92ZWQgJ2NvbG9yc3BhY2UnIGZyb20gLWJhZCB0byAtYmFzZQoKMjAxMS0wNi0xNSAxNjowNjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBhbmRyb2lkL2FhY3BhcnNlLm1rCgkgIGFuZHJvaWQvYW1ycGFyc2UubWsKCSAgYW5kcm9pZC9oMjY0cGFyc2UubWsKCSAgYW5kcm9pZC9tZXRhZGF0YS5tawoJICBhbmRyb2lkL3F0bXV4Lm1rCgkgIGFuZHJvaWQvc2RwZWxlbS5tawoJICBjb25maWd1cmUuYWMKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTA2LTEzIDExOjEyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgd2luaW5ldHNyYzogZG9uJ3QgdXNlIEdfQ09OU1RfUkVUVVJOCgkgIEl0J3MgZ29pbmcgdG8gYmUgZGVwcmVjYXRlZCByZWFsbHkgc29vbi4KCjIwMTEtMDYtMTIgMTI6NTU6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogU3BlZWQgdXAgdGhlIHN0YXJ0IGNvZGUgc2VhcmNoIGFsZ29yaXRobQoJICBCYXNlZCBvbiA5NmE3ZjljOGIxMTk1MTI5ZjBjMjE1N2NiYmNiYWE2Y2FiNDUwNTZlCgkgIE1ha2VzIGl0IDMtNCB0aW1lcyBmYXN0ZXIKCjIwMTEtMDYtMTIgMTI6NDA6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHNpbmsgcGFkIHRlbXBsYXRlCgkgIG5vIHdvbmRlciBpdCB3YXMgbmV2ZXIgcGlja2VkIHVwIC4uLgoKMjAxMS0wNi0xMiAxMToyNzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGZyZWUgdW5leGlzdGVudCBQQVQKCSAgQW5kIGNsZWFudXAgZmluZF90aW1lc3RhbXBzIGEgYml0CgoyMDExLTA1LTE4IDE5OjMzOjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTW9yZSBmaXhlcyB0byBoYW5kbGUgbm9uLTE4OCBieXRlIHBhY2tldHMKCjIwMTEtMDUtMTUgMTQ6MDQ6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBTdG9wIHNjYW5uaW5nIGZvciBrZXlmcmFtZXMgYXMgZWFybHkgYXMgcG9zc2libGUKCjIwMTEtMDMtMzEgMTQ6MzY6MDIgKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhbHdheXMgdHJ5IHRvIHNlZWsgZm9yIHRvIGEga2V5ZnJhbWUKCSAga2V5ZnJhbWUgaXMgZXhwZWN0ZWQgdG8gbGllIGluIHRoZSB0aGUgbmV4dCB+MjUwMCBtcwoKMjAxMS0wMy0yMyAxODo1MDoyNSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCB0aW1lc3RhbXBzIGluIG5ld3NlZ2VtZW50IGV2ZW50IGFmdGVyIHNlZWtpbmcKCjIwMTEtMDMtMzAgMTE6MjY6MTggKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcGF5bG9hZCBwYXJzaW5nIGZvciBILjI2NAoKMjAxMS0wMy0yOCAxMDoyMDo0MyArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGltcGxlbWVudCBrZXlfdW5pdCBzZWVraW5nIGZvciBNUEVHMiB2aWRlbwoKMjAxMS0wMy0yMiAxNjo0OToxMyArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFjY3VyYXRlIHNlZWtpbmcKCSAgKiBwZXMgaGVhZGVyIHBhcnNpbmcgZm9yIHB0cyBpcyB1Z2x5LCByZWZhY3RvcgoJICAqIHRpbWVzdGFtcHMvbmV3c2VnbWVudCBhZnRlciBzZWVraW5nIGlzIHN0aWxsIG9mZgoKMjAxMS0wMi0yMiAxMjozMzo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHB1c2ggYmFzZWQgc2Vla2luZyBiYXNlZCBvbiBQQ1IKCSAgYnVmZmVyIHRpbWVzdGFtcHMgYXJlIGNvbnZlcnRlZCB0byBHc3RDbG9ja1RpbWUgdG8gY292ZXIgcGNyL3B0cyB3cmFwcy4KCSAgbXVsdGlwbGUgcGNyL3B0cyB3cmFwcyBhcmUgaGFuZGxlZCB3aXRoIGFuIGluZGV4IHdoaWNoIGVuc3VyZXMgYXQgbW9zdAoJICBhIHNpbmdsZSBwY3Igd3JhcGFyb3VuZCBiZXR3ZWVuIHR3byBlbnRyaWVzLgoJICB0aGUgbGFzdCBzZWVuIHBjciBpcyByZWNvcmRlZCB0byBoYXZlIGEgbmVhcmJ5IGluZGV4IHBvaW50IGZvciBzaG9ydCBzZWVrcwoJICByZXN1bWluZyBwbGF5YmFjayBtaWdodCBiZSBkZWxheWVkIGlmIHRoZSBwb3N0aW9uIGlzIG5vdCBhIGtleWZyYW1lCgkgIFRPRE86IHJlcGxhY2UgbWFudWFsIHBhY2tldCBzY2FubmluZyBhbmQgcGFyc2luZyBpbiB0aGUgaW5pdGlhbCBkdXJhdGlvbiBlc3RpbWF0aW9uCgoyMDExLTAyLTIzIDE1OjIxOjIyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogY3JlYXRlIGZ1bmN0aW9uIGZvciBwY3IgcGFyc2luZwoKMjAxMS0wNC0xMSAxNDo1MzoyOCArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGFkYXB0YXRpb24gZmllbGQgbGVuZ3RoID09IDAgaXMgdmFsaWQKCSAgaXQgY2FuIGJlIHVzZWQgdG8gaW5zZXJ0IGEgc2luZ2xlIHN0dWZmaW5nIGJ5dGUKCSAgZG8gbm90IHBhcnNlIHRoZSBmb2xsb3dpbmcgcGF5bG9hZCBhcyBhZGFwdGF0aW9uIGZpZWxkCgoyMDExLTA2LTA3IDE0OjE0OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBBZGQgZ3N0L2ludnRlbGVjaW5lIHRvIENSVUZUX0RJUlMKCjIwMTEtMDYtMDcgMTM6NDQ6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgR0xpYiA+PSAyLjI0CgkgIE1ha2UgaW1wbGljaXQgcmVxdWlyZW1lbnQgZXhwbGljaXQuCgoyMDExLTA2LTA2IDE1OjIzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogYWRkIGEgdGVzdCBmb3IgYmFzZWF1ZGlvdmlzdWFsaXplcgoKMjAxMS0wNi0wNiAxNToyMDozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBmaXggbGFzdCBibG9jayBjb25kaXRpb24KCSAgQWxzbyBwdXNoIG91dCB0aGUgbGFzdCBmcmFtZSBpZiB3ZSBoYXZlIGV4YWN0IGFtb3VudCBvZiBzYW1wbGVzLiBGaXggdGhlIGFkYXB0ZXIKCSAgZmx1c2hpbmcgdG8gbm90IGNhdXNlIGVuZGxlc3MgbG9vcHMuIERyb3AgYSByZWR1bmRhbnQgYXZhaWwoKSBjaGVjay4KCjIwMTEtMDYtMDQgMjA6NDE6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGEgUkVBRE1FIHdpdGggY29tbWVudHMgYW5kIHBsYW5zCgoyMDExLTA2LTA0IDIwOjM0OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzNkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBpbnNwZWN0IGZpbGVzCgoyMDExLTA2LTA0IDE2OjEyOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJICBkb2NzOiBhZGQgbmV3IGF1ZGlvdmlzdWFsaXplcnMgdG8gdGhlIHBsdWdpbiBkb2NzCgoyMDExLTA2LTA0IDE1OjU2OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW1vdmUgc29tZSBub3QgbmVlZGVkIGJvaWxlcnBsYXRlCgoyMDExLTA2LTA0IDE1OjUyOjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYSBzcGFjZXNjb3BlIGVsZW1lbnQKCSAgQWRkIGFub3RoZXIgZWxlbWVudCB0aGF0IG1hcHMgbGVmdC9yaWdodCBjaGFubmVsIHRvIHgseSBjb29yZGluYXRlcy4KCjIwMTEtMDYtMDQgMTU6Mzg6NDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSAgc3luYWVzY29wZTogdHdlYWsgdGhlIGFsZ29yaXRobQoJICBTcGVlZC11cCB0aGUgY2FsY3VsYXRpb24gYSBiaXQuIEtlZXAgYSBmZXcgdmFsdWVzIGFzIGRvdWJsZXMuIFR1bmUgdGhlIHNjYWxpbmcKCSAgdG8gZ2V0IG5pY2VzIGNvbG9ycy4KCjIwMTEtMDYtMDQgMTQ6Mzc6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogZG9jLWJsb2IgYW5kIGNvbW1lbnQgdXBkYXRlcwoKMjAxMS0wNi0wNCAxNDozMzoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbmFtZSBiYXNlY2xhc3MgZnJvbSBiYXNlc2NvcGUgdG8gYmFzZWF1ZGlvdmlzdWFsaXplcgoKMjAxMS0wNi0wNCAxNDoyNTo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiByZW5hbWUgc2NvcGVzIHBsdWdpbiB0byBhdWRpb3Zpc3VhbGl6ZXJzCgoyMDExLTA1LTMxIDE0OjQyOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSAgc2NvcGVzOiBmaXggZWxlbWVudHMgZGVzY3JpcHRpb25zCgoyMDExLTA1LTMwIDIzOjQ1OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IHVzZSBhZGRfcGl4ZWwgZm9yIG5vbi13aGl0ZSBwaXhlbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0zMCAyMzozNjo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGFkZCBhIG5ldyBlbGVtZW50IHNpbWlsYXIgdG8gc3luYWVzdGhlc2lhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMjM6MjI6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkgIHNjb3BlczogZHJhdyBwaXhlbHMgd2l0aCBzaWdubGUgMzJiaXQgd3JpdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMTQ6MzY6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkgIGJhc2VzY29wZTogYWRkIG1vcmUgc2hhZGluZyBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjggMTQ6MDg6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkgIGJhc2VzY29wZTogYWRkIGEgcHJvcGVydHkgdG8gbW9kaWZ5IHRoZSBhbW1vdW50IG9mIHNoYWRpbmcKCSAgQWRkIGFub3RoZXIgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgc2hhZGluZyBwZXIgY29sb3IgY2hhbm5lbC4gRml4IGVuZGlhbmVzcwoJICBpc3N1ZXMgaW4gdGhlIHNoYWRpbmcgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMzoyNTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgYmFzZXNjb3BlOiBhZGQgYSBiYWNrYnVmZmVyIGFuZCBhcHBseSBzaGFkaW5nIGVmZmVjdHMKCSAgS2VlcCB0aGUgbGFzdCBmcmFtZSBhbmQgYXBwbHkgc2hhZGUgYW5kIGdlb21ldHJ5IGVmZmVjdHMuIEV4cG9zZSB0aGUgc2hhZGluZwoJICBlZmZlY3RzIGFzIGEgY29udHJvbGxhYmxlIGdvYmplY3QgcHJvcGVydHkgb24gdGhlIGJhc2VjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMzoxMjowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgYmFzZXNjb3BlOiBhbGxvdyBzdWJjbGFzc2VzIHRlbGxpbmcgaG93IG1hbnkgc2FtcGxlIHRoZXkgbmVlZCBwZXIgZnJhbWUKCSAgVGhpcyBhbGxvd3MgZS5nLiBGRlQgYmFzZWQgZWxlbWVudHMgdG8gcmVxdWlyZSBlbm91Z2ggZGF0YS4gSWYgdGhleSBuZWVkIG1vcmUKCSAgZGF0YSB0aGFuIHdoYXQgd2UgZ2V0LCB3ZSBmbHVzaCBsZXNzIGZyb20gdGhlIGFkYXB0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDUtMjcgMjI6NTM6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkgIGJhc2VzY29wZTogcmVtb3ZlIHNvbWUgY29tbWVudHMKCSAgVGhvc2UgY29tbWVudHMgd2hlcmUgcG9pbnRpbmcgdG8gZXhhbXBsZSBjYWxscyB0aGF0IHdlIGRvIGluIHRoZSBzdWJjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAxNDo0Mzo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9NYWtlZmlsZS5hbToKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L3Njb3Blcy9wbHVnaW4uYzoKCSAgc2NvcGVzOiBhZGQgYSBzaW1wbGUgZmZ0IGJhc2VkIHNjb3BlCgkgIEFkZCBhIDJuZCBkZW1vIHNjb3BlIHRoYXQgdXNlcyBhIGZmdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAxMToxNDoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGZpcnN0IHZlcnNpb24gb2YgYSBzY29wZXMgcGx1Z2luIHVzaW5nIGEgbmV3IGJhc2VjbGFzcwoJICBBZGQgYSBuZXcgYmFzZWNsYXNzIGZvciB3cml0aW5nIHZpc3VhbGlzYXRpb24gcGx1Z2lucy4gUHJvdmlkZSBhIHNpbXBsZSB3YXZlCgkgIG9zY2lsbG9zY29wZSBhcyBhIGZpcnN0IHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA0LTI5IDEzOjMzOjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQXZvaWQgZG91YmxlIHNjYW5uaW5nIG9mIHBpY3R1cmVzCgkgIFRoZSBpbmNvbWluZyBkYXRhIGhhcyBhbHJlYWR5IGJlZW4gc2Nhbm5lZCBpbiBtcGVnX3BhY2tldGl6ZXJfYWRkX2J1Zi4KCSAgV2UgY2FuIHRoZXJlZm9yZSBzdG9wIHNjYW5uaW5nIGZvciBwaWN0dXJlIGRhdGEgYXMgc29vbiBhcyB3ZSd2ZSBwYXJzZWQKCSAgdGhlIGhlYWRlci4gTWFrZXMgbXBlZ3ZpZGVvcGFyc2UgMiB0aW1lcyBmYXN0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MzMKCjIwMTEtMDYtMDUgMTM6NTY6MDggLTA3MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICBkaXJlY3RkcmF3c2luazogbG93ZXIgcmFuayB0byBzZWNvbmRhcnkKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDEzOjM4OjQ2IC0wNzAwICBMZXZlbnRlIEZhcmthcyA8bGZhcmthc0BsZmFya2FzLm9yZz4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5oOgoJICBkM2R2aWRlb3Npbms6IGNvbXBpbGUgZml4CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAxMDozNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBSZW1vdmUgaW4gZmF2b3Igb2YgZmllbGRhbmFseXNpcwoKMjAxMS0wNi0wNCAxODo1NDoxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogSGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBGaXhlczogIzY1MTc3OS4gIEZyb20gUmFpbW8gSsOkcnZpLgoKMjAxMS0wNi0wNCAxODo0Mzo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogQWRkIHBsdWdpbgoJICBGaXhlcyAjNjUxNzgyLiAgUGF0Y2ggZnJvbSB2YXJpb3VzIGF1dGhvcnMsIGJ5IHdheSBvZiBvc3NidWlsZC4KCjIwMTEtMDYtMDQgMTQ6MDQ6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBXb3JrIGFyb3VuZCBjaGFuZ2VzIGluIGdfYXRvbWljIEFQSQoJICBTZWUgIzY1MTUxNCBmb3IgZGV0YWlscy4KCjIwMTEtMDYtMDQgMTM6NTE6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1OiByZW1vdmUgb2xkIGdsaWIgY29tcGF0aWJpbGl0eSBjb2RlCgoyMDExLTA2LTAzIDE5OjM2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogc2V0IHBhciB0byAxLzEKCjIwMTEtMDYtMDMgMTk6MzY6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogQmV0dGVyIGhhbmRsaW5nIG9mIGludmFsaWQgcGFyCgoyMDExLTA1LTMwIDE3OjAzOjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkgIHZpZGVvZmlsdGVyMjogRml4IGNvcHlyaWdodAoKMjAxMS0wNi0wNCAyMDozNTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgZ3N0OiBzb21lIG1vcmUgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZyBmaXhlcwoKMjAxMS0wNS0zMCAxNzo1NDoyNiArMDUzMCAgRGViYXJzaGkgUmF5IDxyaXNoaUBnbnUub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkgIFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGUgbmV3IC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgYWRkZWQgaW4KCSAgR0NDIDQuNjogaHR0cDovL2djYy5nbnUub3JnL2djYy00LjYvY2hhbmdlcy5odG1sCgoyMDExLTA1LTA5IDE0OjM1OjQyIC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYSBmaWx0ZXIgdG8gd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBDYW1lcmFiaW4yIGFsbG93cyBzZXR0aW5nIGEgZmlsdGVyIGZvciBpbWFnZSwgdmlkZW8gb3Igdmlld2ZpbmRlciwgYnV0CgkgIG5vdCBvbmUgZmlsdGVyIGZvciBhbGwgdGhyZWUgYXQgdGhlIHNhbWUgdGltZS4gSSBhZGRlZCBhIGZpbHRlciB0bwoJICB3cmFwcGVyY2FtZXJhYmluc3JjIHRvIGFsbG93IHNldHRpbmcgYSBnbG9iYWwgZmlsdGVyIHdoZW4gdXNpbmcgdGhpcwoJICBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDk4MjIKCjIwMTEtMDUtMjYgMDA6MDk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCB2YXIKCjIwMTEtMDUtMjUgMjM6Mjk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBmdWxsIG5hbWVzIGluIHByb3BlcnRpZXMKCSAgSW1wcm92ZSBBUEkgYnkgdXNpbmcgc291cmNlIGluc3RlYWQgb2Ygc3JjIGluIHByb3BlcnRpZXMKCjIwMTEtMDUtMjMgMTM6MzY6MjcgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG8gbm90IHVucmVmIHBhZCB0ZW1wbGF0ZQoKMjAxMS0wNS0yOSAxMzoxNjoyMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IGF2YyBjaGVjayBzbyB0aGF0IGl0IHRyaWVzIHRvIGxpbmsgdG8gQVZDVmlkZW9TZXJ2aWNlcwoJICBBdm9pZHMgYXZjIHBsdWdpbiBmcm9tIGJlaW5nIGJ1aWx0IHdoZW4gQVZDVmlkZW9TZXJ2aWNlcyBpcyBub3QgaW5zdGFsbGVkCgoyMDExLTA1LTI2IDEyOjIzOjAxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IEFkZCAtLWltYWdlLWZvcm1hdHRlciBjb21tYW5kLWxpbmUgb3B0aW9uCgkgIEFkZCBjb21tYW5kLWxpbmUgb3B0aW9uIHRvIGdzdC1jYW1lcmFiaW4tdGVzdCBmb3IgY29uZmlndXJpbmcgY2FtZXJhYmluCgkgIG1ldGFkYXRhIGZvcm1hdHRlciBlbGVtZW50LgoKMjAxMS0wNS0zMSAxMzowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IEZpeCB1bml0IHRlc3QgYWZ0ZXIgbGF0ZXN0IGZhYWMgY2hhbmdlcwoKMjAxMS0wNS0zMSAxMjo1NTo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2Nhbm5pbmcgb24gc21hbGwgZmlsZXMKCSAgV2Ugd2VyZSBwcmV2aW91c2x5OgoJICAqIFN0b3BwaW5nIGVhcmx5IGluIHRoZSBpbml0aWFsIFBDUiBzY2FuCgkgICogR2l2aW5nIGEgbmVnYXRpdmUgb2Zmc2V0IGZvciB0aGUgc2Vjb25kIFBDUiBzY2FuCgoyMDExLTA1LTMxIDEyOjU0OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGNhbGwgcHJvZ3JhbV9zdG9wcGVkIHdpdGggYSBOVUxMIHByb2dyYW0KCjIwMTEtMDUtMTkgMTI6NTU6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBEZWxheSBwdXNoaW5nIGJ1ZmZlcnMgdW50aWwgd2UgaGF2ZSB3aWR0aC9oZWlnaHQKCjIwMTEtMDUtMjcgMTE6MTM6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogcmVtb3ZlIHRlbXBsYXRlIHN0YW1wIGNvbW1lbnQKCjIwMTEtMDUtMzAgMjM6NDM6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkgIGJheWVyMnJnYjogQ29udmVydCB0byBPcmMKCSAgU2VyaW91c2x5IGZhc3Rlci4gIEFsZ29yaXRobSBpcyBuZWFybHkgdGhlIHNhbWUgYXMgYmlsaW5lYXIsIHdoaWNoCgkgIGdpdmVuIHRoZSBzcGVlZCBvZiB0aGlzIGNvZGUsIHNob3VsZCBiZSBjb25zaWRlcmVkIHRoZSBiYXNlbGluZSBvZgoJICBxdWFsaXR5LiAgU3BlZWQgYXBwZWFycyB0byBiZSBsaW1pdGVkIGJ5IG1lbW9yeSBiYW5kd2lkdGgsIHNvIEkKCSAgZGlkbid0IGJvdGhlciB0cnlpbmcgdG8gbWFrZSBpdCBhbnkgZmFzdGVyLgoKMjAxMS0wNS0zMCAxNjo1NjozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogUmV3cml0ZSBzaWduYWwgcHJvY2Vzc2luZy4gTXVjaCBmYXN0ZXIuCgoyMDExLTA1LTMwIDE3OjU0OjI2ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBSZW1vdmUgdW51c2VkIGJ1dCBzZXQgdmFyaWFibGVzCgkgIFRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlIG5ldyAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIGFkZGVkIGluCgkgIEdDQyA0LjY6IGh0dHA6Ly9nY2MuZ251Lm9yZy9nY2MtNC42L2NoYW5nZXMuaHRtbAoKMjAxMS0wNS0zMCAxMzowMTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJldmVydCAiZHZkc3B1OiBGaXggcGFkIHRlbXBsYXRlcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3MzI4MjhlMzFjYmFjZTU5ZTZjZTRmMjYyYjgzMzllNDNlZDBjNjMxLgoJICBJdCB3YXMgaW4gZmFjdCBhbiBpc3N1ZSBpbiBjb3JlCgoyMDExLTA1LTMwIDEzOjAxOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHJvdGVjdCBhZ2FpbnN0IHByb2dyYW0gYmVpbmcgcmVtb3ZlZAoKMjAxMS0wNS0zMCAxMjoyNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkgIGZhY2VvdmVybGF5OiBBZGQgZ3N0LXBsdWdpbnMtYmFzZSBDRkxBR1MgYW5kIExJQlMgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDExLTA1LTMwIDEyOjI0OjMxICswMjAwICBMYXVyYSBMdWNhcyBBbGRheSA8bGF1cmFsdWNhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogQWRkIGVsZW1lbnQgdGhhdCBkaXNwbGF5cyBhbiBTVkcgaW1hZ2Ugb3ZlciBhIGRldGVjdGVkIGZhY2UKCSAgRml4ZXMgYnVnICM2NDI3NTkuCgoyMDExLTA1LTMwIDA4OjQ4OjI5ICswMjAwICBUb20gRGVzZXluIDx0b20uZGVzZXluQGJhcmNvLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBBbHNvIGNvbnNpZGVyIG5vbi1hY2NlbGVyYXRlZCBEaXJlY3RGQiBzdXJmYWNlcwoJICBGaXhlcyBidWcgIzYzMTM5MC4KCjIwMTAtMDktMDIgMjM6MzE6MjMgKzAzMDAgIE1hcnRpbiBTdG9yc2pvIDxtYXJ0aW5AbWFydGluLnN0PgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogRGVjb2RlIGF1ZGlvIHVudGlsIGFsbCBpbnB1dCBkYXRhIGlzIGNvbnN1bWVkCgkgIFRoZSBzcGVjaWFsIHJldHVybiB2YWx1ZSBpcyByZXR1cm5lZCBmcm9tIG91ciBidWZmZXIgY2FsbGJhY2sKCSAgd2hlbiBhbGwgaW5wdXQgZGF0YSBoYXMgYmVlbiBjb25zdW1lZC4KCjIwMTEtMDUtMDMgMTQ6MTQ6MjAgKzAzMDAgIE1hcnRpbiBTdG9yc2pvIDxtYXJ0aW5AbWFydGluLnN0PgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIHF0d3JhcHBlcjogUmVwbGFjZSB0aGUgaGFja2lzaCA0MiBtYWdpYyBudW1iZXIgd2l0aCBhIGRlZmluZQoKMjAxMS0wNS0zMCAwODo0Mzo1OSArMDIwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjd3JhcHBlcjogRml4IENPTSBpbml0aWFsaXphdGlvbgoJICBGaXhlcyBidWcgIzYyNTE5MC4KCjIwMTEtMDUtMzAgMDg6NDM6NDAgKzAyMDAgIEp1bGllbiBNT1VUVEUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBGaXggZWxlbWVudCByZWdpc3RyYXRpb24gdXNpbmcgZGF0YSBpbiB0aGUgdHlwZSBpbnN0ZWFkIG9mIGEgZ2xvYmFsCgoyMDExLTA1LTI5IDE4OjE2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggcGFkIHRlbXBsYXRlcwoJICBPdXIgY2FwcyBpbnRlcnNlY3Rpb24gY29kZSBpcyBhIGJpdCB0b28gdG91Y2h5IGFib3V0IHdoYXQgYW4gZWxlbWVudAoJICByZXR1cm5zIGNvbXBhcmVkIHRvIGl0cyBwYWQgdGVtcGxhdGVzLgoKMjAxMS0wNS0yOSAxMzowNTozMSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNoZWNrIGZvciBvdXQgb2YgcmFuZ2UgcHBzX2lkIG9uZSBsYXllciB1cAoKMjAxMS0wNS0yOSAxMzowMzozOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA1LTI5IDEyOjU0OjQwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGxlZ2FjeWgyNjRwYXJzZTogY2hlY2sgZm9yIG91dCBvZiByYW5nZSBwcHNfaWQgb25lIGxheWVyIHVwCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgY29tcGFyaW5nIGd1aW50OCBhbmQgTUFYX1BQU19DT1VOVCB3aGljaCBpcyA+IEdfTUFYVUlOVDgKCjIwMTEtMDUtMjcgMTE6MDU6NDYgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIEZpeCBtaXNzaW5nIGhlYWRlciBmaWxlIGFuZCB1cGRhdGUgc3BlYyB0byB3b3JrIGFyb3VuZCBjdXJyZW50IGNvbXBpbGVyIGlzc3VlcwoKMjAxMS0wNS0yNyAxMDo0NDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgZmFhYzogZml4IENGTEFHUyBhbmQgTElCUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wNS0yNyAxMDo0NDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFNldCB0aGUgY29ycmVjdCwgdmFsaWQgc2FtcGxlIHJhdGVzIGluIHRoZSBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0wNS0yNyAxMDo0MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IE1ha2Ugc3VyZSB0byBhbHNvIHJldHVybiBvbmx5IGEgc3Vic2V0IG9mIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpbiBnZXRjYXBzCgoyMDExLTA1LTI3IDEwOjM1OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogU2V0IHRoZSBjb3JyZWN0LCB2YWxpZCBzYW1wbGUgcmF0ZXMgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA1LTI3IDEwOjMyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogVGhlIGVuY29kZXIgbGlicmFyeSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyAxIG9yIDIgY2hhbm5lbHMKCjIwMTEtMDUtMjcgMTA6MzE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBwcm9maWxlIGFuZCBsZXZlbCB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzY1MDU5NS4KCjIwMTEtMDUtMjcgMTA6MTE6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBBZGQgdGhlIHByb2ZpbGUgYW5kIGxldmVsIHRvIHRoZSBjYXBzCgkgIEFsc28gbmVnb3RpYXRlIHRoZSBwcm9maWxlIGZyb20gdGhlIGRvd25zdHJlYW0gcGVlciBjYXBzCgkgIGluc3RlYWQgb2YgdXNpbmcgYSBwcm9wZXJ0eS4KCSAgRml4ZXMgYnVnICM2NTA1OTQuCgoyMDExLTA1LTI3IDA5OjQwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgdGhlIHByb3BlcnR5IGVudW1zCgoyMDExLTA1LTI2IDA5OjU5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVnc3B5OiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMS0wMS0xNCAxNzo0Mjo1MCArMDEwMCAgR3VpbGxhdW1lIEVtb250IDxnZW1vbnRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5Lmg6CgkgIGRlYnVnc3B5OiBhZGQgbmV3IGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGFsbG93cyB5b3UgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IGJ1ZmZlcnMgd2l0aCBidXMgbWVzc2FnZXMuIEl0CgkgIHByb3ZpZGVzIHRoZSBzYW1lIGtpbmQgb2YgaW5mb3JtYXRpb24gYXMgaWRlbnRpdHkgZG9lcyB0aHJvdWdoIGEgbm90aWZ5IHNpZ25hbAoJICBvbiBhIHN0cmluZyBwcm9wZXJ0eSwgYnV0IGluIGEgbW9yZSBwcm9ncmFtbWVyLWZyaWVuZGx5IHdheS4KCjIwMTEtMDUtMjYgMDk6NDY6NTggKzAyMDAgIEdhYnJpZWwgU3RyaW10dSA8Z2FicmllbHN0cmltdHVAeWFob28uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRml4IHBhcnNpbmcgb2YgUFNJIHRhYmxlIElEcwoJICBGaXhlcyBidWcgIzYzNTkxNy4KCjIwMTEtMDUtMjYgMDk6MjI6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0c3JjOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeQoJICBCYXNlZCBvbiB0aGUgTEFURU5DWSBxdWVyeSBjb2RlIGluIHY0bDJzcmMgYW5kIHRoZSBwYXRjaAoJICBieSBUcmlzdGFuIE1hdHRoZXdzLiBGaXhlcyBidWcgIzYyNTUyMC4KCjIwMTEtMDUtMjUgMjM6MTQ6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IG1vcmUgc3lzIGVsZW1lbnRzIGZyb20gdGhlIHN0YXRlIHRlc3RzCgkgIEFsc28gd3JhcCB0aGUgbGlzdCBvZiBibGFja2xpc3RlZCBlbGVtZW50cyBhbmQgdHJpbSBzb21lIHdoaXRlc3BhY2UuCgoyMDExLTA1LTI1IDIzOjEzOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGVuc3VyZSB1bmlxZSBwcm9wZXJ0eSBuYW1lcwoJICBDb3B5IGFuZCBhZGp1c3QgdGhlIGNvZGUgZnJvbSBsYWRzcGEgcGx1Z2luIHRvIGVuc3VyZSB1bmlxdWUgZ29iamVjdCBwcm9wZXJ0eQoJICBuYW1lcy4KCjIwMTEtMDUtMjUgMjA6NTI6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0cyBmb3IgYSBudW1iZXIgb2YgdmlkZW8gcGFyc2VycwoKMjAxMS0wNS0yNSAyMDo0OTowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGFkZGl0aW9uYWwgb2Zmc2V0IHRyYWNraW5nIGluIHBhcnNlciB0ZXN0IGhlbHBlcgoKMjAxMS0wNS0yNSAyMDo0ODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIHRlc3RzOiBhZGRpdGlvbmFsIHBhcmFtZXRlcml6YXRpb24gZm9yIHBhcnNlciB0ZXN0IGhlbHBlcgoJICBBbGxvdyBjb250ZXh0IGNhbGxiYWNrcyB0byBwZXJmb3JtIGN1c3RvbSBidWZmZXIgdmVyaWZpY2F0aW9uCgkgIGFuZCBjdXN0b20gZWxlbWVudCBzZXR1cC4gIEFsc28gbW92ZSBzb21lIHN0YXRpYyB0cmFja2luZyB2YXJpYWJsZXMKCSAgaW50byBoZWxwZXIgc3RydWN0IGFuZCBleHBvc2UgdGhlIGxhdHRlciBzdHJ1Y3QgZm9yIHVzZSBieSB1bml0IHRlc3QKCSAgKGNhbGxiYWNrcykuCgoyMDExLTA1LTI1IDE1OjI2OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGx1ZyBzb21lIG1vcmUgYnVmZmVyIGxlYWtzCgoyMDExLTA1LTI1IDEzOjUzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29tcGVuc2F0ZSBmb3Igc2tpcHBlZCBieXRlcyBpbiBwYXJzaW5nIHN0YXRlIG9mZnNldHMKCjIwMTEtMDUtMjUgMTM6NTM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2xlYXJpbmcgYWRhcHRlciBmb3JtaW5nIGF2YyBvdXRwdXQgZnJhbWUKCSAgLi4uIHdoaWNoIG5lZWRzIHRvIGJlIHJlc2V0IHVwb24gYSBuZXcgZnJhbWUgYW5kIG90aGVyd2lzZSAob25seSkKCSAgZm9yIGF2YyBpbnB1dCBpbiBwYXNzdGhyb3VnaCBtb2RlIChyYXRoZXIgdGhhbiBvbiBldmVyeSBjaGFpbiBjYWxsKS4KCjIwMTEtMDUtMjUgMTE6NTA6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBoYW5kbGUgYWxsIHZhbGlkIHBwc19pZAoJICAuLi4gd2hpY2ggYXJlIGluIHJhbmdlIDAtMjU1LgoKMjAxMS0wNS0xNSAxMzoyMzozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsbG93IGZ1bGwgbmVnb3RpYXRpb24gZm9yIHBhY2tldGl6ZWQgaW5wdXQKCSAgLi4uIGJ5IGRlZmF1bHRpbmcgdG8gYWxsb3cgc3BsaXR0aW5nIHBhY2tldGl6ZWQgaW5wdXQgYW5kIGhhdmluZwoJICBuZWdvdGlhdGlvbiB3aXRoIGRvd25zdHJlYW0gZGVjaWRpbmcgd2hldGhlciBvciBub3QgdGhpcyBhcHBsaWVzLgoJICBBbHNvIGVuYWJsZSBwYXNzLXRocm91Z2ggcGFyc2luZyBtb2RlIGlmIGlucHV0IGFuZCBvdXRwdXQgZm9ybWF0CgkgIChzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQpIG1hdGNoLgoJICBBUEk6IEdzdEgyNjRQYXJzZTpzcGxpdC1wYWNrZXRpemVkIChyZW1vdmVkKQoJICBGaXhlcyAjNjUwMjI4LgoKMjAxMS0wNS0yNCAyMTo1MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGFsc28gZXh0cmFjdCB3aWR0aCBhbmQgaGVpZ2h0IGludG8gY2FwcwoKMjAxMS0wNC0yMSAyMjo0Mjo0NSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB1bml0IHRlc3QgZm9yIEFQUDEvZXhpZiAmIGNvbW1lbnQgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4NDc4CgoyMDExLTA1LTI1IDE0OjQyOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgbXBlZzJlbmM6IGZpeCBidWlsZCB3aXRoIDEuOS4wIHJlbGVhc2UgYWdhaW4gYWZ0ZXIgcmVjZW50IGZpeGVzIGZvciBtanBlZ3Rvb2xzIDIuMC4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTA5NzAKCjIwMTEtMDUtMjUgMTU6MTA6MTkgKzAyMDAgIEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BvcGVuZHJlYW1ib3gub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcG9pbnRlciBvdXRwdXQgaW4gc3RyZWFtLW5vdC1hc3NvY2lhdGVkIGRlYnVnIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDUwCgoyMDExLTA1LTI0IDE1OjQyOjQ0ICswMjAwICBHw7Z0eiBXYXNjaGsgPHdhc2Noa0BtYW5kcml2YS5vcmc+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICBtcGVnMmVuYzogc3VwcG9ydCBtanBlZ3Rvb2xzIDIuMAoJICBUaGlzIGFkZHMgY29uZGl0aW9uYWwgaW5jbHVkZXMgZm9yIHRoZSByZW5hbWVkIGhlYWRlcnMgaW4gbWpwZWd0b29scyAyLjAuCgkgIEZpeGVzOiAjNjUwOTcwLgoKMjAxMS0wNS0yMyAxNzoyOTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgIHh2aWRkZWM6IEFkZCB2aWRlby9tcGVnLG1wZWd2ZXJzaW9uPTQgdG8gdGhlIGNhcHMKCSAgRml4ZXMgYnVnICM2MDk2MzkuCgoyMDExLTA1LTIwIDE3OjA2OjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgaW1hZ2UtZm9ybWF0dGVyIHByb3BlcnR5CgkgIEFkZCBpbWFnZS1mb3JtYXR0ZXIgcHJvcGVydHkgaW4gb3JkZXIgdG8gbGV0IGFwcGxpY2F0aW9uIGNvbmZpZ3VyZQoJICB0aGUgZm9ybWF0dGVyIGVsZW1lbnQgZm9yIG1ldGFkYXRhLgoKMjAxMS0wNS0yMyAxMzo1NDozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhZGRpdGlvbmFsIGRlYnVnIHRyYWNpbmcKCjIwMTEtMDUtMjMgMTI6MDY6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBuZXcgbXBlZ3ZpZGVvcGFyc2UKCjIwMTEtMDUtMjMgMTI6MDI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiByZW5hbWUgdG8gbGVnYWN5bXBlZ3ZpZGVvcGFyc2UKCjIwMTEtMDUtMTggMDk6NDc6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBzdGFsZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA1LTE3IDIyOjQyOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjQyOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjM5OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogc2ltcGxpZnkgbWluaW11bSBmcmFtZSBzaXplIGhhbmRsaW5nCgoyMDExLTA1LTE3IDIyOjE4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYXZvaWQgc3RhbGUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNS0xMiAxMjowNzozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmg6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCjIwMTEtMDUtMjMgMTU6MDM6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgLWNvcmUvLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4zNC4xCgkgIC4uLiBzaW5jZSBsYXRlc3QgYmFzZXBhcnNlIEFQSSBpcyByZXF1aXJlZCBmb3IgdmlkZW9wYXJzZXJzLgoKMjAxMS0wNS0yMyAxNDo0MToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGdyYWNlZnVsbHkgaGFuZGxlIHRydW5jYXRlZCBpbnB1dCBOQUwgdW5pdHMKCSAgUmF0aGVyIHRoYW4gYXNzZXJ0J2luZyBpbiBzdWNoIGNhc2UsIGVtaXQgd2FybmluZyBpZiB0aGUgbGVuZ3RoIG9mIGEgTkFMIHVuaXQKCSAgaXMgbGVzcyB0aGFuIGV4cGVjdGVkIDIgYW5kIGRpc2NhcmQgaXQuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEJlbmphbWluIE0uIFNjaHdhcnR6IDxiZW5zQGFsdW0ubWl0LmVkdT4KCSAgRml4ZXMgIzY1MDQxNi4KCjIwMTEtMDUtMjMgMTY6NDc6MzEgKzAyMDAgIFZpbmNlbnQgR8OpbmlldXggPHZnZW5pZXV4QGZyZWUuZnI+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IEFkZCB0aW1lb3V0IHByb3BlcnR5IGFuZCB1c2UgR3N0UG9sbCBpbnN0ZWFkIG9mIHBvbGwKCSAgVGhpcyBhbGxvd3MgdG8gdXNlIG11Y2ggaGlnaGVyIHRpbWVvdXQgdmFsdWVzIGJlY2F1c2UgR3N0UG9sbAoJICBpcyBpbnRlcnJ1cHRpYmxlIGFuZCBrZWVwcyB0aGUgbnVtYmVyIG9mIHdha2V1cHMgZHVyaW5nIHNpZ25hbAoJICBsb3NzIGxvd2VyLgoJICBGaXhlcyBidWcgIzYwODE3MS4KCjIwMTEtMDUtMjMgMTQ6NTg6MDggKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IGJ1aWxkIG9mIG9wZW5hbCBwbHVnaW4gZnJvbSBkaXN0ZWQgdGFyYmFsbAoKMjAxMS0wNS0yMyAxNTozMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICB0ZWxldGV4dGRlYzogTWlub3IgY2xlYW51cCBhbmQgaW5kZW50aW9uIGZpeGVzCgoyMDExLTA1LTIzIDE1OjIwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTEtMDUtMjMgMTU6MTQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBGaXggYnVmZmVyIGRhdGEgbGVhawoKMjAxMC0wOS0xMCAxNDozNDo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJICB0ZWxldGV4dGRlYzogQWRkIHN1cHBvcnQgZm9yIHBhbmdvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTI6NDQ6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSAgdGVsZXRleHRkZWM6IGFkZCBhIG5ldyBtZXRob2QgdG8gY29udmVydCBhIHBhZ2UgaW4gYSBsaXN0IG9mIHN0cmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wOS0wOSAxNjo0MTozMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBhZGQgc29tZSBkYXRhIGluIHRoZSBwcmVyb2xsIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEzOjU1OjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGZpeCBkZWFkbG9jayBvbiBhIHN0cmVhbSBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA2LTEwIDEyOjQyOjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGRvbid0IHRyeSB0byBwdXNoIGFuIGV2ZW50IG9uIGEgcGFkIHRoYXQgcmV0dXJuZWQgYW4gZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wOS0xMyAxMTo1OToxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJKiBleHQvdGVsZXRleHRkZWMvdGVsZXRleHQuYzoKCSAgdGVsZXRleHRkZWM6IE5ldyB0ZWxldGV4dCBkZWNvZGVyIHBsdWdpbiBiYXNlZCBpbiB6dmJpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTEtMDUtMjMgMTQ6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuaDoKCSAgb3BlbmFsOiBBZGQgbmV3IG9wZW5hbHNyYyBlbGVtZW50CgkgIEJhc2VkIG9uIHBhdGNoZXMgYnkgVmljdG9yIExpbiA8Ym9ybnN0dWJAZ21haWwuY29tPgoJICBGaXhlcyBidWcgIzU1MDIzMC4KCjIwMTEtMDUtMjMgMTM6NDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuaDoKCSAgb3BlbmFsOiBBZGQgbmV3IE9wZW5BTCBzaW5rIGVsZW1lbnQKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBDaHJpcyBSb2JpbnNvbiA8Y2hyaXMua2NhdEBnbWFpbC5jb20+CgkgIEZpeGVzIGJ1ZyAjNjE1NjE1LgoKMjAxMS0wNS0yMCAxNToyNTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERvIG5vdCBzZWdmYXVsdCBvbiBudWxsIGxvY2F0aW9ucwoJICBQcmV2ZW50IGNhcHR1cmUgZnJvbSBzdGFydGluZyB3aGVuIHNhdmluZyBsb2NhdGlvbiBpcyBzZXQgdG8KCSAgTlVMTAoKMjAxMS0wNS0yMCAxMzowNDo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSAgY2FtYXBwbGljYXRpb25pbmZvOiBmaXggcG9zc2libGUgYXJyYXkgb3ZlcnJ1bgoKMjAxMS0wNS0yMCAwOTo1ODo1MCArMDIwMCAgUmFmYWVsIERpbml6IDxyYWZhZWxAcmlzZXVwLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnW3B0XXNkZW11eDogQWRkIHN1cHBvcnQgZm9yIEFBQyBMQVRNL0xPQVMgc3RyZWFtcwoJICBGaXhlcyBidWcgIzYxNTY4MS4KCjIwMTEtMDUtMTkgMDg6MDU6MTQgKzAyMDAgIFcuIE1pY2hhZWwgUGV0dWxsbyA8bWlrZUBmbHluLm9yZz4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJICBhcGV4c2luazogQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpb24gMiBBaXJUdW5lcyBoYXJkd2FyZQoJICBGaXhlcyBidWcgIzY0OTkzMS4KCjIwMTEtMDUtMjAgMDA6MzU6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGZpeCB0aGUgeyB9IHNjb3BlCgoyMDExLTA1LTIwIDAwOjIwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGRvbid0IGxlYWsgZmQgb24gZXJyb3IKCjIwMTEtMDUtMjAgMDA6MTY6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IGRvbid0IGxlYWsgcGFzc3dvcmQgb24gZXJyb3IKCjIwMTEtMDUtMTkgMjM6NTc6MzggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnRlZCBvdXQgcGFydAoJICBXZSBkb24ndCBoYXZlIHRoaXMgaW4gdGhlIG90aGVyIG1vZHVsZXMgYW5kIGl0cyBub3QgbmVlZGVkLgoKMjAxMS0wNS0xOSAyMzo1MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEKCSAgTm93IG1vcmUgZmlsZXMgYXJlIG1lcmdlZCBhbmQgcHJvZHVjZWQgaW4gYSBjYW5vbmljYWwgZmFzaGlvbiwgd2hpY2ggaG9wZWZ1bGx5CgkgIGNyZWF0ZXMgbGVzcyBvciBubyBkZWx0YSBpbiB0aGUgZnV0dXJlLgoKMjAxMS0wNS0xOSAyMjo1ODoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5ZTViYmQ1IHRvIDY5Yjk4MWYKCjIwMTEtMDUtMTkgMTQ6NTg6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgdmlkZW8tZGV2aWNlIGFyZ3VtZW50CgkgIEFkZHMgYW4gYXJndW1lbnQgdG8gc2VsZWN0IHdoaWNoIHZpZGVvIGRldmljZSBzaG91bGQgYmUgdXNlZAoJICBvbiB0aGUgdmlkZW8gc291cmNlIGVsZW1lbnQgaW4gY2FtZXJhYmluMgoKMjAxMS0wNS0xOSAxNDo1MjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEZpeCB0eXBvIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIFRoZSBwcm9wZXJ0eSBpcyBhdWRpby1zcmMgYW5kIG5vdCBhdWRpby1zb3VyY2UKCjIwMTEtMDUtMTkgMTQ6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgYXVkaW8tc291cmNlIHBhcmFtZXRlciB0byBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgYW4gb3B0aW9uIHRvIHNlbGVjdCB0aGUgYXVkaW8gc291cmNlIHRvIGJlIHVzZWQgb24gdmlkZW8KCSAgcmVjb3JkaW5ncyBvbiBjYW1lcmFiaW4yIHRlc3QgYXBwbGljYXRpb24KCjIwMTEtMDUtMTkgMTQ6MjM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtaXNzaW5nIFsKCSAgQWRkcyBtaXNzaW5nIFsgdG8gY29uZmlndXJlIG9uIHRoZSBDREFVRElPIHBrZyBjb25maWcgY2hlY2sKCjIwMTEtMDUtMTkgMTg6NDU6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqYXNwZXJlbmM6IHJlbW92ZSB1bnVzZWQgJ21pbWV0eXBlJyB2YXJpYWJsZQoJICBBcyBtaW1ldHlwZSBpcyBub3QgdXNlZCwgd2UgZG9uJ3QgbmVlZCB0byBmZXRjaCBpdCBhbmQgdGhlcmVmb3JlIG5laXRoZXIgbmVlZAoJICB0aGUgc3RydWN0dXJlIHMuCgoyMDExLTA1LTE5IDE1OjI2OjM4ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gZml0IHdpdGggbGF0ZXN0IHVwc3RyZWFtIHNwZWMgZmlsZXMKCjIwMTEtMDUtMTggMTU6NDQ6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSBnY2MgNC42IGhhcHB5CgkgIFJlbW92ZSB3YXJuaW5ncyBkdWUgdG8gaW5pdGlhbGl6ZWQgYnV0IG5ldmVyIHVzZWQgd2FybmluZ3MKCjIwMTEtMDUtMTggMTM6MzU6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBtYXggcHBzIGlzIDI1NQoJICBGaXhlcyAjNjUwNDg0LgoKMjAxMS0wNS0xMiAyMjo1NDo0NCArMDMwMCAgQnJpYW4gR2l0b25nYSBNYXJldGUgPG1hcmV0ZUB0b3Nobml4LmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQ2hhbmdlIGNvdW50ZXJzIHRvIDY0IGJpdCB1bnNpZ25lZCBpbnRlZ2Vycy4KCjIwMTEtMDUtMTAgMTY6MTQ6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN3aXRjaCBsaWJjZGF1ZGlvIHRvIHBrZy1jb25maWcKCjIwMTEtMDQtMjQgMTk6MTE6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiB1c2UgZ3N0IGRlYnVnIGZvciB0c211eCBsaWJyYXJ5CgoyMDExLTA0LTE5IDE1OjA0OjA1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogYXZjc3JjIGlzIGFsd2F5cyBlbmFibGVkCgoyMDExLTA0LTE5IDE1OjAxOjE1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogSW5jbHVkZSAyMDAgYnVzIGN5Y2xlcyBpbiBlYWNoIGJ1ZmZlciAoYWJvdXQgMzAwIFRTIHBhY2tldHMpCgoyMDExLTA0LTE5IDE1OjAwOjUzIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogRW1pdCBhIHNpbmdsZSBidWZmZXIgcGVyIGNhbGxiYWNrCgoyMDExLTA0LTE5IDEzOjUzOjU0IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogVHJhY2sgdGhlIG51bWJlciBvZiBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgcGFja2V0cwoKMjAxMS0wNC0xOSAxMzo1MzoyMyAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IER1bXAgdGltZXN0YW1wIGluZm9ybWF0aW9uCgoyMDExLTA0LTE4IDE1OjM3OjU3IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkgIGF2YzogU2F2ZSBBVkMgb2JqZWN0cyBpbiB0aGUgR3N0QVZDU3JjIG9iamVjdAoJICBhbmQgc3RvcCB0aGVtIHdoZW4gdGhlIHBpcGVsaW5lIGlzIHN0b3BwZWQKCjIwMTEtMDQtMTggMTU6MTY6MDAgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBDeWNsZSBhbmQgcGFja2V0IGFyZSB1bnNpZ25lZAoKMjAxMS0wNC0xOCAxNToxNToyOCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IGF2Y3NyYyBpcyBhIGxpdmUgc291cmNlCgoyMDExLTA0LTE4IDE1OjE0OjU1IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJICBhdmM6IExvb2sgaW4gQVZDVmlkZW9TZXJ2aWNlcyBmb3IgaGVhZGVycwoKMjAxMS0wNC0xOCAxMjoyODo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGF2YzogYXR0ZW1wdCBuZXcgY29uZmlndXJlCgoyMDExLTA0LTE2IDE5OjQyOjAwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXZjL2dzdGF2Y3BsdWdpbi5jcHA6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBBZGQgQVZDIFZpZGVvIFNlcnZpY2VzIHBsdWdpbiBmb3IgT1MvWAoKMjAxMS0wNS0xOCAxNjoxMDo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDM1MDczIHRvIDllNWJiZDUKCjIwMTEtMDUtMTggMTM6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBOYW1lIG1heC9taW4gcXVhbnRpemVyIHByb3BlcnRpZXMge21heCxtaW59LXF1YW50aXplcgoJICBBbHNvIGltcHJvdmUgcXVhbGl0eSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMTEtMDUtMTggMTM6MjY6MjMgKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc2VsZWN0IGEgbWF4aW11bSBhbmQgbWluaW11bSBxdWFudGl6ZXIKCSAgRml4ZXMgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEzOjE4OjU4ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBxdWFsaXR5IHRvIChjb25zdGFudCkgcXVhbnRpemVyIG1hcHBpbmcKCSAgVGhpcyBub3cgYWxsb3dzIHRvIHNlbGVjdCBhbGwgcG9zc2libGUgcXVhbnRpemVycyBiZXR3ZWVuCgkgIDAgYW5kIDYzLgoJICBTZWUgYnVnICM2NDE0MDUuCgoyMDExLTA1LTE4IDEyOjI0OjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2ZGZjZWEgdG8gZmQzNTA3MwoKMjAxMS0wNC0yOCAxNTo1OTozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICB2YXJpb3VzOiBmaXggYXV0aG9yIHRhZyBpbiBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDQtMjcgMTY6NTY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJICBlbGVtZW50LXRlbXBsYXRlczogaW1wcm92ZSB0aGUgYXVkaW9maWx0ZXIgdGVtcGxhdGUKCSAgQWRkIGNvbW1lbnRzLiBBZGQgc3RhcnQvc3RvcCBtZXRob2RzLiBBZGQgKGNvbW1lbnRlZCkgaW5zdGFuY2UgY2FzdHMgYXQgdGhlCgkgIGJlZ2luIG9mIHRoZSBtZXRob2QuIE1ha2UgdHJhbnNmb3JtX2lwIHJldHVybmluZyBGTE9XX09LIGJ5IGRlZmF1bHQuCgoyMDExLTA0LTI3IDE2OjUxOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBwbHVnaW5faW5pdCgpCgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIGdzdF9lbGVtZW50X3JlZ2lzdGVyKCkuIFVzZSB0aGUgVFlQRSBtYWNybyBpbnN0ZWFkIG9mIHRoZQoJICBfZ2V0X3R5cGUoKSBmdW5jdGlvbi4KCjIwMTEtMDUtMTIgMTE6NTc6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggc29tZSBidWZmZXIgbGVha3MKCSAgRml4ZXMgIzY1MDMyMy4KCjIwMTEtMDUtMTIgMTE6NTY6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXh1cCBib2lsZXJwbGF0ZSBhbmQgZGVidWcgY29kZSBzdHlsZQoKMjAxMS0wNS0xMyAxNzoxODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSBvYnNvbGV0ZSBpbWFnZWNhcHR1cmViaW4KCSAgaW1hZ2VjYXB0dXJlYmluIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGVuY29kZWJpbiwgbm8gbmVlZAoJICBmb3IgaXQgYW55bW9yZQoKMjAxMS0wNS0xMyAxNjoyNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBqcGVnIGFzIGEgY29udGFpbmVyIHRvIGZvcmNlIGppZm11eCB1c2FnZQoJICBKaWZtdXggc2hvdWxkIGJlIHVzZWQgYXMgaXQgY2FuIGRvIHhtcC9leGlmIHRhZ2dpbmcsIHNvIHRoaXMgcGF0Y2gKCSAgc2V0cyBqcGVnIGFzIGEgY29udGFpbmVyIHRvIGZvcmNlIGl0IHRvIGJlIHVzZWQgdG9nZXRoZXIgd2l0aAoJICBhIGpwZWcgZW5jb2RlcgoKMjAxMS0wNS0xMiAxMToxNzoyOCArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG8gcHJvcGVyIEVPUyBoYW5kbGluZyBvbiBzZW5kX2V2ZW50KGVvcykKCSAgV2UgZmlyc3QgbGV0IHRoZSBpbm5lciBjYW1lcmEgRU9TLiBUaGVuIHdlIG1hbnVhbGx5IHBvc3QgRU9TIG9uIHRoZSBpbWFnZSBhbmQKCSAgdmlkZW8gc2lua3MgaWYgdGhvc2UgYXJlIDw9IFJFQURZIGFuZCBzbyBoYXZlIGlnbm9yZWQgRU9TIGV2ZW50cy4KCjIwMTEtMDQtMjggMTU6MTE6MzYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGVuY29kZWJpbiB0byBlbmNvZGUgaW1hZ2VzCgoyMDExLTA1LTEzIDE1OjE2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSAgamlmbXV4OiBCdW1wIHJhbmsgdG8gc2Vjb25kYXJ5CgkgIGppZm11eCBpcyBiZWluZyB1c2VkIGZvciBxdWl0ZSBzb21lIHRpbWUgYW5kIGhhcyBubyBvcGVuIGJ1Z3MKCSAgY3VycmVudGx5LCBzbyB3ZSBjYW4gZ2l2ZSBpdCBhIHNlY29uZGFyeSByYW5rIGF0IGxlYXN0LgoJICBGaXhlcyAjNjQ5MzkxCgoyMDExLTA1LTEzIDE1OjE1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IENoYW5nZSBjbGFzcyB0byBmb3JtYXR0ZXIKCSAgamlmbXV4IGlzIGEgZm9ybWF0dGVyIGFuZCBub3QgYSBtdXhlcgoJICBGaXhlcyAjNjQ5MzkxCgoyMDExLTA1LTEzIDA5OjExOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogRml4IEdPcHRpb25FbnRyeSBhcnJheQoJICBVc2Ugbm8gZmxhZ3MgaW5zdGVhZCBvZiBwYXNzaW5nIEdfT1BUSU9OX0FSR19PUFRJT05BTCB0byBvcHRpb25zIHRoYXQKCSAgbXVzdCBoYXZlIGFuIGFyZ3VtZW50CgoyMDExLTA1LTEyIDExOjM5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBidWlsZCBmaXhlcwoJICBBZGQgc29tZSBtaXNzaW5nIGRlcGVuZGVuY2llcwoKMjAxMS0wNS0xMSAxODozNTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoYW5naW5nIGhvdyBzb21lIHByb3BlcnRpZXMgd29yawoJICBTb21lIHByb3BlcnRpZXMgKGxpa2Ugdmlld2ZpbmRlci1maWx0ZXIpIG9ubHkgYXJlIHRha2VuIGludG8gdXNlCgkgIG9uIE5VTEwtPlJFQURZIHRyYW5zaXRpb25zIGFuZCB0aGUgZ2V0L3NldCBwcm9wZXJ0eSB3YXMgcmV0dXJuaW5nCgkgIHRoZSBjdXJyZW50bHkgaW4gdXNlIHZhbHVlLCBpbnN0ZWFkIG9mIHRoZSBsYXN0IHNldC4KCSAgVGhpcyBpcyBiYWQsIGFzIGFmdGVyIHNldHRpbmcgJ2EnIHRvICd4JywgeW91IGV4cGVjdCB0aGF0IGdldHRpbmcgJ2EnCgkgIHdpbGwgcmV0dXJuICd4Jy4gVGhpcyBwYXRjaCBmaXhlcyBpdC4KCSAgSWYgbmVlZGVkLCBsYXRlciB3ZSBjb3VsZCBhZGQgY3VycmVudC0qIHByb3BlcnRpZXMgdGhhdCBhcmUgcmVhZG9ubHkKCSAgYW5kIGdldCB0aGUgY3VycmVudCB2YWx1ZSBpbiB1c2UuCgoyMDExLTA0LTI5IDA4OjU0OjU2IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGluZyBQT1JUSU5HIGZpbGUKCjIwMTEtMDQtMjggMTY6MDU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgbWlzc2luZyBwbHVnaW4gZXJyb3IgbWVzc2FnZXMKCSAgV2hlbmV2ZXIgYSByZXF1aXJlZCBwbHVnaW4gaXMgbWlzc2luZywgY2FtZXJhYmluMiBzaG91bGQgcG9zdAoJICBhIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2UgdG8gdGhlIGJ1cwoKMjAxMS0wNC0yOCAxNDozNzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGVuY29kZWJpbiBtaWdodCBub3QgaGF2ZSB0aGUgcmVxdWVzdGVkIHBhZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZW5jb2RlYmluIGRvZXNuJ3QgaGF2ZSB0aGUgcGFkCgkgIGNhbWVyYWJpbjIgaXMgcmVxdWVzdGluZywgZWl0aGVyIGJlY2F1c2Ugb2YgaXRzIGN1cnJlbnQgcHJvZmlsZQoJICBvciBiZWNhdXNlIG9mIG1pc3NpbmcgZWxlbWVudHMsIG1ha2luZyBpdCBmYWlsIHRvIHByb3ZpZGUKCSAgdGhlIHBhZAoKMjAxMS0wNC0yNyAxNToxMjoxOCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBBZGQgbW9yZSBhcmd1bWVudHMKCSAgQWRkIGNvbW1hbmQtbGluZSBvcHRpb25zIGZvciBzZXR0aW5nIGltYWdlLWNhcHR1cmUsIHZpZXdmaW5kZXIKCSAgYW5kIHZpZGVvLWNhcHR1cmUgY2FwcyBhcyBzdHJpbmdzLgoJICBUaGUgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0aWVzIGFyZSBub3cgdXNlZCBvbmx5IGlmIHRoZXNlIG5ldyBjYXBzCgkgIHByb3BlcnRpZXMgYXJlbid0IHNldC4KCjIwMTEtMDQtMjYgMTU6MjE6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjogRml4IHRhZ3MgbWVyZ2luZyBtb2RlCgkgIFVzZSBtZXJnZSByZXBsYWNlIG1vZGUgdG8gYWxsb3cgbmV3IHRhZ3MgdG8gb3ZlcnJpZGUgb2xkIG9uZXMKCSAgYW5kIGZpeCB0aGUgdXNlIGNhc2Ugd2hlcmUgdGhlIGxhc3Qgc2VudCB0YWdzIHNob3VsZCBiZSBzZXJpYWxpemVkCgkgIHRvIHRoZSBjYXB0dXJlZCBpbWFnZXMuCgoyMDExLTA0LTI2IDE0OjUzOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHRhZyBoYW5kbGluZyBmb3IgdmlkZW9zCgkgIEluIHZpZGVvIG1vZGUgdGhlIHRhZ3Mgc2hvdWxkIGJlIHB1c2hlZCBhZnRlciBzZW5kaW5nIHRoZSBzdGFydCBjYXB0dXJlCgkgIHRvIHRoZSBzb3VyY2UsIHRoaXMgYWxsb3dzIHRoZSB2aWRlbyByZWNvcmRpbmcgZWxlbWVudHMgdG8gYmUgcmVzZXQKCSAgYW5kIGxlYXZlIHRoZSBmbHVzaGluZyBzdGF0ZSB0aGV5IHdlcmUgYXQgYWZ0ZXIgYSBwcmV2aW91cyBjYXB0dXJlLgoJICBUaGlzIGZpeGVzIHRoZSBwcm9ibGVtIHdoZXJlIHRhZ3Mgb25seSB3b3JrIGZvciB0aGUgZmlyc3QgdmlkZW8gY2FwdHVyZQoKMjAxMS0wNC0yNiAxNDo1MDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MKCjIwMTEtMDQtMjYgMTQ6NDk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IHRhZ3Mgc2V0dGluZyB0ZXN0cwoJICBGaXhlcyB0aGUgdGFncyBzZXR0aW5nIHRlc3RzIHRvIHJldmVhbCBhIGJ1ZyBpbiBjYW1lcmFiaW4yCgkgIHRhZyBzZXR0aW5nIGxvZ2ljLgoKMjAxMS0wNC0yNSAxNjowNDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW4yLXNyYy50eHQ6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBjYW1lcmEgc291cmNlIGRvY3VtZW50YXRpb24gZmlsZQoJICBBZGRzIGEgc21hbGwgdGV4dCBmaWxlIHdpdGggYSBicmllZiBkZXNjcmlwdGlvbiBvZgoJICB3aGF0IGlzIGV4cGVjdGVkIGZyb20gYSBjYW1lcmFiaW4yIHNvdXJjZSBlbGVtZW50CgoyMDExLTA0LTExIDE1OjMzOjIwIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBIYW5kbGUgZXJyb3JzIGZyb20gcHJldmlldyBwaXBlbGluZQoJICBJbXBsZW1lbnRzIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBwcmV2aWV3IHBpcGVsaW5lIGJ1cy4KCSAgSWYgR1NUX01FU1NBR0VfRVJST1IgaXMgc2VlbiwgY29uc2lkZXJzIHByZXZpZXcgcGlwZWxpbmUgdW5hYmxlCgkgIHRvIGRvIGl0cyBqb2IgYW5kIHBvc3RzIGFuIGVycm9yIG1lc3NhZ2UgdG8gYXBwbGljYXRpb24uCgkgIFNldHMgcGlwZWxpbmUgZWxlbWVudCB0byBOVUxMIHNvIHRoYXQgc3Vic2VxdWVudCBjYWxscyB0byBwb3N0X3ByZXZpZXcKCSAgYW5kIHNldF9jYXBzIGZ1bmN0aW9ucyBqdXN0IHJldHVybnMgd2l0aG91dCBwdXNoaW5nIGFueXRoaW5nIHRvIHRoZQoJICBkaXNwb3NlZCBwcmV2aWV3IHBpcGVsaW5lLiBMZWF2ZXMgZnVydGhlciBhY3Rpb25zIHRvIHRoZSBhcHBsaWNhdGlvbi4KCjIwMTEtMDQtMDggMDk6MjI6MTEgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogUHJvdGVjdGlvbiBmb3IgcHJldmlld3BpcGVsaW5lIHdoZW4gc2V0dGluZyBuZXcgcHJldmlldyBjYXBzCgkgIEltcGxlbWVudHMgYSBzdGF0ZSBpbmRpY2F0aW5nIGZsYWcgdG8gcHJldmlldyBwaXBlbGluZSwKCSAgc28gdGhhdCBuZXcgY2FwcyBhcmUgbm90IHNldCBpZiB0aGUgcGlwZWxpbmUgaXMgcHJvY2Vzc2luZyBhCgkgIHByZXZpZXcuIFRoZSBjYXBzIGFyZSBzZXQgYXMgcGVuZGluZyBhbmQgYXBwbGllZCB3aGVuIHRoZQoJICBuZXh0IHByZXZpZXcgcG9zdCBpcyBjYWxsZWQuCgkgIEluIHRoaXMgY2FzZSBhIHdhaXQgd2FzIGltcGxlbWVudGVkIGluIHRoZSBwb3N0X3ByZXZpZXcgZnVuY3Rpb24sCgkgIHNvIHRoYXQgbmV3IHByZXZpZXcgaW1hZ2UgYnVmZmVyIHdpbGwgd2FpdCB1bnRpbCB0aGUgb3RoZXIgcHJldmlld3MKCSAgaGF2ZSBiZWVuIHBvc3RlZCB0byB0aGUgYXBwbGljYXRpb24gYW5kIHRoZSBuZXcgY2FwcyBjYW4gYmUgdXNlZAoJICBzYWZlbHkuCgoyMDExLTAzLTI5IDEzOjQ2OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogRml4IGNvbXBpbGUgcHJvYmxlbSB3aXRoIGRlYnVnIGRpc2FibGVkCgoyMDExLTAzLTIzIDE4OjQxOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogUG9zdCBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcwoJICBNYWtlcyB2aWV3ZmluZGVyYmluIHBvc3QgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMgd2hlbiBpdAoJICBjYW4ndCBjcmVhdGUgYW4gaW50ZXJuYWwgZWxlbWVudHMKCjIwMTEtMDMtMjMgMTg6NDA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW4yOiBJbXByb3ZlIG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2UKCSAgSW1wcm92ZXMgdGhlIG1lc3NhZ2UgdGV4dCBmb3IgbWlzc2luZyBwbHVnaW4gbWVzc2FnZXMgZnJvbQoJICBjYW1lcmFiaW4yCgoyMDExLTAzLTIzIDE3OjQ2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSBwb3J0aW5nIGZpbGUKCSAgVXBkYXRlIHBvcnRpbmcgZmlsZSB3aXRoIG1lbnRpb24gdGhhdCBzdG9wLWNhcHR1cmUgaXMgbm93CgkgIGFzeW5jLgoKMjAxMS0wNC0wOCAxNzo1ODo0MiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEFsbG93IGdzdC1sYXVuY2ggcGlwZWxpbmVzIGZvciBzaW5rcwoJICBVc2UgZ3N0X3BhcnNlX2xhdW5jaCAoKSB0byBwYXJzZSB0aGUgc2luayBzdHJpbmdzIHRvIGFsbG93IHNwZWNpZmljYXRpb24KCSAgb2YgcHJvcGVydGllcyB0byBzaW5rcyBhbmQgb2YgbW9yZSBhZHZhbmNlZCBzaW5rIGdyYXBocy4KCjIwMTEtMDQtMDQgMTM6Mjg6MzIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IGRlYnVnIHByaW50IHRvIHNob3cgYXVkaW8vdmlkZW8gZGVwZW5kaW5nIG9uIHBhZCB0eXBlCgoyMDExLTAzLTMxIDEzOjA4OjQ4ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBvcmRlciBvZiBlbGVtZW50IHN0YXRlIGNoYW5nZQoJICBUbyBjaGFuZ2UgdGhlIHN0YXRlIG9mIGVsZW1lbnRzIGluIGEgcGlwZWxpbmUsIHdlIHNob3VsZCBtaXJyb3IgdGhlCgkgIGJlaGF2aW91ciBvZiBHc3RCaW4gd2hpY2ggc3RhcnRzIGF0IHRoZSBzaW5rIGVsZW1lbnQgYW5kIHdvcmtzIGl0cyB3YXkKCSAgdXBzdHJlYW0uCgoyMDExLTA0LTAxIDIyOjEzOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogZGVidWcgY29kZSBzdHlsZSBmaXhlcwoKMjAxMS0wNC0wMSAyMjoxMzowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHByb3BhZ2F0ZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIHRvIHVwc3RyZWFtCgoyMDExLTA0LTAzIDIyOjM1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGhhbmRsZSBtaXNzaW5nIGZyYW1lcmF0ZSB3aGVuIGNhbGN1bGF0aW5nIHRpbWVzdGFtcAoKMjAxMS0wNC0wMyAyMjozMjoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEyOjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHR1bmUgcGFyc2luZyBzaW5rIGNhcHMgaW50byB2aWRlbyBzdGF0ZQoJICAuLi4gdG8gcHJvdmlkZSBzdWJjbGFzcyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gdy5yLnQuIG9yaWdpbmFsIGNhcHMuCgoyMDExLTA0LTAxIDE4OjQ5OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHZpZGVvIHN0YXRlIHJlZmVyZW5jZSB0byBjb2RlY19kYXRhIGlzIG5vdCByZWZjb3VudGVkCgkgIC4uLiBidXQgcmF0aGVyIGltcGxpY2l0bHkgdmFsaWQgYXMgbG9uZyBhcyBzaW5rIGNhcHMgYXJlIG5vdCBtb2RpZmllZC4KCjIwMTEtMDQtMDEgMTg6MDA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaW1wcm92ZSBnbGl0Y2ggcmVzaWxpZW5jZQoJICBQcm92aWRlIGEgcmVwbGFjZW1lbnQgZm9yIEdTVF9FTEVNRU5UX0VSUk9SIHRvIGF2b2lkIGFib3J0aW5nIGF0IHRoZSBmaXJzdAoJICBhdG9tIG91dCBvZiBwbGFjZSwgd2hpbGUgb24gdGhlIG90aGVyIGhhbmQgbm90IGZhaWxpbmcgaW5kZWZpbml0ZWx5LgoKMjAxMS0wMy0zMSAxNDo0Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQKCjIwMTEtMDMtMzAgMTA6Mjg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdXNlIGJhc2V2aWRlb2NvZGVjIGRpc2NvbnQgZmllbGQKCjIwMTEtMDMtMzAgMTA6MTg6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZWFsbHkgYW5kIG9ubHkgc2V0IHNyYyBwYWQgY2FwcyB3aGVuZXZlciByZXF1ZXN0ZWQKCSAgLi4uIHNpbmNlIHN1YmNsYXNzIGlzIGV4cGVjdGVkIHRvIGJlIHdpc2UgZW5vdWdoIHRvIGtub3cgd2hlbiB0byBkbyBzby4KCjIwMTEtMDMtMzAgMDk6MTc6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIHNvbWUgc2FuaXR5IGVuZm9yY2luZwoKMjAxMS0wMy0zMCAwOToxNToxMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgZG9jdW1lbnRhdGlvbgoJICAuLi4gYW5kIHJlbW92ZSBzb21lIG1vcmUgc3RyYXkgdW51c2VkIGNvZGUgYW5kIG1ldGhvZHMuCgoyMDExLTAzLTI5IDE1OjQxOjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogZnVsbHkgZnJlZSB2aWRlbyBmcmFtZQoKMjAxMS0wMy0yOSAxNTo0MTowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzdHJlYW1saW5lIGRpc2NvbnQsIGZsdXNoIGFuZCByZXNldCBoYW5kbGluZwoJICAuLi4gd2hpY2ggaXMgbm90IHRvIHNheSB0aGVyZSBpcyBubyByb29tIGZvciBmdXJ0aGVyIHR3ZWFraW5nIC4uLgoKMjAxMS0wMy0yOSAxNTozOTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgc29tZSBoZWFkZXIgY29tbWVudGFyeQoKMjAxMS0wMy0yOSAxMjo1NzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgKGFsbW9zdCkgdW51c2VkIGZpZWxkcwoJICAuLi4gYW5kIGFsc28gc29tZSBtb3JlIHVudXNlZCBjb2RlLgoKMjAxMS0wMy0yOSAxMDo0MTo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSBhbmQgdXNlIHNldF9mb3JtYXQKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIEFQSSBzbGlnaHRseSAoZS5nLiBhY3R1YWxseSB1c2VzIHNldF9mb3JtYXQgbm93KSwgd2hpY2ggaXMgT0sKCSAgZm9yIHVuc3RhYmxlIEFQSSwgaXQgaGFzIGZvbGxvd2luZyBtZXJpdHM6CgkgICogc3ltbWV0cmljIHcuci50LiBzdG9wIGF0IHN0YXRlIGNoYW5nZQoJICAqIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlIGNsYXNzIHByYWN0aWNlCgkgICogb3RoZXJ3aXNlIG5vIHN1YmNsYXNzIG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UgKGdsb2JhbCBhY3RpdmF0aW9uIHRpbWUpCgkgIE1vcmVvdmVyLCBzdWJjbGFzc2VzZSBhcmUgZWl0aGVyIHVuYWZmZWN0ZWQgb3IgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wNC0yOCAxMjowMjoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXh1cCB0d2VhawoKMjAxMS0wMy0yOCAxNjoxNToxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgYW5kIHR3ZWFrIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDMtMjggMTM6MzI6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFycmFuZ2UgZm9yIGxpbWl0ZWQgbGVnYWN5IHNlZWtpbmcgc3VwcG9ydAoJICBJbiBwYXJ0aWN1bGFyLCB0d2VhayBzcmMgcXVlcnkgYW5kIGV2ZW50IGhhbmRsaW5nIHRvIHByb3ZpZGUgZm9yCgkgIGJ5dGUgPC0+IHRpbWUgY29udmVyc2lvbi4KCjIwMTEtMDMtMjggMTE6MTU6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IGNhdGVyIGZvciBmb3JtYXQgY29udmVyc2lvbgoKMjAxMS0wMy0yOCAxMDo1MToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIHZpZGVvY29kZWM6IHJlbW92ZSB1bnVzZWQgZmllbGRzIGFuZCBjb2RlCgoyMDExLTAzLTI4IDA5OjE0OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeCBjb3B5LWFuZC1wYXN0ZSB2YXJpYWJsZSBtaXNub21lcgoKMjAxMS0wMy0yOCAwODo1OToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzdWJzdW1lIHNraXBfZnJhbWUgaW50byBmaW5pc2hfZnJhbWUKCjIwMTEtMDMtMjggMDg6NTY6NTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTAzLTI3IDIyOjI3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGNvZGUgY2xlYW51cCBhbmQgZGVidWcgc3R5bGUgZml4ZXMKCjIwMTEtMDMtMjcgMTY6MzY6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHBhc3MgYWxvbmcgYnVmZmVyIGRpc2NvbnQgZmxhZwoKMjAxMS0wMy0yNSAxNToyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAxMS0wMy0yNSAwOToyODoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBhZGQgZG9jdW1lbnRhdGlvbiBhbmQgcmVsYXRlZCBjb3NtZXRpY3MKCjIwMTEtMDMtMjQgMTQ6MTA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBwcm92aWRlIHByb3BlciB1cHN0cmVhbSBmbG93IHJldHVybiBoYW5kbGluZwoKMjAxMS0wMy0yNCAxMzo1OTozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IG1pbm9yIG9wdGltaXphdGlvbiBpbiBzZXR0aW5nIHVwIGltYWdlIGJ1ZmZlcgoKMjAxMS0wMy0yNCAxMjo1MDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHJlZmFjdG9yIGZyYW1lIHByb2Nlc3NpbmcKCjIwMTEtMDMtMjQgMTE6NTU6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBkbyBpbml0IGF0IHNldF9mb3JtYXQgdGltZQoKMjAxMS0wMy0yNCAxMDoxNTo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGZpeCBrZXlmcmFtZSBmb3JjaW5nCgoyMDExLTAzLTI0IDA4OjIzOjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGVuaGFuY2Ugc2V0X2NhcHMKCSAgU3BlY2lmaWNhbGx5LCBvbmx5IGludm9rZSBzZXRfZm9ybWF0IGlmIGluY29taW5nIGZvcm1hdCByZWFsbHkgY2hhbmdlZCwKCSAgYW5kIGZpbmlzaCBjdXJyZW50IGZvcm1hdCBpZiBzbyAoYW5kIGlmIGFueSBjdXJyZW50KS4KCjIwMTEtMDMtMjMgMjI6MTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZWxhYm9yYXRlIGZpbmlzaCB0byBkcmFpbmluZwoKMjAxMS0wMy0yNCAwOToyMTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogaW52b2tlIHN1YmNsYXNzIHN0YXJ0IG1ldGhvZCBhdCBzdGF0ZSBjaGFuZ2UKCSAgV2hpbGUgdGhpcyBjaGFuZ2VzIG9yZGVyIHcuci50LiBzZXRfZm9ybWF0LCB3aGljaCBpcyBPSyBmb3IgdW5zdGFibGUgQVBJLAoJICBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBsaXR0bGUgYmVuZWZpdCBpbiBpbnZva2luZyAyIHN1YmNsYXNzIHZpcnR1YWwgbWV0aG9kcyAoc2V0X2Zvcm1hdCBhbmQgc3RhcnQpCgkgIGluIGltbWVkaWF0ZSBzdWNjZXNzaW9uOyBhbGwgYWN0aW9ucyBpbiB0aGUgc2Vjb25kIGNvdWxkIGJlIGRvbmUgaW4gdGhlIGZpcnN0CgkgIHdoZXJlYXMgc3ViY2xhc3MgaGFzIG5vIGNoYW5jZSB0byBkbyBhbnl0aGluZyAnZ2xvYmFsJyBhdCBhY3RpdmF0aW9uIHRpbWUKCSAgTW9yZW92ZXIsIGN1cnJlbnQgLWJhZCBzdWJjbGFzcyByZWxldmFudCBtZXRob2RzIGVpdGhlciB0cml2aWFsbHkgY29tbXV0ZQoJICBvciBhcmUgZWl0aGVyIHRyaXZpYWxseSBhZGp1c3RlZCBhY2NvcmRpbmdseS4KCjIwMTEtMDMtMjQgMDg6MjE6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZW5hYmxlIGNsaXBwaW5nIGJ5IGRlZmF1bHQKCjIwMTEtMDMtMjQgMDg6MTc6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcmVzZXQgbW9yZSBzdGF0ZQoKMjAxMS0wMy0yNCAwODo1NjozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBoZWFkZXIgY29zbWV0aWMgYW5kIGRvYyBmaXhlcwoKMjAxMS0wMy0yMyAwOTo0NToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHJlZHVuZGFudCBjYXBzIGZpZWxkCgkgIC4uLiBhcyBpdCBpcyBhbHJlYWR5IGF0IGhhbmQgYXMgdGhlIHNyYyBwYWQncyBuZWdvdGlhdGVkIGNhcHMuCgoyMDExLTAzLTIzIDA5OjMyOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMS0wMy0yMyAwODo1MDozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IHVzZSBiYXNlY2xhc3MgZXZlbnQgdmlydHVhbCBoYW5kbGVyCgoyMDExLTAzLTIzIDA4OjQ5OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGFkZCBldmVudCB2aXJ0dWFsIG1ldGhvZCB0byBhbGxvdyBzdWJjbGFzcyBldmVudCBoYW5kbGluZwoKMjAxMS0wMy0yMyAwODozNTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbXByb3ZlIEdzdEZvcmNlS2V5VW5pdCBldmVudCBoYW5kbGluZwoKMjAxMS0wMy0yMiAxMzoxOToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSAgYmFzZXZpZGVvY29kZWM6IGRlYnVnIHN0eWxlIGZpeGVzCgoyMDExLTAzLTIxIDE4OjAyOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSB1bnVzZWQgY29kZSBjbHV0dGVyaW5nIHVwIHRoZSBwbGFjZQoJICBBbHNvIG1pbm9yIGRlYnVnIHN0eWxlIGZpeGVzLgoKMjAxMS0wMy0yMSAxNzo0NDoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBzaW1wbGlmeSBuZWdvdGlhdGVkIGNoZWNraW5nCgkgIC4uLiBieSBhdm9pZGluZyBzb21lIGV4dHJhbmVvdXMgKHVuKXJlZidpbmcuCgoyMDExLTAzLTI0IDE0OjE2OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGNvZGUgY2xlYW51cCBhbmQgc29tZSBkZWJ1ZwoJICBBbHNvIGFkZCBzb21lIG1pbm9yIGxvY2tpbmcgYW5kIHJlbW92ZSB1bnVzZWQgYml0cy4KCjIwMTEtMDUtMTYgMDk6MDc6NTcgKzAyMDAgIFBpbm8gVG9zY2FubyA8dG9zY2Fuby5waW5vQHRpc2NhbGkuaXQ+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCB1c2UgUEFUSF9NQVgKCSAgUEFUSF9NQVggaXMgbm90IGRlZmluZWQgb24gR05VIEh1cmQgYW5kIG90aGVycy4gQWxzbyBmaXgKCSAgZm9ybWF0IHN0cmluZy4KCjIwMTEtMDUtMTQgMTQ6NDg6NTYgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJICBnc3QvZGNjcDogZml4IGJ1aWxkIG9uIG5ld2VyIG1pbmd3CgkgIEZpeCB0aGlzIGJ1aWxkIGVycm9yOgoJICBDQyAgICAgbGliZ3N0ZGNjcF9sYS1nc3RkY2NwcGx1Z2luLmxvCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6Mjk6MCwKCSAgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjQ6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6MzI6MDogd2FybmluZzogV0lOVkVSIHJlZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQoJICAvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvaW5jbHVkZS9fbWluZ3cuaDoyMzE6MDogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNDowOgoJICAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6NTg6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI1OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6NzQ6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI2OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6Njc6MzogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1aW50OF90JwoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI3OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDo1ODozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIG1ha2U6ICoqKiBbbGliZ3N0ZGNjcF9sYS1nc3RkY2NwcGx1Z2luLmxvXSBFcnJvciAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTAxNzEKCjIwMTEtMDUtMTUgMTA6MDQ6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGJ1bXAgdGhlIHJhbmsgb2YgcXRraXR2aWRlb3NyYyB0byBQUklNQVJZCgoyMDExLTA1LTE1IDEwOjAwOjQ0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHM6IGZpeCBoYW5kbGluZyBvZiBzdHJvbCgpIG92ZXJmbG93cwoKMjAxMS0wNS0xNCAxMjoxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBleHQvYW1yd2JlbmMgZGlyZWN0b3J5LCBpdCdzIGV4dC92b2FtcndiZW5jIG5vdwoKMjAxMS0wNS0xMyAwMTowMzoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZWVuY29kZXI6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBhZnRlciBzdGF0ZSBjaGFuZ2UgdHJhbnNpdGlvbgoKMjAxMS0wNC0xOCAyMzo0MDozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNvbWUgbWlub3IgZG9jIGNoYW5nZXMuCgoyMDExLTA0LTI0IDIxOjA2OjI5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc29tZSBtaW5vciBkb2MgY2hhbmdlcwoKMjAxMS0wNC0xOSAxOTowOTozMCArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5kZWJldGhlbmNvdXJ0QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMTkgMTA6MzI6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJICBhYWNlbmM6IEludGVncmF0ZSBpbnRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDExLTA0LTE5IDEwOjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL1JFQURNRToKCSogZXh0L3ZvYW1yd2JlbmMvR3N0Vm9BbXJ3YkVuYy5wcnM6CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJICBhbXJ3YmVuYzogU3dpdGNoIHRvIHRoZSBmcmVlIHZvLWFtcndiZW5jIGxpYnJhcnkKCSAgQW5kIHJlbmFtZSBldmVyeXRoaW5nIHRvIHZvYW1yd2JlbmMgaW5zdGVhZCBvZiBhbXJ3YmVuYy4KCjIwMTEtMDQtMTUgMTE6MTk6MjAgKzAyMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IERldGVjdCBvdXRwdXQgZm9ybWF0IGZyb20gZG93bnN0cmVhbSBjYXBzIGNoYW5nZSB1bml0IHRlc3QKCjIwMTEtMDQtMTkgMDk6NTI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZvYWFlbmM6IEZpeCBDRkxBR1MvTElCUyBvZiB0aGUgdW5pdCB0ZXN0CgoyMDExLTA0LTE5IDA5OjQ5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IE9ubHkgZ2VuZXJhdGUgc2lua2NhcHMgb25jZSBhbmQgaW4gYSB0aHJlYWRzYWZlIHdheQoKMjAxMS0wNC0xOSAwOTo0MjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBOVUxMIHRlcm1pbmF0b3IgdG8gZ3N0X3N0cnVjdHVyZV9uZXcoKQoKMjAxMS0wNC0xOSAwOTo0MDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTEtMDQtMTkgMDk6MzQ6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJICB2b2FhY2VuYzogRml4IENGTEFHUyBhbmQgTElCUwoKMjAxMS0wNC0xOCAxNzoxOTowMCArMDIwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IEFkZCBuZXcgcGx1Z2luIGZvciBhdWRpbyBBQUMgZW5jb2RlciBiYXNlZCBvbiB2by1hYWNlbmMgbGliCgkgIEFkZCBwbHVnaW4gYW5kIHVuaXQgdGVzdC4KCSAgRml4ZXMgYnVnICM2NDc3NDguCgoyMDExLTA1LTE0IDEwOjE5OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjIgPT09CgoyMDExLTA1LTEwIDExOjM1OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjIKCSAgSGlnaGxpZ2h0czoKCSAgLSBobHNkZW11eDogQWRkIEhUVFAgbGl2ZSBzdHJlYW1pbmcgcGFyc2VyL2RlbXV4ZXIgZWxlbWVudAoJICAtIG5ldyBlbGVtZW50czogaDI2M3BhcnNlLCB6ZWJyYXN0cmlwZSwgcGF0Y2hkZXRlY3QKCSAgLSBzY2VuZWNoYW5nZTogbmV3IHNjZW5lIGNoYW5nZSBkZXRlY3Rpb24gZWxlbWVudAoJICAtIHJlbW92ZWQgYXVkaW9wYXJzZXJzYmFkIHBsdWdpbiwgaXQgaGFzIGJlZW4gbW92ZWQgdG8gLWdvb2QKCSAgLSBtYWtlIG9wZW5jdiBwbHVnaW4gd29yayB3aXRoIE9wZW5DViAyLjIKCSAgLSBjb3VudGxlc3MgKHN0aWxsIGV4cGVyaW1lbnRhbCkgY2FtZXJhYmluMiBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgkgIC0gZXhwZXJpbWVudGFsIFZQOCBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIChSVFAgcGF5bG9hZGluZyBub3QgZmluYWxpc2VkIHlldCkKCSAgLSBjdXJsc2luazogYWRkIGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50IChhY3RzIGFzIGNsaWVudCwgbm90IHNlcnZlcikKCSAgLSBkZWNrbGluazogYWRkIGRlY2tsaW5rIHBsdWdpbgoJICAtIGxpbnN5czogYWRkIHBsdWdpbiBmb3IgTGluZWFyIFN5c3RlbXMgU0RJIGJvYXJkcwoJICAtIHNkaTogYWRkIHJhdyBTREkgbXV4aW5nL2RlbXV4aW5nIGVsZW1lbnRzCgkgIC0gY2FtZXJhYmluIG5vdyByZWxpZXMgb24gbXV4ZXJzIHRvIG11eCBiYXNlZCBvbiBydW5uaW5nIHRpbWUgKGllLiBsYXRlc3QgYmFzZS9nb29kL3VnbHkgcmVsZWFzZXMpCgkgIC0gbWFueSBvdGhlciBmaXhlcyBhbmQgaW1wcm92ZW1lbnRzCgoyMDExLTA1LTA1IDA5OjU0OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IFVzZSBydW5uaW5nIHRpbWUgZm9yIG11eGluZwoJICBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGF1ZGlvIHNvdXJjZSBidWZmZXIgcHJvYmUgdGhhdCB3YXMgdXNlZAoJICB0byByZS10aW1lc3RhbXAgYnVmZmVycyB0byBtYWtlIHRoZW0gc3RhcnQgZnJvbSAwLiBBcyBtdXhlcnMKCSAgaGF2ZSBiZWVuIGZpeGVkIHRvIHVzZSBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiB0aW1lc3RhbXBzLCB0aGlzCgkgIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4KCSAgRml4ZXMgYnVnICM2NDYyMTEKCjIwMTEtMDQtMjEgMTk6NTg6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IEZpeCB0eXBvCgoyMDExLTA1LTA0IDEyOjM2OjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogZG8gbm90IGxlYWsgcGVlciBwYWQgcmVmZXJlbmNlCgoyMDExLTA1LTAzIDE1OjQ3OjAyICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogQWx3YXlzIHJldHVybiByZWZmZWQgY2FwcyBmcm9tIF9nZXRjYXBzCgkgIE5vdCByZXR1cm5pbmcgcmVmIGNhcHMgd2lsbCBsZWFkcyB0byBjcmFzaGVzIGFuZCByZWZjb3VudGluZyBpc3N1ZXMgaW4KCSAgdXBzdHJlYW0gZWxlbWVudHMKCjIwMTEtMDQtMTQgMTM6MzQ6NTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc2V0IGR1cmF0aW9uIGluIG91dGdvaW5nIGJ1ZmZlcnMKCSAgQ3VycmVudGx5IHdlIHB1c2ggZWFjaCBmcmFnbWVudCBhcyBhIHNpbmdsZSBidWZmZXIuCgoyMDExLTA1LTAzIDEyOjAxOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBEVVJBVElPTiBxdWVyeSBoYW5kbGluZwoJICBPbmx5IGFuc3dlciBkdXJhdGlvbiBxdWVyaWVzIGluIFRJTUUgZm9ybWF0IHdpdGggYSBkdXJhdGlvbgoJICBpbiBzZWNvbmRzLiBNYWtlIHN1cmUgd2UgZG9uJ3QgcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUgYXMKCSAgZHVyYXRpb24gKHdoaWNoIGlzIG5vbi0wLCBidXQgc3RpbGwgaW52YWxpZC91c2VsZXNzKS4KCjIwMTEtMDUtMDMgMTE6NTE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMTEtMDUtMDMgMDk6NTU6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogVXNlIHRoZSB1c2VyIGNvbmZpZyBkaXIgaW5zdGVhZCBvZiB0aGUgY2FjaGUgZGlyIGZvciB0aGUgY2hhbm5lbHMgY29uZmlndXJhdGlvbgoKMjAxMS0wNC0yOSAxNDozNzowNCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IG1vdmVkIGR2Yi1jaGFubmVscy5jb25mIHRvICRYREdfQ0FDSEVfSE9NRQoKMjAxMS0wNC0zMCAxOTo0Nzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZnIucG86CgkqIHBvL3VrLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuNCBwcmUtcmVsZWFzZQoKMjAxMS0wNC0zMCAxOTo0Njo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJICBVcGRhdGUgb3JjLWdlbmVyYXRlZCBkaXN0ZWQgQyBiYWNrdXAgY29kZSB0byBvcmMgMC40LjE0CgoyMDExLTA0LTMwIDE5OjE1OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogZG9uJ3QgcHVzaCBidWZmZXJzIHNtYWxsZXIgdGhhbiBtaW4tc2l6ZSBvbiBlb3MKCSAgV2hlbiBwdXNoaW5nIHRoZSByZW1haW5pbmcgZGF0YSBvbiBFT1MsIGRvbid0IGp1c3QgcHVzaCB3aGF0ZXZlcgoJICBkYXRhIGlzIGxlZnQgaW4gdGhlIGFkYXB0ZXIsIGJ1dCBvbmx5IHB1c2ggZGF0YSB0aGF0J3MgYXQgbGVhc3QKCSAgb2YgbWluLXNpemUuCgoyMDExLTA0LTMwIDE5OjA4OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogZG9uJ3QgbWVzcyB3aXRoIGFkYXB0ZXIgZnJvbSBub24tc3RyZWFtaW5nIHRocmVhZCBvbiBGTFVTSF9TVEFSVAoJICBEb24ndCB0cnkgdG8gcHVzaCByZW1haW5pbmcgZGF0YSBpbiB0aGUgYWRhcHRlciBvbiByZWNlaXZpbmcgYSBGTFVTSCBldmVudCwKCSAganVzdCBmbHVzaCB0aGUgYWRhcHRlci4gRG8gdGhpcyBvbiBGTFVTSF9TVE9QLCBob3dldmVyLCB3aGljaCBpcyBzZXJpYWxpemVkLAoJICB1bmxpa2UgRkxVU0hfU1RBUlQsIHNvIHdlIGRvbid0IG1lc3Mgd2l0aCB0aGUgYWRhcHRlciBhdCB0aGUgc2FtZSB0aW1lIGFzCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wNC0zMCAxMToyODowMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogYWRkIHBsdWdpbiBkZXNjcmlwdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ5MDA1CgoyMDExLTA0LTI5IDEyOjM5OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGxlYWsgYnVmZmVybGlzdCBvbiBzdHJlYW1zIHdpdGhvdXQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjM4OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFVucmVmIGJ1ZmZlcnMgd2UgZG9uJ3QgdXNlLgoJICBBdm9pZHMgYSBtYXNzaXZlIGxlYWsgOikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjowODozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBmb3JnZXQgdG8gZnJlZSB0aGUgcHJvZ3JhbSBzdHJlYW1zIGFycmF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6MDg6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRnJlZSBwYWNrZXQgYnVmZmVyIGV2ZW4gaWYgaXQgZG9lc24ndCBoYXZlIGEgcGF5bG9hZAoJICBUaGlzIGNhbiBoYXBwZW4gd2l0aCBBRkMtb25seSBwYWNrZXRzLiBBdm9pZHMgbGVha2luZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI4IDEwOjA3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGVja2xpbms6IENoZWNrIGZvciBwdGhyZWFkLmggYW5kIGxpbmsgd2l0aCAtbHB0aHJlYWQKCjIwMTEtMDQtMjggMTA6MDQ6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogQWRkIHRvIFNVQkRJUlMKCjIwMTEtMDQtMjggMDA6MDA6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBwby9iZy5wbzoKCSogcG8vamEucG86CgkqIHBvL25sLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NsLnBvOgoJKiBwby90ci5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjMgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMjcgMjM6NDM6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIHRvb2xzOiBkaXNhYmxlIG5ldyBnc3QtZWxlbWVudC1tYWtlciB0ZXN0CgkgIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLCBhbmQKCSAgYnJlYWtzIG1ha2UgZGlzdGNoZWNrIGZvciBtZS4KCjIwMTEtMDQtMjcgMDE6MTQ6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiB0aGUgYnJvZWtuIHRlbXBsYXRlcyBhcmUgbm90IGJyb2VrbiwgYnV0IGRlcGVuZGVuY2llcwoJICBSZW5hbWUgdGhlIGxpc3QgYW5kIGRpc3QgdGhlbS4gV2UgbmVlZCB0aGVtIGZvciB0aGUgYWN0dWFsIHRlbXBsYXRlcy4KCjIwMTEtMDQtMjYgMTU6MTM6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogc2V0IENQUEZMQUdTIHRvIG1ha2UgdGVtcGxhdGVzIHVzaW5nIHVuaW5zdGFsbGVkIGhlYWRlcnMgd29yawoKMjAxMS0wNC0yNiAxNDoyMToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkgIGVsZW1lbnQtbWFrZXI6IGZpeHVwIGdvYmplY3QgdGVtcGxhdGUgYSBiaXQgYnV0IGRpc2FibGUgZm9yIG5vdwoJICBUaGUgdGVtcGxhdGUgY29udGFpbnMgdGhpbmdzIHdlIGFscmVhZHkgZGVmaW5lIGJ5IGRlZmF1bHQuCgoyMDExLTA0LTI2IDE0OjEwOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGZpeCB0ZW1wbGF0ZXMKCSAgVXNlIHRoZSBvYmplY3QgY2xhc3MgYW5kIG5vdCB0aGUgb2JqZWN0IGluIHRoZSBpbml0IGZ1bmN0aW9uLiBTZXQgdGhlIHZtZXRob2RzLgoJICBBZGQgZGVmYXVsdCByZXR1cm5zLgoKMjAxMS0wNC0yNiAxNDowODo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IGRvbid0IGRpc3QgaW5jb21wbGV0ZSB0ZW1wbGF0ZXMKCSAgTW92ZSBub3Qgd29ya2luZyB0ZW1wbGF0ZXMgdG8gYSBzZXBhcmF0ZSB2YXJpYWJsZSB0byBoaWdobGlnaHQgdGhlIGZhY3QgdGhhdAoJICB0aGV5IG5lZWQgbW9yZSB3b3JrLiBUaGVzZSBuZWVkIGF0IGxlYXN0IHRoZSBjbGFzcyBhbmQgdHlwZSBmaWVsZHMgZmlsbGVkLgoKMjAxMS0wNC0yNiAxMzo0NDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyLXRlc3Quc2g6CgkgIGVsZW1lbnQtbWFrZXItdGVzdDogdHJ5IHRvIHJ1biBlbGVtZW50LW1ha2VyIGZvciBhbGwgdGVtcGxhdGVzCgkgIEFkZCBhbiBlYXN5IHdheSB0byBjaGVjayB0aGUgZWxlbWVudC1tYWtlciB0ZW1wbGF0ZXMuCgoyMDExLTA0LTI2IDEzOjQyOjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogbWFrZSBpdCBmYWlsLCB3aGVuIGNvbXBpbGF0aW9uIGZhaWxzCgoyMDExLTA0LTE5IDE1OjA5OjU0IC0wNDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogYWxsb3cgdG8gcnVuIGZyb20gYSBkaWZmZXJlbnQgd29ya2luZyBkaXJlY3RvcnkKCSAgR2V0IHRoZSBkaXJuYW1lIGZvciB0aGUgc2NyaXB0IGFuZCB1c2UgdGhhdCB0byByZWZlcmVuY2UgdGhlIHRlbXBsYXRlcy4gVXNlIHRoZQoJICB0ZW1wbGF0ZWRpciB2YXJpYWJsZSB0byBjaGVjayBmb3IgdGVtcGxhdGVzLgoKMjAxMS0wNC0xNiAxOTo0Mjo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogbG93ZXJjYXNpZnkgaW5wdXQKCSAgVGhpcyBhbGxvd3MgdXNpbmcgY2FwaXRhbGl6ZWQgYWNyb255bXMgaW4gY2xhc3MgbmFtZXMsIHNvIHVzaW5nCgkgICJBVkNfc3JjIiBvbiB0aGUgY29tbWFuZCBsaW5lIHdpbGwgY3JlYXRlIGZpbGVuYW1lIGdzdGF2Y3NyYy5jLAoJICBjbGFzcyBuYW1lIEdzdEFWQ1NyYywgYW5kIHN5bWJvbCBuYW1lcyBnc3RfYXZjX3NyY18qLgoKMjAxMS0wNC0yNCAxNjo0MjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4LHRzZGVtdXg6IEFkZCBieXRlLXN0cmVhbSB0byBoMjY0IGNhcHMKCSAgRml4ZXMgIzYwNjY2Mi4KCjIwMTEtMDQtMjQgMTY6MDA6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRG9uJ3QgYWxsb3cgYnVmZmVycyBhZnRlciBFT1MKCSAgRml4ZXMgIzY0Nzg1Mi4KCjIwMTEtMDQtMjQgMTU6NDk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBEb24ndCBkdXBsaWNhdGUgY29kZSBpbiBiYXNldmlkZW9jb2RlYwoJICBCb3RoIGJhc2V2aWRlb2VuY29kZXIgYW5kIGJhc2V2aWRlb2NvZGVjIHdlcmUgc2V0dGluZwoJICBzeXN0ZW1fZnJhbWVfbnVtYmVyLCBsZWFkaW5nIHRvIGNvbmZ1c2lvbi4gIEZpeGVzICM2NDc4NTMuCgoyMDExLTA0LTE0IDE2OjIxOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQ2hlY2sgaWYgY2FwcyBhcmUgc2V0IGRpcmVjdGx5CgkgIEZpeGVzICM2NDc4NTQuCgoyMDExLTA0LTE3IDAwOjA4OjM5ICswMTAwICBNaWhhaSBEcmFnaGljaW9pdSA8bWloYWkuZHJhZ2hpY2lvaXVAZ21haWwuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBmaXggaW5maW5pdGUgbG9vcGluZyBieSBmYWRpbmcgb3V0IGFmdGVyIHR3byBsb29wcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MzY0CgoyMDExLTA0LTI0IDE0OjA0OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzNjYWZlMSB0byA0NmRmY2VhCgoyMDExLTA0LTIyIDA5OjM3OjI5ICswMTAwICBGYWJyaXppbyBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IG1ha2Ugd29yayB3aXRoIG9wZW5DViAyLjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTc5NgoKMjAxMS0wNC0xOSAxNzowMjo0NSArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBBZGQgbGF0ZXN0IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDExLTA0LTE1IDIyOjI1OjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogQWRkIGJ5dGUtc3RyZWFtIHRvIGgyNjQgY2FwcwoKMjAxMS0wNC0xOCAxMjowMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICB3YXZwYWNrOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjUwOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo0NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBSZW1vdmUgdW51c2VkL3VubmVlZGVkIENGTEFHUy9MSUJTIGFuZCBtb3ZlICQoTElCTSkgdG8gTElCQURECgoyMDExLTA0LTE4IDExOjQzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIGxpbnN5czogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIGJhc2VzaW5rL2Jhc2VzcmMKCSAgQW5kIHJlbW92ZSBlbXB0eSBhbmQgdW51c2VkIHZhcmlhYmxlcy4KCjIwMTEtMDQtMTcgMTk6MDk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogRGlzdCBhbGwgaGVhZGVycyBhbmQgcHV0IHRoZW0gaW4gbm9pbnN0X0hFQURFUlMKCjIwMTEtMDQtMTcgMTk6MDk6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbGluc3lzOiBEaXN0IGFsbCBoZWFkZXJzIGFuZCBwdXQgdGhlbSBpbiBub2luc3RfSEVBREVSUwoKMjAxMS0wNC0xNyAxMTo1NDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGxpbnN5cy9kZWNrbGluayBjaGVja3MgZm9yIExpbnV4CgoyMDExLTA0LTE3IDAxOjEwOjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIxLjIgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTcgMDE6MDk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJICBleHQsIGdzdDogdXBkYXRlIGRpc3RlZCBvcmMgYmFja3VwIGZpbGVzCgoyMDExLTA0LTE3IDAwOjU0OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcHJlLXJlbGVhc2UKCjIwMTEtMDQtMTYgMTY6MzY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTEtMDQtMTQgMjA6NDY6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZWZhY3RvciBibGl0dGluZywgYXZvaWQgd3JpdGluZyBwYXN0IGVuZCBvZiBidWZmZXIKCSAgUHJldmlvdXMgYmxpdHRpbmcgY29kZSBjb3VsZCBwb3RlbnRpYWxseSB3cml0ZSBwYXN0IHRoZQoJICBlbmQgb2YgdGhlIGJ1ZmZlciBpZiB0aGUgeCBvciB5IHBvc2l0aW9uIHdhcyBvZGQsIGFuZCBmb3IKCSAgdGhlIHNhbWUgdW5kZXJseWluZyByZWFzb24sIGRpZG4ndCBnZXQgdGhlIGNocm9tYSByZWdpc3RyYXRpb24KCSAgY29ycmVjdCBpbiB0aGUgb2RkIHBvc2l0aW9uIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDc4MzAKCjIwMTEtMDQtMTYgMTE6MTg6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMS0wNC0xNCAyMDozOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGZvcmdldCB0byB1bnJlZiB0aGUgZmZtcGVnY29sb3JzcGFjZQoJICBEbyBub3QgbGVhayB0aGUgZmZtcGVnY29sb3JzcGFjZSBieSB1bnJlZmluZyBpdCBhdCBkaXNwb3NlCgoyMDExLTA0LTE0IDE2OjQ4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0OiBjYW1lcmFiaW46IE1vcmUgbGVhayBmaXhlcwoKMjAxMS0wNC0xNSAxMDo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkgIG00OiBVcGRhdGUgZ3NldHRpbmdzIG00IG1hY3JvcwoKMjAxMS0wNC0xNCAxNjoyNDo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgb3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xMQoKMjAxMS0wNC0xNSAwMDowOToxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgRml4IHNvbWUgdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE5OjUzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBjbGVhbiB1cCBnb2JqZWN0IHRlbXBsYXRlIGEgYml0CgkgIFJlbW92ZSBwb2ludGxlc3MgZ19yZXR1cm5faWZfZmFpbCAoR19JU19GT08gKG9iaikpIGNoZWNrcyBpbgoJICB2ZnVuYyBpbXBsZW1lbnRhdGlvbnMuIENvbW1lbnQgb3V0IHVudXNlZCB2YXJpYWJsZXMgdG8gYXZvaWQKCSAgd2FybmluZ3Mgd2l0aCBnY2MgNC42LgoKMjAxMS0wNC0xNCAxODozNjoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBhc2ZtdXg6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTg6MzY6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBiYXllcjogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxNDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBMZWFrIGZpeGVzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBMZWFrIGZpeGVzIHJlbGF0ZWQgdG8gbm90IHJlbW92aW5nIHRoZSBzb3VyY2UgcmV0dXJuZWQgZnJvbQoJICBnc3RfYnVzX2FkZF93YXRjaAoKMjAxMS0wNC0xNCAxMzoyNzoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogU29tZSBsZWFrIGZpeGVzCgkgIExlYWsgZml4ZXMgcmVsYXRlZCB0byByZW1vdmluZyB0aGUgc291cmNlIHJldHVybmVkIGZyb20KCSAgZ3N0X2J1c19hZGRfd2F0Y2gKCjIwMTEtMDQtMTMgMTU6MDU6MTUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvLnZlcmRlam9AY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvR3N0QW5kcm9pZC5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2VycmluZ2J1ZmZlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmM6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuaDoKCSAgUmVtb3ZlIGF1ZGlvZmxpbmdlcnNpbmsKCSAgUmVtb3ZlIGF1ZGlvZmxpbmdlcnNpbmssIGl0J3MgaW4gZ3N0LWFuZHJvaWQgbm93LgoKMjAxMS0wNC0xNCAxNjo0OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE2OjE0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhc3JjOiBhZGQgdW5zdGFibGUtQVBJIHdhcm5pbmdzIGlmIEdTVF9VU0VfVU5TVEFCTEVfQVBJIGlzIG5vdCBkZWZpbmVkCgkgIFNvIHBlb3BsZSBrbm93IHRoaXMgaXMgdW5zdGFibGUgQVBJIGV2ZW4gaWYgaXQgZW5kcyB1cCByaWdodCBuZXh0CgkgIHRvIG91ciBvdGhlciBBUEkuCgoyMDExLTA0LTE0IDE2OjExOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tZWRpYS1pbmZvLy5naXRpZ25vcmU6CgkgIGxpYnM6IHJlbW92ZSBsZWZ0b3ZlciBtZWRpYS1pbmZvIGRpcmVjdG9yeQoKMjAxMS0wNC0xMyAyMjo0ODoyOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogcmV0dXJuIGR1cmF0aW9uIGluIG5hbm9zZWNvbmRzCgoyMDExLTA0LTEzIDIzOjM1OjUwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGhhbmRsaW5nIG9mIGVuZCBvZiBwbGF5bGlzdAoJICBEb24ndCBzZW5kIHRoZSBFT1MgZXZlbnQgdW50aWwgd2UgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdAoJICBhbmQgdGhlIHF1ZXVlIGlzIHJlYWxseSBlbXB0eS4KCjIwMTEtMDQtMTMgMjI6MjU6NTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggZXhhbXBsZSBwaXBlbGluZQoKMjAxMS0wNC0xMyAyMzowNjoxOCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGlnbm9yZSBzZWVrIGV2ZW50cyB1bnRpbCBpdCdzIGltcGxlbWVudGVkCgoyMDExLTA0LTEzIDIyOjE3OjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZGlzcG9zZSB0aGUgZmV0Y2hlciBmcm9tIHRoZSBzYW1lIHRocmVhZCBpdCdzIGNyZWF0ZWQKCjIwMTEtMDQtMTQgMTE6Mjg6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6OiBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBHTGliCgkgIGdfb2JqZWN0X25vdGlmeV9ieV9wc3BlYygpIGlzIG5ldyBpbiBHTGliIDIuMjYsIGJ1dCB3ZSBvbmx5IHJlcXVpcmUgMi4yMi4KCjIwMTEtMDQtMTQgMDc6MjE6NTAgKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGEgbG90IG9mIG5ldyBwbHVnaW5zCgoyMDExLTA0LTEzIDIzOjU5OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3QgZm9yIG5ldyBleHBvc3VyZSBjb21wZW5zYXRpb24gdGFnCgkgIEFkZHMgYSB0ZXN0IGZvciBHU1RfVEFHX0NBUFRVUklOR19FWFBPU1VSRV9DT01QRU5TQVRJT04gb24KCSAgamlmbXV4IGNoZWNrIHRlc3RzLgoKMjAxMS0wNC0xMyAyMTo1ODozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mOiBNb3ZlIGR1cGxpY2F0ZSAjZGVmaW5lcyBpbnRvIGEgY29tbW9uIGluY2x1ZGUKCSAgQ2VudHJhbGl6ZSBkdXBsaWNhdGVkIGNvbnN0YW50cyBzbyB0aGV5IGhhdmUgdGhlIHNhbWUgdmFsdWUuCgkgIEFsc28gc3RhbmRhcmRpc2UgbWluaW11bSB0b25lIGR1cmF0aW9uIHRvIDI1MG1zIGFuZCBtaW5pbXVtIGludGVyLXRvbmUKCSAgaW50ZXJ2YWwgdG8gMTAwbXMuCgoyMDExLTA0LTEzIDIyOjMzOjM3IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFByZXNlcnZlIHVudXNlZCBpbWFnZWJpbiBvciB2aWRlb2JpbiBvbiBOVUxMCgkgIElmIHZpZGVvIG9yIGltYWdlIG1vZGUgaXMgbmV2ZXIgc2VsZWN0ZWQgdGhlbiByZXNwZWN0aXZlIGJpbiBpcyBpbiBOVUxMIHN0YXRlLgoJICBQcmVzZXJ2ZSB0aGlzIHN0YXRlIHdoZW4gcmVzZXR0aW5nIGNhbWVyYWJpbiBmcm9tIFBBVVNFRCB0byBSRUFEWS4KCjIwMTEtMDQtMTMgMjI6MDc6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkgIHBubTogYWRkIExJQlRPT0xGTEFHUyA9IC0tdGFnPWRpc2FibGUtc3RhdGljCgoyMDExLTA0LTEzIDIwOjI2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogSW1wbGVtZW50IGdldGNhcHMgZnVuY3Rpb24KCSAgVGhpcyBhbGxvd3MgdG8gc2V0IHdpZHRoL2hlaWdodC9ldGMgcmVzdHJpY3Rpb25zIHRvIGJlIHNldCBkb3duc3RyZWFtLgoJICBGaXhlcyBidWcgIzY0NzQ5OC4KCjIwMTEtMDQtMTIgMjE6NDc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhwbHVnaW4uYzoKCSogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgcXRtdXg6IHJlbW92ZSBxdG11eCBwbHVnaW4sIGl0IGhhcyBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Njk5CgoyMDExLTA0LTEzIDE2OjMxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbGliZXhpZiBwa2ctY29uZmlnIGNoZWNrCgkgIFRoZXJlJ3Mgbm8gZXhpZiBwbHVnaW4gc28gZG9uJ3QgdXNlIEFHX0dTVF9DSEVDS19GRUFUVVJFLgoJICBGaXhlcyBidWcgIzY0NzU2NC4KCjIwMTEtMDQtMTIgMTY6NDI6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgbGVmdG92ZXIgTUFFTU9fQlJPS0VOIGRlZmluZXMKCSAgUmVtb3ZlIGRlZmluZXMgdG8gd29yayBhcm91bmQgYnVncyBpbiBvbGQgTWFlbW8gcmVsZWFzZXMKCjIwMTEtMDQtMTEgMTQ6NDQ6MTcgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNvcm5lciBjYXNlIGZvciBwcmV2aWV3IHBvc3RpbmcKCSAgRml4IGNvcm5lciBjYXNlIHdoZXJlIHZpZGVvIHByZXZpZXcgaW1hZ2UgaXMgbm90IHBvc3RlZCBpZiBzdG9wcGluZwoJICB2aWRlbyBjYXB0dXJlIGltbWVkaWF0ZWx5IGFmdGVyIGNhcHR1cmUgc3RhcnQuCgoyMDExLTA0LTExIDE4OjMxOjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBzdWJ0cmFjdCBpZC1zdHIgc2l6ZSBmcm9tIHRoZSByZW1haW5pbmcgcmVhZAoJICBGaXhlcyBhIHJlZ3Jlc3Npb24gZnJvbSB0aGUgcGF0Y2hlcyBpbiBidWcgIzYyNjYxOC4KCjIwMTEtMDQtMTEgMTg6MzA6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGpwZWc6IHNldCB0YWdzIHRvIE5VTEwgYXQgaW5pdCB0aW1lIGFuZCBhZnRlciBmcmVlaW5nIHRoZW0KCjIwMTEtMDQtMTEgMTg6Mjk6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBqcGVnOiBjb21tZW50IGFuZCBsb2dnaW5nIGNoYW5nZXMKCjIwMTEtMDQtMTAgMTk6NTM6MzUgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWRkIGdzdF9qcGVnX3BhcnNlX3JlbW92ZV9tYXJrZXIoKQoJICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVtb3ZlIHRoZSB3aG9sZSBtYXJrZXIgZnJvbSB0aGUgYnVmZmVyLgoJICBBbHNvIHdlIHNldCBpdCBhcyB0aGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgbWFya2VyIEpQR3swLTEzfT8gaW4gb3JkZXIgdG8gYXZvaWQKCSAgYSB1c2VsZXNzICNpZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTA4LTEzIDEyOjM4OjAyICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHJlZmFjdG9yIENPTSBwYXJzaW5nCgkgIGFkZCBnc3RfanBlZ19wYXJzZV9jb20gKCkgYW5kIGdldF91dGY4X2Zyb21fZGF0YSAoKSB0byBleHRyYWN0IGFuZAoJICB2YWxpZGF0ZSBjb21tZW50IGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE4OjIyOjA3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHJlZmFjdG9yIEFQUDEgcGFyc2luZwoJICBhZGQgZ3N0X2pwZWdfcGFyc2VfYXBwMSAoKSBhbmQgZXh0cmFjdF9hbmRfcXVldWVfdGFncyAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTIxIDE1OjA1OjQzICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGxvZyBpZCB3aGVuIHNraXBwaW5nIGFuIHVuaGFuZGxlZCBBUFAgbWFya2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTc6NDc6MTcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogc2tpcCBhbGwgQVBQIG1hcmtlcnMsIGV4Y2VwdGluZyBBUFAxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMjEgMTU6MDk6MTcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYWRkIGdldF90YWdfbGlzdCAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDExLTA0LTExIDAwOjM2OjM1IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGFuZHJvaWQvTk9USUNFOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJICBhbmRyb2lkOiBtYWtlIGl0IHJlYWR5IGZvciBhbmRyb2dlbml6ZXIKCSAgUmVtb3ZlIHRoZSBhbmRyb2lkLyB0b3AgZGlyCgkgIEZpeGUgdGhlIE1ha2VmaWxlLmFtIHRvIGJlIGFuZHJvZ2VuaXplZAoJICBUbyBidWlsZCBnc3RyZWFtZXIgZm9yIGFuZHJvaWQgd2UgYXJlIG5vdyB1c2luZyBhbmRyb2dlbml6ZXIgd2hpY2ggZ2VuZXJhdGVzIHRoZSBuZWVkZWQgQW5kcm9pZC5tayBmaWxlcy4KCSAgQW5kcm9nZW5pemVyIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRwOi8vZ2l0LmNvbGxhYm9yYS5jby51ay8/cD11c2VyL2RlcmVrL2FuZHJvZ2VuaXplci5naXQKCjIwMTEtMDQtMTAgMDA6MjI6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IGRpc3QgbmV3IHZpZGVvZmlsdGVyMiB0ZW1wbGF0ZQoKMjAxMS0wNC0wOSAxMzo0MDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDExLTA0LTA5IDEwOjAzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGQgbGFzdC1tZXNzYWdlIHByb3BlcnR5IGFuZCBuZXZlciBwcmludCBhbnl0aGluZyB0byBzdGRvdXQKCSAgSW5zdGVhZCBldmVyeXRoaW5nIHdpbGwgYmUgcHV0IGludG8gdGhlIGxhc3QtbWVzc2FnZSBwcm9wZXJ0eSBhbmQKCSAgZ3N0LWxhdW5jaCAtdiB3aWxsIHByaW50IGFsbCBjaGFuZ2VzIG9mIHRoZSBwcm9wZXJ0eS4gVGhpcyBtYWtlcwoJICB0aGUgYmVoYXZpb3VyIG9mIGZwc2Rpc3BsYXkgY29uc2lzdGVudCB3aXRoIHRoZSBmYWtlc2luay9pZGVudGl0eS9ldGMKCSAgYmVoYXZpb3VyLgoKMjAxMS0wNC0wOSAwOTo1MDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogUmVuYW1lIHZlcmJvc2UgcHJvcGVydHkgdG8gc2lsZW50IGZvciBjb25zaXN0ZW5jeQoKMjAxMS0wNC0wOSAwMDozNzoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSAgYmFzZXBhcnNlOiByZW1vdmUgLWJhZCB2ZXJzaW9uIG9mIGJhc2VwYXJzZSBsaWJyYXJ5LCBub3cgaW4gY29yZQoKMjAxMS0wNC0wMiAxODozMDoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIHZpZGVvcGFyc2VyczogcG9ydCB0byBiYXNlcGFyc2UsIHdoaWNoIGlzIG5vdyBpbiBsaWJnc3RiYXNlIGluIGNvcmUKCjIwMTEtMDQtMDggMTI6MTE6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkgIHNjZW5lY2hhbmdlOiBuZXcgc2NlbmUgY2hhbmdlIGRldGVjdGlvbiBlbGVtZW50CgoyMDExLTA0LTA4IDEwOjI2OjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyMjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIHZpZGVvZmlsdGVyMiB0ZW1wbGF0ZQoKMjAxMS0wNC0wOCAxOTozMjozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgUmVtb3ZlIGF1ZGlvcGFyc2VycyBwbHVnaW4sIGl0IGhhcyBiZWVuIG1vdmVkIHRvIC1nb29kCgoyMDExLTA0LTA4IDE0OjA4OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IFVzZSBQUk9QXyBpbnN0ZWFkIG9mIEFSR18gZm9yIHRoZSBwcm9wZXJ0eSBlbnVtcwoKMjAxMS0wNC0wNyAxNToxNTo1NyArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXk6IEFkZCB2ZXJib3NlIHByb3BlcnR5CgkgIFdoZW4gdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gVFJVRSB0aGUgZWxlbWVudCB3aWxsIGRpc3BsYXkgc3RhdGlzdGljcwoJICBvbiBzdGRvdXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDcwMzAKCjIwMTEtMDQtMDUgMjE6MDQ6NTQgKzAyMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IHVwZGF0ZSBmb3IgbGF0ZXN0IEdzdFhPdmVybGF5IGNoYW5nZXMKCSAgRnJvbSB4d2luZG93X2lkIHRvIHdpbmRvd19oYW5kbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY5NTUKCjIwMTEtMDQtMDcgMTg6MzA6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVsYXggc3luYyBtYXRjaCBhIGJpdCB3aGVuIGRyYWluaW5nCgkgIC4uLiB0byBhdCBsZWFzdCBhbGxvdyBpbml0aWFsIGNhcHMgY2hhbmdlIChidXQgbm8gZnVydGhlciBjYXBzIGppdHRlcikuCgoyMDExLTA0LTA2IDE1OjU4OjA3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSAgZmllbGRhbmFseXNpczogVXNlIFJGRiBmbGFnIHRvIGluZGljYXRlIGJ1ZmZlcnMgdG8gZHJvcCBkb3duc3RyZWFtCgkgIFVzZSBvZiB0aGUgR0FQIGZsYWcgaXMgbm90IHJlYWxseSBjb3JyZWN0IGhlcmUgYW5kIG1ha2VzIGl0IGRpZmZpY3VsdCB0bwoJICBoYW5kbGUgcmVhbCBHQVAgYnVmZmVycyBpbiBkZWludGVybGFjZS4gVGhlIFJGRiBmbGFnIGlzIHVudXNlZCBhbmQgY2FuCgkgIGJlIHJldXNlZCB3aXRoIHNpbWlsYXIgc2VtYW50aWNzIC0gdGhlIGJ1ZmZlcnMgbWFya2VkIHdpdGggUkZGIHRoYXQgYXJlCgkgIGluIGEgdGVsZWNpbmUgc3RhdGUgY29udGFpbiBvbmx5IHVubmVlZGVkIHJlcGVhdGVkIGZpZWxkcyBhbmQgc28gY2FuIGJlCgkgIGRyb3BwZWQuCgoyMDExLTA0LTA1IDE5OjI2OjE1ICswMzAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBlbnN1cmUgZ3N0X3BvbGxfd2FpdCBpcyBjYWxsZWQgZmlyc3Qgb24gZGVzY3JpcHRvcnMKCSAgV2UgbmVlZCB0byBjYWxsIGdzdF9wb2xsX3dhaXQgYmVmb3JlIGNhbGxpbmcgZ3N0X3BvbGxfKiBzdGF0dXMKCSAgZnVuY3Rpb25zIG9uIHRoYXQgbmV3IGRlc2NyaXB0b3IsIHNvIHJlc3RhcnQgdGhlIGxvb3AsIHNvIF93YWl0CgkgIHdpbGwgaGF2ZSBiZWVuIGNhbGxlZCBvbiBhbGwgZWxlbWVudHMgb2Ygc2VsZi0+cG9sbCwgd2hldGhlcgoJICB0aGV5IGhhdmUganVzdCBiZWVuIGFkZGVkIG9yIG5vdC4gKi8KCjIwMTEtMDQtMDYgMjA6NDA6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2htOiBGaXggTVNHX05PU0lHTkFMIGNoZWNrCgkgIEluY2x1ZGUgc3lzL3NvY2tldC5oIGJlZm9yZSBjaGVja2luZyBmb3IgTVNHX05PU0lHTkFMLCBhbHNvCgkgIGNoZWNrIHRoYXQgc3lzL3NvY2tldC5oIGJlZm9yZSBkb2luZyBhbnkgb3RoZXIgY2hlY2tzIGZvciBzaG0KCjIwMTAtMTItMTUgMTA6Mzk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCByZWx5IG9uIHRoZSBhcHBsaWNhdGlvbiBydW5uaW5nIHRoZSBkZWZhdWx0IEdMaWIgbWFpbiBsb29wCgkgIERvbid0IHVzZSBnX2lkbGVfYWRkKCkgYW5kIGZyaWVuZHMgdG8gc2NoZWR1bGUgdGhpbmdzIHdlIGNhbid0IGRvIGZyb20gdGhlCgkgIHN0cmVhbWluZyB0aHJlYWQgaW4gYW5vdGhlciB0aHJlYWQuIFRoZSBhcHAgbWF5IG5vdCBiZSBydW5uaW5nIHRoZSBkZWZhdWx0CgkgIEdMaWIgbWFpbiBsb29wLiBJbnN0ZWFkLCBqdXN0IHNwYXduIGEgdGhyZWFkLgoJICBBbHNvLCB3ZSBuZWVkIHRvIGNhcmUgZm9yIHdoZW4gYWNlc3NpbmcgYSBwYWQgdmFyaWFibGUsIGFzIGFub3RoZXIgdGhyZWFkCgkgIG1pZ2h0IGhhdmUgdGFrZW4gY2FtZXJhYmluIHRvIE5VTEwgd2hpbGUgdGhpcyBnc3RfY2FtZXJhYmluX2ltZ2Jpbl9maW5pc2hlZAoJICBkaWRuJ3QgcnVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE1NjU1CgoyMDExLTA0LTA0IDIwOjU1OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlcXVpcmUgdGlnaHRlciBzeW5jIG1hdGNoIHdoZW4gZHJhaW5pbmcKCjIwMTEtMDQtMDQgMTU6NTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWNjYmUwOSB0byBjM2NhZmUxCgoyMDExLTA0LTA0IDEyOjIxOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogbW9yZSBoZWxwZnVsIGRlYnVnIGVycm9yIG1lc3NhZ2Ugd2hlbiBubyBuZWVkZWQgZHVyYXRpb24gb24gaW5wdXQgYnVmZmVycwoJICBGaXhlcyAjNjQ2MjU2LgoKMjAxMS0wNC0wMiAwMToyMTozNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHZhbGlkYXRlIHByb3Blcmx5IHV0Zi04IHBsYXlsaXN0CgoyMDExLTA0LTAyIDAxOjEwOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiBjbGVhciB0aGUgbGlzdCBvZiBtZWRpYSBmaWxlcyBiZWZvcmUgdXBkYXRpbmcgdGhlIHBsYXlsaXN0CgoyMDExLTA0LTAyIDAxOjA4OjAyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiB1c2UgYW5kIGFkYXB0ZXIgaW5zdGVhZCBvZiBjb3N0ZnVsIGJ1ZmZlciBqb2lucwoKMjAxMS0wNC0wMSAxMzo1MzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzZXR0aW5nIG9mIHBsdWdpbmRpciBmcm9tIE1ha2VmaWxlcwoKMjAxMS0wMy0yNiAxNzo1NTozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEZpeCBuZWdvdGlhdGlvbiBlcnJvcnMKCjIwMTEtMDMtMjYgMTc6NDM6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW86IEFkZCBmdW5jdGlvbiB0byBhbGxvY2F0ZSBzcmMgYnVmZmVyCgoyMDExLTA0LTAxIDE2OjUyOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFub3RoZXIgd2luZG93cyBidWlsZCBmaXgKCSAgUmVwbGFjZSAlbGxkIHdpdGggJXUgYXMgR1NUX0JVRkZFUl9TSVpFIGlzIGEgZ3VpbnQKCjIwMTEtMDQtMDEgMTY6MTI6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsczogRml4IGNvbXBpbGF0aW9uIG9uIHdpbmRvd3MKCSAgVXNlIHN0cmluZyBsaXRlcmFsIG9uIHByaW50aW5nIGZvcm1hdAoKMjAxMS0wNC0wMSAxMzozOTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFByb2Nlc3Npbmcgc2hvdWxkIHN0b3Agb24gUkVBRFkKCSAgVGhlIHZpZGVvYmluIGFuZCBpbWFnZWJpbiBmcm9tIGNhbWVyYWJpbiBoYXZlIHRoZWlyIHN0YXRlcwoJICBsb2NrZWQgYW5kIGFyZW4ndCBwdXQgdG8gUkVBRFkgd2hlbiBhbGwgdGhlIHJlc3Qgb2YgY2FtZXJhYmluCgkgIGlzIHNldCB0byBpdC4KCSAgVGhpcyBtaWdodCBjYXVzZSBvbmUgb2YgdGhlbSB0byBiZSBzdGlsbCBwcm9jZXNzaW5nIGFuZCBwb3N0CgkgIGFuIEVPUyBhZnRlciBjYW1lcmFiaW4gaXNuJ3QgZXhwZWN0aW5nIGl0IGFueW1vcmUsIHRoaXMgY2F1c2VzCgkgIGFuIGFzc2VydGlvbiBhcyB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIHdvdWxkIGFscmVhZHkgYmUgMCBhbmQKCSAgd291bGQgYmUgZGVjcmVtZW50ZWQuCgoyMDExLTA0LTAxIDE1OjAwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJICBzZWdtZW50Y2xpcDogS2VlcCBhIHJlZmVyZW5jZSBvZiBldmVudHMgdW50aWwgdGhlIGV2ZW50IGlzIHBhcnNlZAoKMjAxMS0wNC0wMSAxNDo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBhcnNlIGVuY29kZXIgZGVsYXkgYW5kIGVuY29kZXIgcGFkZGluZyBmcm9tIHRoZSBMQU1FIGhlYWRlciBpZiBwcmVzZW50CgoyMDExLTAzLTMxIDE2OjIxOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htOiBNYWtlIGRlZmF1bHQgcGVybSB1K3J3IGcrciBmb3Igc2htIGFyZWEKCjIwMTEtMDMtMzAgMTU6NTM6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXBkYXRlIGZvciBtZWRpYSB0eXBlIHdhcyByZW5hbWluZyBmcm9tIHBsYXlsaXN0L20zdTggdG8gYXBwbGljYXRpb24veC1obHMKCjIwMTEtMDMtMzAgMTE6MzM6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZCBobHMgcGx1Z2luCgoyMDExLTAzLTMwIDEwOjExOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNvbWUgbWlub3IgY2xlYW51cAoJICBVc2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTEtMDMtMzAgMDM6MzQ6MzkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaW5kZW50YXRpb24gYW5kIGRvY3Mgc2VjdGlvbnMKCjIwMTEtMDMtMjkgMjM6MTg6MjQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBsZWVrIHRoZSBxdWVyeQoKMjAxMS0wMy0yOSAyMzowNjoxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNoZWNrIGlmIHRoZSB0YXNrJ3MgY29uZCB3YXMgc2lnbmFsZWQgYmVjYXVzZSBpdCdzIHRoZSBlbmQgb2YgcGxheWxpc3QKCjIwMTEtMDMtMTIgMTM6MzI6NTcgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwb3N0IGEgbWVzc2FnZSBpbiB0aGUgYnVzIHdoZW4gdGhlIHBsYXlsaXN0IGNoYW5nZXMKCjIwMTEtMDMtMTIgMTM6MTU6NTIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCB1cGRhdGUgdGhlIHBsYXlsaXN0IGlmIHdlIHN0YXkgaW4gdGhlIHNhbWUgYml0cmF0ZQoKMjAxMS0wMy0xMiAxMzowMDowNiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBVUkkgcXVlcmllcwoKMjAxMS0wMy0xMiAxMjo1MDoyNSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBkdXJhdGlvbiBxdWVyaWVzCgoyMDExLTAzLTEyIDEyOjI4OjQyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogcHJvdGVjdCBwdWJsaWMgbWV0aG9kcyBwcm9wZXJseQoKMjAxMS0wMy0xMiAxMjoyMDozMiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IGFkZCBzdXBwb3J0IHRvIGdldCB0aGUgZHVyYXRpb24gZnJvbSBhIHBsYXlsaXN0CgoyMDExLTAyLTE2IDAzOjUxOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgcHJpbnQgYW4gZXJyb3IgaWYgdGhlIGRvd25sb2FkIHdhcyBjYW5jZWxsZWQKCjIwMTEtMDItMTYgMDM6NDk6NDkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgdGhlIGZldGNoZXIgc3RhdGUgY2hhbmdlIGlzIGNvbXBsZXRlIGJlZm9yZSBjb250aW51aW5nCgoyMDExLTAyLTE2IDAxOjE5OjQ1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgbGVhayB0aGUgZmlyc3QgYnVmZmVyCgoyMDExLTAyLTE2IDAwOjU1OjMwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2xlYW4gdXAgY29kZSBhIGxpdHRsZSBiaXQKCjIwMTEtMDItMTYgMDA6NTM6NDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBvbmx5IGNoZWNrIGZvciB0aGUgZW5kIG9mIHBsYXlsaXN0IHdoZW4gdGhlIHF1ZXVlIGlzIGVtcHR5CgoyMDExLTAyLTE1IDIyOjQwOjIxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgdG8gc3RvcCBmcmFnbWVudHMgY2FjaGUgaWYgc29tZXRoaW5nIGNhbmNlbGxlZCBpdAoKMjAxMS0wMi0xNSAyMTo1NToyNiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJldXNlIHRoZSBjb2RlIGluIHJlc2V0KCkgdG8gZnJlZSByZXNvdXJjZXMgaW4gZGlzcG9zZSgpCgoyMDExLTAyLTE1IDIxOjQ5OjIwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiB1c2UgYSB0eXBlZmluZGVyIHRvIHNldCB0aGUgY2FwcyBpbiB0aGUgc291cmNlIHBhZAoKMjAxMS0wMi0xNSAwNDozOTozNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBtb3JlIGNvbW1lbnRzIGFuZCBkb2N1bWVudCBiZXR0ZXIgYWxsIHRoZSB0aHJlYWRzIGludm9sdmVkCgoyMDExLTAyLTE1IDAzOjQyOjI5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaGFuZGxlIDQwNCBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudAoKMjAxMS0wMi0xNSAwMzo0MTo0MyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0b3AgdGhlIGZldGNoZXIgaW4gdGhlIFBBVVNFRF9UT19SRUFEWSB0cmFuc2l0aW9uLCBub3Qgd2hlbiBkaXNwb3NpbmcoKQoKMjAxMS0wMi0xNSAwMzo0MTowMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHdlIGRvbid0IHN0b3AgdGhlIGZldGNoZXIgdHdpY2UgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcwoKMjAxMS0wMi0xNSAwMjoxMzo1NiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHF1ZXJ5IHRoZSB1cmkgdXBzdHJlYW0gYmVmb3JlIHVwZGF0aW5nIHRoZSBwbGF5bGlzdAoKMjAxMS0wMi0xNCAxODo1MTozMiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgSFRUUCBsaXZlIHN0cmVhbWluZyBkZW11eGVyIGVsZW1lbnQKCSAgQmFzZWQgb24gcHJldmlvdXMgd29yayBieSBNYXJjLUFuZHLDqSBMdXJlYXUKCjIwMTEtMDMtMjEgMTA6NTc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEFkZCBHc3RUYWdYbXBXcml0ZXIgc3VwcG9ydAoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2UgdG8gamlmbXV4IGVsZW1lbnQKCjIwMTEtMDMtMjEgMTA6NTY6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2UKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHN1cHBvcnQgdG8gcXRtdXgKCjIwMTEtMDMtMjcgMjM6NTA6MjQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdiB0ZXh0IG92ZXJsYXk6IHJlbmFtZSBhbmQgZG9jdWVtbnQKCSAgUmVuYW1lIHRoZSBlbGVtZW50IHRleHR3cml0ZSB0byBvcGVuY3Z0ZXh0b3ZlcmxheS4gQWRkIHByb3BlciBzdHJ1Y3R1cmluZyB0bwoJICBvcGVuY3YgdGV4dG92ZXJsYXkgZWxlbWVudC4KCSAgRml4ZXM6ICM2NDA1NjEKCjIwMTEtMDMtMjcgMTM6NTc6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggNjQtYml0IHByaW50ZiBmb3JtYXQgcHJvYmxlbQoKMjAxMS0wMy0yNyAyMDowOTo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogZml4IGJ1ZyB3aGVyZSB3ZSBkaWRuJ3Qgc2V0dXAgdmRwYXUgb24gYSB1c2VyIHNldCB3aW5kb3cKCjIwMTEtMDMtMjcgMTk6NDc6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkgIHZkcGF1OiBmaXh1cCBHc3RGbG93UmV0dXJuIGhhbmRsaW5nCgkgIFByZXZpb3VzbHkgdGhlIGRpZmZlcmVudCBkZWNvZGVycyB3b3VsZCBkaXNjYXJkIGVycm91bm91cyBHc3RGbG93UmV0dXJucyBjb21pbmcKCSAgZnJvbSBkb3duc3RyZWFtLiBOb3cgd2UgcHJvcGVybHkgcmV0dXJuIHRoZXNlIGZ1cnRoZXIgdXBzdHJlYW0gc28gdGhhdCB3ZQoJICBwcm9wZXJseSBlcnJvciBvdXQgb24gZWcuIG5lZ290aWF0aW9uIHByb2JsZW1zLgoKMjAxMS0wMy0yNyAxOTo0MDo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50YXRpb24gZml4CgoyMDEwLTA5LTA2IDE3OjQyOjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGlnbm9yZSByZXR1cm4gdmFsdWUgb2YgZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9maW5pc2hfZnJhbWUKCjIwMTEtMDMtMjcgMTc6NDI6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93OiBmaXggbGlzdCBpdGVyYXRpb24gY29kZQoKMjAxMS0wMy0yNyAxNzoyMjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICBkY2Nwc2VydmVyc2luazogZml4IGxpc3QgaXRlcmF0aW9uIGNvZGUKCSAgRml4IHN1Ym9wdGltYWwgbGlzdCBpdGVyYXRpb24gY29kZSwgYW5kIGFkZCBzb21lIEZJWE1Fcy4KCjIwMTEtMDMtMjYgMTI6NDU6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJICBwYXRjaGRldGVjdDogbGluayBhZ2FpbnN0IGxpYm0KCSAgTGluayBhZ2FpbnN0IGxpYm0uIEluY2x1ZGUgbWF0aC1jb21wYXQuaCBoZWFkZXIuIERvbid0IGxpbmsgYWdhaW5zdAoJICBvcmMsIHNpbmNlIGl0J3Mgbm90IGFjdHVhbGx5IHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDU3MTEKCjIwMTEtMDMtMjYgMTY6MTI6MTggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgVXNlIGNvcnJlY3QgY2xvY2sgd2hlbiBjaGVja2luZyB3aGV0aGVyIHRvIHdyaXRlIGEgbmV3IFBDUgoJICBUaGUgUENSIGNsb2NrcyBhZ2FpbnN0IHRoZSAyN01IeiBTQ1IgY2xvY2ssIHNvIGNoZWNrIGl0IGNvcnJlY3RseQoJICB0byBhdm9pZCB3cml0aW5nIHRoZSBQQ1IgdG9vIG9mdGVuLgoJICBQYXJ0aWFsbHkgZml4ZXM6ICM2MTEwNDYKCjIwMTEtMDMtMjYgMTU6NTg6MjEgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIFJld3JpdGUgTTJUUyBwYWNrZXQgb3V0cHV0CgkgIE1ha2Ugc3VyZSB3ZSBvbmx5IHdyaXRlIHRoZSBib3R0b20gMzAgYml0cyBvZiB0aGUgUENSIHRvIHRoZSBtMnRzIGhlYWRlci4KCSAgRG9uJ3QgdXNlIGZsb2F0aW5nIHBvaW50IGNvbXB1dGF0aW9uIGZvciBpdCwgYW5kIHJlbW92ZSB3ZWlyZCBiaXQgZmlkZGxpbmcKCSAgdGhhdCBtZXNzZXMgdXAgdGhlIFBDUiBpbiBhIHdheSBJIGNhbid0IGZpbmQgYW55CgkgIGp1c3RpZmljYXRpb24vZG9jdW1lbnRhdGlvbiBmb3IuCgkgIERvbid0IGFjY2lkZW50YWxseSBsb3NlIFBDUiBwYWNrZXRzIGZyb20gdGhlIG91dHB1dC4KCSAgRml4IHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIG0ydHMtbW9kZSBwcm9wZXJ0eSBzbyBpdCdzIGNsZWFyIGl0J3MgYSBmbGFnLAoJICBhbmQgd2hpY2ggc2V0dGluZyBkb2VzIHdoYXQuCgkgIEZpeGVzOiAjNjExMDYxICM2NDQ0MjkKCSAgUGFydGlhbGx5IGZpeGVzOiAjNjQ1MDA2CgoyMDExLTAzLTI2IDExOjE0OjAxICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBGaXggYSBGSVhNRSwgYW5kIHNvbWUgd2hpdGVzcGFjZS9jb2RlIHN0eWxlIGJpdHMuCgkgIEFsc28sIGFkZCBhIG5ldyBjb3B5cmlnaHQgbm90aWNlIGZvciBtZS4KCjIwMTEtMDMtMjUgMjI6MzM6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOTNiNzE3IHRvIDFjY2JlMDkKCjIwMTEtMDMtMjUgMTQ6NTY6NDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjc3ZTJiZiB0byAxOTNiNzE3CgoyMDExLTAzLTI1IDA5OjMyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDg4MTRiNiB0byBiNzdlMmJmCgoyMDExLTAzLTI1IDA5OjA4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFhYTI4NiB0byBkODgxNGI2CgoyMDExLTAzLTI1IDA4OjMzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEFkZCBmbG9hdCBjYXBzIHRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDExLTAzLTI0IDE2OjE2OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCB3aW4zMiBidWlsZAoKMjAxMS0wMy0yNCAyMjozMjo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGVuc3VyZSBjbGVhbnVwIG9mIHBlcy9zZWN0aW9uIGZpbHRlciBoZWxwZXIgc3RydWN0dXJlcwoJICBJbiBwYXJ0aWN1bGFyLCB0aGUgc2VjdGlvbl9maWx0ZXIgd291bGQgbm90IGJlIGNsZWFyZWQgZm9yIGEgcHJpdmF0ZSBzZWN0aW9uCgkgIHN0cmVhbSwgbGVha2luZyBhIEdzdEFkYXB0ZXIuIFNlZW4gb24gYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIyOjEwOjQzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG9uJ3QgbGVhayBwYWQgbmFtZQoJICBBcyBzZWVuIG9uIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMTo0NjowOSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZnJlZSBQUFMgTkFMIGJ1ZmZlcnMgb24gY2xlYW51cAoJICBPYnZpb3VzbHkgYSB0eXBvLiBGaXhlcyBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjE6NDQ6MDcgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IGxlYWsgYWxsIE5BTCBidWZmZXJzCgkgIGdzdF9idWZmZXJfcmVwbGFjZSgpIGRvZXNuJ3Qgc3RlYWwgdGhlIHJlZi4gUGFydGlhbCBmaXggZm9yIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAxODo0OTo1NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWVjNmI5IHRvIDZhYWEyODYKCjIwMTEtMDMtMjQgMTQ6NTE6MTIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc3RyZWFtX2luZm8gZGVzY3JpcHRvciBwYXJzaW5nCgoyMDExLTAzLTA5IDIzOjA2OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGRjYXBhcnNlOiBCdW1wIHJhbmsgdG8gcHJpbWFyeSsxCgkgIFNlZW1zIHRvIHdvcmsgZmluZSB3aXRoIGEgcmVhc29uYWJseSB3aWRlIHJhbmdlIG9mIG1lZGlhLCBzbyBidW1waW5nCgkgIHJhbmsuCgoyMDExLTAzLTI0IDEwOjA4OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgMzIgYml0IGFuZCA2NCBiaXQgZmxvYXRpbmcgcG9pbnQgZm9ybWF0cwoKMjAxMS0wMy0yNCAwOTo1ODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBUaGUgU1NORCBoZWFkZXIgaXMgMTYgYnl0ZXMgbGFyZ2UsIG5vdCA4ICsgMTYgYnl0ZXMKCSAgRml4ZXMgYnVnICM2NDU1NjggYW5kIHBsYXliYWNrIGluIHB1bGwgbW9kZSBmb3Igc2FtcGxlIHdpZHRocyA+IDggdGhhdAoJICBhcmUgbm90IGEgbXVsdGlwbGUgb2YgMiBieXRlcyAoZS5nLiAyNCBiaXQgc2FtcGxlcykuCgoyMDExLTAzLTI0IDA5OjI5OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFVzZSBnc3RfdXRpbF91aW50NjRfc2NhbGVfY2VpbCgpIGluc3RlYWQgb2YgYSBjdXN0b20gZnVuY3Rpb24KCjIwMTEtMDMtMjQgMTM6NDM6MDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBEb24ndCBleHBvcnQgYml0cmF0ZSBpZiBvcGVuL3ZhcmlhYmxlL2xvc3NsZXNzCgkgIGxpYmRjYSByZXR1cm5zIHRoZSBiaXRyYXRlIGFzIDEvMi8zIGZvciBvcGVuL3ZhcmlhYmxlL2xvc3NsZXNzIGZpbGVzCgkgIHJlc3BlY3RpdmVseS4gVGhpcyBtYWtlcyBzdXJlIHdlIGRvbid0IGVtaXQgdGhlc2UgdmFsdWVzLgoKMjAxMS0wMy0yNCAwOToyMjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IFJlYWQgdGhlIGFkZGl0aW9uYWwsIG9wdGlvbmFsIGV4dHJhIGhlYWRlcnMgZnJvbSB0aGUgY2FwcyB0b28KCjIwMTEtMDMtMjQgMDk6MTQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IEdldCBhbmQgdXNlIHN0cmVhbWhlYWRlcnMgZnJvbSB0aGUgY2FwcyBpZiBwb3NzaWJsZQoJICBUaGlzIGFsbG93cyBwbGF5YmFjayBvZiBmaWxlcyB3aGVyZSB0aGUgc3RyZWFtaGVhZGVyIGJ1ZmZlcnMgd2VyZQoJICBkcm9wcGVkIGZvciBzb21lIHJlYXNvbiBhbmQgYWxzbyBzZXRzIHRoZSBzcmNwYWQgY2FwcyBlYXJsaWVyLgoKMjAxMS0wMy0yMyAyMjo1Mzo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0CgkgIEl0IGFwcGVhcnMgdGhlIHBhdGNoLCB3aGljaCBJJ3ZlIGJlZW4gY2FycnlpbmcgYXJvdW5kIGZvcmV2ZXIsCgkgIGhhZCBiZWVuIGFscmVhZHkgYXBwbGllZC4KCjIwMTEtMDItMjAgMTQ6MTY6MTggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IG1lcmdlIHV0aWxzIGhlYWRlciBpbnRvIGJhc2V2aWRlb2NvZGVjCgoyMDEwLTEyLTMwIDE4OjI1OjA0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IE91dHB1dCBlbGVtZW50IG1lc3NhZ2Ugd2l0aCBmcmFtZSBzdGF0cwoKMjAxMS0wMi0yNiAwMDoyODozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJICBwYXRjaGRldGVjdDogbmV3IGVsZW1lbnQKCSAgRGV0ZWN0cyBNdW5zZWxsIENvbG9yQ2hlY2tlciBpbiBhIHZpZGVvIGltYWdlIGFuZCBhdXRvbWF0aWNhbGx5CgkgIHdoaXRlIGJhbGFuY2VzIGFuZCBjb2xvciBjb3JyZWN0cyBiYXNlZCBvbiB0aGUgZGV0ZWN0ZWQgdmFsdWVzLgoJICBUaGlzIGVsZW1lbnQgaXMgb25seSBhIGRlbW9uc3RyYXRpb24gYXQgdGhpcyBzdGFnZSwgaXQgbmVlZHMgdG8KCSAgYmUgc2VwYXJhdGVkIGludG8gdHdvIGVsZW1lbnRzLgoKMjAxMS0wMi0yNyAwMDo0ODoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAZW50cm9weXdhdmUuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9MaW51eENPTS5oOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgZGVja2xpbmsgcGx1Z2luCgkgIFNvdXJjZSBhbmQgc2luayBlbGVtZW50cyBmb3IgQmxhY2tNYWdpYyBEZWNrTGluayBTREkgY2FyZHMuCgoyMDExLTAzLTE3IDE3OjM4OjU4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5cy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9hc2kuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL21hc3Rlci5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGlhdWRpby5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpdmlkZW8uaDoKCSAgbGluc3lzOiBBZGQgcGx1Z2luIGZvciBMaW5lYXIgU3lzdGVtcyBTREkgYm9hcmRzCgoyMDEwLTA5LTE0IDExOjMwOjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4Lmg6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4Lmg6CgkgIHNkaTogQWRkIHJhdyBTREkgbXV4aW5nL2RlbXV4aW5nIGVsZW1lbnRzCgoyMDExLTAzLTE3IDE5OjAzOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbG9nb2luc2VydC5jOgoJICBsb2dvaW5zZXJ0OiBGaXggbWVtbGVha3MsIGFkZCB0ZXN0CgoyMDEwLTExLTE1IDExOjM3OjEyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBsb2dvaW5zZXJ0OiBBZGQgZGF0YSBwcm9wZXJ0eQoKMjAxMS0wMy0yMyAxNTo0OToxOCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEZpeCBwcmVtYXR1cmUgc2h1dGRvd24KCSAgV2UgbXVzdCB3YWl0IGZvciBjYW1lcmFiaW4yJ3Mgc3RvcC1jYXB0dXJlIHByb2NlZHVyZXMgdG8gZmluaXNoIGJlZm9yZSBxdWl0dGluZwoJICB0aGUgbWFpbiBsb29wIG9yIGZpcmluZyBvZmYgdGhlIG5leHQgY2FwdHVyZS4gSWYgd2UgZ2V0IHN0dWNrIHdhaXRpbmcgZm9yCgkgIGNhbWVyYWJpbjIgdG8gYmVjb21lIGlkbGUsIHRoaXMgaXMgYSBidWcgdGhhdCBuZWVkcyBmaXhpbmcuCgoyMDExLTAzLTIzIDE2OjMyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT25seSBtYXJrIHZpZGVvIGNhcHR1cmUgYXMgZmluaXNoZWQgYWZ0ZXIgRU9TCgkgIEluc3RlYWQgb2YgcHJvYmluZyB0aGUgdmlkZW9zaW5rIHNpbmtwYWQgZm9yIHBhc3NpbmcgRU9TLCBiZXR0ZXIKCSAgdG8gd2FpdCBmb3IgRU9TIGZyb20gdGhlIGJ1cy4KCSAgVGhpcyBtYWtlcyBzdXJlIHRoZSBmaWxlc2luayBoYXMgYWxyZWFkeSBwcm9jZXNzZWQgaXQgYW5kIGlzCgkgIHJlYWR5IHRvIGNsb3NlIHRoZSBmaWxlLiBUaGlzIGlzIHVzZWQgdG8gbm90aWZ5IGFwcGxpY2F0aW9ucwoJICB0aGF0IGNhbWVyYWJpbjIgaXMgaWRsZSBhbmQgY2FuIGJlIHNodXQgZG93bi4KCjIwMTEtMDMtMTggMTU6NDk6MTIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBjYW1lcmFiaW4yOiB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgcmVhZC1vbmx5IG1heC16b29tIHByb3AKCSAgVGhpcyBpcyBub3QgaW1wbGVtZW50ZWQgaW4gYW55IG9mIG91ciByZWFsIHNvdXJjZXMgdG8gd2hpY2ggd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBtaWdodCBjb25uZWN0IGJ1dCB0aGlzIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgaW1wbGVtZW50ZWQgYXQgYW55IHRpbWUuIEEKCSAgbGltaXQgb24gdGhlIHNvZnR3YXJlIHpvb20gbGV2ZWwgdXNpbmcgdmlkZW97Y3JvcCxzY2FsZX0gd291bGQgYmUgYXJiaXRyYXJ5LgoKMjAxMS0wMy0yMyAxMjozODozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJbXByb3ZlIGlkbGUgcHJvcGVydHkgdXNhZ2UKCSAgVXNlIHJlc291cmNlIHdhcm5pbmcgbWVzc2FnZXMgdG8gbm90aWZ5IGNhbWVyYWJpbjIgdGhhdCBhIGNhcHR1cmUKCSAgYXMgYWJvcnRlZCBvciBjb3VsZG4ndCBiZSBzdGFydGVkLCBtYWtpbmcgaXQgZGVjcmVtZW50IHRoZQoJICBwcm9jZXNzaW5nIGNvdW50ZXIgYW5kIG1ha2luZyB0aGUgaWRsZSBwcm9wZXJ0eSBtb3JlIHJlbGlhYmxlLgoKMjAxMS0wMy0yMiAxMjowNDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE5vIG5lZWQgdG8gZm9yY2UgYXVkaW9zcmMgdG8gbnVsbCBvbiBzdG9wX2NhcHR1cmUKCSAgU2V0dGluZyB0aGUgYXVkaW8gc291cmNlIHRvIG51bGwgaXNuJ3QgbmVlZGVkIGFuZCBpdCBjb3VsZAoJICBtYWtlIHRoZSBFT1MgdGhhdCBpcyBzdGlsbCBmbG93aW5nIGJlIGRyb3BwZWQgaWYgYXV0b2F1ZGlvc3JjCgkgIGlzIHVzZWQgYmVjYXVzZSBpdHMgcGFkcyBnbyBmbHVzaGluZyBiZWZvcmUgdGhlIEVPUyBnZXRzIHB1c2hlZAoJICBmcm9tIHRoZSByZWFsIHNvdXJjZS4KCjIwMTEtMDMtMjIgMDg6MzI6NDggLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IENoZWNrIGlmIHNldCBwcmV2aWV3IGNhcHMgYXJlIHRoZSBzYW1lCgkgIENoZWNrcyBpZiB0aGUgbmV3IHJlY2VpdmVkIHByZXZpZXctY2FwcyBhcmUgZXF1YWwgdG8gd2hhdCBpcwoJICBhbHJlYWR5IGluIHVzZSwgc2tpcHMgdGhlIHByZXZpZXctY2FwcyBzZXR0aW5nIGxvZ2ljIGluIGNhc2UKCSAgbmV3IGNhcHMgYXJlIHNhbWUgYXMgY3VycmVudCBvbmVzLgoKMjAxMS0wMy0xNSAxNTo0NzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIGFub3RoZXIgJ2lkbGUnIHRlc3QKCSAgQWRkcyBhbm90aGVyIHRlc3QgdGhhdCBjaGVja3MgdGhhdCB0aGUgaWRsZSBwcm9wZXJ0eSB3b3JrcwoJICBjb3JyZWN0bHkgd2hlbiBib2d1cyBzdGFydC1jYXB0dXJlIGNhbGxzIGFyZSBtYWRlLgoJICBUaGlzIGZhaWxzIGN1cnJlbnRseSwgYnV0IHNob3VsZCByZW1pbmQgdXMgb2YgZml4aW5nIGl0IGluCgkgIHRoZSBmdXR1cmUgYnkgZGVmaW5pbmcgYSBwcm9wZXIgZXJyb3IgcmVwb3J0aW5nIGZyb20gY2FtZXJhCgkgIHNvdXJjZXMgdG8gY2FtZXJhYmluMgoKMjAxMS0wMy0xNSAxNTozNDozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBTcHJpbmtsZSBzb21lICdpZGxlJyBwcm9wZXJ0eSBjaGVja3MKCSAgQWRkcyBzb21lIGNoZWNrcyBmb3IgJ2lkbGUnIHByb3BlcnR5IGluIGNhbWVyYWJpbjIgdGVzdHMKCjIwMTEtMDMtMTUgMTU6MTE6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZHMgbmV3IGlkbGUgcHJvcGVydHkKCSAgQWRkcyBpZGxlIHByb3BlcnR5IChqdXN0IGxpa2UgY2FtZXJhYmluMSksIGEgYm9vbGVhbiB0aGF0CgkgIGlzIHRydWUgd2hlbiBjYW1lcmFiaW4yIGlzbid0IHByb2Nlc3NpbmcgYW5kIGNhbiBiZSBzaHV0IGRvd24KCSAgd2l0aG91dCBsb3NpbmcgZGF0YS4KCjIwMTEtMDMtMTUgMTA6NTA6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyB0ZXN0cyBmb3IgbmV3IGltYWdlIGNhcHR1cmUgcHJvcGVydGllcwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIHRoYXQgY2hhbmdpbmcgZW5jb2Rlci9tdXhlciBmb3IgaW1hZ2UgY2FwdHVyZQoJICB3b3JrcwoKMjAxMS0wMy0xNSAxMDoxMTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBwcm9wZXJ0aWVzIGZvciBpbWFnZSBjYXB0dXJlIHNldHRpbmdzCgkgIEFkZHMgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIGltYWdlIGVuY29kZXIgYW5kIG11eGVyIGZvcgoJICBpbWFnZSBjYXB0dXJlCgoyMDExLTAzLTE0IDE0OjMzOjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTW9yZSBkZWJ1ZyBsb2cKCSAgU21hbGwgcmVmYWN0b3JpbmcgYW5kIGFkZGluZyBtb3JlIGRlYnVnIGxvZyB0byBlbmNvZGViaW4gcmVsYXRlZAoJICBwYXRocwoKMjAxMS0wMy0xNCAxNDozMDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFNldCBwcmV2aWV3IHBpcGVsaW5lIE5VTEwKCSAgU2V0IHByZXZpZXcgcGlwZWxpbmUgdG8gTlVMTCB3aGVuIGZyZWVkIHRvIGJlIGFibGUgdG8KCSAgcmVjcmVhdGUgaXQgb24gdGhlIGZvbGxvd2luZyBsaW5lcwoKMjAxMS0wMy0yMyAyMjowMjozNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBmcmFtZSBzaXplIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHRoZSBzaXplIG9mIHRoZSBmcmFtZSAobnVtYmVyIG9mIGJ5dGVzIGZyb20gb25lIHN5bmMgcG9pbnQKCSAgdG8gdGhlIG5leHQpIGFzIHRoZSAiZnJhbWVfc2l6ZSIgZmllbGQgaW4gY2Fwcy4KCjIwMTEtMDMtMDkgMjM6MDM6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgYmxvY2sgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgc2V0cyB0aGUgImJsb2NrX3NpemUiIGZpZWxkIG9uIGNhcHMgYXMgdGhlIG51bWJlciBvZiBzYW1wbGVzCgkgIGVuY29kZWQgaW4gb25lIGZyYW1lLgoKMjAxMS0wMy0yMiAyMDo1MzowOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBydW5uaW5nIHRpbWUgZm9yIHN5bmNocm9uaXphdGlvbgoJICBTZWUgYWxzbyAjNDMyNjEyLgoKMjAxMS0wMy0yMiAxMzoxODowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNoYWluIHVwIHRvIHBhcmVudCBmaW5hbGl6ZQoKMjAxMS0wMy0yMiAxMzo0Njo0MiArMDEwMCAgQ2hyaXMgRSBKb25lcyA8Y2hyaXNAY2hyaXNlam9uZXMuY29tPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBDb3JyZWN0bHkgaGFuZGxlIG5ld3NlZ21lbnQgZXZlbnRzIHdpdGggc3RvcD09LTEKCSAgRml4ZXMgYnVnICM2NDU0MjAuCgoyMDExLTAzLTIyIDEyOjM0OjIwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKQoJICBjbGVhbmVkIHRoZSByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkgaW4gY29uZmlndXJlLmFjCgoyMDExLTAzLTE4IDE5OjM0OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbjogd2luZ28gc2lnbmVkIGNvbW1lbnQKCjIwMTEtMDMtMjEgMTM6MzE6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHplYnJhc3RyaXBlOiBBZGQgbmV3IEdzdFZpZGVvRmlsdGVyMiBiYXNlIGNsYXNzCgkgIEFuIGV4cGVyaW1lbnQuICBOb3QgY29tcGxldGVseSBoYXBweSB3aXRoIGl0LgoKMjAxMS0wMy0yMSAyMDo0MDoxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSGFuZGxlIGFsbCBJU084ODU5LXggZW5jb2RpbmdzIGluIGdldF9lbmNvZGluZygpCgkgIC4uLiBhY2NvcmRpbmcgdG8gRVRTSSBFTiAzMDAgNDY4LCAiU2VsZWN0aW9uIG9mIGNoYXJhY3RlciB0YWJsZSIKCjIwMTEtMDItMjEgMTE6NDQ6MDEgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkbyBub3QgdHJ5IHRvIHBhcnNlIHBhY2tldHMgY29udGFpbmluZyBzZWN0aW9uIGRhdGEgYXMgUEVTCgoyMDExLTAyLTIxIDExOjQyOjU0ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBzdHJlYW0gdHlwZXMgZm9yIERTTSBDQyBBLCBCLCBDLCBECgoyMDExLTAzLTIxIDE4OjU0OjQ2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogZml4IHBsYXliYWNrIGlmIFBNVCBpcyBzZWVuIGJlZm9yZSBQQVQKCSAgVGhlIHN0cmVhbSBmb3IgdGhlIFBNVCBwaWQgaGFzIHRvIGJlIGNsZWFyZWQgc2luY2UgdGhlIHZlcnNpb24gY2hlY2tpbmcKCSAgaW4gdGhlIHBhY2tldGl6ZXIgd29uJ3QgZW1pdCB0aGUgc2FtZSBQTVQgYWdhaW4gb3RoZXJ3aXNlLgoKMjAxMS0wMy0yMSAxNjo1MToxNiArMDEwMCAgQW5kcmVhcyBGcmlzY2ggPGFuZHJlYXMuZnJpc2NoQG11bHRpbWVkaWEtbGFicy5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU2V0IHBhcnNlZD10cnVlIGluIHRoZSBzcmNwYWQgY2FwcwoJICBGaXhlcyBidWcgIzY0NTQxMi4KCjIwMTEtMDMtMjEgMTA6Mzg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogTG93ZXIgdGhlIHJhbmsgdG8gTUFSR0lOQUwKCSAgVGhlIHJhdGlvbmFsZSBpcyB0aGF0IGl0IGNhbid0IGJlIHByb3Blcmx5IHVzZWQgcmlnaHQgbm93IHdoZW4gdXNpbmcKCSAgaXQgdG8gZW5jb2RlIG1wZWcydmlkZW8gYmVjYXVzZSBvZiB0aGUgbmVlZHMtdG8tYmUtcmV3cml0dGVuIHByb3BlcnRpZXMKCSAgYW5kIGZvcm1hdCBuZWdvdGlhdGlvbi4gT3RoZXIgZW5jb2RlcnMgd2lsbCBuZWdvdGlhdGUgaW4gYSBtdWNoIHNhbmVyCgkgIGZhc2hpb24uCgkgIE9uZSBzdWNoIGV4YW1wbGUgaXMgdGhhdCB3aGVuIHlvdSBwaWNrIG1wZWcyZW5jIGZvciBtcGVnMnZpZGVvLCB0aGUKCSAgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlICdmb3JtYXQnIHByb3BlcnR5IGlzICJHZW5lcmljIE1QRUctMSIsIHdoaWNoIGlzCgkgIGNvbXBsZXRlbHkgd3JvbmcgaWYgZG93bnN0cmVhbSBjYXBzIGFyZSBtcGVnMi4gVGhlIHdob2xlIG5lZ290aWF0aW9uCgkgIGNvZGUgbmVlZHMgc29tZSBzZXJpb3VzIGxvdmluZyBiZWZvcmUgdGhpcyBwbHVnaW4gY2FuIGJlIGJ1bXBlZCBiYWNrCgkgIHVwIHRvIGEgaGlnaGVyIHJhbmsuCgoyMDExLTAzLTE2IDA5OjUwOjM0ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBhZGQgImZyYW1lcy1kcm9wcGVkIiBhbmQgImZyYW1lcy1yZW5kZXJlZCIgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzNDY5CgoyMDExLTAzLTE4IDA5OjMzOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIHNvbWUgdW51c2VkIHZhcmlhYmxlcyBpbiB0aGUgSTQyMCBibGVuZGluZyBmdW5jdGlvbgoKMjAxMS0wMy0xNyAyMDoxOToyNyArMDIwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCB1c2luZyBhbHBoYSB2YWx1ZXMgaW4gYmxpdHRpbmcuCgkgIFVzZSBlYWNoIHBpeGVsJ3Mgb3duIGFscGhhIHZhbHVlIGluc3RlYWQgb2YgYXZlcmFnZSBhbHBoYSB2YWx1ZSB3aGVuCgkgIGNhbGN1bGF0aW5nIGNvbG9yIGNvbXBvbmVudHMuIEZpeGVzIGJ1ZyAjNjM5NzYzLgoKMjAxMS0wMy0xNyAxNjozNDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJICB2cDg6IGZpeCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDMtMTYgMTU6NTM6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogYWRkIEZJWE1FIGZvciBtYWtpbmcgdGhlIGJhc2UgY2xhc3MgdXNlIHhpbmcgc2VlayB0YWJsZXMgYmV0dGVyCgoyMDExLTAzLTE3IDE2OjQxOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBEb24ndCB1c2UgInN1biIgYXMgYSB2YXJpYWJsZSBuYW1lLCBicmVha3Mgb24gU29sYXJpcwoJICBTZWVtcyBsaWtlIHRoZSBTb2xhcmlzIGNvbXBpbGVyIGhhcyAtRHN1bj0xLCBzbyBkb24ndCB1c2UKCSAgc3VuIGFzIGEgdmFyaWFibGUgbmFtZQoJICBQYXRjaCBieSBUaW0gTW9vbmV5IDxtb29uZXlAZG9nYmVydC5jYy5uZHN1Lm5vZGFrLmVkdT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTA1MwoKMjAxMS0wMy0xNyAxNToyNzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzaG06IENoZWNrIGZvciBNU0dfTk9TSUdOQUwgbWFjcm8KCSAgRG9uJ3QgYnVpbGQgdGhlIHBsdWdpbiBpcyBNU0dfTk9TSUdOQUwgaXMgbm90IGRlZmluZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTA1MwoKMjAxMS0wMy0xNiAxODo1MjoyNCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogS2VlcCBzaG1zaW5rIHJlZmVyZW5jZWQgd2hpbGUgdGhlcmUgYXJlIHN0aWxsIGJ1ZmZlcnMgYXJvdW5kCgoyMDExLTAzLTE2IDE4OjUxOjUwICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBbGxvdyBTaG1QaXBlIHRvIHNhdmUgYSBkYXRhIHBvaW50ZXIgZm9yIGFwcGxpY2F0aW9ucwoKMjAxMS0wMy0xNiAxODo1MTowMiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBLZWVwIHRoZSBTaG1QaXBlIGFsaXZlIGFzIGxvbmcgYXMgdGhlcmUgYXJlIGJsb2NrcyBsZWZ0CgoyMDExLTAzLTA5IDE5OjM0OjM5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IE9ubHkgY29ubmVjdCB0byBzaW5rIGluIFBMQVlJTkcgaW4gbGl2ZSBtb2RlCgoyMDExLTAzLTA5IDE5OjM0OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEtlZXAgR3N0UG9sbCBmb3Igd2hvbGUgc3JjIGxpZmV0aW1lCgoyMDExLTAzLTE1IDA5OjE1OjM1IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgYW4gYXNzZXJ0aW9uIHRvIHByZXZpZXcgcGlwZWxpbmUgZ2VuZXJhdGlvbgoJICBBZGRzIGFuIGFzc2VydGlvbiBpbiBjYXNlIHRoZSBwcmV2aWV3IHBpcGVsaW5lIGlzIE5VTEwgYW5kIGFsc28KCSAgZXhwbGljaXRseSBpbml0aWFsaXplcyBwcmV2aWV3IGNhcHMgdG8gTlVMTCBmb3IgY2xhcml0eS4KCjIwMTEtMDMtMTQgMTg6MjU6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBBZGQgZGVwdGggYW5kIGVuZGlhbm5lc3MgdG8gdGhlIGNhcHMKCSAgU29tZSBkZWNvZGVycyBjYW4gb25seSBoYW5kbGUgc3BlY2lmaWMgZW5kaWFubmVzcyBvciBhIGZpeGVkCgkgIGRlcHRoIGFuZCB0aGlzIGFsbG93cyBiZXR0ZXIgbmVnb3RpYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNjQ0MjA4LgoKMjAxMS0wMy0xNCAxMjozOToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBicm9rZW4gcGFkIGNhcHMgcmVmY291bnQgaGFuZGxpbmcKCSAgZ3N0X2NhcHNfbWFrZV93cml0YWJsZSgpIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgY2FwcyBwYXNzZWQgaW4sIGJ1dAoJICB0aGUgY2FsbGVyIGRvZXNuJ3Qgb3duIGEgcmVmIHRvIHRoZSBjYXBzIGhlcmUsIGJlY2F1c2UgR1NUX1BBRF9DQVBTCgkgIGRvZXNuJ3QgcmV0dXJuIGEgcmVmLiBMb29rcyBsaWtlIHRoZSBjb2RlIHJlbGllZCBvbiBhIGNhcHMgbGVhawoJICBlbHNld2hlcmUgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS4KCjIwMTEtMDMtMTQgMTI6MzM6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBlcnJvciBvdXQgaWYgZG93bnN0cmVhbSBmYWlscyB0byBoYW5kbGUgdGhlIG5ld3NlZ21lbnQgZXZlbnQKCSAgSWYgZG93bnN0cmVhbSBkb2Vzbid0IGhhbmRsZSB0aGUgbmV3c2VnbWVudCBldmVudCwgZG9uJ3QgZXJyb3Igb3V0IChlc3AuCgkgIG5vdCB3aXRob3V0IHBvc3RpbmcgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzKSwgYnV0IGp1c3QgY29udGludWUuCgkgIElmIHRoZXJlJ3MgYSBwcm9ibGVtLCB3ZSdsbCBmaW5kIG91dCB3aGVuIHdlIHN0YXJ0IHB1c2hpbmcgYnVmZmVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDM5NQoKMjAxMS0wMy0xMSAxNDo0MDo0NCArMDAwMCAgQW5kcmVhcyBGcmlzY2ggPGFuZHJlYXMuZnJpc2NoQG11bHRpbWVkaWEtbGFicy5kZT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wMy0xMSAxODoyMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBxdWV1ZXMgdG8gc2lsZW50CgkgIE9wdGltaXplIGEgbGl0dGxlIGJ5IHNldHRpbmcgcXVldWVzIHRvIHNpbGVudAoKMjAxMS0wMy0xMSAxNjoyMDo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVmYWN0b3JpbmcgZW5jb2RlYmluIHVzYWdlCgkgIFJlZmFjdG9yIHNvbWUgY29tbW9uIGNvZGUgcmVnYXJkaW5nIGVuY29kZWJpbiB1c2FnZSBpbiBjYW1lcmFiaW4yCgoyMDExLTAzLTExIDE3OjA3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBudW1iZXIgb2YgaXRlcmF0aW9uIG9mIHRlc3RzCgkgIFRoZXJlIGFyZSAzIHRhZ2xpc3QgdGVzdHMsIG5vdCAyCgoyMDExLTAzLTExIDEwOjMyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBTb21lIG1lbWxlYWsgZml4ZXMKCjIwMTEtMDMtMDggMDk6NDM6NTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgYmFzZWNhbWVyYXNyYzogd3JhcHBlcmNhbWVyYWJpbnNyYzogY2FtZXJhYmluMjogRXhwb3NlL2FkZCBmbG9hdGluZyBwb2ludCB6b29tIHByb3BlcnR5CgoyMDExLTAzLTA0IDE1OjUzOjQyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSBkZWFkIGRlZmluaXRpb24KCSAgVGhpcyBkZWZpbml0aW9uIGlzIHVudXNlZCBpbiB0aGlzIGNvZGUuCgoyMDExLTAzLTEwIDExOjM4OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQXZvaWQgY2xlYXJpbmcgcmVjb3JkaW5nIGNhcHMKCSAgV2hlbiByZWNvcmRpbmcgMiB2aWRlb3MgaW4gc2VxdWVuY2Ugd2l0aCB0aGUgc2FtZSB2aWRlby1jYXB0dXJlLWNhcHMsCgkgIHRoZSBzZWNvbmQgdmlkZW8gd291bGQgZ2V0IGEgbm90LW5lZ290aWF0ZWQgZXJyb3IgYmVjYXVzZSB0aGUKCSAgc3JjIGNhcHMgd2VyZSBiZWluZyBjbGVhcmVkIHdpdGhvdXQgYW55IGludGVudGlvbiBvZgoJICByZW5lZ290aWF0aW5nIGl0IGJhY2sgdG8gdGhlIHJlcXVlc3RlZCBjYXB0dXJlIGNhcHMuCgkgIFRoaXMgcGF0Y2ggYXZvaWRzIHRoaXMgY2FwcyByZXNldCBwcm9jZWR1cmUgdW5sZXNzIGEgbmV3CgkgIGNhcHMgd2FzIHNldC4KCjIwMTEtMDMtMTEgMTQ6Mzc6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEFkZCBjb3JyZWN0IHRlbXBsYXRlIGNhcHMgYW5kIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wMy0xMSAxMDo0MDo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZml4IExEQUREL0xJQlMgcGF0aCBvcmRlciBmb3IgY2FtZXJhYmluMiBleGFtcGxlCgoyMDExLTAzLTExIDEwOjM0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZG9uJ3QgbGVhayBlbGVtZW50IG5hbWUgc3RyaW5ncwoJICBEb24ndCBsZWFrIHN0cmluZyBjb3B5IHJldHVybmVkIGJ5IGdzdF9lbGVtZW50X2dldF9uYW1lKCkuIEFsc28sIGNoZWNrCgkgIGZvciBjZXJ0YWluIGVsZW1lbnRzIGJ5IGNoZWNraW5nIHRoZSBwbHVnaW4gZmVhdHVyZSAvIGZhY3RvcnkgbmFtZSwgbm90CgkgIHRoZSBhc3NpZ25lZCBvYmplY3QgbmFtZS4KCjIwMTEtMDMtMTEgMTA6MjY6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICBidWlsZDogcmVtb3ZlIG1vcmUgdGFya2luL3RoZW9yYWV4cCBidWlsZCBjcnVmdAoKMjAxMS0wMy0xMCAxMzozOTo0MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSogZXh0L3Rhcmtpbi9SRUFETUU6CgkqIGV4dC90YXJraW4vVE9ETzoKCSogZXh0L3Rhcmtpbi9XSEFUX1RIRV9IRUNLX0lTX1RISVNfQ09ERV9ET0lORzoKCSogZXh0L3Rhcmtpbi9iaXRjb2Rlci5oOgoJKiBleHQvdGFya2luL2dvbG9tYi5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbi5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJKiBleHQvdGFya2luL2luZm8uYzoKCSogZXh0L3Rhcmtpbi9tZW0uYzoKCSogZXh0L3Rhcmtpbi9tZW0uaDoKCSogZXh0L3Rhcmtpbi9ybGUuaDoKCSogZXh0L3Rhcmtpbi90YXJraW4uYzoKCSogZXh0L3Rhcmtpbi90YXJraW4uaDoKCSogZXh0L3Rhcmtpbi93YXZlbGV0LmM6CgkqIGV4dC90YXJraW4vd2F2ZWxldC5oOgoJKiBleHQvdGFya2luL3dhdmVsZXRfY29lZmYuYzoKCSogZXh0L3Rhcmtpbi93YXZlbGV0X3hmb3JtLmM6CgkqIGV4dC90YXJraW4veXV2LmM6CgkqIGV4dC90YXJraW4veXV2Lmg6CgkqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgdGhlb3JhLHRhcmtpbjogUmVtb3ZlIGFuY2llbnQgdW51c2VkIGNvZGUKCjIwMTEtMDMtMTAgMTY6MDM6NTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIGZvciBQVFMgbWV0YWRhdGEgd2hlbiBzbyBjb25maWd1cmVkCgkgIC4uLiBhbmQgbm90IG9ubHkgd2hlbiBzb3J0LW9mIGZlZWxpbmcgbGlrZSBpdC4KCSAgSW4gYW55IGNhc2UsIGlmIGl0IHR1cm5zIG91dCBhbGwgcmVhbGx5IGlzIGluIG9yZGVyLAoJICBhbmQgcHJlc3VtYWJseSBEVFMgPT0gUFRTLCB0aGVuIG5vIGN0dHMgd2lsbCBiZSBwcm9kdWNlZCBhbnl3YXkuCgoyMDExLTAzLTEwIDE2OjAyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWxzbyB0cmFjayBvcmlnaW5hbCBQVFMgYnVmZmVyIHRpbWVzdGFtcCBpbiByZW9yZGVyIGR0cy1tZXRob2QKCjIwMTEtMDMtMDkgMTQ6NTM6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGb3JjZSBFT1Mgb24gYXVkaW8gc3JjCgkgIFdlIGNhbid0IHJlbHkgb24gYXVkaW8gc291cmNlcyBwdXNoaW5nIEVPUyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgYmVjYXVzZSB0aGlzIGlzIGEgYmFzZXNyYyBiYWhhdmlvciBhbmQgd2hlbiB1c2VkIGluc2lkZSBhdXRvYXVkaW9zcmMKCSAgdGhlIGdob3N0cGFkIGdvZXMgZmx1c2hpbmcgYmVmb3JlIHRoZSByZWFsIHNvdXJjZSBwdXNoZXMgdGhlIEVPUywKCSAgc28gaXQgaXMgZHJvcHBlZC4KCjIwMTEtMDMtMDQgMDY6MDY6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBObyBuZWVkIGZvciBzdGFydGluZyBzZWdtZW50CgoyMDExLTAzLTA0IDA2OjA5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBnc3RjYW1lcmFiaW4yOiBTZXQgZW5jb2RlYmluJ3MgdmlkZW9yYXRlIGFuZCBhdWRpb3JhdGUgcHJvcGVydGllcwoJICBMaXN0ZW4gdG8gZW5jb2RlYmluJ3MgZWxlbWVudC1hZGRlZCBzaWduYWwgdG8gYmUgYWJsZSB0byBzZXQKCSAgc2tpcC10by1maXJzdCBvbiBib3RoIGF1ZGlvcmF0ZXMgYW5kIHZpZGVvcmF0ZXMuCgoyMDExLTAyLTE1IDE0OjU4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIGF1ZGlvIGVsZW1lbnRzIHN0YXRlcwoJICBBdWRpbyBlbGVtZW50cyBhcmUgcHV0IGludG8gYmluIG9ubHkgd2hlbiBuZWVkZWQsIHNvIHdlIG5lZWQKCSAgdG8gYmUgY2FyZWZ1bCB3aXRoIHRoZWlyIHN0YXRlcyBhcyBjYW1lcmFiaW4yIHdvbid0IG1hbmFnZQoJICB0aGVtIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIGJpbi4KCSAgQWxzbyB3ZSBzaG91bGQgcmVzZXQgdGhlaXIgcGFkJ3MgZmx1c2hpbmcgc3RhdHVzIGJlZm9yZQoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlLgoKMjAxMS0wMS0yMSAxMjo0Nzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRlc3RzOiBVcGRhdGUgdGVzdHMgdG8gY2hlY2sgZm9yIGF1ZGlvIHN0cmVhbXMKCSAgQWRkIGEgY2hlY2sgdGhhdCByZXN1bHRpbmcgcmVjb3JkZWQgdmlkZW8gZmlsZXMgaGF2ZSBhdWRpbyBzdHJlYW1zLgoKMjAxMS0wMS0yMSAxMDo1Njo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluOiBhZGRpbmcgYXVkaW8gcmVsYXRlZCBwcm9wZXJ0aWVzCgkgIEFkZHMgNCBhdWRpbyBwcm9wZXJ0aWVzIHJlbGF0ZWQgdG8gYXVkaW8gcmVjb3JkaW5nCgkgICogYXVkaW8tc3JjCgkgICogbXV0ZQoJICAqIGF1ZGlvLXN1cHBvcnRlZC1jYXB0dXJlLWNhcHMKCSAgKiBhdWRpby1jYXB0dXJlLWNhcHMKCjIwMTEtMDEtMjAgMDk6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBhdWRpbyBzdXBwb3J0IGZvciB2aWRlbyByZWNvcmRpbmdzCgkgIEFkZHMgYW4gYXVkaW8gc291cmNlIGFuZCBhdWRpbyBjYXBzZmlsdGVyL3F1ZXVlL2NvbnZlcnQsIGNyZWF0aW5nCgkgIGEgbmV3IGJyYW5jaCBvbiBjYW1lcmFiaW4yIHRoYXQgaXMgdXNlZCB0byBmZWVkIGVuY29kZWJpbiB3aXRoCgkgIGF1ZGlvIGJ1ZmZlcnMgZm9yIHZpZGVvIHJlY29yZGluZy4KCjIwMTEtMDItMjggMTU6NDM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgbG9nZ2luZyBmb3Igc3RvcC1jYXB0dXJlIHNpZ25hbAoKMjAxMS0wMi0yNCAxODoyODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB2aWV3ZmluZGVyIGNhcHMgcmVsYXRlZCBwcm9wZXJ0aWVzCgkgIEFkZHMgcHJvcGVydGllcyB0byBjaGVjayB3aGF0IGNhcHMgYXJlIHN1cHBvcnRlZCBvbiB0aGUKCSAgdmlld2ZpbmRlciAoZnJvbSB0aGUgY2FtZXJhc3JjIHZpZXdmaW5kZXIgcGFkKSBhbmQgYW5vdGhlcgoJICBvbmUgdG8gc2V0IGEgY2FwcyBmb3IgdGhlIHZpZXdmaW5kZXIuCgoyMDExLTAyLTI0IDE3OjQyOjIxIC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGFkZCB2aXJ0dWFsIGZ1bmN0aW9uIHRvIG5vdGlmeSBzdWJjbGFzcyBvZiBjaGFuZ2luZyBwcmV2aWV3IGNhcHMKCSAgQWRkcyBhIHZpcnR1YWwgZnVuY3Rpb24gdG8gYmFzZWNhbWVyYXNyYyBpbiBjYXNlIHN1YmNsYXNzZXMgd2FudCB0byBiZQoJICBub3RpZmllZCBvZiBjaGFuZ2luZyBwcmV2aWV3IGNhcHMuIFRoaXMgaXMgdXNlZnVsIGlmIHRoZSBzdWJjbGFzcyB3YW50cwoJICB0byBwb3N0IHRoZSBwcmV2aWV3IGl0c2VsZiBvciBpZiBpdCB3YW50cyB0byBwcm92aWRlIGEgcHJldmlldyBidWZmZXIKCSAgYXMgY2xvc2UgdG8gYXMgcG9zc2libGUgdG8gdGhlIHVzZXIncyByZXF1ZXN0ZWQgcmVzb2x1dGlvbiB0byB0aGUKCSAgcHJldmlldyBnZW5lcmF0aW9uIHBpcGVsaW5lLgoKMjAxMS0wMi0yMiAxMzoxMDoxNSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgb3B0aW9uIGZvciBzZXR0aW5nIHRoZSB3cmFwcGVyIGNhbWVyYSBzb3VyY2UKCjIwMTEtMDItMjEgMTc6MDQ6MDYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIGVuY29kaW5nIHByb2ZpbGUgbG9hZGluZwoKMjAxMS0wMi0xNyAxNDo1MToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBuZXdzZWdtZW50IHB1c2hpbmcKCSAgU2VuZCB1cGRhdGUgbmV3c2VnbWVudHMgaW5zdGVhZCBvZiBub24tdXBkYXRlIG9uZXMKCSAgZm9yIHRoZSB2aWRlbyBicmFuY2ggd2hlbiBzdGFydGluZyByZWNvcmRpbmdzCgoyMDExLTAyLTE1IDE0OjU5OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHNvbWUgcXVldWUncyBwcm9wZXJ0aWVzCgkgIFNldHMgdmlld2ZpbmRlciBxdWV1ZSB0byBsZWFreSBhbmQgdGVsbCBpbWFnZSBicmFuY2gKCSAgcXVldWUgdG8gZG9uJ3QgY2FyZSBhYm91dCBkdXJhdGlvbnMKCjIwMTEtMDItMTAgMTE6NTA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWFkeSBpcyBlbm91Z2ggZm9yIGZvcmNpbmcgYSBjYXBzIGNoYW5nZQoKMjAxMS0wMi0wOSAxOToxNDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IENoZWNrIGZvciBkb3duc3RyZWFtIGNhcHMgb24gZmlyc3QgY2FwdHVyZXMKCSAgVXNlIHZpZGVvX3JlbmVnb3RpYXRlIGFuZCBpbWFnZV9yZW5lZ290aWF0ZSBib29sZWFucyB0byBtYWtlCgkgIHRoZSB2aWRlb3NyYyBuZWdvdGlhdGUgdGhlIGNhcHR1cmUgY2FwcyBvbiB0aGUgZmlyc3QgY2FwdHVyZSBiZWNhdXNlCgkgIHRoZSBjYXBzIG1pZ2h0IGJlIHNldCBiZWZvcmUgd3JhcHBlcmNhbWVyYWJpbnNyYyBnb2VzIGludG8gUExBWUlORwoJICBhbmQgcGFkcyBkcm9wIHRoZSBpbnRlcm5hbCByZW5lZ290aWF0ZSBldmVudC4KCSAgVGhpcyBpcyByZXF1aXJlZCBhcyB0aGUgb3V0cHV0LXNlbGVjdG9yIGlzIHVzaW5nIHRoZSAnbm9uZScgbmVnb3RpYXRpb24KCSAgbW9kZS4KCjIwMTEtMDItMDkgMTk6MDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBdm9pZCBmaXhhdGluZyBjYXB0dXJlIGNhcHMKCSAgV2hlbiBzZXR0aW5nIHRoZSBpbnRlcm5hbCBjYXBzZmlsdGVyIGNhcHMgZm9yIGNhcHR1cmUgd2Ugc2hvdWxkIHB1dAoJICB0aGUgZnVsbCBjYXBzIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGZpeGF0ZSBpdCBvdXJzZWx2ZXMuIFRoaXMgd2F5IHdlIGxldAoJICB0aGUgZWxlbWVudHMgKGFuZCBtb3N0bHkgdGhlIHNvdXJjZSkgc2VsZWN0IHRoZSBiZXN0IGZvcm1hdCBpbnN0ZWFkCgkgIG9mIGRlZmF1bHRpbmcgdG8gd2hhdCB0aGUgcGFkIGZpeGF0aW9uIGZ1bmN0aW9uIHBpY2tzLgoKMjAxMS0wMi0wOSAwODoyNzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFsbG93IGZyZWUgaW1hZ2UgZGltZW5zaW9ucwoJICBDaGFuZ2VzIHRoZSBkZWZhdWx0IHdpZHRoL2hlaWdodCBvZiBjYXB0dXJlcyBzbyB0aGF0IGl0IHdpbGwKCSAgYmUgYXV0b3BpY2tlZCBieSBjYW1lcmFiaW4yIGluc3RlYWQgb2YgaGFyZGNvZGluZyBhbiBvcHRpb24KCjIwMTEtMDItMDkgMDg6MTU6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBCYWNrcG9ydCBmaXggZnJvbSBjYW1lcmFiaW4gZXhhbXBsZQoJICBXZSBzaG91bGQgb25seSBjaGVjayBpZiB0aGUgeHdpbmRvdyBzaG91bGQgYmUgY3JlYXRlZCBpZiB3ZSBhbHJlYWR5CgkgIHBhcnNlZCB0aGUgYXJndW1lbnRzIG9mIHRoZSBwcm9ncmFtCgoyMDExLTAyLTA0IDE0OjUzOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogTW92aW5nIHByZXZpZXcgaW1hZ2UgcHJvcGVydGllcyB0byBiYXNlY2FtZXJhc3JjCgkgIE1vdmVzIHByZXZpZXcgaW1hZ2UgcmVsYXRlZCBwcm9wZXJ0aWVzIHRvIGJhc2VjYW1lcmFzcmMgYXMgdGhhdAoJICBzaG91bGQgYmUgcHJlc2VudCBvbiBhbGwgY2FtZXJhc3JjcwoKMjAxMS0wMi0wOCAxNTo1MTo0MiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBGaXggZ2V0dGluZyBlbGVtZW50IGltcGxlbWVudGluZyBwaG90b2dyYXBoeSBpZmFjZQoKMjAxMS0wMi0wMyAxMjowMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgcHJldmlldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGJhc2VjYW1lcmFiaW5zcmMKCSAgTW92ZSBwcmV2aWV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYmFzZWFjYW1lcmFiaW5zcmMgc28gdGhleSBjYW4KCSAgYmUgcmV1c2VkIGJ5IG11bHRpcGxlIGNhbWVyYWJpbjIgc291cmNlcy4KCjIwMTEtMDItMDMgMTY6NTg6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCBnc3QtY2FtZXJhYmluMi10ZXN0CgkgIEFkZHMgZ3N0LWNhbWVyYWJpbjItdGVzdCBleGFtcGxlIGFwcGxpY2F0aW9uLCBzaW1pbGFyIHRvCgkgIGdzdC1jYW1lcmFiaW4tdGVzdCBmb3IgY2FtZXJhYmluLgoJICBJdCBpcyB1c2VmdWwgZm9yIHRha2luZyBwaWN0dXJlcyBhbmQgcmVjb3JkaW5nIHZpZGVvcyB1c2luZwoJICBjYW1lcmFiaW4yIGFuZCBwcm92aWRpbmcgYXJndW1lbnRzIGZvciBtb3N0IG9mIGNhbWVyYWJpbjIKCSAgcHJvcGVydGllcwoKMjAxMS0wMi0wNCAxMjozNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB2aWV3ZmluZGVyLXNpbmsgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldCB0aGUgdmlld2ZpbmRlcidzIHNpbmsgb2YgY2FtZXJhYmluMgoKMjAxMS0wMy0wOSAxMzoxOTo1MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogZml4IGRvdWJsZSBmcmVlKCkgY3Jhc2hlcwoKMjAxMS0wMy0wOCAxNzoyOToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDggMTc6MDM6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIG1ldGE6IHVwZGF0ZSBmb3IgbmV3IEFQSQoKMjAxMS0wMy0wOCAxMToxOTo0MSArMDAwMCAgQnllb25nLXJ5ZW9sIEtpbSA8YnJvZmtpbXNAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9maWx0ZXJzOiBsaW5rIHRvIGxpYm0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NDE3NgoKMjAxMS0wMy0wNyAyMjo0MTozMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiB1cGRhdGUgdXJsIGZvciBwb3J0LWdyb3VwcyBleHRlbnNpb24KCjIwMTEtMDMtMDcgMTA6MzY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBUaGUgcGtnLWNvbmZpZyBmaWxlIGluIHZlcnNpb24gMS41IGlzIGNhbGxlZCBzb3VuZHRvdWNoCgoyMDExLTAyLTI2IDE2OjIwOjUyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHplYnJhc3RyaXBlOiBOZXcgZWxlbWVudAoJICBBZGRzIHplYnJhIHN0cmlwZXMgdG8gb3ZlcmV4cG9zZWQgdmlkZW8uCgoyMDExLTAzLTA0IDE3OjM3OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZXh0OiBBbHdheXMgZGlzdCB0aGUgY3VybCBkaXJlY3RvcnkKCSAgRXZlbnQgaWYgd2UgY2FuJ3QgYnVpbGQgaXQuIEZpeGVzIG1ha2UgZGlzdAoKMjAxMS0wMy0wNCAxNzoyNjo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICBzZnNpbms6IHVzZSBiYXNlc2luayBwcmVyb2xsIGxvY2sKCjIwMTEtMDMtMDQgMTM6Mzk6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBkaXNhYmxlIHVudGlsIHNvbWVvbmUgcG9ydHMgaXQKCjIwMTEtMDMtMDQgMTM6Mjk6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA0IDEyOjExOjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCSAgTWFrZXMgbWFjb3N4IGNvbXBpbGVyIGhhcHB5CgoyMDExLTAzLTA0IDEyOjEwOjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmxzaW5rOiBGaXggcHJpbnQtcmVsYXRlZCBpc3N1ZXMKCjIwMTEtMDMtMDQgMTE6NTk6NDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCSAgTWFrZXMgbWFjb3N4IGNvbXBpbGVyIGhhcHB5LgoKMjAxMS0wMy0wNCAwOToyNTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkgIGZpZWxkYW5hbHlzaXM6IGFkZCBiYWNrdXAgZmlsZXMgZm9yIGNvbXBpbGluZyB3aXRob3V0IG9yYwoKMjAxMS0wMy0wMyAwMDo1NzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IGFsbG9jYXRlIEgyNjNQYXJhbXMgc3RydWN0IG9uIHRoZSBzdGFjawoJICBJdCdzIGZsYXQgYW5kIG5vdCBrZXB0IGFyb3VuZCBmb3IgbG9uZ2VyLgoKMjAxMS0wMy0wMyAwMDo0NToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IG1pbm9yIGNsZWFuLXVwcwoJICBjb25zdC1pZnkgc29tZSBhcmd1bWVudHMgYW5kIHJlLWluZGVudCBoZWFkZXIgYSBsaXR0bGUuCgoyMDExLTAyLTI4IDExOjUxOjU0ICswMTAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IGZpeCBzeW5jIHByb3BlcnR5IGRlZmF1bHQgdmFsdWUKCjIwMTEtMDMtMDIgMjM6NDM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogRml4IGNvbXBpbGF0aW9uIHdpdGggY2VsdCA+PSAwLjExLjAKCSAgRml4ZXMgYnVnICM2NDM2MDcuCgoyMDEwLTA5LTE1IDE3OjMyOjA5ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy5vcmM6CgkgIGZpZWxkYW5hbHlzaXM6IEFkZCBmaWVsZGFuYWx5c2lzIGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGFuYWx5c2VzIHZpZGVvIGJ1ZmZlcnMgdG8gaWRlbnRpZnkgaWYgdGhleSBhcmUgcHJvZ3Jlc3NpdmUsCgkgIGludGVybGFjZWQgb3IgdGVsZWNpbmVkIGFuZCBvdXRwdXRzIGJ1ZmZlcnMgd2l0aCBhcHByb3ByaWF0ZSBmbGFncyBmb3IgYQoJICBkb3duc3RyZWFtIGVsZW1lbnQgKHdoaWNoIHdpbGwgYmUgdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQsIGFmdGVyIHNvbWUKCSAgZm9ydGhjb21pbmcgbW9kaWZpY2F0aW9ucykgdG8gYmUgYWJsZSB0byBvdXRwdXQgcHJvZ3Jlc3NpdmUgZnJhbWVzIGFuZAoJICBhZGp1c3QgdGltZXN0YW1wcyByZXN1bHRpbmcgaW4gYSBwcm9ncmVzc2l2ZSBzdHJlYW0uCgoyMDExLTAzLTAxIDExOjIzOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciByZWNlbnQgY2hhbmdlcyBpbiBnaXQKCjIwMTEtMDMtMDEgMTE6MTY6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGRvY3M6IGFkZCBuZXcgY3VybCBwbHVnaW4gYW5kIGN1cmxzaW5rIGVsZW1lbnQgdG8gZG9jcwoKMjAxMS0wMy0wMSAxMDo0OTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBjaGVjayBmb3IgcGxhdGZvcm0gc29ja2V0IGhlYWRlcnMgbmVlZGVkIGJ5IGN1cmxzaW5rIGVsZW1lbnQKCjIwMTEtMDMtMDEgMTA6MDM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSAgY3VybHNpbms6IG5vIG5lZWQgZm9yIGEgcHJpdmF0ZSBpbnN0YW5jZSBzdHJ1Y3R1cmUKCSAgVGhlIGVudGlyZSBpbnN0YW5jZSBzdHJ1Y3R1cmUgaXMgcHJpdmF0ZSBhbnl3YXkuCgoyMDExLTAzLTAxIDA5OjU2OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkgIGN1cmxzaW5rOiBjbGVhbiB1cCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gY29kZQoJICBGaXggc29tZSB0eXBvcywgdXNlIHNhbWUgc3R5bGUgYXMgaW4gYWxsIG90aGVyIHBsdWdpbnMsIGF2b2lkaW5nCgkgIHVubmVjZXNzYXJ5IHRlbXBvcmFyeSBHUGFyYW1TcGVjIHZhcmlhYmxlczsgdXNlIEdfUEFSQU1fU1BFQ19TVEFUSUNfU1RSSU5HUy4KCjIwMTEtMDItMjYgMjA6MjE6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGN1cmw6IGFkZCBjb25maWd1cmUgY2hlY2sgYW5kIGhvb2sgdXAgdG8gYnVpbGQgc3lzdGVtCgoyMDExLTAyLTI2IDIwOjIwOjMzICswMDAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkgIGN1cmw6IGFkZCBsaWJjdXJsLWJhc2VkIHNpbmsgZWxlbWVudAoJICBTaW5rIGFjdHMgYXMgYSBjbGllbnQgYW5kIGNhbiBjb25uZWN0IHRvIHNlcnZlcnMgdG8KCSAgdXBsb2FkIG1lZGlhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDk2CgoyMDExLTAyLTI1IDE0OjI0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJICBqcDJrZGVjOiBwb3N0IHByb3BlciBlcnJvciB3aGVuIHRoZSBpbWFnZSdzIGNvbG91ciBzcGFjZSBpcyBub3Qgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDMxMTUKCjIwMTEtMDItMjggMjA6MTk6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGN5Z3dpbi9taW5ndzsgZW5hYmxlIHBsdWdpbiBsaW5raW5nIHRvIHN0YXRpYyBsaWIKCSAgVXNlZnVsIGZvciBEaXJlY3RYIHBsdWdpbihzKS4KCSAgRml4ZXMgIzY0MjUwNy4KCjIwMTEtMDItMjggMTk6NTg6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGV4cG9ydCBwbHVnaW4gZGVzY3JpcHRpb24gbW9yZSBwbGF0Zm9ybSBpbmRlcGVuZGVudAoJICBGaXhlcyAjNjQyNTA0LgoKMjAxMS0wMi0yOCAxODozMzoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFkZTdmNmEgdG8gNmFlYzZiOQoKMjAxMS0wMi0yNyAxOTozOTo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIG1ldGE6IGZpeCBmb3IgbmV3IG1ldGFkYXRhIGFwaQoKMjAxMS0wMi0yNiAxNDo1NDo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGY6IGZpeCBjbGFzcyBzdHJ1Y3QKCSAgRml4IGNsYXNzIHBhcmVudCBzdHJ1Y3R1cmUKCSAgTWV0YWRhdGEgaXMgbm93IEdPYmplY3QKCjIwMTEtMDItMjYgMTQ6MjI6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIG1pbmlvYmplY3Q6IHBvcnQgcnNuZHZkCgoyMDExLTAyLTI2IDEzOjM5OjAxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgbWluaW9iamVjdDogcG9ydCB0byBuZXcgMC4xMSBBUEkKCSAgUmVtb3ZlIG1pbmlvYmplY3QgYW5kIGJ1ZmZlciBzdWJjbGFzc2VzdXNpbmcgR09iamVjdCBzdWJjbGFzc2VzIGFuZAoJICBtZXRhZGF0YS4KCjIwMTEtMDItMjggMTI6MDY6MTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29uZmlndXJlLmFjCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wMi0yNiAxMzo1Mzo0NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIFJldmVydCAiYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZTQ5Yjg5ZDVjNWExMjQ0ZmEwZGNiOGJiNDk5NmUzOGZiOWJmZjllNS4KCjIwMTEtMDItMjUgMTk6NTk6MDUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBzZXQgZGl0aGVyaW5nIGVudW0gZGlyZWN0bHkKCjIwMTEtMDItMjUgMTk6NTc6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciByMjEwCgoyMDExLTAyLTIzIDE3OjI1OjAzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGFsbG93IHBhcnNlZCBmcmFtZXMgb24gc2luayBwYWQKCjIwMTEtMDItMjMgMTc6MjQ6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtYWtlX21ldGFkYXRhX3dyaXRhYmxlKCkgZml4CgoyMDExLTAyLTI0IDA5OjI5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IHRlc3RzOiBJbmNyZWFzZSBidXMgd2FpdGluZyB0aW1lb3V0CgkgIERvdWJsZSBidXMgd2FpdGluZyB0aW1lb3V0IGFzIHNvbWV0aW1lcyB0aGUgdGVzdCB3b3VsZCBmYWlsCgkgIGJlY2F1c2UgaXQgd291bGQgdGltZW91dCBhbmQgZ2V0IG5vIG1lc3NhZ2VzIGZyb20gdGhlIGJ1cy4KCjIwMTEtMDItMjEgMTM6MjQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW5hbWUgR1R5cGUgZnJvbSBHc3RBdWRpb0Jhc2VQYXJzZUJhZCB0byBHc3RCYXNlUGFyc2VCYWQKCSAgV2UgdXNlIGl0IGZvciB2aWRlbyBhcyB3ZWxsIG5vdy4KCjIwMTEtMDItMjEgMTI6MTQ6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgUmV2ZXJ0ICJDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZkODc0MDQ3NmNjZDNhMzQ5OGRjNGYxOGMxOTczMzY0MzgyNWM3YjguCgkgIERlcGVuZHMgb24gYSBjb3JlIGNvbW1pdCB0aGF0IHdhcyByZXZlcnRlZAoKMjAxMS0wMi0yMCAyMzo1NzoxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBDaGVjayB0aGF0IGNvbGxlY3RwYWRzIGV4aXN0cyBiZWZvcmUgcmVtb3ZpbmcgcGFkCgkgIFRoZSBjb3JlIG5vdyBjYWxscyByZWxlYXNlIHBhZCBmcm9tIGZpbmFsaXplLCBhdCB3aGljaCBwb2ludAoJICB0aGUgY29sbGVjdHBhZHMgbWlnaHQgaGF2ZSBhbHJlYWR5IGJlZW4gZnJlZWQuCgoyMDExLTAyLTIwIDIzOjAxOjMwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IFlVVi0+UkdCIG1hdHJpeGluZwoKMjAxMS0wMi0yMCAyMjo0Mzo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBkaXRoZXJpbmcKCSAgRGl0aGVyaW5nIG9ubHkgaGFwcGVucyB3aGVuIGEgMTYtYml0LXBlci1jaGFubmVsIGZvcm1hdCBpcwoJICBpbnZvbHZlZC4KCjIwMTEtMDEtMTEgMTA6MzI6NDcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICB4dmlkZGVjOiBib2RnZSB0byBhdm9pZCBjcmFzaGVzCgkgIEl0IHNlZW1zIHh2aWRjb3JlIG92ZXJyZWFkcyBpdHMgaW5wdXQgYnVmZmVyLCBzbyBhIG5hc3R5IHdvcmthcm91bmQKCSAgaXMgdG8gYWxsb2NhdGUgc29tZSBtb3JlIG1lbW9yeSAoMTYgYnl0ZXMgc2VlbSB0byBiZSBlbm91Z2gpLgoJICBUaGVyZSBpcyBubyBhcHBhcmVudCBpbWFnZSBjb3JydXB0aW9uIHdpdGggdGhlc2UgZXh0cmEgYnl0ZXMgc2V0IHRvIDAsCgkgIHZhbGdyaW5kIGlzIG11Y2ggaGFwcGllciwgYW5kIHRoZSBjcmFzaGVzIGdvIGF3YXkuCgkgIEl0IGlzIHVnbHksIGFuZCBzbG93ZXIgdGhvdWdoLiBCdXQgdGhlbiwgeHZpZGRlYyBpcyBjdXJyZW50bHkKCSAgbm90IGF1dG9wbHVnZ2VkIGZvciBwbGF5YmFjayBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzQxMDcKCjIwMTEtMDItMjAgMTQ6MTQ6MjcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBmaXggYSBmZXcgZm9ybWF0cwoKMjAxMS0wMi0xOSAxMzoxMjo0MSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCAxNi1iaXQtcGVyLWNoYW5uZWwgaGFuZGxpbmcKCjIwMTEtMDItMTkgMTM6MTM6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggbWVtbGVhawoKMjAxMS0wMi0xOSAxMzowNzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSAgYmFzZXZpZGVvY29kZWM6IHJlbW92ZSBwYXJzZXIgaW4gZmF2b3Igb2YgYmFzZXBhcnNlCgoyMDExLTAyLTE4IDE1OjI0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGNoYW5nZSBwbHVnaW4gZmlsZW5hbWUgZnJvbSBsaWJnc3RoMjYzcGFyc2UqIHRvIGxpYmdzdHZpZGVvcGFyc2Vyc2JhZCoKCSAgRHVlIHRvIGEgcmVnaXN0cnkgYnVnIHlvdSBtYXkgbmVlZCB0byBtYW51YWxseSByZW1vdmUgeW91cgoJICByZWdpc3RyeSBmaWxlIHRvIG1ha2UgdGhlIG5ldyBwbHVnaW4gYXBwZWFyIHdpdGggPjAgZmVhdHVyZXMuCgoyMDExLTAyLTE4IDE1OjE3OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBsb2cgbWVzc2FnZSBwcmludGYgZm9ybWF0CgoyMDExLTAyLTE4IDE1OjA1OjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHRyaW0gdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAxMS0wMi0xOCAxNTowNTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGVsdGEtdW5pdCBmbGFncyBpbnN0ZWFkIG9mIG5vbmUKCjIwMTEtMDItMTggMTU6MDA6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJICBpbmRleGluZy1leGFtcGxlOiB1c2UgcHJvcGVyIHNpZ25hbCBuYW1lcwoKMjAxMS0wMi0xOCAwOTo0MDowMCArMDEwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogYWxsb3cgbmVnYXRpdmUgdmFsdWVzIGZvciB4L3kvd2lkdGgvaGVpZ2h0CgoyMDExLTAyLTE4IDEyOjM5OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IGJ1aWxkCgkgIEFkZCBpbmNsdWRlcyBhbmQgbGluayBhZ2FpbnN0IG5ldyBsaWJnc3RiYXNlcGFyc2UgaW4gdGhlCgkgIGJ1aWxkIHRyZWUuCgoyMDExLTAyLTE3IDE0OjMyOjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzZGVtdXg6IEZpeCBkaXN0aW5nIG9mIGhlYWRlcnMKCjIwMTEtMDItMTcgMTM6MjI6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1cGRhdGUgZG9jdW1lbnRhdGlvbiBmb3IgQVBJIGNoYW5nZXMKCjIwMTAtMTAtMTMgMTY6MTI6MDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGJhc2VwYXJzZSB0ZXN0CgoyMDEwLTEwLTA5IDE1OjA4OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogQWRkIGRpcmFjIHBhcnNlcgoKMjAxMS0wMi0xNyAxMzoyMDo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogZG8gdGVzdCBidWlsZCB3aXRoIC1mUElDCgoyMDEwLTEwLTA5IDE1OjA2OjEyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VwYXJzZToKCSAgZWxlbWVudC1tYWtlcjogQWRkIGJhc2VwYXJzZSB0ZW1wbGF0ZQoKMjAxMC0xMC0xMyAxNTozOTo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGJhc2VwYXJzZTogQ3JlYXRlIGJhc2VwYXJzZSBsaWJyYXJ5CgoyMDExLTAyLTE2IDIxOjE3OjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3ViZGVjOiBtYWtlIHVwIGNsdXQgdmFsdWVzIGlmIHRoZXkgd2VyZW4ndCBzZXQKCjIwMTAtMTItMDQgMTk6NTU6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcmVsZWFzZV9wYWQKCSAgUmVtb3ZlIGJvZ3VzIGZyZWVpbmcgb2YgcGFkIGVsZW1lbnRfcHJpdmF0ZSBkYXRhIHRoYXQgd2UKCSAgbmV2ZXIgc2V0IChjb2xsZWN0cGFkcyB1c2VzIGl0LCB3aGljaCBjYXVzZXMgY29uZnVzaW9uIGhlcmUpLgoJICBBbHNvLCBjaGVjayB0aGF0IG91ciBjb2xsZWN0cGFkcyBpbnN0YW5jZSBleGlzdHMgYmVmb3JlIHVzaW5nCgkgIGl0LiAgUGFydGlhbCBmaXggZm9yICM2MzYwMTEuCgoyMDExLTAyLTE3IDIxOjMzOjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogdXNlIEdfR1VJTlQ2NF9GT1JNQVQgYXMgZm9ybWF0IHNwZWNpZmllciBmb3IgZ3VpbnQ2NAoJICBmaXhlcyBjb21waWxhdGlvbiBvbiAzMmJpdAoKMjAxMS0wMi0xNSAxODoxMjowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBtZW1vcnkgbGVhawoKMjAxMS0wMi0xMCAxMjozNTo0NyArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgbXBlZ3RzZGVtdXg6IHJlbGljZW5zZSBnc3RtcGVnZGVmcy5oLCBnc3RtcGVnZGVzYy5oIGFuZCBnc3RtcGVnZGVzYy5jIHRvIExHUEwgb25seQoJICB3aXRoIHBlcm1pc3Npb24gZnJvbSB0aGUgbGljZW5zZSBoZWFkZXI6CgkgICIiIgoJICBUaGlzIGxpYnJhcnkgaXMgbGljZW5zZWQgdW5kZXIgMiBkaWZmZXJlbnQgbGljZW5zZXMgYW5kIHlvdQoJICBjYW4gY2hvb3NlIHRvIHVzZSBpdCB1bmRlciB0aGUgdGVybXMgb2YgZWl0aGVyIG9uZSBvZiB0aGVtLiBUaGUKCSAgdHdvIGxpY2Vuc2VzIGFyZSB0aGUgTVBMIDEuMSBhbmQgdGhlIExHUEwuCgkgICIiIgoKMjAxMS0wMi0xNiAxNzo1Nzo0MiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogYWRkIE1QRUcgVFMgZGVtdXhlciByZXdyaXRlIGZyb20gRWR3YXJkIEhlcnZleQoJICB3aXRoIGNvbnRyaWJ1dGlvbnMgZnJvbSBNaXF1ZWwgQW5nZWwgRmFycmUgR3VpdSBhbmQgWmFoZWVyIEFiYmFzIE1lcmFsaQoKMjAxMS0wMi0xNyAxNDoxMjo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCjIwMTEtMDItMDcgMTQ6NDY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgkgIEZpeGVzICM2NDEwNDcuCgoyMDExLTAyLTE3IDEyOjI4OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVtb3ZlIGV4dHJhbmVvdXMgYnVmZmVyIHVucmVmCgoyMDExLTAyLTE2IDE1OjI5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgaWNsZXM6IENvbXBsZXRlbHkgcmVtb3ZlIGVxdWFsaXplci10ZXN0IGZyb20gLWJhZCwgaXQncyBpbiAtZ29vZCBub3cKCjIwMTEtMDItMTYgMTU6MjM6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgZXF1YWxpemVyLXRlc3Q6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgYWZ0ZXIgZ3N0X2luaXQoKSB0byBmaXggc2VnZmF1bHQKCjIwMTEtMDItMTQgMTI6NTM6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjk0ZDczOSB0byAxZGU3ZjZhCgoyMDExLTAyLTE0IDEyOjE0OjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSBkdXBsaWNhdGVkIHJ1bGUgZnJvbSBNYWtlZmlsZS5hbQoJICBUaGlzIGNhdXNlcyBhIG1ha2Ugd2FybmluZyBhbmQgbWlnaHQgZXZlbiBjYXVzZSBkaXN0LWZhaWx1cmUuIE90aGVyIG1vZHVsZXMKCSAgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGUgdGFyZ2V0IGVpdGhlciBhbmQgaWYgd2UgY2FuIGZpIGl0IGluCgkgIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrLgoKMjAxMS0wMi0xNCAxMTo0ODozNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgcnN2ZyBwbHVnaW4gdG8gdGhlIGRvY3MKCjIwMTEtMDItMTQgMTE6NDI6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYWRkIGJhc2ljIGRvYy1ibG9iCgoyMDExLTAyLTExIDE3OjU5OjMxICswMTAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmdvdmVybGF5OiBpbXBsZW1lbnQgeC95L3dpZHRoL2hlaWdodCAoYWJzb2x1dGUgYW5kIHJlbGF0aXZlKSBwb3NpdGlvbmluZyBhbmQgZGltZW5zaW9uaW5nCgkgIFNpZ25lZC1vZmYtYnk6IE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKMjAxMS0wMi0xMCAxNjowMDowMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogYXBwbGljYXRpb24gZWxlbWVudCBtZW1vcnkgbGVhayBmaXhlcwoJICBJZiB2aWRlb2Jpbi9pbWFnZWJpbiB3YXMgbmV2ZXIgc2V0IHRvIFJFQURZIHN0YXRlIHRoZSBvd25lcnNoaXAKCSAgb2YgZWxlbWVudHMgY3JlYXRlZCBhbmQgc2V0IGJ5IGFwcGxpY2F0aW9uIHdlcmUgbmV2ZXIgdGFrZW4gYnkKCSAgYmluIGFuZCB0aGVyZWZvcmUgZ3N0X29iamVjdF9zaW5rIGlzIGNhbGxlZCBmb3IgdGhlc2UgZWxlbWVudHMKCSAgYmVmb3JlIHVucmVmZmluZyAodGhleSBtYXkgc3RpbGwgYmUgaW4gZmxvYXRpbmcgc3RhdGUgYW5kIG5vdAoJICB1bnJlZmZlZCBwcm9wZXJseSB3aXRob3V0IHNpbmtpbmcgZmlyc3QpCgoyMDExLTAyLTEwIDEwOjM1OjE4ICswODAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiB1cGRhdGUgdGhlIG5vaXNlX3JlZHVjdGlvbiB0eXBlIGZyb20gZ3VpbnQgdG8gR3N0UGhvdG9ncmFwaHlOb2lzZVJlZHVjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2ODE0CgoyMDExLTAyLTA4IDIzOjM5OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogVXBkYXRlIG1pbi9tYXggYml0cmF0ZSBiZWZvcmUgZmlyc3QgcG9zdGluZyB0aGVtCgkgIFRoaXMgYXZvaWRzIHBvc3RpbmcgYW4gaW5pdGlhbCBtaW4tYml0cmF0ZSBvZiBHX1VJTlRNQVggYW5kIG1heC1iaXRyYXRlCgkgIG9mIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTcKCjIwMTEtMDItMDggMjM6NTA6MTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQb3N0IENCUiBiaXRyYXRlIGFzIG5vbWluYWwgYml0cmF0ZQoJICBFdmVuIGlmIFZCUiBoZWFkZXJzIGFyZSBtaXNzaW5nLCB3ZSBjYW4ndCBndWFyYW50ZWUgdGhhdCBhIHN0cmVhbSBpcyBpbgoJICBmYWN0IGEgQ0JSIHN0cmVhbSwgc28gaXQncyBzYWZlciB0byBsZXQgYmFzZXBhcnNlIGNhbGN1bGF0ZSB0aGUgYXZlcmFnZQoJICBiaXRyYXRlIHJhdGhlciB0aGFuIGFzc3VtZSBhIENCUiBzdHJlYW0uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2UKCSAgL3NvbWUvIG1ldGFkYXRhIGF2YWlsYWJsZSBiZWZvcmUgdGhlIHJlcXVpc2l0ZSBudW1iZXIgb2YgZnJhbWVzIGhhdmUKCSAgYmVlbiBwYXJzZWQsIHRoaXMgcG9zdHMgdGhlIGJpdHJhdGUgZnJvbSB0aGUgbm9uLVZCUiBoZWFkZXJzIGFzIHRoZQoJICBub21pbmFsIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE4NTgKCjIwMTEtMDItMDQgMDE6MDA6NTUgLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBbHdheXMgdGFrZSBwaG90byB3aGVuIHByZXZpZXctY2FwcyBpcyBzZXQKCSAgV2hlbiBmaWxlbmFtZSBpcyBub3Qgc2V0LCBidXQgcHJldmlldy1jYXBzIGlzIHNldCwgdGFrZSB0aGUgcGhvdG8gYW5kCgkgIHNlbmQgaXRzIHByZXZpZXcuCgoyMDExLTAxLTI2IDExOjQ5OjQ4IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBjYW1lcmFiaW46IEV2ZW50cyB3aXRoIHNlbGVjdC1hbGwgaW4gaW5wdXQtc2VsZWN0b3IKCSAgV2hlbiBzZWxlY3QtYWxsIHdhcyBzZXQsIGlucHV0LXNlbGVjdG9yIHdhc24ndCBoYW5kbGluZyB1cHN0cmVhbSBldmVudHMuCgkgIE5vdyBpbnB1dC1zZWxlY3RvciBmb3J3YXJkcyB0aGUgZXZlbnQgdG8gYWxsIG9mIGl0cyBzaW5rIHBhZHMuIFRoaXMKCSAgY2hhbmdlcyB0aGUgaW5wdXQtc2VsZWN0b3IgaW50ZXJuYWwgdG8gY2FtZXJhYmluIHVudGlsIGl0IGlzIHJlcGxhY2VkCgkgIHdpdGggYSBiZXR0ZXIgc29sdXRpb24uCgoyMDExLTAyLTA3IDIzOjE3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBhdm9pZCBhc3BlY3QtcmF0aW8gYm9yZGVycyBvdmVybHlpbmcgb3RoZXIgd2luZG93cwoJICBGaXhlcyAjNjMyMDU2LgoKMjAxMS0wMi0wNyAyMjo0NzozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogYXZvaWQgcmVuZGVyaW5nIHRvIGludmFsaWQgYXJlYQoJICBCYXNlZCBvbiBwYXRjaCBieSBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgkgIEZpeGVzICM1OTQyODAuCgoyMDExLTAyLTA4IDExOjI0OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRG8gbm90IHJlLXNldCB0aGUgY2xvY2sgaWYgaXQgaXMgbnVsbAoJICBBdm9pZHMgbm90IG5lZWRlZCB3b3JrIGFuZCBkb2Vzbid0IGFzc2VydCB3aGVuIHRyeWluZyB0bwoJICB1bnJlZiB0aGUgbnVsbCByZWZlcmVuY2UKCjIwMTEtMDItMDcgMDk6NTA6MjIgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogZml4IC0tbm8teHdpbmRvdyBvcHRpb24gaGFuZGxpbmcgaW4gZ3N0LWNhbWVyYWJpbi10ZXN0CgkgIC0tbm8td2luZG93IGZsYWcgaXMgZmFsc2UgYnkgZGVmYXVsdCBhbmQgc2VsZWN0aW9uIGJhc2VkIG9uIHRoZSBvcHRpb24gd2hldGhlcgoJICB0byBjcmVhdGUgWFdpbmRvdyBpcyBkb25lIGJlZm9yZSBvcHRpb25zIGFyZSBwYXJzZWQuIFRoZXJlZm9yZSBYV2luZG93IGlzIG5ldmVyCgkgIGNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE3MTIKCjIwMTAtMDktMDYgMTQ6MTA6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogYSB2YWxpZCBhbXItd2IgZnJhbWUgc2hvdWxkIG5vdCBoYXZlIHJlc2VydmVkIGZyYW1lIHR5cGUgaW5kZXgKCSAgU2VlICM2Mzk3MTUuCgoyMDExLTAyLTA3IDE0OjA1OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBzZXQgR1NUX0xJQl9MREZMQUdTCgkgIEFsaWducyBHU1RfTElCX0xERkxBR1Mgd2l0aCBlLmcuIC1iYXNlIHRvIGFycmFuZ2UgZm9yIHByb3BlciBleHBvcnRzIGluIGxpYnMuCgoyMDExLTAxLTEyIDE3OjEzOjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluLXRlc3RzOiBmaXggbG9va3VwIG9mIFVJIGZpbGVzCgkgIFRoZXNlIGFyZSB1bmluc3RhbGxlZCBleGFtcGxlcy4gUGFzcyAkc3JjZGlyIHRvIGNwcCB0byBidWlsZCB0aGUgY29ycmVjdAoJICBsb2NhdGlvbiBmb3IgdGhlIFVJIGZpbGUuCgoyMDExLTAyLTA0IDA5OjA4OjI2ICswMTAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBkZXNjcmlwdGlvbiBmb3IgYml0cmF0ZSB1bml0cy4KCjIwMTEtMDItMDMgMTU6MjI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRml4IHByb3BlcnR5IHNldHRpbmcKCSAgU2V0IHRoZSBwcm9wZXJ0eSBvbiB0aGUgY2hpbGQgYW5kIG5vdCBvbiBpdHNlbGYgY2F1c2luZyBpbmZpbml0ZQoJICBsb29waW5nCgoyMDExLTAyLTAxIDExOjIwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEltcHJvdmUgcHJldmlldyBjaGVja2luZwoKMjAxMS0wMi0wMSAxMToxOTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IHByZXZpZXcgbWVzc2FnZXMKCSAgSW1hZ2UgcHJldmlld3Mgd2hlcmUgYmVpbmcgcG9zdGVkIGluIHN5bmMgd2l0aCB0aGUgYnVmZmVycwoJICB0aW1lc3RhbXBzLCB0aGlzIG1ha2VzIG5vIHNlbnNlIGFzIHByZXZpZXdzIHNob3VsZCBiZSBwb3N0ZWQgQVNBUC4KCSAgQWxzbyBhZGRzIHNvbWUgZGVidWdnaW5nIG1lc3NhZ2VzLgoKMjAxMS0wMi0wMSAxMToxOToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSGFuZGxlIHNyYyBzdGF0ZSBjaGFuZ2UgdG8gYXZvaWQgbG9zaW5nIHRpbWVzdGFtcHMKCSAgQ2FtZXJhYmluMiB1c2VzIHN0YXRlIGNoYW5nZXMgdG8gZm9yY2UgdGhlIHNvdXJjZSB0byByZW5lZ290aWF0ZSBpdHMKCSAgY2FwcyB0byB0aGUgY2FwdHVyZSBmb3JtYXRzLiBUaGUgc3RhdGUgY2hhbmdlcyBtYWtlcyB0aGUgc291cmNlIGxvc2UKCSAgaXRzIGNsb2NrIGFuZCBiYXNlX3RpbWUsIGNhdXNpbmcgaXQgdG8gc3RvcCB0aW1lc3RhbXBpbmcgdGhlIGJ1ZmZlcnMuCgkgIFdlIHN0aWxsIG5lZWQgYSBwcm9wZXIgd2F5IHRvIG1ha2Ugc291cmNlcyByZW5lZ290aWF0ZSBpdHMgY2Fwcywgc28gdGhpcwoJICBwYXRjaCBpcyBhIGhhY2sgdG8gbWFrZSB0aGUgc291cmNlIGNvbnRpbnVlIHRpbWVzdGFtcGluZyBidWZmZXJzIGV2ZW4KCSAgYWZ0ZXIgY2hhbmdpbmcgc3RhdGUuIFRoZSBwYXRjaCB3b3JrcyBieSBnZXR0aW5nIHRoZSBjbG9jayBhbmQgYmFzZQoJICB0aW1lIGJlZm9yZSBkb2luZyB0aGUgc3RhdGUgY2hhbmdlIHRvIE5VTEwgYW5kIHNldHRpbmcgdGhlbSBiYWNrCgkgIGFmdGVyIHB1dHRpbmcgaXQgdG8gUExBWUlORyBhZ2Fpbi4gSXQgYWxzbyBjYXJlcyB0byBkcm9wIHRoZSBmaXJzdAoJICBuZXcgc2VnbWVudCBhZnRlciB0aGlzIHN0YXRlIGNoYW5nZS4KCjIwMTEtMDEtMjcgMTU6MzU6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcHJldmlldyBmaWx0ZXIgdGVzdHMKCSAgQWRkcyB0ZXN0cyB0byB0aGUgcHJldmlldy1maWx0ZXIgcHJvcGVydHkgb2YgY2FtZXJhYmluMgoKMjAxMS0wMS0yNyAxNDozOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBBZGQgcHJldmlldy1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCBhIGN1c3RvbSBlbGVtZW50IGZvciBwcmV2aWV3IHBpcGVsaW5lCgkgIGJ1ZmZlcnMgcHJvY2Vzc2luZwoKMjAxMS0wMS0yNyAxMDoxOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgdGVzdHMgZm9yIGN1c3RvbSBmaWx0ZXJzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgdGhhdCBjdXN0b20gZmlsdGVycyBlbGVtZW50cyByZWNlaXZlIGJ1ZmZlcnMKCjIwMTEtMDEtMjYgMTU6Mjc6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBjdXN0b20gZmlsdGVyIHByb3BlcnRpZXMKCSAgQWRkcyBjdXN0b20gZmlsdGVyIHByb3BlcnRpZXMgZm9yIGNhbWVyYWJpbjIuIEN1c3RvbSBmaWx0ZXJzCgkgIGNhbiBiZSBhZGRlZCB0byB2aWRlby9pbWFnZS9wcmV2aWV3IGJyYW5jaGVzLgoKMjAxMS0wMi0wMyAxNjoyNDoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBJbml0aWFsaXplIHZhcmlhYmxlcwoJICBNYWtlcyBjb21waWxlcnMgaGFwcHkKCjIwMTEtMDItMDIgMTg6NDE6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdXAgZW51bSBuaWNrIG5hbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTE2NTEKCjIwMTEtMDEtMzEgMTc6MjQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJICBkY2NwOiB1c2Ugc29ja2xlbl90IHdoZXJlIGFwcHJvcHJpYXRlIHJhdGhlciB0aGFuIHNwZWNpZmljIHR5cGUKCSAgSW4gcGFydGljdWxhciwgZml4ZXMgQ3lnd2luIGJ1aWxkIHdoZXJlIHNvY2tsZW5fdCBpcyBkZWZpbmVkIGFzIGludAoJICBpbiBsaW5lIHdpdGggbmF0aXZlIHdpbjMyIGFwaSBkZWZpbml0aW9uLgoKMjAxMS0wMi0wMSAyMDowMToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IGFsc28gbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UtMC4xMCBmb3IgYWRhcHRlciBhbmQgYml0IHJlYWRlciBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTE3OAoKMjAxMS0wMi0wMSAxNDo0MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogbWFwIG5ldyBHU1RfVEFHX0VOQ09ERURfQlkgdG8gSUQzdjIgVEVOQyBmcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjY4CgoyMDExLTAxLTMxIDE3OjQ1OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZGlzdCBoMjY0cGFyc2UuaCwgZml4aW5nIG1ha2UgZGlzdGNoZWNrCgkgIFNwb3R0ZWQgYnkgTmF0aGFuYWVsIEQuIE5vYmxldAoKMjAxMS0wMS0xNCAxMDoxOToyOCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IG9wdGltaXplIHNldHRpbmcgbmV3IGNhcHMgZm9yIHByZXZpZXcgaW1hZ2UgcGlwZWxpbmUKCSAgQXZvaWQgcmUtY3JlYXRpbmcgYW5kIGxpbmtpbmcgb2YgcHJldmlldyBpbWFnZSBwaXBlbGluZSB3aGVuCgkgIHNldHRpbmcgbmV3IHByZXZpZXcgaW1hZ2UgY2Fwcy4gQmFja3BvcnRlZCBmcm9tIGNhbWVyYWJpbjIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1MDIKCjIwMTEtMDEtMzAgMTc6MDg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBmaXggTElCUyBhbmQgQ0ZMQUdTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTIzIDE3OjAyOjM4ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkgIHJ0cHZwOGRlcGF5OiBBY2NlcHQgcGFja2V0cyB3aXRoIG9ubHkgb25lIGJ5dGUgb2YgZGF0YQoJICBXaGVuIGZyYWdtZW50aW5nIHBhcnRpb25zIGl0IGNhbiBoYXBwZW4gdGhhdCBhbiBSVFAgcGFja2V0IG9ubHkgY2FyaWVzIDEKCSAgYnl0ZSBvZiBSVFAgZGF0YS4KCjIwMTEtMDEtMjMgMTY6NDI6MTcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwOHBheTogVHJlYXQgdGhlIGZyYW1lIGhlYWRlciBqdXN0IGxpa2UgYW55IG90aGVyIHBhcnRpdGlvbgoJICBXaGVuIHNldHRpbmcgdXAgdGhlIGluaXRpYWwgbWFwcGluZyBqdXN0IGFjdCBhcyBpZiB0aGUgZ2xvYmFsIGZyYW1lCgkgIGluZm9ybWF0aW9uIGlzIGFub3RoZXIgcGFydGl0aW9uLiBUaGlzIHNhdmVzIHNwZWNpYWwtY2FzaW5nIGl0IGxhdGVyIGluCgkgIHRoZSBhY3R1YWwgcGFja2V0aXppbmcgY29kZS4KCjIwMTAtMDUtMTYgMTc6MjM6MTcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5Lmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogQWRkIHNpbXBsZSBwYXlsb2FkZXJzIGFuZCBkZXBheWxvYWRlcnMgZm9yIFZQOAoJICBNaW5pbWFsIGltcGxlbWVudGF0aW9uIG9mIGh0dHA6Ly93d3cud2VibXByb2plY3Qub3JnL2NvZGUvc3BlY3MvcnRwLywKCSAgdmVyc2lvbiAwLjMuMgoKMjAxMS0wMS0yOCAxMjozODoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IGFkZCBoMjY0cGFyc2UKCSAgRnVuY3Rpb25hbGx5IGVxdWl2YWxlbnQgdG8gKGxlZ2FjeSloMjY0cGFyc2UgYW5kIHJlLXVzZXMgdGhlIGxhdHRlcidzIGxvdwoJICBsZXZlbCBOQUwgcGFyc2luZywgYnV0IG90aGVyd2lzZSBiYXNlZCBvbiBHc3RCYXNlUGFyc2UsIGFuZCByZXBsYWNpbmcKCSAgc29tZSBwcm9wZXJ0eSBjb25maWd1cmF0aW9uIHdpdGggY2FwcyBuZWdvdGlhdGlvbi4KCjIwMTEtMDEtMjcgMTg6MjA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW5hbWUgdG8gbGVnYWN5aDI2NHBhcnNlCgoyMDExLTAxLTI3IDE4OjE2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgaDI2M3BhcnNlOiBtb3ZlIHRvIHZpZGVvcGFyc2VycyBhbmQgc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbgoKMjAxMS0wMS0yNyAxODowMzo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHVwZGF0ZSB0byBsYXRlc3QgYmFzZXBhcnNlCgoyMDExLTAxLTA2IDEyOjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogc2h1ZmZsZSBjb2RlIHRvIHVudGFuZ2xlIGgyNjNwYXJzZSBhbmQgcGFyYW1ldGVyIHBhcnNpbmcKCjIwMTEtMDEtMDYgMTI6MzQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBwcm92aWRlIGZvciBwcm9wZXIgZGVidWcgY2F0ZWdvcnksIG1pbiBmcmFtZSBzaXplIGFuZCBjb2RlIHN0eWxlCgoyMDEwLTEyLTEwIDE2OjQwOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBnZXRfY2FwcwoJICAuLiBhcyBzcmMgcGFkIGFscmVhZHkgc2V0IHRvIHVzZSBmaXhlZF9jYXBzCgoyMDEwLTEyLTEwIDE2OjI2OjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogc2ltcGxpZnkgdmFsaWRfZnJhbWUgcGFyc2luZwoJICAuLi4gY29uc2lkZXJpbmcgdGhhdCBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBza2lwcGluZyBldGMKCjIwMTAtMDUtMTQgMDI6MDg6MDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEFkZCBhbiBoMjYzcGFyc2UgZWxlbWVudAoJICBUaGlzIGFkZHMgYW4gaDI2M3BhcnNlIGVsZW1lbnQgZm9yIHBhcnNpbmcgSC4yNjMgc3RyZWFtcywgYnJlYWtpbmcgdGhlbQoJICB1cCBpbnRvIGZyYW1lLXNpemVkIGJ1ZmZlcnMsIGFuZCBleHBvcnRpbmcgbWV0YWRhdGEgc3VjaCBhcyBwcm9maWxlIGFuZAoJICBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMS0wMS0yNyAxNjo1MjozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIGhhbmRsaW5nIG9mIGRlcGVuZGVudCBzdWJzdHJlYW0gZnJhbWVzCgkgIEluIHBhcnRpY3VsYXIsIHRpbWVzdGFtcHMgb2YgdGhlc2Ugc2hvdWxkIHRyYWNrIG1haW4tc3RyZWFtIHRpbWVzdGFtcHMuCgoyMDExLTAxLTIxIDE0OjUzOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBkZWZhdWx0IGR1cmF0aW9uIGVzdGltYXRlIHVwZGF0ZSBpbnRlcnZhbAoJICBSYXRoZXIgdGhhbiBhIGZpeGVkIGRlZmF1bHQgZnJhbWUgY291bnQsIGVzdGltYXRlIGZyYW1lIGNvdW50IHRvIGFpbSBmb3IKCSAgYW4gaW50ZXJ2YWwgZHVyYXRpb24gZGVwZW5kaW5nIG9uIGZwcyBpZiBhdmFpbGFibGUsIG90aGVyd2lzZSB1c2Ugb2xkCgkgIGZpeGVkIGRlZmF1bHQuCgoyMDExLTAxLTE0IDE1OjE2OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJzZSBwbGF5YmFjazsgbWluZCBrZXlmcmFtZXMgZm9yIGZyYWdtZW50IGJvdW5kYXJ5CgoyMDExLTAxLTEzIDE1OjI2OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IHByb3Blcmx5IGNoZWNrIGZvciBzdWZmaWNpZW50IGF2YWlsYWJsZSBkYXRhIHByaW9yIHRvIGFjY2VzcwoKMjAxMS0wMS0xMiAxNDo0MDozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuc3VyZSBub24tZW1wdHkgY2FuZGlkYXRlIGZyYW1lcwoKMjAxMS0wMS0xMSAxNToyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNsYXJpZnkgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDExLTAxLTExIDE1OjI0OjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVybHkgdHJhY2sgdXBzdHJlYW0gdGltZXN0YW1wcwoJICAuLi4gcmF0aGVyIHRoYW4gd2l0aCBhIGRlbGF5LgoKMjAxMS0wMS0xMSAxNToyMzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5lZWQgcHJvcGVyIGZyYW1lIGR1cmF0aW9uIHRvIG9idGFpbiBzZW5zaWJsZSBmcmFtZSBiaXRyYXRlCgoyMDExLTAxLTExIDE1OjIyOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGluaXRpYWwgdmFsdWVzIGZvciBpbmRleCB0cmFja2luZyB2YXJpYWJsZXMKCjIwMTEtMDEtMTEgMTI6MDU6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhcnJhbmdlIGZvciBjb25zaXN0ZW50IGV2ZW50IGhhbmRsaW5nCgoyMDExLTAxLTEwIDE2OjU5OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogaGVhZGVyIHN0eWxlIGNsZWFuaW5nCgoyMDExLTAxLTEwIDE3OjA3OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBzb21lIG1vcmUgaW5pdGlhbCBmcmFtZSBtZXRhZGF0YSBpbiBwYXJzZV9mcmFtZQoJICAuLi4gYW5kIGRvY3VtZW50IGFjY29yZGluZ2x5LgoKMjAxMS0wMS0xMCAxNjo1NjozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3IgcGFzc3Rocm91Z2ggaW50byBmb3JtYXQgZmxhZ3MKCSAgQWxzbyBhZGQgYSBmb3JtYXQgZmxhZyB0byBzaWduYWwgYmFzZXBhcnNlIHRoYXQgc3ViY2xhc3MvZm9ybWF0IGNhbiBwcm92aWRlCgkgIChwYXJzZWQpIHRpbWVzdGFtcCByYXRoZXIgdGhhbiBhbiBlc3RpbWF0ZWQgb25lLiAgSW4gcGFydGljdWxhciwgc3VjaCAic3Ryb25nIgoJICB0aW1lc3RhbXAgdGhlbiBhbGxvd3MgdG8gZS5nLiBkZXRlcm1pbmUgZHVyYXRpb24uCgoyMDExLTAxLTEwIDE1OjM0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBiYXNlcGFyc2U6IGludHJvZHVjZSBhIGJhc2VwYXJzZSBmcmFtZSB0byBzZXJ2ZSBhcyBjb250ZXh0CgkgIC4uLiBhbmQgYWRqdXN0IHN1YmNsYXNzIHBhcnNlcnMgYWNjb3JkaW5nbHkKCjIwMTEtMDEtMDcgMTY6Mzk6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZXN0cmljdCBkdXJhdGlvbiBzY2FubmluZyB0byBwdWxsIG1vZGUgYW5kIGF2b2lkIGV4dHJhIHNldF9jYXBzIGNhbGwKCjIwMTEtMDEtMDcgMTU6NTg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1cGRhdGUgc29tZSBkb2N1bWVudGF0aW9uCgkgIEFsc28gYWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCjIwMTEtMDEtMDYgMTE6NDE6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhbGxvdyBpbmNyZWFzaW5nIG1pbl9zaXplIGZvciBjdXJyZW50IGZyYW1lIHBhcnNpbmcgb25seQoJICBBbHNvIGNoZWNrIHRoYXQgc3ViY2xhc3MgYWN0dWFsbHkgZWl0aGVyIGRpcmVjdHMgdG8gc2tpcCBieXRlcyBvcgoJICBpbmNyZWFzZXMgZXhwZWN0ZWQgZnJhbWUgc2l6ZSB0byBhdm9pZCBnb2luZyBub3doZXJlIGluIGJvZ3VzCgkgIGluZGVmaW5pdGUgbG9vcGluZy4KCjIwMTEtMDEtMTQgMTU6MjY6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFlc3BhcnNlOiBmaXggcmVmYWN0b3IgcmVncmVzc2lvbiBpbiBsb29wIGJhc2VkIHBhcnNpbmcKCjIwMTEtMDEtMDYgMTE6MTY6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwYXNzIGFsbCBhdmFpbGFibGUgZGF0YSB0byBzdWJjbGFzcyByYXRoZXIgdGhhbiBtaW5pbXVtCgkgIEFsc28gcmVkdWNlIHNvbWUgYWRhcHRlciBjYWxscyBhbmQgYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEyLTEwIDE1OjU5OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHJldmVyc2UgcGxheWJhY2sgaGFuZGxpbmcKCjIwMTAtMTItMTAgMTQ6NTY6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciB0eXBvIGFuZCBkZWJ1ZyBzdGF0ZW1lbnQgY2xlYW51cAoKMjAxMC0xMi0xMCAxNDo0MDowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlZHVjZSBsb2NraW5nCgkgIC4uLiB3aGljaCBpcyBlaXRoZXIgYWxyZWFkeSBtdXRlIGFuZC9vciBpbXBsaWNpdGx5IGhhbmRsZWQgYnkgU1RSRUFNX0xPQ0suCgoyMDExLTAxLTI3IDE3OjMyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgdG8gbWFrZSBnY2MgNC42IGhhcHB5CgoyMDExLTAxLTI3IDE3OjI5OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgdG8gbWFrZSBnY2MgNC42IGhhcHB5CgoyMDExLTAxLTI2IDE4OjQ1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2RlYywganAya2VuYzogYWRkIHN1cHBvcnQgdjMwOCAoNDo0OjQgWVVWKQoJICBCZWNhdXNlIHdlIGNhbi4KCjIwMTEtMDEtMjYgMTQ6Mjc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogVXNlIHRoZSBjb3JyZWN0IGZvciBsaW1pdAoJICBUaGVyZSBhcmUgMyB0YWdsaXN0cyB0byBiZSB0ZXN0ZWQsIG5vdCAyCgoyMDExLTAxLTI2IDExOjQwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIHNvbWUgc3R1ZmYKCSAgQ2xlYW51cCBwcm9wZXJseSBieSB1bnJlZmluZyB0aGUgZW5jb2RpbmcgcHJvZmlsZSBhbmQgcHJldmlldyBjYXBzCgoyMDExLTAxLTI2IDEwOjU0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBBZGQgbmFtZXMgdG8gc29tZSBlbGVtZW50cwoJICBBZGRzIG5hbWVzIHRvIGluc3RhbmNlcyBvZiBzb21lIGVsZW1lbnRzIHRvIG1ha2UgZGVidWdnaW5nIGVhc2llcgoKMjAxMS0wMS0yNSAxODoxMDoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSB2aWRlb3Npbmsgc3RhdGVzIG1vcmUgY2FyZWZ1bGx5CgkgIFdoZW4gZ29pbmcgdG8gcmVhZHksIGNhbWVyYWJpbjIgY291bGQgY3JlYXRlIGFuIGVtcHR5IGZpbGUKCSAgaWYgdGhlIHZpZGVvc2luayB3YXMgcHV0IHRvIHJlYWR5LiBUaGlzIHBhdGNoIG9ubHkgcHV0cyB2aWRlb3NpbmsKCSAgdG8gcmVhZHkgb24gdGhlIFBBVVNFRF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UgaWYgaXQgaXMgb24gUEFVU0VECgkgIG9yIFBMQVlJTkcuCgoyMDExLTAxLTE0IDE0OjA4OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgbG9vcCBpbiBmcmFtZSBsb2NhdGluZyBpbnRlcnBvbGF0aW9uCgoyMDExLTAxLTI0IDIzOjMyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBEbyBub3Qgc2VnZmF1bHQgb24gdW5leGlzdGVudCBmaWxlcwoJICBXaGVuIHBhc3NpbmcgYW4gdW5leGlzdGVudCBmaWxlIHRvIHJzdmdvdmVybGF5IGl0IHdvdWxkCgkgIGNyYXNoIGJlY2F1c2UgdGhlIHN2ZyBsb2FkaW5nIHdvdWxkIGZhaWwgd2l0aG91dCBzZXR0aW5nCgkgIGFuIGVycm9yLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNoZWNrIGlmIHRoZSBoYW5kbGUgd2FzIGFjdHVhbGx5IGNyZWF0ZWQKCSAgYW5kIGxvZ3MgYW4gZXJyb3IgaW4gY2FzZSBpdCBkaWRuJ3QuIE1heWJlIGl0IHNob3VsZCBwb3N0IGFuCgkgIGVycm9yIHRvIHRoZSBidXMsIGJ1dCB0aGUgcHJldmlvdXMgZXJyb3IgaGFuZGxpbmcgZGlkbid0LCBzbwoJICBJIGp1c3QgZm9sbG93ZWQgdGhlIHNhbWUgbG9naWMuCgoyMDExLTAxLTI0IDE4OjM3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogIGFkZCB0aW1pbmcgcHJpbnRpbmcgZm9yIHByZXZpZXcgaW1hZ2UKCSAgTWVhc3VyZSBhbmQgcHJpbnQgdGhlIHRpbWUgdGFrZW4gdG8gZ2VuZXJhdGUgcHJldmlldyBpbWFnZS4gQW5kCgkgIGZpeCBhIHR5cG8KCjIwMTEtMDEtMjQgMTg6MzY6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgdW51c2VkIG1hY3JvCgoyMDExLTAxLTEyIDE2OjI2OjE5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IERvbid0IHNldCBkZWZhdWx0IHZhbHVlcyBmb3IgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIHNldHRpbmdzCgkgIERvbid0IHNldCBhbnkgZGVmYXVsdCB2YWx1ZXMgZm9yIHNvdXJjZSBlbGVtZW50IEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZQoJICBzZXR0aW5ncywgc291cmNlIGVsZW1lbnRzIHNob3VsZCBoYXZlIHNhbmUgZGVmYXVsdHMgdGhlbXNlbHZlcy4KCSAgQWxzbywgc2V0dGluZyBzY2VuZS1tb2RlIGlzIHRyaWNreSBhcyBpdCBpcyBhIHN1cGVyc2V0IG9mIG90aGVyIEdzdFBob3RvZ3JhcGh5CgkgIHNldHRpbmdzLiBUaGlzIG1pZ2h0IGNhdXNlIHByb2JsZW0gd2l0aCBkZWZhdWx0cyBlLmcuIHNldHRpbmcgc2NlbmUtbW9kZSB0bwoJICAnbmlnaHQnIG1heSBjb25maWd1cmUgZmxhc2gtbW9kZSBhcyAnb24nIGJ5IGRlZmluaXRpb24sIGFuZCBhZnRlciB0aGF0CgkgIHdlIGRvbid0IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyBmbGFzaC1tb2RlIHNldHRpbmcgd2l0aCBnc3QtY2FtZXJhYmluLXRlc3QgZGVmYXVsdAoJICB2YWx1ZS4gTW9yZW92ZXIsIHVzZXIgbmVlZHMgaGF2ZSBhbiBvcHRpb24gdG8gc2V0IHNjZW5lIG1vZGUgZmlyc3QgYW5kIHRoZW4gZm9yY2UKCSAgc29tZSBpbmRpdmlkdWFsIHNldHRpbmcgdG8gYSBkaWZmZXJlbnQgdmFsdWUgZnJvbSB0aGUgc2NlbmUtbW9kZSBkZWZpbml0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5ODQxCgoyMDExLTAxLTI0IDE3OjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQ2hlY2sgdGhlIHN0YXJ0IHRpbWUgb2YgYnVmZmVycwoJICBCZSBjYXJlZnVsIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIG5ld3NlZ21lbnQgZXZlbnQgdG8gYXZvaWQKCSAgc3RhcnQgdGltZXMgb2YgLTEgZnJvbSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDExLTAxLTExIDE1OjUyOjAzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBkb24ndCB3cml0ZSBjbGlwcGVkIGxpbmVzIHRvIHRoZSBvdXRwdXQgYnVmZmVyCgkgIFdlIG1heSBub3QgaW5jcmVtZW50IHRoZSBvdXRwdXQgcG9pbnRlciwgYnV0IGl0J2xsIHN0aWxsIGJlIGp1c3QKCSAgb2ZmIHRoZSBlbmQgb2YgdGhlIGFsbG9jYXRlZCBhcmVhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyODQ3CgoyMDExLTAxLTE5IDE1OjA3OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSBwb3J0aW5nIGZpbGUKCSAgQWRkcyBwb3J0aW5nIGluZm9ybWF0aW9uIGFib3V0IHVzaW5nIGVuY29kZWJpbiBvbiBjYW1lcmFiaW4yCgoyMDExLTAxLTE0IDA4OjEyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBpbWFnZS1kb25lIG1lc3NhZ2UKCSAgUG9zdCBhbiBpbWFnZS1kb25lIG1lc3NhZ2Ugd2hlbiBhIG5ldyBpbWFnZSBpcyBzYXZlZCB0byBkaXNrCgoyMDExLTAxLTExIDE0OjUwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSW1wbGVtZW50IHRhZ3NldHRlciBpbnRlcmZhY2UKCjIwMTEtMDEtMTEgMTA6Mjk6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHByZXZpZXcgaW1hZ2UgdG8gdGVzdHMKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhhdCBwcmV2aWV3IGltYWdlcyBhcmUgcG9zdGVkIHdpdGgKCSAgdGhlIGNvcnJlY3QgY2FwcyBvbiB0ZXN0cwoKMjAxMS0wMS0xMSAwOToxMjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBlbmNvZGluZyBwcm9maWxlCgkgIEFkZHMgYSB2aWRlby1wcm9maWxlIHRvIGFsbG93IHNlbGVjdGluZyB3aGljaCBlbmNvZGluZyBwcm9maWxlCgkgIHRvIHVzZSBmb3IgdmlkZW8gcmVjb3JkaW5ncwoKMjAxMS0wMS0xMSAwODo0NDo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyB2aWRlb3JlY29yZGluZ2JpbgoJICBSZW1vdmluZyB2aWRlb3JlY29yZGluZ2JpbiBhcyB3ZSBub3cgdXNlIGVuY29kZWJpbiBmb3IgaXQKCjIwMTAtMTItMjcgMTE6Mjk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHRvIGVuY29kZWJpbgoKMjAxMS0wMS0xMCAxNToxOTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFNldCBvdXRwdXQtc2VsZWN0b3IgcGFkLW5lZ290aWF0aW9uLW1vZGUgdG8gbm9uZQoJICBVc2Ugb3V0cHV0LXNlbGVjdG9yIG5vbmUgbmVnb3RpYXRpb24gbW9kZSBhcyBpdCB3YXMgdGhlIGRlZmF1bHQgYmVmb3JlCgkgIHRoZSBsYXN0IGNoYW5nZXMuIFRoaXMgbGlrZWx5IG5lZWRzIHRvIGJlIGZpeGVkIHRvIHVzZSAnYWN0aXZlJyBvbgoJICBjYW1lcmFiaW4yCgoyMDExLTAxLTEwIDE1OjE5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSGFuZGxlIHN0YXRlIGNoYW5nZSBmYWlsdXJlcwoJICBXaGVuIGl0cyBpbnRlcm5hbCBlbGVtZW50IGZhaWxzIHRvIGNoYW5nZSBzdGF0ZSwgZG9uJ3QgYWN0IGFzCgkgIGlmIHN1Y2NlZWRlZC4KCjIwMTAtMTItMzAgMDA6Mjc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBJbXBsZW1lbnQgcHJldmlld2luZwoJICBJbXBsZW1lbnQgcHJldmlld2luZyBmdW5jdGlvbmFsaXR5IHVzaW5nIDIgcHJvcGVydGllcy4gQSBib29sZWFuCgkgIChwb3N0LXByZXZpZXdzKSB0aGF0IGluZGljYXRlcyBpZiBwcmV2aWV3cyBzaG91bGQgYmUgcG9zdGVkLCBhbmQgYQoJICBHc3RDYXBzIChwcmV2aWV3LWNhcHMpIHRvIHByb3ZpZGUgdGhlIGRlc2lyZWQgcHJldmlldyBjYXBzLgoJICB3cmFwcGVyY2FtZXJhYmluc3JjIGltcGxlbWVudHMgcHJldmlld2luZyBieSBzdXBwbHlpbmcgdGhlIGNhcHR1cmVkCgkgIGltYWdlIHRvIGEgcGlwZWxpbmUgdG8gYWRhcHQgaXQgdG8gdGhlIHJlcXVpcmVkIGNhcHMgYmVmb3JlIHBvc3RpbmcuCgoyMDEwLTEyLTMwIDAwOjI2OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJICBjYW1lcmFiaW4yOiBBZGQgbWV0aG9kcyBmb3IgcHJldmlldyBpbWFnZSBtZXNzYWdlIHBvc3RpbmcKCSAgQWRkcyBhIGhlbHBlciBzdHJ1Y3QgYW5kIGZ1bmN0aW9ucyBmb3IgaW1wbGVtZW50aW5nIGEgcHJldmlldyBtZXNzYWdlCgkgIGluIGNhbWVyYWJpbjIuCgoyMDEwLTEyLTI5IDIzOjQ4OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdGVzdHM6IFVzZSBtYWlubG9vcHMKCSAgVXNlIG1haW5sb29wcyBpbnN0ZWFkIG9mIHNsZWVwcyB0byByZWFkIGJ1cyBtZXNzYWdlcyBhbmQgY2F0Y2gKCSAgZXJyb3JzLgoKMjAxMC0xMi0yOSAxNDoxMjowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFVzZSBkcm9wX2VvcyBmdW5jdGlvbiBmcm9tIGNhbWVyYWJpbmdlbmVyYWwKCSAgVGhlcmUgd2FzIGFscmVhZHkgYSBldmVudCBwcm9iZSBmdW5jdGlvbiBmb3IgZHJvcHBpbmcgRU9TIG9uCgkgIGNhbWVyYWJpbmdlbmVyZWFsLCBzbyB1c2UgdGhhdCBpbnN0ZWFkIG9mIHJlcGxpY2F0aW5nIHRoZSBjb2RlCgoyMDExLTAxLTI0IDExOjU1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW4yOiBmaXggd2FybmluZ3MKCSAgV2FybmluZ3MgcGFzc2VkIG1lIGJ5IG9uIHRoZSBsYXN0IGNvbW1pdHMgdG8gY2FtZXJhYmluMiB0ZXN0cywKCSAgZml4aW5nIHRoZW0uCgoyMDExLTAxLTI0IDExOjA1OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IE9ubHkgcnVuIGEgdGVzdCBpZiAtZ29vZCAwLjEwLjI3IGlzIHByZXNlbnQKCSAgQSBjYW1lcmFiaW4yIHRlc3RzIGRlcGVuZHMgb24gdGhlIGNvbW1pdAoJICBkY2JiYTA5MzJkYzU3OWFiZDZhYWI0NDYwZmExYTQxNjM3NGVkYTFiIGZvciBqcGVnZW5jIG9uIC1nb29kCgkgIHRoYXQgd2FzIHJlbGVhc2VkIG9uIDAuMTAuMjcuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY2hlY2sgZm9yIHRoaXMgdmVyc2lvbiBiZWZvcmUgcnVubmluZyB0aGUKCSAgdGVzdC4KCjIwMTEtMDEtMjQgMTA6MDg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIHRlc3RzOiBpbWFnZWNhcHR1cmViaW46IE9ubHkgcnVuIGEgdGVzdCBpZiAtZ29vZCBpcyAwLjEwLjI3IG9yIG5ld2VyCgkgIE9uZSB0ZXN0IG9uIGltYWdlY2FwdHVyZWJpbiByZXF1aXJlcyBkY2JiYTA5MzJkYzU3OWFiZDZhYWI0NDYwZmExYTQxNjM3NGVkYTFiCgkgIG9uIGdvb2QgdGhhdCB3YXMgcmVsZWFzZWQgb24gMC4xMC4yNy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDI4NgoKMjAxMS0wMS0xOCAxNzozMTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbmFtZXMgZm9yIG1vcmUgZWxlbWVudHMKCjIwMTEtMDEtMjQgMTE6MTg6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDExLTAxLTIxIDIxOjEzOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjEKCjIwMTEtMDEtMTkgMjA6MDA6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEZpeCBoYW5kbGluZyBvZiBkZWJ1ZyBjYXRlZ29yeQoKMjAxMS0wMS0xOSAxODoyNjozMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbmQgZ3N0X2J1ZmZlcl91bnJlZiBub3QgbGlraW5nIE5VTEwKCSAgRml4ZXMgIzYzOTk1MC4KCjIwMTEtMDEtMTggMTg6MTg6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCjIwMTEtMDEtMTggMTM6MDA6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuNCBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xNCAxNjozMDoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGJhc2VwYXJzZTogQmUgY2FyZWZ1bCB0byBub3QgbG9zZSB0aGUgZXZlbnQgcmVmCgkgIERvbid0IHVucmVmIHRoZSBldmVudCBpZiBpdCBoYXNuJ3QgYmVlbiBoYW5kbGVkLCBiZWNhdXNlIHRoZSBjYWxsZXIKCSAgYXNzdW1lcyBpdCBpcyBzdGlsbCB2YWxpZCBhbmQgbWlnaHQgcmV1c2UgaXQuCgkgIEkgcmFuIGludG8gdGhpcyBwcm9ibGVtIHdoZW4gdHJhbnNjb2RpbmcgYW4gQVZJICh3aXRoIG1wMyBpbnNpZGUpCgkgIHRvIGdwcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTU1NQoKMjAxMS0wMS0xMyAxMToyODozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0OiBxdG11eDogVGVzdHMgcXRtdXggcmV1c2UKCSAgRm9yY2VzIHRoZSB1c2Ugb2YgcXRtdXggYWZ0ZXIgaXQgaGFzIGJlZW4gcHV0IHRvIFBMQVlJTkcgYW5kIGJhY2sKCSAgdG8gTlVMTCBvbmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMTMgMTU6Mjc6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgc3JjIHBhZHMgd2hlbiBzdGFydGluZyBmaWxlCgkgIC4uLiByYXRoZXIgdGhhbiBhdCBfaW5pdCB0aW1lLCBzbyB0aGV5IGFyZSBhbHNvIGF2YWlsYWJsZSBmb2xsb3dpbmcgYQoJICBwYWQgKGRlKWFjdGl2YXRpb24gY3ljbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkzMzgKCjIwMTEtMDEtMTIgMTY6Mzk6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBlbnN1cmUgdGhlIGthdGUgcGFkIGRvZXMgbm90IHNob290IGFoZWFkIG9mIHRoZSB2aWRlbyBwYWQKCSAgU3luYyBib3RoIHBhZHMgYnkgd2FpdGluZyBpbiB0aGUga2F0ZSBjaGFpbiBmdW5jdGlvbi4KCSAgRG8gbm90IHJlc2V0IG91ciBpbnRlcm5hbCBzZWdtZW50IGZyb20gc2VnbWVudCB1cGRhdGVzLCBpbiBvcmRlcgoJICB0byBiZSBhYmxlIHRvIG1hcCB2aWRlbyBydW5uaW5nIHRpbWUgdG8ga2F0ZSBydW5uaW5nIHRpbWUsIHRvCgkgIGdpdmUgbGlidGlnZXIgdGhlIHRpbWVzdGFtcCBpdCBleHBlY3RzLiBUaGlzIGFsbG93cyB1cyB0byB1c2UKCSAgcnVubmluZyB0aW1lIHRvIHN5bmMgdG8gdmlkZW8sIHdoaWNoIGlzIFRoZSBSaWdodCBXYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTEtMDEtMTMgMTg6MzU6MTUgLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBFbmFibGUgY29udmVyc2lvbiBmbGFncwoJICBDYW1lcmFiaW4gZGVmYXVsdCBzaG91bGQganVzdCB3b3JrLCBzbyB3ZSBuZWVkIHRvIGVuYWJsZSBhdWRpbywgaW1hZ2UKCSAgYW5kIHZpZGVvIGNvbnZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NDU2CgoyMDExLTAxLTEzIDE3OjEwOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGZpeCBzeW5jIHdvcmQgZm9yIDE0LWJpdCBsaXR0bGUgZW5kaWFuIGNvZGluZwoJICBGaXggY29weSduJ3Bhc3RlIGJ1ZyB0aGF0IG1hZGUgdXMgbG9vayBmb3IgdGhlIHJhdyBsaXR0bGUgZW5kaWFuCgkgIHN5bmMgd29yZCB0d2ljZSBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIHRoZSAxNC1iaXQgTEUgc3luYyB3b3JkCgkgIGFzIHdlbGwuIEZpeGVzIHBhcnNpbmcgb2Ygc3VjaCBzdHJlYW1zIChzZWUgIzYzNjIzNCBmb3Igc2FtcGxlIGZpbGUpLgoKMjAxMS0wMS0xMyAxNjoyNzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBkb2NzOiBtaW5vciBiYXNlcGFyc2UgZG9jcy9jb21tZW50IGZpeGVzCgkgIFJlbW92ZSBjb3B5J24ncGFzdGUgbGVmdG92ZXJzLgoKMjAxMS0wMS0xMyAxMzozNjowOSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgcGFkLW5lZ290aWF0aW9uLW1vZGUgdG8gYWN0aXZlIGZvciBvdXRwdXQtc2VsZWN0b3IKCSAgRml4ZXMgIzYzOTQxMy4KCjIwMTEtMDEtMTIgMTY6NTU6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXNlIGdfZXJyb3JfZnJlZSBpbnN0ZWFkIG9mIGdfZnJlZQoKMjAxMS0wMS0xMiAxNjo1MDo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgZ19lcnJvcl9mcmVlIGluc3RlYWQgb2YgZ19mcmVlCgoyMDExLTAxLTEyIDExOjU3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogRGVmYXVsdCBjb2xvcnNwYWNlIGlzIEk0MjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTI5NgoKMjAxMS0wMS0xMSAyMzo0NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC4zIHByZS1yZWxlYXNlCgoyMDExLTAxLTExIDE1OjUwOjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGU1NzJjODcgdG8gZjk0ZDczOQoKMjAxMS0wMS0xMCAxOToxMToyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgZm9yZ2V0IHRoZSBHVHlwZSB3aGVuIHVzaW5nIGNhcHNfbmV3X3NpbXBsZSgpCgoyMDExLTAxLTEwIDE2OjM2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gY2NiYWE4NSB0byBlNTcyYzg3CgoyMDExLTAxLTEwIDE0OjU0OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDY0NDVhZCB0byBjY2JhYTg1CgoyMDExLTAxLTEwIDExOjI1OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHNpbGx5IHdheSBvZiBjcmVhdGluZyBjYXBzCgoyMDExLTAxLTEwIDExOjE4OjUyICswMDAwICBLYXJvbCBTb2JjemFrIDxuYXBld25vdHJhZmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcmUtc3luY2luZyBvbiBpbnZhbGlkIGRhdGEgYWZ0ZXIgc2VlawoJICBPciBwb3NzaWJseSBldmVuIGF0IHN0YXJ0dXAuIElmIHdlIGNvdWxkbid0IGZpbmQgYSBzeW5jIHdpdGhpbgoJICB0aGUgZmlyc3QgZmV3IGJ5dGVzLCB3ZSdkIGp1c3QgcHVzaCBtb3JlIGRhdGEgaW50byB0aGUgYWRhcHRlcgoJICBidXQgbmV2ZXIgZGlzY2FyZCBhbnkgb2YgdGhlIGludmFsaWQgZGF0YSBhdCB0aGUgYmVnaW5uaW5nLCBzbwoJICB3b3VsZCBuZXZlciBiZSBhYmxlIHRvIHJlLXN5bmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkwNjMKCjIwMTEtMDEtMDggMDM6MTI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkgIGNvZywgc2Nocm9lZGluZ2VyOiBmaXggd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCAtREdfRElTQUJMRV9BU1NFUlQKCjIwMTEtMDEtMDggMDM6MTA6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjIgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMDggMDI6NDk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MKCjIwMTEtMDEtMDggMDI6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9qYS5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTEtMDEtMDggMDI6NDM6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBjYW1lcmFiaW46IHVzZSBwcml2YXRlIGlucHV0LXNlbGVjdG9yIHRoYXQgc3RpbGwgaGFzICJzZWxlY3QtYWxsIiBwcm9wZXJ0eQoJICBUaGUgInNlbGVjdC1hbGwiIHByb3BlcnR5IHdhcyByZW1vdmVkIHdoZW4gaW5wdXQtc2VsZWN0b3Igd2FzIG1vdmVkCgkgIHRvIGNvcmUsIGJ1dCBjYW1lcmFiaW4gdXNlcyB0aGlzLCBzbyBtYWtlIGNhbWVyYWJpbiB1c2UgYSBwcml2YXRlCgkgIGNvcHkgdW50aWwgYSBiZXR0ZXIgZml4IGlzIGZvdW5kLgoKMjAxMS0wMS0wOCAwMDozMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IE1ha2VmaWxlLmFtIGNsZWFuLXVwCgkgIEF2b2lkIGR1cGxpY2F0ZXMgR1NUX0NIRUNLX0NGTEFHUyBhbmQgR1NUX09QVElPTlNfQ0ZMQUdTIGFyZSBhbHJlYWR5IGluCgkgIEFNX0NGTEFHUy4gQWRkIExEQUREIGluc3RlYWQgb2YgR1NUX0NIRUNLX0xJQlMgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMS0wMS0wOCAwMDoxOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJICBzbW9vdGh3YXZlOiByZW1vdmUgb2xkIDAuOCBleGFtcGxlIGNvbnRhaW5pbmcgY29kZSB3aXRoIHNpZGVlZmZlY3RzIGluIGdfcmV0dXJuX2lmX2ZhaWwoKQoJICBNYXkganVzdCBhcyB3ZWxsIHJlbW92ZSBpdCByYXRoZXIgdGhhbiBmaXggaXQsIHNvIGl0IGRvZXNuJ3Qgc2hvdwoJICB1cCBpbiBncmVwcyBmb3IgdGhpcyBhbnkgbG9uZ2VyLgoKMjAxMS0wMS0wOCAwMDoxODoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyBzY2hyb2VuYyB0ZXN0IGJpbmFyeQoKMjAxMS0wMS0wOCAwMDoxNzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBDRkxBR1MgYW5kIExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wOCAwMDowODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5ldmVyIGRpc2FibGUgZ19hc3NlcnQoKSBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzCgkgIFRoZSB1bml0IHRlc3RzIGFyZSByaWRkbGVkIHdpdGggZ19hc3NlcnQoKSBhbmQgZnJpZW5kcywgbWFrZSBzdXJlIHdlCgkgIGRvbid0IGRpc2FibGUgYXNzZXJ0IGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMgZXZlbiBpZgoJICB0aGlzIGhhcyBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgYmFzZSwgZS5nLiB2aWEKCSAgLS1kaXNhYmxlLWdsaWItYXNzZXJ0cy4KCjIwMTEtMDEtMDggMDA6MDE6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkgIGRpcmVjdGZiOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUtZWZmZWN0cyBpbnRvIGdfYXNzZXJ0KCkKCSAgSXQgd2lsbCBhbGwgYmUgdHVybmVkIGludG8gYSBOT09QIGlmIC1ER19ESVNBQkxFX0FTU0VSVCBpcyB1c2VkCgkgIChhcyBpdCBpcyBmb3IgcHJlLXJlbGVhc2VzIGFuZCByZWxlYXNlcykuCgoyMDExLTAxLTA3IDIzOjU3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgaW50byBnX3JldHVybl92YWxfaWZfZmFpbCgpCgkgIEFuZCBkb24ndCB1c2UgZ19yZXR1cm4qX2lmX2ZhaWwoKSBmb3IgZXJyb3IgaGFuZGxpbmcgaW4gZWxlbWVudHMuCgoyMDExLTAxLTA3IDE4OjQ5OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBSZXZlcnQgIm1wZWd2aWRlb3BhcnNlOiBmaXggdGltZXN0YW1wIGdlbmVyYXRpb24iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjI3MTYwOGM0MzE0ZDZkMGE2ODVjMThjNWM0N2Q1NTQ5NTU4NjE1OS4KCSAgVGhpcyBwYXRjaCBuZWVkcyBtb3JlIHdvcmsgc28gaXQgZG9lc24ndCBjYXVzZSBncmF2ZSBwbGF5YmFjawoJICByZWdyZXNzaW9ucyAobXVsdGktc2Vjb25kIGZyZWV6ZXMpIHdpdGggc29tZSBmaWxlcyB0aGF0IGhhdmUKCSAgc2xpZ2h0bHkgYnJva2VuIHRpbWVzdGFtcHMgYnV0IHBsYXkgZmluZSBldmVyeXdoZXJlIGVsc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzYyNzkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIyMgoKMjAxMS0wMS0wNyAxNTo0NzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMS0wMS0wNyAxNDo1MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlICRMSUJNIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgLWxtCgoyMDExLTAxLTA3IDE1OjIyOjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IGxlYWsgdGhlIGNhcHMKCjIwMTEtMDEtMDcgMDI6MTA6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IFBBVCBhbmQgUE1UIGluZm8tcmVsYXRlZCBvYmplY3QgbGVha3MKCjIwMTEtMDEtMDYgMTI6NTE6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjo1MDoxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNiAxMjo0OTo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTAtMTItMTUgMTU6NTg6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBGaXggY29weXJpZ2h0CgoyMDEwLTEyLTE3IDE0OjUwOjUwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIHB1c2hzcmMKCjIwMTEtMDEtMDUgMTY6NDM6NDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIG9uIG1hY29zeAoKMjAxMS0wMS0wNSAxMzo0NDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJICBkdmJzdWJvdmVybGF5OiBzb21lIG1vcmUgbWlub3IgY2xlYW4tdXBzCgoyMDExLTAxLTA0IDE2OjAzOjAxICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBsZWFrIG9mICJjbGVhciBzY3JlZW4iIERWQlN1YnRpdGxlcyBzdHJ1Y3RzCgoyMDExLTAxLTA0IDEzOjUxOjIxICswMDAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHR3byBtaW5vciBkZWluaXRpYWxpemF0aW9uIG1lbW9yeSBsZWFrcwoKMjAxMS0wMS0wMyAyMzo1NTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGRpc3QgY2FtZXJhYmluMiBleGFtcGxlIGFzIHdlbGwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYwNAoKMjAxMS0wMS0wMyAyMzo0OTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogZml4IGNmbGFncyBhbmQgbGlicyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wMyAyMzo0NzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogZml4IGxpYnMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDMgMjM6NDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBidWlsZDogZml4IGRpc3Rpbmcgb2YgZXhwZXJpbWVudGFsIGJhc2VjYW1lcmFiaW5zcmMgbGliIHVzZWQgYnkgY2FtZXJhYmluMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NjA0CgoyMDExLTAxLTAzIDE3OjEwOjM2IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogZml4IGJ1aWxkIGVycm9ycyBvbiBtYWNvc3gKCSAgZml4ZXMgdGhlIGZvbGxvd2luZyBjb21waWxlIGVycm9yczoKCSAgY2MxOiB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoJICBjYW1zd2NsaWVudC5jOiBJbiBmdW5jdGlvbiAnY2FtX3N3X2NsaWVudF9vcGVuJzoKCSAgY2Ftc3djbGllbnQuYzo4MTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cm5jcHknCgkgIGNhbXN3Y2xpZW50LmM6ODE6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnc3RybmNweScKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cmVycm9yJwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdzdHJlcnJvcicKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogZm9ybWF0ICclcycgZXhwZWN0cyB0eXBlICdjaGFyIConLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnaW50JwoJICBjYW1zd2NsaWVudC5jOiBJbiBmdW5jdGlvbiAnc2VuZF9jYV9wbXQnOgoJICBjYW1zd2NsaWVudC5jOjEyOTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21lbWNweScKCSAgY2Ftc3djbGllbnQuYzoxMjk6IHdhcm5pbmc6IGluY29tcGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbgoJICBmdW5jdGlvbiAnbWVtY3B5JwoJICBnc3RkdmJzcmMuYzo0ODoxOTogZXJyb3I6IGVycm9yLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKMjAxMS0wMS0wMyAyMDowNTo1MiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHJlbW92ZSB1bm5lY2Vzc2FyeSBSR0IgLT4gWVVWIGNvbnZlcnNpb24gYnkgdXNpbmcgWVVWIHBhbGV0dGVzCgkgIHRoZSBkZWZhdWx0IENMVVRzIHN0aWxsIHVzZSBSR0IgLT4gWVVWIGNvbnZlcnNpb25zIHNpbmNlIHRoZSBzdGFuZGFyZCBkZWZpbmVzCgkgIHRoZW0gYXMgUkdCQSB2YWx1ZXMuCgoyMDExLTAxLTAzIDIwOjIxOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9lc2QubTQ6CgkqIG00L2dsaWIubTQ6CgkqIG00L2dzdC1tYXRyb3NrYS5tNDoKCSogbTQvZ3N0LXNob3V0Mi5tNDoKCSogbTQvZ3RrLm00OgoJKiBtNC9vZ2cubTQ6CgkqIG00L3ZvcmJpcy5tNDoKCSAgbTQ6IHJlbW92ZSBzb21lIGNydWZ0CgoyMDExLTAxLTAzIDE3OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkanVzdCBuYXN0eSBjYXNlIHRpbWVzdGFtcCB0cmFja2luZwoJICBUaGF0IGlzLCBhbGwgc29ydHMgb2YgcHJvYmxlbXMgYXJpc2Ugd2l0aCByZS1vcmRlcmVkIGlucHV0IHRpbWVzdGFtcHMgdGhhdAoJICB0ZW5kIHRvIGRlZnkgYXV0b21hZ2ljIGhhbmRsaW5nIGZvciBldmVyeSBjYXNlLCBzbyBhbGxvdyBmb3IgYSBmZXcgdmFyaWF0aW9ucwoJICB0aGF0IGNhbiBiZSB0cmllZCBkZXBlbmRpbmcgb24gY2lyY3Vtc3RhbmNlcy4KCSAgQWxzbyB0cnkgdG8gZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgkgIEFsc28gZml4ZXMgIzYzODI4OC4KCjIwMTAtMTItMzAgMjE6NDg6NDEgKzAyMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnZXQgcmlkIG9mIHRpbWVzdGFtcCBvdmVycHJvdGVjdGl2ZW5lc3MKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTAxLTAzIDE2OjU2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzaW1wbGlmeSBhbmQgZml4IHB0c19vZmZzZXQgc3RvcmluZwoJICBJbiBwYXJ0aWN1bGFyLCBvbmx5IHdyaXRlIGEgY3R0cyBhdG9tIGlmIGFuZCBvbmx5IGlmIGV2ZXIgYSBub24temVybyBvZmZzZXQuCgoyMDExLTAxLTAzIDEwOjQzOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHNvbWUgbW9yZSBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE1OjIzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogcmVtb3ZlIGxhcmdlLWZpbGUgcHJvcGVydHkKCSAgUmF0aGVyLCBhdXRvLWRldGVybWluZSBpZiA2NC1iaXRzIGZpZWxkcyBhcmUgbmVlZGVkIGZvciBhIHZhbGlkIHJlc3VsdCwgYW5kCgkgIHN0aWNrIHRvIHBsYWluIDMyLWJpdHMgaWYgbm90IG5lZWRlZC4KCSAgQVBJOiBHc3RRVE11eDpsYXJnZS1maWxlIChyZW1vdmVkKQoKMjAxMS0wMS0wMyAxODoxMzozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2R2Yi9SRUFETUU6CgkgIFJFQURNRTogZml4IHRoZSBleGFtcGxlIHBpcGVsaW5lCgkgIEZpeCB0aGUgb2J2aW91cyBvdXRkYXRlZCBwYXJ0cy4gU3RpbGwgdGhpcyBSRUFETUUgbG9va3Mgb3V0ZGF0ZWQgYW5kIHNob3VsZCBiZQoJICB1cGRhdGVkIG9yIHJlbW92ZWQuCgoyMDExLTAxLTAyIDE5OjM4OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgZGVidWcgY2F0ZWdvcnkKCjIwMTEtMDEtMDIgMTY6MTM6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBEaXNhYmxlIG1hdHJpeGluZyBvbiBiaWctZW5kaWFuCgkgIEl0J3MgYnJva2VuIHVudGlsIHNvbWVvbmUgd3JpdGVzIGJldHRlciBPcmMgY29kZS4gIEZpeGVzICM2MzEyMzIuCgoyMDEwLTEyLTA1IDAzOjI5OjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBTZXQgYWRhcHRhdGlvbiBmbGFnIHdoZW4gYXBwcm9wcmlhdGUKCSAgU3BlY2lmaWNhbGx5LCB3aGVuIHRoZXJlJ3Mgc3R1ZmYgdG8gZ28gaW50byB0aGUgYWRhcHRhdGlvbgoJICBoZWFkZXIuCgoyMDEwLTExLTE3IDE3OjQ5OjE3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IFNldCByYW5kb21fYWNjZXNzX2luZGljYXRvciBmb3Iga2V5ZnJhbWVzCgoyMDEwLTEyLTMxIDE2OjIwOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogb3V0bGluZSB0ZXh0IGJ5IGRlZmF1bHQsIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODUyNwoKMjAxMS0wMS0wMiAxNToxMTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrLy5naXRpZ25vcmU6CgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9SRUFETUU6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJICBqYWNrOiBtb3ZlIHBsdWdpbiB0byBnc3QtcGx1Z2lucy1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE5MjkKCjIwMTEtMDEtMDIgMTM6NTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZml4IGNhcHMgYW5kIHN0cmluZyBsZWFrcyBhbmQgc29tZSBtaW5vciBjbGVhbi11cHMKCSAgRG9uJ3QgbGVhayBzb3VyY2UgY2Fwcy4gVXNlIEdTVF9QVFJfRk9STUFUIHRvIGxvZyBjYXBzLCBzbwoJICB3ZSBkb24ndCBuZWVkIHRvIGxlYWsgc3RyaW5ncyBmcm9tIGdzdF9jYXBzX3RvX3N0cmluZygpLgoJICBObyBuZWVkIHRvIHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgdmZ1bmNzIHdoZXJlIHRoZSBiYXNlCgkgIGNsYXNzIHdpbGwgbmV2ZXIgbG9vayB0aGVtIHVwIChsaWtlIHByb3BlcnR5IGdldHRlcnMvc2V0dGVycykuCgkgIERvbid0IHVzZSBnX3JldHVybl8qX2lmX2ZhaWwoKSBmb3IgdGhpbmdzIHRoYXQgYXJlbid0IGRpcmVjdGx5CgkgIHByb2dyYW1taW5nIGVycm9ycyAoYnkgdGhlIGFwcGxpY2F0aW9uIGRldmVsb3BlcikuCgkgIEZpeGVzIGthdGUgdW5pdCB0ZXN0IHVuZGVyIHZhbGdyaW5kLgoKMjAxMC0xMi0zMSAxNjoxNzo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiByZWVuYWJsZSB0aGUgc2VuZGluZyBvZiBhIG1lc3NhZ2UgZm9yIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODQxMgoKMjAxMS0wMS0wMiAxMzoyOTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJICBnYXVkaWVmZmVjdHM6IGRpc3QgcHl0aG9uIGV4YW1wbGVzCgoyMDEwLTEyLTMxIDAwOjA5OjA5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBVcGRhdGUgRlNGIGFkZHJlc3MKCjIwMTAtMTItMzEgMDA6MDc6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIEFkZCBnc3QtYXBwLW1ha2VyCgoyMDEwLTEyLTMxIDAwOjEyOjUzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IEZpeCBidWlsZCBmYWlsdXJlIGNhdXNlZCBieSBwcmV2aW91cyBjb21taXQKCjIwMTAtMTItMzAgMTk6MjE6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSAgY29nOiBVc2UgbWF0aC1jb21wYXQuaAoKMjAxMC0xMi0zMCAxOToyMToyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IGM5OS1pc20KCjIwMTAtMTItMzAgMTk6MTI6MjMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBVc2UgbWF0aC1jb21wYXQgaGVhZGVyCgoyMDEwLTEyLTMwIDE5OjAzOjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIGNoYW5nZSBNX1BJIHRvIEdfUEkKCjIwMTAtMTItMzAgMTk6MDM6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSAgZnJlaTByOiBjb252ZXJ0IHVpbnQzMl90IHRvIGd1aW50MzIKCjIwMTAtMTItMzAgMTg6MjA6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBidWlsZCBmaXhlcyBmb3IgTVNWQwoJICBVc2UgZ2ludDE2IGFuZCBHX1BJLgoKMjAxMC0xMi0zMCAxODoxOTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiByZWluZGVudAoKMjAxMC0xMi0zMCAxODowMjowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IHVzZSBnX2FzY2lpX3N0cmNhc2VjbXAoKQoKMjAxMC0xMi0zMSAwMTozODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NlbGVjdG9yLy5naXRpZ25vcmU6CgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL3NlbGVjdG9yLnZjcHJvajoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIHNlbGVjdG9yOiBtb3ZlIGlucHV0LXNlbGVjdG9yIGFuZCBvdXRwdXQtc2VsZWN0b3IgdG8gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0MzA2CgoyMDEwLTEyLTMwIDAxOjE3OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTAtMTItMzAgMDE6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSB2YWx2ZSBlbGVtZW50L3BsdWdpbiB0byBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA4MDgKCjIwMTAtMTItMjkgMTM6MTg6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBWYXJpb3VzIGxlYWsgZml4ZXMKCSAgVmFyaW91cyBsZWFrIGZpeGVzIGFuZCBzb21lIGNvZGUgcmVvcmdhbml6YXRpb24KCjIwMTAtMTItMjcgMTc6MTg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlOiBnaXRpZ25vcmUgY2FwdHVyZWQgZmlsZXMKCjIwMTAtMTItMjYgMjA6NTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBJbXBsZW1lbnQgdmlkZW8gY2FwdHVyZSByZW5lZ290aWF0ZQoJICBIYW5kbGUgY2FwcyByZW5lZ290aWF0aW9uIGZyb20gY2FtZXJhYmluMidzIHJlbmVnb3RpYXRlIGV2ZW50CgkgIHRvIGFsbG93IHZpZGVvIGNhcHR1cmUgdG8gYmUgZG9uZSB3aXRoIHRoZSB1c2VyJ3MgcmVxdWVzdGVkCgkgIHJlc29sdXRpb24uCgoyMDEwLTEyLTI2IDIwOjQ3OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHRlc3RzIGZvciB2aWRlbyBjYXB0dXJlCgkgIEFkZCBhIHRlc3QgZm9yIGNhcHR1cmluZyBtdWx0aXBsZSB2aWRlb3Mgd2l0aCBkaWZmZXJlbnQgcmVzb2x1dGlvbnMKCSAgaW4gYSBzZXF1ZW5jZS4KCjIwMTAtMTItMjYgMjA6MzU6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggcmVuZWdvdGlhdGUgZXZlbnQgcHVzaGluZwoJICBVc2UgYSBoYWNrIHRvIG1ha2UgdGhlIGV2ZW50IHVwc3RyZWFtIHRvIHJlYWNoIHRoZSBjYW1lcmEgc291cmNlCgkgIGluc3RlYWQgb2YgZ29pbmcgZG93bnN0cmVhbSBhbmQgYmVpbmcgdXNlbGVzcy4KCSAgVGhpcyB3YXMgYWxyZWFkeSBmaXhlZCB0aGlzIHdheSBmb3IgaW1hZ2Ugc3JjcGFkIHJlbmVnb3RpYXRlIGFuZAoJICB2aWRlbyBzcmNwYWQgd2FzIGxlZnQgdW5maXhlZC4KCjIwMTAtMTItMjQgMDk6MTA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlZmFjdG9yIGludGVybmFsIHBpcGVsaW5lCgkgIEluc3RlYWQgb2YgbGlua2luZyAzIHNyYyBwYWRzIGZyb20gdGVlIHRvIHRoZSBnaG9zdHBhZHMsIHVzZSAyCgkgIHNyY3BhZHMgYW5kIGFkZCBhbiBvdXRwdXQtc2VsZWN0b3IgdG8gY29tcGxldGVseSBzcGxpdCBjYXBzCgkgIG5lZ290aWF0aW9uIG9mIHZpZGVvL2ltYWdlIG1vZGVzLiBJIGRvbid0IHRoaW5rIHRoZXJlIGlzIGFuCgkgIHVzZSBjYXNlIHRoYXQgd291bGQgcmVxdWlyZSBpbWFnZSBhbmQgdmlkZW8gcGFkcyB0byBiZSB1c2VkCgkgIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDEwLTEyLTIyIDE0OjQyOjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgLXB0aHJlYWQgZm9yIHh2aWQgY29uZmlndXJlIGNoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzMwOAoKMjAxMC0xMi0yOCAxNzoxNjowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG1vZGUgY2FuIGJlIG9ubHkgaW1hZ2Ugb3IgdmlkZW8KCSAgTm8gbmVlZCB0byBjaGVjayBpZiBjYW1lcmFiaW4gaXMgb24gdmlkZW8gbW9kZSBpZiBpdCBpc24ndCBvbgoJICBpbWFnZSBtb2RlIGFzIHRob3NlIGFyZSB0aGUgb25seSAyIG1vZGVzIGF2YWlsYWJsZS4KCSAgQWRkaXRpb25hbGx5LCBpZiBtb2RlIGdldHMgY29ycnVwdGVkIHNvbWVob3cgYW5kIHdvdWxkIGJlIG5laXRoZXIKCSAgaW1hZ2Ugb3IgdmlkZW8gaXQgd291bGQgY2F1c2UgYSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2luZyBzb21lCgkgIGxpbmVzIG9mIGNvZGUgYmVsb3csIHNvIHRoaXMgaXMgc2FmZXIuCgoyMDEwLTEyLTI4IDE2OjU1OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0xMi0yNyAxNjo1ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJICBhc2ZtdXg6IEZpeCBwbHVnaW4gcGFja2FnZSBuYW1lL29yaWdpbgoKMjAxMC0xMi0yNyAxMzoyMDoyOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0xMi0yNyAxMToxMDo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogYWxsb2NhdGUgZmxhdCBhcnJheSBvZiByZWN0YW5nbGVzCgkgIGluc3RlYWQgb2YgYW4gYXJyYXkgb2YgcG9pbnRlcnMgdG8gaW5kaXZpZHVhbGx5LWFsbG9jYXRlZCByZWN0YW5nbGVzLgoKMjAxMC0xMi0yMyAxODoxODo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiBmYWxsYmFjayBvbiBoZWFkZXJzIGluIGNhcHMgdG8gaW5pdGlhbGl6ZSBpZiBoZWFkZXJzIGFyZSBhYnNlbnQKCSAgV2hlbiBUb3RlbSBzd2l0Y2hlcyBzdHJlYW1zLCB0aWdlciB3aWxsIGJlIHJlc2V0LCBhbmQgc3RhcnQgcmVjZWl2aW5nCgkgIGJ1ZmZlcnMgZnJvbSB0aGUgbWlkZGxlIG9mIHRoZSBzdHJlYW0sIHdpdGhvdXQgYmVpbmcgc2VudCBoZWFkZXJzLgoJICBJZiB0aGlzIGhhcHBlbnMsIHRyeSB0byBnZXQgaGVhZGVycyBmcm9tIHRoZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4MDA0CgoyMDEwLTEyLTI2IDE3OjE5OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0xMi0yNiAxNzowNzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogZml4IGd0azMgY29kZSBwYXRoIGluIGNhbWVyYWJpbiBleGFtcGxlIGFwcAoJICBKdXN0IGFkZCByb3dzIHZpYSB0aGUgY29tYm9ib3gncyBtb2RlbCwgd2hpY2ggc2hvdWxkIHdvcmsgd2l0aAoJICBib3RoIGd0azIgYW5kIGd0azMsIGluc3RlYWQgb2YgdXNpbmcgdGhlIGd0a19jb21ib19ib3hfYXBwZW5kX3RleHQoKQoJICBjb252ZW5pZW5jZSBBUEkgKHdoaWNoIHdhcyByZW5hbWVkIHRvIGd0a19jb21ib19ib3hfdGV4dF9hcHBlbmRfdGV4dCgpKS4KCSAgRml4ZXMgY29tcGlsYXRpb24gYWdhaW5zdCBndGszICh0aGVyZSB3YXMgYSB0eXBvIGluIHRoZSBsaXN0IHN0b3JlCgkgIHZhcmlhYmxlIG5hbWUsIHNwb3R0ZWQgYnkgTWFya3VzIFZhcnRpYWluZW4pLgoKMjAxMC0xMi0yNSAxNzowMToxMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogaWYgc2Vla2luZyB3aXRoIEdTVF9TRUVLX1RZUEVfQ1VSLCBmbHVzaCBldmVyeXRoaW5nCgkgIFdlIGRvbid0IGtub3cgaG93IHRvIGNhbGN1bGF0ZSB0aGUgdGFyZ2V0LCBzbyBiZSBzYWZlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDEwLTEyLTI1IDE2OjQ0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogbW92ZSAjaWYgI2Vsc2UgYml0cyBvdXRzaWRlIG9mIG1hY3JvCgkgIFNvbWUgY29tcGlsZXJzL3ByZXByb2Nlc3NvcnMgZG9uJ3QgbGlrZSBpZi9lbHNlL2VuZGlmIHByZXByb2Nlc3NvcgoJICBkaXJlY3RpdmVzIGluIHRoZSBtaWRkbGUgb2YgbWFjcm9zLgoKMjAxMC0xMi0yNCAxNDo0NDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBtZXJnZSBwcml2YXRlIGRhdGEgc3RydWN0IGludG8gbWFpbiBzdHJ1Y3QKCjIwMTAtMTItMjQgMTQ6MjQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IGR2YiBzdWIgcGFyc2VyIGhlbHBlciBkb2Vzbid0IG5lZWQgdG8gYmUgYSBHT2JqZWN0CgoyMDEwLTAxLTI1IDE4OjI2OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICB0aWdlcjogR2l2ZSB0aWdlciBwcmltYXJ5IHJhbmsKCjIwMTAtMDEtMjUgMTg6NTg6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBhZGQgc2VnbWVudCB0cmFja2luZywgYW5kIHZhcmlvdXMgb3RoZXIgaW1wcm92ZW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTAtMTItMjQgMTA6MTU6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICBtdmU6IGRvIG5vdCB1c2UgdGhlIHBhZCBidWZmZXIgYWxsb2NhdGlvbiBmdW5jdGlvbnMgaW4gZGVtdXhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzkyOQoKMjAxMC0xMi0yNCAwOTo1MDowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHVzZSB0aGUgcGFkIGJ1ZmZlciBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBpbiBkZW11eGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3OTMxCgoyMDEwLTEyLTIzIDIyOjAxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogdHJ5IGhhcmRlciB0byBtYWtlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgbW9kaWZ5aW5nCgkgIEFsc28sIGNoZWNrIGJ1ZmZlciBmb3IgTlVMTC1uZXNzIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODI0CgoyMDEwLTEyLTIyIDExOjQ0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTm90aWZ5IGVhcmxpZXIKCSAgTm90aWZ5IGFib3V0IHJlYWR5LWZvci1jYXB0dXJlIGNoYW5nZXMgZWFybGllciB0byBhbGxvdyBjYW1lcmFiaW4yCgkgIHRvIGRvIHRoZSB2aWRlb2JpbiBzdGF0ZSBzd2l0Y2hpbmcgYmVmb3JlIHRoZSBjYXB0dXJlIHN0YXJ0cy4KCjIwMTAtMTItMjEgMTk6MjI6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgdmlkZW9yZWNvcmRpbmdiaW46IEZpeCBsZWFrcwoKMjAxMC0xMi0yMSAxMTowNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlZmFjdG9yIHRlc3RzCgkgIFJlZmFjdG9yIHRlc3RzIGNhc2Ugc28gdGhhdCB0aGUgc2FtZSB0ZXN0cyBjYW4gYmUgcnVuIGZvciBkaWZmZXJlbnQKCSAgY2FtZXJhIHNvdXJjZXMuCgoyMDEwLTEyLTIwIDE4OjMwOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBnaXRpZ25vcmUgY2FtZXJhYmluMiB0ZXN0cwoJICBBZGRzIG1vcmUgY2FtZXJhYmluMiBlbGVtZW50cyB0ZXN0cyB0byBnaXRpZ25vcmUKCjIwMTAtMTItMjAgMTg6MDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgY29udmVydGVycyBmb3Igdmlld2ZpbmRlciBicmFuY2gKCSAgVmlld2ZpbmRlciBicmFuY2ggc2hvdWxkIGhhdmUgY29udmVydGVycyBhcyBpdCBoYXMgdG8gd29yawoJICBhbHdheXMgYW55d2F5LgoKMjAxMC0xMi0yMCAxNDoyMDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogQWRkIGFub3RoZXIgdGVzdCBjYXNlCgkgIEFkZHMgYSB0ZXN0IGNhc2UgdG8gY2hlY2sgaWYgYSBzZXF1ZW5jZSBvZiBidWZmZXJzIHdpdGggZGlmZmVyZW50CgkgIGNhcHMgY2FuIGJlIHB1c2hlZCB0byBpbWFnZWNhcHR1cmViaW4gYW5kIHNhdmVkIGNvcnJlY3RseQoKMjAxMC0xMi0yMCAwMjo1OToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBBZGQgYmFzaWMgY2hlY2sgdGVzdAoJICBBZGRzIG1pbmltdW0gY2hlY2sgdGVzdC4gSXQncyBub3QgYSB2ZXJ5IHVzZWZ1bCB0ZXN0LCBidXQgYXQgbGVhc3QKCSAgaXQgYWxsb3dzIHVzIHRvIHJ1biBpdCB1bmRlciB2YWxncmluZCBhbmQgY2hlY2sgZm9yIGxlYWtzIGF1dG9tYXRpY2FsbHkKCjIwMTAtMTItMjAgMDI6NTg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBSZW1vdmUgbGVha3MKCSAgUmVtb3ZpbmcgdmFyaW91cyBsZWFrcyBmcm9tIHZpZXdmaW5kZXJiaW4KCjIwMTAtMTItMTcgMjM6MDY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBtb3JlIGxvZ3MKCjIwMTAtMTItMTcgMjM6MDY6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTbWFsbCB0ZXN0cyB1cGRhdGUKCSAgSW5jcmVhc2VzIHRpbWVvdXQgdmFsdWUgc28gdGhhdCB0ZXN0cyB3b24ndCBmYWlsIHdpdGggZnVsbAoJICBkZWJ1ZyBvdXRwdXQuCgkgIEFsc28gcmVtb3ZlcyBidWZmZXIgYWxsb2MgZnJvbSB2aWRlb3Rlc3RzcmMgYXMgdGhpcyBmZWF0dXJlCgkgIGlzbid0IHJlYWR5IG9uIGNhbWVyYWJpbjIKCjIwMTAtMTItMTQgMjI6MDY6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIHRlc3RzIGZvciBpbWFnZSBjYXB0dXJlIHdpdGggZGlmZmVyZW50IGNhcHMKCSAgQWRkcyBhIHRlc3QgdGhhdCB0cmllcyBzdWNlc3NpdmUgY2FwdHVyZXMgd2l0aCBkaWZmZXJlbnQgY2FwcwoKMjAxMC0xMi0xNiAwMDo0MDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSGFuZGxlIGNhbWVyYWJpbjIgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50cwoKMjAxMC0xMi0xNSAxNDowNTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCSAgQWRkcyBhIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudCB0aGF0IGlzIHB1c2hlZCB0byB0aGUgY2FtZXJhc3JjIHBhZAoJICB0aGF0IG5lZWRzIHJlbmVnb3RpYXRpb24gZHVlIHRvIHRoZSB1c2VyIHNlbGVjdGluZyBhIG5ldyBjYXB0dXJlCgkgIGNhcHMgZm9yIHRoYXQgcGFkLgoJICBUaGlzIGlzIGEgd2F5IG9mIG5vdGlmeWluZyB0aGUgc291cmNlIHRoYXQgaXQgc2hvdWxkIHVwZGF0ZSBpdHMgY2FwcywgZXZlbgoJICBpZiBpdCBkb2Vzbid0IHVzZSBwYWQgYWxsb2NzLgoKMjAxMC0xMi0xNiAyMjo0OToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIGxvY2FsIG1vZGUKCjIwMTAtMTItMTQgMTg6NDI6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIHByb3BlcnRpZXMgZm9yIGNhcHR1cmUgY2FwcwoJICBBZGRzIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBjYXBzIGZvciB2aWRlbyBhbmQgaW1hZ2UgY2FwdHVyZXMKCjIwMTAtMTItMTkgMTk6NDA6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBGaXggbWFrZWZpbGUgYnVpbGRpbmcgb3JkZXIKCSAgYmFzZWNhbWVyYWJpbnNyYyBtdXN0IGJlIGJ1aWx0IGFmdGVyIHBob3RvZ3JhcGh5IGludGVyZmFjZQoJICBhcyBpdCBkZXBlbmRzIG9uIGl0LgoKMjAxMC0xMi0xMCAxNzo0NTo0MCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYnJldmlhdGlvbnMgZnJvbSBpbWFnZWNhcHR1cmViaW4KCjIwMTAtMTItMTYgMDg6NDc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBBZGQgc29tZSBtb3JlIGxvZ2dpbmcKCSAgQWRkcyBzb21lIG1vcmUgbG9nZ2luZyBhbmQgYWx3YXlzIGFzc3VtZSBjYXB0dXJlIGhhcyBzdGFydGVkIGJlZm9yZQoJICBzdGFydF9jYXB0dXJlIGlzIGNhbGxlZC4gVGhpcyBoZWxwcyBvbiBpbWFnZSBjYXB0dXJlcyB0aGF0IG1pZ2h0CgkgIGNhbGwgZmluaXNoX2NhcHR1cmUgZGlyZWN0bHkgZnJvbSBzdGFydF9jYXB0dXJlIG9yIGJlZm9yZSBzdGFydF9jYXB0dXJlCgkgIGZpbmlzaGVzLgoKMjAxMC0xMi0xNSAyMjozNToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBNb3JlIGNsZWFudXAKCSAgUmVtb3ZlIG9sZCBsZWdhY3kgY29kZSBjb3BpZWQgZnJvbSBjYW1lcmFiaW4oMSkgdGhhdCBzaG91bGQgYmUgaGFuZGxlZAoJICBieSBjYXBzIG5lZ290aWF0aW9uIG9uIGNhbWVyYWJpbjIKCjIwMTAtMTItMTUgMTQ6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZSB3YWl0X2Zvcl9wcmVwYXJhIHZhcmlhYmxlIHRoYXQgd2Fzbid0IGJlaW5nIHVzZWQKCjIwMTAtMTItMTQgMTc6MjM6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlbmFtZSB2NGwyY2FtZXJhc3JjIHRvIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgVXNlIGEgYmV0dGVyIG5hbWUgZm9yIHRoZSBlbGVtZW50IHRoYXQgd3JhcHMgc2luZ2xlIHBhZCBzcmMgZWxlbWVudAoJICBpbnRvIGEgM3BhZCBzb3VyY2UgcmVxdWlyZWQgYnkgY2FtZXJhYmluMi4KCjIwMTAtMTItMTQgMTY6NTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IHJlbW92ZSB2aWRlbyBmaWx0ZXIgcHJvcGVydHkgY29kZQoJICBSZW1vdmVzIHNvbWUgdW51c2VkIGN1c3RvbSB2aWRlbyBmaWx0ZXIgZWxlbWVudCBwcm9wZXJ0eSBjb2RlCgoyMDEwLTEyLTE2IDEwOjUxOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogRml4IHZpZGVvLXNpbmsgcHJvcGVydHkgYWdhaW4KCSAgQXZvaWQgc3dpdGNoaW5nIHRoZSBlbGVtZW50IG9uIHRoZSBzZXRfcHJvcGVydHkgZnVuY3Rpb24sIGluc3RlYWQgd2FpdAoJICBmb3IgdGhlIG5leHQgTlVMTCAtPiBSRUFEWSB0cmFuc2l0aW9uLgoKMjAxMC0xMi0xNCAxNDo0ODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFVzZSB2aWRlb3Rlc3RzcmMgb24gdGhlIHRlc3RzCgkgIFVzZSB2aWRlb3Rlc3RzcmMgdG8gYXZvaWQgb3Blbm5pbmcgdGhlIGNhbWVyYSBkZXZpY2Ugb24gdGhlIHRlc3RzLgoKMjAxMC0xMi0xNCAxNDo0Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IGFkZCB2aWRlby1zcmMgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgc3JjIGVsZW1lbnQgdG8gYmUgdXNlZCBpbnRlcm5hbGx5CgkgIG9uIHY0bDJjYW1lcmFzcmMuIFllYWgsIEkga25vdywgdGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYmV0dGVyCgkgIG5hbWUuCgoyMDEwLTEyLTEzIDE3OjU2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHRlc3QgZm9yIHN1cHBvcnRlZCBjYXBzIHByb3BlcnRpZXMKCSAgQWRkcyB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhhdCB0aGUgc3VwcG9ydGVkIGNhcHMgcHJvcGVydGllcyB3b3JrCgkgIGFzIGV4cGVjdGVkICh1c2luZyB0aGUgcmVzcGVjdGl2ZSBwYWRzIGdldCBjYXBzIGZ1bmN0aW9uKQoKMjAxMC0xMi0xNCAwODo0NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBhZGRzIFBPUlRJTkcgZG9jdW1lbnQKCSAgQWRkcyBhIFBPUlRJTkcgZG9jdW1lbnQgdG8gZXhwbGFpbiB0aGUgZGlmZmVyZW5jZXMgZnJvbQoJICBjYW1lcmFiaW4gdG8gY2FtZXJhYmluMiBhbmQgaGVscCBhcHBsaWNhdGlvbiBkZXZlbG9wZXJzIG9uCgkgIHBvcnRpbmcgZnJvbSBvbmUgdG8gYW5vdGhlci4KCjIwMTAtMTItMTMgMTk6MzY6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1vdmUgYmFzZWNhbWVyYXNyYyB0byBnc3QtbGlicwoJICBNb3ZlIHRoZSBiYXNlIGNhbWVyYSBzcmMgY2xhc3MgdG8gZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMgdG8KCSAgYWxsb3cgaXQgdG8gYmUgaW5jbHVkZWQgZnJvbSB0aGUgdGVzdHMuCgoyMDEwLTEyLTE0IDE0OjI4OjQ5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgdmlkZW9yZWNvcmRpbmdiaW46OnZpZGVvLW11eGVyIHByb3BlcnR5CgoyMDEwLTEyLTE0IDEyOjIxOjU3ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgdmlkZW9yZWNvcmRpbmdiaW46OnZpZGVvLWVuY29kZXIgcHJvcGVydHkKCjIwMTAtMTItMTQgMDk6NTg6MzUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYmJyZXZpYXRpb25zIGZyb20gdmlkZW9yZWNvcmRpbmdiaW4KCjIwMTAtMTItMTQgMTA6NDg6NTYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW46IHJlbGVhc2Ugb2JqZWN0cyBhbmQgbWVtb3J5IGFsbG9jYXRpb25zCgoyMDEwLTEyLTEzIDE2OjM2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgY2FtZXJhLXNyYyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBjYW1lcmEgc291cmNlIGVsZW1lbnQgdG8gYmUgdXNlZC4KCSAgQ2hhbmdpbmcgb25seSBoYXBwZW5zIG9uIHRoZSBuZXh0IE5VTEwtPlJFQURZIHRyYW5zaXRpb24KCjIwMTAtMTItMTMgMTE6NTM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbmFtZSB2YXJpYWJsZXMKCSAgVXNlIGJldHRlciBuYW1lIGZvciB0aGUgdmFyaWFibGVzLCBtYWtpbmcgdGhlIGNvZGUgY2xlYXJlci4gQWxzbwoJICBrZWVwIGEgcmVmIGZvciBzb21lIGludGVybmFsIGVsZW1lbnRzIHRvIGF2b2lkIGZldGNoaW5nIHRoZW0KCSAgYnkgbmFtZSB3aGVuIG5lZWRlZCBsYXRlci4KCjIwMTAtMTItMTIgMjM6MDM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBwcm9wZXJ0aWVzIGZvciBzdXBwb3J0ZWQgY2FwdHVyZSBjYXBzCgkgIEFkZHMgMiBwcm9wZXJ0eSBmb3IgZ2V0dGluZyB0aGUgc3VwcG9ydGVkIGltYWdlL3ZpZGVvIGNhcHR1cmUKCSAgY2FwcyBmcm9tIHRoZSBjYW1lcmEgc291cmNlLgoKMjAxMC0xMi0xMiAyMDo0NjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogUHV0IGVudW1zIGluc2lkZSB0aGVpciBjbGFzc2VzIC5jCgkgIFJlbW92ZSBnbG9iYWwgbGlzdCBvZiBwcm9wZXJ0aWVzJyBlbnVtcyBhbmQgcHV0IHRoZW0KCSAgaW5zaWRlIHRoZWlyIGNsYXNzZXMgLmMKCjIwMTAtMTItMTIgMTk6MzM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB2aWV3ZmluZGVyYmluOiBGaXhlcyB0byB2aWRlby1zaW5rIGhhbmRsaW5nCgkgIEhhbmRsZSB2aWRlby1zaW5rIG1vcmUgY2FyZWZ1bGx5LCBjaGVja2luZyBpZiBpdCBzaG91bGQKCSAgYmUgYWxyZWFkeSBhZGRlZCB0byB0aGUgYmluLCBhbmQgcmVtb3Zpbmcgb2xkIG9uZXMgd2hlbgoJICByZXBsYWNpbmcuCgoyMDEwLTEyLTEzIDE2OjI4OjU4ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgaW1hZ2VjYXB0dXJlYmluOjppbWFnZS1tdXhlciBwcm9wZXJ0eQoKMjAxMC0xMi0xMyAxMjowODoyMiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIGltYWdlY2FwdHVyZWJpbjo6aW1hZ2UtZW5jb2RlciBwcm9wZXJ0eQoKMjAxMC0xMi0xMCAxNzo0NTo0MCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYnJldmlhdGlvbnMgZnJvbSBpbWFnZWNhcHR1cmViaW4KCjIwMTAtMTItMTAgMTI6MDg6NDggLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGltcGxlbWVudCB2aWV3ZmluZGVyYmluOjp2aWRlby1zaW5rIHByb3BlcnR5IHRvIG92ZXJyaWRlIGRlZmF1bHQgdmlkZW8gb3V0cHV0CgoyMDEwLTEyLTA5IDE0OjEzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTWFrZSBjb25zdHJ1Y3RfcGlwZWxpbmUgb3B0aW9uYWwKCSAgQ29uc3RydWN0IHBpcGVsaW5lIHNob3VsZCBiZSBvcHRpb25hbC4gU3ViY2xhc3NlcyB0aGF0IGRvbid0CgkgIGhhdmUgaW50ZXJuYWwgZWxlbWVudHMgZG9uJ3QgbmVlZCBpdC4KCjIwMTAtMTItMDkgMTI6MjM6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiB3cml0ZSBtb3JlIGRldGFpbHMgb24gdGhlIGFwaSBkb2NzCgoyMDEwLTEyLTA5IDEyOjIyOjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IHVzZSB0aGUgZW51bSB0eXBlIGZvciBtb2RlCgoyMDEwLTEyLTA5IDEyOjIxOjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGNvbW1lbnQgY2xlYW51cHMKCjIwMTAtMTItMjIgMjE6NDQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyNAoKMjAxMC0xMi0yMiAxODoxMzowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJICBpZDNtdXg6IFNldCB0byBHU1RfUkFOS19QUklNQVJZCgkgIFdlIHdhbnQgaXQgdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIgYW55IG90aGVyIGlkMyBmb3JtYXR0ZXIuCgoyMDEwLTEyLTIxIDE4OjAxOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IHNvbWUgbW9yZSBsZWFrcyBhbmQgcmVvcmdhbml6ZSB1bnJlZiBjb2RlCgoyMDEwLTEyLTIwIDE1OjMzOjI4ICswMTAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbj4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQXZvaWQgc29tZSBsZWFrcyBpbiBhdXRvY29udmVydAoJICB1bnJlZiBzaW5rIGFuZCBzcmMgcGFkIGFmdGVyIGdzdF9wYWRfYnlfZGlyZWN0aW9uIGNhbGxzIHVucmVmCgkgIGVsZW1lbnQgaWYgZ3N0X2F1dG9fY29udmVydF9hY3RpdmF0ZV9lbGVtZW50IGZhaWxlZC4KCSAgU2VlIGJ1ZyAjNjM3NTUzLgoKMjAxMC0xMi0yMSAxNzowMzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXggYnVmZmVyIGxlYWsgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0yMCAwNzoxOTowNCAtMDgwMCAgU2FsZWVtIEFiZHVscmFzb29sIDxjb21wbmVyZEBjb21wbmVyZC5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3IgbGF0ZXN0IEdUSysgQVBJIGNoYW5nZXMKCjIwMTAtMTItMjAgMTc6NDc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNjk0NjJhIHRvIDQ2NDQ1YWQKCjIwMTAtMTItMjAgMTE6MDY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNhcHMgbGVha3MKCSAgRml4IHNvbWUgY2FwcyBsZWFrcyBvbiB1bml0IHRlc3RzCgoyMDEwLTEyLTIwIDA5OjM3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEZpeCBsZWFrcyBvbiBjaGVjayB0ZXN0CgkgIEZpeCBsZWFrcyBpbiBqaWZtdXggY2hlY2sgdGVzdAoKMjAxMC0xMi0yMCAxMzo1MTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IHVzZSBhIGZsYWdzIHR5cGUgaW5zdGVhZCBvZiB0aGUgdWludAoJICBBbHNvIHVzZSAwIGFzIGRlZmF1bHQgYW5kIGxldCB0aGUgaW1wbGVtZW50YXRpb24gc2V0IHNvbWV0aGluZyB0aGF0IHRoZXkgc3VwcG9ydC4KCjIwMTAtMTItMjAgMTE6MTQ6NDkgKzAyMDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIG1pc3NpbmcgcHJvcGVydHkgYW5kIGNhYmFiaWxpdHkgZmxhZyBmb3Igbm9pc2UgcmVkdWN0aW9uCgoyMDEwLTEyLTE5IDE3OjIzOjI0ICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICB0ZXN0czogRml4IGxlYWsgaW4gYXV0b2NvbnZlcnQgdGVzdAoKMjAxMC0xMi0xOSAxNzoxNjoxMCArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBVc2UgZ3N0X2NhcHNfY2FuX2ludGVyc2VjdCgpCgoyMDEwLTEyLTE5IDEyOjUzOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBBdG9tSW5mbyBzdHJ1Y3RzCgoyMDEwLTEyLTE5IDEyOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSB0YWcgc3RyaW5nIGFmdGVyIHVzZQoKMjAxMC0xMi0xOSAxMjoxMjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogRml4IHNvbWUgbW9yZSBtZW1vcnkgbGVha3MKCjIwMTAtMTItMTkgMTI6MTI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBtZXNzYWdlIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMTkgMTI6MDk6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBwYWQgYW5kIHNpbmsKCjIwMTAtMTItMTkgMTI6MDU6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGUgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGUKCjIwMTAtMTItMTkgMTI6MDM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBsb2NhdGlvbiBzdHJpbmcKCjIwMTAtMTItMTkgMTI6MDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRG9uJ3QgbGVhayB0YWdsaXN0CgoyMDEwLTEyLTE5IDExOjM4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlcyBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMTItMTkgMTE6MjA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogQWRkIGF1dG9jb252ZXJ0IGNoaWxkIGJlZm9yZSBjaGFpbmluZyB1cCB0byBwYXJlbnQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIC4uLmFuZCByZW1vdmUvdW5saW5rIGF1dG9jb252ZXJ0IGNoaWxkIHdoZW4gZ29pbmcgYmFjayB0byBOVUxMLgoKMjAxMC0xMi0xOSAxMToxOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc3RhdGVzOiBJZ25vcmUgbW9yZSB2ZHBhdSBlbGVtZW50cyBpbiB0aGUgZ2VuZXJpYyBzdGF0ZXMgdGVzdAoKMjAxMC0xMi0xOSAxMToxNzo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogUmVuYW1lIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IHRvbwoKMjAxMC0xMi0xOCAxMjo0ODo0MiAtMDgwMCAgTGVvIFNpbmdlciA8bGVvLnNpbmdlckBsaWdvLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogZml4IGNvbXBpbGVyIHdhcm5pbmc6IHJlZHVuZGFudCBkZWNsYXJhdGlvbiBvZiAncGFyZW50X2NsYXNzJwoJICBHU1RfQk9JTEVSUExBVEVfRlVMTCBkZWNsYXJlcyBwYXJlbnRfY2xhc3MgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzUzMgoKMjAxMC0xMi0xNyAxOTo0MToyNSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbGxvdyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoKMjAxMC0xMi0xNiAxNTozMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgR1NUX0xPRyBldGMuIGZvciBsb2dnaW5nCgkgIFRoZSBkdmJzdWIgcm91dGluZXMgd2VyZSBvcmlnaW5hbGx5IGRlc2lnbmVkIGFzIGEgbWluaSBsaWIgd2l0aCBhCgkgIGxvZyBjYWxsYmFjayAod2hpY2ggZnJvbSB0aGUgbG9va3Mgb2YgaXQgaW4gb3VyIGNhc2Ugd291bGQgYWx3YXlzCgkgIGJlIGNhbGxlZCBhbmQgYWx3YXlzIGFzc2VtYmxlIHRoZSBzdHJpbmcgZXZlbiB3aXRoIGRlYnVnIG91dHB1dAoJICBkaXNhYmxlZCkuIFNvbWUgb2YgdGhlc2UgZGVidWcgc3RhdGVtZW50cyBjYW4gcHJvYmFibHkgYmUgcmVtb3ZlZAoJICBvciBjbGVhbmVkIHVwIHNvbWUgbW9yZS4KCjIwMTAtMTItMTYgMDA6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHNvbWUgdW51c2VkIGRlZmluZXMKCjIwMTAtMTItMTYgMDA6MTM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggYXRvbWljIGFjY2VzcwoKMjAxMC0xMi0xNiAxNTozMzo0NSArMDAwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggcmVuZGVyaW5nIGFydGVmYWN0cwoJICBJbml0aWFsaXplIHNvdXJjZSB4IHBvc2l0aW9uIGZvciBvZGQgaGVpZ2h0IHNwZWNpYWwgY2FzZS4KCjIwMTAtMTItMTYgMTE6Mjk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBUaGUgZW5hYmxlIHByb3BlcnR5IGlzIGEgYm9vbGVhbiBhbmQgbm90IGFuIGludGVnZXIKCjIwMTAtMTItMTYgMDk6NTY6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkgIGF1dG9jb252ZXJ0OiBSZW5hbWUgYXV0b2NvbG9yc3BhY2UgdG8gYXV0b3ZpZGVvY29udmVydAoJICBUaGlzIGRvZXNuJ3QganVzdCBjb252ZXJ0IGJldHdlZW4gY29sb3Igc3BhY2VzLgoKMjAxMC0xMi0xNSAxMjo0NTozOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cGRlcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXJ0cHBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9jZGRhYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdGFnZGVtdXg6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvc2luazoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IENsZWFuIHVwIGRpcmVjdG9yeQoKMjAxMC0xMi0xNSAyMToyODowNiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEFkZCBmcmFtZXJhdGUgdG8gdGhlIHNpbmsgY2FwcwoJICBGaXhlcyBidWcgIzYzNzIyNC4KCjIwMTAtMTItMTUgMjE6MTk6NTUgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29sb3JzcGFjZS5jOgoJICBhdXRvY29sb3JzcGFjZTogQWRkIHVuaXQgdGVzdAoKMjAxMC0xMi0xNSAyMToxNDozOCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkgIGF1dG9jb2xvcnNwYWNlOiBBZGQgYXV0b2NvbnZlcnQgYmFzZWQgdmlkZW8gZm9ybWF0IGNvbnZlcnQgZWxlbWVudAoJICBGaXhlcyBidWcgIzYzNjEwNi4KCjIwMTAtMTItMTUgMjE6MTE6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW5hbWUgRFZCIHN1YnRpdGxpbmcgbWVkaWEgdHlwZSB0byBzdWJwaWN0dXJlL3gtZHZiCgoyMDEwLTEyLTE1IDIxOjExOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbmFtZSBEVkIgc3VidGl0bGluZyBtZWRpYSB0eXBlIHRvIHN1YnBpY3R1cmUveC1kdmIKCjIwMTAtMTItMTUgMjA6NTQ6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEb24ndCBkcmF3IGFueXRoaW5nIG9uIHRoZSB2aWRlbyBpZiB0aGUgZW5hYmxlIHByb3BlcnR5IGlzIHNldCB0byBGQUxTRQoKMjAxMC0xMi0xNSAyMDo1MzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEFkZCAjZGVmaW5lcyBmb3IgdGhlIHByb3BlcnR5IGRlZmF1bHQgdmFsdWVzCgoyMDEwLTEyLTE1IDIwOjUxOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVXNlIGdfYXRvbWljX2ludF9nZXQoKSBmb3IgcmVhZGluZyB0aGUgbWF4X3BhZ2VfdGltZW91dCBmaWVsZAoKMjAxMC0xMi0xNSAyMDo0OTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBNYXJrIGFycmF5IHN0YXRpYyBjb25zdCBhbmQgdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIHNpemVvZgoKMjAxMC0xMi0xNSAxNDozOTo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIERFU0NfRFZCX1NVQlRJVExJTkcgZGVzY3JpcHRvciBmb3IgbGFuZ3VhZ2UgcGFyc2luZwoKMjAxMC0xMi0xNSAxNDoyMzo1OCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZW5hYmxlIGdhdGhlcl9wZXMgb25seSBmb3IgRFZCIHN1YnRpdGxlIHByaXZhdGUgc3RyZWFtcwoKMjAxMC0xMi0xNCAxNDozNDo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgYXRvbWljIGluc3RydWN0aW9ucyB0byBzZXQvZ2V0IGVuYWJsZSBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAxNDoyODo0NSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkZCBwcm9wZXJ0eSB0byBsaW1pdCBwYWdlX3RpbWVfb3V0IHRvIGEgc2V0YWJsZSBtYXhpbXVtCgoyMDEwLTEyLTE0IDExOjExOjA4ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGltcGxlbWVudCBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBzdWJ0aXRsZSB3aW5kb3dzCgkgIHNpbXBsaWZpZXMgc3VidGl0bGUgc2NhbGluZyBpbiBibGl0X2k0MjAoKQoKMjAxMC0xMi0xMSAxNzoyNToyOSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBzY2FsZSBzdWJ0aXRsZXMgYWNjb3JkaW5nIHRvIHRoZSBkaXNwbGF5IHNpemUKCSAgRGlzcGxheSBzaXplIGlzIGVpdGhlciB0cmFuc21pdHRlZCBpbiB0aGUgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgb3IKCSAgaW1wbGljaXRseSBkZWZpbmVkIHRvIDcyMHg1NzYuIFRoZSBzdWJ0aXRsZSB3aW5kb3cgaW5mb3JtYXRpb24gYWxzbyBwcmVzZW50IGluCgkgIHRoZSBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBpcyBub3QgeWV0IHVzZWQuCgoyMDEwLTEyLTExIDE3OjEwOjI1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogaW1wbGVtZW50IGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHBhcnNpbmcKCjIwMTAtMTItMTAgMTI6Mjc6NTQgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGx1bWEgc3RyaWRlIGZvciBzY2FsZWQgc3VidGl0bGVzIChkaXNwbGF5IHdpZHRoICE9IHdpZHRoKQoKMjAxMC0xMi0xNSAxNjo0ODoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogRG9uJ3Qgc2V0IHVpbnQgb24gYW4gaW50IHByb3BlcnR5CgoyMDEwLTEyLTE1IDE0OjU2OjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIwNzQyYWUgdG8gMTY5NDYyYQoKMjAxMC0xMi0xNCAxOTowMzowOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSogdG9vbHMvc2lua3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc2lua3BhZC5jOgoJKiB0b29scy9zcmNwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NyY3BhZC5jOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIGdlbmVyYXRpb24gb2Ygc2V2ZXJhbCBjbGFzc2VzCgkgIEJldHRlciBjcmVhdGlvbiBvZiBwYWRzLCB0ZXN0IGFuZCBmaXggbWFueSBvdGhlciBjbGFzc2VzLiAgTW9zdAoJICBjbGFzc2VzIHdvcmsgbm93LCBhbHRob3VnaCBtaWdodCBub3QgY3JlYXRlIGZ1bmN0aW9uYWwgZWxlbWVudHMuCgoyMDEwLTEyLTEzIDIzOjMyOjMwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBBZGQgeTRtZGVjCgkgIEZlZWwgdGhlIHk0bSBsb3ZlLiAgSXQgc2Vla3MuICBJdCB3b3JrcyBpbiBwaXRpdmkuCgoyMDEwLTEyLTEzIDIzOjE1OjA1ICswMDAwICBGcmFuY2lzIFJhbW1lbG9vIDxmcmFuY2lzLnJhbW1lbG9vQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdkaXNjcmVlbmNhcHNyYzogZml4IG1lbW9yeSBsZWFrCgkgIFN0cnVjdHVyZSBtZW1iZXJzIG9mIElDT05JTkZPIHN0cnVjdCBmaWxsZWQgYnkgR2V0SWNvbkluZm8oKSBtdXN0CgkgIGJlIGRlbGV0ZWQgd2hlbiBubyBsb25nZXIgbmVlZGVkIGFjY29yZGluZyB0byB0aGUgQVBJIHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTQyOAoKMjAxMC0xMi0xMyAxNjoyMzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhdm9pZCBsZWFraW5nIHRhZyBldmVudAoKMjAxMC0xMi0xMyAxNToxNzoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZWxheCBic2lkIGNoZWNraW5nCgkgIC4uLiB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIHNwZWMgaW50ZXJwcmV0YXRpb24uCgkgIEZpeGVzICM2MzcwNjIuCgoyMDEwLTEyLTEzIDE2OjIzOjQ1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAxMWJjYzggdG8gMjA3NDJhZQoKMjAxMC0xMi0xMiAyMzozNDowMiArMDAwMCAgTWF0dGhldyBJZmUgPG1hdHRoZXcuaWZlQHVrZmFzdC5jby51az4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBmYWlsIG1vcmUgZ3JhY2VmdWxseSBpZiBzb3VyY2UgZ2V0cyBkaXNjb25uZWN0ZWQgb3IgZ2VvbWV0cnkgY2hhbmdlcwoJICBEb24ndCBnZXQgY2F1Z2h0IGluIGFuIGluZmluaXRlIGxvb3AgaWYgdGhlIHNvdXJjZSBnZXRzIGRpc2Nvbm5lY3RlZCBhbmQgYWxzbwoJICBzdXBwb3J0IGdyYWNlZnVsbHkgZmFpbGluZyB1cG9uIGRldGVjdGluZyB0aGUgZnJhbWUgZ2VvbWV0cnkgaGFzIGluY3JlYXNlZAoJICAocmF0aGVyIHRoYW4gc2VnZmF1bHRpbmcpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1Mzk3CgoyMDEwLTEyLTEyIDIyOjEzOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGxlYWtpbmcgY29udmVydGVkIGNvbW1lbnQgc3RyaW5nCgoyMDEwLTEyLTEyIDEyOjAxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgc3NpbTogU2V0IGNsYXNzaWZpY2F0aW9uIHRvIEZpbHRlci9BbmFseXplci9WaWRlbyBpbnN0ZWFkIG9mIEZpbHRlci9Db252ZXJ0ZXIvVmlkZW8KCSAgRml4ZXMgYnVnICM2MzYxMDkuCgoyMDEwLTEyLTEyIDAyOjI0OjAwICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2J1cm4tZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkgIGdhdWRpZWZmZWN0czogQXZvaWQgZGl2aWRlIGJ5IDAgaW4gYnVybiBlbGVtZW50CgoyMDEwLTEyLTEyIDAyOjE2OjQ5ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBEZWZlciBwdXNoaW5nIHRhZyB1cGRhdGVzIHVudGlsIHN0cmVhbWluZy4KCSAgUHVzaCB0YWcvdGl0bGUgaW5mbyB1cGRhdGVzIGluIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBhdm9pZGluZwoJICBzcHVyaW91cyBsb3NzZXMgb2YgdGhlIGRvd25zdHJlYW0gZXZlbnRzIHdoZW4gZmx1c2hpbmcuCgkgIFNlZTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NDIyMgoKMjAxMC0xMS0xNiAxNzoxODozMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBdHRlbXB0IHRvIHVzZSBnbGliIGxhbmd1YWdlIHNldHRpbmcgZm9yIERWRCBtZW51cy9hdWRpbwoKMjAxMC0xMS0xNiAxNzowOTowNiArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggc2lsbHkgdHlwbyBpbiBidXR0b24gc3RhdGUgdHJhY2tpbmcuCgoyMDEwLTEyLTEwIDAwOjU4OjU4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogb25seSBlbnF1ZXVlIGJ1ZmZlcnMgaW4gdGhlIFZpZGVvVG9vbGJveCBjYWxsYmFja3MKCSAgVGhlc2UgY2FsbGJhY2tzIG1heSBmaXJlIGZyb20gYW55IHRocmVhZCwgaGVuY2Ugd2Ugc2hvdWxkIG9ubHkgZW5xdWV1ZQoJICBidWZmZXJzIGFuZCBsZXQgdGhlIHN0cmVhbWluZyB0aHJlYWQgdGFrZSBjYXJlIG9mIHRoZSByZXN0IGFzIHNvb24gYXMKCSAgdGhlIGJsb2NraW5nIGVuY29kZSBvciBkZWNvZGUgb3BlcmF0aW9uIGhhcyBmaW5pc2hlZC4KCjIwMTAtMTEtMTkgMTU6NTM6NTUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSAgYXBwbGVtZWRpYTogYnJpbmcgYmFjayBMZW9wYXJkIGNvbXBhdGliaWxpdHkKCSAgQXQgbGVhc3QgYXMgZmFyIGFzIG1pb3ZpZGVvc3JjIGlzIGNvbmNlcm5lZC4gVHVybnMgb3V0IHRoYXQgQ29yZVZpZGVvJ3MKCSAgQ1ZQaXhlbEJ1ZmZlckdldElPU3VyZmFjZSBpcyBub3QgcHJlc2VudCBpbiBMZW9wYXJkJ3MgdmVyc2lvbiBvZiBDb3JlVmlkZW8uCgkgIFdlIHNvbHZlIHRoaXMgYnkgbWFraW5nIGl0IHBvc3NpYmxlIGZvciBzeW1ib2xzIHRvIGJlIG1hcmtlZCBhcyBvcHRpb25hbC4KCjIwMTAtMTEtMjkgMTM6NDc6MTEgKzAxMDAgIENocmlzdGlhbiBCZXJlbnRzZW4gPGNocmlzdGlhbi5iZXJlbnRzZW5AY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZnJhbWVyYXRlIGZyYWN0aW9uIHJhbmdlIG1hcHBpbmcKCSAgTWluIGFuZCBtYXggbWF5IGJlIHNsaWdodGx5IGRpZmZlcmVudCBidXQgY29tcHJlc3MgdG8gdGhlIHNhbWUgZnJhY3Rpb24uCgoyMDEwLTEyLTA5IDE4OjA2OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkgIGphc3BlcmRlYzogZG9uJ3QgZmFpbCBoYXJkIG9uIGRlY29kaW5nIGVycm9yCgkgIGRvbid0IHBvc3QgYW4gZXJyb3IgYW5kIHJldHVybiBHU1RfRkxPV19FUlJPUiBvbiBhIHNpbXBsZSBkZWNvZGluZyBlcnJvci4gV2UgY2FuCgkgIGp1c3QgcmVzdW1lIGFuZCBjb250aW51ZSBkZWNvZGluZyB0aGUgbmV4dCBpbWFnZS4KCjIwMTAtMTItMDkgMTE6NTQ6MTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHJlc2V0IHRoZSBxdWV1ZSBjb25kaXRpb24gdG8gTk9fRlJBTUVTIGluIHVubG9ja1N0b3AuCgkgIEZpeGVzIGEgc2VnZmF1bHQgaW4gY3JlYXRlOiB3aGVuIGdvaW5nIFBMQVlJTkcgLT4gUEFVU0VEIC0+IFBMQVlJTkcuCgoyMDEwLTEyLTA5IDExOjA0OjE5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBydW4gdGhlIG1haW5SdW5Mb29wIGZvciBhIHdoaWxlIGlmIG5vdCBydW5uaW5nLgoJICBRVENhcHR1cmVTZXNzaW9uOjphZGRJbnB1dCBhbmQgUVRDYXB0dXJlU2Vzc2lvbjo6YWRkT3V0cHV0IGNhbGwKCSAgTlNPYmplY3Q6OnBlcmZvcm1TZWxlY3Rvck9uTWFpblRocmVhZCBpbnRlcm5hbGx5IHNvIHRoZXkgbmVlZCB0aGUgbWFpblJ1bkxvb3AgdG8KCSAgcnVuIGF0IGxlYXN0IGZvciBhIHdoaWxlIHRvIGNvbXBsZXRlLgoKMjAxMC0xMi0wNyAxOTo0MDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IFJlbW92ZSBnaG9zdHBhZHMKCSAgUmVtb3ZlIGdob3N0IHBhZHMgZnJvbSBiYXNlY2FtZXJhc3JjLiBEaWZmZXJlbnQgaW1wbGVtZW50YXRpb25zCgkgIG9mIGNhbWVyYSBzb3VyY2VzIG1pZ2h0IG5vdCB1c2UgZ2hvc3RwYWRzIGFuZCB1c2UgZGVmYXVsdCBwYWRzLgoKMjAxMC0xMi0wNyAxOToxMjo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBSZW1vdmluZyB1bnVuc2VkIG1ldGhvZHMKCSAgUmVtb3ZlIG9uZSB1bnVzZWQgbWV0aG9kIF9maW5pc2hfaW1hZ2VfY2FwdHVyZSgpCgoyMDEwLTEyLTA2IDExOjA1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogT25seSBydW4gdGVzdHMgaWYgZXhwZXJpbWVudGFsIGlzIGVuYWJsZWQKCSAgT25seSBydW4gY2FtZXJhYmluMiB0ZXN0cyBhbmQgYnVpbGQgZXhhbXBsZXMgaWYgZXhwZXJpbWVudGFsCgkgIHBsdWdpbnMgYXJlIGVuYWJsZWQKCjIwMTAtMTItMDYgMTA6MDY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IENsZWFudXAKCSAgUmVtb3ZpbmcgY29tbWVudGVkIGNvZGUKCjIwMTAtMTItMDUgMTE6MTg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBNb3ZlIHN0YXJ0L3N0b3AgY2FwdHVyZSBzaWduYWxzIHRvIGJhc2VjYW1lcmFzcmMKCSAgTW92ZSBzdGFydC9zdG9wIHNpZ25hbHMgYW5kIHJlYWR5LWZvci1jYXB0dXJlIHRvIGJhc2VjYW1lcmFzcmMKCSAgYXMgdGhpcyBzaG91bGQgYmUgcHJlc2VudCBvbiBhbGwgY2FtZXJhIHNvdXJjZXMKCjIwMTAtMTItMDQgMTA6MTU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBBZGQgbW9kZSBwcm9wZXJ0eQoJICBNb3ZlIG1vZGUgcHJvcGVydHkgZnJvbSB2NGwyY2FtZXJhc3JjIHRvIGJhc2VjYW1lcmFzcmMsIGFzIGFsbAoJICBjYW1lcmEgc291cmNlcyBzaG91bGQgaGFuZGxlIGl0LgoKMjAxMC0xMi0wNCAwMDoyNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVzZXQgYWxsIGVsZW1lbnRzIG9uIHZpZGVvIHJlY29yZGluZyBicmFuY2ggYmVmb3JlIGNhcHR1cmUKCSAgV2UgbmVlZCB0byByZXNldCB0aGUgZWxlbWVudHMgZnJvbSB0aGUgdmlkZW8gcmVjb3JkaW5nIGJyYW5jaCwgaW5jbHVkaW5nCgkgIHRoZSBxdWV1ZSBhbmQgY2Fwc2ZpbHRlciBpbiBvcmRlciB0byBjbGVhciB0aGUgZW9zIHN0YXRlIGFuZCBhY3RpdmF0ZQoJICB0aGUgcGFkcy4KCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byByZWNvcmQgbXVsdGlwbGUgdmlkZW9zIHdpdGggY2FtZXJhYmluMiBpbiBhCgkgIHNlcXVlbmNlLCBvdGhlcndpc2UgdGhlIHNvdXJjZSB3b3VsZCBnZXQgYSB1bmV4cGVjdGVkIHJldHVybiBhbmQKCSAgcHVzaCBFT1MsIHN0b3BwaW5nIHRoZSB3aG9sZSBwaXBlbGluZS4KCjIwMTAtMTItMDMgMTI6MTM6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggdGVzdHMgY2FwdHVyZSBsb2NhdGlvbiBjcmVhdGlvbgoJICBGaXhlcyBjYXB0dXJlIGxvY2F0aW9uIGNyZWF0aW9uIHRvIHVzZSBtdWx0aWZpbGVzaW5rIGxvY2F0aW9uCgkgIGxpa2Ugc3RyaW5ncy4gRS5nLiB1c2luZyBjYXB0dXJlXyVkIGluc3RlYWQgb2YgY2FwdHVyZV8wIHRvIGxldAoJICBjYW1lcmFiaW4yIGhhbmRsZSB0aGUgJWQgcmVwbGFjaW5nCgoyMDEwLTEyLTAzIDEyOjEyOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBNb3JlIGRlYnVnIGxvZ3MKCSAgU3ByaW5rbGUgc29tZSBtb3JlIGRlYnVnZ2luZyBsb2dzCgoyMDEwLTEyLTAzIDEyOjExOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IFByaW50IG1vcmUgaW5mbwoJICBBZGQgc29tZSBwcmludGluZyBmb3IgZXJyb3IvZW9zIGNhc2VzLgoKMjAxMC0xMi0wMiAwMzo0NDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFZhcmlvdXMgZml4ZXMKCSAgQXMgdmlkZW8gcmVjb3JkaW5nIGJpbidzIHN0YXRlIGlzIGxvY2tlZCwgd2Ugc2hvdWxkIGFsd2F5cwoJICByZW1lbWJlciBvZiBzZXR0aW5nIGl0IHRvIE5VTEwgd2hlbiBjYW1lcmFiaW4yIGdvZXMgdG8gTlVMTAoJICBCZSBtb3JlIGNhcmVmdWwgd2hlbiB1c2luZyBlbGVtZW50cyB0aGF0IG1pZ2h0IG5vdAoJICBoYXZlIGJlZW4gY3JlYXRlZCB5ZXQKCSAgQW5kIGRvIG5vdCBzZXQgbG9jYXRpb24gcHJvcGVydHkgcmVjdXJzaXZlbHkgb24gdmlkZW9yZWNvcmRpbmdiaW4KCjIwMTAtMTItMDIgMDM6MDg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHRlc3RzIGZvciBjYW1lcmFiaW4yCgkgIEFkZHMgc29tZSBiYXNpYyB0ZXN0cyBmb3IgY2FtZXJhYmluMgoKMjAxMC0xMi0wMiAwMjoyMTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBhZGRzIHRlc3RzIGZvciBlbGVtZW50cwoJICBBZGRzIGJhc2ljIHRlc3RzIGZvciBib3RoIGltYWdlY2FwdHVyZWJpbiBhbmQgZm9yCgkgIHZpZGVvcmVjb3JkaW5nYmluIGVsZW1lbnRzCgoyMDEwLTEyLTAyIDAxOjMzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogSW1wcm92ZSBlbGVtZW50cyBjcmVhdGlvbgoJICBCZSBtb3JlIGNhcmVmdWwgd2l0aCBjbGVhbnVwIG9mIGVsZW1lbnRzLiBBbHNvIGFkZCBzb21lIGxvZ3MgYW5kCgkgIGltcHJvdmUgZG9jcyBhIGxpdHRsZS4KCjIwMTAtMTItMDIgMDA6MTk6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIEdlbmVyYWwgY2xlYW51cCwgcmVtb3ZpbmcgdW51c2VkIGJpdHMKCjIwMTAtMTEtMzAgMjA6MTM6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJICBjYW1lcmFiaW4yOiBhZGRzIGxvY2F0aW9uIHByb3BlcnR5CgkgIEFkZHMgYSBsb2NhdGlvbiBwcm9wZXJ0eSB0byBlbmFibGUgYXBwbGljYXRpb25zIHRvIHNlbGVjdAoJICB0aGUgY2FwdHVyZWQgZmlsZXMgbmFtZXMuIExvY2F0aW9ucyBhcmUgaGFuZGxlZCBqdXN0IGxpa2UKCSAgbXVsdGlmaWxlc2luayBvbmVzCgkgIEFsc28gZGlzYWJsZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCB0byBhbGxvdyB0byB1c2Ugbm9uLWxpdGVyYWxzCgkgIG9uIGdfc3RyZHVwX3ByaW50ZiBvbiBjYW1lcmFiaW4gYW5kIGdlbmVyYXRlIGEgc2VxdWVuY2Ugb2YKCSAgbG9jYXRpb25zIGZvciBjYXB0dXJlcy4KCjIwMTAtMTEtMzAgMjA6MTU6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggc2V0L2dldCBwcm9wZXJ0eSBmdW5jdGlvbiBuYW1lcwoJICBBZGQgbW9yZSBjb25zaXN0ZW5jeSB0byB0aGUgZnVuY3Rpb24gbmFtZXMgYnkgdXNpbmcKCSAgZ3N0X2NhbWVyYV9iaW4gYXMgdGhlIG90aGVyIGZ1bmN0aW9ucy4KCjIwMTAtMTEtMzAgMTg6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSB2aWRiaW4gc3RhdGUgY2hhbmdlIGluZGl2aWR1YWxseQoJICBLZWVwIHZpZGJpbiBzdGF0ZSBsb2NrZWQgdG8gYXZvaWQgaXQgZ29pbmcgdG8gcGxheWluZyB3aXRob3V0CgkgIGJlaW5nIHVzZWQgYW5kIGxlYXZpbmcgYW4gZW1wdHkgZmlsZSBjcmVhdGVkLgoJICBDaGVjayB0aGUgZG9jcyBvbiB0aGUgY29kZSBmb3IgZGV0YWlscyBvbiB0aGUgaGFuZGxpbmcuCgoyMDEwLTExLTMwIDExOjQwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBLZWVwIGl0IHVuZGVyIC0tZW5hYmxlLWV4cGVyaW1lbnRhbAoJICBjYW1lcmFiaW4yIGlzIHN0aWxsIHVuZGVyIGhlYXZ5IGRldmVsb3BtZW50LCBhY3RpdmF0ZSBpdCBvbmx5IGlmCgkgIHRoZSAtLWVuYWJsZS1leHBlcmltZW50YWwgZmxhZyBpcyBvbi4KCSAgQWxzbyBhZGQgYSBub3RlIHRvIHRoZSBkb2NzLgoKMjAxMC0xMS0zMCAxMTowNjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEFkZCByZWFkeS1mb3ItY2FwdHVyZSBwcm9wZXJ0eQoJICBBZGRzIHByb3BlcnR5IHRoYXQgaW5mb3JtcyBpZiB2NGwyY2FtZXJhc3JjIGlzIGF2YWlsYWJsZQoJICBmb3Igc3RhcnRpbmcgYSBuZXcgY2FwdHVyZS4KCSAgSXQgaXMgdXNlZnVsIGZvciBhcHBsaWNhdGlvbnMgdG8ga25vdyAodmlhIGRlZXAtbm90aWZ5KSB3aGVuIHRoZQoJICBwcm9wZXJ0eSBjaGFuZ2VzIGFuZCBhIG5ldyBjYXB0dXJlIGlzIHBvc3NpYmxlLiBOb3RlLCBob3dldmVyLCB0aGF0CgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUgZnJvbSB0aGUgbm90aWZ5IGNhbGxiYWNrIHdpbGwgY2F1c2UgYSBkZWFkbG9jay4KCjIwMTAtMTEtMzAgMDk6Mjg6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgdjRsMmNhbWVyYXNyYyB0byB1c2Ugc3RhcnQvc3RvcCBzaWduYWxzCgkgIFJlbW92ZXMgdGhlIG9sZCBsb2dpYyBmb3IgdjRsMmNhbWVyYXNyYyB0aGF0IHVzZWQgdGhlIG1vZGUKCSAgcHJvcGVydHkgc3dpdGNoaW5nIHRvIHN0YXJ0L3N0b3AgY2FwdHVyZXMgdG8gbWFrZSBpdCBpZGVudGljYWwKCSAgdG8gY2FtZXJhYmluMiBiZWhhdmlvciBhbmQgdG8gYWxsb3cgdGhlIGZ1dHVyZSBhZGRpdGlvbiBvZgoJICBwYXVzaW5nIGEgdmlkZW8gcmVjb3JkaW5nLgoJICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgTU9ERV9QUkVWSUVXIGFzIGl0IGJlY2FtZSB1c2VsZXNzLgoKMjAxMC0xMS0yOSAxODo1MzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQ2xlYW51cCBjYXB0dXJpbmcgZmxhZwoJICBDbGVhbnVwIGNhcHR1cmluZyBmbGFnIHdoZW4gdGhlIHNvdXJjZSBzd2l0Y2hlcyBiYWNrIHRvIHRoZQoJICB2aWV3ZmluZGVyIG1vZGUKCjIwMTAtMTEtMjkgMTg6MjQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgcGFkZGluZwoKMjAxMC0xMS0yOSAxNTo0OToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogSW1wbGVtZW50IHZpZGVvIGNhcHR1cmUKCSAgSW1wbGVtZW50cyB2aWRlbyBjYXB0dXJlIG9uIHY0bDJjYW1lcmFzcmMgYnkgdXNpbmcgdGhlIG1vZGUgcHJvcGVydHksCgkgIHdoZW4gbW9kZSBpcyBzZXQgdG8gdmlkZW8sIHRoZSBwYWQgcHJvYmUgcHVzaGVzIGEgbmV3IHNlZ21lbnQKCSAgYW5kIHN0YXJ0cyBwdXNoaW5nIGJ1ZmZlcnMgb24gdGhlIHBhZCwgd2hlbiBpdCB0aGUgcHJvcGVydHkgaXMKCSAgc2VudCBiYWNrIHRvIHByZXZpZXcsIHRoZSBwYWQgcHJvYmUgcHVzaGVzIGFuIEVPUyBhbmQgc3RvcHMKCSAgcHVzaGluZyBidWZmZXJzLgoJICBUaGlzIGlzIGNvbnRyb2xsZWQgYnkgYSBSZWNvcmRpbmcgU3RhdGUgdmFyaWFibGUsIHRoYXQgaXMgcHJvdGVjdGVkCgkgIGJ5IHRoZSBHU1RfT0JKRUNUX0xPQ0suIEkgZG9uJ3QgdGhpbmsgbG9ja2luZyBmb3IgZXZlcnkgYnVmZmVyIGlzCgkgIG5pY2UsIHNvIHdlIGNvdWxkIGZpbmQgYW4gYWx0ZXJuYXRpdmUgbG9ja2xlc3Mgd2F5IGhlcmUuCgoyMDEwLTExLTI5IDEyOjU3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogRml4IGltYWdlIGNhcHR1cmUKCSAgT25jZSBhIGltYWdlIGlzIGNhcHR1cmVkLCB2NGwyY2FtZXJhc3JjIHNob3VsZCByZXR1cm4gdG8gdGhlCgkgIHByZXZpZXcgbW9kZSBhbmQgc3RvcCBjYXB0dXJpbmcuCgoyMDEwLTExLTI5IDExOjMxOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogS2VlcCBtb2RlIGRlZmluaXRpb24gYXQgLWVudW0gZmlsZQoJICBVc2UgJ21vZGUnIGVudW0gZGVmaW5pdGlvbiBmcm9tIGdzdGNhbWVyYWJpbi1lbnVtIGZpbGUgdG8gYXZvaWQKCSAgY29uZmxpY3RzIGJldHdlZW4gdjRsMmNhbWVyYXNyYyBhbmQgZ3N0Y2FtZXJhYmluMiBtb2Rlcy4KCSAgRm9yIG5vdyB0aGVyZSBpcyBhIE1PREVfUFJFVklFVyB0aGVyZSB0aGF0IGlzIG9ubHkgdXNlZCBvbiB0aGUKCSAgY2FtZXJhc3JjLCBub3Qgc3VyZSBpZiB3ZSBhcmUga2VlcGluZyBpdCBhdCB0aGUgZnV0dXJlLCBidXQgZm9yCgkgIG5vdyB0aGlzIHdvcmtzLgoKMjAxMC0xMS0yOSAxMDo0NjozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIHY0bDJjYW1lcmFzcmM6IEFkZHMgbW9kZSBwcm9wZXJ0eQoJICBBZGRzIG1vZGUgcHJvcGVydHkgdG8gdjRsMmNhbWVyYXNyYwoKMjAxMC0xMS0yOSAxMDo0NTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBkZWJ1ZyBjYXRlZ29yaWVzCgkgIEFkZGluZyBkZWJ1ZyBjYXRlZ29yaWVzIHRvIHY0bDJjYW1lcmFzcmMgYW5kIGNhbWVyYWJpbjIsIGFsc28KCSAgcmVtb3ZpbmcgZ2VuZXJpYyBjYXRlZ29yeSBmcm9tIGNhbWVyYWJpbmdlbmVyYWwuCgoyMDEwLTExLTI2IDIzOjU1OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBBZGRzIGNhbWVyYWJpbjIgZXhhbXBsZQoJICBBZGRzIGd0ayBjYW1lcmFiaW4yIGV4YW1wbGUgYXBwCgoyMDEwLTExLTI2IDE3OjI0OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYmFzaWMgcHJvcGVydHkgYW5kIHNpZ25hbHMKCSAgQWRkcyBtb2RlIHByb3BlcnR5IHRvIGNhbWVyYWJpbjIsIGFsbG93aW5nIHVzZXJzIHRvCgkgIHNlbGVjdCBiZXR3ZWVuIHZpZGVvIGFuZCBzdGlsbHMgY2FwdHVyZS4gQWxzbyBhZGRzCgkgIHN0YXJ0L3N0b3AgY2FwdHVyZSBhY3Rpb25zIHRvIHRyaWdnZXIgYW5kIHN0b3AKCSAgY2FwdHVyaW5nCgoyMDEwLTExLTI2IDE1OjU1OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgZmlsZXNpbmsncyBhc3luYyB0byBGQUxTRQoJICBJbiBvcmRlciB0byBwcmVyb2xsLCBjYW1lcmFiaW4yIHNob3VsZCBoYXZlIGl0cyBmaWxlc2lua3MgaW4KCSAgdGhlIGltYWdlY2FwdHVyZWJpbiBhbmQgdmlkZW9yZWNvcmRpbmdiaW4gd2l0aCBhc3luYz1GQUxTRS4KCjIwMTAtMTEtMjYgMTQ6NTE6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYmFzaWMgZWxlbWVudHMKCSAgSW5zdGFudGlhdGluZyBhbmQgbGlua2luZyBiYXNpYyBlbGVtZW50cyBvbiBjYW1lcmFiaW4yCgkgIHNvIGl0IGF0IGxlYXN0IHNob3dzIHRoZSB2aWV3ZmluZGVyIHdoZW4gcnVubmluZy4KCjIwMTAtMTEtMjYgMTA6MTQ6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkcyBhIHN0dWIgZWxlbWVudCBmb3IgY2FtZXJhYmluMgoJICBBZGRzIGNhbWVyYWJpbjIgZWxlbWVudCwgaXQgaXMgbm93IGEgcGlsZSBvZiBzdHVicy4KCjIwMTAtMTEtMjUgMjI6MDU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZQoJICBSZW1vdmUgcGxhdGZvcm0gc3BlY2lmaWMgY29kZQoKMjAxMC0xMS0yNSAyMTo0OTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZpbmcgdW5lZWRlZCBwcm9wZXJ0aWVzCgkgIFJlbW92aW5nIHVuZWVkZWQgYW5kIHVucmVnaXN0ZXJlZCBwcm9wZXJ0aWVzLgoKMjAxMC0xMS0yNSAyMDo1NTozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IEZpeCBwcm9wZXJ0eSB3YXJuaW5nCgkgIEF2b2lkIHNldHRpbmcgYSBwcm9wZXJ0eSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTExLTI1IDIwOjUzOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICBjYW1lcmFiaW4yOiB2NGwyY2FtZXJhc3JjOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFJlbW92ZWQgdW51c2VkIGxlZnRvdmVyIHZhcmlhYmxlCgoyMDEwLTExLTI1IDE0OjU3OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSAgY2FtZXJhYmluMjogQWRkcyB2aWRlbyByZWNvcmRpbmcgYmluCgkgIEFkZHMgYW4gYmluIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGVuY29kaW5nIGFuZCBzYXZpbmcgdmlkZW8KCSAgc3RyZWFtcyB0byBmaWxlcy4KCSAgRm9yIG5vdyBpdCBpcyBzaW1wbHkgYSBmZm1wZWdjb2xvcnNwYWNlICEgdGhlb3JhZW5jICEgb2dnbXV4ICEKCSAgZmlsZXNpbmsgYmluLgoJICBTdGlsbCB1bmNhcGFibGUgb2YgcmVjb3JkaW5nIGF1ZGlvLgoKMjAxMC0xMS0yNSAxMzowMDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyB2NGwyY2FtZXJhc3JjIGZyb20gcm9iY2xhcmsncyBicmFuY2gKCSAgQWRkcyAzLXBhZCB2NGwyIGNhbWVyYSBzb3VyY2UgZnJvbSBSb2IgQ2xhcmsncyBjYW1lcmFiaW4KCSAgYnJhbmNoIG9uIGh0dHA6Ly9naXRvcmlvdXMub3JnL3JvYmNsYXJrLWdzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMTAtMTEtMjQgMjA6MzE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgbmV3IGltYWdlY2FwdHVyZWJpbgoJICBBZGRzIGFuIGJpbiB0aGF0IGlzIHJlc3BvbnNpYmxlIGZvciBpbWFnZSBjYXB0dXJlcy4KCSAgSXQgaXMgYSBzaW1wbGUgZmZtcGVnY29sb3JzcGFjZSAhIGpwZWdlbmMgISBqaWZtdXggISBtdWx0aWZpbGVzaW5rCgkgIGZvciBub3cuCgoyMDEwLTExLTI0IDIwOjE1OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgcGx1Z2luIGluaXQgdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIE1vdmVzIHBsdWdpbiBpbml0IHRvIGdzdHBsdWdpbi5jIHRvIGFsbG93IG11bHRpcGxlCgkgIGVsZW1lbnRzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMuCgoyMDEwLTExLTI0IDE3OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBBZGRzIHZpZXdmaW5kZXJiaW4gZWxlbWVudAoJICBBZGRzIHZpZXdmaW5kZXIgYmluIGVsZW1lbnQsIG9uZSBvZiB0aGUgbW9kdWxlcyBvZiBjYW1lcmFiaW4yCgkgIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgdGhlIHZpZGVvIGZyb20gdGhlIGNhbWVyYS4KCSAgRm9yIG5vdyBpdCBpcyBvbmx5IGEgYmluIHdpdGggZmZtcGVnY29sb3JzcGFjZSAhIHZpZGVvc2NhbGUgIQoJICBhdXRvdmlkZW9zaW5rCgoyMDEwLTEyLTA4IDE5OjM2OjQ4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TWC4KCjIwMTAtMTEtMjQgMTI6MjI6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIG91dHB1dC1zZWxlY3Rvci10ZXN0OiBkb24ndCBoYXJkY29kZSB2aWRlb3NpbmtzIGFuZCB1c2UgbW9yZSBjb2xvcnNwYWNlIGNvbnYuCgkgIFVzZSBhdXRvdmlkZW9zaW5rIGluc3RlYWQgb2YgaGFyZGNvZGVkIHNpbmtzLiBVc2UgYW4gYWRkaXRpb25hbCBjb2xvcnNwYWNlCgkgIGNvbnZlcnRlciBiZXR3ZWVuIHZpZGVvdGVzdHNyYyBhbmQgdGltZW92ZXJsYXkuCgoyMDEwLTEyLTA4IDE1OjE4OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUvYmFzZSBpbnN0ZWFkIG9mIG9sZCBnaXQKCjIwMTAtMTItMDcgMTU6NDQ6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiByZS11c2UgY2xlYW51cCgpIGluIGZpbmFsaXplKCkKCSAgLi4uIGFuZCBhbHNvIGZhdm9yIGZpbmFsaXplKCkgcmF0aGVyIHRoYW4gZGlzcG9zZSgpLgoKMjAxMC0xMS0xOCAxMzozOToyMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFNldCBzcmNwYWQgY2FwcyBiZWZvcmUgZm9yd2FyZGluZyBuZXdzZWdtZW50CgkgIFRoaXMgaG9sZHMgYWxsIG5ld3NlZ2VtZW50IGFuZCBtb3N0IG90aGVyIGV2ZW50cyB0aWxsIHRoZXJlIGlzIGVub3VnaAoJICBkYXRhIHRvIHNldCBzcmNwYWQgY2Fwcywgc28gdGhhdCB0aGUgZG93bnN0cmVhbSBsaW5rIGlzIHByb3Blcmx5CgkgIG5lZ290aWF0ZWQgYmVmb3JlIGRhdGEgc3RhcnRzIGZsb3dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDQKCjIwMTAtMTEtMTggMjM6Mjk6NTEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2Ugc2lua3BhZCBjYXBzIGFzIGJhc2UgZm9yIHNyY3BhZCBjYXBzCgkgIFRoaXMgd2F5LCB3ZSBkb24ndCBsb3NlIGFkZGl0aW9uYWwgZmllbGRzIHRoYXQgY29tZSBmcm9tIHVwc3RyZWFtIChsaWtlCgkgIHByb2ZpbGUvbGV2ZWwgZm9yIG5vdykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDIKCjIwMTAtMTItMDcgMTU6MjA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBtaW5vciBmaXggdG8gZXJyb3IgaGFuZGxpbmcKCSAgV2Ugd2VyZW4ndCBoYW5kbGluZyB1bnBhcnNlYWJsZSBjb2RlY19kYXRhIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUyMDIKCjIwMTAtMTItMDcgMTc6MTc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgbmVhcmVzdCBuZWlnaGJvdXIgc2NhbGluZyBmb3IgdGhlIHN1YnBpY3R1cmVzCgkgIFRoaXMgYmVjb21lcyBuZWNlc3Nhcnkgd2hlbiBTRFRWIHN1YnRpdGxlcyBhcmUgdXNlZCBmb3IgSERUViB2aWRlb3MuCgoyMDEwLTEyLTA3IDE0OjU1OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxpZ24gY29kZSB3aXRoIGNvbW1lbnQKCjIwMTAtMTItMDcgMTQ6NTU6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZS11c2UgcmVzZXQoKSBpbiBmaW5hbGl6ZSgpCgoyMDEwLTExLTE3IDE5OjE2OjEyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU2V0IHNyY3BhZCBjYXBzIGJlZm9yZSBmb3J3YXJkaW5nIG5ld3NlZ21lbnQKCSAgVGhpcyBob2xkcyBhbGwgbmV3c2VnZW1lbnQgYW5kIG1vc3Qgb3RoZXIgZXZlbnRzIHRpbGwgdGhlcmUgaXMgZW5vdWdoCgkgIGRhdGEgdG8gc2V0IHNyY3BhZCBjYXBzLCBzbyB0aGF0IHRoZSBkb3duc3RyZWFtIGxpbmsgaXMgcHJvcGVybHkKCSAgbmVnb3RpYXRlZCBiZWZvcmUgZGF0YSBzdGFydHMgZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwNQoKMjAxMC0xMi0wNiAxOTowMDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB0cnkgdG8gY29udmVydCBjb21tZW50IHRhZyB0byBVVEYtOAoKMjAxMC0xMi0wNiAxODoxOToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBkaXNjYXJkIGluY29tcGxldGUgaW1hZ2UKCSAgLi4uIGFzIGRldGVybWluZWQgd2hlbiBmaW5kaW5nIFNPSSBuZXh0IGltYWdlIGJlZm9yZSBhbiBFT0kuCgoyMDEwLTEyLTA2IDE4OjE4OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGluZmluaXRlIGxvb3Agd2hlbiByZXN5bmNpbmcKCjIwMTAtMTItMDYgMjI6NDg6MDkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogQWxsb3cgaW1wbGljaXQgY2hhbm5lbCBtYXAgZm9yIDEtLzItY2hhbm5lbCBhdWRpbwoJICBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3Qgc2V0IGFuIGVtcHR5IGNoYW5uZWwgbWFwIGFycmF5IGZvciAxLS8yLWNoYW5uZWwKCSAgYXVkaW8sIGNhdXNpbmcgYW4gYXNzZXJ0IGxhdGVyIG9uLgoKMjAxMC0xMi0wNiAxNzowODo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJldmVydCBzb21lIHBhcnRzIG9mIGxhc3QgY29tbWl0IHRoYXQgc2hvdWxkbid0IGJlIGNvbW1pdHRlZAoKMjAxMC0xMi0wNiAxNzowNToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlYWxseSBjaG9vc2UgdGhlIGxhdGVzdCBwb3NzaWJsZSBzdWJwaWN0dXJlcwoJICBBbmQgbm90IHRoZSBmaXJzdCBzdWJwaWN0dXJlcyB0aGF0IGFyZSBzdGlsbCB2YWxpZCBhY2NvcmRpbmcgdG8gdGhlCgkgIHBhZ2UgdGltZW91dC4KCjIwMTAtMTItMDYgMTY6NDQ6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZWZhY3RvciBibGVuZGluZyBmdW5jdGlvbiBhbmQgdGFrZSBhdmVyYWdlIG9mIGFsbCBjaHJvbWEgdmFsdWVzCgoyMDEwLTEyLTAzIDE3OjM1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wcm92ZSBzZWxlY3Rpb24gb2YgY3VycmVudCB0byBiZSBkaXNwbGF5ZWQgc3VicGljdHVyZXMKCSAgRHJvcCBhbGwgc3VicGljdHVyZXMgdGhhdCBhcmUgdG9vIG9sZCBhbnl3YXkgYW5kIGNsZWFyIHRoZSBjdXJyZW50bHkKCSAgZGlzcGxheWVkIHN1YnBpY3R1cmVzIGlmIG51bV9yZWN0cz09MCBoYXBwZW5zLgoKMjAxMC0xMi0wMyAxNjoyMToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBjbGlwcGluZyBvZiB2aWRlbyBidWZmZXJzCgkgIEFsc28gZG9uJ3QgY2xpcCBzdWJwaWN0dXJlIGJ1ZmZlcnMsIHRoZXkgaGF2ZSBubyBkdXJhdGlvbiBhbmQKCSAgY2xpcHBpbmcgdGhlbSBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSBoZXJlLgoKMjAxMC0xMi0wMyAxNjowODoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogQ2xlYW4gdXAgbG9ja2luZyBzb21lIG1vcmUKCjIwMTAtMTItMDMgMTY6MDU6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGbHVzaCBzdWJ0aXRsZXMgYW5kIGFsbCBpbnRlcm5hbCBzdGF0ZSB3aGVuIG5lZWRlZAoKMjAxMC0xMi0wMyAxNTo1MjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFNldCB0aGUgZ2xvYmFsIGxpYnJhcnkgbG9nIGZ1bmN0aW9uIGV4YWN0bHkgb25jZQoJICBBbmQgZG9uJ3QgdXNlIG9uZSBvZiB0aGUgcG9zc2libHkgbWFueSByZW5kZXJlciBpbnN0YW5jZXMsIHRoaXMgaXMgb25seQoJICBjYWxsaW5nIGZvciBjcmFzaGVzLgoKMjAxMC0xMi0wMyAxNTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIGxvdHMgb2YgY29tbWVudGVkIG91dCBhbmQgdW51c2VkIGNvZGUgYW5kIGNsZWFuIHVwIGxvY2tpbmcKCjIwMTAtMTItMDEgMDk6NTk6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggbW9yZSBvZiB0aGUgYmxlbmRpbmcsIHNvIGl0IGxvb2tzIHF1aXRlIGdvb2Qgbm93CgkgICogbGliZHZic3ViIGdpdmVzIHVzIGFscGhhIGNoYW5uZWwgYWxyZWFkeSwgbm90IHRyYW5zcGFyZW5jeSBsZXZlbCwgc28KCSAgZG9uJ3QgZG8gYW5vdGhlciAiYWxwaGEgPSAyNTUgLSBhbHBoYSIsIHRoaXMgaXMgZG9uZSBieSBsaWJkdmJzdWIuCgkgICogRml4IGFscGhhIGNoYW5uZWwgaGFuZGxpbmcgaW4gaW50ZXJwb2xhdGlvbiAtIGFzc3JlbmRlciBoYWQgYW4gYWRkaXRpb25hbAoJICAxYnBwIGFscGhhIGJpdG1hcCBhcyBhIHBvc3NpYmxlIG1hc2ssIHdlIGRvbid0LiBTbyBkb24ndCB1c2UgdGhlIHBhbGV0dGUKCSAgaW5kZXggYXJyYXkgYXMgYWxwaGEgdmFsdWVzOyBidWcgZnJvbSBxdWljayBjb2RlIHBvcnRpbmcgbG9uZyBhZ28gdG8KCSAgY2hhbmdpbmcgcGl4ZWwgY29sb3JzIChhc3NyZW5kZXIgaGFzIGEgc2luZ2xlIHBpeGVsIGNvbG9yIGZvciB3aG9sZQoJICByZWdpb25zIG9yIHNvbWV0aGluZywgdW5saWtlIGR2YnN1Yiwgd2hpY2ggaGFzIGluZGV4ZWQgY29sb3JzKS4KCSAgKiBEb24ndCBmb3JnZXQgdG8gcmVhc3NpZ24gb3VyIFlVViBhbmQgb3RoZXIgbG9jYWwgcGl4ZWwgY29sb3IgdmFyaWFibGVzCgkgIGFmdGVyIHNoaWZ0aW5nIHRvIHdvcmsgb24gdGhlIGJvdHRvbSBwYXJ0IG9mIGEgMngyIHN1YnNhbXBsZSBibG9jaywgb3IKCSAgaXQncyBvYnZpb3VzbHkgdmVyeSBibG9ja3kuCgkgIFJlbWFpbmluZyBpc3N1ZXMgaW4gYmxlbmRpbmc6CgkgICogU2hvdWxkIHByb2JhYmx5IGJlIGludGVycG9sYXRpbmcgb3IgZG9pbmcgc29tZXRoaW5nIGVsc2UgdXNlZnVsIHdpdGggdGhlCgkgIHJlc3VsdGluZyBVIGFuZCBWIGNoYW5uZWxzLCBzbyB0aGF0IG1vc3Qgb2YgdGhlIHNvdXJjZSBwaXhlbCBVViB2YWx1ZXMgd291bGQKCSAgYWN0dWFsbHkgYmUgYWN0dWFsbHkgY2FyZWQgYWJvdXQsIGV4Y2VwdCBmb3IganVzdCBvbmUgb3V0IG9mIHBvc3NpYmx5IGZvdXIuCgkgICogRG9uJ3QgY29udmVydCBBWVVWIHRvIEFSR0IgaW4gbGliZHZic3ViLCBhbmQgdGhlbiBiYWNrIGZyb20gQVJHQiB0byBBWVVWIGluCgkgIGR2YnN1Ym92ZXJsYXkgZm9yIG5vIHJlYXNvbgoJICAqIFJlLWZhY3RvciB0aGUgd2hvbGUgdGhpbmcgdG8gc29tZXRoaW5nIG1vcmUgbGlrZSB0ZXh0b3ZlcmxheSBibGVuZGluZwoJICAqIFJlbGF0ZWQgdG8gdGhhdCwgcGVyaGFwcyBjYWNoZSB0aGUgY3VycmVudCBzcHUgaW4gYSBnb29kIGZvcm1hdCBmb3IgcXVpY2sKCSAgYmxlbmRpbmcgb24gZWFjaCBmcmFtZSwgYWZ0ZXIgd2hpY2ggdGhlIG1vcmUgb2Z0ZW4gY2FsbGVkIGJsZW5kaW5nIHBhcnRzCgkgIG1pZ2h0IGJlY29tZSBtb3JlIHN0cmFpZ2h0Zm9yd2FyZAoKMjAxMC0xMi0wMSAwNzoyNjowMyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBibGVuZGluZyBidWcgcmVnYXJkaW5nIGNvbG9yIGNoYW5uZWwgYWRkcmVzc2luZy4KCSAgbGliZHZic3ViIGdpdmVzIHVzIEFSR0Igb3JkZXJlZCBwaXhlbHMgcmlnaHQgbm93LCBub3QgUkdCQS4KCjIwMTAtMTItMDEgMDc6MjA6MDcgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEbyBibGVuZGluZyBjYWxscyB3aGVuIGFwcHJvcHJpYXRlCgkgIFRoaXMgZ2l2ZXMgdXMgYWN0dWFsbHkgc2hvd24gc3VidGl0bGVzLCBob3dldmVyIHdpdGggYnVncyBpbiB0aGUKCSAgY3VycmVudCBibGl0dGluZyBjb2RlLCByZXN1bHRpbmcgaW4gdmVyeSB0cmFuc3BhcmVudCBzdWJ0aXRsZXMuCgoyMDEwLTEyLTAxIDA3OjA2OjM1ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IGZhbGxiYWNrIHBhZ2VfdGltZV9vdXQgaG9ub3JpbmcKCSAgVGhlIHNwZWMgaGFzIGEgcGFnZV90aW1lX291dCBpbiB0aGUgcGFnZSBjb21wb3NpdGlvbiBzZWdtZW50IHRvIGVuc3VyZQoJICBzdWJ0aXRsZXMgZG9uJ3QgZ2V0IHN0dWNrIG9uIHNjcmVlbiBmb3IgdG9vIG11Y2ggbG9uZ2VyIHRoYW4gaW50ZW5kZWQsCgkgIHdoZW4gZnV0dXJlIHBhZ2UgY29tcG9zaXRpb24gc2VnbWVudHMgZ2V0IGxvc3Qgb24gYmFkIHJlY2VwdGlvbiwgb3Igb3RoZXIKCSAgcHJvYmxlbXMuIEhvbm9yIGl0IGluIHRoZSBnc3QgcGx1Z2luIHNpZGUuCgoyMDEwLTEyLTAxIDA2OjAxOjE1ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgc3VidGl0bGUgcXVldWVpbmcgYW5kIHN5bmNpbmcgd2l0aCB2aWRlbwoJICBQdXNoIGluY29taW5nIHN1YnRpdGxlIHBhZ2VzIGluIGEgRklGTyBxdWV1ZSAocGVuZGluZ19zdWJ0aXRsZXMpCgkgIGFuZCBkZXF1ZXVlIHRoZSBoZWFkIHdoZW4gaXQncyB0aW1lIHRvIHNob3cgaXQgKHdoZW4gdmlkZW8gcnVubmluZwoJICB0aW1lIHJlYWNoZXMgdGhlIHN1YnRpdGxlIHBhZ2UgcnVubmluZyB0aW1lKS4KCSAgS2VlcCB0aGUgc3VidGl0bGUgcGFnZSwgdGhhdCBpcyBzdXBwb3NlZCB0byBiZSBibGVuZGVkIG9uIHRvcCBvZiB2aWRlbwoJICBjdXJyZW50bHksIGluIGEgc2VwYXJhdGUgb2JqZWN0IHZhcmlhYmxlIChjdXJyZW50X3N1YnRpdGxlKS4gQXMgYQoJICBuZXh0IHN0ZXAgd2UgY2FuIHRoZW4gcHJlLXJlbmRlciBjdXJyZW50X3N1YnRpdGxlIHRvIGEgYmV0dGVyIHRvIGJsZW5kCgkgIGZvcm1hdC4KCjIwMTAtMTItMDEgMDU6NDk6MjIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBNYWtlIHRoZSBuZXcgZHZiX3N1YnRpdGxlc19mcmVlKCkgYWNjZXB0IE5VTEwKCSAgRG9uJ3QgY3Jhc2ggaWYgZHZiX3N1YnRpdGxlc19mcmVlKE5VTEwpIGdldHMgcGFzc2VkLCBsaWtlIG1vc3Qgb3RoZXIKCSAgKl9mcmVlIGZ1bmN0aW9ucyBhcmUgaGFwcHkgd2l0aC4KCjIwMTAtMTItMDEgMDU6MjY6MDIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUGFzcyBwYWdlX3RpbWVfb3V0IGFuZCBwdHMgd2l0aCB0aGUgRFZCU3VidGl0bGVzIHN0cnVjdHVyZQoJICBFYXNlcyBob2xkaW5nIG9udG8gdGhlIGluZm9ybWF0aW9uIGluIGdzdCBwbHVnaW5zIHNpZGUgcXVldWUgb2YKCSAgRFZCU3VidGl0bGVzLCBzbyB3ZSB3b24ndCBuZWVkIHRvIGNyZWF0ZSB5ZXQgYW5vdGhlciB0ZW1wb3Jhcnkgc3RydWN0CgkgIHRvIGtlZXAgdGhlIHB0cyBhbmQgcGFnZV90aW1lX291dCB0b28uCgkgIEFuZCB0aGlzIHJlYWxseSBsb2dpY2FsbHkgYmVsb25ncyBhdCB0aGUgdG9wbGV2ZWwgaW5mb3JtYXRpb24gc2V0IGFueXdheQoJICBhbmQgaW4gdGhhdCBzdHJ1Y3QuLi4KCjIwMTAtMTItMDEgMDQ6Mjg6MDIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IE1ha2UgdGhlIGxpYmR2YnN1YiBjYWxsYmFjayBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBtZW1vcnkgY2xlYW51cAoJICBXZSB3YW50IHRvIGFsbG93IHF1ZXVlaW5nIG9mIHJhdyByZWdpb24gaW1hZ2UgZGF0YSBpbiB0aGUgZ3N0IHBsdWdpbiBzaWRlLAoJICBhbmQga2VlcCB0aGUgZGF0YSBhcm91bmQgdW50aWwgd2UgcG9wIHRoZSBpdGVtIGZyb20gdGhlIHF1ZXVlLiBTbyBtYWtlCgkgIHRoZSBjYWxsYmFjayBoYW5kbGVyIHJlc3BvbnNpYmxlIGZvciBtZW1vcnkgY2xlYW51cCwgaWYgb25lIGlzIGluc3RhbGxlZC4KCjIwMTAtMTEtMzAgMDQ6NDU6NTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBXb3JrIHdpdGggR3N0Q2xvY2tUaW1lIGluc3RlYWQgb2YgUFRTIGZvciBzdWJ0aXRsZSB0aW1pbmcKCSAgQWJ1c2UgbGliZHZic3ViIFBUUyB0cmFja2luZyB0byBqdXN0IHN0b3JlIG91ciBydW5uaW5nIHRpbWUgaW4gaXQsIHRvIGdldAoJICBpdCBiYWNrIGluIHRoZSBjYWxsYmFja3MuIEFzIEdTdHJlYW1lciBkb2VzIGl0cyBvd24gUFRTIGhhbmRsaW5nIGJlaGluZCBvdXIKCSAgYmFjayAoZXNwZWNpYWxseSBmb3IgdmlkZW8pLCB3ZSBzaG91bGQganVzdCBzeW5jIHdpdGggdmlkZW8gcGVyIHJ1bm5pbmcgdGltZSwKCSAgbm90IHRyeSB0byBkbyBpdCB3aXRoIFBUUywgd2hpY2ggZG9lc24ndCBzZWVtIHdlbGwgYWNjZXNzaWJsZSBmb3IgdmlkZW8gY2hhaW4uCgkgIFdlIGNhbiBsYXRlciByZWxhYmVsIGR2Yi1zdWIuYyBwdHMgbmFtaW5nIGNvbnZlbnRpb24gaWYgd2FudGVkLCBpdCdzIGp1c3QKCSAgcGFzc2luZyBhbG9uZyBndWludDY0IHZhbHVlcywgd2hpY2ggR3N0Q2xvY2tUaW1lIGZvcnR1bmF0ZWx5IGlzIHRvby4KCSAgVGhlIGN1cnJlbnQgaWRlYSBpcyB0byBjb2xsZWN0IHRoZSByZWdpb25zIHJldHVybmVkIGJ5IHRoZSBjYWxsYmFjayBpbnRvCgkgIGEgRklGTyBidWZmZXIgYW5kIHBvcCBhbmQgcHJlLXJlbmRlciB0aGUgdG9wIG9uZSBpbnRvIGEgc2VwYXJhdGUKCSAgcXVpY2stdG8tYmxlbmQgY2FjaGVkIGZvcm1hdCwgd2hpY2ggaXMgdGhlbiBhcHByb3ByaWF0ZWx5IGJsZW5kZWQgaW4gdGhlCgkgIHZpZGVvIGNoYWluIHVudGlsIHRoZSBuZXh0IG9uZSBvbiB0b3Agb2YgdGhlIHN0YWNrIHJlYWNoZXMgdGhlIHZpZGVvIGNoYWlucwoJICBydW5uaW5nIHRpbWUgKG9yIHRoZSBmYWxsYmFjayB0aW1lciBoaXRzKS4KCjIwMTAtMTEtMzAgMDM6NTY6MzIgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBBZGQgRklYTUUgbm90ZSBhYm91dCBub24tY29uc3RhbnQgUFRTIGZvciBhIGRpc3BsYXkgc2V0IGhhbmRsaW5nLgoKMjAxMC0xMS0zMCAwMzo0Nzo0NiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogUmVtb3ZlIGR2Yl9zdWJfZmVlZCgpIEFQSQoJICBHU3RyZWFtZXIgd2lsbCBvbmx5IHVzZSBkdmJfc3ViX2ZlZWRfd2l0aF9wdHMsIGFzIGl0IGhhcyBpdHMgb3duIFBFUyBmaWx0ZXIKCSAgdG8gZG8gdGhlIGhlYWRlciBwYXJzaW5nLgoKMjAxMC0xMS0yOSAyMDo1NTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9UT0RPOgoJICBkdmJzdWJvdmVybGF5OiBtb3JlIFRPRE8KCjIwMTAtMTEtMjkgMjA6MTA6MTcgKzAwMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBnc3RtcGVndHNkZW11eDogYWRkIHRlbXBvcmFyeSAqKkhBQ0sqKiBmb3IgZHZiIHN1YnMgdGVzdGluZyBzbyBkdmJzdWJvdmVybGF5IGdldHMgd2hvbGUgcGFja2V0cwoJICA8dHBtPiBsZWlvLCB3aGF0J3MgdGhlIG1wZWd0cyBkZW11eCBoYWNrIGFib3V0PwoJICA8bGVpbz4gbXkgbGliZHZic3ViIGNvZGUgY2FuJ3QgaGFuZGxlIGN1dCBwYWNrZXRzCgkgIDxsZWlvPiBzbyB0aGUgaGFjayBpbnN0cnVjdHMgdGhlIGRlbXV4ZXIgdG8gZ2F0aGVyIGZ1bGwgcGFja2V0cyBiZWZvcmUgcHVzaGluZyBkb3duLCBidXQgaXQgYXBwbGllcyB0aGF0IHRvIG1vcmUgUEVTIHBhY2tldCB0eXBlcyB0aGFuIGp1c3QgZHZic3ViLCBidXQgSSdtIG5vdCBzdXJlIGlmIHRoYXQncyBhIGJhZCB0aGluZwoJICA8bGVpbz4gZWl0aGVyIHdheSwgbmVlZHMgYSBjbGVhbmVyIHNvbHV0aW9uLCBlaXRoZXIgaW4gZGVtdXhlciwgb3IgSSBuZWVkIHRvIGhhbmRsZSBjdXQgcGFja2V0cwoJICA8dHBtPiBvaywgYnV0IHJlYWxseSBpdCBzaG91bGQgYmUgZml4ZWQgaW4gdGhlIG92ZXJsYXksIHJpZ2h0PwoJICA8dHBtPiBvciBhIHBhcnNlciBiZSBpbnNlcnRlZAoJICA8bGVpbz4gdGhlIHByb2JsZW0gaXMgdGhhdCBJIGRvbid0IGtub3cgZnJvbSB0aGUgZmlyc3QgcGFja2V0IGJlZm9yZWhhbmQgaWYgaXQgaXMgYSBjdXQgb25lIG9yIG5vCgkgIDxsZWlvPiBub3QKCSAgPGxlaW8+IGVyciwgZmlyc3QgYnVmZmVyCgkgIDxsZWlvPiBqdXN0IHdoZW4gSSByZWNlaXZlIHRoZSBuZXh0IG9uZSBJIHNlZSBpZiBpdCBoYXMgYSB2YWxpZCB0aW1lc3RhbXAgb24gaXQgb3Igbm90CgkgIDxsZWlvPiBzbyBJIGNhbid0IHZlcnkgd2VsbCBxdWV1ZSBpdCB1cCBpbiB0aGUgY2hhaW4gZWl0aGVyLCBJIG1pZ2h0IGJlIGJsb2NraW5nIHRoZSB2ZXJ5IGxhc3Qgc3VidGl0bGUgZm9yIG5vIHJlYXNvbiBvciBzb21ldGhpbmcKCSAgPHRwbT4gYnV0IHlvdSBjb3VsZCBqdXN0IGRyb3AvaWdub3JlIHBhY2tldHMgdW50aWwgeW91IGZpbmQgb25lLCByaWdodD8KCSAgPGxlaW8+IGZpbmQgd2hhdD8KCSAgPHRwbT4gYSBjb21wbGV0ZSBwYWNrZXQ/CgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpc24ndCB0aGF0IHRoZXkgYXJlbid0IGNvbXBsZXRlCgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZXkgYXJlIGN1dCBhY3Jvc3MgbXVsdGlwbGUgR3N0QnVmZmVycyBieSB0aGUgZGVtdXhlciB3aXRob3V0IHRoZSBoYWNrCgkgIDx0cG0+IHN1cmUsIEkgdW5kZXJzdGFuZCB0aGF0CgkgIDx0cG0+IGJ1dCB5b3UgY2FuJ3QgZWFzaWx5IGRldGVybWluZSBpZiBhIEdzdEJ1ZmZlciBjb250YWlucyBoZSBzdGFydCBmcmFnbWVudCBvZiBhIHBhY2tldCBvciBub3Q/CgkgIDxsZWlvPiBJIGd1ZXNzIEkgY291bGQgcGFyc2UgdGhlIHBhY2tldCBhbmQgc2VlIGlmIGl0cyBsZW5ndGggaXMgZW5vdWdoLCBqdXN0IGxpa2UgdGhlIGxpYmR2YnN1YiBjb2RlIGV2ZW50dWFsbHkgZG9lcyB0b28KCSAgPGxlaW8+IEkgY2FuLCBpdCBoYXMgYSB0aW1lc3RhbXAgaWYgaXQncyB0aGUgZmlyc3QgY2h1bmsKCSAgPGxlaW8+IEkganVzdCBuZXZlciBrbm93IGlmIEkgbmVlZCB0byB3YWl0IGZvciBtb3JlLCB3aXRob3V0IHNvbWUgcGFyc2luZwoJICA8dHBtPiBhaCBvawoJICA8bGVpbz4gd2hpbGUgdGhlIGRlbXV4ZXIgY291bGQganVzdCBnaXZlIG1lIGFuIHVuY3V0IG9uZSBpbiB0aGUgZmlyc3QgcGxhY2UKCSAgPGxlaW8+IGxpa2UgaXQgYWx3YXlzIGRvZXMgZm9yIHByb2dyYW0gc3RyZWFtcwoJICA8bGVpbz4gdGhhdCBnYXRoZXJfcGVzIGlzIGFsd2F5cyBzZXQgaW4gZ3N0bXBlZ2RlbXV4LCBidXQgbm90IGluIGdzdG1wZWd0c2RlbXV4CgoyMDEwLTExLTI5IDIwOjA2OjA3ICswMDAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L1RPRE86CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogaW5pdGlhbCB2ZXJzaW9uLCB3b3JrIGluIHByb2dyZXNzCgoyMDEwLTEyLTA2IDE4OjAxOjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSAgYW5kcm9pZDogdXBkYXRlIGZvciAwLjExCgoyMDEwLTEyLTA2IDE3OjU0OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBjb25maWc6IHVwZGF0ZSBjb25maWcKCjIwMTAtMTItMDYgMTI6MjU6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb3BlbiAwLjExIGJyYW5jaAoKMjAxMC0xMi0wMyAxODoxMTo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MTE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgdG8gZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjA5OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMS0wOCAxOTo1ODozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGluY3JlYXNlIGtleWZyYW1lIGF3YXJlbmVzcwoJICAuLi4gd2hpY2ggaXMgbm90IHBhcnRpY3VsYXIgcmVsZXZhbnQgZm9yIGF1ZGlvIHBhcnNpbmcsIGJ1dCBtb3JlIHNvCgkgIGluIHZpZGVvIGNhc2VzLiAgSW4gcGFydGljdWxhciwgYXV0by1kZXRlcm1pbmUgaWYgZGVhbGluZyB3aXRoIHZpZGVvIChjYXBzKS4KCjIwMTAtMTItMDMgMTc6NDY6MjcgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0dzdEFuZHJvaWQuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnJpbmdidWZmZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5jOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmg6CgkgIHN5czogQWRkIGFuZHJvaWQgYXVkaW9mbGluZ2Vyc2luawoKMjAxMC0xMi0wMyAxNzo0Mjo0NiArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkgIEFkZCBidWlsZCBzeXN0ZW0gZm9yIEFuZHJvaWQKCjIwMTAtMTItMDIgMTU6NDU6MDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc21hbCBhcGkgZG9jIHVwZGF0ZQoKMjAxMC0xMi0wMiAwNTozOToxNCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBdm9pZCBhc3NlcnRpb24gb24gaW1hZ2UgZmluaXNoaW5nCgkgIEFzIGltZ2Jpbl9maW5pc2hlZCgpIGlzIHNjaGVkdWxlZCBmcm9tIGdfaWRsZV9hZGQsIGl0IG1pZ2h0CgkgIGJlIHJ1biBhIGxpdHRsZSBsYXRlciB0aGFuIGV4cGVjdGVkLCB0aGlzIGNhbiBsZWFkIHRvIHRoZSBhcHBsaWNhdGlvbgoJICBzZXR0aW5nIGNhbWVyYWJpbiB0byByZWFkeSBiZWZvcmUgaW1nYmluX2ZpbmlzaGVkKCkgcnVucy4gSW4gdGhpcyBjYXNlLAoJICB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGdvZXMgdG8gMCBhbmQgYW4gYXNzZXJ0aW9uIGhhcHBlbnMuCgkgIFRoaXMgcGF0Y2ggcmVsYXhlcyB0aGUgaW1nYmluX2ZpbmlzaGVkKCkgY2hlY2sgb24gdGhlIHByb2Nlc3NpbmcKCSAgY291bnRlci4KCjIwMTAtMTItMDEgMjM6MTQ6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogSGFuZGxlIG5hbWVzIHdpdGggbXVsdGlwbGUgdW5kZXJzY29yZXMKCjIwMTAtMTItMDEgMjM6MDQ6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmg6CgkgIGNob3BteWRhdGE6IEFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgc3BsaXRzIHVwIGEgc3RyZWFtIGludG8gcmFuZG9tbHktc2l6ZWQgYnVmZmVycy4KCSAgVXNlZnVsIChtYXliZSkgZm9yIHRlc3RpbmcgcGFyc2Vycy4KCjIwMTAtMTItMDIgMDM6MDk6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBSZW1vdmUgbGVmdG92ZXIgY29tbWVudAoJICBSZW1vdmUgY29tbWVudCB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZSBhbnltb3JlCgoyMDEwLTEyLTAxIDIzOjIxOjMzICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnX3N0cmNhc2VjbXAgZnVuY3Rpb24uCgkgIFJlcGxhY2UgZ19zdHJjYXNlY21wIHdpdGggZ19hc2NpaV9zdHJjYXNlY21wLgoKMjAxMC0xMi0wMSAyMzoyMDozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIDQuMi4xIG9uIE9TWC4KCjIwMTAtMTItMDEgMTU6Mjg6NTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkgIGFjM3BhcnNlOiB1c2UgcHJvcGVyIEVBQy0zIGNhcHMKCjIwMTAtMTItMDEgMTA6NDU6NDkgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXN2YyBmdHJ1bmNhdGUgaW5jb21wYXRpYmlsaXR5CgkgIEZpeGVzICM2MzYxODUuCgoyMDEwLTEwLTA5IDE3OjM5OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zY2hyb2VuYy5jOgoJICBBZGQgYSBzY2hyb2VuYyB0ZXN0CgoyMDEwLTExLTI3IDIwOjEzOjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgRml4IHBhZCB0ZW1wbGF0ZSBtZW1sZWFrcwoJICBQYWQgdGVtcGxhdGVzIHJldHVybmVkIGJ5IGdzdF9zdGF0aWNfcGFkX3RlbXBsYXRlX2dldCgpIHdlcmUgbm90CgkgIGJlaW5nIHVucmVmZmVkLgoKMjAxMC0xMS0zMCAxODo0MzoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlYWRkIHNldHRpbmcgb2YgZ3JhbnVsZXBvcwoJICBSZXZlcnQgcGFydHMgb2YgbGFzdCBwYXRjaCB0aGF0IHJlbW92ZWQgc2V0dGluZyBvZiBncmFudWxlcG9zLgoJICBvZ2dtdXggc3RpbGwgcmVxdWlyZXMgY29ycmVjdCBncmFudWxlcG9zIGluIGluY29taW5nIHBhY2tldC4KCjIwMTAtMTEtMjkgMjA6MjE6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBEb24ndCBvdmVycmlkZSB0aW1lc3RhbXBzIHNldCBieSBiYXNlIGNsYXNzCgkgIEJlY2F1c2UgdGhlIGJhc2UgY2xhc3MgZG9lcyBpdCBjb3JyZWN0bHkuCgkgIEZpeGVzOiAjNjM1NzIwLCAjNjI1NTU4LgoKMjAxMC0xMS0zMCAxNTo0MTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIHVuZXhwZWN0ZWQgc3RyYXkgbWV0YWRhdGEKCjIwMTAtMTEtMzAgMTU6NDA6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgcHJvcGVyIF9OT05FIG91dHB1dCB2YWx1ZSB3aGVuIGFwcGxpY2FibGUKCjIwMTAtMTEtMTUgMjA6MDM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmg6CgkgIGpwMmtkZWNpbWF0b3I6IEFkZCBhIEpQRUcyMDAwIGRlY2ltYXRvciBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBkcm9wcyBpbmZvcm1hdGlvbiBmcm9tIEpQRUcyMDAwIGltYWdlcyB3aXRob3V0IHJlZW5jb2RpbmcuCgoyMDEwLTExLTIzIDIxOjQ1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBFbWl0IFNPUCBtYXJrZXJzIGluIGV2ZXJ5IGNvZGVzdHJlYW0gcGFja2V0CgkgIFRoaXMgbWFrZXMgcGFyc2luZyBtdWNoIGVhc2llciwgZmFzdGVyIGFuZCBtb3JlIHJlbGlhYmxlLgoKMjAxMC0xMS0yNyAxNjowNzoxOSAtMDYwMCAgQWxlamFuZHJvIEdvbnphbGV6IDxhZ29uemFsZXpAZGV4dHJhdGVjaC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdzdF9xdG11eF9jaGVja19kaWZmZXJlbmNlIHZlcmlmeSBiZWZvcmUgc3VidHJhY3QKCSAgQXZvaWQgbmVnYXRpdmUgb3ZlcmZsb3cgYnkgY2hlY2tpbmcgdGhlIG9yZGVyIG9mIG9wZXJhbmRzCgkgIG9uIHN1YnRyYWN0aW9uIG9mIHVuc2lnbmVkIGludGVnZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1ODc4CgoyMDEwLTExLTI3IDE4OjU4OjA3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IHNvbWUgbWVtbGVha3MKCjIwMTAtMTEtMTUgMTE6Mzc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogbWlub3IgbWVtbGVhayBmaXgKCjIwMTAtMTEtMjUgMTk6MzE6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjMxOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgdmlkZW9tZWFzdXJlOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyNToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgdXNlbGVzcyB2YXJpYWJsZQoKMjAxMC0xMS0yNSAxOToyNDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIHN0ZXJlbzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjE6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcDogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzCgoyMDEwLTExLTI1IDE5OjIxOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMTowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgcmVhbDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MjA6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgZnJlZXplOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDE6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjU2OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NTI6NDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQ5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgc2RsYXVkaW9zaW5rOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0NzoxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm9lZGluZ2VyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo0MzozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjQzOjE4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkgIGNvZ2Rvd25zYW1wbGU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6NDI6MzMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJICBvcGVuY3Y6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgkgIC4uLiBhbmQgZml4IGluZGVudGF0aW9uCgoyMDEwLTExLTI1IDE4OjMzOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6MzA6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkgIGNvZ2ZyYW1lOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODoyOTozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogSW5pdGlhbGl6ZSB2YXJpYWJsZQoJICBJbiB0aGUgY2FzZSB0aGUgdGFnX3NldHRlciByZXR1cm5zIHNvbWV0aGluZywgZW1wdHlfdGFncyB3b3VsZCBiZQoJICBnYXJiYWdlIHZhbHVlLgoKMjAxMC0xMS0yNSAxODoyOToyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODoyNjoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTc6MTQ6MjMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBwb3NzaWJsZSBkaXZpc2lvbi1ieS16ZXJvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU3ODYKCjIwMTAtMTAtMjMgMDE6NTY6MDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHBhc3MgdGhlIFNobVBpcGUgdG8gdGhlIGZ1bmN0aW9uIGNsb3NpbmcgdGhlIHNobSBhcmVhCgoyMDEwLTEwLTIzIDAxOjIyOjQzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgdGhlIHJpZ2h0IGNvdW50ZXIgd2hlbiBmcmVlaW5nIGJ1ZmZlcnMKCjIwMTAtMTAtMjMgMDE6MTI6NDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSAgc2htYWxsb2M6IE1hbnVhbGx5IGRlY2lkZSB0byB1c2UgR0xpYiBvciBub3QgaW4gdGhlIHNobWFsbG9jCgkgIFNvIG1ha2UgaXQgZWFzaWVyIGZvciBlbWJlZGRlcnMgdG8gdXNlIGl0IHdpdGggb3Igd2l0aG91dCBHbGliCgoyMDEwLTEwLTIwIDIyOjQ5OjU5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBSZW1vdmUgZHVwbGljYXRlZCBhcmd1ZW1lbnQKCjIwMTAtMTAtMjAgMjI6Mzk6MjEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEZpeCBzb2NrZXQgbGVhayBvbiBjb25uZWN0KCkgZXJyb3IKCjIwMTAtMTAtMjAgMjI6Mjg6MTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBzcF9jbGllbnRfcmVjdiByZXR1cm5zIG5lZ2F0aXZlIG9uIGVycm9yLCBzbyBtYWtlIHRoZSByZXR2YWwgc2lnbmVkCgoyMDEwLTEwLTIwIDIyOjE3OjMwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBSZW5hbWUgY29uZnVzaW5nbHkgbmFtZWQgdmFyaWFibGUKCjIwMTAtMTAtMjAgMjI6MTQ6MDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IENoYW5nZSBwZXJtaXNzaW9ucyBvbiBvbGQgc2htIGFyZWFzIHRvbwoJICBDaGFuZ2UgdGhlIHBlcm1pc3Npb25zIG9uIG9sZCBzaG0gYXJlYXMKCjIwMTAtMTAtMjAgMjI6MDE6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSB0aGUgbWFjcm8gZm9yIHRoZSBsYXN0IGVycm9yIHRvbwoKMjAxMC0xMC0yMCAyMTo1MjozMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlICJhYmxvY2siIGZvciBhbGwgU2htQWxsb2NCbG9jayB2YXJpYWJsZXMKCSAgVXNlIHRoZSBhYmxvY2sgdmFyaWFibGUgbmFtZSBmb3IgU2htQWxsb2NCbG9ja3MgYW5kIGJsb2NrIGZvcgoJICBTaG1CbG9jawoKMjAxMC0xMC0yMCAyMTo1MjoyNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIG1vcmUgY29tbWVudHMKCjIwMTAtMTAtMjAgMjE6NDE6MTUgKzAyMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBzdHlsaXN0IGltcHJvdmVtZW50cwoKMjAxMC0xMC0yMCAyMTozMzoyNCArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSAgc2htOiBFeHBsYWluIHNvbWUgZmllbGRzCgkgIEV4cGxhaW4gd2hhdCBzb21lIG9mIHRoZSBmaWVsZHMgaW4gdGhlIGFsbG9jYXRvciBhY3R1YWxseSBtZWFuCgoyMDEwLTExLTIyIDE1OjI2OjA2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEZpeCBidWZmZXIgdGltZXN0YW1wIGFuZCBkdXJhdGlvbgoJICBUaGUgZmllbGQgcmF0ZSBpcyB0d2ljZSB0aGUgZnJhbWUgcmF0ZSBvZiB0aGUgc3JjIHBhZCBhbmQgc28gdGhlIGR1cmF0aW9uIG9mCgkgIG9uZSBvdXRwdXQgYnVmZmVyIGlzIHNyY19mcHNfZCAvICgyICogc3JjX2Zwc19uKS4KCjIwMTAtMTEtMjIgMTA6Mjk6NTYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogUmVuYW1lIHBhdHRlcm4gcHJvcGVydHkgdG8gZmllbGQtcGF0dGVybgoJICBUaGlzIGlzIG1vc3RseSBmb3IgY2xhcml0eSBvZiB3aGF0IHRoZSBwcm9wZXJ0eSBtZWFucyBhbmQsIEkgYmVsaWV2ZSwgbWFrZXMgdGhlCgkgIHBhdHRlcm4tb2Zmc2V0IHByb3BlcnR5IG1vcmUgY29tcHJlaGVuc2libGUuCgoyMDEwLTExLTIyIDEwOjI3OjIyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBwYXR0ZXJuIG9mZnNldCBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGFsbG93cyBvbmUgdG8gc3RhcnQgYXQgYW55IHBvaW50IHdpdGhpbiB0aGUgZmllbGQgcGF0dGVybiBhZnRlcgoJICBhIGRpc2NvbnRpbnVpdHkgKHdoZW5ldmVyIGdzdF9pbnRlcmxhY2VfcmVzZXQgKCkgaXMgY2FsbGVkKS4gVGh1cyB3aXRoIHRoZQoJICAyOjM6MzoyIHBhdHRlcm4sIGZvciBleGFtcGxlLCBvbmUgY2FuIHN0YXJ0IGF0IG9mZnNldCAyIGFuZCBhY2hpZXZlIDM6MjoyOjMKCSAgb3Igb2Zmc2V0IDEgYW5kIGFjaGlldmUgMzozOjI6Mi4KCjIwMTAtMTEtMTkgMTc6MDE6NDEgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IENyZWF0ZSBpbWFnZWJpbiBlbGVtZW50cyB3aGVuIGltYWdlIG1vZGUgaXMgc2V0IGluIGNhbWVyYWJpbiBOVUxMIHN0YXRlCgkgIFRoaXMgcGF0Y2ggcmVmYWN0b3JzIGltYWdlYmluIGVsZW1lbnQgY3JlYXRpb24gYW5kIGxpbmtpbmcgaW50byBzZXBhcmF0ZSBmdW5jdGlvbnMsCgkgIGFuZCBhZGRzIHJlLXVzaW5nIGFsc28gZm9yIGltYWdlYmluIGludGVybmFsbHkgY3JlYXRlZCBlbGVtZW50cy4KCSAgU28gdGhpcyByZWZhY3RvcmluZyBhbGxvd3MgY3JlYXRpbmcgaW1hZ2ViaW4gZWxlbWVudHMgYWxyZWFkeSBpbiBOVUxMIHN0YXRlIHdoZW4KCSAgYXBwbGljYXRpb24gc2V0cyB0aGUgaW1hZ2UgbW9kZSwgYW5kIG5leHQgc3RhdGUgY2hhbmdlIGZyb20gTlVMTCB0byBSRUFEWSB3aWxsIGJlIGZhc3Rlci4KCSAgVGhpcyByZWR1Y2VzIGZpcnN0IGNhcHR1cmUgbGF0ZW5jeS4KCSAgRWFybGllciB0aGUgZWxlbWVudHMgd2VyZSBib3RoIGNyZWF0ZWQgYW5kIGxpbmtlZCBpbiBOVUxMIHRvIFJFQURZIHN0YXRlIGNoYW5nZS4KCjIwMTAtMTEtMjIgMTI6MjM6MzAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogQ3JlYXRlIGEgc3ViLWJ1ZmZlciB3aXRoIHRoZSBzZWN0aW9uIGxlbmd0aAoKMjAxMC0xMS0xOSAxNToyMzo0MSAtMDUwMCAgSm9zaCBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSAgb3BlbmN2OiBmaXggY2FwcyBpc3N1ZXMgYW5kIGV4dGVuZCBzdXBwb3J0ZWQgY2FwcyBmb3Igc29tZSBlbGVtZW50cwoJICBTb21lIGVsZW1lbnRzIGhhZCB2YWd1ZSBjYXBzLCBzdWNoIGFzICJ2aWRlby94LXJhdy1yZ2IiLCB3aGljaCBjYXVzZWQgcHJvYmxlbXMKCSAgYXQgbGVhc3Qgd2l0aCB0ZXh0d3JpdGUuIEZvciBvdGhlciBlbGVtZW50cywgdGhlIHVuZGVybHlpbmcgT3BlbkNWIGZ1bmN0aW9ucwoJICBzdXBwb3J0IG1vcmUgdGhhbiBqdXN0IG9uZSBpbWFnZSB0eXBlLCBzbyBJIGluY3JlYXNlZCB0aGUgbnVtYmVyIG9mIHN1cHBvcnRlZAoJICBjYXBzLgoJICBJIGNyZWF0ZWQgYSB1dGlsaXR5IGZ1bmN0aW9uICJnc3Rfb3BlbmN2X2NhcHNfZnJvbV9jdl9pbWFnZV90eXBlIiwgc28gZWFjaAoJICBlbGVtZW50IGNyZWF0ZXMgY2FwcyBkaXJlY3RseSBmcm9tIE9wZW5DViBpbWFnZSB0eXBlcywgc3VjaCBhcyBDVl84VUMxIGZvcgoJICA4LWJpdCBncmF5c2NhbGUuIFRoaXMgZnVuY3Rpb24gdXNlcyBnc3R2aWRlbyB0byBjcmVhdGUgdW5pZm9ybSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MzA0CgoyMDEwLTExLTIyIDE3OjQzOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IFNtYWxsIG9wdGltaXphdGlvbiBvbiB0YWdzIHBhcnNpbmcKCSAgT3B0aW1pemUgYSBsaXR0bGUgYXZvaWRpbmcgY29weWluZyBhIHRhZ2xpc3Qgd2hlbiBwYXJzaW5nIHhtcC9leGlmCgkgIGRhdGEuCgoyMDEwLTA5LTE3IDA5OjUyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogQXZvaWQgbG9zaW5nIHRoZSBsYXN0X2J1ZmZlciB3aGVuIHN3aXRjaGluZwoJICBUaGlzIHBhdGNoIG1ha2VzIG91dHB1dHNlbGVjdG9yIHRha2UgYW4gZXh0cmEgcmVmIHdoZW4gcHVzaGluZwoJICB0aGUgbGFzdF9idWZmZXIgdG8gYXZvaWQgaXQgbG9zaW5nIGl0IGR1cmluZyB0aGUgc3dpdGNoIGZ1bmN0aW9uLgoJICBUaGlzIG1ha2VzIHJlc2VuZC1sYXRlc3QgcHJvcGVybHkgd29yayBpZiB0aGUgYWN0aXZlLXBhZCBpcyBjaGFuZ2VkCgkgIGR1cmluZyB0aGUgc3dpdGNoIGZ1bmN0aW9uIGJ1ZmZlciBwdXNoaW5nIChvbiBhIHBhZCBwcm9iZSwgZm9yIGV4YW1wbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTE3CgoyMDEwLTA5LTE3IDA5OjQ0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogUmVjaGVjayBwZW5kaW5nIHN3aXRjaCBhZnRlciBwdXNoaW5nIGJ1ZmZlcgoJICBUaGlzIHBhdGNoIG1ha2VzIG91dHB1dC1zZWxlY3RvciBhbHdheXMgcmVjaGVjayBpZiB0aGVyZSdzIGEKCSAgcGVuZGluZyBwYWQgc3dpdGNoIGFmdGVyIHB1c2hpbmcgYSBidWZmZXIsIHByZXZlbnRpbmcgdGhhdAoJICBpdCBwdXNoZXMgYSBidWZmZXIgb24gdGhlICd3cm9uZycgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5OTE3CgoyMDEwLTExLTIyIDE1OjEwOjI2ICswMjAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnQlNDBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IHNjYWxhYmxlIGFuZCByZWxhdGl2ZSBzdmcgb3ZlcmxheSB3aXRoIGNhaXJvCgkgIEFkZCBhIGNhaXJvK2xpYnJzdmcgYmFzZWQgb3ZlcmxheSBlbGVtZW50IHRvIHRoZSByc3ZnIHBsdWdpbi4KCjIwMTAtMTEtMjIgMTc6MDY6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBtYWtlOiByZW1vdmUgdHJhY2VzIG9yIG1vdmVkL3JlbW92ZWQgcGx1Z2lucwoKMjAxMC0xMS0yMiAxNzowNToyMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIG1ha2U6IGFkZCBtaXNzaW5mIHRyYWlsaW5nIFwgdG8gZml4IHRoZSBidWlsZAoKMjAxMC0xMS0yMSAyMzoxMToxOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHJlbW92ZSBpbmNvcnJlY3QgY2hlY2sKCjIwMTAtMTEtMTkgMTc6NTU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgcmVtbmFudCBvZiBvYnNvbGV0ZSBwcm9wZXJ0eQoKMjAxMC0xMS0xOSAxNToxODo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJICB0ZXN0czogcXRtdXg6IGFsc28gdW5pdCB0ZXN0IGZyYWdtZW50ZWQgZmlsZSBjYXNlcwoKMjAxMC0wNy0zMCAxMjo0ODoyOSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbGxvdyBzcGVjaWZ5aW5nIHRyYWsgdGltZXNjYWxlCgkgIFRoaXMgaXMgbWFpbmx5IGJlY2F1c2UgU21vb3Roc3RyZWFtaW5nIGNsaWVudCBhcmUgYnJva2VuIGFuZCBkb24ndAoJICB0YWtlIHRoZSBUaW1lU2NhbGUgcHJvcGVydHkgaW50byBhY2NvdW50LgoKMjAxMC0xMS0xOSAxNzo0MTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5jbHVkZSBzZHRwIGF0b21zIGZvciBpc212IGZyYWdtZW50ZWQgZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE5IDE5OjE3OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5hYmxlIGRlZmF1bHQgZnJhZ21lbnRlZCBmaWxlIGZvciBpc21sbXV4CgoyMDEwLTA5LTAyIDEzOjU4OjA1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgcXRtdXg6IGFkZCBpc21sbXV4LCBmb3IgZnJhZ21lbnRlZCBpc21sIG1ham9yIGJyYW5kCgoyMDEwLTExLTE5IDE0OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZmluYWxpemUgc2lua3BhZHMgbGlzdAoKMjAxMC0wNy0yMiAxOTo0MDowNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtb292IGluIHN0cmVhbWhlYWRlcgoKMjAxMC0wOC0wNiAxMzoyNjoyNyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgc3RyZWFtYWJsZSBwcm9wZXJ0eSB0byBhdm9pZCBidWlsZGluZyBmcmFnbWVudGVkIG1mcmEgaW5kZXgKCjIwMTAtMTEtMTggMTY6NDg6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGQgbWZyYSB0byBmcmFnbWVudGVkIGZpbGUKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTE1IDE1OjE3OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogb3B0aW9uYWxseSBjcmVhdGUgZnJhZ21lbnRlZCBmaWxlCgkgIEluIHRoaXMgbW9kZSwgYW4gaW5pdGlhbCBlbXB0eSBtb292IChjb250YWluaW5nIG9ubHkgc3RyZWFtIG1ldGFkYXRhKSBpcyB3cml0dGVuLAoJICBmb2xsb3dlZCBieSBmcmFnbWVudHMgY29udGFpbmluZyBhY3R1YWwgZGF0YSAoYWxvbmcgd2l0aCByZXF1aXJlZCBtZXRhZGF0YSkuCgkgIE5ldyBmcmFnbWVudHMgYXJlIHN0YXJ0ZWQgZWl0aGVyIGF0IGtleWZyYW1lIChpZiBzdWNoIGFyZSBzcGFyc2UpIG9yIHdoZW4KCSAgcHJvcGVydHkgY29uZmlndXJlZCBkdXJhdGlvbiBleGNlZWRlZC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgkgIEZpeGVzICM2MzI5MTEuCgoyMDEwLTExLTE1IDE1OjEyOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogdXNlIGhlbHBlciB0byBzZXQgYXRvbSBmbGFncyBmcm9tIGdpdmVuIHVpbnQKCjIwMTAtMTEtMDkgMTY6NDk6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZWZhY3RvciBjb25maWd1cmluZyBhbmQgc2VuZGluZyBvZiBtb292CgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0xMS0wOSAxNTo1NDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGV4dHJhIHRvcC1sZXZlbCBhdG9tIGhhbmRsaW5nCgkgIEFsc28gY2hlY2sgYSBiaXQgbW9yZSBmb3IgcG9zc2libGUgZXJyb3JzLCBhbmQgZnJlZSBwcm9wZXIgaXRlbXMgaW4gc3VjaCBjYXNlLgoKMjAxMC0xMS0wOSAxNTowMToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIHNsaWdodGx5IHVzaW5nIGJ1ZmZlciBoZWxwZXIKCjIwMTAtMTEtMDUgMTM6NDg6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzaW5mb3JtaW5nIGNvbW1lbnQKCjIwMTAtMTEtMDUgMTI6MDg6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGRlbGVnYXRlIG12ZXggaGFuZGxpbmcgdG8gYXRvbXMKCSAgLi4uIHdoaWNoIGtlZXBzIHF0bXV4IHNpbXBsZXIuCgoyMDA5LTA5LTI4IDE2OjExOjM1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgbXZleC90cmV4IGluIGhlYWRlciBpZiBmcmFnbWVudGVkCgkgIE9uZSAidHJleCIgaXMgYWRkZWQgcGVyICJ0cmFrIi4gV2UgZG9uJ3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlcywKCSAgYnV0IHRoZSAidHJleCIgYm94IGlzIG1hbmRhdG9yeS4KCjIwMDktMDktMjggMTM6MDE6MzAgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICBxdG11eDogYWRkIGEgY291cGxlIG9mIGZvdXJjYyBmb3IgZnJhZ21lbnRlZCBtcDQKCjIwMTAtMTEtMDUgMTE6MDg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdm9pZCByZW1vdmluZyB0ZW1wIGZpbGUgd2hlbiBlcnJvciBvY2N1cnJlZAoKMjAwOS0wOS0zMCAxNzoxNjozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHRydW5jYXRlIGJ1ZmZlciBmaWxlIGFmdGVyIGVhY2ggc2VuZAoKMjAwOS0wOS0yOCAxNjo1Mzo1MSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSB0ZW1wIGZpbGUgd2hlbiByZXNldC9maW5hbGl6ZQoKMjAxMC0wOC0xOCAwMjowMDoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogUHVzaCB0YWdzIGFmdGVyIHNldHRpbmcgc3JjcGFkIGNhcHMKCSAgVGhpcyBwYXRjaCBkZWZlcnMgZW1pc3Npb24gb2YgdGFnIGV2ZW50cyB0aWxsIGNhcHMgYXJlIHNldCBvbiB0aGUgc291cmNlCgkgIHBhZCBvZiBqcGVncGFyc2UsIHNvIHRoYXQgdGhlc2UgdGFncyBjYW4gYmUgc2VlbiBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI3MjExCgoyMDEwLTExLTE5IDE4OjUxOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTExLTE5IDE4OjI2OjU5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCB0aGlua28KCjIwMTAtMTEtMTkgMTc6MjU6MDEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IGhhbmRsaW5nIG9mIFRPVCBhbmQgVERUIHNlY3Rpb25zLiBGaXhlcyAjNjM1MjgxLgoJICBURFQgYW5kIFRPVCBzZWN0aW9ucywgd2l0aCBQSUQ9MHgxNCwgZG9lc24ndCBleHRlbmQgdG8gc2V2ZXJhbCBwYWNrZXRzCgkgIGFuZCB0aGUgc2VjdGlvbiBmaWx0ZXIgaXMgbm90IG5lZWRlZCBoZXJlIGFuZCBzaG91bGRuJ3QgYmUgdXNlZCBhdCBhbGwKCSAgZm9yIHRoZXNlIHRhYmxlcyBiZWNhdXNlIHRoZSBoYXZlIGEgZGlmZmVyZW50IHN0cnVjdHVyZS4KCSAgRm9yIGV4YW1wbGUsIFREVCB0YWJsZXMgd2VyZSBub3QgcGFyc2VkIGZvciBvZGQgaG91cnMgYmVjYXVzZSB0aGlzIGJpdAoJICBpcyB0aGUgJ2N1cnJlbnRfbmV4dF9pbmRpY2F0b3InIGJpdCBmb3IgdGhlIG90aGVyIHNlY3Rpb25zLCBhbmQgdGhlIHRhYmxlCgkgIHdhcyBkaXNjYXJkZWQuCgoyMDEwLTExLTE5IDE3OjIyOjA2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBkb24ndCBjYWxjdWxhdGUgdGhlIENSQyBmb3IgVE9UIHRhYmxlcy4gRml4ZXMgIzYzNTI4MS4KCSAgVE9UIHRhYmxlcywgd2l0aCB0YWJsZV9pZD0weDczLCBkb24ndCBoYXZlIGEgQ1JDLCBzbyBkb24ndCBjYWxjdXRlIGl0CgoyMDEwLTExLTE4IDE4OjQyOjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogQWRkIFREVCB0byB0aGUgaW5pdGlhbCBwaWRzIGZpbHRlciBmb3IgZHZic3JjLiBGaXhlcyAjNjM1MjAwLgoKMjAxMC0xMS0xNiAxNzozNTozNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ3N0X2pwZWdfcGFyc2Vfc2tpcF9tYXJrZXIgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0wOC0xMyAxMzoxNDozMCArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiB1c2UgYnl0ZSByZWFkZXIgYWNjZXNzb3JzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTcgMTA6NDk6MzAgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW5saW5lIGdzdF9qcGVnX3BhcnNlX3NvZiAoKQoJICBObyBmdW5jdGlvbmFsIGNoYW5nZXMgKGhvcGVmdWxseSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTc6MjM6MzUgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xOCAxMDo1ODowNiAtMDMwMCAgQWxla3NleSBMaW0gPGFsc3Jvb3RAbWVtYmVyLmZzZi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IHVzZSBhdWRpbyBjbG9jayBhZnRlciBzdG9wcGluZyB2aWRlbyBjYXB0dXJlCgkgIEFkZGEgcHJvdmlkZSBjbG9jayBmdW5jdGlvbiB0byBjYW1lcmFiaW4gdG8gbWFrZSBpdCBub3QKCSAgcHJvdmlkZSB0aGUgYXVkaW8gY2xvY2sgb2YgdGhlIHJlY29yZCBiaW4gd2hlbiBubyB2aWRlbwoJICByZWNvcmRpbmcgaXMgaGFwcGVuaW5nCgkgIEZpeGVzICM2MTMzNzkKCjIwMTAtMTEtMTcgMTY6MjM6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgY29ycmVjdCBvZmZzZXQgd2hlbiBhZGRpbmcgaW5kZXggZW50cnkKCSAgLi4uIGJlYXJpbmcgaW4gbWluZCB0aGF0IEJVRkZFUl9PRkZTRVQgaXMgbWVkaWEgc3BlY2lmaWMgYW5kIG1heSBub3QKCSAgcmVmbGVjdCB0aGUgYmFzaWMgb2Zmc2V0IGFmdGVyIGhhdmluZyBiZWVuIHBhcnNlZC4KCjIwMTAtMTEtMTcgMTQ6MzA6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbmhhbmNlbWVudHMgZm9yIHRpbWVzdGFtcCBtYXJrZWQgZnJhbWVkIGZvcm1hdHMKCSAgVGhhdCBpcywgYXMgc3VjaCBmb3JtYXRzIGFsbG93IHN1YmNsYXNzIHRvIGV4dHJhY3QgcG9zaXRpb24gZnJvbSBmcmFtZSwKCSAgaXQgaXMgcG9zc2libGUgdG8gZXh0cmFjdCBkdXJhdGlvbiAoaWYgbm90IG90aGVyd2lzZSBwcm92aWRlZCkKCSAgZnJvbSAobmVhcikgbGFzdCBmcmFtZSwgYW5kIGEgc2VlayBjYW4gZmFpcmx5IGFjY3VyYXRlbHkgdGFyZ2V0IHRoZSByZXF1aXJlZAoJICBwb3NpdGlvbi4KCSAgRml4ZXMgIzYzMTM4OS4KCjIwMTAtMTEtMTYgMTc6MDY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBmcmFtZSBzY2FubmluZyBwZWZvcm1lZCBieSBfbG9vcAoKMjAxMC0xMS0xNiAxODowNDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNsaWdodGx5IG9wdGltaXplIHNlbmRpbmcgb2YgcGVuZGluZyBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMC0xMS0xNiAxNzowNDozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCSAgQXJyYW5nZSBmb3IgdXBzdHJlYW0gYXMgd2VsbCBhcyBkb3duc3RyZWFtIGZsdXNoaW5nIHdoZW4gc2Vla2luZy4KCSAgQWxzbyBkZXRlcm1pbmUgdXBzdHJlYW0gc2l6ZSBhcyB3ZWxsIGFzIHNlZWthYmlsaXR5LiAgQWRqdXN0IHNvbWUgY29tbWVudHMKCSAgdG8gcmVhbGl0eSBhbmQgZW1wbG95IGRlYnVnIHN0YXRlbWVudCBpbiBwcm9wZXIgb3JkZXIuCgoyMDEwLTExLTE3IDE1OjMzOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IG1pbm9yIGNsZWFudXBzCgoyMDEwLTExLTE3IDE1OjI0OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIEFESUYgc3JjIGNhcHMgc2V0dGluZwoKMjAxMC0xMS0xNiAxMjoxMTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IHBhcnNlIHNlZWt0YWJsZQoJICBGaXhlcyAjNjMxMzg5IChwYXJ0aWFsbHkpLgoKMjAxMC0xMS0xNiAxMjowODo1NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGFuZCBlbmFibGUgZGVmYXVsdCBiYXNlcGFyc2Ugc2VnbWVudCBjbGlwcGluZwoKMjAxMC0xMS0xMiAwMDo0MDozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBmaXggbmFzdHkgZGVhZGxvY2sKCSAgV2UgY2Fubm90IGNhbGwgYW55IENNQnVmZmVyUXVldWUgZnVuY3Rpb25zIHdoaWxlIGhvbGRpbmcgdGhlIGxvY2sgdGhhdAoJICBvdXIgY2FsbGJhY2sgYWxzbyBkZXBlbmRzIG9uLiBTbyBub3cgd2UgbWFrZSB1c2Ugb2YgQ01CdWZmZXJRdWV1ZSdzCgkgIHRyaWdnZXIgQVBJIGluIG9yZGVyIHRvIGdldCBub3RpZmllZCB3aGVuIHRoZSBxdWV1ZSBoYXMgZGF0YS4KCjIwMTAtMTEtMTEgMjM6NDE6NDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJICBjbWFwaTogY292ZXIgQ01CdWZmZXJRdWV1ZSdzIHRyaWdnZXIgQVBJCgoyMDEwLTExLTExIDIxOjQyOjAzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IHVubG9jayBzaG91bGQgYWxzbyBub3RpZnkKCSAgT3RoZXJ3aXNlIHdlIGRlcGVuZCBvbiBiZWluZyB3b2tlbiB1cCBieSB0aGUgQ29yZU1lZGlhIHF1ZXVlIGdldHRpbmcKCSAgaXRzIG5leHQgYnVmZmVyLgoKMjAxMC0xMS0xMCAyMzoxNjo1MSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IGRvbid0IHB1c2ggc3luY2hyb25vdXNseSBmcm9tIGNhbGxiYWNrCgkgIFRoZSBjb2RlYyB0aGF0IGNhbGxlZCB1cyBtaWdodCBiZSBob2xkaW5nIGxvY2tzIHRvIHNoYXJlZCByZXNvdXJjZXMsIHNvCgkgIHdlIHNob3VsZCBuZXZlciBwdXNoIGRvd25zdHJlYW0gZnJvbSB3aXRoaW4gaXRzIGJ1ZmZlciBjYWxsYmFjay4KCSAgTm90ZSB0aGF0IGEgR3N0QnVmZmVyTGlzdCBpcyBub3QgdXNlZCBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byBwcmVzZXJ2ZQoJICB0aGUgYnVmZmVyIG1ldGFkYXRhIGhlbGQgYnkgb3VyIEdzdEJ1ZmZlciBzdWJjbGFzc2VzLgoKMjAxMC0xMS0xMCAyMDo1Mjo0NyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBidW1wIEguMjY0IGxldmVsIGZyb20gMS4zIHRvIDMuMAoJICBUaGlzIHNob3VsZCBiZSB0dXJuZWQgaW50byBhIHByb3BlcnR5LgoKMjAxMC0xMS0xMCAyMDo0NDoxNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBhZGQgYmFzaWMgZGV2aWNlIHNlbGVjdGlvbiBzdXBwb3J0CgoyMDEwLTExLTEwIDIwOjUxOjI3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgY3ZhcGk6IGFkZCB3cmFwcGVyIGZvciBJTyBzdXJmYWNlIGFjY2VzcwoJICBUbyBiZSB1c2VkIGluIGEgZnV0dXJlIHZpZGVvIHNpbmsgZm9yIHplcm8tY29weSByZW5kZXJpbmcuCgoyMDEwLTExLTEwIDIwOjI1OjI4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJICBjZWxhcGk6IGFkZCBjYXB0dXJlIHBvcnQgdHlwZSBjb25zdGFudHMKCjIwMTAtMTEtMDkgMjI6NDM6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgdW51c2VkIHNyY19zdHJpZGUgdmFyaWFibGUgZnJvbSBibGl0IGZ1bmN0aW9ucwoKMjAxMC0xMS0wOSAxODoxMDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2xpYmdzdHBob3RvZ3JhcGh5LmRlZjoKCSAgd2luMzI6IEFkZGluZyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgLmRlZiBmaWxlCgkgIEFkZHMgY2hlY2stZXhwb3J0cyB0byAtYmFkIHRvIGhhdmUgcGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIC5kZWYgZmlsZSBjcmVhdGVkCgkgIEZpeGVzICM1Nzg2MjkKCjIwMTAtMTEtMDkgMTk6Mzg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogZml4IHNpbGx5IGxlYWsgaW4gX3Jlc2V0CgoyMDEwLTExLTA4IDIzOjU0OjMxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBiaXBsYW5hciBpcyBhY3R1YWxseSBOVjEyLCBub3QgSTQyMAoJICBEJ29oIQoKMjAxMC0xMS0wOCAyMToyMjoxMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiByZW1vdmUga2V5ZnJhbWUgZW5mb3JjZW1lbnQgd29ya2Fyb3VuZAoJICBXYXMgb25seSBuZWVkZWQgZm9yIG9sZCBpT1Mgd2hlcmUgdGhlIEguMjY0IGVuY29kZXIgZGlkbid0IHN1cHBvcnQKCSAga1ZURW5jb2RlRnJhbWVPcHRpb25LZXlfRm9yY2VLZXlGcmFtZS4KCjIwMTAtMTEtMDggMTg6NTY6NTIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBjdmFwaTogYWRkIGEgZmV3IGV4dHJhIGJpdHMgb2Ygd3JhcHBpbmcKCjIwMTAtMTEtMDggMTU6MDg6MTkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGFwcGxlbWVkaWE6IGxvY2sgQ1ZQaXhlbEJ1ZmZlciByZWFkLW9ubHkKCSAgQXMgcGVyIEFwcGxlJ3MgZG9jcywgdGhpcyBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSBieSBhdm9pZGluZyByZWR1bmRhbnQKCSAgaW52YWxpZGF0aW9ucyBvZiBleGlzdGluZyBjYWNoZXMgb2YgdGhlIGJ1ZmZlciBjb250ZW50cy4KCjIwMTAtMTEtMDggMTA6MzM6NTggLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogUmVtb3ZlIGdzdHJpbmcgbGVhawoJICBTaW1wbGlmeSBnc3QtY2FtZXJhYmluLXRlc3QgYnkgcmVtb3ZpbmcgR1N0cmluZyBhbmQgcmVwbGFjaW5nCgkgIHdpdGggZ2NoYXIgZm9yIHRoZSBmaWxlbmFtZSBoYW5kbGluZy4gQWxzbyByZW1vdmVzIGEgbGVhayBvZgoJICB0aGUgR1N0cmluZyBkYXRhLgoKMjAxMC0xMS0wOCAxNjowMDoyMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhdm9pZCByZWZmaW5nIHRoZSBlbGVtZW50IGluIGNoYWluCgoyMDEwLTExLTA4IDE1OjQ1OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGFkZCBzb21lIG1pbmltYWwgbG9nZ2luZyB0byB0cmFjayB3aGF0IGl0IGlzIGRvaW5nCgoyMDEwLTExLTA4IDEzOjUyOjQ5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSAgY2VsdmlkZW9zcmM6IHB1dCBwbGFuYXIgZmlyc3QgaW4gdGVtcGxhdGUgY2FwcwoKMjAxMC0xMS0wOCAxMzo0OTowNCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSAgYXBwbGVtZWRpYTogaW1wcm92ZSB2dGVuYy92dGRlYyBwZXJmb3JtYW5jZQoJICBQcm9maWxpbmcgb2YgSC4yNjQgZW5jb2RlIGFuZCBkZWNvZGUgcmV2ZWFsZWQgdGhhdCBjb252ZXJzaW9ucwoJICBiZXR3ZWVuIHBhY2tlZCBhbmQgcGxhbmFyIHdlcmUgaGFwcGVuaW5nIGJlaGluZCB0aGUgc2NlbmVzLgoJICBIZW5jZSB3ZSBub3cgY2hvb3NlIEk0MjAgaW5zdGVhZCBvZiBZVVkyLgoKMjAxMC0xMC0yMiAxODowNzowMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogYWRkIGFzeW5jIGJ1cyBoYW5kbGVyIHRvIGdzdC1jYW1lcmFiaW4tdGVzdAoJICBTcGxpdHMgdGhlIGJ1cyBoYW5kbGVyIGludG8gc3luYyBhbmQgYXN5bmMsIGtlZXBpbmcgdGhlCgkgIHByZXBhcmUteHdpbmRvdyBoYW5kbGluZyBhdCB0aGUgc3luYyBmb3IgZmFzdGVyIGhhbmRsaW5nIGFuZAoJICBtb3ZpbmcgdGhlIG90aGVycyB0byB0aGUgYXN5bmMgaGFuZGxlcgoKMjAxMC0xMS0wNiAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogd2Ugc3RpbGwgcmVxdWlyZSBHdGsrID49IDIuMTQuMCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IDIuMAoJICBUaGUgY2hlY2sgZm9yIHRoZSBtaW5vciB2ZXJzaW9uIHdhcyBkcm9wcGVkIGluIG9uZSBvZiB0aGUgcHJldmlvdXMKCSAgY29tbWl0cy4KCjIwMTAtMTEtMDUgMTY6NTE6NTcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogbWVhc3VyZSBmcHMgd2hlbiBzdGF0aXN0aWNzIGlzIGVuYWJsZWQKCSAgQWxzbyByZWZhY3RvciB0aW1lc3RhbXBpbmcgc2xpZ2h0bHkuCgoyMDEwLTExLTA1IDE1OjE0OjA4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IHVwZGF0ZSB0byBuZXcgQ2VsZXN0aWFsIGFuZCBNZWRpYVRvb2xib3ggQVBJcwoJICBUaGlzIG1lYW5zIGNlbHZpZGVvc3JjIGlzIG5vIGxvbmdlciBjb21wYXRpYmxlIHdpdGggaU9TIDMueC4KCjIwMTAtMTEtMDUgMTU6MDg6NTYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogZml4IGRlYnVnIGNhdGVnb3J5IGRlc2NyaXB0aW9uCgoyMDEwLTExLTA1IDE1OjA4OjAyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJICBjZWxhcGk6IHVwZGF0ZSB0byByZWZsZWN0IG5ldyBBUEkgb24gaU9TIDQueAoJICBBbHNvIGFkZCByZW1haW5pbmcgcHJvcGVydHkgY29uc3RhbnRzIGZvciBkZXZpY2UgYW5kIHN0cmVhbS4KCjIwMTAtMTEtMDUgMTU6MDc6MzggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJICBtdGFwaTogdXBkYXRlIHRvIHJlZmxlY3QgbmV3IEFQSSBvbiBpT1MgNC54CgkgIEFsc28gYWRkIHJlbWFpbmluZyBwcm9wZXJ0eSBjb25zdGFudHMgZm9yIGRldmljZSBhbmQgc3RyZWFtLgoKMjAxMC0xMS0wNSAxMDo1Njo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvbG9yc3BhY2U6IFVwZGF0ZSBnZW5lcmF0ZWQgT1JDIHNvdXJjZXMKCjIwMTAtMDgtMjYgMTc6MDg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzICdpZGxlJyBwcm9wZXJ0eQoJICBBZGRzICdpZGxlJywgYSByZWFkLW9ubHkgYm9vbGVhbiBwcm9wZXJ0eSB0aGF0IHRlbGxzIGFwcGxpY2F0aW9ucwoJICBpZiB0aGVyZSBpcyBhbnkgY2FwdHVyaW5nL3NhdmluZy9lbmNvZGluZyBnb2luZyBvbiBpbiBjYW1lcmFiaW4uIElmCgkgIG5vdCwgaXQgaXMgc2FmZSB0byBzZXQgaXQgdG8gTlVMTCBhbmQgcmVsZWFzZSByZXNvdXJjZXMgd2l0aG91dAoJICBsb3NpbmcgZGF0YS4KCjIwMTAtMDUtMDUgMTM6NTg6MDcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkICJyZWFkeS1mb3ItY2FwdHVyZSIgcHJvcGVydHkKCSAgQWRkICJyZWFkeS1mb3ItY2FwdHVyZSIgcHJvcGVydHkgdG8gaW5kaWNhdGUgaWYgcHJlcGFyaW5nIGEgbmV3CgkgIGNhcHR1cmUgaXMgcG9zc2libGUuCgkgICJyZWFkeS1mb3ItY2FwdHVyZSIgY2hhbmdlcyBiZWZvcmUgdGhlICdpbWFnZS1kb25lJyBzaWduYWwsIHNvCgkgIHRoZSBhcHBsaWNhdGlvbiBjYW4gYmUgbm90aWZpZWQgdGhhdCBpdCBjYW4gZG8gYSBuZXcgY2FwdHVyZQoJICBldmVuIGJlZm9yZSB0aGUgcHJldmlvdXMgb25lIGhhcyBmaW5pc2hlZCBlbmNvZGluZy9zYXZpbmcuCgoyMDEwLTExLTA1IDAwOjMyOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkb24ndCBldmVuIGNoZWNrIGZvciBHdGsrIGlmIC0tZGlzYWJsZS1leGFtcGxlcyBpcyBzcGVjaWZpZWQKCSAgVGhlcmUgYXJlIEd0aystYmFzZWQgZXhhbXBsZXMgaW4gcGx1Z2luIGRpcnMgYW5kIHRlc3RzL2ljbGVzLyB0b28sIGFuZAoJICB3ZSB3YW50IHRvIGRpc2FibGUgdGhvc2UgYXMgd2VsbCB0aGVuLgoKMjAxMC0xMS0wNSAwMDoyNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIC0td2l0aC1ndGsgb3B0aW9uIGFuZCBkZWZhdWx0IHRvIEd0aysgMi4wIHdoaWxlIHRoZSAzLjAgQVBJIGlzIHN0aWxsIGluIGZsdXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNDAxNAoKMjAxMC0xMS0wMyAwMDowNDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvYmFyY29kZS5wbmc6CgkgIHRlc3RzOiBhZGQgdmVyeSBzaW1wbGUgemJhciB1bml0IHRlc3QKCSAgTm90IHZhbGdyaW5kIGNsZWFuIHlldCAoY291bGQgYmUgemJhcidzIGZhdWx0IHRob3VnaCkuCgoyMDEwLTExLTA0IDE5OjI1OjI0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBtYWtlIHZpZGVvIHNvdXJjZSBlbGVtZW50IGRldGFpbHMgY29uc2lzdGVudAoJICBJbnNwaXJlZCBieSB0aGUgdjRsMnNyYyBlbGVtZW50IGRldGFpbHMuCgoyMDEwLTExLTA0IDE5OjExOjA0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBjb25zaXN0ZW50bHkgdXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0xMS0wNCAxOTowMjo1MCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiB1cGRhdGUgZS1tYWlsIGFkZHJlc3MKCjIwMTAtMTEtMDQgMTg6NTk6NDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IHJlbmFtZSBpcGhvbmVjYW1lcmFzcmMgdG8gY2VsdmlkZW9zcmMKCSAgVGhpcyBpcyBpbiBvcmRlciB0byBpbXByb3ZlIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIHRocmVlIHNvdXJjZXMuCgoyMDEwLTExLTA0IDE3OjU4OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRvbid0IGV4cGxpY2l0bHkgZW1wdHkgdGhlIGJ1ZmZlciBxdWV1ZQoJICBXZSdyZSBob2xkaW5nIHRoZSBvbmx5IHJlZmVyZW5jZSB0byBpdCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gZXhwbGljaXRseQoJICBlbXB0eSBpdCByaWdodCBiZWZvcmUgbGV0dGluZyBnbyBvZiBvdXIgcmVmZXJlbmNlLgoKMjAxMC0xMS0wNCAxNzo1MDozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBtYWtlIGJ1ZmZlciBvZmZzZXQgc3RhcnQgZnJvbSB6ZXJvCgoyMDEwLTExLTA0IDE3OjQ3OjI1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBpbXBsZW1lbnQgemVyby1jb3B5IGJ5IHVzaW5nIGJ1ZmZlci1mYWN0b3J5CgkgIFRoaXMgbWVhbnMgd2UnbGwgd3JhcCBlYWNoIENvcmVWaWRlbyBidWZmZXIgaW5zaWRlIGEgR3N0QnVmZmVyIGluc3RlYWQgb2YKCSAgbWFraW5nIGEgY29weS4KCjIwMTAtMTEtMDQgMTc6NDQ6MTIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSAgYnVmZmVyZmFjdG9yeTogYWRkIHN1cHBvcnQgZm9yIHdyYXBwaW5nIENWQnVmZmVyCgoyMDEwLTExLTA0IDE3OjI0OjAzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBmaXggdXAgcmVmY291bnRpbmcKCSAgU2hvdWxkIGtlZXAgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIHRoZSBkZXZpY2UsIGJ1dCB3ZSBkb24ndCBuZWVkIHRvIG1hbmFnZQoJICB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGVsZW1lbnRzIG9mIGFuIE5TTXV0YWJsZUFycmF5IGFzIGl0IHRha2VzIGNhcmUgb2YKCSAgdGhhdCBmb3IgdXMuCgoyMDEwLTExLTA0IDE3OjE2OjA1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBxdGtpdHZpZGVvc3JjOiBzaW1wbGlmeSB0aW1lc3RhbXBpbmcgYWxnb3JpdGhtCgkgIEFsaWduaW5nIHRpbWVzdGFtcHMgb24gZHVyYXRpb24gYm91bmRhcmllcywgc2tpcHBpbmcgZnJhbWVzIGFuZCBzbyBmb3J0aAoJICBhcmUgY2xlYXJseSB0aGluZ3MgdGhhdCBmYWxsIG91dHNpZGUgdGhlIHNjb3BlIG9mIGEgdmlkZW8gc291cmNlLgoKMjAxMC0xMS0wNCAxNDoxNDowOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IGFkZCBuZXcgaU9TIHZpZGVvIHNvdXJjZSBiYXNlZCBvbiBBVkZvdW5kYXRpb24KCSAgVGhpcyBlbGVtZW50IG1ha2VzIHVzZSBvZiB0aGUgZG9jdW1lbnRlZCBBVkZvdW5kYXRpb24gZnJhbWV3b3JrIG1hZGUKCSAgYXZhaWxhYmxlIHN0YXJ0aW5nIHdpdGggaU9TIDQuMCwgYW5kIGhlbmNlIHRoaXMgbWVhbnMgd2UgY2FuIGZpbmFsbHkKCSAgY2FwdHVyZSB2aWRlbyB1c2luZyBhIHB1YmxpYyBBUEkuCgoyMDEwLTExLTA0IDE0OjI0OjM2ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCBzdHJlYW0tZm9ybWF0IGNhcHMgdXNlZCBmb3IgSC4yNjQKCSAgVGhlIHN0cmVhbS1mb3JtYXQncyAiYXZjLXNhbXBsZSIgbWVtYmVyIGlzIG5vdyBjYWxsZWQganVzdCAiYXZjIi4KCjIwMTAtMTEtMDQgMTQ6Mjk6MzcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiB1cGRhdGUgZS1tYWlsIGFkZHJlc3NlcwoKMjAxMC0xMS0wNCAxNDoxODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEludmVyc2UgLWJhc2UgdmVyc2lvbiBjaGVjayBsb2dpYyB0byBhY3R1YWxseSBtYWtlIHNlbnNlCgoyMDEwLTExLTAzIDE4OjM0OjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBMaW51eCBDb29rZWQgQ2FwdHVyZSAoU0xMKSBmcmFtZXMKCjIwMTAtMTEtMDMgMTg6MjM6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRmFpbCBvbiB1bmtub3duIHZlcnNpb24gb3IgbGlua3R5cGUKCSAgVGhlIGVsZW1lbnQgb25seSBrbm93cyBhYm91dCBtYWpvciB2ZXJzaW9uIDIgYW5kIG9ubHkgZGVjb2RlcyBsaW5rdHlwZSBldGhlcm5ldAoKMjAxMC0xMS0wMyAxODowMjo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBTZW5kIGVycm9yIEdzdE1lc3NhZ2UgaWYgc3RyZWFtIGRvZXNuJ3QgaGF2ZSB0aGUgZXhwZWN0ZWQgbWFnaWMKCjIwMTAtMTEtMDMgMTY6MTY6MjQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHNlbmQgVERUIHRhYmxlcyBtZXNzYWdlcyBpbiBhIHNlcmlhbGl6ZWQgZXZlbnQgZG93bnN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMzOTE3CgoyMDEwLTExLTAzIDE1OjM3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIElZVTEKCjIwMTAtMTEtMDMgMTU6MTI6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogRmlyc3QgdmVyc2lvbiBvZiBZVVY5IGFuZCBZVlU5IGltcGxlbWVudGF0aW9uCgoyMDEwLTExLTAzIDA5OjIwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBVc2UgR1NUX0NIRUNLX1BMVUdJTlNfQkFTRV9WRVJTSU9OKCkgaW5zdGVhZCBvZiBvdGhlciBoYWNrcwoKMjAxMC0xMC0xOCAxNTozMjoxNCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uCgkgIFVzZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBnb3AgaGVhZGVyIGFuZCBwaWN0dXJlCgkgIGhlYWRlciB0byBjYWxjdWxhdGUgdGhlIHBpY3R1cmUgdGltZXN0YW1wLiAodGltZV9jb2RlCgkgIGFuZCB0ZW1wb3JhbF9yZWZlcmVuY2UpIGFuZCBhZGFwdCB0byB1cHN0cmVhbSB0aW1lc3RhbXBzIGlmCgkgIHByb3ZpZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjIyCgoyMDEwLTExLTAyIDIzOjA4OjMwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgYXBwbGVtZWRpYTogc3dpdGNoIHZ0YXBpIHRvIENGVHlwZVJlZiBzdHlsZSB0eXBlZGVmcwoKMjAxMC0xMS0wMiAyMjo1MzozMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHN1cHBvcnQgcHVibGljIHZlcnNpb24gb2YgQ29yZU1lZGlhCgkgIEFsc28gcmVuYW1lIHRoZSByZWxldmFudCBBUEkgc28gd2UgbWlycm9yIHRoZSBwdWJsaWMgQVBJIG1vcmUgY2xvc2VseSwgYW5kCgkgIHN3aXRjaCB0byBDb3JlRm91bmRhdGlvbiBDRlR5cGVSZWYgc3R5bGUgdHlwZWRlZnMuIFdlIHN0aWxsIHN1cHBvcnQgdGhlIG9sZAoJICBwcml2YXRlIENvcmVNZWRpYSBpbiBvcmRlciB0byBub3QgYnJlYWsgT1MgWCBzdXBwb3J0LgoJICBUaGlzIG1lYW5zIHRoYXQgdnRlbmMgYW5kIHZ0ZGVjIGFyZSBub3cgY29tcGF0aWJsZSB3aXRoIGlPUyA0LngsIGFuZCBpbgoJICB0aGVvcnkgYWxzbyBmdXR1cmUgdmVyc2lvbnMgb2YgT1MgWCwgd2hlcmUgdGhpcyBBUEkgbWF5IHR1cm4gcHVibGljIGxpa2UKCSAgaXQgaGFzIG9uIGlPUy4KCjIwMTAtMTEtMDIgMTc6NDY6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBoYW5kbGUgbW9yZSBmb3JtYXRzIHRoYXQgc3RhcnQgd2l0aCBhbiA4LWJpdCBZIHBsYW5lCgkgIFdlIGNhbiBoYW5kbGUgbW9zdCBwbGFuYXIgWVVWIGxheW91dHMgdG9vLCBhcyBsb25nIGFzIHdlIGRvbid0CgkgIHRlbGwgemJhciBhYm91dCB0aGUgY2hyb21hIHBsYW5lcy4KCjIwMTAtMTEtMDIgMTc6MTg6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHVzZSBjb3JyZWN0IHN0cmlkZQoJICBGaXhlcyBkZXRlY3Rpb24gZm9yIGltYWdlcyB3aXRoIGEgd2lkdGggdGhhdCdzIG5vdCBhIG11bHRpcGxlIG9mIGZvdXIuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDgzMAoKMjAxMC0xMS0wMiAxNjo1NDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBidWlsZCB3aXRoIGN1cnJlbnQgZ2l0IG9mIGdzdC1wbHVnaW5zLWJhc2UKCSAgaWZkZWYgdGVzdHMgZG9uJ3Qgd29yayBzbyB3ZWxsIGlmIHdlIGRlZmluZSB0aGVtIGluIHRoZSBjb2RlCgkgIGFib3ZlIGluIGNhc2UgdGhleSBhcmVuJ3QgZGVmaW5lZC4KCjIwMTAtMTEtMDIgMTY6MzU6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBtaW5vciBjbGVhbi11cAoJICBGaXggdHlwbyBhbmQgdXNlIERFRkFVTFRfRk9PIGRlZmluZSBmb3IgcHJvcGVydHkgZGVmYXVsdC4KCjIwMTAtMTEtMDIgMTY6MzI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBkaXNhYmxlIGNhY2hlIGJ5IGRlZmF1bHQKCSAgU2luY2UgaXQgYnJlYWtzIHN0aWxsIGltYWdlIGJhciBjb2RlIGRldGVjdGlvbi4KCjIwMTAtMTEtMDIgMTY6MDU6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgOCBiaXQgcGFsZXR0ZWQgUkdCCgkgIFRoaXMgbmVlZHMgdGhlIDggYml0IHBhbGV0dGVkIHN1cHBvcnQgZnJvbSAtYmFzZQoJICB3aGljaCB3aWxsIGJlIGNvbW1pdHRlZCBhZnRlciByZWxlYXNlLiBXaXRob3V0IHRoaXMKCSAgdGhlIDggYml0IHBhcnRzIGFyZSBkaXNhYmxlZC4KCjIwMTAtMTEtMDIgMTA6MjQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogQWRkIG1pc3NpbmcgY2hhbmdlIHRvIHByZXZpb3VzIGNvbW1pdHMKCSAgRm9yZ290IHRvIGFkZCB0aGlzIGNoYW5nZSB0byB0aGUgbGF0ZXN0IGNvbW1pdHMuIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLgoKMjAxMC0xMS0wMiAwOTozOTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBGaXggbGVha3MgaW4gdGhlIHByZXZpZXcgaGFuZGxpbmcKCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIGJ1cyBhZnRlciBhZGRpbmcgdGhlIHdhdGNoLgoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgZWxlbWVudCBhZnRlciBnZXR0aW5nIGl0IHdpdGgKCSAgZ3N0X2Jpbl9nZXRfYnlfbmFtZS4KCjIwMTAtMTEtMDIgMDk6Mzg6MjAgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGxlYWsgYSBjYXBzCgkgIGdzdF9jYXBzX3JlcGxhY2UgZG9lc24ndCB0YWtlIG93bmVyc2hpcCwgYnV0IHJlZnMgdGhlIGNhcHMuIFNvIHdlCgkgIHVucmVmIHRoZSByZW1haW5pbmcgY2Fwcy4KCjIwMTAtMDktMjQgMTY6Mjg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZXNldCBwcmUtbmlnaHQtbW9kZSBzdG9yZWQgZnBzIHdoZW4gbW9kZSBjaGFuZ2VzCgkgIFdoZW4gc3dpdGNoaW5nIGJldHdlZW4gdmlkZW8vc3RpbGwgbW9kZXMgdGhlIHByZS1uaWdodC1tb2RlIGZwcwoJICBzaG91bGQgYmUgcmVzZXQgdG8gcHJldmVudCBpdCBiZWluZyB1c2VkIGluIHRoZSBpbmNvcnJlY3QgbW9kZSwgY2F1c2luZwoJICB0aGUgdmlkZW9zb3VyY2UgdG8gZmFpbCBjb25maWd1cmluZyBpdHNlbGYKCjIwMTAtMDktMjEgMTY6MjM6NDcgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIG1hbnkgcG9zdC1wcm9jZXNzaW5nIGVsZW1lbnRzCgkgIEluc3RlYWQgb2YgdGFraW5nIGEgc2luZ2xlIGVsZW1lbnQgYXMgaW5wdXQgZm9yIHRoZSBpbWFnZSBwb3N0CgkgIHByb2Nlc3Npbmcgb3B0aW9uLCB0YWtlIGEgbGlzdCBvZiBjb21tYSBzZXBhcmF0ZWQgZWxlbWVudHMKCSAgdGhhdCB3aWxsIGJlIHVzZWQuCgoyMDEwLTA5LTIwIDExOjU0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogU3RvcmUgYXBwIHByZWZlcnJlZCBjYXB0dXJlIHBhcmFtZXRlcnMgc2VwYXJhdGVseQoJICBTdG9yZSB3aWR0aC9oZWlnaHQvZnBzIGZvciB2aWRlbyBjYXB0dXJlcyBpbiBhIHNlcGFyYXRlIHZhcmlhYmxlCgkgIHRoYW4gdGhlIG9uZSB0aGF0IHN0b3JlcyB0aGUgY3VycmVudGx5IHVzZWQgdmFsdWUuCgkgIFRoaXMgcHJldmVudHMgdGhlIHVzZXIgcHJlZmVyZW5jZXMgdG8gYmUgbG9zdCB3aGVuIHJlc2V0dGluZwoJICB0aGUgY3VycmVudGx5IHVzZWQgZGltZW5zaW9ucyBmb3IgbmlnaHQgbW9kZSwgZm9yIGV4YW1wbGUKCjIwMTAtMDktMjAgMDg6NDI6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbnVwIHVzZWQgY2FwcyB3aGVuIGdvaW5nIHRvIE5VTEwKCSAgUmVzZXRzIHVzZWQgY2FwcyBzbyB0aGF0IGNhbWVyYWJpbiBkb2Vzbid0IHRyeSB0byB1c2UgdGhlbQoJICB3aGVuIHJlc3RhcnRpbmcsIHdoZXJlIGVsZW1lbnRzL3Byb3BlcnRpZXMgbWlnaHQgaGF2ZSBjaGFuZ2VkCgkgIGFuZCB0aGUgb2xkIGNhcHMgYmUgaW5jb21wYXRpYmxlCgoyMDEwLTA5LTA5IDEwOjUwOjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggcHJpb3JpdHkgZm9yIGlkbGVfYWRkIGZ1bmN0aW9uCgkgIEFkZHMgYSBoaWdoZXIgcHJpb3JpdHkgdG8gdGhlIGlkbGVfYWRkIGZ1bmN0aW9uIGZvciB3aGVuCgkgIHRoZSBpbWFnZSBiaW4gZmluaXNoZWQgdGhlIGltYWdlIGNhcHR1cmUuIFRoaXMgcmVkdWNlcyB0aGUKCSAgZGVsYXkgZm9yIHRoZSBhcHBsaWNhdGlvbiB0byBiZSBub3RpZmllZCBhYm91dCB0aGlzLgoKMjAxMC0xMS0wMSAyMzowNDo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogbG9nIHRpbWVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm0KCjIwMTAtMTEtMDEgMjI6NDA6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IG1vdmUgcmVvY2N1cmluZyBsb2dzIHRvIExPRyBhbmQgcmVtb3ZlIGEgZG91YmxlIGluZm8KCSAgTGVzcyBkZWJ1ZyBzcGV3IGluIERFQlVHIGNhdGVnb3J5LiBObyBuZWVkIHRvIGxvZyBwYWQgYWdhaW4gaWYgd2UgdXNlCgkgIEdTVF9MT0dfT0JKRUNUKHBhZCwuLi4pLgoKMjAxMC0xMS0wMSAxNTo1Mzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29nLCBjb2xvcnNwYWNlOiB1cGRhdGUgb3JjIGJhY2t1cCBmdW5jdGlvbnMgZm9yIGxhdGVzdCBjaGFuZ2VzCgkgIFNob3VsZCBmaXggYnVpbGQgb24gc3lzdGVtcyB3aXRob3V0IHRoZSBsYXRlc3Qgb3JjLgoKMjAxMC0xMS0wMSAxNTo1MzozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgZm9yIG5ldyB0cmFuc2xhdGlvbnMKCjIwMTAtMTAtMzEgMjM6NDY6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBSR0IxNSBhbmQgQkdSMTUKCjIwMTAtMTAtMzEgMjM6NDQ6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBSR0IxNiBhbmQgQkdSMTYKCjIwMTAtMTAtMzEgMjM6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFkxNgoKMjAxMC0xMC0zMSAyMzoyNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogRml4IFk4MDAgT1JDIGdldGxpbmUgaW1wbGVtZW50YXRpb24KCjIwMTAtMTAtMzEgMjM6MDc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgQTQyMAoKMjAxMC0xMC0zMSAyMzowMDowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBZNDFCCgoyMDEwLTEwLTMxIDIyOjM5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFNEVFYvSERUViBZVVYgY29udmVyc2lvbnMKCjIwMTAtMTAtMzEgMjI6MjE6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgY29tbWVudCBmb3IgdGhlIEE0MjAgZ2V0bGluZS9wdXRsaW5lIHRhYmxlIHJvdwoKMjAxMC0xMC0zMSAyMDo0MDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIGNvbnN0IHRvIHRoZSBzb3VyY2UgYXJyYXlzIGFuZCB0aGUgZ2V0bGluZS9wdXRsaW5lIHRhYmxlCgoyMDEwLTEwLTMxIDE5OjQyOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogTWFrZSBmYXN0LXBhdGggdHJhbnNmb3JtIHRhYmxlIGNvbnN0CgoyMDEwLTEwLTMxIDE5OjM5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogT25seSBkbyB0aGUgSTQyMC0+WVVZMiBjb252ZXJzaW9uIG9uY2UgcGVyIHNjYW5saW5lIGluIHRoZSBmYXN0IHBhdGgKCjIwMTAtMTAtMjkgMTQ6MDg6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2Ugb25seSB1cHN0cmVhbSBkdXJhdGlvbiBpZiBpdCBwcm92aWRlcyBvbmUKCjIwMTAtMTAtMjUgMTQ6MTU6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZsb3cgdXBkYXRlX2JpdHJhdGUgY29kZQoJICAuLi4gd2hpY2ggbWFrZXMgbG9jYWwgdmFyaWFibGVzIHJlcHJlc2VudCByZWFsIHN0YXRlIGJldHRlciwgYW5kIGF2b2lkcwoJICB0cmlnZ2VyaW5nIHVubmVlZGVkIHVwZGF0ZXMvYWN0aW9ucy4KCjIwMTAtMTAtMjUgMTQ6MTM6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDEwLTEwLTI4IDE4OjUxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGdhdWRpZWZmZWN0czogSW5jbHVkZSBnc3Rjb250cm9sbGVyIGhlYWRlciBhbmQgYWRkIHRoZSByZXF1aXJlZCBDRkxBR1MKCjIwMTAtMTAtMjcgMTQ6NTc6MzYgKzAyMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IG1hZGUgZmlsdGVyIHBhcmFtZXRlcnMgZHluYW1pYyBhbmQgY29udHJvbGxhYmxlCgoyMDEwLTA3LTAxIDE1OjA3OjQxICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHdvcmsgYXJvdW5kIHNodXRkb3duIGRlYWRsb2NrCgkgIEdldE92ZXJsYXBwZWRSZXN1bHQoKSBtaWdodCBuZXZlciByZXR1cm4gd2l0aCBzb21lIGRyaXZlcnMuIFRpbWUgb3V0CgkgIGFmdGVyIDEwMDAgbXMuIFdlIGNhbm5vdCByZWFsbHkgZml4IHRoaXMgd2l0aG91dCBlaXRoZXI6CgkgIDEpIENvbnRyb2xsaW5nIHRoZSBzdHJlYW1pbmcgdGhyZWFkIHNvIHdlIGNhbiBkbyBDYW5jZWxJbygpIGZyb20gdGhhdAoJICB0aHJlYWQuCgkgIDIpIFN3aXRjaCB0byB1c2luZyBJTyBjb21wbGV0aW9uIHBvcnRzLgoKMjAxMC0wNi0xMSAxODowNDo1OCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiByZW1vdmUgSlBFRyB2YWxpZGF0aW9uIGhhY2sKCSAgVGhpcyBzaG91bGQgY2xlYXJseSBub3QgYmUgZG9uZSBpbiBhIHZpZGVvIHNvdXJjZS4KCjIwMTAtMDQtMjAgMTI6MDU6NDUgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHNldCBQcmlvcml0eVN1YkNsYXNzIHRvIEtTUFJJT1JJVFlfTk9STUFMIGluc3RlYWQgb2YgMQoJICBJbiBvcmRlciB0byBtYXRjaCB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uLgoKMjAxMC0wNC0yMCAxMTo1OToyMyArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiByZXRyeSB3aGVuIEtzQ3JlYXRlUGluIGZhaWxzIHdpdGggRVJST1JfTk9UX1JFQURZCgkgIFR1cm5zIG91dCB0aGF0IHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZG9lcyB0aGlzLCBoZW5jZSB3ZSBuZWVkIHRvCgkgIG1pcnJvciB0aGlzIGJlaGF2aW91ci4gVGhpcyB0eXBpY2FsbHkgaGFwcGVucyB3aXRoIGhhcmR3YXJlIHRoYXQgdGFrZXMKCSAgc29tZSB0aW1lIHRvIGluaXRpYWxpemUuCgoyMDA5LTEwLTI2IDE2OjA5OjAwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpbXByb3ZlIGZyYW1lcmF0ZSBmcmFjdGlvbiBjb252ZXJzaW9ucwoJICAqIEZvciBpbnN0YW5jZSA3LjUgZnBzIHNob3VsZCBiZSByZXByZXNlbnRlZCBhcyAxNS8yIGluc3RlYWQgb2YgNy8xLgoJICAqIENsYW1wIEF2Z1RpbWVQZXJGcmFtZSBhbmQgZHdCaXRSYXRlIHRvIGFjY291bnQgZm9yIHJvdW5kaW5nIGVycm9ycy4KCjIwMDktMTAtMTIgMTc6MjY6MTUgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpbXByb3ZlIGVycm9yLWhhbmRsaW5nCgkgIE1vc3QgaW1wb3J0YW50IHBhcnQgaGVyZSBpcyBzcGVjaWFsLWNhc2luZyAiZGV2aWNlIGJ1c3kiIHNvIHRoZSBhcHBsaWNhdGlvbgoJICBpcyBhYmxlIHRvIHByb3ZpZGUgYmV0dGVyIGZlZWRiYWNrIHdoZW4gYW5vdGhlciBhcHBsaWNhdGlvbiBpcyB1c2luZyB0aGUKCSAgZGV2aWNlLgoKMjAwOS0wOS0wNyAxNjo0NTo1NyArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKCSAgKiBNYWtlIHRoZSBkcml2ZXIgd3JpdGUgZGlyZWN0bHkgaW50byBlYWNoIEdzdEJ1ZmZlciB0byBhdm9pZCBtZW1jcHkoKS4KCSAgKiBEb24ndCBtZW1zZXQoKSB0aGUgYnVmZmVyIGJlZm9yZSByZXVzaW5nIGl0LgoJICAqIFJlY3ljbGUgbWVtb3J5IGJ5IGtlZXBpbmcgdHdvIHNwYXJlIGJ1ZmZlcnMuIFR3byBiZWNhdXNlIHRoZSBzaW5rCgkgIGRvd25zdHJlYW0gbWF5IGtlZXAgYSByZWYgdG8gdGhlIHByZXZpb3VzIGJ1ZmZlci4KCSAgTm90ZSB0aGF0IHdlIGFsaWduIGJ1ZmZlcnMgb24gaGlnaGVzdCBwb3NzaWJsZSBieXRlIGJvdW5kYXJ5ICg0MDk2KSBzbyB3ZQoJICBkb24ndCBoYXZlIHRvIHRha2UgaW50byBhY2NvdW50IHdoYXQga2luZCBvZiBhbGlnbm1lbnQgdGhlIGRyaXZlciByZXF1aXJlcy4KCjIwMDktMDktMDcgMTY6MDk6MzQgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICB3aW5rczogc3RvcmUgcHJpdiBwb2ludGVyIGluc3RlYWQgb2YgbG9va2luZyBpdCB1cAoKMjAwOS0wOC0zMSAxOTozMzozMCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBwb3N0IGVycm9yIG1lc3NhZ2Ugb24gZmxvdy11bmV4cGVjdGVkCgoyMDA5LTA4LTMxIDE5OjI4OjUwICswMjAwICBBbmRyZXMgQ29sdWJyaSA8YW5kcmVzLmNvbHVicmlAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgd2lua3M6IGFkZCBwcm9wZXJ0eSBwcm9iaW5nIHN1cHBvcnQKCjIwMDktMDgtMzEgMTk6MjY6MzYgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIHdpbmtzOiBzb3J0IGRldmljZXMgdGhhdCBsb29rIGxpa2UgY2FtZXJhcyBmaXJzdAoKMjAwOS0wOC0zMSAxOToyNTowMiArMDIwMCAgS251dCBJbmdlIEh2aWRzdGVuIDxrbnV0LmluZ2UuaHZpZHN0ZW5AdGFuZGJlcmcuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBwcm92aWRlIGd1ZXNzZWQgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIGNhcHMKCjIwMDktMDgtMzEgMTk6MjM6NDAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJICB3aW5rczogb25seSB0cnkgdG8gY2hhbmdlIHN0YXRlIHdoZW4gYWN0dWFsbHkgb3BlbgoKMjAwOS0wOC0zMSAxOToyMjo0MCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGlnbm9yZSB1bnN1cHBvcnRlZCBmb3JtYXRzCgoyMDEwLTEwLTI4IDE2OjE0OjM0ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGFkanVzdCBhIGNvdXBsZSBvZiBsb2dnaW5nIHNldmVyaXRpZXMKCSAgU2hvdWxkIGNsZWFybHkgbm90IGJlIGNvbnNpZGVyZWQgd2FybmluZ3MsIGFzIHRoZXkncmUgcXVpdGUgY29tbW9uLgoKMjAxMC0xMC0yNyAxODozMDoxMSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiBOZXcgcGx1Z2luIGZvciBBcHBsZSBtdWx0aW1lZGlhIEFQSXMKCSAgUHJvdmlkZXMgdGhlIGZvbGxvd2luZyBlbGVtZW50czoKCSAgcXRraXR2aWRlb3NyYzogT1MgWCB2aWRlbyBzb3VyY2UgcmVseWluZyBvbiB0aGUgUVRLaXQgQVBJLiBDb21lcyB3aXRoCgkgIGhhcmQtY29kZWQgY2FwcyBhcyB0aGUgQVBJIGRvZXMgbm90IHByb3ZpZGUgYW55IHdheSBvZiBxdWVyeWluZyBmb3IKCSAgZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIGhhcmR3YXJlLiBIYXNuJ3QgYmVlbiB0ZXN0ZWQgYSBsb3QsIGJ1dCBzZWVtcwoJICB0byB3b3JrLgoJICBtaW92aWRlb3NyYzogT1MgWCB2aWRlbyBzb3VyY2Ugd2hpY2ggdXNlcyB0aGUgdW5kb2N1bWVudGVkL3ByaXZhdGUKCSAgQ29yZU1lZGlhSU9TZXJ2aWNlcyBBUEksIHdoaWNoIGlzIGFsc28gdGhlIG9uZSB1c2VkIGJ5IGlDaGF0LgoJICBQcmVzZW50IG9uIGxhdGVzdCB2ZXJzaW9uIG9mIExlb3BhcmQgYW5kIGFsbCB2ZXJzaW9ucyBvZiBTbm93IExlb3BhcmQuCgkgIEhhcyBiZWVuIHRlc3RlZCBleHRlbnNpdmVseSB3aXRoIGJ1aWx0LWluIGNhbWVyYXMgYW5kIFRBTkRCRVJHJ3MKCSAgUHJlY2lzaW9uSEQgVVNCIGNhbWVyYS4KCSAgdnRlbmMsIHZ0ZGVjOiBHZW5lcmljIGNvZGVjIHdyYXBwZXJzIHdoaWNoIG1ha2UgdXNlIG9mIHRoZSB1bmRvY3VtZW50ZWQvCgkgIHByaXZhdGUgVmlkZW9Ub29sYm94IEFQSSBvbiBPUyBYIGFuZCBpT1MuIExpc3Qgb2YgY29kZWNzIGFyZSBjdXJyZW50bHkKCSAgaGFyZC1jb2RlZCB0byBILjI2NCBmb3IgdnRlbmMsIGFuZCBILjI2NCArIEpQRUcgZm9yIHZ0ZGVjLiBDYW4gZWFzaWx5IGJlCgkgIGV4cGFuZGVkIGJ5IGFkZGluZyBuZXcgZW50cmllcyB0byB0aGUgbGlzdHMsIGJ1dCBoYXZlbid0IHlldCBoYWQgdGltZSB0bwoJICBkbyB0aGF0LiBTaG91bGQgcHJvYmFibHkgYWxzbyBpbXBsZW1lbnQgcHJvYmluZyBhcyBhdmFpbGFibGUgY29kZWNzIGRlcGVuZAoJICBvbiB0aGUgT1MgYW5kIGl0cyB2ZXJzaW9uLCBhbmQgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGFueSB3YXkgdG8KCSAgZW51bWVyYXRlIHRoZSBhdmFpbGFibGUgY29kZWNzLgoJICB2dGgyNjRkZWNiaW4sIHZ0aDI2NGVuY2JpbjogV3JhcHBlciBiaW5zIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHVzZQoJICB2dGRlY19oMjY0L3Z0ZW5jX2gyNjQgaW4gbGl2ZSBzY2VuYXJpb3MuCgkgIGlwaG9uZWNhbWVyYXNyYzogaVBob25lIGNhbWVyYSBzb3VyY2UgcmVseWluZyBvbiB0aGUgdW5kb2N1bWVudGVkL3ByaXZhdGUKCSAgQ2VsZXN0aWFsIEFQSS4gVGVzdGVkIG9uIGlPUyAzLjEgcnVubmluZyBvbiBhbiBpUGhvbmUgM0dTLiBTdG9wcyB3b3JraW5nCgkgIGFmdGVyIGEgZmV3IG1pbnV0ZXMsIHByZXN1bWFibHkgYmVjYXVzZSBvZiBhIHJlc291cmNlIGxlYWsuIE5lZWRzIHNvbWUKCSAgbG92ZS4KCSAgTm90ZSB0aGF0IHRoZSBpT1MgcGFydHMgaGF2ZW4ndCB5ZXQgYmVlbiBwb3J0ZWQgdG8gaU9TIDQueC4KCjIwMTAtMTAtMjggMTE6NDM6MzQgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogQWRkIHRhZyBldmVudCBlbWlzc2lvbi4gRml4ZXMgIzYyNzI1MwoKMjAxMC0xMC0yNyAxMzoxNzoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YmJkNzA4IHRvIDAxMWJjYzgKCjIwMTAtMTAtMjEgMTY6MDY6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBDaGVjayB0aGUgc291cmNlIHNjZW5lIG1vZGUgd2hlbiBjcmVhdGluZyBpdAoJICBBcyBjYW1lcmFiaW4gb25seSBnZXRzIG5vdGlmaWVkIG9mIHRoZSBjaGFuZ2VzIGZyb20gdGhlCgkgIHZpZGVvIHNvdXJjZSBlbGVtZW50LCBpdCBzaG91bGQgcXVlcnkgdGhlIGluaXRpYWwgdmFsdWUKCSAgb25jZSB0aGUgc291cmNlIGlzIGNyZWF0ZWQgc28gaXQgaW5pdGlhbGl6ZXMgaXRzZWxmCgkgIGNvcnJlY3RseS4KCjIwMTAtMTAtMjAgMDA6MDc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggZGlzdGNoZWNrIGEgYml0IG1vcmUKCSAgRGlzdCBlbGVtZW50cy9wYXJzZXIuaCBoZWFkZXIgZmlsZSwgd2hpY2ggZml4ZXMgdGhlICdtYWtlIGNoZWNrJyBidWlsZC4KCjIwMTAtMTAtMTkgMjM6NDA6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdGVzdHM6IGZpeCB2YWx2ZSB1bml0IHRlc3QKCSAgZ3N0X2J1ZmZlcl9wYWRfYWxsb2MoKSBuZWVkcyBzaW1wbGUgY2FwcyBvciBOVUxMIGNhcHMsCgkgIEFOWSBjYXBzIGFyZSBub3QgYWxsb3dlZC4KCjIwMTAtMTAtMTkgMjM6MjU6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogaW5pdCB2YXJpYWJsZSB0byBtYWtlIG9zeCBidWlsZCBib3QgaGFwcHkKCSAgZ3N0ZGNhcGFyc2UuYzogSW4gZnVuY3Rpb24gJ2dzdF9kY2FfcGFyc2VfY2hlY2tfdmFsaWRfZnJhbWUnOgoJICBnc3RkY2FwYXJzZS5jOjI0Njogd2FybmluZzogJ2Jlc3Rfc3luYycgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgoyMDEwLTEwLTE5IDAwOjE1OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCB2ZXJ5IGJhc2ljIGR0cy9kY2EgcGFyc2VyCgkgIFN0aWxsIHNvbWUgaXNzdWVzLCBlLmcuIHdpdGggc2Vla2FibGUgcXVlcmllcyBpbiB0b3RlbSwgYnV0IGFsc28KCSAgcHJvY2Vzc2luZyBhbHJlYWR5LWNodW5rZWQgaW5wdXQgKGNyZWF0ZWQgd2l0aCBtYXRyb3NrYWRlbXV4ICEgZ2RwcGF5KS4KCjIwMTAtMTAtMTkgMTY6MjM6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHZhcmlvdXMgKGV4dCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTY6MjQ6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBmaXggY29weSduJ3Bhc3RlIG9mZiBieSBvbmUgZm9yIHBhcmFtIHNwZWMgZmxhZ3MgY2hhbmdlCgoyMDEwLTEwLTE5IDEzOjQzOjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZhcmlvdXMgKGdzdCk6IGFkZCBtaXNzaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZmxhZ3MKCSAgQ2Fub25pY2FsaXplIHByb3BlcnR5IG5hbWVzIGFzIG5lZWRlZC4KCjIwMTAtMTAtMTkgMTU6MzA6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgIHZhcmlvdXM6IHdyYXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGFuZCBhZGQgYSBzaW5nbGUgZml4bWUgZm9yIGxvbmcgZGVzYy4KCjIwMTAtMTAtMTkgMTU6MDY6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogcmVtb3ZlIHN0cmF5ICIgaW4gZG9jIGNvbW1lbnQKCjIwMTAtMTAtMTkgMTM6NDQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogcmVtb3ZlIERFQlVHX0ZVTkNQVFIgZnJvbSBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTEwLTA4IDE5OjMzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3RzIGZvciB0aGUgbmV3IHRhZ3MKCSAgQWRkcyB0ZXN0cyBmb3IgdGhlIG5ldyBleGlmIHRhZ3MgaW4gLWJhc2UKCjIwMTAtMTAtMDkgMTc6MzY6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIGNvbW1vbiBmaWVsZHMvZnVuY3Rpb25zIHRvIGJhc2Vjb2RlYwoKMjAxMC0wOS0yOCAxODoyMTo1NyArMDMwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogTWFrZSBzY2FubmVyIGNhY2hlIG9wdGlvbmFsCgoyMDEwLTEwLTE0IDIzOjA0OjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWN0dWFseSB1c2UgdGhlIGVudW0gaW4gdGhlIHZtZXRob2RzCgkgIElmIHdlIGludHJvZHVjZSBhIG5ldyBHc3RQaG90b2dyYXBoeU5vaXNlUmVkdWN0aW9uLCBsZXRzIGFsc28gdXNlIGl0CgkgIGluIHRoZSB2bWV0aG9kcwoKMjAxMC0xMC0xNCAyMzowMzoxOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHJldGFiIGludGVyZmFjZSBzdHJ1Y3QgZmllbGRzCgoyMDEwLTEwLTE0IDEyOjMyOjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWE2NjhiZiB0byA3YmJkNzA4CgoyMDEwLTEwLTE0IDE0OjA3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdW51c2VkIGVudHJ5CgkgIFJlbW92ZSBjYW1lcmFiaW4gdW51c2VkIGVudW0gZW50cnkKCjIwMTAtMTAtMTQgMTM6NDE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEF2b2lkIGJyZWFraW5nIEFCSQoJICBNb3ZlIHRoZSBuZXdseSBhZGRlZCBmdW5jdGlvbnMvZmllbGRzIHRvIHRoZSBlbmQgb2YgdGhlIHN0cnVjdHMKCjIwMTAtMTAtMTQgMTE6NDU6NTUgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFjY2VsZXJhdGUgc2VhcmNoIGZvciBzdGFydCBjb2RlCgkgIEFzIHRoZSBzdGFydGNvZGUgYWx3YXlzIHN0YXJ0cyB3aXRoIDB4MDAwMDAxIHNvbWUgaXRlcmF0aW9ucwoJICBjYW4gYmUgc2tpcHBlZCBpZiB2YWx1ZXMgPiAxIGFyZSBkZXRlY3RlZC4KCSAgfiA3MCUgZmFzdGVyIG9uIEhEIHZpZGVvIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjEzMAoKMjAxMC0xMC0xNCAxNjo0ODoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwcm9wZXJseSBwYXJzZSBlLWFjMyBmcmFtZSBoZWFkZXIKCSAgQWxzbyBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTAtMTQgMTE6MjQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZsb3cgb3BlbmluZyBhbmQgY2xvc2luZyBkZWNvZGVyCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgcmVjb25maWd1cmVzIHF1aXRlIGZvcmNlZnVsbHkgd2hlbiByZW5lZ290aWF0aW9uIGlzIG5lZWRlZC4KCSAgRml4ZXMgIzYzMTUwMS4KCjIwMTAtMTAtMTMgMTc6NDc6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBhZGp1c3RpbmcgZnJhbWVyYXRlCgkgIEZpeGVzICM2MzIwNzAuCgoyMDEwLTEwLTEyIDIxOjQ2OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiB1cGRhdGUgdGVzdHMgdG8gdGhlIG5ldyBkYXRldGltZSBhcGkKCSAgVXBkYXRlIGppZm11eCB0ZXN0cyB0byB1c2UgbmV3IGdzdGRhdGV0aW1lIEFQSSBpbiBjb3JlCgoyMDEwLTEwLTEyIDA5OjM3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyByb3RhdGUgZWxlbWVudAoJICBBZGRzIGEgbmV3IHJvdGF0ZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybS4gSXQgc3RpbGwKCSAgbmVlZHMgc29tZSB3b3JrLiBCdXQgdGhpcyBpcyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQuCgkgIEJhc2VkIG9uIHBhdGNoIGZyb20gQmVydCBEb3VnbGFzIDxiZXJ0ZCB0cGxvZ2ljIGNvbT4KCjIwMTAtMTAtMTMgMTE6MDA6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0d2VhayBzZXR0aW5nIGJ1ZmZlciBtZXRhZGF0YTsgYXZvaWQgdGltZXN0YW1wIGppdHRlcgoJICBGaXhlcyAjNjMxOTkzLgoKMjAxMC0xMC0xMiAxODoxNzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogY2F0ZXIgZm9yIHJlbmVnb3RpYXRpb24KCSAgQXQgbGVhc3QsIHdoZW5ldmVyIGVpdGhlciBzdHJlYW0gKGUuZy4gQURUUykgb3IgdXBzdHJlYW0gcHJvdmlkZXMgbmVjZXNzYXJ5CgkgIGluZm8gZm9yIGRvaW5nIHNvLgoJICBGaXhlcyAjNjMxNTAxLgoKMjAxMC0xMC0xMiAxODowNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHN0cmVhbWxpbmUgc3JjIGNhcHMgc2V0dGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhbHNvIHNldCBzcmMgY2FwcyB3aGVuZXZlciBjaGFuZ2VzIGluIHN0cmVhbSB3YXJyYW50IGRvaW5nIHNvLgoKMjAxMC0xMC0xMiAxNjoxMzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogcG9ydCBHc3RYT3ZlcmxheSBiaXRzIHRvIG5ldyBBUEkKCSAgRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgQVBJLgoKMjAxMC0xMC0xMiAxNjozNTo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IGFkanVzdCB1bml0IHRlc3QgdG8gZmFhYyBtb2RpZmllZCBvdXRwdXQKCjIwMTAtMTAtMTAgMTI6MzI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogcmVtb3ZlIHZhcmlhYmxlcyBmcm9tIE1ha2VmaWxlLmFtIHRoYXQgYXJlbid0IHNldAoJICBSZW1vdmUgc29tZSBzdHVmZiB0aGF0IHdhcyBjb3B5J24ncGFzdGVkIGZyb20gY29yZSBidXQKCSAgZG9lc24ndCBhcHBseSBoZXJlLiBUaGUgZm9sbG93aW5nIHZhcnMgYXJlbid0IHNldDoKCSAgQ0hFQ0tfQ0ZMQUdTLCBDSEVDS19MSUJTLCBHU1RfT0JKX0NGTEFHUywgR1NUX09CSl9MSUJTLAoJICBzbyB3ZSBtYXkganVzdCBhcyB3ZWxsIHJlbW92ZSB0aGVtLgoKMjAxMC0xMC0xMiAxMjoxMTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogRml4IGNvbXBpbGF0aW9uIHdpdGggR1RLKyAzLjAKCjIwMTAtMTAtMTIgMTA6Mjg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQWRqdXN0IHVuaXQgdGVzdHMgdG8gbmV3IGZsYWNwYXJzZSBiZWhhdmlvdXIKCSAgR2FyYmFnZSBhZnRlciBmcmFtZXMgaXMgbm93IGluY2x1ZGVkIGluIHRoZSBmcmFtZXMgYmVjYXVzZSBmbGFjcGFyc2UKCSAgaGFzIG5vIGVhc3kgd2F5IHRvIGRldGVjdCB0aGUgcmVhbCBlbmQgb2YgYSBmcmFtZS4gRGVjb2RlcnMgYXJlCgkgIGV4cGVjdGVkIHRvIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGZyYW1lIGJlY2F1c2Ugb25seSBkZWNvZGluZyB0aGUKCSAgYml0c3RyZWFtIHdpbGwgcmV2ZWFsIHRoZSByZWFsIGVuZCBvZiB0aGUgZnJhbWUuCgkgIEZpeGVzIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMiAxMDoyNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IERvbid0IGRyb3AgdGhlIGxhc3QgZnJhbWUgaWYgaXQgaXMgZm9sbG93ZWQgYnkgZ2FyYmFnZQoJICBTZWUgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTExIDE3OjQ5OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGVyZm9ybSBiaXRyYXRlIGhhbmRsaW5nIGFuZCBwb3N0aW5nIGFmdGVyIG5ld3NlZ21lbnQgc2VuZGluZwoKMjAxMC0xMC0xMSAxNzozNjoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltbWVkaWF0ZWx5IHBvc3Qgc3ViY2xhc3MgcHJvdmlkZWQgYml0cmF0ZQoKMjAxMC0xMC0xMSAxNzowNjo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwYXJzaW5nIHdpdGggdW5rbm93biBmcmFtZXNpemVzCgkgIEZpeGVzICM2MzE4MTQgKG1vc3RseSkuCgoyMDEwLTEwLTExIDE3OjA1OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBoYW5kbGUgdHJhaWxpbmcgZW5jb2RlciBvdXRwdXQKCjIwMTAtMTAtMTEgMTQ6MjU6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSAgc3dpdGNoc3JjOiBTZXQgdGhlIEdTVF9FTEVNRU5UX0lTX1NPVVJDRSBmbGFnCgoyMDEwLTA5LTEzIDE5OjA3OjU1ICswMTAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBGaXggZXhhbXBsZSB1c2FnZSwgYmFuZHdpZHRoPTggbm90IDhNSHoKCSAgVGhlIGJhbmR3aWR0aCBwcm9wZXJ0eSBpcyBlbnVtIHRoYXQgdGFrZXMgdGhlIHZhbHVlcyA4LCA3LCA2LCBBVVRPIG5vdAoJICA4TUh6LgoKMjAxMC0xMC0wOCAxNzowMToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJICBzaG06IEFkZCBDKysgcHJvdGVjdGlvbgoJICBBZGQgYysrIHByb3RlY3Rpb24gaW4gdGhlIHJlbGV2YW50IHBsYWNlcwoKMjAxMC0xMC0wOCAxMjo0NDo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0YThhZGMgdG8gNWE2NjhiZgoKMjAxMC0xMC0wOCAxMjo1NToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlM2M5YmYgdG8gYzRhOGFkYwoKMjAxMC0xMC0wNyAyMzozNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFNpbXBsaWZ5IGZyYW1lIGhlYWRlciBwYXJzaW5nIGJ5IHVzaW5nIGxvb2t1cCB0YWJsZXMKCSAgQmFzZWQgb24gYSBwYXRjaCBieSBGZWxpcGUgQ29udHJlcmFzLgoJICBTZWUgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDIzOjI4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogRG9uJ3QgcGFyc2UgdGhlIGNvbXBsZXRlIEZMQUMgZnJhbWVzIGJ1dCBvbmx5IGxvb2sgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMKCSAgVGhhbmtzIHRvIEZlbGlwZSBDb250cmVyYXMgZm9yIHRoZSBzdWdnZXN0aW9uLiBUaGlzIGlzIHBhcnRpYWxseQoJICBiYXNlZCBvbiBoaXMgcGF0Y2hlcyBhbmQgbWFrZXMgZmxhY3BhcnNlIG1vcmUgdGhhbiAzLjUgdGltZXMgZmFzdGVyLgoJICBMb29raW5nIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzIGlzIHVubGlrZWx5IHRvIGdpdmUgZmFsc2UgcG9zaXRpdmVzCgkgIGJlY2F1c2UgZXZlcnkgZnJhbWUgaGVhZGVyIGlzIGF0IGxlYXN0IDkgYnl0ZXMgbG9uZywgY29udGFpbnMgYQoJICAxNCBiaXQgc3luYyBjb2RlIGFuZCBhIDggYml0IGNoZWNrc3VtIG92ZXIgdGhlIGZpcnN0IDggYnl0ZXMuCgkgIEZpeGVzIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAxMTo1OTozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB3b3JrYXJvdW5kIGludGVybmFsIHJ0c3BzcmMgZmFpbGluZyBzdGF0ZSBjaGFuZ2UKCSAgRml4ZXMgIzYzMDA0Ni4KCjIwMTAtMTAtMDcgMTA6MzQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgY2hhbm5lbC1wb3NpdGlvbnMKCjIwMTAtMTAtMDYgMTg6MzI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBSZWFsbHkgcG9zdCB0YWdzIG9ubHkgYWZ0ZXIgdGhlIGluaXRpYWwgbmV3c2VnbWVudCBldmVudAoJICBUaGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCB3aWxsIGJlIHNlbmQgYnkgdGhlIGZpcnN0IGNhbGwgdG8KCSAgZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIoKSBpZiBuZWNlc3NhcnksIHBvc3RpbmcgdGhlIHRhZ3MKCSAgYmVmb3JlIHRoYXQgaXMgbm90IGEgZ29vZCBpZGVhLiBJbnN0ZWFkIGRvIGl0IGZyb20gdGhlCgkgIEdzdEJhc2VQYXJzZTo6cHJlX3B1c2hfYnVmZmVyIHZmdW5jLgoKMjAxMC0xMC0wNiAxNjo1NDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSAgY2hyb21haG9sZDogRml4IGh1ZSBjYWxjdWxhdGlvbiBmb3IgcmVkIGNvbG9ycwoJICBBbHNvIG1ha2UgdGhlIGNhbGN1bGF0aW9uIG11Y2ggbW9yZSBhY2N1cmF0ZS4uLgoKMjAxMC0xMC0wNiAxNToyMTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSAgY2hyb21haG9sZDogTWFrZSBldmVyeXRoaW5nIGdyZXlzY2FsZSBpZiB0aGUgdGFyZ2V0IGNvbG9yIGlzIGdyZXkKCjIwMTAtMTAtMDYgMTE6NTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjaHJvbWFob2xkOiBBZGQgY2hyb21haG9sZCBjb2xvciBlZmZlY3QKCSAgVGhpcyBlZmZlY3QgY29udmVydHMgYWxsIGNvbG9ycyBleGNlcHQgYSBzaW5nbGUgb25lIHRvCgkgIGdyZXkuIFRoZSBjb2xvciBpcyBzZWxlY3RlZCBieSBhbiBSR0IgdHJpcGxlIGFuZCBhCgkgIHRvbGVyYW5jZSBmb3IgdGhlIGNvbG9yIG1hdGNoaW5nIGluIGh1ZSBkZWdyZWUgY2FuIGJlIHNwZWNpZmllZC4KCjIwMTAtMTAtMDUgMTc6MDQ6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZml4IGFuZCByZWZsb3cgc29tZSBleGl0cwoKMjAxMC0xMC0wNSAxNjo1Njo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBlcnJvciBvdXQgaWYgbm8gc3RyZWFtcyBmb3VuZCBpbiBzZHAgbWVzc2FnZQoKMjAxMC0xMC0wNSAxNjo0Nzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB1bmJyZWFrIHN0YW5kYXJkIG1hbmFnZXIgc2V0dXAKCjIwMTAtMTAtMDUgMTE6NDQ6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdW5pdCB0ZXN0IGJpbmFyaWVzCgoyMDEwLTEwLTA1IDExOjQyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nc3QtYWxzYS5tNDoKCSAgYWxzYXNwZGlmOiByZW1vdmUgYWxzYXNwZGlmc2luayBlbGVtZW50CgkgIFJlbW92ZSBhbHNhc3BkaWZzaW5rLCBpdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4gYWxzYXNpbmsgaW4gLWJhc2UKCSAgaGFzIGJlZW4gYWJsZSB0byBoYW5kbGUgU1BESUYgZm9yIGEgd2hpbGUgbm93LgoKMjAxMC0xMC0wNSAxMToxNzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBSZXZlcnQgImJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjVhM2Q2MDM2M2Q4MzdhMTBmMDUzM2MxNDFlYzkzZDEwYjc0MjMxMi4KCSAgUmV2ZXJ0aW5nIHRoaXMgZm9yIG5vdywgc2luY2Ugbm8gb25lIHJlYWxseSBzZWVtcyB0byByZW1lbWJlciB3aHkgdGhpcwoJICBwcm9wZXJ0eSBleGlzdHMgb3Igd2hhdCBpdCBjb3VsZCBwb3NzaWJseSBiZSBnb29kIGZvci4gSXQgc2VlbXMgdG8gaGF2ZQoJICBiZWVuIGluIHRoZSBvcmlnaW5hbCBtcDNwYXJzZSBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRpbWUgYW5kIHdhcyBiYWNrLQoJICBwb3J0ZWQgZnJvbSB0aGVyZS4KCjIwMTAtMTAtMDQgMTA6NDE6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoJICBUaGVzZSB3YXJuaW5ncyBhcmUgd3JvbmcsIHRoZSB2YXJpYWJsZXMgYXJlIG9ubHkgdXNlZCBpZiB0aGV5IHdlcmUKCSAgaW5pdGlhbGl6ZWQgYnkgdGhlIGJpdCByZWFkZXIuCgoyMDEwLTA5LTE0IDAyOjQ4OjU4ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBpY3R1cmUgcGFyc2luZwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NTQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBQdXNoIHRhZ3MgYmVmb3JlIHRoZSBoZWFkZXIgYnVmZmVycyBhcmUgcHVzaGVkCgoyMDEwLTA4LTAyIDIwOjUwOjIxICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHJpdmlhbCBjYXBzIGZpeAoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCjIwMTAtMTAtMDMgMjM6NDU6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byBxdG11eCBwcm9wZXJ0aWVzCgoyMDEwLTEwLTAzIDIzOjE0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdmFsdmU6IEZpeCB0ZXN0cyBidWlsZAoJICBBZGRzIG1pc3NpbmcgY2ZsYWdzL2xpYnMgdG8gdmFsdmUgY2hlY2sgdGVzdCB0bwoJICBmaXggYnVpbGQKCjIwMTAtMTAtMDMgMjM6NTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXI6IExldCB0aGUgZm9ybWF0IHN0cmluZyBhZ3JlZSB3aXRoIHRoZSBwYXJhbWV0ZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTEwLTAzIDE1OjU1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IENoZWNrIHJldHVybiB2YWx1ZXMgb2YgdGhlIGJpdHJlYWRlciBmdW5jdGlvbnMKCjIwMTAtMTAtMDMgMTU6NDE6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogVXNlIHVuY2hlY2tlZCB2ZXJzaW9ucyBvZiB0aGUgYml0cmVhZGVyIGdldCBmdW5jdGlvbnMKCSAgV2UgZGlkbid0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWVzIGFueXdheS4uLgoKMjAxMC0wOS0yOCAxMzo1MjoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBubyBuZWVkIHRvIHJlZiB0aGUgb2JqZWN0IGluIF9jaGFpbgoJICBEb24ndCByZWYgdGhlIHBhZCBpbiBjaGFpbiwgbGlrZSBlbHNld2hlcmUKCjIwMTAtMDktMjIgMTU6NDQ6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggZGVidWcgb3V0cHV0CgkgIFdlIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFmdGVyIGdzdF9wYWRfcHVzaCgpLCBzbyB0aGUgZGVidWcKCSAgcHJpbnQgc2hvdWxkIGhhcHBlbiBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMTAtMDEgMTI6MzQ6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGZsYWNwYXJzZSB1bml0IHRlc3QKCSAgLi4uIGFuZCB0d2VhayBwYXJzZXIgdGVzdCBoZWxwZXIgaW4gdGhlIHByb2Nlc3MuCgoyMDEwLTA5LTI5IDE2OjEyOjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3VwcG9ydCByZXZlcnNlIHBsYXliYWNrCgkgIC4uLiBpbiBwdWxsIG1vZGUgb3IgdXBzdHJlYW0gZHJpdmVuLgoKMjAxMC0wOS0yNyAxMjoxNjo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBkb25lIFRPRE9zIGFuZCB1cGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0yNSAxNDo0MDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBkZXRlcm1pbmVkIHNlZWthYmlsaXR5IGluIGFuc3dlcmluZyBTRUVLSU5HIHF1ZXJ5CgoyMDEwLTA5LTI1IDE0OjMyOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNraXAgcHJvcGVydHkKCjIwMTAtMDktMjUgMTM6NTk6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIGFjM3BhcnNlIGFuZCBtcGVnYXVkaW9wYXJzZSB1bml0IHRlc3QKCjIwMTAtMDktMjUgMTM6NTk6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgLi4uIGFkZXF1YXRlbHkgZXF1aXZhbGVudCB0byBtcDNwYXJzZSwgc28gbGV0cyBib2xkbHkgc2V0IGl0CgkgIHRvIGhpZ2hlciByYW5rLgoKMjAxMC0wOS0yNSAxNDowMTowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgbWluaW11bSBmcmFtZSBzaXplIGF0IF9zdGFydAoJICAuLi4gcmF0aGVyIHRoYW4gb25lIHRpbWUgYXQgX2luaXQuCgoyMDEwLTA5LTI1IDEzOjUwOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZV9kYXRhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlX2RhdGEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IHJlZmFjdG9yIGV4aXN0aW5nIHVuaXQgdGVzdHMgdXNpbmcgY29tbW9uIGhlbHBlcgoKMjAxMC0wOS0yMiAxNTowNzowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVzZSBfc2V0X2ZyYW1lX3Byb3BzIHRvIGNvbmZpZ3VyZSBmcmFtZSBsZWFkX2luIGFuZCBsZWFkX291dAoJICAuLi4gcHJvdmlkZWQgYSBjb3JyZXNwb25kaW5nIGRlY29kZXIgd2l0aCBzdWZmaWNpZW50IGxlYWRpbmcgYW5kIGZvbGxvd2luZwoJICBmcmFtZXMgdG8gY2Fycnkgb3V0IGZ1bGwgZGVjb2RpbmcgZm9yIGEgcGFydGljdWxhciBzZWdtZW50LgoKMjAxMC0wOS0yMiAxNDoxMzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBfc2V0X2R1cmF0aW9uIHRvIGNvbmZpZ3VyZSBkdXJhdGlvbiB1cGRhdGUgaW50ZXJ2YWwKCSAgLi4uIGFzIGl0IGxvZ2ljYWxseSBiZWxvbmdzIHRoZXJlIGFzIG9uZSBvciB0aGUgb3RoZXI7IGVpdGhlciBzdWJjbGFzcwoJICBjYW4gcHJvdmlkZSBhIGR1cmF0aW9uLCBvciBhbiBlc3RpbWF0ZSBtdXN0IGJlIG1hZGUgKHJlZ3Vhcmx5IHVwZGF0ZWQpLgoKMjAxMC0wOS0yMiAxMzo1NToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGxvY2FsaXplIHVzZSBvZiBwcm92aWRlZCBmcHMgaW5mb3JtYXRpb24KCjIwMTAtMDktMjIgMTI6MTM6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzZWVrIHRhYmxlIGFuZCBhY2N1cmF0ZSBzZWVrIHN1cHBvcnQKCjIwMTAtMDktMjEgMTM6NTc6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgYW5kIG1vcmUgZXh0ZW5kZWQgc2VnbWVudCBhbmQgc2VlayBoYW5kbGluZwoJICBUaGF0IGlzLCBsb29wIHBhdXNlIGhhbmRsaW5nLCBzZWdtZW50IHNlZWsgc3VwcG9ydCwgbmV3c2VnbWVudCBmb3IgZ2FwcywgZXRjCgoyMDEwLTA5LTIxIDEwOjU3OjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGluZGV4IHN1cHBvcnQKCjIwMTAtMDktMjEgMDk6NTk6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBzdGF0ZSByZXNldAoKMjAxMC0wOS0yMCAxNjozOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5kZWZpbml0ZSByZXN5bmNpbmcKCjIwMTAtMDktMjAgMTM6NTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzcGVjaWZpYyBFT1MgaGFuZGxpbmcgaWYgbm8gb3V0cHV0IHNvIGZhcgoKMjAxMC0wOS0yMCAxMzozMTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBfc2V0X2ZyYW1lX3Byb3AgZG9jdW1lbnRhdGlvbiBhbmQgc2V0IGRlZmF1bHQgYXMgY2xhaW1lZAoKMjAxMC0wOS0yMCAxMzozMDo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBiaXRyYXRlIGNvcHktYW5kLXBhc3RlIGFuZCB1cGRhdGUgaGV1cmlzdGljCgoyMDEwLTA5LTE3IDE4OjMzOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcG9zdCBkdXJhdGlvbiBtZXNzYWdlIGlmIGF2ZXJhZ2UgYml0cmF0ZXMgaXMgdXBkYXRlZAoKMjAxMC0wOS0xNyAxODoyNDoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGlzX3NlZWthYmxlIHZtZXRob2QgYW5kIHVzZSBhIHNldF9zZWVrIGluc3RlYWQKCSAgU2Vla2FiaWxpdHksIGxpa2UgZHVyYXRpb24sIGV0YyBpcyB1bmxpa2VseSB0byBjaGFuZ2UgKGZyZXF1ZW50bHkpLCBhbmQKCSAgdGhlIGRlZmF1bHQgYXNzdW1wdGlvbiBjb3ZlcnMgbW9zdCBjYXNlcywgc28gbGV0IHN1YmNsYXNzIHNldCB3aGVuIG5lZWRlZC4KCSAgQXQgdGhlIHNhbWUgdGltZSwgYWxsb3cgc3ViY2xhc3MgdG8gaW5kaWNhdGUgaWYgaXQgaGFzIHNlZWstbWV0YWRhdGEgKHRhYmxlKQoJICBhdmFpbGFibGUsIGFuZCBwb3NzaWJseSBoYXZlIGl0IHByb3ZpZGUgYW4gYXZlcmFnZSBiaXRyYXRlLgoKMjAxMC0wOS0xNyAxNzozNTo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiByZW1vdmUgcmVkdW5kYW50IGRlZmF1bHQgaXNfc2Vla2FibGUKCjIwMTAtMDktMTcgMTc6MjE6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgYW5vdGhlciBob29rIGZvciBzdWJjbGFzcyBwcmlvciB0byBwdXNoaW5nIGJ1ZmZlcgoJICAuLi4gYW5kIGFsbG93IHN1YmNsYXNzIHRvIHBlcmZvcm0gY3VzdG9tIHNlZ21lbnQgY2xpcHBpbmcsIG9yIHRvCgkgIGVtaXQgdGFncyBvciBtZXNzYWdlcyBhdCB0aGlzIHRpbWUuCgoyMDEwLTA5LTE3IDE3OjE5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogMCBjb252ZXJ0cyB0byAwIGJ5IGRlZmF1bHQKCjIwMTAtMDktMTYgMTg6NTY6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhc2U6IHJlZmFjdG9yIGNvbnZlcnNpb24gdXNpbmcgaGVscGVyIGZ1bmN0aW9uIGFuZCBleHBvcnQgZGVmYXVsdCBjb252ZXJ0CgoyMDEwLTA5LTE2IDE4OjM1OjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3RyZWFtbGluZSBxdWVyeSBoYW5kbGluZwoKMjAxMC0wOS0xNiAxMTo1MToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGNsZWFudXAgc3RydWN0IGFuZCByZW1vdmUgdW51c2VkIG1lbWJlcgoKMjAxMC0wOC0xNiAxMTowNDozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IGluY3JlYXNlIHJhbmtzIHRvIGVuYWJsZSBhdXRvLXBsdWdnaW5nCgkgIEJlY2F1c2Ugd2UgY2FuLCBhbmQgc2hvdWxkLCBoYXZlIHNvbWUgc2hha2Vkb3duIHRlc3RpbmcgYmVmb3JlIGhhdmluZwoJICB0aGVzZSBtYWtlIGl0IGludG8gLWdvb2QgbGF0ZXIgb24gLi4uCgoyMDEwLTA5LTIyIDE2OjA3OjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogQWxsb3cgY2hhaW5pbmcgb2Ygc3ViY2xhc3MgZXZlbnQgaGFuZGxlcnMKCSAgVGhpcyBhbGxvd3MgdGhlIGNoaWxkIGNsYXNzIHRvIGNoYWluIGl0cyBldmVudCBoYW5kbGVyIHdpdGgKCSAgR3N0QmFzZVBhcnNlLCBzbyB0aGF0IHN1YmNsYXNzZXMgZG9uJ3QgaGF2ZSB0byBkdXBsaWNhdGUgYWxsIHRoZSBkZWZhdWx0CgkgIGV2ZW50IGhhbmRsaW5nIGxvZ2ljLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTA5LTMwIDE3OjQ4OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB0ZXN0czogRml4IGNhcHMgbGVhayBpbiB0aGUgdmFsdmUgdGVzdAoKMjAxMC0wOS0zMCAxNzoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHZhbHZlOiBBZGQgdW5pdCB0ZXN0cwoJICBBZGQgYSB1bml0IHRlc3QgZm9yIHRoZSB2YWx2ZSBlbGVtZW50LgoKMjAxMC0wOS0zMCAxNjoyNjoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICB2YWx2ZTogTWFrZSB0aGUgZHJvcCB2YXJpYWJsZSBpbnRvIGFuIGF0b21pYy4KCSAgVXNpbmcgYW4gYXRvbWljIGFsbG93cyB1cyB0byBhdm9pZCBsb2NraW5nIHRoZSB3aG9sZSBvYmplY3QgYWxsIHRpbWUgdGltZS4KCSAgQXMgc3VnZ2VzdGVkIGJ5IFN0ZWZhbiBLb3N0LgoKMjAxMC0wOS0zMCAxNjoyMjowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBDb3JyZWN0bHkgc2V0IHRoZSBESVNDT05UIGZsYWcgYWZ0ZXIgZHJvcHBpbmcgYnVmZmVycwoKMjAxMC0wOS0zMCAxNjoxNjo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBSZW1vdmUgc3VwZXJmbG91cyBjaGVja2luZyBjYXN0cwoKMjAxMC0wOS0zMCAxNjoxMzoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBGaXggc3R5bGUsIGltcHJvdmUgY29tbWVudHMKCSAgTWlub3IgaW1wcm92ZW1lbnRzIHRvIHRoZSBjb21tZW50cyBhbmQgYnJlYWsgYSBmZXcgb3Zlcmx5IGxvbmcgbGluZXMKCjIwMTAtMDktMzAgMTY6MDc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEltcHJvdmUgZG9jdW1lbnRhdGlvbgoJICBBZGQgYW4gZXhhbXBsZSBwaXBlbGluZSwgYW5kIHRyeSB0byBleHBsYWluIGEgYml0IG1vcmUgd2hhdCBpdCBkb2VzLgoKMjAxMC0wOS0yOSAxNzozNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCB3cm9uZ2x5IGZhaWwgd2hlbiBzdGFydGluZyBhIGNhcHR1cmUKCSAgSWYgdGhlIGVsZW1lbnRzIGFyZSBpbiBOVUxML1JFQURZIGFuZCBjaGFuZ2luZyBzdGF0ZSB0bwoJICBQQVVTRUQvUExBWUlORyB3aGlsZSBhIGNhcHR1cmUgaXMgc3RhcnRlZAoJICBjYW1lcmFiaW4gbWlnaHQgbm90IHNldCB0aGUgYWN0aXZlX2JpbiBwcm9wZXJseSBjYXVzaW5nIHRoZQoJICBjYXB0dXJlIHN0YXJ0IHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgY2hlY2tpbmcgdGhlIGN1cnJlbnQgYW5kIHBlbmRpbmcgc3RhdGUKCSAgb2YgdGhlIGJyYW5jaGVzIGluc3RlYWQgb2Ygb25seSB0aGUgY3VycmVudCBvbmUKCjIwMTAtMDktMjkgMTA6MTM6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZXZlcnNlIHBsYXliYWNrOyBjYXRlciBmb3IgZGVjb2RlciBkZWxheQoJICAuLi4gdGhlcmVieSBhY3R1YWxseSB1c2luZyB0aGUgZ2F0aGVyIGFuZCBkZWNvZGUgcXVldWVzLgoKMjAxMC0wOS0yOSAxMDowODoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHR3ZWFrIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgkgIEluIHBhcnRpY3VsYXIsIGF2b2lkIHBhY2tldGlzZWQgaW5wdXQgbGVhZGluZyB0byBpbml0aWFsIHRvIG5vbi0wIG91dHB1dCB0cy4KCjIwMTAtMDktMjggMTY6MjA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBVc2Ugc3RhdGljIGNhcHMgaW5zdGVhZCBvZiBjb252ZXJ0aW5nIHN0cmluZ3MgdG8gY2FwcyBhbGwgdGhlIHRpbWUKCjIwMTAtMDktMjggMTY6MTQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBGaXggY3Jhc2hlcyBpZiBwbHVnaW5zIGRvbid0IHByb3ZpZGUgY29ycmVjdCBwcm9wZXJ0eSBpbmZvcm1hdGlvbgoJICBUaGUgdmVydGlnbyBwbHVnaW4gZm9yIGV4YW1wbGUgY2xhaW1zIHRvIGhhdmUgMyBwcm9wZXJ0aWVzIGJ1dAoJICB0aGUgM3JkIHByb3BlcnR5IGRvZXMgbm90aGluZyBhbmQgaGFzIGEgTlVMTCBuYW1lLgoJICBGaXhlcyBidWcgIzYzMDc4My4KCSAgVGhhbmtzIHRvIE1hcnR0aSBLw7xobmUgZm9yIGRlYnVnZ2luZyB0aGlzLgoKMjAxMC0wOS0yOCAxNDoyNjoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIGRlZmF1bHQ6IHBhcnN0IGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50IHRvIHRoZSBlbmQKCSAgTm93IHN1cmUgaWYgaXQgbWF0dGVycywgYnV0IHRoZSBwcmV2aW91cyBmb3JtIGxvb2tzIHdlaXJlZC4KCjIwMTAtMDktMjggMTQ6MjM6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSBkZWJ1Zy1jYXRlZ29yeSByZWdpc3RyYXRpb24gdG8gdHlwZSBpbml0CgoyMDEwLTA5LTI4IDE0OjIyOjE4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IG1vdmUgZGVidWctY2F0ZWdvcnkgcmVnaXN0cmF0aW9uIHRvIHR5cGUgaW5pdAoKMjAxMC0wOS0yOCAxNDoxNzo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxNDoxNjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiB1c2UgYmFzZV9pbml0IGZvciBwYWRfdGVtcGxhdGVzIGFuZCBlbGVtZW50X2RldGFpbHMKCjIwMTAtMDktMjggMTQ6MTU6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb24gcHJvcGVydGllcwoKMjAxMC0wOS0yOCAxNDoxNToxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvbiBwcm9wZXJ0aWVzCgoyMDEwLTA5LTI4IDE0OjA3OjM5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDE0OjA4OjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSAgdmlkZW9tZWFzc3VyZTogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTE6MzU6NTMgKzAzMDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIHBob3RvZ3JhcGh5OiBleHRlbmQgcGhvdG9ncmFwaHkgaWZhY2UKCSAgQWRkIG1vcmUgY29sb3IgdG9uZSBtb2RlcyBhbmQgYWRkIE5vc2VSZWR1Y3Rpb24gc2V0dGluZ3MuCgkgIEZpeGVzICM2MTY4MTQuCgoyMDEwLTA5LTI2IDIwOjQxOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZHNyYzogaW1wcm92ZSBlcnJvciBtZXNzYWdlcyBvbiByZWFkIGVycm9zCgkgIFByb3ZpZGUgaTE4bi1lZCBlcnJvciBtZXNzYWdlcyB3aGVuIGEgcmVhZCBlcnJvciBoYXBwZW5zLAoJICBhbmQgcG9pbnQgb3V0IHRoYXQgdGhlIGVycm9yIGNvdWxkIGJlIGhhcHBlbmluZyBiZWNhdXNlIHRoZQoJICBEVkQgaXMgc2NyYW1ibGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNjMzCgoyMDEwLTA5LTI0IDAwOjA1OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzZXQgcGx1Z2luIHJlbGVhc2UgZGF0ZXRpbWUKCjIwMTAtMDktMjUgMTI6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSAgb2ZhOiBDYWxsIGdfb2JqZWN0X25vdGlmeSgpIGFmdGVyIHRoZSBmaW5nZXJwcmludCB3YXMgY3JlYXRlZAoKMjAxMC0wOS0yNSAxMDo0NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBGaXggc2Nhbm5pbmcgb2YgcGx1Z2luIHN1YmRpcmVjdG9yaWVzIGFuZCBzdXBwb3J0IGRpZmZlcmVudCB2ZW5kb3JzCgkgIFRoZSBmcmVpMHIgc3BlYyBzcGVjaWZpZXMsIHRoYXQgcGx1Z2lucyBjYW4gYmUgaW4gc3ViZGlyZWN0b3JpZXMgaW5zaWRlCgkgIHRoZSBtYWluIHBsdWdpbiBkaXJlY3RvcmllcyB0byBpbnRyb2R1Y2UgbmV3IG5hbWVzcGFjZXMgY2FsbGVkIHZlbmRvcnMuCgoyMDEwLTA5LTI0IDIyOjQ3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkgIGZyZWkwcjogVXBkYXRlIGZyZWkwciBpbnRlcmZhY2Ugc3BlY2lmaWNhdGlvbiB0byAxLjIKCjIwMTAtMDktMjQgMjI6NDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBBZGQgc3VwcG9ydCBmb3IgdGhlIEZSRUkwUl9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIFRoaXMgd2FzIGFkZGVkIGluIHZlcnNpb24gMS4yIG9mIHRoZSBzcGVjIGFuZCByZXBsYWNlcyB0aGUgZGVmYXVsdAoJICBsaXN0IG9mIGRpcmVjdG9yaWVzLgoKMjAxMC0wOS0yMyAxNDoxNTowOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGluaXRpYWxpemUgaW50ZXJ2YWxfdHMgYW5kIGxhc3RfZnJhbWVzXyogY291bnRlcnMKCSAgSW5pdGlhbGl6ZSBpbnRlcnZhbF90cyB0byBmaXJzdCBRT1MgZXZlbnQgdGltZXN0YW1wLCBvdGhlcndpc2UgdGhlCgkgIGZwcyBzdGF0aXN0aWNzIGFyZSBwcmludGVkIGFsd2F5cyBhZnRlciBvbmUgcmVuZGVyZWQgZnJhbWUuCgkgIEFsc28sIGluaXRpYWxpemUgbGFzdF9mcmFtZXNfKiBjb3VudGVycywgdGhlIHZhbHVlcyBhcmUgYm9ndXMgZS5nLiBhZnRlcgoJICBQTEFZSU5HLU5VTEwtUExBWUlORyBzdGF0ZSBjaGFuZ2UuCgoyMDEwLTA5LTI0IDEzOjI5OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMC0wOS0yNCAxMzoyNToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgc2lnbmFsIGJvaWxlcnBsYXRlCgoyMDEwLTA5LTI0IDEzOjI0OjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IG5vIG5lZWQgdG8gcmVmIHBhZCBpbiBfY2hhaW4oKQoKMjAxMC0wOS0yMiAyMzo0MTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGU6IG1ha2UgZ3N0LWNhbWVyYSB1c2UgZmxhZ3MKCSAgRW5hYmxlIGFsbCBjb252ZXJ0aW9uIGZsYWdzIGluIGdzdC1jYW1lcmEgZXhhbXBsZSBhcHAKCSAgZm9yIHNhZmV0eS4KCSAgRml4ZXMgIzYwMzA2MwoKMjAxMC0wOS0yMiAyMzozOTowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW46IEFkZHMgbmV3IHZpZGVvLWNvbG9yc3BhY2UtZmxhZyB0byBmbGFncwoJICBBZGRzIGEgbmV3IGZsYWcgdG8gYWxsb3cgYSBjb2xvcnNwYWNlIGNvbnZlcnRpb24gYmVmb3JlCgkgIHRoZSB2aWRlbyBlbmNvZGVyIGVsZW1lbnQuCgkgIEZpeGVzICM2MDMwNjMKCjIwMTAtMDktMjIgMjI6Mzk6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIGxpbmtfZnVsbCB2ZXJzaW9uIGZvciBkaXNhYmxpbmcgaGllcmFyY2h5IGNoZWNrCgkgIERpc2FibGUgaGllcmFyY2h5IGNoZWNrcyB3aGVuIGxpbmtpbmcgYmVjYXVzZSB3ZSBhcmUgYWxyZWFkeQoJICBoYW5kbGluZyB0aGUgZWxlbWVudCBhZGRpbmcgdG8gYmlucyBhbmQgaXQgc2hvdWxkIGJlIGRvbmUKCSAgY29ycmVjdGx5LgoKMjAxMC0wOS0yMiAyMTowMzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IHF1ZXVlcyB0byBzaWxlbnQKCSAgV2UgY3VycmVudGx5IGRvbid0IHVzZSBxdWV1ZXMnIHNpZ25hbHMsIHNvIHNldCB0aGVtCgkgIHRvIHNpbGVudC4KCjIwMTAtMDktMjIgMTE6NTc6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogRml4IGNsYXNzIGRlZmluaXRpb24KCSAgQ2xhc3Mgc3RydWN0dXJlcyBzaG91bGQgaW5jbHVkZSBwYXJlbnQgY2xhc3MsIG5vdCB0aGUgcGFyZW50CgkgIGluc3RhbmNlIHN0cnVjdHVyZS4KCjIwMTAtMDktMjIgMTY6NDE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IGZpeCB3ZWlyZCBjYXBzIGNvZGUKCSAgUmVtb3ZlIHRoZSB3ZWlyZCAoZmFpbGluZykgY29kZSB0byBmaWd1cmUgb3V0IGNhcHMgb24gdGhlIHNyY3BhZC4KCSAgQWRkIGEgY2FwcyBwcm9wZXJ0eSB0byBkZWNpZGUgd2hhdCBjYXBzIHRvIHB1dCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4IGFuIGV2ZW50IGxlYWsuCgoyMDEwLTA5LTIxIDE4OjEzOjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogcXVpZXQgYSBHU1RfRVJST1IKCjIwMTAtMDktMjEgMTk6MDc6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IGFkZCBwcm9wZXJ0eSB0byBkaXNhYmxlIHJlZGlyZWN0CgkgIEFkZCBhIHByb3BlcnR5IHRvIGF2b2lkIHJlZGlyZWN0aW9uIHRvIHRoZSBydHNwLXNkcDovLyB1cmwgYnV0IGluc3RlYWQgZW1iZWRzIGFuCgkgIHJ0c3BzcmMgZWxlbWVudCBpbnNpZGUgc2RwZGVtdXggYXMgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyY28gQmFsbGVzaW8uCgkgIEZpeGVzICM2MzAwNDYKCjIwMTAtMDktMjEgMTg6NDU6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3Npbms6IEZpeCBmdW5jdGlvbiBwcm90b3R5cGUgZm9yIHRvdWNoeSBjb21waWxlcnMKCjIwMTAtMDktMjEgMTg6MzQ6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MGUwMjUgdG8gNWUzYzliZgoKMjAxMC0wOS0yMSAxNjozMTowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbDogUG9ydCB0byBuZXcgWE92ZXJsYXkgQVBJCgkgIEZpeGVzICM2MzAyNTMKCjIwMTAtMDktMjEgMTY6MjY6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdTogVXNlIHRoZSBuZXcgWE92ZXJsYXkgQVBJCgkgIEZpeGVzICM2MzAyNTQKCjIwMTAtMDktMjEgMTA6NTk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgR3N0WE92ZXJsYXkgZnVuY3Rpb25zCgkgIFJlcGxhY2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X3hfb3ZlcmxheV9zZXRfeHdpbmRvd19pZCB3aXRoCgkgIGdzdF94X292ZXJsYXlfc2V0X3dpbmRvd19oYW5kbGUKCSAgRml4ZXMgIzYzMDI1NQoKMjAxMC0wOS0yMSAxMjozMzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBhZ2FpbiBmb3IgR0lUIHZlcnNpb25zCgoyMDEwLTA5LTIxIDEyOjI5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IGVycm9yIG91dCBvbiBVTkVYUEVDVEVECgoyMDEwLTA5LTIxIDEyOjI3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDktMjEgMTI6Mjc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxOToxNzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIHBpdGNoLXRlc3Q6IERvbid0IHVzZSBkZXByZWNhdGVkIEdzdENvbnRyb2xsZXIgQVBJCgoyMDEwLTA4LTI3IDE5OjAwOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIFVORVhQRUNURUQKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxOTowMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjU4OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgZm9yIGZhdGFsIGVycm9ycwoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpLgoKMjAxMC0wOC0yNyAxODo1NjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgc2ZzaW5rOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1Mjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIHR0YXBhcnNlOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gVU5FWFBFQ1RFRAoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUxOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTg6NTE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1MDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIFdST05HX1NUQVRFIG9yIFVORVhQRUNURUQuCgoyMDEwLTA4LTI3IDE4OjQ5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICBuc2Y6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjQ4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjQ3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJICBtdmVkZW11eDogQWRkIHByb3BlciBmbG93IHJldHVybiBhZ2dyZWdhdGlvbgoJICBOT1RfTElOS0VEIHNob3VsZCBvbmx5IGJlIHJldHVybmVkIGlmIGFsbCBzdHJlYW1zIHJldHVybmVkIE5PVF9MSU5LRUQuCgoyMDEwLTA4LTI3IDE4OjQxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVnZGVtdXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBmaXggc29tZSBtaW5vciBpc3N1ZXMgcmVsYXRlZCB0byBpdHMgdXNhZ2UuCgoyMDEwLTA4LTI3IDE4OjM2OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6MzU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgVU5FWFBFQ1RFRCBhbmQgZG8gaXQKCSAgZm9yIE5PVF9MSU5LRUQuCgoyMDEwLTA4LTI3IDE4OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSAgYXNmcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcHVzaCBFT1MgZG93bnN0cmVhbSBvbiBXUk9OR19TVEFURSwgaXQgd2lsbCBiZSBkcm9wcGVkIGFueXdheS4KCjIwMTAtMDgtMjcgMTg6MzI6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxODozMjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOS0yMCAyMTo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1lbnRpb24gcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGluIGRvY3MKCSAgQWRkIGEgbm90ZSB0byBkb2NzIGFib3V0IGdldHRpbmcgdGhlIHZpZGVvc291cmNlIGFuZCBhY2Nlc3NpbmcKCSAgaXRzIHBob3RvZ3JhcGh5IGludGVyZmFjZSAoaW4gY2FzZSBpdCBoYXMgaXQpCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDgtMjUgMTQ6MDQ6NTkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkcyBtaXNzaW5nIHZhcmlhYmxlIGluaXRpYWxpemF0aW9uCgkgIEFkZHMgbWlzc2luZyBhcHBfc3JjX3ZpZCBpbml0aWFsaXphdGlvbgoKMjAxMC0wOC0yNiAxNTozMzo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2hlY2sgc3RhdGUgY2hhbmdlIHRvIHBsYXlpbmcgZm9yIGltYWdlYmluIGFuZCB2aWRlb2JpbgoJICBQcm9wZXJseSBjaGVjayBhbmQgaGFuZGxlIGVycm9yIGNhc2VzIHJlbGF0ZWQgdG8gaW1hZ2ViaW4gYW5kCgkgIHZpZGVvYmluIHN0YXRlIGNoYW5nZXMuCgoyMDEwLTA2LTI4IDIxOjQ4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdXNlbGVzcyBzcmMgdGVtcGxhdGUgcGFkCgkgIGNhbWVyYWJpbiBpbWFnZWJpbiBkb2Vzbid0IG5lZWQgYSBzcmMgdGVtcGxhdGUgcGFkLgoKMjAxMC0wNi0yMSAwOTozNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRm9yd2FyZCB0YWcgZXZlbnRzIHRvIHByZXZpZXcgcGlwZWxpbmUKCSAgRm9yd2FyZCB0YWcgZXZlbnRzIGZyb20gaW1hZ2UgcGlwZWxpbmUgdG8gcHJldmlldyBwaXBlbGluZSBzbwoJICB0aGF0IHByZXZpZXcgZWxlbWVudHMgY2FuIHVzZSBjYXB0dXJlIHRhZ3MgaW5mb3JtYXRpb24KCjIwMTAtMDYtMjEgMTY6MTc6MjQgKzAzMDAgIEhvc2VvayBDaGFuZyA8aG9zZW9rLmNoYW5nQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFkZCAicHJldmlldy1zb3VyY2UtZmlsdGVyIiBwcm9wZXJ0eQoJICBBZGRzICdwcmV2aWV3LXNvdXJjZS1maWx0ZXInIGZvciBhZGRpbmcgYW4gZWxlbWVudCB0byBwcm9jY2VzcwoJICB0aGUgcHJldmlldyBpbWFnZXMgYmVmb3JlIHBvc3RpbmcgdGhlbSB0byB0aGUgYnVzLgoKMjAxMC0wNS0yNSAxNTozOTo0MyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB0YWcgbmFtZXMgaW4gdGVzdCBhcHBsaWNhdGlvbiB0byBsYXRlc3QgZ3N0IGRlZmluaXRpb25zCgoyMDEwLTA1LTE3IDEzOjQ0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogTWFrZSBibG9jay1hZnRlci1jYXB0dXJlIHJlc2V0dGluZyBtb3JlIGNvbnNpc3RlbnQKCSAgQWRkcyBhbm90aGVyIGJvb2xlYW4gdG8gaGVscCBjb250cm9sbGluZyB2aWV3ZmluZGVyIGJsb2NraW5nLAoJICBtYWtpbmcgaXQgcG9zc2libGUgZm9yIHRoZSBhcHBsaWNhdGlvbnMgdG8gcmVzZXQgdGhlIHZpZXdmaW5kZXIKCSAgYmxvY2tpbmcgYWZ0ZXIgY2FwdHVyZSB3YXMgc3RhcnRlZCBidXQgYmVmb3JlIHRoZSBibG9ja2luZwoJICBhY3R1YWxseSBoYXBwZW5zLgoKMjAxMC0wNS0xMiAyMToxMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVuYmxvY2sgdGhlIHZpZXdmaW5kZXIgd2hlbiBnb2luZyB0byBSRUFEWQoJICBVbmJsb2NrIHRoZSB2aWV3ZmluZGVyIHdoZW4gZ29pbmcgdG8gcmVhZHkgdG8gYXZvaWQKCSAgYmxvY2tpbmcgd2hlbiBzZXR0aW5nIGNhbWVyYWJpbiB0byBwbGF5aW5nIGFnYWluIGFuZAoJICBhdHRlbXBpbmcgdG8gY2FwdHVyZS4gS2VlcCB0aGUgcHJvcGVydHkgYXMgaXMuCgoyMDEwLTA5LTIwIDE3OjE5OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG1vbml0b3JpbmcgYW5kIHN1cHBvcnQgZm9yIHBob3RvaWZhY2Ugem9vbSBmb3IgdmlkZW8tc291cmNlCgkgIE1ha2VzIGNhbWVyYWJpbiBhd2FyZSBvZiBjaGFuZ2VzIGluIGl0cyB2aWRlb3NvdXJjZSB6b29tIHByb3BlcnR5LgoKMjAxMC0wOS0yMCAxNjoyMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IENoYW5nZSB6b29tIHByb3BlcnR5IGZyb20gaW50IHRvIGZsb2F0CgkgIFVwZGF0ZXMgem9vbSBwcm9wZXJ0eSBmb3IgYSBtb3JlIG5hdHVyYWwgdHlwZSBhbmQKCSAgbWFrZXMgaXQgY29uc2lzdGVudCB3aXRoIHRoZSBwaG90b2dyYXBoeSBBUEkKCjIwMTAtMDktMTkgMTg6NTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCB6b29tIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQvZ2V0IHRoZSB6b29tIGFzIGEgZmxvYXQKCjIwMTAtMDYtMDggMTA6MDQ6NTIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGNhY2hpbmcgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHNldHRpbmdzCgkgIENhbWVyYWJpbiBkb2Vzbid0IGltcGxlbWVudCBwaG90b2dyYXBoeSBpbnRlcmZhY2UsIHNvIHdlCgkgIGRvbid0IG5lZWQgY2FjaGluZyB0aGUgdmlkZW8gc291cmNlIHByb3BlcnRpZXMgYW55bW9yZS4KCjIwMTAtMDQtMjIgMTc6NDY6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogdXNlIHBob3RvaWZhY2UgcHJvcGVydGllcyB0aHJvdWdoIHZpZGVvLXNvdXJjZQoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA0LTIyIDE0OjAzOjM0ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlbW92ZSBwaG90b2lmYWNlIHByb3BlcnR5L3NldHRpbmdzIHRlc3RzCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDgtMzEgMTg6MDY6MTUgLTAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIGZyb20gY2FtZXJhYmluCgkgIFJlbW92ZSBub3RpZnkgc2lnbmFsIHByb3h5IGZvciB2aWRlby1zb3VyY2UuIEFwcGxpY2F0aW9uIGNhbiB1c2UKCSAgdmlkZW8tc291cmNlIGRpcmVjdGx5IGZyb20gbm93IG9uIHRvIGdldCBub3RpZmllZCBvZiBwcm9wZXJ0eSBjaGFuZ2VzLgoJICBBZGQgbW9uaXRvcmluZyBzY2VuZS1tb2RlIHByb3BlcnR5IGNoYW5nZSB0byBzZWxlY3QgbG93ZXN0IHBvc3NpYmxlCgkgIGZyYW1lcmF0ZSBmb3IgdmlkZW8gY2FwdHVyZSB3aGVuIG5pZ2h0IG1vZGUgaXMgc2VsZWN0ZWQuCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDQtMjkgMTI6NDQ6MjkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCAtLW5vLXh3aW5kb3cgb3B0aW9uIGFuZCBmaXggb3B0aW9uIGhhbmRsaW5nCgkgIEFkZCAtLW5vLXh3aW5kb3cgb3B0aW9uIHRvIG5vdCB0byBjcmVhdGUgeHdpbmRvdy4gQWxzbyBmaXggem9vbSBhbmQKCSAgbXV0ZSBvcHRpb24gdHlwZXMgYW5kIGZpbGVuYW1lIHN0cmluZyBoYW5kbGluZy4KCjIwMTAtMDQtMjkgMTM6MjQ6MTggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgaW1hZ2UtcHJldmlldy1zdXBwb3J0ZWQtY2FwcyBpbnRlcmZhY2UgcHJvcGVydHkKCSAgQWRkcyBhIHJlYWRhYmxlIHByb3BlcnR5IHRvIGdzdHBob3RvZ3JhcGh5IGludGVyZmFjZSB0byBxdWVyeQoJICB3aGF0IGFyZSB0aGUgYWxsb3dlZCBwcmV2aWV3IGNhcHMgc3VwcG9ydGVkLgoJICBQYXRjaCBieSBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoyMDEwLTA5LTIwIDEyOjM0OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIHVudXNlZCBjb2RlCgoyMDEwLTA5LTIwIDExOjI2OjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIGNoZWNrIGZvciBvbGQgLWJhc2UKCjIwMTAtMDktMTkgMTk6MzM6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogQWRkIGhhbmRsaW5nIG9mIEdzdEZvcmNlS2V5VW5pdCBldmVudHMKCjIwMTAtMDktMTggMTk6MjU6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBGaXggbmFtZSBvZiAzMHAvNjBpIHBhdHRlcm4KCjIwMTAtMDktMTggMTk6MjE6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgY2FwdHVyZSBwYXR0ZXJuIGhhbmRsaW5nCgkgIE1vdmUgdHlwaWNhbCBzY2FuX2Zvcl9zeW5jKCkgdXNhZ2UgaW50byBiYXNlIGNsYXNzLCB3aGljaCBqdXN0CgkgIGNhbGxzIGdzdF9hZGFwdGVyX21hc2tlZF9zY2FuX3VpbnQzMigpLgoKMjAxMC0wOS0xOCAxOToxNDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCBibG93IGF3YXkgZmllbGQgaW5mb3JtYXRpb24KCSAgQWxzbywgc2V0IGZpZWxkIGZsYWdzIGNvcnJlY3RseS4KCjIwMTAtMDktMTggMTc6Mjg6NDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIGRlYWRsaW5lIHRvIGZyYW1lIHN0cnVjdHVyZQoKMjAxMC0wOS0xOCAxNDo1NzozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBhbGxvdy1yZmYgcHJvcGVydHkuICBGaXggdGltZXN0YW1waW5nCgoyMDEwLTA5LTE4IDEzOjMyOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogbWVyZ2UgdGVsZWNpbmUgaW50byBub3JtYWwgb3BlcmF0aW9uCgoyMDEwLTA5LTA4IDE1OjA4OjUwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCB0ZWxlY2luZSBzdXBwb3J0CgoyMDEwLTA5LTE3IDA4OjQzOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nOiBBbGxvdyBjb21waWxhdGlvbiB3aXRob3V0IG9yYwoJICBBbHNvIGRvbid0IGlnbm9yZSAtLWRpc2FibGUtb3JjLiBGaXhlcyBidWcgIzYyOTg5Ny4KCjIwMTAtMDktMTQgMTY6MTc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkcyBhIG5ldyB0ZXN0IHRvIGNoZWNrIHNlcXVlbnRpYWwgY2FwdHVyZSBvZiBpbWFnZXMKCSAgQWRkcyBhIG5ldyB0ZXN0IGNhc2UgdGhhdCBzaG9vdHMgYSBzZXF1ZW5jZSBvZiBpbWFnZSBjYXB0dXJlCgkgIGFuZCBjaGVjayB0aGF0IHRoZSBmaWxlcyBhcmUgdmFsaWQuCgkgIEFsc28gYWRkcyB0YWdsaXN0IGNoZWNraW5nIGNhcGFiaWxpdGllcyB0byB0ZXN0cy4KCjIwMTAtMDktMTUgMTc6NTQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IEZvbGxvdyB4bXAgc2VyaWFsaXphdGlvbiBndWlkZWxpbmVzIGNsb3NlcgoJICBxdCBhbmQgaXNvbSB2YXJpYW50cyBoYXZlIGRpZmZlcmVudCB3YXlzIG9mIHNlcmlhbGl6aW5nCgkgIHhtcCwgZm9sbG93IHRoZXNlIGd1aWRlbGluZXMuCgkgIFRob3NlIGNhbiBiZSBmb3VuZCBpbiBBZG9iZSdzIHhtcCBkb2NzLgoKMjAxMC0wOS0xNSAyMTo0NzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvbG9yc3BhY2U6IGFkZCBvcmMtZGlzdCBmaWxlcwoJICBTaG91bGQgZml4IGJ1aWxkIHdpdGhvdXQgb3JjIG9yIHRvbyBvbGQgb3JjLgoKMjAxMC0wOS0xNSAxNzo1MToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSAgY2hlY2tzdW1zaW5rOiBmaXggdXAgY29weXJpZ2h0IGluIGhlYWRlciBmaWxlCgoyMDEwLTA5LTEyIDE0OjU5OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbGlicy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1saWJzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy5wYy5pbjoKCSAgcGtnY29uZmlnOiByZW1vdmUgc29tZSBvbGQgdW51c2VkIGZpbGVzIGZyb20gMC44IGRheXMKCjIwMTAtMDktMTUgMTg6Mzg6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogYWRkIHJlbW92ZWQgZmlsZXMgdG8gY3J1ZnQgdmFycwoKMjAxMC0wOS0xNSAxODoxMzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBhZGQgbWlzc2luZyBzdGRpbyBpbmNsdWRlCgoyMDEwLTA5LTE1IDE4OjEwOjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvLmdpdGlnbm9yZToKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IHJlbW92ZSBtZXRhZGF0YSBwbHVnaW4KCSAgVGhpcyBwbHVnaW5zIGZ1bmN0aW9uYWxpdHkgaXMgcmVwbGFjZWQgYnkgdXRpbGl0eSBsaWJyYXJpZXMgaW4gYmFzZSBmb3IgZXhpZgoJICBhbmQgeG1wLiBKcGVnIGltYWdlcyBjYW4gdXNlIHRoaXMgdmlhIGpwZWdmb3JtYXQgcGx1Z2luLgoJICBGaXhlcyAjNDg2NjU5CgoyMDEwLTA5LTE0IDExOjI4OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBBZGQgZm9ybWF0PWJnZ3IvZXRjLiB0byBjYXBzCgoyMDEwLTA5LTEzIDE4OjQ5OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgY29udmVyc2lvbiBjb2RlCgkgIFdvcmsgaW4gcHJvZ3Jlc3MuICBDb2xvcnNwYWNlIGhhbmRsZXMgbW9zdCBmb3JtYXQgY29udmVyc2lvbiB1c2luZwoJICAzLXN0YWdlIGdldGxpbmUvbWF0cml4L3B1dGxpbmUgcHJvY2VzcyB1c2luZyBhbiBBWVVWIG9yIEFSR0IKCSAgaW50ZXJtZWRpYXRlLCB3aXRoIG1vc3QgZnVuY3Rpb25zIGhhbmRsZWQgYnkgT3JjLiAgVGhlcmUgaXMgYWxzbwoJICBhIHRhYmxlIG9mIHNpbmdsZS1wYXNzIGNvbnZlcnNpb25zLCBhbGwgaGFuZGxlZCBieSBPcmMuICBUaGUgcGxhbgoJICBpcyB0byBhZGQgb3B0aW9uYWwgc3RhZ2VzIGZvciB2YXJpb3VzIGNocm9tYSB1cHNhbXBsaW5nL2Rvd25zYW1wbGluZwoJICBhbGdvcml0aG1zLCBkaXRoZXJpbmcsIGFuZCBmbG9hdC9pbnQxNiBpbnRlcm1lZGlhdGVzLCBhbmQgdGhlbiBoYXZlCgkgIE9yYyBjcmVhdGUgbXVsdGktc3RhZ2UgZnVuY3Rpb25zIGF0IHJ1bnRpbWUuCgoyMDEwLTA5LTEzIDEyOjQ4OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5jOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmg6CgkgIGNvbG9yc3BhY2U6IFJldml2ZSBlbGVtZW50CgkgIE5vdyBiYXNlZCBvbiBPcmMuCgoyMDEwLTA5LTA5IDE0OjQ5OjA2IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogYWRkZWQgdHJhbnNsYXRhYmxlIHRleHQgZm9yIHNlcnZlciBub3QgZm91bmQgZXJyb3IKCjIwMTAtMDgtMDkgMTQ6MzI6NTcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogQ2hhbmdlIGJpdHJhdGUgdG8gYml0cy9zZWMKCjIwMTAtMDktMTAgMTM6MzY6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUmVzZXQgdGFncyB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFJlc2V0IHRoZSB0YWdzZXR0ZXIgdGFncyB3aGVuIGdvaW5nIHRvIFJFQURZIHN0YXRlCgoyMDEwLTA5LTEwIDEzOjMzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCSAgVXNlIHNhbmVyIGNhdGVnb3JpZXMgZm9yIGppZm11eC9qcGVncGFyc2UgZWxlbWVudHMKCjIwMTAtMDktMTAgMTE6MzE6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgdGFncyB0byBtb3JlIGVsZW1lbnRzCgkgIFJlbW92ZSBjaGVjayBmb3IgJ011eGVyJyBjYXRlZ29yeSB3aGVuIHNldHRpbmcgdGFncwoJICBmb3IgdGFnc2V0dGVycy4gU2V0IHRoZW0gdG8gYWxsIHRhZ3NldHRlcnMgaW4gdGhlCgkgIHBpcGVsaW5lcy4KCjIwMTAtMDktMTAgMTg6MzU6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcmVkaXJlY3QgU0RQIHdpdGggYW4gcnRzcCBjb250cm9sIFVSTAoJICBXaGVuIHdlIGZpbmQgYW4gU0RQIHdpdGggYW4gcnRzcDovLyB1cmwgYXMgdGhlIGdsb2JhbCBjb250cm9sIGF0dHJpYnV0ZSBvciB3aGVuCgkgIGFsbCBzdHJlYW1zIGhhdmUgYW4gcnRzcDovLyBjb250cm9sIGF0dHJpYnV0ZSwgcG9zdCBhbiByZWRpcmVjdCBtZXNzYWdlIHdpdGggYW4KCSAgcnRzcC1zZHA6Ly8gdXJsIGNvbnRhaW5pbmcgdGhlIFNEUC4KCSAgRml4ZXMgIzYyODIxNAoKMjAxMC0wOS0xMCAxMDoyOTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBGaXggYnVpbGQgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCSAgQWRkIHNvbWUgaWZkZWZzIHRvIHByZXZlbnQgYnVpbGQgZmFpbHVyZXMgZHVlIHRvIHVudXNlZAoJICB2YXJpYWJsZXMKCjIwMTAtMDktMDkgMjM6NTk6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogYWxsb3cgcnVubmluZyBzdGF0ZSB0ZXN0cyBmb3IgYWxsIGVsZW1lbnRzCgkgIE5vdyBvbmUgY2FuIHVzZSBHU1RfTk9fU1RBVEVfSUdOT1JFX0VMRU1FTlRTPTEgbWFrZSBnZW5lcmljL3N0YXRlcy5jaGVjawoJICB0byB0cnkgZWxlbWVudHMgdGhhdCB3b3VsZCBub3JtYWx5IGJlIHNraXBwZWQuCgoyMDEwLTA5LTA5IDE3OjE4OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBkZXBlbmRlbmN5IG9uIGxpYnN3c2NhbGUKCSAgSXQncyBub3QgdXNlZCBpbiB0aGUgZ3N0IG9wZW5jdiBwbHVnaW4uCgoyMDEwLTA5LTA5IDE1OjAzOjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBkZWZpbmUgQ1ZfTk9fQkFDS1dBUkRfQ09NUEFUSUJJTElUWSB0byBzdXBwcmVzcyB3YXJuaW5ncyBjYXVzZWQgYnkgY29tcGF0IGhlYWRlcgoJICBDb21waWxlIHdpdGggLURDVl9OT19CQUNLV0FSRF9DT01QQVRJQklMSVRZIGZvciBub3csIHNvIHRoYXQgdGhlIGNvbXBhdCBoZWFkZXIKCSAgZG9lc24ndCBnZXQgaW5jbHVkZWQsIHdoaWNoIGNhdXNlcyBjb21waWxlciB3YXJuaW5ncyB0aGF0IChpdCBzZWVtcykgY2FuJ3QgYmUKCSAgc3dpdGNoZWQgb2ZmIGVhc2lseS4gQXMgYSByZXN1bHQsIHdlIGFsc28gc3BlY2lmeSBhIG1heC4gdmVyc2lvbiBpbiBjb25maWd1cmUsCgkgIHNvIHRoZSBidWlsZCBkb2Vzbid0IGJyZWFrIGlmIG91ciBjb2RlIGRvZXNuJ3QgY29tcGlsZSBhZ2FpbnN0IG5ld2VyIG9wZW5jdgoJICB2ZXJzaW9ucyBhbnkgbW9yZSB3aXRoIHRoYXQgZmxhZy4KCjIwMTAtMDktMDkgMTE6MDc6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBhdm9pZCAndW51c2VkJyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGlubGluZSBmdW5jdGlvbnMgaW4gb3BlbmN2IGhlYWRlcnMKCSAgT3ZlcnJpZGUgQ1ZfSU5MSU5FIHRvIGF2b2lkICd1bnVzZWQnIGdjYyB3YXJuaW5ncy4gR0xpYiB3aWxsIHRha2UgY2FyZSBvZiBkZWZpbmluZwoJICAnaW5saW5lJyBzdWZmaWNpZW50bHkgYW5kIE9wZW5DVidzIGRlZmluZSBpc24ndCBnb29kIGVub3VnaCB0byBhdm9pZCAndW51c2VkJwoJICBjb21waWxlciB3YXJuaW5ncyAoYXQgbGVhc3QgaW4gdmVyc2lvbiAyLjEuMCkuCgoyMDEwLTA5LTA5IDEwOjI3OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIG9wZW5jdjogdXBkYXRlIHBsdWdpbiBzb3VyY2UgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4KCjIwMTAtMDktMDggMjM6NTk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBBZGQgbW9yZSBwYXJhbWV0ZXJzCgkgIEV4cG9zZSB0aGUgcGFyYW1ldGVycyBvZiBjdkhhYXJEZXRlY3RPYmplY3RzIGluIGZhY2VkZXRlY3QKCSAgZWxlbWVudC4KCjIwMTAtMDktMDggMTQ6NTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0d3JpdGUuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBSZWZhY3RvciBmaWxlcyBzdHJ1Y3R1cmUKCSAgUmVtb3ZlIGludGVybmFsIGZvbGRlcnMgYW5kIHB1dCBhbGwgY29kZSBpbnNpZGUgdGhlIG1haW4gcGx1Z2luCgkgIGZvbGRlci4gQWxzbyBmaXhlcyBzb21lIGJ1aWxkaW5nIHdhcm5pbmdzLgoKMjAxMC0wOS0wOCAwMDowODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSAgb3BlbmN2OiBBZGRzIG5ldyBwbHVnaW4gb3BlbmN2CgkgIE1vdmVzIG9wZW5jdiBwbHVnaW4gZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9FbGxlby9nc3Qtb3BlbmN2CgkgIGludG8gLWJhZCBtb2R1bGUuCgoyMDEwLTA5LTA1IDIzOjA5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFBvc3QgYW4gdXNlZnVsIG1lc3NhZ2UKCSAgQWRkIGEgbWVzc2FnZSB0byBiZSBwb3N0IHdoZW4gZmFjZXMgYXJlIGZvdW5kIG9uIGEgZnJhbWUgdGhhdAoJICBjb250YWlucyBhbGwgZmFjZXMgb24gYSBzaW5nbGUgbWVzc2FnZSBhbmQgYWxzbyBoYXMKCSAgdGltZXN0YW1wL3J1bm5pbmcvc2VnbWVudCB0aW1lcyBmb3IgdGhhdCBidWZmZXIgc28gaXQKCSAgY2FuIGJlIGlkZW50aWZpZWQuCgkgIFRoaXMgbWVzc2FnZSBpcyBjYWxsZWQgJ2ZhY2VkZXRlY3QnIGFuZCBoYXMgYSAnZmFjZXMnIGxpc3QKCSAgb2Ygc3RydWN0dXJlcyB3aXRoIGFsbCBmYWNlcy4KCSAgVGhlIG9sZCAnZmFjZScgbWVzc2FnZSBpcyBzdGlsbCBwb3N0ZWQgZm9yIGVhY2ggZmFjZSBmb3VuZCwgYnV0CgkgIGl0IGlzIG5vdCByZWFsbHkgdXNlZnVsIGFzIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgcmVmZXJlbmNlIHRvIHRoZQoJICBidWZmZXIgdGhhdCBnZW5lcmF0ZWQgaXQuCgoyMDEwLTA5LTA1IDE3OjUzOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogVXNlIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIFBvcnQgZmFjZWRldGVjdCB0byB1c2UgR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgdG8gaW5oZXJpdCBhbGwgdGhlIGdvb2RuZXNzIHRoYXQgR3N0QmFzZVRyYW5zZm9ybS9Hc3RWaWRlb0ZpbHRlcgoJICBhbHJlYWR5IGhhbmRsZXMuCgoyMDEwLTA5LTAzIDIwOjI3OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSAgb3BlbmN2YmFzZXRyYW5zOiBVc2UgR3N0VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgUG9ydCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0gdG8gR3N0VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MuCgoyMDEwLTA1LTI0IDE5OjI4OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkgIGN2bGFwbGFjZTogYWRkcyBuZXcgY3ZsYXBsYWNlIGVsZW1lbnQKCSAgQWRkcyBuZXcgY3ZsYXBsYWNlIGVsZW1lbnQuCgkgIEFsc28gYWRkcyBhIG5ldyBvcGVuY3ZiYXNldHJhbnNmb3JtIGZ1bmN0aW9uIHRvIGJlIG92ZXJyaWRlbgoJICBieSBjaGlsZHJlbiBjbGFzc2VzOiB0aGUgY3Zfc2V0X2NhcHMsIGl0IGFsbG93cyBjaGlsZHJlbiBjbGFzc2VzCgkgIHRvIGtub3cgd2hhdCBhcmUgdGhleSBnb2luZyB0byBoYW5kbGUgYW5kIHByZXBhcmUgcHJvcGVybHkuCgoyMDEwLTA1LTE5IDIwOjExOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJICBBZGRzIG5ldyBlbGVtZW50IGN2c29iZWwKCjIwMTAtMDUtMTcgMTk6MDQ6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZHMgbmV3IGVsZW1lbnQgY3ZlcXVhbGl6ZWhpc3QKCjIwMTAtMDUtMTYgMTk6MTQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkcyBuZXcgZWxlbWVudHMgY3ZkaWxhdGUgYW5kIGN2ZXJvZGUKCSAgQWRkcyAyIHNpbWlsYXIgZWxlbWVudHMgKHNvIHNpbWlsYXIgdGhleSBoYXZlIHRoZWlyIG93biBiYXNlY2xhc3MpLAoJICBjdmRpbGF0ZSBhbmQgY3Zlcm9kZS4KCjIwMTAtMDUtMTYgMTc6MDM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSAgY3ZzbW9vdGg6IEltcHJvdmUgcGFyYW1ldGVycyBkb2NzCgoyMDEwLTA1LTE2IDE2OjM3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkgIGN2c21vb3RoOiBEZWFjdGl2YXRpbmcgYmx1ci1uby1zY2FsZQoJICBEZWFjdGl2YXRlIGJsdXItbm8tc2NhbGUgYmVjYXVzZSBiYXNldHJhbnNmb3JtIGRvZXNuJ3QgcHJvdmlkZSBhIHdheQoJICB0byBvdmVycmlkZSBnZXRjYXBzIGZvciBwYWRzLCBhbHdheXMgdXNpbmcgdGVtcGxhdGVjYXBzIGluZGVwZW5kZW50CgkgIG9mIHByb3BlcnRpZXMuCgoyMDEwLTA1LTE2IDExOjQyOjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBjdnNtb290aDogQWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LWdyYXkKCjIwMTAtMDUtMTYgMDA6NDY6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIEFkZGluZyBnc3RvcGVuY3Z1dGlscwoJICBBZGRzIGEgZmlsZSB0byBrZWVwIHV0aWxpdGFyeSBmdW5jdGlvbnMgdG9nZXRoZXIKCjIwMTAtMDUtMTEgMjA6MTE6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgY3ZzbW9vdGg6IEFkZHMgbmV3IGVsZW1lbnQgY3ZzbW9vdGgKCSAgQWRkcyBuZXcgY3ZzbW9vdGggZWxlbWVudAoKMjAxMC0wNS0wNSAwMToyNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSAgZ3N0b3BlbmN2YmFzZXRyYW5zOiBBZGRzIHRoaXMgbmV3IGJhc2UgY2xhc3MKCSAgQWRkcyBHc3RPcGVuY3ZCYXNlVHJhbnNmb3JtIGFzIGJhc2UgY2xhc3MgZm9yIHNpbXBsZSAxOjEKCSAgb3BlbmN2IGZpbHRlcnMKCjIwMTAtMDQtMjYgMTc6MTg6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogQWxsb2NhdGUgYSBuZXcgYnVmZmVyIGZvciBvdXRwdXQKCSAgVXNlIGEgbmV3bHkgYWxsb2NhdGVkIGJ1ZmZlciBmb3Igb3V0cHV0LCBhbmQgcmVsZWFzZSB0aGUgaW50ZXJtZWRpYXJ5CgkgIGltYWdlIHVzZWQuCgkgIEFsc28gYWRkIGEgVE9ETyBmb3IgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQKCjIwMTAtMDQtMjYgMTc6MzQ6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSAgZmFjZWJsdXI6IGZhY2VkZXRlY3Q6IHRlbXBsYXRlbWF0Y2g6IHRleHR3cml0ZTogU2V0IGJ1ZmZlciB0byB3cml0YWJsZQoJICBUaGVzZSBlbGVtZW50cyBvcGVyYXRlcyBpbiBwbGFjZSwgc2V0IGJ1ZmZlciB0byB3cml0YWJsZSBiZWZvcmUKCSAgb3BlcmF0aW5nLgoKMjAxMC0wNC0yNiAxNjoxNzoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBGaXggY2hhaW4gYnVmZmVyIGhhbmRsaW5nCgkgIEFsbG9jYXRlIGEgbmV3IG91dHB1dCBidWZmZXIgaW5zdGVhZCBvZiB1c2luZyB0aGUgaW5wdXQgYnVmZmVyCgkgIHBvaW50aW5nIHRvIHRoZSBpbnRlcm5hbCBjdkNFZGdlIG9wZW5jdidzIElwbEltYWdlIGRhdGEsIHdoaWNoCgkgIG1pZ2h0IGNoYW5nZSwgY29uc2VxdWVudGx5IGNoYW5naW5nIHRoZSBidWZmZXIuCgoyMDEwLTA0LTI1IDE2OjI3OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSAgY29uZmlndXJlOiBlbmFibGUgLVdlcnJvciB0byBpbXByb3ZlIGNvZGUKCSAgLVdlcnJvciBvbiBnaXQgdmVyc2lvbiBpcyB1c2VmdWwgdG8ga2VlcCBjb2RlIGNsZWFuLgoKMjAxMC0wMy0wMiAxMzo1NTowNSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgUkdCIGNvbG91cnMuIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTM6MTg6MTkgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlICJ0aGlja25lc3MiIG9mIGZvbnQgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMjo0NTo1OCArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB4IGFuZCB5IGNvLW9yZGluYXRlcyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEyOjQxOjI1ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgYWRkZWQgdGhlIHByb3BlcnkgZm9yIHNldHRpbmcgeCBhbmQgeSBjby1vcmRpbmF0ZXMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMi0yOCAxNDozNjozNSArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBBcHBseSBTdGVmYW4ncyBmYWNlYmx1ciBmaXhlcyB0byBmYWNlZGV0ZWN0CgoyMDEwLTAyLTI4IDE0OjMyOjAwICswMDAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGQgc2ltcGxlIHRleHQgb3ZlcmxheSBwbHVnaW4KCjIwMTAtMDItMTkgMjI6NTA6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IGZpeCBoYW5kbGluZyBvZiBwcm9maWxlIHByb3BlcnR5LgoJICBEdXAgYW5kIGZyZWUgdGhlIHN0cmluZy4gRml4ZXMgbGVha2luZyBuZXcgdmFsdWVzIGFuZCBhdm9pZHMgY3Jhc2hpbmcKCSAgZ3N0LWluc3BlY3QuCgoyMDA5LTEyLTE4IDExOjIzOjU5ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEZpeCBpbmNsdWRlcyBpbiB0ZW1wbGF0ZSBtYXRjaGluZyBlbGVtZW50CgoyMDA5LTA1LTI2IDEyOjU5OjA0ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQnJpbmcgY29kZSBpbiB0byBsaW5lIHdpdGggZ2VuZXJhbCBHc3RyZWFtZXIgc3RhbmRhcmRzCgoyMDA5LTA1LTI1IDEyOjU3OjExICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIEZpeCBzZWdmYXVsdCBpbiB0ZW1wbGF0ZSBtYXRjaCBlbGVtZW50IGlmIG5vIHRlbXBsYXRlIGhhcyBiZWVuIHNldCBBZGQgdGVtcGxhdGUgbWF0Y2hpbmcgcHl0aG9uIGV4YW1wbGUgQWRkIGF1dG90b29sLCBsaWJ0b29sIGFuZCBwa2djb25maWcgZGVwZW5kZW5jaWVzIHRvIGRlYmlhbiBjb250cm9sIGZpbGUKCjIwMDktMDUtMjUgMTE6MjY6MjggKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZCBhIHBsdWdpbiBmb3IgYXV0b21hdGljYWxseSBibHVycmluZyBmYWNlcyBpbiB2aWRlb3MgYW5kIGltYWdlcwoKMjAwOS0wNS0xMyAxMjoxOTo0MyArMDMwMCAgTm9hbSA8bm9hbUBkdWFwb3YuKG5vbmUpPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQWRkZWQgY29udHJvbCBmb3IgY2hhbmdpbmcgbWV0aG9kCgoyMDA5LTA1LTEzIDExOjU1OjMxICswMzAwICBOb2FtIDxub2FtQGR1YXBvdi4obm9uZSk+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEFkZGVkIHRlbXBsYXRlbWF0Y2ggZWxlbWVudAoKMjAwOS0wNS0wOCAxMTo1NToyMCArMDUzMCAga2FwaWwgPGthcGlsQGthcGlsLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIFJlZ2lzdGVyaW5nIGFsbCBlbGVtZW50cyB1bmRlciBvcGVuY3YgcGx1Z2luCgoyMDA5LTA1LTA2IDE1OjQ5OjQyICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIEZpeCB0aGUgcHJvZmlsZSBwYXJhbWV0ZXIgaW4gdGhlIGZhY2VkZXRlY3QgZWxlbWVudCB0byBhY2NlcHQgYSBzdHJpbmcgY29ycmVjdGx5CgoyMDA5LTA1LTA2IDE1OjMzOjQ4ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgUmVsZWFzZSBPcGVuQ1YgaW1hZ2VzIHdoZW4gZmluYWxpemluZyBlbGVtZW50cwoKMjAwOS0wNS0wNiAxNjozODoxNSArMDUzMCAga2FwaWwgPGthcGlsQGthcGlsLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIEZpeGVkIGNvbXBpbGUgZXJyb3JzCgoyMDA5LTA0LTIwIDE4OjQwOjEzICswMzAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIE1ha2UgZmFjZSBkZXRlY3Qgc2VuZCBhIGJ1cyBtZXNzYWdlIHdoZW4gYSBmYWNlIGlzIGRldGVjdGVkIFdyaXRlIGEgc2ltcGxlIHB5dGhvbiBleGFtcGxlIGZvciBmYWNlIGRldGVjdGlvbgoKMjAwOS0wNC0xOCAyMzo0MzozNyArMDMwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBBZGQgZmFjZSBkZXRlY3Rpb24gZWxlbWVudCBDbGVhbiB1cCBzb21lIGdlbmVyYXRlZCBmaWxlcyBVcGRhdGUgYSBmZXcgb2xkIGNvbW1lbnRzCgoyMDA4LTEyLTE4IDIzOjQ4OjQwICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmluOgoJICAqIFJlbW92ZSBzb21lIGF1dG90b29scyBnZW5lcmF0ZWQgZmlsZXMKCjIwMDgtMTItMTggMjM6NDM6MzYgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgICogTWFrZSBpdCBwb3NzaWJsZSB0byBzZXQgdGhyZXNob2xkMiBhdCBydW50aW1lICogSW1wbGVtZW50IHB5cmFtaWQgc2VnbWVudGF0aW9uIGVsZW1lbnQgKiBNYWtlIG1hc2tpbmcgb3B0aW9uYWwgb24gZWRnZWRldGVjdCAqIENsZWFuIHVwIGVkZ2VkZXRlY3QsIGFkZCBlbGVtZW50IGRldGFpbHMgKiBJbXBsZW1lbnRlZCBlZGdlIGRldGVjdCBlbGVtZW50CgoyMDEwLTA5LTA4IDE2OjU3OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogTWFwIEdTVF9UQUdfQUxCVU1fQVJUSVNUCgkgIE1hcCBHU1RfVEFHX0FMQlVNX0FSVElTVCB0byBUUEUyIGFzIGl0IGlzIGRvbmUgaW4KCSAgLWJhc2UgaWQzdGFnIG1hcHBpbmdzLgoKMjAxMC0wOC0wOSAwMDoxNTowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFVzZSBBR19HU1RfQ0hFQ0tfR1NUX1BMVUdJTlNfe0dPT0QsVUdMWSxCQUQsRkZNUEVHfSBtYWNyb3MgZnJvbSBjb21tb24KCSAgdG8gZmluZCBwbHVnaW4gZGlyZWN0b3JpZXMgZm9yIHRoZSB2YXJpb3VzIG1vZHVsZXMgb3VyIHVuaXQgdGVzdHMgZGVwZW5kCgkgIG9uIGluIGFuIHVuaW5zdGFsbGVkIGVudmlyb25tZW50LiBUaGlzIG1ha2VzIHN1cmUgdGhlc2UgcGx1Z2lucyBhcmUgZm91bmQKCSAgZXZlbiB3aGVuIGRpc3RjaGVja2luZyAod2hpY2ggaGFwcGVucyBmcm9tIGEgc3ViZGlyZWN0b3J5LCB3aGljaCBtZWFucwoJICB0aGF0IHRoZSBjdXJyZW50bHkgdXNlZCB0cmljayB0byBmaW5kIHRoZSB1bmluc3RhbGxlZCBkaXJlY3RvcmllcyBvZgoJICB0aGVzZSBtb2R1bGVzIGRvZXNuJ3Qgd29yayBpbiB0aGF0IGNhc2UpLgoKMjAxMC0wOS0wNyAxOToxNjoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3Mgc2dtbCBmaWxlIGEgYml0CgoyMDEwLTA5LTA3IDE1OjIyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBkb2NzOiBhZGQgMiBuZXcgZmlsZXMgdG8gZ2l0aWdub3JlCgkgIEFkZHMgZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXcgYW5kCgkgIGdzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3IHRvIC5naXRpZ25vcmUKCjIwMTAtMDktMDcgMTQ6NDU6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogTWFrZSBpdCBtb3JlIGNvbG9yc3BhY2Ugc21hcnQKCSAgVGhpcyBtYWtlcyBpdCBhYmxlIHRvIHJlY29tYmluZSByZ2IgaW1hZ2VzLCBtYWtpbmcgaXQgcG9zc2libGUKCSAgdG8gYWRkIHRhZ3MgdG8gcmdiIGpwZWdzIGFzIHdlbGwuCgkgIFVzZXMgYSBzaW1wbGUgc3RyYXRlZ3kgdG8gY2hlY2sgd2hhdCBhcmUgdGhlIHBvc3NpYmxlIGNvbG9yc3BhY2VzCgkgIGFuZCBhdm9pZCBhZGRpbmcgamZpZiB0byBvbmVzIHRoYXQgYXJlbid0IFlVVi9HcmF5LgoKMjAxMC0wOS0wNyAxMDoyNjoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0cyBmb3IgbmV3IHBwaSB0YWdzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgaWYgbGliZXhpZiBjYW4gcmVhZCBvdXIKCSAgRVhJRl9UQUdfWC9ZX1JFU09MVVRJT04gdGFncy4KCjIwMTAtMDktMDcgMTM6Mjg6MjAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogRml4IGVsZW1lbnQgZGV0YWlscwoKMjAxMC0wOS0wNyAxMTo0MjozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGMyZTEwYmYgdG8gYWEwZDFkMAoKMjAxMC0wOS0wNyAxMTozNDozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBpbnRyb3NwZWN0aW9uIGRhdGEgZm9yIHJlY2VudCBjaGFuZ2VzCgoyMDEwLTA5LTA3IDExOjI4OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICBkb2NzOiByZW1vdmUgaW50cm9zcGVjdGlvbiBmaWxlcyBmb3IgcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtZXJnZWQsIG1vdmVkIG9yIHJlbmFtZWQKCSAgVGhlIGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlIHBsdWdpbnMgaGF2ZSBiZWVuIG1lcmdlZCBpbnRvIHRoZSBhdWRpb3BhcnNlcnNiYWQKCSAgcGx1Z2luLiBUaGUgYWlmZnBhcnNlIHBsdWdpbiBoYXMgYmVlbiByZW5hbWVkIHRvIGFpZmYgc2luY2UgaXQgYWxzbyBjb250YWlucyBhbgoJICBhaWZmIG11eGVyIG5vdy4gVGhlIGFtcndiIHBsdWdpbiBoYXMgYmVlbiByZW5hbWVkIHRvIGFtcndiZW5jLiBUaGUgZHZic3JjIHBsdWdpbgoJICBoYXMgYmVlbiByZW5hbWVkIHRvIGR2Yi4gVGhlIGdzdHJ0cG1hbmFnZXIgcGx1Z2luIGhhcyBtb3ZlZCB0byAtZ29vZC4gVGhlIHgyNjQKCSAgcGx1Z2luIGhhcyBtb3ZlZCB0byAtdWdseS4gQW5kIHRoZSBtcGVndHNwYXJzZSBwbHVnaW4gaGFzIGJlZW4gbWVyZ2VkIGludG8gdGhlCgkgIG1wZWdkZW11eDIgcGx1Z2luLgoKMjAxMC0wOS0wNyAwMDoxNjowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBkaXN0Y2hlY2sgYnkgZGlzdGluZyBuZXcgamFjayBleGFtcGxlIGRpcmVjdG9yeQoJICBBbHNvIGFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAxMC0wOS0wNiAxNzoxNzo1NCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvamFjay9qYWNrX2NsaWVudC5jOgoJICBleGFtcGxlczogYWRkIHRlc3QgdG8gZGVtb25zdHJhdGUgamFja19jbGllbnRfdCB1c2FnZQoKMjAxMC0wOS0wNiAxNjoxMTozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogYWRkZWQgY2xpZW50IHByb3BlcnR5CgoyMDEwLTA2LTE3IDE2OjI2OjA3IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgamFjazogcmVtb3ZlZCB1bnVzZWQgZmlsZSBnc3RqYWNrYmluLmMKCSAgVGhpcyBpcyBhIDAuOCBsZWZ0b3Zlci4KCjIwMTAtMDktMDYgMTQ6MTI6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBub24tVElNRSBzZWVrIGV2ZW50IGlzIHNpbXBseSBub3QgaGFuZGxlZAoKMjAxMC0wOS0wNiAwOToyODo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQnVtcCAtY29yZS8tYmFzZSByZXF1aXJlbWVudHMgdG8gMC4xMC4zMC4xCgkgIFdlIG5lZWQgMC4xMC4zMC4xIHRvIGhhdmUgbGF0ZXN0IHRhZ3MgaW4gY29yZS9iYXNlIGZvciBqaWZtdXgKCSAgdGVzdHMuCgoyMDEwLTA4LTI2IDAyOjU0OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBNYWtlIHRoZSBkdG1mc3JjIGFjY2VwdCBldmVudHMgc2VudCB3aXRoIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQKCSAgVGhlIGRvYyBzYXlzIHRvIHVzZSBnc3RfZWxlbWVudF9zZW5kX2V2ZW50IG9uIHRoZSBwaXBlbGluZSwgYnV0IGlmCgkgIHdlIGFyZSB0byBjYWxsIGl0IG9uIHRoZSBlbGVtZW50IGl0c2VsZiwgaXQncyBhIG5vb3AuIFRoaXMgc2hvdWxkIG1ha2UgaXQKCSAgaGFuZGxlIHRoZSBldmVudCBwcm9wZXJseSBiZWZvcmUgZGVsZWdhdGluZyBpdCB0byBiYXNlc3JjLgoKMjAxMC0wOS0wNSAxNjozMDowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogc2V0IG5ldyBmcmFtZXJhdGUgb24gb3V0cHV0IGNhcHMgaW5zdGVhZCBvZiBpbnB1dCBjYXBzCgkgIEl0J3Mgbm90IGFsbG93ZWQgdG8gY2hhbmdlIHRoZSBjYXBzIHByb3ZpZGVkIGJ5IHRoZSBzZXRjYXBzIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4MzI2CgoyMDEwLTA5LTA2IDAzOjIzOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFRha2UgcGFyYW1ldGVycyBvbiBjb21tYW5kIGxpbmUKCSAgTm93IGl0J3MgYWN0dWFsbHkgdXNlZnVsLgoKMjAxMC0wOS0wNiAwMzowNDoxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTA2IDEwOjI5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IFVzZSBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgJWxsdQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcy4KCjIwMTAtMDktMDYgMTE6MDM6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHN5bmMgd2l0aCBjb3B5IGluIC1iYXNlCgkgIFVzZSBfZ2V0X2NhcHNfcmVmZmVkIHRvIGF2b2lkIGNvcGllcy4KCjIwMTAtMDgtMjQgMTE6NTA6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogbW92ZSB0aGUgZGVidWcgaW5pdCB0byB0aGUgYm9pbGVycGxhdGUgbWFjcm8KCjIwMTAtMDgtMjQgMTE6NTA6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHVzZSBHU1RfQk9JTEVSUExBVEUgbWFjcm8KCjIwMTAtMDgtMjQgMTE6MjY6NTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBkb24ndCBhZGQgYSBnX21haW5sb29wIGRlcGVuZGVuY3kKCSAgSnVzdCB1cGRhdGUgdGhlIGZwcy1tZXNzYWdlIGZyb20gdGhlIHByb2JlIGhhbmRsZXIuCgoyMDEwLTA4LTE4IDExOjM1OjQ0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogc21hbGwgY2xlYW51cAoJICBBZGQgb25lIG9uZSBleGFtcGxlIGFuZCBsb3dlciB0aGUgZm9uJ3Qgc2l6ZSBmb3IgdGhlIG92ZXJsYXkuCgoyMDEwLTA4LTIzIDA5OjUxOjI1IC0wNTAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogbWVhc3VyZSBmcHMgaW4gdGVybXMgb2Ygd2FsbCBjbG9jayB0aW1lCgkgIE1lYXN1cmUgZnBzIGluIHRlcm1zIG9mIHN5c3RlbSBjbG9jaywgcmF0aGVyIHRoYW4gcGlwZWxpbmUgY2xvY2ssIHRvIGdldAoJICBhbiBhY2N1cmF0ZSBtZWF1cmUgb2YgZnBzLgoKMjAxMC0wOS0wNSAyMjo0MToyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkgIGNoZWNrc3Vtc2luazogQWRkIG5ldyBlbGVtZW50CgoyMDEwLTA5LTA1IDIyOjMwOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgc3NpbTogQWRkIEk0MjAgc3VwcG9ydAoKMjAxMC0wOS0wNSAyMTozNDozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBtb3JlIGZvcm1hdHMKCjIwMTAtMDktMDUgMTg6NTg6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkM2Q5YWNmIHRvIGMyZTEwYmYKCjIwMTAtMDktMDUgMjM6NDA6MDggKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3OgoJICBSZW1vdmUgLm5ldyBkb2NzIGZpbGVzIGZyb20gdGhlIHJlcG9zaXRvcnkKCjIwMTAtMDktMDUgMTU6MzQ6MTMgLTA3MDAgIEpvbmF0aGFuIFJvc3NlciA8am9uYXRoYW4ucm9zc2VyQHJkLmJiYy5jby51az4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IGNvZ192aXJ0X2ZyYW1lX25ld19jb252ZXJ0X3U4KCkKCSAgQ29udmVyc2lvbiB3YXMgdXNpbmcgdW5pbml0aWFsaXplZCBkYXRhIGluc3RlYWQgb2Ygc291cmNlIGZyYW1lLgoJICBGaXhlcyAjNjI2NDI1LgoKMjAxMC0wOS0wNSAxMjowNjozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSAgY29nOiBGaXggZ2VuZXJhdGVkIE9yYyBjb2RlCgkgIEFsc28gZHJvcCByZXF1aXJlZCBPcmMgYmFjayBkb3duIHRvIDAuNC43LgoKMjAxMC0wOC0zMCAyMToyMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIGppZm11eCBpbnN0ZWFkIG9mIG1ldGFkYXRhbXV4CgkgIFVzZSBqaWZtdXggZWxlbWVudCB0byB3cml0ZSBleGlmL3htcCB0YWdzIGluc3RlYWQgb2YgbWV0YWRhdGFtdXgKCjIwMTAtMDgtMzAgMjE6MjE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgbmV3IHRhZ3MgZnJvbSAtYmFzZQoJICBSZXBsYWNlIHByaXZhdGUgdGFncyBmcm9tIG1ldGFkYXRhIHBsdWdpbiB3aXRoIHRoZSBuZXcgZ2VuZXJpYyB0YWdzCgkgIGZyb20gLWJhc2UuCgoyMDEwLTA5LTAzIDE0OjEyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlZmFjdG9yIHRlc3RzCgkgIFRoZSB0ZXN0cyB3ZXJlIGRvbmUgaW4gMiBzdGVwcywgZmlyc3QgdGhlcmUgd2FzIGEgc3VpdGUKCSAgdGhhdCBnZW5lcmF0ZWQgdGhlIGZpbGVzICh3aGlsZSBjaGVja2luZyB0aGF0IGNhbWVyYWJpbgoJICB3YXMgb3BlcmF0aW5nIGNvcnJlY3RseSkuIFRoZW4gdGhlcmUgd2FzIGEgc2Vjb25kIHN1aXRlCgkgIHRoYXQgd2FzIHJ1biB0byBjaGVjayB0aGF0IGFsbCBmaWxlcyB3ZXJlIHBsYXlhYmxlIHdpdGgKCSAgcGxheWJpbjIuIFRob3NlIHNlY29uZCB0ZXN0cyB3ZXJlIG5vdCBiZWluZyBydW4gYmVjYXVzZQoJICB0aGV5IHdlcmUgY2hlY2tpbmcgaWYgY2FtZXJhYmluIHdhcyBpbml0aWFsaXplZCwgYW5kIGl0CgkgIG5ldmVyIHdhcyBhcyB0aG9zZSB0ZXN0cyBkaWRuJ3QgdXNlIGEgJ3NldHVwJyBmdW5jdGlvbi4KCSAgVGhpcyBjb21taXQgcmVmYWN0b3JzIHRoZSB0ZXN0cyBieSByZW1vdmluZyB0aGlzIHNlY29uZAoJICBzdWl0ZSBhbmQgbWVyZ2luZyBpdHMgdmFsaWRhdGlvbiB3aXRoIHRoZSBmaXJzdCBzdWl0ZSdzCgkgIGZ1bmN0aW9ucy4KCjIwMTAtMDgtMjQgMTQ6NDM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgZ2VvIGxvY2F0aW9uIHRhZ3MgdGVzdHMKCSAgQWRkcyBzb21lIG1vcmUgdGVzdHMgZm9yIGdlbyBsb2NhdGlvbiB0YWdzLgoJICBBbHNvIHVzZSBsaWJleGlmIGNvbnN0YW50cyBmb3IgdGhlIGV4aWYgdGFncycgaWRzLgoKMjAxMC0wOC0yNCAwOTowMjo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogUmVmYWN0b3IgdGVzdGluZyBjb2RlIGEgbGl0dGxlCgkgIFJlZmFjdG9yIHRlc3RpbmcgY29kZSB0byBhbGxvdyB0ZXN0aW5nIGZvciBjYXNlcyB3aGVyZSB0aGUKCSAgc2FtZSBnc3RyZWFtZXIgdGFnIGlzIG1hcHBlZCB0byBtdWx0aXBsZSBleGlmIHRhZ3MuCgoyMDEwLTA4LTIzIDExOjU3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBNb3JlIHRlc3RzIGZvciBleGlmIHRhZ3MKCSAgUmVmYWN0b3JzIHNvbWUgY29kZSBhbmQgYWRkIHNvbWUgbW9yZSB0ZXN0cyBmb3IgZXhpZiB0YWdzCgoyMDEwLTA5LTAyIDExOjE4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERvIG5vdCBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgaW1hZ2Ugb24gMTZiaXRzCgkgIFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50MTYgdG8gcmVwcmVzZW50IHRoZSBzaXplIG9mIHRoZSBlbmNvZGVkIGltYWdlLAoJICB0aGlzIHdvdWxkIG1ha2Ugc29tZSByZWNvbWJpbmVkIGltYWdlcyBsb3NlIG1vc3Qgb2YgdGhlaXIgZGF0YSBhbmQKCSAgc2hvdyBsaWtlIGEgYmlnIGJsYWNrIGltYWdlIHdpdGggYSBzbWFsbCBsaW5lIG9mIGNvbnRlbnQgb24gdG9wLgoJICBBbHNvIGFkZHMgYSBtaW5vciBsb2cgbWVzc2FnZS4KCjIwMTAtMDgtMjEgMTc6MDE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJICBqaWZtdXg6IFNldCBvdXRwdXQgcGFkIGNhcHMKCSAgU2V0IG91dHB1dCBwYWQgY2FwcyB0byBndWFyYW50ZWUgY2FwcyBvbiB0aGUgYnVmZmVycyBiZWluZwoJICBwdXNoZWQgZG93bnN0cmVhbS4KCjIwMTAtMDgtMjAgMDg6MzQ6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRGV0ZWN0IEVPSSBjb3JyZWN0bHkKCSAgRU9JIGFyZSBub3QgYWx3YXlzIGF0IHRoZSBsYXN0IDQgYnl0ZXMuIFdlIG5lZWQgdG8gc2VhcmNoCgkgIHRoZSBsYXN0IDUgYnl0ZXMgdG8gZmluZCB0aGUgMHhGRkQ5IHNlcXVlbmNlIGFzIGpwZWdlbmMgc2VlbXMKCSAgdG8gcm91bmQgdGhlIGJ1ZmZlciBzaXplIHRvIHRoZSBuZXh0IDQgbXVsdGlwbGUuCgoyMDEwLTA4LTE5IDIyOjQzOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFB1dCBBUFAwIGZpcnN0IGFsd2F5cwoJICBGaXhlcyB0aGUgb3JkZXIgb2YgdGhlIEFQUDAvQVBQMSBtYXJrZXJzLiBBUFAwIHNob3VsZAoJICBiZSBmaXJzdC4KCjIwMTAtMDktMDIgMDE6MzI6MTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogcGFyc2UgInBpeGVsLWFzcGVjdC1yYXRpbyIgZnJvbSBzdHJlYW0KCjIwMTAtMDktMDIgMDE6MDQ6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBub24gd29ya2luZyB1bnVzZWQgY29kZSBmcm9tIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDktMDIgMDA6MTc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBHc3RCYXNlVmlkZW9EZWNvZGVyIHNldCBkZWZhdWx0IHBhciB0byAxLzEKCjIwMTAtMDktMDEgMjM6NDc6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9nZXRfY3VycmVudF9mcmFtZQoJICB3ZSBub3cgcGFzcyB0aGUgY3VycmVudCBmcmFtZSB0byBHc3RCYXNlVmlkZW9EZWNvZGVyOjpwYXJzZV9kYXRhCgkgIGFsc28gZml4dXAgc29tZSBlcnJvcnMgaW4gdmRwYXVtcGVnNGRlYyBzbyB0aGF0IGl0IG5vdyBnaXZlcyBjb3JyZWN0IG91dHB1dAoKMjAxMC0wOS0wMSAyMjowMzowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSAgdmRwYXU6IHJld29yayBHc3RCYXNlVmlkZW9EZWNvZGVyIHRpbWVzdGFtcGluZwoJICB0aW1lc3RhbXBzIGFyZSBub3cgY2hvc2VuIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6CgkgIHVwc3RyZWFtIC0+IHBhcnNlZCBieSBkZWNvZGVyIC0+IGNhbGN1bGF0ZWQgZnJvbSB0aW1lc3RhbXAgb2Zmc2V0CgkgIHdlIGFsc28gY2hlY2sgdGhlIHRpbWVzdGFtcHMgc3VwcGxpZWQgZnJvbSB1cHN0cmVhbS9kZWNvZGVyIHRvIHNlZSBpZiB0aGV5CgkgIGF0bGVhc3QgaXMgaW5jcmVhc2luZy4KCjIwMTAtMDktMDEgMTc6NDU6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBpbnZhbGlkIHVucmVmCgoyMDEwLTA5LTA1IDEyOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWM2MDIxNyB0byBkM2Q5YWNmCgoyMDEwLTA5LTA1IDExOjQ1OjM1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEJ1bXAgb3JjIHJlcXVpcmVtZW50IHRvIDAuNC44LjEKCSAgMC40LjcgY3JlYXRlcyBjb2RlIHdpdGggdW5hdmFpbGFibGUgc3ltYm9scwoJICAwLjQuOCBjcmVhdGVzIGJ1Z2d5IGNvZGUKCSAgTGV0J3MgdXNlIGdpdCBoZWFkIG9mIG9yYyAod2hpY2ggc3RpbGwgd29uJ3Qgd29yayBiZWNhdXNlIGdpdCBoZWFkCgkgIG9mIG9yYyBzdGlsbCBjbGFpbXMgdG8gYmUgMC40LjgpCgkgIFRoaXMgYWxsb3dzIGFsbCB0aGUgcmVzdCBvZiAtYmFkIHRvIGJ1aWxkIHByb3Blcmx5LgoKMjAxMC0wNy0xNCAyMTowMDoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICB0aW1pZGl0eTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyAoZ2NjIDQuNC40KQoKMjAxMC0wOS0wNCAxMTozNToxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSAgY29nOiB1cGRhdGUgZGlzdGVkIE9yYyBmaWxlcwoKMjAxMC0wOC0yNiAyMjowMzoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGx2aWRlb3Npbms6IFJlLWVuYWJsZSBZVllVIGFuZCBVWVZZCgkgIFlWWVUgb24gbXkgbWFjaGluZSBhcHBlYXJzIHRvIGJlIGRvaW5nIHNvZnR3YXJlIGNvbnZlcnNpb24KCSAgKGFuZCBkb2luZyBpdCBpbmNvcnJlY3RseSkuCgoyMDEwLTA4LTI2IDIwOjE1OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2Jhc2UuYzoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogY29uc3RydWN0IGVsZW1lbnQgbmFtZXMKCjIwMTAtMDgtMjIgMjE6NDM6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IG5ldyBlbGVtZW50CgoyMDEwLTA4LTIwIDE3OjI0OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogQWRkIGZhc3QgcGF0aHMgZm9yIGNvbG9yc3BhY2UgY29udmVyc2lvbgoKMjAxMC0wOC0yMCAxNzoyMzoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBPcmMgMC40LjcKCjIwMTAtMDgtMTMgMjE6NTg6MDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJICBlbGVtZW50LW1ha2VyOiBGaXggdXAgR3N0RWxlbWVudAoKMjAxMC0wOC0xMyAyMTo1NDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IEltcHJvdmVtZW50cyBpbiBjb2xvcnNwYWNlIGFuZCBzY2FsZXIKCSAgQWRkIGZhc3QgcGF0aHMgZm9yIFlVVi0+WVVWIGNvbnZlcnNpb25zIGFuZCBPcmMgY29kZSBmb3IgYWxsLgoJICBVc2UgT3JjIGZvciBob3Jpem9udGFsIHJlc2FtcGxpbmcuCgoyMDEwLTA2LTExIDE0OjM5OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IG1pbm9yIGNsZWFudXBzCgkgIEltcHJvdmUgZWxlbWVudCBkZXNjcmlwdGlvbnMsIHJlbW92ZSB1bnVzZWQgZmlsZXMsIGNvZGUgY2xlYW51cC4KCjIwMTAtMDktMDMgMTA6MDM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50CgkgIFRlbXBvcmFyaWx5IGRpc2FibGUgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciBnaXQgYnVpbGRzIHVudGlsCgkgIHRoZSBjb2RlIGlzIHVwZGF0ZWQgZm9yIHRoZSBHU1RfRkxPV19JU18qIG1hY3JvIGRlcHJlY2F0aW9ucy4KCjIwMTAtMDktMDEgMjI6MDU6NDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IEluaXRpYWxpemUgUEVTIHBhY2tldCBiZWZvcmUgZ2V0dGluZyB0aGUgaGVhZGVyIHNpemUuCgkgIFRoZSBQRVMgaGVhZGVyIGxlbmd0aCBpcyBjYWxjdWxhdGVkIGJlZm9yZSBzZXR0aW5nIHRoZSBkeW5hbWljIGZsYWdzLCByZXR1cm5pbmcKCSAgYSB3cm9uZyB2YWx1ZS4gU21hbGwgZnJhbWVzIHRoYXQgc2hvdWxkIGJlIHNlbnQgaW4gYSBzaW5nbGUgVFMgcGFja2V0IGFyZQoJICBzcGF3bmVkIHRvIGEgbmV3IHBhY2tldCBiZWNhdXNlIG9mIHRoYXQgZXJyb3IuIEZvciBhdWRpbyBzdHJlYW1zIHdoZXJlIGEgc2luZ2xlCgkgIGZyYW1lIGNhbiBjb3BlIGluIG9uZSBUUyBwYWNrZXQgaXQgaW50cm9kdWNlcyBhIGh1Z2Ugb3ZlcmhlYWQuCgkgIEZvciBhIDEwMEIgcGFja2V0LCB3ZSBwcmVwYXJlIGEgVFMgcGFja2V0IHdpdGggYSBwYXlsb2FkIG9mKDEwMCs5KUIuIFRoZW4sIHdlCgkgIHdyaXRlIHRoZSBUUyBoZWFkZXIgdXNpbmcgdGhpcyB2YWx1ZSBpbiB0c211eF93cml0ZV90c19oZWFkZXIsIGFuZCBjYWxsCgkgIHRzbXV4X3N0cmVhbV9nZXRfZGF0YSgpLiBUaGUgZHluYW1pYyBmbGFncyB3aGVyZSBub3Qgc2V0IHlldCBhbmQgbm93CgkgIHRzbXV4X3N0cmVhbV9wZXNfaGVhZGVyX2xlbmd0aCgpIHJldHVybnMgMTRCIGluc3RlYWQgb2YgOUIuIFRoZSBwYXlsb2FkIG9mIHRoZQoJICBUUyBwYWNrZXQgaXMgMTE0QiwgNUIgbW9yZSB0aGFuIHdoYXQgd2FzIGNhbGN1bGF0ZWQuIDEwOUIgYXJlIHNlbnQgaW4gYSBmaXJzdAoJICBwYWNrZXQgYW5kIHRoZSByZW1haW5pbmcgNUIgYXJlIHNlbnQgaW4gYW5vdGhlciBvbmUuCgkgIEZpeGVzIGJ1ZyAjNjI4NTQ4LgoKMjAxMC0wOS0wMiAxMDoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogQ2xhc3NpZnkgYXMgRmlsdGVyL0NvbnZlcnRlci9WaWRlbyBpbnN0ZWFkIG9mIGVmZmVjdAoJICBGaXhlcyBidWcgIzYyODU3MC4KCjIwMTAtMDktMDEgMTg6MzA6MTcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBVc2UgY29ycmVjdCBlbGVtZW50IGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgaXMgbm8gZWZmZWN0IGJ1dCBhbiBhbmFseXplci4gRml4ZXMgYnVnICM2Mjg1MjcuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAxMC0wOS0wMyAwMDoyMzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMAoKMjAxMC0wOS0wMyAwMDoyMTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBmb3IgcmVsZWFzZQoKMjAxMC0wOS0wMyAwMDoxOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9MSU5HVUFTOgoJKiBwby9lbC5wbzoKCSogcG8vZ2wucG86CgkqIHBvL3JvLnBvOgoJKiBwby9zbC5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDktMDMgMDA6MDE6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIGRvYXA6IHJlZmVyZW5jZSBnaXQgcmVwb3NpdG9yeSBpbnN0ZWFkIG9mIENWUyByZXBvc2l0b3J5CgoyMDEwLTA5LTAyIDIyOjM5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZml4IHdyb25nIHVzZSBvZiBHU1RfRUxFTUVOVF9FUlJPUgoKMjAxMC0wOC0zMCAxNjowMTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuNSBwcmUtcmVsZWFzZQoKMjAxMC0wOC0zMCAxNToyMDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogRG9uJ3QgaW5zdGFsbCBnc3QtY2FtZXJhLnVpCgkgIFRoZSBleGFtcGxlcyBhcmUgbm90IG1lYW50IHRvIGJlIGluc3RhbGxlZCBhbmQgdGhlIGV4ZWN1dGFibGVzIG9mCgkgIHRoZW0gYXJlIG5vdCBpbnN0YWxsZWQgYW55d2F5LgoJICBGaXhlcyBidWcgIzYyNzkxOC4KCjIwMTAtMDgtMjUgMjI6NTY6MDMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVubG9jayB0aGUgcmlnaHQgbXV0ZXgKCSAgVGhlIG11dGV4IGxvY2tlZCBpcyBmb3IgdGhlICdtdXgnIG9iamVjdCwgYnV0IHdlIHVubG9jayB0aGUKCSAgcGFkLCB3aGljaCBtZWFucyB0aGF0IGlmIHRoZSBydHBtdXggZ2V0cyBhIGZsdXNoLCB0aGVuIHRoZQoJICBvYmplY3QgbG9jayB3aWxsIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIGNhdXNpbmcgaXQgdG8gZnJlZXplCgkgIHRoZSBuZXh0IHRpbWUgaXQgdHJpZXMgdG8gdGFrZSBpdC4KCSAgRml4ZXMgYnVnICM2Mjc5OTEKCjIwMTAtMDgtMjcgMTU6NDk6MzkgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBCdW1wIG5lb24gcmVxdWlyZW1lbnQgdG8gMC4yNy4wCgkgIE5lZWRlZCBpbiBvcmRlciB0byBoYXZlIG5lX3NldF9jb25uZWN0X3RpbWVvdXQKCSAgRml4ZXMgYnVnICM2MjUwNzYKCjIwMTAtMDgtMjEgMjE6NDI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS40IHByZS1yZWxlYXNlCgoyMDEwLTA4LTE2IDEyOjM2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYXV0b2RldGVjdCBvdXQtb2Ytb3JkZXIgaW5wdXQgdGltZXN0YW1wcyBhbmQgZGV0ZXJtaW5lIERUUyBhY2NvcmRpbmdseQoJICBGYXZvdXIgdXNpbmcgaW5wdXQgYnVmZmVyIHRpbWVzdGFtcHMgZm9yIERUUywgYnV0IGZhbGxiYWNrIHRvIHVzaW5nIGJ1ZmZlcgoJICBkdXJhdGlvbiAoYWNjdW11bGF0aW9uKSBpZiBpbnB1dCB0cyBkZXRlY3RlZCBvdXQtb2Ytb3JkZXIuCgkgIEZpeGVzICM2MjQyMTIuCgoyMDEwLTA4LTIwIDExOjA5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEF2b2lkIHJlY29tYmluaW5nIFJHQiBqcGVncwoJICBKRklGIG9ubHkgYWxsb3dzIFlVViBhcyBjb2xvcnNwYWNlLCB3aGVuIHdlIHJlY2VpdmUgYW4gUkdCIGpwZWcsCgkgIHdlIHNob3VsZCBqdXN0IHB1c2ggaXQgZm9yd2FyZCB3aXRob3V0IGFkZGluZyB0aGUgSkZJRiBtYXJrZXIuCgkgIEZpeGVzICM2Mjc0MTMKCjIwMTAtMDgtMTMgMTQ6MzQ6MjEgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFNldCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpwYWNrZXRpemVkIHRvIFRSVUUgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBUaGlzIGZpeGVzIGFuIGluZmluaXRlIGxvb3AgaWYgYW4gRU9TIGV2ZW50IGlzIHJlY2VpdmVkIGJlZm9yZQoJICBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydCgpIGlzIGNhbGxlZCwgZS5nLiBpbW1lZGlhdGVseSB3aGVuIHRoZQoJICBwYWRzIGFyZSBhY3RpdmF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjI2ODE1LgoKMjAxMC0wOC0xMyAxNzoyNDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZThkYjFkIHRvIGVjNjAyMTcKCjIwMTAtMDgtMTEgMjI6MDM6MDcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBNYXJrIGlubGluZSBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZQoJICBPdGhlcndpc2UgaXQgZmFpbHMgdG8gY29ycmVjdGx5IGxpbmsgdGhlbSBpbiBzb21lIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjcwCgoyMDEwLTA4LTExIDE3OjE5OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuMyBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xMSAxNzoxOToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJICBnc2V0dGluZ3M6IGZpeCBtYWtlIGRpc3RjaGVjawoJICBDbGVhbiB1cCBmaWxlIHdlIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lLgoKMjAxMC0wOC0xMSAxMjowOTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBibGFja2xpc3QgZ3NldHRpbmdzKiBlbGVtZW50cyBmb3IgZ2VuZXJpYy9zdGF0ZXMgdGVzdAoJICBXaGVuIHRoZSB0ZXN0IGlzIHJ1biwgdGhlIHNjaGVtYSBmaWxlIHdvbid0IGJlIGluc3RhbGxlZCB5ZXQsCgkgIGFuZCB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gc2V0CgkgIHRvIGZvcmNlIEdTZXR0aW5ncyB0byBsb29rIGluIGEgZGlmZmVyZW50IGRpcmVjdG9yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYwMwoKMjAxMC0wOC0xMSAwMDoyMzowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuMiBwcmUtcmVsZWFzZQoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOSAwMDo0Mjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnQgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDkgMDA6NDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDggMTc6MDk6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGNoZWNrczogc2tpcCBqaWZtdXggdGVzdHMgaWYgcmVxdWlyZWQgZWxlbWVudHMgYXJlbid0IGF2YWlsYWJsZQoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0xMSAxMTo1Mjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgIGxlZ2FjeXJlc2FtcGxlOiBMaW5rIGFnYWluc3QgJChMSUJNKSBmb3IgcmludCgpIGFuZCBmcmllbmRzCgoyMDEwLTA4LTExIDExOjUxOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIG00L2dzZXR0aW5ncy5tNDoKCSAgZ3NldHRpbmdzOiBBZGQgZ3NldHRpbmdzLm00IGZvciB0aGUgZ3NldHRpbmdzIG1hY3JvcwoKMjAxMC0wOC0xMSAxMTo1MDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkgIGludnRlbGVjaW5lOiBMaW5rIGFnYWluc3QgJChMSUJNKSBmb3Igc3FydCgpIGFuZCBmcmllbmRzCgoyMDEwLTA4LTExIDExOjM5OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2sgdG8gYWN0dWFsbHkgc3VjY2VlZCBpZiBDRUxUID49IDAuNSBpcyBhdmFpbGFibGUKCSAgQWxzbyByZW1vdmUgdGhlIEFDX01TR19SRVNVTFRTKFtub10pLCBwa2ctY29uZmlnIGRvZXMgdGhpcyBmb3IgdXMgYWxyZWFkeS4KCjIwMTAtMDgtMTAgMTA6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiZDIwNTRiIHRvIDNlOGRiMWQKCjIwMTAtMDgtMDkgMTc6MjA6MTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAiem9vbSIgcGFyYW1ldGVyIHRvIHNxdWFyZSBmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAxNjo1NTo0MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3F1YXJlICJ3aWR0aCIgYW5kICJoZWlnaHQiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDEwOjAzOjIwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRvIG1pcnJvciBmaWx0ZXIKCSAgQWRkIGEgIm1vZGUiIGVudW0gcHJvcGVydHkgdG8gbWlycm9yIHRoYXQgZGVmaW5lcyBob3cgdG8gc3BsaXQgdGhlIGZyYW1lCgkgIGFuZCB3aXRoIHNpZGUgcmVmbGVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAwODo1Mjo1MSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAiem9vbSIgcGFyYW1ldGVyIHRvIGJ1bGdlIGZpbHRlcgoJICBSZXdvcmsgYnVsZ2UgbWFwcGluZyBmdW5jdGlvbiB0byBnaXZlIG1vcmUgcHJlZGljdGFibGUgcmVzdWx0cy4KCSAgTm93IHRoZSBidWxnZSBpcyBkb25lIGRpdmlkaW5nIGJ5IGEgc2NhbGUgZmFjdG9yIHRoYXQgc21vb3Roc3RlcHMgZnJvbQoJICAiem9vbSIgYXQgdGhlIGNlbnRlciB0byAxLjAgYXQgInJhZGl1cyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTY6MTY6MzcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhbiAiaW50ZW5zaXR5IiBwYXJhbWV0ZXIgdG8gc3RyZXRjaCBmaWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjo0MzoxNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgdHVubmVsICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjI5OjE2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIGJ1bGdlICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjI1OjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2Ugc3RyZXRjaCAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOCAyMzo1Njo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSAgdmRwYXVtcGVnNGRlYzogZml4IHR5cG8gaW4gZGVmYXVsdF9ub25faW50cmFfcXVhbnRfbWF0cml4CgoyMDEwLTA3LTE0IDExOjAzOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuaDoKCSAgdmRwYXU6IGFkZCBtcGVnNCBwYXJ0MiBkZWNvZGVyCgoyMDEwLTA4LTA4IDEyOjQ2OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJICBjaGVja3M6IHNraXAgaWQzbXV4IHVuaXQgdGVzdHMgdGhhdCBuZWVkIGlkM2RlbXV4IGlmIGlkM2RlbXV4IGlzIG5vdCBhdmFpbGFibGUKCjIwMTAtMDgtMDggMTI6MjY6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1aWxkIGFuZCBkaXN0IG5ldyBjb2xvcmVmZmVjdHMgcGx1Z2luCgkgIEZpeGVzIG1ha2UgZGlzdGNoZWNrLgoKMjAxMC0wOC0wOCAxMjowMTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE9ubHkgY2hlY2sgdGhlIHBsdWdpbiBmaWxlbmFtZXMsIG5vdCB0aGUgZGlyZWN0b3J5IG5hbWVzCgoyMDEwLTA4LTA4IDExOjU2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRG9uJ3QgdHJ5IHRvIHJlZ2lzdGVyL2xvYWQgdGhlIHNhbWUgZnJlaTByIHBsdWdpbiBhdCBkaWZmZXJlbnQgbG9jYXRpb25zIHR3aWNlCgkgIFRoaXMgY291bGQgaGFwcGVuIGJlY2F1c2UgZm9yIGV4YW1wbGUgL3Vzci9saWIgaXMgbGlua2VkCgkgIHRvIC91c3IvbGliNjQgYW5kIGJvdGggYXJlIGxvYWRlZC4gVGhlIGZyZWkwciBzcGVjaWZpY2F0aW9uCgkgIHNheXMgdGhhdCB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gbXVzdCBvbmx5IGJlIGNhbGxlZCBvbmNlCgkgIGFuZCBmb3Igc29tZSBwbHVnaW4gd2VpcmQgdGhpbmdzIChpbmNsdWRpbmcgY3Jhc2hlcykgYXJlCgkgIGhhcHBlbmluZy4KCSAgRml4ZXMgYnVnICM2MjM3MTAuCgoyMDEwLTA4LTA2IDAxOjU2OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWxpZ24gYWN0dWFsIGRlZmF1bHQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIHdpdGggZGVmYXVsdHMgaW4gcGFyYW0gc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNDA0CgoyMDEwLTA4LTA2IDEyOjE0OjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSAgdmRwYXU6IGZpeCBkZXN0cnVjdGlvbiBvZiBHc3RWZHBEZXZpY2Ugd2hlbiBpdCBmYWlsZWQgdG8gb3BlbgoJICBvbmx5IGNsb3NlIGRpc3BsYXkgaW4gZmluYWxpemUgYW5kIGNoZWNrIGlmIHZkcF9kZWNvZGVyX2Rlc3Ryb3kgaXMgYXZhaWxhYmxlCgkgIGJlZm9yZSB3ZSB1c2UgaXQKCjIwMTAtMDgtMDUgMjM6NTU6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IHVzZSBzZXBhcmF0ZSBtdXRleCBmb3IgZGV2aWNlIGxvY2tpbmcKCSAgd2UgY2FuJ3QgdXNlIEdTVF9PQkpFQ1RfTE9DSyBzaW5jZSB0aGF0IGNhdXNlIHByb2JsZW1zIHdoZW4gd2UgdHJ5IHRvIHBvc3QKCSAgZXJyb3JzLCBkdWUgdG8gZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlIGFsc28gdGFraW5nIHRoZSBHU1RfT0JKRUNUX0xPQ0sKCjIwMTAtMDgtMDYgMTE6MDQ6NTcgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IGFkZCBjb25uZWN0LXRpbWVvdXQgYW5kIHJlYWQtdGltZW91dCBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUwNzYKCjIwMTAtMDgtMDYgMTA6NDQ6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGFkZCAiY29va2llcyIgcHJvcGVydHkKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNhbWVlciBOYWlrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjUxNzQKCjIwMTAtMDctMjUgMTc6MDQ6MTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogY2xvc2Ugb3VyIG93biB3aW5kb3cgd2hlbiBjaGFuZ2luZyB0aGUgd2luZG93IGlkCgkgIElmIHdlIGNyZWF0ZWQgdGhlIHdpbmRvdywgaXQgbmVlZHMgdG8gYmUgY2xvc2VkIGFmdGVyIHNldHRpbmcgYSBuZXcKCSAgd2luZG93IGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0MjkwCgoyMDEwLTA3LTI1IDE3OjAxOjE5ICswMjAwICBSYWltbyBKYXJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGFsbG93IGNoYW5naW5nIHdpbmRvdyBJRCB3aGlsc3QgaW4gUExBWUlORyBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0MjkwCgoyMDEwLTA4LTA2IDAzOjE5OjE2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IExvYWQgcGx1Z2lucyBpbiAvdXNyL3tsb2NhbC8sfWxpYnszMiw2NH0vZnJlaTByLTEgdG9vCgkgIExvYWRzIHRoZSBwbHVnaW5zIGluIG1vcmUgcGF0aHMgd2hlcmUgdGhleSBjb3VsZCBiZSBpbnN0YWxsZWQgYnkKCSAgbXVsdGlsaWIgZGlzdHJpYnV0aW9ucy4KCSAgRml4ZXMgIzYyMzcxMAoKMjAxMC0wOC0wNSAxMzo1NzoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhNTE5NTcxIHRvIGJkMjA1NGIKCjIwMTAtMDgtMDMgMTA6MDg6MzQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBjaWNsZWd0ICJyYWRpdXMiIHByb3BlcnR5IHJlbGF0aXZlCgkgIE1ha2UgdGhlICJyYWRpdXMiIHByb3BlcnR5IG9mIENpcmNsZUdlb21ldHJpY1RyYW5zZm9ybSByZWxhdGl2ZS4KCSAgVGhpcyBpcyBtb3JlIGNvaGVyZW50IHdpdGggdGhlIHdheSBbeCx5XS1jZW50ZXIgcHJvcGVydGllcyBhcmUgaGFuZGxlZAoJICBhbmQgYWxsb3cgdG8gc2V0IGEgcmFkaXVzIHdpdGhvdXQga25vd2luZyB0aGUgdmlkZW8gc2l6ZS4KCSAgUmFkaXVzIGlzIGRlZmluZWQgd2l0aCByZXNwZWN0IHRvIHRoZSBjaXJjbGUgY2lyY3Vtc2NyaWJlZCBhYm91dCB0aGUKCSAgdmlkZW8gcmVjdGFuZ2xlIHNvIHRoYXQgYSBwb2ludCBpbiB0aGUgY2VudGVyIGhhcyByYWRpdXMgMC4wIGFuZCBvbmUgaW4KCSAgYSB2ZXJ0ZXggaGFzIHJhZGl1cyAxLjAuCgkgIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCBhIHJlZ3Jlc3Npb24gZnJvbSB0aGUgcHJldmlvdXMgYWJzb2x1dGUgd2F5IG9mCgkgIGRlZmluaW5nIHRoZSByYWRpdXMgYXMgYSB1c2VyIHdobyBrbm93cyB0aGUgdmlkZW8gc2l6ZSBjYW4gZWFzaWx5CgkgIGNhbGN1bGF0ZSB0aGUgcmVsYXRpdmUgcmFkaXVzIGFuZCBzZXQgdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTk1OQoKMjAxMC0wOC0wNCAyMzo1MDo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IG1pbm9yIGNvZGUgY2xlYW4tdXAKCSAgQWRkIGhlbHBlciBmdW5jdGlvbiB0byB3cml0ZSB0ZXh0IGZyYW1lcyB3aXRoIGp1c3Qgb25lIHN0cmluZy4KCjIwMTAtMDgtMDQgMjM6NDQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG1vcmUgdW5pdCB0ZXN0IGJpbmFyaWVzCgoyMDEwLTA2LTE0IDIwOjA3OjMzICsxMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBkMTRuLm9yZz4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgaWQzbXV4OiBhZGQgc3VwcG9ydCBmb3IgYmVhdHMtcGVyLW1pbnV0ZSB0YWcKCSAgV3JpdGUgYmVhdHMgcGVyIG1pbnV0ZSBpbnRvIHRoZSBUQlBNIGZyYW1lLCBhbmQgYWRkIHVuaXQKCSAgdGVzdCBmb3IgaWQzbXV4LCBiYXNlZCBvbiBpZDN2Mm11eCB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE1MjMKCjIwMTAtMDgtMDQgMTk6MjY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIElTTyBDODkgb3IgQzk5IGFuZCB3aGljaCBwYXJhbWV0ZXJzIGFyZSByZXF1aXJlZAoJICBUaGlzIGZpcnN0IGNoZWNrcyB3aGF0IGlzIHJlcXVpcmVkIGZvciBJU08gQzk5IHN1cHBvcnQgYW5kIHNldHMgdGhlIHJlbGV2YW50CgkgIGNvbXBpbGVyIHBhcmFtZXRlcnMgYW5kIGlmIG5vIEM5OSBjb21waWxlciBpcyBmb3VuZCwgaXQgY2hlY2tzIGZvciBhCgkgIEM4OSBjb21waWxlci4gVGhpcyBlbmFibGVzIHVzIHRvIGNoZWNrIGZvciBhbmQgdXNlIEM4OS9DOTkgZnVuY3Rpb25zCgkgIHRoYXQgZ2NjIGhpZGVzIGZyb20gdXMgd2l0aG91dCB0aGUgY29ycmVjdCBjb21waWxlciBwYXJhbWV0ZXJzLgoKMjAxMC0wOC0wNCAxMDoxNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSAgY29sb3JlZmZlY3RzOiBBZGQgdG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMTAtMDgtMDQgMTA6MTE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY29sb3JlZmZlY3RzOiBNaW5vciBjbGVhbnVwCgoyMDEwLTA4LTA0IDEwOjA5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkgIGNvbG9yZWZmZWN0czogSW1wcm92ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBhIGJpdAoKMjAxMC0wOC0wNCAxMDowODoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJICBjb2xvcmVmZmVjdHM6IERvbid0IHVzZSB0aGUgZml4ZWRfY2FwcyBmdW5jIG9uIHRoZSBwYWRzCgkgIGNvbG9yZWZmZWN0cyBjYW4gcmVuZWdvdGlhdGUgZHVyaW5nIHBsYXliYWNrIHdpdGhvdXQgYW55IHByb2JsZW1zLgoKMjAxMC0wOC0wMyAxNDozOToyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IGFkZCBheXV2IHN1cHBvcnQKCSAgQ3VycmVudGx5IGltcGxlbWVudGVkIHN3aXRjaGluZyBmcm9tIHl1diB0byByZ2IsIGxvb2tpbmcgdXAgcmdiIGZyb20gdGhlCgkgIHRhYmxlIGluIHRoZSB1c3VhbCB3YXksIGdldHRpbmcgYmFjayB0byB5dXYuIFdpdGggbHVtYSBsb29rdXAgcHJlc2V0cwoJICAoc2VwaWEsIGhlYXQsIHhyYXkpIGEgY29sb3Igc3BhY2UgY29udmVyc2lvbiBpcyBzYXZlZCBkaXJlY3RseSBsb29raW5nCgkgIHVwIHJnYiBmb3IgYSBnaXZlbiBZIGFuZCBjb252ZXJ0aW5nIHRvIHl1di4KCSAgUHJvYmFibHkgdGhpcyBsYXR0ZXIgc3RlcCBjYW4gZXZlbiBiZSBtYWRlIGZhc3RlciBwcmVjYWxjdWxhdGluZyBhIGx1bWEKCSAgdG8geXV2IHRhYmxlIGluIGFuIG91dGVyIGxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU4MTcKCjIwMTAtMDgtMDEgMjM6MDM6MjQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjb2xvcmVmZmVjdHM6IG5ldyBwbHVnaW4gZm9yIGxvb2t1cCB0YWJsZSBjb2xvciBtYXBwaW5nCgkgIEltcGxlbWVudHMgYSBjb2xvciBsb29rdXAgdGFibGUgZmlsdGVyIHdpdGggNCBwcmVzZXRzOgoJICAtIGhlYXQ6IGZha2UgaGVhdCBjYW1lcmEgZWZmZWN0CgkgIC0gc2VwaWE6IHNlcGlhIHRvbmluZwoJICAtIHhyYXk6IGludmVydCArIHNoYWRlIHRvIGJsdWUKCSAgLSB4cHJvOiBjcm9zcyBwcm9jZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU4MTcKCjIwMTAtMDgtMDMgMTA6Mjk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgIGRvY3M6IEFkZCBsb3RzIG9mIGdhdWRpZWZmZWN0cy9nZW9tZXRyaWN0cmFuc2Zvcm0gc3ltYm9scyB0byB0aGUgZG9jcwoKMjAxMC0wOC0wMiAxMTozMDo1MCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAiZmlzaGV5ZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJmaXNoZXllIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBGYWtlIGZpc2hleWUgbGVucyBmaWx0ZXIuIFNvbWV3aGF0IGVtcGlyaWMgaW1wbGVtZW50YXRpb24gYmVjYXVzZSBJCgkgIGRpZG4ndCBmaW5kIGFueSBnb29kIGFsZ29yaXRobSB0aGF0IGRvZXMgaXQgd2l0aCBuaWNlIHJlc3VsdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTE6MTI6NDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJtaXJyb3IiCgkgIFBvcnRzIGdsZWZmZWN0cyAibWlycm9yIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBTaW1wbGUgeWV0IGVmZmVjdGl2ZSBtaXJyb3IgZWZmZWN0LCBzcGxpdHMgdGhlIGltYWdlIGludG8gaGFsdmVzIGFuZAoJICByZWZsZWN0IHRoZSBmaXJzdCBpbnRvIHRoZSBzZWNvbmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTE6MDE6MzEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJzcXVhcmUiCgkgIFBvcnRzIGdsZWZmZWN0cyAic3F1YXJlIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBNYXBzIGEgcmVnaW9uIGFyb3VuZCB0aGUgY2VudGVyIGludG8gYSB6b29tZWQgc3F1YXJlIGFuZCBzbW9vdGhseSBnZXQKCSAgYmFjayB0byBub3JtYWwgem9vbS4gV2l0aCBmYWNlcyBpdCBtYWtlcyBhIGZ1bm55ICJjdWJlLWZhY2UiIGVmZmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMDo0Njo0NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInR1bm5lbCIKCSAgUG9ydHMgZ2xlZmZlY3RzICJ0dW5uZWwiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIERvIG5vdGhpbmcgaW4gYSBjaXJjbGUgYXJvdW5kIHRoZSBjZW50ZXIgYW5kIHpvb20gb3V0c2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAwOTozOTo1MSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJidWxnZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJidWxnZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgQWRkcyBhIHByb3R1YmVyYW5jZSBhcm91bmQgdGhlIGNlbnRlciBwb2ludC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAwOToxNzowMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJzdHJldGNoIgoJICBQb3J0cyBnbGVmZmVjdHMgInN0cmV0Y2giIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIFNocmlua3MgdGhlIGltYWdlIGFyb3VuZCB0aGUgY2VudGVyIGFuZCBncmFkdWFsbHkgcmV0dXJuIHRvIG5vcm1hbCB6b29tCgkgIGNyZWF0aW5nIGZ1bm55IGNhcmljYXR1cmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDE4OjMzOjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBzZXQgYmFjayBwbHVnaW4gcmFua3MgdG8gR1NUX1JBTktfTk9ORQoJICB0aGUgcHJldmlvdXMgY2hhbmdlIHdhcyBub3QgbWVhbnQgdG8gc2xpcCBpbgoKMjAxMC0wOC0wMiAxODoyMzoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IHNsaWdodGx5IGZpeCBHc3RCYXNlVmlkZW9EZWNvZGVyIHRpbWVzdGFtcGluZwoJICBjbGVhciB0aW1lc3RhbXBzIG9uIGZsdXNoIGFuZCBwcm9wZXJseSBjYWxjdWxhdGUgdGhlIGZyYW1lJ3MgZW5kIG9mZnNldAoKMjAxMC0wOC0wMSAxMjozMjozMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSAgdmRwYXU6IGluaXQgZGVidWcgY2F0ZWdvcnkgaW4gZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X3R5cGUKCjIwMTAtMDgtMDIgMjA6NDE6MTIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBBZGQgR2F1c3NpYW4gQmx1ciBlZmZlY3QsIGFuZCBicmllZiBleGFtcGxlLgoKMjAxMC0wNy0zMCAyMzo1OToxMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGZpeCB3YXJuaW5nIG9uIG9zeC4KCjIwMTAtMDctMzAgMjI6Mjc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBhZGQgZXJyb3IgcmVwb3J0aW5nIHRvIGRldmljZSBjcmVhdGlvbgoKMjAxMC0wNy0zMCAxNjo1NDo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBzbWFsbCB0eXBvIGluIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDctMzAgMTQ6NDc6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiB1c2UgZ3N0X3ZkcF95dXZfdG9fdmlkZW9fY2FwcyBpbiBHc3RWZHBWaWRlb1NyY1BhZCB0byB0cmFuc2Zvcm0gc2V0IGNhcHMKCSAgdGhpcyB3YXkgd2UnbGwga2VlcCBvdGhlciBhbGwgb3RoZXIgZmllbGRzIGluIHRoZSBjYXBzIHdoaWNoIHdlIGRpZG4ndCB0YWtlIGluCgkgIGFjY291bnQgd2hlbiB3ZSBtYW51YWxseSBjcmVhdGVkIHRoZSAidmlkZW8veC12ZHBhdS12aWRlbyIgY2FwcwoKMjAxMC0wNy0zMCAxNDo0NDowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbmFtZSBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9wYXJzZV95dXZfY2FwcyBhbmQgbW92ZSBpdCB0byBnc3R2ZHB1dGlscy5oCgoyMDEwLTA3LTMwIDE0OjA3OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXU6IEdzdFZkcE91dHB1dFNyY1BhZCB1c2UgZ3N0X3BhZF9hbGxvYyB3aGVuIG91dHB1dHRpbmcgdmlkZW8veC1yYXctcmdiCgkgIHdlIGltcGxlbWVudCAiYWNjZXB0Y2FwcyIgdG8gcHJldmVudCB1cyBmcm9tIGdldHRpbmcgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQKCSAgd2lkdGggYW5kIGhlaWdodCBmcm9tIHdoYXQgd2UgcmVxdWVzdGVkLgoKMjAxMC0wNy0zMCAxMToyOToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXU6IHByb3Blcmx5IHJlbW92ZSAiY2hyb21hLXR5cGUiIGZpZWxkIGZyb20gdHJhbnNmb3JtZWQgY2FwcwoKMjAxMC0wNy0zMCAxMToyNzoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogdXNlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVyUG9vbCB0byBjYWNoZSBvdXIgYnVmZmVycwoJICBUaGlzIHdheSB3ZSdsbCByZXVzZSB0aGUgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJzIGlmIHRoZXkncmUgb2YgdGhlIHNhbWUKCSAgc2l6ZSBhbmQgY2hyb21hLXR5cGUvcmdiYS1mb3JtYXQuCgkgIEFsc28gcmVtb3ZlIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfbmVnb3RpYXRlIGFuZCBzZXQgYSAic2V0Y2FwcyIgZnVuY3Rpb24gb24KCSAgR3N0VmRwT3V0cHV0U3JjUGFkIGluc3RlYWQsIGxlYXZpbmcgbmVnb3RpYXRpb24gdG8gR3N0VmRwVmlkZW9Qb3N0UHJvY2Vzcy4KCjIwMTAtMDctMzAgMTE6MjA6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IHVzZSBHc3RWZHBPdXRwdXRCdWZmZXJQb29sIHRvIGFsbG9jIG91ciBidWZmZXJzCgkgIFRoaXMgd2F5IHdlJ2xsIHJldXNlIG91ciBHc3RWZHBPdXRwdXRCdWZmZXJzIGlmIHRoZXkncmUgb2YgdGhlIHNhbWUgc2l6ZSBhbmQKCSAgcmdiYS1mb3JtYXQKCjIwMTAtMDctMzAgMTE6MTY6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiB1c2UgR3N0VmRwVmlkZW9CdWZmZXJQb29sIGluIEdzdFZkcFZpZGVvU3JjUGFkCgkgIFdlIGFsc28gZG9uJ3QgcGFkX2FsbG9jIG91ciBHc3RWZHBWaWRlb0J1ZmZlcnMgYW55bW9yZSBzaW5jZSB3ZSBkb24ndCBzdXBwb3J0CgkgIGRvd25zdHJlYW0gbmVnb3RhdGlvbiBhbnl3YXkuCgoyMDEwLTA3LTMwIDExOjA2OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdTogYWRkIEdzdFZkcE91dHB1dEJ1ZmZlclBvb2wKCSAgR3N0VmRwVmlkZW9PdXRwdXRQb29sIGlzIGEgc3ViY2xhc3Mgb2YgR3N0VmRwQnVmZmVyUG9vbCB0aGF0IGNhY2hlcwoJICBHc3RWZHBPdXRwdXRCdWZmZXJzCgoyMDEwLTA3LTMwIDExOjAxOjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGFkZCBHc3RWZHBWaWRlb0J1ZmZlclBvb2wKCSAgR3N0VmRwVmlkZW9CdWZmZXJQb29sIGlzIGEgc3ViY2xhc3Mgb2YgR3N0VmRwQnVmZmVyIHRoYXQgY2FjaGVzCgkgIEdzdFZkcFZpZGVvQnVmZmVycwoKMjAxMC0wNy0zMCAxMDo1NTo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSAgdmRwYXU6IGFkZCBHc3RWZHBCdWZmZXJQb29sIGJhc2UgY2xhc3MKCSAgR3N0VmRwQnVmZmVyUG9vbCB3aWxsIGJlIHVzZWQgdG8gY2FjaGUgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJzIHNpbmNlCgkgIGNyZWF0aW5nIHRoZXNlIGNhbiBiZSBhIGNvc3RseSBvcGVyYXRpb24gb24gc29tZSBoYXJkd2FyZS4KCjIwMTAtMDctMjggMjE6Mzk6MTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW1vdmUgR3N0VmRwT3V0cHV0U3JjUGFkICJ0ZW1wbGF0ZS1jYXBzIiBwcm9wZXJ0eQoJICBpbnN0ZWFkIHdlIGRvIGFzIEdzdFZkcFZpZGVvU3JjUGFkIGFuZCB1c2UgdGhlICJ0ZW1wbCIgcHJvcGVydHkgb2YgR3N0UGFkLAoJICB3aGljaCBlbmFibGUgdXMgdG8gY2hhbmdlIHRoZSBzaWduYXR1cmUgb2YgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9uZXcgdG8gbWF0Y2gKCSAgZ3N0X3BhZF9uZXdfZnJvbV90ZW1wbGF0ZQoKMjAxMC0wNy0yOCAyMToxNTo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW1vdmUgR3N0VmRwT3V0cHV0U3JjUGFkIGNvZGUgdG8gcmV0cmlldmUgdGhlIGRldmljZSBmcm9tIGRvd25zdHJlYW0KCSAgd2Ugbm93IG5vIGxvbmdlciB0cnkgdG8gZ2V0IHRoZSBHc3RWZHBEZXZpY2UgZnJvbSBkb3duc3RyZWFtIHNpbmNlIGl0IGluCgkgIHByYWN0aWNlIGRpZG4ndCBnaXZlIHVzIGFueXRoaW5nIGFuZCBjb21wbGljYXRlcyB0aGUgY29kZSBhbG90LiBOZXZlcnRoZWxlc3MgaWYgZGV2aWNlCgkgIGRpc3RyaWJ1dGlvbiBzaG91bGQgYmUgZG9uZSB0aGVyZSdzIHByb2JhYmx5IGEgbG90IGJldHRlciB3YXlzIHRvIGRvIGl0LgoJICBJbnN0ZWFkIHdlIG5vdyBzaW1wbHkgYXF1aXJlIHRoZSBkZXZpY2UgaW4gdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIHdoZW4gd2UncmUKCSAgZ29pbmcgaW50byBQQVVTRUQuCgoyMDEwLTA3LTI3IDIzOjI0OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjbGVhbnVwIEdzdFZkcERlY29kZXIgb3BlbmluZyBvZiBpdCdzIEdzdFZkcERldmljZQoJICB3ZSBub3cgbm8gbG9uZ2VyIHRyeSB0byBnZXQgdGhlIEdzdFZkcERldmljZSBmcm9tIGRvd25zdHJlYW0gc2luY2UgaXQgaW4KCSAgcHJhY3RpY2UgZGlkbid0IGdpdmUgdXMgYW55dGhpbmcgYW5kIGNvbXBsaWNhdGVzIHRoZSBjb2RlIGFsb3QuIE5ldmVydGhlbGVzcyBpZiBkZXZpY2UKCSAgZGlzdHJpYnV0aW9uIHNob3VsZCBiZSBkb25lIHRoZXJlJ3MgcHJvYmFibHkgYSBsb3QgYmV0dGVyIHdheXMgdG8gZG8gaXQuCgoyMDEwLTA3LTI3IDIzOjE3OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IEdzdEJhc2VWaWRlb0RlY29kZXIgcmV0dXJuaW5nIHdyb25nIEdzdFN0YXRlQ2hhbmdlUmV0dXJuCgkgIHdoZW4gZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9bc3RhcnR8c3RvcF0gZmFpbHMgd2Ugbm93IHJldHVybgoJICBHU1RfU1RBVEVfQ0hBTkdFX0ZBSUxVUkUgaW5zdGVhZCBvZiByZXR1cm5pbmcgd2hhdCB0aGUgcGFyZW50IGNsYXNzIHJldHVybnMKCjIwMTAtMDctMjcgMTU6MzM6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubmVlZGVkIHNldHRpbmcgb2YgYnVmZmVyIGZsYWdzCgkgIEdzdEJhc2VWaWRlb0RlY29kZXIgc2V0cyBHU1RfVklERU9fQlVGRkVSX1RGRiBmb3IgdXMgYW5kCgkgIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIGRvZXNuJ3QgbWFrZSBzZW5zZSBmb3IgZGVjb2RlZCBmcmFtZXMuCgoyMDEwLTA3LTI5IDE2OjA4OjAzICswMjAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3d2aWRlb3NyYzogZG9uJ3QgbWFrZSBhIHJhbmdlIGlmIG1pbj09bWF4CgkgIEZpeGVzIGJ1ZyAjNjI1MTM4CgoyMDEwLTA3LTI5IDEwOjM4OjU4ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhY3R1YWxseSB3b3JrIHdoZW4gd2UgaGF2ZSBzbWFsbCBidWZmZXJzIGNvbWluZyBpbgoJICBhdmFpbGFibGVfZmFzdCBpcyBub3Qgd2hhdCB3ZSB3YW50IGFuZCBpdCB3aWxsIG5ldmVyIGdldCB0byBkaXNjb3ZlciBwYWNrZXQKCSAgc2l6ZSBpZiAxODggYnl0ZSBidWZmZXJzIGFyZSBiZWluZyBwaWNrZWQgdXAuCgoyMDEwLTA3LTI4IDE4OjM2OjUzICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnc2V0dGluZ3MgeG1sIHNjaGVtYSBmaWxlCgoyMDEwLTA3LTI4IDE4OjM0OjE1ICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkgIGRvY3M6IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIHRoZSBkb2NzCgoyMDEwLTA3LTI4IDE3OjQ2OjUzICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGZpeCB1cCBtYWNyb3MgYW5kIGZ1bmN0aW9uIG5hbWVzIHRvIG1hdGNoIGd1aWRlbGluZXMKCjIwMTAtMDctMjggMTc6MzQ6MDIgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IGZpeCBzdHJ1Y3R1cmUgbmFtZXMgdG8gY29tcGx5IHdpdGggdGhlIHBsdWdpbiBtb3ZpbmcgZ3VpZGVsaW5lcwoKMjAxMC0wNy0yOCAxNjoxNTo1MyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjYXBzIGJpdHJhdGUgYXQgbGFzdCBjaGFuY2UKCSAgSWYgd2UgZGlkbid0IGdldCB0aGUgc3RyZWFtJ3MgYml0cmF0ZSBmcm9tIG9uZSBvZiB0aGUgYXRvbXMsCgkgIHRyeSBnZXR0aW5nIGl0IGZyb20gdGhlIGNhcHMgYXMgYSBsYXN0IHJlc29ydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yOCAxNjoxMjoxMSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGJ0cnQgLSBtYXggYml0cmF0ZSBiZWZvcmUgYXZlcmFnZQoJICBBY2NvcmRpbmcgdG8gaXNvIGJhc2UgbWVkaWEgZmlsZSBmb3JtYXQsIHRoZSBtYXggYml0cmF0ZQoJICBpcyBiZWZvcmUgdGhlIGF2ZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI3IDE4OjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IHRoZSBzZWdtZW50IG9uIEZMVVNIX1NUT1AgYW5kIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWQoKMjAxMC0wNy0yNyAxODowNzowMCArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZGlzdCBuZXcgaGVhZGVyIGZpbGUKCSAgRml4IG1ha2UgZGlzdGNoZWNrLgoKMjAxMC0wNy0yMyAxOTo0MToyOSArMDIwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBJbXByb3ZlbWVudHMgY29udHJpYnV0ZWQgZnJvbSB0aGUgTW9vdmlkYSBwcm9qZXQuCgkgICogSW5oZXJpdCBmcm9tIEdzdFZpZGVvU2luawoJICAqIEltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICAqIFByb3BlciBDT00gaW5pdGlhbGl6YXRpb24gZm9yIHRocmVhZGVkIGVudmlyb25tZW50cwoJICAqIEZpeCBXaW5kb3cgcmVzb3VyY2UgbGVhawoJICAqIEFkZCBFVlIgc3VwcG9ydCBmb3IgYmV0dGVyIHZpZGVvIHNjYWxpbmcgb24gV2luZG93cyBWaXN0YSBhbmQgYWJvdmUKCSAgKiBPbmx5IGFwcGx5IFBBUiBzY2FsaW5nIHdoZW4gdGhlIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5IGlzIHNldCB0byBzdGF5CgkgIGNvbnNpc3RlbnQgd2l0aCB0aGUgb3RoZXIgTGludXggc2lua3MKCSAgKiBQcmV2ZW50IGFuIGluZmluaXRlIGxvb3Agd2l0aCB0aGUgd25kcHJvYyBjaGFpbgoJICAqIEZpeCBkZWJ1Z2dpbmcgbWVzc2FnZXMgdG8gdXNlIHRoZSBvYmplY3QgaW5zdGFuY2UKCjIwMTAtMDctMjMgMDA6Mjg6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGdzdF92ZHBfZGVjb2Rlcl9yZW5kZXIgYW5kIGdzdF92ZHBfZGVjb2Rlcl9pbml0X2RlY29kZXIKCjIwMTAtMDctMjIgMDk6MjE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGV4YW1wbGVzOiBVc2UgY2Fpcm8gaW5zdGVhZCBvZiBnZGtfZHJhd18qIEFQSQoJICBGaXhlcyBidWcgIzYyNTAwMy4KCjIwMTAtMDctMTIgMjI6Mzc6NDcgLTAzMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBBZGRzIG5ldyBwbHVnaW4gJ2dhdWRpZWZmZWN0cycKCSAgQWRkcyB0aGUgbmV3ICdnYXVkaWVmZmVjdHMnIHBsdWdpbiwgb3JpZ2luYWxseSBmb3VuZAoJICBoZXJlOiBodHRwOi8vZ2l0aHViLmNvbS9sdWlzYmcvZ2F1ZGlfZWZmZWN0cwoJICBDb250YWlucyB0aGUgZm9sbG93aW5nIHZpZGVvIGVmZmVjdCBlbGVtZW50czogYnVybiwgY2hyb21pdW0sIGRpbGF0ZSwKCSAgZG9kZ2UsIGV4Y2x1c2lvbiBhbmQgc29sYXJpemUuCgkgIFRoYW5rcyB0byBKYW4gU2NobWlkdCBmb3IgdGhlIHJldmlld2luZyBhbmQgcmVmYWN0b3JpbmcKCjIwMTAtMDctMTkgMjE6NTM6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiB0cnkgdG8gY2FsY3VsYXRlIGZyYW1lcmF0ZSBpZiB3ZSBkb24ndCBnZXQgb25lIGZyb20gdXBzdHJlYW0KCjIwMTAtMDctMTkgMTE6MzQ6MzkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogZml4IHNlZ2ZhdWx0IHdoZW4gdmRwYXUgZGV2aWNlIGNvdWxkIG5vdCBiZSBjcmVhdGVkCgoyMDEwLTA3LTE4IDIxOjE1OjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBwcm9ibGVtIHdoZW4gZW5jb3VudGVyaW5nIEdTVF9OQUxfQVVfREVMSU1JVEVSCgoyMDEwLTA3LTA4IDA5OjU2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgIHdhc2FwaXNyYzogVXNlIG5ldyBnc3RfYXVkaW9fY2xvY2tfbmV3X2Z1bGwoKQoKMjAxMC0wNy0wOCAwOTo1NTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgYWxzYXNwZGlmc2luazogVXNlIG5ldyBnc3RfYXVkaW9fY2xvY2tfbmV3X2Z1bGwoKQoKMjAxMC0wNy0xNSAxMzoyMzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBjYWxjdWxhdGUgd2lkdGggYW5kIGhlaWdodCBmcm9tIGJpdHN0cmVhbSBpbmZvCgoyMDEwLTA3LTE1IDExOjEwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCB1c2FnZSBvZiBnX2JpdF9zdG9yYWdlCgoyMDEwLTA3LTE0IDExOjE5OjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW5hbWUgemlnemFnIG1hdHJpeAoKMjAxMC0wNy0xNCAxMToxNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IHVzZSBnX2JpdF9zdG9yYWdlIGluc3RlYWQgb2YgbG9nMgoJICBsb2cyIGNhdXNlZCBjb21waWxlIGlzc3VlcyBvbiBjZXJ0YWluIHBsYXRmb3JtcwoKMjAxMC0wNy0xMyAwMDo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJICBnc2V0dGluZ3M6IEZpeCBtYWludGFpbmVyLWNsZWFuIHdoZW4gaXQgaXMgbm90IGF2YWlsYWJsZQoJICBEbyBub3QgdXNlIEBHU0VUVElOR1NfUlVMRVNAIGlmIGdzZXR0aW5ncyBpcyBub3QgYXZhaWxhYmxlCgkgIHRvIGF2b2lkIG1haW50YWluZXItY2xlYW4gZmFpbGluZy4KCjIwMTAtMDctMTEgMTA6NDc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogVXNlIGNvcnJlY3Qgb3JkZXIgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBwbHVnaW5zCgkgIEFuZCBkb24ndCBmYWlsIGlmIGEgcGx1Z2luIHdhcyBhbHJlYWR5IHJlZ2lzdGVyZWQuIEZyZWkwciBhbGxvd3MKCSAgcGx1Z2lucyBpbiBkaXJlY3RvcmllcyB3aXRoIGhpZ2hlciBpbXBvcnRhbmNlIHRvIG92ZXJyaWRlIHBsdWdpbnMKCSAgZnJvbSBkaXJlY3RvcmllcyB3aXRoIGxvd2VyIGltcG9ydGFuY2UuCgoyMDEwLTA3LTEwIDE2OjUyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGVuYWJsaW5nIGF1dG9tYXRpYyBpbnNlcnRpb24gb2YgYWx0LXJlZiBmcmFtZXMgYnkgdGhlIGVuY29kZXIKCjIwMTAtMDctMTAgMTY6NTE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggaGFuZGxpbmcgb2YgaW52aXNpYmxlL2FsdCByZWYgZnJhbWVzCgoyMDEwLTA3LTEwIDE1OjUwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpeCBtZW1vcnkgbGVhawoJICBUaGUgdGltZXN0YW1wcyBhcmUgb25seSB1c2VkIGlmIHRoZSBvdXRwdXQgYWRhcHRlciBpcyB1c2VkLCBub3QKCSAgaWYgY29tcGxldGUgZnJhbWVzIGFyZSBwcm92aWRlZCBieSB0aGUgZGVjb2RlciBhbmQgZmluaXNoX2ZyYW1lKCkgaXMKCSAgY2FsbGVkIGFuZCBldmVuIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBvdXRwdXQgYWRhcHRlciBpcyB1c2VkIHRoZXkKCSAgbWlnaHQgbm90IGJlIHVzZWQgYW5kIGFyZSBsZWFrZWQuCgoyMDEwLTA3LTEwIDE1OjQ2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdnA4ZGVjCgoyMDEwLTA3LTEwIDE1OjQ2OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IEltcHJvdmUgdW5pdCB0ZXN0IGEgYml0CgoyMDEwLTA3LTEwIDE1OjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IEFsc28gY2hlY2sgdGhlIG91dHB1dCBjYXBzIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMDctMTAgMTU6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTA5IDE3OjQ0OjU2ICswMzAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmbW11eDogdXNlIGFsdGVybmF0aXZlIHdheSB0byBjaGVjayBmb3IgaW5mCgkgIE1TVkMgZW1pdHMgYSBkaXZpZGUtYnktemVybyBlcnJvciB3aGVuIGNvbXBpbGluZyBhaWZmbXV4LmMgb24gbGluZSAyMDUuCgkgIEZpeGVzICM2MjM4ODEuCgoyMDEwLTA3LTA4IDIxOjUzOjM1ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBmaXggY29tcGlsYXRpb24gYnkgdXNpbmcgdGhlIHJpZ2h0IGZ1bmN0aW9uCgkgIEZpeGVzICM2MjM4ODMuCgoyMDEwLTA3LTA4IDE3OjU4OjE2ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBleGlmIGZyYW1lIHNpemUKCSAgU2tpcCB0aGUgY29ycmVjdCBudW1iZXIgb2YgYnl0ZXMgd2hlbiByZWFkaW5nIGV4aWYKCSAgZGF0YQoJICBGaXhlcyAjNjIzODU0CgoyMDEwLTA3LTA4IDE1OjA3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogQ29ycmVjdGx5IGluaXRpYWxpemUgcHJvcGVydGllcyB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlcyBhZ2FpbgoKMjAxMC0wNy0wOCAwNzo1Nzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IFVzZSBQUk9QXyBpbnN0ZWFkIG9mIEFSR18gZm9yIHByb3BlcnR5IGVudW1zIGFuZCB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBBbHNvIGRvbid0IHVzZSBHX1BBUkFNX0NPTlNUUlVDVCwgaXQgZG9lcyBub3QgbWFrZSBzZW5zZSBmb3IgZWxlbWVudHMuCgoyMDEwLTA3LTA3IDIzOjA2OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IHZpZXdmaW5lci1zaW5rIHByb3BlcnR5IGZvciBiaW5zCgkgIENvcnJlY3RseSBpdGVyYXRlIHZpZXdmaW5kZXItc2luayBjaGlsZHJlbiB3aGVuCgkgIGl0IGlzIGEgYmluLgoJICBGaXhlcyAjNjIzODAyCgoyMDEwLTA3LTA2IDE0OjQ4OjA4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBXcml0ZSAnYnRydCcgYXRvbSBmb3IgSC4yNjQgbWVkaWEgaWYgcG9zc2libGUKCSAgVGhpcyB3cml0ZXMgb3V0IHRoZSBvcHRpb25hbCAnYnRydCcgYXRvbSAoTVBFRzRCaXRyYXRlQm94KSBmb3IgSC4yNjQKCSAgbWVkaWEgaWYgZWl0aGVyIG9yIGJvdGggb2YgYXZlcmFnZSBhbmQgbWF4aW11bSBiaXRyYXRlIGFyZSBhdmFpbGFibGUgZm9yCgkgIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDUgMTQ6MDk6NTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBXcml0ZSBhdmcvbWF4IGJpdHJhdGUgdG8gRVNEUyBpZiBhdmFpbGFibGUKCSAgVGhpcyBjb2xsZWN0cyB0aGUgJ2JpdHJhdGUnIGFuZCAnbWF4aW11bS1iaXRyYXRlJyB0YWdzIG9uIHRoZQoJICBjb3JyZXNwb25kaW5nIHBhZCBhbmQgdXNlcyB0aGVzZSB0byBwb3B1bGF0ZSB0aGVzZSBmaWVsZHMgaW4gdGhlIEVTRFMKCSAgd2hlcmUgYXBwbGljYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNyAxMDozMzoxOCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IHJlc2V0IGZsb3cgcmV0dXJuIHN0YXRlIHRyYWNrZXIgYWZ0ZXIgZmx1c2ggdG8gYXZvaWQgc3B1cmlvdXMgZXJyb3JzIGFmdGVyIGZsdXNoaW5nIGluIHNvbWUgY2FzZXMuCgoyMDEwLTA3LTA3IDA4OjM3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBBZGQgc3VwcG9ydCBmb3Igd2lsZG1pZGkgMC4yLjMKCSAgRml4ZXMgYnVnICM2MjM3MjIuCgoyMDEwLTA3LTAxIDEwOjU2OjE5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBVcGRhdGUgcmVuZGVyZXIgYXNwZWN0IHJhdGlvIGFmdGVyIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB1cGRhdGUuCgkgIEEgbmV3IHZpcnR1YWwgbWV0aG9kIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBSZW5kZXJlclN1cHBvcnQgY2xhc3MuIEl0CgkgIGlzIGNhbGxlZCBkdXJpbmcgdGhlIGluaXRpYWwgcmVuZGVyZXIgY29uZmlndXJhdGlvbiBhbmQgZWFjaCB0aW1lIHRoZQoJICBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb2YgdGhlIHNpbmsgaXMgdXBkYXRlZC4KCSAgRml4ZXMgYnVnICM2MjMyNzIuCgoyMDEwLTA3LTA3IDAwOjE1OjIyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dhdWRpb2RlYzogRml4IGNvbXBpbGF0aW9uIGVycm9yCgkgIENsb3NlcyAjNjIzNzEzCgoyMDEwLTA3LTA2IDEzOjE1OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogb25seSB1c2UgZ193YXJuaW5nKCkgd2hlbiBzZXR0aW5nIHRoZSBvbGQgaXMtbGl2ZSBwcm9wZXJ0eSwgbm90IHdoZW4gcmVhZGluZyBpdAoJICBEb24ndCB3YW50IHdhcm5pbmdzIGluIGUuZy4gZ3N0LWluc3BlY3QuCgoyMDEwLTA3LTA2IDEwOjUzOjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBVc2UgcHJvcGVyIGdzZXR0aW5ncyBzY2hlbWEgZmlsZQoKMjAxMC0wNy0wNSAxMTo1Mjo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4ganBlZ3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wNy0wNSAxMTo0ODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggc2tpcHBpbmcgZXh0cmEgMHhmZiBtYXJrZXJzCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgbWFrZXMgdGhlIGpwZWdwYXJzZSB1bml0IHRlc3QgcGFzcyBhZ2Fpbi4KCSAgQWxzbyBhZGQgYSBkZWJ1ZyBzdGF0ZW1lbnQuCgkgIEZpeGVzICM2MjI2OTAuCgoyMDEwLTA3LTA1IDEwOjA5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAxMC0wNy0wNSAxMDowODozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIHByZWRpY3Rpb24gbW9kZSBhbmQgdGhlIHN0YXJ0IGJhbmQKCjIwMTAtMDctMDUgMDk6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjZWx0OiBBZGQgY2hlY2sgZm9yIGNlbHQgMC44CgoyMDEwLTA3LTA1IDA5OjUyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBSZW1vdmUgc3VwcG9ydCBmb3IgY2VsdCA8IDAuNQoJICBjZWx0IDAuNSB3YXMgcmVsZWFzZWQgbW9yZSB0aGFuIGEgeWVhciBhZ28gYW5kIHRoZSBiaXRzdHJlYW0gaXMKCSAgaW5jb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgb25lIGFueXdheS4KCjIwMTAtMDctMDUgMDk6NDc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEZpeCBjb21waWxhdGlvbiB3aXRoIGNlbHQgMC44CgkgIEZpeGVzIGJ1ZyAjNjIzNTUwLgoKMjAxMC0wNy0wNSAwOTozMjozMCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSAgZ3NldHRpbmdzOiBmaXggc29tZSBtb3JlIHdhcm5pbmdzCgoyMDEwLTA3LTA1IDA5OjI4OjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkgIGdzZXR0aW5nczogZml4IGEgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wNy0wMyAxNjoxNTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3MuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgZ3NldHRpbmdzOiBJbml0aWFsIHZlcnNpb24gb2YgR1NldHRpbmdzIHBsdWdpbgoJICBUaGlzIHByb3ZpZGVzIGF1ZGlvL3ZpZGVvIHNvdXJjZXMgYW5kIHNpbmtzLgoJICBGaXhlcyBidWcgIzYxNjI2NS4KCjIwMTAtMDctMDMgMTc6NDg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJICBkb2NzOiBJbnRlZ3JhdGUgVlA4IGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6NDc6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uLCBiYXNlZCBvbiB0aGUgdGhlb3JhZGVjL3RoZW9yYWVuYyBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjM0OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogTW92ZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbnMsIGV0YyB0byBwdWJsaWMgaGVhZGVyIGZpbGVzIGZvciBndGstZG9jCgoyMDEwLTA3LTAyIDEyOjQ1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCB1c2UgYm9ndXMgY29kZWMvZm9ybWF0IHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM2NQoKMjAxMC0wNy0wMSAxNToxOToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogQWRkIHN1cHBvcnQgZm9yIEdzdEJ1ZmZlckxpc3QKCSAgRmFjdG9yIG91dCBtb3N0IG9mIHRoZSBidWZmZXIgaGFuZGxpbmcgYW5kIGltcGxlbWVudCBhIGNoYWluX2xpc3QKCSAgZnVuY3Rpb24uIEFsc28sIHRoZSBEVE1GIG11eGVyIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGp1c3QgaGF2ZSBhCgkgIGZ1bmN0aW9uIHRvIGFjY2VwdCBvciByZWplY3QgYSBidWZmZXIgaW5zdGVhZCBvZiBoYXZpbmcgdG8gc3ViY2xhc3MKCSAgYm90aCBjaGFpbiBhbmQgY2hhaW5fbGlzdC4KCjIwMTAtMDctMDEgMTU6MTU6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBpbnZhbGlkIGJ1ZmZlcnMKCjIwMTAtMDYtMTQgMTU6MTU6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBBZGQgdG8gZG9jcwoKMjAxMC0wNi0xMSAxODozMTowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBBZGQgZml4YXRlc19jYXBzCgoyMDEwLTA2LTEwIDIwOjM2OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IEFjY2VwdCB3aWRlciBjYXBzCgoyMDEwLTA2LTEwIDIwOjI1OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IE1ha2UgcGVyaW9kIG92ZXIgd2hpY2ggdG8gYXZlcmFnZSBjb25maWd1cmFibGUKCjIwMTAtMDYtMTAgMjA6NDM6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogU2ltcGxpZnkgdHJhbnNmb3JtX2NhcHMKCjIwMTAtMDYtMTAgMjA6MTQ6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogVXNlIGJhc2V0cmFuc2Zvcm0gY29ycmVjdGx5CgoyMDEwLTA2LTEwIDIwOjA4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IE1ha2UgcGx1Z2luIGFjdHVhbGx5IHdvcmsgYnkgdXNpbmcgYW4gYXZlcmFnZQoKMjAxMC0wNi0xMCAxOToxNzowMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9tYXhyYXRlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IEltcG9ydCBwbHVnaW4KCSAgSW1wb3J0IHBsdWdpbiBmcm9tIFBzaU1lZGlhLCBiYXNlZCBvbiBteSB3b3JrCgoyMDEwLTA3LTAxIDE2OjI4OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBzaWduYWwtZnBzLW1lYXN1cmVtZW50cyBpcyB3cml0YWJsZQoJICBzaWduYWwtZnBzLW1lYXN1cmVtZW50cyBpcyBhIHJlYWR3cml0ZSBwcm9wZXJ0eSwgbm90IHJlYWQtb25seS4KCSAgQWxzbyBhZGRzIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgbG9ncy4KCjIwMTAtMDYtMzAgMTg6NTk6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgZ3N0LWZmbXBlZyB0byB3aGl0ZWxpc3QgYXMgd2VsbAoJICBUaGUgbXhmIHRlc3RzIHVzZSBzb21lIGZmbXBlZyBlbGVtZW50cyBpZiB0aGV5J3JlIGF2YWlsYWJsZS4KCjIwMTAtMDYtMzAgMTg6NTI6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgcGx1Z2luIGxvYWRpbmcgd2hpdGVsaXN0IHRvIHRlc3QgZW52aXJvbm1lbnQKCSAgT25seSB3YW50IHRvIGxvYWQgY29yZS8tYmFzZS8tZ29vZC8tdWdseS8tYmFkIHBsdWdpbnMgaGVyZS4KCjIwMTAtMDYtMzAgMTg6MjA6MTMgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZG9uJ3QgZnJlZSBQQVQgc3RydWN0dXJlIHdoaWNoIG1heSBzdGlsbCBiZSBuZWVkZWQgbGF0ZXIKCSAgVGhpcyBpcyBhIHByb2JsZW0gaWYgeW91IHR1bmUgdG8gYSBjaGFubmVsIHdoaWNoIHVzZXMgcGlkIFggYW5kIGxhdGVyIHR1bmUgdG8KCSAgYW5vdGhlciBjaGFubmVsIHdoZXJlIFggaXMgdXNlZCBmb3IgYW5vdGhlciB0YWJsZSAoZS5nLiBQTVQpLgoJICBUaGUgY29kZSB0aGF0IGRvZXMgdGhhdCB3YXMgYWN0dWFsbHkgYWxyZWFkeSB0aGVyZSBidXQgbmV2ZXIgdXNlZCBiZWNhdXNlIHRoZQoJICBwYXQgc3RydWN0dXJlIHdhcyBmcmVlZCBiZWZvcmUuIFRoZSBjb21taXQgdGhhdCBpbnRyb2R1Y2VkIHRob3NlIGxpbmVzIGludGVuZGVkCgkgIHRvIGZpeCBhIG1lbW9yeSBsZWFrLCBidXQgd2UgY2xlYW4gdGhpbmdzIHVwIGVsc2V3aGVyZS4KCSAgRml4ZXMgIzYyMjcyNS4KCjIwMTAtMDYtMzAgMTg6MTk6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBpbnNwZWN0IGluZm8sIG5vdyBzb3J0ZWQgYW5kIGVzY2FwZWQKCjIwMTAtMDYtMzAgMTc6NTQ6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIHRlbXBvcmFyeSBvcmMgZmlsZXMKCjIwMTAtMDYtMjkgMTE6MjE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1OiBDaGVjayBmb3IgbG9nMiBhbmQgb25seSB1c2UgaXQgaWYgaXQncyBhdmFpbGFibGUKCjIwMTAtMDYtMjggMTY6MjA6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTAgYW5kIGF1dG9jb25mIHRvIDIuNjAKCSAgRm9yIG1haW50YWluYWJpbGl0eSByZWFzb25zLCAkKGJ1aWxkZGlyKSBhbmQgb3RoZXIgdGhpbmdzLgoJICBTZWUgIzYyMjk0NCBhbmQgIzU3MDQyOC4KCjIwMTAtMDYtMjggMTI6MDA6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXVoMjY0ZGVjOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBnX3B0cl9hcnJheV9mcmVlIGluY2FzZSBnbGliID49IDIuMjIKCjIwMTAtMDYtMjggMTE6MTk6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCByZXNpemluZyBvZiBvdXRwdXQKCjIwMTAtMDYtMjggMTE6MDg6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXVoMjY0ZGVjOiBkb24ndCB1c2UgZ2xpYiAyLjIyIGZ1bmN0aW9ucwoKMjAxMC0wNi0yNyAyMDoyOTowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNoYW5nZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHN0YXRlIGFwaQoKMjAxMC0wNi0yNyAxMDo1MjozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmcmVlIGZyYW1lcyBvbiBmaW5hbGl6ZSBpbiBHc3RIMjY0RFBCCgoyMDEwLTA2LTI3IDA5OjU1OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZGlzcGxheSBwcm9wZXJ0eSB0byBHc3RWZHBEZWNvZGVyCgoyMDEwLTA2LTI3IDAxOjI3OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogcmVuYW1lIEdzdFZkcEgyNjRGcmFtZSB0byBHc3RIMjY0RnJhbWUKCjIwMTAtMDYtMjcgMDA6MzY6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogZml4IGVycm9yIGhhbmRsaW5nIHdoZW4gcGx1Z2dpbmcgInZkcGF1dmlkZW9wb3N0cHJvY2VzcyAhIGZha2VzaW5rIgoKMjAxMC0wNi0yNyAwMDozNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGVycm9yIHBhcmFtZXRlciB0byBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfZ2V0X2RldmljZQoKMjAxMC0wNi0yOCAxMDo0Nzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBMaW5rIHRvICQoTElCTSkgZm9yIGxvZzIgYW5kIGZyaWVuZHMKCjIwMTAtMDYtMjcgMTk6MjI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBJbmNsdWRlIF9zdGRpbnQuaCBmb3IgaW50MTZfdCBhbmQgZnJpZW5kcwoKMjAxMC0wNi0yNyAxNzo0Njo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IFVzZSBnX21hbGxvYygpIGluc3RlYWQgb2YgbWFsbG9jKCkKCSAgbWFsbG9jKCkgbmVlZHMgc3RkbGliLmgsIHdoaWNoIGlzbid0IGluY2x1ZGVkIGhlcmUgYW5kIHRoZQoJICBtZW1vcnkgaXMgZnJlZWQgbGF0ZXIgd2l0aCBnX2ZyZWUoKSBhbnl3YXkuCgoyMDEwLTA2LTI3IDExOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgYXNzcmVuZGVyLCBpdmZwYXJzZSwganBlZ2Zvcm1hdDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkIGluIGNvcmUKCjIwMTAtMDYtMjcgMTA6NDE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIHRlc3RzOiBGaXggYnVpbGQgd2l0aCBHVEsrIDwgMi4xNy43CgkgIGd0a193aWRnZXRfZ2V0X2FsbG9jYXRpb24oKSB3YXMgYWRkZWQgaW4gdGhhdCB2ZXJzaW9uLgoKMjAxMC0wNi0yNyAxMDozNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGUKCjIwMTAtMDYtMjcgMDc6NDA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIHRlc3RzOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHVEsgQVBJIHRvIGZpeCB0aGUgYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0wNi0yNiAyMTowMjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1OiBhZGQgR3N0VmRwRGVjb2RlciBiYXNlIGNsYXNzCgoyMDEwLTA2LTI2IDE5OjAyOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBhZGQgZ3N0X2gyNjRfZHBiX3NldF9vdXRwdXRfZnVuYyBmdW5jdGlvbgoKMjAxMC0wNi0yNSAyMDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlIHVpbnQgdGFncyB0aGF0IGRvbid0IGhhdmUgYSBjb21wbGVtZW50CgkgIFdyaXRlIHVpbnQgdGFncyB0aGF0IGhhdmUgY29tcGxlbWVudHMgKGUuZy4gdHJhY2stbnVtYmVyLwoJICB0cmFjay1jb3VudCkgZXZlbiB3aGVuIHdlIG9ubHkgaGF2ZSBvbmUgb2YgdGhlbSBhdmFpbGFibGUKCSAgYW5kIHNldCB0aGUgb3RoZXIgb25lIHRvIDAuCgkgIEZpeGVzICM2MjI0ODQKCjIwMTAtMDYtMjUgMTE6MDI6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IEluY2x1ZGUgY29uZmlnLmggaW4gbWV0YWRhdGEqLmMgZmlsZXMKCSAgSW5jbHVkZSBjb25maWcuaCBpbiBtZXRhZGF0YWV4aWYuYyBpbiBtZXRhZGF0YSBwbHVnaW4gc28KCSAgdGhhdCBIQVZFX0VYSUYgZ2V0cyBkZWZpbmVkIGFuZCBleGlmIG1ldGFkYXRhIGlzIHByb3Blcmx5CgkgIGdlbmVyYXRlZC4KCSAgQWxzbyBhZGRzIGNvbmZpZy5oIHRvIGFsbCAuYyBmaWxlcyBtaXNzaW5nIGl0IGluIG1ldGFkYXRhIHBsdWdpbgoJICBGaXhlcyAjNjIyNjkyCgoyMDEwLTA2LTI0IDIwOjIxOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogV2FybiBpZiBwcmVyb2xsIHZhbHVlIGlzIHRvbyBiaWcKCSAgUG9zdCBhIHdhcm5pbmcgd2hlbiB0aGUgcHJlcm9sbCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4KCSAgdGhlIHN0cmVhbXMgZHVyYXRpb24KCjIwMTAtMDYtMjQgMjM6NTc6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkgIHZkcGF5OiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBzbyBpdCBmaW5kcyB0aGUgZ3N0L3ZpZGVvL3ZpZGVvLmgKCSAgaGVhZGVycyBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cC4gQWxzbyByZXNodWZmbGUgb3JkZXIuCgoyMDEwLTA2LTI0IDE4OjMyOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IE1ha2UgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgaXQKCSAgQmVmb3JlIGNvcHlpbmcgbWV0YWRhdGEgZnJvbSBvbmUgYnVmZmVyIHRvIGFub3RoZXIsIG1ha2Ugc3VyZQoJICB0aGUgZGVzdGluYXRpb24gaXMgbWV0YWRhdGEtd3JpdGFibGUuCgoyMDEwLTA2LTI0IDIyOjE0OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0yNCAyMjowNjo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggaW5pdGFsaXphdGlvbiBvZiBHc3ROYWxSZWFkZXIgY2FjaGUKCjIwMTAtMDYtMjQgMTI6Mzc6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvLmdpdGlnbm9yZToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHMtbWFyc2hhbC5saXN0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkcyBhIHNpZ25hbCB0byBpbmZvcm0gbWVhc3VyZW1lbnRzIHRvIGFwcHMKCSAgQWRkcyBhIHNpZ25hbCBmb3IgYXBwbGljYXRpb25zIHRvIHJlY2VpdmUgdGhlIGZwcyBtZWFzdXJlbWVudHMgbWFkZQoJICBpbnN0ZWFkIG9mIG9ubHkgcHJpbnRpbmcgdGhlbSB0byB0aGUgZnJhbWUvc3Rkb3V0LgoJICBUaGlzIHNpZ25hbCBpcyBvbmx5IGVtaXRlZCBpZiB0aGUgc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgcHJvcGVydHkKCSAgaXMgc2V0IHRvIFRSVUUKCjIwMTAtMDYtMjQgMTA6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZHMgbWF4LWZwcyBhbmQgbWluLWZwcyBwcm9wZXJ0eQoJICBBZGRzIDIgcHJvcGVydGllcyBmb3IgZ2V0dGluZyB0aGUgbWF4aW11bSBhbmQgbWluaW11bSBmcHMKCSAgdmFsdWVzIG1lYXN1cmVkCgoyMDEwLTA2LTI0IDEwOjI0OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBpbiBhbGwgcHJvcGVydGllcwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byB0aGUgcHJvcGVydGllcyB0aGF0IGFyZQoJICBtaXNzaW5nIGl0CgoyMDEwLTA2LTI0IDEwOjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGQgZnBzLXVwZGF0ZS1pbnRlcnZhbCBwcm9wZXJ0eQoJICBVc2UgYSBwcm9wZXJ0eSB0byBzZXQvZ2V0IHRoZSBmcHMgdXBkYXRlIGludGVydmFsIGluc3RlYWQKCSAgb2YgaGF2aW5nIGEgaGFyZGNvZGVkIHZhbHVlLgoKMjAxMC0wNi0yNCAxNjoyMDoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlciB1c2luZyBDRkxBR1MKCjIwMTAtMDYtMjQgMTU6MjM6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkgIFJldmVydCAidmRwYXU6IHJlbmFtZSBHc3RCYXNlVmlkZW9EZWNvZGVyIHRvIFNhdEJhc2VWaWRlb0RlY29kZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWEwNDQ0ZjIwNDE1N2MyMmMxMWE3NDI1NDdjOWU2OGE5ZWFlY2M4MC4KCjIwMTAtMDYtMjQgMTU6MDk6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU2MTdjMiB0byBhNTE5NTcxCgoyMDEwLTA2LTI0IDEzOjE4OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJICB2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0yMyAyMjozMzowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiB1c2UgYml0c2hpZnRzIGluc3RlYWQgb2YgcG93CgoyMDEwLTA2LTIzIDIyOjIxOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGFkZCBpbnRlcmxhY2VkID0gZmFsc2UgdG8gc2luayBjYXBzCgkgIHdlIGRvbid0IHN1cHBvcnQgaW50ZXJsYWNlZCBjb250ZW50IHlldAoKMjAxMC0wNi0yMyAyMjoxODo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IEFsbCByZWFkIHJldHVybiB2YWx1ZXMgc21hbGxlciB0aGFuIHplcm8gYXJlIGZhaWx1cmVzCgoyMDEwLTA2LTIzIDIxOjEwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBwYXJzaW5nIG9mIHNjYWxpbmcgbGlzdHMKCjIwMTAtMDYtMjMgMjE6MDk6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcmVhZGluZyBvZiBzaWduZWQgZXhwIGdvbG9tYgoKMjAxMC0wNi0yMiAxNTo0OToxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGZpeHVwIGRlY29kZXIgdGltZXN0YW1waW5nCgoyMDEwLTA2LTIyIDE0OjUyOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgcGFyc2VfY29kZWNfZGF0YSBmcm9tIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMjIgMTQ6MjU6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IGluaXRpYWxpemF0aW9uIG9mIGZhbGxiYWNrIHNjYWxpbmcgbWF0cml4CgoyMDEwLTA2LTIyIDE0OjE3OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJICB2ZHBhdWgyNjRkZWM6IGltcHJvdmUgZnVydGhlcgoKMjAxMC0wNi0xNyAxNToyMDo1MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogbm93IHdvcmtzIGZvciBzaW1wbGUgc3RyZWFtcwoKMjAxMC0wNi0xNyAxNToyMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjaGFuZ2UgZ3N0X3ZkcF92aWRlb19zcmNfcGFkX2dldF9kZXZpY2UgYmVoYXZpb3VyCgkgIGl0IG5vdyBjcmVhdGVzIHRoZSBkZXZpY2UgaWYgaXQncyBub3QgYXZhaWxhYmxlCgoyMDEwLTA2LTE2IDIzOjEyOjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1OiBtb3JlIHdvcmsgb24gaDI2NCBkZWNvZGVyCgoyMDEwLTA2LTEwIDEyOjEzOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1OiBhZGQgYmVnaW5uaW5nIG9mIGgyNjQgZGVjb2RlcgoKMjAxMC0wNi0wOSAxNTo0Mzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGJhc2UgdmRwYXVtcGVnZGVjIG9uIEdzdEJhc2VWaWRlb0RlY29kZXIKCjIwMTAtMDYtMDggMTM6MzY6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBzbWFsbCBidWcKCjIwMTAtMDUtMTUgMjI6NDc6NDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgUkVBRF9VSU5UWzh8MTZ8MzJdIG1hY3JvcwoKMjAxMC0wNi0wNCAxMjoyNDoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfc2V0X2NhcHMKCjIwMTAtMDYtMjMgMjE6NDY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBEbyBzb21lIHNhbml0eSBjaGVja3MgYmVmb3JlIGFjY2VwdGluZyBhbiBVUkkKCSAgRml4ZXMgYnVnICM2MjIzNjkuCgoyMDEwLTA2LTE3IDEwOjU4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEFkZHMgaW1hZ2Ugb3JpZW50YXRpb24gdGFncyB0ZXN0cwoJICBBZGRzIHRlc3RzIGZvciBpbWFnZSBvcmllbnRhdGlvbiB0YWdzIHRvIGppZm11eAoKMjAxMC0wNi0yMyAxMDozODo1NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9idGFpbiBjb3JyZWN0IHVwc3RyZWFtIHRpbWVzdGFtcAoJICAuLi4gZm9yIG9wdGlvbmFsIGRvd25zdHJlYW0gdXNlLgoKMjAxMC0wNi0yMiAxMjoyODozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBuZXcgaDI2NCBjYXBzIGF0dHJpYnV0ZSBhbGlnbm1lbnQKCSAgU2VlICM2MDY2NjIuCgoyMDEwLTA2LTIxIDIzOjQ4OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBwcmV2aW91cyBjb21taXQKCSAgV2Ugd2VyZSBsZWFraW5nIHRoZSBlbGVtZW50IHJlZmNvdW50IGFuZCBub3QgdGhlIHBhZCBvbmUuCgoyMDEwLTA2LTIxIDIyOjMzOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGRvbid0IGxlYWsgdGhlIGVsZW1lbnQgcmVmY291bnQKCjIwMTAtMDYtMjEgMTk6Mzk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFJlbW92ZSB0aGUgcGFkIGZyb20gb3VyIGludGVybmFsIGxpc3QgYmVmb3JlIGNhbGxpbmcgY29sbGVjdHBhZHMKCSAgUHJldmlvdXNseSB3ZSB3b3VsZCBlbmQgdXAgd2l0aCB0aGUgY29sbGVjdHBhZGRhdGEgc3RydWN0dXJlIGFscmVhZHkgZnJlZWQuCgkgIFRoaXMgd291bGQgcmVzdWx0IGluIGEgYm9ndXMgaXRlcmF0aW9uIG9mIG11eC0+c2lua3BhZHMgKGFsbCB0aGUKCSAgR3N0UVRQYWQgYmVpbmcgZnJlZWQpIGFuZCBpdCB3b3VsZG4ndCBiZSByZW1vdmVkIGZyb20gdGhhdCBsaXN0LgoJICBGaW5hbGx5LCBkdWUgdG8gaXQgbm90IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QsIHdlIHdvdWxkIGVuZCB1cAoJICBjYWxsaW5nIGEgYm9ndXMgZ3N0X3F0X211eF9wYWRfcmVzZXQgb24gdGhvc2Ugc3RydWN0dXJlcyA9PiBTRUdGQVVMVAoKMjAxMC0wNi0yMSAxMDoyMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmRlYnVnLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTW92ZSBkZWJ1ZyBjYXRlZ29yeSBkZWNsYXJhdGlvbiB0byBhIHNlcGFyYXRlIGZpbGUKCSAgSGF2aW5nIEdTVF9ERUJVR19DQVRFR09SWSBhbmQgR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiB0b2dldGhlcgoJICBtaWdodCBsZWFkIHRvICd1bmRlZmluZWQgc3ltYm9sJyBwcm9ibGVtcy4gVGhpcyBjb21taXQgbW92ZXMKCSAgdGhlIF9FWFRFUk4gdG8gYSBzZXBhcmF0ZSBuZXcgZmlsZS4KCjIwMTAtMDYtMjEgMTE6MTM6MjAgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBSZXZlcnQgImgyNjRwYXJzZTogYWRkIHBhcnNlZCBmaWVsZCB0byBzcmMgY2FwcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1NGVkYWU0ZjFmMjExOWNmNDkyZmZlNDRmOTM2Zjk5ZTEzM2FmN2RjLgoJICBTZWUgdGhpcyBidWcgZm9yIG1vcmUgaW5mb3JtYXRpb246CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDY2NjIKCjIwMTAtMDYtMTcgMDg6NDI6NTMgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJlbW92ZSByZWR1bmRhbnQgbG9nIG1lc3NhZ2UKCjIwMTAtMDYtMjAgMTA6Mzk6MzkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFkZCBwYXJzZWQgZmllbGQgdG8gc3JjIGNhcHMKCjIwMTAtMDYtMTggMTQ6Mzc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBVc2UgZ3N0X3RhZ19saXN0X3BlZWtfc3RyaW5nX2luZGV4CgkgIFJlcGxhY2UgX2dldF9zdHJpbmdfaW5kZXggd2l0aCBfcGVla19zdHJpbmdfaW5kZXggdG8gYXZvaWQKCSAgYSBzdHJpbmcgY29weQoKMjAxMC0wNi0xOCAxODo0MTo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gaGFuZGxlIDMtYnl0ZSBieXRlc3RyZWFtIHN5bmMgY29kZQoKMjAxMC0wNi0xNyAxMDo1MjozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEwLTA2LTE2IDEwOjMxOjE5ICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IERvbid0IGNyYXNoIGlmIG5vIHZhbGlkIGlucHV0IHdhcyBwYXJzZWQgeWV0CgkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NjAzNzcxCgoyMDEwLTA2LTExIDEwOjUzOjI2ICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQWRkZWQgZGVidWdnaW5nIG91dHB1dCBmb3IgbXBlZ3BhY2tldGlzZXIKCjIwMTAtMDYtMTUgMTY6NTA6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDkzMzljY2MgdG8gMzU2MTdjMgoKMjAxMC0wNi0xNSAxNjo1NDoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YWRiMWNhIHRvIDkzMzljY2MKCjIwMTAtMDYtMTUgMTU6MzQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBldmVudCByZWYgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzM6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGFyaXRobWV0aWMgb3ZlcmZsb3dzIGluIHB1bGwgbW9kZSBidWZmZXIgY2FjaGUgaGFuZGxpbmcKCjIwMTAtMDYtMTUgMTU6MzI6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggc2VlayBoYW5kbGluZwoJICBBbGxvdyBhIGZldyBtb3JlIHNlZWsgZXZlbnQgdHlwZSBjb21iaW5hdGlvbnMsIGFuZCByZWFsbHkgdXNlIHRoZSByZXN1bHQKCSAgb2YgZ3N0X3NlZ21lbnRfc2V0X3NlZWsgdG8gcGVyZm9ybSB0aGUgc2Vlay4gIEFsc28gYWRkIHNvbWUgZGVidWcuCgoyMDEwLTA2LTE1IDE2OjM1OjM1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU3Yzg5YjcgdG8gNWFkYjFjYQoKMjAxMC0wNi0xNSAxNTo0OToyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjODA0OTg4IHRvIDU3Yzg5YjcKCjIwMTAtMDYtMTIgMDk6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXBsZW1lbnQgbXVsdGlwYXNzIGVuY29kaW5nCgkgIEZpeGVzIGJ1ZyAjNjIxMzQ4LgoKMjAxMC0wNi0xNSAxMToyMDoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHNwcmlua2xlIHNvbWUgYnJhbmNoIHByZWRpY3Rpb24KCjIwMTAtMDYtMTUgMTE6MTY6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgRkxVU0hfU1RPUCBldmVudAoKMjAxMC0wNi0xNSAxMToxNjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFkZCBjb25maWctaW50ZXJ2YWwgcGFyYW1ldGVyIHRvIHJlLWluc2VydCBjb25maWcgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zdHJ1Y3QgdGhlIHBhcnNlciB0byBpbnNlcnQKCSAgY29uZmlnIChWT1NILCBWT1MsIGV0YykgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzIGluIHRoZSBzdHJlYW0KCSAgKHdoZW4gYSBHT1Agb3IgVk9QLUkgaXMgZW5jb3VudGVyZWQpLgoJICBCYXNlZCBvbiBwYXRjaCBieSA8bWFyYy5sZWVtYW4gYXQgZ21haWwuY29tPgoJICBGaXhlcyAjNjIxMjA1LgoKMjAxMC0wNi0xNSAxNzoxNjoxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBcHBseSBwcmV2aW91cyB0aW1lc3RhbXAgd2hlbiB0aGVyZSBpc24ndCBhbnkgbmV3ZXIuCgkgIElmIHRoZSBjdXJyZW50IGluY29taW5nIHBhY2tldCBkaWRuJ3QgY2FycnkgYSB0aW1lc3RhbXAsIGJ1dCBhCgkgIHByZXZpb3VzIHBhY2tldCBoYWQgb25lIHdlIGRpZG4ndCB5ZXQgdXNlLCB0aGVuIGFwcGx5IHRoYXQgdGltZXN0YW1wCgkgIHRvIHRoZSBuZXh0IHBpY3R1cmUuCgkgIEZpeGVzOiAjNjE4MzM2CgoyMDEwLTA2LTE0IDE3OjAxOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR0xpYiAyLjIwCgoyMDEwLTA2LTE0IDE1OjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IFZQOEVfU0VUX0NQVVVTRUQgdG8gMAoJICBUaGlzIHNldHRpbmcgY29udHJvbHMgaG93IG11Y2ggQ1BVIGNhbiBiZSB1c2VkIGJ5IHRoZSBlbmNvZGVyLCBzcGVjaWZpZWQKCSAgaW4gZnJhY3Rpb25zIG9mIDE2LiBOZWdhdGl2ZSB2YWx1ZXMgbWVhbiBzdHJpY3QgZW5mb3JjZW1lbnQgb2YgdGhpcwoJICB3aGlsZSBwb3NpdGl2ZSB2YWx1ZXMgYXJlIGFkYXB0aXZlLgoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtNCwgd2hpY2ggbWVhbnMgdGhhdCB3ZSdyZSBub3QgcnVubmluZyBhcyBmYXN0CgkgIGFzIHBvc3NpYmxlIGFuZCBwcm9iYWJseSBhcmUgd2FzdGluZyBzb21lIHF1YWxpdHkuIDAgaXMgdGhlIHJlY29tbWVuZGVkCgkgIGRlZmF1bHQgYnkgbGlidnB4IHVwc3RyZWFtLgoKMjAxMC0wNi0xNCAxNTo1MTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBWUFggZGVmaW5lcyBmb3IgUkVBTFRJTUUsIEdPT0QvQkVTVCBxdWFsaXR5IGRlYWRsaW5lcyBpbnN0ZWFkIG9mIG91ciBvd24KCSAgVGhlc2UgYXJlIHRoZSB2YWx1ZXMgdXNlZCBmb3IgdGhlIHNwZWVkIHByb3BlcnR5LgoKMjAxMC0wNi0xNCAxNTo0Njo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IHByZXZlbnQgY29tcGlsZXIgd2FybmluZyBpZiBvcmMgbm90IHByZXNlbnQKCjIwMTAtMDUtMzEgMTg6MzA6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaGFuZGxlIEZMVVNIX1NUT1Agc2luayBldmVudAoKMjAxMC0wNS0zMSAxODozMDoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBvcHRpbWl6ZSBpbWFnZSBwYXJzaW5nCgkgIFVzZSBhZGFwdGVyIEFQSSBmb3Igc2Nhbm5pbmcgYW5kIHBlZWtpbmcgdG8gcmVkdWNlIGJ1ZmZlciBjb3B5aW5nLgoJICBTZWUgIzU4MzA0Ny4KCjIwMTAtMDYtMTQgMTU6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBDYWxsIG9yY19pbml0KCkgYmVmb3JlIHRyeWluZyB0byBnZXQgdGFyZ2V0IGZsYWdzCgoyMDEwLTA2LTE0IDE0OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3Igb3JjIGluc3RlYWQgb2YgbGlib2lsCgoyMDEwLTA2LTE0IDE0OjUxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogVXNlIG9yYyBmb3IgQ1BVIGZlYXR1cmUgZGV0ZWN0aW9uCgoyMDEwLTA2LTE0IDE0OjQ4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHVzZSBsaWJvaWwgZnVuY3Rpb25zCgkgIGdsaWJjIG1lbWNweSgpIHdpbGwgYmUgZmFzdGVyIHRoYW4gbGlib2lsJ3Mvb3JjJ3MgZm9yIG5vdyBhbnl3YXkKCSAgYW5kIHdlIGNhbiB1c2Ugb3JjJ3MgbGF0ZXIsIGFmdGVyIG9yYyBoYXMgc3VwcG9ydCBmb3IgbG9vcCB1bnJvbGxpbmcuCgoyMDEwLTA2LTE0IDE0OjQ3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogRG9uJ3QgaW5jbHVkZSBsaWJvaWwgaGVhZGVycywgdGhleSdyZSBub3QgdXNlZCBhbnl3YXkKCjIwMTAtMDYtMTQgMTM6MjY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBHTElCX0VYVFJBX0NGTEFHUwoKMjAxMC0wNi0xNCAxMzowNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhMGZkZjUgdG8gYzgwNDk4OAoKMjAxMC0wNi0xNCAxMjo0OTo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGFkZCBvcHRpb24gdG8gaW5zZXJ0IFNQUy9QUFMgaW4gc3RyZWFtCgkgIEFkZCBhIG5ldyBjb25maWctaW50ZXJ2YWwgcHJvcGVydHkgdG8gaW5zZXJ0IFNQUyBhbmQgUFBTIGF0IHBlcmlvZGljIGludGVydmFscwoJICBpbiB0aGUgc3RyZWFtICh3aGVuIGFuIElEUiBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MjA5NzguCgoyMDEwLTA2LTA5IDE1OjMyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBjb2xsZWN0IFNQUyBhbmQgUFBTIG5hbHUgaW4gY29kZWNfZGF0YQoKMjAxMC0wNi0xNCAxMTozNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYTNiYWIgdG8gN2EwZmRmNQoKMjAxMC0wNi0xMyAwODoyODowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IERvbid0IHVzZSBkZXByZWNhdGVkIDE1LzE2IGJpdCBSR0IgbWFza3MKCjIwMTAtMDYtMTIgMDg6Mjg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MzNmY2E5IHRvIDZkYTNiYWIKCjIwMTAtMDUtMjIgMTA6MzU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBtaW5vciBjbGVhbi11cAoJICBVc2UgZ3N0X3VyaV9oYXNfcHJvdG9jb2woKS4KCjIwMTAtMDYtMTEgMTU6Mjk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogRml4IHRlc3RzIGJ1aWxkaW5nCgkgIE9ubHkgYnVpbGQgamlmbXV4IHRlc3RzIGlmIGxpYmV4aWYgaGVhZGVycyBhcmUgcHJlc2VudAoKMjAxMC0wNi0wOSAxOToxNjowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IHVzZSBnbGliIGluc3RlYWQgb2Ygc3RkaW50IHR5cGVzCgoyMDEwLTA2LTA5IDE4OjM5OjM4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgbTQgbWFjcm8gZm9yIE9yYyBjaGVjawoKMjAxMC0wNi0wNSAxNjowMjo0MSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSBzcHVyaW91cyB3YXJuaW5nCgoyMDEwLTA2LTEwIDE0OjE3OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGNvcmUvYmFzZSBnaXQgZm9yIHRoZSBuZXcgaW1hZ2UgdGFncyBhbmQgaGVscGVyIGZ1bmN0aW9ucwoKMjAxMC0wNS0xMCAxMDo0NzowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgamlmbXV4IGV4aWYgdGFncyB0ZXN0cwoJICBBZGRzIGEgYmFzaWMgdW5pdCB0ZXN0IGZvciBqaWZtdXggdG8gdGVzdCB0aGF0IGV4aWYgdGFncwoJICBhcmUgd3JpdGVuIHByb3Blcmx5LgoJICBUaGlzIHRlc3QgdXNlcyBsaWJleGlmLgoJICBGaXhlcyAjNjE0ODcyCgoyMDEwLTA0LTI4IDIzOjUyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogQWRkIGV4aWYgc3VwcG9ydAoJICBBZGRzIGV4aWYgd3JpdGluZyBzdXBwb3J0IHRvIGppZm11eC4KCSAgQWRkcyBwYXJzaW5nIHN1cHBvcnQgdG8ganBlZ3BhcnNlLgoJICBGaXhlcyAjNjE0ODcyCgoyMDEwLTA2LTA5IDEyOjQwOjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmFkMTQ1YiB0byA3MzNmY2E5CgoyMDEwLTA2LTA5IDEyOjM0OjEwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDc2ODNjMSB0byBmYWQxNDViCgoyMDEwLTA2LTA5IDIwOjQ5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IHRpbWVzdGFtcHMgYWZ0ZXIgYSBzZWVrCgoyMDEwLTA2LTA4IDE0OjMzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogRGVwcmVjYXRlICdpcy1saXZlJyBhbmQgYWRkICdzdHJlYW1hYmxlJyBwcm9wZXJ0eQoJICBGb2xsb3dpbmcgdGhlIHNpbWlsYXIgY2hhbmdlIGluIGZsdm11eCwgdGhpcyBjb21taXQgYWRkcwoJICAnc3RyZWFtYWJsZScgcHJvcGVydHkgYW5kIGRlcHJlY2F0ZWQgJ2lzLWxpdmUnIGZvciBhIGJldHRlci9sZXNzIHdyb25nCgkgIG5hbWUuCgoyMDEwLTA1LTEzIDEyOjE1OjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGRvbid0IHNldCB0aGUgJ3NlZWthYmxlJyBmbGFnIGlmIHdlIGFyZSBzdHJlYW1pbmcKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNC0yOSAxMDo0Njo0OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB3cml0ZSBwcmVyb2xsIGluZm8gaW4gdGhlIGhlYWRlciBhdCBpbml0aWFsaXphdGlvbgoJICBUaGlzIHZhbHVlIGRvZXNuJ3QgbmVlZCB0byBiZSB1cGRhdGVkIGFuZCBpcyB1c2VmdWxsIGluIGEgc3RyZWFtaW5nIGNvbnRleHQKCSAgRml4ZXMgIzYxODUyMgoKMjAxMC0wNC0yNiAxMzozMzo0OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBwdXQgaGVhZGVycyBpbiBzdHJlYW1oZWFkZXIgZm9yIHN0cmVhbWluZwoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA2LTA4IDEzOjU5OjQ1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBzdGFydCBwbXQgYXQgMHgwMjAgYXMgc3VnZ2VzdGVkIGJ5IFphaGVlcgoKMjAxMC0wNi0wOCAxMzo1OTowOCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB0YWtlIGFsbCB0aGUgcG10IGluIHRoZSBzdHJlYW1oZWFkZXJzCgoyMDEwLTA2LTA4IDA5OjE0OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGFzc2VydCBvbiBzZXRfcHJvcGVydHkgdG8gTlVMTCBmb3IgZWxlbWVudHMKCSAgQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIE5VTEwgYmVmb3JlIHJlZmZpbmcgdGhlbSBpbiBzZXRfcHJvcGVydHkKCSAgZm9yICdHc3RFbGVtZW50JyBwcm9wZXJ0aWVzCgoyMDEwLTA2LTA4IDA4OjQxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IGFzc2VydCBvbiBudWxsIGNhcHMgcHJvcGVydHkKCSAgSWYgY2FtZXJhYmluIHJlY2VpdmVzIGEgbnVsbCBjYXBzIGFzICdmaWx0ZXItY2FwcycgYXJndW1lbnQsCgkgIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZQoKMjAxMC0wNi0wNyAyMjo1NjoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFVzZSBfQ0FTVCBtYWNybwoJICBSZXBsYWNlIGRlZmF1bHQgdHlwZSBjYXN0aW5nIG1hY3JvIHdpdGggdGhlIGZhc3RlciBkaXJlY3QgX0NBU1QgbWFjcm8KCjIwMTAtMDYtMDcgMjI6MjE6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTWFrZSBwcm9wZXJ0aWVzIGNvbnRyb2xsYWJsZQoJICBNYWtlcyB0aGUgZWxlbWVudCdzIHByb3BlcnRpZXMgY29udHJvbGxhYmxlIGFuZCB0aHJlYWRzYWZlLgoJICBGaXhlcyAjNjIwODI1CgoyMDEwLTA2LTA3IDE3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogUmVtb3ZlIHBhZ2UtdXJsIGFuZCBzd2YtdXJsIHByb3BlcnRpZXMKCSAgSXQncyBwb3NzaWJsZSB0byBpbmNsdWRlIGFsbCB0aG9zZSBvcHRpb25zIGluIHRoZSBVUkwgYWxyZWFkeQoJICBieSBhcHBlbmRpbmcgdGhlIG9wdGlvbnMgYW5kIHNlcGFyYXRpbmcgdGhlbSBieSBzcGFjZXMsIGUuZy4KCSAgcnRtcDovL3NvbWV3aGVyZS9zb21ldGhpbmcgb3B0MT12YWwxIG9wdDI9dmFsMgoKMjAxMC0wNi0wNyAxNzozMDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBtZW1vcnkgbGVha3MKCjIwMTAtMDYtMDcgMTE6MTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IE9ubHkgd29ya3Mgd2l0aCByYXRlPTgwMDAsIGZpeCBpbiBjYXBzCgoyMDEwLTA2LTA3IDA3OjU4OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNyYXNoIGluICdmaWxlbmFtZScgcHJvcGVydHkKCSAgRG8gbm90IGNyYXNoIHdoZW4gZmlsZW5hbWUgcHJvcGVydHkgaXMgc2V0IHRvIE5VTEwsIHVzZSBhbgoJICBlbXB0eSBzdHJpbmcgaW5zdGVhZC4KCjIwMTAtMDYtMDcgMDc6Mzg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IFJ1biBnc3QtaW5kZW50IG9uIC5jIGZpbGVzCgkgIGthdGUgcGx1Z2luIGhhcyBzb21lIGluZGVudGF0aW9uIHByb2JsZW1zLCBydW4gZ3N0LWluZGVudCBvbiB0aGVtCgkgIGFuZCBmaXggaXQKCjIwMTAtMDYtMDYgMjI6MzQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBtYXJibGU6IEFkZHMgJ21hcmJsZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhIG5ldyBlbGVtZW50IHRoYXQgZG9lcyBhIG1hcmJsaW5nIGVmZmVjdCB0bwoJICBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTA2IDE0OjM1OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogVXNlIGV4cGxpY2l0IGZvcm1hdHMgZnJvbSBnc3R2aWRlbwoJICBVc2UgZXhwbGljaXQgZm9ybWF0IG1hY3JvcyBmcm9tIGdzdHZpZGVvIHRvIGF2b2lkIGV4cG9zaW5nCgkgIHVuc3VwcG9ydGVkIGZvcm1hdHMgb24gdGVtcGxhdGUgcGFkcy4gVXNpbmcgdGhlIG1hY3JvcwoJICBhbHNvIGdpdmUgdXMgY29tcGxldGUgY2FwcyAod2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZSkuCgkgIEFuZCBhZGQgc3VwcG9ydCBmb3IgQVlVVi4KCSAgRml4ZXMgIzYyMDcxNwoKMjAxMC0wNi0wNSAxOTozODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGRpZmZ1c2U6IEFkZHMgZGlmZnVzZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIHRoZSAnZGlmZnVzZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uIEl0IG1vdmVzCgkgIHRoZSBwaXhlbHMgb2YgdGhlIGltYWdlIGluIHJhbmRvbSBkaXJlY3Rpb25zCgoyMDEwLTA2LTA1IDE5OjIwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTWFrZSBtYXAgcHJlY2FsY3VsYXRpb24gb3B0aW9uYWwKCSAgQWRkcyBhIHZhcmlhYmxlIHRvIGJlIHNldCB0byBhbGxvdyBzdWJjbGFzc2VzIHRvIGVuYWJsZQoJICBvciBkaXNhYmxlIHByZWNhbGN1bGF0aW9uIG9mIHRoZSBwaXhlbHMgbWFwcGluZwoKMjAxMC0wNi0wNiAxNTozMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEFkZCBzb21lIGJyYWNlcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5CgoyMDEwLTA2LTA2IDE1OjI5OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogSW1wcm92ZSB0aW1lc3RhbXAgaGFuZGxpbmcgYSBiaXQKCjIwMTAtMDYtMDYgMTU6MjQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nCgoyMDEwLTA2LTA2IDEzOjU3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBIYW5kbGUgdGltZXN0YW1wcyBhbmQgdGhlIHBvc2l0aW9uIHF1ZXJ5CgkgIFRoaXMgaXMgbm90IHZlcnkgYWNjdXJhdGUgYnV0IGJldHRlciB0aGFuIG5vdGhpbmcuIFRoZSBkZW11eGVyCgkgIGFmdGVyIHRoZSBzb3VyY2Uga25vd3MgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzLgoKMjAxMC0wNi0wNiAwODozMDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEFsbG9jYXRlIGFuZCBmcmVlIHRoZSBSVE1QIGluc3RhbmNlIGluIHN0YXJ0L3N0b3AKCjIwMTAtMDYtMDQgMjI6MzY6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEFkZCBwcm9wZXJ0aWVzIGZvciBzZXR0aW5nIHRoZSBzd2ZVcmwgYW5kIHBhZ2VVcmwgcHJvcGVydGllcwoJICBUaGVzZSBhcmUgcmVxdWlyZWQgZm9yIHNvbWUgc3RyZWFtcyB1bmZvcnR1bmF0ZWx5LgoKMjAxMC0wNi0wNCAyMjowNDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogTWFqb3IgY2xlYW51cCBhbmQgcmVvcmdhbml6YXRpb24KCjIwMTAtMDYtMDQgMDg6MTQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9SRUFETUU6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0bXAvYW1mLmM6CgkqIGdzdC9ydG1wL2FtZi5oOgoJKiBnc3QvcnRtcC9ieXRlcy5oOgoJKiBnc3QvcnRtcC9kaC5oOgoJKiBnc3QvcnRtcC9kaGdyb3Vwcy5oOgoJKiBnc3QvcnRtcC9oYW5kc2hha2UuaDoKCSogZ3N0L3J0bXAvaGFzaHN3Zi5jOgoJKiBnc3QvcnRtcC9odHRwLmg6CgkqIGdzdC9ydG1wL2xvZy5jOgoJKiBnc3QvcnRtcC9sb2cuaDoKCSogZ3N0L3J0bXAvcGFyc2V1cmwuYzoKCSogZ3N0L3J0bXAvcnRtcC5jOgoJKiBnc3QvcnRtcC9ydG1wLmg6CgkqIGdzdC9ydG1wL3J0bXBfc3lzLmg6CgkgIHJ0bXA6IE1vdmUgdG8gZXh0IGFuZCBkcm9wIGludGVybmFsIGxpYnJ0bXAgY29weQoJICBXZSByZWFsbHkgZG9uJ3Qgd2FudCB0aGlzIGluIGdzdC1wbHVnaW5zLWJhZCBiZWNhdXNlIG9mCgkgIGxlZ2FsIGNvbXBsZXhpdGllcyBhcm91bmQgUlRNUCBhbmQgcG9zc2libGUgcHJvYmxlbXMKCSAgZm9yIGRpc3RyaWJ1dGlvbnMuCgkgIEFkZCBSRUFETUUgdGhhdCBleHBsYWlucyBob3cgdG8gYnVpbGQgbGlicnRtcCB0byBiZSBzdWl0YWJsZQoJICBmb3IgbGlua2luZyB0byB0aGUgR1N0cmVhbWVyIHBsdWdpbi4KCjIwMTAtMDYtMDIgMDA6NDU6MDYgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydG1wL2FtZi5jOgoJKiBnc3QvcnRtcC9hbWYuaDoKCSogZ3N0L3J0bXAvYnl0ZXMuaDoKCSogZ3N0L3J0bXAvZGguaDoKCSogZ3N0L3J0bXAvZGhncm91cHMuaDoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL2hhbmRzaGFrZS5oOgoJKiBnc3QvcnRtcC9oYXNoc3dmLmM6CgkqIGdzdC9ydG1wL2h0dHAuaDoKCSogZ3N0L3J0bXAvbG9nLmM6CgkqIGdzdC9ydG1wL2xvZy5oOgoJKiBnc3QvcnRtcC9wYXJzZXVybC5jOgoJKiBnc3QvcnRtcC9ydG1wLmM6CgkqIGdzdC9ydG1wL3J0bXAuaDoKCSogZ3N0L3J0bXAvcnRtcF9zeXMuaDoKCSAgcnRtcDogQWRkIFJUTVAgc291cmNlIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NjA0CgoyMDEwLTA2LTA1IDExOjA0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogU2V0IG91dHB1dCBidWZmZXIgZGF0YSB0byAwCgkgIEluaXRpYWxpemUgb3V0cHV0IGJ1ZmZlciBkYXRhIHRvIDAgYmVmb3JlIGRvaW5nIHRoZQoJICB0cmFuc2Zvcm0uCgoyMDEwLTA2LTA1IDEwOjU4OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRGVzY3JpcHRpb25zIGFuZCBkZWZhdWx0IHZhbHVlcwoJICBJbXByb3ZlIHNvbWUgcHJvcGVydGllcyBhbmQgZWxlbWVudCBkZXNjcmlwdGlvbnMgYW5kIGNoYW5nZXMKCSAgc29tZSBkZWZhdWx0IHByb3BlcnRpZXMgdmFsdWVzLgoKMjAxMC0wNi0wNCAxNjoxNDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IFZlcmlmeSB0aGF0IHBpcGUgZXhpc3RzIGJlZm9yZSByZXNpemluZyBpdAoKMjAxMC0wNi0wNCAxNTo1NDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgY29weXJpZ2h0IG5vdGljZXMgdG8gc2htYWxsb2MuW2NoXSBhbmQgc2htcGlwZS5bY2hdCgoyMDEwLTA2LTA0IDE1OjUzOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZQoJICBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIGdlb21ldHJpY3RyYW5zZm9ybSBmaWxlcwoKMjAxMC0wNi0wMyAwMDoyNDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgd2F0ZXJyaXBwbGU6IEFkZHMgbmV3IHdhdGVycmlwcGxlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNvZm1yCgkgIEFkZHMgYW4gd2F0ZXIgcmlwcGxlIGRpc3RvcnRpb24gZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCjIwMTAtMDYtMDIgMjM6NTU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgc3BoZXJlOiBBZGRzIG5ldyAnc3BoZXJlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdG8gZG8gJ3NwaGVyZScgZWZmZWN0IGludG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIHBsdWdpbgoKMjAxMC0wNi0wMiAyMjowMTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGRzIHNvbWUgcHJvcGVydGllcyB0byBiYXNlIGNsYXNzCgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hhdCB0byBkbyB3aXRoIHBpeGVscyB0aGF0IGFyZSBtYXBwZWQgb3V0IG9mCgkgIGVkZ2VzOiBpZ25vcmUsIGNsYW1wIG9yIHdyYXAuCgoyMDEwLTA2LTAyIDE4OjU4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgY2lyY2xlOiBBZGRzIGNpcmNsZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCSAgQWRkcyB0aGUgbmV3ICdjaXJjbGUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wMiAwMToyMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGthbGVpZG9zY29wZTogQWRkcyBuZXcgZWxlbWVudCAna2FsZWlkb3Njb3BlJwoJICBBZGRzIG5ldyBrYWxlaWRvc2NvcGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTAyIDAwOjQ4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnc3R0d2lybDogQWRkcyBuZXcgZWxlbWVudCB0d2lybAoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbjogdHdpcmwKCjIwMTAtMDYtMDIgMDA6MzQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyBhIGludGVybWVkaWFyeSBiYXNlY2xhc3MgY2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYW4gaW50ZXJtZWRpYXJ5IGJhc2VjbGFzcyBuYW1lZCBnc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgdG8ga2VlcCBjb21tb24gcHJvcGVydGllcyBjb2RlIGZvciBmaWx0ZXJzIHRoYXQgb3BlcmF0ZSBvbgoJICBhIGNpcmN1bGFyIGFyZWEuCgoyMDEwLTA1LTMwIDEyOjUwOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJICBwaW5jaDogU29tZSBvcHRpbWl6YXRpb24gdXNpbmcgdGhlIHByZXBhcmUgZnVuYwoJICBTbWFsbCBvcHRpbWl6YXRpb24gYnkgcHJlY2FsY3VsYXRpbmcgdGhlIGNlbnRlciBvZiB0aGUgZWZmZWN0LAoJICBhbHNvIHVzZSBuZXdseSBhZGRlZCBfQ0FTVCBtYWNyby4KCjIwMTAtMDUtMzAgMTI6MzY6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIHByZXBhcmUgZnVuY3Rpb24gYW5kIGNsZWFudXAKCSAgQWRkcyBhIHByZXBhcmUgZnVuY3Rpb24gdG8gbWFrZSBzdWJjbGFzc2VzIHByZWNhbGN1bGF0ZSB2YWx1ZXMKCSAgdGhhdCB3aWxsIGJlIHVzZWQgdGhyb3VnaG91dCB0aGUgbWFwcGluZyBmdW5jdGlvbnMuCgkgIEFsc28gYWRkcyBhIG1pc3NpbmcgY2xlYW51cCB0byBmaXggYSBtZW1sZWFrCgoyMDEwLTA1LTI2IDIxOjM5OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUHJlY2FsY3VsYXRlIG1hcHBpbmcgYXJyYXkKCSAgUHJlY2FsY3VsYXRlIHdoZW4gc2V0dGluZyBjYXBzIHRoZSB3YXJwaW5nIG1hcCB0byBhdm9pZAoJICByZWNhbGN1bGF0aW5nIGl0IGV2ZXJ5IGJ1ZmZlcgoKMjAxMC0wNS0yNiAxODoyOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFjY2VwdCBhbnkgcmdiIG9yIGdyYXkKCSAgVXNpbmcgZ3N0dmlkZW8gZnVuY3Rpb25zIGdlb21ldHJpY3RyYW5zZm9ybSBjYW4gaGFuZGxlCgkgIHJnYiBvciBncmF5LCBwdXQgdGhhdCBvbiB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA1LTI2IDE4OjIyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGNsYXJpdHkKCSAgUmVuYW1lcyBzb21lIHZhcmlhYmxlcyBhbmQgYWRkcyBhIG1pbmltdW0gZG9jIHRvIHRoZQoJICBtYXBwaW5nIGZ1bmN0aW9uIGZvciBhIGxpdHRsZSBjbGFyaXR5LgoJICBBbHNvIHVzZXMgZ3N0dmlkZW8gZnVuY3Rpb25zIGZvciB0aGUgcm93IGFuZCBwaXhlbCBzdHJpZGVzCgkgIGluc3RlYWQgb2YgaGFyZGNvZGVkIHZhbHVlcwoKMjAxMC0wNS0yNCAyMzo1NzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE5ldyBwbHVnaW4gZm9yIGdlb21ldHJpYyB0cmFuc2Zvcm1zCgkgIEFkZHMgYSBuZXcgcGx1Z2luIHRoYXQgaGFzIGVsZW1lbnRzIHRoYXQgcGVyZm9ybSBnZW9tZXRyaWMKCSAgdHJhbnNmb3JtYXRpb25zIHRvIGltYWdlcy4gQnkgZ2VvbWV0cmljIHRyYW5zZm9ybWF0aW9ucyBJIG1lYW4KCSAgdGhhdCB0aGUgb3BlcmF0aW9ucyBhcmUgZnVuY3Rpb25zIHRoYXQgZ2l2ZW4gdGhlIG91dHB1dCBwaXhlbAoJICBwb3NpdGlvbiwgZ2V0IHRoZSBwaXhlbCBwb3NpdGlvbiBpbiB0aGUgaW5wdXQgaW1hZ2UuIFRoaXMgcGl4ZWwKCSAgaXMgdGhlbiBjb3BpZWQgZnJvbSBpbnB1dCB0byBvdXRwdXQuCgkgIFRoZSBnc3RnZW9tZXRyaWN0cmFuc2Zvcm0gYmFzZWNsYXNzIG1ha2VzIGl0IGVhc3kgdG8gd3JpdGUKCSAgc3VjaCBlbGVtZW50cy4gSXQgYm9pbHMgZG93biB0byB3cml0ZSB0aGUgbWFwcGluZyBmdW5jdGlvbgoJICBhbmQgZXhwb3NpbmcgcHJvcGVydGllcwoJICBBbHJlYWR5IGFkZGVkIHRoZSBmaXJzdCBvZiB0aGUgZWxlbWVudHMsICdwaW5jaCcuIEl0J3MgYSBjb21tb24KCSAgZWZmZWN0IGluIGltYWdlIGVkaXRvcnMsIGxpa2UgZ2ltcCAoZGlzdG9ydCAtPiBwaW5jaCkKCjIwMTAtMDYtMDMgMjM6MTk6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkgIHRvb2xzOiBmbGVzaCBvdXQgZWxlbWVudC1tYWtlciB0ZW1wbGF0ZXMKCjIwMTAtMDYtMDMgMTg6MTQ6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IGhhbmRsZSBvdGhlciBiYXllciBmb3JtYXRzCgoyMDEwLTA2LTAzIDE4OjE0OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICByZ2IyYmF5ZXI6IGhhbmRsZSBtdWx0aXBsZSBiYXllciBmb3JtYXRzCgoyMDEwLTA2LTAzIDE1OjUzOjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICBiYXllcjogQWRkIHJnYjJiYXllciBlbGVtZW50CgkgIE1vc3RseSBmb3IgdGVzdGluZy9jb21wbGV0ZW5lc3MuCgoyMDEwLTA2LTAzIDIwOjUxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IGZpeCBkZWJ1ZyBtZXNzYWdlcwoJICBNaXNjLiBwcmludGYgZm9ybWF0IGZpeGVzIGFuZCBtaXNzaW5nIGFyZ3VtZW50cy4KCjIwMTAtMDYtMDMgMTU6Mjc6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBNYWtlIHN0YXRpYyBmdW5jdGlvbiBzdGF0aWMKCjIwMTAtMDYtMDMgMTU6MjY6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDYtMDMgMTQ6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmg6CgkqIHN5cy9zaG0vc2htYWxsb2MuYzoKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogTW92ZSB0byBzeXMvIHNpbmNlIGl0IGRvZXNuJ3QgZXhpc3Qgb24gd2luZG93cwoKMjAxMC0wNi0wMyAxNDo0MTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBGaXggaW5kZW50YXRpb24KCjIwMTAtMDYtMDMgMTQ6MjI6MzYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IFByaW50IGVycm9ycyBpZiBmY2htb2QgZmFpbHMKCjIwMTAtMDQtMDcgMTk6MDU6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBGaXggY3Jhc2ggd2hlbiBzcF9jbG9zZV9zaG0gaXMgY2FsbGVkIHdpdGggc2VsZiA9PSBOVUxMLgoJICBJZiBzcF9vcGVuX3NobSBlcnJvcnMgb3V0IHRyeWluZyB0byBvcGVuIGEgc2htIGFyZWEsIGl0IHdvdWxkIGNyYXNoCgkgIHdoZW4gdHJ5aW5nIHRvIGZyZWUgdGhlIGFyZWEuIFRoZSBSRVRVUk5fRVJST1IgbWFjcm8gY2FsbHMKCSAgc3Bfc2htX2FyZWFfZGVjIHdpdGggc2VsZiA9PSBOVUxMLiBzcF9zaG1fYXJlYV9kZWMgY2FsbHMKCSAgc3Bfc2htX2Nsb3NlLCB3aXRoIHNlbGYgPT0gTlVMTCwgd2hpY2ggaXQgdGhlbiB0cmllcyB0byBhY2Nlc3MgYQoJICBwYXJhbWV0ZXIgb2Ygd2l0aG91dCBjaGVja2luZy4gVGhpcyBwYXRjaCBjaGVja3MgdG8gbWFrZSBzdXJlCgkgIHNlbGYgIT0gTlVMTCBiZWZvcmUgYWNjZXNzaW5nIHRoYXQgcGFyYW1ldGVyLgoKMjAxMC0wNC0wNyAxOTowNToxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFVwZGF0ZSBjb2RlIHN0YW5kYXJkCgoyMDEwLTAyLTAzIDEzOjUwOjEzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEFkZCBzb2NrZXQgcGF0aCB0byBlcnJvciBtZXNzYWdlCgoyMDEwLTAyLTAyIDE3OjQwOjA5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogUmVtb3ZlIHdyb25nIHRlc3QgaW52ZXJzaW9uCgoyMDEwLTAyLTAyIDE3OjM1OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogVmVyaWZ5IHRoYXQgYWNjZXB0IHN1Y2NlZWRzCgoyMDEwLTAyLTAyIDE3OjM1OjE1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRml4IG9uZSBieXRlIG92ZXJmbG93CgoyMDEwLTAyLTAyIDExOjExOjA2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBJbXByb3ZlIGRlYnVnIHByaW50cwoKMjAxMC0wMS0yNiAxMjozNDozNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEdldCBwb3RlbnRpYWxseSBtb2RpZmllZCBhZnRlciBvcGVuaW5nIHNobXBpcGUKCjIwMTAtMDEtMjYgMTI6MzI6NTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htOiBUcnkgYWx0ZXJuYXRlIHBhdGhzIGZvciB0aGUgc29ja2V0CgoyMDEwLTAxLTI5IDExOjA2OjQ0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRG9uJ3QgcHJldGVuZCB0aGUgcGF0aCBpcyByYW5kb20KCjIwMTAtMDEtMjkgMTA6NTc6MjcgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBDcmVhdGUgc2htIGFyZWEgZXhjbHVzaXZlbHkKCjIwMTAtMDEtMjggMTU6MzQ6NDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG1hbGxvYzogTWFrZSBpdCBidWlsZCBpbiBub24tZ2xpYiB3b3JsZAoKMjAxMC0wMS0yOCAxMjoxOTowNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htc3JjOiBNYWtlIHRoZSBzaG1waXBlIGxpZmUgaW5kZXBlbmRhbnQgb2YgdGhlIGVsZW1lbnQgc3RhdGVzCgoyMDEwLTAxLTI4IDExOjU3OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogU2ltcGxpZnkgaGFuZGxpbmcgb2YgcmFuZG9tIHBhdGhzCgoyMDEwLTAxLTI4IDExOjM2OjAxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1waXBlOiBSZW1vdmUgdXNlbGVzcyBhdHRyaWIKCjIwMTAtMDEtMjggMTE6MzE6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBSZWYgY2xpZW50IHNobWFyZWEgd2hlbiBhIGJ1ZmZlciBpcyByZWNlaXZlZCBpbiBpdAoKMjAxMC0wMS0yOCAxMTozMDoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IERvbid0IGRlYyBvbGQgc2htIGFyZWEgd2hlbiBuZXcgb25lIGlzIGFkZGVkCgkgIEl0cyByZWYgd2lsbCBiZSBkcm9wcGVkIHdoZW4gdGhlICJjbG9zZSIgbWVzc2FnZSBhcnJpdmVzCgoyMDEwLTAxLTI3IDExOjQ5OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IExvY2sgdXNlcyBvZiBzaG1waXBlCgoyMDEwLTAxLTI2IDE0OjIwOjM1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEFkZCBpcy1saXZlIHByb3BlcnR5CgoyMDA5LTExLTAzIDIwOjAzOjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htOiBQcmludCBkZXRhaWxzIG9uIGVycm9ycwoKMjAwOS0xMS0wMyAxODozMzozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2UgdmFsZ3JpbmQgaGFwcHkKCjIwMDktMTEtMDMgMTY6MzE6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBEb24ndCBibG9jayBvbiBFT1MgaW4gbm9uLWJsb2NraW5nIG1vZGUKCjIwMDktMTEtMDMgMTY6MDk6MzUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IEJsb2NrIGlmIHJlcXVpcmVkCgoyMDA5LTEwLTMwIDE4OjI0OjU4ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobS5oOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IFBvcnQgdG8gU2htUGlwZQoKMjAwOS0xMC0zMCAxMjozNzo1MCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zcmMuYzoKCSogZ3N0L3NobS9nc3RzaG1zcmMuaDoKCSAgc2htc3JjOiBQb3J0IHRvIFNobVBpcGUKCjIwMDktMTAtMjkgMTk6MTg6MjUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vTWFrZWZpbGUuYW06CgkqIGdzdC9zaG0vc2htYWxsb2MuYzoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIHNobXBpcGUgaW1wbGVtZW50YXRpb24KCjIwMDktMDQtMjkgMTY6MzM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9nc3RzaG0uYzoKCSogZ3N0L3NobS9nc3RzaG0uaDoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG06IEFkZCBzaG0gYmFzZWQgc2luayBhbmQgc3JjCgkgIFRoZXNlIHR3byBlbGVtZW50cyAoc2htc2luayBhbmQgc2htc3JjKSBjb21tdW5pY2F0ZSBidWZmZXJzIHVzaW5nIFBPU0lYCgkgIHNoYXJlZCBtZW1vcnkuIFRoZXkgYWxzbyBjb21tdW5pY2F0ZSB0aGUgY2Fwcy4gVGhlIHNvdXJjZSBjdXJyZW50bHkgYWN0cyBhcwoJICBhIGxpdmUgc291cmNlIGFuZCBpZ25vcmVzIHRoZSB0aW1lc3RhbXBzIGNvbWluZyBmcm9tIHRoZSBzaW5rLiBJdCBhbHNvIGRvZXMKCSAgbm90IHRyYW5zZmVyIHRoZSB0YWdzLgoKMjAxMC0wNi0wMyAxNTo1MToxOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTb21lIGNoZWNrcyB0byBhdm9pZCBhc3NlcnRzCgkgIGdzdF9tcGVnX2Rlc2NyaXB0b3JfZmluZCgpIGV4cGVjdHMgdGhlIGRlc2NyaXB0aW9uIGZpZWxkIHRvIGJlIG5vbi1OVUxMLgoJICBUaGlzIGZpeGVzIGEgY291cGxlIG9mIGNhbGxzIHdoZXJlIHRoZSB2YWx1ZSBiZWluZyBwYXNzZWQgaXMgbm90CgkgIHZlcmlmaWVkIHRvIGJlIG5vbi1OVUxMIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwNDU2CgoyMDEwLTA2LTAzIDEwOjQ5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBpbiBsb2cgbWVzc2FnZQoJICBnc3R2cDhlbmMuYzo1NjQ6IGVycm9yOiBmb3JtYXQg4oCYJWTigJkgZXhwZWN0cyB0eXBlIOKAmGludOKAmSwgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUg4oCYc2l6ZV904oCZCgkgIGdzdHZwOGVuYy5jOjc0NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCjIwMTAtMDYtMDMgMTA6NDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cG11eDogZml4IG1pc3NpbmcgZGVidWcgbG9nIG1lc3NhZ2UgYXJndW1lbnQKCjIwMTAtMDYtMDIgMjI6MDc6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBhZGQgYW4gYXNzZXJ0IHRvIHBsYWNhdGUgZ2NjLTQuNQoKMjAxMC0wNi0wMiAxOTo0Njo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvcGFyc2U6IGZpeCB3YXJuaW5nCgoyMDEwLTA2LTAyIDE5OjM4OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW9wYXJzZTogcmVtb3ZlIGJvZ3VzIGFwaQoKMjAxMC0wNi0wMiAxNzo1NDo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogcmVtb3ZlIGdzdF9iYXNlX3ZpZGVvX3N0YXRlX2Zyb21fY2FwcwoKMjAxMC0wNi0wMiAxNzo0MDoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiByZW1vdmUgY29tcGF0aWJpbGl0eSBjb2RlCgoyMDEwLTA2LTAyIDE2OjA2OjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBPcmMgaXMgbm90IHJlcXVpcmVkCgoyMDEwLTA2LTAyIDE2OjAxOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogdXNlIGRlYnVnIGNhdGVnb3J5IGZvciBlYWNoIGNsYXNzCgoyMDA5LTEwLTA1IDE1OjQ3OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBGYWlsIGlmIGNhcHMgZG9uJ3QgY29udGFpbiBhIGZyYW1lcmF0ZSBmaWVsZAoJICBSZXR1cm4gZmFsc2UgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGZ1bmN0aW9uIGlmIHRoZXJlIGlzIG5vIGZyYW1lcmF0ZQoJICBmaWVsZCBpbiB0aGUgcHJvdmlkZWQgY2FwcwoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAyIDEzOjMxOjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGNyZWF0ZSBuZXcgc2VnbWVudHMgaWYgbWlzc2luZwoKMjAwOS0wOS0xNyAxMDo1MDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBhIHdhcm5pbmcKCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbywgdnA4OiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCSAgTWVyZ2luZyBwcmV2aW91cyBjb21taXQgaW50byBjdXJyZW50IGNvZGViYXNlLgoKMjAxMC0wNi0wMiAxOTo1MjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IENsZWFyIGFkYXB0ZXIgd2hlbiBmbHVzaGluZwoKMjAxMC0wNi0wMiAxOTo0NToyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFN0b3AgZGVjb2RpbmcgaWYgY2FuJ3QgcHVzaAoKMjAxMC0wNi0wMiAxOTo0NDozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IEZsdXNoIGFkYXB0ZXIgcmlnaHQgYXRlciB1c2luZyBpdAoKMjAwOS0xMS0xOCAxMToxNDoyOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IE5vIG5lZWQgdG8gZG8gYSB0cnkgYWxsb2NhdGlvbgoKMjAwOS0xMS0xOCAxMTowODoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IERvY3VtZW50IHBhdXNlZC1tb2RlIHByb3BlcnR5CgoyMDA5LTEwLTEyIDIwOjE5OjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFVzZSBsb2cgbG9nbGV2ZWwgZm9yIG1lc3NhZ2VzIHRoYXQgYXJlIHNob3duIG9uIGV2ZXJ5IGZyYW1lCgoyMDA5LTEwLTEyIDIwOjA5OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBSZW1vdmUgb2JqZWN0IGxvY2sgdXNhZ2UsIHN0cmVhbSBsb2NrIGlzIGVub3VnaAoKMjAwOS0xMC0xMiAyMDowODoxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IE91dHB1dCBmcmFtZXJhdGUgaXMgdW5rbm93bgoKMjAwOS0xMC0xMiAyMDowNjoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogUmVtb3ZlIGxvY2FsIHN0YXRlIHZhcmlhYmxlIGZyb20gaW5zdGFuY2UKCjIwMDktMTAtMTIgMTk6NTc6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZQoKMjAwOS0xMC0xMiAxOTo1Njo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IE1ha2UgY2FwcyBhIGxvdCBzdHJpY3RlcgoKMjAwOS0xMC0xMiAxOTo1MjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFNldCBkZWx0YV91bml0IGZsYWcgb24gaW50cmEgZnJhbWVzCgoyMDA5LTEwLTEyIDE5OjUwOjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEluaXRpYWxpemUgZW5jb2Rlci9kZWNvZGVycyBpbiBzdGF0ZSBjaGFuZ2UgYW5kIHNldGNhcHMgd2hlcmUgcG9zc2libGUKCjIwMDktMTAtMTIgMTk6MzY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogRml4IGVsZW1lbnQgZGV0YWlscwoKMjAwOS0xMC0xMiAxOTozMTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogSG9sZCBlbGVtZW50IGxvY2sgd2hpbGUgYWNjZXNzaW5nIHRoZSBjbG9jawoKMjAwOS0xMC0xMiAxOToyOToxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogUmVmYWN0b3IgdGNwIGhlYWRlciBjcmVhdGlvbiB0byBub3QgbWFrZSBhIHNlcGFyYXRlIGJ1ZmZlcgoKMjAwOS0xMC0xMiAxOToxODoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogRnVuY3Rpb24gY2FuJ3QgZmFpbAoKMjAwOS0xMC0xMiAxOToxNzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBSZW1vdmUgQysrIHN0eWxlIGNvbW1lbnRzCgoyMDA5LTEwLTEyIDE5OjE2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFVzZSBHU1RfRUxFTUVOVF9FUlJPUiB3aGVuIHJldHVybmluZyBhIGZsb3cgZXJyb3IKCjIwMDktMTAtMTIgMTg6NTQ6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1pYzogRml4IEdTVF9NSU1fKl9DTEFTUyBtYWNyb3MKCjIwMDktMTAtMTIgMTg6NDc6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFdhcm4gaWYgcGF1c2VkLW1vZGUgaXMgdG9nZ2xlZCB3aGlsZSBwbGF5aW5nCgoyMDA5LTEwLTEyIDE4OjM5OjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSBhcHByb3ByaWF0ZQoKMjAwOS0xMC0xMiAxODozNjo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgbWltaWM6IFJlbmFtZSBmdW5jdGlvbnMvbWFjcm9zIHRvIG1hdGNoIGNsYXNzIG5hbWVzCgoyMDEwLTA1LTEwIDE4OjM3OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQWRkIHNvbWUgZGVidWcgbWVzc2FnZXMKCjIwMTAtMDUtMDcgMTg6NTY6NTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogUmVtb3ZlIHN0cmVhbS1sb2NrIGV2ZW50IGhhbmRsaW5nCgoyMDEwLTA1LTA3IDE4OjU0OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvYyBmb3Igc2ltcGxpZmljYXRpb24KCjIwMTAtMDUtMDcgMTg6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBSZW1vdmUgcnRwZHRtZm11eCBzdHJlYW0tbG9jayBjb2RlCgoyMDEwLTA1LTA3IDE4OjQwOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IENoYW5nZSB0ZXN0cyB0byBub3QgdXNlIHRoZSBwcmlvcml0eSBwYWRzIGluc3RlYWQgb2YgdGhlIGV2ZW50cwoKMjAxMC0wNS0wNiAxOTo1MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJICBydHBkdG1mbXV4OiBEcm9wIGJ1ZmZlcnMgb24gbm9uLXByaW9yaXR5IHNpbmtzIHdoZW4gc29tZXRoaW5nIGlzIGluY29taW5nIG9uIHRoZSBwcmlvcml0eSBzaW5rCgoyMDEwLTA1LTA2IDE4OjExOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIHByaW9yaXR5IHNpbmsgcGFkcwoKMjAxMC0wNS0wNyAxNzoxNTo0NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IENsZWFudXAgZXZlbnQgZnVuY3Rpb24KCjIwMTAtMDUtMDcgMTY6NDI6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IEFnZ3JlZ2F0ZSBpbmNvbWluZyBzZWdtZW50cwoKMjAxMC0wNS0wNiAxOTowOTo0OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA1LTA2IDE4OjEwOjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IFNpbXBsaWZ5IHJlcXVlc3QgcGFkIGNyZWF0aW9uCgoyMDEwLTA2LTAyIDEyOjE2OjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvOiBtYWtlIHByaW50ZiBmb3JtYXRzIHBvcnRhYmxlCgoyMDEwLTA2LTAyIDExOjQxOjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIE9yYyByZXF1aXJlbWVudCB0byAwLjQuNC4xCgoyMDEwLTA2LTAyIDExOjMxOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1lcmdlIGJyYW5jaCAnaGFja2luZycKCjIwMTAtMDUtMjIgMTg6MTQ6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgdmVyaWZ5LWZpZWxkLWZsYWdzIHByb3BlcnR5CgkgIFdoZW4gZW5hYmxlZCwgY2hlY2sgdGhhdCB0aGUgdmlkZW8gbWF0Y2hlcyB0aGUgZmllbGQgZmxhZ3Mgb24gdGhlCgkgIGluY29taW5nIGJ1ZmZlcnMuCgoyMDEwLTA1LTIyIDExOjM2OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogcmVtb3ZlIG9sZCBjb2RlCgoyMDEwLTA1LTIyIDExOjMwOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIDQ6MjoyIGZvcm1hdHMKCjIwMTAtMDUtMjIgMDA6NDQ6NDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBDaGFuZ2UgZm9ybWF0IHRhYmxlCgkgIEFkZCBmb3JtYXQgbmFtZSwgcGhhc2UgdGFibGUuCgoyMDEwLTAzLTA5IDEyOjMyOjQyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIG11bHRpcGxlIHB1bGxkb3duIGZvcm1hdHMKCjIwMTAtMDUtMjEgMjM6Mzk6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGhhbmRsZSBkaWZmZXJlbnQgZnJhbWUgc2l6ZXMKCjIwMTAtMDUtMjQgMTI6NTU6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogKGluIHZwOCkgTWFyayBkaXNjb250IGJ1ZmZlcnMKCjIwMTAtMDYtMDIgMDU6NTE6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBGaXggZm9ybWF0IHN0cmluZyB3YXJuaW5nCgkgIEZpeGVzICM2MjAzMjQKCjIwMTAtMDYtMDEgMjM6NTA6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGNvZzogcmVtb3ZlIG9sZCB0ZXN0cwoKMjAxMC0wNi0wMSAyMzozNDowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBvcmMgdGVzdHMgdG8gY2hlY2sgTWFrZWZpbGUKCjIwMTAtMDYtMDEgMTY6NTU6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogdXNlIGNvbW1vbi9vcmMubWFrCgoyMDEwLTA1LTE2IDEwOjI0OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm86IEZpeCBzZWdmYXVsdCBvbiBFT1MKCjIwMTAtMDUtMTQgMDE6MjE6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hybzogZml4IGZvciBiYXNlIHZpZGVvIHVwZGF0ZXMKCjIwMTAtMDUtMTYgMTA6MTU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogRml4ZXMgZm9yIGJhc2UgdmlkZW8gZW5jb2RlciBjaGFuZ2VzCgoyMDEwLTA2LTAxIDE1OjU0OjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIGJhc2UgdmlkZW8gZnJvbSB2cDggdG8gZ3N0LWxpYnMKCjIwMTAtMDYtMDEgMjM6NDk6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxN2Y4OWU1IHRvIDQ3NjgzYzEKCjIwMTAtMDYtMDEgMjI6NTU6MTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZDdjYTA0IHRvIDE3Zjg5ZTUKCjIwMTAtMDUtMjYgMDY6NTI6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IFVzZSBWUFhfUExBTkVfKiBpbnN0ZWFkIG9mIFBMQU5FXyoKCjIwMTAtMDUtMjQgMTE6MDQ6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IEFkZCBjb21wYXRpbGliaXR5IGRlZmluZXMgdG8gd29yayB3aXRoIG9sZGVyIHZlcnNpb25zIG9mIGxpYnZweCB0b28KCjIwMTAtMDUtMjMgMDk6Mjg6MTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhkZWM6IHMvSU1HX0ZNVF9JNDIwL1ZQWF9JTUdfRk1UX0k0MjAvCgkgIFRoaXMgY29ycmVzcG9uZHMgdG8gdXBzdHJlYW0gbGlidnB4IGNvbW1pdCA2Y2Q0YTEwZTE2NzIwM2QxZGViNzlhYmY2MGVlNzI1OTllOTc4OTFiCgoyMDEwLTA1LTIyIDEyOjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxsb3cgYSBtYXhpbXVtIGtleWZyYW1lIGRpc3RhbmNlIG9mIDAsIGkuZS4gYWxsIGZyYW1lcyBhcmUga2V5ZnJhbWVzCgoyMDEwLTA1LTIyIDA5OjA4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogU2VuZCBhbiBpbml0aWFsIE5FV1NFR01FTlQgZXZlbnQKCjIwMTAtMDUtMjIgMDk6MDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMC0wNS0yMiAwODo1NjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBBZGQgc2ltcGxlIElWRiBwYXJzZXIKCSAgVGhpcyBvbmx5IHN1cHBvcnRzIFZQOCBzbyBmYXIuCgkgIEZpeGVzIGJ1ZyAjNjE5MTU4LgoKMjAxMC0wNS0yMiAwODo0NTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFNldCBkZWNvZGVyIGRlYWRsaW5lIGZyb20gdGhlIFFvUyBpbmZvcm1hdGlvbgoKMjAxMC0wNi0wMSAxMDoxODowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE5ID09PQoKMjAxMC0wNS0zMSAwMjoxMDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTkKCjIwMTAtMDUtMzEgMDI6MTA6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDUtMzEgMDE6NTI6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgc29tZSBkaXN0Y2xlYW4gcnVsZXMgdG8gZml4IGRpc3RjaGVjawoJICBTdG9sZW4gZnJvbSBndGstZG9jLm00IGFuZCBub3QgZm91bmQgaW4gZ3RrLWRvYy1wbHVnaW4ubTQuIFdlIG5lZWQKCSAgdGhlbSBiZWNhdXNlIHdlIGRvIGhhdmUgbGlicy9pbnRlcmZhY2VzIHN0dWZmIGFzIHdlbGwgbm93IChuYW1lbHkKCSAgR3N0UGhvdG9ncmFwaHkpLgoKMjAxMC0wNS0zMSAwMDozMzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBidWlsZCBvZiBndGstZG9jIHNjYW5uZXIKCjIwMTAtMDUtMjggMTY6MzU6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBNb3ZlIGRlYnVnIG91dHB1dCBvbmUgbGluZSBhYm92ZSB3aGVyZSB0aGUgcGFja2V0IGlzIHN0aWxsIHZhbGlkCgoyMDEwLTA1LTI4IDE1OjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IGlnbm9yZSBub24tZnJhbWUgcGFja2V0cyBmcm9tIHRoZSBlbmNvZGVyCgkgIEZpeGVzIGJ1ZyAjNjE5OTE2LgoKMjAxMC0wNS0yMSAxNDowMTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoYW5nZSBwcm9maWxlIGFuZCBsZXZlbCBzdHJpbmdzIHRvIHNvbWV0aGluZyBuaWNlci1sb29raW5nCgkgIFRoaXMgaXMgbW9yZSBpbiBsaW5lIHdpdGggd2hhdCB3ZSBkbyBlbHNld2hlcmUsIGV2ZW4gaWYgaXQgZG9lc24ndAoJICByZXNlbWJsZSB0aGUgb2ZmaWNhbCBhYmJyZXZpYXRpb25zIGV4YWN0bHkuCgkgIFNlZSAjNjE2MDc4LgoKMjAxMC0wNS0yNSAxNjozNzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBsdWcgYSBmZXcgbWVtb3J5IGxlYWtzCgkgIEZpeGVzICM2MTk2MTcuCgoyMDEwLTA1LTI2IDE0OjExOjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMjYgMTQ6MDM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvY2FtZXJhYmluLnBuZzoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBkaXN0L2Rpc3RjaGVjayBpc3N1ZXMgd2l0aCBjYW1lcmFiaW4gZmlndXJlcwoJICBNb3ZlIGZpZ3VyZXMgaW50byBkb2NzL3BsdWdpbnMgYXMgd2VsbCwgdG8gYXZvaWQgaXNzdWVzIHdpdGgKCSAgbWFrZSBkaXN0IGFuZCBtYWtlIGRpc3RjaGVjayAobWFrZSBkaXN0ZGlyIHdpbGwgbm90IGZpcnN0IGRlc2NlbmQKCSAgaW50byBjaGlsZCBkaXJlY3RvcmllcykuIE91dC1vZi1zb3VyY2UgYnVpbGQgc2VlbXMgdG8gc3RpbGwgd29yawoJICBhcyB3ZWxsLgoKMjAxMC0wNS0yNiAxMjozNjoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTAtMDUtMjYgMTE6NTU6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTdiMGRiIHRvIGZkN2NhMDQKCjIwMTAtMDUtMDcgMTY6NDI6MTIgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgIG1wbGV4OiBhZGQgTVBMRVhfTERGTEFHUyB2YXJpYWJsZQoJICBTbyBtaW5ndzMyIHVzZXJzIGNhbiBoYWNrIGFyb3VuZCBhIGNvbXBpbGVyL2xpbmtlciBidWcuCgkgIEZpeGVzICM2MTcxNDUKCjIwMTAtMDUtMjUgMDA6Mjc6MTcgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggY3Jhc2ggaWYgZG93bnN0cmVhbSBpcyB1bmxpa2VkCgkgIG1wZWdfcGFja2V0aXplcl9nZXRfYmxvY2soKSBpbiBzb21lIGNpcmN1bXN0YW5jZXMgKGhlcmU6IGlmCgkgIGRvd25zdHJlYW0gd2FzIHVubGlua2VkKSByZXR1cm5zIGEgYmxvY2sgYnV0IGRvZXMgbm90IHNldCB0aGUKCSAgYnVmZmVyIGNhdXNpbmcgbXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwoKSB0byBjYXVzZSBpbnZhbGlkIG1lbW9yeQoJICBhY2Nlc3MuCgkgIEZpeGVzICM2MTk1MDIuCgoyMDEwLTA1LTI0IDE3OjQxOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgUmVtb3ZpbmcgcmVtYWluaW5nIGdzdGFwcCoKCSAgVGhlcmUgYXJlIHNvbWUgcmVtYWluaW5nIGdzdGFwcCogbGl2aW5nIHVubGlua2VkIGZyb20gdGhlIGJ1aWxkIHNjcmlwdHMuCgkgIFJlbW92ZSB0aGVtLgoKMjAxMC0wNS0yNCAxOToyMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBGaXggdGVzdCBidWlsZAoJICBBZGRzIG1pc3NpbmcgLWJhZCBjZmxhZ3MgdG8gY2FtZXJhYmluIHRlc3RzLgoKMjAxMC0wNS0yMyAxOToxNzo0MSArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgkgIERvbid0IGxlYWsgbGFuZ3VhZ2UgY29kZS4KCSAgRml4ZXMgIzYxOTQ0NC4KCjIwMTAtMDUtMjEgMjA6NDg6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IHJlc2FtcGxlIFlVVi0+WVVWIGNvbnZlcnNpb25zCgkgIEZpeGVzIGEgc2VnZmF1bHQgKGJ1ZyAjNjE4MDQ0KS4KCjIwMTAtMDQtMDggMTY6MDU6MTEgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIHZjZHNyYzogY2hhbmdlIFZDRCBVUkkgaGFuZGxlciB0byB0aGUgRFZEIHNjaGVtZQoJICBUaGUgY3VycmVudCBVUkkgcGFyc2luZyBjb2RlIGRvZXNuJ3QgYWxsb3cgc2V0dGluZyB0aGUgImRldmljZSIKCSAgZnJvbSB3aGljaCB0aGUgVkNEIHNob3VsZCBiZSByZWFkLgoJICBVc2UgdGhlIHNhbWUgc3RydWN0dXJlIGFzIHRoZSBEVkQgVVJJIGhhbmRsaW5nIGluc3RlYWQsIHNvIHRoYXQKCSAgZGV2aWNlcyBjYW4gYmUgcGFzc2VkIGluIHRoZSBVUkksIGFzIHdlbGwgYXMgdHJhY2sgbnVtYmVyLgoJICBVcCB0aGUgcmFuayBvZiB0aGUgVkNEIHBsdWdpbiBzbyB0aGF0IGl0IGNhbiBiZSBhdXRvLXBsdWdnZWQgYW5kCgkgIHVzZWQgYnkgVG90ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDA5ODYKCjIwMTAtMDUtMjIgMDc6NDQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBUYWtlIHRoZSBmcmFtZSBkdXJhdGlvbiBpbnRvIGFjY291bnQgd2hlbiBjYWxjdWxhdGluZyB0aGUgZWFybGllc3QgdGltZQoJICBUaGlzIGZvcm11bGEgaXMgdXNlZCBpbiBtYW55IG90aGVyIGVsZW1lbnRzIHRvby4KCSAgRml4ZXMgYnVnICM2MTkzMTguCgoyMDEwLTA1LTIyIDA3OjM1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgUW9TIHZhbHVlcyB3aGVuIG5lY2Vzc2FyeQoKMjAxMC0wNS0yMiAwOTozNToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVzZSBHU1RfVklERU9fQ0FQU19ZVVYoSTQyMCkgaW5zdGVhZCBvZiBoYW5kd3JpdHRlbiBJNDIwIGNhcHMgZm9yIHRoZSBwYWQgdGVtcGxhdGUKCSAgRml4ZXMgYnVnICM2MTkzNDQuCgoyMDEwLTA1LTIxIDIwOjUzOjM2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogZHJvcCBsYXRlIGZyYW1lcyBhZnRlciBkZWNvZGluZyB0aGVtCgkgIFRoaXMgc2F2ZXMgYSBtZW1jcHksIHdoaWNoIGlzIGFsd2F5cyBzb21ldGhpbmcuCgoyMDEwLTA1LTIxIDIxOjI4OjI5ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB0aHJlYWRzIHByb3BlcnR5CgkgIEluY3JlYXNpbmcgZnJvbSAxIHRvIDIgdGhyZWFkcyBvbiBhbiBUaGlua3BhZCBYNjBzIGRlY3JlYXNlZCBlbmNvZGUgdGltZQoJICBpbiBhIHRlc3QgZnJvbSB+MjQgcyB0byB+MTkgcywgc28gdGhpcyBpcyBxdWl0ZSB1c2VmdWwuCgkgIElkZWFsbHkgd2Ugc2hvdWxkIGxldCAwIGJlIHRoZSBkZWZhdWx0IGFuZCBhdXRvbWF0aWNhbGx5IG1hdGNoIHRoZSBudW1iZXIKCSAgb2YgQ1BVIGNvcmVzIChvciBzb21ldGhpbmcpLgoKMjAxMC0wNS0yMSAxNToxNzo0NiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogYWRkIG1vZGUgcHJvcGVydHkgdG8gc3dpdGNoIGJldHdlZW4gQ0JSL1ZCUgoJICBBbHdheXMgdXNpbmcgQ0JSIHdoZW4gYml0cmF0ZSBpcyB1c2VkIGlzbid0IHRoYXQgZ3JlYXQsIFZCUiBtb2RlCgkgIGNhbiBwcm9kdWNlIG1lYW5pbmdmdWwgcmVzdWx0cyB0b28uCgoyMDEwLTA1LTIxIDEwOjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogT25seSBlbmFibGUgcG9zdHByb2Nlc3NpbmcgaWYgdGhlIGRlY29kZXIgc3VwcG9ydHMgaXQKCjIwMTAtMDUtMjEgMDg6MjM6NTggKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IHR5cG86IHMvSEFWRV9WUDhfREVDT0RFUi9IQVZFX1ZQOF9FTkNPREVSLwoJICBGaXh1cCBmb3IgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIxIDA4OjEzOjA2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBtb3ZlICNpZmRlZiBIQVZFX1ZQOF9FTkNPREVSL0RFQ09ERVIKCSAgT3RoZXJ3aXNlIHdlJ2xsIHRyeSBpbmNsdWRpbmcgZS5nLiA8dnB4L3ZwOGN4Lmg+IHdoaWNoIGRvZXNuJ3QgZXhpc3QuCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2cDg6IGxpbmsgd2l0aCAtbG0gLWxwdGhyZWFkIHdoZW4gdGVzdGluZyBmb3IgdnA4IGVuY29kZXIvZGVjb2RlcgoJICBGaXh1cCBmb3IgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDIwOjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogV3JpdGUgR1N0cmVhbWVyIGVsZW1lbnQgYW5kIHZlcnNpb24gaW4gdGhlIHZvcmJpc2NvbW1lbnQgdmVuZG9yIHN0cmluZwoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogT25seSBlbmFibGUgdGhlIGVuY29kZXIgb3IgZGVjb2RlciBpZiBpdCdzIGF2YWlsYWJsZSBpbiBsaWJ2cHgKCSAgRml4ZXMgYnVnICM2MTkxNzIuCgoyMDEwLTA1LTIwIDEwOjE5OjU0ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBleGxjdWRlIGRlYy9lbmMgYmFzZWQgb24gQ09ORklHX1ZQOF9ERUNPREVSL0VOQ09ERVIKCSAgVGhpcyBtYXkgbm90IGJlIHZlcnkgYXV0b3Rvb2xpc2gsIGJ1dCB3b3JrcyB3aXRoIGxpYnZweCBpbiB0aGUgc3RhdGUKCSAgdGhhdCBsaWJ2cHggaXMgYWN0dWFsbHkgaW4uIE1vdmVkIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBlbGVtZW50cwoJICB0aGVtc2VsdmVzIHRvIG1pbmltaXplIGFtb3VudCBvZiAjaWZkZWZzCgoyMDEwLTA1LTIwIDE1OjU5OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IGh0bWwgaW1hZ2UgbG9jYXRpb24gZm9yIG91dC1vZi1zb3VyY2UgYnVpbGQKCjIwMTAtMDUtMjAgMDk6MjQ6NTMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IExpbWl0IG1heC1sYXRlbmN5IHRvIDI1IHRvIG1hdGNoIGxpYnZweAoJICBGcm9tIGxpYnZweC92cDgvZW5jb2Rlci9vbnl4X2ludC5oOgoJICAjZGVmaW5lIE1BWF9MQUdfQlVGRkVSUyAoQ09ORklHX1JFQUxUSU1FX09OTFk/IDEgOiAyNSkKCSAgV2hpbGUgd2UgZG9uJ3QgbmVlZCB0byBiZSB0aWVkIHRvIHdoYXQgbGlidnB4IGRvZXMgaW50ZXJuYWxseSwgaXQKCSAgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByZXRlbmQgdG8gc3VwcG9ydCBsb25nZXIgZnJhbWUgbGFncyB0aGFuIGFyZQoJICBhY3R1YWxseSBwb3NzaWJsZS4KCjIwMTAtMDUtMjAgMDk6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJICB2cDg6IFVuZGVmIEhBVkVfQ09ORklHX0ggYmVmb3JlIGluY2x1ZGluZyBsaWJ2cHggaGVhZGVycwoJICBBIHB1YmxpYyBsaWJ2cHggaGVhZGVyIGluY2x1ZGVzIHByaXZhdGUgaGVhZGVycyBpZiB0aGlzIGlzCgkgIGRlZmluZWQsIGNhdXNpbmcgY29tcGlsYXRpb24gZmFpbHVyZXMgYmVjYXVzZSB0aGUgcHJpdmF0ZSBoZWFkZXJzCgkgIGFyZSBub3QgaW5zdGFsbGVkIG9mIGNvdXJzZS4KCjIwMTAtMDUtMjAgMDg6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTb21lIG1vcmUgbWlub3IgYWRqdXN0bWVudHMgZm9yIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xOSAxNzoxMjo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBTcGxpdCBvdXQgR1NUX1BMVUdJTlNfQkFEX0NGTEFHUyBmcm9tIEdTVF9DRkxBR1MKCSAgTW92ZSBpbmNsdWRlIGRpcmVjdGl2ZXMgZm9yIGdzdC1saWJzIGludG8gR1NUX1BMVUdJTlNfQkFEX0NGTEFHUywKCSAgYW5kIGZpeCBhbGwgdGhlIE1ha2VmaWxlcyB0aGF0IHVzZSBpdC4gIFRoaXMgaXMgc28gdGhhdCBhbGwgdGhlCgkgIGluY2x1ZGUgZGlyZWN0b3JpZXMgYXJlIGFkZGVkIGluIHRoZSBwcm9wZXIgb3JkZXI6IGZpcnN0IHRoZQoJICBkaXJlY3RvcmllcyBpbiBzcmNkaXIvYnVpbGRkaXIsIHRoZW4gZ3N0LXBsdWdpbnMtYmFzZSBkaXJzLCB0aGVuCgkgIGdzdHJlYW1lciBkaXJzLiAgSWYgdGhlIG9yZGVyIGlzIHdyb25nLCBpbnN0YWxsZWQgaGVhZGVycyBtYXkgYmUKCSAgdXNlZCBpbnN0ZWFkIG9mIGxvY2FsIGhlYWRlcnMgYW5kL29yIHVuaW5zdGFsbGVkIGhlYWRlcnMgZnJvbSAtYmFzZS4KCjIwMTAtMDUtMTkgMjM6MDI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWsKCjIwMTAtMDUtMTkgMjE6MzQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGp1c3QgT2dnIG1hcHBpbmcgZm9yIHRoZSBjaGFuZ2VzCgoyMDEwLTA1LTEyIDE4OjUwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogQWRkIFZQOAoKMjAxMC0wNS0xOSAxODoxMjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIFZQOCBkZWNvZGVyIHBvc3QgcHJvY2Vzc2luZyBmZWF0dXJlCgkgIFRoaXMgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3Igbm93LgoKMjAxMC0wNS0xOSAxNzoxNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFJlbmFtZSBrZXlmcmFtZS1pbnRlcnZhbCB0byBtYXgta2V5ZnJhbWUtZGlzdGFuY2UKCSAgQW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzIGZvciBidWZmZXIgc2l6ZXMgdW50aWwgd2UgZXhwb3NlIHRoaXMKCSAgc29tZWhvdy4KCjIwMTAtMDUtMTkgMTc6MTM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogSW1wcm92ZSBlcnJvciBoYW5kbGluZyBhbmQgZGVidWcgb3V0cHV0CgoyMDEwLTA1LTE5IDE0OjQ2OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogVXNlIGNvcnJlY3Qgc3RyaWRlcyBhbmQgcGxhbmUgb2Zmc2V0cyBmb3IgR1N0cmVhbWVyCgoyMDEwLTA1LTE4IDE0OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wbGVtZW50IEdzdFRhZ1NldHRlciBpbnRlcmZhY2UKCjIwMTAtMDUtMTggMTQ6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaXggc2V0dGluZyBvZiB0aGUga2V5ZnJhbWUgZmxhZyBvbiBlbmNvZGVkIGZyYW1lcwoKMjAxMC0wNS0xOCAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIGVuY29kZXIgaW5pdGlhbGl6YXRpb24gZmFpbHMKCjIwMTAtMDUtMTggMTQ6Mjg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggbWVtb3J5IGxlYWtzIGFuZCBmYWlsIGlmIGluaXRpYWxpemluZyB0aGUgZGVjb2RlciBmYWlscwoKMjAxMC0wNS0xOCAwMjo0NDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCB0aW1lYmFzZQoJICBBbHNvIG1pc2MgY2xlYW51cC4KCjIwMTAtMDUtMTYgMTA6MzY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggZGVjb2Rpbmcgb2YgaW52aXNpYmxlIGZyYW1lcwoKMjAxMC0wNS0xNCAxNDoyNjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSB0aGUgbGF0ZW5jeSB3aGVuIGluaXRpYWxpemluZyB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xNCAxNDowMjo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IENvcnJlY3RseSBpbml0aWFsaXplIHN0cmVhbSBpbmZvIGJlZm9yZSBwZWVraW5nIGF0IHRoZSBzdHJlYW0KCSAgT3RoZXJ3aXNlIHBlZWtpbmcgd2lsbCBmYWlsIGFuZCB3ZSdsbCBnZXQgaW52YWxpZCB2YWx1ZXMKCjIwMTAtMDUtMTQgMTE6MDE6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBNYWtlIHN1cmUgdG8gcGFzcyBhIGtleWZyYW1lIGFzIGZpcnN0IGZyYW1lIHRvIHRoZSBkZWNvZGVyLCBjb3B5IG91dHB1dCBmcmFtZXMgb25seSBvbmNlIGFuZCByZXF1aXJlIHdpZHRoL2hlaWdodC9ldGMgb24gdGhlIGlucHV0IGNhcHMKCjIwMTAtMDUtMTQgMTA6MzA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgaW52aXNpYmxlIGZyYW1lcyBhbmQgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE0IDAxOjE0OjQ2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IHJlc2V0IGFmdGVyIHNlZWtpbmcKCSAgQWxzbyByZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCjIwMTAtMDUtMTMgMjE6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgZnJhbWUgbnVtYmVycyBhcyBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wNS0xMyAyMToxODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsd2F5cyBnZXQgYXMgbWFueSBmcmFtZXMgYXMgcG9zc2libGUgZnJvbSB0aGUgZW5jb2RlcgoKMjAxMC0wNS0xMyAyMTowODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpbGwgdGhlIG9sZGVzdCBwZW5kaW5nIGZyYW1lIGluc3RlYWQgb2YgdGhlIG5ld2VzdAoKMjAxMC0wNS0xMyAyMDoyMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBzZXQgZGVsdGEgdW5pdCBmbGFnIGZvciBub24ta2V5ZnJhbWVzCgoyMDEwLTA1LTEzIDAxOjA0OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogQWRkIGVuY29kZXIvZGVjb2RlcgoKMjAxMC0wNS0xOCAyMTozMjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB3cm9uZyB0aW1lc3RhbXBzIGluIHNvbWUgY2FzZXMgYWZ0ZXIgc2Vla2luZy4KCSAgUmVzZXQgLT5sYXN0X291dGJ1Zl9kdHMgb24gZmx1c2gtc3RvcC4gRml4ZXMgIzYxOTA2NC4KCjIwMTAtMDUtMTcgMTY6MjY6MDMgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBwYXJzaW5nIGFkYXB0YXRpb24gZmllbGQKCjIwMTAtMDUtMTcgMTE6NTI6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkqIGV4dC9wb2x5cC9wbHVnaW4uYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgIFJlbW92ZSB1bnVzZWQgcG9seXAgYXVkaW8gcGx1Z2luIGNvZGUKCSAgcG9seXBhdWRpbyB3YXMgcmVuYW1lZCB0byBwdWxzZWF1ZGlvIGFnZXMgYWdvLgoJICBGaXhlcyAjNjE4ODY3LgoKMjAxMC0wNS0xNSAxNTozNzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQ6IENoZWNrIGZvciBkdmRuYXYgYW5kIGR2ZHJlYWQgbGlicmFyaWVzCgoyMDEwLTA1LTE1IDAxOjE4OjUyICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBEb24ndCBpbnN0YWxsIGNhbWVyYWJpbiBleGFtcGxlcwoKMjAxMC0wNS0xNSAwMDoxOToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4yIHByZS1yZWxlYXNlCgoyMDEwLTA1LTE0IDE4OjMxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgZG9jczogcmVtb3ZlIG1vcmUgY3J1ZnQgcmVsYXRlZCB0byBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1vdmVkIHRvIC1nb29kCgoyMDEwLTA1LTE0IDE4OjI1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNGQ2N2JkNiB0byAzNTdiMGRiCgoyMDEwLTA1LTE0IDE2OjUzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDEwLTA1LTE0IDAxOjU1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG9sZCBzaGF2ZSBmaWxlcyBpbiBjb21tb24gdG8gJ2NydWZ0JyBmaWxlcwoKMjAxMC0wNS0xMyAxNDo0Mjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IE9ubHkgY2xvc2UgdGhlIGNvbm5lY3Rpb24gaWYgaXQncyBvcGVuZWQKCjIwMTAtMDUtMTMgMTQ6NDE6MDggKzAyMDAgIEl2YW4gWmRlcmFkaWNrYSA8aXZhbi56ZGVyYWRpY2thQGdtYWlsLmNvbT4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogRG9uJ3Qgb3BlbiBhbiBpbmZpbml0ZSBudW1iZXIgb2YgY29ubmVjdGlvbnMgdG8gdGhlIHNlcnZlciBhbmQgY2xvc2UgY29ubmVjdGlvbnMKCSAgRml4ZXMgYnVnICM2MTg1MjcuCgoyMDEwLTA1LTEzIDEyOjU1OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2tzcmM6IG1ha2Ugc3VyZSB3ZSBhbHdheXMgcmVhZCBuZnJhbWVzCgkgIEVycm9yIG91dCB3aGVuIHdlIGFyZSBhc2tlZCB0byByZWFkIGEgZGlmZmVyZW50IHNpemUgdGhhdCB3aGF0IHdhcyBjb25maWd1cmVkIGFzCgkgIHRoZSBqYWNrIHBlcmlvZCBzaXplIGJlY2F1c2UgdGhhdCB3b3VsZCBtZWFuIHNvbWV0aGluZyBlbHNlIGlzIHdyb25nLgoJICBGaXhlcyAjNjE4NDA5CgoyMDEwLTA1LTExIDE3OjU2OjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgamFjazogaW1wcm92ZSBwcm9jZXNzX2NiCgoyMDEwLTA1LTExIDEzOjUyOjUxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxqb3NodWEuZG9lQHVzLmFybXkubWlsPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSAgZnJlaTByOiBGaXggc2V0dGluZyBvZiBib29sZWFuIHZhbHVlcwoJICBTZXR0aW5nIGJvb2xlYW4gdHlwZSBwYXJhbWV0ZXJzIGZyb20gZ3N0LWxhdW5jaCBmYWlsZWQgYmVjYXVzZSBvZiBpbXByb3BlciBoYW5kbGluZyBvZiB0eXBlIGNvbnZlcnNpb25zLgoJICBGaXhlcyBidWcgIzYxODM4OC4KCjIwMTAtMDUtMTIgMTM6MDA6MTYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHBhcnNlIFREVCB0YWJsZSBpbiBtcGVndHMuCgkgIFNvbWUgdGFibGVzIGluIE1QRUctVFMgZG8gbm90IGhhdmUgYSBjcmMgaW4gdGhlIHNwZWMsIHNvIGFsc28gbXBlZ3RzcGFyc2UKCSAgaXMgbm90IGNhbGN1bGF0aW5nIGNyYyBmb3Igc2VjdGlvbnMgd2l0aCB0YWJsZV9pZCAweDcwIC0gMHg3MiBiZWNhdXNlIHRoZXkKCSAgZG8gbm90IGhhdmUgYSBDUkMgaW4gdGhlIHNwZWMuIFNlZSBFTjMwMDQ2OC4gUGFyc2UgVGltZSBhbmQgRGF0ZSB0YWJsZSBhbmQKCSAgb3V0cHV0IGJ1cyBtZXNzYWdlLgoKMjAxMC0wNS0xMSAxNjowMzoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHJlbW92ZSBvc3M0IHN0cmluZ3MKCjIwMTAtMDUtMTEgMTU6MzM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcG8vUE9URklMRVMuaW46CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5oOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIFJlbW92ZSBvc3M0IHBsdWdpbgoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxNDMwNS4KCjIwMTAtMDUtMTEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIFJlbW92ZSBpbWFnZWZyZWV6ZSBwbHVnaW4vZWxlbWVudC4KCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTM3ODYuCgoyMDEwLTA1LTExIDEzOjE1OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IGRvbid0IGZhaWwgdGFnc2NoZWNraW5nIHRlc3QgaWYgcXRkZW11eCBpcyBub3QgYXZhaWxhYmxlIG9yIHRvbyBvbGQKCjIwMTAtMDUtMTEgMTM6MDg6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgUmVtb3ZlIGNhcHNzZXR0ZXIgZWxlbWVudAoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxNzczOS4KCjIwMTAtMDUtMTEgMTA6MDQ6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBHVEsrIDMuMCBhbmQgaWYgaXQncyBub3QgYXZhaWxhYmxlIGZvciBHVEsrIDIuMAoKMjAxMC0wNS0xMSAxMDowMToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIHNjYWxldGVtcG86IERvbid0IHVzZSBkZXByZWNhdGVkIEdUSyBzeW1ib2xzIGluIHRoZSBkZW1vCgoyMDEwLTA1LTA3IDE5OjE1OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3QgdHJ5IHRvIHJlLXNlbmQgdGhlIHNhbWUgZXZlbnQgbW9yZSB0aGFuIG9uY2UKCjIwMTAtMDUtMDcgMjI6NTM6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogbWFrZSB0aGUgaW50ZW50aW9uIG9mIHRoZSBlbGVtZW50cyBtb3JlIGNsZWFyCgoyMDEwLTA1LTA3IDEzOjU3OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBSZXZlcnQgImppZm11eDogTWVyZ2UgeG1wIGFuZCB0YWdzZXR0ZXIgdGFncy4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGU1YzQxMjIzNDkwMzEyNjRiZjQ3ZTZhZjkzMzhmOGFlMDIzNmQ1Zi4KCSAgamlmbXV4IHNob3VsZG4ndCBiZSBhYmxlIHRvIGhhbmRsZSBqaWYgYW5kIHNob3VsZG4ndCBleHBlY3QKCSAgYW55IHhtcCBvbiBpdHMgZGF0YS4gU28sIG5vIG5lZWQgdG8gaGFuZGxlIHRoZW0uCgoyMDEwLTA1LTA3IDEyOjQyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IE1lcmdlIHhtcCBhbmQgdGFnc2V0dGVyIHRhZ3MuCgkgIFdoZW4gdGhlIGN1cnJlbnQgZmlsZSBhbHJlYWR5IGhhcyB0YWdzLCB0aGV5IHNob3VsZG4ndCBiZSBpZ25vcmVkLAoJICBwYXJzZSB0aGVtIGFuZCBtZXJnZSB3aXRoIHRoZSB0YWdzZXR0ZXIgb25lcy4KCjIwMTAtMDUtMDcgMTE6MDc6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUmVqZWN0IGJ1ZmZlcnMgd2l0aG91dCBjYXBzCgkgIGppZm11eCBleHBlY3RzIHdob2xlIGpwZWcgcGljdHVyZXMgaW4gYnVmZmVycywgc28gaXQgc2hvdWxkCgkgIHJlamVjdCBidWZmZXJzIHdpdGhvdXQgY2Fwcy4KCjIwMTAtMDUtMDcgMTA6NTk6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQmUgc2FmZSBhbmQgY2hlY2sgYnl0ZXdyaXRlciByZXR1cm5zCgkgIENoZWNrIEdzdEJ5dGVXcml0ZXIgcmV0dXJucyB0byBrbm93IHdoZW4gcmVjb21iaW5pbmcgdGhlIGltYWdlCgkgIGZhaWxlZCBhbmQgbG9nIGEgd2FybmluZy4KCjIwMTAtMDUtMDcgMTA6MTM6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQXZvaWQgYWRkaW5nIDIgeG1wIHBhY2tldHMKCSAgamlmbXV4IHdhcyBvbmx5IGFwcGVuZGluZyBhIG5ldyB4bXAgcGFja2V0IHRvIHRoZSBzdHJlYW0sCgkgIGl0IHNob3VsZCByZXBsYWNlIGlmIHRoZXJlIGlzIGFscmVhZHkgb25lLgoKMjAxMC0wNS0wNyAxMDo1ODo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZnJlZXplIHRvIHBsdWdpbiBkb2NzCgoyMDEwLTA1LTA3IDA4OjEyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4YW1wbGVzL21wdHNfdGVzdDIuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzbXV4L21wdHNfdGVzdDIuYzoKCSAgbXBlZ3RzbXV4OiBNb3ZlIG11bHRpLXByb2dyYW0gbXV4aW5nIGV4YW1wbGUgYXQgbGVhc3QgdG8gdGhlIGNvcnJlY3QgZGlyZWN0b3J5CgkgIEJ1dCBpdCBkb2Vzbid0IHdvcmsgb3V0IG9mIHRoZSBib3ggYmVjYXVzZSBvZiBoYXJkY29kZWQgcGF0aHMuCgoyMDEwLTA1LTA2IDEzOjUxOjIyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWljOiBQdXNoIG91dCBuZXdzZWdtZW50IGZyb20gY3VycmVudCB0aW1lc3RhbXAgaWYgdGhlIGluY29taW5nIHRzIGlzIHZhbGlkCgkgIFB1c2ggb3V0IG5ld3NlZ21lbnQgZXZlbnQgd2l0aCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGluY29taW5nIGJ1ZmZlciBpZgoJICB0aGUgaW5jb21pbmcgYnVmZmVycyBoYXZlIGEgdmFsaWQgdGltZXN0YW1wIGJ1dCBubyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50CgkgIGhhcyBiZWVuIHRocm91Z2guCgoyMDEwLTA1LTA2IDIyOjM4OjIyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFwcGx5IGNhcHMgdG8gZ2VuZXJhdGVkIGJ1ZmZlcnMKCSAgQXZvaWQgdGhlIG5ldyB3YXJuaW5nIGZyb20gdGhlIGNvcmUgYWJvdXQgbm90IGJlaW5nIGFibGUgdG8gYXBwbHkgY2FwcwoJICB0byBOQVYgcGFja2V0IGJ1ZmZlcnMsIHdoZXJlIHJlc2luZHZkc3JjIGhvbGRzIGEgcmVmLgoKMjAxMC0wNS0wNiAxMzoxMjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogU29tZSBtaW5vciBjbGVhbnVwCgoyMDEwLTA1LTA2IDA5OjUxOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogVXNlIHRoZSBlc2NhcGVkIGxvY2F0aW9uIGZvciB0aGUgUlRTUCByZWRpcmVjdCBtZXNzYWdlCgkgIGdzdF91cmlfZ2V0X2xvY2F0aW9uKCkgdW5lc2NhcGVzIHRoZSBsb2NhdGlvbiwgd2hpY2ggY291bGQgcmVzdWx0IGluCgkgIGFuIGludmFsaWQgUlRTUCBVUkkuCgoyMDEwLTA1LTA2IDA5OjQ4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogQ2hlY2sgVVJJIGZvciB2YWxpZGl0eSBhbmQgd29yayBhcm91bmQgVVJJIHBhcnNpbmcgYnVncyBpbiBsaWJtbXMKCSAgRml4ZXMgYnVnICM2MTc2NTAuCgoyMDEwLTA1LTA2IDA4OjA4OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogU29tZSByYW5kb20gY2xlYW51cAoKMjAxMC0wNS0wNSAxMjoyMzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBjb3JyZWN0IHBhZAoJICBUaGlzIG1ha2VzIHRoZSBzaW5rIGdldGNhcHMgZnVuY3Rpb24gYWN0dWFsbHkgdXNlZCBpbnN0ZWFkIG9mIHVzaW5nCgkgIHRoZSBmaXhlZCBjYXBzIGZ1bmN0aW9uIGZvciBpdC4KCjIwMTAtMDUtMDEgMTI6MzE6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkgIEFkZCBuZXcgY2FtZXJhYmluIHRlc3QgYmluYXJ5IHRvIC5naXRpZ25vcmUKCjIwMTAtMDUtMDEgMTU6MDA6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmg6CgkgIHZkcGF1OiBmaXggc21hbGwgdHlwbwoKMjAxMC0wNS0wMSAxNDo1ODozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJICB2ZHBhdTogYWRkIGxlZnRvdmVyIGdzdHZkcC5oCgoyMDEwLTA1LTAxIDE0OjQ1OjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggY3Jhc2hlciBvbiBzZXR0aW5nIHByb3BlcnRpZXMgYmVmb3JlIHdlJ3JlIGluIFJFQURZCgoyMDEwLTA0LTI5IDIyOjQzOjU5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdTogcmVtb3ZlIGRlYnVnIGNvZGUKCjIwMTAtMDQtMjkgMjI6MjQ6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogc21hbGwgYXBpIGNsZWFudXAKCSAgbWVyZ2UgZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X2FsbG93ZWRfW3ZpZGVvfHl1dl1fY2FwcyBpbnRvCgkgIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF9hbGxvd2VkX2NhcHMKCjIwMTAtMDQtMjIgMTI6NTc6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IHNtYWxsIGZpeGVzCgoyMDEwLTA0LTIyIDEyOjUyOjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBhZGQgYmFjayBnc3R2ZHBhdS5jCgoyMDEwLTAzLTE3IDIxOjAyOjA3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBnc3RfdmRwX2luaXQgZnVuY3Rpb24gd2hlcmUgd2UgcmVnaXN0ZXIgdHlwZXMKCjIwMTAtMDMtMTcgMjA6NTk6MDggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXU6IGFkZCBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcgdG8gR3N0VmRwT3V0cHV0U3JjUGFkCgkgIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfcHVzaCwgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9hbGxvY19idWZmZXIgYW5kCgkgIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfZ2V0X2RldmljZSBub3cgdGFrZSBhIEdFcnJvciBwYXJhbWV0ZXIgdG8gYmUgYWJsZSB0bwoJICBzaWduYWwgZXJyb3JzIHRvIHRoZSBjYWxsZXIKCjIwMDktMTEtMjggMjM6NTg6NTcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvU3JjUGFkKENsYXNzKT8gcHJpdmF0ZQoKMjAwOS0xMS0yOCAyMzo1NTowOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZm9sbG93IEdzdFZkcFZpZGVvU3JjUGFkIGNoYW5nZXMKCjIwMDktMTEtMjggMjM6NTI6MTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiByZW1vdmUgdGVtcGxhdGUtY2FwcyBwcm9wZXJ5IGZvcm0gR3N0VmRwVmlkZW9TcmNQYWQKCSAgR3N0VmRwVmlkZW9TcmNQYWQgbm93IHVzZSB0aGUgdGVtcGxhdGUgcHJvcGVydHkgb2YgR3N0UGFkIGluc3RlYWQuIEFsc28gY2hhbmdlZAoJICB0aGUgX25ldyBmdW5jdGlvbiB0byBiZSBsaWtlIGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUuCgoyMDEwLTA1LTAxIDAxOjE2OjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBGaXggd2FybmluZ3MgaW4gZGlyZWN0ZHJhd3NpbmsgYW5kIGRpcmVjdHNvdW5kc3JjCgkgIEZpeGVzICM2MTczMzEKCjIwMTAtMDQtMzAgMTk6MDM6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMTAtMDQtMjkgMTY6MzM6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW1wcm92ZSBidWZmZXIgc2Nhbm5pbmcKCSAgU3BlY2lmaWNhbGx5LCB3aGVuIHNjYW5uaW5nIGZvciBlbnRyb3B5IGRhdGEgc2VnbWVudCBsZW5ndGggYW5kIG5lZWRpbmcKCSAgbW9yZSBkYXRhLCBkbyBub3QgcmVzY2FuIGZyb20gc3RhcnQgbmV4dCB0aW1lIGFyb3VuZCwgYnV0IHJlc3VtZSBhdAoJICBsYXN0IHBvc2l0aW9uLgoJICBTZWUgYWxzbyAjNTgzMDQ3LgoKMjAxMC0wNC0yNyAxMDo0ODozMiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkB0cmlzdGFuLWxhcHRvcC4obm9uZSk+CgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmM6CgkqIGV4dC9qYWNrL2dzdGphY2t1dGlsLmg6CgkgIGphY2s6IGltcGxlbWVudCBtdWx0aWNoYW5uZWwgc3VwcG9ydCBjb3JyZWN0bHkgZm9yIGphY2thdWRpb3NyYwoJICBGaXhlcyBwYXJ0cyBvZiBidWcgIzYxNjU0MS4KCjIwMTAtMDQtMjkgMTM6MTg6NTggKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ab3JhY2xlLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgb3NzNHNpbms6IGltcGxlbWVudCBHc3RTdHJlYW1Wb2x1bWUgaW50ZXJmYWNlIGFuZCBhZGQgbXV0ZSBhbmQgdm9sdW1lIHByb3BlcnRpZXMKCSAgT1NTNCBzdXBwb3J0cyBwZXItc3RyZWFtIHZvbHVtZSBjb250cm9sLCBzbyBleHBvc2UgdGhpcyB1c2luZyB0aGUgcmlnaHQKCSAgQVBJLCBzbyB0aGF0IHBsYXliaW4yIGFuZCBhcHBsaWNhdGlvbnMgbGlrZSB0b3RlbSBjYW4gbWFrZSB1c2Ugb2YgaXQKCSAgKGluc3RlYWQgb2YgdXNpbmcgYSB2b2x1bWUgZWxlbWVudCBmb3Igdm9sdW1lIGNvbnRyb2wpLgoJICBGaXhlcyAjNjE0MzA1LgoKMjAxMC0wNC0yOSAwNDo0MjoyMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBzdHJpbmdzIGZvciBnY2MgNC41CgkgIERvbmUgb24gV2luZG93cy9NaW5HVy4KCSAgRml4ZXMgIzYxNzE0NgoKMjAxMC0wNC0yNyAxMToyMToxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgamFjazogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgYW5kIGZpbmFsaXplIG1ldGhvZHMKCjIwMTAtMDQtMjcgMTA6NTk6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IGxlYWsgY2FwcwoJICBBZGQgZGlzcG9zZSBtZXRob2RzIHRvIGNsZWFyIGNhcHMuCgoyMDEwLTA0LTI3IDEwOjM0OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMDQtMjYgMTU6MDY6MDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGxhZHNwYSxsdjI6IGRvbid0IGZhaWwgaW4gcGx1Z2luX2luaXQgd2hlbiBoYXZpbmcgMCBlbGVtZW50cwoJICBJZiB3ZSBmYWlsLCB0aGUgcGx1Z2luIHNjYW5uZXIgd2lsbCBibGFja2xpc3QgdXMuCgoyMDEwLTA0LTIzIDE0OjQxOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmM4NTg2NyB0byA0ZDY3YmQ2CgoyMDEwLTA0LTIwIDE2OjU4OjMzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG1lYW5pbmdmdWwgbmFtZXMgZm9yIHF1ZXVlIGVsZW1lbnRzIGluc2lkZSBjYW1lcmFiaW4KCjIwMTAtMDQtMjAgMTU6Mzc6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhbHNvIHNldCBzaG9ydCBjb25maWd1cmF0aW9uIGRhdGEgaW4gY29kZWNfZGF0YQoJICBUaGF0IGlzLCBoZWFkZXIgY29uZmlndXJhdGlvbiBtYXkgc3RhcnQgYXQgVmlkZW8gT2JqZWN0IChzdGFydGNvZGUpLAoJICByYXRoZXIgdGhhbiBhdCBWaXN1YWwgT2JqZWN0IFNlcXVlbmNlLCB3aGljaCBpcyBjYXRlcmVkIGZvciBhbmQgcGFyc2VkLAoJICBzbyBsZXQncyBhbHNvIHRha2UgaXQgYXMgY29kZWNfZGF0YSBpZiBubyBtb3JlIGF2YWlsYWJsZS4KCSAgRml4ZXMgKHJlbWFpbmRlciBvZikgIzU3MjU1MS4KCjIwMTAtMDQtMTkgMTk6MDQ6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBdm9pZCBjcmFzaGluZyB3aGVuIHNldHRpbmcgem9vbSBpbiBOVUxMCgkgIEF2b2lkIHNldHRpbmcgem9vbSBpbiBOVUxMIHN0YXRlIGJlY2F1c2UgdGhlIHNvdXJjZSBpcyBub3QKCSAgc2V0IHlldCBhbmQgdGhpcyBsZWFkcyB0byBhIGNyYXNoLiBJdCBpcyBzZXQgb24gUkVBRFkgPiBQQVVTRUQKCSAgYW55d2F5LgoKMjAxMC0wNC0xOCAxNDo1MTozNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRXhwb3J0IHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgVGhpcyBleHBvcnRzIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMgZm9yIE1QRUcgMiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2MDc4CgoyMDEwLTA0LTE2IDE5OjQ1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJICByZXNpbmR2ZGJpbjogVXNlIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTIGluc3RlYWQgb2Ygc29tZSBpbnRlZ2VyCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjIDQuNS4KCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBjb21taXQgNWE1MWRiZC4KCjIwMTAtMDQtMTYgMTk6NDM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJICBtcGVnZGVtdXg6IFVzZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUyBpbnN0ZWFkIG9mIHNvbWUgaW50ZWdlcgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5nIHdpdGggZ2NjIDQuNS4KCjIwMTAtMDQtMTYgMTk6NDI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgUmV2ZXJ0ICJtcGVncHNkZW11eDogV29ya2Fyb3VuZCBuZXcgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGEzMzEyMjhlY2NmYjhjNjY0OTNmYTNjOGM0OTMzOGM3OWNmNDY0MmMuCgoyMDEwLTA0LTE2IDE5OjQxOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgUmV2ZXJ0ICJyZXNpbmR2ZGJpbjogQXBwbHkgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIHdvcmthcm91bmQgdG8gdGhlIG1wZWdwc2RlbXV4IGNvcHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjViMGY3NWQxYjMxMTkzMTZiMmRjYWY1YmZmNGRmZDJiZDgyNGNjMS4KCjIwMTAtMDQtMTUgMjE6NDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogQW5vdGhlciB3b3JrYXJvdW5kIGZvciBlbnVtIHZhbHVlcyB0aGF0IGFyZSBub3QgYWN0dWFsbHkgbWVtYmVyIG9mIHRoZSBlbnVtCgoyMDEwLTA0LTE1IDIxOjQwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmRiaW46IEFwcGx5IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyB3b3JrYXJvdW5kIHRvIHRoZSBtcGVncHNkZW11eCBjb3B5CgkgIFNhbWUgYXMgYTMzMTIyOGVjY2ZiOGM2NjQ5M2ZhM2M4YzQ5MzM4Yzc5Y2Y0NjQyYy4KCjIwMTAtMDQtMTUgMjE6Mzg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IEluaXRpYWxpemUgcG9zc2libHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNC0xNSAyMTozNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFjdHVhbGx5IGNvbXBhcmUgdGhlIHN0YXRlIGFuZCBub3QgdGhlIHN0YXRlIGNoYW5nZSByZXR1cm4gZnJvbSBfZ2V0X3N0YXRlKCkKCjIwMTAtMDQtMTUgMjE6MjY6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IFdvcmthcm91bmQgbmV3IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZwoJICBnY2MgNC41IHdhcm5zIHdoZW4gY29tcGFyaW5nIHNvbWUgaW50ZWdlciB3aXRoIGFuIGVudW0gdmFsdWUsIGluCgkgIHRoZSBjYXNlIG9mIEdzdEZsb3dSZXR1cm4gdGhpcyBpcyB2YWxpZCB0aG91Z2guIFdlIHNob3VsZCBsYXRlcgoJICBhZGQgR1NUX0ZMT1dfQ1VTVE9NX09LMSwgR1NUX0ZMT1dfQ1VTVE9NX09LMiwgZXRjLiBhZnRlciBuZXcgY29yZQoJICBpcyByZWxlYXNlZC4KCjIwMTAtMDQtMTUgMjA6NTA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgY2R4YXBhcnNlOiBDb21wYXJlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIEdTVF9TRUVLX1RZUEVfU0VUCgoyMDEwLTA0LTE1IDA3OjI0OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEcm9wIC1XY2FzdC1hbGlnbgoJICBDb21taXQgbWVzc2FnZSBjb3BpZWQgZnJvbSBjb3JlJ3MgY29tbWl0IGZyb20gQmVuamFtaW4gT3R0ZToKCSAgMjQ2ZjVkYmE5NmE1YjUwYmI3NDYyMWFmNjdiMzA5NDJjY2E3MmFmNQoJICBBcHBhcmVudGx5IGdjYyB3YXJucyB0aGF0IEdzdE1pbmlPYmplY3QgaXMgbm90IGNhc3RhYmxlIHRvCgkgIEdzdEV2ZW50L01lc3NhZ2UvQnVmZmVyIGR1ZSB0byB0aGVtIGNvbnRhaW5pbmcgNjRiaXQgdmFyaWFibGVzLCBldmVuCgkgIHRob3VnaCBBUk0gaGFja2VycyBjbGFpbSB0aGF0IHRob3NlIG9ubHkgbmVlZCA0Ynl0ZSBhbGlnbm1lbnQuIEFuZCBhcwoJICBsb25nIGFzIGdjYyBiZWhhdmVzIHRoYXQgd2F5LCB0aGlzIHdhcm5pbmcgaXMgbm90IHZlcnkgdXNlZnVsLgoJICBTbyB3ZSdsbCByZW1vdmUgdGhlIHdhcm5pbmcgdW50aWwgdGhpcyBwcm9ibGVtIGlzIGZpeGVkLgoJICBGaXhlcyAjNjE1Njk4CgoyMDEwLTA0LTE1IDEzOjIwOjQyICswMzAwICBBZGFtIEVuZHJvZGkgPGFkYW0uZW5kcm9kaUBibHVtc29mdC5ldT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgc29mdHdhcmUgem9vbWluZyBpZiBub3Qgc2V0IGJ5IHRoZSBwaG90byBpbnRlcmZhY2UKCSAgT3RoZXJ3aXNlIGJvdGggc29mdHdhcmUgKHZpZGVvc2NhbCt2aWRlb2Nyb3ApIGFuZCBoYXJkd2FyZSB6b29taW5nIHdvdWxkIGJlIHVzZWQuCgoyMDEwLTA0LTE0IDE2OjQyOjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogRml4IHVwIGVsZW1lbnQgZGV0YWlscwoKMjAxMC0wNC0xNCAxNjozMjozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nb2JqZWN0LmM6CgkqIHRvb2xzL2dzdGF1ZGlvZmlsdGVyLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXRyYW5zZm9ybS5jOgoJKiB0b29scy9nc3RjZGRhYmFzZXNyYy5jOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkqIHRvb2xzL2dzdHB1c2hzcmMuYzoKCSogdG9vbHMvZ3N0dGFnZGVtdXguYzoKCSogdG9vbHMvZ3N0dmlkZW9zaW5rLmM6CgkgIHRvb2xzOiBBZGQgZWxlbWVudC1tYWtlcgoJICBBZGQgYSBzY3JpcHQgdGhhdCBjcmVhdGVzIGVsZW1lbnRzIGJhc2VkIG9uIGFueSBvZiB0aGUgR1N0cmVhbWVyCgkgIGJhc2UgY2xhc3Nlcy4gIEl0IGlzbid0IHZlcnkgdXNlciBmcmllbmRseSBhdCB0aGUgbW9tZW50LCBvbmUKCSAgbmVlZHMgdG8gZWRpdCB0aGUgc2NyaXB0IHRvIG1ha2UgaXQgd29yayBwcm9wZXJseS4gIEVhY2ggYmFzZSBjbGFzcwoJICBoYXMgYSB0ZW1wbGF0ZSBmaWxlIGRlc2NyaWJpbmcgd2hhdCB0byBwdXQgaW50byB0aGUgY29uc3RydWN0ZWQKCSAgZWxlbWVudC4gIEV2ZW50dWFsbHksIHRoZXNlIHRlbXBsYXRlcyBzaG91bGQgYmUgbW92ZWQgdG8gcmVzaWRlCgkgIHdpdGggdGhlIGJhc2UgY2xhc3Mgc291cmNlIGFuZCBpbnN0YWxsZWQgdG8gYSB3ZWxsLWtub3duIGRpcmVjdG9yeSwKCSAgd2hlcmUgYW4gaW5zdGFsbGVkIHNjcmlwdCBjb3VsZCBmaW5kIHRoZW0uCgkgIFRoZSB0ZW1wbGF0ZSBmaWxlcyB1c2UgdGhlIC5jIGVuZGluZyBzbyBlZGl0b3JzIGtub3cgdGhleSBhcmUgQwoJICBzb3VyY2UsIGJ1dCBnc3QtaW5kZW50IGRvZXNuJ3QgaGFuZGxlIHRoZW0gY29ycmVjdGx5LiAgU28gdGhleQoJICBuZWVkIHRvIGJlIGNvbW1pdHRlZCB3aXRoIC1uLiAgVWdoLiAgSSdsbCB0cnkgdG8gZmlndXJlIG91dCBhIGZpeAoJICBmb3IgdGhhdCBzb29uLgoKMjAxMC0wNC0xMyAyMDozMjo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBBZGQgdmlkZW8tY2FwdHVyZS13aWR0aC9oZWlnaHQvZnJhbWVyYXRlIHByb3BlcnRpZXMKCSAgQWRkcyB2aWRlby1jYXB0dXJlLXdpZHRoLCB2aWRlby1jYXB0dXJlLWhlaWdodCBhbmQKCSAgdmlkZW8tY2FwdHVyZS1mcmFtZXJhdGUgcHJvcGVydGllcyB0byBhbGxvdyBhcHBsaWNhdGlvbnMgdG8KCSAgZ2V0L3NldCB0aG9zZSB2YWx1ZXMuIEdldHRpbmcgd2FzIG5vdCBwb3NzaWJsZSBiZWZvcmUgdGhpcyBwYXRjaCwKCSAgYW5kIHNldHRpbmcgd2FzIGRvbmUgdGhyb3VnaCB0aGUgc2V0LXZpZGVvLXJlc29sdXRpb24tZnBzCgkgIGFjdGlvbiwgd2hpY2ggc2V0cyB0aGUgcHJvcGVydGllcyBhbmQgcHJvbXB0bHkgcmVzZXRzIHRoZQoJICB2aWRlbyBzb3VyY2UgdG8gdXNlIHRoZW0uCgkgIEZpeGVzICM2MTQ5NTgKCjIwMTAtMDQtMTMgMTg6MzM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IEFkZHMgaW1hZ2UtY2FwdHVyZS13aWR0aC9oZWlnaHQgcHJvcGVydGllcwoJICBBZGRzIGltYWdlLWNhcHR1cmUtd2lkdGggYW5kIGltYWdlLWNhcHR1cmUtaGVpZ2h0IHByb3BlcnRpZXMKCSAgdG8gY2FtZXJhYmluLCBhbGxvd2luZyB0aGUgdXNlciB0byBnZXQvc2V0IHRoZW0uIEdldHRpbmcgd2FzCgkgIG5vdCBwb3NzaWJsZSBiZWZvcmUgYW5kIHNldHRpbmcgd2FzIGRvbmUgdGhyb3VnaCB0aGUKCSAgc2V0LWltYWdlLXJlc29sdXRpb24gYWN0aW9uLCB3aGljaCBzaG91bGRuJ3Qgbm93IGp1c3Qgc2V0CgkgIHRoZSBwcm9wZXJ0aWVzLgoJICBGaXhlcyAjNjE0OTU4CgoyMDEwLTA0LTEzIDE1OjU5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcGhvdG9ncmFwaHk6IFNwcmluZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIFNwcmlua2xlIHNvbWUgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvdmVyIHRoZSBwcm9wZXJ0aWVzCgkgIGluIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgaW4gY2FtZXJhYmluCgoyMDEwLTAzLTAyIDE0OjA0OjQ0ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBibG9jay1hZnRlci1jYXB0dXJlIHByb3BlcnR5IGZvciB2aWV3ZmluZGVyIGJsb2NraW5nCgkgIEFkZHMgYmxvY2stYWZ0ZXItY2FwdHVyZSBwcm9wZXJ0eSB0byBibG9jayBydW5uaW5nIHZpZXdmaW5kZXIgYWZ0ZXIgY2FwdHVyaW5nLgoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWZ1bCBpZiBhcHBsaWNhdGlvbiB3YW50cyB0byBkaXNwbGF5IGNhcHR1cmUgcHJldmlldyBhbmQgYXZvaWQKCSAgcnVubmluZyB2aWV3ZmluZGVyIG9uIGJhY2tncm91bmQuCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKMjAxMC0wMi0wOSAxNDo1Mjo0OSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgdmlld2ZpbmRlci1maWx0ZXIgYW5kIGZpbHRlciBjYXBzIHByb3BlcnRpZXMKCSAgQWRkcyBzdXBwb3J0IGZvciBzZXR0aW5nIGZpbHRlci1jYXBzIGFuZCB2aWV3ZmluZGVyLWZpbHRlcgoJICBwcm9wZXJ0aWVzIGluIHRoZSBnc3QtY2FtZXJhYmluLXRlc3QgYXBwbGljYXRpb24KCjIwMTAtMDEtMjYgMTU6MTg6MjQgKzAyMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgR3N0UGhvdG9ncmFwaHk6IEFkZCBmbGlja2VyIGFuZCBmb2N1cyBtb2RlIHNldHRpbmdzIHRvIHBob3RvZ3JhcGh5IEFQSQoJICBBZGRzIGZsaWNrZXIgYW5kIGZvY3VzIG1vZGUgc2V0dGluZ3MgdG8gcGhvdG9ncmFwaHkgQVBJIGFuZCBhbHNvCgkgIGltcGxlbWVudCBpdCBpbiBjYW1lcmFiaW4uCgoyMDA5LTExLTI2IDEyOjEyOjA2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogYWRkIGdzdC1jYW1lcmFiaW4tdGVzdCBjb21tYW5kIGxpbmUgdGVzdCB0b29sCgkgIGdzdC1jYW1lcmFiaW4tdGVzdCB0b29sIGNhbiBiZSB1c2VkIHRvIGNhcHR1cmUgc3RpbGwgaW1hZ2VzIGFuZAoJICB2aWRlbyBjbGlwcyB1c2luZyBjYW1lcmFiaW4gZWxlbWVudC4KCjIwMDktMTEtMTYgMTU6MDI6MDMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogZG8gbm90IHNldCBpbWFnZWJpbiBzaW5rcGFkIHR3aWNlCgkgIElmIHdlIGFscmVhZHkgaGF2ZSBhIHNpbmtwYWQsIGRvIG5vdCBnZXQgYSBuZXcgb25lCgoyMDA5LTExLTE2IDE1OjEzOjMxICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHVuaXQgdGVzdHMKCSAgQWRkIHRlc3Rpbmcgb2Ygc2V0dGluZyBhbmQgZ2V0dGluZyBvZiBjYW1lcmFiaW4gcHJvcGVydHkgZWxlbWVudHMgYW5kCgkgIGFkZCBwb3N0LXByb2Nlc3NpbmcgZWxlbWVudHMgdG8gcGlwZWxpbmUuCgoyMDA5LTExLTEzIDE2OjQyOjQ0ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHVuaXQgdGVzdHMgZm9yIHNldHRpbmcgZGlmZmVyZW50IGZsYWdzIHdoZW4gY2FwdHVyaW5nCgkgIEFkZHMgc29tZSB0ZXN0cyB0aGF0IHVzZSBmbGFncyBmb3IgY2FwdHVyaW5nIHRvIGFzdXJlIGl0IHdvcmtzCgkgIHdpdGggZmxhZ3Mgc2V0IG9yIG5vdC4KCjIwMDktMTAtMjggMTc6Mzc6NTYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgcGF1c2VkIHZpZGVvIGNhcHR1cmUgZmlsZSB2YWxpZGl0eSBjaGVjayBpbiB1bml0IHRlc3QKCSAgQWxzbyBjaGVjayB0aGF0IHRoZSBmaWxlIGNhcHR1cmVkIGluIHRoZSBwYXVzZWQgY2FwdHVyZSB1bml0IHRlc3QgaXMKCSAgcGxheWFibGUuCgoyMDA5LTEwLTE5IDE0OjMxOjU0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCB2aWV3ZmluZGVyLWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IGNhbGxlZCB2aWV3ZmluZGVyLWZpbHRlciB0byBjYW1lcmFiaW4uCgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZCB0byBhZGQgYSBmaWx0ZXIgdG8gcHJvY2VzcyB0aGUgdmlkZW8KCSAgZmxvdyByaWdodCBiZWZvcmUgdGhlIHZpZXdmaW5kZXIgc2luay4KCSAgQWxzbyB1cGRhdGVzIHRlc3QgdG8gY2hlY2sgcHJvcGVydHkgZXhpc3RzLgoKMjAwOS0xMC0yMSAxODowMjoyNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IHZpZGVvdGVzdHNyYyBwYXR0ZXJuIHRvIHdoaXRlIGluIHVuaXQgdGVzdAoJICBMb3dlciBjb21wbGV4aXR5IG9mIGVuY29kaW5nIGFuZCB2aWRlb3Rlc3RzcmMgcmVkcmF3aW5nIGluIG9yZGVyCgkgIHRvIHByZXZlbnQgdW5pdCB0ZXN0IHRpbWVvdXRzLgoKMjAwOS0xMC0xNCAxNDowMTozNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwcm94eSB2aWRlbyBzb3VyY2UgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnR5IG5vdGlmeSBzaWduYWxzCgkgIElmIHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0aWVzIGNoYW5nZSBpbiB2aWRlbyBzb3VyY2UsIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gYnkgZW1pdHRpbmcgbm90aWZ5IGZvciByZXNwZWN0aXZlIGNhbWVyYWJpbiBwcm9wZXJ0aWVzLgoKMjAwOS0xMC0xNCAxNDo0MjowMSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE5ldyB1bml0IHRlc3RzCgkgIEFkZCB1bml0IHRlc3RzIGZvciBjYW1lcmFiaW4gcHJvcGVydGllcyBzZXR0aW5nIGFuZCBnZXR0aW5nLAoJICBhZGRzIG9uZSBmb3IgdmlkZW8gY2FwdHVyaW5nIHdpdGggcGF1c2UuCgkgIEFsc28gZG9lcyBzb21lIGM5OSB2YXJpYWJsZSBkZWNsYXJhdGlvbiBmaXhlcy4KCjIwMDktMTAtMTQgMTQ6MDE6MDUgKzAzMDAgIFNoZW5naHVhIExpdSA8RVhULUxpdS5zaGVuZ2h1YUBub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdW5pdCB0ZXN0IHRvIGhhdmUgdGVzdCBvbiByZWNvcmRpbmcgc25hcHNob3QgcHJldmlldwoJICBBZGRzIGEgc21hbGwgY2hlY2sgdG8gdmVyaWZ5IHRoYXQgdGhlIHByZXZpZXcgaW1hZ2UgbWVzc2FnZSBpcwoJICBiZWluZyBzZW50IG9uIHZpZGVvIHJlY29yZGluZy4KCjIwMDktMDktMjEgMTc6NDc6MjAgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGFkZCBhcGkgdG8gcXVlcnkgc3VwcG9ydGVkIGltYWdlIGNhcHR1cmUgcmVzb2x1dGlvbgoJICBBZGRzIG5ldyBwcm9wZXJ0eSAnaW1hZ2UtY2FwdHVyZS1zdXBwb3J0ZWQtY2FwcycgdG8gR3N0UGhvdG9ncmFwaHkKCSAgdG8gcXVlcnkgdGhlIHN1cHBvcnRlZCBpbWFnZSBjYXB0dXJlIGNhcHMuCgkgIEFsc28gaW1wbGVtZW50IGl0IGluIGNhbWVyYWJpbi4KCjIwMDktMDctMDIgMTg6MDM6NTcgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVuYW1lIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcywgdXBkYXRlIGRvY3VtZW50YXRpb24KCSAgR2V0IHJpZCBvZiB1c2VyXyogcHJlZml4IGludGVybmFsbHksIHVzZSBhcHBfKiBpbnN0ZWFkLgoKMjAwOS0wOS0xNiAxNToxMTo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFkZCB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5CgkgIEFkZCB2aWRlby1zb3VyY2UtZmlsdGVyIHByb3BlcnR5IHRoYXQgY2FuIGJlIHVzZWQgdG8gaW5qZWN0IGFwcGxpY2F0aW9uCgkgIHNwZWNpZmljIGdzdHJlYW1lciBlbGVtZW50IHRvIGNhbWVyYWJpbiBwaXBlbGluZS4gVGhlIHZpZGVvLXNvdXJjZS1maWx0ZXIKCSAgZWxlbWVudCB3aWxsIHByb2Nlc3MgYWxsIGZyYW1lcyBjb21pbmcgZnJvbSB2aWRlbyBzb3VyY2UuCgkgIE9uZSBjb3VsZCBhZGQgaW1hZ2UgYW5hbHl6ZXJzIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSwKCSAgb3IgYWRkIGltYWdlIGVuaGFuY2VycyB0byBpbXByb3ZlIGNhcHR1cmUgcXVhbGl0eSwgZm9yIGV4YW1wbGUuCgoyMDEwLTA0LTEyIDE4OjA3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgY2hlY2s6IERvbid0IHJlLWRlY2xhcmUgJ0dMaXN0ICpidWZmZXJzJyBpbiB0aGUgdGVzdHMKCSAgSXQncyBhbiBleHRlcm5hbCB3aGljaCBsaXZlcyBpbiBnc3RjaGVjay5jLiBSZWRlY2xhcmluZyBpdCBtYWtlcyBzb21lCgkgIGNvbXBpbGVycy9hcmNoaXRlY3R1cmVzIHRoaW5rIHRoZSAnYnVmZmVycycgaW4gdGhlIGluZGl2aWR1YWwgdGVzdHMgYXJlCgkgIGEgZGlmZmVyZW50IHN5bWJvbC4uLiBhbmQgdGhlcmVmb3JlIHdlIGVuZCB1cCBjb21wYXJpbmcgaG9sb2RlY2tzIHdpdGgKCSAgb3Jhbmdlcy4KCjIwMTAtMDItMTggMTg6MTk6NTAgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgdHJ5IGFkYXB0aW5nIGltYWdlIGNhcHR1cmUgcmVzb2x1dGlvbiBpZiBubyBzb3VyY2UtcmVzaXplIGZsYWcKCSAgSWYgc291cmNlLXJlc2l6ZSBmbGFnIGlzIGRpc2FibGVkIHRoZW4gc2V0IHJlc29sdXRpb24gdG8gaW1hZ2UgY2FwdHVyZSBjYXBzCgkgIGFjY29yZGluZyB0byBjYXB0dXJlIHJlc29sdXRpb24gdmlkZW8gc291cmNlIGVsZW1lbnQgcHJvZHVjZXMuIE90aGVyd2lzZSB3ZQoJICB3cml0ZSB3cm9uZyByZXNvbHV0aW9uIHRvIGltYWdlIG1ldGFkYXRhLgoKMjAxMC0wMS0wNSAxNToxMzowMiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY2FwdHVyaW5nIGZsYWcgaGFuZGxpbmcgYWZ0ZXIgaW1hZ2UgaGFzIGJlZW4gY2FwdHVyZWQKCSAgTWFrZSBzdXJlIGNhcHR1cmluZyBmbGFnIGlzIHVuc2V0IGFuZCBpbWFnZS1jYXB0dXJlZCBtZXNzYWdlIGlzIHNlbnQKCSAgYmVmb3JlIHNlbmRpbmcgZW9zIGV2ZW50IHRvIGltYWdlIGJpbiBhbmQgc2F2aW5nIHRoZSBpbWFnZSB0byBhIGZpbGUuCgoyMDA5LTExLTA0IDEzOjI0OjEzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBzZXR0aW5nIGZpbHRlci1jYXBzIHByb3BlcnR5IGluIE5VTEwgc3RhdGUKCSAgU3BsaXQgX3NldF9jYXBzZmlsdGVyX2NhcHMoKSBpbnRvIHR3byBwYXJ0cyBzbyB0aGF0IHdlIGNhbiBjYWxsIG9uZSBwYXJ0CgkgIHJlZ2FyZGxlc3Mgb2YgdGhlIGVsZW1lbnQgc3RhdGUuCgoyMDA5LTA5LTExIDA5OjM4OjUxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgaW1hZ2UgZG9uZSBzaWduYWwgZW1pc3Npb24KCSAgVXNlIGdfaWRsZV9hZGRfZnVsbCgpIHdpdGggR19QUklPUklUWV9ISUdIIHRvIGVtaXQgaW1hZ2UgZG9uZSBzaWduYWwsCgkgIGdfaWRsZV9hZGQoKSBpcyBtb3JlIGxpa2VseSB0byBzdGFydmUgd2l0aCBoaWdoZXIgcHJpb3JpdHkgZXZlbnRzLgoKMjAxMC0wNC0xMiAxMjo0MjowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZW1vdmUgLVd1bmRlZiBmbGFnCgkgIFNhbWUgZml4IGFzIGZvciAjNjE1MTYxCgoyMDEwLTA0LTEyIDA5OjE2OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IENvcnJlY3RseSBsaW5rIHRvIHRoZSBsb2NhbCBsaWJnc3R2ZHAtMC4xMCBieSB1c2luZyB0aGUgbGlidG9vbCBhcmNoaXZlCgoyMDEwLTA0LTA5IDA5OjE0OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogY2FtZXJhYmluOiBlbmFibGUgY2FtZXJhYmluIHRlc3RzCgkgIFJlLWVuYWJsaW5nIGNhbWVyYWJpbiB0ZXN0cywgdGhleSBhcmUgcGFzc2luZy4KCjIwMTAtMDQtMDkgMTE6MjI6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZGYwMjNkIHRvIGZjODU4NjcKCjIwMTAtMDQtMDggMTI6MDA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IEZpeCBjb21waWxhdGlvbiBlcnJvciBvbiBtYWNvc3gKCjIwMTAtMDQtMDggMTA6NDU6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiA4LWJpdCBQQ00gYXVkaW8gY2FwcyBkb24ndCBuZWVkIGFuIGVuZGlhbm5lc3MgZmllbGQKCjIwMTAtMDQtMDggMTA6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBkb24ndCBpdGVyYXRlIHRoZSBmb3JtYXRzIHRhYmxlIHR3aWNlIGZvciBlYWNoIGVudHJ5CgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBmb3JtYXRzIHRhYmxlLCB3ZSBjYW4ganVzdCBwYXNzIHRoZSB3aG9sZQoJICBlbnRyeSB0byBvdXIgaGVscGVyIGZ1bmN0aW9uLCB3aGljaCBhdm9pZHMgaXRlcmF0aW5nIHRoZSB0YWJsZQoJICBhZ2FpbiB0byBmaW5kIHRoZSBlbnRyeSBzdHJ1Y3R1cmUgZnJvbSB0aGUgcGFzc2VkIGZvcm1hdCBpZC4KCjIwMTAtMDMtMzAgMTE6NDM6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICBvc3M0OiBhbHNvIGFjY2VwdCBmb3JtYXRzIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQKCSAgQWxzbyBhY2NlcHQgZm9ybWF0cyB0aGF0IGFyZSBub3QgbmF0aXZlbHkgc3VwcG9ydGVkIGJ5IHRoZQoJICBoYXJkd2FyZSwgT1NTNCBjYW4gY29udmVydCB0aGVtIGludGVybmFsbHkuIExpc3QgdGhlIG5hdGl2ZQoJICBmb3JtYXRzIGZpcnN0IGluIHRoZSBjYXBzIHRob3VnaCwgdG8gZXhwcmVzcyBvdXIgcHJlZmVyZW5jZQoJICBmb3IgdGhlIG5hdGl2ZSBmb3JtYXRzLiBXZSBuZWVkIHRoaXMgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUKCSAgY2FzZSBwcm9wZXJseSB3aGVyZSB0aGUgYXVkaW8gaGFyZHdhcmUgc3VwcG9ydHMgb25seSBlLmcuCgkgIGxpdHRsZSBlbmRpYW4gUENNLCBidXQgdGhlIGhvc3QgaXMgYmlnIGVuZGlhbiwgc2luY2UgbWFueQoJICBhdWRpbyBlbGVtZW50cyBvbmx5IHN1cHBvcnQgbmF0aXZlIGVuZGlhbm5lc3MgYW5kIG1ha2UgdGhlCgkgIHJlYXNvbmFibGUgYXNzdW1wdGlvbiB0aGF0IGFueSBhdWRpb3Npbmsgd2lsbCBiZSBhYmxlIHRvCgkgIGhhbmRsZSBhdWRpbyBpbiBuYXRpdmUgZW5kaWFubmVzcy4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgSmVycnkgVGFuIDxqZXJyeS50YW5Ac3VuLmNvbT4KCSAgRml4ZXMgIzYxNDMxNy4KCjIwMTAtMDQtMDggMDg6NDg6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgIHNvdW5kdG91Y2g6IHVzZSAkKExJQk0pIGluIE1ha2VmaWxlLmFtIGluc3RlYWQgb2YgLWxtCgoyMDEwLTA0LTA4IDAxOjQyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogZml4IHByaW50IGZvcm1hdCBpbiBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTA0LTA4IDAxOjQxOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcGFzcyBjb25zdGFudCBzdHJpbmcgYXMgZm9ybWF0IHN0cmluZyB0byBwcmludGYKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgbm9uLXN0cmluZyBsaXRlcmFsIGJlaW5nIHBhc3NlZCBhcwoJICBmaXJzdCBhcmd1bWVudCB0byBwcmludC4KCjIwMTAtMDMtMjYgMTg6NTY6NDkgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEb24ndCBlbWl0IGJpdHJhdGUgdGFncyB0b28gZWFybHkKCSAgV2Ugd2FpdCB0byBwYXJzZSBhIG1pbmltdW0gbnVtYmVyIG9mIGZyYW1lcyAoMTAsIGFyYml0cmFyaWx5KSBiZWZvcmUKCSAgZW1pdGluZyBiaXRyYXRlIHRhZ3Mgc28gdGhhdCBvdXIgZWFybHkgZXN0aW1hdGVzIGFyZSBub3Qgd2lsZGx5CgkgIGluYWNjdXJhdGUgZm9yIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoIGEgc2lsZW5jZS4gSWYgdGhlIHN0cmVhbSBlbmRzCgkgIGJlZm9yZSB0aGF0LCB3ZSBqdXN0IGVtaXQgdGhlIHRhZ3MgYW55d2F5LgoJICBXaGlsZSBpdCBfd291bGRfIGJlIG5pY2VyIHRvIGJlIHNwZWNpZnkgdGhlIHRocmVzaG9sZCB0byBzdGFydCBwdXNoaW5nCgkgIHRoZSB0YWdzIGluIHRlcm1zIG9mIGR1cmF0aW9uLCB0aGlzIHdvdWxkIGludHJvZHVjZSBtb3JlIGNvbXBsZXhpdHkgdGhhbgoJICB0aGlzIG1lcml0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDk5MQoKMjAxMC0wNC0wNyAxMToyMjo0MyArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogZml4IGNyYXNoIHdoZW4gY29udmVydGluZyB1bml0cwoJICB4L3ktcmVzb2x1dGlvbiBhcmUgZnJhY3Rpb25zLCBzbyBzZXR0aW5nIHRoZW0gdXNpbmcgZmxvYXQgdmFsdWVzIGlzIG5vdAoJICBhIGdvb2QgaWRlYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD01Nzc2NTUKCjIwMTAtMDQtMDUgMTA6MzM6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIEJsdWVSYXkgc3R5bGUgRFRTCgkgIEZpeGVzIGJ1ZyAjNjE0MjU5LgoKMjAxMC0wNC0wNCAyMDoyMzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciB0aGUgdHdvIERUUyBIRCBzdHJlYW0gdHlwZXMKCSAgRml4ZXMgYnVnICM2MTQyNTkuCgoyMDEwLTA0LTAyIDE5OjUyOjI1ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogQWRkaXRpb25hbGx5IHVzZSB0aGUgQ1JDIHRvIGNoZWNrIGlmIHRhYmxlcyBhcmUgZHVwbGljYXRlcwoJICBUaGUgY3VycmVudCBjb2RlIGp1c3QgdXNlcyB0YWJsZSBpZCwgc3VidGFibGUgZXh0ZW5zaW9uIGFuZCB2ZXJzaW9uIG51bWJlciB0bwoJICBjaGVjayBpZiB0aGUgc2VjdGlvbiBoYXMgYmVlbiBzZWVuIGJlZm9yZS4gSG93ZXZlciwgdGhpcyBjb21wYXJpc29uIGlzIG5vdAoJICBzdWZmaWNpZW50LCBjYXVzaW5nIGFjdHVhbGx5IG5ldyB0YWJsZXMgYmVpbmcgZGlzbWlzc2VkLgoJICBGaXhlcyBidWcgIzYxNDQ3OS4KCjIwMTAtMDQtMDIgMTk6NDg6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDb3JyZWN0bHkgY2xlYW4gdXAgaW50ZXJuYWwgc3RhdGUgZm9yIHJldXNlCgkgIEZpeGVzIGJ1ZyAjNjE0NTkxLgoKMjAxMC0wNC0wMiAxOToxOToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBNYWtlIHN1cmUgdGhhdCB0aGUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBzZXR0aW5nIGNhcHMKCSAgRml4ZXMgYnVnICM2MTQzNDkuCgoyMDEwLTA0LTAyIDE5OjA5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVXNlIHVpbnQgaW5zdGVhZCBvZiBpbnQgZm9yIGZyZXF1ZW5jeSBhbmQgc3ltYm9sLXJhdGUgcHJvcGVydGllcwoJICBUaGUga2VybmVsIEFQSSBzcGVjaWZpZXMgdGhlbSBhcyB1aW50MzIgYW5kIGZyZXF1ZW5jaWVzL3N5bWJvbC1yYXRlcyBncmVhdGVyCgkgIHRoYW4gMl4zMSBhcmUgYWN0dWFsbHkgbmVlZGVkIHNvbWV0aW1lcy4KCSAgRml4ZXMgYnVnICM2MTQ0NzUuCgoyMDEwLTAzLTMwIDAxOjE3OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGJ1aWxkIHBsdWdpbnMgYW5kIGV4YW1wbGVzIGluIHBhcmFsbGVsIHdoZXJlIHBvc3NpYmxlLCBpZiBtYWtlIC1qTiBpcyB1c2VkCgoyMDEwLTAzLTMwIDAxOjE2OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIGZvciBzdHJpbmcgY2hhbmdlcyBhbmQgbmV3IGNvbW1lbnQKCjIwMTAtMDMtMzAgMDE6MTQ6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBhZGQgY29tbWVudCBmb3IgdHJhbnNsYXRvcnMKCSAgTm90IHRoYXQgdGhhdCB3aWxsIG1ha2UgdGhlc2Ugc3RyaW5ncyBtdWNoIGJldHRlci4gQWxzbyByZW1vdmUgaTE4bgoJICBtYXJrZXIgd2hlcmUgaXQgZG9lc24ndCBtYWtlIHNlbnNlLgoKMjAxMC0wMy0yNyAwOTo0NjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IHVzZSBHU3RyZWFtZXIgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4gaW4gdGhlIHBsdWdpbiBpbmZvCgoyMDEwLTAzLTI5IDE0OjQ5OjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHdyaXRpbmcgTkFMVSBwcmVmaXggZm9yIGJ5dGUtc3RyZWFtIG91dHB1dCBmb3JtYXQKCSAgU3BlY2lmaWNhbGx5LCBpbnB1dCBtYXkgYWxyZWFkeSBiZSBpbiBieXRlLXN0cmVhbSBmb3JtYXQsIHNvIHN5bmMKCSAgYnl0ZXMgc2hvdWxkIG5vdCBiZSBtaXNpbnRlcnByZXRlZCBhcyBOQUxVIHNpemUuCgoyMDEwLTAzLTI5IDEwOjAwOjU3ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJICBvcGVuc3BjOiBGaXggYnVpbGQgd2FybmluZwoJICBBZGQgYSBwcm90b3R5cGUgZm9yIGdzdF9zcGNfZGVjX2dldF90eXBlCgoyMDEwLTAzLTI2IDE4OjU4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogT3B0aW9uYWxseSBjaGVjayB0aGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgdG9vIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIGlzIG9wdGlvbmFsIGJlY2F1c2UgaXQncyBhIHF1aXRlIGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5kIGl0J3MgdmVyeQoJICB1bmxpa2VseSB0aGF0IGEgbm9uLWZyYW1lIGlzIGRldGVjdGVkIGFzIGZyYW1lIGFmdGVyIHRoZSBoZWFkZXIgQ1JDIGNoZWNrCgkgIGFuZCBjaGVja2luZyBhbGwgYml0cyBmb3IgdmFsaWQgdmFsdWVzLiBUaGUgb3ZlcmFsbCBmcmFtZSBjaGVja3N1bXMgYXJlCgkgIG1haW5seSB1c2VmdWwgdG8gZGV0ZWN0IGluY29uc2lzdGVuY2llcyBpbiB0aGUgZW5jb2RlZCBwYXlsb2FkLgoKMjAxMC0wMy0yNiAxODo0MjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IENoZWNrIHRoZSBDUkMtOCBvZiB0aGUgaGVhZGVycyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBtYWtlcyBmYWxzZS1wb3NpdGl2ZXMgZHVyaW5nIHNlZWtpbmcgbXVjaCBsZXNzIGxpa2VseSBhbmQgZGV0ZWN0aW9uIG9mCgkgIHRoZW0gbXVjaCBmYXN0ZXIuCgoyMDEwLTAzLTI2IDE4OjIwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2V0IHRoZSBsYXN0IHN0b3AgdG8gdGhlIGJ1ZmZlciBzdGFydHRpbWUgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQKCSAgLi4uaW5zdGVhZCBvZiBub3Qgc2V0dGluZyBpdCBhdCBhbGwuCgoyMDEwLTAzLTI2IDE4OjE5OjAwICswMTAwICBKb3NodWEgTS4gRG9lIDxqb3NoQGpvc2hkb2UuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZW5kIE5FV1NFR01FTlQgZXZlbnQgd2l0aCBjb3JyZWN0IHN0YXJ0IGFuZCBwb3NpdGlvbgoJICBJbnN0ZWFkIG9mIHRha2luZyB0aGUgbGFzdCBzdG9wICh3aGljaCBjb3VsZCBiZSBidWZmZXIgZW5kdGltZSBpbnN0ZWFkCgkgIG9mIHN0YXJ0dGltZSkgYWx3YXlzIHRha2UgdGhlIGJ1ZmZlciBzdGFydHRpbWUuCgkgIEZpeGVzIGJ1ZyAjNjE0MDE2LgoKMjAxMC0wMy0yNiAxNjo0OTowMSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCBidWZmZXIgcmVmY291bnQgaXNzdWUKCSAgV2hlbiBjYWxsZWQgZnJvbSB0aGUgR1NUX0ZMQUNfUEFSU0VfU1RBVEVfSEVBREVSUyBjYXNlLAoJICBnc3RfZmxhY19wYXJzZV9oYW5kX2hlYWRlcnMoKSBkb2VzIGEgZ3N0X2J1ZmZlcl9zZXRfY2FwcygpIG9uIGEgYnVmZmVyCgkgIHdpdGggcmVmY291bnQgPiAxLiBUaGlzIGNoYW5nZSBoYW5kbGVzIHRoaXMgY2FzZSBieSBtYWtpbmcgdGhlIGJ1ZmZlcgoJICBtZXRhZGF0YV9Xcml0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDAzNwoKMjAxMC0wMy0yNiAxMjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgbWlzc2luZyBzcGFjZSB0byBkZWJ1ZyBtZXNzYWdlCgoyMDEwLTAzLTI2IDA4OjQxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3QgdXNlIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdAoJICBGaXhlcyB0aGUgYnVpbGQuCgoyMDEwLTAzLTI1IDIzOjQ4OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgZGl2eDogYWRkIGNvbnN0IHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0yNSAyMzozMDoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgYm9vbGVhbiByZXR1cm4gdG8gX3Byb2Nlc3MKCSAgQXZvaWQgdHJ5aW5nIHRvIHB1c2ggcmVzdWx0cyBpZiBwcm9jZXNzaW5nIGZhaWxlZCBhbnl3YXkuCgoyMDEwLTAzLTI1IDIzOjI4OjI1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbW92ZSB1c2VsZXNzIGdfYXNzZXJ0CgkgIGdfbWFsbG9jIGFuZCBjbyB3b3VsZCB0ZXJtaW5hdGUgd2hlbiBvdXQgb2YgbWVtb3J5LiBObyBuZWVkIHRvIGNoZWNrIGFmdGVyIGl0LgoKMjAxMC0wMy0yNSAyMzoyNDozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgbW9yZSBsb2dnaW5nCgoyMDEwLTAzLTI1IDIzOjEyOjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlZ2lzdGVyIGZ1bmN0aW9uIHBvaW50ZXJzIGp1c3Qgb25jZQoJICBBdm9pZCByZS1yZWdpc3RlcmluZyB0aG9zZSBmb3IgZWFjaCB3cmFwcGVkIGxhZHBzYS9sdjIgZWxlbWVudC4KCjIwMTAtMDMtMjUgMjM6MDc6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIHJhdGUgdG8gY2FwcwoKMjAxMC0wMy0yNSAyMzowNDo0MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW5hbWUgbG9nIGNhdGVnb3J5IHRvIGJlIGxlc3MgYW1iaWdvdXMKCjIwMTAtMDMtMjUgMjI6NTk6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJICBsdjI6IGFkZCBtb3JlIGV4YW1wbGVzCgoyMDEwLTAzLTI1IDIyOjU4OjQ3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGlmIHdlIHRlbGwgdGhhdCB3ZSBoYW5kbGUgZ2FwIGZsYWdzLCB0aGVuIGRvIHNvCgoyMDEwLTAzLTI1IDIyOjU1OjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHVzZSBnbGliIHR5cGVzCgoyMDEwLTAzLTI1IDIyOjU0OjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IGZpeCBjbGFzc2lmaWNhdGlvbgoKMjAxMC0wMy0yNSAyMjo1MzoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiByZWZvcm1hdCBtZXNzYWdlIGRvY3MKCSAgVXNlIGEgbGlzdCBsaWtlIGluIG90aGVyIGVsZW1lbnQgZG9jcyBhcyBhbiB1bnR3ZWFrZWQgZG9jYm9vayB0YWJsZSBsb29rIHVnbHkuCgoyMDEwLTAzLTI1IDE3OjA5OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVtb3ZlIHVudXNlZCBHc3RCYXNlUGFyc2VDbGFzc1ByaXZhdGUgc3RydWN0dXJlCgoyMDEwLTAzLTI1IDEyOjU1OjAyICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogTWFrZSBiaXRyYXRlIGVzdGltYXRpb24gbW9yZSBhY2N1cmF0ZQoJICBUaGlzIGltcGxlbWVudHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBtYWtlIG1vcmUgYWNjdXJhdGUgYml0cmF0ZSBlc3RpbWF0ZXMuCgoyMDEwLTAzLTI1IDExOjQ4OjQ2ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBiaXRyYXRlIGNhbGN1bGF0aW9uCgkgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSBtaW4vYXZnL21heCBiaXRyYXRlcyBmb3IgYWFjcGFyc2UuCgkgIE5vdGU6IFRoZSBiaXRyYXRlIHdhcyBiZWluZyBpbmNvcnJlY3RseSBjYWxjdWxhdGVkIGZvciBBRFRTIHN0cmVhbXMKCSAgKGl0J3Mgbm90IGluIHRoZSBoZWFkZXIgYXMgdGhlIGNvZGUgc3VnZ2VzdHMpLgoKMjAxMC0wMy0yNSAxMToyMjo1OCArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IEFkZCBiaXRyYXRlIGNhbGN1bGF0aW9uIHRvIGJhc2VwYXJzZQoJICBUaGlzIG1ha2VzIGJhc2VwYXJzZSBrZWVwIGEgcnVubmluZyBhdmVyYWdlIG9mIHRoZSBzdHJlYW0gYml0cmF0ZSwgYXMKCSAgd2VsbCBhcyB0aGUgbWluaW11bSBhbmQgbWF4aW11bSBiaXRyYXRlcy4gU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgYQoJICB2ZnVuYyB0byBtYWtlIHN1cmUgdGhhdCBwZXItZnJhbWUgb3ZlcmhlYWQgZnJvbSB0aGUgY29udGFpbmVyIGlzIG5vdAoJICBhY2NvdW50ZWQgZm9yIGluIHRoZSBiaXRyYXRlIGNhbGN1bGF0aW9uLgoJICBXZSB0YWtlIGNhcmUgbm90IHRvIG92ZXJyaWRlIHRoZSBiaXRyYXRlLCBtaW5pbXVtLWJpdHJhdGUsIGFuZAoJICBtYXhpbXVtLWJpdHJhdGUgdGFncyBpZiB0aGV5IGhhdmUgYmVlbiBwb3N0ZWQgdXBzdHJlYW0uIFdlIGFsc28KCSAgcmF0ZS1saW1pdCB0aGUgZW1pc3Npb24gb2YgYml0cmF0ZSBzbyB0aGF0IGl0IGlzIG9ubHkgdHJpZ2dlcmVkIGJ5IGEKCSAgY2hhbmdlIG9mID4xMCBrYnBzLgoKMjAxMC0wMy0yMyAxNzozNDozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IE5ldyB0YWdzIHRlc3RzCgkgIEFkZHMgbmV3IHRhZ3MgY2hlY2tpbmcgdGVzdHMuCgoyMDEwLTAzLTI1IDAwOjIwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQKCjIwMTAtMDMtMjQgMTg6NTQ6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU1Y2Q1MTQgdG8gYzFkMDdkZAoKMjAxMC0wMy0yNCAxNzowNToxNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IEFkZCBzdXBwb3J0IGZvciBZVVkyIGlucHV0IGZvcm1hdAoJICBGaXggYnVnICM2MTM3MDgKCjIwMTAtMDMtMjQgMTY6MTU6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBkb2NzOiBhZGQgcGhvdG9ncmFwaHkgaWZhY2UgdG8gZG9jcwoJICBXZSBub3JtYWx5IGhhdmUgc2VwYXJhdGUgbGlicyBkb2NzLCBub3QgZG9uZSBiZWNhc3VlIG9mIGxhenluZXNzIGhlcmUgeWV0LgoKMjAxMC0wMy0yNCAxNjowNToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IGFkZCBibGFuayBsaW5lIHRvIGZpeCBnZW5lcmF0ZWQgeG1sCgoyMDEwLTAzLTI0IDE1OjU5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZml4IGVsZW1lbnQgbmFtZSBpbiBzZWN0aW9uIGRvYyBibG9iCgoyMDEwLTAzLTI0IDE1OjA1OjUwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBEZWZpbmUgV09SRFNfQklHRU5ESUFOIHRvIGF2b2lkIHVuZGVmaW5lZCB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM3OTUKCjIwMTAtMDMtMjQgMTI6MTY6MDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZ2NvbmZpZyB0byBkZXRlY3QgZHZkbmF2CgkgIFRoZSBwcmV2aW91c2x5IHVzZWQgZHZkbmF2LWNvbmZpZyBzY3JpcHQgd2FzIGJyb2tlbiBpbiBhIGxvdCBvZiBkaXN0cm9zLgoKMjAxMC0wMy0yNCAwMDoyNzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHlldCBhbm90aGVyIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjMgMTk6NTY6NDggLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgIG9zeDogbW9yZSBjb21waWxlciB3YXJuaW5nIGZpeGVzCgkgIEF2b2lkIG5ldyB3YXJuaW5ncy4KCSAgRml4ZXMgIzYxMzc1OC4KCjIwMTAtMDMtMjMgMTQ6MTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICB0ZXN0czogZmFhYzogRml4IGJ1aWxkCgkgIEZpeGVzIGJ1aWxkIG9mIGZhYWMgZHVlIHRvIGZ1bmN0aW9ucyBub3QgYmVpbmcgc3RhdGljIG5vcgoJICBoYXZpbmcgYmVpbmcgZGVjbGFyZWQgaW4gaGVhZGVycy4gKE5vIHByZXZpb3VzIHByb3RvdHlwZSBlcnJvcikKCSAgUHJvYmFibHkgZHVlIHRvIGFkZGVkIC1XbWlzc2luZy1wcm90b3R5cGVzCgoyMDEwLTAzLTIzIDExOjEwOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjMgMDk6MTQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJICBjb2c6IHRvdWNoIGNvZy5vcmMgdG8gZm9yY2UgcmVnZW5lcmF0aW9uIG9mIGNvZ29yYy5bY2hdCgkgIC4uIHdpdGggbmV3IE1ha2VmaWxlLmFtIHJ1bGVzLCB3aGljaCBzaG91bGQgZml4IHRoZSBidWlsZAoJICB3aXRob3V0IHRoZSBuZWVkIHRvIGRvIGEgJ21hbnVhbCcgbWFrZSBjbGVhbiBhZnRlciB1cGRhdGluZy4KCjIwMTAtMDMtMjMgMDE6NDE6MzEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgd2luaW5ldDogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIzIDAxOjMwOjU0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjMgMDE6MTU6MjcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIC1XdW5kZWYgZm9yIFdpbmRvd3MKCSAgV2luZG93cyBoZWFkZXJzIHRlbmQgdG8gY2hlY2sgX01TQ19WRVIgdW5jb25kdGlvbmFsbHkgaW4gc29tZSBwbGFjZXMsCgkgIGJ1dCB1c2UgI2lmZGVmIF9NU0NfVkVSIGluIG90aGVyIHBsYWNlcy4KCjIwMTAtMDMtMjMgMDE6MTQ6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGEgYnVuY2ggb2Ygd2FybmluZyBmbGFncwoJICBOb25lIG9mIHRoZW0gdHJpZ2dlciBhbnkgd2FybmluZwoKMjAxMC0wMy0yMyAwMToxMTo0MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4ZXMgZm9yIC1XYWdncmVnYXRlLXJldHVybgoJICBUaGUgZmxhZyB3YXNuJ3QgYWRkZWQgZHVlIHRvIGxpYmV4aWYgdXNpbmcgYWdncmVnYXRlIHJldHVybiB2YWx1ZXMuCgoyMDEwLTAzLTIyIDE4OjAyOjM5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJICBpMThuOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZiBmb3IgRU5BQkxFX05MUwoKMjAxMC0wMy0yMiAxODowMToyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJICBpMThuOiBmaXggdGhlIGJ1aWxkCgkgIERvbid0IGluY2x1ZGUgbG9jYWxlLmggd2hpY2ggd2UgaW5jbHVkZSBpbiBnZXR0ZXh0LmggaWYgbmVlZGVkLiBHdWFyZCB0aGUKCSAgaW5jbHVkZSBsaWtlIHdlIGRvIGluIHRoZSBzaW1pbGxhciBoZWFkZXJzIGluIGNvcmUuCgoyMDEwLTAzLTIyIDE2OjU2OjAzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxNjoyMTozMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBBZGQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSBmbGFncwoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxNjoxMzoxMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBSZWZhY3RvciBjb2RlIHRvIG1ha2UgaXQgbG9vayBtb3JlIG1vZGVybgoJICBBIHNpZGUgZWZmZWN0IGlzIHRoYXQgaXQgcGFzc2VzIC1XZm9ybWF0LW5vbmxpdGVyYWwgYW5kIGRvZXNuJ3QgcmVhZAoJICBpbnZhbGlkIG1lbW9yeSBpbiBzb21lIGNhc2VzLCBsaWtlIHdoZW4gdGhlIG1peGVyIHRyYWNrIGNvbnRhaW5zCgkgIGEgJSBzaWduIG9yIHRoZXJlIGlzIGEgbnVtYmVyIGJ1dCBub3QgYSBrbm93biBtaXhlciBuYW1lLgoKMjAxMC0wMy0yMiAxNDowOToyNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdm9pZCBnX3F1YXJrX3RvX3N0cmluZyAoZ19xdWFya19mcm9tX3N0cmluZyAoKSkgbWFkbmVzcwoJICBXZSB0byB0aGUgc3RyZHVwIGluc2lkZSBnc3Rfb3NzNF9taXhlcl9jb250cm9sX2dldF90cmFuc2xhdGVkX25hbWUoKQoJICBpbnN0ZWFkIG9mIGluIHRoZSBvbmx5IGNhbGxlci4KCjIwMTAtMDMtMjIgMTM6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDItMDIgMTU6NDk6MjkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFBhcnNlIGJpdHJhdGUgYW5kIGVtaXQgYXMgdGFnCgkgIFRoaXMgcGF0Y2ggcGlja3MgdXAgdGhlIGJpdHJhdGUgZm9yIHRoZSBzdHJlYW0gZnJvbSB0aGUgTVBFRyBzZXF1ZW5jZQoJICBoZWFkZXIgYW5kIGVtaXRzIGl0IGFzIGEgdGFnIG9uIHRoZSBzb3VyY2UgcGFkLgoJICBGaXhlcyAjNTk5Mjk4LgoKMjAxMC0wMy0yMiAxMjozODowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIHNvdW5kdG91Y2g6IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmCgoyMDEwLTAzLTIyIDEzOjE2OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIEFkZCAtV3dyaXRlLXN0cmluZ3MKCSAgYW5kIGZpeCBpdHMgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTI6MzA6MDEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZ3N0L25zZi9mbW9wbC5oOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgQWRkIC1XdW5kZWYKCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTI6MDM6NTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxMC0wMy0yMiAxMjowMjoxNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJICBBZGQgLVdyZWR1bmRhbnQtZGVjbHMgZmxhZwoJICBhbmQgZml4IHdhcm5pbmdzIGZyb20gaXQKCjIwMTAtMDMtMjIgMDg6NDc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMiAwODo0NToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjM6MTA6MDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSAgb3JjOiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjM6MDA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgZXhhbXBsZXM6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMjo0ODoxMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIyOjQ2OjAwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkgIGdzdC1jYW1lcmE6IEFkZCBhIGhlYWRlciBkZWNsYXJpbmcgdGhlIGZ1bmN0aW9ucyBmcm9tIHRoZSB1aSBmaWxlCgoyMDEwLTAzLTIxIDIyOjEwOjQ3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmg6CgkgIHRlc3RzOiBBZGQgZmlsZSBJIGZvcmdvdCB0byBjaGVjayBpbgoKMjAxMC0wMy0yMSAyMjowOToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtbXAzZGVjOiBmaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6NTM6NDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIEZpeCBhY21lbmMgZm9yIHdhcm5pbmcgZmxhZ3MKCjIwMTAtMDMtMjEgMjE6Mzk6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSogZ3N0L212ZS9tdmVhdWRpb2RlYy5jOgoJKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogc3lzL2R2Yi9jYW0uYzoKCSogc3lzL2R2Yi9jYW0uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIGNvbmZpZ3VyZSBmbGFncwoJICBBbmQgZml4IGFsbCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTozNzozNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJICBzaXJlbjogUnVuIGdzdC1pbmRlbnQgc2NyaXB0CgkgIEluY2x1ZGVzIHJ1bm5pbmcgZG9zMnVuaXggb24gZGVjb2Rlci5jCgoyMDEwLTAzLTIxIDIxOjI5OjQ3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBGaXgga2F0ZSB0ZXN0CgkgIEl0IHdhcyBmYWlsaW5nIGR1ZSB0byB0aGUgbmV3IGJ1ZmZlcl9tZXRhZGF0YV93cml0YWJsZSBjaGVja3MgYWRkZWQgdG8KCSAgdGhlIGNvcmUgcmVjZW50bHkuCgoyMDEwLTAzLTIxIDE4OjU5OjMwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9jaHVuay5jOgoJICBsZWdhY3lyZXNhbXBsZTogcmVtb3ZlIHVudXNlZCBmaWxlCgoyMDEwLTAzLTIxIDE3OjU0OjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcy9HU1RfQ1ZTL0dTVF9HSVQvCgoyMDEwLTAzLTE5IDE2OjQ3OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkgIGNvZzogR2VuZXJhdGUgY29ycmVjdCBZVVYtPlJHQiB0YWJsZXMKCSAgRml4ZXM6ICM2MTMzMzIuCgoyMDEwLTAzLTE5IDExOjEwOjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZGlzYWJsZSBsb29wIGFuZCBhdXRvIG11bHRpY2FzdCBqb2luCgkgIERpc2FibGUgbG9vcGJhY2sgb2YgcGFja2V0cy4KCSAgRGlzYWJsZSBhdXRvam9pbiBvZiBtdWx0aWNhc3QgZ3JvdXBzIGluIHRoZSBzaW5rIGJlY2F1c2UgdGhlIHNvdXJjZSBhbHJlYWR5CgkgIGRvZXMgdGhhdCBvbiB0aGUgc2hhcmVkIHNvY2tldC4KCjIwMTAtMDMtMTggMTc6MzA6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlscyA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDMtMTggMTc6MTE6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC92aXJ0dWFsZHViL0xJQ0VOU0U6CgkqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmM6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuaDoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSogZ3N0L3ZpcnR1YWxkdWIvdmlydHVhbGR1Yi52Y3Byb2o6CgkgIHZpcnR1YWxkdWI6IFJlbW92ZQoJICBUSGUgcGx1Z2luIGlzIHNvIGhvcGVsZXNzbHkgb3V0ZGF0ZWQsIGl0J3MganVzdCBub3Qgd29ydGgga2VlcGluZy4KCjIwMTAtMDMtMTggMTc6MDQ6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJKiBleHQveGluZS9nc3R4aW5lLmg6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWNhcHMuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkgIFJlbW92ZSB4aW5lIHBsdWdpbiBjb2RlCgkgIFRoZSBwbHVnaW4gaXMgdW5tYWludGFpbmVkIChldmVuIHdvcnNlIHRoYW4gWGluZSA7KSkKCjIwMTAtMDMtMTggMTY6MTc6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJICBSZW1vdmUgZ29iIGV4YW1wbGVzCgkgIFRoZXkgd2VyZSBvdXRkYXRlZCBhbmQgd291bGRuJ3QgaGF2ZSBjb21waWxlZCBhbnltb3JlLgoKMjAxMC0wMy0xNyAxMTozMDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBvZmYtYnktb25lIGluIDQ0NC0+NDIwIGNvbnZlcnNpb24KCSAgRml4ZXMgIzYxMzE2MC4KCjIwMTAtMDMtMTcgMTQ6Mjk6MzEgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogVXNlICIocG5nX2luZm9wcCkgTlVMTCIgaW5zdGVhZCBvZiBwbmdfaW5mb3BwX05VTEwKCjIwMTAtMDMtMTcgMTQ6MjM6NDEgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogVXNlIHBuZ19nZXRfaW9fcHRyKCkgaW5zdGVhZCBvZiBhY2Nlc3NpbmcgaW9fcHRyIGRpcmVjdGx5CgoyMDEwLTAzLTE3IDE0OjIxOjUzICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29nOiBDaGVjayBmb3IgbGlicG5nID49IDEuMiBpbnN0ZWFkIG9mIGxpYnBuZzEyCgoyMDEwLTAzLTE2IDIzOjQ2OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkgIGRvY3M6IHRoZSB4ZGdtaW1lIHBsdWdpbiB3YXMgbWVyZ2VkIGludG8gdHlwZWZpbmRlcnMKCjIwMTAtMDMtMTYgMjM6NDM6MDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb24sZHZkOiBhbHNvIHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgaGVyZSBmb3Igc3RhdGljIHN0cmluZ3MKCjIwMTAtMDMtMTUgMTA6MTM6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1pbm9yIG1lbW9yeSBsZWFrIGluIHByb3BlcnR5IGdldHRlcgoJICBEb24ndCBsZWFrIHRoZSBzdHJpbmcgcmV0dXJuZWQgYnkgZ19zdHJqb2ludigpLiBXaGlsZSB3ZSdyZSBhdCBpdCwKCSAgdXNlIEdTdHJpbmcgdG8gYXNzZW1ibGUgdGhlIHN0cmluZyB0byBiZSByZXR1cm5lZC4KCjIwMTAtMDMtMTUgMDk6MjQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIHdoZXJlIHBvc3NpYmxlCgoyMDEwLTAzLTE1IDEyOjE3OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBkaXNhYmxlIGNvZGUgdGhhdCBjYXVzZXMgYW4gb3JjYyBjcmFzaAoJICBSZXZlcnQgdGhpcyBhZnRlciBvcmMgcmVsZWFzZSBhbmQgdmVyc2lvbiBidW1wLgoKMjAxMC0wMy0xNSAxMTo1NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IE9ubHkgc3RhcnQgdGhlIHRhc2sgYWZ0ZXIgYSBzZWVrIGlmIGEgYnVmZmVyIHdhcyByZWNlaXZlZCBhbHJlYWR5CgoyMDEwLTAzLTE1IDAxOjQ2OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGNvbW1lbnQgb24gcHJldmlvdXMgYmFkIGNvbW1pdCBtZXNzYWdlCgkgIFRoZSByZWNlbnQgY29tbWl0ICJsb2dvaW5zZXJ0IGNoZWNrcG9pbnQgRklYTUUiIHNob3VsZAoJICBhY3R1YWxseSByZWFkOiAgRml4IGxvZ29pbnNlcnQgdmFyaWFibGUgbmFtZXMuCgoyMDEwLTAzLTE1IDAxOjI2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBpbXBsZW1lbnQgY2hyb21hLXNpdGUKCSAgRGV0ZXJtaW5lIGNocm9tYSBzaXRlIHBvc2l0aW9uIGZyb20gdGhlIGNhcHMgYW5kIHVzZSBpdCB3aGVuCgkgIHVwc2FtcGxpbmcvZG93bnNhbXBsaW5nIGNocm9tYS4KCjIwMTAtMDMtMTQgMTg6NTY6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogaW1wbGVtZW50IGNvbG9yLW1hdHJpeCBoYW5kbGluZwoKMjAwOS0xMC0wOCAxNToxODo0MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBsb2dvaW5zZXJ0IGNoZWNrcG9pbnQgRklYTUUKCjIwMDktMTAtMzAgMTU6MzU6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIG5fdGFwcyB0byBjaHJvbWEgdXBzYW1wbGluZwoKMjAxMC0wMy0xMyAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTAzLTEzIDA2OjAzOjMyICswMTAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXBkYXRlIGNhcHMgd2hlbiB0aGUgc2VxdWVuY2UgaGVhZGVyIGNoYW5nZXMKCSAgRml4ZXMgYnVnICM2MTI2ODcuCgoyMDEwLTAzLTEyIDE5OjMwOjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWN0aXZhdGUgdmlkZW8gYmluIGJlZm9yZSBmZWVkaW5nIGRhdGEgdG8gaXQKCSAgRml4ZXMgIzYxMjYxNS4KCjIwMTAtMDMtMTIgMTE6Mjg6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBJbXByb3ZlbWVudHMgYW5kIG5ldyBnZW8tbG9jYXRpb24gdGVzdHMKCSAgTWFrZXMgc29tZSBpbXByb3ZlbWVudHMgdG8gdGFnc2NoZWNraW5nLmMsIG1ha2luZyBpdCB1c2UKCSAgZmFrZXNyYyBpbnN0ZWFkIG9mIHZpZGVvdGVzdHNyYyBhbmQgYWxsb3dpbmcgdG8gc2V0IGlucHV0CgkgIGNhcHMgc28gdGhhdCBtb3JlIG11eGVycyBjYW4gYmUgdXNlZC4gUHJldmlvdXNseSB3ZSBjb3VsZAoJICBvbmx5IHVzZSB0aG9zZSB0aGF0IGFjY2VwdGVkIHJhdyB2aWRlbyBjYXBzLgoJICBBbHNvIGFkZHMgc29tZSB0ZXN0cyBmb3IgZ2VvLWxvY2F0aW9uIHRhZ3MKCjIwMTAtMDMtMTIgMTA6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBVc2UgeG1wIG9uIG1wNG11eCBhbmQgZ3BwbXV4IHRvbwoJICBEbyBub3QgcmVzdHJpY3QgeG1wIHRvIHF0bXV4LCBidXQgdXNlIGl0IHRvbwoJICBvbiBtcDRtdXggYW5kIGdwcG11eAoKMjAxMC0wMy0xMiAxMzo1OToxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTI3MmY3MSB0byA1NWNkNTE0CgoyMDEwLTAzLTEyIDA5OjUyOjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeCAxMC41CgoyMDEwLTAzLTExIDIxOjMyOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IGFkZCB4bXAgcmVhZGluZyBhbmQgd3JpdGluZyBzdXBwb3J0CgkgIEJ1bXAgbmVlZGVkIGJhc2UgdmVyc2lvbiBmb3IgbmV3IHhtcCBoZWxwZXIgbGlicmFyeS4gVXNlIHhtcCBoZWxwZXJzIGluCgkgIGpwZWdwYXJzZSBhbmQgamlmbXV4LgoKMjAxMC0wMy0xMiAwODoyMzo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IG1lcmdlIG1pc3Rha2UKCjIwMTAtMDItMjggMTk6NDE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL3BsdWdpbi5jOgoJICBzZWdtZW50Y2xpcDogQWRkIGF1ZGlvL3ZpZGVvIGJ1ZmZlciBzZWdtZW50IGNsaXAgZWxlbWVudHMKCSAgVGhlc2UgZWxlbWVudHMgY2xpcCB0aGUgYXVkaW8vdmlkZW8gYnVmZmVycyB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50CgkgIGZvciB0aGUgY2FzZSB3aGVuIHRoZSB1cHN0cmVhbSBlbGVtZW50cyBkb24ndCBkbyB0aGlzIGNvcnJlY3RseS4KCjIwMTAtMDItMjggMTY6MDg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBBZGQgc29tZSB1bml0IHRlc3RzCgoyMDEwLTAyLTI4IDE2OjA0OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IHVuZGVmaW5lZCBmcmFtZXJhdGUgaW4gc2luayBnZXRjYXBzIGZ1bmN0aW9uCgoyMDEwLTAyLTI4IDE1OjAyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogSW1wbGVtZW50IHJldmVyc2UgcGxheWJhY2sgYW5kIHNldCBidWZmZXIgb2Zmc2V0cwoKMjAxMC0wMi0yNyAxNzozNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkgIGltYWdlZnJlZXplOiBBZGQgdG8gdGhlIGRvY3MKCjIwMTAtMDItMjcgMTc6MzM6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW1hZ2VmcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuaDoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzdGlsbCBmcmFtZSBzdHJlYW0gZ2VuZXJhdG9yIGVsZW1lbnQKCjIwMTAtMDMtMDUgMTM6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgY2hlY2s6IHRhZ3NjaGVja2luZzogdGVzdHMgZm9yIHRhZ3Mgc2VyaWFsaXphdGlvbiBpbiBtdXhlcnMKCSAgQWRkcyBhIGNoZWNrIHVuaXQgdGVzdCB0aGF0IGFpbXMgdG8gdGVzdCB0YWdzIHNlcmlhbGl6YXRpb24KCSAgYW5kIGRlc2VyaWFsaXphdGlvbiBjb25zaXN0ZW5jeSAoaW4gbXV4ZXJzKS4gSXQgcHJvdmlkZXMgYQoJICBiYXNpYyBmdW5jdGlvbiB0aGF0IGFsbG93cyBvbmUgdG8gZWFzaWx5IHNwZWNpZnkgdGFncywgYQoJICBtdXhlciBhbmQgYSBkZW11eGVyIGFuZCBhIHRlc3Qgd2lsbCBiZSBkb25lIHRvIGNoZWNrIGlmCgkgIHRoZSB0YWdzIGhhdmUgYmVlbiBjb25zaXN0ZW50bHkgbXV4ZWQgYW5kIGRlbXV4ZWQKCjIwMTAtMDItMjIgMTY6NDU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgeG1wIHN1cHBvcnQKCSAgQWRkcyB4bXAgbWV0YXRhZ3MgYWRkaW5nIHRvIHF0bXV4LgoJICBGaXhlcyAjNjA5NTM5CgoyMDEwLTAzLTExIDA5OjI5OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogUmVtb3ZlIF9YTVBfR0VPXyogdGFncwoJICBSZW1vdmVzIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9DT1VOVFJZLAoJICBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fQ0lUWSBhbmQKCSAgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX1NVQkxPQ0FUSU9OIGZyb20gbWV0YWRhdGEncwoJICBwcml2YXRlIHRhZ3MgYXMgdGhvc2UgYXJlIG5vdyBwcmVzZW50IGF0IC1jb3JlIHRhZ3MuCgkgIEZpeGVzICM2MTI0MTAKCjIwMTAtMDMtMTEgMTc6MTc6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZQoJICBXZSBuZWVkIHRvIHBhc3MgKE5VTEwpIHJhdGhlciB0aGFuIE5VTEwgZm9yIGVtcHR5IGFyZ3VtZW50cy4KCjIwMTAtMDMtMTEgMTc6NTg6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTAtMDMtMTAgMTE6NTA6NDcgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZml4IGNvbXBpbGUgZXJyb3Igd2l0aCB0cmFjZSBtYWNybwoJICBOb3RlIHRoYXQgdGhpcyBvbmUgaXNuJ3QgYSBwcm9ibGVtIHdpdGggbm9ybWFsIHRyYWNlIG1hY3JvcywgYnV0IGNhdXNlcyBwcm9ibGVtcyB3aXRoCgkgIHNvbWUgcmVwbGFjZW1lbnQgdHJhY2UgbWFjcm9zIHRoYXQgSSB1c2UsIHdoaWNoIGV4cGVjdCB0aGUgZm9ybWF0IHN0cmluZyB0byBiZQoJICBhcHBlbmRhYmxlIChpZSAiZm9vICJmbXQgaW4gdGhlIG1hY3JvKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDExOjQ5OjIyIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgZml4IHRyYWNlIG1hY3JvIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMDoyNjoyNyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOjY4OTogd2FybmluZzogY29tcGFyaXNvbiBpcyBhbHdheXMgdHJ1ZSBkdWUgdG8gbGltaXRlZCByYW5nZSBvZiBkYXRhIHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMDoyMzoyMyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSAgcXRtdXg6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6MjY4OiB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMSAxMToyMToxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkZjhhN2M4IHRvIGUyNzJmNzEKCjIwMTAtMDMtMTEgMTE6Mjk6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGNoZWNrIGZvciBOVUxMIHdoZW4gY2FsbGluZyBnX2ZyZWUuCgkgIGdfZnJlZSBkb2VzIHRoZSBjaGVjayBhbHJlYWR5LiBBbHNvIHNtYWxsIGNvZGUgbG9naWMgY2xlYW51cCBhbmQgd2hpdGVzcGFjZSBmaXguCgoyMDEwLTAzLTExIDExOjI4OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgbWV0YWRhdGE6IHJlbW92ZSBlbXB0eSBzZXR0ZXIvZ2V0dGVyIHZtZXRob2QgaW1wbGVtZW50YXRpb25zCgoyMDEwLTAzLTExIDExOjE0OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGlubGN1ZGUgc3RkbGliLmggZm9yIGFicygpCgoyMDEwLTAyLTE3IDEzOjExOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSAgbWV0YWRhdGE6IHVwZGF0ZSBidWcgc3RhdHVzCgoyMDA5LTA5LTA4IDA5OjEzOjA3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlZmFjdG9yIGNyb3BwaW5nIGFuZCBhZGFwdGluZyBjYXB0dXJlZCBpbWFnZXMKCjIwMDktMDktMTAgMTM6NDE6NDAgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggTlVMTCAtPiBSRUFEWSBzdGF0ZSBjaGFuZ2UgZmFpbHVyZSBoYW5kbGluZy4KCSAgSW4gc29tZSBlcnJvciBzaXR1YXRpb25zIHRoZSBOVUxMIC0+IFJFQURZIHN0YXRlIGNoYW5nZSBmYWlsZWQKCSAgYW5kIGNhbWVyYWJpbiBlbGVtZW50cyB3ZXJlIG5vdCBkZXN0cm95ZWQuCgoyMDEwLTAyLTE3IDExOjUxOjI2ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBkb24ndCB1c2UgZ3N0X2J1c19wb2xsKCkgd2hlbiBjcmVhdGluZyBwcmV2aWV3IGltYWdlCgkgIEF2b2lkIHVzaW5nIGdzdF9idXNfcG9sbCgpIGFzIHRoZSBkb2NzIHJlY29tbWVuZC4gVXNlCgkgIGdzdF9idXNfdGltZWRfcG9wX2ZpbHRlcmVkKCkgaW5zdGVhZC4KCjIwMTAtMDMtMTAgMjE6MDE6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGZvciByZWNlbnQgY2hhbmdlcyB0byBjb21tb24gc3VibW9kdWxlCgkgIFRoaXMganVzdCByZXBsYWNlcyBldmVyeSAiJEVSUk9SX0NGTEFHUyIgdXNhZ2Ugd2l0aCBhIHVzYWdlIG9mCgkgICIkV0FSTklOR19DRkxBR1MgJEVSUk9SX0NGTEFHUyIgdG8gZ2V0IHRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgYXMKCSAgcHJldmlvdXNseS4KCSAgQWN0dWFsbHkgdXNpbmcgdGhhdCBzZXBhcmF0aW9uIHdpbGwgaGFwcGVuIGxhdGVyLgoKMjAxMC0wMy0xMCAyMTo1MjoyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NzIwYTdkIHRvIGRmOGE3YzgKCjIwMTAtMDMtMTAgMjA6NDQ6MDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMGI2ZTA3MiB0byA5NzIwYTdkCgoyMDEwLTAzLTEwIDE2OjEwOjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdjYzVlYjQgdG8gMGI2ZTA3MgoKMjAxMC0wMy0xMCAxMTozMzoxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICBkb2NzOiBVcGRhdGUgdG8gbWF0Y2ggcmVjZW50IGNvbW1pdHMKCjIwMTAtMDMtMTAgMDE6MTA6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3YWE2NWI1IHRvIDdjYzVlYjQKCjIwMDktMTItMDggMTY6MzY6MTYgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0OiBsaXN0IHZhbGlkIGlzby1zcGVlZHMgaW4gaGVscCBhbmQgdmFsaWRhdGUgc3BlZWRzIGluIHNldF9wcm9wZXJ0eS4KCjIwMDktMTItMDggMTY6MDU6MTQgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgZGMxMzk0OiBjaGVjayBpc28tc3BlZWQgdmFsdWVzIGluIHNldF9wcm9wZXJ0eSwgaWdub3JlIGlmIGludmFsaWQKCjIwMDktMTItMDggMTU6Mzc6MDMgLTA1MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgZGMxMzk0OiBhZGQgaXNvLXNwZWVkIHByb3BlcnR5CgkgIEFkZCBpc28tc3BlZWQgcHJvcGVydHkgd2hpY2ggYWxsb3dzIGZvciBoaWdoZXIgYmFuZHdpZHRoIGRjIHZpZGVvLgoJICBBdXRvbWF0aWNhbGx5IHNldCB0byBiLW1vZGUgYXMgbmVlZGVkLgoJICBGaXhlcyAjNjAzNzQ1LgoKMjAxMC0wMy0wOSAxOTo0ODo0NCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIGlucHV0c2VsZWN0b3I6IGZpeCB0aGUgTERGTEFHUwoKMjAxMC0wMy0wOSAyMTozODo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ0ZWNjZTcgdG8gN2FhNjViNQoKMjAxMC0wMy0wOSAyMToyNjoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBPbmx5IGVuYWJsZSBmcmFtZXN0YXRzIGNvZGUgd2l0aCBzY2hybyA+PSAxLjAuOQoKMjAxMC0wMi0yOCAxMDo0MjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogU3luYyBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGlmIG9uZSB3YXMgc2V0CgoyMDEwLTAyLTI3IDE5OjA4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBQcm90ZWN0IHNldC9nZXQgcHJvcGVydHkgYW5kIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGZyb20gY29uY3VycmVudCBhY2Nlc3MKCSAgVGhlIGZyZWkwciBkb2N1bWVudGF0aW9uIHNheXMgdGhhdCB0aGVzZSBmdW5jdGlvbnMgbXVzdCBub3QgYmUgY2FsbGVkCgkgIG9uIHRoZSBzYW1lIGluc3RhbmNlIGZyb20gZGlmZmVyZW50IHRocmVhZHMgYXQgdGhlIHNhbWUgdGltZS4gQWxsCgkgIG90aGVyIGZ1bmN0aW9ucyBhcmUgZ3VhcmFudGVlZCB0byBiZSB0aHJlYWRzYWZlLgoKMjAxMC0wMi0yNiAxNjo0MDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBidWlsZDogTWFrZSBzb21lIG1vcmUgcnVsZXMgc2lsZW50IGlmIHJlcXVlc3RlZAoKMjAxMC0wMi0yNiAxNTo0NTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIGF1dG9tYWtlIDEuMTEgc2lsZW50IHJ1bGVzIGluc3RlYWQgb2Ygc2hhdmUgaWYgYXZhaWxhYmxlCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHdlIHVzZSBzb21ldGhpbmcgdGhhdCBpcyBzdGlsbCBtYWludGFpbmVkIGFuZAoJICBhbHNvIGJyaW5ncyBiYWNrIGxpYnRvb2wgMS41IHN1cHBvcnQuCgoyMDEwLTAyLTI2IDE1OjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEFkZCB0ZXN0IGZvciBjb3JyZWN0IEk0MjAgcmVuZGVyaW5nCgoyMDEwLTAzLTA5IDEyOjMzOjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEFkZCBmcmFtZS1zdGF0cyBtZXNzYWdlCgoyMDEwLTAzLTA4IDIxOjAwOjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCBpbnZ0ZWxlY2luZSBlbGVtZW50CgkgIEF1dG9tYXRpYyBpbnZlcnNlIHRlbGVjaW5lIGVsZW1lbnQuICBSaWdodCBub3csIGl0IGNsdW1zaWx5IGF0dGVtcHRzCgkgIHRvIHJlYXJyYW5nZSB2aWRlbyBmaWVsZHMgaW50byBmcmFtZXMgdGhhdCBkb24ndCBoYXZlIGNvbWJpbmcgZWZmZWN0cywKCSAgYW5kIG9ubHkgd29ya3Mgd2l0aCA2MGkvMjRwIGNvbnRlbnQgYXQgNzIweDQ4MC4gIExhdGVyLCBpdCB3aWxsIGhhbmRsZQoJICBvdGhlciBwdWxsZG93biB2YXJpYXRpb25zLCBjaGFuZ2UgY2FwcyBhbmQgc21vb3RoIHRpbWVzdGFtcHMKCSAgYXBwcm9wcmlhdGVseS4KCjIwMTAtMDMtMDEgMTM6NDk6MzkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6CgkgIGFwZXhzaW5rOiBVc2UgImFwZXhzaW5rIiBmb3IgcGx1Z2luIG5hbWUKCjIwMTAtMDMtMDEgMTM6NDc6MzIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgd21uYzogVXBkYXRlIGRlc2NyaXB0aW9uCgoyMDEwLTAzLTAxIDEzOjIyOjA2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgbnV2ZGVtdXg6IFVwZGF0ZSBwbHVnaW4gZGVzY3JpcHRpb24KCjIwMTAtMDMtMDEgMTM6MTg6NTkgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIG5zZjogTmFtZSB0aGUgcGx1Z2luIG5zZiwgbm90IG5zZmRlYwoJICBUaGUgcGx1Z2luIGluIGdzdG5zZi5zbyBzaG91bGQgYmUgbmFtZWQgbnNmLCBub3QgbnNmZGVjLgoKMjAxMC0wMy0wOCAxMjoyMzo0OCAtMDMwMCAgVGlhZ28gS2F0Y2lwaXMgPHRpYWdva2F0Y2lwaXNAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IHJlbW92aW5nIHZlcnkgYW5ub3lpbmcgZ19wcmludCgpIGluIHBpdGNoIGVsZW1lbnQKCSAgRml4ZXMgIzYxMjIwOC4KCjIwMTAtMDMtMDkgMTc6NTA6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMTggPT09CgoyMDEwLTAzLTA2IDAxOjQ5OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTgKCjIwMTAtMDMtMDYgMDE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTAtMDMtMDMgMjM6NDI6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuNCBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yMiAxOTozODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IFJlbmFtZSAnYXZjLXNhbXBsZScgdG8gJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTIyIDE5OjI0OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogUmVwbGFjZSAnYXZjLXNhbXBsZScgd2l0aCAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjggMjM6MTQ6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIGRvY3M6IHJlbW92ZSBiaXRzIHRoYXQgcmVmZXIgdG8gcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtb3ZlZAoKMjAxMC0wMi0yNiAxODowNjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERyb3AgdGV4dCBidWZmZXJzIGJlZm9yZSB0aGUgc2VnbWVudCBzdGFydCBhbmQgY2xpcCBydW5uaW5nIHRpbWUgZW5kIHRvIHRoZSBzZWdtZW50IHN0b3AKCjIwMTAtMDItMjcgMTE6MjM6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBDb25zdW1lIHRleHQgYnVmZmVycyBpZiB0aGV5J3JlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgbmV4dCA1MDBtcwoJICBJbnN0ZWFkIG9mIG9ubHkgY29uc3VtaW5nIHRoZW0gaWYgdGhleSdyZSB0byBiZSBkaXNwbGF5IG5vdy4gQ29uc3VtaW5nCgkgIHRoZW0gdGhlbiBtaWdodCBtYWtlIGZvbGxvd2luZyBidWZmZXJzIHdpdGggdGhlIHNhbWUgdGltZXN0YW1wIHRvCgkgIGJlIHRvbyBsYXRlLgoKMjAxMC0wMi0yNiAxMTo1MDoyNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFRha2UgbG9jayBhcm91bmQgdXNlIG9mIChub24tdGhyZWFkc2FmZSkgdGFnc2V0dGVyIGludGVyZmFjZS4KCjIwMTAtMDItMjQgMDI6MDM6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMyBwcmUtcmVsZWFzZQoKMjAxMC0wMi0yMyAxODoxNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFByb3RlY3QgbGliYXNzIHN0cnVjdHVyZXMgZnJvbSBjb25jdXJyZW50IGFjY2VzcyBmcm9tIG11bHRpcGxlIHRocmVhZHMKCSAgRml4ZXMgYnVnICM2MDg3NTEuCgoyMDEwLTAyLTIzIDE3OjI4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDYWxsICRQS0dfQ09ORklHIGluc3RlYWQgb2YgcGtnLWNvbmZpZyB0byBmaXggY3Jvc3MgY29tcGlsYXRpb24KCjIwMTAtMDItMjIgMTY6NTE6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiB3cml0ZSBhbGwgdWR0YSBjaGlsZHJlbiBhdG9tcwoJICBVRFRBIG1pZ2h0IGhhdmUgTUVUQSBhbmQgb3RoZXIgY2hpbGRyZW4gYXRvbXMKCSAgdG9nZXRoZXIsIHdyaXRlIHRoZW0gYWxsLgoKMjAxMC0wMi0yMiAxMDo0ODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBVc2UgaW50ZXJuYWwgc2luayBwYWRzIGxpc3QKCSAgRHVlIHRvIEdzdENvbGxlY3RQYWRzIHNpbmsgcGFkcyBsaXN0IGJlaW5nIG5vdCByZWxpYWJseQoJICBpdGVyYXRhYmxlICh3aGVuIG5vdCBpbnNpZGUgdGhlIGNvbGxlY3RlZCBmdW5jdGlvbikgdGhpcwoJICBwYXRjaCBhZGRzIGEgc2luayBwYWRzIGxpc3QgdG8gcXRtdXggdG8gYmUgdXNlZCB3aGVuIGl0ZXJhdGluZwoJICBzaW5rIHBhZHMgb24gcmVzZXQgZnVuY3Rpb24uCgkgIEZpeGVzICM2MDkwNTUKCjIwMTAtMDItMjEgMTk6NTc6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgIGZhYWQ6IGZpeCBNYWtlZmlsZS5hbSBzb21lIG1vcmUKCSAgRkFBRF9DRkxBR1MgYW5kIF9MSUJTIHNob3VsZCBiZSBhdCB0aGUgZW5kLCBhbmQgLWxnc3RhdWRpby0wLjEwCgkgIHNob3VsZCBnbyByaWdodCBhZnRlciBHU1RfUExVR0lOU19CQVNFX0xJQlMuCgoyMDEwLTAyLTE5IDE1OjE3OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICBmYWFkOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBBbHNvIGZpeCBvcmRlciBvZiBDRkxBR1MgYW5kIExJQlMKCjIwMTAtMDItMTkgMDg6NTg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4yIHByZS1yZWxlYXNlCgoyMDEwLTAyLTE5IDA4OjU4OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBnZW5lcmF0ZWQgY29nIGZpbGVzCgoyMDEwLTAyLTE5IDEwOjMyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggTlVMTCByZWYgYW5kIGVycm9yIGhhbmRsaW5nIGlmIG5vIHZpZGVvIHNpbmsgaXMgZm91bmQKCSAgSWYgbm8gdmlkZW8gc2luayBpcyBzZXQgYW5kIGF1dG92aWRlb3NpbmsgaXMgbm90IGF2YWlsYWJsZSBmb3Igc29tZQoJICByZWFzb24sIHBvc3QgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIHdoZW4gZmFpbGluZyB0bwoJICBjaGFuZ2Ugc3RhdGUsIGFuZCBkb24ndCB0cnkgdG8gZ3N0X29iamVjdF9yZWYoKSBOVUxMIHBvaW50ZXJzLiBGaXhlcwoJICBnZW5lcmljL3N0YXRlcyB1bml0IHRlc3Qgd2hlbiBkaXN0Y2hlY2tpbmcuCgoyMDA5LTEyLTEwIDE2OjMwOjI2IC0wNTAwICBTdGVwaGVuIERlcG9vdGVyIDxzdGVwaGVuZEB4YW5kcm9zLmNvbT4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogZml4IGNvbXBpbGUgYWdhaW5zdCBlYXJsaWVyIENFTFQgdmVyc2lvbnMKCSAgQ2hlY2sgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgQ0VMVF9TRVRfQ09NUExFWElUWSBzeW1ib2wKCSAgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQuIEZpeGVzIGNvbXBpbGF0aW9uIGFnYWluc3QKCSAgbGliY2VsdCAwLjQuMC4KCSAgRml4ZXMgIzYwNDMxMS4KCjIwMTAtMDItMTcgMTI6MzQ6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHJldHVybiBvZmZzZXQrbGVuZ3RoIGZyb20gX2dldF9pbWFnZV9sZW5ndGgoKS4KCSAgX2ZpbmRfZW5kX21hcmtlcigpIGZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBtYXJrZXIuIEVPSSBoYXMgYSBmaXhlZCBsZW5ndGggb2YgMgoJICBieXRlcyB0aGF0IHdoZXJlIG1pc3NpbmcuIEZpeGVzICM2MDg5OTgKCjIwMTAtMDItMTcgMDE6MzQ6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyBmYWFkIHVuaXQgdGVzdAoKMjAxMC0wMi0xNyAwMToyOTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggaW52YWxpZCBtZW1vcnkgYWNjZXNzCgkgIFNlZSBidWcgIzYwODk5OC4KCjIwMTAtMDItMTYgMjI6MjM6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IHVuaXQgdGVzdCB0byBhY3R1YWxseSBjaGVjayBmb3IgZXZlcnl0aGluZyB0byB3b3JrIGNvcnJlY3RseQoKMjAxMC0wMi0xNiAyMjoyMjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIG5vIGNvZGVjIGRhdGEgaXMgc2V0LCBzdGlsbCBpbml0aWFsaXplIHRoZSBhc3MgdHJhY2sKCjIwMTAtMDItMTYgMjE6NDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0CgkgIFRoaXMgcmVuZGVycyBhIHRlc3Qgc3RyaW5nIG9uIHRvcCBvZiBhIHJlZCB2aWRlbyBzdHJlYW0gYW5kIGNoZWNrcwoJICBpZiB0aGUgdGV4dCBpcyBvbmx5IHJlbmRlcmVkIGF0IHRoZSBjb3JyZWN0IHRpbWVzdGFtcHMuCgoyMDEwLTAyLTE2IDIwOjM4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IEZpeCB3YXJuaW5nIG1lc3NhZ2UgcGFyc2luZwoKMjAxMC0wMi0xNiAxNjo0OTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGd1YXJkIGFnYWluc3QgY29kZWNfZGF0YSBmaWVsZCB3aXRoIGEgTlVMTCBidWZmZXIgaW4gY2FwcwoJICBGaXhlcyAjNjA5NDc4LgoKMjAxMC0wMi0xNiAxNzoxMzowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHByZXZlbnQgbGVha2luZyBoZGxyIG5hbWUKCjIwMTAtMDItMTYgMTY6MjQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IGZvciBBTEFDCgkgIEZpeGVzICM1ODA3MzEuCgoyMDEwLTAyLTE2IDE0OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogcmVmYWN0b3IgYnVpbGRpbmcgc3RzZCBlbnRyeSAnd2F2ZScgZXh0ZW5zaW9uCgoyMDEwLTAyLTE2IDEwOjAwOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgLnNwZWMgZmlsZTogc2hhcGV3aXBlIGFuZCBpdm9yYmlzZGVjIGhhdmUgYmVlbiBtb3ZlZCBlbHNld2hlcmUKCjIwMTAtMDItMTYgMDk6NDk6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBkb2NzOiB1bmlmeSBkb2Mgc3R5bGUKCSAgVXNlIGd0a2RvYyBzeW50YXggYW5kIGFkZCBzaG9ydCBkZXNjIGZvciB0aGUgZXhhbXBsZXMuCgoyMDEwLTAyLTE1IDIzOjQzOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdXAgR1NUX0NYWEZMQUdTIHByb3Blcmx5CgkgIFdlIGRvbid0IHdhbnQgQyBzcGVjaWZpYyBmbGFncyBpbiBHU1RfQ1hYRkxBR1MsIHNvIGJhc2UgaXQgb24gdGhlCgkgIEdTVF9DRkxBR1MgdGhhdCBvbmx5IGNvbnRhaW5zIHRoZSBwa2ctY29uZmlnIENGTEFHUyBidXQgbm9uZSBvZgoJICB0aGUgR1NUX09QVElPTl9DRkxBR1MuIEFsc28sIHdlIG9ubHkgbmVlZCB0aGUgbG9jYWwgaW5jbHVkZXMgb25jZS4KCjIwMTAtMDItMTUgMjM6MTc6NTcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBiYXNlIEdTVF9DWFhGTEFHUyBvbiAtLWNmbGFncyBmcm9tIHBrZy1jb25maWcKCSAgcGtnLWNvbmZpZyBzZXRzIEdTVF9DRkxBR1MgYW5kIEdTVF9MSUJTLiBXZSBuZWVkIHRvIHVzZSBDRkxBR1MgYXMgYSBzdGFydGluZwoJICBwb2ludCBmb3IgZm9yIGJvdGggQyBhbmQgQ1hYIHNldHRpbmdzLgoKMjAxMC0wMi0xNSAxMjo1Nzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IGZpeCBwcmludGYgZm9ybWF0IGFuZCBhIGZldyByZWYgbGVha3MKCjIwMTAtMDItMTUgMTI6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ3N0LWl2b3JiaXMubTQ6CgkgIGJ1aWxkOiByZW1vdmUgc29tZW0gbW9yZSBpdm9yYmlzIGNydWZ0CgoyMDEwLTAyLTE1IDExOjU1OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIE1vdmVkICdpdm9yYmlzKGRlYyknIGZyb20gLWJhZCB0byAtYmFzZS4KCSAgRml4ZXMgIzYwOTA2My4KCjIwMTAtMDItMTUgMDk6MzY6MDUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEZpeCBmaWVsZCBlcnJvci4KCSAgU3BvdHRlZCBieSBCdXJraGFyZCBQbGF1bQoKMjAxMC0wMi0xNSAwMToyNjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IGZpeCBjYXBzIGxlYWsgaW4ganBlZ3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wMi0xMyAxNToyODozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciBkYXRhdXJpc3JjCgkgIFJlcXVpcmVzIGZpeGVzIGZyb20gY29yZSBnaXQsIHNvIGJ1bXAgY29yZSByZXF1aXJlbWVudCB0byBnaXQgYXMgd2VsbC4KCjIwMTAtMDItMTQgMjM6MTg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NmRjNzkzIHRvIDQ0ZWNjZTcKCjIwMTAtMDItMTQgMTU6MjI6MDUgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJICBleGFtcGxlczogQ2FsbCBnc3RfZW5zdXJlX25hdGl2ZV93aW5kb3coKSBmb3IgZ3N0LWNhbWVyYQoJICBGaXhlcyBzcHVyaW91cyBTRUdWcyBkdWUgdG8gbXVsdGl0aHJlYWRpbmcgY29uZmxpY3RzIGluCgkgIGNsaWVudC1zaWRlLXdpbmRvdyBHdGsgdmVyc2lvbnMuCgoyMDEwLTAyLTE0IDEzOjQzOjA0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogVXNlIGd0ayBmdW5jdGlvbnMgaW5zdGVhZCBvZiBsaWJYMTEgZnVuY3Rpb25zIGluIGNhbWVyYWJpbgoJICBHZXRzIGFyb3VuZCB0aGUgbmVlZCB0byBsaW5rIHRvIGxpYlgxMSBkaXJlY3RseSBhbmQgcHJvdmlkZXMgdGhlIHNhbWUKCSAgZnVuY3Rpb25hbGl0eS4KCSAgVG8gYm9vc3QsIGl0J3MgbW9yZSBwb3J0YWJsZSwgdG9vIQoKMjAxMC0wMi0xNCAxMzo0MTo1NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBQcm9wZXJseSBsaW5rIHRvIGxpYm0KCjIwMTAtMDItMTMgMTE6MDA6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIEFkZCBzaGFwZXdpcGUgZXhhbXBsZXMgZGlyZWN0b3J5IHRvIENSVUZUX0RJUlMKCjIwMTAtMDItMTIgMTE6MzU6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSAgZG9jczogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTIgMTE6MjE6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgTW92ZWQgJ3NoYXBld2lwZScgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEZpeGVzIGJ1ZyAjNTg0NTM2LgoKMjAxMC0wMi0xMSAyMTo1Nzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDItMTEgMjA6Mzc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgZmFhZDogYWRkIHVuaXQgdGVzdAoKMjAxMC0wMi0xMSAyMDoyMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBkb2N1bWVudGF0aW9uIHR5cG8KCjIwMTAtMDItMTEgMjA6MjE6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZW1vdmUgc29tZSByZWR1bmRhbnQgY29kZQoJICAuLi4gYW5kIG1vdmUgYW5kIG1vZGlmeSBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDEwLTAyLTEwIDIzOjI5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZHJhaW4gc3luYyBwZW5kaW5nIGZyYW1lcyB3aGVuIGFwcHJvcHJpYXRlCgoyMDEwLTAyLTEwIDIzOjE0OjQ4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogc2VuZCB0YWdzIGV4YWN0bHkgb25jZSB3aGVuIGluaXQnZWQKCjIwMTAtMDItMTAgMjM6MTQ6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciBzb21lIHBhcnRpYWwgc3RyZWFtIHJlc2V0CgoyMDEwLTAyLTEwIDIyOjE0OjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogY29ycmVjdGx5IGVzdGltYXRlIGF2ZXJhZ2UgYnBzCgkgIENvdW50IGNvbnN1bWVkIGJ5dGVzIGFuZCBjb3JyZXNwb25kaW5nIGR1cmF0aW9uIGF0b21pY2FsbHksCgkgIHJhdGhlciB0aGFuIGxldHRpbmcgYnl0ZWNvdW50IHJ1biBhaGVhZCBvZiB3aGF0IGhhcyBiZWVuIGRlY29kZWQuCgkgIEZpeGVzICM0NDA0NzYuCgoyMDEwLTAyLTEwIDIxOjQ5OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZ2l2ZSB1cCBhZnRlciBzb21lIG51bWJlciBvZiBkZWNvZGluZyBmYWlsdXJlcwoKMjAxMC0wMi0xMCAyMTozNzoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogZG8gbm90IGF0dGVtcHQgdG8gc3luYyBpbmRlZmluaXRlbHkKCjIwMTAtMDItMTAgMjE6MTI6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHVzZSBhZGFwdGVyIHJhdGhlciB0aGFuIHRlbXBvcmFyeSBidWZmZXIKCjIwMTAtMDItMTAgMTk6MTQ6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBvYmplY3RpZnkgZGVidWcgc3RhdGVtZW50cyBhbmQgYWRqdXN0IHNvbWUgbGV2ZWxzCgoyMDEwLTAyLTEwIDE4OjQ2OjE2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3Igc3JjIGNhcHMgKHJlKW5lZ290aWF0aW9uIGFuZCByZWZsb3cgc29tZSBlcnJvciBleGl0cwoKMjAxMC0wMi0wOSAyMzozNToyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogcmVtb3ZlIGRlZnVuY3QgYW5kIG90aGVyd2lzZSBvYnNvbGV0ZSBjb2RlCgoyMDEwLTAyLTA5IDIzOjI1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3IgcmVzZXQKCjIwMTAtMDItMDkgMjI6NDY6MzIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHVzZSBhbiBpbiBzdHJ1Y3Qgc2VnbWVudCByYXRoZXIgdGhhbiBhIHNlcGFyYXRlbHkgYWxsb2NhdGVkIG9uZQoKMjAxMC0wMi0xMCAxMDo1Mjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByZXNlcnZlIHRoZSBpbnB1dCBjb2xvciB2YWx1ZXMgaW4gYWxsIGNhc2VzCgoyMDEwLTAyLTEwIDEwOjUwOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogU2NhbGUgbWFzayBhbHBoYSB2YWx1ZXMgYnkgdGhlIHNvdXJjZSBhbHBoYSB2YWx1ZXMKCjIwMTAtMDItMTAgMTA6NDI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggQVJHQiBwcm9jZXNzaW5nCgoyMDEwLTAyLTEwIDEwOjM0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IFByaW50IHNvbWUgbW9yZSBkZXRhaWxzIG9uIGVycm9yL3dhcm5pbmcgbWVzc2FnZXMKCjIwMTAtMDItMDkgMTU6MjA6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogTmV2ZXIgZmx1c2ggbW9yZSBieXRlcyB0aGFuIGF2YWlsYWJsZQoJICBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgaW5wdXQgZG9lc24ndCBjb250YWluIGFueSBNUEVHIFRTCgkgIGRhdGEgYW5kIHRoZSBjb21wbGV0ZSBhZGFwdGVyIGNvbnRlbnQgc2hvdWxkIGJlIHNraXBwZWQuCgoyMDEwLTAyLTA4IDExOjUxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkgIHF0bXV4OiBhdG9tc3JlY292ZXJ5OiBGaXggY29tcGlsYXRpb24gcHJvYmxlbQoJICBGaXhlcyBhIGNvbXBpbGF0aW9uIGVycm9yIGR1ZSB0byB1bnVzZWQgZnVuY3Rpb24gcmVzdWx0LgoKMjAxMC0wMi0wOCAwODoyNjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEltcHJvdmUvYWRkIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoyMDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFsd2F5cyBob2xkIHRoZSBtYXNrIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBHQ29uZAoKMjAxMC0wMi0wOCAwODoxOTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IE1vdmUgY2hhaW4gZnVuY3Rpb24gZXJyb3IgY2FzZXMgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24gYW5kIGFkZCB1c2VmdWwgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjEyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogRml4IHJhY2UgY29uZGl0aW9uIGR1cmluZyBzaHV0ZG93biB0aGF0IGNhbiBsZWFkIHRvIGEgZGVhZGxvY2sKCjIwMTAtMDItMDggMDg6MTE6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEcm9wIG1hc2sgYnVmZmVyIG9uIEZMVVNIIGV2ZW50cwoKMjAxMC0wMi0wOCAwODowOTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IFVwZGF0ZSBjb3B5cmlnaHQgeWVhcgoKMjAxMC0wMi0wOCAwODowODo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERvbid0IHJlc2V0IHByb3BlcnRpZXMgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIEFsc28gdXNlIGRlZmluZXMgZm9yIHRoZSBkZWZhdWx0IHZhbHVlcyBvZiB0aGUgcHJvcGVydGllcy4KCjIwMTAtMDItMDcgMTE6MDk6NDUgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBmaXggY29tcGlsYXRpb24gd2l0aCBNU1ZDCgkgIE1TVkMgZG9lc24ndCBsaWtlICNpZiAjZWxzZSB3aXRoaW4gc3RhdGVtZW50cy4KCSAgRml4ZXMgIzYwOTIxNS4KCjIwMTAtMDEtMjYgMTc6MDg6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGRvbid0IGVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMKCSAgRG9uJ3QgZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycywgYXMgd2UnbGwgc2VuZCB0aGUgYnVmZmVyIGFzCgkgIHRleHQvcGxhaW4gcmF0aGVyIHRoYW4gdGV4dC94LXBhbmdvLW1hcmt1cDsgdGhpcyBhdm9pZHMgZS5nLgoJICBxdW90ZXMgZnJvbSBhcHBlYXJpbmcgYXMgJnF1b3Q7IGluIHRoZSByZW5kZXJlZCBzdWJ0aXRsZXMuCgkgIFNlZSBidWcgIzYwMDkyOS4KCjIwMTAtMDEtMjQgMTE6MTQ6MTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogcmVuYW1lIHRoZSB0aWdlciBvdmVybGF5IGVsZW1lbnQncyBzaW5rIHBhZCB0byAnc3VidGl0bGVfc2luaycKCSAgQXMgdGhpcyBpcyB3aGF0IHBsYXliaW4yIGV4cGVjdHMuIFNlZSBidWcgIzYwMDkyOS4KCjIwMTAtMDItMDcgMTA6MTk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJICBqcGVncGFyc2U6IGxvd2VyIHJhbmsgdG8gTk9ORSBzbyBpdCBpcyBub3QgYXV0b3BsdWdnZWQgZm9yIGRlY29kaW5nCgkgIFRoaXMgZWxlbWVudCBpcyB0b28gbmV3IGFuZCB0b28gdW50ZXN0ZWQgdG8gaGF2ZSBpdCBhdXRvcGx1Z2dlZC4KCjIwMTAtMDItMDUgMTc6MjU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IHVuaXQgdGVzdAoJICBUaGUgcGFyc2VkIGJ1ZmZlcnMgaGF2ZSBhIGZyYW1lcmF0ZSBvZiAxLzEuCgkgIEZpeGVzIGJ1ZyAjNjA4OTk4LgoKMjAxMC0wMi0wNSAxMDoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJICBtZXRhZGF0YTogYXBwZW5kX3NvcnRlZCBzaG91bGQgcmVhbGx5IGFwcGVuZCBzb3J0ZWQKCSAgLi4uIHdoaWNoIG1lYW5zIHRoYXQgaWRlbnRpY2FsIG9mZnNldF9vcmlnIHNob3VsZCBwcmVzZXJ2ZSB0aGUgb3JkZXIKCSAgaW4gd2hpY2ggdGhleSBhcmUgYXBwZW5kZWQuCgoyMDEwLTAyLTA1IDEwOjE2OjI3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkgIG1ldGFkYXRhOiB1c2UgYSBub24tREVGQVVMVCBwcm9wZXIgZGVidWcgY2F0ZWdvcnkgaW4gaGVscGVyIGZpbGVzCgoyMDEwLTAyLTA0IDE5OjQ1OjQyICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRml4IGEgcG90ZW50aWFsIHVucmVmIG9mIGEgTlVMTCBwb2ludGVyLgoJICBBdCBmaXJzdCBpdGVyYXRpb24gd2UgZG9uJ3QgaGF2ZSBhbnkgY2FjaGVkIFNQUy9QUFMgYnVmZmVyIHRvIGZyZWUuCgoyMDEwLTAyLTAyIDExOjQzOjIyIC0wNTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWRkIFBBVC9QTVQgaW4gc3RyZWFtaGVhZGVyCgkgIFRoZSBjaGVjayBmb3IgUEFUL1BNVCBidWZmZXJzIHdhcyBzdWdnZXN0ZWQgYnkKCSAgWmFoZWVyIEFiYmFzIE1lcmFsaS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMi0wMyAxMzozMToyMiArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgcGF0LWludGVydmFsIGFuZCBwbXQtaW50ZXJ2YWwgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAyLTAzIDEzOjQxOjI3ICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGZpeCBQQVQvUE1UIGluc2VydGlvbiBmcmVxdWVuY3kKCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBjb21wYXJpbmcgdGltZXN0YW1wcyB3aXRoIGRpZmZlcmVudCBjbG9jay4KCSAgTGV0J3MgdXNlIG9ubHkgdGhlIGNsb2NrIGZvciBQVFMgdmFsdWVzLgoJICBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gaW50ZXJ2YWwsIHRvIGF2b2lkIGNvbmZ1c2lvbi4gQW5kIHJlbW92ZQoJICBkb2N1bWVudGF0aW9uIGFib3V0IHZhbHVlIDAsIHdoaWNoIHdvbid0IHdvcmsgbGlrZSBkb2N1bWVudGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAxLTI3IDE2OjI5OjAwICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IG1hcmtpbmcgbm9uLWRlbHRhIHVuaXQsIGluY2x1ZGluZyBwcmUtc2VjdGlvbnMKCSAgVGhpcyBwYXRjaCBhZGRyZXNzIHRoZSBpc3N1ZSBvYnNlcnZlZCB3aXRoIEtGIHRpbWVzdGFtcHMKCSAgYW5kIGRlbHRhIGZsYWcuIFdoZW4gYSBzZWN0aW9uIGlzIGFwcGVuZGVkIGJlZm9yZSB0aGUga2V5ZnJhbWUsCgkgIGl0IGlzIG5vdCBtYXJrZWQgYXMgbm9uLWRlbHRhLiBJdCdzIHByZWZlcmFibGUgdG8gbWFyayB0aGUKCSAgZmlyc3QgYnVmZmVyIG5vbi1kZWx0YS4KCSAgVGhpcyBwYXRjaCBhbHNvIHNpbXBsaWZ5IHRoZSBpbml0aWFsIHBhdGNoIHdyaXR0ZW4gYnkgdGhvbWFzLAoJICBzaW5jZSBpdCBkb2VzIG5vdCBjbHV0dGVyIHRzbXV4LyB3aXRoIGEgZGVsdGEgZmxhZyBwYXNzZWQKCSAgYXJvdW5kIG9ubHkgZm9yIEdTdHJlYW1lciBjb252ZW5pZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNDkwOAoKMjAxMC0wMi0wMyAxNTowNzowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkgIGpwZWdmb3JtYXQ6IGFkZCBhIGJhc2ljIGppZm11eGVyCgkgIFRoZSBuZXcgZWxlbWVudCBjYW4gY2hvcCBhbmQgcmVhc3NlbWJsZSB0aGUgbWFya2Vycy4gSSBpbXBsZW1lbnRzIHRoZSB0YWdzZXR0ZXIKCSAgYW5kIGZvciBub3cgY2FuIHNlcmlhbGl6ZSBzb21lIHRhZ3MgdG8ganBlZyBjb21tZW50cy4KCjIwMDktMTItMTIgMTY6MDc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5Lmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhwbHVnaW4uYzoKCSAgcXRtdXg6IEFkZHMgbW9vdiByZWNvdmVyeSBmZWF0dXJlCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gcXRtdXggdGhhdCBzZXRzIGEgcGF0aCB0byBhIGZpbGUgdG8gd3JpdGUKCSAgYW5kIHVwZGF0ZSBkYXRhIGFib3V0IHRoZSBtb292IGF0b20gKHRoYXQgaXMgbm90IHdyaXRlbiB0aWxsIHRoZQoJICBlbmQgb2YgdGhlIGZpbGUpLiBJZiB0aGUgcGlwZWxpbmUvYXBwIGNyYXNoZXMgZHVyaW5nIGV4ZWN1dGlvbiBpdAoJICBtaWdodCBiZSBwb3NzaWJsZSB0byByZWNvdmVyIHRoZSBtb3ZpZSB1c2luZyB0aGUgcXRtb292cmVjb3ZlciBlbGVtZW50LgoJICBxdG1vb3ZyZWNvdmVyIGlzIGFuIGVsZW1lbnQgdGhhdCBpcyBhbHNvIGEgcGlwZWxpbmUuIEl0IGlzIG5vdAoJICBtZWFudCB0byBiZSB1c2VkIHdpdGggb3RoZXIgZWxlbWVudHMgKGl0IGhhcyBubyBwYWRzKS4gSXQgaXMgbWVyZWx5CgkgIGEgdG9vbC91dGlsaXRhcnkgdG8gcmVjb3ZlciB1bmZpbmlzaGVkIHF0bXV4IGZpbGVzLgoJICBGaXhlcyAjNjAxNTc2CgoyMDEwLTAyLTAyIDExOjIyOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGltcHJvdmUgcGFyc2luZwoJICBIYW5kbGUgbW9yZSBhcHAgbWFrZXIuIFByaW50IGFwcCBtYXJrZXIgbmFtZXMgdG8gZGVidWcgbG9nLiBSZW1lbWJlciBsYXN0X21hcmtlcgoJICB3aGVuIHBhcnNpbmcgdG8gYXZvaWQgcmVwYXJzaW5nIGZyb20gdGhlIHZlcnkgYmVnaW4uCgoyMDEwLTAyLTAyIDEyOjIzOjI0ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSAgbXBlZ3RzbXV4OiBnZW5lcmF0ZSBTUFMvUFBTIGhlYWRlciBvbmNlIGFuZCBmaXggb3ZlcmZsb3cKCSAgU29tZSBIMjY0IHBhY2tldHMgY2FuIGJlIGFzIHNtYWxsIGFzIDUgYnl0ZXMgZm9yIHJlcGVhdGVkIGZyYW1lcy4KCSAgSW4gc3VjaCBhIHNpdHVhdGlvbiB0aGUgb3V0cHV0IGJ1ZmZlciBzaXplIHdhcyBub3QgYmlnIGVub3VnaCAoNSoyKSB0byBmaXQgdGhlCgkgIFNQUy9QUFMgaGVhZGVyIGFuZCB0aGUgc3RhcnQgY29kZXMuIFRoaXMgY29ycnVwdHMgdGhlIEVTIHN0cmVhbS4KCSAgV2Ugbm93IGdlbmVyYXRlIHRoZSBTUFMvUFBTIG9ubHkgb25jZSB3aGljaCBpcyBtdWNoIG1vcmUgb3B0aW1hbCBhbmQgd2Ugbm93CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIGhlYWRlciB0byBjYWxjdWxhdGUgdGhlIG91dHB1dCBidWZmZXIgc2l6ZSBtb3JlIHNhZmVseS4KCjIwMTAtMDItMDIgMDE6NDQ6MjAgKzAxMDAgIEdyaWdvcmkgR29yb256eSA8Z3JlZ0BibGFja2JveD4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogaW5zdHJ1Y3QgbGliYXNzIHRvIHVzZSBsaWdodCBhdXRvaGludGluZwoJICBGaXhlcyBidWcgIzYwODc1My4KCjIwMTAtMDItMDIgMDg6NTM6NTMgKzAxMDAgIEVyaWMgQXBwbGVtYW4gPGVyYXBwbGVtYW5AZ21haWwuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEb24ndCBzY2FuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgcmVjdXJzaXZlbHkgZm9yIGZvbnRzCgkgIFRoaXMgY2FuIHRha2UgYSB2ZXJ5IGxvbmcgdGltZSBhbmQgYWxzbyBsaWJhc3Mgd2lsbCBvdmVyd3JpdGUgZmlsZXMKCSAgaWYgdGhlcmUncyBhbiBlbWJlZGRlZCBmb250IHdpdGggdGhlIHNhbWUgZmlsZW5hbWUgYXMgYW4gZXhpc3RpbmcgZmlsZS4KCSAgRml4ZXMgYnVnICM1NzU4NzggYW5kICM2MDg3MDYuCgoyMDEwLTAyLTAxIDE2OjI2OjM2IC0wODAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBkb24ndCBjcmFzaCBvbiBpbnZhbGlkIEFNX01FRElBX1RZUEUKCjIwMTAtMDEtMjcgMTk6MDY6NTMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBmb3IgZml4ZWQtc2FtcGxlIHNpemUgc3RyZWFtcyAoUENNIGF1ZGlvLCBldGMpIGRvbid0IGFsbG9jYXRlIGFuIGVub3Jtb3VzIGJ1ZmZlciB0aGF0IHdlIHRoZW4gd29uJ3QgdXNlIGF0IGFsbC4KCjIwMTAtMDEtMjcgMTU6Mzc6MzcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBoYW5kbGUgbXV4aW5nIGFkcGNtIGNvcnJlY3RseS4KCjIwMTAtMDEtMjIgMTM6MzY6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBTZXQgdGhlIG1kaWEgaGRsciBuYW1lIGZpZWxkIHRvIHdoYXQgcXVpY2t0aW1lIHVzZXMuIEZpeCB3cml0aW5nIGl0IHNpbmNlIGl0J3Mgbm90IG51bGwtdGVybWluYXRlZC4gSW1wcm92ZXMgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgaGFyZHdhcmUgcGxheWVycy4KCjIwMTAtMDEtMjIgMTM6MzA6MDcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmRpYW5uZXNzIGluIGdzdHJlYW1lciBpcyBhbiBpbnQsIG5vdCBib29sZWFuLgoKMjAxMC0wMS0xNiAxMzoxNzowOCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBhcnNlIG1vcmUgZm9ybXMgb2YgY29kZWNfZGF0YQoKMjAxMC0wMi0wMSAyMjozNzozOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBjb2RlIGNsZWFudXBzCgkgIE1vcmUgbG9nZ2luZyBhbmQgY29tbWVudHMuIFJlbmFtZSBzb21lIHZhcnMgZm9yIGNvbnNpc3RlbmN5LiBGdWxseSBpbml0IHBvcnQKCSAgc3RydWN0LgoKMjAxMC0wMi0wMSAyMjozMjozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yLGx2MixsYWRzcGE6IG1vdmUgc2FtcGxlLXJhdGUgdG8gYmFzZWNsYXNzCgkgIFdlIG5lZWQgdGhlIHNhbXBsZS1yYXRlIGluIGJhc2VjbGFzcyBmb3IgdXBjb21taW5nIHRpbWVzdGFtcCBjaGFuZ2VzLgoKMjAxMC0wMi0wMSAyMjoyNDo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2hvcnRlciBlbGVtZW50IG5hbWVzCgkgIEN1dCBvZmYgdGhlIHByb3RvY29sIHBhcnQgZnJvbSB0aGUgdXJpLiBBbHNvIGp1c3QgZ19TdHJkdXAsIGluc3RlYWQgb2YgcHJpbnRmCgkgIHRoZSBuYW1lLgoKMjAxMC0wMi0wMSAxNzo0NjoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcHJvdmlkZSBhIGdldGNhcHMgZnVuY3Rpb24gZm9yIHNyYyBwYWQgYW5kIGltcHJvdmUgc2V0Y2FwcwoJICBQcmV2aW91c2x5IGpwZWdwYXJzZSB3YXMgZmFpbGluZyBpbiBkZWNvZGViaW4gYXMgdGhlIGNhcHMgd2Ugd2VyZSBzZXR0aW5nIHdoZXJlIG5vdAoJICBzZXR0aW5nIGFsbCBjYXBzIGZpZWxkcy4gV2UgbmVlZCB0aGUgb3duIGdldGNhcHMgZnVuY3Rpb24gdG8gcmVwb3J0IHdoYXQgd2UgYWN0dWFseQoJICBhY2NlcHQuCgoyMDEwLTAyLTAxIDE3OjE2OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBleHRyYWN0IGNvbW1lbnQgYW5kIHBvc3QgYXMgbWV0YWRhdGEKCjIwMTAtMDItMDEgMTU6MDQ6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSAganBlZ2Zvcm1hdDogY29kZSBjbGVhbnVwcwoJICBNb3ZlIHRoZSBqcGVnIG1hcmtlciBkZWZpbmVzIHRvIGEgaGVhZGVyICh0byBiZSB1c2VkIGZvciBqaWZtdXgpLiBSZXdyaXRlIHNvbWUKCSAgY29tbWVudHMuIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4gQWRkIG1vcmUgbG9nZ2luZy4KCjIwMTAtMDEtMzEgMjI6MjE6NDIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2ltcGlmeSBwcm9wZXJ0eSByZWdpc3RyYXRpb24KCSAgQXZvaWQgdHlwZSBjaGVraW5nIGNhc3RzIGZvciBlYWNoIHByb3BlcnR5LiBVc2UgYSBydW5uaW5nIGluZGV4LgoKMjAxMC0wMS0zMSAyMjoxNjoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgdGhlIGdzdC1jb250cm9sbGVyLCBhZGQgc29tZSBiYXNpYyB0aW1lc3RhbXBpbmcKCSAgQXRsZWFzdCBmb3IgRlggd2Ugbm93IGhhdmUgdGltZXN0YW1wcyBhbmQgY2FuIHN5bmMgdGhlIGNvbnRyb2xsZXIuIFN0aWxsIG5lZWQKCSAgdGltZXN0YW1wcyBmb3Igc291cmNlcy4KCjIwMTAtMDEtMzEgMjI6MTQ6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogc2ltcGxpZnkgcHJvcGVydHkgcmVnaXN0cmF0aW9uCgkgIERvbid0IGRvIGNoZWNraW5nIGNhc3QgZm9yIGVhY2ggcGFyYW1ldGVyLiBVc2UgYSBydW5uaW5nIGluZGV4LgoKMjAxMC0wMS0zMSAyMjoxMzowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiB1c2UgcGx1Z2luIGRlcGVuZGVuY3kgcmVnaXN0cnkgYXBpCgoyMDEwLTAxLTMxIDIyOjExOjQwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGxvb2t1cCBHUXVhcmsganVzdCBvbmNlIGluc3RlYWQgZm9yIGVhY2ggcGx1Z2luKzEKCjIwMTAtMDEtMzEgMjI6MDg6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogbG9va3VwIEdRdWFyayBqdXN0IG9uY2UgYW5kIG5vdCBmb3IgZWFjaCBwbHVnaW4rMQoKMjAxMC0wMS0zMSAyMjowNzowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB0aGVzZSBhcmUgbm90IGd0ay1kb2MgY29tbWVudHMKCjIwMTAtMDEtMzEgMjI6MDU6MzAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGxhZHNwYS9sdjI6IGxpbmsgYW5kIGluaXQgdG8gZ3N0LWNvbnRyb2xsZXIKCjIwMTAtMDEtMzEgMTU6NTM6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogbmV3IGlzIGEgYysrIGtleXdvcmQsIGJldHRlciBsb2dnaW5nCgkgIFVzZSBwYWQgaW5zdGVhZCBvZiBuZXcgZm9yIHRoZSBwYWQgdmFyLiBBbHNvIHVzZSBwYWQgYXMgb2JqZWN0IGluIHRvIGRlYnVnCgkgIGxvZ2dpbmcuCgoyMDEwLTAxLTMwIDE1OjE5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTVkNDdhNiB0byA5NmRjNzkzCgoyMDEwLTAxLTI5IDEyOjI1OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogbW92ZSBwbHVnaW4gcGFydCB0byBzcGVwYXJhdGUgZmlsZSwgc28gdGhhdCB3ZSBjYW4gYWRkIHRoZSBqaWZtdXgKCjIwMTAtMDEtMjkgMTE6Mzk6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSAgZG9jczogdXBkYXRlIG9mIHRoZSBwbHVnaW4gZG9jcywgYWRkaW5nIG5ldyBpbnRyb3NwZWN0IGRhdGEKCjIwMDktMDgtMTkgMTI6MjI6MzAgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogbmV3IGpwZWcgcGFyc2VyIGVsZW1lbnQuIEZJeGVzICM1ODMwOTgKCSAgUGFyc2UgSlBFRyBpbWFnZXMsIGV4dHJhY3RzIGl0cyBtZXRhZGF0YSwgc2V0IGNhcHMgYW5kCgkgIHBhY2tldGl6ZSBhbiBpbWFnZSBwZXIgYnVmZmVyLgoKMjAxMC0wMS0yOCAxNTowMDozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluLWV4YW1wbGU6IGNsZWFudXBzIGZvciBtYWlubG9vcCBhbmQgc3RhdGUtY2hhbmdlcy4gRml4ZXMgIzYwODA0MgoJICBTdGFydCBjYW1lcmFiaW4gdmlhIGlkbGUgaGFuZGxlciB0byBoYXZlIHRoZSBtYWlubG9vcCBhbHJlYWR5IHJ1bm5pbmcuIEF2b2lkCgkgIHNvbWUgdW5uZWNlc3Nhcnkgc3RhdGUgY2hhbmdlcy4gQ2xlYW51cCB0aGUgYnVzIHVzYWdlIHdoZW4gcmVzdGFydGluZy4KCjIwMTAtMDEtMjggMTQ6NTc6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9nIE5VTEwgY2FwcywgYWxzbyBkb3duZ3JhZGUgdG8gREVCVUcgYXMgaXQgaXMgdmVyeSB2ZXJib3NlCgkgIFRoaXMgZGVidWcgbG9nIGVudHJ5IHdhcyBhbHNvIG5vdCBtZW50IHRvIGJlIHVzZWQgaW4gdGhlIGZhaWx1cmUgY2FzZS4KCjIwMTAtMDEtMjggMDA6MDc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBhZGQgc3RhcnQgZnVuY3Rpb24gc28gd2UgY2FuIGVycm9yIG91dCBwcm9wZXJseSBpZiBubyB1cmkgaXMgc2V0CgkgIEFsc28gc2F2ZSBhIHNldCBVUkkgYWZ0ZXIgaXQgaGFzIGJlZW4gcGFyc2VkIHN1Y2Nlc3NmdWxseSwgc28gdGhhdCBfZ2V0X3VyaSgpCgkgIGFjdHVhbGx5IHdvcmtzLgoKMjAxMC0wMS0yNyAyMzo0NjozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGRvbid0IHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHNldHRpbmcgdGhlIFVSSSBmYWlsZWQKCSAgVGhlcmUncyBhIGdib29sZWFuIHJldHVybiBmb3IgdGhhdCwgYW5kIHRoZSBtZXNzYWdlcyBkb24ndCByZWFsbHkKCSAgYWRkIGFueXRoaW5nIHVzZWZ1bC4KCjIwMTAtMDEtMjcgMjM6Mzk6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBtdXN0IHJlbGVhc2UgdGhlIG9iamVjdCBsb2NrIGJlZm9yZSB1c2luZyBHU1RfRUxFTUVOVF9FUlJPUgoKMjAxMC0wMS0yNyAyMzozNDozNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBhZGQgbW9yZSBkZWJ1ZyBhbmQgcmVtb3ZlICJcbiIgZnJvbSBkZWJ1ZyBsb2dnaW5nCgoyMDEwLTAxLTI3IDIzOjI5OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGJldHRlciBnb2JqZWN0IHByb3BlcnRpZXMKCSAgVXNlIGx2MjpzeW1ib2wgYXMgYSBiYXNlIGZvciB0aGUgcHJvcGVydHkgbmFtZSBhbmQgbHYyOm5hbWUgZm9yIG5pY2sgYW5kIGJsdXJiLgoKMjAxMC0wMS0yNiAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkgIHF0bXV4OiBzdHJlYW1saW5lIG1vb3YgZGF0YSBtZW1vcnkgc3RvcmFnZQoJICBJbiBwYXJ0aWN1bGFyLCB1c2UgYXJyYXlzIHJhdGhlciB0aGFuIChkb3VibGUpIGxpbmtlZCBsaXN0cy4KCjIwMTAtMDEtMTQgMTE6NTA6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgYmFzZXBhcnNlIEdUeXBlIG5hbWUgdG8gYXZvaWQgcG9zc2libGUgY29uZmxpY3RzCgoyMDEwLTAxLTE0IDEyOjA2OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIGNvcnJlY3QgaDI2NF9wYXJzZSBwcmVmaXggaW4gZnVuY3Rpb24gbmFtZQoKMjAxMC0wMS0yNyAxMjowODo0OCArMDEwMCAgVmluY2VudCBHRU5JRVVYIDx2Z2VuaWV1eCBhdCBmcmVlLmZyPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBmaXggZWxlbWVudCBzaHV0ZG93biBvbiBiYWQgcmVjZXB0aW9uCgkgIFdoZW4gd2UgaGF2ZSBhIGJhZCByZWNlcHRpb24sIGF2b2lkIGdvaW5nIGludG8gYW4gaW5maW5pdGUgbG9vcCBieSBzZXR0aW5nIGEKCSAgc2h1dGRvd24gZmxhZyB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEZpeGVzICM2MDc3NDcKCjIwMTAtMDEtMjYgMTM6NDQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBnX2ZyZWUgaXMgTlVMTCBzYWZlCgoyMDEwLTAxLTI1IDE5OjA2OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IEZpeCBwYWNrZXQgbGVuZ3RoIHNlbWFudGljcwoJICBGb2xsb3dpbmcgdGhlIGVkNGQwODE4OWVhNmUxOWE1MGUwMjllNjBkYTUyZDM1ODNjMzlmYmIKCSAgY29tbWl0LCB0aGlzIG9uZSBmaXhlcyBydHBhc2ZwYXkgdG8gdXNlIHBhY2tldCBsZW5ndGgKCSAgYXMgdGhlIHBheWxvYWRlZCBkYXRhIGxlbmd0aCwgYnV0IGFsc28gYWNjZXB0aW5nIGl0CgkgIGFzIHRoZSBmdWxsIHBhY2tldCBzaXplIGZvciBjb21wYXRpYmlsaXR5IHdpdGgKCSAgb3RoZXIgaW1wbGVtZW50YXRpb25zIGR1ZSB0byB0aGUgbGFjayBvZiBjbGFyaXR5IG9mIHRoZQoJICBzcGVjIGluIHRoaXMgcGFydC4KCjIwMTAtMDEtMjEgMTA6NTE6MTYgLTAzMDAgIEjDpWtvbiBTa2plbHRlbiA8c2tqZWx0ZW5AcHZ2Lm9yZz4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJICBhc2ZtdXg6IENvbXBhdGliaWxpdHkgd2l0aCBXTVNQIGluIFdNUAoJICBNYWtlcyB0aGUgYXNmbXV4IGNvbnRlbnQgY29tcGF0aWJsZSB3aXRoIFdNU1AgYW5kIGRvZXMKCSAgc29tZSBoYWNrcyB0byBtYWtlIGl0IHBsYXlhYmxlIGluIFdNUCwgaXQgZG9lc24ndCBhY2NlcHQKCSAgZGF0YSBvYmplY3RzIHdpdGggMCBzaXplIGluZGljYXRpbmcgdGhhdCB3ZSBkb24ndCBrbm93CgkgIGl0cyBzaXplLCB0aG91Z2ggdGhlIHNwZWMgc2F5cyBpdCBzaG91bGQgYmUgcG9zc2libGUuCgkgIEZpeGVzICM2MDc1NTUKCjIwMTAtMDEtMjUgMjM6MDY6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbi1leGFtcGxlOiByZW1vdmUgbWFlbW8gY29tbWVudCBhbmQgbG9nIGZpbGVuYW1lCgkgIFRoZSBtYWVtbyBmaXhtZSBpcyBub3QgbmVlZGVkIGFueW1vcmUuIExvZyB0aGUgY2hvb3NlbiBmaWxlbmFtZSB0byBoZWxwCgkgIHBlb3BsZSBmaW5kaW5nIHRoZSBmaWxlcy4KCjIwMTAtMDEtMjUgMjM6MDQ6MzggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW46IHJlZiBlbGVtZW50IGJlZm9yZSByZW1vdmluZyBmcm9tIHRoZSBiaW4gdG8gcmVzdXJyZWN0CgkgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHN1cHBvc2VkIHRvIGRpc3Bvc2UgdGhlIGVsZW1lbnQgaW4gdGhlIGNhc2Ugb2YgZmFpbHVyZQoJICBhcyB0aGUgY2FsbGVyIGlzIHVzaW5nIHRoZSBlbGVtZW50cyBuYW1lIGluIHRoZSBlcnJvciBtZXNzYWdlLiBBbHNvIGFkZAoJICBzb21lIG1vcmUgaW5wdXQgcGFyYW1ldGVyIGNoZWNrcyBpbiB0aGUgZm9ybSBvZiBnX3JldHVybl92YWxfaWZfZmFpbAoKMjAxMC0wMS0yNSAxMjoyMTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZXZlcnQgImlucHV0c2VsZWN0b3I6IFByb3RlY3QgZ19vYmplY3Rfbm90aWZ5KCkgd2l0aCB0aGUgb2JqZWN0J3MgbXV0ZXgiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgN2UwNjc2MTVmZmI1NjE0ZjA2OGY3NzUzYzEwZGRlOTlhZmU0OWMzYywgaXQncyBjYXVzaW5nCgkgIGRlYWRsb2NrcyB3aXRoIHBsYXliaW4yLgoKMjAxMC0wMS0yNSAxMjoxMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IFJlbW92ZSByb2xlIGF0dHJpYnV0ZSBmcm9tIGxpbmtzCgoyMDEwLTAxLTI1IDExOjU2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogQWRkIGRvY3MgYW5kIGludGVncmF0ZSBpbnRvIGJ1aWxkIHN5c3RlbQoJICBGaXhlcyBhZ2FpbiBidWcgIzU5Njg4NS4KCjIwMTAtMDEtMjUgMTE6MTI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5oOgoJICBkYXRhdXJpc3JjOiBBZGQgZGF0YTogVVJJIHNvdXJjZSBlbGVtZW50CgkgIFRoaXMgaXMgc2xpZ2h0bHkgYmFzZWQgb24gdGhlIFdlYktpdCBkYXRhOiBVUkkgc291cmNlCgkgIGJ1dCBzdXBwb3J0cyBtb3JlIHBhcnRzIG9mIFJGQyAyMzk3LgoJICBGaXhlcyBidWcgIzU5Njg4NS4KCjIwMTAtMDEtMjUgMDc6NDI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSAgZGF0YXVyaXNyYzogQWRkIGRpcmVjdG9yeSBmb3IgZGF0YTogVVJJIHNvdXJjZQoKMjAxMC0wMS0yNSAxMTozNjo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBjcmVhdGUgdmFsaWQgZ29iamVjdCBwcm9wZXJ0eSBuYW1lcy4gRml4ZXMgIzYwMjUyOAoJICBXZSBjYW5ub3QgdXNlIHRoZSBuYW1lcyBhcyB3ZSBnZXQgdGhlbSBmcm9tIGx2MiBmb3IgdGhlIGdwYXJhbXNwZWMgbmFtZSwgb25seQoJICBmb3Igbmljay9ibHVyYi4gQXBwbHkgc2FtZSBhbGdvcml0aG1zIGxpa2UgZWxzZXdoZXJlIChsYWRzcGEpIGZvciBuYW1lLgoKMjAxMC0wMS0yNSAxMTo0OTo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmCgoyMDEwLTAxLTI1IDExOjQ4OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJldmVydCAibXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2OGNhNjJiMzY5ZmMxYjc3YWRhZTg1ZDlkODA1NDU3ZmU0ZTNiNTYyLgoKMjAxMC0wMS0yMiAxNzo0NToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmCgoyMDEwLTAxLTI0IDIwOjUzOjAwICswMTAwICBLaXBwIENhbm5vbiA8a2Nhbm5vbkBsaWdvLmNhbHRlY2guZWR1PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogUHJvdGVjdCBnX29iamVjdF9ub3RpZnkoKSB3aXRoIHRoZSBvYmplY3QncyBtdXRleAoJICBUaGlzIHdvcmtzIGFyb3VuZCB0aGUgdGhyZWFkIHVuc2FmZXR5IG9mIGdfb2JqZWN0X25vdGlmeSgpCgkgIEZpeGVzIGJ1ZyAjNjA3NTEzLgoKMjAxMC0wMS0yMiAxMDo0ODoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCB3YXJuaW5ncyB1bmRlciBPUyBYLi4KCjIwMTAtMDEtMjIgMTA6NDY6NTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBEb24ndCBidWlsZCBvc3h2aWRlb3NyYyBhbmQgcXR3cmFwcGVyIGluIFNub3cgTGVvcGFyZC4KCSAgUXVpY2tUaW1lIGlzbid0IGF2YWlsYWJsZSBhbnltb3JlIGluIE9TIFggU25vdyBMZW9wYXJkLgoKMjAxMC0wMS0yMiAwMjoyMzozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogdXNlIHNhbWUgbWVkaWEgdHlwZSBhcyBvdGhlciBlbGVtZW50cwoJICBnZGtwaXhidWYgYW5kIG91ciBuZXcgdHlwZWZpbmRlciBpbiAtYmFzZSB1c2UgaW1hZ2UveC1wb3J0YWJsZS0qLgoKMjAxMC0wMS0yMiAwMjoyMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IG1ha2UgZWxlbWVudCBkZXRhaWxzIGEgYml0IG1vcmUgZGVzY3JpcHRpdmUKCjIwMTAtMDEtMjIgMDI6MTk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogYWRkIGNvcHlyaWdodCBub3RpY2UKCjIwMTAtMDEtMjIgMDI6MTA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSAgcG5tOiBtb3ZlIHR5cGVmaW5kaW5nIGludG8gLWJhc2UKCjIwMTAtMDEtMTEgMDE6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgdGVzdHM6IHJlZmFjdG9yIHdlaXJkIGJ1cyBzeW5jIGhhbmRsZXIgY29kZSBpbiBjYW1lcmFiaW4gZXhhbXBsZQoKMjAxMC0wMS0yMSAxODoxMTozNCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZmxpdGU6IGJ1aWxkIGFuZCBkaXN0IGZsaXRlIHBsdWdpbgoJICBmaXhpbmcgIm1ha2UgZGlzdCIKCjIwMTAtMDEtMjEgMTU6NTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IENvcnJlY3RseSBpbml0aWFsaXplIG1lbW9yeQoKMjAxMC0wMS0yMCAxMzozMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgW2NsZWFudXBdIFZhcmlvdXMgc3R5bGUgYW5kIGNsZWFudXBzCgkgIFZhcmlvdXMgZml4ZXMgZm9yIGd0ay1kb2Mgd2FybmluZ3MgYW5kIG1ha2luZyBmdW5jdGlvbnMgd2l0aG91dAoJICBhcmd1bWVudHMgdGFrZSB2b2lkIGFzIHBhcmFtZXRlci4KCjIwMTAtMDEtMjAgMTM6Mjk6NTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgW29zczRdIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVudXNlZCByZXR1cm4gdmFsdWUKCjIwMTAtMDEtMjAgMDA6NTQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNThjZjVjIHRvIDE1ZDQ3YTYKCjIwMTAtMDEtMTggMTA6NTc6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgY2R4YXBhcnNlOiBGaXggYnVmZmVyIGxlYWsKCSAgRml4ZXMgYnVnICM2MDcyODUuCgoyMDEwLTAxLTE2IDE1OjMyOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogRml4IGNoYW5uZWwgbGF5b3V0CgkgIEFkanVzdGVkIHRoZSBjaGFubmVsIG1hcHBpbmdzIHRvIGFncmVlIHdpdGggdGhlIGRlZmF1bHQgY2hhbm5lbCBtYXBwaW5ncwoJICBpbiB0aGUgc3BlYywgd2hpY2ggaXMgcHJlc3VtYWJseSB3aGF0IGZhYWMgaXMgdXNpbmcuICBGaXhlcyAjNjA3MTA1LgoKMjAxMC0wMS0xNiAxNTozMjowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBoYW5kbGUgc2FtcGxlc3BlcmJ1ZmZlcgoKMjAxMC0wMS0xNiAxMjo0Mzo0MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogQWRkIGZsaXRldGVzdHNyYwoJICBGbGl0ZSBpcyBhIHNwZWVjaCBzeW50aGVzaXplciBsaWJyYXJ5IChCU0QtaXNoIGxpY2Vuc2UpLiAgVGhpcyBlbGVtZW50CgkgIG5lZ290aWF0ZXMgYSAocG9zc2libHkpIG11bHRpY2hhbm5lbCBhdWRpbyBzdHJlYW0sIGFuZCB0aGVuIGNvbnRpbnVhbGx5CgkgIG91dHB1dHMgYnVmZmVycyBuYW1pbmcgdGhlIG51bWJlciBhbmQgcG9zaXRpb24gb2YgdGhlIGNoYW5uZWwuICBJdCdzCgkgIGtpbmRhIGNyYXBweSwgYnV0IEkgbmVlZGVkIGl0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLgoKMjAxMC0wMS0xNiAxNzowMjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE1ha2Ugc3VyZSB0aGF0IHByb3BlcnR5IG5hbWVzIGFsd2F5cyBzdGFydCB3aXRoIGEgbGV0dGVyCgkgIE90aGVyd2lzZSBHTGliIHRocm93cyBhc3NlcnRpb25zCgoyMDEwLTAxLTE2IDE2OjUyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUmVwbGFjZSBmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGluIHRoZSBpbm5lciBwcm9jZXNzaW5nIGxvb3BzIGJ5IGludGVnZXIgYXJpdGhtZXRpYwoKMjAxMC0wMS0xNiAxMzowNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IE9ubHkgYWNjZXB0IHNwZWNpZmljIGNoYW5uZWwgbGF5b3V0cyBhcyByZXF1aXJlZCBieSBBQUMKCSAgRml4ZXMgYnVnICM2MDcxMDUuCgoyMDEwLTAxLTE2IDExOjQxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBGaXggYnVpbGQgYW5kIHNpZ25hbCBjb25uZWN0aW9uIGZvciBHdGtCdWlsZGVyIHN0dWZmCgoyMDEwLTAxLTE2IDExOjI2OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgZ21vZHVsZS1leHBvcnQtMi4wIGZvciBHdGtCdWlsZGVyCgoyMDEwLTAxLTE2IDExOjIzOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgaWNsZXM6IExpbmsgd2l0aCBHVEsrCgoyMDEwLTAxLTE2IDExOjE2OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xMiBmb3IgR3RrQnVpbGRlcgoJICBHVEsrIDIuMTIgaXMgYWxyZWFkeSBvbGRlciB0aGFuIDIgeWVhcnMgc28gdGhpcyBzaG91bGRuJ3QKCSAgYmUgYSBwcm9ibGVtIGZvciBhbnlib2R5LiBBbHNvIGl0J3Mgb25seSB1c2VkIGluIGV4YW1wbGVzLgoKMjAxMC0wMS0xNiAwNjo1NzoyNiArMDEwMCAgSmF2aWVyIEphcmTDs24gPGpqYXJkb25AZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IudWk6CgkgIHRlc3RzOiBQb3J0IGZyb20gbGliZ2xhZGUgdG8gR3RrQnVpbGRlcgoJICBGaXhlcyBidWcgIzYwMTEwOC4KCjIwMTAtMDEtMTUgMjE6MzQ6MDIgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGRvbHBoeUBpbWFjLihub25lKT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG9uJ3Qgc2V0IGFuIGludmFsaWQgZnJhbWVyYXRlLgoJICBXaGVuIGZpeGVkX3ZvcF9yYXRlIGlzIG5vdCBzZXQgd2UgY2FuIG5vdCBzZXQgYSBmcmFtZXJhdGUgYmFzZWQgb24KCSAgdm9wX3RpbWVfaW5jcmVtZW50X3Jlc29sdXRpb24gYXMgaXQgd291bGQgbW9zdCBsaWtlbHkgYmUgd3JvbmcuCgkgIERvbid0IHNldCBhbnkgZnJhbWVyYXRlIG9uIHRoZSBjYXBzIGluIHRoYXQgY2FzZS4KCjIwMTAtMDEtMTQgMDg6MDk6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWN0dWFsbHkgdXNlIG5ldyBjYXBzIGluZm8gb24gcmVuZWdvdGlhdGlvbgoJICBGb2xsb3dpbmcgdGhlIHByZXZpb3VzIHF0bXV4IGNvbW1pdCwgdGhpcyBwYXRjaCB0cmllcwoJICB0byB1c2UgdGhlIG5ldyBpbmZvIGFkZGVkIHRvIHRoZSBjYXBzIHRvIGZpbGwgdGhlICd0cmFrJwoJICBhdG9tJ3MgZmllbGRzIGFuZCBjaGlsZHJlbiBhdG9tcy4gVGhpcyB3YXkgcXRtdXggd2lsbAoJICB1c2UgdGhlIGxhdGUgYWRkZWQgJ2NvZGVjX2RhdGEnIHdoZW4gaDI2NHBhcnNlIGFkZHMKCSAgaXQgaW4gdGhlIGZvbGxvd2luZyBwaXBlbGluZToKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xMyAyMzozMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEbyBjYXBzIHJlbmVnb3RpYXRpb24gd2hlbiBpdCBvbmx5IGFkZHMgZmllbGRzCgkgIFF0bXV4IGNhbiBhY2NlcHQgY2FwcyByZW5lZ290aWF0aW9uIGlmIHRoZSBuZXcgY2FwcyBpcyBhCgkgIHN1cGVyc2V0IG9mIHRoZSBvbGQgb25lLCBtZWFuaW5nIHVwc3RyZWFtIGFkZGVkIG5ldyBpbmZvIHRvCgkgIHRoZSBjYXBzLiBUaGlzIHBhdGNoIHN0aWxsIGRvZXNuJ3QgbWFrZSBxdG11eCB1cGRhdGUgYW55CgkgIGF0b21zIGluZm8gZnJvbSB0aGUgbmV3IGluZm8sIGJ1dCBhdCBsZWFzdCBpdCBkb2Vzbid0CgkgIHJlamVjdCB0aGUgbmV3IGNhcHMgYW55bW9yZS4KCSAgQSBwaXBlbGluZSB0aGF0IHJlcHJvZHVjZXMgdGhpcyB1c2UgY2FzZSBpczoKCSAgdmlkZW90ZXN0c3JjIG51bS1idWZmZXJzPTIwMCAhIHgyNjRlbmMgYnl0ZS1zdHJlYW09dHJ1ZSAhIFwKCSAgaDI2NHBhcnNlIG91dHB1dC1mb3JtYXQ9MCAhIHF0bXV4ICEgXAoJICBmaWxlc2luayBsb2NhdGlvbj10ZXN0Lm1vdgoKMjAxMC0wMS0xNCAxMjo1OToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZGVidWcgb3V0cHV0IGEgYml0IGFuZCBzaW1wbGlmeSBjb2RlCgoyMDEwLTAxLTE0IDEyOjU2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBzdXJlIHRoYXQgdGhlIHZpZGVvIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyB0byBpdAoKMjAxMC0wMS0xNCAxMjo0NzoxNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBhcGV4c2luazogY2hhbmdlIHZvbHVtZSBwcm9wZXJ0eSB0byBhIGRvdWJsZQoJICBDaGFuZ2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSBmcm9tIGludCB0byBhIGRvdWJsZSBzbyB0aGF0IHBsYXliaW4yIGNhbiB1c2UgaXQuCgkgIEtlZXAgdGhlIHZvbHVtZSBpbnRlcm5hbGx5IGFzIGEgcGVyY2VudCBmb3Igbm93IHdpdGggdGhlIGRlZmF1bHQgNzUlIG1hcHBlZCB0bwoJICBhIHZvbHVtZSBvZiAxLjAuCgkgIHNvbWUgY2xlYW51cHMsIGFkZCBzb21lIEZJWE1FIGFuZCBjb21tZW50cy4KCSAgRml4ZXMgIzYwNjg3OAoKMjAxMC0wMS0xMyAxOTozMDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgcmVxdWVzdCBwYWRzIHVuZGVyIHdpZGVyIGNvbmRpdGlvbnMKCSAgRml4ZXMgIzYwNjg1OS4KCjIwMTAtMDEtMTMgMTA6MzU6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBhdmMtc2FtcGxlIGgyNjQKCSAgcXRtdXggYW5kIG1wNG11eCBzaG91bGQgb25seSBhY2NlcHQgaDI2NCBpbiBhdmMtc2FtcGxlCgkgIGZvcm1hdAoKMjAxMC0wMS0xMyAwOTo0MjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIGNhcHMKCSAgQWRkcyB0aGUgbmV3IHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gaDI2NHBhcnNlIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMS0xMyAwMDozODo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBidWlsZDogaW5jbHVkZSBjcnVmdC5tYWsgYW5kIGFkZCByZWNlbnRseS1tZXJnZWQgcGx1Z2lucyB0byBjcnVmdCBsaXN0CgoyMDEwLTAxLTEyIDIzOjUzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogcG9zdCBlcnJvciBtZXNzYWdlIGluIGFkZGl0aW9uIHRvIHJlZGlyZWN0IHdoZW4gY29ubmVjdCBmYWlscwoJICBXaGVuIHdlIGNhbid0IGNvbm5lY3QgdG8gdGhlIHNlcnZlciwgd2Ugc2hvdWxkIHN0aWxsIHBvc3QgYSBwcm9wZXIKCSAgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzLCBzbyB0aGF0IGFwcGxpY2F0aW9ucyB0aGF0IGRvbid0IGhhbmRsZSB0aGUKCSAgcmVkaXJlY3QgbWVzc3NhZ2UgZ2V0IGEgcHJvcGVyIGVycm9yIG1lc3NhZ2UgKGFuZCBhIGhpbnQgdG8gbG9vayBmb3IKCSAgdGhlIHJlZGlyZWN0KS4KCSAgRml4ZXMgIzYwNjYzNi4KCjIwMTAtMDEtMTIgMTU6NDU6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDb3JyZWN0bHkgcmV3cml0ZSBhbGwgbmFsIHByZWZpeGVzCgkgIFdoZW4gY29udmVydGluZyB0byBieXRlLXN0cmVhbSBkbyBub3QgZm9yZ2V0IHRvIHJld3JpdGUKCSAgYWxsIG5hbCBwcmVmaXhlcyBpbnN0ZWFkIG9mIG9ubHkgdGhlIGZpcnN0IG9uZS4KCjIwMTAtMDEtMTIgMTk6MzM6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBpbXByb3ZlIGZhYWMgY29uZmlndXJhdGlvbgoJICBJbiBwYXJ0aWN1bGFyLCBhbGlnbiBjb25maWd1cmF0aW9uIHNvbWUgbW9yZSB3aXRoIHJlZmVyZW5jZSBiaW5hcnkgZmFhYy4KCSAgRml4ZXMgIzYwNjcyNi4KCjIwMTAtMDEtMTIgMTQ6NTE6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IEZpeCBtaXN0YWtlIG9uIHByZXZpb3VzIGNvbW1pdAoJICBVc2UgdGhlIGNvcnJlY3QgdmFyaWFibGVzIGFuZCB2YXJpYWJsZSBmb3JtYXQgaW4gdGhlIHdhcm5pbmcKCSAgbWVzc2FnZQoKMjAxMC0wMS0xMiAxODo1NTo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogSW5pdGlhbGl6ZSB2YXJpYWJsZXMuCgkgIEZpeGVzIGJ1aWxkIG9uICQjQCooIG1hY29zeAoKMjAxMC0wMS0xMiAxNzowNToxMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIG5lb25odHRwc3JjIHRvIHRoZSBsaXN0IG9mIGVsZW1lbnRzIGlnbm9yZWQgZm9yIHN0YXRlLWNoYW5nZQoJICBTZXR0aW5nIG5lb25odHRwc3JjIHRvIFBBVVNFRC9QTEFZSU5HIHJlcXVpcmVzIGEgcnVubmluZyBodHRwIHNlcnZlciBvbgoJICBsb2NhbGhvc3QuCgoyMDEwLTAxLTEyIDA5OjU4OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIGNvZGVjX2RhdGEgaWYgb3V0cHV0IGlzIGJ5dGVzdHJlYW0KCSAgY29kZWNfZGF0YSBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBzcmMgcGFkIGNhcHMgaWYgdGhlCgkgIG91dHB1dCBpcyBpbiBieXRlc3RyZWFtIGZvcm1hdAoJICBGaXhlcyAjNjA2NjU3CgoyMDEwLTAxLTEyIDA5OjM1OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBEbyBub3QgY3Jhc2ggb24gbWlzaW50ZXJwcmV0ZWQgaDI2NAoJICBBdm9pZCBjcmFzaGluZyB3aGVuIGJ5dGVzdHJlYW0gaDI2NCBpcyBpbnRlcnByZXRlZCBhcyBhdmMgZm9ybWF0CgkgIGgyNjQKCSAgRml4ZXMgIzYwNjY1NwoKMjAxMC0wMS0xMSAyMjo0MTo1NyArMDMwMCAg0PPx6+DtIMjm4fPr4PLu4iA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgd2luMzI6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UuIEZpeCBtcGVnZGVtdXggTElCQURECgkgIEJlY2F1c2UgY29uZmlnLmggZGVmaW5lcyBfX01TVkNSVF9WRVJTSU9OX18sIHdoaWNoIHNob3VsZCBiZSBkZWZpbmVkCgkgIGJlZm9yZSBpbmNsdXNpb24gb2YgYW55IHN5c3RlbSBoZWFkZXIuCgkgIEFsc28gZml4ZXMgbXBlZ2RlbXV4IE1ha2VmaWxlLmFtIExJQkFERCB0eXBvLgoJICBGaXhlcyAjNjA2NjY1CgoyMDEwLTAxLTEyIDAwOjQ2OjI3ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IHBvcnQgcmZic3JjIHRvIE1pbkdXCgkgIEZpeGVzICM2MDY2NzcKCjIwMTAtMDEtMTEgMTM6MjA6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWxzbyBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIERvIG5vdCBmb3JnZXQgdG8gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBvZmYgYWFjcGFyc2UKCjIwMTAtMDEtMTEgMTM6MTM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgUmVuYW1lIGFhYydzIHN0cmVhbS1mb3JtYXQgJ25vbmUnIHRvICdyYXcnCgkgIFJlbmFtZXMgYWFjJ3Mgc3RyZWFtLWZvcm1hdCBmcm9tIHByZXZpb3VzIGNvbW1pdHMgZnJvbSBub25lIHRvCgkgIHJhdwoKMjAxMC0wMS0xMSAxNjowOTozOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaW5jbHVkZSA8d2luZG93cy5oPiBpbnRvIG1zYWNtLmggY29uZnRlc3QKCjIwMTAtMDEtMTEgMTI6MTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHVwZGF0ZSB0ZXN0cyB0byBzdHJlYW0tZm9ybWF0IGNoYW5nZXMKCSAgVXBkYXRlcyBhYWNwYXJzZSB1bml0IHRlc3RzIHRvIGNoZWNrIGZvciBzdHJlYW0tZm9ybWF0CgkgIGNvcnJlY3RuZXNzIGFzIHdlbGwuCgoyMDEwLTAxLTExIDEwOjUxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFkZCBzdHJlYW0tZm9ybWF0IHRvIG91dHB1dCBjYXBzCgkgIEFkZHMgc3RyZWFtLWZvcm1hdCBmaWVsZCB0byBvdXRwdXQgY2FwcwoKMjAxMC0wMS0xMSAxMDozNDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBPbmx5IGFjY2VwdCBzdHJlYW0tZm9ybWF0PSdub25lJyBhYWMKCSAgT25seSBhY2NlcHQgcmF3IGFhYyBzdHJlYW1zIChzdHJlYW0tZm9ybWF0PW5vbmUpIHRvIGF2b2lkCgkgIGdlbmVyYXRpbmcgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgIzYwNDkyNQoKMjAxMC0wMS0xMSAwOTo0ODozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFkZCBmb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyAnc3RyZWFtLWZvcm1hdCcgdG8gb3V0cHV0IGNhcHMgdG8gaW5mb3JtIGlmIHRoZSBzdHJlYW0gaXMKCSAgYWR0cyBvciByYXcuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgZm9yIG11eGVycyB0byByZWplY3QKCSAgaW5wdXQgc3RyZWFtcyBvbiBjYXBzIGlmIHRoZXkgZG9uJ3Qgc3VwcG9ydCBhZHRzIGluc3RlYWQgb2YKCSAgZ2VuZXJhdGluZyBhIGludmFsaWQgZmlsZS4KCSAgRml4ZXMgIzYwNDkyNQoKMjAxMC0wMS0xMSAwMTowMjo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBmaXggdW5hbGlnbmVkIGFjY2VzcyBpbiB0aGlzIGNvcHkgb2YgbXBlZ2RlbXV4IGFzIHdlbGwKCSAgU2VlICM2MDYzNzEuCgoyMDEwLTAxLTExIDAwOjU5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uYzogdXNlIGV4aXN0aW5nIG1hY3JvcyB0byBhdm9pZCBhbGlnbm1lbnQgaXNzdWVzCgoyMDEwLTAxLTExIDAwOjU3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IHVzZSBleGlzdGluZyBtYWNyb3MgdG8gYXZvaWQgYWxpZ25tZW50IGlzc3VlcwoKMjAxMC0wMS0xMSAwMDoyNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiBmaXggYWxpZ25tZW50IGFuZCBlbmRpYW5uZXNzIGlzc3VlCgoyMDEwLTAxLTExIDAwOjE2OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogdXNlIEdTVF9NQUtFX0ZPVVJDQyB0byBjcmVhdGUgRk9VUkNDCgoyMDEwLTAxLTEwIDEwOjA2OjU1IC0wMzAwICBMaW5xaWFuZyBQdSA8cHVscS51c3RjQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IGFsbGlnbm1lbnQgaXNzdWUKCSAgVXNlIEdTVF9SRUFEX1VJTlQzMl9CRSBpbnN0ZWFkIG9mIEdVSU5UMzJfRlJPTV9CRSB0bwoJICBmaXggaW50IGFsbGlnbm1lbnQgaXNzdWVzIG9uIEFSTQoJICBGaXhlcyAjNjA2MzcxCgoyMDEwLTAxLTA4IDE2OjA2OjM4ICswMDAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogb25seSB2aWRlbyBjYW4gaGF2ZSBub24tZGVsdGEtdW5pdAoKMjAwOS0xMi0xOCAxNDoxNDoxNyArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtYXJrIGRlbHRhLXVuaXQgb24gb3V0Z29pbmcgYnVmZmVycwoJICBTaWduZWQtb2ZmLWJ5OiBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMDEtMDcgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvcHRpbWl6ZSBzcmMgY2FwcyB1cGRhdGluZwoKMjAxMC0wMS0wNyAxNzo0NzowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24KCSAgLi4uIGFuZCBhbHNvIHJlbW92ZSBhIHN1cGVyZmx1b3VzIGR1cGxpY2F0ZSBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDEwLTAxLTA3IDE3OjQyOjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHJlZ3Jlc3Npb24gaW4gb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCSAgU3BlY2lmaWNhbGx5LCBwcm9wZXJseSBtYXJrIGEgYnVmZmVyIChOQUxVIG9yIEFVKSB0byBzdGFydCBhIGZyYW1lIG9yIG5vdC4KCjIwMTAtMDEtMDYgMTE6MjA6MDYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhdm9pZCBjcmFzaCBpZiB2b3MgPCA1IGJ5dGVzLgoKMjAwOS0xMi0xMyAxMzo1MzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMDktMTItMTMgMTM6NDk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGxhbmd1YWdlIGV4dHJhY3Rpb24KCSAgVGhlIGRlc2NyaXB0b3IgY29udGFpbnMgSVNPIDYzOS0yIGxhbmd1YWdlIGNvZGVzLCBidXQgd2Ugd2FudAoJICB0d28tbGV0dGVyIElTTyA2MzktMSBjb2RlcyBpbiBHU1RfVEFHX0xBTkdVQUdFLgoKMjAwOS0xMi0wNSAxODoxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBleGFtcGxlczogbWFrZSBjYW1lcmFiaW4gdGVzdCBhcHBsaWNhdGlvbiBoYW5kbGUgZXJyb3JzIHdoZW4gc3RhcnRpbmcgdXAKCSAgSW5zdGVhZCBvZiBoYW5naW5nIGZvcmV2ZXIgaW4gYSBfZ2V0X3N0YXRlKCkgaW4gY2FzZSBhbiBlcnJvciBvY2N1cnMgd2hlbgoJICBzdGFydGluZyB1cCBjYW1lcmFiaW4sIGJhaWwgb3V0IGFuZCBwcmludCBhbiBlcnJvciBtZXNzYWdlLiBBbHNvIHJlbW92ZQoJICB1bm5lY2Vzc2FyeSBfZ2V0X3N0YXRlKCkgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBwaXBlbGluZS4KCjIwMTAtMDEtMDUgMTg6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHNvbWUgbWlzc2luZyBkb2N1bWVudGF0aW9uIHBpZWNlcwoKMjAxMC0wMS0wNSAxNjoxMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogZG9jdW1lbnRhdGlvbiBmaXgKCjIwMTAtMDEtMDUgMTU6MDU6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogZG9jdW1lbnRhdGlvbiBmaXhlcwoKMjAxMC0wMS0wNSAxNTowNDozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTAxLTA1IDE0OjQ4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAwOS0xMi0yMSAxODoyOTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggKG11bHRpcGxlIGNoYW5uZWwpIGZyYW1lIHBhcnNpbmcKCjIwMTAtMDEtMDUgMTY6MzU6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBkZWNsYXJlIHVucGFyc2VkIGlucHV0IGFuZCBwYXJzZWQgb3V0cHV0CgoyMDA5LTEyLTIxIDE4OjE5OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGZpeCBzY2FubmluZyBmb3IgbmV4dCBzeW5jd29yZAoKMjAwOS0xMi0yMSAxODoxODozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkanVzdCBzZWVrIGhhbmRsaW5nIGFuZCBuZXdzZWdtZW50IHNlbmRpbmcKCSAgUGVyZm9ybSBzYW5pdHkgY2hlY2sgb24gdHlwZSBvZiBzZWVrLCBhbmQgb25seSBwZXJmb3JtIG9uZSB0aGF0IGlzCgkgIGFwcHJvcHJpYXRlbHkgc3VwcG9ydGVkLiAgQWRqdXN0IGRvd25zdHJlYW0gbmV3c2VnbWVudCBldmVudAoJICB0byBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRoYXQgaXMgc2VudCBkb3duc3RyZWFtLgoKMjAwOS0xMi0yMSAxMTo1OTo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHJlZmFjdG9yIGNsZWFudXAKCSAgQWxzbyBhZGQgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0xMi0xOCAyMTowNToxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGxvY2F0ZSBuZXh0IHN5bmMgY29kZSBtb3JlIGVmZmljaWVudGx5CgoyMDA5LTEyLTE4IDIxOjA0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogYmFzZXBhcnNlIHRha2VzIGNhcmUgb2YgaGFuZGxpbmcgbGVmdG92ZXIgcGllY2VzCgoyMDA5LTEyLTE4IDIxOjAyOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1wbGVtZW50IGxlZnRvdmVyIGRyYWluaW5nIGluIHB1bGwgbW9kZQoKMjAwOS0xMi0xNyAxMjo0NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHNldCBfT0ZGU0VUIGFuZCBfT0ZGU0VUX0VORCBvbiBvdXRnb2luZyBidWZmZXJzCgoyMDA5LTEyLTE3IDEyOjQ0OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhYy5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2ZsYWNwYXJzZScgaW50byBpdAoKMjAwOS0xMi0xNiAxODozODozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgZGVmYXVsdCBjb252ZXJzaW9uIHVzaW5nIGJwcyBpZiBubyBmcHMgYXZhaWxhYmxlCgkgIEFsc28gc3RvcmUgZXN0aW1hdGVkIGR1cmF0aW9uIGFzIHN1Y2gsIHJhdGhlciB0aGFuIHByZXRlbmRpbmcgb3RoZXJ3aXNlCgkgIChlLmcuIHNldCBieSBzdWJjbGFzcykuCgoyMDEwLTAxLTA0IDEwOjIzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEZpeCBpbmRlbnRpb24KCjIwMDktMTItMjkgMTc6Mjg6MDYgKzAyMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogQWxsb3cgMS0yIGNoYW5uZWxzIGZvciAxNiBhbmQgMzIgYml0IGRlcHRocywgbm90IG9ubHkgZm9yIDggYml0cy4KCSAgRml4ZXMgYnVnICM2MDU3MjEuCgoyMDA5LTEyLTI5IDE2OjA3OjU5ICswMjAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgbW9kcGx1ZzogQWxsb3cgMzIgYml0IGRlcHRoLCBtb2RwbHVncyBuYXRpdmUgZm9ybWF0LgoJICBGaXhlcyBidWcgIzYwNTcyMC4KCjIwMTAtMDEtMDIgMTc6MzM6NTcgKzAxMDAgIEFybmF1ZCBQYXRhcmQgPGFybmF1ZC5wYXRhcmRAcnRwLW5ldC5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgZWFjMyBpbiBQTVQKCSAgV2hlbiB0aGUgc3RyZWFtIHR5cGUgaXMgc2V0IHRvIHByaXZhdGUgZGF0YSwgZ3N0LW1wZWd0c2RlbXV4IGlzIHRyeWluZyB0byBmaW5kCgkgIGF1ZGlvIGRlc2NyaXB0b3JzIGluIFBNVCBhbmQgbG9vayBmb3IgQUMzICh0YWcgMHg2YSkgYnV0IGRvZXNuJ3QgbG9vayBmb3IgRUFDMwoJICAodGFnIDB4N2EpLiBIYW5kbGUgdGhpcyBjYXNlIHRvby4KCSAgRml4ZXMgYnVnICM2MDU5MDQuCgoyMDA5LTEyLTMwIDIxOjUwOjMyICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNhcHMgaGFuZGxpbmcgaW4gX3VwZGF0ZV9zcmNfY2Fwcy4KCjIwMDktMTItMjggMTE6MzQ6MzUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWxzbyBhZGQgLmggZmlsZSBjaGFuZ2VzIHRvIHVuYnJlYWsgdGhlIGJ1aWxkCgoyMDA5LTEyLTI3IDIzOjUxOjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBjb3JyZWN0IG5hbWVzIGZyb20gdGVtcGxhdGUgZm9yIHJlcXVlc3QgcGFkcwoJICBUaGUgcGFkcyB3aGVyZSBuYW1lcyBwYWQwLCBwYWQxLCAuLi4KCjIwMDktMTItMjcgMjM6MzI6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogbW92ZSBlcnJvcnMgX25ld19wYWQgdG8gdGhlIGVuZAoKMjAwOS0xMi0yMSAxOToxMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ3Y2IyM2EgdG8gMTRjZWM4OQoKMjAwOS0xMi0yMSAxMzo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjY2VwdCBub24tcGFpcmVkIHVpbnQgdGFncwoJICBBZGRzIHN1cHBvcnQgZm9yIHVucGFpcmVkIHVuc2lnbmVkIGludGVyZ2VyIHRhZ3MKCjIwMDktMTItMjEgMTI6MDU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZHMgbmV3IHRhZ3MKCSAgTWFwcyBtb3JlIHRhZ3MgdGhhdCBhcmUgYWxyZWFkeSBwb3N0ZWQgYnkgcXRkZW11eAoJICBGaXhlcyAjNTk5NzU5CgoyMDA5LTEyLTE4IDE2OjE2OjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogb25seSByYXcgb3V0cHV0IG5lZWRzIGNvZGVjX2RhdGEgaW4gY2FwcwoKMjAwOS0xMi0xOCAxMzozMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGNoZWNrIGZvciByZW1haW5pbmcgZGF0YSB3aGVuIGRyYWluaW5nIGluIHB1c2ggbW9kZQoKMjAwOS0xMi0xOCAxMzozMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBwdWxsIG1vZGUgY2FjaGUgc2l6ZSBjb21wYXJpc29uCgoyMDA5LTEyLTE4IDEzOjAxOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwOS0xMi0xNyAxMTowNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogSW50ZXJuYWwgc2luayBpbXByb3ZlbWVudHMKCSAgRG9lcyBzb21lIGdlbmVyYWwgaW1wcm92ZW1lbnRzIHdpdGggdGhlIGludGVybmFsIHNpbmsgaGFuZGxpbmcuCgkgIDEpIERvIG5vdCByZW1vdmUgYW5kIHJlLWFkZCB0aGUgZ2hvc3RwYWQgd2hlbiBjaGFuZ2luZwoJICBpbnRlcm5hbCBzaW5rCgkgIDIpIE9ubHkgaW5zdGFudGlhdGUgdGhlIGRlZmF1bHQgc2luayB3aGVuIGNoYW5naW5nIGZyb20gTlVMTAoJICB0byBSRUFEWSBpZiB0aGVyZSBpcyBubyBvdGhlciBhdmFpbGFibGUKCSAgMykgQXZvaWQgY2hhbmdpbmcgdGhlIGludGVybmFsIHNpbmsgaWYgbm90IG9uIE5VTEwgc3RhdGUKCSAgRml4ZXMgIzU5ODY4MgoKMjAwOS0xMi0xNyAwNzo1NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogTWlub3IgZml4ZXMKCSAgRG93bmdyYWRlIGEgd2FybmluZyBtZXNzYWdlIHRvIGRlYnVnLiBSZW1vdmUgYW4KCSAgYWxyZWFkeSBmaXhlZCBGSVhNRSBhbmQgYWRkIGEgbm90ZSBhYm91dCAobm90LSl1c2luZwoJICBmcHNkaXNwbGF5c2luayBpbiBhdXRvdmlkZW9zaW5rLiBDaGFuZ2UgdGhlIGNyZWF0ZWQKCSAgZ2hvc3RwYWQgdG8gdXNlIHRoZSBuYW1lICJzaW5rIiBhcyBpdCBpcyBhZHZlcnRpc2VkIGluCgkgIHRoZSBwYWQgdGVtcGxhdGUuCgoyMDA5LTEyLTE3IDE0OjQ2OjAxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIHNwZWMgZmlsZSBhbmQgZml4IGFjM3BhcnNlciBoZWFkZXIgbGlzdGluZyBpbiBNYWtlZmlsZS5hbQoKMjAwOS0xMi0xNyAwMTowNToyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHRyeSB0byBmaXggJ21ha2UgZGlzdCcgd2hlbiBjb2cgaXMgbm90IGluc3RhbGxlZAoKMjAwOS0xMi0xNiAxODozMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IHNldHRpbmcgc3luYyBvbiBjaGlsZCBiaW4KCSAgVXNlIEdTVF9JU19CSU4gaW5zdGVhZCBvZiBHX09CSkVDVF9UWVBFIHRvIGNoZWNrIGlmIHRoZQoJICBpbnRlcm5hbCBzaW5rIGlzIGEgYmluLiBVc2luZyB0aGUgbGF0ZXIgd29uJ3Qgd29yayB3aGVuCgkgIHRoZSBzaW5rIGlzIG5vdCBhIGJpbiBkaXJlY3RseSAoYnV0IGluaGVyaXRzIGZyb20gb25lLCBsaWtlCgkgIGF1dG92aWRlb3NpbmspLgoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTE1IDEzOjA4OjA4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBjaGVjayB0aGUgc3luYyBwcm9wZXJ0eSBleGlzdHMgb24gZW1iZWRkZWQgc2luayhzKQoJICBGb2xsb3ctdXAgb24gNDExMWQ2MzIxZjE0MGViNzc5MDYyMGFiNDJlNWNmMWQ5NDEzYjU2YSwgdGhlIHZpZGVvCgkgIHNpbmsocykgdXNlZCBieSBmcHNkaXNwbGF5c2luayBtaWdodCBub3QgaGF2ZSB0aGUgc3luYyBwcm9wZXJ0eS4gU28gd2UKCSAgY2hlY2sgaXRzIGV4aXN0ZW5jZSB0byBhdm9pZCB3YXJuaW5nIGZyb20gZ19vYmplY3Rfc2V0KCkgYXQgcnVudGltZS4KCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xMCAyMjoyMDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgbW9yZSBvZiBqMmsKCSAgUmVhZHMgdGhlIG5ldyBjYXBzIGFkZGVkIHRvIHF0ZGVtdXggYnkgY29tbWl0CgkgIGM5MTdkNjVlNmRmMGI1ZDU4NWY5MDVjN2FkNzhhOGEwYTQ0YjJjYjAKCSAgYW5kIGFkZHMgaXRzIGNvcnJlc3BvbmRpbmcgYXRvbXMuCgkgIEFsc28gYWRkcyBzdXBwb3J0IGZvciBpbWFnZS94LWpwYyBhcyBpdCBpcyB0aGUgc2FtZQoJICBhcyBpbWFnZS94LWpwMiwgZXhjZXB0IHRoYXQgdGhlIGJ1ZmZlcnMgbmVlZCB0byBiZQoJICBib3hlZCBpbnNpZGUgYSBqcDJjIGlzb20gYm94IGJlZm9yZSBtdXhpbmcuIFRvIHNvbHZlCgkgIHRoaXMgdGhlIFFUUGFkcyBub3cgaGF2ZSBhIGZ1bmN0aW9uIHRoYXQgKGlmCgkgIG5vdCBOVUxMKSBpcyBjYWxsZWQgd2hlbiBhIGJ1ZmZlciBpcyBjb2xsZWN0ZWQuIFRoaXMKCSAgZnVuY3Rpb24gcmV0dXJucyBhIHJlcGxhY2VtZW50IHRvIHRoZSBjdXJyZW50IGNvbGxlY3RlZAoJICBidWZmZXIuCgkgIEZpeGVzICM1OTg5MTYKCjIwMDktMTItMTQgMTY6MTY6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiBUYWJsZSBnZW5lcmF0aW9uIHV0aWxpdHkgbmVlZHMgdG8gbGluayB0byAtbG0gdG9vCgoyMDA5LTEyLTE0IDE2OjA4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9jb2cub3JjOgoJICBjb2c6IERvbid0IGJ1aWxkIG9yY19tZW1jcHkoKSBhbmQgZGVwZW5kIG9uIG9yYyA+PSAwLjQuMyBmb3Igb3JjX21lbWNweSgpCgkgIEluIHRoZSBsYXRlc3QgcmVsZWFzZSB0aGlzIGZ1bmN0aW9uIGlzIGFscmVhZHkgZGVmaW5lZC4KCjIwMDktMTItMTAgMTY6NTM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBNYXBzICdjbGFzc2lmaWNhdGlvbicgdGFnIGZvciAzZ3BwIGZpbGVzCgkgIEFkZHMgdGhlIG1hcHBpbmcgb2YgJ2NsYXNzaWZpY2F0aW9uJyB0YWdzIHRvIHdyaXRpbmcgb2YKCSAgJ2Nsc2YnIGF0b21zIGZvciBncHBtdXguCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCjIwMDktMTItMTAgMjI6NDk6MTMgLTAzMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGV4cG9zZSB2aWRlbyBzaW5rIHVzaW5nIGEgcHJvcGVydHkKCSAgRXhwb3NlcyB0aGUgaW50ZXJuYWxseSB1c2VkIHNpbmsgYXMgdmlkZW8tc2luayBwcm9wZXJ0eSBhbmQKCSAgbWFrZXMgdGhlIGRlZmF1bHQgb25lIHRvIGJlIGF1dG92aWRlb3NpbmsgaW5zdGVhZCBvZgoJICB0aGUgaGFyZGNvZGVkIHh2aW1hZ2VzaW5rCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTEgMTY6MzI6NDggLTA4MDAgIFBldGVyIHZhbiBIYXJkZW5iZXJnIDxwdmhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBhZGQgbmV3IGFkcGNtIGVuY29kZXIgZWxlbWVudC4KCjIwMDktMTItMTEgMTA6MjU6MTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IGEgZm9ybWF0IHN0cmluZyBhcyByZXBvcnRlZCBvbiBpcmMuCgoyMDA5LTEyLTEwIDEwOjEwOjE1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogbWFrZSBwb3dlciBvZiAyIG1vcmUgYWNjdXJhdGUuCgoyMDA5LTEyLTEwIDEyOjU2OjQ3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGNhcHMgcGFyYW1ldGVycyBzZXR0aW5nCgkgIEFsc28gY29uc2lkZXIgUFBTIHdoZW4gc2VsZWN0aW5nIFNQUyB0byBwaWNrIHBhcmFtZXRlcnMgZnJvbS4KCSAgT25seSB1cGRhdGUgY2FwcyB3aGVuIHNldHRpbmdzIGFjdHVhbGx5IGNoYW5nZWQsIGFuZCB3aGVuIHRoZXNlIGFyZSB2YWxpZC4KCjIwMDktMTItMDggMTg6NTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBpdm9yYmlzOiBhbHNvIGNhdGVyIGZvciB0cmFkaXRpb25hbCAxNi1iaXQgd2lkdGggc2FtcGxlIG91dHB1dAoKMjAwOS0xMi0xMCAxMDo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERvbid0IGRvIHBvaW50ZXIgZGVyZWZlcmVuY2VzIGluIHRoZSBwcm9jZXNzaW5nIGxvb3AKCSAgTG93ZXJzIHRoZSB0aW1lIHRha2VuIHRoZXJlIGluIG15IHRlc3RjYXNlIGZyb20gNi45MSUgdG8gNi4yMCUKCSAgYXMgbWVhc3VyZWQgYnkgY2FsbGdyaW5kLgoKMjAwOS0xMS0xOCAxNjozODozMyArMDEwMCAgdW5rbm93biA8aGF2YXJkLmdyYWZmQC5ldS50YW5kYmVyZy5pbnQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHVwZGF0ZSB0aGUgY3VycmVudF9zc3JjIGZyb20gdGhlIGNhcHMKCSAgRml4ZXMgIzYwNDEwMQoKMjAwOS0xMi0wOSAxNDo0MjoyMSArMDEwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVsZWFzZSBwYWRzIHdoZW4gZGlzcG9zaW5nCgkgIEJlY2F1c2Ugb2YgYW4gYWxsb2NhdGVkIHByaXYgKEdzdFJUUE11eFBhZFByaXZhdGUpLCB0aGUgZWxlbWVudCB3aWxsCgkgIGxlYWsgbWVtb3J5IGlmIG5vdCBnc3RfcnRwX211eF9yZWxlYXNlX3BhZCgpIGlzIGNhbGxlZC4gVGhpcyB3b3VsZAoJICBwcmV2aW91c2x5IG9ubHkgaGFwcGVuIGlmIHJlbGVhc2VfcmVxdWVzdF9wYWQoKSB3YXMgY2FsbGVkIGV4cGxpY2l0bHksCgkgIHNvbXRoaW5nIHRoYXQgc2hvdWxkIG5vdCBiZSBuZWNjZXNhcnkuCgkgIEZpeGVzICM2MDQwOTkKCjIwMDktMTItMDkgMTM6NDA6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgZHRtZm11eDogbWV0aG9kIG5hbWUgY2xlYW51cHMKCjIwMDktMTItMDkgMDk6NTc6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXBsZW1lbnQgc3JjcGFkIHF1ZXJ5IGZ1bmN0aW9uIHRvIGFsd2F5cyBmb3J3YXJkIHRvIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTEyLTA5IDA5OjU1OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUHJveHkgYnVmZmVyIGFsbG9jYXRpb24gb24gdmlkZW8gc2lua3BhZCB0byB0aGUgc3JjcGFkCgkgIC4uLmFuZCBhZGQgZ2V0Y2FwcyBmdW5jdGlvbiB0byB0aGUgdmlkZW8gc2lua3BhZC4KCjIwMDktMTItMDkgMDk6NTE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXBsZW1lbnQgc3JjcGFkIGV2ZW50IGZ1bmN0aW9ucyBmb3Igc2Vla2luZyBhbmQgY29ycmVjdCBldmVudCBmb3J3YXJkaW5nCgkgIENvcGllZCBmcm9tIHRleHRvdmVybGF5LgoKMjAwOS0xMi0wOCAxNzo1OTowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiByZW1vdmUgYysrIGNvbW1lbnRzIGFuZCBhZGQgc29tZSBtb3JlIGNvbW1lbnRzLgoKMjAwOS0xMi0wOCAxNzo1NTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIGltYSBhZHBjbSBzdXBwb3J0CgoyMDA5LTEyLTA4IDE3OjU1OjEzIC0wODAwICBTdGVwaGVuIE1jTmFtYXJhIDxzdGV2ZS5tY25hbWFyYUB1bHRyYS1zbWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGRvbid0IGxlYWsgZmlsdGVyX21lZGlhX2V2ZW50CgoyMDA5LTExLTIzIDE2OjM0OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGZvciBwYXJzaW5nCgoyMDA5LTEwLTI5IDE1OjE5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGV4dHJhY3QgYW5kIHVzZSBzb21lIG1vcmUgZGV0YWlscyBmb3IgRW5oYW5jZWQgQWMtMyBzdHJlYW1zCgoyMDA5LTEwLTI5IDE1OjE4OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY3VzdG9tIGJ1ZmZlcmZsYWcgaW5kaWNhdGVzIG5vdCB0byBjb3VudCBmcmFtZSBpbiBzdGF0cwoKMjAwOS0xMC0yOCAxNDowODo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDA5LTEwLTI4IDE0OjA3OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGluZm9ybSBiYXNlIHBhcnNlciBvZiBmcmFtZSBkdXJhdGlvbgoKMjAwOS0xMC0yNyAxNjoxNjo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbXByb3ZlIHNyYyBjYXBzIHNldHRpbmdzCgoyMDA5LTExLTI3IDE3OjU5OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhYzNwYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIE1BUkdJTkFMIHJhbmsgZm9yIG5vdzsgbWlnaHQgdGFrZSBzb21lIHRpbWUgZm9yIHNvbWUgKHVzZWZ1bCkKCSAgZnJhbWVkPXRydWUvZmFsc2UgdG8gYXBwZWFyIGhlcmUgYW5kIHRoZXJlLgoKMjAwOS0xMS0yNiAxODozNDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTExLTI2IDE4OjE1OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBnc3QvYW1ycGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdhbXJwYXJzZScgaW50byBpdAoKMjAwOS0xMS0yNyAxNzoyNzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmVyZW5jZSBHc3RCYXNlUGFyc2Ugbm93IGxpdmVzIGhlcmUKCjIwMDktMTEtMjggMTg6MTM6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lICdhYWNwYXJzZScgcGx1Z2luIHRvIGdlbmVyaWMgJ2F1ZGlvcGFyc2VycycgcGx1Z2luCgoyMDA5LTExLTI2IDE3OjA0OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9wbHVnaW4uYzoKCSAgYWFjcGFyc2U6IHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24gYW5kIHJlbmFtZSBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBiZWZvcmUgYWNjZXNzaW5nCgoyMDA5LTExLTA1IDE0OjMxOjQwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgYWFjcGFyc2U6IHVzZSAoZGVmYXVsdCkgdGltZSBoYW5kbGluZyBvZiBiYXNlcGFyc2VyIGNsYXNzCgoyMDA5LTEwLTI5IDE1OjE5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4dXAgY29tbWVudHMgdG8gQy1zdHlsZQoKMjAwOS0xMC0yOSAxNjowNTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVzZXQgcGFzc3Rocm91Z2ggbW9kZSB0byBkZWZhdWx0IChkaXNhYmxlZCkgb24gYWN0aXZhdGlvbgoKMjAwOS0xMC0yOSAxNToxNjo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZQoKMjAwOS0xMC0yOCAxNDowNjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBmaXgvZW5oYW5jZSBESVNDT05UIG1hcmtpbmcKCSAgSW4gcGFydGljdWxhciwgY29uc2lkZXIgRElTQ09OVCA9PSAhc3luYywgYW5kIGFsbG93IHN1YmNsYXNzIHRvIHF1ZXJ5CgkgIHN5bmMgc3RhdGUsIGFzIGl0IG1heSB3YW50IHRvIHBlcmZvcm0gYWRkaXRpb25hbCBjaGVja3MgZGVwZW5kaW5nCgkgIG9uIHdoZXRoZXIgc3luYyB3YXMgYWNoaWV2ZWQgZWFybGllciBvbi4KCSAgQWxzbyBhcnJhbmdlIGZvciBzdWJjbGFzcyB0byBxdWVyeSB3aGV0aGVyIGxlZnRvdmVyIGRhdGEgaXMgYmVpbmcgZHJhaW5lZC4KCjIwMDktMTEtMjMgMTU6NDg6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIHRpbWVzdGFtcCBoYW5kbGluZywgYW5kIGRlZmF1bHQgY29udmVyc2lvbgoJICBJbiBwYXJ0aWN1bGFyLCAob3B0aW9uYWxseSkgcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBhIG5vdGlvbiBvZiBmcmFtZXMgcGVyIHNlY29uZAoJICAoYW5kIHRoZXJlZm9yZSBhbHNvIGZyYW1lIGR1cmF0aW9uKSBhbmQgaGF2ZSBpdCB0cmFjayBmcmFtZSBhbmQgYnl0ZSBjb3VudHMuCgkgIFRoaXMgd2F5LCBzdWJjbGFzcyBjYW4gcHJvdmlkZSBiYXNlcGFyc2Ugd2l0aCBmcHMgYW5kIGhhdmUgaXQgcHJvdmlkZSBkZWZhdWx0CgkgIGJ1ZmZlciB0aW1lIG1ldGFkYXRhIGFuZCBjb252ZXJzaW9ucywgdGhvdWdoIHN1YmNsYXNzIGNhbiBzdGlsbCBpbnN0YWxsCgkgIGNhbGxiYWNrcyB0byBoYW5kbGUgc3VjaCBpdHNlbGYuCgoyMDA5LTEwLTI4IDEyOjAyOjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDA5LTEwLTI4IDEyOjAwOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2VfZml4ZWRfY2FwcyBmb3Igc3JjIHBhZAoJICBBZnRlciBhbGwsIHN0cmVhbSBpcyBhcy1pcywgYW5kIHRoZXJlIGlzIGxpdHRsZSBtb2xkaW5nIHRvIGRvd25zdHJlYW0ncwoJICB0YXN0ZSB0aGF0IGNhbiBiZSBkb25lLiAgSWYgc3ViY2xhc3MgY2FuIGFuZCB3YW50cyB0byBkbyBzbywgaXQgY2FuCgkgIHN0aWxsIG92ZXJyaWRlIGFzIHN1Y2guCgoyMDA5LTEyLTA4IDE0OjQ2OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBBZGQgZG9jcyBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGRvY3MgYnVpbGQgc3lzdGVtCgoyMDA5LTEyLTA4IDE0OjA2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogRm9yIHN5bmNocm9uaXppbmcgdGhlIHRleHQsIHRha2UgdGhlIHZpZGVvIHJ1bm5pbmcgdGltZSBvZiB0aGUgbmV4dCBmcmFtZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCBsaWJhc3MgYWxyZWFkeSBoYXMgYWxsIHRleHQgYnVmZmVycyBmb3IgdGhlIG5leHQgZnJhbWUKCSAgYXQgdGhlIHRpbWUgd2hlbiB0aGUgbmV4dCBmcmFtZSBpcyBwcm9jZXNzZWQuIFdpdGhvdXQgdGhpcyB0ZXh0IGJ1ZmZlcnMKCSAgbWlnaHQgYmUgb25lIGZyYW1lIGxhdGUgb3Igbm90IHNob3duIGF0IGFsbCBpZiB0aGV5J3JlIG9ubHkgc2hvd24gZm9yIGEKCSAgc2luZ2xlIGZyYW1lLgoKMjAwOS0xMi0wOCAxMToyNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBJNDIwIG1vZGUgYW5kIGVuYWJsZSBpdAoKMjAwOS0xMi0wOCAxMToyNTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIGxpYmFzcyB2ZXJzaW9ucwoKMjAwOS0xMi0wNyAxMDoyMTozMiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IHNwZWxsIHRoaW5ncyBtb3JlIGJldHRlcmVyLgoKMjAwOS0xMi0wNyAxMDowOToxOSAtMDgwMCAgU3RlcGhlbiBNY05hbWFyYSA8c3RldmUubWNuYW1hcmFAdWx0cmEtc21sLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogYWRkIHZpcnR1YWwgZGVzdHJ1Y3RvciBmb3IgaW50ZXJuYWwgaGVscGVyIGNsYXNzLgoKMjAwOS0xMi0wNyAxODozNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IHVucmVmIGJ1ZmZlcnMgdHdpY2UKCjIwMDktMTItMDcgMTg6MzA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGVtYmVkZGVkIGZvbnQgdXNhZ2UKCSAgRm9yIHRoaXMgYWRkIHNvbWUgbmV3IG1pbWV0eXBlcyBhbmQgYWxzbyBjaGVjayB0aGUgZmlsZW5hbWUgZXh0ZW5zaW9uLgoJICBGaXhlcyBidWcgIzYwMzkzOC4KCjIwMDktMTItMDcgMTg6MDM6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEaXNhYmxlIEk0MjAgc3VwcG9ydCBmb3Igbm93LCBpdCBkb2Vzbid0IHdvcmsgcmVsaWFibGUgeWV0CgoyMDA5LTEyLTA3IDE3OjA0OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHN1cHBvcnQgZm9yIEk0MjAKCjIwMDktMTItMDcgMTU6MzE6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBPcHRpbWl6ZSBibGl0IGZ1bmN0aW9uIGFuZCBhZGQgc3VwcG9ydCBmb3IgYWxsIG90aGVyIG5vbi1hbHBoYSBSR0IgZm9ybWF0cwoJICBBbHNvIG1ha2Ugc3VyZSB0byBub3Qgd3JpdGUgYmVoaW5kIGFycmF5IGJvdW5kcy4KCjIwMDktMTItMDcgMTQ6MzU6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggYXR0YWNobWVudCB0YWcgaGFuZGxpbmcgYW5kIG1vdmUgaXQgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uCgkgIC4uLnRvIHByZXZlbnQgY29kZSBkdXBsaWNhdGlvbi4KCjIwMDktMTItMDcgMTQ6MjY6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVcGRhdGUgdGV4dCBsYXN0IHN0b3AgYWZ0ZXIgY2hlY2tpbmcgaWYgdGltZXN0YW1wL2R1cmF0aW9uIGlzIHZhbGlkCgoyMDA5LTEyLTA3IDE0OjIzOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgYW4gQVNTIHRyYWNrIHdhcyBhbGxvY2F0ZWQgYWxyZWFkeSBvbmx5IGZlZWQgbmV3IGNvZGVjX2RhdGEgdG8gaXQgaW5zdGVhZCBvZiByZWNyZWF0aW5nCgoyMDA5LTEyLTA3IDE0OjA1OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogTG90cyBvZiByYW5kb20gY2xlYW51cCBhbmQgc29tZSBtaW5vciBtZW1sZWFrIGZpeGVzCgoyMDA5LTEyLTA3IDEzOjQwOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRXh0cmFjdCBlbWJlZGRlZCBmb250cyBmcm9tIHRoZSBzdWJ0aXRsZSBzdHJlYW1zIGlmIHJlcXVlc3RlZAoKMjAwOS0xMi0wNyAxMzoyNjozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IGxldCBsaWJhc3MgcHJpbnQgc3R1ZmYgb24gc3RkZXJyIGJ1dCBwcm94eSB0aGUgbWVzc2FnZXMgdG8gdGhlIEdTdHJlYW1lciBkZWJ1Z2dpbmcgc3lzdGVtCgoyMDA5LTEyLTA1IDExOjI1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBhcGV4c2luazogY2xlYW4gdXAgYW5kIGZpeCBjb25maWd1cmUgbG9naWMgYW5kIE1ha2VmaWxlLmFtCgkgIENoZWNrIGZvciBvcGVuc3NsIGFuZCBsaWJjcnlwdG8gdXNpbmcgcGtnLWNvbmZpZyBhbmQgZG9uJ3QgYnVpbGQgdGhlCgkgIHBsdWdpbiBpZiB0aG9zZSBhcmUgbm90IGF2YWlsYWJsZS4gQWxzbywgZml4IHRoZSBDRkxBR1MvTElCUyBvcmRlcgoJICBpbiBNYWtlZmlsZS5hbSBhbmQgdXNlIHRoZSBkZXRlY3RlZCBMSUJTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcKCSAgLWxjcnlwdG8gaW4gdGhlIE1ha2VmaWxlLmFtLiBTaG91bGQgZml4ICM2MDE0MTcuCgoyMDA5LTEyLTAxIDE1OjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODdiZjQyOCB0byA0N2NiMjNhCgoyMDA5LTEyLTAxIDE0OjA5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDYWxsIEFHX0dTVF9QTEFURk9STSBmb3IgR1NUX0VYVFJBX01PRFVMRV9TVUZGSVgKCSAgVGhpcyBpcyB1c2VkIGluIHRoZSBmcmVpMHIgcGx1Z2luIGFscmVhZHkgYnV0IG5ldmVyIGRlZmluZWQgYW55d2hlcmUuCgkgIEZpeGVzIGJ1ZyAjNjAyNTI0LgoKMjAwOS0xMi0wMSAxNDoxNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRhNGM3NWMgdG8gODdiZjQyOAoKMjAwOS0xMS0yNyAxODo1NTo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTNhMjQ4NSB0byBkYTRjNzVjCgoyMDA5LTExLTI3IDE0OjM4OjA0ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuaDoKCSAgY2FtZXJhYmluOiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydGllcy4gRml4ZXMgIzU3MzM3MCAocGFydGlhbGx5KQoJICBBZGRlZCBHT2JqZWN0IHByb3BlcnRpZXMgdG8gcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBpbXBsZW1lbnRlZAoJICB0aGVtIGluIGNhbWVyYWJpbi4gQ2hhbmdlZCB6b29taW5nIHRvIGNoZWNrIGlmIHZpZGVvLXNvdXJjZSBoYXMKCSAgem9vbSBwcm9wZXJ0eS4KCjIwMDktMDItMjMgMjM6MTg6MzMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIEFkZCBwa2djb25maWcgZmlsZXMgZm9yIHBob3RvZ3JhcGh5IGludGVyZmFjZSBsaWJyYXJ5LgoKMjAwOS0xMC0yOCAxMjo0NzoxOSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkIGZsYWdzIHByb3BlcnR5LiBGaXhlcyAjNTczMzcwIChwYXJ0aWFsbHkpCgkgIEFkZHMgZmxhZ3MgcHJvcGVydHkgdG8gZW5hYmxlIHJ1bnRpbWUgY29uZmlndXJhdGlvbiBvZgoJICBjb252ZXJzaW9uIGFuZCBzY2FsaW5nIGVsZW1lbnRzLiBBbHNvIGFkZHMgZmxhZyBmb3IgZGlzYWJsaW5nCgkgIGF1ZGlvIGNvbXBsZXRlbHkuCgoyMDA5LTEwLTI3IDE2OjI4OjI1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHRpbWVvdmVybGF5IGJ1aWxkLXRpbWUgZGVmaW5pdGlvbgoKMjAwOS0xMS0yNiAxNTozMzozMiAtMDYwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGZpeCBidWlsZAoKMjAwOS0xMS0yNSAyMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlcGxhY2UgX3NjYWxlIHdpdGggX3NjYWxlX3JvdW5kCgkgIFVzZSB0aGUgcm91bmRpbmcgdmVyc2lvbiBmb3IgaW1wcm92ZWQgc3luYyBiZXR3ZWVuIHN0cmVhbXMuCgkgIFNtYWxsIHZhcmlhdGlvbnMgaW4gdGhlIGR1cmF0aW9uIHdoZW4gbXV4aW5nIG1pZ2h0IGxlYWQgdG8KCSAgY3VtdWxsYXRpdmUgd3JvbmcgdGltZXN0YW1waW5nIHdoZW4gZGVtdXhpbmcuCgkgIEZpeGVzICM2MDI5MzYKCjIwMDktMTEtMjQgMTY6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgdGltZXN0YW1wcyBmb3IgbXV4aW5nCgkgIFRyeSB0byB1c2UgdGltZXN0YW1wcyBldmVuIHdoZW4gdGhlIHN0cmVhbSBoYXMgb3V0IG9mIG9yZGVyCgkgIHRpbWVzdGFtcHMsIG9ubHkgZmFsbCBiYWNrIHRvIGR1cmF0aW9ucyB3aGVuIHdlIGRldGVjdCBhbgoJICBvdXQgb2Ygb3JkZXIgYnVmZmVyLiBJbXByb3ZlcyBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCjIwMDktMTEtMjQgMTQ6MzQ6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBtZXRhZGF0YTogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDA5LTExLTE4IDExOjM4OjUwICswMTAwICBYYXZpZXIgUXVlcmFsdCBNYXRldSA8eHF1ZXJhbHRAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBFeHBvc2UgbGFuZyBjb2RlcyBpbiBwbXQKCjIwMDktMTEtMjIgMTk6MzA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBvcHRpb25hbCB0cmFuc2Zvcm1pbmcgZnJvbSBieXRlc3RyZWFtIHRvIHNhbXBsZSBmb3JtYXQgKG9yIHZpY2UgdmVyc2EpCgoyMDA5LTExLTIwIDE4OjMxOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVmYWN0b3IgYSBiaXQgaW50byBhIHJlc2V0IGZ1bmN0aW9uCgoyMDA5LTExLTIwIDE4OjQ5OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcHJvdmlkZSB3L2ggZnJvbSBzdHJlYW0gaW4gc3JjIGNhcHMgaWYgbm90IGluIHNpbmsgY2FwcwoKMjAwOS0xMS0wNiAxMjo1ODozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBhcnNlIFNQUyBzb21lIG1vcmUgKGUuZy4gZm9yIHdpZHRoL2hlaWdodCkKCjIwMDktMTEtMjIgMTk6MzQ6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBvcHRpb25hbGx5IG91dHB1dCBBVXMgcmF0aGVyIHRoYW4gTkFMVXMKCSAgVGhhdCBpcywgQWNjZXNzIFVuaXRzIChmcmFtZXMvZmllbGRzKSBpbnN0ZWFkIG9mIChwb3NzaWJseSkgcGFydHMgdGhlcmVvZi4KCjIwMDktMTEtMjMgMTA6MzI6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiByZW1vdmUgZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYwoKMjAwOS0xMS0yMyAwOTozNTozMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHByZS1yZWxlYXNlPT5naXQKCjIwMDktMTEtMjMgMDk6MTc6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkgIHZkcGF1OiBGaXggaW5jbHVkZXMKCjIwMDktMTEtMjIgMjI6NTQ6MjcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBjb252ZXJ0IHRvIDEvMSBwaXhlbC1hc3BlY3QtcmF0aW8gZm9yIHJnYiB0b28KCjIwMDktMTEtMjIgMjI6MzQ6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGludGVyc2VjdCBhbGxvd2VkIGNhcHMgd2l0aCBvdXIgdGVtcGxhdGUgY2FwcwoKMjAwOS0xMS0yMiAyMjozMTozOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdTogZml4IGdzdF92ZHBfW3ZpZGVvfHl1dl1fdG9fb3V0cHV0X2NhcHMgdG8gYWxzbyBhZGQgcmdiIGNhcHMKCjIwMDktMTEtMjIgMjI6MzA6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHVzZSBHc3RWZHBWaWRlb1NyY1BhZAoKMjAwOS0xMS0yMiAyMjoyOTo1OCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJICB2ZHBhdTogYWRkIGZ1bmN0aW9ucyB0byBHc3RWZHBPdXRwdXRCdWZmZXIgbmVlZGVkIGZvciByZ2IgZG93bmxvYWQKCjIwMDktMTEtMjIgMjI6Mjg6MTggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBHc3RQYWQgc3ViY2xhc3MgR3N0VmRwT3V0cHV0U3JjUGFkCgkgIEdzdFZkcE91dHB1dFNyY1BhZCBpcyBhIHN1YmNsYXNzIG9mIEdzdFBhZCB0aGF0IGlzIHVzZWQgZm9yIHB1c2hpbmcgb3V0CgkgIEdzdFZkcE91dHB1dEJ1ZmZlcnMuIEl0IHRha2VzIGNhcmUgb2YgY2FwcyBuZWdvdGlhdGlvbiBhbmQgY29udmVyc2lvbiB0bwoJICB2aWRlby94LXJhdy1yZ2IuCgoyMDA5LTExLTIyIDIyOjI0OjEyICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogYWRkICJ0ZW1wbGF0ZS1jYXBzIiBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgbGltaXRzIHRoZSBhdmFpbGFibGUgb3V0cHV0IGNhcHMKCjIwMDktMTEtMjIgMjI6MTg6NTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSAgZ3N0dmRwdmlkZW9idWZmZXI6IGZpeCB0eXBvCgoyMDA5LTExLTIxIDAyOjUxOjM5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogcmVwbGFjZSBnZXRfcGFkX3RlbXBsYXRlKCkgd2l0aCBnZXRfdGVtcGxhdGVfY2FwcygpCgoyMDA5LTExLTIxIDAxOjEwOjUwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICBnc3R2ZHB2aWRlb3NyY3BhZDogZG9uJ3QgcmVjcmVhdGUgY2FwcyBpbiBnZXRjYXBzCgoyMDA5LTExLTIxIDAwOjEzOjQ2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IGFkZCBHc3RQYWQgc3ViY2xhc3MgR3N0VmRwVmlkZW9TcmNQYWQKCSAgR3N0VmRwVmlkZW9TcmNQYWQgdGFrZXMgY2FyZSBvZiBjYXBzIG5lZ290aWF0aW9uIGFuZCBjb252ZXJzaW9uIG9mCgkgIEdzdFZkcFZpZGVvQnVmZmVycyB0byB0aGUgbmVnb3RpYXRlZCBvdXRwdXQgZm9ybWF0LgoKMjAwOS0xMC0yNyAyMjowNDoxMCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IHJld29yayBwcmVzZW50YXRpb24gYmxvY2tpbmcgYSBiaXQKCSAgaW5zdGVhZCBvZiBibG9ja2luZyB1bnRpbCB0aGUgcHJldmlvdXMgc3VyZmFjZSBoYXMgYmVlbiBkaXNwbGF5ZWQsIHdlIG5ldyBvbmx5CgkgIGFkZCBzdXJmYWNlcyB0byB0aGUgcXVldWUgaWYgaXQncyBpZGxlLgoKMjAwOS0xMC0yNyAyMToxODowNCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2Vzczogc3BsaXQgdXAgY2hhaW4gZnVuY3Rpb24KCjIwMDktMTAtMjcgMjA6NTc6MDUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGltcGxlbWVudCBiYXNpYyBxb3MgaGFuZGxpbmcKCjIwMDktMTAtMTYgMDA6MTY6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBkaXNwbGF5IHByb3BlcnR5CgoyMDA5LTEwLTA4IDIzOjM4OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJICB2ZHBhdTogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMDktMTAtMDggMjA6MjU6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdTogdXNlIGxvY2FsIGxpYmdzdHZkcCBoZWFkZXJzCgoyMDA5LTEwLTA4IDIwOjIzOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVtb3ZlIG5vdyB1bm5lZWRlZCB2ZHBhdXZpZGVveXV2IGFuZCB2ZHBhdXl1dnZpZGVvIGVsZW1lbnRzCgoyMDA5LTEwLTA4IDIwOjE5OjU3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgZGlzcGxheSBwcm9wZXJ0eQoKMjAwOS0xMC0wOCAyMDoxMzoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogYWRkIGRlYnVnIG91dHB1dAoKMjAwOS0xMC0wOCAyMDoxMzowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXl1diBpbnB1dAoKMjAwOS0xMC0wNyAxMDoyNTo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIHNyY19nZXRjYXBzIGZ1bmMKCSAgdGhpcyB3YXkgd2UgY2FuIHJldHVybiBvbmx5IHRoZSBjYXBzIHdlIHJlYWxseSBzdXBwb3J0LCBzaW5jZSB3ZSdyZSBhYmxlIHRvIHF1ZXJ5IHZkcGF1CgkgIGFib3V0IGl0CgoyMDA5LTEwLTA3IDAwOjEzOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBzdXBwb3J0IGZvciBuZWdvdGF0aW9uIG9mIHgtcmF3LXl1diBvdXRwdXQKCjIwMDktMTAtMDQgMTk6Mjc6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBjcmVhdGUgYSBsaWJnc3R2ZHAgbGlicmFyeS4KCSAgVGhlIGxpYnJhcnkgY29udGFpbnMgR3N0VmRwRGV2aWNlIEdzdFZkcFZpZGVvQnVmZmVyIGFuZCBHc3RWZHBPdXRwdXRCdWZmZXIuIFRoZQoJICBsaWJyYXJ5IHdpbGwgKGFwYXJ0IGZyb20gdGhlIHBsdWdpbnMgaGVyZSkgYmUgdXNlZCBieSB0aGUgdXBjb21pbmcgZ3N0LWZmbXBlZwoJICB2ZHBhdSBzdXBwb3J0LgoKMjAwOS0xMC0wMyAxNDozMDo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2hlY2sgZm9yIHNpbmsgZWxlbWVudCByZXR1cm5pbmcgd3JvbmcgYnVmZmVyIHR5cGUKCjIwMDktMTAtMDIgMDE6MDQ6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiByZW1vdmUgdW5uZWVkZWQgZ3N0X3ZkcF92aWRlb19idWZmZXJfYWRkX3JlZmVyZW5jZSBmdW5jdGlvbgoKMjAwOS0wOS0yNCAyMjoyNjo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IGxvbmduYW1lCgoyMDA5LTExLTIyIDE5OjMwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIENsZWFuIHVwIExERkxBR1MsIExJQlMsIENGTEFHUwoJICBGaXggb3JkZXIsIGZpeCB2YXJpYWJsZXMgdGhhdCBkb24ndCBleGlzdCwgbGlrZSBHU1RfTElCU19MSUJTLAoJICB1c2UgJChMSUJNKSBpbnN0ZWFkIG9mIC1sbSwgYW5kIG1vdmUgX0xJQlMgZnJvbSBMREZMQUdTIHRvIExJQkFERC4KCSAgU3BvdHRlZCBieSBIYXZhcmQgR3JhZmYuCgoyMDA5LTExLTIyIDE5OjAyOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSAgY29nOiBpbmNsdWRlIG91ciBvd24gX3N0ZGludC5oIGluc3RlYWQgb2YgPHN0ZGludC5oPgoKMjAwOS0xMS0yMCAxMToxMzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICBsaWJyZmI6IGluY2x1ZGUgb3VyIG93biBfc3RkaW50Lmggbm90IHN0ZGludC5oCgoyMDA5LTExLTIxIDE3OjMxOjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBsb2NhbCBiYXNlc3JjIGNvcHkKCSAgVXNlIHRoZSByZWFsIHZlcnNpb24gb2YgYmFzZXNyYyBpbnN0ZWFkIG9mIGEgbG9jYWwgY29weSBub3cgdGhhdCBpdAoJICBzdXBwb3J0cyB0aGUgc2VhbWxlc3Mgc2VnbWVudCBmZWF0dXJlIHRoYXQgcmVzaW4gbmVlZHMuCgoyMDA5LTExLTIwIDEzOjQxOjI3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0cy9pY2xlczogbWFrZSBjb2cgdGVzdCBwcm9ncmFtIGRlcGVuZCBvbiBVU0VfQ09HLiBGaXhlcyBidWlsZCB3aXRob3V0IG9yYy4KCjIwMDktMTEtMjAgMjA6NTU6MTUgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGNvbnZlcnQgc29tZSBwYXJhbXMgdG8gY29uc3RzIGluIG9yYyBjb2RlCgoyMDA5LTExLTIwIDE3OjMzOjIxICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzLgoKMjAwOS0xMS0yMCAxNzozMjo0NCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhbXJwYXJzZTogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmdzCgoyMDA5LTExLTIwIDE3OjMyOjEzICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTEtMjAgMTA6MzE6NDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXNlIF9zdGRpbnQuaCBmcm9tIGNvbmZpZ3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTIwIDEzOjEzOjM2ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBjb2c6IEFkZCBvcmMgdGVzdCBjb2RlIGZvciBjb2cKCSAgQWxzbyBsb29rIGZvciBjb2cub3JjIHNvdXJjZSBmaWxlIGluIHRoZSByaWdodCBwbGFjZS4KCjIwMDktMTEtMTkgMjA6MzM6MDcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IFVwZGF0ZSBkdG1mZGV0ZWN0IHRvIG1ha2UgaXQgTVNWQyBmcmllbmRseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAyNDY1CgoyMDA5LTExLTE5IDE4OjI4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCSAgQWRkcyBhIG1pc3NpbmcgZGVidWcgYXJndW1lbnQKCjIwMDktMTEtMTkgMjM6MDE6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogc2V0IHRoZSBhdWRpby1jaGFubmVsIHBvc2l0aW9ucyBhZ2FpbiwgYnV0IG5vdyBpbiBfc2V0dXAKCSAgUmVhZGQgdGhlIGNvZGUgdGhhdCB3YXMgcmV2ZXJ0ZWQgZm9yIHRoZSByZWxlYXNlLiBXZSBub3cgc2V0IGF1ZGlvLWNoYW5uZWwKCSAgcG9zaXRpb25zIGlmIGFueSBvbiB0aGUgcGFkIGNhcHMgYW5kIG5vdCBvbiB0aGUgdGVtcGxhdGVzLgoKMjAwOS0xMS0xOSAyMjo1OToxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW1vdmUgY29tbWVudGVkIG91dCBjb2RlIHRoYXQgd2UgZG9uJ3QgbmVlZCBhbnltb3JlCgoyMDA5LTExLTE3IDAwOjM5OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICB0ZXN0czogbWFrZSBzdGF0ZS1jaGFuZ2UgdGVzdCB0aW1lb3V0IGxvbmdlciBpZiB3cmFwcGVycyBhcmUgZW5hYmxlZAoJICBXaGVuIGxhZHNwYSB8fCBsdjIgYXJlIGVuYWJsZWQgb25lIGNvdWxkIHF1aWNrbHkgZ2V0IHRvIDUwMCBlbGVtZW50cy4KCjIwMDktMTEtMTcgMDA6Mzc6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJICByZWFsYXVkaW9kZWM6IHJlaW5kZW50IGFuZCBtYWtlIHZhbGdyaW5kIGhhcHB5CgkgIFRoZSBzdGF0ZS1jaGFuZ2UgdGVzdHMgcmVwb3J0ZWQgYWNjZXNzIHRvIHVuaW5pdGlhbGl6ZWQgbWVtb3J5LgoKMjAwOS0xMS0xNiAyMjowNzozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBvbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBmb3IgY2hlY2tpbmcgcHJlLWNvbmRpdGlvbnMKCSAgZ19yZXR1cm5fKiBjYW4gYmUgZGlzYWJsZWQuIFN0aWxsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZhaWxlZCBpbnN0YW5jZSBjcmVhdGlvbi4KCjIwMDktMTEtMTYgMjI6MDU6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2Mjogb25seSB1c2UgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgZm9yIGNoZWNraW5nIHByZS1jb25kaXRpb25zCgkgIGdfcmV0dXJuXyogY2FuIGJlIGRpc2FibGVkLiBTdGlsbCB3ZSB3YW50IHRvIGNoZWNrIGZvciBmYWlsZWQgaW5zdGFuY2UgY3JlYXRpb24uCgoyMDA5LTExLTE2IDIxOjUyOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHJlbW92ZSBsZWZ0LW92ZXIgY29tbWVudAoKMjAwOS0xMS0xNiAyMTo1MDoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBjaGFuZ2UgX3NldHVwIHRvIHBhc3Mgd2hvbGUgY2FwcyBhbmQgbm90IGp1c3Qgc2FtcGxpbmdfcmF0ZQoJICBUaGlzIGFsbG93cyB0byBnZXQgcmlkIG9mIHRoZSBzYW1wbGluZ19yYXRlIHZhcmlhYmxlIGluIHRoZSBiYXNlLWNsYXNzLiBBbHNvIG5vdwoJICBzdWJjbGFzc2VzIGNhbiBtb2RpZnkgdGhlIGNhcHMgdG8gYWN0dWFseSBuZWdvdGlhdGUuIFRoaXMgaXMgbmVlZGVkIHRvIGUuZy4gc2V0CgkgIGF1ZGlvLWNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOS0xMS0xOSAxMTozNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgZGVidWcgc3RhdGVtZW50CgoyMDA5LTExLTE5IDExOjE0OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5zdXJlIHdyaXRhYmxlIGJ1ZmZlciBtZXRhZGF0YSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDA5LTExLTE5IDEwOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDcwMmZlMSB0byA1M2EyNDg1CgoyMDA5LTExLTE4IDIwOjA2OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogaW1wcm92aW5nIGRlYnVnIG1lc3NhZ2VzCgkgIEltcHJvdmVzIGRlYnVnIG1lc3NhZ2VzIGZvciBhc2ZtdXgKCjIwMDktMTAtMjkgMDg6MzY6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIFNWUTMKCSAgQWRkcyBzdXBwb3J0IGZvciBtdXhpbmcgU1ZRMyBjb250ZW50LiBVc3VhbGx5IHRoaXMgZm9ybWF0CgkgIGhhcyBkZWNvZGVyIGluZm8gdGhhdCBtdXN0IGJlIHBhc3NlZCBpbiB0aGUgJ3NlcWgnIGZpZWxkCgkgIGluIHRoZSBjYXBzLiBJdCBpcyBhbHNvIGdvb2QgdG8gYWRkIHRoZSBnYW1hIGF0b20gdG8gbWFrZQoJICBxdWlja3RpbWUgbm90IGNyYXNoLgoJICBGaXhlcyAjNTg3OTIyCgoyMDA5LTExLTE4IDE4OjAwOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2pwMmsvZ3N0anAyay5jOgoJICBqcDJrOiBSYWlzZSByYW5rIG9mIGVuY29kZXIgdG8gTUFSR0lOQUwKCjIwMDktMTEtMTggMTg6MDA6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJICBnc206IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE4OjAwOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkgIGFtcndiZW5jOiBSYWlzZSByYW5rIHRvIFNFQ09OREFSWQoKMjAwOS0xMS0xOCAxNzo1OToyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSAgZGlyYWM6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBNQVJHSU5BTAoJICBXZSdsbCBwcmVmZXIgdG8gdXNlIHNjaHJvZWRpbmdlciBpZiBhdmFpbGFibGUsIGJ1dCBpbiBjYXNlIGl0J3Mgbm90IGF2YWlsYWJsZQoJICB3ZSBzdGlsbCBoYXZlIHRoZSBsaWJkaXJhYyBvcHRpb24KCjIwMDktMTEtMTggMTc6NTg6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkgIHh2aWQ6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBTRUNPTkRBUlkKCjIwMDktMTEtMTggMTc6NTg6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIGFpZmY6IFJhaXNlIHJhbmsgb2YgbXV4ZXIgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxNzo1Nzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkgIG12ZTogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU3OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBSYWlzZSByYW5rIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTM6NDE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZSByZXF1aXJlbWVudHMgdG8gMC4xMC4yNS4xIGFzIHdlbGwKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMDktMTEtMTcgMTY6MzE6MDkgKzAxMDAgIFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpdHpAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSAgc2lnbmFscHJvY2Vzc29yOiBVc2UgY29ycmVjdCBDRkxBR1MgZm9yIHRoZSBzaWduYWxwcm9jZXNzb3IgaGVhZGVycyBpbiBMVjIvTEFEU1BBCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBoZWFkZXJzIGZyb20gdGhlIHNvdXJjZSB0cmVlIGFyZSB0YWtlbiBhbmQgbm90CgkgIGFjY2lkZW50aWFsbHkgaW5zdGFsbGVkIHN5c3RlbSBoZWFkZXJzIGluIHRoZSBjYXNlIG9mIGJ1aWxkZGlyIT1zcmNkaXIuCgkgIEZpeGVzIGJ1ZyAjNjAyMTYxLgoKMjAwOS0xMS0xOCAwMzowOToxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIHJlc2luZHZkLCBkdmRzcHU6IFVzZSBuZXcgc3RpbGwtZnJhbWUgQVBJIGZyb20gZ3N0LXBsdWdpbnMtYmFzZQoJICBSZXBsYWNlIHRoZSBjdXJyZW50IGN1c3RvbSBEVkQgc3RpbGwtZnJhbWUgZXZlbnRzIHdpdGggbmV3IGV2ZW50CgkgIGNyZWF0aW9uL3BhcnNpbmcgQVBJIGZyb20gbGliZ3N0dmlkZW8uCgoyMDA5LTExLTE4IDAyOjE2OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1bXAgZ3N0LXBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjI1LjEKCjIwMDktMTEtMTggMDI6MDQ6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkgIFJldmVydCAiYWlmZjogRGlzYWJsZSBhaWZmIG11eGVyIGZvciB0aGlzIHJlbGVhc2UuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDc0MjZiZTcwZmZiMTEzZjAyZTM3NDA3ZWE5ODllNjBiNjM4YjJmMDAuCgkgIFJlLWVuYWJsZSB0aGUgYWlmZiBtdXhlciBub3cgdGhhdCBnc3QtcGx1Z2lucy1iYWQgMC4xMC4xNyBpcyBvdXQKCSAgYW5kIHdlIGNhbiByZWx5IG9uIGdzdC1wbHVnaW5zLWJhc2UgZnJvbSBnaXQuCgoyMDA5LTExLTE3IDE3OjI1OjE0IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogaGFuZGxlIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQgc3RhcnQgdGltZXMKCSAgUHJldmVudHMgbG9zaW5nIHN5bmMgd2hlbiByZW11eGluZyBzdHJlYW1zIHdpdGggZGlmZmVyZW50CgkgIHN0YXJ0IHRpbWVzLiBUaGUgc21hbGxlc3Qgc3RhcnQgdGltZSBpcyBzZWxlY3RlZCBhcwoJICB0aGUgYmFzZSB0aW1lIGFuZCBhbGwgdGltZXN0YW1wcyBhcmUgc3VidHJhY3RlZAoJICBmcm9tIGl0IHRvIGdldCB0aGUgYWN0dWFsIHRpbWUgdG8gYmUgdXNlZCB3aGVuCgkgIG11eGluZyBhbmQgYnVpbGRpbmcgaW5kZXhlcwoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTE3IDA5OjI2OjA1IC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZG8gbm90IGxlYWsgYSBzdHJpbmcKCSAgRnJlZXMgYSBzdHJpbmcgYWZ0ZXIgdXNlLiBBbHNvIGRvZXMgc29tZSBjb2RlIG9yZ2FuaXphdGlvbgoKMjAwOS0xMS0xNiAxNDo1Nzo1MyAtMDMwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NAcmVkbW9vbi4obm9uZSk+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGRvIG5vdCBhZGQgc2l6ZSB0byB0aGUgcG9pbnRlciB2YXJpYWJsZQoJICBEbyBub3Qgd3JvbmdseSBhZGQgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24gdG8gdGhlCgkgIHBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBzaXplLiBJbnN0ZWFkLCBjaGVjayB0aGUgcmVzdWx0CgkgIHRvIHNlZSBpZiB0aGUgc2VyaWFsaXphdGlvbiB3YXMgb2suCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICJDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4iCgkgIEZpeGVzICM2MDIxMDYKCjIwMDktMTEtMDYgMTA6MzQ6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBoYW5kbGUgJ2xhdGUnIHN0cmVhbXMKCSAgV2hlbiBtdXhpbmcgc3RyZWFtcywgc29tZSBjYW4gc3RhcnQgbGF0ZXIgdGhhbiBvdGhlcnMuIHF0bXV4CgkgIG5vdyBoYW5kbGUgdGhpcyBieSBhZGRpbmcgYW4gZW1wdHkgZWR0cyBlbnRyeSB3aXRoIHRoZQoJICBkdXJhdGlvbiBvZiB0aGUgJ2xhdGVuZXNzJyB0byB0aGUgc3RyZWFtJ3MgdHJhay4KCSAgSXQgdG9sZXJhdGVzIGEgc3RyZWFtIHRvIGJlIHVwIHRvIDAuMXMgbGF0ZS4KCSAgRml4ZXMgIzU4Njg0OAoKMjAwOS0xMS0wNSAyMTozNTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkgIHF0bXV4OiBhZGRzIHRoZSBFRFRTIGFuZCBFTFRTIGF0b21zIHRvIGF0b21zLmMKCSAgVGhlc2UgYXRvbXMgd2lsbCBiZSB1c2VmdWwgZm9yIHNpZ25hbGluZyBzdHJlYW1zCgkgIHRoYXQgc3RhcnQgbGF0ZXIgaW4gdGhlIGZpbGUuIEFzIHdlbGwgZm9yIGFkZGluZwoJICBlZGl0IGxpc3RzIGlmIG5lZWRlZCBzb21ldGltZSBsYXRlci4KCjIwMDktMTEtMTcgMTc6NTk6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBkZWNvZGUgYWRwY20gd2l0aG91dCBleHBsaWNpdCBsZW5ndGgsIGFzIGZvdW5kIGluIHF0LgoKMjAwOS0xMS0xNSAwMzoyMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGb3J3YXJkIHRoZSBzdGlsbCBmcmFtZSBldmVudCBkb3duc3RyZWFtCgkgIEZvcndhcmQgc3RpbGwtZnJhbWUgZXZlbnRzIGRvd25zdHJlYW0gc28gZWxlbWVudHMgbGlrZSBkZWludGVybGFjZQoJICBjYW4gdXNlIHRoZW0uCgoyMDA5LTExLTE0IDAwOjMxOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEd1YXJkIGFnYWluc3QgYSBkaXZpZGUtYnktemVybyBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDI2MwoKMjAwOS0xMS0xOCAwMTo0NjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xNy4xCgoyMDA5LTExLTE3IDAxOjUzOjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuMTcgcmVsZWFzZSB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwOS0xMS0xNyAwMToyNTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE3CgoyMDA5LTExLTE3IDAxOjEzOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMS0xNSAyMTo0NjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgaW4gdGVtcGxhdGUtY2FwcywgRml4ZXMgIzYwMTc3NQoJICBSZXZlcnQgdGhlIGNoYW5nZXMgdGhhdCBhZGRlZCBhdWRpbyBwb3NpdGlvbnMgdG8gdGVtcGxhdGUgY2Fwcy4gV2UgaGF2ZSBhbiB1bi0KCSAgZm9ydHVuYXRlIGxpbWl0YXRpb24gaW4gY29yZSB0aGF0IGRvZXMgbm90IGFsbG93IHRvIGRvIGl0LiBLZWVwIGEgZmV3IHRoaW5ncwoJICBjb21tZW50ZWQgb3V0LCBzbyB0aGF0IHRoZSBjaGFubmVsIHBvc2l0aW9uIGNhbiBsYXRlciBvbiBiZSBzZXQgaW4gc2V0Y2Fwcy4KCjIwMDktMTEtMTMgMDI6MTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8va3kucG86CgkqIHBvL2x2LnBvOgoJKiBwby9zdi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE2LjMgcHJlLXJlbGVhc2UKCjIwMDktMTEtMTEgMTA6NTg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IFBvcnQgdG8gMC43IEFQSQoJICBGaXhlcyBidWcgIzYwMDcyNC4KCjIwMDktMTEtMTEgMTA6NTQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IE1ha2UgY2VsdCB2ZXJzaW9uIGNoZWNrcyBiZXR0ZXIgZXh0ZW5zaWJsZQoKMjAwOS0xMS0wOSAxOToyMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMS0wOSAxOTowODo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogRGlzYWJsZSBhaWZmIG11eGVyIGZvciB0aGlzIHJlbGVhc2UuCgkgIFRoZSBhaWZmIG11eGVyIHJlbGllcyBvbiBHc3RCeXRlV3JpdGVyIEFQSSBhZGRlZCBhZnRlciAwLjEwLjI1LiBEaXNhYmxlCgkgIGl0IGZvciB0aGlzIHJlbGVhc2UuCgkgIFJldmVydCB0aGlzIGNvbW1pdCBhZnRlciBnc3QtcGx1Z2lucy1iYWQgMC4xMC4xNwoKMjAwOS0xMS0wOSAxNDoxMDoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSAgYXNmbXV4OiBVbmNvbW1lbnQgLS1kaXNhYmxlLXN0YXRpYyBmbGFnCgkgIEZvciBzb21lIHJlYXNvbiB0aGF0IGxpYnRvb2wgZmxhZ3MgbGluZSB0aGF0IHByZXZlbnRzIGJ1aWxkaW5nCgkgIHRoZSBzdGF0aWMgbGliIHdhcyBjb21tZW50ZWQgb3V0LiBSZXBvcnRlZCBieSBNYXJ0IFJhdWRzZXBwIG9uIElSQy4KCjIwMDktMTEtMDkgMTE6NDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogUmVtb3ZlIHVzZWxlc3MgdmFyaWFibGVzIGFuZCBmaXggYSB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIGRmZDUxYWE4MmE5ZTFjOTkyNDM3NTE4Mzc5NmVhYjcwZTU3NGEyMzEuCgoyMDA5LTExLTA5IDExOjQ4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IE1ha2Ugc3VyZSB0aGF0IHJ1bm5pbmdfdGltZS0+dGltZXN0YW1wIGNhbGN1bGF0aW9uIG5ldmVyIGJlY29tZXMgbmVnYXRpdmUKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgZjM2NTM4NTQ1ODU4NjRhMDlkMzVlMDM3ODUzNDA3MzMyZWE2OTAxZi4KCjIwMDktMTEtMDkgMTE6NDg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIHRoZSBzdGFydCB0aW1lIChpLmUuIHRpbWVzdGFtcCkgYXMgdGhlIGxhc3Qgc3RvcAoJICBVc2luZyB0aGUgZW5kIHRpbWUgbWFrZXMgaXQgaW1wb3NzaWJsZSB0byByZXBsYWNlIGJ1ZmZlcnMsIHdoaWNoIGlzCgkgIGEgYmlnIHByb2JsZW0gZm9yIHN1YnRpdGxlcyB0aGF0IGNvdWxkIGhhdmUgdmVyeSBsb25nIGR1cmF0aW9ucy4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgMjcwMzRiZTQ2MTEyMzFjYzU1ZmEzZDNlMjUzYmFhNDBjNmJmZjQxZC4KCjIwMDktMTEtMDkgMTE6NDc6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMDktMTEtMDcgMTI6Mjk6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogRml4IGtsYXNzIChzL0RlY29kZXIvRW5jb2Rlci8pCgoyMDA5LTExLTA2IDE1OjMxOjI2ICswMTAwICBDaHJpcyBIaWxscyA8Y2hhekBjaGF6Ni5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBzdXBwb3J0IGZvciBEVkItVC9EVkItQyB3aXRoIERWQiBBUEkgMy4zCgoyMDA5LTExLTA2IDExOjQ0OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogVGhlIHRleHQgYW5kIHZpZGVvIGR1cmF0aW9uIHNob3VsZCBvbmx5IGNvbXBhcmVkIGFzIHJ1bm5pbmcgdGltZSB0b28KCSAgVGhlIGVuZCB0aW1lcyBvZiB0aGUgdGV4dCBhbmQgdmlkZW8gYnVmZmVycyBjb3VsZCBiZSBkaWZmZXJlbnQgdGhhbgoJICB0aGVpciBzdGFydCBydW5uaW5nIHRpbWUgKyBkdXJhdGlvbiBiZWNhdXNlIG9mIGRpZmZlcmVudCByYXRlcy4KCjIwMDktMTEtMDYgMDk6MTY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiBMb3dlciB0aWdlcidzIHJhbmsgdG8gTk9ORSBhZ2FpbgoJICBJdCdzIG5vdCB3ZWxsIHRlc3RlZCB5ZXQgYW5kIGRvZXNuJ3QgaGFuZGxlIHNlZ21lbnRzIGFuZCB0ZXh0L3ZpZGVvCgkgIHN5bmNocm9uaXphdGlvbiBwcm9wZXJseSB5ZXQuIEF1dG9wbHVnZ2luZyBpdCB3aWxsIGNhdXNlIGZhaWx1cmVzLgoKMjAwOS0xMS0wNiAwNzoxMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlc2V0IHNlZ21lbnRzIG9uIEZMVVNIX1NUT1AgZXZlbnRzCgoyMDA5LTExLTA1IDE3OjQxOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMDktMTEtMDYgMDA6NDY6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkaW5nIHNvbWUgaWZzIGZvciBwcm90ZWN0aW9uCgkgIEFkZGluZyBzb21lcyBpZnMgdG8gcHJvdGVjdCBhZ2FpbnN0IHdhcm5pbmcgY29uZGl0aW9ucwoJICB0aGF0IG1pZ2h0IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVsZW1lbnQgaXMgbm90IHNhbmUKCSAgRml4ZXMgIzYwMDg5NQoKMjAwOS0xMS0wNSAxMzo0MDozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IHByb3Blcmx5IHVwZGF0ZSBuZXcgc2VnbWVudHMKCSAgU2NhbGV0ZW1wbyB3YXMgbWlzc2luZyBhbiB1cGRhdGUgb2YgJ3N0b3AnIGluCgkgIG5ldyBzZWdtZW50IHBhcmFtZXRlcnMgd2hlbiBwdXNoaW5nIGl0IGRvd25zdHJlYW0sCgkgIHdoaWNoIGNhdXNlZCBmaWxlcyB0byBlbmQgZWFybGllciB3aGVuIHJhdGUgPCAxLgoJICBGaXhlcyAjNTk5OTAzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBCYXN0aWFuIEhlY2h0IDxoZWNodGJAZ21haWwuY29tPgoKMjAwOS0xMS0wNSAyMzoxNzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgdGltaWRpdHk6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjI6MDM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgbXl0aHR2OiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjU4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo1MTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGlyZWN0ZmI6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGFsc2FzcGRpZnNpbms6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMTc6MTM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVcGRhdGUgbGFzdCBzdG9wIGZvciB0aGUgc3VidGl0bGVzCgoyMDA5LTExLTA1IDE3OjA2OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogU3luY2hyb25pemUgdGV4dCBhbmQgdmlkZW8gYnkgdGFraW5nIHRoZSBydW5uaW5nIHRpbWUgaW5zdGVhZCBvZiB0aGUgc3RyZWFtIHRpbWUKCjIwMDktMTEtMDUgMTY6NDQ6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBLZWVwIHRyYWNrIG9mIHRoZSBzdWJ0aXRsZSBzZWdtZW50cwoKMjAwOS0xMS0wNSAxNjo0MTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IElmIHRoZSB2aWRlbyBzZWdtZW50IGlzIG5vdCBpbiBUSU1FIGZvcm1hdCBkb24ndCBhY2NlcHQgaXQKCjIwMDktMTEtMDQgMjI6NTI6MTkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZHRtZmRldGVjdDogQWRkIGR0bWZkZXRlY3RzIHRvIHBsdWdpbnMgZG9jcwoKMjAwOS0xMS0wNCAyMjoxOTo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWZkZXRlY3Q6IEFkZCBEVE1GIHRvbmUgZGV0ZWN0b3IKCSAgSXQgbG9va3MgYXQgcmF3IGF1ZGlvIGRhdGEgYW5kIGVtaXRzIG1lc3NhZ2VzIHdoZW4gRFRNRiBpcyBkZXRlY3RlZC4KCSAgVGhlIGR0bWYgZGV0ZWN0b3IgaXMgdGhlIHNhbWUgR29lcnR6ZWwgaW1wbGVtZW50YXRpb24gdXNlZCBpbiBGcmVlU3dpdGNoCgkgIGFuZCBBc3Rlcmlzay4gSXQgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCgoyMDA5LTExLTA1IDEzOjUzOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmV2ZXJ0ICJpbnB1dHNlbGVjdG9yOiB1c2UgZ2V0X2NhcHNfcmVmZmVkKCkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDllYzRmNzk2YTBlM2Y4OGE4NTE3MDg3ODJjODUzYmFmNGIwNTcyNC4KCSAgV2UgY2FuJ3QgdXNlIHRoaXMgbmV3IGZ1bmN0aW9uIHlldC4KCjIwMDktMTEtMDUgMTM6Mjk6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiB1c2UgZ2V0X2NhcHNfcmVmZmVkKCkKCjIwMDktMTEtMDUgMTM6MTc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEcm9wIHRvbyBsYXRlIHRleHQgYnVmZmVyIGltbWVkaWF0ZWx5CgkgIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGRyb3AgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBvciBkdXJhdGlvbiBiZWNhdXNlIHdlIGNhbid0IGhhbmRsZSB0aGVtLgoKMjAwOS0xMS0wNSAxMjoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCByYWNlIGNvbmRpdGlvbiB0aGF0IHJlc3VsdHMgaW4gYSBkZWFkbG9jayBvbiBzaHV0ZG93bgoKMjAwOS0xMS0wNCAyMjoyMTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBSZWplY3QgZW1wdHkgY2FwcwoKMjAwOS0xMS0wNCAyMjoyMToyMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBVc2UgbG9nIGxldmVsIGZvciByZXBlYXRlZCBkZWJ1ZyBtZXNzYWdlcwoKMjAwOS0xMS0wNCAyMDowNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBBbGxvdyBmb3IgYW55IHNhbXBsZXJhdGUKCjIwMDktMTEtMDQgMjM6MzI6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IHByZXZpb3VzIGNvbW1pdDogZW5zdXJlIHdlIHRha2UgYSByZWYgb24gdGhlIGZlYXR1cmVzCgoyMDA5LTExLTA0IDE1OjIxOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgcmVzaW5kdmQsYXV0b2NvbnZlcnQ6IEF2b2lkIGRlcGVuZGluZyBvbiAwLjEwLjI2IEFQSQoJICBXYWl0IHVudGlsIGFmdGVyIHRoZSBuZXh0IHJlbGVhc2UgdG8gYnVtcCB0aGUgY29yZSByZXF1aXJlbWVudC4KCSAgVW50aWwgdGhlbiwgZG9uJ3QgdXNlIGdzdF9wbHVnaW5fZmVhdHVyZV9saXN0X2NvcHkgYW5kCgkgIGdzdF9wYWRfcGVlcl9nZXRfY2Fwc19yZWZlZC4KCjIwMDktMTEtMDIgMTc6MDY6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBvbGQgY29kZSBhbmQgb2Jzb2xldGUgY29tbWVudHMKCSAgUmVtb3ZlIHNvbWUgZGlzYWJsZWQgY29kZSBwYXRocyBhbmQgb2Jzb2xldGUgRklYTUUgY29tbWVudHMKCjIwMDktMTAtMTQgMTU6NDc6MjcgLTA0MDAgIEdhYnJpZWwgTWlsbGFpcmUgPGdhYnJpZWwubWlsbGFpcmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRkZWMgOiBjaGFpbl9wYXJzZV9kYXRhIDogY2hlY2sgdmFsaWRpdHkgb2YgdGltZXN0YW1wLCBjcmVhdGUgYSBuZXcgb25lIGlmIG5lZWRlZCBjZWx0ZW5jIDogZGVmYXVsdCBmcmFtZXNpemUgaXMgNDgwICAgICAgICAgICBzZXRjYXBzIDogZ2V0cyBmcmFtZXNpemUgYW5kIHNldCBjYXBzICAgICAgICAgICBlbmNfY2hhaW4gOiBzZXRzIGZyYW1lc2l6ZSBpbiBjYXBzICAgICAgICAgICBBZGRlZCBmcmFtZS1zaXplIHRvIHN0YXRpYyBjYXBzIG9mIGF1ZGlvL3gtY2VsdCAgICAgICAgICAgUmVwbGFjZWQgR1NUX0RFQlVHX09CSkVDVCBieSBHU1RfTE9HX09CSkVDVCBpbiBlbmNfY2hhaW4gICAgICAgICAgIHNldGNhcHM6IGdldCBmcmFtZS1zaXplIGZyb20gaW50IGluc3RlYWQgb2Ygc3RyaW5nICAgICAgICAgICBzZXRjYXBzOiB1c2UgZGVmYXVsdCB2YWx1ZSBmb3IgZnJhbWUtc2l6ZQoKMjAwOS0xMS0wNCAxNzoxMzozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IEZpeCBwb2ludGVyLWRpZmZlcmVuY2VzIHByaW50b3V0CgkgIFRoZXJlIGlzIHVuZm9ydHVuYXRlbHkgbm8gR18qX0ZPUk1BVCBjb252ZXJzaW9uIHNwZWNpZmllciBmb3IgZGlmZmVyZW5jZXMgb2YKCSAgcG9pbnRlcnMgaW4gZ2xpYiwgYW5kIHdlIGNhbid0IHJlbHkgZWl0aGVyIG9uIGFsbCBwbGF0Zm9ybXMgYmVpbmcgNjRiaXQuCgkgIFNvIGxldCdzIGp1c3QgY2FzdCB0aGUgZGlmZmVyZW5jZSB0byBhIGdpbnQgYW5kIGJlIGRvbmUgd2l0aCBpdC4KCjIwMDktMTEtMDQgMTM6NTU6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogRG9uJ3QgY3JlYXRlIGJhY2t1cCAucG8gZmlsZXMKCSAgQXMgd2VsbCBhcyBwcmV2ZW50aW5nIGNyZWF0aW9uIG9mIHVzZWxlc3MgYmFja3VwIGZpbGVzLCBpdCB3b3JrcwoJICBhcm91bmQgYSBidWcgaW4gZ2V0dGV4dCAwLjE3IG9uIE9TL1gKCjIwMDktMTEtMDQgMTU6NTc6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgIGNkYXVkaW86IGZpeCBwcm9wZXJ0aWVzCgkgIEZpeCBwcm9wZXJ0aWVzIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBkZXZpY2UgcHJvcGVydHkuCgoyMDA5LTExLTA0IDEzOjExOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUmV0dXJuIFdST05HX1NUQVRFIGZyb20gdGhlIHN1YnRpdGxlIGNoYWluIHdoZW4gZmx1c2hpbmcKCjIwMDktMTEtMDQgMTM6MDc6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBVbmxvY2sgYW5kIGZyZWUgYW55IHBlbmRpbmcgc3VidGl0bGUgYnVmZmVycyBvbiBGTFVTSF9TVEFSVAoKMjAwOS0xMS0wNCAxMjo1MDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IFN5bmNocm9uaXplIHN1YnRpdGxlIGJ1ZmZlcnMgd2l0aCB0aGUgdmlkZW8KCSAgRml4ZXMgYnVnICM2MDA2NjIuCgoyMDA5LTExLTA0IDAwOjIxOjE5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBhbHNvIGFkZCBpbmxpbmUgdG8gdGhlIHByb3RvIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTEtMDQgMDA6MTk6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogaW5jbHVkZSBxdWFsaXR5IGFuZCBjaGVjayBjb3VudCwgZml4ZXMgIzYwMDQ2MQoJICBXZSByZXBvcnQgdGhlIHJlbGF0aXZlIHF1YWxpdHkgaW4gdGhlIG1lc3NhZ2UgYW5kIHdlIGFsc28gdXNlIHRoZSBjYWNoZSB0byBza2lwCgkgIGVhcmx5IGRldGVjdHMgYW5kIGRvdWJsZXMuCgoyMDA5LTExLTAzIDE4OjE0OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgZ3N0OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cyBhbmQgcmVzdWx0aW5nIHVudXNlZCB2YXJpYWJsZXMKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgOGNkMWI1MjA5YjY4OTQ0ZTFiZTU2Y2E4YmI2OWU0NmQ0YWJiN2EzNC4KCjIwMDktMTEtMDMgMTg6MTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIHRoZSBzYW1lIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24gYXMgaW4gZ3N0LXBsdWdpbnMtYmFzZQoKMjAwOS0xMS0wMyAxODoxMToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZW1vdmUgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgdGhleSdyZSBwb2ludGxlc3MKCSAgVGhlcmUncyBub3QgbXVjaCBwb2ludCBpbiB1c2luZyBHU1RfREVCVUdfRlVOQ1BUUiB3aXRoIEdPYmplY3QKCSAgdmlydHVhbCBmdW5jdGlvbnMgc3VjaCBhcyBnZXRfcHJvcGVydHksIHNldF9wcm9wZXJ5LCBmaW5hbGl6ZSBhbmQKCSAgZGlzcG9zZSwgc2luY2UgdGhleSdsbCBuZXZlciBiZSB1c2VkIGJ5IGFueW9uZSBhbnl3YXkuIFNhdmVzIGEKCSAgZmV3IGJ5dGVzIGFuZCBwb3NzaWJseSBhIHNpeHRlZW50aCBvZiBhIHBvbGFyIGJlYXIuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDZmNGMxYWM1ODM0MWVlMTg5MjI1ZDMxM2RkZmU5YWUyNGE2NWM4OGMuCgoyMDA5LTExLTAzIDE4OjA5OjU1ICswMTAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJlbW92ZSBSb25hbGQgQnVsdGplIGZyb20gQXV0aG9ycyBmaWVsZAoJICBSZXBsYWNlZCB3aXRoICJHU3RyZWFtZXIgbWFpbnRhaW5lcnMKCSAgPGdzdHJlYW1lci1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+IiBvciBqdXN0IHJlbW92ZWQsCgkgIGRlcGVuZGluZyBvbiB0aGUgbnVtYmVyIG9mIG90aGVyIGF1dGhvcnMuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDBlOWJjNTEyNWFjYTU0NmQ3NzNlZDEwMDJkZjU3M2RkOGUyZGMxMzYuCgoyMDA5LTExLTAzIDE4OjA4OjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3Rvcjogc2V0IG91dHB1dCBjYXBzIGJlZm9yZSBwdXNoaW5nCgkgIFNldCB0aGUgb3V0cHV0IGNhcHMgb24gdGhlIHNyY3BhZCBiZWZvcmUgcHVzaGluZyB0aGUgYnVmZmVyIGJlY2F1c2UgZWxzZSBjb3JlCgkgIHdpbGwgZG8gYSByYXRoZXIgZXhwZW5zaXZlIGNoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gYWN0dWFsbHkgYWNjZXB0IHRob3NlIGNhcHMgb24KCSAgdGhlIHNyY3BhZC4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgYmRmYjRiNDZkNzQ2ZWYyOThmY2Y0NDI2MDg3OWMzNDJhZjRjYWZhMy4KCjIwMDktMTEtMDMgMTg6MDY6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBpbnN0YWxsIGFuIGFjY2VwdGNhcHMgZnVuY3Rpb24KCSAgSW5zdGFsbCBhIGN1c3RvbSBhY2NlcHRjYXBzIGZ1bmN0aW9uIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgZXhwZW5zaXZlCgkgIGNoZWNrLiBXZSBhY2NlcHQgd2hhdGV2ZXIgZG93bnN0cmVhbSBhY2NlcHRzIHNvIHdlIHBhc3MgYWxvbmcgdGhlIGFjY2VwdGNhcHMKCSAgY2FsbCB0byB0aGUgZG93bnN0cmVhbSBwZWVyLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA1YjcyZjJhZGY5OTY3MzkwMzZlOGQ5YjVmOTEwMDU0NTVkMWZmYWNlLgoKMjAwOS0xMS0wMyAxNTowODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IE1ha2Ugc3VyZSB0aGF0IHRpZ2VyIGlzIG5vdCBhdXRvcGx1Z2dlZCBieSBkZWNvZGViaW4yCgkgIEl0J3Mgbm90IHJlYWxseSBhIGRlY29kZXIuLi4KCjIwMDktMTEtMDMgMTQ6NTA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiBDaGFuZ2UgcmFua3Mgb2Yga2F0ZWRlYyBhbmQgdGlnZXIgdG8gUFJJTUFSWSB0byBiZSBhdXRvcGx1Z2dlZAoKMjAwOS0xMS0wMyAxNDo0OTo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IENoYW5nZSBuYW1lIG9mIHRoZSBzdWJ0aXRsZSBzaW5rIHRlbXBsYXRlIGFuZCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgc3VidGl0bGVvdmVybGF5IGNhbiB3b3JrIHdpdGggdGlnZXIuCgoyMDA5LTExLTAyIDExOjMzOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgcmVzaW5kdmQ6IFRha2UgYSBjb3B5IG9mIHRoZSBwYXNzZWQgcGx1Z2luIGZlYXR1cmVzCgkgIENsYXJpZnkgdGhlIG93bmVyc2hpcCBvZiB0aGUgaW50ZXJuYWwgcGx1Z2luIGZlYXR1cmUgbGlzdCBieSBtYWtpbmcKCSAgYSBjb3B5IG9mIGFueSBwYXNzZWQgbGlzdC4gQXZvaWRzIGNyYXNoZXMgd2hlbiBmcmVlaW5nIGEgcGFzc2VkIGxpc3QsCgkgIG9yIGxlYWtzIGNhdXNlZCBieSBub3QgZnJlZWluZyBhbnkgaW50ZXJuYWxseSBidWlsdCBsaXN0LgoKMjAwOS0xMS0wMiAxMDoyMDo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhbiBvdmVyc2lnaHQgZnJvbSB1cGRhdGluZyB0aGUgY29weSBvZiBiYXNlc3JjCgkgIFBsdWdpbnMgbmVlZCBnc3QtaTE4bi1wbHVnaW4uaCwgbm90IGdzdC1pMThuLWxpYi5oCgoyMDA5LTExLTAxIDE1OjU2OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogcmVtb3ZlIHBvaW50bGVzcyBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKQoKMjAwOS0xMS0wMSAyMzoxNzowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBVc2UgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkKCSAgV2hlbiBzd2l0Y2hpbmcgdG8gYSBuZXcgc2VhbWxlc3Mgc2VnbWVudCwgdXNlIHRoZSBuZXcKCSAgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkgZnVuY3Rpb24sIGJlY2F1c2UgZWxlbWVudHMgY2FuJ3QKCSAgc2VuZCB0aGVtc2VsdmVzIHNlZWsgZXZlbnRzIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA5LTExLTAxIDIzOjE2OjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICByZXNpbmR2ZDogQWRkIGdzdF9iYXNlX3NyY19uZXdfc2VhbWxlc3Nfc2VnbWVudCgpIHRvIEdzdEJhc2VTcmMgY29weQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGludGVybmFsIGNvcHkgb2YgR3N0QmFzZVNyYyBmb3Igc3RhcnRpbmcgYSBuZXcKCSAgc2VhbWxlc3Mgc2VnbWVudC4KCjIwMDktMTEtMDEgMTk6MjE6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5oOgoJICByZXNpbmR2ZDogVXBkYXRlIHRoZSBiYXNlIHNvdXJjZSBjb3B5CgkgIFRoaXMgYnJlYWtzIHNlYW1sZXNzIHNlZ21lbnQgdXBkYXRlcywgY2F1c2luZyBkZWFkbG9ja3MsCgkgIHRvIGJlIGZpeGVkIGluIHN1YnNlcXVlbnQgY29tbWl0cy4KCjIwMDktMTEtMDIgMDI6NDg6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEZpeCBQR1Mgd2luZG93IHBhcnNpbmcKCSAgRml4IGEgcHJvYmxlbSBpbnRyb2R1Y2VkIGluIHRoZSBsYXN0IFBHUyBwYXJzaW5nIHBhdGNoIGJ5IHNraXBwaW5nCgkgIHRoZSB3aW5kb3cgY291bnQgYnl0ZSBhZnRlciByZWFkaW5nIGl0LgoKMjAwOS0xMS0wMSAyMDo0Mjo0NCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmOiBmaXggYWlmZnBhcnNlIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIG5hbWUKCSAgRml4ZXMgbWlzc2luZyBzeW1ib2wgd2hlbiBjb21waWxpbmcgd2l0aCBkZWJ1Z2dpbmcsIHNpbmNlIHRoaXMgaXMgbm93IGluIHN5bmMKCSAgd2l0aCB0aGUgcGx1Z2luX2luaXQgaW4gYWlmZi5jLgoKMjAwOS0xMS0wMSAyMDo0MTowMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogaW5pdCBwbHVnaW4gZGVidWcgY2F0ZWdvcnkKCSAgRml4ZXMgYXNzZXJ0aW9uIChvciB1bnVzZWQgdmFyaWFibGUgd2FybmluZyB3aXRoIERJU0FCTEVfTkxTKS4KCjIwMDktMTAtMzEgMTk6NDI6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGdzdC9haWZmL2FpZmZtdXguaDoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGFkZCBhaWZmIGVsZW1lbnRzIHRvIGRvY3MKCjIwMDktMTAtMzEgMTk6Mzc6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogZ3JhdHVpdGlvdXMgY2xlYW4tdXBzOiBjYW5vbmljYWxpc2UgZnVuY3Rpb24gbmFtZXMsIHN0cnVjdHMgYW5kIGRlZmluZXMKCjIwMDktMTAtMzEgMTc6NTA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IGVuYWJsZSBuZXcgYWlmZiBtdXhlcgoJICBGaXhlcyAjNTk4NzYzIGV2ZW4gbW9yZS4KCjIwMDktMTAtMTcgMjI6NTg6MDMgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGdtYWlsLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJICBhaWZmOiBhZGQgYmFzaWMgQUlGRiBtdXhlcgoJICBGaXhlcyAjNTk4NzYzLgoKMjAwOS0xMC0zMSAxNzoyNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiByZW1vdmUgdW51c2VkIGluY2x1ZGVzIGFuZCBmaXggZmxhZ3Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCSAgQWxzbyByZW1vdmUgR1NUX1BMVUdJTlNfQkFTRV9MSUJTIGZyb20gTElCQUREIHNpbmNlIHdlIGRvbid0CgkgIG5lZWQgdG8gbGluayBhZ2FpbnN0IGFueSBvZiB0aGUgLWJhc2UgbGlicyAod2UganVzdCB1c2UgYSBkZWZpbmUKCSAgZnJvbSB0aGUgZ3N0YXVkaW8gaGVhZGVycykuCgoyMDA5LTEwLTMxIDE3OjIwOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSogcG8vUE9URklMRVMuaW46CgkgIGFpZmY6IHJlbmFtZSAnYWlmZnBhcnNlJyBwbHVnaW4gdG8gJ2FpZmYnCgoyMDA5LTEwLTA4IDE5OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mbXV4IGxvY2tpbmcKCjIwMDktMDktMjggMTk6NTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3QgZm9yIHJ0cG11eAoKMjAwOS0wOS0yOCAxMzozNjo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBpZ25vcmUgcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDA5LTEwLTI5IDE2OjQyOjM0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEdTVF9QTFVHSU5TX0JBU0Vfe0NGTEFHUyxMSUJTfSBmb3IgY2FtZXJhYmluIHRlc3RzLgoKMjAwOS0xMC0yOSAxNjozNDoyMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJICBvc3h2aWRlb3NyYzogY2hhbmdlIGEgLm0gZmlsZSBjb250YWluaW5nIG9ubHkgQyBjb2RlIHRvIGEgLmMgZmlsZS4gTWFrZXMgYnVpbGRpbmcgdGhpcyBlYXNpZXIuCgoyMDA5LTEwLTI3IDIyOjA4OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCBzZW5kIG5ldy1zZWdtZW50IHdpdGggc3RhcnQgdGltZSA9PSAtMQoJICBXaGVuIHNlbmRpbmcgbmV3LXNlZ21lbnQgdG8gYSBzdHJlYW0sIGVuc3VyZSB0aGF0IHRoZXJlIGlzIGVpdGhlciBhIHZhbGlkCgkgIFBDUiwgb3IgZWxzZSB3YWl0IHVudGlsIHRoZXJlJ3MgYSBQVFMgb24gdGhlIHN0cmVhbSAoZHJvcHBpbmcgcGFja2V0cyBpZgoJICBuZWVkZWQpIGluIG9yZGVyIHRvIGF2b2lkIGdlbmVyYXRpbmcgYW4gaW52bGFpZCBuZXctc2VnbWVudHMgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTUxNjEKCjIwMDktMTAtMjggMTY6MjI6MTMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1c2UgcmF3IGF1ZGlvL3ZpZGVvIGluIHVuaXQgdGVzdHMKCSAgUmVtb3ZlcyBkZXBlbmRlbmN5IHRvIG9nZy92b3JiaXMvdGhlb3JhIHdoZW4gcnVubmluZyBjYW1lcmFiaW4KCSAgdW5pdCB0ZXN0cy4KCjIwMDktMTAtMjggMTc6Mzc6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjawoKMjAwOS0xMC0yNyAxNDozMTozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGdsaWIgZG9lc24ndCByZWxpYWJseSBudWxsLXRlcm1pbmF0ZSB3aWRlLWNoYXJhY3RlciBlbmNvZGluZ3MgaW4gZ19jb252ZXJ0LCBzbyB3cml0ZSB0aGUgbnVsbC10ZXJtaW5hdG9yIHNlcGFyYXRlbHkgYW5kIGV4cGxpY2l0bHkuCgoyMDA5LTEwLTE4IDE0OjIwOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGZpeCBwYWQgZGlyZWN0aW9uIGZvciB1bmdyb3VwZWQgcG9ydHMKCSAgQ2xhc3NpYyBjb3B5J24ncGFzdGUgYnVnLgoKMjAwOS0xMC0yNyAxNjozNzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGZpeCB0YWcgd3JpdGluZyBidWcKCSAgZ19jb252ZXJ0IHNlZW1zIHRvIGFkZCBhIHNpbmdsZSBudWxsIHRlcm1pbmF0aW5nIGJ5dGUgdG8KCSAgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLCBldmVuIHdoZW4gdGhlIG91dHB1dCBpcyBVVEYxNiwgd2UKCSAgZm9yY2UgdGhlIHNlY29uZCAwIGJ5dGUgd2hlbiBjb3B5aW5nIHRvIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBUaGlzIGlzc3VlIHdhcyBjYXVzaW5nIHJhbmRvbSBjcmFzaGVzIGJlY2F1c2UgaXQgd2FzCgkgIGFzc3VtZWQgdGhhdCB0aGUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIGdfY29udmVydCBoYWQKCSAgMiBleHRyYSBieXRlcywgYnV0IGl0IGhhcyBvbmx5IG9uZS4KCjIwMDktMTAtMjcgMTE6NTE6MDUgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBSZW1vdmUgZXhlY3V0YWJsZSBiaXRzIGZyb20gbm9uLWV4ZWN1dGFibGUgZmlsZXMuCgoyMDA5LTEwLTI3IDAwOjIyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmg6CgkgIHJlc2luZHZkOiBSZW1vdmUgZXh0cmEgbmV3LXNlZ21lbnQgaW4gcnNuc3RyZWFtc2VsZWN0b3IuIFNlbmQgZGlzY29udC4KCSAgQWxsIHRoZSBpbnB1dCBwYWRzIGZvciB0aGUgcmVzaW4gc3RyZWFtIHNlbGVjdG9ycyBoYXZlIHRoZSBzYW1lIHNvdXJjZSwKCSAgYW5kIHJlY2VpdmUvc2VuZCB0aGUgc2FtZSBzZWdtZW50IGluZm8sIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBzZW5kIGEKCSAgc2VnbWVudCB3aGVuIHN3aXRjaGluZyBhbmQgYWN0aXZhdGluZyBhIGRpZmZlcmVudCBwYWQuIFJlbW92aW5nIGl0IG1ha2VzCgkgIG9uLXRoZS1mbHkgYXVkaW8gdHJhY2sgc3dpdGNoaW5nIHdvcmsgcHJvcGVybHkuCgkgIEFmdGVyIHN3aXRjaGluZyBhdWRpbyB0cmFjaywgbWFyayB0aGUgbmV4dCBidWZmZXIgZGlzY29udC4KCjIwMDktMTAtMjYgMjA6NTU6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXZvaWQgYSBkZWFkbG9jay4gSW1wcm92ZSBjaGFwdGVyIHNlZWsuCgkgIEF2b2lkIGEgcG90ZW50aWFsIGRlYWRsb2NrIHRoYXQgaGFwcGVucyB3aGVuIGEgY2FsbCB0bwoJICBnc3RfY2xvY2tfaWRfd2FpdF9hc3luYygpIGltbWVkaWF0ZWx5IGNhbGxzIHRoZSBjYWxsYmFjay4KCSAgSW1wcm92ZSBwcmV2aW91cyBjaGFwdGVyIHNlZWtpbmcgc2xpZ2h0bHkgYnkgYXZvaWRpbmcgJ3NlZ21lbnQKCSAgc3RhcnQgIT0gLTEnIGFzc2VydGlvbnMgd2hlbiB0aGVyZSBpcyBubyBwcmV2aW91cyBjaGFwdGVyIGFuZAoJICB0aGUgc2VlayB0aGVyZWZvcmUgZmFpbHMuCgoyMDA5LTEwLTI2IDEyOjE5OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcmVzaW5kdmQ6IGxvd2VyIGEgZGVidWcgbWVzc2FnZSB0byBsb2cgbGV2ZWwuCgoyMDA5LTEwLTI2IDExOjAwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBhIGtleXByZXNzIG1hcHBpbmcgZm9yIHN3aXRjaGluZyBhdWRpbyB0cmFjawoJICBGb3IgZGVidWdnaW5nIHB1cnBvc2VzLCBtYWtlIGtleXMgMS04IHN3aXRjaCBhdWRpbyB0cmFjay4KCjIwMDktMTAtMjQgMTI6NTQ6MTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIGEgc2ltcGxlIHVuaXQgdGVzdAoJICBTZXQgdXAgYW4gYXV0b2NvbnZlcnQgd2l0aCAyIGZhY3RvcmllcywgYW5kIGNoZWNrIHRoYXQgaXQgY2FuIHN3aXRjaAoJICBiZXR3ZWVuIHRoZW0gd2hlbiB0aGUgY2FwcyBjaGFuZ2UuCgoyMDA5LTEwLTI0IDE0OjI5OjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBTZXQgdGhlIG5ldyBpbml0aWFsLWlkZW50aXR5IHByb3BlcnR5IG9uIGF1dG9jb252ZXJ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjQgMTI6Mzg6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFN1cHBvcnQgaW5zdGFsbGluZyBpZGVudGl0eSBhcyB0aGUgaW5pdGlhbCBjaGlsZAoJICBBZGQgdGhlICdpbml0aWFsLWlkZW50aXR5JyBwcm9wZXJ0eSwgd2hpY2ggaW5zZXJ0cyBpZGVudGl0eSBmb3IKCSAgYXQgc3RhcnR1cCBmb3IgZXZlbnQgcGFzc2luZywgYW5kIHJlcGxhY2VzIGl0IHdpdGggYSBuZXcgY2hpbGQKCSAgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIChhbmQgY2FwcykgYWN0dWFsbHkgYXJyaXZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNCAxMToxODo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogQ2FjaGUgaW5jb21pbmcgbmV3IHNlZ21lbnQgZXZlbnRzIGFuZCBwdXNoIHRvIGNoaWxkcmVuLgoJICBDYWNoZSBpbmNvbWluZyBuZXctc2VnbWVudCBpbmZvLgoJICBXaGVuIGluc3RhbGxpbmcgYSBjaGlsZCBlbGVtZW50LCBpbmZvcm0gaXQgb2YgdGhlIGN1cnJlbnQgc2VnbWVudCBpbmZvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI2IDAwOjQxOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFkZCBzb21lIGRlYnVnIGluIGZhY3RvcnkgY2FwcyBpbnRlcnNlY3Rpb24KCjIwMDktMTAtMjQgMTE6MDU6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogU2ltcGxlIGZpeGVzLgoJICBGcmVlIHRoZSBwbHVnaW4gZmVhdHVyZSBsaXN0IG9uIGRpc3Bvc2UuCgkgIE91dHB1dCBhIGRlYnVnIG1lc3NhZ2Ugd2hlbiBkb3duc3RyZWFtIHJldHVybnMgYSBmYXRhbCBmbG93IHJlc3VsdAoJICBGaXggYXdrd2FyZCB3b3JkaW5nIGluIGEgZGVidWcgd2FybmluZy4KCjIwMDktMTAtMjQgMTA6Mjc6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogR3JhdHVpdG91c2x5IG1vdmUgR1NUX09CSkVDVF9MT0NLIGludG8gYSBtYWNybwoJICBDcmVhdGUgR1NUX0FVVE9DT05WRVJUX0xPQ0svVU5MT0NLIG1hY3JvcyB0aGF0IChmb3Igbm93KSBqdXN0IGNhbGwKCSAgR1NUX09CSkVDVF9MT0NLLgoKMjAwOS0xMC0xNSAxMzozMjozMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JAZmx1ZmZ5Lihub25lKT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogVXNlIGRlZmluaXRpb25zIGZvciBkZWZhdWx0IHZhbHVlcwoJICBNYWtlcyBjaGFuZ2luZyB0aGUgZGVmYXVsdHMgZWFzaWVyIGFuZCBtb3JlIGZvb2wtcHJvb2YgaW4gdGhlIGZ1dHVyZS4KCSAgRml4ZXMgIzU5ODU1MgoKMjAwOS0xMC0xNSAxMzoxNzo0NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JAZmx1ZmZ5Lihub25lKT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQ2hhbmdlIGRlZmF1bHQgQUFDIFByb2ZpbGUgdG8gTG93IENvbXBsZXhpdHkgKExDKSBhcyB0aGlzIGlzIG1vcmUgd2lkZWx5IHN1cHBvcnRlZAoKMjAwOS0xMC0xNSAxMzoxNTo0MCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JAZmx1ZmZ5Lihub25lKT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQ2hhbmdlIHRoZSBwYXJhbV9zcGVjIGRlZmF1bHQgdmFsdWUgZm9yIGFsbG93ZWQgYmxvY2sgdHlwZXMgdG8gbWF0Y2ggdGhlIGdzdF9mYWFjX2luaXQgdmFsdWUgb2YgJ25vcm1hbCcgYXMgdGhpcyBpcyBiZXR0ZXIKCjIwMDktMTAtMjAgMTA6NTc6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGVjayB3aWR0aC9oZWlnaHQgcmFuZ2UKCSAgQ2hlY2tzIGlmIHRoZSB3aWR0aC9oZWlnaHQgdGhhdCBhcmUgdG8gYmUgc2V0IG9uIHNyYyBwYWQgY2FwcwoJICBhcmUgd2l0aGluIHZhbGlkIHJhbmdlIG9mIFsxNiw0MDk2XQoKMjAwOS0xMC0xNiAxMDo0NzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICBncHBtdXg6IEFkZCBzdXBwb3J0IGZvciAzZ3I2CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGNodW5rIGR1cmF0aW9ucyB0byBiZSBhYmxlIHRvIGFkZCAzZ3I2CgkgIGJyYW5kIGlmIGl0IGlzIGEgZmFzdHN0YXJ0IGZpbGUgYW5kIHRoZSBsb25nZXN0IGNodW5rIGlzCgkgIHNtYWxsZXIgdGhhbiBhIHNlYy4gSW1wbGVtZW50ZWQgYWNjb3JkaW5nIHRvIDNncHAKCSAgVFMgMjYuMjQ0IHY2LjQuMCAoMjAwNS0wOSkKCSAgRml4ZXMgIzU4NDM2MQoKMjAwOS0xMC0xNSAyMToxMToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IE9ubHkgcHVzaCBmdHlwIGxhdGVyIChpbiBmYXN0c3RhcnQgbW9kZSkKCSAgSW4gZmFzdHN0YXJ0IG1vZGUsIHRoZXJlIGlzIG5vIG5lZWQgdG8gc2VuZCB0aGUgZnR5cAoJICByaWdodCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0uIFdhaXRpbmcgYW5kIHNlbmRpbmcgaXQKCSAgb25seSBsYXRlciAod2hlbiB0aGUgbW9vdiBhdG9tIGlzIHJlYWR5IHRvIGJlIHNlbnQpIHByb3ZpZGVzCgkgIHVzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtIGFuZCB3ZSBjYW4gYmV0dGVyCgkgIHNlbGVjdCB0aGUgY29tcGF0aWJsZSBicmFuZHMuCgoyMDA5LTEwLTE1IDE3OjUxOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogSW1wcm92ZSBlcnJvciBtZXNzYWdlCgkgIEltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIHdlIGNhbid0IGdldCBvciBlc3RpbWF0ZSB0aGUKCSAgdGltZXN0YW1wL2R1cmF0aW9uIG9mIGEgYnVmZmVyCgoyMDA5LTEwLTI2IDAwOjQyOjE2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBDb21taXQgYnVtcGVkIHZlcnNpb24gbnVtYmVyCgoyMDA5LTEwLTI0IDE2OjMxOjI2IC0wNDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjogZml4IGJ1aWxkCgoyMDA5LTEwLTE5IDE1OjU0OjI5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvciBnc3RyZWFtZXIgY29yZSB1bml0IHRlc3QgZnJhbWV3b3JrIHVwZGF0ZQoJICBTZXQgY2FtZXJhYmluIHN0YXRlIHRvIE5VTEwgaW4gdGhlIGVhY2ggdGVzdCBjYXNlIGVuZC4KCjIwMDktMTAtMTkgMTQ6NTQ6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgYWJicmV2aWF0aW9ucyBmcm9tIHRoZSBwcm9wZXJ0eSBuYW1lcy4gRml4ZXMgIzU3MzM3MCAocGFydGlhbHkpCgkgIEFsc28gcmVuYW1lIHRoZWlyIHVzZSBpbiB0ZXN0cyBhbmQgZXhhbXBsZXMuCgoyMDA5LTEwLTE2IDExOjUwOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBidWlsZDogdXNlIGdzdC1nbGliLWdlbi5tYWsgdG8gZml4IHRoZSBnbGliIGJ1aWxkIHJ1bGVzLgoJICBUaGUgYnVpbGQgcnVsZXMgaW4gZ2xpYi1nZW4ubWFrIHdlcmUgdXNpbmcgcGF0dGVybiBydWxlcyBpbiBhIG5vbiBzYXZlIHdheS4KCjIwMDktMTAtMTYgMTE6MjE6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jb2cvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIG1vcmUKCjIwMDktMTAtMTUgMTc6NDU6MDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBzZXQgY2FtZXJhYmluIHRvIFJFQURZIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGVsZW1lbnRzCgoyMDA5LTEwLTE0IDE3OjQyOjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IHVzZSBHX0RJUl9TRVBBUkFUT1JfUyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBzbGFzaGVzCgoyMDA5LTEwLTE1IDE3OjE3OjQxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY2xlYW51cHMKCSAgQWxpZ24gZWxlbWVudCBpbml0aWFsaXNhdGlvbi4gVGhpcyBzaG91bGQgYmUgcmUtdGhvdWdodCwgZ19vYmplY3RfbmV3IHplcm9zIHRoaW5ncyBhbHJlYWR5LgoJICBIYXJtb25pemUgdGhlIGVsZW1lbnQgZ2V0dGVycyBmb3IgdGhlIHNyYy9zaW5rcyB0byByZXR1cm4gd2hhdCB3ZSBhY3R1YWx5IHVzZS4KCjIwMDktMTAtMTUgMTY6NDE6MTIgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBpbXBsZW1lbnQgdmlkZW8gcHJldmlldyBjcmVhdGlvbgoJICBDb21wbGV0ZXMgcHJldmlldyBjcmVhdGlvbiBtZWNoYW5pc20gdG8gYmUgYWJsZSB0byBwcm92aWRlIGEgcHJldmlldwoJICBpbWFnZSBmb3IgdmlkZW8gY2xpcHMgdG9vLgoKMjAwOS0xMC0xNSAxNjoxNTowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgY2FtZXJhYmluIGRlZmF1bHQgc291cmNlcy9zaW5rcyBsaWtlIGluIHBsYXliaW4yLiBGaXhlcyAjNTc0NDM0CgkgIFRoaXMgdXNlcyBzYW1lIGFwcHJvYWNoIGxpa2UgaW4gcGxheWJpbiwgbmFtZWx5IGNoZWNraW5nIGZvciB1c2VyIGRlZmluZWQKCSAgZWxlbWVudCwgYXV0b3thdWRpbyx2aWRlb317c2luayxzcmN9IGFuZCBmaW5hbGx5IERFRkFVTFRfe0FVRElPLFZJREVPfXtTUkMsU0lOS30KCSAgZGVmaW5lcyBmcm9tIGNvbmZpZy5oLgoKMjAwOS0xMC0xNSAxNTo1OToyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBkb24ndCByZWZlcmVuY2UgZnJlZWQgcG9pbnRlciB3aGVuIGJ1aWxkaW5nIHBvcnRuYW1lcwoKMjAwOS0xMC0wOCAxNToxODowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgY29sb3IgbWF0cml4IHRvIFJHQi0+WUNiQ3IgY29udmVyc2lvbgoKMjAwOS0xMC0wOCAxNDozMzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgY29sb3IgbWF0cml4IHNlbGVjdGlvbiB0byBjb2djb2xvcnNwYWNlCgkgIEV2ZW50dWFsbHkgaG9vayBpdCB1cCB0byBjYXBzIHZpYSBnc3R2aWRlbwoKMjAwOS0xMC0wOCAxMzoyNDozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2c6IEltcHJvdmUgUkdCPC0+WUNiQ3IgbWF0cml4aW5nCgkgIFlDYkNyLT5SR0Igbm93IGhhcyBhICdiaXRzJyBzZXR0aW5nLCB3aGljaCBjb250cm9scyB0aGUgbnVtYmVyCgkgIG9mIGJpdHMgdXNlZCBmb3IgdGhlIG1hdHJpeCBjb2VmZmljaWVudHMuICBDaG9pY2VzIGFyZSA2IG9yIDguCgkgIDYgaXMgbG93IHF1YWxpdHksIGJ1dCBmYXN0ZXIuCgkgIFJHQi0+WUNiQ3Igbm93IHdvcmtzLiAgQWx3YXlzIHdvcmtzIGluIDggYml0LCBzaW5jZSBpdCdzIHRoZSBzYW1lCgkgIHNwZWVkIGFzIDYgYml0LgoKMjAwOS0xMC0wOCAxMzoyMzo1MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IEFZVVYgdW5wYWNraW5nCgoyMDA5LTEwLTA3IDE2OjMwOjI2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBoYWNraW5nIHRvIGltcHJvdmUgbWF0cml4IHF1YWxpdHkKCjIwMDktMTAtMjQgMjA6MzM6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQW5kIGJhY2sgdG8gZGV2ZWxvcG1lbnQgd2UgZ28KCj09PSByZWxlYXNlIDAuMTAuMTYgPT09CgoyMDA5LTEwLTIzIDIzOjE2OjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTYKCjIwMDktMTAtMjMgMjM6MTU6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTEwLTIzIDExOjAwOjUzICswMzAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgRml4IHN0YXJ0L3N0b3AgdHlwbwoKMjAwOS0xMC0yMyAxMDo0ODoyNSArMDEwMCAgVGhvbWFzIEdyZWVuIDx0b203ODk5OUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBidWlsZCBuZW9uaHR0cHNyYyB3aXRoIGxpYm5lb24tMjkueAoJICBGaXhlcyAjNTk5MzMyLgoKMjAwOS0xMC0yMyAxMDoxODoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVzZSBndWludDY0IGluc3RlYWQgb2YgdWludDY0X3QuIEZpeGVzICM1OTkzNTUKCjIwMDktMTAtMjIgMTQ6MDA6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBSZXZlcnQgImRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjayIKCSAgZ3N0LXBsdWdpbnMtYmFkIGlzIHN0aWxsIGZyb3plbiBmb3IgZ2VuZXJhbCBjb21taXRzLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJlNDEzMTkyNmYyNzI2ZmU4ZmVlNWMzOWRkOTM1N2YxNDc2NGQwY2IuCgoyMDA5LTEwLTIyIDE0OjI2OjMwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2sKCjIwMDktMTAtMjIgMTE6NDM6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSAgbXBlZ3BzbXV4OiBzb21lIG1pbm9yIGJ1aWxkIGZpeGVzCgkgIENMRkFHUyAtPiBDRkxBR1MsIGFuZCBmaXggb3JkZXIgb2YgdmFyaWFibGVzIHdoaWxlIHdlJ3JlIGF0IGl0LgoKMjAwOS0xMC0yMiAwMDo1MDozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBUYWtlIHRoZSBvYmplY3QgbG9jayBmZXdlciB0aW1lcwoJICBXaGVuIHN0YXJ0aW5nIHVwIGFuZCBjcmVhdGluZyB0aGUgbGlzdCBvZiBlbGVtZW50IGZhY3Rvcmllcywgb25seQoJICB0YWtlIHRoZSBvYmplY3QgbG9jayB0d2ljZSBpbnN0ZWFkIG9mIDMgdGltZXMuCgoyMDA5LTEwLTIxIDIzOjA2OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoZW4gcHVzaGluZwoJICBXaGVuIHB1c2hpbmcgb3V0IGNhY2hlZCBldmVudHMsIGRvbid0IGhvbGQgdGhlIG9iamVjdCBsb2NrLiBBdm9pZHMKCSAgZGVhZGxvY2tzIHN0YXJ0aW5nIHVwIERWRCBwbGF5YmFjay4KCjIwMDktMTAtMjIgMTE6MTA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgIGZhYWM6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIEZpeGVzIGJ1ZyAjNTk5MjcyLgoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDktMTAtMjEgMTc6MTQ6MzQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgcmVsZWFzZSAwLjEwLjE1CgoyMDA5LTEwLTIxIDE2OjUxOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMC0xNiAxNDozNzowMiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGFjdHVhbGx5IHdyaXRlIGltYWdlIHRvIEFQSUMgdGFnLgoKMjAwOS0xMC0xNiAxMjozMDo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuNCBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xNiAxMTo1MzoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBkaXN0OiBJbmNsdWRlIHZkcHNpbmsuaCBpbiB0aGUgdGFyYmFsbCB0byBmaXggdGhlIGRpc3QuCgoyMDA5LTEwLTE2IDExOjA4OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IFVzZSBnc3RfYnVmZmVyX3JlZi91bnJlZiwgbm90IGdzdF9vYmplY3RfcmVmL3VucmVmCgkgIHByb3Blcmx5IGZpeGVzOiAjNTk4Mjc0CgoyMDA5LTEwLTE2IDAxOjI2OjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFVzZSBnc3RfcGFkX3BlZXJfYWNjZXB0X2NhcHMgaW5zdGVhZCBvZiBnc3RfcGFkX3NldF9jYXBzLgoJICBnc3RfcGFkX3NldF9jYXBzIG9uIHRoZSBpbnRlcm5hbCBzb3VyY2UgcGFkIGFsd2F5cyBzdWNjZWVkcywgYmVjYXVzZQoJICBjYXBzIHByb3BhZ2F0ZSB0byB0aGUgcGVlciB3aXRoIGJ1ZmZlcnMsIG5vdCBpbW1lZGlhdGVseS4gVXNpbmcKCSAgZ3N0X3BhZF9wZWVyX2FjY2VwdF9jYXBzIHByb3Blcmx5IGNoZWNrcyB3aGV0aGVyIHRoZSBhY3R1YWwKCSAgc3ViLWVsZW1lbnQgY2FuIGFjY2VwdCBjYXBzIHdoZW4gdGhleSBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NjgKCjIwMDktMTAtMTYgMDE6MDk6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmUtc2VuZCBhdWRpbyBzdHJlYW0gc2VsZWN0IG9uIHJlLWNvbmZpZ3VyYXRpb24KCSAgV2hlbiB0aGUgbGF5b3V0IG9mIHRoZSBhdWRpbyBzdHJlYW1zIGNoYW5nZXMsIHJlLXNlbmQgdGhlIGN1cnJlbnQKCSAgYXVkaW8gc3RyZWFtIHNlbGVjdGlvbiBldmVudCwgaW4gb3JkZXIgdG8gdHJpZ2dlciBzd2l0Y2hpbmcgdG8gdGhlCgkgIG5ldyBzdHJlYW0gcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NjgKCjIwMDktMTAtMTYgMDA6NTA6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IGEgc21hbGwgZmxhdyAtIGlmIGFueSBhdWRpbyBzdHJlYW0gZXhpc3RzLCB1c2UgaXQKCSAgRG9uJ3QgY3JlYXRlIGEgZHVtbXkgYXVkaW8gc3RyZWFtIGlmIG9ubHkgbm9uLUFDMyB0cmFja3MgZXhpc3QuCgoyMDA5LTEwLTE2IDEwOjE2OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg1ZDE1MzAgdG8gMDcwMmZlMQoKMjAwOS0xMC0xNSAyMzo0ODo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xNCAxMTowNjo0NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogRml4IGRlY29kZXIgcGFkIHRlbXBsYXRlIHRvIGFsbG93IExQQ00KCSAgVGhlIHBhZCB0ZW1wbGF0ZSBpbiB0aGUgbmV3IHN3aXRjaGluZyBkZWNvZGVyIGlzIHRvbyByZXN0cmljdGl2ZSwKCSAgcHJldmVudGluZyB0aGUgTFBDTSBkZWNvZGVyIGZyb20gYmVpbmcgc2VsZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzU1NjgKCjIwMDktMTAtMTQgMTA6NDE6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGEzZTNjZTQgdG8gODVkMTUzMAoKMjAwOS0xMC0xMyAxMzowNTo1MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IERvbid0IGxlYWsgYSByZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBpbiByc25hdWRpb211bmdlCgkgIERvbid0IGxlYWsgYSByZWZlcmVuY2UgdG8gdGhlIHBhZCBwYXJlbnQgaW4gdGhlIHNpbmsgcGFkIGV2ZW50IGhhbmRsZXIKCSAgaW4gcnNuYXVkaW9tdW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODI2MwoKMjAwOS0xMC0xMyAxMzowNDo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBGaXggcmVmZXJlbmNlIGxlYWsgb24gYWxsIGlucHV0IGJ1ZmZlcnMgaW4gJ2R2ZCBtb2RlJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4Mjc0CgoyMDA5LTEwLTEzIDE2OjAxOjI2ICswMjAwICBQZXRlciBDaHJpc3RvZmZlcnNlbiA8Z25vbWUtYnVnemlsbGFAcGx5dC5kaz4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDI6IERvbid0IGxlYWsgZWxlbWVudCByZWZlcmVuY2UgaW4gdGhlIHNldGNhcHMgZnVuY3Rpb24KCSAgRml4ZXMgYnVnICM1OTgxMzkuCgoyMDA5LTEwLTEyIDE0OjI3OjU3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4yIHByZS1yZWxlYXNlCgoyMDA5LTEwLTEyIDEyOjI5OjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeGVzIHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMiAwOTowNjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZW5zdXJlIHNlZ3RvdGFsIGlzIGF0IGxlYXN0IDIKCSAgTm90IG9ubHkgYWRqdXN0IGJ1ZmZlci10aW1lIGFuZCBhdm9pZCBzZWd0b3RhbD0wLCBidXQgaW5zdGVhZCBlbnN1cmUgc2VndG90YWwgaXMKCSAgYXRsZWFzdCAyLiBEbyBzYW1lIGNoYW5nZSBvbiBqYWNrc3JjLiBXZSBjb3VsZCBhbHNvIGNoZWNrIHRoZSBsYXRlbmN5IGFuZCBidWZmZXIKCSAgdGltZSBjb25maWd1cmVkIGJ5IHRoZSBjbGllbnQgYW5kIGFkanVzdCBidWZmZXItdGltZSBzbyB0aGF0IHdlIGdldCB0byB0aGUgc2FtZQoJICBudW1iZXIgb2Ygc2VnbWVudHMuCgoyMDA5LTEwLTEyIDAwOjUxOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IGRvbid0IGNyYXNoIGluIHJpbmdidWZmZXIgd2l0aCBTSUdGUEUgb24gc21hbGwgYnVmZmVyLXRpbWVzCgkgIEphY2sgb3ZlcnJpZGVzIHVzZXItc3BlY2lmaWVkIGxhdGVuY3ktdGltZSB3aXRoIHRoZSBvbmUgaXQgZ2V0cyBmcm9tIGphY2sKCSAgaXRzZWxmLiBJdCBhbHNvIG5lZWRzIHRvIGFkanVzdCBidWZmZXItdGltZSBzb21ld2hhdCB0byBhdm9pZCBzZWd0b3RhbCBiZWluZyAwCgoyMDA5LTEwLTExIDIyOjEwOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBpbml0IHZhcmlhYmxlcwoJICBtZXRhZGF0YW11eF9leGlmX2dldF9leGlmX2Zyb21fdGFnKCkgZG9lcyBub3QgbmVjY2VzYXJpbHkgaW5pdCB0aGUgcGFzc2VkCgkgIHZhcmlhYmxlcy4KCjIwMDktMTAtMDMgMjE6MzU6MDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlIHRoZSB0eXBlIGRlZmluZSBsaWtlIGV2ZXJ5d2hlcmUgZWxzZQoKMjAwOS0xMC0wMyAyMTozMTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29ydDogcmVnaXN0ZXIgZGVidWcgY2F0ZWdvcnkganVzdCBvbmNlCgkgIFByZXZpb3VzbHkgd2Ugd2VyZSB0cnlpbmcgdG8gcmVnaXN0ZXIgaXQgZm9yIGV2ZXJ5IHN1YmNsYXNzLgoKMjAwOS0xMC0xMSAxNDoxMDo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogZml4ZXMgd2FybmluZ3Mgb24gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxNDowMjoyNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hyb2VkaW5nZXI6IGZpeCB3YXJuaW5ncyBvbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjU2OjQzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJICBtZXRhZGF0YTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NTE6NTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZml4ZXMgd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjQ2OjAwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBmaXggd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjEzOjU2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzowNzoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEyOjU2OjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2RlbXV4OiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMTozNToyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjI3OjA4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhbXJwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MjI6MTEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToxNDoxNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlbzogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMDkgMTM6MTg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgYXNzcmVuZGVyL2R2ZHNwdTogSW5jcmVhc2UgcmFua3MgdG8gUFJJTUFSWQoKMjAwOS0xMC0wOSAwOToxOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEluY2x1ZGUgU3ViUGljdHVyZSBpbiB0aGUgY2xhc3NpZmljYXRpb24KCjIwMDktMTAtMDkgMDk6MTg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIGNsYXNzaWZpY2F0aW9uIGEgYml0IG1vcmUgYWNjdXJhdGUKCSAgQ2hhbmdlIGZyb20gIkZpbHRlci9FZmZlY3QvVmlkZW8iIHRvICJNaXhlci9WaWRlby9PdmVybGF5L1N1YnRpdGxlIgoKMjAwOS0xMC0wOCAxOTo1MTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBjYXBzc2V0dGVyOiBhZGQgdW5pdCB0ZXN0CgoyMDA5LTEwLTA4IDExOjAwOjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5ZmE0ZjMgdG8gYTNlM2NlNAoKMjAwOS0xMC0wNyAxNjoyOTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm86IHJlbW92ZSB1bnVzZWQgaW5jbHVkZSBvZiBsaWJvaWwuaAoKMjAwOS0xMC0wNyAxNTo0MzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBjb3B5IHRyYWlsaW5nIE5VTEwgb2Ygc3RyaW5ncyBpbiB4bXAgbWV0YWRhdGEKCSAgQWxzbyB1c2VpbmcgZ19zdHJkdXAsIGZpeGVzIHRoZSBtYWxsb2MgPC0+IGdfZnJlZSBtaXNtYXRjaC4KCjIwMDktMTAtMDcgMTU6MjY6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgYnVpbGQ6IGZwcmludGYsIHNwcmludGYsIHNzY2FuZiBuZWVkIHN0ZGlvLmgKCjIwMDktMDktMTggMTg6NDU6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21pbWljLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgbWltaWMgZWxlbWVudHMKCjIwMDktMDktMTggMTc6NDc6NTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZW1vdmUgaW52YWxpZCB0b2RvCgoyMDA5LTEwLTA2IDE4OjM2OjE1ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogSWdub3JlIGVtcGhhc2lzIG9uL29mZiBieXRlcywgYW5kIGRvIGZhbGxiYWNrIHN0cmluZyBlbmNvZGluZy4KCSAgRm9yIGZhbGxiYWNrLCB0cnkgSVNPIDg4NTktOSBlbmNvZGluZyBpZiBJU08gNjYzNyBmYWlsZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGNhbGxzLgoKMjAwOS0xMC0wNSAxNzowNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiB2YXJpb3VzIGZpeGVzCgkgIC0gV29yayBhcm91bmQgQmFzZUVuY29kZXIgYnVnIG5vdCB0cmFja2luZyBmcmFtZSBpbmRleCBlYXJseS4KCSAgLSBGaXggY29udmVyc2lvbiBvZiBVWVZZLCBZVVkyLCBBWVVWIHRvIGludGVybmFsIGZvcm1hdC4KCjIwMDktMTAtMDUgMTY6MTY6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBSZXZlcnQgIkNhbGwgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0YzA4N2JjYjA3MmRjYzk4NDdiMTFjMDAxMjNjZjkzYzVlNTQxZGNiLgoJICBUaGUgcmV2ZXJ0ZWQgY29tbWl0IGNoYW5nZXMgdGhlIG9yZGVyIHRoYXQgc2V0X2Zvcm1hdCgpIGFuZCBzdGFydCgpCgkgIGFyZSBjYWxsZWQsIHdoaWNoIGlzIGluY29ycmVjdC4gIFRoZSBjb3JyZWN0IG9yZGVyIGlzIHNldF9mb3JtYXQoKSwKCSAgc3RhcnQoKSwgaGFuZGxlX2ZyYW1lKCkuLi4sIHN0b3AoKQoKMjAwOS0xMC0wNSAxMzozMzoyMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IEZyZWUgZnJhbWUgdXNpbmcgdXRpbGl0eSBmdW5jdGlvbgoKMjAwOS0xMC0wNSAyMToxMToxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogRml4IGNhcHMgdW5saW5rZWQgbmVnb3RpYXRpb24KCSAgbW92ZSBjYXBzIHJlbGF0ZWQgY29kZSB0byBnc3RfZGlyYWNfZW5jX3NldF9mb3JtYXQsIGFuZAoJICB1c2UgdGhlIHNvdXJjZSBwYWQgdGVtcGxhdGUgdG8gZ2V0IGFsbG93ZWQgY2FwcyB3aGVuIHRoZXJlIGlzCgkgIG5vIHBlZXIgcGFkLgoKMjAwOS0xMC0wNSAxOTo0OTowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogV2hlbiB0aGUgc291cmNlIHBhZCBpc24ndCBsaW5rZWQsIHVzZSB0aGUgcGFkIHRlbXBsYXRlCgkgIEZvciBuZWdvdGlhdGlvbiwgdXNlIHRoZSBzb3VyY2UgcGFkIHBhZCB0ZW1wbGF0ZSB3aGVuIGl0IGRvZXNuJ3QKCSAgaGF2ZSBhIHBlZXIuCgoyMDA5LTEwLTA1IDE1OjQ3OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiBGYWlsIGlmIGNhcHMgZG9uJ3QgY29udGFpbiBhIGZyYW1lcmF0ZSBmaWVsZAoJICBSZXR1cm4gZmFsc2UgZnJvbSB0aGUgY2FwcyBwYXJzaW5nIGZ1bmN0aW9uIGlmIHRoZXJlIGlzIG5vIGZyYW1lcmF0ZQoJICBmaWVsZCBpbiB0aGUgcHJvdmlkZWQgY2FwcwoKMjAwOS0xMC0wNSAxMToxNTowMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IFdyaXRlIFVURi0xNiBieXRlIG9yZGVyIG1hcmtlciBjb3JyZWN0bHkuCgoyMDA5LTEwLTA1IDE2OjM5OjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IG1vdmUgY2FwcyByZWxhdGVkIGNvZGUgdG8gZ3N0X3NjaHJvX2VuY19zZXRfZm9ybWF0LgoKMjAwOS0xMC0wNSAxNToyODo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiBndGsteDExIGV4cGxpY2l0bHkuCgkgIEZpeGVzIHRoZSBidWlsZCBvbiBPU1ggaWYgZ3RrKy1xdWFydHogaXMgaW5zdGFsbGVkLgoKMjAwOS0xMC0wNSAxNToyNjoxNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdhcm5pbmcgd2l0aCBnY2MtNC4yLgoKMjAwOS0xMC0wNSAxMTo0Nzo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgQWRkIGZhYWMgdGVzdCBiaW5hcnkgdG8gdGhlIGdpdCBpZ25vcmVzCgoyMDA5LTEwLTA1IDExOjQ3OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQ1hYRkxBR1MgYW5kIEdTVF9DRkxBR1MgdG8gcHVsbCBpbiBsb2NhbCBnc3QtbGlicyBpbmNsdWRlcy4KCSAgTW92ZSB0aGUgR1NUX0NYWEZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHRvIHRoZSBzdGFydCBvZiB0aGUgaW5jbHVkZXMgc2V0CgkgIHRvIHB1bGwgaW4gdGhlIGxvY2FsIGdzdC1saWJzIGZyb20gdGhlcmUgZmlyc3QsIGluc3RlYWQgb2YgbGlzdGluZwoJICBpdCBleHBsaWNpdGx5LgoKMjAwOS0xMC0wNSAxMTowMjoxNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBkaXJhYy9zY2hyb2RpbmdlcgoJICBJbmNsdWRlIHRoZSBsb2NhbCBoZWFkZXJzIGFuZCBsaWJzIGJlZm9yZSBvbmVzIG91dHNpZGUgdGhpcwoJICBtb2R1bGUuCgoyMDA5LTEwLTAyIDE2OjM1OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBkaXJhYzogY29udmVydCB0byBCYXNlVmlkZW9FbmNvZGVyCgoyMDA5LTA5LTI3IDE0OjI1OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGhhY2tpbmcKCSAgQWRkIFJHQiB0byBZQ2JDciBtYXRyaXhpbmcKCSAgQWRkIHRpbnkgY29sb3IgbWFuYWdlbWVudCBzeXN0ZW0gKENNUykgZm9yIHZpZGVvCgkgIEFkZCBxdWFsaXR5IGxldmVsIGZvciBjb2xvcnNwYWNlCgoyMDA5LTA5LTI1IDE4OjE0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogcmVzZXQgY2FjaGUgaW5zdGVhZCBvZiByZXR1cm5pbmcgTlVMTAoJICBSZXR1cm5pbmcgTlVMTCBtYWtlcyB0aGluZ3MgY3Jhc2guICBSZXNldHRpbmcgdGhlIGNhY2hlCgkgIG1ha2VzIHRoaW5ncyBydW4gc2xvdy4gIFN0aWxsIGFuIHVuZGVybHlpbmcgYnVnIHNvbWV3aGVyZSwKCSAgYnV0IG5vdCBjcml0aWNhbC4KCjIwMDktMDktMjMgMTM6MTc6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IEhhbmRsZSBsb29rYWhlYWQsIGRpc2NvbnQKCjIwMDktMTAtMDIgMTk6MDg6MjEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGJ1aWxkOiBhZGQgbWlzc2luZyBzdGRsaWIgaW5jbHVkZSB0byBmaXggdGhlIGJ1aWxkCgoyMDA5LTEwLTAyIDE0OjI1OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIEFkZCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzZXRfc2lua19jYXBzIHZmdW5jLgoKMjAwOS0xMC0wMiAxMjo0MDowMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBDYWxsIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4KCjIwMDktMTAtMDEgMTY6MDY6MDIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgRG9uJ3QgaWdub3JlIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIEdzdEJhc2VWaWRlb0VuY29kZXI6OnNldF9mb3JtYXQuCgoyMDA5LTEwLTAxIDE2OjEyOjE1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgRml4IHNjaHJvZW5jIGZvciByZWZjb3VudCBjaGFuZ2UgaW4gR3N0QmFzZVZpZGVvRW5jb2Rlci4KCjIwMDktMTAtMDEgMTU6NTA6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgVW5yZWYgZnJhbWUtPnNpbmtfYnVmZmVyIGluIGdzdF9iYXNlX3ZpZGVvX2VuY29kZXJfZmluaXNoX2ZyYW1lCgoyMDA5LTEwLTAxIDE2OjExOjQ2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgTWFrZSBnc3Rfc2Nocm9fZW5jX2hhbmRsZV9mcmFtZSByZXR1cm4gR3N0Rmxvd1JldHVybi4KCjIwMDktMTAtMDEgMTY6MjY6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgTWFrZSBHc3RCYXNlVmlkZW9FbmNvZGVyOjpoYW5kbGVfZnJhbWUgcmV0dXJuIEdzdEZsb3dSZXR1cm4KCjIwMDktMTAtMDEgMTY6MjQ6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgQ2FsbCBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uCgoyMDA5LTEwLTAyIDEyOjA0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICBGaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOS0xMC0wMiAxMzowMjozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHBvc3QgYSBtZXNzYWdlIGluc3RlYWQgb2YgcHJpbnRpbmcgdGhlIGNvZGUgdG8gc3Rkb3V0CgkgIERvY21lbnQgdGhlIG1lc3NhZ2UgZm9ybWF0IHRoYXQgd2Ugc2VudC4gQWRkIGEgcHJvcGVydHkgdG8gdHVybiBtZXNzYWdlIHNlbmRpbmcgb2ZmLgoKMjAwOS0xMC0wMiAxMToyMzo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvYyBzY2FuIGZpbGVzCgoyMDA5LTEwLTAyIDExOjIyOjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGNsZWFudXBzCgkgIFVzZSBzdGFydC9zdG9wIHRvIG1hbmFnZSB0aGUgY2FjaGUuIEZldyBjb2RlIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDktMTAtMDIgMTE6MDk6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiBhZGQgemJhciBwbHVnaW4KCjIwMDktMTAtMDIgMTA6Mzc6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgemJhcjogYWRkIG5ldyBwbHVnaW4gdG8gdGhlIGJ1aWxkIGhlcmUgdG9vCgoyMDA5LTEwLTAyIDEwOjMyOjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBrZWVwIGxpc3Qgc29ydGVkCgoyMDA5LTEwLTAyIDA3OjQ2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgc3lzdGVtLCB6YmFyIGlzIG5vIGRlcGVuZGVuY3ktbGVzcyBwbHVnaW4KCjIwMDktMTAtMDEgMjM6NTE6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiB3cmFwIHpiYXIgbGlicmFyeSBhcyBhIGltYWdlIGFuYWx5emVyCgkgIHpiYXIgaXMgYSBiYXIgY29kZSBzY2FubmVyIGxpYnJhcnkuCgoyMDA5LTEwLTAxIDE3OjE5OjU0ICswMTAwICBDaHJpc3RpYW4gRi5LLiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzIGFuZCByZW1vdmUgZmlsZSBmcm9tIE1BTklGRVNUIHdoaWNoIGlzbid0IHRoZXJlIGFueSBsb25nZXIKCjIwMDktMDktMDIgMTU6MjY6MTUgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogY2hhbmdlIFhNUCBsb2NhdGlvbiB0YWdzIHRvIHN0YXJ0IHdpdGggY2FwaXRhbHMKCjIwMDktMDgtMjUgMTA6MTA6MTUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGRlYWRsb2NrIHdoZW4gZXJyb3Igb2NjdXJzIGF0IHZpZGVvIHJlY29yZGluZyBzdGFydHVwCgoyMDA5LTA4LTI3IDE0OjM1OjI2ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGhhbmRsZSBwcmV2aWV3LWNhcHMgb25seSBpbiBpbWFnZSBtb2RlIGFuZCBvbmx5IHdoZW4gdGhleSBjaGFuZ2UKCSAgVGhpcyBwcmV2ZW50cyBjYW1lcmFiaW4gdG8gY3JlYXRlIHByZXZpZXcgcGlwZWxpbmUgZXZlcnkgdGltZSB3aGVuCgkgIGFwcGxpY2F0aW9uIHJlLXNldHMgdGhlIHNhbWUgY2FwcyBhZ2Fpbi4KCjIwMDktMDgtMjUgMDk6MzU6MDcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogZG9uJ3Qgc2VuZCBtdWx0aXBsZSBFT1MgZXZlbnRzIHRvIHZpZGVvIHBpcGVsaW5lCgoyMDA5LTA4LTIyIDE3OjA5OjM5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogZml4IHNjZW5lIG1vZGUgc2V0dGluZwoJICBDYW1lcmFiaW4gY2FjaGVzIHBob3RvZ3JhcGh5IHNldHRpbmdzLCBidXQgaXQgZGlkbid0IHRha2UgaW50byBhY2NvdW50CgkgIHRoYXQgc2NlbmUgbW9kZSBzZXR0aW5nIG1heSBjaGFuZ2Ugb3RoZXIgc2V0dGluZ3MgYXMgd2VsbC4gU28sIGNvbmZpZwoJICBuZWVkcyB0byBiZSByZWFkIGJhY2sgZnJvbSBkZXZpY2UgYWZ0ZXIgc2NlbmUgbW9kZSBpcyBzZXQuCgoyMDA5LTA4LTIxIDA5OjE0OjMxICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFsbG93IG1vZGUgcGFyYW1ldGVyIHNldHRpbmcgaW4gTlVMTCBzdGF0ZQoKMjAwOS0wOC0yMCAxNzo1NToyNiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhbGxvdyBjYXB0dXJlIHJlc29sdXRpb24gdG8gYmUgc2V0IGluIE5VTEwgc3RhdGUKCjIwMDktMDktMTAgMTU6MTY6MjMgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGltYWdlIHF1ZXVlIHBhcmFtZXRlciBzZXR0aW5nCgkgIENhbWVyYWJpbiBpbmNvcnJlY3RseSB1c2VkIEdfR1VJTlQ2NF9DT05TVEFOVCBtYWNybyBmb3Igc2V0dGluZwoJICAibWF4LXNpemUtYnVmZmVycyIgYW5kICJtYXgtc2l6ZS1ieXRlcyIgcHJvcGVydGllcyBpbiBpbWFnZSBxdWV1ZSwKCSAgZXZlbiB3aGVuIHRoZXkgYXJlbid0IDY0Yml0IGludGVnZXJzLgoKMjAwOS0wOC0xMiAxMToxMDo1NSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggd2FybmluZyB3aXRoIGdfb2JqZWN0X2dldCBhbmQgam9pbiBzZXBhcmF0ZSBnX29iamVjdF9zZXRzIGludG8gb25lCgoyMDA5LTA3LTMxIDExOjU3OjEyICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJlc2V0IGFjdGl2ZS1wYWQgaW4gb3V0cHV0LXNlbGVjdG9yIGFmdGVyIFJFQURZIHN0YXRlCgkgIENhbWVyYWJpbiBzZXRzIGl0c2VsZiB0byBSRUFEWSBzdGF0ZSBkdXJpbmcgcmVzb2x1dGlvbiBjaGFuZ2UuIFRoaXMKCSAgb3BlcmF0aW9uIG1ha2VzIG91dHB1dC1zZWxlY3RvciB0byBmb3JnZXQgaXRzIGN1cnJlbnRseSBhY3RpdmUgcGFkLAoJICBzbyBpdCBtdXN0IGJlIHNldCBhZ2FpbiBhZnRlciBzdGF0ZSBjaGFuZ2UuCgoyMDA5LTA2LTI5IDE1OjIzOjI1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHJlc2V0IGNhcHNmaWx0ZXJzIG9yIHpvb20gaWYgZXJyb3Igb2NjdXJzCgkgIElmIGFuIGVycm9yIG9jY3VycywgYXBwbGljYXRpb24gc2hvdWxkIHNldCBwaXBlbGluZSB0byBOVUxMLCBhbmQgdXBkYXRpbmcKCSAgem9vbSBjYW4gYWN0dWFsbHkgYmxvY2sgbWVzc2FnZSBoYW5kbGluZyBpZiB2aWRlbyBkZXZpY2UgZHJpdmVyIGhhcyBmYWlsZWQKCSAgYW5kIHZpZGVvIHNyYyBlbGVtZW50IHN1cHBvcnRzIHpvb21pbmcgdXNpbmcgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBTX0NST1AuCgoyMDA5LTEwLTAxIDE3OjE3OjAzICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBsaW5rIHdpdGggbGlibQoKMjAwOS0xMC0wMSAxNTowOToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkYmluOiBJZiBubyBzdWl0YWJsZSBhdWRpbyBkZWNvZGVyIGlzIGZvdW5kIHBsYXkgdGhlIERWRCB3aXRob3V0IGF1ZGlvCgoyMDA5LTEwLTAxIDE0OjU0OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogQWxzbyBwb3N0IG1pc3NpbmcgZWxlbWVudCBtZXNzYWdlcyBpZiBhbnkgb3RoZXIgZWxlbWVudCBpcyBtaXNzaW5nCgoyMDA5LTEwLTAxIDE0OjUyOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBQb3N0IG1pc3NpbmcgZGVjb2RlciBtZXNzYWdlcyBpZiBvbmUgaXMgbWlzc2luZwoJICBGb3IgdmlkZW8gdGhpcyBpcyBhbiBlcnJvciwgZm9yIGF1ZGlvIG9ubHkgYSB3YXJuaW5nLgoKMjAwOS0xMC0wMSAxNDo0MDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFVzZSB0aGUgbmV3IHZpZGVvIGRlY29kZXIKCSAgVGhpcyBtYWtlcyByZXNpbmR2ZGJpbiB3b3JrIHdpdGggb3RoZXIgTVBFRyB2aWRlbyBkZWNvZGVycyB0aGFuCgkgIG1wZWcyZGVjLCBmb3IgZXhhbXBsZSB0aGUgRkZNUEVHIG9yIEZsdWVuZG8gTVBFRyBkZWNvZGVycy4KCjIwMDktMTAtMDEgMTQ6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmg6CgkgIHJlc2luZHZkYmluOiBSZW5hbWUgZmlsZXMKCjIwMDktMTAtMDEgMTQ6MzY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZGJpbjogUmVmYWN0b3IgYXVkaW8gZGVjb2RlciBhbmQgYWRkIGEgKE1QRUcpIHZpZGVvIGRlY29kZXIKCjIwMDktMTAtMDEgMTM6Mjk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJzbmF1ZGlvZGVjOiBHZXQgZGVzaXJlZCBzaW5rIGNhcHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlCgoyMDA5LTEwLTAxIDEwOjU0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogVW5wcmVtdWx0aXBseSBDYWlybydzIEFSR0IgdG8gbWF0Y2ggR1N0cmVhbWVyJ3MKCjIwMDktMDktMjUgMTI6MjA6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkgIFRha2Ugb2Zmc2V0IGdhcHMgaW50byBhY2NvdW50LgoJICBQcmV2ZW50cyBtZWFzdXJlY29sbGVjdG9yIGZyb20gY3Jhc2hpbmcgd2hlbiBmcmFtZSBudW1iZXJzIGFyZSBub3QgY29uc2VjdXRpdmUuCgkgIEZpeGVzIGJ1ZyAjNTk2Mjg1LgoKMjAwOS0wOS0yOSAxNTo0NzoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGZpeCBmbGFnc19hc191aW50IHRvIGZsYWdzW10KCjIwMDktMDktMzAgMTU6NDc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBDcmVhdGUgZXh0ZXJuYWwgc3JjcGFkcyBmcm9tIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAwOS0wOS0yMiAxMjoxNjozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogSW1wcm92ZSBQR1MgcGFyc2luZwoJICBJbXByb3ZlIChzbGlnaHRseSkgdGhlIGludGVycHJldGF0aW9uIG9mIFBHUyBzZXQtd2luZG93IGJsb2NrcwoJICB0byBhdm9pZCBwcmludGluZyB3YXJuaW5ncyBhYm91dCB1bnVzZWQgYnl0ZXMgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUKCSAgd2luZG93IGRlZmluaXRpb25zLgoKMjAwOS0wOS0yMiAwMToxNjo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogRml4IHJlbmRlcmluZyBhbmQgYWRkIGd1YXJkcwoJICBGaXggdGhlIHJlbmRlcmluZyB3aGVuIHdlIGhpdCB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSBkaXNwbGF5CgkgIGFyZWEsIGJ5IHJlc2V0dGluZyB0byB0aGUgY29ycmVjdCBYIGNvb3JkaW5hdGUsIGFuZCBhZGQgc29tZSBtb3JlCgkgIGd1YXJkcyBhZ2FpbnN0IGJhZCBQR1MgZGF0YS4KCjIwMDktMDktMDggMDA6MDE6MjggKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIHZpZGVvc2lnbmFsOiBjaGFuZ2UgcGF0dGVybiBkYXRhIHR5cGUgdG8gdWludDY0LCBhZGQgcHJvcGVydHkgYW5kIG1lc3NhZ2UgZmllbGQKCSAgS2VlcHMgdGhlIG9sZCB1aW50IHR5cGVkIHZhbHVlIHN1cHBvcnQgZm9yIGNvbXBhdGliaWxpdHkuCgoyMDA5LTA5LTA2IDA1OjM2OjQ2ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFsbG93IHBhdHRlcm4tY291bnQgcHJvcGVydHkgdG8gYmUgMAoKMjAwOS0wOS0wNCAyMjo1MDozNCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgc3VwcG9ydCBmb3IgcGFja2VkIFlVViBmb3JtYXRzCgoyMDA5LTA5LTA0IDIyOjMwOjI3ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgdmlkZW9zaWduYWw6IGFkZCBzdXBwb3J0IGZvciBhbGwgcGxhbmFyIFlVViBmb3JtYXRzLCB1c2luZyBnc3R2aWRlbwoKMjAwOS0wOS0wNiAwMjo0NDowNSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgYm91bmQgY2hlY2tzCgoyMDA5LTA5LTA0IDE2OjI1OjA1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IHJlbW92ZSB1bnVzZWQgbWFjcm9zCgoyMDA5LTA5LTI2IDE3OjIzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogVXNlIGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoKSBiZWNhdXNlIGl0J3MgZmFzdGVyCgoyMDA5LTA5LTI2IDE3OjIxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcnNuYXVkaW9kZWM6IFVzZSBnaG9zdCBwYWRzIGFuZCBhbHdheXMgZm9yd2FyZCBhcHBsaWNhdGlvbi94LWdzdC1kdmQgZXZlbnRzIGltbWVkaWF0ZWx5CgkgIEZpeGVzIGJ1ZyAjNTgyNzc5LgoKMjAwOS0wOS0yNiAxNzoxOTozMiArMDIwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByZXNpbmR2ZGJpbjogVXNlIGF1dG9jb252ZXJ0IGluIHJzbmF1ZGlvZGVjIGFuZCBidWlsZCBhIGxpc3Qgb2YgcG9zc2libGUgZGVjb2RlcnMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTgyNzc5LgoKMjAwOS0wOS0yNSAxNjo1NDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBzeW5jIGJhc2VwYXJzZSBjaGFuZ2UKCjIwMDktMDktMjUgMTc6MDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogZm9yZWdvIChib2d1cykgcGFyc2luZyBvZiBhbHJlYWR5IHBhcnNlZCAocmF3KSBpbnB1dAoKMjAwOS0wOS0yNSAxMTowNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgbmV3IHNpbmdsZSBpdGVyYXRvciBmb3IgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZHMKCSAgVGhpcyBmaXhlcyBhIGRlYWRsb2NrIGFuZCByZW1vdmVzIHNvbWUgdXNlbGVzcyBjb2RlLgoKMjAwOS0wOS0yNSAxMTowNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcnNuc3RyZWFtc2VsZWN0b3I6IFVzZSBuZXcgc2luZ2xlIG9iamVjdCBpdGVyYXRvciBmb3IgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZHMKCSAgVGhpcyBwcmV2ZW50cyBhbiB1Z2x5IGRlYWRsb2NrLgoKMjAwOS0wOS0yNSAxMDo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgcmVzaW5kdmRiaW46IERvbid0IGJsb2NrIHRoZSBleHRlcm5hbCBnaG9zdCBwYWRzIGJ1dCBvbmx5IHRoZWlyIHRhcmdldHMKCjIwMDktMDktMjQgMTE6MjY6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiB1c2UgQlVJTFRfU09VUkNFUyBpbnN0ZWFkIG9mIHRlbXAgbGlicmFyeQoKMjAwOS0wOS0yMyAxMjozMjo1NCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBGaXggd2FybmluZ3Mgd2l0aCBnY2MgNC4wLjEuCgoyMDA5LTA5LTIyIDEyOjI1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsIGFnYWluCgoyMDA5LTA5LTIyIDEzOjQ0OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBSZXZlcnQgIkxWMiBwcmVzZXQgc3VwcG9ydC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzk1ZjU5Y2QyZGMxMjk4OTliMzdmZWNhYTUyYzg5ZGIzZDhhNWVmOC4KCjIwMDktMDktMjIgMTM6NDM6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFJldmVydCAiRml4IHByb3BlcnR5IGluZGV4IHdoZW4gc2V0dGluZyBwcmVzZXQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBhNmIyMmIxOTE3YWY4YTg5ZGIxOTgxYTBmNWRmM2RjZWU3OGIxZGQuCgoyMDA5LTA5LTIyIDEzOjIzOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IGZpeCB0aGUgYnVpbGQKCSAgQWRkIGEgdW5pbnN0YWxsZWQgY29udmluaWVuY2UgbGlidG9vbCBsaWJyYXJ5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzb3VyY2VzLgoJICBBZGQgdGhhdCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIHBsdWdpbi4KCjIwMDktMDgtMTcgMTc6MjE6NDEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEZpeCBwcm9wZXJ0eSBpbmRleCB3aGVuIHNldHRpbmcgcHJlc2V0LgoKMjAwOS0wOC0xNyAxNzowNjo0MCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgTFYyIHByZXNldCBzdXBwb3J0LgoKMjAwOS0wOS0yMiAwODoxMTozNiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm06IEhhbmRsZSBBU0NJSSBlbmNvZGVkIFBOTSBkYXRhIHRoYXQgaXMgc3BsaXQgb3ZlciBtdWx0aXBsZSBidWZmZXJzCgkgIEFsc286CgkgIC0gdW5yZWYgYnVmZmVycyBhZnRlciBnc3RfYnVmZmVyX3NwYW4KCSAgLSBmaXggc2Nhbm5pbmcgb2YgaGVhZGVyIGlmIGhlYWRlciBkYXRhIGlzIHNwbGl0IG92ZXIgc2V2ZXJhbCBidWZmZXJzCgkgIEZpeGVzIGJ1ZyAjNTk1NzAwLgoKMjAwOS0wOS0yMSAxMTozMzo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3RhYmxlcy5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkgIGNvZzogQWRkIHF1YWxpdHkgc2V0dGluZyB0byBjb2dzY2FsZQoKMjAwOS0wOS0yMSAwOTozNTozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogKHJlLSlpbXBsZW1lbnQgMS8yLzQtdGFwIHNjYWxpbmcKCjIwMDktMDktMjEgMDk6MzA6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCB0aGUgdmlydHVhbCBmcmFtZSBsaW5lIGNhY2hlCgoyMDA5LTA5LTIxIDA5OjQ5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogVkJSIHJlcXVpcmVzIGNlbHQtMC42LjAKCjIwMDktMDktMjEgMTI6MDY6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBTcGVjaWZ5IHRoYXQgcHNpIHRhYmxlIGlzIHN0YXRpYyBjb25zdC4KCSAgVGhpcyBhdm9pZHMgcmUtYWxsb2NhdGluZyBpdCBldmVyeSBzaW5nbGUgdGltZSB3ZSBnbyBpbnRvIGl0LgoJICBSb3VnaGx5IDEwJSBwZXJmb3JtYW5jZSBib29zdCBpbiBvdmVyYWxsIHRzcGFyc2UgcHJvY2Vzc2luZyB0aW1lLgoKMjAwOS0wOS0yMCAxNzo1MzoyNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgUmV2ZXJ0ICJtcGVndHNwYXJzZTogdXNlIGZpeGVkIHNpemUgYXJyYXkgcmF0aGVyIHRoYW4gZHluYW1pY2FsbHkgYWxsb2NhdGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZTc1YjZmMzY2NjUxMjg4N2FlNTI2ZjE2YTFhZDQxYmJmMjUxN2FjLgoKMjAwOS0wOS0yMCAxNTozMDo1OSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFyc2U6IHVzZSBmaXhlZCBzaXplIGFycmF5IHJhdGhlciB0aGFuIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmcKCjIwMDktMDktMjAgMTU6MTg6NDYgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHJlcGxhY2Ugc3RyZWFtcyBoYXNodGFibGUgd2l0aCBhbiBhcnJheSBvZiBzdHJlYW1zCgoyMDA5LTA5LTIwIDE0OjA4OjUwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiB1bnJlZiBjYXBzIG9uIGRpc3Bvc2UsIHJlc2V0IHBhY2tldCBzaXplIG9uIF9yZXNldAoKMjAwOS0wOS0yMCAxMzoxNToxNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogbWFrZSBzdXJlIHBhY2tldHNpemUgaXMgc2V0IG9uIGNhcHMgb2YgYnVmZmVycwoKMjAwOS0wOS0yMCAxMjozODowMCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFyc2U6IGRldGVjdCBwYWNrZXRzaXplIGFuZCBkb24ndCBqdXN0IGFzc3VtZSAxODggYnl0ZXMuCgoyMDA5LTA5LTE5IDE0OjEwOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBBZGQgY29tcGxleGl0eSwgY2JyLCBhbmQgbWF4LWJpdHJhdGUgcHJvcGVydGllcwoKMjAwOS0wOS0xOSAxMzozMjoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ29yYy5jOgoJKiBleHQvY29nL2NvZ29yYy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nOiBhdXRvZ2VuZXJhdGUgY29kZSwgY29sb3JzcGFjZSBpbXByb3ZlbWVudHMKCjIwMDktMDktMTggMjA6Mjc6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIC8vIGNvbW1lbnRzCgoyMDA5LTA5LTE2IDIwOjM5OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRG9uJ3QgdXNlIEdzdEl0ZXJhdG9yLCBkbyBjaGFuZ2UgZGV0ZWN0aW9uIG91cnNlbHZlcy4KCSAgVXNpbmcgYSBHc3RJdGVyYXRvciBpcyBzbG93IGJlY2F1c2Ugd2UgaGF2ZSB0byBjcmVhdGUvZGVzdHJveSB0aGF0CgkgIGl0ZXJhdG9yIGV2ZXJ5IHNpbmdsZSB0aW1lLgoJICBXZSBqdXN0IGRvIHRoZSB0aHJlYWRzYWZlIGNvb2tpZSBjaGVjayBhbmQgbGlzdCBpdGVyYXRpb24gb3Vyc2VsdmVzLgoKMjAwOS0wOS0xNSAyMzoxODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEF2b2lkIHR5cGUtY2hlY2tpbmcgY2FzdHMgaW4gdGlnaHQgbG9vcHMKCjIwMDktMDktMTUgMjM6MTI6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogTWFrZSBuZXh0X3BhY2tldCgpIHJldHVybiBhbiBlbnVtLgoJICBUaGlzIGF2b2lkcyBjYWxsaW5nIGFuIGV4dHJhIGdzdF9hZGFwdGVyX2F2YWlsYWJsZSgpIGluIGEgdGlnaHQgbG9vcC4KCjIwMDktMDktMTUgMjM6MTE6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBNb3JlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xNSAyMDo0OTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwcmVhZCBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTUgMTk6MTY6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyOiBSZWdpc3RlciBhbmQgdXNlIEdRdWFyayBmb3Igc3RydWN0dXJlcy4KCjIwMDktMDktMTUgMTg6NTc6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSW5pdGlhbGl6ZSBkZWJ1Z2dpbmcgaW4gX2dldF90eXBlCgkgIFRoZXJlJ3Mgbm8gbmVlZCBmb3IgYW4gZXh0cmEgZnVuY3Rpb24gc2luY2UgYWxsIGRlYnVnZ2luIHdpbGwgcmVxdWlyZQoJICBhIE1wZWdUU1BhY2tldGl6ZXIgd2hpY2ggbWVhbnMgdGhhdCB0aGUgR1R5cGUgd2lsbCBiZSBjcmVhdGVkLCB0aGVyZWZvcmUKCSAgbW92ZSB0aGUgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24gdGhlcmUuCgoyMDA5LTA5LTE1IDIzOjA5OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IG1lbXNldCBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBpbmRpdmlkdWFsbHkgc2V0dGluZyBmaWVsZHMgdG8gMAoKMjAwOS0wOS0xNSAyMzowODoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgZ19yZXR1cm5faWZfZmFpbAoJICBJdCdzIG92ZXJraWxsIGZvciBjb2RlIG9ubHkgdXNlZCBieSBvbmUgZWxlbWVudC4KCjIwMDktMDktMTUgMTk6NDQ6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyL3BhcnNlOiBEb24ndCB1c2UgZ3N0X3N0cnVjdHVyZV90b19zdHJpbmcoKSBmb3IgZGVidWdnaW5nLgoJICBUaGVyZSdzIEdTVF9QVFJfRk9STUFUIGZvciB0aGF0LCBhbmQgdG9vIGJhZCBmb3IgdGhlIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlCgkgIHN1cHBvcnQgZm9yIHRoYXQuIEl0IGp1c3QgY29zdHMgdG9vIG11Y2ggY3B1LgoKMjAwOS0wOS0xNSAxOTowMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNwYXJzZS8uZ2l0aWdub3JlOgoJKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2VtYXJzaGFsLmxpc3Q6CgkgIGdzdDogUmVtb3ZlIGRlYWQgbXBlZ3RzcGFyc2UgZGlyZWN0b3J5LgoJICBUaGlzIHdhcyBzZXJpb3VzbHkgY29uZnVzaW5nLiBBbHNvLCB0aGUgY29kZSBpcyBpbiBnc3QvbXBlZ2RlbXV4LwoKMjAwOS0wOS0xOCAxNDoyNTo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cuaDoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogZml4ZXMgdG8gbWFrZSBjb2cgd29yayBpbnNpZGUgLWJhZAoKMjAwOS0wOS0xOCAxNTowNjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGZpeCBsaW5lIGVuZGluZ3MKCjIwMDktMDktMTggMTU6MDY6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBmaXggZGlzdGNoZWNrCgoyMDA5LTA5LTE3IDE4OjE2OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHF1aWV0IGRlYnVnZ2luZyBtZXNzYWdlIGluIGxhc3QgY29tbWl0CgoyMDA5LTA5LTE3IDE4OjE1OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEtlZXAgdHJhY2sgb2YgZ3JhbnVsZSBvZmZzZXQKCjIwMDktMDgtMzEgMTA6MzY6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2dvcmMuYzoKCSogZXh0L2NvZy9jb2dvcmMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgQ29weSBjb2cgcGx1Z2luIGFuZCB2aWRlbyBsaWJyYXJ5IGZyb20gY29nIHByb2plY3QKCjIwMDktMDktMTcgMTY6NTQ6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogRml4IHJlc3luYyBidWcgZHVlIHRvIGFkYXB0ZXIgQVBJIGNoYW5nZQoJICBnc3RfYWRhcHRlcl9tYXNrZWRfc2Nhbl91aW50MzIoKSBjaGFuZ2VkIHNsaWdodGx5IGZyb20gd2hlbgoJICB0aGlzIGVsZW1lbnQgd2FzIGluIFNjaHJvZWRpbmdlci4gIE9vcHMuCgoyMDA5LTA5LTE3IDE2OjU3OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogZGVidWcgYXQgbmV3IHNlZ21lbnQgZXZlbnRzCgoyMDA5LTA5LTE3IDE2OjU0OjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogU2V0IERJU0NPTlQgb24gYnVmZmVycwoKMjAwOS0wOS0xNyAxMDo1MDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBhIHdhcm5pbmcKCjIwMDktMDktMTcgMTA6NDk6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBkb24ndCBsaW1pdCBiaXQgcmF0ZQoKMjAwOS0wOS0xNyAwOTozODowMiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBBZGQgQVNDSUkgZGVjb2Rpbmcgc3VwcG9ydAoJICAuLi5hbmQgbWFrZSB0aGUgQVNDSUkgb3V0cHV0IG9mIHRoZSBlbmNvZGVyIGEgYml0IG1vcmUgcHJldHR5LgoJICBGaXhlcyBidWcgIzU5NTQwOS4KCjIwMDktMDktMTcgMDk6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBwbm06IFJlbW92ZSB0aGUgZXhwZXJpbWVudGFsIHN0YXR1cyBmcm9tIHRoZSBwbm0gcGx1Z2luCgoyMDA5LTA4LTE0IDE4OjA4OjU2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBNb3JlIHRvbGVyYXRlIHBvcnQgZ3JvdXAgc3VwcG9ydCwgcGx1Z2luIGNsZWFudXAuCgkgIEdyYWNlZnVsbHkgaGFuZGxlIHBsdWdpbnMgd2l0aCBpbGxlZ2FsIGdyb3VwcyB0aGF0IGNvbnRhaW4gbm8gc3ltYm9sIGJ5CgkgIHRyZWF0aW5nIHBvcnRzIGluIHRoYXQgZ3JvdXAgbm9ybWFsbHkgKGkuZS4gYXMgaWYgdGhleSB3ZXJlbid0IHBhcnQgb2YgYQoJICBncm91cCkuICBUaGUgcG9ydCBncm91cHMgc3BlYyBtYW5kYXRlcyB0aGF0IGdyb3VwcyBoYXZlIGEgdmFsaWQgdW5pcXVlCgkgIHN5bWJvbCwgYnV0IHBsdWdpbnMgYXJlbid0IHBlcmZlY3QuLi4KCSAgTWFrZSAoY29uY2VwdHVhbGx5KSBzdGF0aWMgcGx1Z2luIHZhcmlhYmxlcyBhY3R1YWxseSAoQykgc3RhdGljLAoJICBhbmQgY2xlYW4gdXAgU0xWMiByZWxhdGVkIHRoaW5ncyB3aXRoIGEgR0NDIHNoYXJlZCBsaWJyYXJ5IGRlc3RydWN0b3IsCgkgIGlmIEdDQyBpcyBpbiB1c2UuCgoyMDA5LTA4LTEyIDAxOjA3OjU3IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBNYWtlIG1vbm8gd2FybmluZyB2aXNpYmxlIGluIHB1YmxpYyBkb2N1bWVudGF0aW9uLgoKMjAwOS0wOC0xMiAwMTowMzozMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgTXVsdGktY2hhbm5lbCBzdXBwb3J0IHdpdGggY2hhbm5lbCBwb3NpdGlvbnMuCgkgIFRoaXMgcXVlcmllcyBwb3J0IHJvbGVzIGZyb20gdGhlIExWMiBkYXRhIGFuZCBjb252ZXJ0cyBpdCBpbnRvIEdTdHJlYW1lcgoJICBjaGFubmVsIHBvc2l0aW9ucy4gIFRoaXMgc2hvdWxkIGFsbG93IGFueSB0eXBlIG9mIG11bHRpLWNoYW5uZWwgcGx1Z2luCgkgIChpbmNsdWRpbmcgYmV5b25kIHN0ZXJlbywgZS5nLiBzdXJyb3VuZCkgdG8gd29yayBmaW5lIGluIEdTdHJlYW1lciwKCSAgYW5kIHdpdGggZWxlbWVudHMgdGhhdCByZXF1aXJlIGNoYW5uZWwgcG9zaXRpb25zIHRvIGJlIGV4cGxpY2l0bHkgc3RhdGVkLgoKMjAwOS0wOC0xMCAyMzoxMjoyNCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIExWMiBlbGVtZW50LgoKMjAwOS0wOC0xMCAyMzowNDo0NyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgRml4IHR5cG8gaW4gTEFEU1BBIGVsZW1lbnQgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDctMjEgMTU6NDU6MDYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBTTFYyIGRlcGVuZGVuY3kgdG8gMC42LjYuCgoyMDA5LTA3LTEwIDIxOjUyOjMwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2NhbGYtbHYyLXBvcnQtZ3JvdXBzLnBhdGNoOgoJKiBleHQvbHYyL3N3aC1sdjItcG9ydC1ncm91cHMucGF0Y2g6CgkgIEFkZCBzd2ggYW5kIGNhbGYgTFYyIHBvcnQgZ3JvdXAgcGF0Y2hlcy4KCjIwMDktMDctMDMgMjA6MDA6MTEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIFdvcmtpbmcgbXVsdGktY2hhbm5lbCBwYWRzIGZvciBMVjIgcGx1Z2lucy4KCjIwMDktMDYtMjcgMDA6MjU6MzggLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEFsbG9jYXRlIGEgc3RhdGljIHByZWRpY2F0ZSBmb3IgcGc6aW5Hcm91cC4KCjIwMDktMDYtMjUgMTc6MjU6NTIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE9ubHkgYWxsb2NhdGUgbHYyOmluUGxhY2VCcm9rZW4gcHJlZGljYXRlIG9uY2UuCgoyMDA5LTA2LTI1IDE1OjEwOjI0IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBFbGltaW5hdGUgdXNlIG9mIHN0YXRpYyBtb25vIHBhZCB0ZW1wbGF0ZS4KCjIwMDktMDYtMjUgMTU6MDc6MDUgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFNlcGFyYXRlIHBvcnQgZGlzY292ZXJ5IGZyb20gcGFkIHRlbXBsYXRlIGNyZWF0aW9uLgoJICBUaGlzIGZpcnN0IGNvdW50cyBwb3J0cyAodXNpbmcgdGhlIGJ1aWx0aW4gc2x2MiBmdW5jdGlvbnMgdG8gZG8gc28KCSAgcmF0aGVyIHRoYW4gbWFudWFsbHkgYXMgYmVmb3JlKSwgdGhlbiBjcmVhdGVzIGRlc2NyaXB0b3JzIGZvciBlYWNoIHBvcnQKCSAgYW5kIGZpbmRzIGFsbCBwb3J0IGdyb3Vwcy4gIE9ubHkgdGhlbiBhcmUgcGFkIHRlbXBsYXRlcyBjcmVhdGVkICh0b3dhcmRzCgkgIHVzaW5nIGdyb3VwIGluZm9ybWF0aW9uIGZvciBjcmVhdGluZyBtdWx0aS1jaGFubmVsIHBhZHMpLgoKMjAwOS0wNi0yNSAxMjozNDowMyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgVXNlIHNpbGx5IGdsaWIgdHlwZXMgOikuCgoyMDA5LTA2LTIwIDE5OjUyOjI2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBRdWVyeSBhbmQgc3RvcmUgcG9ydCBncm91cCBpbmZvcm1hdGlvbi4KCSAgUmVwbGFjZSBwb3J0IGluZGV4IGFycmF5cyB3aXRoIGEgc3RydWN0IGZvciBob2xkaW5nIG1vcmUgaW5mb3JtYXRpb24KCSAgdGhhbiBqdXN0IGluZGljZXMgKGUuZy4gZ3JvdXBzKS4KCjIwMDktMDUtMjUgMjI6MTU6NTYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFdvcmtpbmcgYmFzaWMgTFYyIHNpZ25hbCBwcm9jZXNzaW5nLgoJICBMVjIgcGx1Z2lucywgc2hvcnQgb2YgYW55IHN1cnByaXNlcywgc2hvdWxkIHdvcmsgd2l0aCB0aGUgc2FtZSBiYXNpYwoJICBmdW5jdGlvbmFsaXR5IGFzIExBRFNQQSBwbHVnaW5zLgoKMjAwOS0wNS0yNSAyMDo0MzoxMCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgU2V0IGNsYXNzIGluUGxhY2VCcm9rZW4gcHJvcGVydHkuCgoyMDA5LTA5LTE3IDA5OjQzOjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgZG9jczogZml4IGV4YW1wbGUgYW5kIG1lbnRpb24gZGlmZmVyZW5jZSB0byB2b3JiaXNkZWMKCjIwMDktMDktMDIgMTE6MTE6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBGaXggYm9ndXMgY2hlY2sgYmVmb3JlIHVucmVmZmluZwoKMjAwOS0wOS0wMSAxOTo0ODo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICB2ZHBhdTogRml4IHBrZy1jb25maWcgdGVzdAoJICBJZiB0aGUgcGtnLWNvbmZpZyBjaGVjayBkb2Vzbid0IHN1Y2NlZWQsIHRlc3Qgd2l0aCB0aGUgb2xkIG1ldGhvZAoJICBpbnN0ZWFkIG9mIGJhaWxpbmcgb3V0IG9mIGNvbmZpZ3VyZSB3aXRoIGFuIGVycm9yLgoKMjAwOS0wOC0yMCAwMDoxNjowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8gYmV0dGVyCgkgIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBzaW5jZSB3ZSBhc3N1bWUgdGhhdCB0aGUgc2luawoJICBlbGVtZW50J3MgcGl4ZWwtYXNwZWN0LXJhdGlvIGlzIDEvMQoKMjAwOS0wOC0xOSAyMjo1MjozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHJlbW92ZSBwYXIgZnJvbSBjYXBzIHNpbmNlIHdlIGRvbid0IGhhbmRsZSBpdCB5ZXQKCjIwMDktMDgtMTkgMjI6NDA6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBkb24ndCByZW1vdmUgaW50ZXJsYWNlZCBmbGFnIGluIHZpZGVvX3RvX291dHB1dF9jYXBzKCkKCjIwMDktMDgtMTkgMjI6MjM6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBpbnZlcnNlLXRlbGVjaW5lIHByb3BlcnR5CgoyMDA5LTA4LTE5IDIyOjAzOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggbm9pc2UtcmVkdWN0aW9uIHByb3BlcnR5IGdldHRlcgoKMjAwOS0wOC0xOSAyMjowMjoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHNoYXJwZW5pbmcgcHJvcGVydHkKCjIwMDktMDgtMTcgMjM6NDI6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X3ZkcF9kZXZpY2VfbmV3IGZyb20gaGVhZGVyCgoyMDA5LTA4LTE3IDIzOjQyOjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBmaXggZXJyb3IgaGFuZGxpbmcgaWYgZ3N0X3ZkcF9nZXRfZGV2aWNlIHJldHVybnMgTlVMTAoKMjAwOS0wOC0xNyAyMzozOTo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IGFkZCBiYWNrIHZkcGF1c2luayBhbmQgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzCgoyMDA5LTA4LTE3IDIzOjM5OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGRldmljZTogZml4IGVycm9yIGhhbmRsaW5nIGFuZCB0aHJlYWRzYWZldHkKCSAgcmV0dXJuIE5VTEwgaW5jYXNlIG9mIGluaXRhbGl6YXRpb24gZXJyb3JzIGFuZCBndWFyZCBoYXNodGFibGUgYWNjZXNzIHdpdGggYSBtdXRleAoKMjAwOS0wNy0xNyAyMjo1MDoxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZ2V0IGNvcnJlY3QgbnVtYmVyIG9mIG5lZWRlZCBmcmFtZXMgaWYgd2UncmUgZG9pbmcgbm9pc2UgcmVkdWN0aW9uCgoyMDA5LTA3LTE3IDIyOjQ4OjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBpbmRlbnQgZml4CgoyMDA5LTA3LTE1IDIwOjE4OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXggZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiB1c2FnZQoKMjAwOS0wNy0wNCAxOTo0ODo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZXBvc3Rwcm9jZXNzOiByZW1vdmUgYm9vbGVhbiBub2lzZS1yZWR1Y3Rpb24gcHJvcGVydHkKCSAgVXNlIHRoZSBmbG9hdCBvbmUgdG8gZGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBlbmFibGUgbm9pc2UgcmVkdWN0aW9uIG9yIG5vdAoKMjAwOS0wNy0wNCAxNTo0NjowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciBub2lzZSByZWR1Y3Rpb24KCjIwMDktMDctMDQgMTM6NTk6MzYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIGRlaW50ZXJsYWNpbmcKCSAgVGhlIGNvZGUgaXMgcm91Z2hseSBtb2RlbGVkIGFmdGVyIHRoZSBkZWludGVybGFjZSBwbHVnaW4KCjIwMDktMDctMDIgMTc6MTE6MTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IGFkZCBteXNlbGYgdG8gY29weXJpZ2h0CgoyMDA5LTA3LTAyIDE0OjAxOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzL2dzdF92ZHBfdnBwX3NldF9jYXBzL2dzdF92ZHBfdnBwX3Npbmtfc2V0Y2FwcwoKMjAwOS0wNy0wMSAyMzoxMjoyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgaW5zdGVhZCBvZiBvdXIgb3duIHZlcnNpb24KCjIwMDktMDctMDEgMDA6MjA6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYXJyYXkgc2l6ZXMKCjIwMDktMDctMDEgMDA6MTM6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgTlVMTCB0ZXJtaW5hdGluZyBhcnJheQoKMjAwOS0wNi0zMCAyMzo1NToxMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgbmV3IHZkcGF1c2luayBhbmQgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIGVsZW1lbnRzCgkgIHZkcGF1c2luayBpcyBhcyB0aGUgbmFtZSBpbXBsaWVzIGEgc2luayB3aGljaCB0YWtlcyB2aWRlL3gtdmRwYXUtb3V0cHV0IGJ1ZmZlcnMKCSAgYW5kIG91dHB1dHMgaXQgdG8gdGhlIHNjcmVlbi4KCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIGlzIGFuIGVsZW1lbnQgd2hpY2ggdGFrZXMgdmlkZW8veC12ZHBhdS12aWRlbyBidWZmZXJzIGFuZAoJICBvdXRwdXRzIHZpZGVvL3gtdmRwYXUtb3V0cHV0IGJ1ZmZlcnMuIFRoZSBlbGVtZW50IGNhbiBhbHNvIGRvIHRoaW5ncyBsaWtlCgkgIGRlaW50ZXJsYWNpbmcgYW5kIG90aGVyIHBvc3Rwcm9jZXNzaW5nIGJ1dCB0aGlzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCgoyMDA5LTA2LTI5IDIyOjUwOjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2ZHBhdTogY2hlY2sgZm9yIHZkcGF1IHdpdGggcGtnLWNvbmZpZyBmaXJzdAoKMjAwOS0wNi0yNCAxNzo1MTo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICB2ZHBhdTogc3BsaXQgZ3N0X3ZkcF9tcGVnX2RlY19yZXNldCBpbnRvIHN0YXJ0IGFuZCBzdG9wCgoyMDA5LTA2LTI0IDExOjM2OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZG9uJ3QgcHV0IHRoZSBHc3RWZHBEZXZpY2UgaW4gdGhlIGNhcHMKCjIwMDktMDYtMjMgMjM6MDM6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9ZVVYgaW1wbGVtZW50IHBhZF9hbGxvYwoJICBhbHNvIGNoYW5nZSBHc3RWZHBNcGVnRGVjIGFuZCBHc3RWZHBZVVZWaWRlbyB0byBtYWtlIHVzZSBvZiB0aGlzCgoyMDA5LTA2LTIzIDE3OjI2OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBzdXBwb3J0IGZvciBZVVkyCgoyMDA5LTA2LTIzIDE3OjE2OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMDktMDYtMjMgMTY6NTc6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBmYWN0b3Igb3V0IGNvbW1vbiBjYXBzIGNhbGN1bGF0aW9uIGFuZCBwdXQgaXQgaW4gZ3N0dmRwdXRpbHMuW2NoXQoKMjAwOS0wNi0yMiAyMzoyNTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IHJlZmFjdG9yIEdzdFZkcFZpZGVvWVVWIGFuZCBHc3RWZHBZVVZWaWRlbwoKMjAwOS0wNi0yMiAyMjoxNzo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwWVVWVmlkZW8gaW5oZXJpdCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMDktMDYtMjIgMTE6MDA6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgdmRwYXU6IGZpeHVwIHNvbWUgZGVidWcgcHJpbnRzCgoyMDA5LTA2LTIyIDEwOjU3OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1lVViBpbmhlcml0IGZyb20gR3N0QmFzZVRyYW5zZm9ybQoKMjAwOS0wOS0xNiAwODoyMjoxOSArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogU3VwcG9ydCBBU0NJSSBmb3JtYXQgZm9yIGVuY29kaW5nIGFuZCBoYW5kbGUgdW5zdXBwb3J0ZWQgZm9ybWF0cyBiZXR0ZXIgaW4gdGhlIGRlY29kZXIKCSAgRml4ZXMgYnVnICM1OTUyMTUuCgoyMDA5LTA5LTE1IDIzOjMyOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEhhbmRsZSBiYXNlX3RpbWUgd2hlbiBzZW5kaW5nIHNlZ21lbnQgdXBkYXRlcy4KCSAgRG9uJ3Qgc2VuZCBib2d1cyBuZXcgc2VnbWVudCB1cGRhdGUgZXZlbnRzIHdoZW4gdGhlIHN0cmVhbSBkb2Vzbid0CgkgIHN0YXJ0IGF0IDAuIEZpeGVzIGJyb2tlbiBzZWVraW5nIGluIHNvbWUgZmlsZXMuCgkgIEZpeGVzOiAjNTk0ODEyCgoyMDA5LTA4LTE4IDEzOjM1OjU5ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWd0c2RlbXV4LCBtcGVndHNwYXJzZTogbWF4IHNlY3Rpb24gbGVuZ3RoIGlzIDQwOTMgbm90IDEwMjEuCgoyMDA5LTA4LTE4IDAxOjA4OjAzICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIHBhZCBmb3IgRFZCIFN1YnRpdGxpbmcgcGFkcwoKMjAwOS0wOS0xMyAxOTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IFVzZSBjb3JyZWN0IHJvd3N0cmlkZSBmb3IgOCBiaXQgZ3JheXNjYWxlIHRvbwoKMjAwOS0wOS0xMyAxOTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IENvcnJlY3RseSBjb252ZXJ0IGZyb20vdG8gR1N0cmVhbWVyIHJvd3N0cmlkZQoKMjAwOS0wOS0xMyAxOToxNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IEZpeCBjYXBzCgkgIDggYml0IGdyYXlzY2FsZSBjYXBzIGhhdmUgbm8gZW5kaWFubmVzcyBmaWVsZCBhbmQgdGhlIGNhcHMgbmFtZQoJICBvZiBHU1RfVklERU9fQ0FQU19SR0IgaXMgc3RpbGwgInZpZGVvL3gtcmF3LXJnYiIgYW5kIG5vdCBHU1RfVklERU9fQ0FQU19SR0IuCgoyMDA5LTA5LTEzIDE5OjEzOjI0ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm06IExvdHMgb2YgYnVnZml4ZXMKCSAgKDEpIEZpeCBleGFtcGxlcy4KCSAgKDIpIEFkZCBzdXBwb3J0IGZvciBncmF5IGltYWdlcy4KCSAgKDMpIFJlbW92ZSAidXNlX2ZpeGVkX2NhcHMiIHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBiZSB1c2VmdWwuCgkgICg0KSBEbyBwcm9wZXIgbmVnb3RpYXRpb24gaW4gdGhlIGVuY29kZXIuCgkgICg1KSBGaXggbWVtbGVhayBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBpbiB0aGUgZW5jb2Rlci4KCSAgKDYpIEtlZXAgYSBsaW5rIHRvIHRoZSBzcmMgcGFkIGluIHRoZSBlbmNvZGVyIG5vdyB0aGF0IHdlIG5lZWQgaXQgbW9yZSBvZnRlbi4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjMTY0ODcwLgoKMjAwOS0wOS0xMiAxODo1NzowNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgRml4IGZhY3RvcnkgaW5mb3JtYXRpb24gZm9yIGgyNjRwYXJzZSwgYWRkIG1pc3NpbmcgVmlkZW8KCjIwMDktMDktMTEgMTQ6Mzg6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBGaXggYW4gb2ZmLWJ5LTggYnVnIGluIHBhcnNpbmcgdGhlIEFJRkYgZGF0YSBzaXplLgoJICBUaGlzIGxlZCB0byBvdmVycmVhZGluZyBieSA4IGJ5dGVzLCBnaXZpbmcgYW4gYXVkaWJsZSBnbGl0Y2ggYXQgdGhlIGVuZCBvZgoJICBhIGZpbGUgKGV4Y2VwdCB3aGVuIHRoZSBmaWxlIGRpZG4ndCBoYXZlIGEgdHJhaWxpbmcgY2h1bmsgb2Ygc29tZSBzb3J0KS4KCjIwMDktMDktMDggMjA6NTI6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVc2UgR1NUX1RJTUVfRk9STUFUIGluIGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDktMDggMDk6MjA6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZXNldCBzdHJlYW0tPmxhc3RfdGltZSB3aGVuIGZsdXNoaW5nLgoJICBUaGlzIGZpeGVzIG5haXZlIHNlZWtpbmcgYSB0aW55IGJpdCAoYnkgYmFzaWNhbGx5IGhpbnRpbmcgYXQgX2RhdGFfY2IKCSAgdGhhdCBpdCBzaG91bGRuJ3QgZXhwZWN0IHRoZSBpbmNvbWluZyBidWZmZXJzIHRvIGJlIHRoZSBvbmVzIGp1c3QgYWZ0ZXIKCSAgdGhlIHByZXZpb3VzIG9uZXMpLgoJICBXaXRob3V0IHRoaXMsIHNlZWtpbmcgYnkgbW9yZSB0aGFuIDEwbWlucyBmb3J3YXJkIHdvdWxkIGp1c3QgZW5kIHVwIGluIGFuCgkgIGVuZGxlc3MgbG9vcC4KCjIwMDktMDktMDggMDk6MTg6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTcHJpbmtsZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MuCgoyMDA5LTA5LTEwIDEyOjEyOjI2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogV2hlbiB3cml0aW5nIGlkM3YyLjMsIGRvIG5vdCB1c2UgVVRGLTguCgkgIFVURi04IGlzIG9ubHkgcGVybWl0dGVkIGluIHYyLjQuIFNvIGluc3RlYWQgdXNlIElTTy04ODU5LTEgZm9yIGFzY2lpLW9ubHkKCSAgc3RyaW5ncywgYW5kIFVURjE2IG90aGVyd2lzZS4gQWxzbywgZG8gbm90IG51bGwgdGVybWluYXRlIHN0cmluZ3MgaW4gdGV4dAoJICBmcmFtZXMsIGV4Y2VwdCB3aGVyZSByZXF1aXJlZC4gVGhlc2UgdHdvIGFsbG93IHdpbmRvd3MgbWVkaWEgcGxheWVyIHRvIHBsYXkKCSAgKGFuZCBjb3JyZWN0bHkgcmVhZCB0YWdzKSBmaWxlcyBjcmVhdGVkIGJ5IGlkM211eC4KCjIwMDktMDctMjMgMTY6MTM6MjggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBjb21wbGV0ZSBpbWEgYWRwY20gc3VwcG9ydC4KCjIwMDktMDctMjMgMTE6NTk6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBjaGVja3BvaW50IGZvciBpbmNvbXBsZXRlIElNQSBBRFBDTSBzdXBwb3J0LgoKMjAwOS0wOS0xMCAxMjowMjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IEZpeCBmb3JtYXQgc3RyaW5ncyBhbmQgaW5jbHVkZSBjb3JyZWN0IGkxOG4gaGVhZGVyCgoyMDA5LTA5LTEwIDExOjU4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogRml4IGluZGVudGlvbiwgbGluZSBlbmRpbmdzIGFuZCB1c2UgTFJOJ3MgcmVhbCBuYW1lCgoyMDA5LTA5LTA5IDE5OjE0OjI3ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBJbml0aWFsIHZlcnNpb24gb2YgdmlkZW9tZWFzdXJlIHBsdWdpbgoJICBUaGlzIHBsdWdpbiBjb250YWlucyBlbGVtZW50cyBmb3IgY2FsY3VsYXRpbmcgbWV0cmljcyBvZiB2aWRlbyBzdHJlYW1zLCBpbnRlbmRlZCBmb3Igb2JqZWN0aXZlIHZpZGVvIGNvZGVjIGNvbXBhcmlzb24uCgkgIEF0IHRoZSBtb21lbnQgb25seSBTU0lNIG1ldHJpYyBpcyBpbXBsZW1lbnRlZCAod2h5IHdvdWxkIHlvdSBuZWVkIGFueXRoaW5nIGVsc2UgYW55d2F5PykuCgkgIEFsc28gY29udGFpbnMgYSBoZWxwZXIgdmlkZW9tZWFzdXJlX2NvbGxlY3RvciBlbGVtZW50IHRoYXQgY29sbGVjdHMgbWVhc3VyZW1lbnQgZXZlbnRzIGFuZCBvdXRwdXRzIHRoZW0gaW50byBhIGZpbGUgKHRvIGJlIHVzZWQgd2l0aCBnc3QtbGF1bmNoKS4KCSAgT3RoZXIgbWV0cmljcyBtYXkgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIGZ1dHVyZSBhbG9uZyB3aXRoIGEgYmFzZSBjbGFzcyBmb3IgYWxsIG1lYXN1cmVycy4KCSAgRml4ZXMgYnVnICM1OTQzMjEuCgoyMDA5LTA5LTEwIDA4OjU0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5tOiBNYXJrIFBOTSBwbHVnaW4gYXMgZXhwZXJpbWVudGFsIGJlY2F1c2UgaXQgZG9lc24ndCB3b3JrIHdlbGwgeWV0CgoyMDA5LTA5LTEwIDA4OjUzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogUGFydGlhbGx5IGZpeCBuZWdvdGlhdGlvbiBpc3N1ZXMgYW5kIHJlZmNvdW50IGxlYWtzCgoyMDA5LTA5LTEwIDA4OjQ4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogRml4IG5lZ290aWF0aW9uIGlzc3VlcyBhbmQgcmVmY291bnQgbGVha3MKCjIwMDktMDktMTAgMDg6Mjk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSAgcG5tOiBGaXggdHlwZWZpbmRlciBjYXBzCgoyMDA5LTA5LTEwIDA4OjIzOjIyICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IEFkZCBQTk0gZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cwoJICBGaXhlcyBidWcgIzE2NDg3MC4KCjIwMDktMDktMTAgMDc6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSAgc2lnbmFscHJvY2Vzc29yOiBGaXggdmFyaW91cyBidWlsZC9kaXN0IGlzc3VlcwoJICBJbnN0YWxsIHRoZSBoZWFkZXJzLCB2ZXJzaW9uIHRoZSBsaWJyYXJ5IHdpdGggQEdTVF9NQUpPUk1JTk9SQCwKCSAgYWRkIGFsbCByZXF1aXJlZCBsaWJyYXJpZXMgdG8gX0xJQkFERCBpbnN0ZWFkIG9mIF9MREZMQUdTLAoJICBhbmQgYWRkIEdTVF8qX0xERkxBR1MgdG8gX0xERkxBR1MuCgkgIEZpeGVzIGJ1ZyAjNTk0NzE1LgoKMjAwOS0wOS0wOSAxNDozNDowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBjYWNoZSBkZXZpY2UgY2FwcwoKMjAwOS0wOS0wOSAxMjo0MToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3d2aWRlb3NyYzogdXNlIElFbnVtTWVkaWFUeXBlcyB3aGVuIElBTVN0cmVhbUNvbmZpZyBpcyBub3QgdXNhYmxlCgkgIEZvciBzb21lIGRldmljZSBkcml2ZXJzIElBTVN0cmVhbUNvbmZpZyBpcyBub3Qgc3VwcG9ydGVkLgoJICBCdXQgRW51bU1lZGlhdHlwZXMgZG9lcyBub3QgcHJvdmlkZSByYW5nZSBzaXplIGFuZCBmcmFtZXJhdGUuCgoyMDA5LTA5LTA2IDExOjUwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IGFkZCB1bml0IHRlc3QKCjIwMDktMDktMDggMjI6MjQ6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzIGZvciBkaXNjcmVwYW5jeSBjYXNlcyBhbmQgcGx1ZyBtZW1sZWFrCgoyMDA5LTA5LTA2IDExOjQ5OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogc3ByaW5rbGUgc29tZSBtb3JlIEdfKFVOKUxJS0VMWQoKMjAwOS0wOS0wNiAxMTo0NDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGVuZm9yY2Ugc3luYyBiZXR3ZWVuIHdyYXBwZXIgdmlldyBvZiBkYXRhIGFuZCBlbmNvZGVyIHJldHVybmVkIGRhdGEKCjIwMDktMDktMDUgMjE6MzU6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZmFhYyB0byBkb2N1bWVudGF0aW9uCgoyMDA5LTA5LTA1IDIxOjM1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAwOS0wOC0zMSAxOTozMTo1NyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBtYWtlIEdTVF9GT1JNQVRfVElNRSB0aGUgZGVmYXVsdCBzZWdtZW50IGZvcm1hdAoKMjAwOS0wOC0zMSAxOTozMzo1MCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgYnVnICM1OTQyNzguCgoyMDA5LTA5LTA4IDE1OjE2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB1c2FnZSBvZiBfX2Fsd2F5c19pbmxpbmVfXyBhdHRyaWJ1dGUKCSAgVGhpcyBhdHRyaWJ1dGUgY2FuJ3QgYmUgdXNlZCBmb3IgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGJlY2F1c2UKCSAgaXQgbmVlZHMgdGhlIGZ1bmN0aW9uIGJvZHkuIEluc3RlYWQgb2YgYSBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mCgkgIGZ1bmN0aW9ucywgbW92ZSB0aGUgZnVuY3Rpb24gaXRzZWxmIGFib3ZlIGl0J3MgZmlyc3QgdXNlLgoJICBGaXhlcyBidWcgIzU5NDQ4OSBhbmQgY29tcGlsYXRpb24gd2l0aCBnY2MgNC4zIGFuZCBlYXJsaWVyLgoKMjAwOS0wOS0wNyAxNzozMzoxNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYmFzcyA9IDAuOS42CgkgIEZpeGVzIGJ1ZyAjNTk0MzgyLgoKMjAwOS0wOS0wNyAxOTowODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBhc3BlY3QtcmF0aW8gcGFyc2luZyBpbiBWTwoKMjAwOS0wOS0wNyAxNjoyMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFsc28gY29uc2lkZXIgdXNlcl9kYXRhIHBpZWNlcyB3aGVuIHBhcnNpbmcgVk8oUykKCjIwMDktMDktMDcgMTY6NDQ6NTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTCgoyMDA5LTA5LTA3IDE1OjQ0OjE2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogdXBncmFkZSBmcm96ZW4gYnVpbGQgdG8gdnM5CgoyMDA5LTA5LTA3IDE1OjIxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBpbmRlbnQgZHNob3dzcmN3cmFwcGVyLmNwcAoKMjAwOS0wOS0wNyAxNToxMjo1NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIFJldmVydCAiZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdW51c2VkIGV4dGVybiBDIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzYzg4ZDYzN2Q3ZTdkNjBmMTQzN2NjZDNkZmMyM2IzN2UyYTMyMGUuCgkgIFJldmVydGluZyB0aGlzIHNpbmNlIHRoZSBlbnRyeSBwb2ludCBpc24ndCBmb3VuZCBiZWNhdXNlIG9mCgkgIEMrKyBidWlsZC4KCjIwMDktMDktMDcgMTA6NTk6NTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBpbmRlbnQKCjIwMDktMDktMDcgMTA6NTE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY29udmVydCBsaW5lIGVuZGVkIGNoYXJhY3RlcnMgdG8gTEYKCjIwMDktMDktMDcgMTA6Mzg6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1bnVzZWQgZXh0ZXJuIEMKCjIwMDktMDktMDcgMTA6MzE6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogZ28gYmFjayB0byBwcmV2aW91cyBtb2RlCgoyMDA5LTA5LTA1IDEwOjIyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDBhODU5ZSB0byAxOWZhNGYzCgoyMDA5LTA5LTA0IDE5OjE3OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGkvdGltaWRpdHk6IEFkZCBhdWRpby9yaWZmLW1pZGkgdG8gdGhlIHNyYyBwYWQgdGVtcGxhdGUgY2FwcwoKMjAwOS0wOS0wNCAxNzozMjozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW46IGZpeCBzZXR0aW5nIGNhcHMgb24gdGhlIG91dHB1dCBwYWQKCSAgQWxzbyBzZXQgdGhlIGNhcHMgb24gdGhlIG91dHB1dCBwYWQgd2hlbiB0aGUgaW5wdXQgYnVmZmVycyBkb24ndCBoYXZlIGNhcHMuCgoyMDA5LTA5LTA0IDE3OjI3OjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICB3aWxkbWlkaTogY2xlYW51cHMgYW5kIGZpeCBzZWVraW5nCgkgIFJlbW92ZSB0aW1lX3Blcl9mcmFtZSwgaXQncyB0b28gaW5hY2N1cmF0ZS4KCSAgRml4IGNvbnZlcnQgZm9yIC0xIHZhbHVlcy4KCSAgVXNlIHNjYWxpbmcgdG8gY29udmVydCBzYW1wbGVzIHRvIHRpbWUuCgkgIEZpeCBzZWdtZW50IGhhbmRsaW5nLgoJICBGaXggc2Vla2luZy4KCSAgRml4IGJ1ZmZlciBjbGlwcGluZyAobm90IHlldCBlbmFibGVkKQoJICBQcm90ZWN0IHRoZSBXaWxkTWlkaSBsaWJyYXJ5IHdpdGggdGhlIG9iamVjdCBsb2NrIHRvIGF2b2lkIHJhY2VzIHdoZW4gY2hhbmdpbmcKCSAgcHJvcGVydGllcy4KCSAgRml4IG9mZnNldHMgb24gb3V0cHV0IGJ1ZmZlcnMsIGZvciByYXcgYXVkaW8gdGhlIG9mZnNldCBjb250YWlucyB0aGUgc2FtcGxlCgkgIHBvc2l0aW9uIG5vdCBieXRlIHBvc2l0aW9uLgoJICBBZGQgYmV0dGVyIERJU0NPTlQgaGFuZGxpbmcuCgkgIEZpeGVzICM1MTkwMDEKCjIwMDktMDktMDQgMTY6Mjk6NTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogbW92ZSBWSURFT19TVFJFQU1fQ09ORklHX0NBUFMgdG8gR3N0Q2FwdHVyZVBpbk1lZGlhVHlwZQoKMjAwOS0wOS0wNCAxNDoxMTozMyArMDEwMCAgY2hyaXN0aWFuIHNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA5LTA0IDE0OjEwOjU1ICswMTAwICBjaHJpc3RpYW4gc2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wOS0wNCAxMzoxMzozOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGhhbmRsZSBhbGwgcmVkaXJlY3Rpb24gaHR0cCBzdGF0dXMgY29kZXMKCjIwMDktMDktMDQgMTI6NTM6MzYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBpbiBzZWVraW5nIHVzZSBhIGZhY3RvciBmb3IgU0NSIGludGVycG9sYXRpb24KCSAgRml4ZXMgc2Vla2luZyBvbiBjbGlwcyB3aGVyZSBQVFMgYXJlIHVuYWxpZ25kZWQgd2l0aCBTQ1IuCgoyMDA5LTA5LTA0IDEyOjQwOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBzaXJlbmRlYzogcmV3cml0ZSBzaXJlbmRlYwoJICBBZGQgc2V0Y2FwcyBhbmQgZXZlbnQgZnVuY3Rpb25zLgoJICBBZGQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucyB0byBjbGVhbiB2YXJpYWJsZXMuCgkgIFVzZSBhZGFwdGVyLgoJICBBZGQgdGltZXN0YW1wcyBhbmQgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgQWRkIERJU0NPTlQgaGFuZGxpbmcuCgoyMDA5LTA5LTA0IDEyOjQwOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuZW5jOiBjbGVhbnVwcwoKMjAwOS0wOS0wNCAxMjozNTozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogc2V0IHNwZWNpZmljIGNhcHMgZm9yIGxwY20gaW4gcHJpdmF0ZSBzdHJlYW0KCSAgSW4gdGhlIGNsaXBzIHRoYXQgSSd2ZSBmb3VuZCB0aG9zZSBzdHJlYW1zLCB0aGUgbHBjbSBoZWFkZXIgaXMKCSAgZGlmZmVyZW50IHRoYW4gdGhlIERWRCBjYXNlLgoJICBUaGVuIHRoZSBkZWNvZGVyIG5lZWQgdG8ga25vdyB0aGlzIGluIG9yZGVyIHRvIGJlIGFibGUgcGFyc2UgaXQuCgoyMDA5LTA5LTA0IDEyOjMwOjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGFkZGVkIGF1dG9kZXRlY3Qgb2YgcGFja2V0IHNpemUgYW5kIHJlbW92ZWQgbTJ0cyBtb2RlIHByb3BlcnR5CgoyMDA5LTA5LTA0IDEyOjA4OjQ1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9jYXBAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOS0wNCAxMjowODowMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3d2aWRlb3NyYzogbW92ZSBkZWZhdWx0IHZpZGVvIGNhcHMgaW50byBHc3RDYXB0dXJlUGluTWVkaWFUeXBlCgoyMDA5LTA5LTA0IDEyOjAyOjE4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogc29tZSBtb3JlIGhhbmRsaW5nIG9mIFZDMSBhbmQgRUFDMwoJICBJZiB0aGUgUE1UIGhhdmUgdGhlIHJlZ2lzdGVyIGRlc2NyaXB0b3IgSERNViBhc3N1bWUgRUFDMwoJICBGb3IgVkMxIG1ha2UgdGhlIGNvZGUgbW9yZSBhbGlnbmVkIHRvIFJQMjI3LgoKMjAwOS0wNy0xNiAxMDowNjozNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgVHJ5IHRvIGZpdCBzdWJ0aXRsZXMgd2l0aGluIHRoZSB2aWRlbyBmcmFtZSB3aGVuIHRoZXkncmUgdG9vIGxhcmdlCgoyMDA5LTA5LTAxIDIxOjMwOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IFNldCB0aGUgR1N0cmVhbWVyIHRpbWVzdGFtcCBhY2NvcmRpbmcgdG8gdGhlIHBjYXAgdGltZXN0YW1wcwoKMjAwOS0wOS0wMyAxOTowNDozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IGZpeCBldmVudHMgYW5kIGNhcHMKCSAgQWRkIGFuIGV2ZW50IGZ1bmN0aW9uIHRoYXQgY2xlYXJzIHRoZSBhZGFwdGVyLgoJICBBZGQgYSBzZXRjYXBzIGZ1bmN0aW9uIHRvIGNvbmZpZ3VyZSBjYXBzIG9uIHRoZSBzcmNwYWQuIFJlbW92ZSB0aGUgaW5zdGFuY2UKCSAgdmFyaWFibGUgZm9yIHRoZSBjYXBzLgoKMjAwOS0wOS0wMyAxODo0MzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW5lbmM6IGZpeCB0aW1lc3RhbXBpbmcKCSAgSGFuZGxlIERJU0NPTlQgYW5kIHJlc2V0IGFkYXB0ZXIuCgkgIGNvZGUgY2xlYW51cHMuCgkgIFB1dCB0aW1lc3RhbXBzIGFuZCBkaXNjb250IGZsYWdzIG9uIG91dHB1dCBidWZmZXJzLgoJICBGaXggZXJyb3IgaGFuZGxpbmcuCgkgIFJlbW92ZSBib2d1cyBvYmplY3QgbG9ja3MsIGl0J3MgYWxsIHByb3RlY3RlZCBieSB0aGUgU1RSRUFNX0xPQ0suCgoyMDA5LTA5LTAzIDE3OjQ5OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBmYWN0b3JpemUgZHNob3cgZm9ybWF0IHRvIGdzdCBjYXBzIGNvbnZlcnNpb24KCjIwMDktMDktMDMgMTc6MjA6NDcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgY3BsdXNwbHVzIGNvbmRpdGlvbgoKMjAwOS0wOS0wMyAxNzoxMjoyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3d2aWRlb3NyYzogZmFjdG9yaXplIGRzaG93IHZpZGVvIGZvcm1hdCBwYXJzaW5nCgoyMDA5LTA5LTAzIDE1OjQ1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IElmIHN0cmVhbSB0eXBlIGlzIEFDMyBhbmQgbm8gRUFDMyBkZXNjcmlwdG9yIGlzIGZvdW5kIGFzc3VtZSBBQzMKCjIwMDktMDktMDMgMTU6NDA6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSW1wbGVtZW50IEVBQzMgaGFuZGxpbmcgYWNjb3JkaW5nIHNvbWUgQVRTQyBzcGVjcy4KCSAgRml4ZXMgYnVnICM1OTQwMzAuCgoyMDA5LTA5LTAzIDAwOjI4OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogbW92ZSB4ZGcgdHlwZWZpbmRlciB0byB0aGUgb3RoZXIgdHlwZWZpbmRlcnMgaW4gLWJhc2UKCSAgUmVtb3ZlIHRoZSB4ZGdtaW1lIHBsdWdpbiB3aGljaCBub3cgYmFyZWx5IGNvbnRhaW5zIGFueSBjb2RlIGF0IGFsbAoJICBhbmQgbW92ZSB0aGUgZnVuY3Rpb25hbGl0eSBpbnRvIGdzdC1wbHVnaW5zLWJhc2UgbmV4dCB0byB0aGUgb3RoZXIKCSAgdHlwZWZpbmRlcnMuCgoyMDA5LTA5LTAyIDEzOjM1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWdzbXV4LCBtcGVncHNtdXg6IGZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyB3aXRoIHRoZSBkZWJ1Z2dpbmcgc3lzdGVtIGluIGNvcmUgZGlzYWJsZWQKCjIwMDktMDktMDEgMTI6NDE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3RyZWFtIHR5cGUgMHg4MSBpcyBub3JtYWwgQUMzLCBub3QgRUFDMwoJICBOb3Qgc3VyZSB3aGF0IHRoZSBzdHJlYW0gdHlwZSBmb3IgRUFDMyBpcyB0aG91Z2guCgkgIEZpeGVzIGJ1ZyAjNTkzMDU5LgoKMjAwOS0wOC0zMCAyMzowNzozMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlZmFjdG9yIHNsaWdodGx5IGFuZCByZW1vdmUgc3VwZXJmbHVvdXMgY29kZQoKMjAwOS0wOC0zMCAyMzowNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZyZXNoZW4gdXAgY2FwcyBuZWdvdGlhdGlvbgoJICBQZXJmb3JtIHNpbmsgYW5kIHNyYyBjYXBzIG5lZ290aWF0aW9uIGR1cmluZyBjYXBzIG5lZ290YXRpb24sCgkgIGFuZCBhbHNvIGNhdGVyIGZvciByZS1uZWdvdGlhdGlvbi4KCjIwMDktMDgtMzAgMjM6MDA6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHJld3JpdGUgZGF0YSBjYWNoaW5nIGFuZCB0aW1lc3RhbXAgaGFuZGxpbmcKCSAgQWxzbyBmaXhlcyAjNTkzMzQ4LgoKMjAwOS0wOC0zMSAxODo1NTo1MiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQSBsaXR0bGUgY2xlYW4gdXAuCgkgIFJlb3JkZXIgdGhlIGxpc3Qgb2YgQU1fQ09ORElUSU9OQUwoKXMgdXNlZCB3aGVuIC0tZGlzYWJsZS1leHRlcm5hbCBpcwoJICBzcGVjaWZpZWQgdG8gbWF0Y2ggdGhlIGFjdHVhbCBvcmRlciBvZiB0aGUgcGx1Zy1pbnMgZWFybGllciBpbiB0aGUgZmlsZS4KCjIwMDktMDgtMzEgMTg6NDk6MTYgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsbG93IC0tZGlzYWJsZS1leHRlcm5hbCB0byBiZSBzcGVjaWZpZWQgYWdhaW4uCgoyMDA5LTA4LTMxIDE4OjQ3OjQ0ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbGxvdyAtLWRpc2FibGUta2F0ZSB0byBhY3R1YWxseSBiZSBzcGVjaWZpZWQuCgoyMDA5LTA4LTMxIDE4OjQxOjU5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBjbGVhbnVwIGVycm9yIGhhbmRsZXIKCjIwMDktMDgtMzEgMTg6MzQ6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZyZWUgdGhlIGFkYXB0ZXIKCjIwMDktMDgtMzEgMTg6MzI6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGNsZWFudXBzCgoyMDA5LTA4LTMxIDE4OjIxOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBhbGxvdyBmb3IgcHVzaCBtb2RlIG9wZXJhdGlvbgoJICBGaXhlcyAjNTg2OTI5CgoyMDA5LTA4LTMxIDE4OjIwOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICB3aWxkbWlkaTogdXNlIHN0YXRlIG1hY2hpbmUKCSAgVXNlIGEgc3RhdGUgbWFjaGluZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHN0YXRlLgoJICBBZGQgY2hhaW4gZnVuY3Rpb24gYW5kIGV2ZW50IGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCjIwMDktMDgtMzEgMTc6Mzg6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IHJlbW92ZSB1c2VsZXNzIGZ1bmN0aW9uIGNhbGxzCgoyMDA5LTA4LTMxIDE3OjMzOjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICB3aWxkbWlkaTogc2V0IGNhcHMgb24gcGFkCgkgIFNldCB0aGUgY2FwcyBvbiB0aGUgcGFkIGFuZCB1c2UgdGhvc2UgY2FwcyBpbnN0ZWFkIG9mIGtlZXBpbmcgYSBzZXBhcmF0ZSBjYXBzCgkgIHBvaW50ZXIgYXJvdW5kLgoJICBGaXggc29tZSB3aGl0ZXNwYWNlLgoKMjAwOS0wOC0zMSAxNzoyNzozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHdoaXRlc3BhY2UKCjIwMDktMDgtMzEgMTY6MDc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkgIGthdGU6IGZpeCB0eXBvIGluIE1ha2VmaWxlLmFtCgkgIEdTVF9QTFVHSU5fQkFTRV9MSUJTIHNob3VsZCBiZSBHU1RfUExVR0lOU19CQVNFX0xJQlMuIEZpeGVzICM1OTM2ODMuCgoyMDA5LTA4LTMxIDEzOjMxOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIGZvciBnaXQgdmVyc2lvbgoKMjAwOS0wOC0zMSAxMzoxNDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBHc3RBZGFwdGVyIGlzIG5vdCBhIEdzdE9iamVjdCBhbmQgc2hvdWxkIGJlIGZyZWVkIHdpdGggZ19vYmplY3RfdW5yZWYoKQoKMjAwOS0wOC0zMSAxMzowMDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHVzZSBhbiBvbGQtZmFzaGlvbmVkIGFycmF5IGluc3RlYWQgb2YgR1B0ckFycmF5IGZvciBtdXgtPnByb2dyYW1zCgkgIFVzaW5nIEdQdHJBcnJheSBmb3IgYSBmaXhlZC1zaXplZCBhcnJheSBpcyBhIGJpdCBwb2ludGxlc3MgYW5kIG1ha2VzCgkgIGZvciB1Z2x5IGNvZGUuCgoyMDA5LTA4LTMxIDEwOjQ4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0Lmg6CgkgIG1wZWdwc211eDogQWRkIG1pc3NpbmcgZmlsZXMgdG8gZml4IGNvbXBpbGF0aW9uCgkgIEZpeGVzIGJ1ZyAjNTkzNjI1LgoKMjAwOS0wOC0xMCAwMToxNDoxOSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBleGFtcGxlcy9tcHRzX3Rlc3QyLmM6CgkgIG1wZWd0c211eDogVGVzdCBwcm9ncmFtIG9mIG1wdHMgc3VwcG9ydCBpcyBhZGRlZAoKMjAwOS0wNy0yMiAyMDoyNzozNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IE1pbm9yIGZpeGVzCgoyMDA5LTA3LTIyIDIwOjI1OjQyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbXV4LT5wcm9ncmFtczogdXNlIEdQcnRBcnJheSBpbnN0ZWFkIG9mIEdBcnJheQoKMjAwOS0wNy0xMSAxOToyOTo1MyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG1wZWd0c211eF9jb2xsZWN0ZWQoKTogY2FsY3VsYXRlIFBDUiBmb3IgcHJvZ3JhbXMKCjIwMDktMDctMTEgMTk6MTU6MTIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtcGVndHNtdXhfY3JlYXRlX3N0cmVhbXMoKTogY3JlYXRlIG11bHRpIHN0cmVhbXMKCjIwMDktMDctMTEgMTk6MTM6MjMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBNcGV0VHNQYWREYXRhOiBhZGQgcHJvZ19pZCBhbmQgcmVmIHRvIGl0cyBwcm9ncmFtCgoyMDA5LTA3LTExIDE5OjA5OjE3ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRXh0ZW5kIG11eC0+cHJvZ3JhbSB0byBhIEdBcnJheSBwcm9ncmFtcwoKMjAwOS0wNy0xMSAxNzo0NDo1NCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IEFkZCBuZXcgcHJvcGVydHkgcHJvZy1tYXAgdG8gdGhlIG11eGVyCgoyMDA5LTA4LTE4IDEyOjE0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRnJlZSB0aGUgUFBTIGJ1ZmZlcnMgdG9vCgoyMDA5LTA4LTE3IDE4OjAzOjAwICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29tcHV0ZSB0aW1lc3RhbXAKCjIwMDktMDgtMTcgMTc6NTg6NDYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWNvZ25pemUgbW9yZSB0eXBlcyBvZiBOQUwKCSAgQWxzbyByZWNvZ25pemVzIE5BTHMgY2FycnlpbmcgVkNMIChpLmUuIHZpc2libGUgcGljdHVyZXMpLiBXZQoJICB0eXBpY2FsbHkgb25seSBjb21wdXRlIHRpbWVzdGFtcHMgZm9yIHN1Y2ggTkFMcwoKMjAwOS0wOC0xNyAxNzo1NjoyNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHBhcnNlciBpbml0ICYgZmluYWxpemUKCjIwMDktMDgtMTcgMTc6NTM6NDMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgc2xpY2UgaGVhZGVyCgoyMDA5LTA4LTE3IDE3OjUzOjExICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSQoKMjAwOS0wOC0xNyAxNzo1Mjo0NyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUk6IHBpY3R1cmUgdGltaW5nIGluZm8KCjIwMDktMDgtMTcgMTc6NTI6MTIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJOiBidWZmZXJpbmcgcGVyaW9kCgoyMDA5LTA4LTE3IDE3OjUxOjM2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFBQUwoKMjAwOS0wOC0xNyAxNzo1MToxMCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTUFMKCjIwMDktMDgtMTcgMTc6NTA6MzMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTUFM6IGRlY29kZSB2dWkgcGFyYW1zCgoyMDA5LTA4LTE3IDE3OjUwOjAyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU1BTOiBkZWNvZGUgaHJkIHBhcmFtcwoKMjAwOS0wOC0xNyAxNzo0NDozOCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IHNsaWNlIGhlYWRlciBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6NDM6NTEgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBTRUkgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjQyOjA2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgUFBTIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzozODo1OSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFNQUyBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTEgMTI6MDA6MTAgKzAyMDAgIExpbiBZYW5nIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L2JpdHMuaDoKCSogZ3N0L21wZWdwc211eC9jcmMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkgIG1wZWdwc211eDogQWRkIE1QRUcgUFMgbXV4ZXIKCjIwMDktMDgtMTMgMTY6NDU6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnOiBBZGQgUlNWRyBTVkcgZGVjb2RlciBwbHVnaW4KCSAgVGhpcyBzdXBwb3J0cwoJICAtIGRlY29kaW5nIHNpbmdsZSBTVkcgaW1hZ2VzIGFuZCBhIHN0cmVhbSBvZiBTVkcgaW1hZ2VzIHdpdGggYSBnaXZlbiBmcmFtZXJhdGUKCSAgLSBsb3NzbGVzcyBzY2FsaW5nIG9mIFNWRyBpbWFnZXMKCSAgLSBBUkdCIG91dHB1dAoKMjAwOS0wOC0zMSAwOToxMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggbGliYXNzID49IDAuOS43IGFuZCBmaXggYXNwZWN0IHJhdGlvIHNldHRpbmcKCSAgRml4ZXMgYnVnICM1NzUyNjEuCgoyMDA5LTA4LTMwIDIyOjIwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogVW5jb25kaXRpb25hbGx5IHVzZSBHTGliIDIuMTYgQVBJCgoyMDA5LTA4LTMwIDIyOjE3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5oOgoJICB4ZGdtaW1lOiBBbHdheXMgdXNlIEdMaWIgaW5zdGVhZCBvZiB4ZGdtaW1lCgkgIE5vdyB0aGF0IHdlIGRlcGVuZCBvbiBHTGliIDIuMTYgd2UgY2FuIGFzIHdlbGwgdXNlIGl0J3MKCSAgaW50ZXJuYWwgY29weSBvZiB0aGUgeGRnbWltZSBpbnN0ZWFkIG9mIG91ciBvd24uCgoyMDA5LTA4LTMwIDIyOjEzOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogVW5jb25kaXRpb25hbGx5IHVzZSBHTGliIDIuMTYgQVBJCgoyMDA5LTA4LTE5IDE3OjE4OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByc25zdHJlYW1zZWxlY3RvcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0xOSAxNzowNTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTMwIDIzOjM4OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xNC4xCgo9PT0gcmVsZWFzZSAwLjEwLjE0ID09PQoKMjAwOS0wOC0zMCAwMDoyNDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogdXBkYXRlIGNvbW1vbiB0byBhIHZlcnNpb24gdGhhdCBpbmNsdWRlcyBhIGZpeGVkIG1hbmdsZS10bXBsLnB5CgkgIFdoaWNoIGlzIG5lZWRlZCB0byBidWlsZCB0aGUgcGx1Z2luIGRvY3MgZm9yIHRoZSBmcmVpMHIgcGx1Z2luIChhbmQKCSAgd2FzIGluY2x1ZGVkIGluIHRoZSAwLjEwLjE0IHJlbGVhc2UgdGFyYmFsbCkuCgoyMDA5LTA4LTI5IDE5OjM1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNAoKMjAwOS0wOC0yOSAxOTowMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA4LTI2IDAxOjIxOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjUgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjYgMDE6MTg6MDAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0ZHJhdywgZGlyZWN0c291bmQ6IHVuaWZ5IENGTEFHUyBhbmQgZml4IGNvbmZpZ3VyZSBjaGVja3MgZm9yIERpcmVjdFgtYmFzZWQgcGx1Z2lucwoJICBPbmUgc2V0IG9mIENGTEFHUyBmb3IgYWxsIERpcmVjdFgtYmFzZWQgcGx1Z2lucy4gQ29ycmVjdCBoZWFkZXIvbGlicmFyeQoJICBjaGVja3MgZm9yIERpcmVjdFgtYmFzZWQtcGx1Z2lucy4gUmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhbmQgbGFiZWwgaW4KCSAgZGlyZWN0c291bmRzcmMuCgkgIEZpeGVzICM1OTMwNjguCgoyMDA5LTA4LTI2IDAwOjI2OjQyICswMTAwICBBcmVrIEtvcmJpayA8YXJrYWRpbmlAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IHJpZ2h0IE9GRlNFVCBhbmQgT0ZGU0VUX0VORCBvbiBoZWFkZXIgYnVmZmVycyB0byBtYWtlIG9nZ211eCBoYXBweQoJICBXaXRob3V0IHRoaXMgb2dnbXV4IHdpbGwganVzdCBrZWVwIGJ1ZmZlcmluZyBvdXRwdXQgcGFnZXMgaW4gc29tZSBjYXNlcy4KCSAgRml4ZXMgIzU5MzAyNC4KCjIwMDktMDgtMjUgMjM6NDQ6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkLCByYXdwYXJzZTogZml4IExERkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2UgbGlicwoJICBGaXhlcyAjNTkzMDYzLgoKMjAwOS0wOC0yNCAyMDowNjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy40IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI0IDE4OjE2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogdXNlIGRpZmZlcmVudCBlbGVtZW50IEdUeXBlIG5hbWUgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBwcmV2aW91cyBwbHVnaW4KCSAgVXNlIGEgZGlmZmVyZW50IEdUeXBlIG5hbWUgZm9yIHRoZSBlbGVtZW50IHRvIGF2b2lkICdjYW5ub3QgcmVnaXN0ZXIgZXhpc3RpbmcgdHlwZScKCSAgd2FybmluZ3Mgd2hlbiBydW5uaW5nICdtYWtlIGNoZWNrJyBpbiB0aGUgdW5wYWNrZWQgdGFyYmFsbCB3aXRoIHRoZSBvbGQgYW1yd2IgcGx1Z2luCgkgIGFsc28gaW5zdGFsbGVkIGFzIHN5c3RlbSBwbHVnaW4gdW5kZXIgdGhlIG9sZCBuYW1lIChpdCB1c2VkIHRvIGJlIGNhbGxlZCAnYW1yd3JiJwoJICBhbmQgbm93IGl0J3MgJ2FtcndiZW5jJykuCgoyMDA5LTA4LTI0IDE0OjM3OjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogdXNlIG9mIGRlZmF1bHQgZGVidWcgY2F0ZWdvcnkgYW5kIGJldHRlciBkc2hvdyBlcnJvcnMgcmVhZGFiaWxpdHkKCjIwMDktMDgtMjEgMDE6MTc6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIHRlc3RzOiBmaXggdGVzdC1vc3M0IHRvIHRyZWF0IGFuIGVtcHR5IGRldmljZSBuYW1lIHRoZSBzYW1lIGFzIGEgTlVMTCBuYW1lCgoyMDA5LTA4LTE4IDE1OjQ4OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogV3JpdGUgRk9VUkNDIGFzIDMyYml0CgoyMDA5LTA4LTE1IDE3OjU0OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgcmVtb3ZlIGEgYnVuY2ggb2YganVuayBmcm9tIFJFUVVJUkVNRU5UUwoKMjAwOS0wOC0xNCAyMDoyMDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4zIHByZS1yZWxlYXNlCgoyMDA5LTA4LTE0IDE0OjEwOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkaXNhYmxlIGFzcyBwbHVnaW4gZm9yIGxpYmFzcyA+PSAwLjkuNyBiZWNhdXNlIG9mIEFQSSBjaGFuZ2VzCgkgIFNlZSAjNTc1MjYxLgoKMjAwOS0wOC0xMiAxODozMzoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IERvIG5vdCBtZXNzIHVwIEdzdENvbGxlY3REYXRhIGxpc3QKCSAgYXNmbXV4IHdhcyBtZXNzaW5nIHVwIHdpdGggdGhlIEdzdENvbGxlY3REYXRhIGxpc3Qgb2YgaXRzCgkgIEdzdENvbGxlY3RQYWRzIHdoZW4gc29ydGluZyB0aGUgbGlzdCBpbnBsYWNlLiBUaGlzIHBhdGNoIG1ha2VzCgkgIGl0IGNvcHkgdGhlIGxpc3QgYmVmb3JlIHNvcnRpbmcgaXQsIGxlYXZpbmcgdGhlIEdzdENvbGxlY3RQYWRzCgkgIGxpc3QgYXMgaXMuIEZpeGVzICM1OTE2MTAKCjIwMDktMDgtMTIgMTI6MjM6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVTRSBHU1RfV1JJVEVfKl9MRSBtYWNyb3MKCjIwMDktMDgtMTIgMTI6MjE6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlZnVzZSB0byBnbyBwbGF5aW5nIGluIHBhdXNlZC1tb2RlIHdpdGhvdXQgY2xvY2sKCSAgT25seSB0cnkgdG8gdXNlIHRoZSBjbG9jayBpbiBpZiBwYXVzZWQtbW9kZSBpcyBzZXQgYW5kIHJlZnVzZSB0byBnbyBwbGF5aW5nCgkgIGluIHBhdXNlZC1tb2RlIHdpdGhvdXQgaXQuCgkgIEZpeGVzIGJ1ZyAjNTkxNTM4CgoyMDA5LTA4LTExIDE2OjQyOjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEVtcHR5IGV2ZW50IHF1ZXVlIG9uIGZpbmFsaXplCgoyMDA5LTA4LTExIDE2OjM5OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogVXNlIEdTbGljZSBmb3IgaW50ZXJuYWwgZXZlbnQgc3RydWN0dXJlcwoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTEyIDEwOjI4OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGJsYWNrbGlzdCBmb3IgZ2VuZXJpYyBzdGF0ZXMgdGVzdCwgYW5kIGRlbW90ZSB0byBHU1RfUkFOS19OT05FCgkgIFRoZXNlIGVsZW1lbnRzIGFyZSBub3QgZml0IGZvciBhdXRvcGx1Z2dpbmcsIHNvIGRlbW90aW5nIHRvIFJBTktfTk9ORS4KCSAgQWxzbyBibGFja2xpc3RpbmcgZm9yIGdlbmVyaWMgc3RhdGVzIHRlc3QsIHNpbmNlIGZpeGluZyB0aGVzZSBlbGVtZW50cwoJICB1cCB0byBkbyBzb21lIG1pbmltYWwgZXJyb3IgaGFuZGxpbmcgc2VlbXMgdG8gYmUgYSBiaXQgbW9yZSB3b3JrLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzU5MTUzOC4KCjIwMDktMDgtMTEgMTg6MDE6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMiBwcmUtcmVsZWFzZS4KCjIwMDktMDgtMTEgMTU6Mjc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTUFJTlRBSU5FUlM6CgkgIEFkZCBteXNlbGYgdG8gTUFJTlRBSU5FUlMgZmlsZSBhbmQgdXBkYXRlIFdpbSdzIGUtbWFpbC4KCjIwMDktMDgtMTEgMTQ6MTc6MzIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDktMDgtMTEgMTI6NDI6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGVlbmM6IGVycm9yIG91dCBpZiBjYXRlZ29yeSBoYXMgbm90IGJlZW4gc2V0IGFuZCBjaGVjayBmb3Igb2J2aW91c2x5IHdyb25nIHZhbHVlcwoKMjAwOS0wOC0xMSAwMjo0Njo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwbWFuYWdlci8uZ2l0aWdub3JlOgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSAgTW92ZSBydHBtYW5hZ2VyIGZyb20gLWJhZCB0byAtZ29vZC4KCjIwMDktMDgtMTEgMDk6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGFzZm11eCB1bml0IHRlc3QgYmluYXJ5CgoyMDA5LTA4LTExIDA5OjAwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGRpc2FibGUgdW5pdCB0ZXN0cyB0aGF0IGFyZSBmbGFreSBvciBkb24ndCB3b3JrIHdpdGggY29yZSBnaXQKCSAgY2FtZXJhYmluIHRlc3Qgc2VlbXMgdG8gdGltZSBvdXQgd2l0aCBjb3JlIGdpdCwgc28gZGlzYWJsaW5nIGJlY2F1c2UKCSAgY2hhbmNlcyBhcmUgdGhlIHByb2JsZW0gaXMgaW4gdGhlIHRlc3QgYW5kIHRoZSBjb3JlIGdpdCBzdHVmZiB3aWxsCgkgIGJlIHJlbGVhc2VkIGJlZm9yZSB3ZSBjYW4gZml4IHRoZSBjb2RlIGluIHRoZSB0ZXN0LgoJICBuZW9uaHR0cHNyYyB1bml0IHRlc3QgaXMgYSBiaXQgZmxha3ksIGl0IHRlbmRzIHRvIGZhaWwgdGhlIGZpcnN0CgkgIHRpbWUgd2hlbiBjYWxsZWQgKHRoZSBob3N0L3VybCBpdCBjaGVja3MgZm9yIHNlZW1zIHRvIGJlIGRvd24gYXMKCSAgd2VsbC9hbnl3YXkpLgoKMjAwOS0wOC0xMCAyMjoxNjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIFJlbW92ZSBleGVjdXRlIGZsYWdzIGZyb20gc291cmNlIGZpbGVzCgoyMDA5LTA4LTA5IDAyOjA0OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbgoJICBUbyBhdm9pZCBjb25mdXNpb24uCgoyMDA5LTA4LTEwIDE2OjM1OjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2FuIGxpc3QgbW9yZSB0aGFuIDEgZGV2aWNlCgkgIHNvbWV0aGluZyBsaWtlIHRoZSBmb2xsb3dpbmcgY29kZSBub3cgd29ya3M6CgkgIHZlY3RvcjxzdHJpbmc+IGdldFZpZGVvRGV2aWNlTmFtZXMoKQoJICB7CgkgIHZlY3RvcjxzdHJpbmc+IGxfbmFtZTsKCSAgc3RyaW5nIHByb3BlcnR5OwoJICBHc3RFbGVtZW50KiB2aWRlb2RldmljZXNyYyA9IGNyZWF0ZV9lbGVtZW50KCJkc2hvd3ZpZGVvc3JjIiwgInZpZGVvZGV2aWNlc3JjIik7CgkgIEdzdFByb3BlcnR5UHJvYmUqIHByb2JlID0gR1NUX1BST1BFUlRZX1BST0JFICh2aWRlb2RldmljZXNyYyk7CgkgIEdWYWx1ZUFycmF5KiB2YSA9IGdzdF9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzX25hbWUgKHByb2JlLCAiZGV2aWNlLW5hbWUiKTsKCSAgaWYgKHZhKQoJICB7CgkgIGZvcihzaXplX3QgaT0wOyBpIDwgdmEtPm5fdmFsdWVzOyArK2kpCgkgIHsKCSAgR1ZhbHVlKiB2ID0gZ192YWx1ZV9hcnJheV9nZXRfbnRoKHZhLCBpKTsKCSAgc3RyaW5nIG5hbWUoZ192YWx1ZV9nZXRfc3RyaW5nKHYpKTsKCSAgbF9uYW1lLnB1c2hfYmFjayhuYW1lKTsKCSAgfQoJICB9CgkgIGlmICh2aWRlb2RldmljZXNyYykKCSAgZ3N0X29iamVjdF91bnJlZihHU1RfT0JKRUNUICh2aWRlb2RldmljZXNyYykpOwoJICByZXR1cm4gbF9uYW1lOwoJICB9CgoyMDA5LTA4LTEwIDE2OjE3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGhhbmRsZXMgZGV2aWNlLW5hbWUgcHJvcGVydHkKCjIwMDktMDgtMTAgMTY6MDM6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBhZGQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gY2hlY2sgYSBtZWRpYSB0eXBlCgoyMDA5LTA4LTEwIDE0OjMyOjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9jYXBAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOC0xMCAxMzoyMTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHNwYzogZml4IHR5cG8gaW4gTWFrZWZpbGUuYW0gYW5kIGJ1aWxkIHRoZSByaWdodCBwbHVnaW4gKHNwYyBub3QgZ21lKQoKMjAwOS0wOC0xMCAxNDoyMzoxNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3d2aWRlb3NyYzogY2FuIHVzZSBvdGhlciB2aWRlbyBzaXplcyBhbmQgZnJhbWVyYXRlcyB0aGFuIHRoZSBkZWZhdWx0cwoJICBFdmVuIGlmIHRoZSBkZXZpY2UgY291bGQgY2FwdHVyZSBzZXZlcmFsIHZpZGVvIHNpemVzIGF0IHNldmVyYWwgZnJhbWVyYXRlcywKCSAgd2l0aG91dCB0aGlzIGNvbW1pdCwgaXQgd2FzIG9ubHkgcG9zc2libGUgdG8gdXNlIG9uZSB2aWRlbyBzaXplIGFuZAoJICBvbmUgZnJhbWVyYXRlOiB0aGUgZGVmYXVsdCBkaXJlY3RzaG93IHZhbHVlcy4KCjIwMDktMDgtMTAgMTE6NDA6MTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIGRpcmVjdHNvdW5kc3JjOiBhZGQgdnM4IHByb2plY3QKCjIwMDktMDgtMTAgMTE6MzY6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBMRiBhbmQgaW5kZW50CgoyMDA5LTA4LTA5IDE1OjIwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IENhY2hlIGV2ZW50cyBhbmQgc2VuZCB0aGVtIGRvd25zdHJlYW0gb25jZSBhbiBlbGVtZW50IHdhcyBzZWxlY3RlZAoKMjAwOS0wOC0wOSAxNDo1NToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBTbWFsbCBjbGVhbnVwcwoKMjAwOS0wOC0wOSAxMjoyNTowMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogRml4IGNyYXNoIHdoZW4gZXhwb3NpbmcgaW4gR1NUX1NUQVRFX1JFQURZCgkgIEZpeGVzIGJ1ZyAjNTQxOTYyLgoKMjAwOS0wOC0wOCAyMjoxNDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCBhbnN3ZXIgdGhlIFNFRUtJTkcgcXVlcnkgaWYgd2UgZG9uJ3Qga25vdyB0aGUgYW5zd2VyIHlldAoJICBBIGJpdHJhdGUhPS0xIGlzIHJlcXVpcmVkIGZvciBzZWVraW5nIGJ1dCB0aGUgYml0cmF0ZSBpcyBvbmx5IGNhbGN1bGF0ZWQKCSAgYWZ0ZXIgdGhlIHNlY29uZCBQQ1Igd2FzIHJlYWQuCgkgIEZpeGVzIGJ1ZyAjNTkwNDQ2LgoKMjAwOS0wOC0wOCAyMToyMDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IExvd2VyIHJhbmsgdG8gU0VDT05EQVJZIHRvIG1ha2UgdGhlIGdtZSBwbHVnaW4gdGhlIGRlZmF1bHQKCjIwMDktMDgtMDggMjE6MTc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogQWRkIHRoZSBPcGVuU1BDIHNwYyBwbHVnaW4gYWdhaW4KCSAgVGhlIGdtZSBwbHVnaW4gb2Jzb2xldGVzIGl0IGJ1dCBpdCBtaWdodCBzdGlsbCBiZSB1c2VmdWwKCSAgZm9yIHVzZXJzIHRoYXQgZG9uJ3QgaGF2ZSBnbWUgeWV0IG9yIHByZWZlciBvcGVuc3BjIGZvciBzb21lIHJlYXNvbi4KCjIwMDktMDgtMDggMTI6MjA6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSAga2F0ZTogc29tZSBtaW5vciBjbGVhbi11cHMKCSAgUHJpbnQgZmxvdyByZXR1cm4gYXMgc3RyaW5nIGluIGxvZyBtZXNzYWdlOyBpZiB3ZSBjaGVjayB0aGUgcmV0dXJuCgkgIHZhbHVlIG9mIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYygpIHdlIHNob3VsZCB1c2UgdGhlIF90cnkoKSBmdW5jdGlvbgoJICB0aGF0IG1pZ2h0IGFjdHVhbGx5IHJldHVybiBOVUxMLiBQb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcKCSAgR1NUX0ZMT1dfRVJST1IuIFVzZSBwb3J0YWJsZSBHTGliIG1hY3JvcyB0byBwcmludCA2NC1iaXQgaW50ZWdlcnMuCgkgIERvbid0IHVzZSAwTEwsIHRoYXQncyBhbHNvIG5vdCBwb3J0YWJsZSAoYW5kIHVubmVlZGVkIGhlcmUpLgoKMjAwOS0wOC0wOCAxMDozMDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlOiBPbmx5IHByb3ZpZGUgdmVyeSBmdW5kYW1lbnRhbCBjYXBzIGluIHRoZSBwYWQgdGVtcGxhdGUKCSAgV2UgY2FuJ3QgZWFzaWx5IGtub3cgd2hpY2ggY2FwcyB3aWxsIGNhbiBiZSB1c2VkIGJlY2F1c2Ugd2UgcmVseSBvbgoJICBsaWJnc3R2aWRlbydzIHN1cHBvcnQgZm9yIHZpZGVvIGZvcm1hdHMuCgoyMDA5LTA4LTA4IDEwOjI3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IFNtYWxsIGNsZWFudXBzIGFuZCBpbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wOC0wOCAwODoyNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBTbWFsbCBjbGVhbnVwcwoKMjAwOS0wOC0wOCAwNzo1OToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICB2aWRlb3BhcnNlOiBVc2UgbGliZ3N0dmlkZW8gZm9yIGV2ZXJ5dGhpbmcgaW5zdGVhZCBvZiBvdXIgb3duIGNhbGN1bGF0aW9ucwoJICBBbHNvIG1ha2UgUkdCIHVzYWdlIGVhc2llciBieSBwcm92aWRpbmcgeFJHQiwgUkdCeCwgZXRjLiBmb3JtYXRzCgkgIGluc3RlYWQgb2YgcmVxdWlyaW5nIHRvIHNldCByZWRfbWFzayBhbmQgZnJpZW5kcy4KCjIwMDktMDgtMDcgMTk6MTI6MjYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBhIG1lbW9yeSBsZWFrCgoyMDA5LTA4LTA3IDE5OjAwOjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZGVkIFZDMSwgRUFDMyBhbmQgTFBDTSByZWxhdGVkIHRvIGJsdWVyYXkvaGRtdgoKMjAwOS0wOC0wNyAxODozNTo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGFkZGVkIGNhcHMgZm9yIEFBQyBhbmQgZml4ZWQgcGxheWJhY2sgb2YgYSBjbGlwIHdpdGggTFBDTQoKMjAwOS0wOC0wNyAxODoxNzoyOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ3BzZGVtdXg6IGltcHJvdmVkIGRlbXV4ZXIgcGVyZm9ybWFuY2UKCSAgSW5jcmVhc2VkIHBlcmZvcm1hbmNlIGRvaW5nIHB1bGxfcmFuZ2UgaW4gYmxvY2tzIG9mIDMyS2IgaW5zdGVhZCBvZiA0S2IuCgkgIENhY2hpbmcgdGhlIHZhbHVlIG9mIGdzdF9hZGFwdGVyX2F2YWlsYWJsZSBpbnN0ZWFkIG9mIGNhbGxpbmcgaXQgMyB0aW1lcy4KCSAgQWRkZWQgc29tZSBjb21tZW50cyB3aXRoIHRoZSBoZWFkZXIgZGVzY3JpcHRpb25zLgoJICBQZWVrIGVub3VnaCBkYXRhIHRvIGF2b2lkIGEgY29ybmVyIGNhc2Ugd2hlcmUgY291bGQgYmUgcmVhZGVkIGRhdGEgb3V0c2lkZQoJICB0aGUgYnVmZmVyLgoJICBTcGVlZCB1cCBzb21lIG1vcmUgaW5saW5pbmcgc29tZSBmdW5jdGlvbnMgYW5kIGtlZXBpbmcgYW5vdGhlciBzdHJlYW0gcG9pbnRlcgoJICBsaXN0IHRvIGJlIHVzZWQgYXMgaXRlcmF0b3IuCgkgIFNwcmlua2xlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcyBhY2Nyb3NzIHRoZSBjb2RlLgoJICBIYW5kbGluZyB0aGUgc2Vla2luZyB3aXRoIGZsdXNoIGluIHB1bGwgbW9kZSBpbiB0aGUgcHJvcGVyIHdheS4KCjIwMDktMDgtMDcgMTQ6NDE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lZGVjOiBVc2UgR3N0QWRhcHRlciBpbnN0ZWFkIG9mIG1hbnkgYnVmZmVyIGpvaW5zCgkgIFRoaXMgcmVkdWNlcyB0aGUgbnVtYmVyIG9mIHJlYWxsb2NhdGlvbnMgYW5kIG1lbWNweXMgZHJhc3RpY2FsbHkuCgkgIEFsc28gZnJlZSB0aGUgaW5wdXQgZGF0YSBhcyBzb29uIGFzIGl0J3MgY29tcGxldGUgYW5kIHBhc3NlZCB0byBHTUUKCSAgYXMgaXQncyBub3QgbmVlZGVkIGFueW1vcmUuCgoyMDA5LTA4LTA3IDEzOjA3OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGRyYWluaW5nCgoyMDA5LTA4LTA3IDEzOjA2OjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoKMjAwOS0wOC0wNyAxMzowNDoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHN5bmMgYmFzZXBhcnNlIChzb21lIG1vcmUpCgoyMDA5LTA4LTA3IDA5OjIxOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZWRlYzogQWRkIGNhcHMgZm9yIGFsbCBzdXBwb3J0ZWQgZmlsZSBmb3JtYXRzIHRvIHRoZSBzcmNwYWQgdGVtcGxhdGUKCjIwMDktMDgtMDcgMDc6MjM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBEb24ndCBhZGQgZW1wdHkgc3RyaW5nIHRhZ3MKCjIwMDktMDgtMDcgMDc6MDE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBGaXggY2FwcyBuYW1lIGFnYWluCgoyMDA5LTA4LTA3IDA2OjU5OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZTogUmVuYW1lIGV2ZXJ5dGhpbmcgZnJvbSBTUEMgdG8gR01FCgoyMDA5LTA4LTA3IDA2OjU5OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogUmVhbGx5IHJlbW92ZSBvbGQgU1BDIGNvZGUKCjIwMDktMDgtMDcgMDY6NTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dtZS90YWcuYzoKCSogZXh0L2dtZS90YWcuaDoKCSAgZ21lOiBVc2UgZ21lIGZvciB0YWdzIGFuZCBkdXJhdGlvbiBwYXJzaW5nCgoyMDA5LTA4LTA3IDA2OjQxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ21lL3RhZy5jOgoJKiBleHQvZ21lL3RhZy5oOgoJICBzcGM6IFJlbmFtZSBTUEMgcGx1Z2luIHRvIEdNRQoJICBhcyBwcmVwYXJhdGlvbiBmb3IgZW5hYmxpbmcgc3VwcG9ydCBmb3Igbm9uLVNQQyBnYW1pbmcgY29uc29sZSBzb3VuZCBmaWxlcy4KCjIwMDktMDgtMDYgMjE6NDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjZGVjOiBGb3J3YXJkIGFsbCB1bmtub3duIHNyYyBldmVudHMgdXBzdHJlYW0gYW5kIGRvbid0IHJlc3RyaWN0IHRvIFNQQwoKMjAwOS0wOC0wNiAxOToyNjoyMSArMDIwMCAgcmljIDxjc3huanUgYXQgc29nb3UuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYXZvaWQgYnVmZmVyIGxlYWsgb24gYmFkIHNlcW51bQoJICBGaXhlcyAjNTkwNzk3CgoyMDA5LTA4LTA1IDA5OjM2OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ1twdF1zZGVtdXg6IEZpeCBTRUVLSU5HIHF1ZXJ5CgkgIFNlbmQgdGhlIEJZVEVTIGJhc2VkIHF1ZXJ5IGRvd25zdHJlYW0sIG5vdCB0aGUgb3JpZ25hbCBvbmUuCgoyMDA5LTA4LTA0IDEyOjU4OjM1ICswMjAwICBKYW4gVXJiYW5za2kgPHd1bGN6ZXJAd3VsY3plci5vcmc+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHJlcXVpcmUgZW5kaWFubmVzcyBmaWVsZCBmb3IgOCBiaXQgcmF3IGF1ZGlvCgkgIEZpeGVzIGJ1ZyAjNTkwMzYwLgoKMjAwOS0wOC0wNCAxMDoxODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTWFrZSB0aGUgU1BDIHBsdWdpbiB3b3JrIHdpdGggdGhlIGxhdGVzdCBsaWJnbWUgcmVsZWFzZQoJICBnbWVfZW5hYmxlX2FjY3VyYWN5KCkgd2FzIGFkZGVkIGluIFNWTiB0cnVuayBhbmQgaXMgbm90IHlldAoJICBpbiBhbnkgcmVsZWFzZS4KCjIwMDktMDgtMDQgMTA6MDY6NTQgKzAyMDAgIE1pY2hhZWwgUHluZSA8bXB5bmVAa2RlLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSAgc3BjOiBVc2UgdGhlIHBvcnRhYmxlIGxpYmdtZSBpbnN0ZWFkIG9mIHg4Ni1vbmx5IE9wZW5TUEMgbGlicmFyeQoJICBUaGlzIHdpbGwgbGF0ZXIgYWxsb3cgdXMgdG8gcGxheSBvdGhlciBnYW1pbmcgY29uc29sZSBmaWxlcwoJICB0aGF0IGFyZSBzdXBwb3J0ZWQgYnkgbGliZ21lLgoJICBGaXhlcyBidWcgIzU3NjgwMC4KCjIwMDktMDYtMTIgMTc6MjI6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHJlbW92ZSBpbnRlcm5hbCBiaXRyZWFkZXIgYW5kIGJ5dGVyZWFkZXIgbm93IHRoYXQgdGhlc2UgYXJlIGluIGxpYmdzdGJhc2UKCjIwMDktMDctMzEgMTE6Mjc6MDMgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogY2hlY2sgZm9yIHBlbmRpbmcgc3JjcGFkIGluIF9nZXRfcHJvcGVydHkoKQoJICBJZiB0aGVyZSBpcyBhIHBlbmRpbmcgc3JjcGFkLCByZXR1cm4gaXQgaW5zdGVhZCBvZiBhY3RpdmUgc3JjcGFkCgkgIGluIGdzdF9vdXRwdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KCkgZnVuY3Rpb24uCgoyMDA5LTA3LTMwIDE0OjE3OjU5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCBjYW1lcmFzcmMgdG8gUkVBRFkgc3RhdGUgaW5zdGVhZCBvZiBQQVVTRUQgd2hlbiBhY3F1aXJpbmcgYWxsb3dlZCBjYXBzCgoyMDA5LTA3LTMxIDA3OjE2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCBpbmRlbnRpb24KCjIwMDktMDctMzEgMDI6MDU6NDEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgZGlyZWN0ZHJhdzogSW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgIEZpeGVzIGJ1ZyAjNTkwMjA4LgoKMjAwOS0wNy0zMSAwMDoxOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogc2V0IHBhZGRpbmcgZmllbGQgdG8gMCBvbiBydHAgYXNmIHBhY2tldHMKCSAgVGhlIEFTRiBSVFAgc3BlYyBkZW1hbmRzIHRoYXQgcGFja2V0cyBoYXZlIHRoZWlyIHBhZGRpbmcgcmVtb3ZlZAoJICBhbmQgdGhlIHBhZGRpbmcgc2l6ZSBmaWVsZCBzZXQgdG8gMCBmb3IgcGFja2V0cyB3aGVuIHB1dGluZyB0aGVtCgkgIGluc2lkZSB0aGUgUlRQIHBhY2tldHMKCjIwMDktMDctMzAgMDA6MTk6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBTZXQgdmlkZW8gc3RyZWFtIHNlZWthYmxlIHByb3BlcnR5IHRvIHRydWUKCSAgVmlkZW8gc3RyZWFtIGFsd2F5cyBoYXZlIGluZGV4ZXMsIHNvIHRoZXkgYXJlIGFsbCBzZWVrYWJsZQoKMjAwOS0wNy0zMCAwMDoxMjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFJlbW92aW5nIHVzZWxlc3MgVE9ET3MKCSAgQWZ0ZXIgdGVzdGluZyBpbiB3aW5kb3dzIGFuZCBsaW51eCwgdGhpcyBhdWRpbyBjb3JyZWN0aW9uIGZpZWxkCgkgIG1hZGUgbm8gZGlmZmVyZW5jZSBzbyBmYXIuIEFsbCBleGFtcGxlIGZpbGVzIEkgZ290IG9ubHkgaGFkCgkgIHplcm9lcyBpbiB0aGlzIGZpZWxkCgoyMDA5LTA3LTMwIDAwOjA0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogRml4ZXMgdmlkZW8gc3RyZWFtIHByb3BlcnRpZXMgb2JqZWN0CgkgIEZpeGVzIHN0cmVhbSBwcm9wZXJ0aWVzIG9iamVjdCBjcmVhdGlvbiBmb3IgdmlkZW8gY29udGVudAoKMjAwOS0wNy0yOSAxOTowNzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJICBhc2ZtdXg6IGFjY2VwdCBwYWQgcmVxdWVzdHMgYSBsaXR0bGUgbG9uZ2VyCgkgIGFzZm11eCBub3cgc3RhcnQgcmVqZWN0aW5nIHBhZCByZXF1ZXN0cyBhZnRlciBpdCBwdXNoZXMgdGhlIGZpcnN0CgkgIGJ1ZmZlciwgYmVmb3JlIHRoaXMsIGl0IHdhcyByZWplY3RpbmcgYWZ0ZXIgZ29pbmcgdG8gcGF1c2VkCgoyMDA5LTA3LTI5IDE4OjQ0OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogYWRkcyBzdXBwb3J0IHRvIHZjLTEgc3RyZWFtcwoKMjAwOS0wNy0yOSAxNzoyMzozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgZW1wdHkgZmluYWxpemUKCjIwMDktMDctMjkgMTY6MDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCBtYWNybyBuYW1lCgoyMDA5LTA3LTI5IDE1OjM1OjAzICswMjAwICBKb25pIFZhbHRhbmVuIDxqb25pLnZhbHRhbmVuQG1vdmlhbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQWRkIERpcmVjdFNvdW5kIHNvdXJjZSBwbHVnaW4KCSAgRml4ZXMgYnVnICMzNDQxMjkuCgoyMDA5LTA3LTI4IDIyOjUxOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXJzdCBiYXNpYyBjaGVjayB1bml0IHRlc3RzCgkgIEFkZHMgc2ltcGxlIGFzZm11eCB1bml0IHRlc3RzLCB0aGF0IHRlc3QgcGFkIGNyZWF0aW9uIGFuZCBwdXNoaW5nIGEKCSAgc2luZ2xlIGJ1ZmZlciB0aHJvdWdoIHRoZW0KCjIwMDktMDctMjggMjE6Mzc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBGb3JjaW5nIHBhZCBuYW1lcyB0byBiZSB2aWRlb18lMDJkIGFuZCBhdWRpb18lMDJkIGxpa2UKCjIwMDktMDctMjggMTg6MTg6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhbGxvdyBmb3IgTlVMTCBjYXBzIG9uIGJ1ZmZlcnMKCSAgQWRkIHRoZSBOVUxMIGNhcHMgY2hlY2sgd2hlcmUgaXQgbWF0dGVycyBhbmQgYWxzbyBjb3ZlciBhbm90aGVyIGNhc2Ugb2YKCSAgcG90ZW50aWFsIE5VTEwgY2Fwcy4KCSAgRml4ZXMgIzU5MDAzMAoKMjAwOS0wNy0yOCAxMTo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogSW5jb21pbmcgYnVmZmVycyBkbyBub3QgYWx3YXlzIGhhdmUgY2FwcwoKMjAwOS0wNy0yNyAxNDowMzo1OSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IHBob3RvIGlmYWNlIHNldHRlciBmdW5jdGlvbnMgcmV0dXJuIFRSVUUgd2hlbiB1c2VkIGluIE5VTEwgc3RhdGUKCSAgV2UgY2FjaGUgdGhlIHZhbHVlcyBhbmQgYXBwbHkgdGhlbiB3aGVuIHBvc3NpYmxlLgoKMjAwOS0wNy0yNyAwODoyNTozNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG8gbm90IHB1dCB2aWRlbyBwaXBlbGluZSBpbnRvIFJFQURZIHdoZW4gc3RhcnQgcmVjb3JkaW5nIGNhbWVyYWJpbjogcmVtZW1iZXIgcHJvYmUgSURzIGFuZCBkaXNjb25uZWN0IHRoZW0gd2hlbiBkZXN0cm95aW5nIHBpcGVsaW5lcwoKMjAwOS0wNy0yNyAxOTo1OTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IEZpeCBjb21waWxhdGlvbgoKMjAwOS0wNy0yNyAxOTo1NToyNyArMDIwMCAgSWFnbyBUb3JhbCA8aXRvcmFsQGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSogZXh0L2FtcndiZW5jL0dzdEFtcndiRW5jLnByczoKCSogZXh0L2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvUkVBRE1FOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5oOgoJICBhbXJ3YjogUmVtb3ZlIEFNUi1XQiBwYXJzZXIgYW5kIGRlY29kZXIgYW5kIHJlbmFtZSBlbmNvZGVyIHBsdWdpbiBmcm9tIGFtcndiIHRvIGFtcndiZW5jCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4NDg5MC4KCjIwMDktMDctMjcgMTU6NDY6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGF2b2lkIGRvaW5nIGxpcC1zeW5jIGluIEJZRQoJICBXaGVuIHdlIGdldCBhIEJZRSBwYWNrZXQsIGRvbid0IGRvIGxpcC1zeW5jIHdpdGggdGhlIFNSIGluc2lkZSBiZWNhdXNlIHNvbWUKCSAgc2VuZGVycyBoYXZlIHRyb3VibGUgY29uc3RydWN0aW5nIHZhbGlkIFNSIHBhY2tldHMgYWZ0ZXIgQllFLgoKMjAwOS0wNy0yNyAxNTozMzowNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNy9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgZGlyZWN0ZHJhd3Npbms6IHVwZGF0ZSB2czggYnVpbGQKCSAgYWxzbyByZW1vdmUgZGlyZWN0ZHJhd3NpbmsgZnJvbSB2czYgYW5kIHZzNyBidWlsZAoKMjAwOS0wNy0yNyAxNDo1Mjo1NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1c2Ugb2YgSUdzdERzaG93SW50ZXJmYWNlCgoyMDA5LTA3LTI3IDEzOjE3OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGRvbid0IGRvIGxpcC1zeW5jIGFmdGVyIGEgQllFCgkgIEFmdGVyIGEgQllFIHBhY2tldCBmcm9tIGEgc291cmNlLCBzdG9wIGZvcndhcmRpbmcgdGhlIFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jCgkgIHRvIHJ0cGJpbi4gU29tZSBzZW5kZXJzIGRvbid0IHVwZGF0ZSB0aGVpciBTUiBwYWNrZXRzIGNvcnJlY3RseSBhZnRlciBzZW5kaW5nIGEKCSAgQllFIGFuZCB0aGVuIHdlIGJyZWFrIGxpcC1zeW5jLiBXZSBwcmVmZXIgdG8gbGV0IHRoZSBqaXR0ZXJidWZmZXJzIGRyYWluIHdpdGgKCSAgdGhlIGN1cnJlbnQgbGlwLXN5bmMgaW5zdGVhZC4KCjIwMDktMDctMjcgMTI6NDM6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogb25seSByZWNvbnNpZGVyIG9uY2UgZm9yIEJZRQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgc291cmNlcyBvZiBhIEJZRSBwYWNrZXQsIGRvbid0IHNpZ25hbCBhIHJlY29uc2lkZXJhdGlvbiBmb3IKCSAgZWFjaCBvZiB0aGVtIGJ1dCBzaWduYWwgYWZ0ZXIgd2UgaGFuZGxlZCBhbGwgc291cmNlcy4KCjIwMDktMDctMjUgMTI6MTk6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBicmVhayB1cCBtYWNyb3MgaW50byBtdWx0aXBsZSBsaW5lcwoKMjAwOS0wNy0yNCAyMTo1NDo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1c2UgR1NUX0VMRU1FTlRfRVJST1IgZm9yIGVycm9yIHJlcG9ydGluZwoJICBTZWUgIzUyNTc0My4KCjIwMDktMDctMjQgMTQ6NTI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5oOgoJICBhc2ZtdXg6IEFkZHMgbmV3IHBsdWdpbiBhc2ZtdXgKCSAgQWRkcyB0aGUgYnJhbmQgbmV3IGFzZm11eCBwbHVnaW4sIGNvbnRhaW5pbmcgMyBlbGVtZW50czoKCSAgYXNmbXV4LCBydHBhc2ZwYXkgYW5kIGFzZnBhcnNlLiBUaGlzIHBsdWdpbiB3YXMgZGV2ZWxvcGVkCgkgIGFzIGEgR1NvQyAyMDA5IHByb2plY3QsIHdpdGggRGF2aWQgU2NobGVlZiBhcyB0aGUgbWVudG9yIGFuZAoJICBUaGlhZ28gU2FudG9zIGFzIHRoZSBzdHVkZW50LgoKMjAwOS0wNy0yNCAwODoyNTowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBGaXggdGhlIGRpc3RjaGVjayBhZnRlciBkc2hvd3NyY3dyYXBwZXIgcmVhcnJhbmdlbWVudHMKCSAgUmVtb3ZlIG9sZCBmaWxlcyBmcm9tIHRoZSB3aW4zMiBtYW5pZmVzdCwgYW5kIGFkZCB0aGUgbmV3IG9uZS4KCjIwMDktMDctMjQgMDc6NDA6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkgIG11c2VwYWNrZGVjOiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yNCAwMTowMDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBSZXZlcnQgImRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFnYWluIgoJICBJdCdzIG5vdCBuZWVkZWQgYW55IGxvbmdlciBhZnRlciBTdGVmYW4ncyB1cGRhdGVzIGluIHRoZSBjb21tb24gbW9kdWxlLgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA5YzU1MGExNzJhMmM4YTc2ZjBiNDhmMmY4Y2UxMTA3MDU5OGY2NmMuCgoyMDA5LTA3LTI0IDAwOjQyOjUzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZlZGFhZWUgdG8gOTRmOTVlMwoKMjAwOS0wNy0yMyAxNzo1NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggZG9jcyBidWlsZCBhZ2FpbgoJICBUaGVyZSBpcyBubyBlbGVtZW50IGNhbGxlZCAnbGFkc3BhJywgc28gdGhlcmUgd29uJ3QgYmUgYSAtZGV0YWlscwoJICBmaWxlIGZvciBpdC4KCjIwMDktMDctMjMgMDk6NTg6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IFJlbW92ZSBzb21lIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgY29kZQoJICBBbHNvIHdlIGFsd2F5cyByZXF1aXJlIGxpYm9pbCBzbyB1c2UgaXQgdW5jb25kaXRpb25hbGx5LgoKMjAwOS0wNy0yMyAwOTo1MjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSW1wbGVtZW50IHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkcwoKMjAwOS0wNy0yMCAyMjoxMzoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IExvY2sgZWxlbWVudCBiZWZvcmUgdW5sb2NraW5nCgoyMDA5LTA3LTIwIDIyOjA4OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRml4IGxlYWtzCgkgIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpIHRvIG5vdCBsZWFrIHRoZSBwYWQgdGVtcGxhdGUKCSAgQWxzbyBwcm9wZXJseSBjaGFpbiB1cCB0aGUgZmluYWxpemUgdG8gdGhlIHBhcmVudAoKMjAwOS0wNy0yMCAyMjowODoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZQoJICBQcmV2ZW50cyBsZWFrIGZvdW5kIGJ5IHZhbGdyaW5kCgoyMDA5LTA3LTIwIDIxOjUyOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVW5yZWYgY2xvY2tpZAoKMjAwOS0wNy0yMCAxNDowMDoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IG92ZXJ3cml0ZSB2YWxpZCB0aW1lc3RhbXBzCgoyMDA5LTA3LTIwIDEzOjQ1OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgUmV2ZXJ0ICJtaW1kZWM6IElnbm9yZSB0aGUgdGltZXN0YW1wcyBpbnNpZGUgdGhlIGJ1ZmZlcnMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWUwNTFmYTk4YWVlYmRjZTJlY2E2YjMyMWVjMTkyOWU2ZjhmZGY2MS4KCjIwMDktMDctMjEgMTU6MzM6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogRnJlZSBjb25mbGljdGluZyBhZGRyZXNzZXMgb24gZmluYWxpemUKCjIwMDktMDctMjEgMTU6MzE6MzMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZQoJICBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlIGluc3RlYWQgb2YgdXNpbmcgYSB3ZWFrIHJlZiwKCSAgd2hpY2ggaXMgbm90IHRocmVhZCBzYWZlLiBBbHNvLCBsb2NrIHRoZSBjb250ZW50IG9mIHRoZSBwYWQgcHJpdmF0ZSB1c2luZyB0aGUgZWxlbWVudCdzCgkgIG9iamVjdCBsb2NrLgoKMjAwOS0wNy0yMiAxNDoxOToxOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IElnbm9yZSBlcnJvcnMgcHVzaGluZyBvdXQgbmV3IHNlZ21lbnRzCgkgIFRoZSBmb2xsb3dpbmcgYnVmZmVyIHB1c2ggd2lsbCByZXR1cm4gbW9yZSB2YWx1YWJsZSBpbmZvcm1hdGlvbi4KCjIwMDktMDctMjIgMTg6MDE6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBkb2NzOiBhZGQgZG9jcyBmb3IgbGFkc3BhIGFuZCB1cGRhdGUgcGx1Z2luIGRvY3MKCSAgQWRkIGFsc28gaW5zcGVjdCBmaWxlcyBmb3IgbHYyIGFuZCBmcmVpMHIgKG5vIGRvY3MgeWV0KS4KCjIwMDktMDctMjIgMTc6MDU6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBtb3JlIHBlcmYtdGVzdCBjbGVhbnVwcwoJICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBleG1hcGxlcy4gQWRkIHZpZGVvLXdpZHRoL2hlaWdodC4gVXNlIHByb3BlciBhcGkgZm9yCgkgIHNldHRpbmcgc3RpbGwgaW1hZ2UgcmVzb2x1dGlvbi4gRml4IHN0b3BwaW5nIHJhbmRvbSB0ZXN0cyBvbiBiaW4tc3RhdGUtY2hhbmdlcy4KCSAgUmVtb3ZlIHRoZSBtZW1kdXAgaW4gc25hcHNob3QgYWdhaW4sIGFzIGl0cyBub3QgbmVlZGVkIChwaXhidWYgZ29lcyBvdXQgb2YKCSAgc2NvcGUgd2l0aCB0aGUgYnVmZmVyKS4KCjIwMDktMDctMjIgMTE6NDU6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgZHNob3dzcmN3cmFwcGVyOiB1cGRhdGUgTWFrZWZpbGUuYW0gZm9yIHNvdXJjZSBmaWxlIHJlbmFtZXMgYXMgd2VsbAoKMjAwOS0wNy0yMSAxMzozNzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIGRvY3M6IGFkZCBwY2FwcGFyc2UgdG8gZG9jcwoKMjAwOS0wNy0yMiAxMjozNDozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBkbyBub3QgcmVtb3ZlIGEgcmFuZ2Ugb2YgbGVuZ3RoIDAKCjIwMDktMDctMjIgMTI6MjQ6NDYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93YXVkaW9zcmM6IGNvbnZlcnRzIGNvZGUgdG8gQysrCgoyMDA5LTA3LTIyIDExOjAxOjQ5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3ZpZGVvc3JjOiBjb252ZXJ0cyBjb2RlIHRvIEMrKwoKMjAwOS0wNy0yMiAwMDozMzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBhZGQgYSBiYXNlX3RpbWU9PS0xIHRvIHNlZ21lbnQgcG9zaXRpb25zCgkgIEZpeGVzIGFzc2VydGlvbiBhYm91dCBuZXdzZWdtZW50IHdpdGggc3RhcnQ9LTEuCgoyMDA5LTA3LTIxIDE3OjQ4OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNtYWxsIHNwZWVkdXAgaW4gc29mdHdhcmUgem9vbQoJICBGb3JjZSBjcm9wIG9uIGV2ZW4gcGl4ZWwgcG9zaXRpb24gdG8gYXZvaWQgc2xvd3BhdGggaW4gY3JvcCAmIHNjYWxlLgoKMjAwOS0wNy0yMSAxNjo0ODoyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHdlIG5lZWQgdG8gY29weSB0aGUgZGF0YSBpbiB0aGUgZXhhbXBsZQoJICBnZGtfcGl4YnVmX25ld19mcm9tX2RhdGEgZG9lcyBub3QgY29weSB0aGUgZGF0YS4KCjIwMDktMDctMjEgMTE6Mjg6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkgIG1ha2U6IHJlbW92ZSB3aGl0ZXNwYWNlIGFmdGVyIHRyYWlsaW5nIGJhY2tzbGFzaAoKMjAwOS0wNy0yMSAxMjo0MjozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSAga2F0ZTogZml4IHRpbWUgY29udmVyc2lvbiBmcm9tIERWRCBzdHlsZSB0aW1lc3RhbXBzLgoKMjAwOS0wNy0yMSAxMzo1MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yMSAxMzozOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgRml4ZXMgYnVnICM1ODg5NDQuCgoyMDA5LTA3LTIxIDEzOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4ODk0NC4KCjIwMDktMDctMjEgMTM6MTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRnJlZSB0aGUgUE1UIGJlZm9yZSBzZXR0aW5nIGEgbmV3IG9uZQoKMjAwOS0wNy0yMSAxMzoxNDowMCArMDIwMCAgTWlrYWVsIE1hZ251c3NvbiA8bWlrbWFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogUmVtb3ZlIG9sZCBQRVMgUElEcyB3aGVuIHJlY2VpdmluZyBQQVQgdGFibGVzCgkgIEZpeGVzIGJ1ZyAjNTgzNDcwLgoKMjAwOS0wNy0yMSAxMToxMDo0OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiBmaXggcmVsYXRpdmUgcGF0aAoKMjAwOS0wNy0yMSAxMDo0OTozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIHN0YXJ0IHJlZmFjdG9yaW5nIG9mIGRzaG93c3Jjd3JhcHBlcgoJICAtcmVtb3ZlIGdzdC1saWJzL2dzdC9kc2hvdwoJICAtZmFrZXNvdXJjZSBpcyBtb3ZlZCBmcm9tIGdzdC1saWJzL2dzdC9kc2hvdyB0byBzeXMvZHNob3dzcmN3cmFwcGVyCgkgIC1zb21lIG1pbm9yIGNoYW5nZXMgKEMvQysrIGNoZWNrIGFuZCBpbmNsdWRlcykgdG8gbWFrZSB0aGUgcGx1Z2luCgkgIGNvbXBpbGUgYWdhaW4uCgoyMDA5LTA3LTIxIDAxOjA2OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVzZSBuZXcgR1NUX1RBR19TVUJJVExFX0NPREVDIHRhZyBpbnN0ZWFkIG9mIEdTVF9UQUdfQ09ERUMKCjIwMDktMDctMjEgMDA6NTQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGVkZWM6IG9ubHkgcHV0IHByaW1hcnkgbGFuZ3VhZ2UgdGFnIGluIEdTVF9UQUdfTEFOR1VBR0UKCSAgT25seSBwdXQgcHJpbWFyeSBsYW5ndWFnZSBpbnRvIEdTVF9UQUdfTEFOR1VBR0UsIGFuZCBjb252ZXJ0IHRvIGxvd2VyIGNhc2UsCgkgIGllLiBvbmx5IHVzZSAiZW4iIG9mICJlbl9HQiIuIFRoaXMgaXMgcGVyIG91ciB0YWcgZG9jdW1lbnRhdGlvbiBhbmQgaGVuY2UKCSAgd2hhdCBhcHBzIGV4cGVjdC4gQWxzbyBhZGQgZXhhbXBsZSB0byBrYXRlZW5jIHByb3BlcnR5IGRlc2NyaXB0aW9uIHNvIHBlb3BsZQoJICBrbm93IGEgbGFuZ3VhZ2UgY29kZSBpcyB3YW50ZWQgaGVyZS4KCjIwMDktMDctMjEgMDA6MDQ6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBhZGQgY29tbWVudCB3aHkgd2UgZG9udCcgc3VwcG9ydCBhcHBsaWNhdGlvbi94LWthdGUgaGVyZSBmb3Igbm93CgoyMDA5LTA3LTIwIDEzOjU0OjQ5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL1JFQURNRToKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJICBrYXRlZGVjOiBjcmVhdGUgU1BVIGZvcm1hdCBpbWFnZXMgZnJvbSBzdWl0YWJsZSBiYWNrZ3JvdW5kIGltYWdlcwoJICBNYWtlIGthdGVkZWMgZmFicmljYXRlIGR2ZC1zdHlsZSBzdWJwaWN0dXJlcyBmb3Igc3VidGl0bGUgb3ZlcmxheQoJICBiaXRtYXBzLCBmb3IgZWFzaWVyIHBsYXliaW4yIGludGVncmF0aW9uICgjNTg4NjM4KS4KCjIwMDktMDctMjAgMTY6MjQ6MjMgKzAxMDAgIG9nZy5rLm9nZy5rIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzCgkgIE1ha2VzICdtYWtlIGNoZWNrLXZhbGdyaW5kJyB3b3JrIGZvciB0aGUga2F0ZSB1bml0IHRlc3QgKCM1MjU3NDMpCgoyMDA5LTA3LTIwIDE2OjM5OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogYWRkIGNvZGUgaW4gdGVzdCB0byBzdG9yZSBzbmFwc2hvdHMgZm9yIG1hbnVhbCB2ZXJpZmljYXRpb24KCSAgVXNlIGdka19waXhidWYgdG8gc2F2ZSB0aGUgaW1hZ2UgaW4gcGVyZi10ZXN0LiBBbHNvIHJlbW92ZSBzb21lIG9ic29sdXRlCgkgIGNvbW1lbnRlZCBvdXQgY29kZS4KCjIwMDktMDctMjAgMTY6MjQ6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGxvZyBmb3JtYXRzIGluIHByZXZpZXcgaW1hZ2UgY29udmVyc2lvbgoKMjAwOS0wNy0yMCAxNjoyMTowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYXNzaWdubWVudAoJICBSZXN1bHQgaXMgbm90IG5lZWRlZCBoZXJlLCBidXQgdmFyaWFibGUgaXMgdXNlZCBsYXRlciBvbi4gQWxzbyByZW1vdmUgZG91YmxlIG5ldwoJICBsaW5lcyBpbiBmdW5jdGlvbi4KCjIwMDktMDctMjAgMTY6MjA6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBjaGVjayBxdWVyeSByZXR1cm4gcmVzdWx0IGJlZm9yZSB1c2luZyBpdAoKMjAwOS0wNy0yMCAxNjoxOTo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogZG9uJ3QgZGVyZWZlcmVuY2UgdGhlIHBvaW50ZXIgYmVmb3JlIHRoZSB2YWxpZGl0eSBjaGVjawoKMjAwOS0wNy0yMCAxMDoxNzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgcGVyZiB0ZXN0IHJvYnVzdG5lc3MgYW5kIGFkZCBjb21tZW50cwoKMjAwOS0wNy0yMCAxMjoyNToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogYWxzbyByZWNvZ25pc2UgdGhlIG5ldyByZWNvbW1lbmRlZCAnU1VCJyBjYXRlZ29yeQoJICBNb3ZlIHRoZSBjaGVjayBmb3IgJ3NpbXBsZScgc3VidGl0bGVzIGNhdGVnb3J5IHRvIGEgc2VwYXJhdGUgcm91dGluZQoJICBhbmQgYWRkIGluIHRoZSBuZXcgcmVjb21tZW5kZWQgU1VCIGNhdGVnb3J5ICgjNTI1NzQzKS4KCjIwMDktMDctMjAgMTE6NDE6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSAga2F0ZWVuYzoga2VlcCBiaXRtYXAvcGFsZXR0ZS9yZWdpb24gYXJvdW5kIHdoZW4gb24gdGhlIHNwb3QgZW5jb2RpbmcgaXMgbm90IHBvc3NpYmxlIGR1ZSB0byBhbiB1bmtub3duIGVuZCB0aW1lCgkgIEZpeGVzIHZhbGdyaW5kIHVuaXRpYWxpemVkIHZhbHVlIHJlcG9ydC4gU2VlICM1MjU3NDMuCgoyMDA5LTA3LTE5IDIzOjQ1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSAgZG9jczogYWRkIGluc3BlY3QgaW5mbyBmb3Iga2F0ZSBwbHVnaW4KCSAgU2hvdWxkIGZpeCB0aGUgZG9jcyBidWlsZC4KCjIwMDktMDctMTkgMjM6MzU6MDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBhZGQgc29tZSBGSVhNRXMKCjIwMDktMDctMTkgMjM6MzI6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlZGVjOiBkZW1vdGUgdG8gR1NUX1JBTktfTk9ORSBmb3Igbm93CgkgIFRoZXJlIGFyZSBzdGlsbCBzb21lIGF1dG9wbHVnZ2luZyBpc3N1ZXMgdG8gc29ydCBvdXQsIGFuZCBpdCBuZWVkcwoJICBzb21lIHRlc3RpbmcuCgoyMDA5LTA3LTE5IDIzOjI5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBjaGVja3M6IGFkZCBrYXRlIHVuaXQgdGVzdHMgdG8gdmFsZ3JpbmQgYmxhY2tsaXN0IGZvciBub3cKCSAgQW5kIGFkZCBjaGVjayBiaW5hcnkgdG8gaWdub3JlIGxpc3QuCgoyMDA5LTA3LTE5IDIzOjE2OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYWtlIHN1cmUgdG8gZnJlZSBzb21lIG1vcmUgc3R1ZmYKCjIwMDktMDctMTkgMjI6Mjk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IGZpeCB1cCBmb3IgYWRkaXRpb25hbCBzdWJ0aXRsZS94LWthdGUgbWVkaWEgdHlwZQoKMjAwOS0wNy0xMyAyMjozODo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IHJlbW92ZSBsb2NhbCBrYXRlIHR5cGVmaW5kZXIsIHVzZSB0aGUgb25lIGluIC1iYXNlCgoyMDA5LTA3LTEwIDE4OjQ1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBjaGFuZ2UgbWVkaWEgdHlwZSB0byBzdWJ0aXRsZS94LWthdGUgYW5kIHVwZGF0ZSBkZWZpbmUgYWNjb3JkaW5nbHkKCjIwMDktMDItMTUgMTg6MzU6MDQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvUkVBRE1FOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBhZGQgbmV3IEthdGUgcGx1Z2luLCBmb3IgS2F0ZSBvdmVybGF5IHN0cmVhbXMKCSAga2F0ZWRlYzogS2F0ZSBkZWNvZGVyICh0ZXh0IG9ubHkpCgkgIGthdGVlbmM6IEthdGUgZW5jb2RlciAodGV4dCBhbmQgRFZEIFNQVSBvbmx5KQoJICBrYXRldGFnOiBLYXRlIHRhZ2dlcgoJICBrYXRlcGFyc2U6IEthdGUgcGFyc2VyCgkgIHRpZ2VyOiBLYXRlIHJlbmRlcmVyIHVzaW5nIHRoZSBUaWdlciByZW5kZXJpbmcgbGlicmFyeQoJICBGaXhlcyAjNTI1NzQzLgoKMjAwOS0wNy0xOSAxNTozNzo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkgIHJlYWw6IGRpZmZlcmVudGlhdGUgYmV0d2VlbiAnbW9kdWxlIGRvZXMgbm90IGV4aXN0JyBhbmQgZ2VudWluZSBtb2R1bGUgb3BlbmluZyBlcnJvcnMKCSAgRG9uJ3QgbG9nIGEgR1NUX0VSUk9SIGlmIG9uZSBvZiB0aGUgY29kZWMgbW9kdWxlcyB3ZSB3ZXJlIGxvb2tpbmcgZm9yCgkgIGRvZXNuJ3QgZXhpc3QuIFRoYXQncyBub3QgYSBnZW51aW5lIGVycm9yLCBidXQgc29tZXdoYXQgZXhwZWN0ZWQuCgoyMDA5LTA3LTE4IDA4OjQzOjM3ICswMjAwICBNYXRpanMgdmFuIFp1aWpsZW4gPE1hdGlqcy52YW4uWnVpamxlbkB4czRhbGwubmw+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoaXMgYnJlYWtzIHBsYXliYWNrIG9mIGZpbGVzID40IEdCIGFzIHRoZSBvZmZzZXQgd2FzCgkgIGEgZ3VpbnQgYmVmb3JlLiBDaGFuZ2luZyBpdCB0byBhIGd1aW50NjQgZml4ZXMgdGhpcy4KCjIwMDktMDctMTcgMTU6NDc6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IHJlc2V0IHN0YXRlIGlmIHRoZXJlIGlzIHNvbWV0aGluZyB0byByZXNldAoJICBUaGUgY29uZGl0aW9uIHdhcyB3cm9uZyBhbmQgYXMgc3VjaCB0aGUgZWxlbWVudCB3YXMgd3JpdGluZyB0aGUgc2FtZSB0YWdzIG9uIHN1YnNlcXVlbnQKCSAgaW1hZ2VzIGlmIHJldXNlZC4KCjIwMDktMDctMTcgMTU6NDU6MzIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXNlIGdzdF9jYXBzX3JlcGxhY2UgaW5zdGVhZCBvZiBzZXBhcmF0ZSBjYWxscwoJICBUaGlzIGZpeGVzIHNldHRpbmcgc25hcHNob3QgY2FwcyBiYWNrIHRvIE5VTEwgYWxzby4KCjIwMDktMDctMTcgMTU6Mzg6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBpbXBsZW1uZXQgdHdvIG1vcmUgdGVzdHMKCSAgQWRkIHRlc3RzIGZvciB2aWRlb3JlY29yZGluZyBzdGFydHVwIGFuZCBjYXB0dXJlIHN0YXJ0dXAgZGVsYXkuCgoyMDA5LTA3LTE3IDA5OjM2OjE1ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgY29tcG9uZW50IHRhZyB0byB0aGUgdmlkZW8gY29tcG9uZW50IHN0cnVjdHVyZSBpbiBlaXQKCjIwMDktMDctMTYgMTc6Mjc6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBEb24ndCBwcmV0ZW5kIHRvIGJlIE1MMjAgaWYgcGF1c2VkCgoyMDA5LTA3LTE2IDE2OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBJZ25vcmUgdGhlIHRpbWVzdGFtcHMgaW5zaWRlIHRoZSBidWZmZXJzCgoyMDA5LTA3LTE2IDE1OjQzOjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3QgdHJ5IHRvIHBhcnNlIHRoZSBoZWFkZXIgYmVmb3JlIGRyb3BwaW5nIHRoZSBwYXVzZWQgZnJhbWVzCgoyMDA5LTA3LTE2IDE1OjQzOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogUHJpbnQgdGhlIGluY29taW5nIGZvdXJjYyBvbiBlcnJvcnMKCjIwMDktMDYtMTkgMjA6MTM6NTMgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBJbmNyZWFzZWQgdGhlIGxlbmd0aCBvZiB0aW1lIGZvciB0dW5pbmcgaW4gZ3N0ZHZic3JjLmMuCgkgIFNvbWUgZGV2aWNlcyB0YWtlIGEgd2hpbGUgdG8gdHVuZSBhbmQgNTAwbXMgd2FzIHRvbyBzaG9ydCB0byBkZXRlY3QKCSAgc3VjY2Vzc2Z1bCB0dW5pbmcuICBBcyB3ZWxsIGFzIHdhaXRpbmcgZm9yIDUgc2Vjb25kcyBlYWNoIDEwMG1zIHRoZQoJICBzdGF0dXMgaXMgY2hlY2tlZCBhbmQgdGhlIGxvb3AgaXMgYnJva2VuIG91dCBvZiB3aGVuIHR1bmluZyBoYXMgc3VjZWVkZWQuCgoyMDA5LTA3LTE2IDE5OjQ5OjI2ICswMjAwICBBbGVrc2V5IFl1bGluIDx1bGluQHR1dC5ieT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHVzZSBQSURzID4gTVBFR1RTX01BWF9QSUQKCSAgVGhlIG1wZWd0c2RlbXV4IHN0cmVhbXMgYXJyYXkgb25seSBoYXMgTVBFR1RTX01BWF9QSUQgZW50cmllcwoJICBhbmQgYWNjZXNzaW5nIG9uZSBhZnRlcndhcmRzIHdpbGwgcmVzdWx0IGluIGNyYXNoZXMuCgkgIEZpeGVzIGJ1ZyAjNTc1NjcyLgoKMjAwOS0wNy0xNiAxODoxNDoxOCArMDMwMCAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIEFkZCBtb3JlIGRlYnVnIG91dHB1dCB0byBtZXRhZGF0YW11eAoKMjAwOS0wNy0xNiAxMjowMzozMiArMDIwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgcGVzZmlsdGVyOiBQZXJtaXQgdW5ib3VuZGVkIHBhY2tldHMgZm9yIDB4ZmQgKGV4dGVuZGVkIHN0cmVhbSBpZCkuCgkgIEFkZGVkIHBhcnNpbmcgb2YgUEVTIGV4dGVuc2lvbiByZWxhdGVkIGRhdGEuCgkgIEZpeGVzIHNvbWUgVkMxIHJlbGF0ZWQgaXNzdWVzLgoKMjAwOS0wNy0xNiAxMzo1NToxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBBdHRlbXB0IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCSAgRG9uJ3Qgc3RvcmUgYSBjb25zdCBnY2hhciAqIGluIGEgbm9uLWNvbnN0IGdjaGFyICogbG9jYWwgdmFyLgoJICBBbHNvLCBtYWtlIHRoZSB0cmFuc2xhdGlvbiBzdHJpbmcgZnVuY3Rpb24gc3RhdGljIHNpbmNlIGl0J3Mgb25seQoJICB1c2VkIGluIHRoZSBvbmUgZmlsZS4KCjIwMDktMDctMTUgMTg6MTA6MDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIENhc3Qgc29tZSBkZWJ1ZyBzdHJpbmcgcGFyYW1ldGVycyBzbyB0aGF0IHRoZXkgZG9uJ3QgY2F1c2UgbWlzbWF0Y2hlZAoJICB0eXBlIHdhcm5pbmdzLgoKMjAwOS0wNy0xNSAxNjoxNzozNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSB1c2UuCgoyMDA5LTA2LTEwIDE5OjIxOjIxICswMTAwICBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogRW5oYW5jZW1lbnRzIHRvIHRoZSBtaXhlciBhbmQgYXVkaW8gb3V0cHV0CgkgIENvZGUgY2xlYW51cHMsIGdlbmVyYWwgaW1wcm92ZW1lbnRzLCBzdXBwb3J0IGZvciB0aGUKCSAgbmV3IG1peGVyIGZsYWdzIGluIGxhdGVzdCBnc3QtcGx1Z2lucy1iYXNlLgoJICBGaXhlczogIzU4NDI1MgoJICBQYXRjaCBCeTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoJICBQYXRjaCBCeTogR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKMjAwOS0wNy0xNSAxODoyNzozOSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIGNvbXBvbmVudCB0YWcgdG8gc3RydWN0dXJlIGZvciBjb21wb25lbnQgbWVzc2FnZQoKMjAwOS0wNy0xNSAxNzo0NDoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogdXNlIG5vbmJ1ZmZlcmVkIGlvIHRvIHNhdmUgbWVtY29waWVzCgkgIFdlIHdyaXRlIGxhcmdlIGJsb2NrcyBhbnl3YXksIHNvIG5vIGV4dHJhIGJ1ZmZlcmluZyBwbGVhc2UuIEFsc28gdXNlIG9uZQoJICBnX29iamVjdF9zZXQgdG8gc2V0IG11bHRpcGxlIHByb3BlcnRpZXMgb24gc2FtZSBvYmplY3QuCgoyMDA5LTA3LTE1IDEyOjIwOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL1RPRE86CgkgIGNhbWVyYWJpbjogdHJhY2sgdG9kbyBpdGVtcwoKMjAwOS0wNy0xNSAxMToxNzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBsZWF2ZSBpbWFnZS92aWRlbyBiaW4gaW4gcmVhZHkgd2hlbiBjaGFuZ2luZyBtb2RlCgoyMDA5LTA3LTE0IDE0OjEwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhbXJwYXJzZTogU3luYyBiYXNlcGFyc2UgY2hhbmdlcwoKMjAwOS0wNy0xNCAxNDowODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYWFjcGFyc2U6IEFkZCBmdW5jdGlvbiBmb3IgdGhlIGJhc2VwYXJzZSBzdWJjbGFzcyB0byBwdXNoIGJ1ZmZlcnMgZG93bnN0cmVhbQoJICBBbHNvIGhhbmRsZSB0aGUgY2FzZSBncmFjZWZ1bGx5IHdoZXJlIHRoZSBzdWJjbGFzcyBkZWNpZGVzIHRvIGRyb3AKCSAgdGhlIGZpcnN0IGJ1ZmZlcnMgYW5kIGhhcyBubyBjYXBzIHNldCB5ZXQuIEl0J3Mgc3RpbGwgcmVxdWlyZWQgdG8KCSAgaGF2ZSB2YWxpZCBjYXBzIHNldCB3aGVuIHRoZSBmaXJzdCBidWZmZXIgc2hvdWxkIGJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOS0wNy0xNCAxNDowNzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNlZWsgZXZlbnQgbGVha2luZwoKMjAwOS0wNy0xNCAxMDo0NDo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICBtZXRhZGF0YTogZml4IGNvcHknbidwYXN0ZSBpbiB0YWcgZGVzY3JpcHRpb24KCjIwMDktMDctMTMgMTg6MDQ6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hybzogQWRkIGVudW0gdHlwZXMgZm9yIHNjaHJvZWRpbmdlciBzZXR0aW5ncwoKMjAwOS0wNi0zMCAxNjozMToxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIGVtcHR5IGxhbmd1YWdlIGNvZGUgc3RyaW5ncwoJICBJZ25vcmUgZW1wdHkgbGFuZ3VhZ2UgY29kZXMgb24gc29tZSBwb29ybHkgY29kZWQgRFZEcywgcmF0aGVyIHRoYW4KCSAgc2V0dGluZyBlbXB0eSBzdHJpbmdzIGludG8gb3VyIG91dGdvaW5nIHRhZ2xpc3QuCgoyMDA5LTA3LTEzIDEyOjI0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDU4NDViNjMgdG8gZmVkYWFlZQoKMjAwOS0wNy0xMCAyMTo0MjoxOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IE9ubHkgZW5hYmxlIHBhdXNlZCBtb2RlIGlmIHRoZSBwcm9wZXJ0eSBpcyB0cnVlCgoyMDA5LTA3LTEwIDEzOjAzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgaXZvcmJpczogZXh0cmFjdCB2b3JiaXMgY29tbWVudHMKCSAgRml4ZXMgIzU3NTgxOC4KCjIwMDktMDctMDggMTc6NTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgQkdSQSBzdXBwb3J0IGZvciB2aWRlbyBpbi9vdXRwdXQKCjIwMDktMDctMDggMTU6MjY6MDcgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggZG91YmxlIGZyZWUKCSAgVGhlIGhhc2ggdGFibGUgYWxyZWFkeSBtYWtlcyBzdXJlIHRoYXQgdGhlIHN0cmVhbSBpcyBjb3JyZWN0bHkKCSAgZnJlZSdkIHdoZW4gZWxlbWVudHMgYXJlIHJlbW92ZWQuCgkgIEZpeGVzIGJ1ZyAjNTg3ODE5LgoKMjAwOS0wNy0wOCAxMDoxNjoxOSArMDEwMCAgTWlndWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHBhcnNlIGNvbXBvbmVudCB0YWcKCjIwMDktMDctMDggMTA6MTE6NTIgKzAxMDAgIE1pZ3VlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHBhcnNlIGNhcm91c2VsIGlkZW50aWZpZXIgZGVzY3JpcHRvcgoKMjAwOS0wNy0wNyAxNToyODowNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgcGFyc2luZyBvZiBkYXRhIGJyb2FkY2FzdCBkZXNjcmlwdG9ycwoKMjAwOS0wNy0wNyAyMDoyODowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIGJhc2V2aWRlbzogTGluayB3aXRoIGxpYmdzdHZpZGVvIGZvciBzb21lIHVzZWQgZnVuY3Rpb25zCgoyMDA5LTA3LTA3IDE5OjE4OjE2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBTZW5kIHBhdXNlIGZyYW1lcyB3aGVuIHBhdXNlZAoKMjAwOS0wNy0wNyAxOToxNTo0MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IElnbm9yZSBwYXVzZSBmcmFtZXMKCjIwMDktMDctMDcgMTg6Mjc6MzYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBQdXQga2V5ZnJhbWUvcGF1c2VkIGZsYWdzIGluIHRjcCBoZWFkZXIKCjIwMDktMDctMDcgMTg6MTg6MDYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBQdXQgdGltZXN0YW1wIG9uIHRoZSBoZWFkZXIgYnVmZmVyCgoyMDA5LTA3LTA3IDE4OjIyOjU0ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBSZXRpbWVzdGFtcCB0byB0aGUgcnVubmluZyB0aW1lCgoyMDA5LTA3LTA2IDE3OjE3OjIyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBTYXZlIHRoZSBzZWdtZW50CgoyMDA5LTA3LTA2IDE2OjI0OjU5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltZW5jOiBBZGQgcHJvcGVydHkgZm9yIHRoZSBwYXVzZWQgbW9kZQoKMjAwOS0wNy0wMyAxNjowODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbywgc2Nocm9lZGluZ2VyOiBndWFyZCB1bnN0YWJsZSBBUEkgd2l0aCBHU1RfVVNFX1VOU1RBQkxFX0FQSQoJICBBZGQgc29tZSBndWFyZHMgYW5kIGZhdCB3YXJuaW5ncyB0byB0aGUgaGVhZGVyIGZpbGVzIHdpdGggc3RpbGwgdW5zdGFibGUKCSAgQVBJLCBzbyBwZW9wbGUgd2hvIGp1c3QgbG9vayBhdCB0aGUgaW5zdGFsbGVkIGhlYWRlcnMga25vdyB0aGF0IGl0CgkgIGFjdHVhbGx5IGlzIHVuc3RhYmxlIEFQSS4KCjIwMDktMDctMDIgMTU6NTg6MDAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBzZHQgcGFyc2luZy4KCSAgZml4IHBhcnNpbmcgb2YgZXZlcnl0aGluZyBmb3IgZWFjaCBzZXJ2aWNlIGZyb20gZWl0IHNjaGVkdWxlIGZsYWcgb24gYW5kIGFsc28KCSAgYWRkIGEgcnVubmluZy1zdGF0dXMgcGFyYW1ldGVyIHRvIHRoZSBidXMgbWVzc2FnZSBzdHJ1Y3R1cmUuCgoyMDA5LTA3LTAyIDExOjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogQWRkIHN1cHBvcnQgZm9yIEFSR0IgdmlkZW8gaW5wdXQvb3V0cHV0CgoyMDA5LTA3LTAxIDEwOjU1OjEyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBtb3ZlIGZyb20gLWJhc2UKCSAgQWxzbyBtb3ZlIHNjaHJvZWRpbmdlciBwbHVnaW4uICBUaGlzIGNyZWF0ZXMgYSBuZXcgbGlicmFyeSwKCSAgZ3N0YmFzZXZpZGVvLTAuMTAsIHdoaWNoIHdpbGwgcHJvYmFibHkgYmUgbWVyZ2VkIGJhY2sgaW50bwoJICBnc3R2aWRlby0wLjEwIHdoZW4gdGhpcyBpcyBtb3ZlZCBiYWNrIHRvIC1iYXNlLgoKMjAwOS0wNy0wMSAxMjo1NTowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBiaW46IHVzZSBuZXcgbWV0aG9kIGZvciBuZXRhZGRyZXNzIHRvIHN0cmluZwoKMjAwOS0wNi0yOSAxNzoyNDo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkaXN0OiBBZGQgbHYyIHBsdWdpbiB0byB0aGUgZGlzdAoKMjAwOS0wNi0yOSAxNjozNzowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEFkZCB0aGUgY2FtZXJhYmluIGV4YW1wbGVzIHN1YmRpcmVjdG9yeSB0byB0aGUgZGlzdAoKMjAwOS0wNi0yOSAxODo0ODozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgcnRwYmluOiBkbyBiZXR0ZXIgY2xlYW51cCBvZiB0aGUgc3JjIGdob3N0cGFkcwoJICBDb25uZWN0IHRvIHRoZSBwYWQtcmVtb3ZlZCBzaWduYWwgb2YgdGhlIHB0ZGVtdXggZWxlbWVudHMgc28gdGhhdCB3ZSByZW1vdmUgdGhlCgkgIGdob3N0cGFkcyBmb3IgdGhlbS4gRml4ZXMgY2xlYW51cCB3aGVuIGdvaW5nIHRvIE5VTEwgYXMgd2VsbCBhcyB3aGVuIHJlbGVhc2luZwoJICB0aGUgc2lua3BhZHMuCgkgIEZpeGVzICM1NjE3NTIKCjIwMDktMDYtMjkgMTc6NDg6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiByZW1vdmUgb2xkIGVsZW1lbnQKCjIwMDktMDUtMjggMTk6MDg6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGFkZCBhIGNvbW1lbnQKCjIwMDktMDYtMjkgMTY6Mzc6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0yOSAxNjoyMTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkgdGhhdCB0YWtlcyBHc3RTdHJ1Y3R1cmUKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMDIgMTc6NDY6MDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgcnRwYmluOiByZW1vdmVkIG9sZCBnc3RydHBjbGllbnQKCjIwMDktMDYtMjkgMTI6MjM6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhIGF0IGdtYWlsLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbDogb25seSBpbmNsdWRlIHN5cy90aW1lLmggd2hlbiB3ZSBoYXZlIGl0CgkgIEZpeGVzICM1ODY5NTYKCjIwMDktMDYtMjkgMTI6MDI6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IENvcnJlY3RseSBjbGVhbiB1cCBlbGVtZW50cyB0byBiZSByZXVzYWJsZSBhbmQgbm90IGxlYWsgbWVtb3J5CgoyMDA5LTA2LTI5IDExOjU5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkgIGZyZWkwcjogSW4gdGhlIGZpbHRlciBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjU2OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBJbiB0aGUgbWl4ZXIgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1NDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEluIHRoZSBzcmMgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1MDo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IFVzZSBmaXhlZCBjYXBzIG9uIHRoZSBmaWx0ZXIgcGFkcwoJICBUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2Ugd2UgaGF2ZSB0byBjcmVhdGUgYSBuZXcgZnJlaTByCgkgIGluc3RhbmNlIGZvciBhbnkgY2FwcyBjaGFuZ2VzIGFuZCB0aGUgaW5zdGFuY2VzIGNhbiBoYXZlIGhpc3RvcnkuCgkgIEp1c3QgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2UgZHVyaW5nIHBsYXliYWNrIGNhbiByZXN1bHQgaW4gYmFkIG91dHB1dAoJICByaWdodCBhZnRlciB0aGUgY2FwcyBjaGFuZ2UuCgoyMDA5LTA2LTI3IDA5OjUxOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogU2V0IHRoZSBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcyBjb3JyZWN0bHkKCjIwMDktMDYtMjYgMTg6MzU6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjbGVhbnVwcwoJICBEb3duZ3JhZGUgYSBXQVJOSU5HIHRvIElORk8uIFVzZSBhIGJpdCBtb3JlIGNvbXBhY3QgY29kZS4gQWRkIGEgZml4bWUgY29tbWVudC4KCjIwMDktMDYtMjYgMTg6MzQ6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjoganVzdCByZWYgY2Fwcywgd2UgZG9uJ3QgbmVlZCBhIHdyaXRhYmxlIGNvcHkKCjIwMDktMDYtMjYgMTg6MzM6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbm8gbmVlZCB0byByZWYgYW5kIHVucmVmIHRoaXMgdGVtcG9yYXJpbHkKCjIwMDktMDYtMjYgMTg6MzI6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBzaW5rX2NhcHMgaWYgdGhleSB3b3VsZCBiZSBhbnktY2FwcwoKMjAwOS0wNi0yNiAxODozMTo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHByZXZpZXcgaW1hZ2VzCgoyMDA5LTA2LTI2IDE4OjMwOjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgdmlld2ZpbmRlci1jYXBzCgoyMDA5LTA2LTI2IDE2OjA3OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogbWFrZSBzaG90MnNob3QgdGVzdCBtb3JlIHJlbGlhYmxlCgkgIFdlIGNhbiBvbmx5IHRyaWdnZXIgbmV4dCBzaG90IChpbiB0aGUgdGVzdCkgd2hlbiBjdXJyZW50IGlzIGNhcHR1cmVkIGFuZCBzYXZlZC4KCjIwMDktMDYtMjYgMTM6MTA6MTIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBpbnNlcnQgYSBmZXcgYmxhbmsgbGluZXMgZm9yIHJlYWRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjA5OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIG1lc3NhZ2VzIGFuZCBlbGVtZW50IHJlZnMgaW4gcHJldmlldwoKMjAwOS0wNi0yNiAxNToxMDowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJy4gQ2hlY2sgZm9yIGF1dG9tYWtlLTEuMVswMV0KCSAgQ2hlY2sgZm9yIG1vcmUgYXV0b21ha2UgY29tbWFuZCB2YXJpYW50cy4gVXNlIHByaW50ZiBpbnN0ZWFkIG9mICdlY2hvIC1uJwoJICBmb3IgcG9ydGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6NDI6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjgxMDAzMCB0byA1ODQ1YjYzCgoyMDA5LTA2LTI2IDA5OjMwOjIyICswMTAwICBDaGFuZ3dvbyBSeXUgPGN3cnl1QGRlYmlhbi5vcmc+CgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICBmcmVlemU6IGRvbid0IGJ1aWxkIHBsdWdpbiBzdGF0aWMgbGliCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBsaWtlIHdlIGRvIGZvciBvdGhlciBwbHVnaW5zLgoJICBGaXhlcyAjNTg3MDIzLgoKMjAwOS0wNi0yNSAxMjozMTozMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgZnByaW50Zi4KCjIwMDktMDUtMzAgMTE6MTg6MjEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJICBBZGQgTFYyIHF1aWNrIHN0YXJ0IFJFQURNRS4KCjIwMDktMDYtMjUgMTk6MjM6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHJlcXVlc3RwYWRzCgkgIFJlcXVlc3RwYWRzIG5lZWQgdG8gYmUgcmVsZWFzZWQgYW5kIHVucmVmZmVkLiBBZGQgYSBjb21tZW50IGluIG9uZSBjYXNlIHdoZXJlCgkgIHdlIGludGVudGlvbmFseSBkb24ndCB1bnJlZi4KCjIwMDktMDYtMjUgMTk6MjE6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBzeW5jIGZpcnN0IHRlc3QgbW9yZSBzYWZlbHkKCSAgRG9uJ3QgdXNlIGdzdF9lbGVtZW50X2dldF9zdGF0ZSgpIHRvIHdhaXQgZm9yIFBMQVlJTkcsIFVzZSB0aGUgYnVzLWhhbmRsZXIKCSAgaW5zdGVhZGVyIGFuZCBhc3luY2hyb25vdXNseSBzY2hlZHVsZSBuZXh0IHRlc3QuCgoyMDA5LTA2LTI1IDE2OjQxOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IGltcG9ydCBlbGVtZW50IGludG8gLWJhZAoKMjAwOS0wNi0yNSAwODozODoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDYtMjUgMDg6Mzg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDA5LTA2LTI0IDE4OjU2OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogYWRkIHRhcmdldC10aW1lcyBvcHRpb24gdG8gc3BlY2lmeSB0ZXN0IHRpbWVzCgkgIEhhdmUgc29tZSByZWFzb25hYmxlIGRlZmF1bHQgdGltZXMuIEFkZCBhIGNvbW1hbmRsaW5lIG9wdGlvbiB0byBvdmVycmlkZQoJICBkZWZhdWx0cy4gSW50ZXJwcmV0IHRhcmdldC10aW1lPTAgYXMgc2tpcC10ZXN0LgoKMjAwOS0wNi0yMyAxMzowMTo1MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBidWZmZXItYWxsb2Mgc3VwcG9ydCBmaXhlcyB0byBpbWFnZSBhbmQgdmlkZW8gYmluIGhhbmRsaW5nCgkgIEtlZXAgaW1hZ2UgYmluIGluIFBBVVNFRCBzdGF0ZSBpbiBpbWFnZSBtb2RlIGV4Y2VwdCB3aGVuIHByb2Nlc3Npbmcvc2F2aW5nIChQTEFZSU5HL1JFQURZKS4KCSAgQ2hhbmdlIG91dHB1dC1zZWxlY3RvciB0byB2aWV3IGZpbmRlciBiZWZvcmUgc2V0dGluZyB2aWRlbyBiaW4gdG8gUkVBRFkuCgkgIEZpeCBmaWxlbmFtZSBzZW50IHdpdGggaW1nLWRvbmUgc2lnbmFsLgoKMjAwOS0wNi0yMyAxMzowMToxMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogZml4IHNldHRpbmcgbXV0ZSB3aGVuIHZpZGVvIGJpbiBlbGVtZW50cyBoYXZlbid0IGJlZW4gY3JlYXRlZAoKMjAwOS0wNi0xNiAxODoxMjoyOSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgaW1hZ2UgYmluIHRvIFBBVVNFRCB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUKCSAgU2V0IGltYWdlIGJpbiB0byBQQVVTRUQgYWxzbyB3aGVuIHN0YXJ0aW5nIGNhcHR1cmUgdXNpbmcgcGhvdG9ncmFwaHkKCSAgaW50ZXJmYWNlLgoKMjAwOS0wNC0yMSAxMDo1NTozNiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBsZWF2ZSB2NGwyY2Ftc3JjICJjYXB0dXJlLW1vZGUiIGFzIHZpZGVvIG1vZGUgd2hlbiBwYXVzaW5nCgoyMDA5LTA2LTI0IDE1OjE0OjMzICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjNiYjUxYiB0byBmODEwMDMwCgoyMDA5LTA2LTIyIDAzOjU1OjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogTW92ZSBJNDIwL1lWMTIgdG8gdGhlIGZyb250IG9mIHRoZSBjYXBzLiBBZGQgZGVidWcuCgkgIE1ha2UgSTQyMC9ZVjEyIGNhcHMgYmUgcHJlZmVycmVkIHdoZW4gZG93bmxvYWRpbmcgdG8gWVVWIGJ1ZmZlcnMsCgkgIHdoZW4gcG9zc2libGUsIGJ5IGxpc3RpbmcgdGhlbSBmaXJzdCBpbiB0aGUgc2V0IG9mIG91dHB1dCBjYXBzLgoJICBBZGQgc29tZSBkZWJ1ZyBpbiB0aGUgY2FwcyBzZWxlY3Rpb24gY29kZS4KCjIwMDktMDYtMjMgMTg6MDE6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBhbHNvIGFsbG93IHZpZGVvL21wZWcgb24gb3V0cHV0IGNhcHMuICBGaXhlcyAjMzc3Nzg0LgoKMjAwOS0wNi0yMyAxODoyMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IENvcnJlY3RseSBoYW5kbGUgMC8xIGZwcwoKMjAwOS0wNi0yMiAyMzo1MDo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgJCh0b3BfYnVpbGRkaXIpIGluc3RlYWQgb2YgcmVsYXRpdmUgcGF0aHMKCjIwMDktMDYtMjIgMjM6NDk6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogYWRkIGxvY2FsIGluY2x1ZGUgZGlyIHRvIENGTEFHUwoKMjAwOS0wNC0yOCAyMzoyNDo0NSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBXb3JraW5nIExWMiBwbHVnaW4gZGlzY292ZXJ5LgoJICAtIFNlcGFyYXRlIGdzdHNpZ25hbHByb2Nlc3NvciBpbnRvIGEgc2VwYXJhdGUgbGlicmFyeSAobm90IHN1cmUgaWYgdGhpcwoJICBpcyBpbiB0aGUgcmlnaHQgcGxhY2UsIGJ1dCBpdCB3b3JrcyBmb3Igbm93IGFueXdheSkKCSAgLSBDcmVhdGUgTFYyIGVsZW1lbnQgYmFzZWQgb24gTEFEU1BBIGVsZW1lbnQsIHBvcnQgbW9zdCBkaXNjb3ZlcnkKCSAgZnVuY3Rpb25hbGl0eQoKMjAwOS0wMy0yOSAxMzozMToyMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSAgRml4IGluY29uc2lzdGVudCBzdHlsZSAodHJpdmlhbCB0ZXN0IGNvbW1pdCkuCgoyMDA5LTAzLTI5IDEzOjIzOjAyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBjb25maWd1cmUgY2hlY2sgZm9yIFNMVjIuCgoyMDA5LTA2LTIyIDIyOjAxOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkZWJ1ZyBsb2cgb25seSBjaGFuZ2UKCjIwMDktMDYtMjIgMTg6MzU6MjEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IG1hcCBtb3JlIHRhZ3MgYW5kIGZpeCByZWFkaW5nIG9mIHhtcCB0YWdzCgkgIFJlZ2lzdGVyIHhtcCBzY2hlbWFzIGZvciBwaG90b3Nob3AgYW5kIGlwdGMuIE1hcCBhIGZldyBsb2NhdGlvbiB0YWdzIHRoZXJlLgoJICBBZGQgbW9yZSBkYyB0YWdzLiBGaXggcmVhZGluZyB4bXAgdGFnIGJ5IGl0ZXJhdGlvbiBvdmVyIGtub3duIHNjaGVtYXMuIEFkZAoJICBzb21lIG1vcmUgZGVidWcgbG9nZ2luZy4KCjIwMDktMDYtMTYgMTc6MTI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG1vcmUgY2xlYW51cCBpbiB0ZXN0cwoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dnaW5nLiBSZW1vdmUgdW51c2VkIG11dGV4IGFuZCBjb25kLgoKMjAwOS0wNi0xMiAxNDoyNjoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNydWZ0IHJlbW92YWwgYW5kIGRlYnVnIGxvZ3MKCSAgUmVtb3ZlIHVudXNlZCBjb2RlLiBBZGQgbG90cyBvZiBkZWJ1ZyBsb2dpbmcuIENoYW5nZSBjb21tZW50cyBmb3IgbG9jYWwKCSAgZnVuY3Rpb25zIHRvIG5vdCB1c2UgLyoqIGd0ay1kb2Mgc3RhcnQgc3R5bGUuCgoyMDA5LTA2LTEyIDEwOjQwOjQ4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmdsYWRlOgoJICBjYW1lcmFiaW46IGFkZCBjYW1lcmFiaW4gZXhhbXBsZXMKCSAgZ3N0LWNhbWVyYSBpcyBhIGd0ay10ZXN0IGFwcCB0byBwbGF5IHdpdGggdGhlIGltYWdlY2FwdHVyZSBhbmQgdmlkZW9yZWNvcmRpbmcuCgkgIGdzdC1jYW1lcmEtcGVyZiBpcyBhIHRvb2wgdG8gcnVuIHZhcmlvdXMgc2NlbmFyaW9zIGFuZCB0YWtlIHRpbWUgbWVhc3N1cmVtZW50cwoJICAoZS5nLiBzaG90LXRvLXNob3QpLiBBbHNvIHNvcnQgdGhlIG91dHB1dCBmaWxlcyBpbiBjb25maWd1cmUuYWMgYSBiaXQgdG8gYmUKCSAgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgoKMjAwOS0wNi0xMCAxMToxNTowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogZml4IGNvbnZlcnNpb24gb2YgZ2VvIGNvb3JkaW5hdGVzCgkgIENvb3JkaW5hdGUgY29udmVyc2lvbiBoYXMgYmVlbiB2ZXJpZmllZCB3aXRoIGV4aXYyIGFuZCBzb21lIHdlYnBhZ2VzLgoJICBNaW51dGVzIHdoZXIgdG90YWxseSBvZmYgYW5kIHNlY29uZHMgd2VyZSBub3QgdXNlZCBhdCBhbGwuCgoyMDA5LTA2LTIyIDExOjE5OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZXRlY3QgYW5kIGZpeCBmb3IgYmFkIE5BTFUgc2l6ZXMKCSAgd2hlbiBpbiBBVkMgbW9kZSBhIG5hbHUgc2l6ZSBzZWVtcyBpbnZhbGlkLCBhc3N1bWUgdGhlIE5BTFUgaGFzIHRoZSBzaXplIG9mIHRoZQoJICBhdmFpbGFibGUgZGF0YSBpbnN0ZWFkIG9mIGxvb3BpbmcgZm9yZXZlci4KCSAgRml4ZXMgIzU4NjM1NAoKMjAwOS0wNi0xOSAyMToyMDoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzCgoyMDA5LTA2LTE4IDE3OjA2OjIzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIFZEUEFVOiBGaXggYnVpbGQgZmxhZ3MgdG8gcHVsbCBpbiBnc3QtcGx1Z2lucy1iYXNlIGxpYnMKCjIwMDktMDYtMTUgMTg6MzM6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogUmVmYWN0b3IgdGhlIGVycm9yIHBhdGggdG8gYSBjb21tb24gb3V0cHV0LCBhbmQgZml4IGEgbGVhay4KCSAgRG9uJ3QgbGVhayB0aGUgaW5wdXQgYnVmZmVyIG9uIGVycm9ycy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCjIwMDktMDYtMTUgMTg6Mjk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIFZEUEFVOiBGaXggdXAgY2FwcyBpbiB2ZHBhdW1wZWdkZWMuIFJlbW92ZSBleHRyYSBzZW1pY29sb24KCSAgRml4IGEgdHlwbyBpbiB0aGUgY2FwcyBmb3IgdGhlIFZEUEFVIG1wZWcgZGVjb2RlciAoY2hyb21hX3R5cGUtPmNocm9tYS10eXBlKQoJICBhbmQgdXNlIHRoZSBHU1RfVkRQX1ZJREVPX0NBUFMgZm9yIHRoZSBwYWQgdGVtcGxhdGUuCgkgIFJlbW92ZSBhIHN0cmF5IHNlbWljb2xvbi4KCjIwMDktMDYtMTIgMTY6Mzk6MzkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBWRFBBVTogRW5oYW5jZSB0aGUgY29uZmlndXJlIHRlc3RzCgkgIENoZWNrIGZvciB0aGUgVkRQQVUgaGVhZGVycyBpbiAvdXNyL2luY2x1ZGUvbnZpZGlhIGFzIHRoZXkgYXJlIG9uIHNvbWUKCSAgcGxhdGZvcm1zIChGZWRvcmEvcnBtZnVzaW9uKS4gQWxzbyBjaGVjayB0aGF0IHRoZSBsaWJ2ZHBhdSBsaWJyYXJ5IGlzCgkgIGF2YWlsYWJsZS4KCjIwMDktMDYtMDkgMjM6MTQ6MjYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBmaXhlZCBzcmMgY2FwcwoKMjAwOS0wNi0wOCAxNDozNToyOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogZHJvcCBhbGwgZnJhbWVzIGJlZm9yZSBhIEdPUCB3aGVuIHdlIHNlZWsKCjIwMDktMDYtMDggMTQ6MTU6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXAKCjIwMDktMDYtMDcgMjM6NDY6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBzL0lTX1ZEUEFVL0lTX1ZEUAoKMjAwOS0wNi0wNyAwMToyNTowMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2VuZCBuZXdzZWdtZW50IGV2ZW50IGlmIG9ubHkgdGhlIHJhdGUgaGFzIGJlZW4gdXBkYXRlZAoKMjAwOS0wNi0wNyAwMToxMjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIG11dGV4IHRvIHByb3RlY3QgbXBlZ19kZWMtPnNlZWtpbmcgZnJvbSBjb25jdXJyZW50IGFjY2VzcwoKMjAwOS0wNi0wNyAwMDo1NTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBmb3IgdGhyZWFkc2FmZXR5CgoyMDA5LTA2LTA2IDIxOjI3OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmdXJ0aGVyIHdvcmsgb24gc2Vla2luZwoKMjAwOS0wNi0wNSAyMzoxMToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNsZWFudXBzCgoyMDA5LTA2LTA1IDIyOjI4OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgb24gbm9uIElfRlJBTUUncwoKMjAwOS0wNi0wNSAyMTo0ODoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSBnc3R2ZHBtcGVnZGVjb2Rlci5bY2hdIHRvIGdzdHZkcG1wZWdkZWMuW2NoXQoKMjAwOS0wNi0wNSAyMTo0NjowOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSBHc3RWZHBNcGVnRGVjb2RlciB0byBHc3RWZHBNcGVnRGVjCgoyMDA5LTA2LTA1IDIxOjQyOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHBhc3MgYnVmZmVyIHNpemUgZGlyZWN0bHkgdG8gZ3N0X3ZkcF9tcGVnX2RlY29kZXJfZGVjb2RlCgoyMDA5LTA2LTA1IDIxOjE4OjQ3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cAoKMjAwOS0wNi0wNSAyMToxNjo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBjYWxjdWxhdGUgYnl0ZXJhdGUgZnJvbSB0aGUgc2l6ZSBvZiB0aGUgaW5jb21pbmcgZGF0YQoKMjAwOS0wNi0wNSAxOTowODoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHByaW50IGZyYW1lX25yIGluIGRlYnVnIHByaW50CgoyMDA5LTA2LTA1IDE4OjI4OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaW50ZXJsYWNlZCBmaXhlcwoKMjAwOS0wNi0wNSAxODoxODozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IG9ubHkgc2V0IGJhc2UgZHVyYXRpb24gb25jZQoKMjAwOS0wNi0wNSAxNzo1MzoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IHNlbmQgdGhlIEVWRU5UX05FV1NFR01FTlQgZG93bnN0cmVhbSBpZiB3ZSdyZSBzZWVraW5nCgoyMDA5LTA2LTA1IDE3OjQzOjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGltcGxlbWVudCBzZWVraW5nCgoyMDA5LTA2LTA1IDExOjU0OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2hhbmdlIGEgR1NUX0RFQlVHIHRvIEdTVF9XQVJOSU5HCgoyMDA5LTA2LTA1IDExOjUyOjMyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bnVzZWQgYnJva2VuX2dvcCBmaWVsZAoKMjAwOS0wNi0wNSAxMTo1MTo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBuZXcgZ3N0X3ZkcF9tcGVnX2RlY29kZXJfZmx1c2ggZm9yIGZsdXNoaW5nIHRoZSBkZWNvZGVyCgoyMDA5LTA2LTA1IDExOjI0OjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIEdTRV9ERUJVR19GVU5DUFRSCgoyMDA5LTA2LTA1IDExOjIwOjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgZHJvcCBkaXNjb250IGJ1ZmZlcnMKCjIwMDktMDYtMDUgMTE6MTc6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgR1NUX1FVRVJZX1BPU0lUSU9OIGFuZCBHU1RfUVVFUllfRFVSQVRJT04KCjIwMDktMDYtMDQgMjE6MTc6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBjYWxjdWxhdGUgY29ycmVjdCBkdXJhdGlvbiBmcm9tIGRhdGEgaW4gTVBFR19QQUNLRVRfRVhUX1BJQ1RVUkVfQ09ESU5HCgoyMDA5LTA2LTA0IDE5OjMwOjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBzbyB0aGF0IHRoZSBmaXJzdCBmcmFtZSBpbiBhIHJhdyBtcGVndmlkZW8gc3RyZWFtIGdldCB0aW1lc3RhbXAgMAoKMjAwOS0wNi0wNCAxOToxNzoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2cGRhdW1wZWdkZWM6IHJlbW92ZSB1c2VsZXNzIEdzdFZkcERlY29kZXIgYmFzZWNsYXNzCgoyMDA5LTA2LTA0IDE4OjExOjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgR3N0Qml0UmVhZGVyIHRvIHBhcnNlIGJpdHN0cmVhbQoKMjAwOS0wNS0wNiAyMzowNzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBjaGFuZ2UgZWxlbWVudCByYW5rIGZvciB0ZXN0aW5nIHB1cnBvc2VzCgkgIHNldCBtcGVndmlkZW9wYXJzZSByYW5rIHRvIHByaW1hcnkgYW5kIHZkcGF1bXBlZ2RlYyB0byBwcmltYXJ5IC0gMSB0byBnZXQgdmRwYXVtcGVnZGVjCgkgIGNvcnJlY3RseSBwbHVnZ2VkIGludG8gcGxheWJpbgoKMjAwOS0wNS0wNSAyMzoxOTo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBhZGQgZGVidWcgb24gR3N0VmRwRGV2aWNlIGRlc3Ryb3kKCjIwMDktMDUtMDUgMjM6MTM6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjb2RlIGNsZWFudXAKCjIwMDktMDUtMDUgMjM6MDg6NTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5udXNlZCBHc3RWZHBCRnJhbWUgc3RydWN0CgoyMDA5LTA1LTA1IDIzOjA3OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXggc21hbGwgdHlwbyBpbiBkZWJ1ZyBwcmludAoKMjAwOS0wNS0wNSAxODo1NDozMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgdGltZXN0YW1waW5nIG9mIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMDUtMDUgMTg6NDU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBhZGQgZm9yd2FyZF9yZWZlcmVuY2UgaWYgdGhlIGZyYW1lIGlzIGFuIElfRlJBTUUKCjIwMDktMDUtMDUgMTg6Mzc6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgoyMDA5LTA1LTA1IDE3OjMwOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZWRlZCBsb2NraW5nIHNpbmNlIHdlIGtub3cgZG8gU3RhdGVDaGFuZ2UgY29ycmVjdGx5CgoyMDA5LTA1LTA1IDE3OjI4OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICBzL0dTVF9UWVBFX1ZEUEFVL0dTVF9UWVBFX1ZEUC9nCgoyMDA5LTA1LTA1IDE3OjIwOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBzL0dTVF9UWVBFX1ZEUEFVL0dTVF9UWVBFX1ZEUC9nCgoyMDA5LTA1LTA1IDE3OjE1OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgc3RhdGUgY2hhbmdlCgoyMDA5LTA1LTA1IDE2OjI5OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogaW5pdCAidmRwYXVkZXZpY2UiIGRlYnVnIGNhdG9lZ29yeSBpbiBnc3RfdmRwX2dldF9kZXZpY2UKCjIwMDktMDUtMDUgMDg6MTE6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBob2xkIHRoZSBsb2NrIGluIGNoYW5nZV9zdGF0ZQoKMjAwOS0wNS0wMyAyMTo1Mjo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHRoZSBCX0ZSQU1FIGRlY29kaW5nIHdhcyBjb21wbGV0ZWx5IHdyb25nLCBmaXggaXQKCSAgdGhlIGJ1ZmZlcnMgZG9uJ3QgY29tZSBpbiBvdXRwdXQgb3JkZXIgc28gZml4IHRoZSBkZWNvZGVyIHRvIGhhbmRsZSB0aGlzCgkgIGFkZCBuZXcgZ3N0X3ZkcF92aWRlb19idWZmZXJfYWRkX3JlZmVyZW5jZSBtZXRob2QgdG8gR3N0VmRwVmlkZW9CdWZmZXIgdG8gYmUgYWJsZSB0byBrZWVwCgkgIGJ1ZmZlcnMgYWxpdmUuIEllLiBhIEJfRlJBTUUgbmVlZCB0byBoYXZlIGJvdGggdGhlIGZvcndhcmQgcmVmZXJlbmNlIGFuZCB0aGUgYmFja3dhcmQKCSAgcmVmZXJlbmNlIGFsaXZlIGR1cmluZyBpdCdzIGxpZmV0aW1lLgoJICBhZGQgbXV0ZXggdG8gcHJvdGVjdCBmb3IgdGhyZWFkc2FmZXR5IGlzc3VlcyB3aGVuIHdlIHJlc2V0IHRoZSBkZWNvZGVyIGluIEZMVVNIX1NUT1AKCjIwMDktMDQtMzAgMjE6NTg6MDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgZnVsbF9wZWxfZm9yd2FyZF92ZWN0b3IgdG8gMCB3aGVuIHBpY190eXBlID09IFBfRlJBTUUKCjIwMDktMDQtMjcgMjE6MzA6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkcm9wIGZyYW1lcyBpZiB3ZSBoYXZlbid0IGdvdCBhbiBJX0ZSQU1FIHlldAoKMjAwOS0wNC0yNyAyMDo1NzoxMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IHNldCB2ZHBhdXZpZGVveXV2IGFuZCB2ZHBhdXl1dnZpZGVvIHRvIEdTVF9SQU5LX1BSSU1BUlkKCjIwMDktMDQtMjcgMjA6NTA6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkZXN0cm95IHRoZSBWZHBEZWNvZGVyIGFuZCByZXNldCB0aGUgZGVjb2RlciBvbiBzdGF0ZSBjaGFuZ2UKCjIwMDktMDQtMjcgMjA6NDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBmaXggZXJyb3Igd2hlcmUgd2UgZm9yZ290IHRvIHBhc3MgYSB0cmFpbGluZyBOVUxMIHRvIGdfb2JqZWN0X25ldwoKMjAwOS0wNC0yNyAyMDoyMTo0NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGNsb3NlIGRpc3BsYXkgb24gZmluYWxpemUKCjIwMDktMDQtMjcgMjA6MTg6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgZml4ZXMKCSAgaW5pdCBjcmVhdGUgR3N0VmRwRGV2aWNlIG9uIEdTVF9TVEFURV9DSEFOR0VfUkVBRFlfVE9fUEFVU0VEIGluc3RlYWQgb2Ygb24KCSAgR1NUX1NUQVRFX0NIQU5HRV9OVUxMX1RPIFJFQURZCgkgIGFkZCBiYWNrIGluY3JlbWVudGluZyBvZiBmcmFtZV9ucgoKMjAwOS0wNC0yNyAyMDoxNTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IHVzZSBnX29uY2VfaW5pdF9lbnRlciBpbnN0ZWFkIG9mIGdfb25jZQoKMjAwOS0wNC0yNyAxODozNDo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGlmIGF2YWlsYWJsZSB1c2UgaW5jb21pbmcgYnVmZmVyIHRpbWVzdGFtcCBhcyBvdXRwdXQgdGltZXN0YW1wCgoyMDA5LTA0LTI3IDE1OjEyOjI2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2xlYXIgdGhlIGFkYXB0ZXIgd2hlbiB3ZSByZXNldCB0aGUgZGVjb2RlcgoKMjAwOS0wNC0yNiAyMzoyNTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBmaXh1cCByZW5hbWluZwoJICB0aGUgcmVuYW1lIHdvcmsgZG9uZSBpbiBjb21taXQgMjRjZjg0ZDA2YjJmNGIyZWRlYzMzODNiMTk4NDQxYTA3ODI5NjE4YiBkaWRuJ3QKCSAgaW5jbHVkZSB0eXBlY2FzdHMuIFRoaXMgY29tbWl0IGZpeGVzIHRoaXMuCgoyMDA5LTA0LTI2IDIzOjIwOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVzZXQgZGVjb2RlciBvbiBHU1RfRVZFTlRfRkxVU0hfU1RPUAoKMjAwOS0wNC0yNiAyMjowNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlc2V0IGRlY29kZXIgd2hlbiB3ZSBnZXQgYSBkaXNjb250IGJ1ZmZlcgoKMjAwOS0wNC0yNiAyMDo0MDo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCAiTVBFR19QQUNLRVRfRVhUX1BJQ1RVUkVfQ09ESU5HIiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMDQtMjIgMjM6MzU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgYnJva2VuX2dvcCBmaWVsZAoKMjAwOS0wNC0yMiAyMTowNDo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGNvbnZlcnQgYWxsIG1hbnVhbCBwYXJzaW5nIHRvIHVzZSByZWFkX2JpdHMgaW5zdGVhZAoKMjAwOS0wNC0yMiAyMDoyODoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZGVkIGdzdF9idWZmZXJfcmVmIGFuZCB0aGUgYWNjb21wYW55aW5nIGdzdF9idWZmZXJfdW5yZWYKCjIwMDktMDQtMjIgMjA6MjU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBlcnJvciB3aGVyZSB3ZSBzZXQgZm9yd2FyZF9yZWZlcmVuY2UgaW5zdGVhZCBvZiBiYWNrd2FyZF9yZWZlcmVuY2UKCjIwMDktMDQtMTYgMjM6NDM6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBtdWx0aXBsZSBCX0ZSQU1FcyBpbiBhIHJvdwoKMjAwOS0wNC0xNiAyMjozMDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IG1vcmUgQl9GUkFNRSB3b3JrCgoyMDA5LTA0LTE2IDIyOjA2OjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGluaXRhbCBzdXBwb3J0IGF0IGhhbmRsaW5nIEJfRlJBTUVTCgoyMDA5LTA0LTE1IDIzOjQ5OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgR3N0Rmxvd1JldHVybiBwcm9wYWdhdGlvbiBhIGJpdAoKMjAwOS0wNC0xNSAyMzozODo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogcGFyc2UgUElDVFVSRV9DT0RJTkdfRVhURU5TSU9OIGFsdGVybmF0ZV9zY2FuIGJpdAoKMjAwOS0wNC0xNSAyMzozMTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBxdWFudG1hdHJpeCBleHRlbnNpb24gcGFyc2luZwoKMjAwOS0wNC0xNSAxODoxNzo1NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNvcnJlY3Qgc29tZSBkZWZhdWx0IHZhbHVlcwoJICBtcGVnMSBub3cgZ2l2ZSBuZWFybHkgY29ycmVjdCBvdXRwdXQgOikKCjIwMDktMDQtMTUgMTc6NTI6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVtb3ZlIHVudXNlZCBzbGljZSBmaWVsZAoKMjAwOS0wNC0xNCAyMzo0Nzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogcmVuYW1lICJ2aWRlby92ZHBhdS12aWRlbyIgY2FwcyB0byAidmlkZW8veC12ZHBhdS12aWRlbyIKCjIwMDktMDQtMTQgMjE6MDc6MzIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlICJzaWxlbnQiIHByb3BlcnR5IGZyb20gR3N0VmRwRGVjb2RlcgoKMjAwOS0wNC0xNCAyMTowNTo0NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBkb24ndCBzZXQgZWxlbWVudCBkZXRhaWxzIGluIEdzdFZkcERlY29kZXIKCjIwMDktMDQtMTQgMjE6MDQ6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW5hbWUgdG8gInZkcGF1bXBlZ2RlYyIKCjIwMDktMDQtMTQgMTk6MDg6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbW92ZSB1bm5lY2VzYXJ5IHdhbnRfc2xpY2UgZmllbGQKCjIwMDktMDQtMTMgMjI6MjE6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBzbWFsbCBjb3NtZXRpY2FsIGZpeAoKMjAwOS0wNC0xMyAyMjoxOToyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVuYW1lIGFsbCBmaWxlcyBhbmQgb2JqZWN0cyBmcm9tIFZkcGF1IHRvIFZkcAoKMjAwOS0wNC0xMyAyMToyMzozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBkZWNvZGUgc2xpY2VzIHdoZW4gd2UgZ2V0IHRoZSBuZXh0IHBpY3R1cmUgaGVhZGVyLiBNUEVHMiBub3cga2luZG9mIHdvcmtzLgoKMjAwOS0wNC0xMyAyMToxMTo1NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdTogc21hbGwgaW1wcm92ZW1lbnQgdG8gbXBlZyBkZWNvZGVyCgoyMDA5LTA0LTEzIDIwOjA0OjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW1vdmUgdW51c2VkICJzaWxlbnQiIHByb3BlcnRpZXMKCjIwMDktMDQtMTMgMTk6MzY6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJICB2ZHBhdTogaW1wbGVtZW50IEdzdFZkcGF1VmlkZW9CdWZmZXIgLT4gSTQyMCBjb252ZXJzaW9uCgoyMDA5LTA0LTA5IDE2OjU0OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkgIHZkcGF1OiBtb3ZlIGRlZmluaXRpb24gb2YgdGhlIFZkcENocm9tYVR5cGUgYXJyYXkgYW5kIHRoZSBWZHBhdUZvcm1hdHMgdG8gZ3N0ZGV2aWNlLmgKCjIwMDktMDQtMDcgMjE6NTE6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgZml4CgkgIHNldCB2ZHBfaW5mby5mb3J3YXJkX3JlZmVyZW5jZSB0byBWRFBfSU5WQUxJRCBoYW5kbGUgd2hlbiB1bnJlZmZpbmcgdGhlIG9sZAoJICBidWZmZXIKCjIwMDktMDQtMDcgMjA6NDY6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmg6CgkgIHZkcGF1OiBhZGQgbmV3IEdzdFZkcGF1WVVWVmlkZW8gZWxlbWVudAoJICB0aGUgR3N0VmRwYXVZVVZWaWRlbyBlbGVtZW50IHRha2VzIHJhdyBZVVYgdmlkZW8gYW5kIG91dHB1dHMKCSAgR3N0VmRwYXVWaWRlb0J1ZmZlcnMKCjIwMDktMDQtMDQgMjI6NDU6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJICB2ZHBhdTogVmlkZW9ZVVYgdW5yZWYgYnVmZmVyIGluIGNoYWluIHNvIHRoYXQgd2UgZG9uJ3QgbGVhayB0aGVtIE1wZWdEZWNvZGVyIHBhcnNlIHNlcXVlbmNlIGhlYWRlcnMKCjIwMDktMDQtMDQgMjI6MDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiByZW1vdmUgc29tZSB1bm5lZGVkIGluY2x1ZGVzCgoyMDA5LTA0LTA0IDIyOjAzOjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJICB2ZHBhdTogbW92ZSBwbHVnaW4gZGVmaW5pdGlvbiB0byBhIG5ldyBnc3R2ZHBhdS5jIGZpbGUgZml4IHVwIGRlYnVnIGNhdGVnb3JpZXMKCjIwMDktMDQtMDQgMjA6NTM6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5oOgoJICB2ZHBhdTogYWRkIG5ldyBHc3RWZHBhdVZpZGVvWVVWIGVsZW1lbnQKCSAgR3N0VmRwYXVEZWNvZGVyIG5vdyBwdXNoZXMgR3N0VmRwYXVWaWRlb0J1ZmZlcnMgaW5zdGVhZCBvZiBkb2luZwoJICBWZHBTdXJmYWNlIC0+IFlVViBjb252ZXJzaW9uLiBUbyBnZXQgWVVWIGRhdGEgeW91IG5vdyBwdXQgaW4gYSBHc3RWZHBhdVZpZGVvWVVWCgkgIGVsZW1lbnQgd2hpY2ggdGFrZXMgR3N0VmRwYXVWaWRlb0J1ZmZlcnMgYW5kIG91dHB1dHMgWVVWIGRhdGEuCgoyMDA5LTA0LTAzIDE3OjU5OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudCBmaXgKCjIwMDktMDQtMDMgMTc6NTg6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSAgdmRwYXU6IHJlbW92ZSBvYm9zb2xldGUgRklYTUUgYW5kIHNvbWUgZGVidWcgcHJpbnRzIGZyb20gZ3N0dmRwYXVkZXZpY2UuYwoKMjAwOS0wNC0wMyAxNzo1MzoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJICB2ZHBhdTogY29tbWl0IHJlbmFtZSBvZiBnc3QtdmRwYXUtZGV2aWNlLmggdG8gZ3N0dmRwYXVkZXZpY2UuaAoKMjAwOS0wNC0wMyAxNzo1MjoyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmM6CgkgIHZkcGF1OiByZW1vdmUgZ3N0LXZkcGF1LWRldmljZS5jCgoyMDA5LTA0LTAzIDE3OjUxOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJICB2ZHBhdTogcmVuYW1lIGdzdC12ZHBhdS1kZXZpY2UuW2NoXSB0byBnc3R2ZHBhdWRldmljZS5bY2hdCgoyMDA5LTA0LTAxIDIxOjQyOjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBjaGFuZ2UgYWxsIHJlZmVyZW5jZXMgb2YgImdzdF92ZHBhdWRlY29kZXIqIiB0byAiZ3N0X3ZkcGF1X2RlY29kZXIiCgoyMDA5LTA0LTAxIDIxOjQwOjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogbWFrZSB0aGUgZGVjb2RlciBjbGVhbiB1cCBhZnRlciBpdHNlbGYKCjIwMDktMDQtMDEgMjE6MjY6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiByZW1vdmUgZXh0cmEgXCBmcm9tIE1ha2VmaWxlLmFtCgoyMDA5LTA0LTAxIDIxOjE5OjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGFkZCBnc3R2ZHBhdWRldmljZSBmb3IgYWJzdHJhY3RpbmcgdmRwYXUgaW5pdGFsaXphdGlvbgoKMjAwOS0wMy0zMSAyMjo1NDoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgY29tbWVudAoKMjAwOS0wMy0zMSAyMjo1Mzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IE1QRUcxIGRlY29kaW5nIGtub3cgZ2l2ZXMgcmVjb2duaXphYmxlIG91dHB1dAoKMjAwOS0wMy0yOSAxNToyODowNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBjcmVhdGUgVmRwRGVjb2RlciBpbiBzZXRfY2FwcyBhZGQgbW9yZSBmdW5jdGlvbnMgZm9yIHBhcnNpbmcgbXBlZwoKMjAwOS0wMy0yNyAxNzoxMTowNCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogc3RvcmUgdmRwYXUgZnVuY3Rpb24gcG9pbnRlcnMgaW4gYSBsb2NhbCBzdHJ1Y3R1cmUKCjIwMDktMDMtMjcgMTY6NTU6MTkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogZXh0cmFjdCBtcGVnMiBwcm9maWxlIGZyb20gY29kZWNfZGF0YQoKMjAwOS0wMy0yNiAyMTowNDo0OCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogZXh0cmFjdCBtcGVnIHZlcnNpb24KCjIwMDktMDMtMjUgMjA6NDE6NDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogYWRkIHZlcnNpb24gc3BlY2lmaWNhdGlvbiB0byBtcGVnZGVjb2RlciBjYXBzCgoyMDA5LTAzLTI1IDIwOjM4OjI3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogZm9jdXMgb24gbXBlZyBpbnN0ZWFkIG9mIGgyNjQKCjIwMDktMDMtMjUgMTk6NTk6MDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiByb3VnaCB0cnkgYXQgaW1wbGVtZW50aW5nIHB1c2hpbmYgb2YgWVYxMiBidWZmZXJzCgoyMDA5LTAzLTI0IDIyOjI2OjU2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQKCjIwMDktMDMtMjMgMjE6MzY6NTUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBpbml0IHZkcGF1IGluIEdTVF9TVEFURV9DSEFOR0VfTlVMTF9UT19SRUFEWSBhZGQgZ3N0X3ZkcGF1ZGVjb2Rlcl9wdXNoX3ZpZGVvX3N1cmZhY2UgdG8gdmRwYXVkZWNvZGVyLmgKCjIwMDktMDMtMjMgMjA6NDc6MDAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGFkZCBzdHVicyBmb3IgcHVzaGluZyBWZHBWaWRlb1N1cmZhY2VzIHRvIHRoZSBzcmMgcGFkCgoyMDA5LTAzLTIxIDIyOjA2OjEyICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSAgdmRwYXU6IHVwZGF0ZSBWZHBhdUgyNjREZWNvZGVyIGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMDktMDMtMjAgMjE6MjY6MTEgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiBjaGFuZ2xlIGdzdHZkcGF1ZGVjb2Rlci5jIGNsYXNzaWZpY2F0aW9uCgoyMDA5LTAzLTIwIDIxOjI0OjQwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBpbXBsZW1lbnQgZG93bnN0cmVhbSBjYXBzIG5lZ290aWF0aW9uCgoyMDA5LTAzLTE1IDIxOjIzOjM1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50YXRpb24gZml4CgoyMDA5LTAzLTE1IDIxOjIxOjQ5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGFkZCBiYXNpYyBiYXNlIGNsYXNzIGZvciB2ZHBhdSBkZWNvZGVycwoKMjAwOS0wMy0xNCAxMDo0MzoyOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIGFkZCBuZXcgdmRwYXUgZGlyZWN0b3J5CgoyMDA5LTA2LTE5IDE5OjA5OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvLnN1YmFzaWMgYXQgYXhpcy5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW5fYnVmZmVyX2xpc3QuYzoKCSAgcnRwYmluOiBhZGQgc3VwcG9ydCBmb3IgYnVmZmVyLWxpc3QKCSAgQWRkIHN1cHBvcnQgZm9yIHNlbmRpbmcgYnVmZmVyLWxpc3RzLgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0ZXN0aW5nIHRoYXQgdGhlIGJ1ZmZlci1saXN0IHBhc3NlZCB0aHJvdWdoIHJ0cGJpbi4KCSAgZml4ZXMgIzU4NTgzOQoKMjAwOS0wNi0xOCAxMjoxMzoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFESUY6IGRvIG5vdCBzZW5kIGJvZ3VzIHRpbWVzdGFtcHMsIGxlYXZlIHRvIGRvd25zdHJlYW0gKGRlY29kZXIpCgoyMDA5LTA2LTExIDE1OjU0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvbmx5IHVzZSAoNjQtYml0KSBleHRlbmRlZCAobWRhdCkgYXRvbSBzaXplIGlmIG5lZWRlZC4gIEZpeGVzICM1ODUzMTkuCgoyMDA5LTA2LTEwIDE0OjQ2OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IGRlZmF1bHQgbW92aWUgdGltZXNjYWxlIHRvIG1pY3Jvc2Vjb25kIHVuaXRzCgoyMDA5LTA2LTEwIDEzOjI0OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogY29tcHJlc3Mvb3B0aW1pemUgc3RzYyB3cml0aW5nCgoyMDA5LTA2LTEwIDEyOjQyOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgM0dQIHN0eWxlIHRhZ2dpbmcgKGFuZCByZWZhY3RvciBhcHByb3ByaWF0ZWx5KQoKMjAwOS0wNi0wMSAyMzowMDo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4IChhbmQgdmFyaWFudHMpOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvLiAgRml4ZXMgIzU4NDM1OC4KCjIwMDktMDYtMTkgMTc6MDQ6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgRml4IHByZXZpb3VzIGNvbW1pdCBzbyB0aGF0IHRoaW5ncyBzdGlsbCB3b3JrIHdpdGggZGVidWcgbG9ncyBlbmFibGVkCgoyMDA5LTA2LTE5IDE2OjIxOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBNYWtlIGJ1aWxkIHdpdGhvdXQgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQKCjIwMDktMDYtMTYgMjE6MzQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IE1ha2UgcGx1Z2luIHNjYW5uaW5nIG1vcmUgcm9idXN0CgoyMDA5LTA2LTE2IDIxOjI3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTWFrZSBzdXJlIHRvIG9ubHkgcmVnaXN0ZXIgcGx1Z2lucyB0aGF0IGhhdmUgdmFsaWQgcHJvcGVydCB0eXBlcwoKMjAwOS0wNi0xNiAxOTo0Mjo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogUmVtb3ZlIGN1c3RvbSBnZXRfdW5pdF9zaXplIGltcGxlbWVudGF0aW9uCgkgIFRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGJ5IHRoZSBkZWZhdWx0IG9uZSBmcm9tIEdzdFZpZGVvRmlsdGVyCgoyMDA5LTA2LTE1IDE3OjA1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogRml4IHRoZSBrbGFzcyBvZiB0aGUgZmlsdGVyIGVsZW1lbnRzCgoyMDA5LTA2LTE0IDE5OjQxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBGcmVlIHR5cGUgbmFtZXMKCjIwMDktMDYtMTQgMTk6MzU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IFVucmVmIHRoZSBHc3RDb2xsZWN0UGFkcyBpbnN0YW5jZSBvbiBmaW5hbGl6ZQoKMjAwOS0wNi0xNCAxOToyNzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IERvbid0IGFsbG93IGNhcHMgY2hhbmdlcyBpbiBQTEFZSU5HL1BBVVNFRAoJICBNb3N0IGZyZWkwciBzb3VyY2UgcGx1Z2lucyBnZW5lcmF0ZSBvdXRwdXQgYmFzZWQgb24KCSAgcHJldmlvdXMgb3V0cHV0IGFuZCBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBvbiBjYXBzCgkgIGNoYW5nZXMgd2lsbCBsZXQgdGhlIG91dHB1dCBzdGFydCBhdCAwIGFnYWluLgoKMjAwOS0wNi0xNCAxOToyMTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSAgZnJlaXIwOiBBZGQgc3VwcG9ydCBmb3IgZnJlaTByIG1peGVyIHBsdWdpbnMKCjIwMDktMDYtMTMgMTA6MDY6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBEZXN0cm95IHRoZSBmMHJfaW5zdGFuY2VfdCBpbiBzdG9wKCkKCjIwMDktMDYtMTIgMjI6MDQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBBZGQgdGhlIGZyZWkwciBwbHVnaW4gdHlwZSB0byB0aGUgZWxlbWVudCBuYW1lCgkgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIGRpc3Rpbmd1aXNoIGdlbmVyYXRvcnMgZnJvbSBmaWx0ZXJzLCBldGMKCjIwMDktMDYtMTIgMjI6MDA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBBZGQgc3VwcG9ydCBmb3IgZnJlaTByIHNvdXJjZS9nZW5lcmF0b3IgcGx1Z2lucwoKMjAwOS0wNi0xMiAxNToxMzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEFsbG93IHRoZSBjb21wbGV0ZSBkb3VibGUgcmFuZ2UgZm9yIGRvdWJsZSBwcm9wZXJ0aWVzCgkgIFRoZSBzcGVjIHJlc3RyaWN0cyBpdCB0byBbMCwxXSBidXQgc29tZSBwbHVnaW5zIGFyZSB1c2luZyB0aGUKCSAgY29tcGxldGUgZG91YmxlIHJhbmdlLgoKMjAwOS0wNi0xMiAxNTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFVzZSBiZXR0ZXIgcHJvcGVydHkgbmlja3MKCjIwMDktMDYtMTIgMTQ6NTk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJICBmcmVpMHI6IEZpcnN0IHZlcnNpb24gb2YgYSBmcmVpMHIgd3JhcHBlciBwbHVnaW4KCSAgQ3VycmVudGx5IHRoaXMgb25seSBzdXBwb3J0cyBmcmVpMHIgZmlsdGVycy4KCjIwMDktMDYtMTQgMjA6MDA6NTEgKzAyMDAgIE1heGltaWxpYW4gSMO2Z25lciA8cGJtYXhpQGhvZWduZXJzLmRlPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBFeHBsaWNpdGVseSBjYXN0IHRvIHNpZ25lZCBpbnRlZ2VycyB0byBmaXggYSBzZWdmYXVsdAoJICBGaXhlcyBidWcgIzU4NTY2MC4KCjIwMDktMDYtMDkgMTk6MTQ6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBJbXBsZW1lbnQgYmFzaWMgUW9TCgkgIFRoaXMgY2hhbmdlIGlzIGJhc2VkIG9uIFRpbSdzIFFvUyBpbXBsZW1lbnRhdGlvbgoJICBmb3IganBlZ2RlYy4KCjIwMDktMDYtMDkgMTg6NDU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcm94eSBxdWVyaWVzIG9uIHRoZSB2aWRlbyBwYWRzIHRvIHRoZSBjb3JyZWN0IHBlZXJzCgoyMDA5LTA2LTA5IDE4OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJveHkgYnVmZmVyYWxsb2Mgb24gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMDYtMDkgMTg6MjU6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBUcnkgdG8gd29yayBpbnBsYWNlIGlmIHBvc3NpYmxlCgkgIFRoaXMgc2F2ZXMgb25lIG5ldywgbGFyZ2UgYWxsb2NhdGlvbiBwZXIgZnJhbWUgZm9yIHRoZQoJICBtb3N0IGNhc2VzLgoKMjAwOS0wNi0xNiAxODo0Njo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggc3RyYXkgc2VtaWNvbG9ucyB0aGF0IG1lc3MgdXAgaWYgc3RhdGVtZW50CgoyMDA5LTA2LTExIDEzOjQyOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogQnVtcCBjb21tb24gdG8gY29ycmVjdCB1cGxvYWQtZG9jLm1haywgZml4IGEgY29tbWVudCBpbiB0aGUgZG9jIE1ha2VmaWxlCgoyMDA5LTA2LTE4IDIwOjMzOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjEzLjEKCjIwMDktMDYtMTggMDg6NTM6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC4xMyByZWxlYXNlIGVudHJ5IHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTMgPT09CgoyMDA5LTA2LTE4IDA4OjI5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMwoKMjAwOS0wNi0xNyAyMTo1Njo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA2LTE2IDE3OjA5OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgZmlsZW5hbWUgYWZ0ZXIgY2FwdHVyZSB0byBhdm9pZCByYWN5IHdoZW4gY2FwdHVyaW5nIGFnYWluCgkgIElmIHdlIGRvbid0IHJlc2V0IHRoZSBmaWxlbmFtZSB3ZSBjYW5ub3QgY2hlY2sgaWYgd2Ugc3RpbGwgZXhwZWN0IHRoZSBmaWxlbmFtZQoJICBmb3IgYSBzdWJzZXF1ZW50IGNhcHR1cmUgcGFzcy4gVGhlIGltYWdlYmluIHdvdWxkIGdvb2QgdG8gcGF1c2VkIGFuZCB3ZSBzZXQgdGhlCgkgIGZpbGVuYW1lIGluIHRoYXQgc3RhdGUuIFRoaXMgdHJpZ2VycyBhbiBlcnJvci1tZXNzYWdlIGFuZCB3b3VsZCBjYXB0dXJlIHRvIHRoZQoJICBvbGQgZmlsZW5hbWUuCgoyMDA5LTA2LTEyIDEwOjI5OjIwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW51cHMgaW4gdGhlIHRlc3RzCgkgIFNwcmlua2xlIG1vcmUgbG9nZ2luZyB0byBtYWtlIGl0IGVhc2llciB0byBmb2xsb3cuIFNwZWNpZnkgYSBsb3cgZnJhbWVyYXRlIGFuZAoJICBjYXB0dXJlIHJlc29sdXRpb24gdG8gYXZvaWQgdGVzdHMgdGltaW5nIG91dC4gTWFrZSB0aGUgc2lua3Mgc3luYyB0byB0ZXN0IGNsb3NlcgoJICB0byByZWFsaXR5LiBGaXggTWFrZWZpbGUgdG8gdXNlIHVuaW5zdGFsbGVkIGludGVyZmFjZS4KCjIwMDktMDYtMTIgMTA6MjY6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgaW1hZ2ViaW4gdG8gUEFVU0VEIG9uIGNhcHR1cmUgYW5kIGRlbGF5ZWQgZmlsZW5hbWUgc2V0dGluZwoJICBXZSBuZWVkIHRvIHNldCBpbWFnZWJpbiB0byBQQVVTRUQgdG8gbm90IGZhaWwgdGhlIGJ1ZmZlcmFsbG9jLiBXZSBhbHNvIG5lZWQgdG8KCSAga2VlcCB0aGUgZmlsZXNpbmtzIHN0YXRlIGxvY2tlZCB1bnRpbCB3ZSBoYXZlIHRoZSBmaWxlbmFtZSBmb3IgdGhlIHJ1bi4KCjIwMDktMDYtMTIgMTA6MTQ6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogZG8gdGhlIHBhZF9hbGxvYyBmb3IgdGhlIHBhZCB0aGF0IGlzIHBlbmRpbmcgYW5kIGhhdmUgYSBmYWxsYmFjawoJICBXZSBzaG91bGQgZG8gdGhlIHBhZF9hbGxvYyBmb3IgdGhlIHBlbmRpbmcgcGFkIGlmIGFueSwgYXMgd2Ugd2lsbCBzd2l0Y2ggdG8gdGhhdAoJICBwYWQgb24gbmV4dCBfY2hhaW4oKSBjYWxsLiBBbHNvIGRvIGEgZmFsbGJhY2sgYWxsb2MsIGlmIHRoZXJlIGlzIG5vIG91dHB1dCB5ZXQgdG8KCSAgbm90IGZhaWwgc3RhdGUgdHJhbnNpdGlvbnMgaW4gZHluYW1pYyBwaXBlbGluZXMuCgoyMDA5LTA2LTExIDE2OjAwOjM2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBCdW1wIHdpbjMyIGNvbmZpZy5oIHZlcnNpb24gbnVtYmVyIHRvbwoKMjAwOS0wNi0wNSAyMjo0Mzo1MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMi4zIHByZS1yZWxlYXNlCgoyMDA5LTA2LTA2IDIxOjI4OjI3ICswNDAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkgIEFkZGVkIGJhc2UgbGlicyB0byBkZWJ1ZyB1dGlscyBtYWtlZmlsZQoJICBGaXhlcyAjNTg1MDE1CgoyMDA5LTA2LTA3IDEwOjU1OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIHRlc3RzL21ldGFkYXRhOiBEb24ndCB0cnkgdGFncyB3ZSBjYW4ndCBoYW5kbGUuIEZpeGVzICM1ODQ5NDUKCjIwMDktMDYtMDYgMTk6Mjg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkgIGhkdnBhcnNlOiBMaW5rIGFnYWluc3QgbGlibSBiZWNhdXNlIHdlIHVzZSBwb3coKS4KCjIwMDktMDYtMDYgMTM6NTM6MDQgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBEb24ndCBidWlsZCB0aGUgbXhmIGV4YW1wbGUgaWYgR1RLIGlzbid0IHByZXNlbnQuCgoyMDA5LTA2LTA2IDEzOjE3OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgYXBleHNpbms6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBGaXggY29tcGlsZSB3YXJuaW5ncyBvbiBzb2xhcmlzIGZyb20gYnplcm8gbm90IGJlaW5nIGRlY2xhcmVkICh1c2UKCSAgbWVtc2V0IGluc3RlYWQpLCBhbmQgc3RyaWN0LWFsaWFzaW5nIHdhcm5pbmdzICh1c2UgYSB0ZW1wb3JhcnkKCSAgdmFyaWFibGUpLgoKMjAwOS0wNi0wNiAwMjozNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGluaXQgZ2VucmUgZmllbGQgaW4gSUQzdjEgdGFnIHRvIGFuIGludmFsaWQgbnVtYmVyCgkgIFNvIHRoYXQgaXQgaXMgbm90IGludGVycHJldGVkIGFzICdCbHVlcycgaWYgbm8gZ2VucmUgaXMgdG8gYmUgd3JpdHRlbi4KCjIwMDktMDYtMDYgMDE6MDU6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSAgaWQzbXV4OiBkb24ndCB3cml0ZSBJRDN2MSB0YWcgdW50aWwgc3BlY2lmaWNhbGx5IGluc3RydWN0ZWQgdG8gZG8gc28KCSAgSUQzdjEgdGFncyBhcmUgb25lIG9mIHRoZSBtb3N0IGJyb2tlbiBhbmQgaWxsLWRlc2lnbmVkIHRoaW5ncyB0aGF0CgkgIGV4aXN0IG9uIHRoaXMgcGxhbmV0LiBMZXQncyBub3Qgd3JpdGUgdGhlbSBieSBkZWZhdWx0LgoKMjAwOS0wNi0wNiAwMDo1ODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGRvbid0IHdyaXRlIGVtcHR5IElEM3YxIHRhZwoKMjAwOS0wNi0wNiAwMDozOToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzdGFnOiByZW5hbWUgbmV3IGlkM3RhZyBlbGVtZW50IHRvIGlkM211eCByZXBsYWNpbmcgdGhlIG9uZSByZW1vdmVkIGZyb20gLXVnbHkKCjIwMDktMDYtMDUgMjM6NTI6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICBuc2Y6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIFNvbGFyaXMuCgkgIEEgU0VDKCkgbWFjcm8gYWxyZWFkeSBleGlzdHMgb24gU29sYXJpcywgY2F1c2luZyB3YXJuaW5ncyBhYm91dAoJICByZWRlZmluaW5nIGl0LgoKMjAwOS0wNi0wNSAyMjoyMDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRml4IHRoZSBidWlsZCBvbiBDb21tYW5kZXIgVGhheXRhbidzIFMxMFNQCgoyMDA5LTA2LTA1IDE5OjUzOjA5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IElnbm9yZSBzaGFwZXdpcGUgdW5pdCB0ZXN0IGJpbmFyeQoKMjAwOS0wNi0wNSAxOTozMjoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIE1vdmVkICd4MjY0ZW5jJyBmcm9tIC1iYWQgdG8gLXVnbHkKCjIwMDktMDYtMDUgMjE6MTc6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGZpeCBsaW5rIG9yZGVyCgkgIE1vdmUgbG9jYWwgdmVyc2lvbiB1cCBpbiB0aGUgbGluayBvcmRlci4KCjIwMDktMDYtMDUgMjA6MjI6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEVtaXQgYSBHU1RfTUVTU0FHRV9FTEVNRU5UIHdpdGggc29tZSBnb29kbmVzcyBpbiBpdC4KCjIwMDktMDYtMDUgMTA6NDk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFkZCBtZXRob2RzIHRvIGdldCBuYW1lcyBvZiB2YXJpb3VzIHZhbHVlcy4KCjIwMDktMDYtMDUgMTA6NDg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBIRFYgcHJpdmF0ZSBzdHJlYW0gZGVmaW5pdGlvbi9jYXBzLgoKMjAwOS0wNi0wNSAxMDo0Nzo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogUmV3cml0ZSBmcm9tIHNjcmF0Y2guIEhhbmRsZSBib3RoIGhkdi1hIGFuZCBoZHYtdgoJICBUaGlzIHRpbWUgd2UgYW5hbHl6ZSBhIGxvdCBtb3JlIGluZm9ybWF0aW9uLgoJICBTdGlsbCBuZWVkIHRvIHJlLWFkZCB0aGUgbWVzc2FnZSBlbWlzc2lvbi4KCjIwMDktMDYtMDUgMTY6NDg6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGNvcnJlY3QgZnJhbWVzaXplIHJhbmdlCgkgIEEgQ0VMVCBmcmFtZXNpemUgY2FuIGJlIGJldHdlZW4gNjQgYW5kIDUxMiBzYW1wbGVzLgoJICBGaXggYSB0eXBvIGluIHRoZSBiaXRyYXRlIHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAwOS0wNS0yNyAxMTozMzowMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcHJldmlldyBpbWFnZSBzZW5kaW5nIG9wdGltaXphdGlvbgoJICAqIGRlY291cGxlIGltYWdlIGNhcHR1cmluZyBmcm9tIGltYWdlIHBvc3QtcHJvY2Vzc2luZyBhbmQgZW5jb2RpbmcKCSAgKiBwb3N0IGltYWdlLWNhcHR1cmVkIG1lc3NhZ2UgYWZ0ZXIgaW1hZ2UgaXMgY2FwdHVyZWQKCSAgKiBwb3N0IHByZXZpZXctaW1hZ2UgbWVzc2FnZSB3aXRoIHNuYXBzaG90IG9mIGNhcHR1cmVkIGltYWdlCgoyMDA5LTA1LTE5IDE2OjU4OjM2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9zZSBwb3N0IHByb2Nlc3NpbmcgZWxlbWVudCBpbiBmaXJzdCByZXNldAoKMjAwOS0wNS0xMiAxMjo0OTozMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGFkZCBkZWJ1ZyBpbmNsdWRpbmcgZG90IGdyYXBoIHdyaXRpbmcKCjIwMDktMDUtMDUgMTQ6MTk6NDYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdW5ibG9jayBpZiBlcnJvciBvY2N1cnMgZHVyaW5nIGNhcHR1cmUKCjIwMDktMDUtMDQgMTA6MzM6MTggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBpZ25vcmUgbmlnaHQgbW9kZSBoYW5kbGluZyBpZiBhbHJlYWR5IGluIG5pZ2h0IG1vZGUKCjIwMDktMDUtMDQgMTA6MzI6MTAgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc3RvcCBvbmdvaW5nIGNhcHR1cmUgaWYgY2hhbmdpbmcgcmVzb2x1dGlvbgoKMjAwOS0wNC0yMyAxODoxNTo0MyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGxpbWl0IHRoZSBzaXplIG9mIHZpZGVvIGJpbiBxdWV1ZSBsZWFkaW5nIHRvIHZpZXcgZmluZGVyCgkgIFdlIGRvbid0IHdhbnQgdG8gc2hvdyBvbGQgYnVmZmVycyBpbiB2aWV3IGZpbmRlci4KCjIwMDktMDQtMjIgMTI6Mjk6MTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5oOgoJICBjYW1lcmFiaW46IGRvbid0IHByb3h5IGdzdCB4b3ZlcmxheSBpbnRlcmZhY2UKCSAgRGVmYXVsdCB2aWV3IGZpbmRlciBzaW5rIGluIGNhbWVyYWJpbiBpcyBhdXRvdmlkZW9zaW5rIHdoaWNoIGRvZXNuJ3QKCSAgc3VwcG9ydCB4b3ZlcmxheSBpZmFjZS4gSWYgYXBwbGljYXRpb24gZGVjaWRlcyB0byB1c2UgYW5vdGhlciBzaW5rCgkgIHRoYXQgc3VwcG9ydHMgeG92ZXJsYXksIHRoZW4gaXQgY2FuIHVzZSB0aGUgaW50ZXJmYWNlIGRpcmVjdGx5LgoKMjAwOS0wNC0yMCAxNzowNjoxNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGFsbG93IGNvbmZpZ3VyaW5nIHBob3RvZ3JhcGh5IHNldHRpbmdzIHdoZW4gaW4gTlVMTCBzdGF0ZQoJICBDYWNoZSB0aGUgcGhvdG9ncmFwaHkgc2V0dGluZ3MgaWYgc2V0IGluIE5VTEwgc3RhdGUgYW5kIGFwcGx5IHRoZW0gbGF0ZXIKCjIwMDktMDQtMjAgMTc6MDU6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgZnVuY3Rpb25zIHRvIHNldC9nZXQgYWxsIHNldHRpbmdzIHdpdGggb25lIGNhbGwKCjIwMDktMDMtMDkgMTg6MDA6NDUgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY3JvcCBzdGlsbCBpbWFnZSBjYXB0dXJlIGZyYW1lIGlmIG5lY2Vzc2FyeQoJICBJZiBpbmNvbWluZyBzdGlsbCBpbWFnZSBjYXB0dXJlIGZyYW1lIGFzcGVjdCByYXRpbyBkaWZmZXJzIGZyb20gYXNwZWN0CgkgIHJhdGlvIHRoYXQgYXBwbGljYXRpb24gcmVxdWVzdGVkLCB0aGVuIGFwcGx5IGNyb3AgdG8gdGhlIGZyYW1lLgoKMjAwOS0wNi0wNSAxMDoyNToyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSAgZG9jczogYWRkIGluc3BlY3QgZmlsZXMgZm9yIG5ldyBwbHVnaW5zCgoyMDA5LTA2LTA1IDEwOjE2OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgZG9jczogZml4IGJ1aWxkIG9mIHBsdWdpbiBkb2NzIGJ5IHVwZGF0aW5nIGluc3BlY3QgdGVtcGxhdGVzCgkgIFRoZSB4bWwgaW5zcGVjdCBkYXRhIG9mIHRoZSBkZWJ1Z3V0aWxzYmFkIHBsdWdpbiBkaWRuJ3QgY29udGFpbiB0aGUKCSAgZGF0YSBmb3IgdGhlIGZwc2Rpc3BsYXlzaW5rIGVsZW1lbnQgKHNvbWVvbmUgcHJvYmFibHkgcmFuICdtYWtlIHVkcGF0ZScKCSAgaW4gZG9jcy9wbHVnaW5zIHdpdGggdGhlIG9sZCBsaWJnc3RmcHNkaXNwbGF5c2luay5zbyBmcm9tIGJlZm9yZSB0aGUKCSAgcmVuYW1lIHN0aWxsIGFyb3VuZCkuCgoyMDA5LTA2LTA1IDEwOjM0OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy94bWwvZWxlbWVudC1mcHNkaXNwbGF5c2luay1kZXRhaWxzLnhtbDoKCSAgUmV2ZXJ0ICJkb2NzOiBhZGQgZG9jIGZpbGUgZnJvIG5ldyBwbHVnaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDM5ZWYzZWIwNzI1NTViN2NhMzhmYzM1MWNhMzg2YmI2ODBjY2NjYy4KCSAgV2UgZG9uJ3QgdHJhY2sgdGhlIHN0dWZmIGluIHhtbC8gaW4gZ2l0LgoKMjAwOS0wNi0wNSAxMToxODozMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL3htbC9lbGVtZW50LWZwc2Rpc3BsYXlzaW5rLWRldGFpbHMueG1sOgoJICBkb2NzOiBhZGQgZG9jIGZpbGUgZnJvIG5ldyBwbHVnaW4KCjIwMDktMDYtMDEgMTY6MzE6NDIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IHNlcmlhbGl6ZSBzZXR0aW5nIGFuZCBhY3R1YWwgY2hhbmdpbmcgb2YgbmV3IGFjdGl2ZSBwYWQKCjIwMDktMDUtMDQgMTI6Mjk6NTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IHVucmVmIGxhdGVzdCBidWZmZXIgYWxzbyB3aGVuIHJlc2VuZGluZyBoYXMgYmVlbiBkaXNhYmxlZAoKMjAwOS0wNC0xNiAxNzozMjowMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3Rvcjoga2VlcCByZWYgdG8gYnVmZmVyIGZvciByZXNlbmRpbmcgb25seSBpZiBleHBsaWNpdGx5IHJlcXVlc3RlZAoKMjAwOS0wNi0wNCAxOTowODoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGRvbid0IGxlYWsgcGFkcyBpbiBpdGVyYXRvcgoKMjAwOS0wNi0wNCAxNjoyOTozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICBtcGVnZGVtdXg6IEFkZCBhIEdTVF9NRU1EVU1QIGxpbmUgaW4gdGhlIGRlc2NyaXB0b3IgcGFyc2luZwoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlZSBkZXNjcmlwdG9yIGNvbnRlbnRzIGluIHRoZSBkZWJ1ZyBvdXRwdXQKCSAgKEdTVF9ERUJVRz1tcGVndHNkZXNjOjkpLCBhbmQgcmVtb3ZlIGEgc3RyYXkgc2VtaS1jb2xvbi4KCjIwMDktMDYtMDQgMTY6MTE6MTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHBhc3NpbmcgdGhlIGN1c3RvbSBHU1RfRkxPV19ORUVEX01PUkVfREFUQSB1cHN0cmVhbQoJICBEb24ndCByZXR1cm4gR1NUX0ZMT1dfTkVFRF9NT1JFX0RBVEEgZnJvbSB0aGUgY2hhaW4gZnVuY3Rpb24gYXQgdGhlIGVuZAoJICBvZiBmaWxlcy4KCjIwMDktMDYtMDQgMDg6NTY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogTm90aWZ5IHdoZW4gdGhlIHRhZ3MgcHJvcGVydHkgb2YgdGhlIHNlbGVjdG9yIHNpbmtwYWRzIGNoYW5nZXMKCSAgRmlyc3QgcGFydCBvZiBidWcgIzU4NDY4Ni4KCjIwMDktMDYtMDQgMDg6NTY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW5jcmVhc2UgdGltZW91dCBvZiB0aGUgdW5pdCB0ZXN0CgoyMDA5LTA2LTAzIDIzOjM1OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDA5LTA2LTAyIDExOjM2OjAxICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHR3byBuZXcgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMDktMDYtMDIgMTE6MjM6MzcgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgIGR2ZHNwdTogYWRkIG1pc3NpbmcgaGVhZGVyIHRvIE1ha2VmaWxlLmFtOiBnc3RzcHUtY29tbW9uLmgKCjIwMDktMDYtMDIgMDE6MDk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICBkaXJhYzogdXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIGMrKyBjb21waWxlcnMKCSAgRml4ZXMgY29tcGlsZXIgbWVzc2FnZSBhYm91dCBwYXNzaW5nIC1XZGVjbGFyYXRpb24tYWZ0ZXItc3RhdGVtZW50CgkgIHRvIHRoZSBDKysgY29tcGlsZXIuCgoyMDA5LTA2LTAxIDE1OjUzOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHNhbXBsZSByYXRlIGV4dHJhY3Rpb24gZnJvbSBjb2RlYyBkYXRhCgkgIEluIG9uZSBjYXNlIHdlIGV4dHJhY3RlZCB0aGUgc2FtcGxlIHJhdGUgaW5kZXggZnJvbSB0aGUgY29kZWMgZGF0YQoJICBhbmQgc2F2ZWQgaXQgYXMgc2FtcGxlIHJhdGUgcmF0aGVyIHRoYW4gZ2V0dGluZyB0aGUgcmVhbCBzYW1wbGUKCSAgcmF0ZSBmcm9tIHRoZSB0YWJsZS4gRml4IHRoYXQsIGFuZCBhbHNvIG1ha2Ugc3VyZSB3ZSBkb24ndCBhY2Nlc3MKCSAgbm9uLWV4aXN0YW50IHRhYmxlIGVudHJpZXMgYnkgYWRkaW5nIGEgc21hbGwgaGVscGVyIGZ1bmN0aW9uIHRoYXQKCSAgZ3VhcmRzIGFnYWluc3Qgb3V0LW9mLWJvdW5kcyBhY2Nlc3MgaW4gY2FzZSBvZiBpbnZhbGlkIGlucHV0IGRhdGEuCgoyMDA5LTA2LTAxIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgYWFjcGFyc2UsIGFtcnBhcnNlOiByZW1vdmUgYm9ndXMgZ3N0X3BhZF9maXhhdGVfY2FwcygpIGNhbGxzCgoyMDA5LTA2LTAxIDEzOjU2OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BhZ2F0ZSByZXR1cm4gdmFsdWUgb2YgR3N0QmFzZVBhcnNlOjpzZXRfc2lua19jYXBzKCkKCSAgZ3N0X2Jhc2VfcGFyc2Vfc2lua19zZXRjYXBzKCkgcHJlc3VtYWJseSBzaG91bGQgZmFpbCBpZiB0aGUgc3ViY2xhc3MKCSAgcmV0dXJucyBGQUxTRSBmcm9tIGl0cyA6OnNldF9zaW5rX2NhcHMoKSBmdW5jdGlvbi4KCjIwMDktMDYtMDEgMTM6NDc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZG9uJ3QgdHJ5IHRvIEdTVF9MT0cgYW4gYWxyZWFkeS1mcmVlZCBjYXBzIHN0cmluZwoJICBUaGUgcHJvcGVyIHdheSB0byBsb2cgY2FwcyBpcyB2aWEgR1NUX1BUUl9GT1JNQVQgYW55d2F5LgoKMjAwOS0wNi0wMSAxMzowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiBvdXRwdXQgY2FwcywgYW5kIGtlZXAgY29kZWNfZGF0YQoJICBDcmVhdGUgb3V0cHV0IGNhcHMgZnJvbSBpbnB1dCBjYXBzLCBzbyB3ZSBtYWludGFpbiBhbnkgZmllbGRzIHdlCgkgIG1pZ2h0IGdldCBvbiB0aGUgaW5wdXQgY2Fwcywgc3VjaCBhcyBjb2RlY19kYXRhIG9yIHJhdGUgYW5kIGNoYW5uZWxzLgoJICBTZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gdGhlIG91dHB1dCBjYXBzIGlmIHdlIGRvbid0IGhhdmUgaW5wdXQgY2FwcwoJICBvciB0aGV5IGRvbid0IGNvbnRhaW4gc3VjaCBmaWVsZHMuIFdlIGRvIHRoaXMgcGFydGx5IGJlY2F1c2Ugd2UgY2FuLAoJICBidXQgYWxzbyBiZWNhdXNlIHNvbWUgbXV4ZXJzIG5lZWQgdGhpcyBpbmZvcm1hdGlvbi4gVGFncmVhZGJpbiB3aWxsCgkgIGFsc28gYmUgaGFwcHkgYWJvdXQgdGhpcy4KCjIwMDktMDYtMDEgMjI6NDI6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IGVuaGFuY2UgZnR5cCBicmFuZCBoZXVyaXN0aWMuICBGaXhlcyAjNTg0MzYwLgoKMjAwOS0wNi0wMSAyMToyNDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBzb21lIGlzc3VlcyB0aGF0IHdlcmUgZXhwb3NlZCBieSB0aGUgbmV3IHVuaXQgdGVzdAoKMjAwOS0wNi0wMSAyMToyNDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIHVuaXQgdGVzdCBmb3Igc2hhcGV3aXBlCgoyMDA5LTA1LTMxIDIxOjMzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNS0zMSAyMDoyNDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBpbmNsdWRlIGdsaWIuaCBiZWZvcmUgY2hlY2tpbmcgaWYgR19PU19XSU4zMiBpcyBkZWZpbmVkCgoyMDA5LTA1LTMxIDIwOjIzOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgc2hhcGV3aXBlIGV4YW1wbGUgYmluYXJ5CgoyMDA5LTA1LTMxIDE4OjIzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBTZXR0aW5nIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCBwaWNrZWQgdXAgYnkgcGxheWJpbjIuCgoyMDA5LTA1LTMxIDE4OjIzOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBFbWl0IGFwcGxpY2F0aW9uIG1lc3NhZ2Ugd2l0aCB0aGUgcGFyc2VkIGluZm9ybWF0aW9uLgoKMjAwOS0wNS0zMSAxNDoxNToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmg6CgkgIGhkdnBhcnNlOiBOZXcgZWxlbWVudCBmb3IgcGFyc2luZyBwcml2YXRlL2hkdi1hMSBzdHJlYW1zLgoKMjAwOS0wNS0yOSAyMTowNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkanVzdCBib3JkZXIgdG8gc3RpbGwgaGF2ZSBldmVyeXRoaW5nIHRyYW5zcGFyZW50IGF0IDEuMCBhbmQgdGhlIG90aGVyIHdheSBhcm91bmQKCjIwMDktMDUtMjkgMTY6NTU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogRGl2aWRlIHRoZSBib3JkZXIgdmFsdWUgYnkgdHdvLCBvdGhlcndpc2Ugd2UgdXNlIGEgdHdpY2UgYSB3aWRlIGJvcmRlcgoKMjAwOS0wNS0yOSAxNjo1MTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgYm9yZGVyIHByb3BlcnR5IHRvIGFsbG93IHNtb290aCBib3JkZXJzCgkgIC4uLmFuZCB1c2UgYSBib3JkZXIgb2YgMC4wMSBpbiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCjIwMDktMDUtMjkgMTU6NDQ6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBib2d1cyB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIGFjY2VzcwoJICBUeXBvIGluIHRoZSBwcmV2aW91cyBjb21taXQKCjIwMDktMDUtMjkgMTU6MDE6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFVzZSB0aGUgSVNPIDYzOSBsYW5ndWFnZSBjb2RlIGRlc2NyaXB0b3IgdG8gc2VuZCB0YWdzLgoJICBJZiB0aGVyZSBpcyBhbiBJU08gNjM5IGxhbmd1YWdlIGRlc2NyaXB0b3IgZm9yIGEgc3RyZWFtLCBzZW5kIGEgbGFuZ3VhZ2UKCSAgY29kZSB0YWcgc28gdGhhdCBwbGF5ZXJzIGNhbiBzaG93IGEgbWVhbmluZ2Z1bCBsYW5ndWFnZSBmb3IgdGhlIGF1ZGlvIGFuZAoJICBzdWJ0aXRsZSBzdHJlYW1zLgoKMjAwOS0wNS0yOSAxNjowMDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkgIHNoYXBld2lwZTogRml4IE1ha2VmaWxlIG9mIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI5IDE1OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogQWRkIGEgc2ltcGxlIHNoYXBld2lwZSB0cmFuc2l0aW9uIGZpbHRlciAmIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjggMTc6Mzc6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IFRyYW5zZm9ybSB0aGUgcmlnaHQgc2Vzc2lvbiBzZGVzIG1lc3NhZ2UKCSAgRml4ZXMgIzU4NDE2NQoKMjAwOS0wNS0yOCAxNzozMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEFkZCBzc3JjIHRvIGFwcGxpY2F0aW9uL3gtcnRwLXNvdXJjZS1zZGVzIHN0cnVjdHVyZQoKMjAwOS0wNS0yOCAyMzoxMjoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgQS1MYXcgYW5kIMK1LUxhdwoKMjAwOS0wNS0yOCAyMzowODoxNyArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGdzdHNwdTogRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgRml4IHNvbWUgd2FybmluZ3MgZm9yIGZvcm1hdCBzdHJpbmcgYXJncyBhbmQgdW5pbml0aWFsaXplZCB2YXJzIG9uIE9TL1gKCSAgRml4ZXM6ICM1ODQxNjQKCSAgU2lnbmVkLW9mZi1ieTogSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKMjAwOS0wNS0yOCAxMzo1NjoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGRpZmZlcmVudCBzdHNkIGF0b20gdHlwZSBmb3IgSDI2MyBmb3IgSVNPIGFuZCBRVCB2YXJpYW50cwoJICBGaXhlcyAjNTg0MTE0LgoKMjAwOS0wNS0yOCAxMzowNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IGZpeCBkZXRlY3Rpb24gb2YgbGlic291bmR0b3VjaCA+PSAxLjQKCjIwMDktMDUtMjggMTM6MDk6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogY29uc2lkZXIgaGVhZGVyIHNpemUgaW4gYnl0ZSA8LT4gdGltZSBjb252ZXJzaW9ucwoKMjAwOS0wNS0yNiAxOTo0Mzo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggZGVidWcgY2F0ZWdvcnkKCjIwMDktMDUtMjggMTA6Mzg6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICBzZWxlY3RvcjogcmVtb3ZlIG5vdCBuZWVkZWQgaW5zdGFuY2UgdmFyIChwcmV2aW91cyBjb21taXQpLgoKMjAwOS0wNS0xMSAxNjoxMjo1NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogd2hlbiBzdG9wcGluZyBwbGF5YmFjaywgZG8gb25lIG1vcmUgY3ljbGUgdG8gZmx1c2ggdGhlIHBvcnQuIEZpeGVzICM1ODIxNjcKCSAgVGhlIGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKCkgZmxhZ3MgdGhlIHBvcnQgYXMgZGVhY3RpdmF0aW5nIGFuZCB1c2VzCgkgIGEgR0NvbmQgdG8gd2FpdCB1bnRpbCB0aGUgamFja19wcm9jZXNzX2NiKCkgaGFzIHJ1biBvbmNlIG1vcmUgYW5kIGNsZWFyZWQgdGhlCgkgIGZsYWcuIFRoaXMgd2F5IHRoZSBjbGllbnQgemVybydzIHRoZSBidWZmZXIuIFRoaXMgaGFwcGVucyBpZiBvbmUgbWFueWFsbHkgZ28KCSAgdG8gUEFVU0VEIGFuZCB0aGVuIHRvIFJFQURZLCB3aGlsZSBsZXRpbmcgdGhlIG1haW5sb29wIHJ1biBpbmJldHdlZW4uCgoyMDA5LTA1LTI4IDEwOjEyOjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgIG91dHB1dHNlbGVjdG9yOiBpbXBsZW1lbnQgcGFkX2FsbG9jIG9uIGFjdGl2ZSBwYWQuCgoyMDA5LTA1LTI3IDIyOjU0OjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDcmVhdGUgYWxsIHRoZSBhdWRpbyBzdHJlYW1zIG9mIGFsbCBmb3JtYXRzCgkgIEVuYWJsZSBjcmVhdGlvbiBvZiB0aGUgZGVtdXhlciBwYWRzIGZvciBhbGwgYXVkaW8gc3RyZWFtcywgZXZlbiB0eXBlcyB3ZQoJICBkb24ndCB5ZXQgc3VwcG9ydC4gVGhpcyBtZWFucyB0aGF0IHVuc3VwcG9ydGVkIHR5cGVzIChMUENNLCBEVFMpIGFyZSBvdXRwdXQsCgkgIGJ1dCBub3QgbGlua2VkIHRvIGFueXRoaW5nIHlldC4gSWYgb25seSB1bnN1cHBvcnRlZCBzdHJlYW1zIGFyZSBhdmFpbGFibGUsCgkgIHRoZSB1c2VyIGhlYXJzIHNpbGVuY2UgaW5zdGVhZCBvZiBoYXZpbmcgdGhlIHBpcGVsaW5lIG5vdCBwcmUtcm9sbCBjb3JyZWN0bHkuCgkgIFRoaXMgaXMgYSBwcmVyZXF1aXNpdGUgZm9yIGhvb2tpbmcgdXAgdGhlIGF1dG9tYXRpYyBkZWNvZGVyIHN3aXRjaGluZy4KCjIwMDktMDUtMjcgMTE6MDM6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IHRoZSBuZXR3b3JrIGFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlcgoJICBCcmluZyB0aGUgbmV0d29yayBhZGRyZXNzIGluIG5ldG93a3IgYnl0ZSBvcmRlciB0byB0aGUgaG9zdCBvcmRlci4KCjIwMDktMDUtMjcgMDA6NTE6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBnc3RzcHU6IENvbnZlcnQgZ193YXJuaW5ncyB0byBHU1RfRVJST1IsIGFuZCBmaXggZm9ybWF0IHNwZWNpZmllcnMKCSAgVXNlIEdfR1NTSVpFX0ZPUk1BVCBmb3IgcHJpbnRpbmcgcG9pbnRlciBkaWZmZXJlbmNlcywgd2hpY2ggc2hvdWxkIHdvcmsgb24KCSAgYm90aCAzMi1iaXQgYW5kIDY0LWJpdCBzeXN0ZW1zLgoJICBVc2UgR1NUX0VSUk9SIGluc3RlYWQgb2YgZ193YXJuaW5nIGZvciBwcmludGluZyBtZXNzYWdlcyBhYm91dCB1bmtub3duCgkgIHBhY2tldCBjb250ZW50cy4KCjIwMDktMDUtMjcgMDA6NDc6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZ3N0c3B1OiBGaXggYSBuYXN0eSByZWdyZXNzaW9uLCB3aXRoIERWRHMgcmFuZG9tbHkgY3Jhc2hpbmcKCSAgVXNlIHRoZSBsb2NhbCB3cmFwcGVyIGZ1bmN0aW9uIHdoZW4gY2xlYXJpbmcgdGhlIGNvbXBvc2l0aW5nIGJ1ZmZlcnMgdG8KCSAgZW5zdXJlIHRoZSBjb3JyZWN0IHBvcnRpb24gaXMgYmVpbmcgY2xlYXJlZC4KCjIwMDktMDUtMjYgMTk6Mzg6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IExQQ00gc3RyZWFtcyBhcmUgb25seSBmcm9tIDB4YTAgdG8gMHhhZi4KCSAgRml4IHRoZSBzYW1lIGJ1ZyBhcyB0aGUgcHJldmlvdXMgY29tbWl0LCBidXQgaW4gcmVzaW5kdmQncyBjb3B5IG9mCgkgIG1wZWdkZW11eC4KCjIwMDktMDUtMjYgMTg6NDc6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogT25seSB0cmVhdCBzdHJlYW1zIGZyb20gMHhhMCB0byAweGFmIGFzIExQQ00sIG5vdCAweGEwLi4weGJmCgkgIERvbid0IHRyZWF0IHNvbWUgc3RyZWFtcyAoUHJpdmF0ZSBTdHJlYW0gMikgYXMgTFBDTSB3aGVuIHRoZXkncmUgbm90LiBGaXhlcwoJICBwbGF5YmFjayBvZiBmaWxlcyB0aGF0IGhhdmUgcHJpdmF0ZSBzdHJlYW1zIGluIHRoZW0gbm93IHRoYXQgdGhlIFBFUyBmaWx0ZXIKCSAgZW1pdHMgc3VjaCBwYWNrZXRzLgoKMjAwOS0wNS0yNiAxODo0MzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBmaXggcHJpbnRmIGZvcm1hdHMgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDUtMjYgMTc6MTk6MzUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFiMTFkMSB0byBjNTcyNzIxCgoyMDA5LTA1LTIzIDIzOjE5OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGdzdHNwdTogSW1wbGVtZW50IFBHUyByZW5kZXJpbmcgYW5kIGFscGhhIGJsZW5kaW5nCgkgIFJlZmFjdG9yIHRoZSBEVkQgc3VicGljdHVyZSBjb21wb3NpdGluZywgc3dpdGNoaW5nIGl0IHRvIDgtYml0IGFscGhhCgkgIGNhbGN1bGF0aW9ucy4gUmV1c2Ugc29tZSBvZiB0aGUgcmVzdWx0aW5nIGNvZGUgdG8gaW1wbGVtZW50IFBHUwoJICBzdWJwaWN0dXJlIGJsZW5kaW5nLgoJICBJbXBsZW1lbnQgcGFyc2luZyBhbmQgY29sbGVjdGluZyBvZiBjb21wb3NpdGlvbiBvYmplY3RzIHByb3Blcmx5LCBidXQKCSAgYXNzdW1pbmcgYSBzaW5nbGUgYWN0aXZlIHdpbmRvdyBhbmQgY29sb3VyIHBhbGV0dGUgZm9yIG5vdy4gSSBuZWVkIG1vcmUKCSAgUEdTIHNhbXBsZXMuCgoyMDA5LTA1LTIyIDExOjEzOjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogTW92ZSBhIGJ1bmNoIG9mIHZvYnN1YiBzcGVjaWZpYyBsb2dpYyB0byBhIHNlcGFyYXRlIGZpbGUuCgkgIFN0YXJ0IHNlcGFyYXRpbmcgb3V0IHRoZSB2b2JzdWIgbG9naWMgaW4gcHJlcGFyYXRpb24gZm9yIGNyZWF0aW5nCgkgIHNlcGFyYXRlIHJlbmRlcmVyIG9iamVjdHMgZm9yIGVhY2ggc3VicGljdHVyZSBmb3JtYXQuCgoyMDA5LTA1LTIyIDExOjEyOjUyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBBZGQgY29weXJpZ2h0IGhlYWRlciBhbmQgaW5jbHVkZXMgdG8gdGhlIFBHUyBoYW5kbGVyCgoyMDA5LTA1LTIyIDEwOjE1OjQ0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBNYWtlIHRoZSBQR1MgZHVtcGluZyBsZXNzIHZlcmJvc2UKCjIwMDktMDUtMjEgMjM6NDU6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQ29sbGVjdCBlbnRpcmUgUEdTIHBhY2tldHMgYW5kIHF1ZXVlIGFzIGV2ZW50cwoJICBDb2xsZWN0IGZyYWdtZW50ZWQgUEdTIHBhY2tldHMgYW5kIHN1Ym1pdCBhcyBjb21wbGV0ZSBldmVudHMgZm9yCgkgIHByb2Nlc3NpbmcgYXQgdGhlIGNvcnJlY3QgbW9tZW50LgoKMjAwOS0wNS0yMCAwODo1NTo0MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJICBkdmRzcHU6IEFkZCBzaW1wbGUgUEdTIGhhbmRsZXIgdGhhdCBkdW1wcyB0aGUgcGFja2V0IGluZm8KCSAgQWRkIHNldGNhcHMgbG9naWMgb24gdGhlIHN1YnBpY3R1cmUgc2luayBwYWQgZm9yIGNvbmZpZ3VyaW5nCgkgIHdoaWNoIHN1YnBpY3R1cmUgZm9ybWF0IGlzIGFycml2aW5nLgoJICBBZGQgdGhlIGZpcnN0IHBpZWNlIG9mIFBHUyBzdWJwaWN0dXJlIGhhbmRsaW5nIGJ5IGR1bXBpbmcgdGhlIHN0cmVhbQoJICBjb250ZW50cyBvdXQgdG8gdGhlIHRlcm1pbmFsIGFzIHRoZSBwYWNrZXRzIGFycml2ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Zy4KCSAgRG9uJ3QgY2FsY3VsYXRlIHRoZSBydW5uaW5nIHRpbWUgZm9yIG91ciBzdWJwaWN0dXJlIHBhY2tldHMgdHdpY2UsCgkgIG9uY2UgaXMgZW5vdWdoLgoKMjAwOS0wNS0yMSAxNToyMjo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZGQgYSBzaW1wbGUgZGVmYXVsdCBjb2xvdXIgdGFibGUuCgkgIFdoZW4gd2UncmUgbm90IHByb3ZpZGVkIHdpdGggYSBwYWxldHRlIGluIGFkdmFuY2UsIGRyYXcgd2l0aCBhIGdyZXkKCSAgY29sb3VyIG9yIHR3bywgaW5zdGVhZCBvZiBZVVYgZ3JlZW4uCgoyMDA5LTA1LTIxIDExOjEzOjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzcGFyc2Ugc3RyZWFtIGZpbGxpbmcuCgkgIEZpcnN0IHN0YWIgYXQgc2VuZGluZyBuZXctc2VnbWVudCBldmVudHMgdG8gZWZmZWN0IHNwYXJzZSBzdHJlYW0KCSAgdXBkYXRlcy4KCjIwMDktMDUtMjEgMDA6NDE6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHN1cHBvcnQgZm9yIG91dHB1dHRpbmcgc3ViLXBpY3R1cmUgc3RyZWFtcyBmb3VuZCBpbiBmaWxlcy4KCSAgT3V0cHV0IHN1YnBpY3R1cmUgc3RyZWFtcyB3aGVuIHRoZXkgYXJlIGZvdW5kIG9uIHRoZSBwcml2YXRlIHN0cmVhbSBJRC4KCSAgRG9uJ3Qgc3RyaXAgb2ZmIHRoZSBmaXJzdCBieXRlIG9mIHN1Y2ggcGFja2V0cyB3aGVuIHB1c2hpbmcuCgoyMDA5LTA1LTIwIDA4OjUwOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJICBtcGVndHNkZW11eDogQWRkIG1hcHBpbmcgZm9yIERWRCBhbmQgQmx1cmF5IHN1YnBpY3R1cmUgc3RyZWFtcy4KCSAgQWRkIG91dHB1dCBzdWJwaWN0dXJlIHBhZHMgZm9yIERWRCAodmlkZW8veC1kdmQtc3VicGljdHVyZSkgYW5kIEJsdXJheSBQR1MKCSAgKHN1YnBpY3R1cmUveC1wZ3MpIHN0cmVhbXMuIFJlbW92ZSBhbiB1bnVzZWQgdmFyaWFibGUgZnJvbQoJICB0aGUgUEVTIGZpbHRlci4KCjIwMDktMDUtMjUgMDA6MjU6MDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IEZpeCBzdWJwaWN0dXJlIHRpbWluZyBpbiBzb21lIGNhc2VzCgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGV2ZW50cyB0byBhbGwgcGFkcy4gVW5tYXJrIHRoZSBub3RsaW5rZWQgZmxhZyBvbgoJICBmcmVzaGx5IHNlbGVjdGVkIHBhZHMgdG8gZW5zdXJlIHRoZXkgZ2V0IGRhdGEuCgoyMDA5LTA1LTIyIDE0OjAyOjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBUcnkgYSBkaWZmZXJlbnQgYXBwcm9hY2ggdG8gc2VnbWVudCBmaWxsaW5nLgoJICBSZXN0b3JlIHRoZSBvbGQgc2VnbWVudCB1cGRhdGUgYmVoYXZpb3VyLCBhbmQgaW5zdGVhZCBleHRlbmQgdGhlCgkgIGNsb3NlIHNlZ21lbnQgc3RvcCB0aW1lIGlmIHRoZSBTQ1IgKGxhc3Rfc3RvcCkgb3ZlcnJ1bnMgdGhlIGNhbGN1bGF0ZWQKCSAgc3RvcCBwb3NpdGlvbi4KCjIwMDktMDUtMjEgMTE6MTA6MTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IE1pbm9yIGNoYW5nZSB0byBpbmxpbmUgYSBmdW5jdGlvbiBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wNS0yMCAxOTozMToyNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHN0YXRlczogSWdub3JlIHRoZSBjYW1lcmFiaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdAoJICBJdCBhY2Nlc3NlcyB0aGUgdmlkZW8gZGV2aWNlLCB3aGljaCBpc24ndCBnZW5lcmFsbHkgZGVzaXJhYmxlIGZvciB0aGUKCSAgc3RhdGUgdGVzdC4KCjIwMDktMDUtMjIgMTM6MDc6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogRG9uJ3QgYWNjaWRlbnRhbGx5IGxvc2UgdGhlIGNvbG91ciBwYWxldHRlIHdoZW4gZmx1c2hpbmcgdGhlIFNQVQoJICBGaXhlcyByYWN5IHN0YXJ0dXAgb24gRFZEcyB3aGVyZSBpdCBzb21ldGltZXMgZ2V0cyBlbnRpcmVseSB0aGUgd3Jvbmcgc2V0CgkgIG9mIGNvbG91cnMgaW4gdGhlIG1lbnVzIGFuZCBzdWJ0aXRsZXMuCgoyMDA5LTA1LTI2IDE1OjQwOjUyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYnl0ZXN3YXAgdGhlIHBvcnQgZnJvbSBHc3ROZXRBZGRyZXNzCgkgIFNpbmNlIHRoZSBwb3J0IGluIEdzdE5ldEFkZHJlc3MgaXMgaW4gbmV0d29yayBvcmRlciB3ZSBtaWdodCBuZWVkIHRvIGJ5dGVzd2FwIGl0CgkgIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIHNvdXJjZSBzdGF0aXN0aWNzLgoKMjAwOS0wNS0xMSAxOTozMDozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRGlyZWN0bHkgdXNlIGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyKCkuCgoyMDA5LTA1LTI1IDE2OjI3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEb24ndCBwZWVrIHRoZSBhZGFwdGVyIGlmIHdlIGRvbid0IGhhdmUgZW5vdWdoIGRhdGEuCgoyMDA5LTA1LTI1IDE2OjI1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEb24ndCBza2lwIHByaXZhdGUgc3RyZWFtcyBQRVMgYnV0IHB1c2ggdGhlbSBvdXQuCgkgIFRoZSBvbmUgdGhpbmcgd2UgKkRPKiBuZWVkIHRvIGRvIGZvciB0aG9zZSBzdHJlYW1zIGlzIHRvIHNraXAgYWxsCgkgIHRoZSBQVFMvRFRTL1NjcmFtYmxpbmcvRFNNL2V4dGVuc2lvbi8uLi4gaGFuZGxpbmcuCgoyMDA5LTA1LTI1IDE1OjIxOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSWdub3JlIE5VTEwgcGFja2V0cyBhcyBlYXJseSBhcyBwb3NzaWJsZS4KCSAgVGhpcyBhdm9pZHM6CgkgICogY3JlYXRpbmcgYSBNcGVnVFNTdHJlYW0gc3RydWN0dXJlIGZvciBub3RoaW5nCgkgICogcHJvY2Vzc2luZyBwYWNrZXQgZGF0YSBmb3Igbm90aGluZwoKMjAwOS0wNS0yNSAxNToyMToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIG1hcHBpbmcgZm9yIEhEViBwcml2YXRlIHN0cmVhbXMKCjIwMDktMDUtMjUgMTc6MjQ6MzIgKzAyMDAgIE1hdGhpYXMgSGFzc2VsbWFubiA8bWF0aGlhcy5oYXNzZWxtYW5uIGF0IGdteC5kZT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwOiBhZGQgcHJvcGVydHkgdG8gc3VwcG9ydCBTUyBjZXJpZmljYXRlcwoJICBBZGQgYSBwcm9wZXJ0eSB0byBzdXBwb3J0IHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlcyBpbiBuZW9uaHR0cHNyYy4gVGhpcyBwcm9wZXJ0eQoJICBpcyBGQUxTRSBieSBkZWZhdWx0LgoJICBGaXhlcyAjNTExMDk3CgoyMDA5LTA1LTI1IDEzOjQ2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogcmVtb3ZlIHB0ZGVtdXggZ2hvc3RwYWRzCgoyMDA5LTA1LTI1IDEzOjMzOjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcmVjZWl2ZSBydHBiaW4gdW5pdCB0ZXN0CgoyMDA5LTA1LTI1IDExOjE4OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIHgyNjRlbmM6IGFkZCBtdWx0aXBhc3MtY2FjaGUtZmlsZSBwcm9wZXJ0eQoJICBGaXhlcyAjNTgzNjI3CgoyMDA5LTA1LTIzIDEzOjExOjI4ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wNS0yMiAxNjo1Njo1MiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IEFkZCBuZXcgcGx1Z2luIGZvciBtcy1hZHBjbSBkZWNvZGluZy4KCjIwMDktMDUtMjAgMTY6NDY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRGV0ZWN0IGludGVybGFjZWQgY29udGVudCBhbmQgc2V0IGl0IG9uIG91dGdvaW5nIGNhcHMuCgkgIEkgYWxzbyBhZGRlZCB0aGUgcGFyc2luZyBvZiBhbGwgdGhlIG90aGVyIGJpdHMgaW4gdGhlIHNlcXVlbmNlIGV4dGVuc2lvbgoJICBoZWFkZXIgaW4gY2FzZSB3ZSBuZWVkIGl0IGxhdGVyLgoKMjAwOS0wNS0yMiAxNjo0MToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGFkZCB0byBuZXcgc2lnbmFsIHRvIHJlbW92ZSBTU1JDIHBhZHMKCjIwMDktMDUtMjIgMTY6MzU6MjAgKzAyMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsIGF0IGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgc3NyY2RlbXV4OiBlbWl0IHNpZ25hbCB3aGVuIHBhZHMgYXJlIHJlbW92ZWQKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gY2xlYXIgYW4gU1NSQyBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiByZW1vdmVkIHNzcmMuCgkgIFNlZSAjNTU0ODM5CgoyMDA5LTA1LTIyIDE1OjQ1OjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIG91ciBnaG9zdHBhZHMgaW5zdGVhZCBvZiBpdHMgdGFyZ2V0CgkgIFNpbmNlIHdlIGtlZXAgYSByZWZlcmVuY2UgdG8gb3VyIGdob3N0cGFkcywgd2UgY2FuIHVzZSB0aGVtIHRvIHRyYWNrIHNlc3Npb25zLgoJICBUaGlzIGF2b2lkIHVzIGhhdmluZyB0byBtZXNzIHdpdGggdGhlIHRhcmdldCBvZiB0aGUgZ2hvc3RwYWQuCgoyMDA5LTA1LTIyIDE1OjM3OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBtb3JlIHJ0cGJpbiBjaGVja3MKCjIwMDktMDUtMjIgMTU6MzY6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBkb24ndCB3YXJuIHdoZW4gZ2V0dGluZyByZXF1ZXN0IHBhZHMgdHdpY2UKCSAgQWxsb3cgZ2V0dGluZyB0aGUgcmVxdWVzdCBwYWRzIG11bHRpcGxlIHRpbWVzLCBqdXN0IHJldHVybiB0aGUgcHJldmlvdXNseQoJICBjcmVhdGVkIHBhZHMuCgoyMDA5LTA1LTIyIDEzOjQ3OjMwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWRkIFJUUCBhbmQgUlRDUCBzb3VyY2UgYWRkcmVzcwoJICBBZGQgdGhlIFJUUCBhbmQgUlRDUCBzZW5kZXIgYWRkcmVzc2VzIGluIHRoZSBzdGF0cyBzdHJ1Y3R1cmUuCgoyMDA5LTA1LTIyIDEzOjQ1OjE1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiByZXVzZSBzb3VyY2UgY29kZSBmb3IgU0RFUwoJICBSZXVzZSB0aGUgUlRQU291cmNlIG9iamVjdCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUuCgoyMDA5LTA1LTIyIDEzOjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgbW9yZSBydHBiaW4gdGVzdHMKCjIwMDktMDUtMjIgMTI6MjM6MjcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHRlc3RzOiBhZGQgcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgdGhlIGJlZ2lubmluZ3Mgb2YgYW4gcnRwYmluIHVuaXQgdGVzdAoJICBBZGQgc29tZSBtb3JlIHN0dWZmIHRvIC5naXRpZ25vcmUKCjIwMDktMDUtMjIgMTI6MjA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBzZXQgdGFyZ2V0IHN0YXRlIG9uIG5ldyBlbGVtZW50cwoJICBTZXQgdGhlIHN0YXRlIG9uIG5ld2x5IGFkZGVkIGVsZW1lbnRzIHRvIHRoZSBzdGF0ZSBvZiB0aGUgcGFyZW50LgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvIGFuZCBkbyBzb21lIGNsZWFudXBzCgoyMDA5LTA1LTIyIDExOjU5OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdW5yZWYgcmVxdWVzdHMgcGFkcyBhZnRlciByZWxlYXNpbmcKCjIwMDktMDUtMjEgMTY6MDA6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWVtbGVha3MgYW5kIHJlZmNvdW50cwoJICBVc2UgY29ycmVjdCBjb25zdGFudHMgZm9yIFBJRF90eXBlIHNvIHRoYXQgd2UgY2xlYXIgdGhlIHJpZ2h0IGZpbHRlci4KCSAgcHJvdmlkZV9jbG9jayBtdXN0IHJldHVybiBhIHJlZiB0byBhIGNsb2NrLgoKMjAwOS0wNS0yMiAwOTo1NToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIGF1dG90b29sczogbW92ZSAtV25vLXBvcnRhYmlsaXR5IGZvciBhdXRvbWFrZSB0byBjb25maWd1cmUuYWMKCjIwMDktMDUtMjIgMDk6NTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBjYW5vbmljYWxpc2UgZnVuY3Rpb24gbmFtZXMKCjIwMDktMDUtMjIgMDk6NTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgaWQzdGFnOiBjaGFuZ2UgR1R5cGUgdG8gR3N0SWQzVGFnIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgaWQzdGFnIHBsdWdpbiBpbiAtdWdseQoKMjAwOS0wNS0yMiAwMToyOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiB1cGRhdGUgY29uZmlnLmgKCjIwMDktMDUtMjIgMDE6Mjc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSAgaWQzdGFnOiByZWdpc3RlciBHVHlwZSBvZiB0aGUgYmFzZSBjbGFzcyB3aXRoIGEgbGVzcyBnZW5lcmljIG5hbWUKCSAgLi4gc28gd2UgY2FuIGVhc2lseSBtb3ZlIHRoZSBiYXNlIGNsYXNzIGludG8gLWJhc2UgbGF0ZXIgd2l0aG91dAoJICBjYXVzaW5nIEdUeXBlIG5hbWUgY29uZmxpY3RzLgoKMjAwOS0wNS0yMiAwMTowNDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIG00L2dzdC1maW9ucmVhZC5tNDoKCSAgbTQ6IGZpeCAnc3VzcGljaW91cyBjYWNoZSB2YWx1ZSBpZCcgd2FybmluZ3MgaW4gZ3N0LWZpb25yZWFkLm00CgkgIEFuZCB1cGRhdGUgY29tbW9uIHRvIHB1bGwgaW4gYSByZWxhdGVkIGZpeCBmcm9tIHRoZXJlLgoKMjAwOS0wNS0yMiAwMTo0Mzo1MCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyB0aGUgc3RyZWFtcwoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxNjoxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogS2VlcCBqYiBzaWduYWxzIGhhbmRsZXIKCSAgS2VlcCB0aGUgc2lnbmFsIGhhbmRsZXJzIHNvIHRoZXkgY2FuIGJlIGRpc2Nvbm5lY3RlZCBhdCByZWxlYXNlIHRpbWUKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTI6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2UgdGhlIHJpZ2h0IGxvY2sgZm9yIHRoZSBzZXNzaW9ucwoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgd2hlbiBpdGVyYXRpbmcgdGhlIHNlc3Npb25zLgoKMjAwOS0wNS0yMiAwMTowMzo1NSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogRnJlZSBzZXNzaW9uIGlmIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQKCSAgRnJlZSB0aGUgc2Vzc2lvbiB3aGVuIGFsbCB0aGUgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZXNzaW9uIGxpc3QgaW4gZnJlZV9zZXNzaW9uIGFzIGl0IGlzIGNhbGxlZCBmcm9tIGEgZm9yZWFjaAoJICBvbiB0aGF0IGxpc3QuCgkgIFNldCB0aGUgc3RhdGUgb2YgdGhlIHVwc3RyZWFtIGVsZW1lbnQgdG8gTlVMTCBmaXJzdC4KCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6NTE6NTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxhc2luZyBvZiB0aGUgcnRwIHJlY3YgcGFkCgoyMDA5LTA1LTIyIDAwOjQ0OjUxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0cCBzZW5kIHBhZHMKCjIwMDktMDUtMjIgMDA6MzQ6MzYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNlIG9mIHRoZSByZWN2IHJ0Y3AgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjE2OjE5ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIG9mIHJ0Y3Agc3JjIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0xOCAyMzozODo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBSZWNvbmNpbGUgZWxlbWVudCBjb2RlIHdpdGggYTUyZGVjIGNoYW5nZXMKCSAgUmUtd29yayB0aGUgZHRzZGVjIGVsZW1lbnQgY29kZSB0byB1bmlmeSBpdCB3aXRoIGNoYW5nZXMgbWFkZSBpdCBhNTJkZWMsCgkgIGluY2x1ZGluZyBzdXBwb3J0IGZvciByZXZlcnNlIHBsYXliYWNrIGFuZCBkeW5hbWljIGNoYW5uZWwgbmVnb3RpYXRpb24KCSAgb24gdGhlIHNvdXJjZSBwYWQuCgoyMDA5LTA1LTIxIDIxOjM1OjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgdGhlIHdpbjMyIGNvbmZpZy5oCgoyMDA5LTA1LTE4IDIzOjIxOjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiByZXdvcmsgUlRDUCBzZW5kaW5nIGFuZCBSVFAgcmVjZWl2aW5nCgkgIFdoZW4gd2UgYXJlIGRlYWxpbmcgd2l0aCBtdWx0aWFzdCwgY3JlYXRlIHRoZSB1ZHAgc3JjIGFuZCBzaW5rIGVsZW1lbnRzIHBvaW50aW5nCgkgIHRvIHRoZSBtdWx0aWNhc3QgYWRkcmVzc2VzLiBXaGVuIHdlIGFyZSBkb2luZyB1bmljYXN0LCByZWNlaXZlIGRhdGEgb24gdGhlIGxvY2FsCgkgIHBvcnRzIGFuZCBkb24ndCBzZW5kIFJUQ1AgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoZXJlIHdlIGhhdmUgdG8gc2VuZCBpdC4KCSAgRml4ZXMgIzU4MzE4OAoKMjAwOS0wNS0yMSAxMzoxNTo0NiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM3RhZzogQWRkIG5ldyBpZDMgdGFnZ2luZyBwbHVnaW4sIHN1cHBvcnRzIHYxLCB2Mi4zLCBhbmQgdjIuNC4KCSAgQnkgZGVmYXVsdCwgZG9lcyB2MSBhbmQgdjIuMywgYnV0IHRoZXJlIGFyZSBwcm9wZXJ0aWVzIHRvIHNlbGVjdC4KCSAgV2lsbCBob3BlZnVsbHkgcmVwbGFjZSBpZDNtdXgsIGlkM3YybXV4LCBpbiB0aGUgbm90LXRvby1kaXN0YW50IGZ1dHVyZS4KCjIwMDktMDUtMjEgMjE6MDI6NTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTIuMQoKPT09IHJlbGVhc2UgMC4xMC4xMiA9PT0KCjIwMDktMDUtMjAgMjI6MzE6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEyCgoyMDA5LTA1LTIwIDIwOjQ0OjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNS0yMCAxNzoxMDo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggZnJhbWVfbGF5b3V0IGZvciBub24taW50ZXJsYWNlZCBmb3JtYXRzLiBGaXhlcyAjNTgzMzM3CgoyMDA5LTA1LTE2IDAxOjU4OjMzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMS4zIHByZS1yZWxlYXNlCgoyMDA5LTA1LTE2IDAxOjUzOjE1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IEFkZCBkaXJlY3RkcmF3IHByb2plY3QgZmlsZXMgdG8gdGhlIHdpbjMyIG1hbmlmZXN0CgoyMDA5LTA1LTE2IDAxOjE0OjIzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIE1vdmVkICdkaXJlY3RkcmF3JyBmcm9tIC1nb29kIHRvIC1iYWQKCjIwMDctMDYtMTUgMDk6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gd2luMzIvdnM2LzogTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9hdXRvZ2VuLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfZ29vZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGFsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhY29sb3IuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhcGV0YWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdWRpb2Z4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVwYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1dG9kZXRlY3QuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdmkuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RjdXR0ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RlZmZlY3R2LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Z29vbS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGljeWRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWQzZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpbnRlcmxlYXZlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0anBlZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGxldmVsLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWF0cm9za2EuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtZWRpYW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rtb25vc2NvcGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bHRpcGFydC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RydHNwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c21wdGUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzcGVleC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHVkcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYmFsYW5jZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvYm94LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9jcm9wLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9mbGlwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9taXhlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZW5jLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2cGFyc2UuZHNwOgoJICBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lCgkgIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkgb3RoZXJ3aXNlLgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgW01PVkVEIEZST00gR09PRF0gYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDktMDItMjcgMjA6NDA6MzEgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBkaXJlY3RkcmF3c2luazogRml4IHR5cGUgbWlzbWF0Y2hlcwoJICBGaXhlcyBidWcgIzU3MzM0My4KCjIwMDktMDEtMjkgMTE6MDc6NTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFJlbW92ZSB2ZXJzaW9uIG51bWJlcnMgZnJvbSBhIGZldyBnc3QtbGF1bmNoIGV4YW1wbGVzLgoJICBUaGUgbWFqb3JpdHkgb2YgdGhlIGV4YW1wbGVzIGRvZSBub3QgdXNlIC0wLjEwIGFuZCB0aGlzIHdpbGwgYWxzbyBoZWxwIHVzIHRvIG1haW50YWluIHRoZSBkb2NzLgoKMjAwOS0wMS0yOSAxMDoxMDowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgcGx1Z2lucyAoc3lzKS4KCSAgTGluayB0byBwcm9wZXJ0aWVzLiBDb3JyZWN0IHRpdGxlcyBmb3IgZXhhbXBsZXMuIEZpeCBleGFtcGxlcy4KCjIwMDgtMTEtMDQgMTI6Mjg6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWFsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NhaXJvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nY29uZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcGVnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1uZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlicG5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9taWttb2QvTWFrZWZpbGUuYW06CgkgICogZXh0L3B1bHNlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yYXcxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dDIvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2FscGhhL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvZngvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1dG9kZXRlY3QvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F2aS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY3V0dGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWJ1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZWZmZWN0di9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20vTWFrZWZpbGUuYW06CgkgICogZ3N0L2dvb20yazEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ljeWRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pZDNkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGF3L01ha2VmaWxlLmFtOgoJICAqIGdzdC9sZXZlbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWF0cm9za2EvTWFrZWZpbGUuYW06CgkgICogZ3N0L21lZGlhbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9ub3Njb3BlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpcGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb2xkY29yZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbXB0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3VkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9ib3gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvbWl4ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2cGFyc2UvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1nb29kLgoKMjAwOC0wOC0yMSAyMTo1NjoxOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywKCSAgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgRml4IHR3byBtb3JlIGJ1ZmZlciByZWYgbGVha3MuCgoyMDA4LTA4LTIxIDE1OjI4OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRml4IGJ1ZmZlciByZWYgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgRml4IGJ1ZmZlciByZWYgbGVhay4KCjIwMDgtMDUtMDcgMTU6MzM6NTIgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6IERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyk6CgkgIERvIElEaXJlY3REcmF3Q2xpcHBlcl9TZXRIV25kKCkgaWYgdGhlIHdpbmRvdyBJRCBoYXMgYWxyZWFkeSBiZWVuCgkgIHNldCBhZnRlciBjcmVhdGluZyB0aGUgY2xpcHBlci4KCjIwMDgtMDUtMDcgMTU6Mjg6MDYgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKTogQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKToKCSAgQWRkZWQgY2hlY2tpbmcgb2Ygc3VyZmFjZSBsb3N0IGNhc2UgYWZ0ZXIgYW4gdW5zdWNjZXNzZnVsCgkgIElEaXJlY3REcmF3U3VyZmFjZTdfTG9jaygpIGNhbGwuCgkgIElmIHN1cmZhY2UgaXMgbG9zdCwgcmV0dXJuIEdTVF9GTE9XX09LLgoKMjAwOC0wNS0wNyAxNToxOTo0NyArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBXbmRQcm9jLCBnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBJbXByb3ZlZCBXaW5kb3dzIG1lc3NhZ2UgbG9vcCBhbmQgZml4ZWQgd2luZG93IGRlc3RydWN0aW9uIGlzc3VlLgoJICBXaGVuIHRoZSB3aW5kb3cgd2hpY2ggRGlyZWN0RHJhdyBpcyByZW5kZXJpbmcgdG8gaXMgZGVzdHJveWVkLCB0aGUKCSAgcmVuZGVyL3Nob3dfZnJhbWUgZnVuY3Rpb24gd2lsbCByZXR1cm4gR1NUX0ZMT1dfRVJST1IuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNTowOToxMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKTogRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKToKCSAgRml4ZWQgbWlkIHN0cmVhbSByZXNvbHV0aW9uIGNoYW5nZSBidWcsIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBpcyBub3cKCSAgcmVsZWFzZWQgd2hlbiBzZXRfY2FwcyBpcyBjYWxsZWQuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wNS0wNyAxNDo1NjoyMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBNYWtlIGl0IHNvIHRoYXQgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MgdXNlcyB0aGUgcmlnaHQKCSAgd2lkdGgvaGVpZ2h0LgoJICBFc3BlY2lhbGx5IHdoZW4gbG9va2luZyB0aHJvdWdoIHRoZSBwb29sIG9mIGJ1ZmZlcnMsIG1ha2Ugc3VyZSB0aGF0CgkgIHRoZSB3aWR0aC9oZWlnaHQgb2YgY2FwcyBpcyB1c2VkIGluc3RlYWQgb2YgdGhlIGFscmVhZHkgbmVnb3RpYXRlZAoJICBkaW1lbnNpb25zLgoJICBGb3IgZXhhbXBsZSBpZiBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudCBjYXBzIGlzIHJlcXVlc3RlZCwgaS5lLgoJICBoaWdoZXIgcmVzb2x1dGlvbiwgdGhlIGNhbGxlciB3b3VsZCBnZXQgYSBidWZmZXIgd2l0aCB0aGUgb2xkCgkgIGRpbWVuc2lvbnMgYW5kIHRodXMgY29ycnVwdCB0aGUgaGVhcC4KCjIwMDgtMDUtMDcgMTQ6NDM6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoJICBUaGUgcmlnaHQgZml4IHRoaXMgdGltZS4KCjIwMDgtMDUtMDcgMTQ6Mzk6NDUgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgUmV2ZXJ0aW5nIHByZXZpb3VzIGNvbW1pdCwgaXQgaGFkIGl0IGFsbCBtaXhlZCB1cCwgd2FzIGZvciBhIGRpZmZlcmVudAoJICBwYXRjaCAobWFqb3IgYXV0b21hdGlvbiBzY3Jldy11cCkuIFNvcnJ5IQoKMjAwOC0wNS0wNyAxMzo0ODoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTAyLTEyIDEyOjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RkcmF3c3VyZmFjZV9jbGFzc19pbml0KSwgKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19maW5hbGl6ZSk6CgkgIFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgoyMDA4LTAxLTA3IDE2OjQxOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpOgoJICBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCjIwMDgtMDEtMDUgMjE6MjA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTA1ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF93aW5kb3dfaWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2RyYXdfYm9yZGVycyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91cgoJICBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2hhbmNlIHRvCgkgIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIHByZXBhcmUteHdpbmRvdy1pZCBidXMgbWVzc2FnZS4gRHJhdwoJICBibGFjayBib3JkZXJzIHdoZW4ga2VlcGluZyBhc3BlY3QgcmF0aW8uIEhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJICBvdXIKCSAgcmVuZGVyaW5nIHdpbmRvdyBkaXNhcHBlYXJzIChjbG9zZWQgb3IgZXJyb3JzKSBsaWtlIG90aGVyIHNpbmtzCgkgIGRvLiBWYXJpb3VzIDgwIGNvbHVtbnMgZml4ZXMsIGltcHJvdmUgc3RhdGUgY2hhbmdlIG9yZGVyLiBUaGF0CgkgIGVsZW1lbnQgY291bGQgbmVlZCBzb21lIG1vcmUgbG92ZS4KCjIwMDctMDktMjIgMDg6MTI6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gZml4IGhlYWRlciBhbmQgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgoyMDA3LTA2LTE0IDEyOjE0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDUtMjQgMDg6MzU6MjMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfcHJpbWFyeV9zdXJmYWNlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfb2Zmc2NyZWVuX3N1cmZhY2UpLAoJICAoRW51bU1vZGVzQ2FsbGJhY2syKSwgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wMy0xMSAyMjoyMzowNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgW01PVkVEIEZST00gR09PRF0gQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwOS0wNS0xNSAxMDo0NTo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IEZpeCByZXNldHRpbmcgb2YgdGhlIHNpbmsgaW4gTlVMTAoJICBSZXNldCB0aGUgZnBzZGlzcGxheXNpbmsgaW4gTlVMTCBieSByZW1vdmluZyB0aGUgdGV4dG92ZXJsYXkgaWYgd2UKCSAgY3JlYXRlZCBpdC4KCSAgRml4ZXM6ICM1ODI2MzMKCjIwMDktMDUtMTYgMDA6MTc6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSogZ3N0L3k0bS95NG1lbmMudmNwcm9qOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6CgkgIE1vdmVkICd5NG1lbmMnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xNSAxODoyNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IGFkZCBNYWtldmFycyBtYWdpYyBzbyB3ZSBkb24ndCBnZXQgbGluZSBudW1iZXJzIGluICoucG8gZmlsZXMKCSAgVGhpcyBhdm9pZHMgdGhlIG51bWJlciBvbmUgcmVhc29uIGZvciBsb2NhbCBtb2RpZmljYXRpb25zIGluICoucG8KCSAgZmlsZXMgYW5kIGFuZCBtYWtlcyB0aGluZ3MgbGVzcyBhbm5veWluZyB3aGVuIHdvcmtpbmcgd2l0aCBnaXQgKG9yCgkgIGFueSBvdGhlciBWQ1MgZm9yIHRoYXQgbWF0dGVyKS4KCjIwMDktMDUtMTUgMDE6NTQ6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIFtxdG11eF0gRml4ZXMgc2VnZmF1bHQgd2hlbiBhZGRpbmcgYSBibG9iIGFzIGZpcnN0IHRhZy4KCSAgTW92ZXMgdGFncyBkYXRhIGluaXRpYWxpemF0aW9uIHRvIHRoZSBmdW5jdGlvbiB0aGF0IGFjdHVhbGx5IGFwcGVuZHMKCSAgdGhlIHRhZ3MgdG8gdGhlIGxpc3QuIEZpeGVzICM1ODI3MDIKCSAgQWxzbyBmaXhlcyBzb21lIHN0eWxlIGNhdWdodCBieSB0aGUgcHJlLWNvbW1pdCBob29rLgoKMjAwOS0wNS0xNCAyMToyMDo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFVzZSBhIFJXIGxvY2sgdG8gcHJvdGVjdCBtZXRhZGF0YSBhbmQgYWRkIGFsbCBwYWRzIGF0IG9uY2Ugd2l0aG91dCBhIGxvY2sgaGVsZAoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlLCBhbW9uZyBvdGhlciB0aGluZ3MsIHRvIGRvIGEgcXVlcnkgaW4gdGhlCgkgIHBhZC1hZGRlZCBjYWxsYmFjay4KCSAgRml4ZXMgYnVnICM1ODI2NTYuCgoyMDA5LTA1LTE0IDEwOjM0OjA4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCB0aGUgYXJndW1lbnQgb3JkZXIgaW4gYSBkZWJ1ZyBzdGF0ZW1lbnQKCSAgTWFrZSB0aGUgZGVidWcgc3RhdGVtZW50IGNvcnJlY3RseSBzaG93IHRoZSAnb2xkJyBhbmQgJ25ldycgYnV0dG9uCgkgIGNvb3JkaW5hdGVzLCBpbnN0ZWFkIG9mIHRoZSB3cm9uZyB3YXkgYXJvdW5kLgoKMjAwOS0wNS0xNCAwOTo1MzoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBNYWtlIHNlZ21lbnQgdXBkYXRlcyBsZXNzIGFnZ3Jlc3NpdmUuCgkgIFdoZW4gdXBkYXRpbmcgYSBwYWQsIHNlbmQgdGhlIHVwZGF0ZSB0byBoYWxmIGEgc2Vjb25kIGJlaGluZCB0aGUgU0NSLAoJICB3aGljaCBhdm9pZHMgZXZlciB1cGRhdGluZyB0aGUgc3RhcnQgdGltZSBmb3IgYSBwYWQgdG8gYmV5b25kIHRoZSBlbmQgb2YKCSAgdGhlIGNlbGwuIEFsc28sIHJlbWVtYmVyIHRoZSBsYXN0IGFjdHVhbCBuZXctc2VnbWVudCBzdGFydCB0aW1lIGZvciBlYWNoCgkgIHBhZCwgYW5kIHVzZSBpdCB3aGVuIGNsb3NpbmcgdGhlIHNlZ21lbnQuCgoyMDA5LTA1LTEzIDEyOjQ3OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJld29yayBidXR0b24gaGlnaGxpZ2h0IGNhbGN1bGF0aW9uIHNsaWdodGx5CgkgIFdoZW4gdGhlIGN1cnJlbnQgYnV0dG9uIG51bWJlciBpcyBoaWdoZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZQoJICBidXR0b25zLCBzd2l0Y2ggdG8gdGhlIGhpZ2hlc3QgbnVtYmVyZWQgYnV0dG9uIHJhdGhlciB0aGFuIHRoZSBsb3dlc3QuCgkgIEFsc28sIGRvbid0IHRocm93IGVycm9ycyB3aGVuIHdlIGZhaWwgdG8gcmV0cmlldmUgc29tZSBidXR0b24gaW5mbwoJICBmcm9tIGxpYmR2ZG5hdiwganVzdCByZXNldCB0aGUgaGlnaGxpZ2h0LgoKMjAwOS0wNS0xMiAyMzo0MjowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCBjb21tYW5kcy1jaGFuZ2VkIG9uIGJ1dHRvbiBjaGFuZ2UgYW5kIGhhbmRsZSBjb21tYW5kcyBxdWVyeQoJICBTZW5kIHRoZSBjb21tYW5kcy1jaGFuZ2VkIG5hdmlnYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBzZXQgb2YgYXZhaWxhYmxlCgkgIERWRCBtZW51IGJ1dHRvbiBhY3Rpb25zIGNoYW5nZXMsIGFuZCBoYW5kbGUgdGhlIGNvbW1hbmRzIG5hdmlnYXRpb24KCSAgcXVlcnkgc28gdGhhdCAoZS5nLikgVG90ZW0gY2FuIGtub3cgYWJvdXQgdGhlIGF2YWlsYWJsZSBuYXZpZ2F0aW9uCgkgIGNvbW1hbmRzLgoKMjAwOS0wNS0xNCAwODo0MjoyNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYSBsZWFrIG9mIHRoZSBEVkQgdGl0bGUgc3RyaW5nCgoyMDA5LTA1LTE0IDEwOjU1OjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IFB1c2ggdXBkYXRlIGZyYW1lLCBpZiBhbnksIHdoZW4gZW50ZXJpbmcgc3RpbGxzLgoJICBXaGVuIGVudGVyaW5nIGEgc3RpbGwgZnJhbWUgZ2VuZXJhdGVzIGFuIHVwZGF0ZWQgYnVmZmVyLCBtYWtlIHN1cmUKCSAgdG8gcHVzaCBpdCBvdXQsIG90aGVyd2lzZSB3ZSBtYXkgbm90IHB1dCBhIGZyYW1lIG9uc2NyZWVuIHdpdGggYQoJICByZW5kZXJlZCBidXR0b24sIGNhdXNpbmcgcmFjaW5lc3MgYXMgdG8gd2hldGhlciBidXR0b25zIGdldCBkcmF3bgoJICBvciBub3Qgd2hlbiBqdW1waW5nIGJhY2sgdG8gdGhlIG1lbnUgb24gc29tZSBkaXNjcy4KCjIwMDktMDUtMTMgMTA6Mjk6MzYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IEZpeCByYWNpbmVzcyBpbiByc25kdmRiaW4gd2hlbiBpbml0aWFsbHkgY3JlYXRpbmcgcGFkcwoJICBQcm90ZWN0IHBhZCBleHBvc3VyZSB3aXRoIGEgcHJlcm9sbCBsb2NrIHRvIGF2b2lkIHNpdHVhdGlvbnMKCSAgd2hlcmUgbm8tbW9yZS1wYWRzIGlzIGZpcmVkIG1vcmUgdGhhbiBvbmNlLCBvciBmaXJlZCBqdXN0IGJlZm9yZQoJICB0aGUgbGFzdCBwYWQgaXMgYWN0dWFsbHkgYWRkZWQuCgoyMDA5LTA1LTEzIDE3OjU1OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBjaGFuZ2UgbXkgZW1haWwKCSAgY2hhbmdlIG15IGVtYWlsIHRvIHNvbWV0aGluZyBtb3JlIGN1cnJlbnQKCSAgU2VlICM1ODA3ODMKCjIwMDktMDUtMTMgMTc6NTQ6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGRvbid0IHN0cmlwIHRpbWVzdGFtcHMKCSAgRml4ZXMgIzU4MjQ4MwoKMjAwOS0wNS0xMyAxMDo0NzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBnc3QvZGVpbnRlcmxhY2UvLmdpdGlnbm9yZToKCSogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UvZGVpbnRlcmxhY2UudmNwcm9qOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIE1vdmVkICdkZWludGVybGFjZTInIGZyb20gLWJhZCB0byAtZ29vZAoJICBBbmQgcmVtb3ZlIG9sZCBkZWludGVybGFjZSBwbHVnaW4gYXMgZGVpbnRlcmxhY2UyIHdpbGwKCSAgYmUgY2FsbGVkIGRlaW50ZXJsYWNlIGluIC1nb29kLgoKMjAwOS0wNS0xMiAyMTo1MDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgTW92ZWQgJ2ZsdicgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTEyIDAwOjUwOjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMS4yIHByZS1yZWxlYXNlCgoyMDA5LTA1LTExIDE3OjUwOjQxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IE1vZGlmeSB0aGUgc2VnbWVudCB1cGRhdGUgbG9naWMKCSAgU2VuZCBzZWdtZW50IHVwZGF0ZXMgdG8gdGhlIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIHBhZHMgbW9yZSBmcmVxdWVudGx5LAoJICBidXQgbGVzcyBvZnRlbiB0byB0aGUgdmlkZW8gcGFkLCB3aGVyZSB0aW1lc3RhbXBzIGFwcGVhciBsZXNzIG9mdGVuLgoJICBUaGlzIGhlbHBzIHdpdGggZ2FwIGZpbGxpbmcgb24gc29tZSBEVkRzLgoKMjAwOS0wNS0xMSAxNjowOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IEluY3JlYXNlIHRoZSBhbW91bnQgb2YgZmlsbGVyIGF1ZGlvIGdlbmVyYXRlZAoJICBXaGVuIGNyZWF0aW5nIGEgZmlsbGVyIGF1ZGlvIGJ1ZmZlciBpbiByc25hdWRpb211bmdlLCBnZW5lcmF0ZQoJICBhIGJpdCBtb3JlLCBhcyBhdWRpbyBzaW5rcyBkb24ndCBzZWVtIHRvIHByZXJvbGwgb3RoZXJ3aXNlLiBUaGlzCgkgIG5lZWRzIGEgYmV0dGVyIGFsZ29yaXRobSBpbiBnZW5lcmFsLCB0byBpbnRlbGxpZ2VudGx5IGZpbGwgdGhlCgkgIGdhcCwgcmF0aGVyIHRoYW4gaGFyZC1jb2RpbmcgYSB2YWx1ZS4KCjIwMDktMDUtMTEgMTQ6MTc6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IE1hbmFnZSB0aW1lZCBzdGlsbCBzZXF1ZW5jZXMgYmV0dGVyCgkgIE1ha2UgdGltZWQgc3RpbGwgZnJhbWVzIHdvcmsgYmV0dGVyIGJ5IGV4dGVuZGluZyB0aGUgY3VycmVudCBzZWdtZW50CgkgIHdoZW4gbmVlZGVkLCBhbmQgcmVzdGFydGluZyB0aGUgc3RpbGwgc2VxdWVuY2Ugd2l0aCB0aGUgY29ycmVjdAoJICByZW1haW5pbmcgZHVyYXRpb24gd2hlbiB0aGUgd2FpdCBpdCBpbnRlcnJ1cHRlZCBieSBhY3RpdmF0aW9uIG9mIGEKCSAgaGlnaGxpZ2h0IE5BViBwYWNrZXQuCgoyMDA5LTA1LTExIDExOjA2OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ2hhbmdlIHRoZSBhdWRpb211bmdlIGRlYnVnIG91dHB1dC4KCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzaG93IGluZm9ybWF0aW9uIGFib3V0IHRoZSBzZWdtZW50IGV2ZW50cyBwYXNzaW5nIHRocm91Z2gsCgkgIGV2ZW4gd2hlbiBwcmUtcm9sbCBhdWRpbyBidWZmZXJzIGFyZW4ndCBnb2luZyB0byBiZSBuZWVkZWQuCgoyMDA5LTA1LTExIDExOjA0OjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IE1ha2UgdGhlIGRlYnVnZ2luZyBvdXRwdXQgYSBiaXQgY2xlYXJlci4KCSAgRGlzcGxheSBtb3JlIGluZm8gYWJvdXQgY3VzdG9tIERWRCBldmVudHMgaW4gdGhlIGRlYnVnIG1lc3NhZ2VzLgoKMjAwOS0wNS0wOCAxNzo0MjoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBbHdheXMgcHVzaCBhIGZyYW1lIGF0IHRoZSBzdGFydCBvZiBhIHN0aWxsIGZyYW1lLCBhbmQgZml4IGEgbGVhay4KCSAgTWFrZSBzdXJlIHRvIHB1c2ggdGhlIGZyYW1lIGZvciBhIHN0aWxsIGZyYW1lLCB3aXRoIGRpc2NvbnQgPSB0cnVlIGFuZAoJICB0aW1lc3RhbXA9bm9uZSwgc28gdGhhdCBpdCBnZXRzIGRpc3BsYXllZCBieSB0aGUgc2luay4gQWxzbywgZG9uJ3QgbGVhawoJICBlYWNoIHJlbmRlcmVkIHZpZGVvIGZyYW1lIGR1cmluZyBzdGlsbCBtZW51cy4KCjIwMDktMDUtMDggMTc6NDA6NDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJICBkdmRzcHU6IEFkZCBhIGd1YXJkIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhbnkgc3VicGljdHVyZSBidWZmZXIgdG8gcmVuZGVyCgoyMDA5LTA1LTA4IDE2OjI5OjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogUmVuYW1lIHRoZSBhdWRpbyBtdW5nZXIgZGVidWcgY2F0ZWdvcnkKCSAgUmVuYW1lIGEgZGVidWcgY2F0ZWdvcnk6IHJzbl9hdWRpb211bmdlIC0+IHJzbmF1ZGlvbXVuZ2UuCgoyMDA5LTA1LTA4IDE2OjI3OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEVuc3VyZSB3ZSBzZW5kIGEgdGl0bGUgdGFnIGluIHRoZSBmaXJzdCBwbGF5IHNlY3Rpb24uCgoyMDA5LTA1LTA4IDE2OjA2OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNpbXBsaWZ5IHNvbWUgc3R1ZmYuIFJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBMT0cgbWVzc2FnZS4KCSAgU2tpcCBhdHRlbXB0aW5nIHRvIHNjaGVkdWxlIGEgbmF2IGJsb2NrIHVubGVzcyB3ZSdyZSBpbiBQTEFZSU5HLiBUYWtlIGEgbG9jawoJICBzbGlnaHRseSBsYXRlciwgd2hlbiB3ZSBhY3R1YWxseSBuZWVkIGl0LiBSZW1vdmUgYSBub2lzeSBMT0cgbWVzc2FnZS4KCjIwMDktMDUtMDggMTQ6MjM6NDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHBlci1tZW51IGRlc2NyaXB0aW9uIGZyb20gdGhlIFRJVExFIHRhZwoJICBUaGUgcGFydCBudW1iZXIgcmVwb3J0ZWQgd2hpbGUgaW4gYSBtZW51IGRvZXNuJ3QgcmVmbGVjdCB0aGUgc2VsZWN0ZWQKCSAgbWVudSwgc28gaXQncyBwb2ludGxlc3MgdG8gdXNlIGl0IHRvIHJlcG9ydCB3aGljaCBtZW51IHdlJ3JlIGluIChBdWRpbywKCSAgQW5nbGUgZXRjKS4gSnVzdCByZXBvcnQgIkRWRCBNZW51IiBpbiB0aGUgdGl0bGUgdGFnIGluc3RlYWQuCgoyMDA5LTA1LTA4IDE0OjIwOjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIHRpdGxlIGluZm8gbWVzc2FnZSB3aGVuIGN1cnJlbnQgYW5nbGUgaXMgc3dpdGNoZWQuCgkgIE1ha2Ugc3VyZSB3ZSBzZW5kIGFuIHVwZGF0ZSB0aXRsZSB0YWcgd2hlbiB0aGUgY3VycmVudCBhbmdsZSBvciBhdmFpbGFibGUKCSAgYW5nbGVzIGNoYW5nZXMuCgoyMDA5LTA1LTA4IDEwOjQzOjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBJbXBsZW1lbnQgbmF2aWdhdGlvbiBjb21tYW5kIGNoYW5nZSBtZXNzYWdlIGFuZCBxdWVyeQoJICBTZW5kIG1lc3NhZ2VzIHdoZW4gdGhlIGF2YWlsYWJsZSBEVkQgbmF2aWdhdGlvbiBjb21tYW5kcyBjaGFuZ2VzLCBhbmQKCSAgaGFuZGxlIG5hdmlnYXRpb24gY29tbWFuZHMgYW5kIGFuZ2xlcyBxdWVyaWVzLgoKMjAwOS0wNS0xMSAxNjo1OToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogUHJvdGVjdCBiaXRyYXRlIGVzdGltYXRpb24gYWdhaW5zdCBib2d1cyB2YWx1ZXMuCgkgIElmIHRoZSBlc3RpbWF0ZWQgYml0cmF0ZSBpcyBsb3dlciB0aGFuIDE4OCBieXRlcywgdGhlcmUncyBtb3N0IGxpa2VseQoJICBzb21ldGhpbmcgY29tcGxldGVseSB3cm9uZyB3aXRoIHRoZSB0d28gc2FtcGxlcy4gSWYgdGhhdCBoYXBwZW5zLAoJICBmb3JjZSByZWNhbGN1bGF0aW9uLgoJICBVc2UgZ3VpbnQ2NCBmb3Igb2JzZXJ2YXRpb24gUENSLCBJIHNhdyBjYXNlcyB3aGVyZSBpdCB3b3VsZCBvdmVyZmxvdy4KCjIwMDktMDUtMTEgMTY6NTg6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBPbmx5IHRha2UgUENSIGZyb20gdGhlIGFjdGl2ZSBzdHJlYW0gZm9yIGJpdHJhdGUgZXN0aW1hdGlvbi4KCjIwMDktMDUtMTEgMTY6NDA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBDaGFuZ2UgZGVidWdnaW5nIGxldmVscyBmb3IgdmVyeSBmcmVxdWVudCBtZXNzYWdlcy4KCSAgVGhpcyBhbGxvd3MgZGVidWdnaW5nIHdpdGggbXBlZ3RzZGVtdXg6NCB3aGlsZSBiZWluZyBhYmxlIHRvIHRyYWNrIHdoYXQncwoJICBnb2luZyBvbiAoYW5kIGF2b2lkIHRha2luZyB1cCBhcyBtdWNoIGNwdSBmb3IgZGVidWdnaW5nIGFzIGZvciB0aGUgYWN0dWFsCgkgIGRlbXV4aW5nIHByb2Nlc3MpLgoKMjAwOS0wNS0wOSAwOTo1Nzo0NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFJldmVydCBpbmRlbnRhdGlvbiBhbmQgY29tbWVudCBoZWFkZXIgZmlsZS4KCSAgT25lIHNob3VsZG4ndCBydW4gZ3N0LWluZGVudCBvbiAuaCBmaWxlcywgaW4gdGhpcyBjYXNlIGl0IHdhcyB1bi1iZWF1dGlmeWluZwoJICB0aGUgaW5kZW50YXRpb24gOikKCjIwMDktMDUtMTAgMjE6MjE6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogQWRkIE1QRUctNCBwYXJ0IDIgdG8gc3VwcG9ydGVkIGZvcm1hdHMuICBGaXhlcyAjNTgxNTkzLgoKMjAwOS0wNS0xMCAxNzoxNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZhYWQ6IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHRoZSBGQUFEIHZlcnNpb24KCSAgVGhlIHByZXZpb3VzIHZlcnNpb24gbWF0Y2hlZCB0aGluZ3MgbGlrZSAyOTcgZm9yCgkgIHZlcnNpb24gMi43LCBldGMgd2hpY2ggY291bGQgYmUgYWRkZWQgdG8gdGhlIGZpbGUKCSAgYnkgb3RoZXIgaGVhZGVycy4KCSAgRml4ZXMgYnVnICM1ODIwNzQuCgoyMDA5LTA1LTEwIDExOjE3OjE3ICswMjAwICBNYXJjLUFuZHJlIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUBnbWFpbC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBSdW4gbGlidG9vbGl6ZSBiZWZvcmUgYWNsb2NhbAoJICBUaGlzIHVuYnJlYWtzIHRoZSBidWlsZCBpbiBzb21lIGNhc2VzLiBGaXhlcyBidWcgIzU4MjAyMQoKMjAwOS0wNS0xMCAxMDo0MDozNiArMDIwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIFRoaXMgd2lsbCBhbHdheXMgYmUgc2V0IHRvIHNvbWV0aGluZyBidXQgZ2NjIGRpZG4ndCBkZXRlY3QKCSAgdGhpcy4gRml4ZXMgYnVnICM1ODIwMTMuCgoyMDA5LTA1LTA5IDIzOjQ3OjM5ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSAgUmVtb3ZlIHdyb25nIHN0dWZmIGZyb20gcHJlc2V0IGZpbGUKCjIwMDktMDUtMDkgMTU6NDg6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBXcml0ZSBtZXRhZGF0YSBpdGVtcyBpbiByZWZlcmVuY2Ugb3JkZXIKCSAgVGhpcyBlbnN1cmVzIHRoYXQgdGhlIG1ldGFkYXRhIGl0ZW1zIGFyZSBhbHdheXMgd3JpdHRlbgoJICBpbiB0aGUgc2FtZSBvcmRlciBhbmQgdGhhdCBmaXJzdCBjb21lcyB0aGUgcHJlZmFjZSwKCSAgdGhlbiB0aGUgaWRlbnRpZmljYXRpb24gbGlua2VkIGZyb20gdGhlIHByZWZhY2UsIC4uLgoJICBTb21lIGRlbXV4ZXJzIGNhbid0IGhhbmRsZSBmaWxlcyB3aGVyZSB0aGUgbWV0YWRhdGEKCSAgaXRlbXMgYXJlIGluIHJhbmRvbSBvcmRlci4KCjIwMDktMDUtMDkgMTU6NDg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggRU9TIGxvZ2ljIGFnYWluCgoyMDA5LTA1LTA5IDE1OjQ4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgdW5yZWYgTlVMTCBidWZmZXJzIGlmIHB1c2hpbmcgYSBidWZmZXIgYWZ0ZXIgdGhlIGZpcnN0IGZhaWxlZAoKMjAwOS0wNS0wOSAxMjo0MjoyNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkgIEFkZCBhIG1vcmUgcmVwcmVzZW50YXRpdmUgZXhhbXBsZSBwcmVzZXQgZmlsZSBmb3IgeDI2NAoKMjAwOS0wNS0wOCAxODoyNDoyOCArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogQWRkIGluaXRpYWwgbmFpdmUgc2Vla2luZyBzdXBwb3J0IGFuZCBmaXggZHVyYXRpb24gcXVlcnkuCgkgIFN5bmMgZnJvbSBnc3QtZmx1ZW5kby1tcGVnZGVtdXggYW5kIGhhdmUgc2Vla2luZy9kdXJhdGlvbiBxdWVyeQoJICBpbXByb3ZlbWVudHMgaW4uIE5vIHN1cHBvcnQgaG93ZXZlciBmb3Igd3JhcHBlZCBhcm91bmQgcGNycyBldGMuIGJ1dCBhCgkgIHN0YXJ0IG5vbmV0aGVsZXNzLgoJICBBbHNvIGZpeCBpbmRlbnRhdGlvbiBpc3N1ZXMuCgoyMDA5LTA1LTA4IDE2OjM4OjI2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQ29tbWVudCBvdXQgcHJlc2V0IG5vdCBpbiB5ZXQKCjIwMDktMDUtMDggMTU6Mzk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgYSBkaXNhYmxlZCBtb2RlIGZvciBwYXNzdGhyb3VnaCBvcGVyYXRpb24KCSAgQWxzbyBhbGxvdyB0byBjaGFuZ2UgdGhlIG1vZGUgaW4gUEFVU0VEIGFuZCBQTEFZSU5HIGJ5IHVwZGF0aW5nCgkgIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCjIwMDktMDUtMDcgMTc6NTM6NDIgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIEFkZCByYW5rcyB0byB2YXJpb3VzIG11eGVycyBhbmQgZW5jb2RlcnMgaW4gLWJhZAoKMjAwOS0wNS0wNyAxNzozNDozNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDUtMDcgMTM6MTI6MzQgKzAyMDAgIFJvdiBKdXZhbm8gPHJvdmp1dmFub0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIHNjYWxldGVtcG86IERvbid0IHJlcXVpcmUgZ2NvbmZhdWRpb3NpbmsgaW4gdGhlIGRlbW8KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDA5LTA1LTA2IDIxOjQ4OjMwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IG9wZW4gYWxsIFZUUyBpZm8gYXQgdGhlIHN0YXJ0CgkgIExvYWQgZWFjaCBWVFMgaWZvIHRoZSBmaXJzdCB0aW1lIHRoZSBkaXNjIGVudGVycyB0aGF0IFZUUywKCSAgcmF0aGVyIHRoYW4gc2Nhbm5pbmcgdGhlbSBhbGwgYXQgdGhlIHN0YXJ0LgoKMjAwOS0wNS0wNiAyMToxOToxMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCBhIHRpdGxlIHRhZyB3aGVuIHdlIGNoYW5nZSBjaGFwdGVyL21lbnUvYW5nbGUKCSAgQWxsb3cgYXBwcyBsaWtlIFRvdGVtIHRvIGRpc3BsYXkgYSBuaWNlciB0aXRsZSB0aGF0IHJlZmxlY3RzIHRoZSBjdXJyZW50CgkgIHBvc2l0aW9uIG9uIHRoZSBkaXNjLgoKMjAwOS0wNS0wNSAxMzoxODoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIGhpZ2hsaWdodC1yZXNldCBtZXNzYWdlcyB3aGVuIG5vdCBuZWVkZWQKCSAgRml4IGEgc21hbGwgYnVnIHRoYXQgcmVzdWx0cyBpbiB0aGUgU1BVIGhpZ2hsaWdodCBiZWluZyByZXNldCBtb3JlIG9mdGVuCgkgIHRoYW4gaXMgbmVjZXNzYXJ5IC0gaWUsIGNsZWFyaW5nIGl0IHdoZW4gaXQncyBhbHJlYWR5IGNsZWFyZWQuCgoyMDA5LTA1LTA1IDEzOjE0OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBzZW5kIGFuZ2xlcy1jaGFuZ2VkIG1lc3NhZ2VzIHdoZW4gYXBwcm9wcmlhdGUKCSAgV2hlbiB0aGUgY3VycmVudCBhbmdsZSBjaGFuZ2VzLCBvciB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBhbmdsZXMgY2hhbmdlcywKCSAgc2VuZCBhbiBhbmdsZXMtY2hhbmdlZCBtZXNzYWdlIHRvIGxldCB0aGUgYXBwIGtub3cuCgoyMDA5LTA1LTA1IDExOjM0OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IE1ha2UgdGhlIG5leHQvcHJldiBhbmdsZSBzd2l0Y2hpbmcgY3ljbGUgYXQgdGhlIGVuZHMKCSAgV2hlbiB0aGUgY3VycmVudCBhbmdsZSBpcyAxIGFuZCBwcmV2X2FuZ2xlIGlzIHJlcXVlc3RlZCwgbG9vcCB0byB0aGUKCSAgbWF4aW11bSBhbmdsZSBhbmQgdmljZSB2ZXJzYSBmb3IgbmV4dF9hbmdsZQoKMjAwOS0wNS0wNSAxNjo1NDozOSArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkb24ndCBsZWFrIHRoZSBjb25maWcgZGF0YQoJICBDbGVhciB0aGUgY29uZmlnIGRhdGEgd2hlbiBnb2luZyB0byBSRUFEWSBvciB3aGVuIGRpc3Bvc2VkLgoJICBGaXhlcyAjNTgxNDI3CgoyMDA5LTA1LTA1IDE2OjQ4OjM3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIHJ0cHNzcmNkZW11eDogZHJvcCB1bmV4cGVjdGVkIFJUQ1AgcGFja2V0cwoJICBXZSB1c3VhbGx5IG9ubHkgZ2V0IFNSIHBhY2tldHMgaW4gb3VyIGNoYWluIGZ1bmN0aW9uIGJ1dCBpZiBhbiBpbnZhbGlkIHBhY2tldAoJICBjb250YWlucyB0aGUgU1IgcGFja2V0IGFmdGVyIHRoZSBSUiBwYWNrZXQsIHdlIG11c3Qgbm90IGZhaWwgYnV0IHNpbXBseSBpZ25vcmUKCSAgdGhlIG1hbGZvcm1lZCBwYWNrZXQuCgkgIEZpeGVzICM1ODEzNzUKCjIwMDktMDUtMDQgMjI6MDk6MDUgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IFJlbWVtYmVyIHBpZHMgdGhhdCBhcmUgbWVhbnQgdG8gYmUgc3RyZWFtIHBpZHMuCgkgIEZpeGVzICM1Njk3ODEKCjIwMDktMDUtMDQgMTI6Mzc6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozNDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzM6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogSW1wbGVtZW50IFByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkOiBJbXBsZW1lbnQgUHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTAzIDE3OjQyOjQ0ICswMTAwICBWaW5jZW50IEdlbmlldXggPG11dGV4QHJ1bmJveC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IElnbm9yZSBzdWJ0YWJsZSBleHRlbnNpb24gd2hlbiBwYXJzaW5nIFBBVAoJICBGaXhlcyAjNTY5NjczLgoKMjAwOS0wNS0wMyAxNzoyMToyMiArMDEwMCAgVmluY2VudCBHZW5pZXV4IDxtdXRleEBydW5ib3guY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBtYWtlIHNhZmUgY2hhbmdpbmcgdGhlIHByb2dyYW0tbnVtYmVycyBwcm9wZXJ0eSBkeW5hbWljYWxseQoJICBGaXhlcyAjNTY5NDM3LgoKMjAwOS0wNS0wMyAxNDoyODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGV4dGVuZCBCYXNlU3JjIHF1ZXJ5IGhhbmRsaW5nIHJhdGhlciB0aGFuIG92ZXJyaWRpbmcKCjIwMDktMDQtMjcgMjI6Mzk6MTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IChyZWdyZXNzaW9uIGluKSBuZXdzZWdtZW50IGhhbmRsaW5nCgkgIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkuICBGaXhlcyAjNTgwMTMzLgoKMjAwOS0wNS0wMiAxMjoyMzowMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHBlcyBmaWx0ZXIgcGlkIHJlc2V0dGluZwoKMjAwOS0wNS0wMSAwMjoyNjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IGNvc21ldGljIGZpeCB0byBoZWFkZXIgc3RydWN0dXJlIHRvIG1ha2UgZ3RrLWRvYyBoYXBweQoKMjAwOS0wNS0wMSAxNDoyNTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGRvY3M6IG1ha2UgZnBzZGlzcGxheXNpbmsgc2hvdyB1cCBpbiB0aGUgZG9jcwoKMjAwOS0wNS0wMSAwMjoyMToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogbW92ZSBwcml2YXRlIHN0cnVjdCBpbnRvIHBsdWdpbiBzdHJ1Y3QgYW5kIHVzZSBHc3QgbmFtZXNwYWNlCgoyMDA5LTA1LTAxIDAxOjU5OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHJlbmFtZSBwbHVnaW4gKG5vdCBlbGVtZW50KSB0byBkZWJ1Z3V0aWxzYmFkCgkgIE1ha2VzIGl0IGVhc2llciB0byBhZGQgZnVydGhlciB1dGlscyBoZXJlIHdpdGhvdXQgY3JlYXRpbmcgeWV0IGFub3RoZXIgcGx1Z2luLgoKMjAwOS0wNS0wMSAxNDoyODoyMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdW5zZXQgcGlkIGZpbHRlcnMgY29ycmVjdGx5CgoyMDA5LTA0LTMwIDE0OjQzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogY2hhbmdlcyBjYXBzIG9mIHNyYyBwYWRzIHRvIHZpZGVvL3F1aWNrdGltZSwgdmFyaWFudD1zb21ldGhpbmcKCSAgVGFrZSBhIGxvb2sgYXQgYnVnICM1ODAwMDUgZm9yIGZ1cnRoZXIgaW5mby4KCjIwMDktMDQtMzAgMTc6Mjk6MzUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wNC0zMCAxNzoyODo0NyArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3IgbmV3IHByZXNldHMgZmlsZQoKMjAwOS0wNC0zMCAxNzowODo1MiArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA5MDEuCgoyMDA5LTA0LTMwIDE0OjIwOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdTogZG8gc29tZSBiYXNpYyBjbGlwcGluZwoJICBBZGQgc29tZSBiYXNpYyBjbGlwcGluZyBvZiB0aGUgc3VidGl0bGUgcmVnaW9uIHdoZW4gdGhlIHN1YnRpdGxlIGlzIGJpZ2dlciB0aGFuCgkgIHRoZSBpbWFnZSB3ZSBzaG91bGQgcHV0IGl0IG9uLgoKMjAwOS0wNC0zMCAxNDoxODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogZG9uJ3QgRU9TIHdoZW4gdGhlIHN1YnRpdGxlIGdvdCBFT1MKCSAgRG9uJ3QgZm9yd2FyZCB0aGUgRU9TIG9uIHRoZSBzdWJ0aXRsZSBwYWQgYXMgdGhlIHZpZGVvIG1pZ2h0IHN0aWxsIGJlIHJ1bm5pbmcuCgoyMDA5LTA0LTMwIDEzOjQ1OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBjb2RlIGNsZWFudXAgYW5kIHBsdWcgb3ZlcmxheSBhcyBuZWVkZWQKCSAgUGx1Z2dpbiB0aGUgdGV4dC1vdmVsYXkgY2F1c2VzIHNvbWUgc2xvd2Rvd25zIGFuZCBtaWdodCBuZWVkIGEgY29sb3JzcGFjZQoJICBjb252ZXJ0ZXIuIFdlIG5vdyBvbmx5IGNoZWNrIHRoZSB0ZXh0LW92ZXJsYXkgcHJvcGVydHkgd2huZSBnb2ludCB0byByZWFkeSBhbmQKCSAgcGx1ZyBvciB1bnBsdWcgdGhlIHRleHQtb3ZlcmxheSBhdCB0aGF0IHRpbWUuIElmIHRoZSBwcm9wZXJ0eSBjaGFuZ2VzIGR1cmluZwoJICBwbGF5aW5nLCBpdHMgbm90IHN3aXRjaGVkIGltbWVkaWF0ZWx5LgoKMjAwOS0wNC0zMCAwMDowNjozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIHgyNjRlbmM6IGFkZCBwcmVzZXQgc3VwcG9ydAoJICBBZGQgcHJlc2V0IGlmYWNlIGFuZCBhIChkdW1teSkgcHJlc2V0IGZpbGUgYXMgYSBzdGFydGluZyBwb2ludC4KCjIwMDktMDQtMjYgMjE6MjY6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ29udmVydCBzb21lIGdfcHJpbnQgdG8gR1NUX0xPR19PQkpFQ1QgYW5kIGZyaWVuZHMsIHJlbW92ZSBzb21lIG90aGVycwoJICBUcmltIGRvd24gdGhlIGdfcHJpbnQgdmVyYm9zaXR5LgoKMjAwOS0wNC0yNiAyMToyOToyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgRFZERkFTVFNUQVJUIGVudiB2YXIgdG8gbWFraW5nIHNvbWUgdGVzdGluZyBlYXNpZXIKCjIwMDktMDQtMjQgMTQ6MDg6NTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSByZWR1bmRhbnQgbW9kdWxvIG9wZXJhdGlvbiBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wNC0yNCAxNDowNzozMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IE1hcCBhdWRpbyBhbmQgc3VicGljdHVyZSBsb2dpY2FsIHN0cmVhbXMgdG8gcGh5c2ljYWwuCgkgIFRoZSBsb2dpY2FsIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIHN0cmVhbSBudW1iZXIgZG9lc24ndCBhbHdheXMgY29ycmVzcG9uZAoJICB3aXRoIHRoZSBwaHlzaWNhbCBzdWJzdHJlYW0gaXQgaXMgY29taW5nIGZyb20uIFdoZW4gY29uZmlndXJpbmcgdGhlIGRlbXV4ZXIKCSAgcGFkcywgdXNlIHRoZSBtYXBwaW5nIHRhYmxlIHByb3ZpZGVkIGluIGVhY2ggUEdDIHRvIGdldCB0aGUgbGF5b3V0IGFuZAoJICBlbnN1cmUgdGhlIGRlbXV4ZXIgY3JlYXRlcyB0aGUgY29ycmVjdCBwYWRzLgoKMjAwOS0wNC0yOSAxODo1MjoyMCArMDEwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2bXV4OiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDc4Ni4KCjIwMDktMDQtMjkgMTY6NTc6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICB4MjY0ZW5jOiBhZGQgc29tZSBkb2N1bWVudGF0aW9uIG9uIHByb2ZpbGUKCjIwMDktMDQtMjkgMTM6NTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHY6IFNldC9yZXF1aXJlIHRoZSBmcmFtZWQvcGFyc2VkIGZpZWxkcyBvZiB0aGUgYXVkaW8vbXBlZyBjYXBzIHRvIFRSVUUKCjIwMDktMDQtMjkgMTM6MTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSAgZmx2OiBBbHdheXMgd3JpdGUgYXQgbGVhc3QgdGhlIG1pbmltYWwgdGFncyBhbmQgd3JpdGUgdGhlIFBBUiBhcyB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdjogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBzb21lIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHY6IEFkZCBzdXBwb3J0IGZvciB0aXRsZSB0YWcKCjIwMDktMDQtMjkgMDk6NDA6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBmbHY6IEZpeCBwYXJzaW5nIG9mIHRhZ3MgYW5kIGFkZCBuZXcgbWFwcGluZ3MKCSAgV2Ugc2hvdWxkbid0IHJlZ2lzdGVyIGEgbmV3IEdzdFRhZyBmb3IgZXZlcnkgdW5rbm93biB0YWcKCSAgd2UgZmluZCBhcyB0aGlzIG1pZ2h0IGxlYWQgdG8gY29uZmxpY3RzIGFuZCBhbHNvIHRob3NlCgkgIHRhZ3MgYXJlIGVzc2VudGlhbGx5IHVua25vd24uCgkgIEFkZCBtYXBwaW5ncyBmb3Igc29tZSBrbm93biB0YWdzIGFuZCBhbHNvIGNvbnZlcnQgc3RyaW5nCgkgIGRhdGVzIHRvIEdEYXRlLCBhcyBmb3VuZCBpbiBtYW55IEZMViBmaWxlcy4KCjIwMDktMDQtMjggMTY6MTA6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVqZWN0IHdyb25nIGNhcHMKCjIwMDktMDQtMjggMTY6MDM6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjggMTU6NTg6NDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IGxlYWsKCSAgRml4ZWQgYSBsZWFrIGRpc2NvdmVyZWQgYnkgTGF1cmVudCBHbGF5YWwgPHNwZWdsZUB5YWhvby5mcj4KCjIwMDktMDQtMjcgMTE6MDk6MDggKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiBtYWtlIFdBUk5JTkcgaW50byBMT0cKCSAgU2luY2UgbmVpdGhlciBydHBtYW5hZ2VyIG5vciBhbnkgb2YgdGhlIHBheWxvYWRlcnMgcHJvcGVybHkgaW1wbGVtZW50CgkgIHBhZCBhbGxvY2F0aW9uLCB0aGVyZSBpcyBubyB3YXkgZm9yIHRoZSBydHBtYW5hZ2VyIHRvIGluZm9ybSBkb3duc3RyZWFtIGVsZW1lbnRzCgkgIG9mIHRoZSBuZXcgU1NSQyBpZiB0aGVyZSBpcyBhbiBTU1JDIGNvbGxpc2lvbi4gU28gdGhlIHdhcm5pbmcgaXMgZW1pdHRlZCBhbGwgdGhlCgkgIHRpbWUgYW5kIGl0IGlzIGNvbmZ1c2luZy4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMTowNjowMSArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IG5vdGlmeSB3aGVuIFNTUkMgY2hhbmdlcwoJICBFbWl0IGEgZ19vYmplY3Rfbm90aWZ5IHdoZW4gdGhlIFNTUmMgY2hhbmdlcyBiZWNhdXNlIG9mIGEgY29sbGlzaW9uLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDEwOjA0OjUxICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgIEFkZCBuZXcgcGx1Z2luIHRvIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3NpbmcgaGVhZGVyIHRvIGdzdC9kY2NwL01ha2VmaWxlLmFtCgoyMDA5LTA0LTI1IDAwOjQ0OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogbWFrZSBnaXQgaWdub3JlIG5ldyB1bml0IHRlc3RzIGJpbmFyaWVzCgoyMDA5LTA0LTI1IDAwOjQyOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogZGlzdCBsaWJnc3Rkc2hvdy5kZWYgYnkgYWRkaW5nIGl0IHRvIHdpbjMyL01BTklGRVNUCgkgIEZpeGVzICM1Nzg1NjMuCgoyMDA5LTA0LTI0IDE4OjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBtcDRtdXg6IENoYW5nZXMgc3JjIGNhcHMgdG8gYXBwbGljYXRpb24veC1pc28tbXA0CgkgIEZpeGVzICM1ODAwMDUKCjIwMDktMDQtMjQgMTY6MDE6NDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IENvbW1pdCB0aGUgd2luMzIgY29uZmlnIHdpdGggYnVtcGVkIHZlcnNpb24gbnVtYmVyLgoJICBTaG91bGQgaGF2ZSBjb21taXR0ZWQgdGhpcyB3aGVuIEkgdW5mcm96ZSB0aGUgYnVpbGQgbGFzdCB0aW1lLCBzb3JyeS4KCjIwMDktMDQtMjQgMTQ6NTE6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogZXhjbHVkZSByc25kdmRiaW4gZnJvbSB0aGUgc3RhdGVzIHRlc3QKCjIwMDktMDQtMjQgMTU6NDI6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogZml4IGNvbmZpZ3VyZSB0byB1c2UgcHJvcGVyIHNoZWxsIHN5bnRheC4gZml4ZXMgIzU4MDA5MQoKMjAwOS0wNC0yMyAxNzozMzoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBGaXggY29tcGlsYXRpb24gb24gbmV3ZXIgbGliU291bmRUb3VjaAoJICBOZXdlciBsaWJzb3VuZHRvdWNoIHJlcXVpcmVzIHRoYXQgd2UgaW5jbHVkZSBhbiBleHRyYSBoZWFkZXIgdGhhdCB3YXNuJ3QKCSAgcHJldmlvdXNseSByZXF1aXJlZCwgc28gZGVmaW5lIEhBVkVfU09VTkRUT1VDSF8xXzQgZm9yIG5ld2VyIGJ1aWxkcyBzbyB0aGF0IGl0CgkgIGdldHMgaW5jbHVkZWQuCgoyMDA5LTA0LTIwIDExOjM4OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBtb3JlIGNsZWFudXBzCgkgIFVzZSBub3JtYWwgZ3N0LWRlZmluZXMgaW4gUExVR0lOX0RFRklORS4gU2hvcnRlbiBfc3RhcnQvc3RvcCBtZXRob2QgbmFtZXMuCgkgIE1vcmUgaWRlYXMuIE1vdmUgZGVidWcgY2F0ZWdvcnktaW5pdCBkb3duIHRvIHBsdWdpbi1pbml0LgoKMjAwOS0wNC0yMCAwOTo1MTo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogdXNlIGEgbmljZXIgZm9udCBmYW1pbHkKCjIwMDktMDQtMjAgMTA6MjQ6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHZhcmlvdXMgY2xlYW51cHMsIGRvY3MgYW5kIGNvbW1lbnRzCgkgIFJlbW92ZSB1bnVzZWQgYmFzZV9pbml0LiBBZGQgYmFzaWMgZG9jIGJsb2IuIFJldXNlIHF1ZXJ5IG9iamVjdC4gUmVuYW1lCgkgIHZhcmlhYmxlcyBmb3IgY2xhcml0eS4gQWRkIGNvbW1lbnRzIGFuZCBUb0Rvcy4KCjIwMDktMDQtMjAgMDk6NDk6MzIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHJlbW92ZSBpZmFjZSBwcm94eQoJICBXaGVuIHdlIGdldCBidXMgbWVzc2FnZXMgZm9yIHNldHRpbmcgdGhlIHhpZCwgd2UgaGF2ZSB0aGUgcmVhbCBzaW5rIGVsZW1lbnQKCSAgaW5zdGFuY2UgYXMgbWVzc2FnZV9zcmMuIE5vIG5lZWQgdG8gcHJveHkgdGhlIHhvdmVybGF5IGlmYWNlIHRoZXJlZm9yZQoJICAoYXV0b3ZpZGVvc2luayBkb2VzIG5vdCBkbyBpdCBlaXRoZXIpLiBBbHNvIHdlIGRvbid0IG5lZWQgdG8gcmV3cml0ZSB0aGUKCSAgbWVzc2FnZSBzcmMgb2YgYWxsIG1lc3NhZ2VzIGZyb20gdGhhdCBzaW5rLgoKMjAwOS0wNC0yMyAxMTowNDo0NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXQtc2VsZWN0b3I6IEZvcndhcmQgc2VnbWVudCBldmVudHMgZm9yIHRoZSBhY3RpdmUgcGFkIGltbWVkaWF0ZWx5LgoJICBXaGVuIGEgc2VnbWVudCBldmVudCBpcyByZWNlaXZlZCBvbiB0aGUgYWN0aXZlIHBhZCwgZm9yd2FyZCBpdCBkb3duc3RyZWFtCgkgIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgZGVmZXJyaW5nIGl0IHVudGlsIHRoZSBuZXh0IGRhdGEgYnVmZmVyIGFycml2ZXMuIFRoaXMKCSAgZml4ZXMgcHJvYmxlbXMgd2l0aCBzZWdtZW50IHVwZGF0ZXMgbmV2ZXIgYmVpbmcgc2VudCBkb3duc3RyZWFtLCBsaWtlIHRob3NlCgkgIG5lZWRlZCBmb3Igc3BhcnNlIHN0cmVhbXMsIG9yIGZvciBjbG9zaW5nIHByZXZpb3VzbHkgb3BlbmVkIHNlZ21lbnRzLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIERWRCBtZW51cyB3aXRoIGEgc3RpbGwgdmlkZW8gZnJhbWUgYW5kIGFuIGF1ZGlvIHRyYWNrLAoJICBmb3IgZXhhbXBsZS4KCSAgRml4ZXM6ICM1Nzc4NDMKCjIwMDktMDQtMjIgMTg6MDE6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRml4IHdhcm5pbmcKCjIwMDktMDQtMjAgMjA6MDA6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogU2V0IGRpZmZlcmVudCBjYXBzIGRlcGVuZGluZyBvbiB0aGUgaW5wdXQKCjIwMDktMDQtMjIgMTY6MjU6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogT25seSBmcmVlIHBhZCBwcml2YXRlIHdoZW4gcGFkIGlzIGRpc3Bvc2VkCgoyMDA5LTA0LTIyIDE5OjUyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIGZsdjogQWRkIGRvY3VtZW50YXRpb24gdG8gZmx2bXV4IGFuZCBmbHZkZW11eAoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM3MzcuCgoyMDA5LTA0LTIyIDE5OjQ1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14ZjogTWFyayBtb3N0IGZpZWxkcyBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0IGFzIHByaXZhdGUKCjIwMDktMDQtMjIgMTk6NDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA0LTIyIDE5OjI0OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnBzZGlzcGxheXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIG14Zm11eCBhbmQgdXBkYXRlIHRoZSBkb2NzCgoyMDA5LTAzLTE5IDE1OjM3OjE3IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogVXNlIGNvcnJlY3QgaGVhZGVyIGZpbGUKCSAgbW9kcGx1ZydzIHNuZGZpbGUuaCBjb25mbGljdHMgd2l0aCBsaWJzbmRmaWxlJ3Mgc25kZmlsZS5oLCBzbwoJICB3ZSdsbCBhY2Nlc3MgaXQgZGlyZWN0bHkgdXNpbmcgbW9kcGx1Zy9zbmRmaWxlLmguICBGaXhlcyAjNTczODQ5CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNToyOTowNCAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIG00L2dzdC1zZGwubTQ6CgkgIHNkbDogVXNlIFNETCBzdGF0aWMtbGlicyBmb3IgY29uZnRlc3QKCSAgRml4ZXM6ICM1NzM4NDcuICBUaGlzIGZpeGVzIGJ1aWxkaW5nIHdpdGggU0RMIG9uIFdpbmRvd3MuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNDo1NToyNiAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBHZXQgbnVtYmVyIG9mIHByb2Nlc3NvcnMgb24gd2luMzIKCSAgRml4ZXMgIzU3Mzg0OC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE0OjQ5OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogQWRkIHBrZ2NvbmZpZyBjaGVjayBmb3Igc291bmR0b3VjaC0xLjQKCSAgRml4ZXMgIzU3Mzg0Ni4KCjIwMDktMDItMjYgMTQ6MTg6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICBBZGQgaW50ZXJsYWNlZCBzdXBwb3J0IHRvIHZpZGVvcGFyc2UKCSAgQWRkIGEgdmlydHVhbCBtZXRob2QgaW4gcmF3cGFyc2UgdG8gc2V0IGJ1ZmZlciBmbGFncy4gIFRoaXMgZG9lc24ndAoJICB1c2UgQVBJIGZyb20gdW5yZWxlYXNlZCAtYmFzZSwgc2luY2UgaXQgZGVmaW5lcyBHU1RfVklERU9fQlVGRkVSX1RGRgoJICBpZiBpdCdzIG5vdCBkZWZpbmVkIHlldC4KCjIwMDktMDQtMjEgMjI6MTM6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjM5NDFlYSB0byA2YWIxMWQxCgoyMDA5LTA0LTIxIDEzOjI3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ3J0cG11eC1maXhlcycKCjIwMDktMDQtMjEgMTY6NDg6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IElmIHRoZSBjb25uZWN0aW9uIGZhaWxzLCBlbWl0IGEgcmVkaXJlY3Rpb24gbXNnIHRvIHRoZSBydHNwIGVxdWl2YWxlbnQuCgkgIFRoaXMgc2hvdWxkIGhlbHAgZml4IHRoZSBpc3N1ZSB3aXRoIFdpbmRvd3MgTWVkaWEgU2VydmVyIHVzaW5nIHJ0c3AuLi4gYnV0CgkgIHN0aWxsIGRlY2xhcmluZyB0aGUgc3RyZWFtIHdpdGggbW1zOi8vCgoyMDA5LTA0LTIxIDE2OjA4OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBPbmx5IGVycm9yIG91dCBhdCBFT1MgcHVzaCBmYWlsdXJlIGlmIHdlIGRvbid0IGhhdmUgYW55IHN0cmVhbXMuCgkgIFRoaXMgc2hvdWxkIHJlbW92ZSB0aGUgYm9ndXMgZXJyb3IgbWVzc2FnZXMgd2hpbGUgc3RpbGwga2VlcGluZyB0aGUgb3JpZ2luYWwKCSAgaW50ZW50IG9mIHRoaXMsIHdoaWNoIGlzIHRvIGluZm9ybSB0aGUgcGlwZWxpbmUvYXBwbGljYXRpb24vdXNlciB0aGF0IHdlCgkgIGNvdWxkIG5vdCBmaW5kIGFueSB2YWxpZCBzdHJlYW1zLgoJICBUaGVyZSBhcmUgbWFueSByZWFzb25zIHdoeSBwdXNoaW5nIGFuIGV2ZW50IGNhbiBmYWlsLCBhbmQgbm90IGFsbCBvZiB0aGVtIGFyZQoJICBiZWNhdXNlIHRoZXJlJ3Mgbm8gbGluayBkb3duc3RyZWFtIChpdCBjb3VsZCBiZSBiZWNhdXNlIGl0IHdhcyBibG9ja2VkLCBvcgoJICBmbHVzaGluZykuCgoyMDA5LTA0LTEwIDE5OjI0OjI2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIGhhY2sgc3BlY2lmaWMgZm9yIGl0dmhkCgkgIGl0dmhkIG1hc2tzIGl0cyBoMjY0IHZpZGVvIHN0cmVhbSBhcyBhIHByaXZhdGUgc3RyZWFtIG1ha2luZyBpdCBoYXJkZXIgZm9yCgkgIG90aGVyIHNldCB0b3AgYm94ZXMgdG8gZGVjb2RlLiB0aGlzIGNoZWNrcyBmb3Igc3BlY2lmaWMgcHJvZ3JhbSBudW1iZXIsIHZpZGVvCgkgIHBpZCBhbmQgc3RyZWFtIHR5cGUgY29tYmluYXRpb24gYmVmb3JlIGRlY2xhcmluZyBpdCBhcyBoMjY0LgoKMjAwOS0wNC0xMCAxOTowNjo1NSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZGV0ZWN0IEFDMyBzdHJlYW1zIGluIFBNVCB0YWJsZQoJICBhZGQgJ2hhcy1hYzMnIGJvb2xlYW4gdG8gcG10IGJ1cyBtZXNzYWdlCgoyMDA5LTA0LTEwIDAxOjE2OjMwICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBpdHYgaGQgaGFjawoKMjAwOS0wNC0xMCAwMToxMTowMSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgaGFjayBmb3IgaXR2aGQgc2lkIHRvIGRldGVjdCBtcGVnMSBhcyBoMjY0CgoyMDA5LTA0LTIwIDE4OjQxOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSB1c2VsZXNzIGNhcHMgbWFuZ2xpbmcKCjIwMDktMDQtMjAgMTg6MzY6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVuYW1lIHZhcmlhYmxlIGZvciBtb3JlIGNsYXJpdHkKCjIwMDktMDQtMjAgMTc6NDM6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFVzZSBHU1RfQk9JTEVSUExBVEUKCjIwMDktMDQtMjAgMTc6NDI6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEbyB0aGUgaW5jbHVkZXMgbG9jYWxseQoKMjAwOS0wNC0yMCAxNjozNDozMCArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ad2luZ29tYWMuYmNuLm9ibG9uZy5uZXQ+CgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSAgcGF0Y2ggb3ZlciBsb2dpYyBlcnJvcnMgaW4gb3N4dmlkZW9zcmMKCSAgYXBwbGUncyBjb21waWxlciBjYXJwcywgd2l0aCByZWFzb24sIGFib3V0IHNvbWUgY29uc3RydWN0cyBpbiBvc3h2aWRlb3NyYy5jCgkgIGZpeCB0aGVtLgoJICBhbHNvIGl0IHNlZW1zIHRoYXQgZm9yIHNvbWUgcmVhc29uIHRoaXMgcmVxdWlyZWQgYSBnc3QtaW5kZW50IHJ1bi4gd2hlZQoKMjAwOS0wNC0yMCAxMzowOTo0NiArMDIwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkgIGFkZCBvc3h2aWRlb3NyYwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOiBBdXRvY29uZmlzY2F0aW9uLgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOiBBZGQgb3N4dmlkZW9zcmMuIFNob3VsZCBmaXggIzE1MzY4NC4KCSAgUGF0Y2gtYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgIFBhdGNoLWJ5OiBBbGkgU2FiaWwgPGFsaS5zYWJpbEB0YW5kYmVyZy5jb20+CgkgIFBhdGNoLWJ5OiBCYXJyYWN1ZGEgTmV0d29ya3MgPGp1c3RpbkBhZmZpbml4LmNvbT4KCjIwMDktMDQtMTkgMTc6MTg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbGVjdCBpbnRlcmxhY2luZyBhdXRvZGV0ZWN0aW9uIG9yIHRvIGVuZm9yZSBkZWludGVybGFjaW5nCgkgIEZvciB0aGlzIGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0aGF0IGRlZmF1bHRzIHRvICJpbnRlcmxhY2VkIiBmb3Igbm93IGFzCgkgIG1vc3QgZGVjb2RlcnMvZGVtdXhlcnMgZG9uJ3QgcHJvcGVybHkgc2V0IHRoZSAiaW50ZXJsYWNlZCIgZmllbGQgb24gdGhlCgkgIGNhcHMgeWV0LgoJICBJZiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byAiYXV0byIgdGhlIGVsZW1lbnQgd2lsbCB3b3JrIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdW5sZXNzIHRoZSBjYXBzIGNvbnRhaW4gdGhlICJpbnRlcmxhY2VkIiBmaWVsZC4KCjIwMDktMDQtMTggMjM6NDI6NTcgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBsZWFrIG9mIEdTVF9UWVBFX0xJU1QgZ3ZhbHVlCgoyMDA5LTA0LTE4IDEzOjA5OjIzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZml4IGxlYWsgaW4gc3JjX3BhZF9xdWVyeQoKMjAwOS0wNC0xNyAxNjoxNjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogam9pbiB0aGUgUlRDUCB0aHJlYWQKCSAgQXZvaWQgYSBjYXNlIHdoZXJlIGEgam9pbmFibGUgdGhyZWFkIHdvdWxkIGJlIGxlZnQgdW5qb2luZWQsIHdoaWNoIGxlYWtlZCB0aGUKCSAgdGhyZWFkIHN0cnVjdHVyZS4KCSAgRml4ZXMgIzU3NzMxOC4KCjIwMDktMDQtMTcgMTU6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBVc2UgR1NUXyhERUJVR3xXQVJOSU5HfEVSUk9SKV9PQkpFQ1QgaW5zdGVhZCBvZiB0aGUgbm9uLU9CSkVDVCBvbmVzCgoyMDA5LTA0LTE3IDE1OjM5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogUmVzZXQgaGlzdG9yeSBpZiBESVNDT05UIGlzIHNldCBvbiB0aGUgaW5jb21pbmcgYnVmZmVyCgoyMDA5LTA0LTE3IDE1OjM5OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogRml4IHRpbWVzdGFtcHMgZm9yIGJ1ZmZlcnMgd2l0aCBSRkYgZmxhZyBzZXQKCjIwMDktMDQtMTYgMjI6MTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFByb3Blcmx5IGhhbmRsZSB0aGUgbmV3IGludGVybGFjZWQgc3VwcG9ydCBmcm9tIGxpYmdzdHZpZGVvIGZvciAoZGUpbXV4aW5nCgoyMDA5LTA0LTE2IDE3OjQxOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJICBkZWludGVybGFjZTI6IFJlbmFtZSBsaW5lX2xlbmd0aCB0byByb3dfc3RyaWRlIGFuZCByZW1vdmUgb3V0cHV0X3N0cmlkZQoKMjAwOS0wNC0xNiAxNTo1MjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEltcGxlbWVudCBzdXBwb3J0IGZvciBSRkYgYW5kIE9ORUZJRUxEIGJ1ZmZlciBmbGFncwoKMjAwOS0wNC0xNiAxODozNjoxMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGFkZCBhIGluaXRpYWwgcG9ydCBvZiBhIHNpbmsgd2l0aCBmcHMgZGlzcGxheQoJICBUaGlzIG5vdyB3b3JrcyB3aXRoIGEgZXZlbnQgcHJvYmUuIE5lZWRzIHNvbWUgZXh0cmEgd29yay4KCjIwMDktMDMtMDkgMTg6MjI6MjggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW4gdXAgYW5kIGZpeCBhc3NlcnRpb24gZmFpbCB3aGVuIHNldHRpbmcgem9vbSBpbiBOVUxMIHN0YXRlCgoyMDA5LTAzLTA5IDE4OjMxOjA3ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3JtYXQgbWF0Y2hpbmcgd2hlbiBkZXRlY3RpbmcgYWxsb3dlZCBmcmFtZSByYXRlCgoyMDA5LTAzLTA5IDE4OjI1OjQ4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvc2UgcGVuZGluZyBzdGF0ZSB3aGVuIGNoYW5naW5nIHJlc29sdXRpb24KCjIwMDktMDItMjcgMTc6MTI6MzggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2hhbmdlIGltZy1kb25lIHNpZ25hbCBwYXJhbWV0ZXIgZnJvbSBHU3RyaW5nKiB0byBjb25zdCBnY2hhcioKCSAgRG9uJ3QgYWxsb3cgc2V0dGluZyBmaWxlbmFtZSB2aWEgaW1nLWRvbmUgc2lnbmFsIHBhcmFtZXRlciBidXQgZm9yY2UgYXBwCgkgIHVzZSBmaWxlbmFtZSBwcm9wZXJ0eS4gRG9uJ3Qgc3RvcCBjYXB0dXJlIHdoZW4gc2V0dGluZyBmaWxlbmFtZSBwcm9wZXJ0eS4KCSAgVXBkYXRlIGNoZWNrIHVuaXQgdGVzdCBiYXNlZCBvbiB0aGUgY2hhbmdlLgoKMjAwOS0wNC0xNSAxMzoyMzowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogQWRkIEdTVF9ERUJVR19GVU5DUFRScwoKMjAwOS0wNC0xNSAxMzoxNTo1NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2UgbG9ja2VkIHBhZCBvbiByZWxlYXNlX3BhZAoJICBSZWxlYXNlIHRoZSBzcGVjaWFsIHBhZCBpZiB0aGUgcGFkIGlzIHJlbW92ZWQgZnJvbSB0aGUgbXV4ZXIuCgoyMDA5LTA0LTE1IDEzOjA5OjI3IC0wNDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBzcGVjaWFsIG9uIHBhZCBkaXNwb3NlCgkgIEZpeGVzICM1Nzc2OTAKCjIwMDktMDQtMTUgMTg6MTQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBwcmV2ZW50IG92ZXJmbG93IGluIEVPUyBlc3RpbWF0aW9uCgkgIFVzZSBhIGd1aW50NjQgaW5zdGVhZCBvZiBhIGd1aW50IHRvIGhvbGQgYSA2NGJpdCB2YWx1ZSB0byBwcmV2ZW50IGNvbXBsZXRlbHkKCSAgYm9ndWVzIEVPUyBlc3RpbWF0aW9uIHZhbHVlcyBkdWUgdG8gb3ZlcmZsb3dzLgoKMjAwOS0wNC0xNSAxNzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgcnRwYmluOiB3ZSBzaG91bGQgbm90IHByb3ZpZGUgYSBjbG9jawoJICBUaGVyZSBpcyBubyBuZWVkIHRvIHByb3ZpZGUgYSBjbG9jay4KCjIwMDktMDQtMTUgMTc6Mjg6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiBtb3JlIGVzdGltYXRlZCBFT1MgZml4ZXMKCSAgRG8gbW9yZSBhY2N1cmF0ZSBFT1MgZXN0aW1hdGUgYW5kIGd1YXJkIGFnYWluc3QgYmFja3dhcmQgdGltZXN0YW1wcy4KCjIwMDktMDQtMTUgMTc6MjU6MDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgaml0dGVyYnVmZmVyOiByZWxlYXNlIGxvY2sgYmVmb3JlIHB1c2hpbmcgRU9TCgkgIE1ha2Ugc3VyZSB3ZSByZWxlYXNlIHRoZSBqaXR0ZXJidWZmZXIgbG9jayBiZWZvcmUgd2Ugc3RhcnQgcHVzaGluZyBvdXQgZGF0YQoJICBiZWNhdXNlIGVsc2Ugd2UgbWlnaHQgZGVhZGxvY2suCgoyMDA5LTA0LTE1IDE1OjQ2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgIGRlaW50ZXJsYWNlMjogTW92ZSBvdXRwdXQgYnVmZmVyIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdCB0byBhIGZ1bmN0aW9uIHBhcmFtZXRlcgoKMjAwOS0wNC0xNSAxNTozMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXRlY3Rpb24gb2YgdGhlIGZpZWxkIG9yZGVyCgoyMDA5LTA0LTE1IDE0OjQ3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogQWRkIHN1cHBvcnQgZm9yIFlWWVUgY29sb3JzcGFjZQoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIFlVWTIgd2l0aCBqdXN0IENyIGFuZCBDYiBzd2FwcGVkLiBBcwoJICB3ZSBkb24ndCBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0gd2hlbiBkZWludGVybGFjaW5nCgkgIHRoaXMgd29ya3MuCgoyMDA5LTA0LTEzIDEzOjMyOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogU21hbGwgY2xlYW51cAoKMjAwOS0wNC0xMCAxODowMDowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlYzogZml4IGNvbXBpbGF0aW9uIHdpdGggdGhlIGRlYnVnZ2luZyBzeXN0ZW0gZGlzYWJsZWQKCSAgT25lIEdTVF9ERUJVR19DQVRFR09SWV9JTklUIHNob3VsZCBiZSBlbm91Z2ggYW55d2F5LgoJICBGaXhlcyAjNTc4NTYyIChzcG90dGVkIGJ5IERhdmlkIEhveXQpLgoKMjAwOS0wNC0wOSAyMzo1MzozOSArMDIwMCAgSmFuaW4gS29sZW5jIDxqYW5pbi5rb2xlbmMgYXQgbWFyYW5kLnNpPgoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIHgyNjRlbmM6IGFkZCBmb3JjZSBrZXlmcmFtZSBldmVudCBoYW5kbGluZwoJICBVc2UgdGhlIEdzdEZvcmNlS2V5VW5pdCBldmVudCB0byBmb3JjZSBhIGtleWZyYW1lLgoJICBGaXhlcyAjNTc4MTEyLgoKMjAwOS0wNC0wOCAxMTo1Mjo0NiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIGFjbWVuYywgYWNtbXAzZGVjLCBzZHA6IGxpbmsgdG8gYWxsIHJlcXVpcmVzIGxpYnJhcmllcyBvbiB3aW4zMi4KCSAgQWRkIHdpbnNvY2sgZm9yIHdpbmRvd3MgKGZvciBzZHApLiBMaW5rIHRvIGFsbCB0aGUgcGx1Z2lucy1iYXNlCgkgIGxpYnMgd2UgaW5kaXJlY3RseSB1c2UgZm9yIGFjbW1lbmMgYW5kIGFjbW1wM2RlYy4KCjIwMDktMDQtMDcgMTU6NTA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgbXhmOiBBZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgaWYgbXhmbXV4ICEgbXhmZGVtdXggcGlwZWxpbmVzIGFyZSB3b3JraW5nIHdpdGhvdXQgZXJyb3JzCgoyMDA5LTA0LTA3IDE1OjQ5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBpbnZhbGlkIGJ1ZmZlciBvZmZzZXRzLCBpbnN0ZWFkIGFzc3VtZSBvZmZzZXQgPT0gMAoKMjAwOS0wNC0wNyAxNTo0NTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IGNvbXBhcmlzb24KCjIwMDktMDQtMDcgMTU6MTk6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSAgVXNlIFVMIGRhdGFiYXNlIGZvciBhbGwgbWV0YWRhdGEgVUxzCgoyMDA5LTA0LTA3IDA0OjUzOjAyICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHNsaWdodGx5IGJyb2tlbiBidWZmZXItaW4tc2VnbWVudCBjaGVjayAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpCgoyMDA5LTA0LTA1IDAzOjUwOjE5ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IHB1c2ggbW9kZSBzZWVraW5nIChhYWNwYXJzZSwgYW1ycGFyc2UpCgkgIFNlbmRpbmcgdGhlIGZsdXNoLXN0YXJ0IGV2ZW50IGZvcndhcmQgYmVmb3JlIHRha2luZyB0aGUgc3RyZWFtIGxvY2sgYWN0dWFsbHkKCSAgd29ya3MsIGluIGNvbnRyYXN0IHRvIGRlYWRsb2NraW5nIGluIGRvd25zdHJlYW0gcHJlcm9sbF93YWl0IChodW5rIDEpLgoJICBBZnRlciB0aGF0IHdlIGdldCB0aGUgY2hhaW4gZnVuY3Rpb24gYmVpbmcgc3R1Y2sgaW4gYSBidXN5IGxvb3AuIFRoaXMgaXMgZml4ZWQKCSAgYnkgdXBkYXRpbmcgdGhlIG1pbmltdW0gZnJhbWUgc2l6ZSBpbnNpZGUgdGhlIHN5bmNocm9uaXphdGlvbiBsb29wIGJlY2F1c2UgdGhlCgkgIHN1YmNsYXNzIGFza3MgZm9yIG1vcmUgZGF0YSBpbiB0aGlzIHdheSAoaHVuayAyKS4KCSAgRmluYWxseSwgdGhpcyBsZWFkcyB0byBhIHZlcnkgcHJvYmFibGUgY3Jhc2ggYmVjYXVzZSB0aGUgc3ViY2xhc3MgY2FuIGZpbmQgYQoJICB2YWxpZCBmcmFtZSB3aXRoIGEgc2l6ZSBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnRseSBhdmFpbGFibGUgZGF0YSBpbiB0aGUKCSAgYWRhcHRlci4gVGhpcyBtYWtlcyB0aGUgc3Vic2VxdWVudCBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlciBjYWxsIHJldHVybiBOVUxMLAoJICB3aGljaCBpcyBub3QgZXhwZWN0ZWQgKGh1bmsgMykuCgoyMDA5LTA0LTA0IDIxOjE5OjExICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDBlYTg5ZSB0byBiMzk0MWVhCgoyMDA5LTA0LTA0IDE3OjUxOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogZml4IHNvbWUgcmVmY291bnQgbWlzdGFrZXMgYW5kIGRvIHNvbWUgY2xlYW5pbmcgdXAKCSAgTm8gbmVlZCB0byB1bnJlZiBidWZmZXJzIGlmIHBhZF9wdXNoIHJldHVybnMgc29tZXRoaW5nIG5vbi1GTE9XX09LLgoJICBJbiBmYWN0LCB0aGlzIHdpbGwgY2F1c2UgYXNzZXJ0aW9ucyBvciBjcmFzaGVzLiBIb3dldmVyLCB3ZSBkbyBuZWVkCgkgIHRvIHVucmVmIHRoZSBpbnB1dCBidWZmZXIgd2hlbmV2ZXIgd2UgZG9uJ3QgcGFzcyBpdCBkb3duc3RyZWFtLiBBbHNvLAoJICBhIG5vbi1PSyBmbG93IHJldHVybiBpcyBub3QgYW4gZXJyb3IsIHNvIGRvbid0IHBvc3QgZXJyb3IgbWVzc2FnZXMgb24KCSAgdGhlIGJ1cyAtIHRoZSBwaXBlbGluZSBtYXkganVzdCBiZSBzaHV0dGluZyBkb3duLiBNaXNjZWxsYW5lb3VzIG90aGVyCgkgIGNsZWFuLXVwcyBhbmQgY3JhY2sgcmVtb3ZhbC4gUGxlbnR5IG9mIHdvcmsgbGVmdCBmb3IgdGhvc2Ugd2hvIGZlZWwKCSAgbGlrZSBpdC4KCjIwMDktMDQtMDQgMTQ6NTQ6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4YjNkOTEgdG8gZDBlYTg5ZQoKMjAwOS0wNC0wMyAyMzoxMDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZml4IGR2ZG5hdiB2ZXJzaW9uIGNoZWNrCgkgIEZpeGVzICM1Nzc4NjQuIFRoaXMgdGltZSBmb3IgcmVhbC4KCjIwMDktMDQtMDMgMTc6NTU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IHJlcXVpcmUgbGliZHZkbmF2ID49IDQuMS4yIGZvciBkdmRuYXZfZ2V0X2N1cnJlbnRfdGltZSgpCgkgIEZpeGVzICM1Nzc4NjQuCgoyMDA5LTA0LTAzIDEwOjI5OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIG1pc2M6IEJ1bXAgcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjIuMQoKMjAwOS0wNC0wMSAxNzo0MTo0MCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTZW5kIGJvdGggdGhlIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHN1YnN0cmVhbSBJRCBpbiB0aGUgc3RyZWFtIGNoYW5nZS4KCSAgV2hlbiBzZW5kaW5nIHRoZSBzdHJlYW0gY2hhbmdlIG1lc3NhZ2UocykgdG8gdGhlIGRlbXV4ZXIsIGFsc28gaW5jbHVkZSB0aGUKCSAgbG9naWNhbCBzdHJlYW0gaWQgYWxvbmcgd2l0aCB0aGUgcGh5c2ljYWwgSUQsIHNvIHRoYXQgdGhlIGRlbXV4ZXIgY2FuIHJlbWFwCgkgIGxvZ2ljYWwtPnBoeXNpY2FsIE1QRUcgc3RyZWFtIElELgoKMjAwOS0wNC0wMSAwMjoyMzoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBVc2UgbmV3IEdzdE5hdmlnYXRpb24gZnVuY3Rpb25hbGl0eS4KCSAgSGFuZGxlIHRoZSBuZXcgRFZEIGNvbW1hbmRzLCBzbyB0aGF0IHdlIGNhbiBoYW5kbGUgY29tbWFuZHMgZnJvbSBhIHBsYXllcgoJICB0byBjaGFuZ2UgYW5nbGUsIGp1bXAgdG8gbWVudXMgZXRjLiBVc2UgdGhlIG5ldyBHc3ROYXZpZ2F0aW9uIGV2ZW50IHBhcnNpbmcKCSAgZnVuY3Rpb25zLCBpbnN0ZWFkIG9mIGhhbmQtcm9sbGVkIHN0dWZmLgoJICBTZW5kIEdzdE5hdmlnYXRpb24gbm90aWZpY2F0aW9uIG1lc3NhZ2VzIHdoZW4gdGhlIG1vdXNlIGVudGVycyBhIGJ1dHRvbgoJICBvciBsZWF2ZXMgaXQsIHNvIFVJIGNhbiB0dXJuIHRoZSBtb3VzZSBjdXJzb3IgdG8gYSBoYW5kIGljb24uCgoyMDA5LTAzLTMwIDAxOjA3OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBTd2l0Y2ggdG8gdXNpbmcgYSBoYXJkLWNvZGVkIG1wZWcyZGVjLCBhbmQgY2hhbmdlIHBhZCBibG9ja2luZyBhIGJpdC4KCSAgQ2hhbmdlIHRoZSBwYWQgYmxvY2tpbmcgYmVoYXZpb3VyIGR1cmluZyBzdGFydHVwLCBhbmQgdXNlIGEgaGFyZC1jb2RlZCBtcGVnMmRlYyAoZm9yIHRoZSBtb21lbnQpLCBpbiBvcmRlciB0byBtYWtlIHRoaW5ncyB3b3JrIHdpdGggcGxheWJpbjIuCgoyMDA5LTAzLTI1IDEyOjMxOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBuZXdsaW5lIHRvIGRlYnVnIGdfcHJpbnQgc3RhdGVtZW50CgoyMDA5LTAzLTI1IDAyOjIwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IE1ha2UgaGlnaGxpZ2h0cyB3b3JrIHdoZW4ganVtcGluZyBpbnRvIG1lbnVzCgkgIE1ha2UgdGhlIGhpZ2hsaWdodHMgcmUtYXBwZWFyIGNvcnJlY3RseSB3aGVuIGp1bXBpbmcgYmFjayBpbnRvIG1lbnVzCgkgIGJ5IG1ha2luZyBzdXJlIHRvIHNldCB0aGUgZmx1c2hpbmdfc2VlayBmbGFnIGZvciB1c2VyLWFjdGlvbiBpbml0aWF0ZWQKCSAgc2Vla3MuCgkgIEZpZGRsZSBzb21lIGRlYnVnIHJlbGF0ZWQgdG8gdHJhY2tpbmcgZG93biB0aGUgaXNzdWUuCgoyMDA5LTAzLTI1IDAxOjIxOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFN1cHBvcnQgbXVsdGlhbmdsZSB0aXRsZXMuCgkgIEFkZCBhIHdvcmthcm91bmQgZm9yIGFuIGFwcGFyZW50IGxpYmR2ZG5hdiBidWcgd2hlcmUgaXQgbG9zZXMgbmF2IHBhY2tldHMKCSAgZHVyaW5nIG11bHRpYW5nbGUgdGl0bGVzLCBhbmQgYWRkIHNvbWUga2V5cHJlc3MgYmluZGluZ3MgdG8gc3dpdGNoIHRoZSBhbmdsZS4KCjIwMDktMDMtMTggMDk6MzU6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogQWRkIGJhY2sgaW4gc3VwcG9ydCBmb3IgdXNpbmcgaGFyZGNvZGVkIGE1MmRlYwoKMjAwOS0wMy0xNiAyMDozMTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogQWRkIHNvbWUgZGVidWcgd2hlbiBjcmVhdGluZyB0aGUgb3V0cHV0IHBhZHMgaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDMtMTAgMTA6Mzk6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByZXNpbmR2ZDogTW9yZSBoYWNraW5nIG9uIHRoZSBhdWRpbyBkZWNvZGVyLgoKMjAwOS0wMy0wNSAwMDowNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBUcmltIGJhY2sgdGhlIGdfcHJpbnQgZGVidWcgLSBjb252ZXJ0IHRvIEdTVF9ERUJVRyBhbmQgR1NUX0xPRwoKMjAwOS0wMy0wNCAxNjoxNjo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmQ6IEV4dGVuZCB0aGUgUmVzaW4gYXVkaW8gZGVjb2RlciBlbGVtZW50LCBhbmQgc3dpdGNoIHJzbmR2ZGJpbiB0byB1c2UgaXQKCjIwMDktMDItMjcgMTA6MTg6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZDogRmlyc3QgcGFydCBvZiB0aGUgcmUtcGx1Z2dpbmcgYXVkaW8gZGVjb2RlcgoKMjAwOS0wMi0yNyAwOTo0MjozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiByZW1vdmUgdW51c2VkIGNvZGUgcGF0aCBmcm9tIHRoZSBiaW4KCjIwMDktMDItMjYgMDA6Mjk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogSW5kZW50IHNvbWUgdGhpbmdzCgoyMDA5LTAyLTI2IDAwOjI3OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICByZXNpbmR2ZDogU3dpdGNoIEdTVF9CT0lMRVJQTEFURSB0byBHX0RFRklORV9UWVBFIGZvciBubyByZWFsIHJlYXNvbi4KCjIwMDktMDMtMjQgMDE6MDI6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IEFkZCBmYXN0c3RhcnQsIGFuZCB3b3JrIGFyb3VuZCBzb21lIG11bHRpLWFuZ2xlIGlzc3VlcwoJICBBZGQgYSAnZmFzdC1zdGFydCcgcHJvcGVydHkgdG8gdGhlIHJzbmR2ZHNyYyBlbGVtZW50LCB0aGF0IGF0dGVtcHRzIHRvCgkgIGp1bXAgZGlyZWN0bHkgdG8gdGhlIERWRCBtZW51IHdoZW4gc3RhcnRpbmcuIERvZXNuJ3Qgd29yayBjb3JyZWN0bHkgb24gYWxsCgkgIHRpdGxlcyB5ZXQuCgkgIEFkZCB3b3JrYXJvdW5kcyBmb3IgaXNzdWVzIHdpdGggbXVsdGlwbGUgYW5nbGVzIGluIGxpYmR2ZG5hdjogVXNlIGEgaGV1cmlzdGljCgkgIHRvIGF2b2lkIGRldGVjdGluZyBkaXNjb250aW51aXRpZXMgZHVyaW5nIG11bHRpcGxlLWFuZ2xlIHRpdGxlcywgaXQgc2VlbXMKCSAgY2F1c2VkIGJ5IGxpYmR2ZG5hdiBsb3Npbmcgc29tZSBOQVYgcGFja2V0cyBpbiBtdWx0aWFuZ2xlIHRpdGxlcy4gRml4CgkgIHNlZWtpbmcgaW4gbXVsdGktYW5nbGUgdGl0bGVzIGJ5IGFsaWduaW5nIG91ciBzZWN0b3IgY2FsY3VsYXRpb24gbG9naWMKCSAgd2l0aCBsaWJkdmRuYXYncy4gQWxzbywgdXNlIGxpYmR2ZG5hdidzIGR2ZG5hdl9nZXRfY3VycmVudF90aW1lKCkgbWV0aG9kCgkgIHRvIGRldGVybWluZSB0aGUgbG9naWNhbCBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBjZWxsIHdoZW4gaXQgY2hhbmdlcywgYXMgdGhlCgkgIGNlbGxfc3RhcnQgdmFsdWUgaW4gdGhlIGNlbGxfY2hhbmdlIGV2ZW50IHByb3ZpZGVzIGEgbnVtYmVyIHRoYXQgZG9lc24ndAoJICBjb21wZW5zYXRlIGZvciBhbmdsZSBjZWxsIGJsb2Nrcy4KCjIwMDktMDMtMjEgMTk6MDQ6MDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU21hbGwgZGVidWcgb3V0cHV0IGNoYW5nZSBpbiB0aGUgc291cmNlIGVsZW1lbnQKCjIwMDktMDQtMDEgMDI6MjU6NDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWRkIHNvbWUgZGVidWcKCSAgQWRkIGEgbGl0dGxlIGJpdCBvZiBleHRyYSBkZWJ1Zy4gV3JhcCBhIGhhcmRjb2RlZCAjaWYgMCBpbnRvIGEgZGVmaW5lIGluc3RlYWQuCgoyMDA5LTA0LTAyIDEzOjA1OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJlbmM6IFVucmVmIHBlZXIgY2FwcyBhZnRlciB1c2FnZSB0byBmaXggYSBtZW1vcnkgbGVhawoKMjAwOS0wNC0wMiAxMjo0NjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkgIG14Zm11eDogQWRkIHVuaXQgdGVzdHMKCjIwMDktMDQtMDEgMTU6NDU6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBmaXggbmVnb3RpYXRpb24gc28gdGhhdCB1cHN0cmVhbSBjYW4gYWN0dWFsbHkgZml4YXRlIHRvIGRvd25zdHJlYW0ncyByYXRlCgkgIElmIG9uZSBzaWRlIGhhcyBhIHByZWZlcmVuY2UgZm9yIGEgcGFydGljdWxhciBzYW1wbGUgcmF0ZSBvciBzZXQgb2Ygc2FtcGxlIHJhdGVzLCB3ZQoJICBzaG91bGQgaG9ub3VyIHRoaXMgaW4gdGhlIGNhcHMgd2UgYWR2ZXJ0aXNlIGFuZCB0cmFuc2Zvcm0gdG8gYW5kIGZyb20sIHNvIHRoYXQgZWxlbWVudHMKCSAgYWN0dWFsbHkga25vdyBhYm91dCB0aGUgb3RoZXIgc2lkZSdzIHNhbXBsZSByYXRlIHByZWZlcmVuY2UgYW5kIGNhbiBuZWdvdGlhdGUgdG8gaXQKCSAgaWYgc3VwcG9ydGVkLiBBbHNvIGFkZCB1bml0IHRlc3QgZm9yIHRoaXMuCgoyMDA5LTAzLTMxIDE2OjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERlbGF5IG5ld3NlZ21lbnQgYXMgbG9uZyBhcyBwb3NzaWJsZS4KCSAgSWYgbmV3c2VnbWVudCBpcyBzZW50ICh0b28pIGVhcmx5LCBjYXBzIG1heSBub3QgeWV0IGJlIGZpeGVkL3NldCwKCSAgYW5kIGRvd25zdHJlYW0gbWF5IG5vdCBoYXZlIGJlZW4gbGlua2VkLgoKMjAwOS0wMy0zMCAyMTo1NzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogZml4IGJpdHJhdGUgcHJvcGVydHkgc2V0dGluZ3MKCSAgQWxpZ24gYml0cmF0ZSBwcm9wZXJ0eSBpbnRlcnByZXRhdGlvbiB3aXRoIHVzdWFsIG1wZWcyZW5jIGJlaGF2aW91ci4KCSAgRml4ZXMgIzU3NTczNi4KCjIwMDktMDMtMjcgMjE6Mzk6MDUgKzAwMDAgIEFsYW4gRmFsbG9vbiA8YWZhbGxvb25AbHVtZW5lcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IG1ha2UgLS1kaXNhYmxlLWV4dGVybmFsIHdvcmsgYWdhaW4KCjIwMDktMDMtMjcgMTk6Mzc6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBqcDJrZGVjOiBpbXBsZW1lbnQgYmFzaWMgUW9TCgkgIERvbid0IHRyeSB0byBkZWNvZGUgZnJhbWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIGxhdGUgYW55d2F5LgoKMjAwOS0wMy0yNyAxNzo0NDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBydHBiaW46IGFkZCBvbl9ucHRfc3RvcCBzaWduYWwKCSAgQWRkIHRoZSBvbl9ucHRfc3RvcCBzaWduYWwgdG8gcnRwYmluIGFuZCBydHBqaXR0ZXJidWZmZXIgdG8gbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiB0aGF0IHRoZSBOUFQgc3RvcCBwb3NpdGlvbiBoYXMgYmVlbiByZWFjaGVkLgoKMjAwOS0wMy0yNyAxMToyMDowMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXRzZWxlY3RvcjogcmVzZXQgc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWQoJICBSZXNldCB0aGUgbGFzdC1idWZmZXIsIHRoZSBwZW5kaW5nIHBhZCBhbmQgdGhlIHNlZ21lbnQgd2hlbiBnb2luZyB0byB0aGUgUkVBRFkKCSAgc3RhdGUuCgkgIEZpeGVzICM1NzY3MTIuCgoyMDA5LTAzLTI1IDIxOjI0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IHJldXNpbmcgZWxlbWVudAoJICBTdGF0ZSBjaGFuZ2UgdG8gUkVBRFkgYW5kIHRoZW4gYmFjayB0byBQQVVTRUQgc2hvdWxkIHN0aWxsIHByb3ZpZGUKCSAgdGhlIHByb3BlciBzdHJ1Y3R1cmVzIGFzIGFyZSBvdGhlcndpc2UgZnJlc2hseSBhdmFpbGFibGUgZm9sbG93aW5nCgkgIGEgcmVxdWVzdF9uZXdfcGFkLgoJICBQb2ludGVkIG91dCBieSBUaGlhZ28gU2FudG9zLgoKMjAwOS0wMy0yNiAyMDoyODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogRml4IGNvbXBpbGF0aW9uIGFuZCBjb21waWxlciBlcnJvcnMgd2l0aCBHTGliIDwgMi4xNi4wCgoyMDA5LTAzLTI2IDE0OjI2OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBGaXggImNhc3QgdG8gcG9pbnRlciB0eXBlIG9mIGRpZmZlcmVudCBzaXplIiBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAzLTI2IDEzOjI0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBSZW5hbWUgZm9yZ290dGVuIGZ1bmN0aW9uIHRvIGZpeCB1bnJlc29sdmVkIHN5bWJvbHMgZXJyb3IKCjIwMDktMDMtMjYgMTM6MjA6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmOiBVc2UgbXhmX3V7bCx1aWR9X2lzX2VxdWFsKCkgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBtZW1jbXAoKQoKMjAwOS0wMy0yNiAxMzoxMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZjogRGlmZmVyZW50aWF0ZSBiZXR3ZWVuIFVMIGFuZCBVVUlECgoyMDA5LTAzLTI2IDEyOjQ2OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmYWxhdy5oOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmQxMC5oOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSAgbXhmOiBTb3VyY2UgZmlsZXMgYW5kICNpbmNsdWRlIGNsZWFudXAKCjIwMDktMDMtMjYgMTI6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBVc2UgR0lPcyBnX2NvbnRlbnRfdHlwZV9ndWVzcygpIGlmIHBvc3NpYmxlCgoyMDA5LTAzLTI2IDExOjUxOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSAgbXhmOiBVc2UgdGhlIFVMIGRhdGFiYXNlIGZvciBzb21lIG1vcmUgVUxzCgoyMDA5LTAzLTI2IDExOjQyOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBSZW1vdmUgc29tZSBHTGliIDwgMi4xNCBjb21wYXRpYmlsaXR5IHN0dWZmCgoyMDA5LTAzLTI2IDExOjM3OjI4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtOiBQb3J0IHRvIE1pbkdXCgkgIEZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMTozMzo1MCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJICB4ZGdtaW1lOiBMaW5rIHdpdGggd2luc29jayBsaWJyYXJ5IHRvIGZpeCBidWlsZCB3aXRoIE1pbkdXCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MzI6MDggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgZGNjcDogUG9ydCBEQ0NQIHBsdWdpbiB0byBNaW5HVwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjIzOjMwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGNjcDogRGlzYWJsZSB0aGUgZGNjcCBwbHVnaW4gaWYgbm8gcHRocmVhZCBzdXBwb3J0IGlzIGF2YWlsYWJsZQoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDA4OjEzOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbXhmbXV4JwoKMjAwOS0wMy0yNiAwODoxMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogQ2xlYW51cAoKMjAwOS0wMy0yNiAwODoxMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogRml4IGhhbmRsaW5nIG9mIGJ1ZmZlcnMgd2l0aCBtb3JlIHRoYW4gb25lIGVkaXQgdW5pdCBhbmQgRU9TIGhhbmRsaW5nCgoyMDA5LTAzLTI1IDIzOjA0OjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBsYWRzcGE6IGNvbW1lbnQgc2lnbmFscHJvY2Vzc29yIGNsYXNzIG1vcmUgYW5kIGRvIG1pbm9yIGNvZGUgY2xlYW51cHMKCjIwMDktMDMtMjUgMTI6NDA6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgPj0gMC4xMC4yMi4xIGZvciAldSBwYWQgdGVtcGxhdGUgc3VwcG9ydAoKMjAwOS0wMy0yNCAxNToyMzowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIHNlbGVjdG9yOiBtZXJnZSB0aGUgdGFncwoJICBNZXJnZSB0aGUgdGFncyByZWNlaXZlZCBvbiB0aGUgaW5wdXQtc2VsZWN0b3Igc2lua3BhZHMgaW5zdGVhZCBvZiBvbmx5IGtlZXBpbmcKCSAgdGhlIGxhc3Qgb25lIHdlIHNhdy4KCjIwMDktMDMtMjMgMTk6MzM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIE5FV1M6CgkgIEZpeCB2ZXJzaW9uIG51bWJlciBpbiB0aGUgTkVXUyBmaWxlCgoyMDA5LTAzLTE5IDAxOjE3OjI1ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYnVzeWxvb3Agd2hlbiBzZWVraW5nLiBGaXhlcyAjNTc1Mzg4CgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQgYWZ0ZXIgYSBkaXNjb250LCBzZXRfbWluX2ZyYW1lX3NpemUoMTAyNCkgaXMgY2FsbGVkIHdoZW4KCSAgZGV0ZWN0X3N0cmVhbSByZXR1cm5zIEZBTFNFLiBIb3dldmVyLCBkZXRlY3Rfc3RyZWFtIGNhbGxzIGNoZWNrX2FkdHNfZnJhbWUKCSAgd2hpY2ggc2V0cyB0aGUgZnJhbWUgc2l6ZSBvbiBpdHMgb3duIHRvIHNvbWV0aGluZyBsYXJnZXIgdGhhbiAxMDI0LiBUaGlzIGlzIHRoZQoJICBzYW1lIHNpdHVhdGlvbiBhcyBpbiB0aGUgYmVnaW5uaW5nLCBzbyB0aGUgYmFzZSBjbGFzcyBlbmRzIHVwIGNhbGxpbmcKCSAgY2hlY2tfdmFsaWRfZnJhbWUgaW4gYW4gZW5kbGVzcyBsb29wLgoKMjAwOS0wMy0xOSAwMDozMjo0MCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogUmVmYWN0b3IgY2hlY2tfdmFsaWRfZnJhbWUgdG8gZXhwb3NlIGJyb2tlbiBjb2RlCgkgIEp1c3QgbW92aW5nIGNvZGUgYXJvdW5kIGFuZCByZW1vdmluZyBhbiB1bmhlbHBmdWwvbWlzbGVhZGluZyBjb21tZW50LgoKMjAwOS0wMy0yMyAxMToxNzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IGluY2x1ZGVzIGZvciBsc2VlawoJICAtLQoKMjAwOS0wMy0yMCAxNDoyMDoxNiArMDEwMCAgTFJOIDxscm4xOTg2IGF0IGdtYWlsIGRvdCBjb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgd2luMzI6IGZpeCBzZWVraW5nIGluIGxhcmdlIGZpbGVzCgkgIFVzZSBfbHNlZWtpNjQoKSBvbiBXaW5kb3dzIHRvIHNlZWsgaW4gbGFyZ2UgZmlsZXMuCgkgIEZpeGVzICM1NzYwMjEuCgoyMDA5LTAzLTE2IDExOjIxOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IEFkZCBuZXcgY29ubmVjdGlvbiBtb2RlCgkgIEFkZCBhIG5ldyBjb25uZWN0aW9uIG1vZGUgdG8gamFja3NyYyBhbmQgamFja3NpbmsuIEluIHRoaXMgbmV3IGF1dG8tZm9yY2UKCSAgY29ubmVjdGlvbiBtb2RlIGphY2sgd2lsbCBjcmVhdGUgYXMgbWFueSBwb3J0cyBhcyByZXF1ZXN0ZWQvbmVlZGVkIGluIHRoZQoJICBwaXBlbGluZSBhbmQgd2lsbCB0aGVuIGNvbm5lY3QgYXMgbWFueSBwaHlzaWNhbCBwb3J0cyBhcyBwb3NzaWJsZSwgcG9zc2libHkKCSAgbGVhdmluZyBzb21lIHBvcnRzIHVuY29ubmVjdGVkLgoJICBBbHNvIGdldCByaWQgb2Ygc29tZSBsZWZ0b3ZlciBnX3ByaW50LgoJICBGaXhlcyAjNTc1Mjg0LgoKMjAwOS0wMy0yMyAxNTowNjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIG14ZjogTW92ZSBzb21lIHN0YXRpYyBjb25zdCB2YXJpYWJsZXMgaW50byBmdW5jdGlvbnMKCjIwMDktMDMtMTMgMTk6NDI6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogYnVpbGQgd2l0aCBjZWx0IDAuNS4KCjIwMDktMDMtMjIgMjA6MTQ6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjExLjEKCjIwMDktMDMtMjAgMTU6NTU6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVlbmFibGUgbWV0YWRhdGEgdGVzdAoKMjAwOS0wMy0yMCAxNTozMzozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiByZWVuYWJsZSB0ZXN0CgoyMDA5LTAzLTIwIDE1OjE4OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBtZXRkYXRhOiBtb3JlIGxvZ2dpbmcgYW5kIGNvZGUgY2xlYW51cHMKCSAgU3ByaW5rbGUgbW9yZSBkZWJ1ZyBsb2cgc3RhdGVtZW50cyBpbnRvIHRoZSBjb2RlLiBNb3ZlIHNvbWUgcmVwZWFkZWQgc3RyaW5nCgkgIGNvbnN0YW50IGludG8gaGVhZGVyIGZpbGVzIGFuZCB1c2Ugc2l6ZW9mIGluc3RlYWQgb2YgbWFudWFsbHkgY291bnRlZCBieXRlcy4gQWRkCgkgIGNvbW1lbnRzLgoKMjAwOS0wMy0yMCAxNToxNDowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJICBtZXRhZGF0YTogZml4IG11eGluZyBqZmlmbGVzcyBqcGVnLiBGaXhlcyAjNTc0NDAxCgkgIERvbid0IGVycm9yIG91dCB3aGVuIHRvIGJlIG11eGVkIGpwZWcgaGFzIG5vIGpmaWYsIGFzIHdlIGNhbiBlYXNpbHkKCSAgYWRkIGl0LgoKMjAwOS0wMy0yMCAxNToxMDoyMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBtZXRhZGF0YTogZml4IGluY2x1ZGUgZ3VhcmRzCgoyMDA5LTAzLTIwIDE1OjA0OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IHJld29yayBkb2MgY29tbWVudAoKMjAwOS0wMy0wOSAyMzo0Mzo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICBNYWtlZmlsZS5hbTogbm8gc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMKCjIwMDktMDMtMjIgMTU6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBGaXggZXJyb3IgaGFuZGxpbmcKCjIwMDktMDMtMjIgMTU6NTE6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IEZpeCBzb21lIG1lbW9yeSBsZWFrcywgaW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIGhhbmRsZSBlcnJvcnMgYmV0dGVyCgoyMDA5LTAzLTIyIDE1OjM1OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogQWRkIGFuIGVycm9yIHN0YXRlIGZyb20gd2hpY2ggd2UgcmV0dXJuIGltbWVkaWF0ZWx5CgkgIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA5LTAzLTE5IDIwOjQxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdWwuYzoKCSAgbXhmOiBPcHRpbWl6ZSBteGZfdWxfaXNfc3ViY2xhc3MoKSBhIGJpdAoKMjAwOS0wMy0xOSAxNDozMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSAgbXhmOiBTdGFydCBpbXBsZW1lbnRpbmcgYSBjZW50cmFsIFVMIGRhdGFiYXNlIGFuZCBhZGQgc29tZSBoZWxwZXIgZnVuY3Rpb25zIGFuZCB1c2UgdGhlbQoKMjAwOS0wMy0xNyAxNDoyNzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBNYWtlIHN1cmUgdG8gaW5jbHVkZSBhIHBpY3R1cmUgaW4gdGhlIGVkaXQgdW5pdHMgd2hlbiBtdXhpbmcgTVBFRzIvTVBFRzQKCjIwMDktMDMtMTcgMTQ6MjM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBSZW1vdmUgYWNjaWRlbnRpYWxseSBjb21taXR0ZWQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoKMjAwOS0wMy0xNiAxNzo0OTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogQWRkIHN1cHBvcnQgZm9yIG11eGluZy9kZW11eGluZyBzdWJzYW1wbGVkIFlVViBmb3JtYXRzCgoyMDA5LTAzLTE2IDE3OjIyOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IFVzZSBjb3JyZWN0IHdpZHRoL2hlaWdodCBmb3Igc3RyaWRlIGNvbnZlcnNpb25zCgoyMDA5LTAzLTE2IDE3OjE4OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBJbXBsZW1lbnQgc3RyaWRlIHRyYW5zZm9ybWF0aW9ucyBmb3IgcmF3IHZpZGVvIGNvbnRlbnQgZm9yIG11eGluZyBhbmQgZGVtdXhpbmcKCjIwMDktMDMtMTYgMTU6Mzc6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogU2ltcGxpZnkgY2FwcyBzZWxlY3Rpb24gYnkgdXNpbmcgYSBsb29rdXAgdGFibGUKCjIwMDktMDMtMTYgMTI6NDg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZtdXg6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyByYXcgcGljdHVyZSBlc3NlbmNlCgoyMDA5LTAzLTE2IDEyOjE1OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogT25seSBhZGQgYW4gZXNzZW5jZSBjb250YWluZXIgVUwgb25jZSB0byB0aGUgcGFydGl0aW9uIGFuZCBwcmVmYWNlCgoyMDA5LTAzLTE2IDEyOjA3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBBWVVWIGFuZCB2MzA4IFlVViBjb2xvcnNwYWNlcwoKMjAwOS0wMy0xNiAxMTowMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBVc2UgdGhlIGNvcnJlY3QgZWRpdCByYXRlIGluc3RlYWQgb2YgZXN0aW1hdGluZyBpdCBmcm9tIHRoZSBmaXJzdCBidWZmZXIgZHVyYXRpb24KCjIwMDktMDMtMTUgMTU6Mjc6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRXJyb3Igb3V0IGRpcmVjdGx5IGlmIHB1c2hpbmcgYSBwYWNrZXQgZG93bnN0cmVhbSBmYWlsZWQKCjIwMDktMDMtMTUgMTU6Mjc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgRFYvRElGIG11eGluZyBhbmQgYWRkIGZyYW1lcmF0ZSwgZXRjIHRvIHRoZSBjYXBzIHdoZW4gZGVtdXhpbmcgRFYvRElGIGNvbnRlbnQKCjIwMDktMDMtMTUgMTU6Mjc6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgc29tZSBkZWJ1Z2dpbmcgYW5kIGVycm9yIG91dCBvbiBpbnZhbGlkIGlucHV0IGRhdGEKCjIwMDktMDMtMTQgMTk6NTk6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgIGRlaW50ZXJsYWNlOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wMy0xMSAxOTozODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUcgYXVkaW8gYW5kIHZpZGVvCgoyMDA5LTAzLTExIDE5OjM4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogVXNlIGNvcnJlY3QgY2FwcyB0eXBlIGZvciBBQzMgYXVkaW8gKGF1ZGlvL3gtYWMzIGluc3RlYWQgb2YgYXVkaW8vYWMzKQoKMjAwOS0wMy0xMSAxOTozNDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBKUEVHMjAwMCBjb2RlIHN0cmVhbXMKCjIwMDktMDMtMTEgMTk6MzM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIFZDLTMgKGFrYSBETnhIRCkgdmlkZW8KCjIwMDktMDMtMTEgMTk6MzM6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkgIG14Zm11eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBBLUxhdyBhdWRpbwoKMjAwOS0wMy0xMSAxOTozMzoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBhdWRpbwoKMjAwOS0wMy0xMSAxOTozMjoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZndyaXRlLmM6CgkqIGdzdC9teGYvbXhmd3JpdGUuaDoKCSAgbXhmOiBBZGQgTVhGIG11eGVyCgkgIFRoaXMgbXV4ZXIgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgT1AxYSBhbmQgaXMKCSAgcHJvYmFibHkgbm90IHlldCAxMDAlIGNvbXBseWluZyB0byB0aGUgc3RhbmRhcmRzLgoKMjAwOS0wMy0xMSAxOTozMDoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAya2VuYzogQWRkIHdpZHRoL2hlaWdodC9mb3VyY2MgdG8gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgo9PT0gcmVsZWFzZSAwLjEwLjExID09PQoKMjAwOS0wMy0yMSAwMTowOTowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTEKCjIwMDktMDMtMjAgMjM6Mzc6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAzLTIwIDIzOjMxOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWM6IEFkZCBwYXJfbiBhbmQgcGFyX2QgdG8gdGhlIG9iamVjdCBzdHJ1Y3R1cmUgdG8gZml4IGNvbXBpbGF0aW9uCgoyMDA5LTAzLTE4IDEyOjMyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC42LjUgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTggMTA6MzU6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRml4IGJ1aWxkIG9uIEdMaWIgPCAyLjE2IHNvbWUgbW9yZQoKMjAwOS0wMy0xOCAwMDowMjo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICAwLjEwLjEwLjQgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTYgMTc6Mjk6MTYgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBSZXBsYWNlIGdfaGFzaF90YWJsZV9nZXRfdmFsdWVzIHdpdGggY29kZSB3b3JraW5nIHdpdGggZ2xpYiAyLjYuCgkgIEZpeGVzICM1NzU1NjUKCjIwMDktMDMtMTMgMTY6MzE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEwLjMgcHJlLXJlbGVhc2UKCjIwMDktMDMtMTMgMTY6MTY6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2ZpLnBvOgoJKiBwby9pZC5wbzoKCSogcG8vcHRfQlIucG86CgkgIHBvOiBVcGRhdGUgcG8gZmlsZXMgZnJvbSB1cHN0cmVhbQoKMjAwOS0wMy0xMyAxNjowODowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTElOR1VBUzoKCSogcG8vdHIucG86CgkgIHBvOiBBZGQgVHVya2lzaCB0cmFuc2xhdGlvbgoKMjAwOS0wMy0xMiAyMzo1NDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IG1ha2UgeGRnIHR5cGVmaW5kZXIgbW9yZSBjb25zZXJ2YXRpdmUKCSAgVGhlIHdob2xlIHJhaXNvbiBkJ2V0cmUgb2YgdGhpcyB0eXBlZmluZGVyIGlzIHRvIGhlbHAgYXZvaWQgZmFsc2UKCSAgcG9zaXRpdmVzIHdoZW4gdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIG91ciBtYWluIHR5cGVmaW5kZXIgaW4KCSAgLWJhc2UuIEl0cyB0YXNrIGlzIG5vdCByZWFsbHkgdG8gdHlwZWZpbmQgYXVkaW8vdmlkZW8gZmlsZXMsIGV2ZW4KCSAgbGVzcyBzbyBnaXZlbiB0aGF0IGl0IGRldGVjdHMgKk1JTUUqIHR5cGVzLCBub3QgR1N0cmVhbWVyIG1lZGlhCgkgIHR5cGVzLiBUaGVyZWZvcmUsIGlmIHRoaXMgdHlwZWZpbmRlciBkZXRlY3RzIGFuIGF1ZGlvIG9yIHZpZGVvCgkgIHR5cGUsIGRvbid0IGV2ZW4gc3VnZ2VzdCBpdCAtIG91ciBvd24gdHlwZWZpbmRlcnMgYXJlIGhvcGVmdWxseQoJICBiZXR0ZXIgYXQgdGhpcyBhbmQgZGV0ZWN0IHRoZSByaWdodCB0eXBlIG9mIHR5cGUgb24gdG9wIG9mIHRoYXQsCgkgIGFuZCBldmVuIGlmIHRoZXkncmUgbm90IHdlIHJlYWxseSB3YW50IHRvIGtub3cgYWJvdXQgaXQgYW5kIGZpeAoJICBpdC4gRml4ZXMgIzU3NTE1Ny4KCjIwMDktMDMtMTMgMTU6NTk6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgcmV0dXJuIEZBTFNFIG9uIHNlZWsgZXZlbnRzCgkgIFNpbGVudGx5IGlnbm9yZSB0aGUgc2VlayBldmVudCBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRS4KCjIwMDktMDMtMTMgMTA6MDc6MTggKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiB3b3JrYXJvdW5kIHRvIGZpeCBwbGF5YmFjayBvZiBjZXJ0YWluIG1hbGZvcm1lZCBjbGlwcwoJICBBZGRlZCBhIHdvcmthcnJvdW5kIHRvIHBlcm1pdCBwbGF5IGNlcnRhaW4gbWFsZm9ybWVkIGNsaXBzIHdoZXJlIGZpcnN0CgkgIFNDUiBpcyBncmVhdGVyIHRoYW4gbGFzdCBTQ1IuIEZpeGVzIGJ1ZyAjNDU0MjI4CgoyMDA5LTAzLTEyIDIwOjEzOjExICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEaXNhYmxpbmcgbWV0YWRhdGEgdW5pdCB0ZXN0IHVudGlsICM1NzQ0MDEgaXMgZml4ZWQuCgoyMDA5LTAzLTEyIDE3OjUzOjM3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHNvbWUgbW9yZSBwbHVnaW5zIHRoZSBzcGVjIGZpbGUKCjIwMDktMDMtMTEgMTM6MDQ6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IHBsdWdpbnMKCjIwMDktMDMtMTAgMTU6MTI6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGluY2x1ZGUgc3RkbGliLmggZm9yIGFicygpCgoyMDA5LTAzLTEwIDIxOjE4OjIwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeGVkIGEgYnVnIGluIHRoZSBUUyBzY2FubmVyLiBGaXhlcyAjNTc0MDA5CgoyMDA5LTAzLTEwIDAwOjIyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTAuMiBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xMCAwMDoxMDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBNb3ZlZCB0d29sYW1lIGZyb20gQmFkIHRvIFVnbHkKCjIwMDktMDMtMDkgMjM6MTM6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNzAzMjE2MyB0byBmOGIzZDkxCgoyMDA5LTAzLTA4IDEyOjA1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmZhNzM4ZCB0byA3MDMyMTYzCgoyMDA5LTAzLTA4IDExOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2YxM2U0ZSB0byBmZmE3MzhkCgoyMDA5LTAzLTA3IDExOjQ2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2M3NDU2YiB0byAzZjEzZTRlCgoyMDA5LTAzLTA3IDEwOjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODNmMiB0byAzYzc0NTZiCgoyMDA5LTAzLTA2IDIyOjM2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNYWtlIHRoZSB0ZXN0cyBwYXNzIHdoZW4gdGhlIGNhbWVyYWJpbiBjYW4ndCBpbml0aWFsaXNlLgoJICBUaGUgY2FtZXJhYmluIHRlc3RzIHdlcmUgdGhyb3dpbmcgZ2xpYiBlcnJvcnMgYW5kIGhhbmdpbmcgd2hlbgoJICBnc3QtcGx1Z2lucy1nb29kIGVsZW1lbnRzIChqcGVnZW5jLCB2aWRlb2Nyb3ApIGNhbid0IGZvdW5kLgoKMjAwOS0wMy0wNiAyMToxNDo0OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbWlzYzogSWdub3JlIHRoZSBjYW1lcmFiaW4gYmluYXJ5IGluIHRoZSBjaGVjay9lbGVtZW50cyBzdWJkaXIKCjIwMDktMDMtMDYgMTk6MjI6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogUGFydGx5IGZpeCBkaXN0Y2hlY2sKCSAgRG9uJ3QgZGlzdCB0aGUgZ2VuZXJhdGVkIG1hcnNoYWwuaCBoZWFkZXIgYnkgcHV0dGluZyBpdCBpbiB0aGUgaGVhZGVycwoJICBsaXN0LgoKMjAwOS0wMy0wNyAwMDoyMDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBjaGFuZ2UgJ3EnIGJhY2sgdG8gJ2pwZWdlbmMnIChteSBrZXlib2FyZCBoYXRlcyBtZSkKCjIwMDktMDMtMDYgMjM6MzQ6NTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogY2xlYW51cCwgZml4IHRoZSB0ZXN0LCBhZGQgY29tbWVudHMKCSAgRmlyc3QgZG8gbm90IGJ1aWxkIHRoZSBwbHVnaW4sIGlmIHdlIGhhdmUgbm9uZSBvZiB0aGUgYmFja2VuZCwgYXMgaXQgd29uJ3Qgd29yawoJICB0aGVuLiBGaXggdGhlIG1pbmlvYmplY3RfdW5yZWYgZXJyb3IgaW4gdGhlIHRlc3QuIFNwcmlua2xlIGEgZmlyc3QgaGFuZGZ1bCBvZgoJICBkZWJ1ZyBsb2dzIGludG8gdGhlIGVsZW1lbnQgY29kZS4KCjIwMDktMDMtMDYgMjA6MDI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IEZpeCBtZW1vcnkgbGVhayBpbiB0aGUgdW5pdCB0ZXN0IGJ5IHVucmVmZmluZyB0aGUgY2FwcwoKMjAwOS0wMy0wNiAxNzo0NjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFN0b3JlIGFuZCB1c2UgdGhlIHNlcW51bSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgc2VnbWVudCBldmVyeXdoZXJlCgoyMDA5LTAzLTA2IDE3OjI0OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBEb24ndCBldmVuIHRyeSB0byBzZXJpYWxpemUgRE0gZnJhbWV3b3JrcyBhcyBpdCB3aWxsIGNhdXNlIGFuIGFzc2VydGlvbiB1bnRpbCB0aGlzIGlzIGZpbmlzaGVkCgoyMDA5LTAzLTA2IDEyOjQyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVc2UgdGhlIHB1YmxpYyBoZWFkZXJzIGlmIGZhYWQyID49IDIuNy4gRml4ZXMgIzU3MzM2OQoJICBTaW5jZSBmYWFkMi0yLjcsIHRoZSBwdWJsaWMgZnVuY3Rpb24gcHJvdG90eXBlcyBhcmUgaW4gc3luYyB3aXRoIHRoZQoJICBhY3R1YWwgZnVuY3Rpb24gcHJvdG90eXBlcyB1c2VkIGludGVybmFsbHkgaW4gbGliZmFhZC4KCjIwMDktMDMtMDYgMTE6MDg6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGZpeCBjb21waWxhdGlvbiB3aGVuIExSREYgaXMgbWlzc2luZwoJICAtLQoKMjAwOS0wMy0wNSAyMjo1NToxNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IHJlbW92ZSAtbGRsIGFzIHdlIG5vdyB1c2UgZ2xpYnMgZ21vZHVsZS4KCjIwMDktMDMtMDUgMjI6Mzc6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBhZGQgaW5pdGlhbCBsaWJscmRmIHN1cHBvcnQuCgkgIEdldCBjbGFzc2lmaWNhdGlvbiBmcm9tIHJkZiBtZXRhZGF0YS4KCjIwMDktMDMtMDUgMjI6MDQ6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGZpeCByZXF1aXJlZCB2ZXJzaW9uCgkgIFdpdGggdGhpcyB2ZXJzaW9uIGl0IGJ1aWxkcyBvbiBvcGVuc3VzZSAxMS4xLgoKMjAwOS0wMy0wNSAxNDo0MDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRG9uJ3QgdXNlIE5VTEwgR3N0U3RydWN0dXJlcyB0byBwcmV2ZW50IHdhcm5pbmdzCgkgIEN1cnJlbnRseSBzZXJpYWxpemluZyBvZiBETSBGcmFtZXdvcmtzIGlzIG5vdCBzdXBwb3J0ZWQKCSAgeWV0IGJ5IERNUzEgYW5kIHdpbGwgZ2l2ZSB1cyBOVUxMLgoKMjAwOS0wMy0wNCAyMTozMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgcGhvdG9ncmFwaHk6IGRlY2xhcmUgaW50ZXJmYWNlIGFzIHVuc3RhYmxlIEFQSSBieSBtZWFucyBvZiBhIHdhcm5pbmcKCSAgQXBwbGljYXRpb24gZGV2ZWxvcGVycyB3b24ndCBrbm93IHJpZ2h0IGF3YXkgd2hpY2ggbW9kdWxlIGFuIGludGVyZmFjZSBjb21lcyBmcm9tLAoJICBhbmQgbWF5IGFzc3VtZSB0aGF0IGl0IGlzIGNvdmVyZWQgYnkgdGhlIHVzdWFsIEdTdHJlYW1lciBBUEkgZ3VhcmFudGVlcywgc28gbWFrZQoJICBpdCBhcyBjbGVhciBhcyBwb3NzaWJsZSB0aGF0IHRoaXMgcGFydGljdWxhciBBUEkgaXMgc3RpbGwgc3ViamVjdCB0byBjaGFuZ2UKCSAgKHNob3VsZCBoYXZlIGRvbmUgdGhhdCB3aXRoIG90aGVyIGxpYnJhcmllcyBpbiAtYmFkIGJlZm9yZSB0b28gcmVhbGx5KS4KCjIwMDktMDMtMDQgMjA6Mzc6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRldGVjdCBmYWFkJ3MgbWlub3IgdmVyc2lvbiBhbmQgZGVmaW5lIEZBQUQyX01JTk9SX1ZFUlNJT04gaW4gY29uZmlnLmgKCjIwMDktMDMtMDQgMTY6NDY6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgdmFsdmU6IHJlbmFtZSBwbHVnaW4gZmlsZSBmcm9tIGxpYmZzdmFsdmUuKiB0byBsaWJnc3R2YWx2ZS4qCgkgIElmIHlvdSdyZSBydW5uaW5nIHRoaW5ncyB1bmluc3RhbGxlZCwgeW91IG1pZ2h0IG5lZWQgdG8gbWFudWFsbHkKCSAgcmVtb3ZlIHRoZSByZWdpc3RyeSB0byBnZXQgdGhlIHBsdWdpbidzIGZlYXR1cmVzIHRvIHNob3cgdXAKCSAgY29ycmVjdGx5LiBBbHNvLCB5b3UgcHJvYmFibHkgd2FudCB0byBkbyBhIG1ha2UgY2xlYW4gdG8gZ2V0IHJpZAoJICBvZiB0aGUgb2xkIHBsdWdpbiBmaWxlLgoKMjAwOS0wMy0wNCAxOTo1MDoxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgZ3NyZWFsOiBicmluZyBkb3duIHRoZSByYW5rIG9mIHRoZSByZWFsIGRlY29kZXJzIHRvIE1BUkdJTkFMLgoJICBCYXNpY2FsbHksIGF0IHRoaXMgcG9pbnQsIHRoZSBmZm1wZWcgZXF1aXZhbGVudCBkZWNvZGVycyBwZXJmb3JtIHdheQoJICBiZXR0ZXIsIHNvIHdlJ2xsIG1ha2UgdGhlIGZmbXBlZyBlcXVpdmFsZW50cyBQUklNQVJZIGFuZCB0aGVzZQoJICBNQVJHSU5BTC4KCjIwMDktMDMtMDQgMTg6NDI6MTUgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IG1ha2Ugc29tZSBkb2NzIHVwIHRvIGRhdGUKCjIwMDktMDMtMDQgMTg6MTY6MzEgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHJlc2V0IHN5bmNfbHV0X2xlbiB0byAwIG9uIFJFQURZIHRvIE5VTEwKCjIwMDktMDMtMDQgMTU6MzA6MDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wMy0wNCAxNToyODo0NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogYWRkIGZpZ3VyZXMgc3ViZGlyZWN0b3J5IHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiBhZGQgbXhmIHN1YmRpcmVjdG9yeSBnc3QtcGx1Z2lucy5zcGVjLmluOiBhZGQgbmV3IHBsdWdpbnMKCjIwMDktMDMtMDQgMTY6MTU6NTcgKzAxMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBnc3QtcGx1Z2lucy1iYWQuc3VwcCBuZWVkcyB0byBiZSBkaXN0cmlidXRlZC4KCjIwMDktMDMtMDQgMTU6MDU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBhZGQgTElCRElSL2xhZHNwYSB0byBzZWFyY2ggcGF0aCBhbmQgbWFrZSBwYXRoIG1vcmUgcG9ydGFibGUKCSAgVXNlIGdsaWIgZGVmaW5lcyBmb3Igc2VhcmNocGF0aCBzZXBhcmF0b3JzLiBGaWx0ZXIgc2VhcmNocGF0aCB0byBhdm9pZCBzY2FubmluZwoJICBwYXRoIGVudHJpZXMgdHdpY2UuIEZpeCB0aGUgcmV0dXJuIGluIGxhZHNwYV9wbHVnaW5fZGlyZWN0b3J5X3NlYXJjaCB0byByZXR1cm4KCSAgd2hldGVyIHdlIGZvdW5kIGEgcGx1Z2luLgoKMjAwOS0wMy0wNCAxNDozNDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9sb2FkLmM6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgbGFkc3BhOiByZXdyaXRlIHRoZSBkaXJlY3Rvcnkgc2Nhbm5pbmcsIGZpeGVzIGZpcnN0IHBhcnQgb2YgIzU3MzM3MAoJICBNb3ZlIHRoZSB0d28gZnVuY3Rpb24gZnJvbSBzZWFyY2guYyBpbnRvIGdzdGxhZHNwYS5jIGFuZCBtYWtlIHRoZW0gc3RhdGljLgoJICBSZW1vdmUgbm9uIG5lZWRlZCBhcmd1bWVudHMgZnJvbSBmdW5jdGlvbiBwcm90b3R5cGVzLiBVc2UgZ2xpYiBhcGkgZm9yCgkgIHNpbXBsaWNpdHkgYW5kIHBvcnRhYmlsaXR5LgoKMjAwOS0wMy0wNCAxMToxNDoxOCArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIGdpbnQ4IGluc3RlYWQgb2YgaW50OF90CgkgIFVzZSBnaW50OCBpbnN0ZWFkIG9mIGludDhfdCB0byBmaXggY29tcGlsYXRpb24uCgkgIEZpeGVzICM1NzM4NTEuCgoyMDA5LTAzLTA0IDExOjA3OjUyICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBVc2UgR19CWVRFX09SREVSIHRvIGZpeCBXaW5kb3dzIGNvbXBpbGUKCSAgZ3N0Z3NtZGVjIHJlbGllcyBvbiBCWVRFX09SREVSLCB3aGljaCBpcyBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MuIFVzZQoJICBHX0JZVEVfT1JERVIgaW5zdGVhZC4KCSAgRml4ZXMgIzU3Mzg1MC4KCjIwMDktMDMtMDMgMTQ6MzA6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIEFkZCBEb2MgZm9yIG1pbWljIHBsdWdpbgoKMjAwOS0wMy0wMyAxNDowMzozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBNb3ZlIG1pbWljIHRvIC1iYWQKCjIwMDktMDMtMDMgMTQ6MjA6MzcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFJlLWluZGVudCB0byBHU1Qgc3R5bGUKCjIwMDgtMDctMjUgMjI6NDc6MjYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IG91dHB1dCBhIG5ld3NlZ21lbnQgaWYgdGhlIGluY29taW5nIG5ld3NlZ21lbnQgaXNudCBhIHRpbWUgc2VnbWVudAoJICAyMDA4MDcyNTIyNDcyNi0zZTJkYy1mODJiOTkzYzBmYmZlOGJkNDg3ZDJmMTk2MmZlYzFkMGI2NTY0ZWJjLmd6CgoyMDA4LTA3LTI1IDIyOjI2OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBtZW1iZXIgdmFyaWFibGVzCgkgIDIwMDgwNzI1MjIyNjQ4LTNlMmRjLTI0NjQ5NzgyYTM5NDYyYzdjM2ZlZjlkNjI3MGIzZGI0YzRhY2UxYmIuZ3oKCjIwMDgtMDctMjUgMjI6MjQ6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBvdXQgdGhlIHJpZ2h0IHNlZ21lbnQgYW5kIHVzZSBzdG9yZWQgdGltZXN0YW1wcyBkaXJlY3RseQoJICAyMDA4MDcyNTIyMjQ0OC0zZTJkYy1lMTE5YmYwOWVkZTFjZjE4NzU4MWQ1OTE3NmM4YjM1YmFmYjczMWFlLmd6CgoyMDA4LTA3LTI1IDE5OjQ4OjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNraXAgbm9uLWtleWZyYW1lcyBiZWZvcmUgd2UgZ2V0IGEga2V5ZnJhbWUKCSAgMjAwODA3MjUxOTQ4MzMtM2UyZGMtNTgzZGY1N2M4ZWJjZTRiMTQ5YTAxNzY4ZWQ3ZDM3MzcxMzZhMjA4Zi5negoKMjAwOC0wNy0yNSAxOTozMzo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJZ25vcmUgdXBzdHJlYW0gbmV3c2VnbWVudCBldmVudHMgaW4gbWltZGVjCgkgIDIwMDgwNzI1MTkzMzU4LTNlMmRjLTdjMGYyMjM4NmUwMjA4YTQ1ZWFlOWMxZDdlYjYyZTg2ZjYxZDE0YmEuZ3oKCjIwMDgtMDctMjUgMTk6MjU6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZW1pdCB0aGUgcmlnaHQgdGltZXN0YW1wIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50CgkgIDIwMDgwNzI1MTkyNTMwLTNlMmRjLWEzY2MwY2U3M2ZjYTE4MWNhZWUzMjNkNjk5ZDg1NzZkZjkxNmU4ZDMuZ3oKCjIwMDgtMDctMjUgMTk6MDg6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdmlkZW8veC1taW1pYyBhcyB0aGUgY2FwcyB0eXBlCgkgIDIwMDgwNzI1MTkwODQ5LTNlMmRjLTM4ZTRhY2M5ZDRhZDgyMzFlZDIyZjZjYzRkN2Q4YzJhOGI1NjY4ZTkuZ3oKCjIwMDgtMDctMDQgMjI6MDc6MTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcHJvcGVyIGxvY2tpbmcgdG8gbWltZW5jCgkgIDIwMDgwNzA0MjIwNzEzLTNlMmRjLTZhMjJkMWE0MjM3MTZlOGI4NGJjM2JkYTk5ODZhMWI0ZmYwYzBkMzcuZ3oKCjIwMDgtMDctMDQgMjI6MDM6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgaW1wbGVtZW50YXRpb24gb2YgZ2V0Y2FwcyBmcm9tIG1pbWRlYwoJICAyMDA4MDcwNDIyMDMxOC0zZTJkYy1kODFiYzU5YjIzMDhjNWFkMGQzMTQ0MDMwYzU2NTAyOTVlOTlmM2M2Lmd6CgoyMDA4LTA3LTA0IDIyOjAyOjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHByb3BlciBsb2NraW5nIHRvIG1pbWRlYwoJICAyMDA4MDcwNDIyMDI0My0zZTJkYy03MWMxNTdkODI5OTlkZmI0MWJkNjJiNDA2NGIxODg3YWIyMmU4NGMxLmd6CgoyMDA4LTA3LTA0IDIxOjU5OjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBsZWFrCgkgIDIwMDgwNzA0MjE1OTM2LTNlMmRjLTIyZDk5MmY5OGM5OTMxZjA2MjY2MmZjMDVmMWNlNjViYzk3ZjYxOWEuZ3oKCjIwMDgtMDctMDQgMjE6NTU6NTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgdGhlIGdzdCB0aW1lc3RhbXAgaWYgdGhlIHRpbWUgZGlmZmVyZW50IGlzIHRvbyBsYXJnZQoJICAyMDA4MDcwNDIxNTU1MC0zZTJkYy03NmViM2Y2MDBmMmI5NzdlOTE2ZjdlMWY2NTQ1MjlkZGFmZjA2YWM5Lmd6CgoyMDA4LTA3LTA0IDIxOjUyOjA4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGZpcnN0IGJ1ZmZlciBhcyB0aGUgYmFzZQoJICAyMDA4MDcwNDIxNTIwOC0zZTJkYy01ODIyNzcxZjI2OTRkZWRhNGE3Y2Q1Y2RkM2MzOGFiOWVmZjdmYTJkLmd6CgoyMDA4LTA3LTA0IDIxOjQ5OjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN0b3JlIHRoZSB0aW1lc3RhbXAgaW4gdGhlIGhlYWRlcgoJICAyMDA4MDcwNDIxNDkzNS0zZTJkYy05MGVjNzNkZjMyMjViNDFiYWE2ODFhYjY5MWZiOGJkNDdlMTdjNzgwLmd6CgoyMDA4LTA3LTA0IDIxOjE5OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlLWluZGVudCBtaW1kZWMKCSAgMjAwODA3MDQyMTE5NDMtM2UyZGMtZGVmMWUwZGFjYzRhNDVmZTJiNGFmZGNiOTAzYTEzMjhjOTUxMTdhYy5negoKMjAwOC0wNy0wNCAyMToxNToxMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTaW1wbGlmeSBuZXdzZWdtZW50IGNvZGUKCSAgMjAwODA3MDQyMTE1MTEtM2UyZGMtYjk4ZDFlNWIzMWMyM2ViNzkxMjE5N2Y5MzY0YTMxNTYwZDA5MmM2My5negoKMjAwOC0wNy0wNCAyMDo1MDoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IG1pbWljIHBsdWdpbnMgdG8gR1NUX0JPSUxFUlBMQVRFCgkgIDIwMDgwNzA0MjA1MDEwLTNlMmRjLWRhNDFlNTY4NWFiOWNlYjY3NTU1ZDQ5OTEyNTQzMmNkMTJkNTUwNWQuZ3oKCjIwMDgtMDctMDQgMjA6NDE6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGluIG1pbWljIHBsdWdpbgoJICAyMDA4MDcwNDIwNDExMi0zZTJkYy0xYWI0YjkxM2Q1OGZhYTA1ODc0MmIwMWUwODNmN2RlYmQ2ODc3YmIzLmd6CgoyMDA4LTA3LTA0IDIwOjI5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvbmZsaWN0cwoJICAyMDA4MDcwNDIwMjk0MS0zZTJkYy03ZjVhMzg4NDViNzk3ZTEyZDY3MjU1MTQ2NmU2MzVkNDg0Y2I2NzYzLmd6CgoyMDA3LTExLTEwIDA1OjE3OjE3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBtaW1pYyBlbmMgY2hhaW4gZnVuY3Rpb24sIHJldHVybiByZXMgZm9yIGNoYWluKCksIGdldCB0aGUgcGFyZW50IGVsZW1lbnQgd2l0aCB0aGUgcHJvcGVyIGFjY2Vzc29yIGZ1bmN0aW9uLCB1c2UgdGhlIF9PQkpFQ1QgZGVidWdnaW5nIG1hY3JvcwoJICAyMDA3MTExMDA1MTcxNy0zZTJkYy00NzI2ZmNkMTljYzNkMTEyMWE0ZTEzMjc2YTQxZjVmODZkYzFjOWIxLmd6CgoyMDA3LTExLTEwIDA1OjE0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIF9zZXRfY2FwcyBmdW5jdGlvbiBvZiBtaW1pYyBlbmMgbW9yZSByb2J1c3QKCSAgMjAwNzExMTAwNTE0MjctM2UyZGMtMzgxYTcxZjJjYmZkYmY1MDhlOTQxYjY3MmU5MDU4YzgyZmFiY2UyNC5negoKMjAwNy0xMS0xMCAwNToxNDowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdGhlIGdzdCAwLjkuMSBpZmRlZgoJICAyMDA3MTExMDA1MTQwMS0zZTJkYy0xZjA3MWQ3MzJkNjQ1NzM4ODk5Nzc0MDU5OTU2OTJkOTRiMTBhMGQ2Lmd6CgoyMDA3LTExLTEwIDA1OjEwOjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgY2FwcyBnc3QgMC4xMCBjb21wbGlhbnQKCSAgMjAwNzExMTAwNTEwMzUtM2UyZGMtZjcwMjRiZDNlY2ZiNjc5NGZlOGQwOWRjYjEwMGJhMGI0NzgzZGY1ZC5negoKMjAwNy0xMS0xMCAwNTowOTo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgaW5zdGVhZCBvZiByZWZmaW5nIHRoZSBwYXJlbnQgY2xhc3MgZGlyZWN0bHkKCSAgMjAwNzExMTAwNTA5NTAtM2UyZGMtNmQxNGRkZDZhZTNjZWVlYWE0ZTY0MWI3YjA5NjEzZTQ0MjkyN2Y5Mi5negoKMjAwNy0xMS0xMCAwNTowODo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZnJhbWVzaXplIHByb3BlcnRpZXMgb24gdGhlIG1pbWljIGVuY29kZXIKCSAgMjAwNzExMTAwNTA4NTItM2UyZGMtY2I4MTY1YzA3M2JmYTk4MTc5MGRjOTE2OTNmZDFjNDgzZWE3YjZlYS5negoKMjAwNy0xMS0xMCAwNTowNzo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgdGhlIF9PQkpFQ1QgZGVidWcgbWFjcm9zCgkgIDIwMDcxMTEwMDUwNzUzLTNlMmRjLTU2MGQyMmE4NmVlYTExMDhmMTc0NmQwMTIzNzQ0ZDMzODEyZTk0YzkuZ3oKCjIwMDctMTEtMTAgMDU6MDM6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdzdF9wYWRfZ2V0X3BhcmVudCBpbnN0ZWFkIG9mIGxvb2tpbmcgaW50byB0aGUgR3N0T2JqZWN0IGRpcmVjdGx5CgkgIDIwMDcxMTEwMDUwMzUxLTNlMmRjLTYzNmY3ZDc3Mzc0OTRmODEwMDQ3YThlZTY5MjdjZGUwNjBiYjRiNGIuZ3oKCjIwMDctMTEtMTAgMDU6MDI6MzIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV0dXJuIGJhY2sgcmVzdWx0IG9mIHBhZCBwdXNoCgkgIDIwMDcxMTEwMDUwMjMyLTNlMmRjLTRhMDgwZDk3OTYzY2Q4YWI2ZDUyOGM0MDEyZDE0MzUzYzFjZmU5N2IuZ3oKCjIwMDctMTEtMTAgMDQ6MTE6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbGUncyBwb3J0IHRvIGdzdCAwLjEwCgkgIDIwMDcxMTEwMDQxMTI1LTNlMmRjLWUyOTk0YzNiYmUxNTc4ZDk4ZTRmNzA3YmQxMGYyNGZhYmY5NDJjMmIuZ3oKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0wMi0xMSAyMjoyNDozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbWl0IHRpbWVzdGFtcCBkaWZmIGluIGNhc2Ugb2YgYSBqdW1wIGluIHRoZSB0aW1lc3RhbXBzCgkgIDIwMDgwMjExMjIyNDMxLTRmMGY2LTcyNmZjNjY0MDMwODE1MzMzNzFmNzc1OTU0YWFiNGM3YjhmZGM2NDMuZ3oKCjIwMDgtMDItMDYgMDM6MTY6NTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGJhY2sgdG8gMzAgZnBzIGluIGNhcHMKCSAgMjAwODAyMDYwMzE2NTQtNGYwZjYtZDgxOTdlNTM4ODg5MDY4MDUwNDFlNjU1MmMwZGQ3NzRjNTVlOWU4OS5negoKMjAwOC0wMi0wNiAwMzowOTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdGltZXN0YW1wcyBpbiBnc3QgYnVmZmVycyBzZW50IGJ5IGdzdG1pbWljCgkgIDIwMDgwMjA2MDMwOTQ3LTRmMGY2LTlkYzdkOWIxYTkyYTcxN2M3MWIxZTQ5MGE1NTkxZjBlMmZmZTBkYWQuZ3oKCjIwMDgtMDItMDYgMDI6MDM6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggZnJhbWVyYXRlIHR5cGUgaW4gY2FwcyBmb3IgZ3N0bWltaWMgZWxlbWVudAoJICAyMDA4MDIwNjAyMDMzNS00ZjBmNi0wZDllMTM2MDM5YWQ2YjdiODQ5ODJiZGFjMjQyYTA1OWQ1MGZiYjY2Lmd6CgoyMDA2LTAzLTI0IDIwOjE2OjE5ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeGVkIGNvdXBsZSBvZiBjb21waWxhdGlvbiBpc3N1ZXMKCSAgMjAwNjAzMjQyMDE2MTktMjQyNWItYmYzMzk5MjZmNTMzYWE0ZWZlY2U4NTVmYmJlOTRlNTljN2JiOTU1Zi5negoKMjAwNi0wMy0yNCAxOTo1NzoyMCArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxscyB0byBnc3RfcGFkX2dldF9wYXJlbnQgcmVmIHRoZSBvYmplY3Qgc28gaXQgbmVlZHMgdG8gYmUgdW5yZWZmZWQgPCBoZXhhMDBAZ21haWwuY29tCgkgIDIwMDYwMzI0MTk1NzIwLTI0MjViLTE3OTI4YmUzNGVlNjdmNzFlZmJhZjYyZGU3NmRlYmE5YWQxM2YwZjIuZ3oKCjIwMDYtMDItMTQgMjE6MDA6MjcgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VwYXJhdGVkIEVSUk9SX0NGTEFHUyBmcm9tIEdTVF9DRkxBR1MKCSAgMjAwNjAyMTQyMTAwMjctMjQyNWItMWY5ZTZlZDU5MWMwOGU1OTA3ZDAyZWY3ZWE5YThjZjYyYmYyOTg0MC5negoKMjAwNS0xMC0yNCAxNTozNzo0OCArMDAwMCAgUGhpbGlwcGUgS2hhbGFmIDxidXJnZXIgYXQgc3BlZWR5IGRvdCBvcmc+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTaG91bGQgbm90IGJlIGRvbmUgaW4gZGlzcG9zZSwgbW92aW5nIHRvIGZpbmFsaXplCgkgIDIwMDUxMDI0MTUzNzQ4LTA1NDU5LTk2MjVmZWMwNTU0N2M1MzViZjVmM2M2NmFlYmJhODQ4NjFiNTQ5YWEuZ3oKCjIwMDUtMDctMTYgMTk6NTA6MjEgKzAwMDAgIFBoaWxpcGUgS2FsYWYgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy8uZ2l0LWRhcmNzLWRpcjoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wb3J0IGZyb20gQ1ZTIHRvIGRhcmNzCgoyMDA5LTAzLTAzIDE0OjMyOjM4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBydHBtdXg6IElnbm9yZSBydHBtdXggZ2V0X3R5cGUgZnVuY3Rpb24gZm9yIGRvY3MKCjIwMDktMDMtMDMgMTk6MDg6MjggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBtZW1sZWFrCgkgIEZpeCBtZW1sZWFrIGluIG1wZWd0c19wYWNrZXRpemVyX2NsZWFyIHdoZXJlIE1wZWdUU1BhY2tldGl6ZXJTdHJlYW0gaXMKCSAgbm90IGZyZWVkIHByb3Blcmx5IHdoZW4gdXNpbmcgZm9yZWFjaF9zdHJlYW1fY2xlYXIgZnVuY3Rpb24uCgoyMDA5LTAzLTAzIDE4OjI4OjEwICswMDAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGR5bmFtaWNhbGx5IGFkanVzdCB0aGUgc3luYyBMVVQgdGFibGUKCSAgTWFrZSB0aGUgc3luYyBMVVQgdGFibGUgYWRqdXN0ZWQgZHluYW1pY2FsbHkgYWNjb3JkaW5nIHRvIHRoZSBzaXplCgkgIG9mIHNjYW5uZWQgZGF0YS4gRml4ZXMgZGVtdXhpbmcgYnVmZmVycyBvZiBhbnkgc2l6ZS4KCjIwMDktMDItMjUgMjE6MDU6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IEltcG9ydCBmc3NlbGVjdG9yIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgYXMgYXV0b2NvbnZlcnQKCSAgZnNzZWxlY3RvciBpcyB0b28gY2xvc2UgdG8gc2VsZWN0b3IsIHNvIGltcG9ydCBpcyBhcyBhdXRvY29udmVydC4gTm90IGltcG9ydGluZwoJICB0aGUgaGlzdG9yeSBiZWNhdXNlIHRoZSBkaXJlY3RvcnkgaXMgYWxzbyBjYWxsZWQgZ3N0L3NlbGVjdG9yIGFuZCBpdCBmYWlscy4KCjIwMDktMDMtMDIgMTA6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEJlIGEgYml0IG1vcmUgdmVyYm9zZSBpbiBvdXIgZGVidWcgbWVzc2FnZSB3aGVuIGZhaWxpbmcgdG8gcmVuZWdvdGlhdGUKCjIwMDktMDMtMDIgMTc6MDA6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGZkZW11eDogVXNlIGFycmF5cyBpbnN0ZWFkIG9mIGxpc3RzIGZvciB0aGUgbWV0YWRhdGEgcmVnaXN0cmllcwoKMjAwOS0wMy0wMiAxNjoyOTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFJlZHVjZSBwcm9iYWJpbGl0eSB0byBQT1NTSUJMRQoKMjAwOS0wMy0wMiAxNjoyNzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IEFkZCBsb2NraW5nIHRvIHRoZSB4ZGdfbWltZV8qIGNhbGxzIGFzIGl0J3Mgbm90IHRocmVhZC1zYWZlCgoyMDA5LTAzLTAxIDIwOjE4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSAgeGRnbWltZTogVXNlIGdfcGF0dGVybl9tYXRjaF9zaW1wbGUoKSBpbnN0ZWFkIG9mIGZubWF0Y2goKSBmb3IgV2luMzIgY29tcGF0aWJpbGl0eQoKMjAwOS0wMy0wMSAyMDoxMzozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkgIHhkZ21pbWU6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMy0wMSAyMDoxMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJICB4ZGdtaW1lOiBEb24ndCB3YXJuIGlmIHdlIGhhdmUgbm8gTU1BUCBzdXBwb3J0CgoyMDA5LTAzLTAxIDIwOjExOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkgIHhkZ21pbWU6IFVzZSBnX250b2hbbHNdIGluc3RlYWQgb2YgdGhlIG5vbi1HTGliIGZ1bmN0aW9ucyBmb3IgV2luMzIgY29tcGF0aWJpbGl0eQoKMjAwOS0wMy0wMSAyMDowOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJICB4ZGdtaW1lOiBVc2UgR19CWVRFX09SREVSIGluc3RlYWQgb2YgcmVseWluZyBvbiBMSVRUTEVfRU5ESUFOIHRvIGJlIGRlZmluZWQKCjIwMDktMDMtMDEgMjA6MDI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgbGFkc3BhOiBEb24ndCBjb21waWxlIHVudXNlZCBjb2RlIGZyb20gbG9hZC5jCgoyMDA5LTAyLTI4IDIzOjQ3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgcmVhbGRlYzogdXNlIGdzdF9wbHVnaW5fYWRkX2RlcGVuZGVuY3koKQoKMjAwOS0wMi0yOCAxNToyMzowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHN5bmN3b3JkLihub25lKT4KCgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIGFjbWVuYzogZml4IHdoaXRlc3BhY2UKCSAgQ29udmVydCB0byB1bml4IG5ld2xpbmVzLCBhbmQgcmVpbmRlbnQgaW4gc29tZSBicm9rZW4gcGxhY2VzLgoKMjAwOS0wMi0yOCAyMDo0Mjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IG1lbW9yeSBsZWFrCgkgIGdzdF9zdHJ1Y3R1cmVfaWRfc2V0KCkgd2lsbCBjb3B5IEdzdFN0cnVjdHVyZXMgaW5zdGVhZCBvZiB0YWtpbmcKCSAgdGhlIG93bmVyc2hpcC4KCjIwMDktMDItMjggMjA6Mzk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogU3RvcmUgdGhlIG1ldGFkYXRhIHR5cGUgSUQgaW5zaWRlIHRoZSBjbGFzcyBzdHJ1Y3R1cmUKCjIwMDktMDItMjggMTk6NDE6MTAgKzAxMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggbWVtb3J5IGxlYWtzIHdoZW4gUFVTSSBpcyBtaXNzZWQgZHVlIHRvIHBhY2tldCBsb3NzCgkgIEZpeGVzIGJ1ZyAjNTczMjg4LgoKMjAwOS0wMi0yOCAxMTo0Mzo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9uc2YvZm1vcGwuYzoKCSAgbnNmOiBEb24ndCB3cml0ZSBmdXJ0aGVyIHRoYW4gdGhlIGxpbWl0cyBvZiB0aGUgdGFibGUgKHNpemUgaXMgNzUsIGFzIGRlZmluZWQgaW4gdGhlIGhlYWRlcikKCSAgZ2NjIDQuMy4zIGZvdW5kIHRoaXMgb25lLCBJJ20gaW1wcmVzc2VkLgoKMjAwOS0wMi0yOCAxMDoyOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZjogRG9uJ3QgdXNlIEdMaWIgMi4xNiBBUEkgdW5jb25kaXRpb25hbGx5IGluIHRoZSBleGFtcGxlCgoyMDA5LTAyLTI3IDIwOjQzOjI1ICswMTAwICBBbmRyemVqIFBvbGF0ecWEc2tpIDxhcG9sYXR5bnNraUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogRml4IGJyaWdodG5lc3MgY2FsY3VsYXRpb24gdG8gbm90IG9ubHkgdXNlIHRoZSBmaXJzdCByb3dzdHJpZGUKCSAgRml4ZXMgYnVnICM1NzMzOTEuCgoyMDA5LTAyLTI3IDExOjM2OjU4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIGNvcnJlY3QgdmFsdWVzIGZvciBjaGVja2luZyBWTyBzdGFydGNvZGUuCgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGR1ZSB0byBjb25kaXRpb24gYWx3YXlzIGJlaW5nIHRydWUgLSBzaW5jZSB3ZSdyZQoJICBvbmx5IGxvb2tpbmcgYXQgdGhlIGZpbmFsIGJ5dGUgb2YgdGhlIHN0YXJ0Y29kZSAobm90IHRoZSBsZWFkaW5nCgkgIDB4MDAwMDAxKSwgb25seSBjaGVjayBmb3IgPCAweDFmLCBub3QgPCAweDExZgoKMjAwOS0wMi0yNyAyMDoyMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFVzZSBlbXB0eSBjYXBzIGZvciByZWdpc3RlcmluZyB0aGUgdHlwZWZpbmRlcnMgd2l0aCBvbGQgY29yZSB2ZXJzaW9ucwoJICBjb3JlIGJlZm9yZSAwLjEwLjIyLjEgcHJvZHVjZWQgYXNzZXJ0aW9ucyB3aGVuIHN0b3JpbmcgdHlwZWZpbmQgZmFjdG9yaWVzCgkgIHdpdGggTlVMTCBjYXBzIGluIHRoZSByZWdpc3RyeS4KCjIwMDktMDItMjYgMTU6NDA6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBtb3JlIGZvcm1hdHMKCSAgV2Ugb25seSBuZWVkIGEgVmlkZW8gT2JqZWN0IFN0YXJ0IGNvZGUgYmVmb3JlIHdlIGNhbiBzdGFydCBwdXNoaW5nIG91dCBkYXRhLgoJICBTZWFyY2ggZm9yIHRoaXMgY29kZSBhbHNvIGluc3RlYWQgb2Ygb25seSBsb29raW5nIGZvciBWT1MgYW5kIFZPUC4KCSAgRml4ZXMgIzU3MjU1MS4KCjIwMDktMDItMjcgMTI6MDM6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkgIE1lcmdlIGJyYW5jaCAnd29yaycKCjIwMDktMDItMjcgMTE6NTY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBkb2NzOiBJZ25vcmUgc29tZSBtb3JlIGdlbmVyYXRlZCBmaWxlcwoKMjAwOS0wMi0yNyAxMTo1NTozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IE1vdmUgZGVmaW5lIGludG8gdGhlIEMgZmlsZSBzbyBpdCBkb2Vzbid0IHNob3cgdXAgaW4gdGhlIGRvY3MKCjIwMDktMDItMjcgMTE6NTQ6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkgIGRvY3M6IEVucm9sbCBkaXJhYyBwbHVnaW4gaW50byB0aGUgZG9jcwoKMjAwOS0wMi0yNyAxMTozOTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IEFkZCBzb21lIGJhc2ljIGRvY3MgdG8gdGhlIHBsdWdpbgoKMjAwOS0wMi0yNyAxMDoxNjo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkgIGFwZXhzaW5rOiBVc2UgYSB1bmlvbiB0byBhdm9pZCB0eXBlLXB1bm5pbmcgc3RyaWN0IGFsaWFzaW5nIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTAyLTI3IDEyOjM1OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJld29yayBzaWduYWxpbmcgYW5kIHRlc3RzCgkgIFJldmVydCB0aGUgR1N0cmluZyBjaGFuZ2UuIFRoZXJlIGFyZSBubyBtYXJzaGFsbGVycyBmb3IgaXQuIEEgYmV0dGVyIGNoYW5nZSBpcwoJICBub3cgZGVzY3JpYmVkIGluIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3MzM3MC4KCSAgVGVzdCBzaG91bGQgd29yayBhZ2Fpbi4KCjIwMDktMDItMjcgMTE6MjQ6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVydCBsYXN0IGNoYW5nZSBhbmQgcHJvcGVybHkgZml4CgkgIEJhc2VwYXJzZSBpbnRlcm5hbHkgYnJlYWtzIHRoZSBzZW1hbnRpY3Mgb2YgYSBfY2hhaW4gZnVuY3Rpb24gYnkgY2FsbGluZyBpdCB3aXRoCgkgIGJ1ZmZlcj09TlVMTC4gVGhlIHJlc29uIEkgYmVsaXZlZCBpdCB3YXMgb2theSB0byByZW1vdmUgaXQgd2FzIHRoYXQgdGhlcmUgaXMKCSAgYWxzbyBhbiB1bmNoZWNrZWQgYWNjZXNzIHRvIGJ1ZmZlciBsYXRlciBpbiBfY2hhaW4uIEFjdHVhbGx5IHRoYXQgY29kZSBpcyB3cm9uZywKCSAgYXMgaXQgbW9zdCBwcm9iYWJseSB3YW50cyB0byBzZXQgZGlzY29udCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVyLgoKMjAwOS0wMi0yNyAxMTowNjowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJICBxdHdyYXBwZXI6IE9ubHkgdXNlIF9kdW1wX21lbSgpIGlmIHJlcXVlc3RlZC4KCjIwMDktMDItMjYgMTI6NDg6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQWRkIHYyMTAgZm9ybWF0CgoyMDA5LTAyLTI2IDEyOjQ3OjE2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEZpeCBpbmNvcnJlY3QgInBpeGVsX2FzcGVjdF9yYXRpbyIgaW4gY2FwcwoJICBTaG91bGQgYmUgInBpeGVsLWFzcGVjdC1yYXRpbyIuCgoyMDA5LTAyLTI2IDE4OjQ2OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGY6IEFkZCBleGFtcGxlIGFwcGxpY2F0aW9uIHRvIG91dHB1dCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0cmVlIGludG8gYSBHdGtUcmVlVmlldwoKMjAwOS0wMi0yNiAxMzoxMDoyOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBnc3RydHBiaW46IERvbid0IGZvcndhcmQgcmV2YyBldmVudHMgdG8gc2VuZGVyCgkgIERvbid0IHNlbmQgZXZlbnRzIGZyb20gdGhlIHJlY2VpdmVyIHRvIHRoZSBzZW5kZXIgc2lkZS4KCSAgRml4ZXMgIzU3MjkwMC4KCjIwMDktMDItMjYgMTE6MDI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBjaGVja3MgZm9yIGJ1ZmZlcj09TlVMTAoJICBBY2NvcmRpZm4gdG8gZG9jcyBmb3IgR3N0UGFkQ2hhaW5GdW5jdGlvbiBidWZmZXIgY2Fubm90IGJlIE5VTEwuIElmIHdlIHdvdWxkCgkgIGxlYXZlIHRoZSBjaGVjaywgd2Ugd291bGQgYWxzbyBuZWVkIG1vcmUgc3VjaCBjaGVjayBiZWxvdy4KCjIwMDktMDItMjUgMTU6MDY6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXBkYXRlIHNoYXZlIGluaXQgc3RhdGVtZW50IGZvciBjaGFuZ2VzIGluIGNvbW1vbi4gQnVtcCBjb21tb24uCgoyMDA5LTAyLTI1IDE1OjI0OjEzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICB0ZXN0czogYWRkIGEgdGltZW91dCBvZiA1IHNsaWdodGx5IGFib3ZlIHRoZSBkZWZhdWx0CgoyMDA5LTAyLTI1IDE1OjE3OjE0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBpbmNyZWFzZSB0aW1lb3V0IGFuZCBsb3dlciB2aWRlbyByZWNvcmRpbmcgbGVuZ3RoCgkgIFRoZSB2aWRlbyB3YXMgcmVjb3JkZWQgZm9yIHRvbyBsb25nIGZvciB0aGUgdGVzdCB0aW1lb3V0cy4gQWxzbyB0aGUgdmVyaWZpY2F0aW9uCgkgIHN1aXRlIGRpZCBub3QgaGFkIGN1c3RvbSB0aW1vdXRzIGF0IGFsbC4gQWxzbyBzcGxpdCB0aGUgdmVyaWZpY2F0aW9uIGZvciBpbWFnZXMKCSAgYW5kIHZpZGVvIHRvIGdldCBiZXR0ZXIgcmVwb3J0aW5nLgoKMjAwOS0wMi0yNSAxMTozMjoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5Y2Y4YzliIHRvIGE2Y2U1YzYKCjIwMDktMDItMjUgMTI6MzQ6MzMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IGRjY3AgcGx1Z2lucy4KCSAgVW5sZXNzIG9uZSBydW5zIGEgdmVyeSByZWNlbnQga2VybmVsLCB0aGV5IGNhbiBlYXNpbHkgbG9ja3VwIHRoZSB3aG9sZSBzeXN0ZW0uCgoyMDA5LTAyLTI1IDExOjQ1OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGRvY3M6IHZhcmlvdXMgZG9jIGZpeGVzCgkgIE5vIHNob3J0LWRlc2MgYXMgd2UgaGF2ZSB0aGVtIGluIHRoZSBlbGVtZW50IGRldGFpbHMuCgkgIEFsc28ga2VlcCB0aGluZ3MgKE1ha2VmaWxlLmFtIGFuZCBzZWN0aW9ucy50eHQpIHNvcnRlZC4KCSAgUmV3b3JkIGFtYmlnb3VzIHJldHVybnMuIE5vIHRleHQgYWZ0ZXIgc2luY2UgcGxlYXNlLgoKMjAwOS0wMi0yNSAxMTozNDo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgaWdub3JlIEdzdEZsb3dSZXR1cm4gdmFsdWVzCgkgIGRvbid0IGlnbm9yZSB0aGUgcmV0dXJuIHZhbHVlIG9mIHB1bGxfcmFuZ2UgYmVjYXVzZSB3ZSBvbmx5IGdldCBhIHZhbGlkIG5vbi1OVUxMCgkgIGJ1ZmZlciB3aGVuIHRoZSByZXR1cm4gdmFsdWUgaXMgR1NUX0ZMT1dfT0suIEF2b2lkcyBhIGNyYXNoIHdoZW4gdGhlIHBpcGVsaW5lIGlzCgkgIHNodXR0aW5nIGRvd24uCgoyMDA5LTAyLTI1IDExOjQxOjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHNpZ25hbCBtYXJzaGFsbGVyIGFuZCBkb2NzCgkgIFVzZSBHU3RyaW5nIGluc3RlYWQgb2YgR1BvaW50ZXIgZm9yIHRoZSBtYXJzaGFsbGVyIGFzIHRoaXMgaXMgd2hhdCB0aGUgY2FsbGJhY2sgdXNlcy4KCSAgU2xpZ2h0bHkgcmVmb3JtYXQgZG9jcy4KCjIwMDktMDItMjUgMTE6Mzg6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2ZpZ3VyZXMvY2FtZXJhYmluLnBuZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgdG8gYWRkIGNhbWVyYWJpbiBhbmQgaXRzIGZpZ3VyZQoKMjAwOS0wMi0yNSAxMTowMDo1NSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZ2V0IHJpZCBvZiAvLyBjb21tZW50IGFuZCBleHBsYWluCgoyMDA5LTAyLTI1IDEwOjQ2OjEwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgY2hlY2sgdW5pdCB0ZXN0CgkgIFVzZSBwbGF5YmluMiBmb3IgdmFsaWRhdGlvbi4gVXNlIHRtcF9kaXIgZm9yIGNhcHR1cmluZy4gV2FpdCB3aXRoIGdfY29uZCBmb3IKCSAgYnVyc3QgY2FwdHVyZSBmaW5pc2guIENsZWFudXAgc29tZSBnX29iamVjdF9zZXQuIEFkZCBzb21lIGxvZ2dpbmcgdG8gZWFzZQoJICB0cmFjaW5nLgoKMjAwOS0wMi0yNSAxMDo0NToxOSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1bmJsb2NrIGNvcnJlY3QgcGFkIGluIHJlc2V0LCBzdXBwb3J0IGZha2VzaW5rIGFzIHZpZXcgZmluZGVyCgoyMDA5LTAyLTI0IDE2OjM2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgUmVtb3ZlIHRlc3RzL2V4YW1wbGVzL2FwcCBhcyBpdCB3YXMgbW92ZWQgdG8gLWJhc2UgYSBsb25nIHRpbWUgYWdvCgoyMDA5LTAyLTI0IDE2OjMzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9kZWNrZXIudHRmOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ29iL2dzdC1pZGVudGl0eTIuZ29iOgoJKiB0ZXN0cy9leGFtcGxlcy9nc3RwbGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvZGVtby5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9wbG90LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBNb3ZlIGV4YW1wbGVzIGRpcmVjdG9yeSB0byB0ZXN0cy9leGFtcGxlcyBhcyBpbiBldmVyeSBvdGhlciBHU3RyZWFtZXIgbW9kdWxlCgoyMDA5LTAyLTI0IDE2OjIxOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBVc2UgbmV3IERDQSBmdW5jdGlvbnMvY29uc3RhbnRzIGFzIG5vdCBhbGwgZGlzdHJvcyBwYWNrYWdlIHRoZSBjb21wYXQgZHRzLmgKCSAgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2UgZGVmaW5lIHRoZSBEQ0EgZnVuY3Rpb25zL2NvbnN0YW50cyB0byB0aGUKCSAgb2xkIERUUyBmdW5jdGlvbnMvY29uc3RhbnRzIGlmIHdlJ3JlIGJ1aWxkaW5nIGFnYWluc3QgbGliZHRzLgoKMjAwOS0wMi0yNCAxNToyNjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50Lmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuaDoKCSAgeGRnbWltZTogQWRkIG5ldyB0eXBlZmluZGVyIGJhc2VkIG9uIHhkZ21pbWUKCSAgVGhpcyB0eXBlZmluZGVyIGlzIG1vc3RseSB1c2VmdWwgdG8gZmlsdGVyIG91dCBhbnkgZmFsc2UgcG9zaXRpdmVzCgkgIGJ5IHRoZSBvdGhlciB0eXBlZmluZGVycyBsaWtlIHRoZSB1c3VhbCBXb3JkIGRvY3VtZW50IG1pc2RldGVjdGVkIGFzCgkgIE1QMyBmaWxlLgoKMjAwOS0wMi0yNCAxMzozNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR0czogUHJlZmVyIGxpYmRjYSBvdmVyIGxpYmR0cyBhcyBpdCdzIHRoZSBzdWNjZXNzb3IKCjIwMDktMDItMjMgMTY6MDI6MDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAyLTIzIDE1OjI1OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGaXggYnVpbGQgb24gbWFjb3N4CgoyMDA5LTAyLTIwIDEyOjA4OjA0ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IEFkZCBhc3BlY3QgcmF0aW8gY2Fwc2ZpbHRlciBmb3IgdmlldyBmaW5kZXIKCSAgSWYgZGVhbGluZyB3aXRoIGxhcmdlciBmcmFtZSBzaXplcyB0aGFuIHZpZXcgZmluZGVyIHNpbmsgZWxlbWVudAoJICBhY2NlcHRzIHRoZW4gbWFpbnRhaW4gYXNwZWN0IHJhdGlvIHdoZW4gc2NhbGluZyBmcmFtZXMgdG8gZml0LgoKMjAwOS0wMi0yMCAxMjowNzozMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTY2FsZSBpbmNvbWluZyBmcmFtZXMgaWYgdGhlaXIgc2l6ZSBkb2VzIG5vdCBtYXRjaCByZXF1ZXN0ZWQgc2l6ZQoJICBJZiBjYXB0dXJlIHByZXBhcmF0aW9uIGluIHZpZGVvc3JjIHJlc3VsdHMgaW4gZnJhbWUgc2l6ZSBkaWZmZXJlbnQKCSAgZnJvbSByZXF1ZXN0ZWQgc2l6ZSwgdGhlbiB3ZSBuZWVkIHRvIHNjYWxlIHRoZW0uCgoyMDA5LTAyLTIwIDEyOjAzOjAzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90byBpZmFjZTogQWRkIGNhcHMgb2JqZWN0IHRvIHByZXBhcmF0aW9uIEFQSSBmb3IgcmVxdWVzdGVkIGFuZCBhY3R1YWwgY2FwdHVyZSBmb3JtYXQKCSAgQWxsb3cgcmVxdWVzdGluZyBvZiBjZXJ0YWluIGZvcm1hdCB3aXRoIHByZXBhcmVfZm9yX2NhcHR1cmUoKSBhbmQgcmV0dXJuCgkgIHRoZSBhY3R1YWwgZm9ybWF0IGluIEdzdFBob3RvQ2FwdHVyZVByZXBhcmVkIGNhbGxiYWNrLgoKMjAwOS0wMi0yMyAxMTo0OTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogQWRkIHNvdW5kdG91Y2gncyAtbEJQTSB0byBfTElCUywgbm90IF9DRkxBR1MKCjIwMDktMDItMjIgMjI6MDA6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICBkY2NwOiBGaXggIm5vbi12b2lkIHdpdGhvdXQgcmV0dXJuIHZhbHVlIiBjb21waWxhdGlvbiBpc3N1ZS4KCjIwMDktMDItMjIgMTk6MTc6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgRGV0ZWN0IGxpYnNvdW5kdG91Y2ggMS40IGFuZCBoaWdoZXIuCgkgIEluIGxpYnNvdW5kdG91Y2ggMS40LCBsaWJCUE0gYXBwZWFycyB0byBoYXZlIGJlZW4gc3Vic3VtZWQgaW50bwoJICBsaWJTb3VuZFRvdWNoLCBhbmQgaW50byB0aGUgc291bmR0b3VjaCBuYW1lc3BhY2UuCgoyMDA5LTAyLTIyIDE4OjEyOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXNlIHNoYXZlIGZvciB0aGUgYnVpbGQgb3V0cHV0CgoyMDA5LTAyLTIyIDE4OjQxOjA4ICswMTAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjb21waWxhdGlvbiBvbiBXaW5kb3dzIHdpdGggVmlzdWFsIFN0dWRpbwoJICBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBzdHJjYXNlY21wIHNvIHdlIHNob3VsZCB1c2UKCSAgZ19hc2NpaV9zdHJjYXNlY21wIGhlcmUgaW5zdGVhZC4KCSAgQWxzbyBXaW5kb3dzIGRvZXNuJ3QgaGF2ZSBzeXMvdGltZS5oIHNvIHdlIGZpcnN0CgkgIG5lZWQgdG8gY2hlY2sgaWYgaXQgYWN0dWFsbHkgZXhpc3RzIGFuZCBpZiBub3QKCSAgd2Ugc2hvdWxkIG5vdCBpbmNsdWRlIGl0LgoJICBGaXhlcyBidWcgIzU3MjMxNS4KCjIwMDktMDItMjIgMTU6NTg6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWQ3YzljYyB0byA5Y2Y4YzliCgoyMDA5LTAyLTIyIDE0OjU4OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBEb24ndCB1c2Ugdm9pZCAqIHBvaW50ZXIgYXJpdGhtZXRpYwoKMjAwOS0wMi0yMiAxMzoxNzo1NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogRml4IGNvbXBpbGF0aW9uIHdhcm5pbmcKCjIwMDktMDItMjEgMTE6MTM6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4MGM2MjdkIHRvIDVkN2M5Y2MKCjIwMDktMDItMTAgMTc6MDI6MjQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBNb3ZlZCBydHBtdXggZnJvbSBnc3QtcC1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQ1OjUwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE5OjExOjE1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9jdW1lbnQgcnRwIG11eGVyIGEgYml0CgoyMDA5LTAyLTIwIDEzOjMwOjQ5IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgc2lnbmFscyBiZWZvcmUgc3RyZWFtIGxvY2sgYW5kIGFmdGVyIHVubG9ja2luZwoKMjAwOS0wMi0xOCAyMDoxODo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExldCBzc3JjIHRocm91Z2ggZ2V0Y2FwcwoKMjAwOS0wMi0xOCAxOTo1ODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBoYXZlX2Jhc2UgdG8gaGF2ZV90c19iYXNlCgoyMDA5LTAyLTE4IDE4OjE0OjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvdGVjdCB0aGUgc2VxbnVtIHdpdGggb2JqZWN0IGxvY2sgaW4gcnRwbXV4CgoyMDA5LTAyLTE4IDE4OjA3OjQ0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBzaW5rX3RzX2Jhc2UKCjIwMDktMDItMTggMTU6MjA6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBIYXZlIGdldGNhcHMgdG8gZm9yY2UgdGhlIHNhbWUgY2xvY2tyYXRlIG9uIGFsbCBwYWRzCgoyMDA5LTAyLTE4IDE3OjA1OjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVmFsaWRhdGUgUlRQIGRhdGEgaW4gUlRQIE11eAoKMjAwOS0wMi0xOCAxNDoxNjowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgY2xvY2stcmF0ZSBwcm9wZXJ0eQoKMjAwOS0wMi0xOCAxMzo1NjozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGFyaWZ5IGxvY2tpbmcgaW4gcnRwZHRtZm11eAoKMjAwOS0wMi0xOCAxMzozMjo1NiAtMDUwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0wMSAxNzo1NToyMiAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVcGRhdGUgc2VxbnVtIGJhc2UgaW4gcnRwIG11eGVyCgkgIFdpdGggaGVscCBmcm9tIFdpbQoKMjAwOC0xMi0wMSAxNzo1NDo1OCAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHNvbWUgbW9yZSBsZWFrcwoKMjAwOC0xMi0wMSAxNzo0ODoyOSAtMDUwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGxlYWsKCjIwMDgtMDktMjkgMTU6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB1bnJlZiBjYXBzIHdlIGRvbid0IGtub3cgKHRoYW5rcyBXaW0pCgoyMDA4LTA4LTEyIDEyOjQ4OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHBlci1idWZmZXIgZGVidWcgYXQgbGV2ZWwgTE9HCgoyMDA4LTA4LTEyIDEyOjQ3OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkZWJ1ZyBwcmludCBhY2N1cmF0ZQoKMjAwOC0wOC0xMiAxMjo0NjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBvdXIgY2FwcyBvbiB0aGUgYnVmZmVycwoKMjAwOC0wOC0xMiAxMjo0NjowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLWJhc2Ugc3RvcmVkIGZyb20gdGhlIGxhc3Qgc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjo0MTo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFN0b3JlIHRoZSBjbG9jay1iYXNlIG9uIHNldGNhcHMKCjIwMDgtMDgtMTIgMTI6MzA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcGFkcHJpdmF0ZSB0byB0aGUgcmVxdWVzdCBwYWRzCgoyMDA4LTA4LTEyIDEyOjIzOjMyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB3aGl0ZXNwYWNlIGluIGdzdHJ0cG11eAoKMjAwOC0wOC0xMSAyMToyMDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaW5kZW50YXRpb24gbW9yZSBjb3JyZWN0CgoyMDA4LTA4LTExIDIxOjA1OjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG8KCjIwMDgtMDgtMTEgMjE6MDM6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgc2VxbnVtLWJhc2UgYW5kIGNsb2NrLWJhc2UgaW4gY2FwcyBmcm9tIHJ0cG11eGVyCgoyMDA3LTA4LTE1IDEzOjUwOjM4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA4MTUxMzUwMzgtZjNmMWUtOWM3YTU0OTBhNTI1YzZlODc1M2NiMWI4YzAzMzU0ZGY5OTEzMmI1Yy5negoKMjAwNy0wOC0yMyAyMToyMjoyNSArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3luYyBqaXR0ZXJidWZmZXIgd2l0aCBDVlMgLWJhZAoJICAyMDA3MDgyMzIxMjIyNS0yNDI1Yi0wZmU2OWJmNzI1Mzk2NzhkZGE0NWQ2MTVhMDlmMWNiZjUwMmNjNzFhLmd6CgoyMDA3LTA4LTIwIDE4OjUwOjMyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1pc3NpbmcgY29tbWVudAoJICAyMDA3MDgyMDE4NTAzMi00ZjBmNi0wYWI2N2I2YWM0MGRkNGUzNWE4ZmU1M2YzY2I2ZGFmZjY1Y2U0M2I5Lmd6CgoyMDA3LTA3LTEyIDE5OjUzOjM2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGJ1ZmZlciB3cml0YWJsZSBiZWZvcmUgd3JpdGluZyBpbnRvIGl0CgkgIDIwMDcwNzEyMTk1MzM2LTNlMmRjLTkxYTVmYjc5N2NmYTQ5MTlkNGUyZjlhNzI4YzZkNmZiZDNiODNkOTMuZ3oKCjIwMDctMDctMDYgMjA6MjQ6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBwYWRzIGFjdGl2ZSB3aGVuIGFkZGluZyB0aGVtIHRvIGEgcG90ZW50aWFsbHkgcnVubmluZyBlbGVtZW50CgkgIDIwMDcwNzA2MjAyNDU5LTNlMmRjLWEzNzMxZjg4NTcyNTU5NGRlZjBhN2JlOTk3ZmM3YjNhNzM5ZWU5NjcuZ3oKCjIwMDctMDYtMDcgMTI6MDE6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBtdWx0aXBsZSByZWYgbGVha3MgKHBhdGNoZXMgYnkgU1AgR0xFKQoJICAyMDA3MDYwNzEyMDEyMS0zZTJkYy0wNjFlOWVmN2E0N2IxYjg0ZmE4ZjgwOTJmNGI4YmNjMGU2ZGI4YzhjLmd6CgoyMDA3LTA1LTI4IDE1OjI1OjA1ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gc2VuZCBldmVudCB0byBhbGwgc3JjIHBhZHMKCSAgMjAwNzA1MjgxNTI1MDUtZjNmMWUtMDM5MjE2YzczZGM5M2Y2NGM0OTk2MmM3N2EwMjUzY2I5Y2ZlYzRkMy5negoKMjAwNy0wNS0yOCAxMjozNzo0OSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHByaW50IGEgd2FybmluZyBpZiByZWNlaXZlIGFuIGVycm9yIGl0ZXJhdGluZyBzaW5rcGFkcwoJICAyMDA3MDUyODEyMzc0OS1mM2YxZS00YzFlYjNmNTExYjU2MTAxNDM2MTBhNjVhOTRkMTE3ZjJjM2QyNTgwLmd6CgoyMDA3LTA1LTI4IDEyOjI4OjA4ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVhbCB3aXRoIGFsbCB0aGUgZ3N0X2l0ZXJhdG9yX25leHQoKSByZXR1cm4gdmFsdWVzCgkgIDIwMDcwNTI4MTIyODA4LWYzZjFlLWQzMDE2NDRjM2JlNzYzM2VjNmRjNWUyODU5NmU5MzQ2ZDJkYTZhNTAuZ3oKCjIwMDctMDUtMjUgMTI6MzE6MTYgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXR1cm4gY29ycmVjdCB2YWx1ZSBmcm9tIHRoZSBldmVudCBoYW5kbGVyCgkgIDIwMDcwNTI1MTIzMTE2LWYzZjFlLTEzMWIzN2I1ZjQ1MjE2MThmZTJmMTMyMDQwOWE0N2U2NWIzNWFkMmQuZ3oKCjIwMDctMDUtMjUgMTA6Mjc6MDkgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBWaWxsZSdzIG9yaWdpbmFsIHBhdGNoIHRvIGZpeCB0aGUgdHJhdmVyc2FsIG9mIGR0bWYgZXZlbnQKCSAgMjAwNzA1MjUxMDI3MDktZjNmMWUtNmM0MWQxZWY5MzQwNjhhNGY0ZTgxMGU3ZTk4MWI0MjAwNzViMGM5OC5negoKMjAwNy0wMy0yOSAxMzo1Mjo1MCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHRoZSBjb3JyZWN0IHRzLW9mZnNldCBvbiB0aGUgZ2V0X3Byb3AgdmFsdWUKCSAgMjAwNzAzMjkxMzUyNTAtNjUwMzUtYTQzZTIyMmQ5MWQ1N2MwYTYxY2IzMjg3NTg2YWFhMjlhYmY3ODY3NC5negoKMjAwNy0wMy0yOSAxMzo1MjoyMyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3JpemUgc3RhdGVfY2hhbmdlCgkgIDIwMDcwMzI5MTM1MjIzLTY1MDM1LTIzYTAxMDdiMmUzOTc3MTBmMDM1YzZlODhjYzBlNDliNjViYjRkNWQuZ3oKCjIwMDctMDMtMjkgMTM6MzY6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHNldCBTU1JDIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMzI5MTMzNjIyLTY1MDM1LTFiZTZlMGFhODVhNzEzODlmN2QyNTdiOWNkM2UxM2E3M2Q2Yjc0NWIuZ3oKCjIwMDctMDMtMjkgMTM6MTk6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvZGUgY2xlYW4tdXAgYW5kIG1vcmUgZGVidWcgb3V0cHV0CgkgIDIwMDcwMzI5MTMxOTM2LTY1MDM1LTlkNDk5ZTIwOWUwZDdhNDA5YzNhYTBkMTA0MDc3OGJhYmYwNzYxNzkuZ3oKCjIwMDctMDMtMjggMTE6MjI6MTkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBvd24gY2xvY2stYmFzZQoJICAyMDA3MDMyODExMjIxOS02NTAzNS0xYmE1ZmVmYmM2NTA1OWU5YjBjODYwNTI4YTMxMDYyY2ViNmE3MzMxLmd6CgoyMDA3LTAzLTIzIDE2OjMxOjM5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IGFjY2VwdCBSVFAgc3RyZWFtcyB0aGF0IGhhdmUgdGhlIHNhbWUgY2xvY2stcmF0ZQoJICAyMDA3MDMyMzE2MzEzOS02NTAzNS1mYzBiMTdiMGI4YTdhMDQxZjQ4OTk0YzRmMjZlOTY1NjgxNjhiZjk1Lmd6CgoyMDA3LTAzLTIyIDE2OjE1OjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBtb3JlIGNvZGUtY2xlYW51cHMKCSAgMjAwNzAzMjIxNjE1NTItNjUwMzUtYmRhOTYxNjVlMTQ2YjRmMWQ1ZmVhMWNjOTU3NmE3YWIzYWJlYmM5ZS5negoKMjAwNy0wMy0yMiAxNTo0Mjo1MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmV0dXJuIG5ld3BhZCBpbnN0ZWFkIG9mIE5VTEwgYW5kIHdhcm4gaWYgZmFpbGVkIHRvIGNyZWF0ZSBhIHBhZAoJICAyMDA3MDMyMjE1NDI1MS02NTAzNS1jZGI2NjUxZTYxYzJlYjAyMDVjYzhjMjQ2OTNiNDNmOThhMmRhNzE4Lmd6CgoyMDA3LTAzLTIyIDEyOjQxOjMyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3Rvcml6ZSB0aGUgUlRQTXV4IGNvZGUKCSAgMjAwNzAzMjIxMjQxMzItNjUwMzUtMGEzMjc4MTQ3NTQ2ZTMzZjY4NzA5N2E0M2I3NzViM2Y2YWE5OWY5My5negoKMjAwNy0wMy0yMiAxMjoxNDo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgbW9yZSBkb2MgZml4aW5nCgkgIDIwMDcwMzIyMTIxNDUzLTY1MDM1LTEyZDYwMjI3MjIxN2I1MWJkOTdkZjRlNTc5MDAyNGMzOTk2MjJkZDMuZ3oKCjIwMDctMDMtMjIgMTE6MzI6MjggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3JlIFJlZmFjdG9yaW5nCgkgIDIwMDcwMzIyMTEzMjI4LTY1MDM1LWJhZTM0YTc5NTk5ZTdkZTUyOTNlZDc3YjAyMjM2MWNjZmY4MjJiYjkuZ3oKCjIwMDctMDMtMjIgMTE6MzE6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3JlIGRvY3VtZW50YXRpb24KCSAgMjAwNzAzMjIxMTMxNTQtNjUwMzUtNjI0ODUwNTQxYTViNWZjM2RmMjMxMjA0YmU1YTgzZDA3MjM5ZGIyOC5negoKMjAwNy0wMy0yMSAxNjozMzoxMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yIHRoZSBldmVudCBoYW5kbGVyIGZ1bmN0aW9uCgkgIDIwMDcwMzIxMTYzMzExLTY1MDM1LTk4N2U3ZjI1ZDFhYjUzMzViNzlmNDRiMjc3YWJmMTVlNGUzN2QzMTcuZ3oKCjIwMDctMDMtMjEgMTQ6NTI6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgUlRQRFRNRk11eCBlbGVtZW50CgkgIDIwMDcwMzIxMTQ1MjQ0LTY1MDM1LTlhMDEzOTBiMGRlZTMzOThlNTMxOTlhMWZhMWQ5MzUyMDA0ZjMzOGUuZ3oKCjIwMDctMDMtMjEgMTI6MzE6NDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBEVE1GLXNwZWNpZmljIGNvZGUgZnJvbSBSVFAgbXV4ZXIgYW5kIG1ha2UgaXQgZXh0ZW5kYWJsZQoJICAyMDA3MDMyMTEyMzE0OS02NTAzNS1iOGE4ZjU1ZmY3OGVlZDhjYmIwMDQyZTgyNzg4NWVkZmM1NDM4MjQyLmd6CgoyMDA3LTAzLTIwIDEyOjA1OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgbW9yZSBoZWxwZnVsIGRlc2NyaXB0aW9uCgkgIDIwMDcwMzIwMTIwNTI0LTY1MDM1LWRiMjdhN2NmNjMwN2I1MTFhZWIzZDk5NmQyNmU3OTBlMzY3YTdiYWQuZ3oKCjIwMDctMDMtMTYgMTU6MTY6NDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZSB0aGUgKGNvbW1lbnRlZC1vdXQpIGNvZGUgZm9yIGJsb2NraW5nIHRoZSBwYWRzCgkgIDIwMDcwMzE2MTUxNjQxLTY1MDM1LTAxMjNhZjM4Nzk1MWY4ODU5NDc5N2M3MjJlODgyY2ZlNzAyNDBhZmYuZ3oKCjIwMDctMDMtMTYgMTM6MTQ6NDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERyb3AgYnVmZmVycyBpbnN0ZWFkIG9mIGJsb2NraW5nIHRoZSBzaW5rcGFkcwoJICAyMDA3MDMxNjEzMTQ0NC02NTAzNS05YzEzNDVhZDk2MTA4ODgxZjQ1NWQ0YjU1YTdmNjIzY2QzMDJkMGVkLmd6CgoyMDA3LTAzLTE0IDE3OjE2OjE4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RyZWFtIGxvY2tpbmcsIG5lZWRlZCBmb3IgRFRNRgoJICAyMDA3MDMxNDE3MTYxOC02NTAzNS1lNGQyNGIxNjA2Y2UwYTNlMmU3MzlmMDE4MzNmNjFlNGQ3NTU1ZWFjLmd6CgoyMDA3LTAzLTE0IDEwOjIwOjU4ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2UgR1NUXypfT0JKRUNUIGluc3RlYWQgb2YgZ18qCgkgIDIwMDcwMzE0MTAyMDU4LTY1MDM1LWUyNDQyODg4ZjJlM2U1YTNhNzY1OWFkNzk1NGE0ZmJhMzQ3NDljZTIuZ3oKCjIwMDctMDMtMTQgMTA6MTg6NTQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE5vIG5lZWQgdG8gbWFuYWdlIHBhZHMsIHBhcmVudCBkb2VzIHRoYXQgZm9yIHVzCgkgIDIwMDcwMzE0MTAxODU0LTY1MDM1LWVmNWY0YWJkZTIyNzEwMmExMTI4ODM1YWIzMjU5MDVlYWU0YzM3MjYuZ3oKCjIwMDctMDMtMTQgMDk6MDM6NTggKzAwMDAgIHplZW5peEBnbWFpbC5jb20gPHplZW5peEBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodCBoZWFkZXIKCSAgMjAwNzAzMTQwOTAzNTgtZDAxNGEtM2E2ZDNlZWVhYWY1Y2I4Y2EzYmNhNmEzM2U5OWE1NTFmNTk4YmQ0OC5negoKMjAwNy0wMy0wNyAwODo1MzowNyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4Ly5naXQtZGFyY3MtZGlyOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIG9mIFJUUCBtdXhlcgoJICAyMDA3MDMwNzA4NTMwNy02NTAzNS04MzM0MDI0MTNmOTljYjNmOGJlNDg4M2U5MmJhZDRjODcyMjUxMGM5Lmd6CgoyMDA5LTAyLTIwIDE4OjE2OjAyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIERvY3VtZW50IHJ0cGR0bWZkZXBheSBhIGJpdAoKMjAwOS0wMi0yMCAxNzo0MTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJICBNb3ZlZCBkdG1mIGVsZW1lbnRzIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0yMCAxNzo0MDo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgRml4IHVwIGRvY3VtZW50YXRpb24gYmxvYnMgU0dNTAoKMjAwOS0wMi0yMCAxNzozNzo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBSZS1pbmRlbnQgdG8gR3N0IHN0eWxlCgoyMDA5LTAyLTE4IDEzOjMwOjQ0IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNaXNzaW5nIGZvcm1hdCBkaXJlY3RpdmUKCjIwMDgtMTItMDQgMjE6MjE6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtYXhpbXVtIGR1cmF0aW9uIHRvIGEgUlRQIERUTUYgZXZlbnQKCjIwMDgtMTItMDQgMjE6MTE6MTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wcm92ZSB0aGUgbWluaW11bSBxdWFudGEgdG8gbWFrZSBpdCBpbXBvc3NpYmxlIGZvciB0aGUgZHVyYXRpb24gdG8gZmFsbCBkb3duIHRvIDAKCjIwMDgtMTItMDEgMTg6MzE6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFsbG93IHNldHRpbmcgYSBtaW5pbXVtIHNpemUgb2YgYSBzb3VuZCBxdWFudGEgaW4gdGhlIGR0bWYgZGVwYXlsb2FkZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjM3OjEwIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB3aWVyZCBjYXN0aW5nIG9mIHRoZSB2b2x1bWUgdG8gbWFrZSBNU1ZDIGhhcHB5CgoyMDA4LTEwLTE1IDE2OjIxOjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlICJldmVudC10eXBlIiBmaWVsZCB3aGVuIHNwZWNpZnlpbmcgZHRtZiBldmVudHMKCjIwMDgtMDctMjIgMjE6Mzk6MzggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdfZGVidWdzCgkgIDIwMDgwNzIyMjEzOTM4LTNlMmRjLTQ0YTgyZDAxN2ZlNjZmMzExMjMwMWM0MTBhYTBiNTQzZGU2MTU2YWQuZ3oKCjIwMDgtMDYtMTMgMjM6NTc6MjMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSByYXRlIGZyb20gdGhlIHBlZXJzIGNhcHMgaWYgcG9zc2libGUKCSAgMjAwODA2MTMyMzU3MjMtM2UyZGMtMTU2OTBlZTQyNzA4YzUzOWUxYmUxMmUyMGUwNzZhNTYxM2ZhZWE5Ni5negoKMjAwOC0wNi0xMyAyMzo0MTo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCB0aGUgc2FtcGxlIHJhdGUgaW4gZHRtZnNyYyBpbnRvIGEgdmFyaWFibGUKCSAgMjAwODA2MTMyMzQxNDQtM2UyZGMtZTYwMDcwOTQzYmVjODI5YjcwM2I4ODIxYzdhYTQzNTFhMDJkZWViZS5negoKMjAwOC0wNi0xMyAyMzozMDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHRoZSBjbG9jay1yYXRlIGZyb20gdGhlIGNhcHMgaW4gcnRwZHRtZnNyYwoJICAyMDA4MDYxMzIzMzAwNi0zZTJkYy1hN2Q0ZTkxODY0M2Y0ZjhjMWJiMmNjMjY3ODU1OGM2NTQwMjU5MjBlLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQ0OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBieXRlIG9yZGVyaW5nIGlzc3VlcyB3aXRoIGR0bWZzcmMgYW5kIHJ0cGR0bWZkZXBheS4uIHVzZSBvZiBHX1NUUklOR0lGWSB0byBhdm9pZCBlcnJvciBvbiBNU1ZDCgkgIDIwMDgwNDEyMjM0NDE4LTRmMGY2LTQ4MjhkMTYxM2RmY2Q1NjRhZmQyMzZkZmM4ZmI1N2EyOTkwOTJmODMuZ3oKCjIwMDgtMDMtMjAgMTk6MTQ6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cyBhZ2FpbiwgcGVyIHNtY3YncyBhZHZpY2UuLgoJICAyMDA4MDMyMDE5MTQzOC00ZjBmNi02NzFjOWRiNWQ5OTZhNDYwMWRmMDE3Y2VhYjRhZjZkMTY0NjljOTY2Lmd6CgoyMDA4LTAzLTE5IDIxOjE3OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgY2xlYXIgdGhhdCBkdG1mc3JjIGFsc28gdGFrZXMgbmFtZWQgZXZlbnRzIGFzIGlucHV0CgkgIDIwMDgwMzE5MjExNzMxLTNlMmRjLTI2YzcyOWY2ZGM4ZGIyN2U3MWNmNmIyMjY0NmE4MTUzMGRiZjg2MmYuZ3oKCjIwMDgtMDMtMjAgMTg6NDg6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRlYnVnIG1lc3NhZ2UgbWFkZSBpbnRvIGVycm9ycyBiZWNhdXNlIHRoYXQncyB3aGF0IHRoZXkgYXJlLi4uCgkgIDIwMDgwMzIwMTg0ODQxLTRmMGY2LThhMmQyODMyOTdiMDI3MTNkYWRlMGFlNGFjYWE1ZjZlMGY2N2VhY2UuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuIHVudXNlZCBzdHVmZi4uLgoJICAyMDA4MDMyMDE4MzkzNy00ZjBmNi1iY2I4NDFjZGMwN2Y5ZTk2Nzc1MTJmNGI1MGI0YjY1OWE1OGM2NzgzLmd6CgoyMDA4LTAzLTIwIDE4OjM5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGNvcHlyaWdodHMKCSAgMjAwODAzMjAxODM5MTItNGYwZjYtNjg5MzY1ZDVhNDA2NjMyZTNkMDg4ZmFjNzRlNGZiNmY4YTRlYjBlYS5negoKMjAwOC0wMy0yMCAwMToxMzowMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBzdXBwb3J0IGZvciBydHBkdG1mZGVwYXkKCSAgMjAwODAzMjAwMTEzMDEtNGYwZjYtZDM2YTVkMjRiZTIwMzM2ZTM2YzQ3OTZkNzU0NzZjOWI1ZWUxYTdlMS5negoKMjAwOC0wMy0xOSAxOTozMjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbmNvZGluZyBuYW1lIGhhcyB0byBiZSB1cHBlci1jYXNlCgkgIDIwMDgwMzE5MTkzMjUxLTNlMmRjLTE1ODFiMzNiZTliNDg2ZTM1ZWM0OTQ4MDA5Njc3Y2NkNWZmZGMwOTguZ3oKCjIwMDgtMDMtMjAgMDA6NTE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGluZyBuZWNlc3NhcnkgZmlsZXMgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAwNTE0Ny00ZjBmNi01NTBmZTIyZjcwMTUyZjNhYWIzZGNkN2E2YjAyY2JmODFlODkyMzJkLmd6CgoyMDA4LTAzLTIwIDAwOjUwOjQxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHR5cG9zCgkgIDIwMDgwMzIwMDA1MDQxLTRmMGY2LTlkMjJmYTVkMTU1ZTM1YjYwNWVhODViMWZkOWU3MTk3YTg4MmExZjAuZ3oKCjIwMDgtMDItMTYgMTM6NDE6NDAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGR0bWZzcmM6IENvcnJlY3RseSBzZXQgdGhlIGVuZGlhbmVzcyBpbiB0aGUgY2FwcyB0byB0aGUgbWFjaGluZXMgZW5kaWFuZXNzCgkgIDIwMDgwMjE2MTM0MTQwLTkzYjlhLTQwYTNhOWQ3YWMxNjc5YzVlMGRmZDI0YTZiOTFlNGFiYTZjYzY0OTYuZ3oKCjIwMDctMDktMTcgMTc6NTI6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VhcmNoJlJlcGxhY2Ugb29wcwoJICAyMDA3MDkxNzE3NTIzMy0zZTJkYy01N2Y1NzljNGI4OTA5OTNmNDlmYThlOWU2NDcwYTNlYjc5ZDJiOTIyLmd6CgoyMDA3LTA5LTE3IDE3OjUxOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGV2ZW50cyBkb250IHlldCBiZWxvbmcgaW4gdGhlIGNhcHMKCSAgMjAwNzA5MTcxNzUxMzMtM2UyZGMtZmQxZDgzYjc4MjZiODk4MTEwZmM1NzFhZTdjMzQ0MGYxODg3NDM0ZC5negoKMjAwNy0wOS0xNyAxNjowODoyMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYXRjaCB0byBtYWtlIGl0IHdvcmsgd2l0aCBtYWVtbyBkc3Agc291cmNlcyB0aGF0IHBheWxvYWQgaW5jb3JyZWN0bHkKCSAgMjAwNzA5MTcxNjA4MjAtM2UyZGMtMDZiMWIxZDFiMDkxOGIzMGRhYmVhNWEwNzE0Y2I3MzJiM2I4ZDhkZC5negoKMjAwNy0wOS0xNyAwNDoyNjo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vcHMsIHNldCB0byBubyBwcmVyb2xsIHdoZW4gcGxheWluZy0+cGF1c2VkIHRvbwoJICAyMDA3MDkxNzA0MjY0OS0zZTJkYy05NGFkYjZhYTA2MTdlODE1YTZlMjMzMjMyZGFiYjRiYmM0OGRjODJjLmd6CgoyMDA3LTA5LTE3IDAwOjM2OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGxldGUgcG9ydCB0byBiYXNlc3JjCgkgIDIwMDcwOTE3MDAzNjU0LTNlMmRjLWRiMGY4NGRhYmQ5ZGQxYWM5MjlhMDQ2MTg2NWI4YWFhOGVmOTFhNzcuZ3oKCjIwMDctMDktMTcgMDA6MjQ6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY2FwcyBuZWdvdGlhdGlvbiBmdW5jdGlvbgoJICAyMDA3MDkxNzAwMjQxMi0zZTJkYy1jYTI2NjgxNmU5NjI5NzQ2ZTkwODNjNWJiOGI3ZjczYjk0YTliMmIwLmd6CgoyMDA3LTA5LTE3IDAwOjE2OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByb3Blcmx5IGZyZWUgbm9uLXN0YXJ0IGV2ZW50cwoJICAyMDA3MDkxNzAwMTY1OS0zZTJkYy1hNTcxNzc3ZTNlY2ZiOTA5ODlmODc0MTJmNTU0YWExMGEzMWNjMmNhLmd6CgoyMDA3LTA5LTE3IDAwOjE1OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbnRlcnZhbCBhbmQgcGFja2V0X3JlZHVuZGFuY3kgaW50byB1aW50CgkgIDIwMDcwOTE3MDAxNTUyLTNlMmRjLTYwMDMyZTU0N2IzNjY5Yjg3MzE3Yzk4MWQ5ODVjMTU2YWFiOTFiNDAuZ3oKCjIwMDctMDktMTYgMTk6NDQ6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSBydHAgZHRtZiBzcmMgdXNlIGJhc2VzcmMKCSAgMjAwNzA5MTYxOTQ0MDgtM2UyZGMtNzM0MDAwMTMwZGNlMjQzNGEwMTRhY2Y4NDNkNjQxZmYwZTYwYWE1YS5negoKMjAwNy0wOS0xNiAxOTo0MTowMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGR0bWYgc3JjIGNvZGUgbmljZXIKCSAgMjAwNzA5MTYxOTQxMDEtM2UyZGMtYThiZThjNTA5YzY1NDAwZDFkMzk2MmRhMDJlNjdkMTVkMjA1NDMxNi5negoKMjAwNy0wOS0xNiAxOTo0MDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgZGlyZWN0b3J5CgkgIDIwMDcwOTE2MTk0MDUyLTNlMmRjLTQ0ZDdmNGNiMmYyMjA3NjFiNjVlMmI5YjZjZWM0YjNjNmY4YmU3YzUuZ3oKCjIwMDctMDktMTQgMDQ6MjA6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgc3RvcHBpbmcgaW4gYSBuaWNlIHRocmVhZCBzYWZlIHdheQoJICAyMDA3MDkxNDA0MjA0Mi0zZTJkYy0xZmUyNTdmZjRiNzJhY2E0YjBlYjVmMjg1YTE0NjUwYjhkZjI2OGMzLmd6CgoyMDA3LTA5LTE0IDA0OjE4OjM0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBnZXRfdGltZXMgKFdpbSBzYXlzIGl0cyBvbmx5IGdvb2QgZm9yIHJlYWxseSBmYWtlIHNvdXJjZXMpCgkgIDIwMDcwOTE0MDQxODM0LTNlMmRjLWZmZjRkNWRhMmExNDVmMTllN2I2MTBhMTAyN2QyYzRkNGJjNWVhZTAuZ3oKCjIwMDctMDktMTMgMjE6MjE6NDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1c2luZyB0aGUgdW5sb2NrIG1ldGhvZCBvZiBiYXNlc3JjCgkgIDIwMDcwOTEzMjEyMTQ1LTRmMGY2LTBlNDM4YTY4MWJmMTY1MWMwY2MwZDhmYTMyNjlhZWQzZjE2NjhiNmIuZ3oKCjIwMDctMDktMTMgMjE6MTI6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtb3JlIGRlYnVnCgkgIDIwMDcwOTEzMjExMjI2LTRmMGY2LWJjMzJiNTgyOGZjOGUwMzIzYzhhNmVlZTc3OWEzODE0NWFhY2Q1OTMuZ3oKCjIwMDctMDktMTMgMjA6NDY6MTQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBkZWJ1Z3MKCSAgMjAwNzA5MTMyMDQ2MTQtNGYwZjYtNjhjMmE2OWFlN2ExZWZjYTZlMTNjMTE2ZGJhZDdmOWI2ODZmMDI0Mi5negoKMjAwNy0wOS0xMyAxOToyMDo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2Ugc3VyZSB0byB1bmxvY2sgdGhlIHRocmVhZCB3aGVuIGdvaW5nIHRvIHJlYWR5IGFuZCB0byBmbHVzaCB0aGUgcXVldWUgd2hlbiBtb3ZpbmcgdG8gcGF1c2VkIG9yIHBsYXlpbmcKCSAgMjAwNzA5MTMxOTIwNTMtNGYwZjYtNzZjMzkyNTM4MGQxYTMwOTg4Mjg2MTcwNTM1YTY1ZGVhNjRhNTU4My5negoKMjAwNy0wOS0xMyAxNzo1NToyMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hhbmdlZCBkdG1mc3JjIGludG8gYSBzdWJjbGFzcyBvZiBHc3RCYXNlU3JjCgkgIDIwMDcwOTEzMTc1NTIwLTRmMGY2LTE2Y2E0YmY5MzY5MDA3MmYzZTgzNmQxYzhhNWI1MmNmN2E0MjE5MTYuZ3oKCjIwMDctMDktMDQgMjI6NTc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgYW5vdGhlciBmaXggZm9yIGEgcG9zc2libGUgcmFjZSBjb25kaXRpb24KCSAgMjAwNzA5MDQyMjU3NTMtNGYwZjYtNWJhOGM0MjYwYzAwMmJiMjdlYjk4ZTlmYWJhM2MxNTc5OTM1N2I1Ny5negoKMjAwNy0wOS0wNCAyMTo1MjoyNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29tbWVudCB0byBleHBsYWluIHB1c2ggYmFjawoJICAyMDA3MDkwNDIxNTIyNC0zZTJkYy1kOTJhYzFmNDAzZGNmNTcxNTQ2YTdjNTNmMTg4MDlmODQwZWVhNTFkLmd6CgoyMDA3LTA5LTA0IDIwOjU1OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZG8gdGhlIGxvY2tpbmcgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggY2xvY2sgdW5zY2hlZHVsaW5nCgkgIDIwMDcwOTA0MjA1NTA5LTNlMmRjLWRhMTk5MDBiNTFhZjZhZWRiNjU0N2Y0ZjM5MmJlZjRkMTA2MWRlYzIuZ3oKCjIwMDctMDktMDEgMDA6MDM6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBJIGRpZCBpdCBhZ2Fpbi4uLgoJICAyMDA3MDkwMTAwMDMyNC00ZjBmNi0zZDhiNDY2OTFlZTUyMDUzN2IwNmM1MTFhNWU3MzJmNWI4MTJiODQ0Lmd6CgoyMDA3LTA4LTMxIDIzOjU0OjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gb3Vwcywgc29ycnkuLiBEVE1GLCBub3QgUlRQX0RUTUYgZm9yIHRoaXMgZmlsZS4uLgoJICAyMDA3MDgzMTIzNTQyOC00ZjBmNi0wMGI2MDZiZmI0ODkyZTRmMjE3YzQ0MGI2MTFjYzc5NGFiMGRlNTVhLmd6CgoyMDA3LTA4LTMxIDIzOjQ0OjEzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZXMgdGhlIGRlYWRsb2NrIHdoZW4gcGF1c2luZyB0aGUgZHRtZnNyYyBhbmQgcnRwZHRtZnNyYy4gSGFkIHRvIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBhc3luYyBxdWV1ZSB0byByZWxlYXNlIHRoZSBibG9ja2luZyBhc3luY19xdWV1ZV9wb3AoKS4gVGhhbmtzIHRvIE9saXZpZXIgZm9yIHRoZSBzb2x1dGlvbi4KCSAgMjAwNzA4MzEyMzQ0MTMtNGYwZjYtNzkzY2YzNWZjNDM2MzZlNzI3NTI1OGNjNzA2M2ZjMDY4ZjVlZmEwYS5negoKMjAwNy0wOC0yOCAyMjoxNTozNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsb2NrSUQgd2hlbiB3YWl0aW5nIGZvciBidWZmZXIgaXMgbm93IHVuc2NoZWR1bGVkIHdoZW4gc3RvcHBpbmcgdGhlIHRhc2suIFZhcmlvdXMgZml4ZXMgdG8gYXZvaWQgYnVncyAodGhhbmtzIHRvIC1XYWxsIC1XZXJyb3IpLiBGaXhlcyB0byBhbGxvdyB0aGUgbWVyZ2Ugb2YgdGhlIGJyYW5jaC4KCSAgMjAwNzA4MjgyMjE1MzQtNGYwZjYtYjBkNmE0ZmU0OGM0ZTJhMTZiOWZmNjljYjMxMDA4N2M5NzBjZTQ4ZS5negoKMjAwNy0wOC0yOCAxNzoxNTo0NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW5lZCB1cCB0aGUgY29kZSBhIGJpdCwgbm8gdXNlIG9mIEdTVF8qIGFuZCByZXR1cm4gdmFsdWUgdmVyaWZpY2F0aW9uIGZyb20gZ3N0XyoKCSAgMjAwNzA4MjgxNzE1NDYtNGYwZjYtYmRlYjRiMWI3Zjk5Zjk0NjRhYWJlNWM0M2JkNGE0ZDIwMjUyNjJiNi5negoKMjAwNy0wOC0yNyAxOTo1NjoxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvdmVybHkgbG9uZyBsaW5lcyBhbmQgdGFicwoJICAyMDA3MDgyNzE5NTYxMC0zZTJkYy0zOTZhM2ZhMDFlMTZmMTg0ZTQxMDljNzFmZTJkZWI2ZTUxNmJkZjBkLmd6CgoyMDA3LTA4LTI3IDE5OjI2OjE4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSB1bnRhYmJpZmllZCBkdG1mc3JjCgkgIDIwMDcwODI3MTkyNjE4LTRmMGY2LTc3ZDY4MDcwNDY0ZjFiNWY5YTQ2Y2I2ZWVjMmQ5MjIzNDAxNDNjMDQuZ3oKCjIwMDctMDgtMjcgMTc6MjQ6MjQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcHMgYnkgc2VuZGluZyBhIG5ld19zZWdtZW50IGV2ZW50IHRvIHRoZSBwYXlsb2FkZXIKCSAgMjAwNzA4MjcxNzI0MjQtNGYwZjYtZDIwOTA3ZTNkNDM2ZDUwYmZlNzRlYjRmYzNkMmQ2ZDdiNmI2ZGJjNS5negoKMjAwNy0wOC0yNyAxNzoyMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEJldHRlciBoYW5kbGluZyBvZiBwYWNrZXRzLCB3ZSBzZW5kIHRoZSBzYW1lIGR1cmF0aW9uIGZvciBhbGwgcGFja2V0cyB0byBhdm9pZCBodWdlIHBhY2tldHMgd2hlbiBtaW4gZHVyYXRpb24gZGVmaW5lcyBhcmUgbW9kaWZpZWQuCgkgIDIwMDcwODI3MTcyMzM5LTRmMGY2LWNjOTMzMDQ0MzdlYTM3NmZmZjY0NThjNzRjNDZjMTlmNjkyMGQzMjkuZ3oKCjIwMDctMDgtMjcgMTc6MjM6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2luZyBtaW5pbXVtIHZhbHVlcyB0byB3b3JrIGJldHRlciBvbiBzb21lIGdhdGV3YXlzCgkgIDIwMDcwODI3MTcyMzIyLTRmMGY2LTViZjJiZmZhNTlhODI0NDUzOGRjZWQ3OTVmYTdkNzY0OTQ1MmNhOTEuZ3oKCjIwMDctMDgtMjIgMjA6MTY6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgRFRNRiB0b25lIGdlbmVyYXRvciBub3cgcmVzcGVjdHMgdGhlIHZvbHVtZSBhcmd1bWVudCBwYXNzZWQgaW4gdGhlIGV2ZW50CgkgIDIwMDcwODIyMjAxNjUzLTRmMGY2LThiN2ZmODc0MDA2ZTExZjVhNzRkMGZkOTFlNWE5YTQzY2QwODJhZGEuZ3oKCjIwMDctMDgtMjIgMTg6MDE6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkb24ndCBrbm93IHdoeSBJIGRpZCB0aGF0Li4uCgkgIDIwMDcwODIyMTgwMTMzLTRmMGY2LTZhNzM4MmY2YzdkMzYzMGY5MWRhMzg0ZTE5MDQ3NjNjN2VhNmZhMWEuZ3oKCjIwMDctMDgtMjIgMTc6NTU6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnRlZCB0aGUgZXZlbnQgcXVldWUgd29yayBmcm9tIGR0bWZzcmMgdG8gcnRwZHRtZnNyYwoJICBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIHJ0cGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2gKCSAgdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIyMTc1NTMzLTRmMGY2LWYyNzQxNGM0MDZmMWY3YjAwYzlhOTA4NGE5ODhjZjNhNzkzMGZlNWMuZ3oKCjIwMDctMDgtMjIgMTc6NTQ6NDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdWNoLCBwcmludGluZyB3aXRoIGFyZ3VtZW50cyBidXQgd2l0aG91dCAlcy4uIHRoYXQgbWFkZSBpdCBzZWdmYXVsdCBhIGZldyB0aW1lcy4uLgoJICAyMDA3MDgyMjE3NTQ0NC00ZjBmNi00NDVlYTZjZTdhOTY2OGQwNGNmOTk5YWY3NzJhNTA0ZWM3NGZiNjdhLmd6CgoyMDA3LTA4LTIyIDE3OjUxOjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCB0aGUgdGltZXN0YW1wIGZyb20gdGhlIGV2ZW50IHRvIGR0bWZzcmMgc3RydWN0dXJlIHNpbmNlIHdlIGhhdmUgb25seSBvbmUgZXZlbnQgYXQgYSB0aW1lLCBzbyBsZXQncyBrZWVwIGl0IHN0b3JlZCBpbiB0aGUgZHRtZnNyYyBzdHJ1Y3QKCSAgMjAwNzA4MjIxNzUxMjYtNGYwZjYtNTNiY2RhMmJkOGFlOGM1NmQyOWU2MmU2OWFjMTlhMzBlMDhhZDM1MC5negoKMjAwNy0wOC0yMCAyMDozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgYSBxdWV1ZSBiYXNlZCBzeXN0ZW0gZm9yIHRoZSBkdG1mc3JjLiBOb3cgaXQgd2FpdHMgZm9yIHN0YXJ0L3N0b3AgbWVzc2FnZXMgb24gdGhlIHF1ZXVlLCBhbmQgbWFrZXMgc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGR1dHkgY3ljbGUgKDEyMG1zKSBpcyByZXNwZWN0ZWQgYmV0d2VlbiBlYWNoIHRvbmUsIGluY2x1ZGluZyBpbnRlci1kaWdpdCBzaWxlbmNlLgoJICAyMDA3MDgyMDIwMzgyNi00ZjBmNi03NTBhMjJiNjEyYTVlNDk1ZTc2NzY2NjkzNDQ2NWMzNGZlMzIwNzRiLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgZHRtZnNyYywgYSBEVE1GIFRvbmUgR2VuZXJhdG9yLCBhbmQgbWFkZSBpdCBwYXJ0IG9mIHRoZSAnZHRtZicgcGx1Z2luLgoJICAyMDA3MDgyMDE4NDg1Mi00ZjBmNi1hMGQ4NWU2NzcwODI5MGFlYmFmYTg5YWI3OWQzY2VkZDU4MTViNjIwLmd6CgoyMDA3LTA4LTIwIDE4OjQ4OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHJ0cGR0bWYgdG8gZHRtZiBkaXJlY3RvcnkKCSAgMjAwNzA4MjAxODQ4MDAtNGYwZjYtZmEzM2VhOTc0NTEwMTYxZGU4Yzk5NTFjMzkwODdhZjM2MTNiNjVhNC5negoKMjAwNy0wNy0xMiAxOTo1NzoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgYWxsIHBhY2tldCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLCBpbmNsdWRpbmcgdGhlIGxhc3Qgb25lCgkgIDIwMDcwNzEyMTk1NzE1LTNlMmRjLTY4NDhjNzBhN2YwMTM3YzkxZmE4ODJhOGVmYjZkYmY4Mzg5MWFlMTMuZ3oKCjIwMDctMDctMTIgMTk6NTU6MjggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IG5vbi16ZXJvIGR1cmF0aW9uIGluIGZpcnN0IHBhY2tldCBhbmQgcHV0IGEgbWluaW11bSBkdXJhdGlvbiBvZiA1MG1zCgkgIDIwMDcwNzEyMTk1NTI4LTNlMmRjLWQ0NmVkZWFhYjg0ZmI1NWU3NDg0MmJkY2Y0Zjg3OTJkZmNkYjA0NTcuZ3oKCjIwMDctMDctMTIgMTY6MjM6MjggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IFJUUCB0aW1lc3RhbXAgb24gZHRtZiBwYWNrZXRzCgkgIDIwMDcwNzEyMTYyMzI4LTNlMmRjLTk4YzEzMDNmNGE1MmI4OTFjZTU5YmY4OGUwN2QyOWY0ZTJkZmM5NzQuZ3oKCjIwMDctMDctMTEgMTU6NTI6MDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZXQgbWFya2VyIG9uIHZlcnkgZmlyc3QgcGFja2V0IG9mIGFuIGV2ZW50CgkgIDIwMDcwNzExMTU1MjAyLTNlMmRjLWY3ZWEzYWJkMmNiMGNhMjkzN2VhNDUwOGU2ZTMwMWJhYWE2ZTIxNTQuZ3oKCjIwMDctMDctMTEgMTU6NTE6NTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBvbiBwYWNrZXQgc3RhcnQgdGltZQoJICAyMDA3MDcxMTE1NTE1Ny0zZTJkYy1lZTBlOWZjMTNkMzUyOTY1OTMwMDUyNjdhMjQxN2RkNjVlNzkwZDI5Lmd6CgoyMDA3LTA3LTExIDE1OjUwOjU2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJUUCB0aW1lc3RhbXAgaXMgdGhlIHRpbWUgb2YgdGhlIGJlZ2lubmluZyBvZiB0aGUgZHRtZiBldmVudAoJICAyMDA3MDcxMTE1NTA1Ni0zZTJkYy1jYjVjZGE3M2ZiZjdkZjFjNTQ1Y2IwMzIxYjBlMzM5OTE0YzU4OTdmLmd6CgoyMDA3LTA0LTI0IDIwOjAyOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIDgwIGNvbHVtbiBpcyBlbm91Z2ggZm9yIGV2ZXJ5b25lCgkgIDIwMDcwNDI0MjAwMjUyLTNlMmRjLWQxYmMxNzI2NmFmZmYyNTk5MTI5YTI1ZDQ0MzM4MDYyMzcyZjdlYTMuZ3oKCjIwMDctMDQtMjQgMTk6MzE6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcmVkdW5kYW5jeSBhbmQgaW50ZXJ2YWwgcHJvcGVydGllcyB0byBydHBkdG1mc3JjIChwYXRjaCBieSBTUCBHTEUgPHNwZ2xlZ2xlQHlhaG9vLmZyPikKCSAgMjAwNzA0MjQxOTMxNTUtM2UyZGMtNjY2ODgwMDFlN2I1MjljNDZmMTA4NjMzY2Q5NTIwMzQ3YzNjOGMzZS5negoKMjAwNy0wNS0wNCAxOTo1Mjo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNlbmQgZHRtZiBpZiB0aGUgbWV0aG9kIGlzIHVuc3BlY2lmaWVkIG9yIGlzIDEKCSAgMjAwNzA1MDQxOTUyNTEtM2UyZGMtYjk1YjRiOGU4ZGFkODc5NjJjZjM5ZWMyZWU2N2I2ZjFiNjE5ZTliZC5negoKMjAwNy0wMy0wOCAyMjozNTo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGRvY3VtZW50YXRpb24gY29uc2lzdGVudCB3aXRoIGl0c2VsZgoJICAyMDA3MDMwODIyMzU1OS0zZTJkYy1jYzIwZmU1NzEzNzBiYzUxYmY5NjNjYzNkZjFiOGFiNGEzZGRjMjBiLmd6CgoyMDA3LTA0LTEyIDIwOjA0OjM1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHNlZ21lbnQgdG8gY2FsY3VsYXRlIGR0bWZzcmMgcnRwIHRpbWVzdGFtcAoJICAyMDA3MDQxMjIwMDQzNS0zZTJkYy1iNWNjMjZiMTJiNmU4Yjg5ZjEzMWZkMjdmMGU0NjI3NzQ2ZTg1Njk3Lmd6CgoyMDA3LTA0LTAyIDEyOjQ2OjM1ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsZWFuLXVwIGFuZCByZWZhY3Rvcml6ZSBkdG1mc3JjIGNvZGUKCSAgMjAwNzA0MDIxMjQ2MzUtNjUwMzUtM2QxMzI0NDQ2MWMxZGQxZmNjOTZiNzQxMjRhZDdhNzRkMmZmMDE0NC5negoKMjAwNy0wMy0zMCAxNTo0MzowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPb29wcywgbGl0dGxlIHR5cG8KCSAgMjAwNzAzMzAxNTQzMDMtM2UyZGMtOWY2ZWRjZGUyNGQzMGNhZWE4ZWE4NzZiMjRhM2E2ODBkNDBiMmVhMS5negoKMjAwNy0wMy0zMCAwMDoxNzowMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgZ2VuZXJhdGUgdGhlIHByb3BlciBydHAgdGltZXN0YW1wcyBpbiBzeW5jIHdpdGggdGhlIGxpdmUgc291cmNlCgkgIDIwMDcwMzMwMDAxNzAwLTNlMmRjLWJiZjk1NGU0ZWRlYzA2MTVjNGVlZTYwM2ZiYzZhYjhhN2Q4OTQzNmYuZ3oKCjIwMDctMDMtMjkgMTE6NDI6NTcgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW5jcmVtZW50IHRoZSB0cyBhZnRlciBzZXR0aW5nIHRoZSBidWZmZXIncyB0cwoJICAyMDA3MDMyOTExNDI1Ny02NTAzNS1jODY4NmFiNGNlMjBiMWYzNmYzZGFjMTIwNDg1YWRlNWNkOTBhYWM5Lmd6CgoyMDA3LTAzLTI5IDEwOjM5OjQ2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGN1bGF0ZSB0aGUgcnRwIHRzIGJlZm9yZSBnc3QgdHMgZ2V0IGluY3JlbWVudGVkCgkgIDIwMDcwMzI5MTAzOTQ2LTY1MDM1LWY3NGUzYTAxNDBjNTdlOTQxNDQ0YmI4MzdkNjA1M2FkMWMzY2Y1NjcuZ3oKCjIwMDctMDMtMjkgMTA6Mzk6MDQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBjb2RlLWNsZWFudXAKCSAgMjAwNzAzMjkxMDM5MDQtNjUwMzUtZGIwOGNjN2MzMDk4YjYwYTU1NmQzODA5ZGU5MTJjZDBlMWE1NDVjMS5negoKMjAwNy0wMy0yOSAxMDozODoyNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbml0aWFsaXplIHRoZSBHc3RTZWdtZW50IGF0IHRoZSByaWdodCB0aW1lCgkgIDIwMDcwMzI5MTAzODI0LTY1MDM1LTlhYjNhMGEwM2M1ZjkzMjljZDQ2MjVhZTY1NjdjMmMxZmQ0YTczZDguZ3oKCjIwMDctMDMtMjYgMTA6NTc6MTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsbCBzZXRfY2FwcyB3aGVuIHdlIGhhdmUgYWxsIHRoZSBwYXJhbXMKCSAgMjAwNzAzMjYxMDU3MTItNjUwMzUtM2UzZGZjZTBiNTBkNjFlYWZkYTg0NmJlZTBhNmQ2NmMzNTQxYzZlZC5negoKMjAwNy0wMy0yMyAxNjoyOToyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgY2FwcyBvbiB0aGUgYnVmZmVyIGJlZm9yZSBwdXNoaW5nIGl0CgkgIDIwMDcwMzIzMTYyOTIyLTY1MDM1LTllNGJlNTQ0OWM3OWMwYTQ1OTk2NWVlMDdhZGI0YTgxNDNjNGMxZDUuZ3oKCjIwMDctMDMtMTQgMTc6MTc6NTYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVxdWVzdCBmb3Igc3RyZWFtIGxvY2sgd2hlbiBnZW5lcmF0aW5nIERUTUYgcGFja2V0cwoJICAyMDA3MDMxNDE3MTc1Ni02NTAzNS0wYjQ5N2RmYWMyMDNmZjRmNTc5NTI1NDg1ZDU4MDRlNWY1MDkzYjNmLmd6CgoyMDA3LTAzLTA3IDExOjQxOjA5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvcnJlY3QgY2FwcyBwcmludG91dAoJICAyMDA3MDMwNzExNDEwOS02NTAzNS0xMjQyMDI4ODQ5MThhOWM4YTgwMzA4MGQ2OTY3MjM0NTM5ZDI0Yjk3Lmd6CgoyMDA3LTAyLTE2IDEyOjA2OjA2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBkb2Mtc2VjdGlvbiBjb21tZW50cwoJICAyMDA3MDIxNjEyMDYwNi02NTAzNS02ZTdkMjg3MjFkYzA4NzJmM2Y1NWJhN2NjZDRmZWQzZDY2ZjgxNzVmLmd6CgoyMDA3LTAyLTE1IDEzOjQ4OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGNvcHlyaWdodHMKCSAgMjAwNzAyMTUxMzQ4NTMtNjUwMzUtNTBmZTVmOGU5OTlhZTg2YTFlM2JhMGRiZGVjZTQ5MTFlYjlkY2NhMC5negoKMjAwNy0wMi0xNSAxMzozNTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBObyBuZWVkIHRvIGhhbmRsZSBkb3duc3RyZWFtIGV2ZW50cwoJICAyMDA3MDIxNTEzMzUzNi02NTAzNS02NDhiNzkxZDQwNGJmMDY5MDBiZDI2OThkOTI1MTE3Yzg5NzQzZGI5Lmd6CgoyMDA3LTAyLTE1IDEyOjI2OjU1ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEF0dGVtcHQgdG8gY29ycmVjdCBldmVudCBoYW5kbGluZwoJICAyMDA3MDIxNTEyMjY1NS02NTAzNS00NzA3MGQ5YTI4YzA4ZDkzNTNiMDRkMmQ5MzAxZTI5YjdlZTcyYjgzLmd6CgoyMDA3LTAyLTE1IDEwOjI2OjI5ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBwYXVzZV90YXNrIGluc3RlYWQgb2Ygc3RvcF90YXNrIHRvIGF2b2lkIGFueSBwb3NzaWJsZSBkZWFkbG9ja3MKCSAgMjAwNzAyMTUxMDI2MjktNjUwMzUtYTQ4Yzc3MzY2MWUzODVhOTFlMDIyZTBhYzFkYTA4NjJjNDIwNmY4NS5negoKMjAwNy0wMi0xNSAxMDoxMDozMCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBjb3JyZWN0IHNlcSBhbmQgdGltZXN0YW1wcyBvbiB0aGUgcGFja2V0cwoJICAyMDA3MDIxNTEwMTAzMC02NTAzNS03MTQ2YTNjNGE4ZDBmZWFiNTEzZDEzYTIwN2IyY2RjNWRlMzExZjAzLmd6CgoyMDA3LTAyLTE0IDEzOjU1OjAxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHRoZSBjb3B5cmlnaHQgbm90aWNlCgkgIDIwMDcwMjE0MTM1NTAxLTY1MDM1LWU5MDc1M2IxZjY1MjVmN2I5YzBhYzJlYjdlNDBjZWY3Y2E2NzNlNjguZ3oKCjIwMDctMDItMTQgMTM6MTM6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9ydHBkdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBSVFAgRFRNRiBldmVudCBwYWNrZXQgZ2VuZXJhdG9yIGVsZW1lbnQgYW5kIHRlc3QgYXBwIGZvciBpdAoJICAyMDA3MDIxNDEzMTM1Mi02NTAzNS0zYzE0YTEwNDdjM2NkNjY5NmYzYTcxNmE2MmIyMWQzZjRiOWRhNjJiLmd6CgoyMDA5LTAxLTMwIDA5OjAzOjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaDogYWN0dWFsbHkgc2V0dGluZyB1cCBhIHN5bWJvbGljIGxpbmsgZm9yIHRoZSBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDItMjEgMTc6NDU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWRkIHJlYWQtb25seSBwcm9wZXJ0eSB0byBnZXQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEKCjIwMDktMDItMjEgMTc6NDA6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBBZGQgTVBFRyB2aWRlbyBiaXRyYXRlIHRvIHRoZSB0YWdzIGlmIGF2YWlsYWJsZQoKMjAwOS0wMi0yMSAxNzozODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBQb3N0IHN0cnVjdHVyYWwgbWV0YWRhdGEgdHJlZSBhcyB0YWcgb24gdGhlIGJ1cwoJICBUaGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBrZWVwIHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHdoZW4KCSAgcmVtdXhpbmcgYW4gTVhGIGZpbGUgYW5kIGNhbiBhbHNvIGJlIHVzZWQgaW4gUGl0aXZpIGZvciBleGFtcGxlCgkgIHRvIGtub3cgdGhlIGZpbGUgc3RydWN0dXJlIGFuZCB0byBzZWxlY3Qgd2hhdCBzaG91bGQgYmUgdXNlZAoJICBhbmQgcGxheWVkLgoKMjAwOS0wMi0yMSAxNjowOToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmZGVtdXg6IEZpeCBjYWxjdWxhdGlvbiBvZiBBRVMzIGJpdHJhdGUgdGFnCgoyMDA5LTAyLTIxIDE2OjA1OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIG14ZmRlbXV4OiBBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgTVhGcmFjdGlvbiB0byBnZG91YmxlIGFuZCB1c2UgaXQKCjIwMDktMDItMjEgMTY6MDA6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmZGVtdXg6IE9ubHkgc3RvcmUgdGhlIG1haW4gZGVzY3JpcHRvciBpbiBzb3VyY2UgcGFja2FnZXMKCSAgRm9yIHRoZSB0cmFja3Mgd2Ugc3RpbGwgcmVzb2x2ZSB0aGUgZGVzY3JpcHRvcnMgYnV0IHRoZQoJICBzb3VyY2UgcGFja2FnZSBvbmx5IGNvbnRhaW5zIHRoZSBkZXNjcmlwdG9yIGl0IHJlYWxseSByZWZlcmVuY2VzCgkgIGluc3RlYWQgb2YgYWxsIHN1YmRlc2NyaXB0b3JzIG9mIG11bHRpcGxlIGRlc2NyaXB0b3JzLgoJICBUaGlzIG1ha2VzIGl0IGVhc2llciBsYXRlciB0byBzZXJpYWxpemUgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEKCSAgYWdhaW4uCgoyMDA5LTAyLTE3IDE3OjM3OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFNldCBmcmVlJ2QgbWVtb3J5IHRvIE5VTEwgdG8gcHJldmVudCBhIGRvdWJsZSBmcmVlIGxhdGVyIGluIHNvbWUgY2FzZXMKCjIwMDktMDItMTUgMDk6NTE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIGdlbmVyaWMgbWV0YWRhdGEgcGFyc2VycyBmb3IgdW5rbm93biBtZXRhZGF0YSwgdGhlIHJlc3VsdHMgYXJlIHVzZWxlc3MgYW55d2F5CgoyMDA5LTAyLTE5IDExOjM2OjQ1ICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBzL2ZsdXRzL21wZWd0cwoJICBDaGFuZ2UgYWxsIGRlZmluaXRpb25zIGZyb20gZmx1dHMgdG8gbXBlZ3RzLgoKMjAwOS0wMi0xMCAxODo1ODo0MCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgZG9jIGluZnJhc3RydWN0dXJlIHRvIHZhbHZlCgoyMDA5LTAyLTEwIDE4OjUyOjU0ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIERvY3VtZW50IHRoZSBHc3RWYWx2ZQoKMjAwOS0wMi0xMCAxODowMzoyNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJICBNb3ZlZCB2YWx2ZSBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMTAgMTc6NTc6MTYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBSZW5hbWUgZnN2YWx2ZSB0byB2YWx2ZQoKMjAwOS0wMi0xMCAxNzo1NTo0NyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBSZS1pbmRlbnQgdmFsdmUgaW4gZ3N0IHN0eWxlCgoyMDA4LTEyLTEzIDAwOjMxOjQ1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIElnbm9yZSBlcnJvcnMgaWYgZHJvcHBpbmcgaXMgc2V0IHRvIHRydWUKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMi0xMCAxNzowMDozMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZ2V0Y2FwcyBwcm94eWluZyB0byB0aGUgdmFsdmUKCjIwMDgtMDgtMjAgMTQ6MTE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlYmFzZSB2YWx2ZSBvbnRvIGdzdGVsZW1lbnQgaW5zdGVhZCBvZiBiYXNldHJhbnNmb3JtCgoyMDA4LTA4LTE5IDE4OjQ5OjUxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldmVydCAiRml4IHJlZmNvdW50aW5nIGlzc3VlcyBpbiBwcmVwYXJlX291dHB1dF9idWZmZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjVkZDQ2MGYwYTNhOWM0ODgyZTYzOGM4NjIwOGY3NGVmNjJjMzQ2MC4KCjIwMDgtMDgtMDUgMTE6MzA6NTcgKzAwMDAgIHNqb2VyZEBsdW9uLm5ldCA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggcmVmY291bnRpbmcgaXNzdWVzIGluIHByZXBhcmVfb3V0cHV0X2J1ZmZlcgoJICAyMDA4MDgwNTExMzA1Ny1iZTBmMi05ZGMyNzA3ODFmMGEwZjIxYzYxNmVkMTFkYmQxZjE5OGZkMWIzMjZlLmd6CgoyMDA4LTA0LTA5IDE2OjMyOjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBkaXNwb3NlIG1ldGhvZCBpbiB2YWx2ZQoJICAyMDA4MDQwOTE2MzIyMS0zZTJkYy05MmNjYjJkYjg3NGU0NmUwZDkyYzE1NTIwNTc3YzFiZTBlMmJjNjE3Lmd6CgoyMDA3LTEyLTE5IDIwOjMyOjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9udCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGlsZSBjYWxsaW5nIGJhc2UgYWxsb2MgZnVuY3Rpb24KCSAgMjAwNzEyMTkyMDMyMzAtM2UyZGMtNjUxOTE3NWQ4ZDgxNDk2NTE1YjJkOTA2MGFjMzE2NjUwNTYwZjY5MS5negoKMjAwNy0xMi0xOSAyMDozMjoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgdGhlIERJU0NPTlQgZmxhZyBhZnRlciBkcm9wcGluZyBidWZmZXJzCgkgIDIwMDcxMjE5MjAzMjE4LTNlMmRjLWJjNWYwM2Q4OGZmNTgzNzA0MGI5MjE0ZGUwMTZjYzE0Mjc3NmRmYzIuZ3oKCjIwMDctMTItMTkgMDA6NTc6MzkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGRvIHRoZSBhbGxvY19idWZmZXIgZnVuY3Rpb24gaW4gdGhlIHZhbHZlCgkgIDIwMDcxMjE5MDA1NzM5LTNlMmRjLTJhMGZkZmEyZjM4ZjAzYWI0NzkxZmU1YzRhYjg1ZTg3OTAxMTM2ODMuZ3oKCjIwMDctMTEtMjEgMjA6MDg6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNldCBwYXNzdGhyb3VnaCB0byBUUlVFIG9uIG5ld2VyIHZlcnNpb25zIG9mIGdzdAoJICAyMDA3MTEyMTIwMDg1OC0zZTJkYy1iMTZjZGVhYmJjM2MwNTYyYzZmYzdiMTFiOWI5NzkyYzkxMGY1NjllLmd6CgoyMDA3LTExLTIxIDE4OjE3OjI5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29tcGFyZSBtaW5vciwgbm90IG1ham9yCgkgIDIwMDcxMTIxMTgxNzI5LTNlMmRjLWE1OTk3YzNiN2Y1Yzg2OTY2MzcwOTY5NzE0ZmFjZjhlZTI0MjY1OWQuZ3oKCjIwMDctMTAtMjYgMjI6Mzc6NDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIHRoZSB2YWx2ZSBlbGVtZW50IHdvcmsgd2l0aCBnc3QgPCAwLjEwLjEzCgkgIDIwMDcxMDI2MjIzNzQ5LTNlMmRjLTE4ZjY4NWE0ZTQ1ZmJkY2U2NzdhYzc3NzU4Njg3NmZjNzE5ZDcyMjIuZ3oKCjIwMDctMTAtMjQgMjI6NDI6NDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSB2YWx2ZSB0byBmc3ZhbHZlCgkgIDIwMDcxMDI0MjI0MjQ2LTNlMmRjLWM1NDIxNmFmMmVmMGVmM2YxYTIyMDZkNzIzZTg3YmUyYTIzYWI4ZWQuZ3oKCjIwMDctMTAtMjQgMjI6NDE6NDcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCB2YWx2ZSBlbGVtZW50CgkgIDIwMDcxMDI0MjI0MTQ3LTNlMmRjLWYyOGFiMGMwNzNlMjgzODk0YjY1YzIyYzRmNDQzOTdjODk3ZGVjMDEuZ3oKCjIwMDktMDItMTAgMTk6MjA6MjYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbiB0byB0aGUgc2lyZW4gZW5jL2RlYyBwbHVnaW5zCgoyMDA5LTAyLTEwIDE5OjIwOjE5ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFJlLWluZGVudCB0aGUgc2lyZW4gc3R1ZmYgdG8gYmUgZ3N0IHN0eWxlCgoyMDA5LTAyLTEwIDE3OjI5OjA1ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkgIE1vdmVkIHNpcmVuIGZyb20gZ3N0LXAtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0xMCAxNzoyMzozOCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJICBNb3ZlIHNpcmVuIHJ0cCBwYXkvZGVwYXkgIHRvIGdvb2QKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0xMC0wNSAyMjowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgdW5kZXJzY29yZSB0byBtYWtlIHRoZSBlbmNvZGVyIGxpa2UgdGhlIGRlY29kZXIKCjIwMDgtMTAtMDUgMjI6MDE6NDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIG9mZnNldCB0byBvdXRfb2Zmc2V0IHRvIG1ha2UgaXRzIG1lYW5pbmcgY2xlYXJlcgoKMjAwOC0xMC0wNSAyMjowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGVjayB0aGUgc2l6ZSBvZiB0aGUgaW5wdXQgYnVmZmVyLCBub3QgdGhlIG91dHB1dCBidWZmZXIKCjIwMDgtMDktMTYgMTU6NDA6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJlc2VydmUgdGltZXN0YW1wCgoyMDA4LTA3LTA0IDIyOjIxOjAzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNoZWNrcywgZG9jdW1lbnQgbG9ja2luZwoJICAyMDA4MDcwNDIyMjEwMy0zZTJkYy00N2E3ZjQ5YzQxNGY5OGExODhmZmM0MmIwNzE4OWRhZjUxNDc0ODNiLmd6CgoyMDA4LTA3LTA0IDIyOjE3OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1ha2Ugc2lyZW5lbmMgdGhyZWFkIHNhZmUKCSAgMjAwODA3MDQyMjE3NDMtM2UyZGMtZjkzZGE4NjQzOGY3NTNlMTRiZTI1MTY2YWVlNDVmODgwMmY3ZDEwMC5negoKMjAwOC0wNy0wNCAyMDoxODozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXBsYWNlIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluIHNpcmVuZW5jCgkgIDIwMDgwNzA0MjAxODMwLTNlMmRjLThmM2U0MDFhYWE1OTRjOGNjNTg1M2I3M2Y0MWNhNWNiMDQ3ZWUyZDMuZ3oKCjIwMDgtMDctMDQgMjA6MTc6NDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgc2lyZW5kZWMgdG8gR3N0ZWxlbWVudAoJICAyMDA4MDcwNDIwMTc0NC0zZTJkYy05OWJmN2I4NmU0MmRhMzYzZDhjODI2NDQ5ZDg0YjQzNzUxNTcyZDVlLmd6CgoyMDA4LTA3LTA0IDIwOjA0OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVsZWFzZSByZWYgYXQgdGhlIGVuZCBvZiBjaGFpbgoJICAyMDA4MDcwNDIwMDQ1NC0zZTJkYy0zODZmMjY4NTg4MmE3NGQwMWNlNTAzZjkxMzk2ZWEzNzUwNmRiZTgzLmd6CgoyMDA4LTA3LTA0IDIwOjAzOjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY2FsbCB0byBwZWVrX3BhcmVudAoJICAyMDA4MDcwNDIwMDMxNS0zZTJkYy02YjMwZWZkMmQzMmI2Y2E5NjYwOWY0YmRjMGMzZTI4NmY0NDQxNzQ2Lmd6CgoyMDA4LTA3LTA0IDIwOjAwOjI5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBHc3RTaXJlbkVuYyB1c2UgR1NUXypfT0JKRUNUIGFwcHJvcHJpYXRlbHkKCSAgMjAwODA3MDQyMDAwMjktM2UyZGMtZjY4ZmRhYWE4OTI5MDM5ZmQ4NDEzZmYwYmY4ZmY1MTRmNmU0ZmJlMS5negoKMjAwOC0wNy0wNCAxOTo1MTowMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IHNpcmVuZW5jIHRvIGdzdGVsZW1lbnQKCSAgMjAwODA3MDQxOTUxMDItM2UyZGMtY2Q3Njg3NTEyYWM1NjBmYWFmMTVmNTNlMWUyNjJkMTg3NGEzNmNkZi5negoKMjAwOC0wNC0yOCAyMjoyMjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDM6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlZCBkZWJ1ZyBvdXRwdXQKCSAgMjAwODA0MTIyMzQzMjUtNGYwZjYtMzZiOTQ2YTdjYTNhYjRlNTgwMjkxN2I4OTMwZjAzNmM1MGE5M2EyOS5negoKMjAwOC0wNC0xMCAyMzo0MzoyOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE91cHMsIHR5cG8KCSAgMjAwODA0MTAyMzQzMjgtNGYwZjYtOTYyZTM3NWU3OGRhMDVlYWI1Mjg5MmE1N2QzMjI2ZmRkMmZmYzg2ZC5negoKMjAwOC0wNC0xMCAwNzowMToxNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuaDoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5jOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbi5oOgoJKiBnc3Qvc2lyZW4vaHVmZm1hbl9jb25zdHMuaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3NpcmVuL3NpcmVuNy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgU2lyZW4gZW5jb2Rlci9kZWNvZGVyL3BheWxvYWRlci9kZXBheWxvYWRlcgoJICAyMDA4MDQxMDA3MDExNi00ZjBmNi03MmZmYmRiYjI2MmYwN2JmYWJkMWU0Njk5NzNhMDFiMzM1OWJlZTQ1Lmd6CgoyMDA5LTAyLTEwIDE4OjQ2OjAzICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIEFkZCBsaXZlYWRkZXIgdG8gdGhlIGRvY3MKCjIwMDktMDItMTAgMTg6Mzg6MTEgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIERvY3VtZW50IHRoZSBsaXZlYWRkZXIKCjIwMDktMDItMTAgMTY6MTg6MzIgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIE1vdmVkIGxpdmVhZGRlciBmcm9tIGdzdC1wbHVnaW5zLWZhcnNpZ2h0IHRvIC1iYWQKCSAgUmUtaW5kZW50IGxpdmVhZGRlciBpbiBnc3Qgc3R5bGUgYW5kIGFkZCBpdCB0byBjb25maWd1cmUKCjIwMDgtMTItMTMgMDA6MDk6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgbG9nIGZvciBtZXNzYWdlIHRoYXRzIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci8uZ2l0LWRhcmNzLWRpcjoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSAuZ2l0LWRhcmNzLWRpciBmaWxlcwoKMjAwOC0wOC0yNyAxNzoxNjoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBsaXZlYWRkZXIgOiBIYW5kbGUgaml0dGVyIGluIGluY29taW5nIGJ1ZmZlcnMKCSAgSW5jb21pbmcgYnVmZmVycyAoZXNwZWNpYWxseSB0aG9zZSBmcm9tIGFuIFJUUCBjb25uZWN0aW9uKSBtaWdodCBoYXZlIHNsaWdodCB0aW1lc3RhbXAgaml0dGVyLiBUaGlzIGlzIG5vcm1hbGx5IGhhbmRsZWQgYnkgYXVkaW9zaW5rIChhY2NlcHRpbmcgdXAgdG8gNTAwbXMgb2Ygaml0dGVyKS4KCSAgSGVyZSB3ZSBhY2NlcHQgYSBtYXhpbXVtIGppdHRlciBvZiAxMG1zLiBJZiBhIGJ1ZmZlciBpcyB3aXRoaW4gMTBtcyBvZiB0aGUgZXhwZWN0ZWQgdGltZSwgd2UgY29ycmVjdCBpdHMgdGltZXN0YW1wLgoKMjAwOC0wNy0wNCAxODo1NzoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGhhbmRsaW5nIG9mIHBvc2l0aW9uIHF1ZXJ5IHRvIGxpdmVhZGRlcgoJICAyMDA4MDcwNDE4NTcyMS0zZTJkYy03YTY4N2UzNDZlNzRiNDRmYTg0N2M1ZTViNmViNjRjM2UwOTQ5NzY0Lmd6CgoyMDA4LTA1LTIxIDE3OjIwOjA1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXBsYWNlIEM5OSBsbGFicyB3aXRoIEM4OSBjb2RlCgkgIDIwMDgwNTIxMTcyMDA1LTNlMmRjLThlNjM3ZDFkYWEwZTI3Y2MyZWRhZTFmZGZkMGRiZjIzODk2ZmI1YmMuZ3oKCjIwMDgtMDUtMTUgMDE6MjI6NTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IHZhcnMgYmVmb3JlIHJlc3RhcnRpbmcgdGhyZWFkIG9uIGZsdXNoIHN0b3AKCSAgMjAwODA1MTUwMTIyNTctM2UyZGMtZTM1MjE3NTJjZjNlYWYyYjg3NjdmNGM2MjBlYWRmYzI0YThlOGUzMS5negoKMjAwOC0wNS0xNSAwMToyMjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wbGVtZW50IGZpcnN0IHZlcnNpb24gb2Ygc2Vla2luZwoJICAyMDA4MDUxNTAxMjIyNy0zZTJkYy03ZjUzZjc4ZDFjM2RmZGNkYjZlN2FkNTNlNmM3ZjE2ZDVlOTk4YTA1Lmd6CgoyMDA4LTA1LTE1IDAxOjIxOjQyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZHVyYXRpb24gcXVlcnkgZnJvbSBhZGRlcgoJICAyMDA4MDUxNTAxMjE0Mi0zZTJkYy0yNzY4MTk5MTgzYmZiOWQ1NjliZTEzODllMzgyYmVkYzAyZTNlOTVlLmd6CgoyMDA4LTA1LTE1IDAwOjAyOjE0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlIGZsdXNoIHN0b3AgaW5zaWRlIHdoZXJlIGl0IGJlbG9uZ3MKCSAgMjAwODA1MTUwMDAyMTQtM2UyZGMtY2RhNWNkZGQxZWFkNWM0OGE1NTRlOWU5YmM3NWFlNjg0MzdiY2RmYi5negoKMjAwOC0wNS0xNCAyMzo0OTo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSGF2ZSB0aGUgbGl2ZWFkZGVyIHJlbWVtYmVyIGlmIGl0cyBwbGF5aW5nIG9yIG5vdAoJICAyMDA4MDUxNDIzNDk0OC0zZTJkYy05MDY0YTI3YTU0YWVmNTk4NDQ0YWE2YWQ2NDYzMzQ1OTc5MTIwODI4Lmd6CgoyMDA4LTA1LTE0IDIzOjQ5OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXNoIG91dCBidWZmZXIgaWYgd2UncmUgbm90IHBsYXlpbmcgd2hpbGUgdGhlcmUgaXMgbm8gY2xvY2sKCSAgMjAwODA1MTQyMzQ5MTAtM2UyZGMtMTA5NmViN2RjM2ZhZGExOWFmYzgxZGNkNTM2ZDllZGM4MjFkMGRhOS5negoKMjAwOC0wNS0xNCAyMzoyNjo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRW1wdHkgdGhlIHF1ZXVlIG9uIGZsdXNoIHN0YXJ0CgkgIDIwMDgwNTE0MjMyNjQzLTNlMmRjLTVhM2Y1MmEzZmQzNzcxMTY0ZGVhOTViZDE0NDEwZDc2YjRmY2UyYWEuZ3oKCjIwMDgtMDUtMTQgMjM6MTc6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IHBhZCBwcml2YXRlIG9uIGZsdXNoIHN0b3AKCSAgMjAwODA1MTQyMzE3NTItM2UyZGMtMTEzZmVjMmZhYWZjMmRjMTFjMWVhYTgxOGNiNDg4YjcxZTYwMWY5Yi5negoKMjAwOC0wNS0xNCAyMzoxNjo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUGFzcyBwYWQgYXMgcGFkIHRvIHJlc2V0X3BhZF9wcml2YXRlCgkgIDIwMDgwNTE0MjMxNjQzLTNlMmRjLTAwNjk2MGI5Y2RjM2NlOGUxZjg5MGRjNmQxOTQ3NzhjYmM3Yzk3MzYuZ3oKCjIwMDgtMDUtMDIgMTk6MTA6MDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByaW50IGRlYnVnIG1lc3NhZ2UgaWYgd2UgcmV0dXJuIG5vbi1vayBmcm9tIGNoYWluCgkgIDIwMDgwNTAyMTkxMDA0LTNlMmRjLWYxZjcyMzdjMDZjMTE1OGNmMjdlMjlkMzJhNjlkZTA2ZjcxMTI1MDYuZ3oKCjIwMDgtMDUtMDIgMTk6MDk6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHJldHVybiBFT1MgaWYgd2UgaGF2ZSBubyBwYWRzCgkgIDIwMDgwNTAyMTkwOTU0LTNlMmRjLTQxMzUxMjI1ZTkwOWU2ZDA4MzdhNmE2MGUxODdkMzNhYjE4NmFkNzYuZ3oKCjIwMDgtMDUtMDEgMjA6MzE6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBpcyBOT1QgdGltZQoJICAyMDA4MDUwMTIwMzE1NC0zZTJkYy03ODBlNDZiMWYwZmU3NmE2NmUyZDc5YTJlYjg1ZDc2NGZmNWYxODJmLmd6CgoyMDA4LTA0LTI4IDIyOjE3OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB1c2UgZ19xdWV1ZV9jbGVhcigpCgkgIDIwMDgwNDI4MjIxNzM3LTNlMmRjLWJiOGU0NzQ4NzUxYzI5ZTA4NTczMTNhMDlmODUwNjdhYjEyYzNmZTQuZ3oKCjIwMDgtMDUtMDEgMjA6MDk6NDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBhZCBwdXNoIGV2ZW50IGFmdGVyIHRoZSBsb2NrIGhhcyBiZWVuIHVubG9ja2VkCgkgIDIwMDgwNTAxMjAwOTQwLTNlMmRjLWFlNWZlYzVmNzlmMzI3NzdiYmE2NDlkMGQ3MDBkNDlmN2JlZGZmNDAuZ3oKCjIwMDgtMDUtMDEgMTg6MjU6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENyZWF0ZSBnZW5lcmljIHNlZ21lbnQgaXMgbm9uZSByZWNlaXZlZCBhbmQgcmVmdXNlIG5vbi10aW1lIHNlZ21lbnRzCgkgIDIwMDgwNTAxMTgyNTU0LTNlMmRjLWFjZTVjYTAwMDQxNDQyOGQ2ZDk0NDc4YWRjNTkyN2M5ZjkxOTc1ZGYuZ3oKCjIwMDgtMDQtMjkgMTQ6MDg6MDIgKzAwMDAgIFNpbW9uIE1jVml0dGllIDxzaW1vbi5tY3ZpdHRpZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIG1pc3Npbmcgc2VtaWNvbG9uIChkaWQgYW55b25lIHRlc3QgdGhpcz8hKQoJICAyMDA4MDQyOTE0MDgwMi01M2VlZS00MWZkYjQzOTFlZGRiMTI1YjdlMzQwMTk0MjdjZmE1ZGM4YWZkNmMwLmd6CgoyMDA4LTA0LTI5IDAwOjM2OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJvYnVzdG5lc3MgY2hlY2ssIG1ha2Ugc3VyZSB0aGUgcXVldWUgaXMgbm90IGVtcHR5IGJlZm9yZSB1c2luZyB0aGUgaGVhZCBlbGVtZW50CgkgIDIwMDgwNDI5MDAzNjAwLTRmMGY2LTcwOGM2NTRiNjU4MTJjYWViMzYxMjI0OGRiZTBiMmU2MjU2N2MyNTAuZ3oKCjIwMDgtMDQtMjkgMDA6MzQ6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY29uZGl0aW9uCgkgIDIwMDgwNDI5MDAzNDEyLTRmMGY2LTllODkwYWQwYWM0NDI3OTFhOGIyMjY1MGE3NWNiNzU0ZDdmMmQ3MjMuZ3oKCjIwMDgtMDQtMjkgMDA6MDM6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gY2hlY2sgYWdhaW5zdCBhdWRpb19idWZmZXJfY2xpcCB3aGljaCBjYW4gcmV0dXJuIE5VTEwgaWYgdGhlIGJ1ZmZlciBpcyBvdXRzaWRlIHRoZSBjbGlwcGluZyBzZWdtZW50CgkgIDIwMDgwNDI5MDAwMzM5LTRmMGY2LTdlNGUzMWYwNjZiODdlMjkyNjVkZGIzOTc4OTI5ZTUxZWZiZmY0N2QuZ3oKCjIwMDgtMDQtMjggMjM6NDk6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG9iamVjdCBsb2NraW5nIGluIHNldGNhcHMKCSAgMjAwODA0MjgyMzQ5NDgtNGYwZjYtNDU4NjQzNGI0MzA4ZTExNGY0OTVlOTI2OTk2ZmMxOTQ4M2MxMDU2Zi5negoKMjAwOC0wNC0yOCAyMzo0OTozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ19jb25kX2Jyb2FkY2FzdCBpbnN0ZWFkIG9mIGdfY29uZF9zaWduYWwKCSAgMjAwODA0MjgyMzQ5MzUtNGYwZjYtZTUxZmFiMzE3NzJiMzJmMmZiMDgwYWQ3MGM2YmVkZWZjNWMyNmRjNi5negoKMjAwOC0wNC0yOCAyMzoyODo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYXggbGF0ZW5jeSBzaG91bGQgYWxzbyBiZSBpbmNyZWFzZWQgYnkgb3VyIG93biBsYXRlbmN5CgkgIDIwMDgwNDI4MjMyODUxLTRmMGY2LTA1ZjlhODk0MDNjZDU0MjExZjJmNGE2NTk1NzA0MjcwZWFiOTYxNmYuZ3oKCjIwMDgtMDQtMjggMjI6MzY6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBkZWFkbG9jayBvbiBpbnZhbGlkIHRpbWVzdGFtcCBlcnJvcgoJICAyMDA4MDQyODIyMzYwNi0zZTJkYy05NjNlNDhiMzNlZmFmODRjMTZkNGVjNGI3ODlhNmRmYjJkOTM1OGFkLmd6CgoyMDA4LTA0LTI4IDE2OjE5OjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIGNvbW1lbnQgZm9yIGNsYXJpdHkKCSAgMjAwODA0MjgxNjE5NTgtNGYwZjYtY2JhYTE2NmZiZGU5OTAxM2I1NTVjNjlhYjQ4ZDk2NGQ3NTc3M2E3Zi5negoKMjAwOC0wNC0yOCAxNjoxMjozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBUT0RPIGNvbW1lbnRzCgkgIDIwMDgwNDI4MTYxMjM1LTRmMGY2LWZiYzc4NTMzZDI5ZDM3YjY1YWRkNmY2MDQ2ZmVjMTdjZTVlMzBjYWUuZ3oKCjIwMDgtMDQtMjggMTU6NTk6MjcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gY2hlY2tfZW9zIHdpbGwgYWx3YXlzIHJldHVybiBGQUxTRSBoZXJlLi4KCSAgMjAwODA0MjgxNTU5MjctNGYwZjYtMWE5M2UyOTVkM2RmNjhhOTYzNjdiNzUwNjBhODlhOTQ3ZWZhODk0NC5negoKMjAwOC0wNC0yOCAxNTo0OTo1NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBhZGRlZCBjb21tZW50IG9uIHRoZSBubyBjbG9jayBlcnJvcgoJICAyMDA4MDQyODE1NDk1Ni00ZjBmNi03ZTI0ZWQzMWY5YzgyMmU0MzIzYjY4MWE1NGJjMjNmMDNjMWEzMjVlLmd6CgoyMDA4LTA0LTI4IDE1OjQ4OjUwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVycm9yIGlmIG5vIGNsb2NrIGlzIGF2YWlsYWJsZQoJICAyMDA4MDQyODE1NDg1MC00ZjBmNi0zOGZkYzQxMzQ4MzVjNDU3ZDAwNTQzMDE1NzlkOGNkNGNiZDQ5ODlhLmd6CgoyMDA4LTA0LTI1IDIxOjA0OjU2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbmFtaW5nIHVudXNlZCBhcmcKCSAgMjAwODA0MjUyMTA0NTYtNGYwZjYtYWIxY2RjOTQ0YzliY2Q3Nzk1MDQyOTJiMjFkYzE3ODdkNmNiNjJhMS5negoKMjAwOC0wNC0yNSAyMDozOTozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmVkIHVudXNlZCB1c2VyX2RhdGEgYW5kIGNvbW1lbnRlZCBsaW5lCgkgIDIwMDgwNDI1MjAzOTM4LTRmMGY2LTc4Nzc3ODQ3NWI2NDY0NjFkYTQwZjNlMDAwMGExMGJjOTZlMTQyYmMuZ3oKCjIwMDgtMDQtMjUgMjA6Mzc6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlIHVudXNlZCBjYXNlcyBhbmQgZW1wdHkgc3dpdGNoCgkgIDIwMDgwNDI1MjAzNzM1LTRmMGY2LWMwNDQyZmNmNTdlM2YwOGI4MWJjMWJlM2Q2OWY1Y2ZhMDI1N2I1MmEuZ3oKCjIwMDgtMDQtMjggMTg6MzQ6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEV4cGxpY2l0IHRoZSBkaXNjb250IGZsYWcgbWFuZ2xpbmcKCSAgMjAwODA0MjgxODM0MDktM2UyZGMtNGRiMjUwNWVlY2EwMzNhNjM0MjUzYjZjMmQyZjRmMTM5OGU5ZmNjYS5negoKMjAwOC0wNC0yOCAxODowNzoxMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5yZWYgZXZlbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZAoJICAyMDA4MDQyODE4MDcxMS0zZTJkYy1lYjY1OTc4N2YxNzk1NjJmMTU0MDJjODE5ZjE4OGRlMzk4ZGVlZjJkLmd6CgoyMDA4LTA0LTI0IDIyOjQ2OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgR2xpYiBHX3tNQVgsTUlOfXtVLH1JTlR7OCwxNiwzMn0gbWFjcm9zCgkgIDIwMDgwNDI0MjI0NjI3LTNlMmRjLTEwMzZiYzU4YjZiNGRiMmY5ZjEyODMxY2RiYWUzYmM2MTNmYWNiYmYuZ3oKCjIwMDgtMDQtMjEgMDM6MjY6MTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVubG9jayBsaXZlYWRkZXIgZW1wdHkgYnVmZmVyIGdjb25kIG9uIGZsdXNoCgkgIDIwMDgwNDIxMDMyNjE0LTNlMmRjLTRlZDI5ZTE1ODNmZjY4NDMzOGJhNWQ3NjExZjYwYjFhN2VhZmY1NjMuZ3oKCjIwMDgtMDQtMTggMTk6Mjk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVucmVmIGV2ZW50IGluc3RlYWQgb2YgbGVha2luZyBpdAoJICAyMDA4MDQxODE5Mjk0MS0zZTJkYy0zNTJlMjVmNmFiMjkxNjEyYmUxZGMxMzk3OTAzMDNhMTMzM2Y2NWQ3Lmd6CgoyMDA4LTA0LTAzIDE3OjA5OjU2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBub24tcGVyZmVjdCBzdHJlYW0gaXNudCBhbiBlcnJvciwgbGV0cyBqdXN0IGxvZyBpdAoJICAyMDA4MDQwMzE3MDk1Ni0zZTJkYy02NjNmNmFmOGNlMDY3ZjQ0Y2EyNTFhODlhZWJmMjYyZDRiOGEyODY5Lmd6CgoyMDA4LTA0LTAzIDE2OjU0OjMxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBXZSByZXRpbWVzdGFtcCB0byB0aGUgcnVubmluZyB0aW1lLCBzdGFydGluZyB0aGUgc2VnbWVudHMgZnJvbSAwIHNob3VsZCB0aGVyZWZvcmUgd29yawoJICAyMDA4MDQwMzE2NTQzMS0zZTJkYy1kOTgxYWMyZjllYTdmZDNjOGQyYmU0ZDIyZjE4MTdjZjc4YzYxNGU0Lmd6CgoyMDA4LTA0LTAzIDE2OjU0OjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEbyB0aGUgbWluL21heCBvZiB0aGUgbGF0ZW5jaWVzIGNvcnJlY3RseQoJICAyMDA4MDQwMzE2NTQxNS0zZTJkYy1jMTEyNGJkODRlNjdjZjhhOTExYTE0YmIxMjNiODczMWRhOWY0ZmM0Lmd6CgoyMDA4LTA0LTAzIDAyOjE0OjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggaW5kZW50YXRpb24KCSAgMjAwODA0MDMwMjE0MjUtM2UyZGMtZWZkNzNhNmVlZDA2NzZlMTU4YWY3MDQ4NGQ0ZTVjNDJlYTc1ZGU3NC5negoKMjAwOC0wNC0wMyAwMjowMzoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gaW4gY2FzZSB3ZSdyZSBhbHJlYWR5IHBsYXlpbmcKCSAgMjAwODA0MDMwMjAzMTgtM2UyZGMtYWZkNThmOTkyYzBiMzA1NzIyMWI5MTAzNGIyZmNkOTFmMjk2ZTUyZC5negoKMjAwOC0wNC0wMyAwMjowMjo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRm9yIGxhdGVuY2llcywgdXNlIHRoZSBtaW4gb2YgdGhlIG1heCBhbmQgdGhlIG1heCBvZiB0aGUgbWluIChhbmQgdGhlIG1pbiB3aW5zIGlmIHRoZXkgY3Jvc3MpCgkgIDIwMDgwNDAzMDIwMjUzLTNlMmRjLWRkYTdlNDcxMDczZWU3NWE2ZjYwZTg0NWMzYzU0NmFmOWJlMTk2NzUuZ3oKCjIwMDgtMDQtMDMgMDA6NTc6MjggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBuZXh0X3RzIGludG8gZXhwZWN0ZWRfdHMsIG1ha2Ugc3VyZSBhbGwgYnVmZmVycyBoYXZlIGEgZHVyYXRpb24KCSAgMjAwODA0MDMwMDU3MjgtM2UyZGMtODI0NWNlMWJmZWViZWJmYjhmNzUwNzMyNTNiM2MwZTNjNGI1ZjU5Ni5negoKMjAwOC0wNC0wMyAwMDo0MDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdHJ5IHRvIHNldCB0aGUgZGlzY29udCBmbGFnIGlmIHRoZSBkdXJhdGlvbiBvZiB0aGUgcHJldmlvdXMgaW5jb21pbmcgYnVmZmVyIHdhcyBub3QgdmFsaWQKCSAgMjAwODA0MDMwMDQwMTItM2UyZGMtNmY5NTUyMGM5MjhjMzQ3NTA4YmRmNjE4OGM4NzNlZDcyNGFkMmRkNy5negoKMjAwOC0wNC0wMiAyMjo0NjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgYnVmZmVycyBvZmZzZXRzIHRvIG5vbmUKCSAgMjAwODA0MDIyMjQ2MjctM2UyZGMtZDNlZThjN2QwYzE0MTMxMDE3ODQyZDgxNTlmN2Y2ODRkMGNjZWY2ZC5negoKMjAwOC0wNC0wMiAyMjo0NjoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW1wb3J0IGFkZGVyIHNyYyBldmVudCBoYW5kbGluZwoJICAyMDA4MDQwMjIyNDYxMi0zZTJkYy0yMWE2ODJiMThmZTE4NzgyYmY3ZmE0ODk4M2MxM2MxYWQ4NmRjNWExLmd6CgoyMDA4LTAzLTMxIDE4OjQ0OjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXNoIG91dCBhIHNpbXBsZSBuZXdzZWdtZW50IGV2ZW50CgkgIDIwMDgwMzMxMTg0NDIxLTNlMmRjLTY5NTQ0YjViMDNhZTNiYjhjMWUzZjk2Nzk3NGZkMjUwZDA0MDU2YjUuZ3oKCjIwMDgtMDMtMzEgMTg6NDQ6MDQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHJldHVybiBFT1MgaWYgdGhlcmUgaXMgbm8gc2luayBwYWQKCSAgMjAwODAzMzExODQ0MDQtM2UyZGMtNDgyYTEzNGI0N2VhZGNkOWYxZjlkMTQ0YzAyYWIxMTQ1MDI4ZmEwNy5negoKMjAwOC0wMy0zMSAxNzoxMToxNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVkdWNlIGxvY2tpbmcgYSBiaXQgYW5kIGNsZWFudXAgY29kZSBhIGJpdAoJICAyMDA4MDMzMTE3MTExNi0zZTJkYy01ZGRmYjBlNDU5MDA0NzgwZDNmN2E2NjBjNjRmNTgyNDM5MzZhODQ0Lmd6CgoyMDA4LTAzLTI5IDAwOjQ1OjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgbGl2ZWFkZGVyIGVsZW1lbnQKCSAgMjAwODAzMjkwMDQ1MTgtM2UyZGMtNDBlNDc0NmZlODJiYmM1YTg3MWYwM2ZlNmZmNjA0OGY0MzZjOWY4NS5negoKMjAwOS0wMi0xNiAxNjowODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogRml4IGFjY2lkZW50YWxseSBpbnRyb2R1Y2VkIHN0YWNrIG92ZXJ3cml0aW5nIGludHJvZHVjZWQgaW4gbGFzdCBjb21taXQKCjIwMDktMDItMTYgMTY6MDY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IFNhdmUgb25lIG1lbW9yeSBhbGxvY2F0aW9uIHBlciBzdGVyZW8gYnVmZmVyCgoyMDA5LTAyLTEzIDEyOjE4OjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRG8gbm90IHVzZSB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYy4KCjIwMDktMDItMTIgMTc6MzE6NTAgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IFJldHVybiBBU1lOQyBhcHByb3ByaWF0ZWx5IGZyb20gY2hhbmdlX3N0YXRlLgoJICBNYWtlIHN1cmUgd2UgZG9uJ3QgZG8gdGhlIHdyb25nIHRoaW5nIHdoZW4gb3VyIGJhc2UgY2xhc3MgaXMgcmV0dXJuaW5nCgkgIEFTWU5DIGluIHN0YXRlIGNoYW5nZXMuCgoyMDA5LTAyLTEyIDE1OjAxOjQ4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogZml4IGNvbXBpbGF0aW9uLgoJICBBY2NpZGVudGx5IG1lcmdlZCBwYXJ0IG9mIG9uZSBjaGFuZ2U7IHJlbW92ZSBpdC4KCjIwMDktMDItMTIgMjI6NDA6NDggKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIE1ha2UgdGhlIGRlbXV4ZXIgcmV1c2FibGUgaW4gUkVBRFktPlBMQVlJTkctPlJFQURZLT5QTEFZSU5HIGN5Y2xlcyBieSBmbHVzaGluZyBhZGFwdGVycyBjb3JyZWN0bHkuCgoyMDA5LTAyLTEyIDEwOjUzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFsc28gaW5jbHVkZSB0aGUgcGljdHVyZS9zb3VuZC9kYXRhIGVzc2VuY2UgY29kaW5nIGluIHRoZSB1bmtub3duIGNhcHMKCjIwMDktMDItMTIgMDk6NDY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8sIHdlIHNob3VsZCBzdXBwb3J0IHRoZSBkcm9wLWZyYW1lIHByb3BlcnR5IG9mIHRpbWVjb2RlIHRyYWNrcwoKMjAwOS0wMi0xMiAwODo0NjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGaXggcmVzb2x2YWwgb2YgaWRlbnRpZmljYXRpb25zIGZyb20gdGhlIHByZWZhY2UKCjIwMDktMDItMTEgMTg6NDA6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBQYXJzZSBNWEZUaW1lc3RhbXAncyBtaWxsaXNlY29uZHMgYW5kIGFkZCBfdG9fc3RyaW5nKCkgZnVuY3Rpb24KCjIwMDktMDItMTAgMTQ6MjM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8KCjIwMDktMDItMTIgMTA6NDY6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogYWxzbyBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcgZXJyb3IKCjIwMDktMDItMTEgMTc6MjM6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y3NjaGFsbGVAY3Jhenlob3JzZS5sb2NhbGRvbWFpbj4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLCBhbHNvIGFkZCBzb21lIG1pc3NpbmcgZGlzdGluZyBkaXJlY3RvcmllcyB0byBhIGNvdXBsZSBvZiBNYWtlZmlsZXMuYW0gZmlsZXMKCjIwMDktMDItMTEgMTc6MjE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogRml4IGNvbXBpbGF0aW9uLCBhY3RpdmF0ZV9zaW5rcGFkKCkgaGFzIG5vIG5vdGlmeSBwYXJhbWV0ZXIKCjIwMDktMDItMTAgMTY6MjI6NTQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXQtc2VsZWN0b3I6IEFjdGl2YXRlIGFuZCBub3RpZnkgcGFkIGJlZm9yZSBwcm9jZXNzaW5nIGV2ZW50cy4KCSAgRXZlbnRzIHNob3VsZCB0cmlnZ2VyIHBhZCBzZWxlY3Rpb24gaWYgd2UgZG9uJ3QgYWxyZWFkeSBoYXZlIGFuCgkgIGV4cGxpY2l0bHkgc2VsZWN0ZWQgcGFkLCBzbyB0aGF0IGV2ZW50cyBwcmlvciB0byBmaXJzdCBidWZmZXIgZG9uJ3QgZ2V0CgkgIGxvc3QuCgoyMDA5LTAyLTExIDAxOjU0OjAzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTYW5pdGl6ZSBjb25zdGFudHMgdXNlZCBmb3IgZWxlbWVudCBmYWN0b3J5IG5hbWVzLgoKMjAwOS0wMi0xMSAwMToyNDo1MSArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIHY0bDJzcmMgYXMgZGVmYXVsdCBzb3VyY2UuCgoyMDA5LTAyLTExIDAxOjA3OjA0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvLmdpdGlnbm9yZToKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiAuZ2l0aWdub3JlIGdlbmVyYXRlZCBmaWxlcy4KCjIwMDktMDItMTEgMDE6MDI6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiBNb3ZlIGdlbmVyYXRlZCBmaWxlcyB0byB3aW4zMi9jb21tb24uCgoyMDA5LTAyLTExIDAwOjI4OjUzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBjYW1lcmFiaW46IEFkZCAuZ2l0aWdub3JlIHRvIGhpZGUgZ2VuZXJhdGVkIHNpZ25hbCBtYXJzaGFsbGVyIGZpbGVzLgoKMjAwOS0wMi0xMSAwMDoxOToyMiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IHBsdWdpbiBkZXRhaWxzIHRvIHVzZSBHU1RfUEFDS0FHRV8qIHZhbHVlcy4KCjIwMDktMDItMTEgMDA6MTU6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBsaWNlbnNlIHNwZWNpZmllZCBpbiBwbHVnaW4gZGV0YWlscy4KCjIwMDktMDItMTAgMTI6Mjg6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBQYXNzIHBpeGVsIGFzcGVjdCB0aHJvdWdoIGZyb20gZGVtdXhlcnMsIGlmIHN1cHBsaWVkLgoJICBJZiB0aGUgaW5jb21pbmcgY2FwcyBoYXZlIGEgcGl4ZWwtYXNwZWN0LXJhdGlvLCBlbnN1cmUgaXQncyBzZXQgb24gdGhlCgkgIG91dHB1dC4gQ29ycmVjdHMgUEFSIGZvciBtYW55IChidXQgcHJvYmFibHkgbm90IGFsbCkgZmlsZXMuCgoyMDA5LTAyLTEwIDEyOjI2OjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogTWFrZSBhdWRpbyBkZWNvZGVycyBoYXZlIFNFQ09OREFSWSByYW5rLgoJICBUaGVzZSB3cmFwcGVycyBhcmUgbm90IGlkZWFsLCBhbmQgZm9yIG1hbnkgb2YgdGhlc2UgZm9ybWF0cyB0aGVyZSBhcmUKCSAgYmV0dGVyIGdzdHJlYW1lciBlbGVtZW50cyBhdmFpbGFibGUuIFNvLCBtYWtlIHRoZSByYW5rIFNFQ09OREFSWS4gSW4KCSAgcGFydGljdWxhciwgdGhlIG1wMyBkZWNvZGVyIG9uIHdpblhQIGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwuCgoyMDA5LTAyLTEwIDEyOjEyOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgZHNob3dkZWN3cmFwcGVyOiBEZWxldGUgb2xkIC5jIGZpbGVzIHRoYXQgYXJlIHVudXNlZAoJICBUaGVzZSBvbGQgZmlsZXMgYXJlIHN0YWxlOyB0aGUgcGx1Z2luIHdhcyByZXdyaXR0ZW4gaW4gYysrIGFnZXMKCSAgYWdvLiBOb3Qgc3VyZSB3aHkgdGhlc2UgYXJlIGhhbmdpbmcgYXJvdW5kLgoKMjAwOS0wMi0xMCAxMDoxNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogUGFzcyBhdCBtb3N0IDIwNDggc2FtcGxlcyB0byBTb3VuZFRvdWNoJ3MgQlBNRGV0ZWN0CgkgIEludGVybmFsbHkgQlBNRGV0ZWN0IGFzc3VtZXMgdGhhdCBhdCBtb3N0IDIwNDggc2FtcGxlcyBhcmUgcGFzc2VkCgkgIHRvIGl0IGF0IG9uY2UgYW5kIHN0b3JlcyB0aG9zZSBpbiBhIHN0YWNrIGFsbG9jYXRlZCBzdGF0aWMgc2l6ZWQKCSAgYXJyYXkuIElmIHdlIHBhc3MgdG9vIG1hbnkgc2FtcGxlcyB0aGlzIHdpbGwgcmVzdWx0IGluIGEgYnVmZmVyIG92ZXJmbG93CgkgIHJlc3VsdGluZyBpbiBoZWF2eSBzdGFjayBjb3JydXB0aW9uIGFuZCBhIGNyYXNoLiBGaXhlcyBidWcgIzU3MDk5Ni4KCjIwMDktMDItMDkgMTc6NTg6NDIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtbXAzZGVjOiBmaXggbWFqb3IgbWVtb3J5IGxlYWtzIGFuZCBjbGVhbiB1cCBjb2RlLgoJICBVbnJlZiBpbmNvbWluZyBidWZmZXJzIHdoZW4gd2UncmUgZG9uZS4KCSAgUmVpbmRlbnQsIGNsZWFuIHVwIHdoaXRlIHNwYWNlLiBGaXggY29tbWVudHMuCgoyMDA5LTAyLTA5IDE4OjE0OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFmdGVyIHB1bGxpbmcgdGhlIGZvb3RlciBtZXRhZGF0YSByZXNldCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9ucyB0byAwCgoyMDA5LTAyLTA5IDE3OjU1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFdoZW4gdHJ5aW5nIHRvIGZpbmQgYW4gZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB0cnkgdG8gZmluZCBwb3NpdGlvbisxIHRvbwoJICBCeSBzZWFyY2hpbmcgZm9yIHRoZSBmb2xsb3dpbmcgcG9zaXRpb24gd2Ugd2lsbCBhZGQgdGhlIGNvbXBsZXRlCgkgIGdlbmVyaWMgY29udGFpbmVyIChpLmUuIGFsbCB0cmFja3MpIGF0IHRoZSBzYW1lIHBvc2l0aW9uIHRvIHRoZQoJICBpbmRleCB3aGljaCBzaG91bGQgbWFrZSBmaW5kaW5nIHBvc2l0aW9ucyBmb3IgbW9yZSB0aGFuIG9uZSB0cmFjawoJICBhIGJpdCBmYXN0ZXIuCgoyMDA5LTAyLTA5IDE3OjQ4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZvciBuZXcgZXNzZW5jZSB0cmFja3Mgb25seSBzZXQgdGhlIHBvc2l0aW9uIHRvIDAgaWYgaXQgc3RhcnRzIGluIHRoZSBjdXJyZW50IHBhcnRpdGlvbgoKMjAwOS0wMi0wOSAxNzo0NDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDaGVjayBpZiB0aGUgbGVuZ3RoIG9mIHRoZSBzcmMvZXNzZW5jZSB0cmFjayBhcnJheXMgYXJlIDAsIG5vdCB0aGUgYXJyYXkgaXRzZWxmCgoyMDA5LTAyLTA5IDE3OjI1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE1ha2Ugc3VyZSB0aGF0IHRoZSBzcmNwYWQgYW5kIGVzc2VuY2UgdHJhY2sgYXJyYXlzIGFsd2F5cyBleGlzdAoKMjAwOS0wMi0wOSAxNjoxMjo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDaGFuZ2Ugc29tZSBHU1RfRVJST1JzIHRvIHNvbWV0aGluZyBsZXNzIGNyaXRpY2FsCgoyMDA5LTAyLTA5IDE2OjA5OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgZ28gaW50byBFT1MgYW5kIHNlbmQgc2VnbWVudC1kb25lIGFmdGVyIGFsbCB0cmFja3MgYXJlIGZpbmlzaGVkCgoyMDA5LTAyLTA5IDE2OjA5OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8KCjIwMDktMDItMDkgMTU6NDg6MjAgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCBmb3IgY2FtZXJhYmluLgoKMjAwOS0wMi0wOSAxMjowMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQnVtcCByZXZpc2lvbiB0byB1c2UgZm9yIGNvbW1vbiBzdWJtb2R1bGUuCgoyMDA5LTAxLTMwIDE2OjA5OjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIE1vcmUgZmlsZXMgdG8gaWdub3JlCgoyMDA5LTAyLTA1IDIzOjA2OjIzICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBBZGQgY2FtZXJhYmluIHVuaXQgdGVzdHMuCgoyMDA5LTAyLTA1IDE1OjQ4OjMyICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuaDoKCSAgQWRkIGNhbWVyYWJpbiBlbGVtZW50LgoKMjAwOS0wMi0wNiAxMjowNjoyMyArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIEFkZCBwaG90b2dyYXBoeSBpbnRlcmZhY2UuCgoyMDA5LTAyLTA5IDA3OjMzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBzZWVraW5nIHRvIHRoZSBlbmQgb2YgZmlsZQoJICBXaGVuIHNlZWtpbmcgdG8gYSBwb3NpdGlvbiB3aGVyZSBubyBuZXcgb2Zmc2V0IGNhbiBiZQoJICBmb3VuZCBvciBhZnRlciB0aGUgZW5kIG9mIGEgdHJhY2sgZG9uJ3Qgc2V0IHRoZSBFT1MgZmxhZwoJICB0byBUUlVFIGFzIHdlIGRvbid0IChhbmQgY2FuJ3QpIHB1c2ggRU9TIGRvd25zdHJlYW0gdGhlbi4KCSAgSW5zdGVhZCBzZXQgdGhlIGN1cnJlbnQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB0byB0aGVuCgkgIGVuZCBvZiB0aGUgZXNzZW5jZSB0cmFjayBhbmQgbGV0IHRoZSBsb29wIG9yIGNoYWluIGZ1bmN0aW9uCgkgIHNldCBldmVyeXRoaW5nIHRvIEVPUyBhbmQgcHVzaCBFT1MgZG93bnN0cmVhbS4KCSAgQWxzbyByZXN0YXJ0IHRoZSBwYWQncyB0YXNrIGlmIHJlc29sdmluZyBtZXRhZGF0YSBmYWlsZWQKCSAgKHBsYXliYWNrIHdpbGwgY29udGludWUgYXMgYmVmb3JlKSBhbmQgcmV0dXJuIEZBTFNFIGZyb20KCSAgdGhlIHNlZWsgaWYgbm8gbmV3IG9mZnNldCBjb3VsZCBiZSBmb3VuZC4KCjIwMDktMDItMDggMjE6NTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGxhc3Rfc3RvcCBjYWxjdWxhdGlvbiB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDggMjE6MzE6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogUmVzb2x2ZSBzb3VyY2UgcGFja2FnZSBiZWZvcmUgYWNjZXNzaW5nIGl0J3MgbWVtYmVycwoKMjAwOS0wMi0wOCAyMToyMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IENvcnJlY3RseSBpbXBsZW1lbnQgdGltZXN0YW1waW5nIGluIGFsbCBjYXNlcwoJICBXaGVuIHRoZSBtYXRlcmlhbCBwYWNrYWdlIHRyYWNrIGFuZCBzb3VyY2UgcGFja2FnZSB0cmFjawoJICBlZGl0IHJhdGUgYXJlIGRpZmZlcmVudCB0aGUgc291cmNlIHBhY2thZ2UgdHJhY2sgZWRpdAoJICByYXRlIGFwcGxpZXMgdG8gdGhlIHN0b3JlZCBlc3NlbmNlIGFuZCB0aGUgbWF0ZXJpYWwgdHJhY2sKCSAgZWRpdCByYXRlIG9ubHkgYXBwbGllcyB0byB0aGUgdmFsdWVzIGluIHRoZSB0cmFjaydzIHNlcXVlbmNlCgkgIGFuZCBjb21wb25lbnRzLgoKMjAwOS0wMi0wOCAyMToyMjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb3JyZWN0bHkgaGFuZGxlIERVUkFUSU9OIHF1ZXJpZXMgd2l0aCBhIG5lZ2F0aXZlIGR1cmF0aW9uCgoyMDA5LTAyLTA4IDIxOjE3OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFdoZW4gY2hhbmdpbmcgdG8gdGhlIGNvbXBvbmVudCBhZnRlciB0aGUgbGFzdCBjb21wb25lbnQgdXBkYXRlIHRoZSBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uCgoyMDA5LTAyLTA4IDIxOjEyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFNtYWxsIGNsZWFudXAgYW5kIGFuIGFkZGl0aW9uYWwgY2hlY2sKCSAgVXBkYXRlIFRPRE8gbGlzdCwgcmVkdWNlIHNpemUgb2YgYSBzdGFjayBhbGxvY2F0ZWQgc3RyaW5nCgkgIGFuZCBkb24ndCBhbGxvdyBlc3NlbmNlIHRyYWNrcyB3aXRoIGFuIGludmFsaWQgZWRpdCByYXRlCgoyMDA5LTAyLTA4IDA3OjMwOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZvciBtYXRlcmlhbCBwYWNrYWdlcyBtYWtlIHN1cmUgdGhhdCB0cmFja3MgcmVzb2x2ZSB0byBzb3VyY2UgdHJhY2tzCgoyMDA5LTAyLTA3IDEwOjM4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzIGNvbnRhaW5pbmcgRE54SEQgZXNzZW5jZQoJICBBdmlkIHVzZXMgYSBjdXN0b20gZXNzZW5jZSBjb250YWluZXIgVUwgYW5kIGN1c3RvbSBlc3NlbmNlIGVsZW1lbnQga2V5cwoJICB0aGF0IGFyZSBmb3J0dW5hdGVseSBjb21wYXRpYmxlIHdpdGggdGhlIGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UKCSAgZWxlbWVudHMuIFBhcnRpYWxseSBmaXhlcyBidWcgIzU2MTkyMi4KCjIwMDktMDItMDcgMTA6MTM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBNYWtlIGVzc2VuY2UgdHJhY2sgY3JlYXRpb24gYSBiaXQgbW9yZSByb2J1c3QgYWdhaW5zdCBicm9rZW4gZmlsZXMKCSAgU29tZSBmaWxlcyBjb250YWluIG11bHRpcGxlIHRyYWNrcyB3aXRoIHRoZSBzYW1lIHRyYWNrIG51bWJlciBidXQgZGlmZmVyZW50CgkgIHRyYWNrIGlkIGluc2lkZSB0aGUgc2FtZSBzb3VyY2UgcGFja2FnZS4gVGhpcyBpcyBpbnZhbGlkIGFuZCB3ZSBzaW1wbHkgaWdub3JlCgkgIHRoZSBzZWNvbmQgYW5kIGZvbGxvd2luZyBvZiBzdWNoIHRyYWFja3Mgbm93IGluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgdGhlCgkgIGluZm9ybWF0aW9uIG9mIHRoZSBmaXJzdCBvbmUuCgoyMDA5LTAyLTA3IDEwOjAzOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IERvbid0IGluY2x1ZGUgbXVsdGlwbGUgZGVzY3JpcHRvcnMgaW4gdGhlIHRyYWNrJ3MgZGVzY3JpcHRvcnMKCjIwMDktMDItMDcgMDk6Mjc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzIGNvbnRhaW5pbmcgRFYgZXNzZW5jZQoJICBBdmlkIHVzdWFsbHkgdXNlcyBhIGN1c3RvbSBlc3NlbmNlIGNvbnRhaW5lciBsYWJlbCBmb3IgdGhlIGVzc2VuY2UKCSAgZGVzY3JpcHRvcnMgYW5kIHN0b3JlcyB0aGUgYWN0dWFsIGNvZGVjIHRoYXQgaXMgdXNlZCBpbnNpZGUgdGhlCgkgIHBpY3R1cmUgZXNzZW5jZSBjb2RpbmcgZmllbGQgKGFuZCBmb3Igc291bmQgcHJvYmFibHkgaW4gdGhlIHNvdW5kCgkgIGVzc2VuY2UgY29kaW5nIGZpZWxkIGJ1dCBJIGhhdmUgbm8gc2FtcGxlIGZpbGVzIHdpdGggc291bmQpLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NjE5MjIuCgoyMDA5LTAyLTA2IDExOjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEFkZCBkYXRhIGRlZmluaXRpb24gZm9yIEF2aWQgdmVuZG9yIHNwZWNpZmljIHBpY3R1cmUgZXNzZW5jZQoKMjAwOS0wMi0wNiAxMTo1NTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGb3IgdHJhY2tzIHdpdGggbm8ga25vd24gbWFwcGluZyB1c2UgZHVtbXkgY2FwcwoKMjAwOS0wMi0wNiAxMToyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCByZW1vdmUgaW52YWxpZCBuZXcgZXNzZW5jZSB0cmFjayB0d2ljZSBmcm9tIHRoZSBHUHRyQXJyYXkKCjIwMDktMDItMDYgMTE6MDk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBNUEVHNCB2aWRlbyBzdHJlYW1zCgoyMDA5LTAyLTA2IDEwOjQ2OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEhhbmRsZSBzb21lIG1vcmUgc3BlY2lhbCBjYXNlcyB3aGVuIHNldHRpbmcgdGhlIHBvc2l0aW9uIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wNiAxMDo0NjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZGp1c3QgbGFzdF9zdG9wIHRvIHRoZSBsYXN0IGtleWZyYW1lIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wNiAxMDowNjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggbG9naWMgZm9yIGZpbmRpbmcgdGhlIHByZXZpb3VzIGtleWZyYW1lCgoyMDA5LTAyLTA2IDA5OjUzOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgbXhmZGVtdXg6IEFkZCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIE1QRUcyIHZpZGVvIHN0cmVhbXMKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIHNlZWtpbmcgYXMgd2UgdXN1YWxseSB3YW50IHRvIHNlZWsgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBUaGUga2V5ZnJhbWUgZGV0ZWN0aW9uIGlzIGRvbmUgYnkgcGFyc2luZyB0aGUgTVBFRzIKCSAgZWxlbWVudGFyeSBzdHJlYW0gYW5kIGlmIGEgR09QIG9yIEktZnJhbWUgcGFja2V0IGlzIGZvdW5kIHdlCgkgIGFzc3VtZSBhIGtleWZyYW1lIGluIHRoaXMgZWRpdCB1bml0LgoKMjAwOS0wMi0wNSAyMToyOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFByb3RlY3QgdGhlIG1ldGFkYXRhIHdpdGggYSBsb2NrIGFnYWluc3QgY29uY3VycmVudCBhY2Nlc3MKCjIwMDktMDItMDUgMTc6NDI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgUmFuZG9tIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMKCSAgVXNlIGdzdF9lbGVtZW50X2tsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLCBpbnN0YWxsIHByb3BlcnRpZXMKCSAgd2l0aCBzdGF0aWMgc3RyaW5ncywgY3JlYXRlIHBhZHMgZGlyZWN0bHkgZnJvbSB0aGUgc3RhdGljIHBhZAoJICB0ZW1wbGF0ZXMsIGRpcmVjdGx5IHB1dCB0aGUgc2VnbWVudCBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QsCgkgIHVzZSBHU1RfTVNFQ09ORCBpbnN0ZWFkIG9mIG51bWJlcnMuCgkgIFRoZSBQQVIgaXMgYSBHc3RGcmFjdGlvbiBhbmQgbm90IGEgZG91YmxlLCB1c2UgZ3N0X3N0cnVjdHVyZV9nZXRfZnJhY3Rpb24oKS4KCSAgU2ltcGxpZnkgc2V0Y2FwcygpIGZ1bmN0aW9ucy4KCjIwMDktMDItMDUgMTc6MDA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgVXNlIEdTVF9WSURFT19DQVBTX1JHQiBmb3IgdGhlIHRlbXBsYXRlIGNhcHMKCjIwMDktMDItMDUgMTY6NTc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTAyLTA1IDE2OjU0OjAxICswMTAwICBCZW5qYW1pbiBTY2htaXR6IDx2b3J0ZXhAd29scHpvbmUuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgQWRkIGFzc3JlbmRlciBwbHVnaW4gZm9yIHJlbmRlcmluZyBBU1MvU1NBIHN1YnRpdGxlcwoJICBUaGlzIGVsZW1lbnQgaGFzIHRoZSBhZHZhbnRhZ2Ugb3ZlciBzdWJwYXJzZSdzIEFTUy9TU0EKCSAgc3VwcG9ydCB0aGF0IG1vcmUgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZCwgbGlrZSBmYWRpbmcsCgkgIGJ5IHVzaW5nIGxpYmFzcy4gRml4ZXMgYnVnICM0ODEwNzUuCgoyMDA5LTAyLTA1IDEwOjUwOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhIHRlc3Q6IEZpeCB3cm9uZyBsb29waW5nIHZhcmlhYmxlLiBUZXN0IGlzIG5vdyB2YWxpZCAoYnV0IGZhaWxzKS4KCSAgVGhlIGlubmVyIGxvb3Bpbmcgd2FzIHVzaW5nIHRoZSBvdXRlciBsb29waW5nIHZhcmlhYmxlLgoKMjAwOS0wMi0wNCAxODoxMTowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IHVwIHRoaW5ncyB0aGF0IHRoZSBpbmRlbnQgdGhpbmd5IGNvbXBsYWluZWQgYWJvdXQKCjIwMDktMDItMDQgMTg6MDk6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCBtYWpvciBsZWFrcyBpbiBxdHdyYXBwZXIgYXVkaW8gZGVjb2RlcnMuCgkgIEZyZWUgdGhlIGRlY29kZXIgY29tcG9uZW50IGFuZCBhdWRpb2J1ZmZlcmxpc3Qgd2hlbiBjYXBzIGNoYW5nZSwgb3Igd2hlbgoJICBkaXNwb3NpbmcgZWxlbWVudC4KCjIwMDktMDItMDQgMTc6NTA6NTEgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBIYW5kbGUgbWFueSBtb3JlIGVkZ2UgY2FzZXMgaW4gZHNob3d2aWRlb3NpbmsuCgkgIEluc3RydW1lbnQgdmFyaW91cyBjb2RlcGF0aHMgd2l0aCBkZWJ1ZyBtZXNzYWdlcy4KCSAgSGFuZGxlIChhcyBiZXN0IGFzIEkgY291bGQgc2VlIGhvdyAtIGl0J3MgcHJldHR5IG5hc3R5KSBtb3ZpbmcgYSB2aWRlbwoJICB3aW5kb3cgdG8gYW5vdGhlciBtb25pdG9yLgoJICBBZGQgbGlzdGVuaW5nIGZvciBkaXJlY3RzaG93IGV2ZW50cy4KCjIwMDktMDItMDQgMjI6NTA6MzAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiBmaXhlcyBjbG9zc2luZyBzZWdtZW50IGdlbmVyYXRpb24uCgkgIEVuc3VyZSB0aGF0IHRoZSBjbG9zc2luZyBzZWdtZW50IGlzIGdlbmVyYXRlZCBjb3JyZWN0bHkgYW5kIGJlaW5nCgkgIHByb3Blcmx5IHB1c2hlZC4KCSAgQWRkZWQgc29tZSBHU1RfREVCVUcgdG8gY2hlY2sgaXQuCgkgIEVuc3VyZSB0aGF0IGxhc3Rfc3RvcCBpcyB1cGRhdGVkIGluIHN0cmVhbSB0aW1lLgoJICBDYWxjdWxhdGUgZHVyYXRpb24gYXMgZGVsdGEgb2YgUFRTIGFzIGl0IHNlZW1zIG1vcmUgY29ycmVjdCB0aGFuIGRlbHRhCgkgIG9mIFNDUiBpbiBzb21lIGNsaXBzIHRoYXQgSSB0ZXN0ZWQuCgoyMDA5LTAyLTA0IDIyOjE3OjM2ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogc2V2ZXJhbCBmaXhlcyBvbiB0aGUgc2Vla2luZyBmdW5jdGlvbiBpbiBwdWwgbW9kZS4KCSAgUmVtb3ZlZCBhIGxpbmUgd3JvbmdseSBjb3B5IHBhc3RlZCBpbiBteSBwcmV2aW91cyBjb21taXQuCgkgIEF2b2lkIGFuIHVuc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cuCgkgIFNlZWsgbGFzdF9zdG9wIGluIHN0cmVhbSB0aW1lLgoJICBDbGFtcCBsYXN0X3N0b3AgaW4gc3RyZWFtIHRpbWUgYmV0d2VlbiBmaXJzdCBhbmQgbGFzdCBTQ1IuCgkgIEZpeGVkIGEgdHlwbyBpbiB0aGUgR1NUX0RFQlVHIGxpbmUgYW5kIGFkZGVkIHNvbWUgbW9yZSBpbmZvLgoKMjAwOS0wMi0wNCAxNjoyMDo0MCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgTW92ZWQgdmFyIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW4gb2YgZnVuY3Rpb24KCjIwMDktMDItMDQgMTY6MTg6MjcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTAyLTA0IDE2OjExOjIzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBJbXByb3ZlZCBzZWVraW5nIGluIHB1bGwgbW9kZS4gU29tZSByZWZhY3RvcmluZyBhbmQgc21hbGwgZml4ZXMKCjIwMDktMDItMDQgMTE6MTE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgVE9ETwoKMjAwOS0wMi0wNCAxMTowOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgUG9zdCBhbiBVTUlEIHRhZyB3aXRoIHRoZSBjdXJyZW50IHBhY2thZ2UncyBVTUlECgoyMDA5LTAyLTA0IDEwOjU5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzZXQgdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFmdGVyIHNlZWtpbmcgYW5kIE5FV1NFR01FTlQgZXZlbnRzCgoyMDA5LTAyLTA0IDEwOjUzOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW4gcHVzaCBtb2RlIHBsYXkgYWxsIHJlbWFpbmluZyBwYXJ0cyBvZiB0aGUgZmlsZSBvbiBFT1MgaWYgdGhlcmUgYXJlIGFueQoKMjAwOS0wMi0wNCAxMDozNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIHByb3BlcnR5IHRvIHNldCB0aGUgbWF4aW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRyYWNrcwoKMjAwOS0wMi0wNCAxMDoyNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEFsd2F5cyBzZXQgdGhlIGN1cnJlbnQgcGFja2FnZSwgbm90IG9ubHkgd2hlbiBpdCB3YXMgY2hhbmdlZAoJICBUaGlzIGlzIG5lY2Vzc2FyeSBhcyB0aGUgY3VycmVudCBwYWNrYWdlIGxpbmsgd2lsbCBiZSBzZXQgdG8gTlVMTAoJICB3aGVuIHVwZGF0ZWQgbWV0YWRhdGEgaXMgcGFyc2VkIGFuZCBzaG91bGQgYmUgc2V0IGhlcmUgYWdhaW4uCgoyMDA5LTAyLTA0IDEwOjE5OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVHJ5IHRvIHJlc29sdmUgYWxsIHN5bmNocm9uaXphdGlvbiBpc3N1ZXMsIG5vdCBvbmx5IHRoZSBmaXJzdAoKMjAwOS0wMi0wMyAxNzo0NzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlbW92ZSBzb21lIGNoZWNrcyB0aGF0IHdpbGwgYWx3YXlzIGJlIFRSVUUKCjIwMDktMDItMDMgMjI6Mjc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wMi0wMiAyMzoyOToyNCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEFsc28gZmx1c2ggcGFyc2VyIHdoZW4gYSBuZXdzZWdtZW50IGlzIHJlY2VpdmVkLiBGaXhlcyBsb29wIGluIHJldmVyc2UgbW9kZS4KCjIwMDktMDItMDIgMjM6MTI6MDcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgQWRkIHB1bGwgbW9kZSB0byBtcGVncHNkZW11eCBhbmQgcmVwb3J0IGR1cmF0aW9uIHJlYWRpbmcgZmlyc3QgYW5kIGxhc3QgUFRTLiBTb21lIHJhbmRvbSBjbGVhbnVwcy4KCjIwMDktMDItMDIgMTc6NDQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBDbGVhbnVwIHBsYXliYWNrIHBhY2thZ2Ugc2VsZWN0aW9uIGFuZCBub3RpZnkgYWJvdXQgdGhlIGN1cnJlbnQgcGFja2FnZQoKMjAwOS0wMi0wMiAxNjoyMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSB0YWdzIHByb3Blcmx5LCBlc3BlY2lhbGx5IG9uIGNvbXBvbmVudCBzd2l0Y2gKCjIwMDktMDItMDIgMTY6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBFcnJvciBvdXQgaWYgbm8gcGFkcyBjb3VsZCBiZSBjcmVhdGVkCgoyMDA5LTAyLTAyIDE1OjU0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzb2x2ZSBtZXRhZGF0YSBhbmQgdXBkYXRlIHRyYWNrcyBpZiBuZWNlc3NhcnkgYmVmb3JlIHNlZWtpbmcKCjIwMDktMDItMDIgMTU6NTQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBEb24ndCBnbyBhZnRlciB0aGUgbGFzdCBjb21wb25lbnQgb2YgYSB0cmFjawoKMjAwOS0wMi0wMiAxNTo1MzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJldHVybiBhbiBlcnJvciBpZiB1cGRhdGluZyBhbiBhbHJlYWR5IGV4aXN0aW5nIHBhZCBmYWlscwoKMjAwOS0wMi0wMiAwNzo0NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBzZWVraW5nIGlmIHRoZSBzb3VyY2UgY2xpcCBkdXJhdGlvbiBpcyB1bmtub3duCgoyMDA5LTAyLTAxIDE2OjU5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3Igc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMDktMDItMDEgMTY6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggZGVhZGxvY2tzIHdoZW4gc2Vla2luZyBpbiBwdWxsIG1vZGUgZmFpbGVkIGFuZCBjaGVjayBuZXcgb2Zmc2V0IGJlZm9yZSB1c2luZyBpdAoKMjAwOS0wMi0wMSAxNjo1ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBvZmZzZXQgaW4gcHVzaCBtb2RlIGFuZCBoYW5kbGUgZXZlbnRzIHByb3Blcmx5CgoyMDA5LTAyLTAxIDE1OjA3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBJbXBsZW1lbnQgaW5pdGlhbCBzZWVraW5nIHN1cHBvcnQgKHB1bGwgbW9kZSBvbmx5KQoKMjAwOS0wMS0zMSAxMToyOToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgRG9uJ3QgdXNlIEdMaWIgMi4xNiBBUEkgdW5jb25kaXRpb25hbGx5CgoyMDA5LTAxLTMwIDE5OjUyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQ2hlY2sgZm9yIEVPUyBvbiBhbGwgcGFkcyBhZnRlciBhZGp1c3RpbmcgdGhlIGVzc2VuY2UgdHJhY2sgZHVyYXRpb25zCgoyMDA5LTAxLTMwIDE5OjMzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IGR1cmF0aW9uIGNhbGN1bGF0aW9uIGZvciBlc3NlbmNlIHRyYWNrcwoKMjAwOS0wMS0zMCAxNTo1MDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcGxlbWVudCBHc3RFbGVtZW50OjpxdWVyeS9nZXRfcXVlcnlfdHlwZXMgdmZ1bmNzCgoyMDA5LTAxLTMwIDE1OjM0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzZXQgYWxsIGludGVybmFsIHN0YXRlIGluIGZpbmFsaXplCgoyMDA5LTAxLTI5IDIwOjI3OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgZGV0ZWN0aW9uIGFuZCBmaXggcHVzaCBtb2RlIGZvciB0aGUgbGFzdCBwdXNoZWQgaW4gYnVmZmVyCgoyMDA5LTAxLTI5IDE5OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBLZWVwIHRyYWNrIG9mIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gd2hlbiBwbGF5aW5nIHNvdXJjZSBwYWNrYWdlcwoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzIGFyZSBwbGF5ZWQgYW5kCgkgIHRoYXQgd2Ugc2VlayB0byB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzLgoKMjAwOS0wMS0yOSAxOTo0MjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQ29tcGVuc2F0ZSBmb3IgdGltZXN0YW1wL2R1cmF0aW9uIHJvdW5kaW5nIGVycm9ycwoKMjAwOS0wMS0yOSAxNTo1NjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGxvZ2ljIHRvIGNoZWNrIGFsbCBwYWRzIHdoZW4gcHVsbGluZyBhIHBhY2tldCByZXR1cm5lZCBFT1MKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgZmluaXNoIGFsbCBwYWRzIHRoYXQgYXJlIGF0IEVPUyBub3cgaW5zdGVhZCBvZgoJICBqdXN0IGZpbmlzaGluZyBvbmUgYW5kIHJldHVybmluZyB0byB0aGlzIHBvaW50IG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDA5LTAxLTI5IDE1OjU1OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgT25seSBwdXNoIGJ1ZmZlcnMgZm9yIHBhZHMgdGhhdCBhcmUgbm90IG1vcmUgdGhhbiA1MDBtcyBiZWZvcmUgb3RoZXIgcGFkcwoKMjAwOS0wMS0yOSAxNTozOTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGxvZ2ljIHRvIG9ubHkgZ28gaW50byBFT1MgYWZ0ZXIgYWxsIHRyYWNrcyBhcmUgZmluaXNoZWQKCjIwMDktMDEtMjggMTc6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgVE9ETyBsaXN0CgoyMDA5LTAxLTI4IDE2OjM5OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVHJ5IHRvIGtlZXAgdGhlIHRpbWVzdGFtcCBkaWZmZXJlbmNlIGJldHdlZW4gdHJhY2tzIGxvd2VyIHRoYW4gNTAwbXMKCjIwMDktMDEtMjcgMTU6MzY6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggcGxheWJhY2sgb2YgYXRvbSBmaWxlcwoKMjAwOS0wMS0yNyAxNToyNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEtlZXAgdHJhY2sgb2YgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbgoKMjAwOS0wMS0yNyAxNDozODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFNldCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9ucyB0byAwIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBwYXJ0aXRpb24KCjIwMDktMDEtMjcgMTQ6MjU6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIEdlbmVyYXRlIGFuIGluZGV4IHRhYmxlIGZvciBlc3NlbmNlIHN0cmVhbXMKCSAgR2VuZXJhdGUgYW4gaW5kZXggdGFibGUgZm9yIGVzc2VuY2Ugc3RyZWFtcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIG1ha2Ugc3VyZSB0aGF0IG9ubHkgdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cyBhcmUKCSAgdXNlZCBmb3IgcGxheWVkIHRyYWNrcy4KCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBoYXZlIG9uZSBlc3NlbmNlIHN0cmVhbSB1c2VkIGluIG11bHRpcGxlCgkgIHBsYXliYWNrIHRyYWNrcy4KCSAgRml4IHNvbWUgbWlub3IgYnVncy4KCjIwMDktMDEtMjcgMTQ6MjM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBEb24ndCBjb21wbGFpbiBpZiB0aGUgcHJlZmFjZSBoYXMgbm8gcHJpbWFyeSBwYWNrYWdlIHNldAoKMjAwOS0wMS0yNiAxNjoyMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgQWxsb3cgaW5kZXggdGFibGUgc2VnbWVudHMgd2l0aG91dCBwcmltZXIgcGFjawoJICBXaGVuIHBhcnNpbmcgYW4gaW5kZXggdGFibGUgc2VnbWVudCB3aXRob3V0IGEgdmFsaWQKCSAgcHJpbWVyIHBhY2sgaW4gdGhpcyBwYXJ0aXRpb24gb25seSBwYXJzZSB0aGUgc3RhdGljCgkgIGxvY2FsIHRhZ3MgYW5kIGlnbm9yZSBhbGwgZHluYW1pYyBvbmVzLgoJICBUaGlzIGFsbG93cyB1cyB0byB1c2UgaW5kZXggdGFibGUgc2VnbWVudHMgaW4gc29tZQoJICBicm9rZW4gZmlsZXMuCgoyMDA5LTAxLTI2IDE2OjIwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgZXNzZW5jZSB0cmFjayBhYnN0cmFjdGlvbgoJICBBZGQgYW4gYWJzdHJhY3Rpb24gdG8gcmVwcmVzZW50IGVzc2VuY2UgdHJhY2tzIGFuZAoJICB1c2UgdGhpcyBldmVyeXdoZXJlLiBUaGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBrZWVwCgkgIHRyYWNrIG9mIHBvc2l0aW9ucyBhbmQgdG8gZ2VuZXJhdGUvaGFuZGxlIHNlZWsgdGFibGVzLgoJICBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCByZW5hbWluZy4KCjIwMDktMDEtMjYgMTQ6NDc6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBGaXggcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cwoJICBBbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBwb3MgdGFibGVzIGFuZCBzbGljZSBvZmZzZXRzCgkgIG9mIHRoZSBpbmRleCBlbnRyaWVzIHNlcGFyYXRlbHkgdG8gYSkgZml4IGFsaWdubWVudCBpbgoJICB3ZWlyZCBjYXNlcyBhbmQgYikgdG8gYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgdG8gZnJlZSgpCgkgIGluIHRoZSBpbmRleCB0YWJsZSBzZWdtZW50IHJlc2V0IGZ1bmN0aW9uLgoKMjAwOS0wMS0yNiAxNDozMzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wcm92ZSBkZXRlY3Rpb24gb2YgdGhlIGVuZCBvZiB0aGUgaGVhZGVyIG1ldGFkYXRhCgkgIEhlYWRlciBtZXRhZGF0YSBpcyBmaW5pc2hlZCBhZnRlciBwYXJ0aXRpb24uaGVhZGVyX2J5dGVfY291bnQKCSAgYnl0ZXMgYWZ0ZXIgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIHByaW1lciBwYWNrIGFyZSBoYW5kbGVkLgoJICBBZnRlciB0aGlzIHRoZXJlIGNhbiBvbmx5IGJlIGluZGV4IHRhYmxlIHNlZ21lbnRzLCBmaWxsZXIgcGFja2V0cywKCSAgZXNzZW5jZSBvciB0aGUgc3RhcnQgb2YgdGhlIG5leHQgcGFydGl0aW9uLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMgdGhhdCBoYXZlIG5vbi1zdGFuZGFyZCBtZXRhZGF0YQoJICBwYWNrZXRzIGluIHRoZSBoZWFkZXIgbWV0YWRhdGEuCgoyMDA5LTAxLTMwIDE4OjI3OjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFVucmVmIGV2ZW50IGlmIHdlIGRvbid0IGZvcndhcmQgaXQsIHVucmVmIHBhZHMgd2hlbiBkb25lIHdpdGggdGhlbS4KCjIwMDktMDEtMzAgMjI6Mjg6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCByZWxlYXNlaW5mbyB3aXRoIG9ubGluZSB1cmwuCgoyMDA5LTAxLTMwIDE4OjIwOjE3ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIEZvcnRlLgoJICBEZXJlZmVyZW5jZSB0aGUgcG9pbnRlciB0byB0aGUgcGFzc2VkIHNvY2tldCB0byBjaGVjayB0aGUgYWN0dWFsIGZkCgkgIHdoZW4gY2xvc2luZyB0aGVtLgoJICBDYXN0IGFuIGFzc2lnbm1lbnQgdG8ga2lsbCBhIHdhcm5pbmcuCgoyMDA5LTAxLTMwIDE4OjE4OjEwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbi4KCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24gaW4gYm90aAoJICBjb3BpZXMgb2YgR3N0QmFzZVBhcnNlCgoyMDA5LTAxLTMwIDE3OjMxOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEJ1bXAgY29tbW9uCgoyMDA5LTAxLTMwIDA4OjU0OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBVc2UgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBjbGllbnQtc2lkZSBob29rCgoyMDA5LTAxLTI5IDE3OjU5OjM1IC0wMjAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgcXR3cmFwcGVyOiBGaXhlcyBidWlsZCBhdCBjYXNlIHNlbnNpdGl2ZSBzeXN0ZW1zLgoKMjAwOS0wMS0yOCAxMjo0MTozNiArMDAwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQKCSAgcGVzIHBhY2tldHMgdGhhdCBjbGFpbSB0byBiZSBlbmNyeXB0ZWQgbWF5IG5vdCBiZSBzbywgc28gdHJlYXQgYXMgbm9ybWFsLgoJICBKdXN0IGxvZyB0aGUgZmxhZ3MuCgoyMDA5LTAxLTI4IDEzOjI1OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBBZGRpdGlvbmFsIG1lZGlhIHR5cGUgc3VwcG9ydCBpbiBxdG11eCAoYW5kIGZyaWVuZHMpLgoJICBTdXBwb3J0IEFNUiBhbmQgSDI2MyBmb3IgYm90aCBxdG11eCBhbmQgZ3BwbXV4LAoJICBhbmQgYWRkIGV4dGVuc2lvbnMgaW4gc2FtcGxlIHRhYmxlIGRlc2NyaXB0aW9uLgoKMjAwOS0wMS0yOCAxMjoyNzo0MiArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgUmV2ZXJ0ICJtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkM2U0ZTU1OThmNmMzZGI0NDRkMDAxNDU5N2QzODNlZDM1YTAyOTk4LgoKMjAwOS0wMS0yOCAxMjowNjo0OSArMDAwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogY29tbW9uOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZAoJICBwZXMgcGFja2V0cyB0aGF0IGNsYWltIHRvIGJlIGVuY3J5cHRlZCBtYXkgbm90IGJlIHNvLCBzbyB0cmVhdCBhcyBub3JtYWwuCgkgIEp1c3QgbG9nIHRoZSBmbGFncy4KCjIwMDktMDEtMjQgMTg6MTM6MzkgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL1JFQURNRToKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9jaGFuZ2VzLnR4dDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9mYXN0bWl4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9pdF9kZWZzLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF82NjkuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfYW1mLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2Ftcy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kYm0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZG1mLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9mYXIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfajJiLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21kbC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tZWQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbW9kLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX210Mi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfb2t0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3BzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfczNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3N0bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF91bHQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfdW14LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3dhdi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF94bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW1jbXAuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZHNwLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZmx0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZnguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRtaXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3RhYmxlcy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvdGFibGVzLmQ6CgkgIEJ1aWxkIHRoZSBtb2RwbHVnIHBsdWdpbiBhZ2FpbnN0IHRoZSBtb2RwbHVnIGxpYnJhcnkgYW5kIHJlbW92ZSBvdXIgY29weQoJICBBbHdheXMgYnVpbGQgdGhlIG1vZHBsdWcgcGx1Z2luIGFnYWluc3QgdGhlIHN5c3RlbSBtb2RwbHVnIGxpYnJhcnkKCSAgYW5kIHJlbW92ZSBvdXIgb3duIGNvcHkuIFVzaW5nIHRoZSBzeXN0ZW0gdmVyc2lvbiBoYXMgYWR2YW50YWdlcwoJICBpZiBzZWN1cml0eSBpc3N1ZXMgb3Igb3RoZXIgY3JpdGljYWwgYnVncyBhcmUgZm91bmQgaW4gbGlibW9kcGx1ZwoJICBhbmQgb3VyIG93biBjb3B5IHdhc24ndCByZWFsbHkgbWFpbnRhaW5lZCBhbnl3YXkuCgkgIEFsc28gb3VyIGNvcHkgb25seSBjb250YWluZWQgc29tZSBwYXRjaGVzIHRvIHVzZSBHTGliIHR5cGVzIGFuZCBmdW5jdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTY4ODM3LgoKMjAwOS0wMS0yMyAyMzo0MjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogLmdpdGlnbm9yZToKCSogcG8vLmdpdGlnbm9yZToKCSAgQWRkIG1vcmUgdG8gdGhlIGdpdGlnbm9yZXMKCjIwMDktMDEtMjMgMTQ6MDI6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIE1ha2UgUkdCIG1hc2tzIHVuc2lnbmVkIGluIHJhd3ZpZGVvcGFyc2UKCSAgQWxsb3cgdGhlIGZ1bGwgcmFuZ2Ugb2YgMzIgYml0IG1hc2tzIGZvciBSR0JBL1JHQiBkYXRhIGJ5IG1ha2luZyBzdXJlCgkgIHRoZSBtYXNrIHByb3BlcnRpZXMgYXJlIHVuc2lnbmVkLgoKMjAwOS0wMS0yMyAxNjowOTo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L1JFQURNRToKCSAgQWRkIFJFQURNRSB3aXRoIG1pZGkgcmVsYXRlZCBsaW5rcy4KCjIwMDktMDEtMjMgMTY6MDA6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIExvZyBhYWMgZGV0YWlscyBmb3VuZCBpbiBjb2RlY19kYXRhLgoKMjAwOS0wMS0yMyAxNDo0MzowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSAgQ29uZmlndXJlIGJ5dGUgb3JkZXIgZm9yIEVYSUYuIEZpeGVzICM1Njg3MDQKCSAgRXhpZiBibG9ja3MgY2FuIGJlIGluIGRpZmZlcm50IGJ5dGUgb3JkZXJzLiBBZGQgYW4gZWxlbWVudCBwcm9wZXJ0eSB0byBzZWxlY3Qgd2ljaCBvbmUgc2hvdWxkIGJlIHdyaXR0ZW4uCgoyMDA5LTAxLTIzIDEyOjQ2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgUmVuYW1lIGF1ZGlvcmVzYW1wbGUgZmlsZXMgYW5kIHR5cGVzIHRvIGxlZ2FjeXJlc2FtcGxlCgkgIEZpbmlzaCB0aGUgbW92ZS9yZW5hbWUgb2YgYXVkaW9yZXNhbXBsZSB0byBsZWdhY3lyZXNhbXBsZQoJICB0byBwcmV2ZW50IGFueSBjb25mdXNpb24uCgoyMDA5LTAxLTIzIDEyOjM5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSAtYmFkLCBpdCdzIGluIC1iYXNlCgoyMDA5LTAxLTIzIDEyOjEzOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgU2VuZCBCWUUgcGFja2V0cyBpbW1lZGlhdGx5IGZvciBzbWFsbCBzZXNzaW9ucwoJICBXaGVuIHRoZSBudW1iZXIgb2YgcGFydGljaXBhbnRzIGlzIGxlc3MgdGhhbiA1MCwgdGhlIFJGQyBhbGxvd3MgZm9yIHNlbmRpbmcgdGhlCgkgIEJZRSBwYWNrZXQgaW1tZWRpYXRseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSByZWd1bGFyIEJZRSB0aW1lb3V0LgoJICBGaXhlcyAjNTY3ODI4LgoKMjAwOS0wMS0yMyAxMTo1MDoyOSArMDEwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkIHNlZWtpbmcgc3VwcG9ydCB0byBtbXNzcmMuIEZpeGVzIGJ1ZyAjNDY5OTMwLgoJICBBZGQgcHJvcGVyIHNlZWtpbmcgc3VwcG9ydCB0byBtbXNzcmMgYW5kIGNsZWFuCgkgIHVwIHNvbWUgY29kZS4gVGhpcyByZXF1aXJlcyBsaWJtbXMgPj0gMC40LgoKMjAwOS0wMS0yMyAxMDo0NDoyMCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIExpbmsgbW9kcGx1ZyBwbHVnaW4gd2l0aCAtbG0uIEZpeGVzIGJ1ZyAjNTY4NDgzLgoKMjAwOS0wMS0yMyAxMDoxMTo1MiArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeCBidWlsZCBvbiBTb2xhcmlzLiBGaXhlcyBidWcgIzU2ODQ4MC4KCSAgRml4IGxpbmtpbmcgb24gU29sYXJpcyBieSBjaGVja2luZyBmb3IgdGhlIG5zbCBhbmQgc29ja2V0CgkgIGxpYnJhcmllcyB3aGljaCBhcmUgbmVlZGVkIGZvciBzb2NrZXQoKSBhbmQgZ2V0aG9zdGJ5bmFtZSgpLgoJICBEb24ndCBpbml0aWFsaXplIHNvbWUgZmllbGRzIG9mIHN0cnVjdCBtaCB0byBOVUxMLzAsIHRoZXkncmUKCSAgYWxyZWFkeSBzZXQgdG8gTlVMTC8wIGJ5IGEgbWVtc2V0KCkuIEFsc28gdGhpcyBmaWVsZHMgZG9uJ3QKCSAgZXhpc3Qgb24gU29sYXJpcy4KCjIwMDktMDEtMjIgMTQ6Mzc6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgU3RvcmUgYWxsIHBhcnRpdGlvbnMgJiBwcmltZXIgcGFja3MgaW4gbWVtb3J5IGZvciBmYXN0ZXIgYWNjZXNzCgkgIFN0b3JlIGFsbCBwYXJ0aXRpb25zICYgcHJpbWVyIHBhY2tzIGluIG1lbW9yeSBmb3IgZmFzdGVyIGFjY2Vzcy4KCSAgVGhpcyBpcyBsYXRlciBuZWVkZWQgZm9yIGZhc3Qgc2Vla2luZy4KCSAgUHJlLWZpbGwgdGhlIGxpc3Qgb2YgcGFydGl0aW9ucyB3aXRoIHRoZSBjb250ZW50IG9mIHRoZSByYW5kb20KCSAgaW5kZXggcGFjay4KCSAgRG9uJ3QgcGFyc2UgbWV0YWRhdGEgb2YgYW4gcGFydGl0aW9uIHR3aWNlLgoKMjAwOS0wMS0yMiAxODoyMDowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHNuYXBzaG90LgoKMjAwOS0wMS0yMiAxNDowMDo1NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgVXBkYXRlIGNvbmZpZy5oIGZvciBkZXZlbG9wbWVudC4KCjIwMDktMDEtMjIgMTM6NDY6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbW1vbjoKCSAgRml4IHByZS1jb21taXQgaG9vawoKMjAwOS0wMS0yMiAxMzozOTozNCArMDEwMCAgSmFuIFVyYmFuc2tpIDxqLnVyYmFuc2tpQHN0dWRlbnRzLm1pbXV3LmVkdS5wbD4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBGaXhlcyBidWcgIzU2Nzk2NS4KCSAgQWRkIHN1cHBvcnQgZm9yIEVDTUEgYXJyYXlzIGluIHNjcmlwdCB0YWdzLiBUaGlzIGZpeGVzCgkgIHNlZWtpbmcgb24gc29tZSBmaWxlcyB0aGF0IGhhdmUgdGhlIHNlZWsgdGFibGUgc3RvcmVkCgkgIGluc2lkZSBhbiBFQ01BIGFycmF5IGluc3RlYWQgb2YgdGhlIG5vcm1hbCBhcnJheS4KCjIwMDktMDEtMjIgMTM6MzM6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgVW5sb2NrIHRoZSBqaXR0ZXJidWZmZXIgYmVmb3JlIHB1c2hpbmcgb3V0IHRoZSBwYWNrZXQtbG9zdCBldmVudHMuIE1vdmUgc29tZSBjb2RlIGJlZm9yZSB3ZSBkbyB0aGUgdW5sb2NrIHRvIG1ha2UgdGhlIGppdHRlcmJ1ZmZlciBzdGF0ZSBjb25zaXN0ZW50IHdoaWxlIHdlIGFyZSB1bmxvY2tlZC4KCjIwMDktMDEtMjIgMTE6NTQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBGaXggVUwgZm9yIERUUyBhbmQgTVBFRzIgbGF5ZXIgMQoKMjAwOS0wMS0yMiAxMTo1NDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBBQUMgYXVkaW8KCjIwMDktMDEtMjIgMTE6NDc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTdG9yZSBNWEYgbWV0YWRhdGEgaW4gYSBoYXNoIHRhYmxlLCBrZXllZCBieSBVSUQKCSAgU3RvcmUgdGhlIE1YRiBtZXRhZGF0YSBpbiBhIGhhc2ggdGFibGUsIGtleWVkIGJ5IHRoZQoJICBpbnN0YW5jZSBVSUQuIFRoaXMgc2ltcGxpZmllcyByZXNvbHZhbCBvZiB0aGUgbWV0YWRhdGEKCSAgYW5kIG1ha2VzIGxvb3Bpbmcgb3ZlciBhbGwgbWV0YWRhdGEgc2V0cyB1bm5lY2Vzc2FyeQoJICBpbiBtb3N0IGNhc2VzLgoJICBBZGRpdGlvbmFsbHkgcGFyc2UgbWV0YWRhdGEgYWx3YXlzLiBJZiB3ZSBhbHJlYWR5IGhhdmUKCSAgYSBtZXRhZGF0YSBzZXQgd2l0aCB0aGUgc2FtZSBVSUQgcmVwbGFjZSBpdCBvbmx5IGlmCgkgIHRoZSBuZXcgbWV0YWRhdGEgc2V0IGlzIGZyb20gYSBsYXRlciBvZmZzZXQuIFRoaXMKCSAgZml4ZXMgbWV0YWRhdGEgcGFyc2luZyBvZiBmaWxlcyB3aGVyZSBmb2xsb3dpbmcgcGFydGl0aW9ucwoJICBkb24ndCBoYXZlIGEgY29tcGxldGUgY29weSBvZiB0aGUgcHJldmlvdXMgbWV0YWRhdGEuCgoyMDA5LTAxLTIyIDExOjQ0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQnVpbGQgdGhlIHJhbmRvbSBpbmRleCBwYWNrIHdoaWxlIHBhcnNpbmcKCSAgSWYgdGhlIGZpbGUgY29udGFpbnMgbm8gcmFuZG9tIGluZGV4IHBhY2sgb3IganVzdAoJICBhbiBpbnZhbGlkIG9uZSBidWlsZCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgd2hpbGUKCSAgcGFyc2luZy4KCjIwMDktMDEtMjIgMTE6NDM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmYWxhdy5oOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmQxMC5oOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkgIFVwZGF0ZSBjb3B5cmlnaHRzIGZvciAyMDA5CgoyMDA5LTAxLTIyIDExOjQyOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTaW1wbGlmeSBwYXJzaW5nIG9mIFVML1VVSUQgYXJyYXlzCgkgIFNpbXBsaWZ5IHBhcnNpbmcgb2YgVUwvVVVJRCBhcnJheXMgYnkgYWJzdHJhY3RpbmcgaXQKCSAgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uLgoKMjAwOS0wMS0yMiAxMTozNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBETVMxIChTTVBURSBTMzgwTSkKCjIwMDktMDEtMjIgMTE6MDA6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSB0aGUgZmlsdGVyIHBsdWdpbiBmcm9tIHRoZSBidWlsZAoJICBUaGUgZmlsdGVyIHBsdWdpbiBvbmx5IGNvbnRhaW5zIGEgbGltaXRlZCBJSVIgZmlsdGVyIGVsZW1lbnQKCSAgd2hpY2ggaXMgbm93IG9ic29sZXRlZCBieSB0aGUgYXVkaW9paXJmaWx0ZXIgZWxlbWVudCBmcm9tCgkgIGdzdC1wbHVnaW5zLWdvb2QvYXVkaW9meC4KCjIwMDktMDEtMjIgMTE6NTY6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbCAtPiAwLjEwLjEwLjEKCjIwMDktMDEtMjIgMDY6MTI6NTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEluc3RhbGwgYW5kIHVzZSBwcmUtY29tbWl0IGluZGVudGF0aW9uIGhvb2sgZnJvbSBjb21tb24KCjIwMDktMDEtMjEgMTI6MjI6NTQgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiYWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYzZhYzE3MGI5ZjIxOGM2NzNjMGRhYWY1YzU2OGM2MDAwYTM3ZmMzLgoKMjAwOS0wMS0yMSAxMjoxODo0OSArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkgIGFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQKCSAgKiBjb25maWd1cmUuYWM6IEFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQuCgoyMDA5LTAxLTIxIDA0OjMyOjE2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgYXV0b2dlbi5zaCA6IFVzZSBnaXQgc3VibW9kdWxlCgo9PT0gcmVsZWFzZSAwLjEwLjEwID09PQoKMjAwOS0wMS0xOSAyMzoxNTozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMTAKCjIwMDktMDEtMTkgMjI6NDE6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wMS0wOSAyMzo0NDozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOS4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC45LjMgcHJlLXJlbGVhc2UKCjIwMDktMDEtMDkgMjI6MDk6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBEb24ndCBmb3J3YXJkIGR1cmF0aW9uIHJlcXVlc3RzIGluIEJZVEVTLCBzaW5jZSB0aGUgcmV0dXJuZWQgdmFsdWUgZG9lc24ndCBtZWFuIGFueXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgRG9uJ3QgZm9yd2FyZCBkdXJhdGlvbiByZXF1ZXN0cyBpbiBCWVRFUywgc2luY2UgdGhlIHJldHVybmVkCgkgIHZhbHVlIGRvZXNuJ3QgbWVhbiBhbnl0aGluZy4gIEZpeGVzICM1NjY5NTkKCjIwMDktMDEtMDkgMjE6NTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydCB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQKCSAgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNTY2OTU4CgoyMDA5LTAxLTA5IDE2OjQ5OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBBZGRpdGlvbmFsIHBhdGNoIGZvciByZXNpbiBmaXhlcyB0aW1lLWJhc2VkIHNlZWtpbmcgaW4gdGl0bGVzIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgc2VjdG9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgQWRkaXRpb25hbCBwYXRjaCBmb3IgcmVzaW4gZml4ZXMgdGltZS1iYXNlZCBzZWVraW5nIGluIHRpdGxlcwoJICB0aGF0IGRvbid0IHN0YXJ0IGF0IHNlY3RvciAwIGluIHRoZSBWVFMsIGFuZCBmaXhlcyBpbnRlcnByZXRhdGlvbgoJICBvZiB0aGUgY2VsbCBlbGFwc2VkIHRpbWUsIHNvIHRoYXQgaXQgcmVwb3J0cyB0aGUgY29ycmVjdCB0aW1lIGFmdGVyCgkgIHRoZSBzZWVrIGNvbXBsZXRlcy4KCSAgUmVhbGx5IGZpeGVzICM1NjY5NTcuCgoyMDA5LTAxLTA4IDE3OjU3OjE5ICswMDAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJICBleHQvbGFkc3BhL3NlYXJjaC5jOiBBdm9pZCBzZWFyY2hpbmcgKG51bGwpIHBhdGhzIG9yIGNyYXNoaW5nIG9uIHBsYXRmb3JtcyB3aGVyZSBwcmludGluZyBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBQYXRjaCBieTogQnJpYW4gQ2FtZXJvbiA8YnJpYW4gZG90IGNhbWVyb24gYXQgc3VuIGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9zZWFyY2guYzogKExBRFNQQVBsdWdpblNlYXJjaCk6CgkgIEF2b2lkIHNlYXJjaGluZyAobnVsbCkgcGF0aHMgb3IgY3Jhc2hpbmcgb24gcGxhdGZvcm1zIHdoZXJlIHByaW50aW5nIGEKCSAgTlVMTCBzdHJpbmcgc2VnZmF1bHRzLiBGaXhlcyAjNTY3MDA0LgoKMjAwOS0wMS0wOCAxMjo0MjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvOiBBZGQgc3VwcG9ydCBmb3IgdGltZSBiYXNlZCBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICBBZGQgc3VwcG9ydCBmb3IgdGltZSBiYXNlZCBzZWVraW5nLgoJICBNYWtlIHNldHRpbmcgZHZkOi8vIHJlc2V0IHRvIHRoZSBkZWZhdWx0IGRldmljZS4KCSAgTWFrZSB0aGUgJ2F1ZGlvbXVuZ2UnIGVsZW1lbnQgc2VuZCBhbnkgbmV3IHNlZ21lbnQgc3RhcnQgYmVmb3JlCgkgIHRoZSAnZ2FwIGZpbGxlcicgYnVmZmVyIGl0IGdlbmVyYXRlcywgYW5kIGFueSBzZWdtZW50IGNsb3NlcwoJICBhZnRlci4KCSAgRml4ZXM6ICM1NjY5NTcKCjIwMDktMDEtMDggMDk6NDA6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IEFkZCBwbHVnaW4gZGVwZW5kZW5jeSBmb3IgdGhlIExBRFNQQSBwbHVnaW4gZGlyZWN0b3JpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBwbHVnaW4gZGVwZW5kZW5jeSBmb3IgdGhlIExBRFNQQSBwbHVnaW4gZGlyZWN0b3JpZXMuCgkgIEZpeGVzIGJ1ZyAjNTY2ODc4LgoKMjAwOS0wMS0wNiAyMjo1MTozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzdCB0ZXN0IGhlYWRlcnMgZm9yIGFtciBhbmQgYWFjIHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXN0IHRlc3QgaGVhZGVycyBmb3IgYW1yIGFuZCBhYWMgcGFyc2Vycy4KCSAgUmVtb3ZlIGxlZnRvdmVyIGxpbmVzIG1lbnRpb25lZCBzcGVleHJlc2FtcGxlIHRlc3RzLgoKMjAwOS0wMS0wNiAyMjozNTo1MCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbTogRml4IHR5cG8gaW4gdGhlIG9wcG9zaXRlIHdheSB0byBnaXZlIHRoZSBwbHVnaW4gYSBzZW5zaWJsZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBGaXggdHlwbyBpbiB0aGUgb3Bwb3NpdGUgd2F5IHRvIGdpdmUgdGhlIHBsdWdpbiBhIHNlbnNpYmxlIG5hbWUuCgoyMDA5LTAxLTA2IDIyOjE2OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06IEZpeCB0eXBvIGluIHRoZSBtYWtlZmlsZSB0YXJnZXQgcHJldmVudGluZyBkaXN0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBGaXggdHlwbyBpbiB0aGUgbWFrZWZpbGUgdGFyZ2V0IHByZXZlbnRpbmcgZGlzdGluZy4KCjIwMDktMDEtMDUgMjM6MDM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIEFwcFNyYy9BcHBTaW5rIHRoYXQgYXJlIG1vdmluZyB0byAtYmFzZS4gUGFydGlhbGx5IGZpeGVzICM1NjQ0MjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvLmN2c2lnbm9yZToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgUmVtb3ZlIEFwcFNyYy9BcHBTaW5rIHRoYXQgYXJlIG1vdmluZyB0byAtYmFzZS4gUGFydGlhbGx5IGZpeGVzCgkgICM1NjQ0MjEKCjIwMDktMDEtMDUgMTc6NDE6NTEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogR3VhcmQgaW50ZXJ2YWwgaXMgNCBpZiBkZXNjcmlwdG9yIHBhcnQgc2hvd3MgYmluYXJ5IDExICgzIG5vdCA0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEd1YXJkIGludGVydmFsIGlzIDQgaWYgZGVzY3JpcHRvciBwYXJ0IHNob3dzIGJpbmFyeSAxMSAoMyBub3QgNCkuCgoyMDA5LTAxLTA1IDE3OjMwOjU1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOiBGaXggdXAgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIEZpeCB1cCBzYXRlbGxpdGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlZnMuCgoyMDA5LTAxLTA1IDE3OjI2OjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOiBGaXggdXAgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBGaXggdXAgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgZGVmcy4KCSAgVGhleSBzaG91bGQgYmUgc2hpZnRlZCBvdGhlcndpc2Ugd3JvbmcgdmFsdWVzIGFyZSBzZWVuLgoKMjAwOS0wMS0wNSAxMzo0MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86ICJHZW5lcmF0aW9uIFVJRCIgYW5kICJUaGlzIEdlbmVyYXRpb24gVUlEIiBhcmUgZGlmZmVyZW50IHNvIGhhbmRsZSB0aGVtIGRpZmZlcmVudC4gQWxzbyBib3RoIGFyZSBub3QgcGFydCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgIkdlbmVyYXRpb24gVUlEIiBhbmQgIlRoaXMgR2VuZXJhdGlvbiBVSUQiIGFyZSBkaWZmZXJlbnQgc28gaGFuZGxlCgkgIHRoZW0gZGlmZmVyZW50LiBBbHNvIGJvdGggYXJlIG5vdCBwYXJ0IG9mIGV2ZXJ5IG1ldGFkYXRhIHR5cGUuCgoyMDA5LTAxLTA1IDEyOjM0OjE4ICswMDAwICBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEZpeCBjb2xvciBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIDI0YnBwLiBGaXhlcyBidWcgIzU2NjYxMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTYXNjaGEgSGF1ZXIgPHMgZG90IGhhdWVyIGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiAoZ2V0X3BpeF9vZmZzZXQpLAoJICAoZ3N0X2JheWVyMnJnYl9zZXRfY2Fwcyk6CgkgIEZpeCBjb2xvciBvZmZzZXQgY2FsY3VsYXRpb24gZm9yIDI0YnBwLiBGaXhlcyBidWcgIzU2NjYxMy4KCjIwMDktMDEtMDUgMTE6Mjg6NDkgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC86IEltcHJvdmUgbXV4aW5nIG9mIEFDMy9oMjY0IHN0cmVhbXMgYSBiaXQuIEZpeGVzIGJ1ZyAjNTUwNjEzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X3dyaXRlX3BtdCk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fd3JpdGVfcGVzX2hlYWRlciksICh0c211eF9zdHJlYW1fZ2V0X2VzX2Rlc2Nycyk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBJbXByb3ZlIG11eGluZyBvZiBBQzMvaDI2NCBzdHJlYW1zIGEgYml0LiBGaXhlcyBidWcgIzU1MDYxMy4KCjIwMDktMDEtMDUgMTA6MzQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogRG9uJ3QgYWxsb3cgbmVnYXRpdmUgb3IgemVybyBlZGl0IHJhdGVzIHRvIHByZXZlbnQgZGl2aXNpb24gYnkgemVybyBhbmQgd2Ugc3VwcG9ydCBuZWdhdGl2ZSBlZGl0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfbmV4dF9jb21wb25lbnQpOgoJICBEb24ndCBhbGxvdyBuZWdhdGl2ZSBvciB6ZXJvIGVkaXQgcmF0ZXMgdG8gcHJldmVudCBkaXZpc2lvbgoJICBieSB6ZXJvIGFuZCB3ZSBzdXBwb3J0IG5lZ2F0aXZlIGVkaXQgcmF0ZXMgYW55d2F5LgoKMjAwOS0wMS0wNSAxMDoyODo1OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IFVzZSBoeXBoZW4gaW4gcHJvcGVydHkgbmFtZSwgcGVyZm9ybSBzYWZldHkgYnVmZmVyIHNpemUgY2hlY2sgcHJpb3IgdG8gbWVtIGFjY2VzcywgYW5kIHNvbWUgbW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgIFVzZSBoeXBoZW4gaW4gcHJvcGVydHkgbmFtZSwgcGVyZm9ybSBzYWZldHkgYnVmZmVyIHNpemUgY2hlY2sKCSAgcHJpb3IgdG8gbWVtIGFjY2VzcywgYW5kIHNvbWUgbW9yZSBwYXJlbnRoZXNlcyBpbiBtYWNyby4KCjIwMDktMDEtMDUgMTA6MjI6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfYWRkX3RvX2hhc2hfdGFibGUpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQuCgoyMDA5LTAxLTA1IDEwOjAwOjIxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQWxzbyBtZW50aW9uIGpwMmtlbmMgYXMgYSBqcDJrIHBsdWdpbiBmZWF0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsc28gbWVudGlvbiBqcDJrZW5jIGFzIGEganAyayBwbHVnaW4gZmVhdHVyZS4KCjIwMDktMDEtMDQgMTE6MTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCBzb21lIG1lbW9yeSBsZWFrcy4gRml4ZXMgYnVnICM1NjYzNTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiAoZHZiX2Jhc2VfYmluX2luaXQpLAoJICAoZHZiX2Jhc2VfYmluX2ZpbmFsaXplKSwgKGR2Yl9iYXNlX2Jpbl9hY3RpdmF0ZV9wcm9ncmFtKSwKCSAgKGR2Yl9iYXNlX2Jpbl9wbXRfaW5mb19jYiksIChkdmJfYmFzZV9iaW5fcGFkX2FkZGVkX2NiKSwKCSAgKGR2Yl9iYXNlX2Jpbl9wcm9ncmFtX2Rlc3Ryb3kpOgoJICBGaXggc29tZSBtZW1vcnkgbGVha3MuIEZpeGVzIGJ1ZyAjNTY2MzU2LgoKMjAwOS0wMS0wMiAxNzo0MDowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0Y2Fwc19zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZQoJICBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoKMjAwOS0wMS0wMiAxNjo1MDo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVuYW1lIGEgbWV0aG9kIHRvIGJldHRlciByZWZsZWN0IHdoYXQgaXQgcmVhbGx5IGRvZXMuCgoyMDA5LTAxLTAyIDExOjAwOjE3ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbTogTW92ZSAtbGdjcnlwdG8gZnJvbSBfTERGTEFHUyB0byBfTElCQURELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIE1vdmUgLWxnY3J5cHRvIGZyb20gX0xERkxBR1MgdG8gX0xJQkFERC4KCjIwMDktMDEtMDIgMDE6NDQ6MTEgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOiBMaW5rIGFnYWluc3QgLWxnY3JweXRvIGZvciBSU0FfbmV3IGFuZCBSU0FfZnJlZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBMaW5rIGFnYWluc3QgLWxnY3JweXRvIGZvciBSU0FfbmV3IGFuZCBSU0FfZnJlZS4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MuCgoyMDA5LTAxLTAyIDAxOjEyOjM1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IEluaXRpYWxpemUgc2NyX3JhdGVfbiBhbmQgc2NyX3JhdGVfZCBpbiBvcmRlciB0byBmaXggY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIEluaXRpYWxpemUgc2NyX3JhdGVfbiBhbmQgc2NyX3JhdGVfZCBpbiBvcmRlciB0byBmaXggY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTEyLTMxIDA4OjUzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgT1AyYS9iL2MgYW5kIE9QM2EvYi9jLCBpLmUuIHRyYWNrcyB3aXRoIG1vcmUgdGhhbiBhIHNpbmdsZSBjb21wb25lbnQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX25leHRfY29tcG9uZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZ2YzMuYzogKG14Zl92YzNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9zaW5rX2NoYWluKToKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIE9QMmEvYi9jIGFuZCBPUDNhL2IvYywgaS5lLiB0cmFja3Mgd2l0aAoJICBtb3JlIHRoYW4gYSBzaW5nbGUgY29tcG9uZW50LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzIGZvcgoJICB0aGUgY2FzZSB3aGVyZSB0aGUgY29tcG9uZW50cyBhcmUgc3RvcmVkIGluIHBsYXliYWNrIG9yZGVyCgkgIGluIHRoZSBmaWxlLgoJICBTZXQgc29tZSBtb3JlIGRlZmF1bHQvZGlzdGluZ3Vpc2hlZCB2YWx1ZXMgZm9yIHRoZSBzdHJ1Y3R1cmFsCgkgIG1ldGFkYXRhLgoJICBNYWtlIHNvbWUgdHlwZXMgbW9yZSBzdHJpY3QgYnkgY2hvb3NpbmcgdGhlIGNvcnJlY3Qgc3ViY2xhc3Nlcy4KCSAgU2V0IERJU0NPTlQgZmxhZyBvbiBidWZmZXJzIGFmdGVyIGEgY29tcG9uZW50IHN3aXRjaC4KCSAgVGFrZSB0aGUgbGFzdCBwYXJ0aXRpb24gZnJvbSB0aGUgcmFuZG9tIGluZGV4IHBhY2sgZm9yIHRoZSBmb290ZXIKCSAgcGFydGl0aW9uIG9mIHRoZSBoZWFkZXIgcGFydGl0aW9uIGRvZXNuJ3QgcmVmZXJlbmNlIHRoZSBmb290ZXIKCSAgcGFydGl0aW9uLiBUaGlzIGdpdmVzIHVzIHRoZSBmaW5hbCBzdHJ1Y3R1cmFsIG1ldGFkYXRhIGZvcgoJICBzb21lIG1vcmUgZmlsZXMgaW4gdGhlIGJlZ2lubmluZy4KCjIwMDgtMTItMjkgMTg6MjI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBVc2UgdGhlIGFkanVzdGVkIFNDUiBmb3IgY2FsY3VsYXRpbmcgdGhlIG11eCByYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgIFVzZSB0aGUgYWRqdXN0ZWQgU0NSIGZvciBjYWxjdWxhdGluZyB0aGUgbXV4IHJhdGUuCgkgIERvbid0IHVwZGF0ZSB0aGUgcmF0ZSBlc3RpbWF0aW9uIGFmdGVyIGEgZGlzY29udC4KCjIwMDgtMTItMjkgMTc6NTU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC4qOiBUaGUgcG9zaXRpb24gbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50IGNvcnJlc3BvbmRzIHRvIHRoZSBzdHJlYW1fdGltZSBvZiB0aGUgc2VnbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIFRoZSBwb3NpdGlvbiBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQgY29ycmVzcG9uZHMgdG8gdGhlCgkgIHN0cmVhbV90aW1lIG9mIHRoZSBzZWdtZW50IHN0YXJ0IHBvc2l0aW9uLgoKMjAwOC0xMi0yOSAxNzozMDowMyArMDAwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogQ29udmVydGluZyBmcm9tIHRpbWUgdG8gYnl0ZXMgb3BlcmF0ZXMgb24gdGhlIHN0cmVhbV90aW1lLCBub3QgdGhlIFNDUiB0aW1lbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2JpbiBTdG9ja2VyIDxyb2JpbiBhdCBuaWJvciBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgQ29udmVydGluZyBmcm9tIHRpbWUgdG8gYnl0ZXMgb3BlcmF0ZXMgb24gdGhlIHN0cmVhbV90aW1lLCBub3QgdGhlIFNDUgoJICB0aW1lbGluZS4KCSAgVGhlIHBvc2l0aW9uIHJlcG9ydGluZyBzaG91bGQgaGFwcGVuIGluIHN0cmVhbV90aW1lLCBub3QgdGhlIHNlZ21lbnQKCSAgdGltZXN0YW1wIHJhbmdlLiBTZWUgIzU1NzE2MS4KCjIwMDgtMTItMjkgMTY6NDU6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBBZGQgcHJvcGVydGllcyBhbmQgbWV0aG9kcyB0byBjb25maWd1cmUgYW5kIHJldHJpZXZlIHRoZSBtaW4gYW5kIG1heCBsYXRlbmNpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19xdWVyeSksCgkgIChnc3RfYXBwX3NyY19zZXRfbGF0ZW5jaWVzKSwgKGdzdF9hcHBfc3JjX3NldF9sYXRlbmN5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9sYXRlbmN5KSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2Z1bGwpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIHRvIGNvbmZpZ3VyZSBhbmQgcmV0cmlldmUgdGhlIG1pbiBhbmQgbWF4CgkgIGxhdGVuY2llcy4KCjIwMDgtMTItMjkgMTY6Mjk6MDggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNTY1NjE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2VpdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNTY1NjE0LgoKMjAwOC0xMi0yOSAxNjoxODo0NyArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGEgc2NyYW1ibGVkIGZpZWxkIHRvIHRoZSBzZXJ2aWNlIHN0cnVjdHVyZXMgcmV0cmlldmVkIGZyb20gU0RUIHRvIGRldGVybWluZSBpZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9zZHQpOgoJICBBZGQgYSBzY3JhbWJsZWQgZmllbGQgdG8gdGhlIHNlcnZpY2Ugc3RydWN0dXJlcyByZXRyaWV2ZWQgZnJvbSBTRFQgdG8KCSAgZGV0ZXJtaW5lIGlmIGEgY2hhbm5lbCBpcyBzY3JhbWJsZWQuIEZpeGVzICM1NjU2MTMuCgoyMDA4LTEyLTI5IDE1OjU0OjQ0ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgZ3N0L3BjYXBwYXJzZS86IFBhdGNoIHRvIG1ha2UgZ3N0cGNhcHBhcnNlIGNvbXBpbGUgd2l0aCBtaW5ndzMyIGdjYy4gRml4ZXMgIzU2NTQzOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBQYXRjaCB0byBtYWtlIGdzdHBjYXBwYXJzZSBjb21waWxlIHdpdGggbWluZ3czMiBnY2MuIEZpeGVzICM1NjU0MzkuCgoyMDA4LTEyLTI5IDE1OjQ5OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICBVc2UgbWV0aG9kIHRvIGdldCB0aGUgaW50ZXJuYWwgU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZ2l1cmUgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgIEZpeGVzICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE1OjIxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuIHRoZSBTU1JDIGFjdHVhbGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbgoJICB0aGUgU1NSQyBhY3R1YWxseSBjaGFuZ2VkLiBTZWUgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTQ6MjE6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuKjogV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsIGFzc3VtZSB0aGUgY2xvY2stcmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLAoJICBhc3N1bWUgdGhlIGNsb2NrLXJhdGUgY29ycmVzcG9uZHMgdG8gdGhlIGZpcnN0IHBheWxvYWQgdHlwZSBmb3VuZCBpbiB0aGUKCSAgUlRQIHBhY2tldHMuIEZpeGVzICM1NjU1MDkuCgoyMDA4LTEyLTIzIDE2OjMyOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogV2l0aCBjb25zdGFudCByZWFkIGZhaWx1cmVzLCBtYWtlIHN1cmUgd2UgZXhpdCB0aGUgcmVhZF9kZXZpY2UgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBXaXRoIGNvbnN0YW50IHJlYWQgZmFpbHVyZXMsIG1ha2Ugc3VyZSB3ZSBleGl0IHRoZSByZWFkX2RldmljZQoJICBtZXRob2QuCgoyMDA4LTEyLTIzIDE1OjI2OjMwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUG9zdCBidXMgbWVzc2FnZSB3aXRoIGR2YiByZWFkIGZhaWx1cmUgd2hlbiB1bmFibGUgdG8gcmVhZCBmcm9tIGRldmljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUG9zdCBidXMgbWVzc2FnZSB3aXRoIGR2YiByZWFkIGZhaWx1cmUgd2hlbiB1bmFibGUgdG8gcmVhZCBmcm9tCgkgIGRldmljZS4KCjIwMDgtMTItMjMgMTI6MjU6NDcgKzAwMDAgIEx1b3RhbyBGdSA8bC5mdUBwZW5ndXRyb25peC5kZT4KCgkgIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogRml4IHRoZSBEZXB0aCBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2dldGNhcHMpOgoJICBGaXggdGhlIERlcHRoIGNhbGN1bGF0aW9uLgoJICBGaXhlcyAjNTY0MTE0LgoKMjAwOC0xMi0yMyAxMTozOTo1OSArMDAwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZSB0aW1lLiAgVGltZXN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dCBhdCBtaW5kIGRvdCBiZT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUKCSAgdGltZS4gIFRpbWVzdGFtcHMgY2FuIG9ubHkgZ28gZm9yd2FyZCBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIKCSAgc2lkZSwgY2FuIG9ubHkgZ28gYmFjayBpZiB0aGV5IGRvIGF0IHRoZSBzZW5kZXIgc2lkZSwgYW5kIHJlbWFpbiB0aGUKCSAgc2FtZSBpZiB0aGV5IHJlbWFpbiB0aGUgc2FtZSBhdCB0aGUgc2VuZGVyIHNpZGUuIEZpeGVzICM1NjUzMTkuCgoyMDA4LTEyLTIyIDIwOjU2OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1wZWcuYzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgaC4yNjQgdmlkZW8gKFNNUFRFIFJQMjAwOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBoLjI2NCB2aWRlbyAoU01QVEUgUlAyMDA4KS4KCjIwMDgtMTItMjIgMjA6Mzc6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbWV0YWRhdGEuKjogSWYgcmVzb2x2aW5nIGEgbWV0YWRhdGEgb2JqZWN0IGZhaWxlZCB0aGUgZmlyc3QgdGltZSByZXR1cm4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBJZiByZXNvbHZpbmcgYSBtZXRhZGF0YSBvYmplY3QgZmFpbGVkIHRoZSBmaXJzdCB0aW1lIHJldHVybgoJICBGQUxTRSBmb3IgYSBzZWNvbmQgbXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSgpIGNhbGwgaW5zdGVhZAoJICBvZiBUUlVFLgoKMjAwOC0xMi0yMiAxMDoxNDozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENsZWFudXAgb2YgdGhlIGluY2x1ZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zi5jOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6CgkgICogZ3N0L214Zi9teGZkbXMxLmM6CgkgICogZ3N0L214Zi9teGZkbXMxLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBDbGVhbnVwIG9mIHRoZSBpbmNsdWRlcy4KCjIwMDgtMTItMTkgMTg6NTM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvIG5vdCB0ZW1wdCBvciBzdWdnZXN0IHRvIHZpb2xhdGUgZ3N0X2NvbGxlY3RfcGFkcyBBUEkgc3BlY2lmaWNhdGlvbi4KCjIwMDgtMTItMTkgMTg6MzM6NDcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgoyMDA4LTEyLTE5IDEwOjA2OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcygpIHRvIHNldCByYXRlIGFuZCBjaGFubmVscyBhbmQgdXNlIHRoaXMgZm9yIGFsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpOgoJICBBZGQgbXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKCkgdG8KCSAgc2V0IHJhdGUgYW5kIGNoYW5uZWxzIGFuZCB1c2UgdGhpcyBmb3IgYWxsIHNvdW5kIGVzc2VuY2UuCgkgIEdpdmUgc29tZSBkZWJ1ZyBvdXRwdXQgd2hlbiBzZXR0aW5nIHBpY3R1cmUgZXNzZW5jZSBjYXBzIHdpdGgKCSAgaW52YWxpZCBkZXNjcmlwdG9yIHZhbHVlcy4KCSAgRml4IGhlaWdodCBjYWxjdWxhdGlvbiBmcm9tIHRoZSBmcmFtZSBsYXlvdXQgYSBiaXQgbW9yZSBhbmQKCSAgYWRkIGEgVE9ETyB0byBjaGVjayBpZiBpdCdzIHJlYWxseSBjb3JyZWN0IG5vdyBvciBpZiBpdCBuZWVkcwoJICBtb3JlIGZpeGluZyAoZXNwZWNpYWxseSwgZG9lcyB0aGUgZnJhbWVyYXRlIG5lZWQgYWRqdXN0bWVudHM/KS4KCjIwMDgtMTItMTggMTc6NDk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgVkMtMyAoYWthIEROeEhEIGVzc2VuY2UsIHNlZSBTTVBURSAyMDE5LTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L214Zi9teGZ2YzMuYzogKG14Zl9pc192YzNfZXNzZW5jZV90cmFjayksCgkgIChteGZfdmMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3ZjM19jcmVhdGVfY2FwcyksCgkgIChteGZfdmMzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBWQy0zIChha2EgRE54SEQgZXNzZW5jZSwgc2VlIFNNUFRFIDIwMTktNCkuCgkgIFRoaXMgaXMgdW50ZXN0ZWQgYmVjYXVzZSBvZiBsYWNrIG9mIHNhbXBsZSBmaWxlcyBidXQgc2hvdWxkCgkgIHdvcmsgZmluZS4KCjIwMDgtMTItMTcgMTM6NTE6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgYXBwc3JjIGFuZCBhcHBzaW5rIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpOgoJICBBZGQgYXBwc3JjIGFuZCBhcHBzaW5rIGRvY3VtZW50YXRpb24uCgoyMDA4LTEyLTE3IDEyOjA2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEluIHB1c2ggbW9kZSBza2lwIHRoZSBydW4gaW4gYWdhaW4gaWYgd2UgZ2V0IGJ1ZmZlcnMgd2l0aCBhbiBvZmZzZXQgYmVmb3JlIHRoZSBydW4gaW4uIFRoaXMgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSBza2lwIHRoZSBydW4gaW4gYWdhaW4gaWYgd2UgZ2V0IGJ1ZmZlcnMgd2l0aAoJICBhbiBvZmZzZXQgYmVmb3JlIHRoZSBydW4gaW4uIFRoaXMgY2FuIGhhcHBlbiBvbiBzZWVrcyBmb3IgZXhhbXBsZS4KCjIwMDgtMTItMTYgMTY6MjY6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcwoJICB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoKMjAwOC0xMi0xNiAxMjo0NjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChteGZkZW11eF9zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoKMjAwOC0xMi0xNiAxMjozNzoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguKjogTWFrZSBzdXJlIHRoZSBtYWluIGxvb3AgaXMgYWxyZWFkeSBydW5uaW5nIHdoZW4gaGFuZGxpbmcgdGhlIEVPUyBldmVudCBpbiBwdWxsIG1vZGUuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfc2lua19ldmVudCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguaDoKCSAgTWFrZSBzdXJlIHRoZSBtYWluIGxvb3AgaXMgYWxyZWFkeSBydW5uaW5nIHdoZW4gaGFuZGxpbmcgdGhlIEVPUwoJICBldmVudCBpbiBwdWxsIG1vZGUuIFRoaXMgd29ya3MgYXJvdW5kIGEgcmFjZSBjb25kaXRpb24gdGhhdCBjYW4KCSAgaGFwcGVuIGlmIHRoZSBlbGVtZW50IGdvZXMgaW50byBQTEFZSU5HLCBoYW5kbGVzIGV2ZXJ5dGhpbmcgYW5kCgkgIHNlbmRzIEVPUyBiZWZvcmUgdGhlIG1haW4gbG9vcCBpcyBzdGFydGVkLgoKMjAwOC0xMi0xNiAxMjozMDozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBhbiBlc3NlbmNlIGVsZW1lbnQgaGFuZGxpbmcgcmVnaXN0cnkgYW5kIHVzZSB0aGlzIGluc3RlYWQgb2YgYW4gaGFyZGNvZGVkLCBsYXJnZSBpZi10aGVuLWVsc2UgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksCgkgIChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXNfYndmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hbGF3X2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kMTBfY3JlYXRlX2NhcHMpLAoJICAobXhmX2QxMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2R2X2RpZl9jcmVhdGVfY2FwcyksCgkgIChteGZfZHZfZGlmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9qcGVnMjAwMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfZXNzZW5jZV9lbGVtZW50X2hhbmRsZXJfcmVnaXN0ZXIpLAoJICAobXhmX2Vzc2VuY2VfZWxlbWVudF9oYW5kbGVyX2ZpbmQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksCgkgIChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdXBfcmdiYV9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfY3JlYXRlX2NhcHMpLCAobXhmX3VwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgSW1wbGVtZW50IGFuIGVzc2VuY2UgZWxlbWVudCBoYW5kbGluZyByZWdpc3RyeSBhbmQgdXNlIHRoaXMgaW5zdGVhZAoJICBvZiBhbiBoYXJkY29kZWQsIGxhcmdlIGlmLXRoZW4tZWxzZSBibG9jay4KCjIwMDgtMTItMTYgMTA6NTA6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQmxhY2tsaXN0IHJmYnNyYyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEJsYWNrbGlzdCByZmJzcmMgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgoyMDA4LTEyLTE2IDA5OjU5OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBwdXNoIGFuZCBwdWxsIG1vZGUgdW5pdCB0ZXN0IGZvciBteGZkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9wYWRfYWRkZWQpLCAoX3NpbmtfY2hhaW4pLAoJICAoX3NpbmtfZXZlbnQpLCAoX2NyZWF0ZV9zaW5rX3BhZCksIChfY3JlYXRlX3NyY19wYWRfcHVzaCksCgkgIChfc3JjX2dldHJhbmdlKSwgKF9zcmNfcXVlcnkpLCAoX2NyZWF0ZV9zcmNfcGFkX3B1bGwpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobXhmZGVtdXhfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lmg6CgkgIEFkZCBwdXNoIGFuZCBwdWxsIG1vZGUgdW5pdCB0ZXN0IGZvciBteGZkZW11eC4KCjIwMDgtMTItMTYgMDg6MzU6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24gZm9yIHRoZSBNWEYgcGx1Z2luIGFuZCBteGZkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIE1YRiBwbHVnaW4gYW5kIG14ZmRlbXV4LgoKMjAwOC0xMi0xNiAwODoyMToyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJlbmFtZSBNWEZNZXRhZGF0YUJhc2UgbWV0aG9kcyB0byByZWZsZWN0IHRoYXQgdGhleSBiZWxvbmcgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZV9kZWZhdWx0KSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2NsYXNzX2luaXQpLCAobXhmX21ldGFkYXRhX2Jhc2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfbmV3KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc29sdmUpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgUmVuYW1lIE1YRk1ldGFkYXRhQmFzZSBtZXRob2RzIHRvIHJlZmxlY3QgdGhhdCB0aGV5IGJlbG9uZyB0bwoJICBNWEZNZXRhZGF0YUJhc2UgYW5kIG5vdCBNWEZNZXRhZGF0YS4KCjIwMDgtMTItMTUgMTg6MTI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZXR1cm4gRkFMU0Ugd2hlbiBwYXJzaW5nIGEgbWV0YWRhdGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgIFJldHVybiBGQUxTRSB3aGVuIHBhcnNpbmcgYSBtZXRhZGF0YSB0YWcgZmFpbGVkLgoJICBSZW1vdmUgc29tZSB1c2VsZXNzIHJldHVybiB2YWx1ZSBhc3NpZ25tZW50cy4KCjIwMDgtMTItMTUgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRvIEdzdE1pbmlPYmplY3RzIHRvIG1ha2UgYSBsb3Qgb2YgY29kZSBlYXNpZXIgYW5kIHRvIG1ha2UgZXZlcnl0aGluZyBiZXR0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXNfYndmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19jcmVhdGVfY2FwcyksIChteGZfYWxhd19pbml0KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfY3JlYXRlX2NhcHMpLCAobXhmX2QxMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2ZpbmRfcGFja2FnZSksIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9jcmVhdGVfY2FwcyksIChteGZfZHZfZGlmX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKSwgKG14Zl9qcGVnMjAwMF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2Jhc2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfaGFuZGxlX3RhZyksIChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2luaXQpLCAobXhmX21ldGFkYXRhX2Jhc2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcGFyc2UpLCAobXhmX21ldGFkYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLCAobXhmX21ldGFkYXRhX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2luaXQpLCAobXhmX21ldGFkYXRhX2luaXRfdHlwZXMpLAoJICAobXhmX21ldGFkYXRhX3JlZ2lzdGVyKSwgKG14Zl9tZXRhZGF0YV9uZXcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfZmluYWxpemUpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2ZpbmFsaXplKSwgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV90cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19pZGVudGlmaWVyX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lbGluZV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lbGluZV90cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lbGluZV90cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9ldmVudF90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9ldmVudF90cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9ldmVudF90cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdGF0aWNfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RhdGljX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfaW5pdCksIChteGZfbWV0YWRhdGFfbG9jYXRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX2FkZF90b19oYXNoX3RhYmxlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwgKG14Zl91cF9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBDb252ZXJ0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRvIEdzdE1pbmlPYmplY3RzIHRvIG1ha2UgYSBsb3Qgb2YKCSAgY29kZSBlYXNpZXIgYW5kIHRvIG1ha2UgZXZlcnl0aGluZyBiZXR0ZXIgZXh0ZW5zaWJsZS4KCSAgQWRkIGEgInJlZ2lzdHJ5IiBmb3IgbWV0YWRhdGEgaGFuZGxlcnMgdG8gaW1wcm92ZSBleHRlbnNpYmlsaXR5IGV2ZW4KCSAgbW9yZSBhbmQgdG8gcmVtb3ZlIG1ldGFkYXRhIHR5cGUgc3BlY2lmaWNzIGZyb20gbXhmZGVtdXguCgkgIENsZWFuIHVwIGEgbG90IG9mIHBhcnRzIGFuZCBhZGQgc29tZSBtb3JlIE5VTEwgY2hlY2tzLgoKMjAwOC0xMi0xNSAxNTo1NjoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggZGVmYXVsdCBmb3Igb3V0cHV0Zm9ybWF0IHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIEZpeCBkZWZhdWx0IGZvciBvdXRwdXRmb3JtYXQgcHJvcGVydHkuCgoyMDA4LTEyLTE1IDEyOjAyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogRml4IGV4YW1wbGUgdG8gdW5yZWYgYWZ0ZXIgZW1pdGluZyB0aGUgcHVzaC1idWZmZXIgYWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6IChmZWVkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzogKGZlZWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKHJlYWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6IChmZWVkX2RhdGEpOgoJICBGaXggZXhhbXBsZSB0byB1bnJlZiBhZnRlciBlbWl0aW5nIHRoZSBwdXNoLWJ1ZmZlciBhY3Rpb24uCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfZnVsbCksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9hY3Rpb24pOgoJICBEb24ndCB0YWtlIHRoZSByZWYgb24gdGhlIGJ1ZmZlciBpbiBwdXNoLWJ1ZmZlciBhY3Rpb24gYmVjYXVzZSBpdCdzIHRvbwoJICBhd2t3YXJkIGZvciBiaW5kaW5ncy4gRml4ZXMgIzU2NDQ4Mi4KCjIwMDgtMTItMTMgMTY6MjY6MzkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogTW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCB3aXRoIGdldHRleHQgMC4xNyBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgTW9yZSAubTQgdGhhdCBhcmVuJ3Qgc2hpcHBlZCB3aXRoIGdldHRleHQgMC4xNyBhbnltb3JlLgoKMjAwOC0xMi0xMyAxMzowMDoxMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93IHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBtNC9NYWtlZmlsZS5hbToKCSAgaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdwoJICByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UgY2FuIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0IG9mIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA4LTEyLTEzIDA4OjA2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEFkZCBhIGdlbmVyaWMgaGFuZGxlciBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEgc28gd2UgY2FuIGdldCBzb21lIGRlYnVnIG91dHB1dCBhbmQgbGV0IHVzZXJzIGZpbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZGVzY3JpcHRpdmVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgIEFkZCBhIGdlbmVyaWMgaGFuZGxlciBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEgc28gd2UgY2FuIGdldCBzb21lCgkgIGRlYnVnIG91dHB1dCBhbmQgbGV0IHVzZXJzIGZpbGUgYnVncyBmb3IgdW5zdXBwb3J0IGRlc2NyaXB0aXZlCgkgIG1ldGFkYXRhIHNjaGVtZXMuCgoyMDA4LTEyLTEyIDEwOjI5OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogTWFqb3IgdXBkYXRlIG9mIHRoZSBUT0RPIGxpc3RzLiBUaGVyZSdzIHN0aWxsIG11Y2ggdG8gZG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAqIGdzdC9teGYvbXhmdXAuYzoKCSAgTWFqb3IgdXBkYXRlIG9mIHRoZSBUT0RPIGxpc3RzLiBUaGVyZSdzIHN0aWxsIG11Y2ggdG8gZG8uCgoyMDA4LTEyLTExIDE0OjM1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgRXZlbnQgVHJhY2tzLCBTdGF0aWMgVHJhY2tzLCBETSBTZWdtZW50cyBhbmQgRE0gU291cmNlIENsaXBzIGFzIGEgcHJlcGFyYXRpb24gZm9yIGRlc2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfdHJhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIEV2ZW50IFRyYWNrcywgU3RhdGljIFRyYWNrcywgRE0gU2VnbWVudHMKCSAgYW5kIERNIFNvdXJjZSBDbGlwcyBhcyBhIHByZXBhcmF0aW9uIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YQoJICBzdXBwb3J0LiBOZXh0IHN0ZXAgaXMgdG8gaW1wbGVtZW50IFNNUFRFIFMzODBNLCAiRGVzY3JpcHRpdmUKCSAgTWV0YWRhdGEgU2NoZW1lLTEiLgoKMjAwOC0xMi0wOSAxMzo0NDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZqcGVnMjAwMC5jOiBJbXBsZW1lbnQgZGV0ZWN0aW9uIG9mIHRoZSBjb2xvcnNwYWNlIHVzZWQgYnkgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIEltcGxlbWVudCBkZXRlY3Rpb24gb2YgdGhlIGNvbG9yc3BhY2UgdXNlZCBieSB0aGUKCSAgSlBFRzIwMDAgY29kZXN0cmVhbS4gWFlaIGNvbG9yc3BhY2UgaXNuJ3Qgc3VwcG9ydGVkIGJ5CgkgIG91ciBkZWNvZGVycyB5ZXQgdW5mb3J0dW5hdGVseS4KCjIwMDgtMTItMDggMTU6NDY6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogQWxsIGZyYW1lIGxheW91dCB2YWx1ZXMgZXhjZXB0IDAgYXJlIGZvciBpbnRlcmxhY2VkIHZpZGVvLCBub3Qgb25seSAxIGFuZCAyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIEFsbCBmcmFtZSBsYXlvdXQgdmFsdWVzIGV4Y2VwdCAwIGFyZSBmb3IgaW50ZXJsYWNlZCB2aWRlbywKCSAgbm90IG9ubHkgMSBhbmQgMi4KCjIwMDgtMTItMDggMTU6Mjg6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZW1vdmUgdGhlIGNvbmNlcHQgb2YgImZpbmFsIiBtZXRhZGF0YSwgYnJva2VuIGZpbGVzIGhhdmUgdXBkYXRlZCBtZXRhZGF0YSBpbiBmb2xsb3dpbmcgcGFydGl0aW9ucyBldmVuIGlmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3ByaW1lcl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3ByZWZhY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBSZW1vdmUgdGhlIGNvbmNlcHQgb2YgImZpbmFsIiBtZXRhZGF0YSwgYnJva2VuIGZpbGVzIGhhdmUgdXBkYXRlZAoJICBtZXRhZGF0YSBpbiBmb2xsb3dpbmcgcGFydGl0aW9ucyBldmVuIGlmIHRoZSBjdXJyZW50IHBhcnRpdGlvbgoJICBpcyBjbG9zZWQgYW5kIGNvbXBsZXRlLgoJICBJZiB0aGVyZSdzIGEgc2Vjb25kIHByaW1lciBwYWNrIGluc2lkZSBhIHBhcnRpdGlvbiBpZ25vcmUgdGhlIHNlY29uZAoJICBvbmUgaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvci4KCSAgU3RvcmUgdGhlIHR5cGUgb2YgYSB0cmFjayAoYXVkaW8sIHZpZGVvLCB0aW1lc3RhbXAsIC4uLikgaW5zaWRlIHRoZQoJICB0cmFjayBzdHJ1Y3QuCgkgIFBvc3Qgbm8tbW9yZS1wYWRzIG9ubHkgb25jZSBmb3IgYSBzdHJlYW0gYW5kIG5vdCBhIHNlY29uZCB0aW1lCgkgIHdoZW4gc3dpdGNoaW5nIHRoZSBjdXJyZW50bHkgcGxheWluZyBwYWNrYWdlLgoJICBXaGVuIHVwZGF0aW5nIGFsbCBzdHJlYW1zIG1ha2Ugc3VyZSB0aGF0IHdlIGNvdWxkIHNlbGVjdCBhbmQgZmluZAoJICBhIHBhY2thZ2UgaW5zdGVhZCBvZiBkZXJlZmVyZW5jaW5nIE5VTEwuCgkgIEFsbG93IGRlc2NyaXB0aXZlIG1ldGFkYXRhIGluc2lkZSBtZXRhZGF0YSBwYXJ0cyBvZiBhIGZpbGUgd2hlbgoJICBwdWxsaW5nIHRoZSBmb290ZXIgbWV0YWRhdGEgdG9vLgoJICBPbmx5IHN3aXRjaCB0aGUgY3VycmVudGx5IHBsYXlpbmcgcGFja2FnZSBpZiBhIG5ldyBvbmUgd2FzIGNob3NlbgoJICBhbmQgdGhlIG1ldGFkYXRhIGlzIGluIGEgcmVzb2x2ZWQgc3RhdGUuIElmIHRoZSBsYXR0ZXIgaXNuJ3QgdHJ1ZQoJICBwb3N0cG9uZSB0aGUgc3dpdGNoIHVudGlsIHRoZSBtZXRhZGF0YSBpcyByZXNvbHZlZC4KCSAgUHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIGRpcmVjdGx5IGFmdGVyIHBhcnNpbmcgdGhlIGhlYWRlciBwYXJ0aXRpb24KCSAgcGFjayBpZiBpdCdzIG5vdCBjbG9zZWQgb3Igbm90IGNvbXBsZXRlIGluc3RlYWQgb2Ygd2FpdGluZyB1bnRpbAoJICB0aGUgbmV4dCBLTFYgcGFja2V0LgoKMjAwOC0xMi0wOCAxMzo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZ1cC5jOiBEb24ndCBjcmVhdGUgYSBzdWJidWZmZXIsIGluc3RlYWQganVzdCBjaGFuZ2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSBvZiB0aGUgaW5wdXQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgIERvbid0IGNyZWF0ZSBhIHN1YmJ1ZmZlciwgaW5zdGVhZCBqdXN0IGNoYW5nZSB0aGUgYnVmZmVyIG1ldGFkYXRhCgkgIG9mIHRoZSBpbnB1dCBidWZmZXIuCgoyMDA4LTEyLTA3IDIwOjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFJlbmFtZSBHc3RNWEZQYWQgdG8gR3N0TVhGRGVtdXhQYWQgdG8gcHJldmVudCBuYW1lIGNsYXNoZXMgd2l0aCB0aGUgR3N0TVhGTXV4UGFkIGluIHRoZSBtdXhlciAobGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYWRfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfY2xhc3NfaW5pdCksIChnc3RfbXhmX2RlbXV4X3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZCksIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKSwgKGdzdF9teGZfZGVtdXhfbG9vcCksCgkgIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbmFtZSBHc3RNWEZQYWQgdG8gR3N0TVhGRGVtdXhQYWQgdG8gcHJldmVudCBuYW1lIGNsYXNoZXMKCSAgd2l0aCB0aGUgR3N0TVhGTXV4UGFkIGluIHRoZSBtdXhlciAobGF0ZXIpLgoJICBQdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBvbmx5IGRpcmVjdGx5IGFmdGVyIHNraXBwaW5nIHRoZSBydW4KCSAgaW4gYW5kIGRvbid0IGFsbG9jYXRlIGFuIGFycmF5IGZvciBpdCBpZiBwYXJzaW5nIGl0IGZhaWxlZC4KCjIwMDgtMTItMDcgMTg6NTI6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZDEwLmM6IFVzZSB0aGUgbWFwcGluZyBkYXRhIGZvciBzdG9yaW5nIHRoZSBjaGFubmVsIGNvdW50IGFuZCB0aGUgd2lkdGggaW5zdGVhZCBvZiBwYXJzaW5nIGNhcHMgZm9yIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICBVc2UgdGhlIG1hcHBpbmcgZGF0YSBmb3Igc3RvcmluZyB0aGUgY2hhbm5lbCBjb3VudCBhbmQgdGhlCgkgIHdpZHRoIGluc3RlYWQgb2YgcGFyc2luZyBjYXBzIGZvciBldmVyeSBidWZmZXIuCgoyMDA4LTEyLTA3IDE4OjM5OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnVwLmM6IEhhbmRsZSB0aGUgaW1hZ2Ugc3RhcnQgYW5kIGVuZCBvZmZzZXRzLCBvdGhlcndpc2Ugd2Ugb3V0cHV0IHRvbyBsYXJnZSBpbWFnZSBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfdXBfcmdiYV9jcmVhdGVfY2Fwcyk6CgkgIEhhbmRsZSB0aGUgaW1hZ2Ugc3RhcnQgYW5kIGVuZCBvZmZzZXRzLCBvdGhlcndpc2Ugd2Ugb3V0cHV0CgkgIHRvbyBsYXJnZSBpbWFnZSBidWZmZXJzLgoKMjAwOC0xMi0wNyAxNzo1NzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtcGVnLmM6IFNldCBjb2RlYyBuYW1lIHRhZ3MgZm9yIHRoZSBNUEVHIGF1ZGlvIGVzc2VuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpOgoJICBTZXQgY29kZWMgbmFtZSB0YWdzIGZvciB0aGUgTVBFRyBhdWRpbyBlc3NlbmNlLgoKMjAwOC0xMi0wNyAxNzoxNjoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHVuY29tcHJlc3NlZCB2aWRlbyBlc3NlbmNlIChTTVBURSBTMzg0TSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHVuY29tcHJlc3NlZCB2aWRlbyBlc3NlbmNlIChTTVBURSBTMzg0TSkuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgIEZpeCBwYXJzaW5nIG9mIHRoZSBSR0JBIGRlc2NyaXB0b3IgYW5kIGFkZCBzdXBwb3J0IGZvciBwYXJzaW5nCgkgIHRoZSBwaXhlbCBsYXlvdXQuCgoyMDA4LTEyLTA2IDIwOjQ2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFRoZSBwcmV2aW91cyBwYXJ0aXRpb24gZmllbGQgb2YgdGhlIHBhcnRpdGlvbiBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24gYW5kIG5vdCB0byB0aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpOgoJICBUaGUgcHJldmlvdXMgcGFydGl0aW9uIGZpZWxkIG9mIHRoZSBwYXJ0aXRpb24gaXMgcmVsYXRpdmUKCSAgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFuZCBub3QgdG8gdGhlIG9mZnNldCBvZiB0aGUgaGVhZGVyCgkgIHBhcnRpdGlvbi4KCjIwMDgtMTItMDYgMTk6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZDEwLmM6IERvY3VtZW50IGRlY29kaW5nIG9mIHRoZSBBRVMzIGRhdGEgYW5kIGFsc28gc2tpcCB0aGUgMzIgYml0IGhlYWRlciBpbiB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGJ1ZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgRG9jdW1lbnQgZGVjb2Rpbmcgb2YgdGhlIEFFUzMgZGF0YSBhbmQgYWxzbyBza2lwIHRoZSAzMiBiaXQKCSAgaGVhZGVyIGluIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYnVmZmVyLCBvdGhlcndpc2Ugd2UgZ2V0CgkgIG9uZSBicm9rZW4gYXVkaW8gY2hhbm5lbC4KCjIwMDgtMTItMDUgMTI6MjY6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgZ2VuZXJpYyBkYXRhIGVzc2VuY2UgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgZ2VuZXJpYyBkYXRhIGVzc2VuY2UgZGVzY3JpcHRvci4KCjIwMDgtMTItMDUgMTA6MzI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogR2VuZXJhbGl6ZSBzb21lIGxpbmVzIG9mIGNvZGVzIHRoYXQgYXJlIG1vcmUgb3IgbGVzcyB0aGUgc2FtZSBieSBhIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgR2VuZXJhbGl6ZSBzb21lIGxpbmVzIG9mIGNvZGVzIHRoYXQgYXJlIG1vcmUgb3IgbGVzcyB0aGUgc2FtZQoJICBieSBhIG1hY3JvLgoKMjAwOC0xMi0wNCAyMDoxMToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZSB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBcHBhcmVudGx5IEFDX0NPTkZJR19NQUNST19ESVIgYnJlYWtzIHdoZW4gdXNpbmcgbW9yZQoJICB0aGFuIG9uZSBtYWNybyBkaXJlY3RvcnksIHJldmVydGluZyBsYXN0IGNoYW5nZS4KCjIwMDgtMTItMDQgMTk6NTA6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvIG91ciBNNCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU2V0IEFDX0NPTkZJR19NQUNST19ESVIgdG8gY29tbW9uL200IHRvIHBvaW50IGF1dG9jb25mIHRvCgkgIG91ciBNNCBtYWNyb3MuCgoyMDA4LTEyLTA0IDE3OjUxOjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBFbnN1cmUgd2UgZW1pdCBub3RpZnk6OmFjdGl2ZS1wYWQgd2hlbiBhdXRvLXNlbGVjdGluZyBhIHBhZCBkdWUgdG8gaXQgaGF2aW5nIGFjdGl2aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgRW5zdXJlIHdlIGVtaXQgbm90aWZ5OjphY3RpdmUtcGFkIHdoZW4gYXV0by1zZWxlY3RpbmcgYSBwYWQKCSAgZHVlIHRvIGl0IGhhdmluZyBhY3Rpdml0eSBhbmQgdXMgbm90IGhhdmluZyBhbiBleGlzdGluZyBhY3RpdmUKCSAgcGFkLiBGaXhlcyAjNTYzMTQ3CgoyMDA4LTEyLTA0IDEzOjI4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ29kaW5nIHN0eWxlIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgQ29kaW5nIHN0eWxlIGZpeGVzLgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBNUEVHLCBBQzMsIERUUyBhdWRpby4KCjIwMDgtMTItMDQgMDk6MjY6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWdub3JlIHplcm8gc2l6ZWQgZXNzZW5jZSBlbGVtZW50cy4gVGhleSdyZSBvZnRlbiBpbnNlcnRlZCB0byBmdWxmaWxsIHRoZSBzdHJlYW1pbmcgcmVxdWlyZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBJZ25vcmUgemVybyBzaXplZCBlc3NlbmNlIGVsZW1lbnRzLiBUaGV5J3JlIG9mdGVuIGluc2VydGVkCgkgIHRvIGZ1bGZpbGwgdGhlIHN0cmVhbWluZyByZXF1aXJlbWVudHMuCgoyMDA4LTEyLTA0IDA4OjUwOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBoZWlnaHQvd2lkdGggYW5kIFBBUiBvZiB2aWRlbyBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIEZpeCBzZXR0aW5nIG9mIHRoZSBoZWlnaHQvd2lkdGggYW5kIFBBUiBvZiB2aWRlbyBzdHJlYW1zLgoKMjAwOC0xMi0wNCAwODozNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBTTVBURSBEMTAgZXNzZW5jZSAoU01QVEUgMzg2TSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICBBZGQgc3VwcG9ydCBmb3IgU01QVEUgRDEwIGVzc2VuY2UgKFNNUFRFIDM4Nk0pLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgRG9uJ3Qgc2V0IHdpZHRoL2hlaWdodCBhbmQgUEFSIG9uIHRoZSBjYXBzIGFzIHRob3NlIHZhbHVlcyBhcmUKCSAgd3JvbmcgZm9yIG1vc3QgZmlsZXMgKGhlaWdodCBpcyBzb21ldGltZXMgdGhlIGhlaWdodCBvZiBhIGZpZWxkCgkgIGFuZCBhc3BlY3QgcmF0aW8gaXMgc29tZSByYW5kb20gdmFsdWUpLgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2Fwcyk6CgkgIEZpeCBjYWxjdWxhdGlvbiBvZiBibG9jayBhbGlnbiBpZiBpdCBpc24ndCBzZXQgaW4gdGhlIGRlc2NyaXB0b3IuCgoyMDA4LTEyLTAzIDE2OjA4OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIEFFUzMgYXVkaW8gKFNNUFRFIDM4Mk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgQUVTMyBhdWRpbyAoU01QVEUgMzgyTSkuCgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUuCgoyMDA4LTEyLTAzIDEzOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMTItMDMgMTE6NDM6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpOgoJICBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoKMjAwOC0xMi0wMyAxMDoxNToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBSZW1vdmUgRklYTUUsIHplcm8tVUxzIGFuZCBVTUlEcyBhcmUgcmVhbGx5IGludmFsaWQgYW5kIHdlIGNhbiB1c2UgdGhlbSBhcyAidW5zZXQiIHZhbHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIFJlbW92ZSBGSVhNRSwgemVyby1VTHMgYW5kIFVNSURzIGFyZSByZWFsbHkgaW52YWxpZCBhbmQgd2UgY2FuCgkgIHVzZSB0aGVtIGFzICJ1bnNldCIgdmFsdWUuCgoyMDA4LTEyLTAzIDA4OjA0OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFVzZSBhIHNpbmdsZSAidHJhY2tfJXUiIHNyYyBwYWQgdGVtcGxhdGUgYW5kIHVzZSB0aGUgdHJhY2sgSUQgb2YgdGhlIHBsYXliYWNrIHBhY2thZ2UgZm9yIHRoZSBwYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGEgc2luZ2xlICJ0cmFja18ldSIgc3JjIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIHRoZSB0cmFjayBJRAoJICBvZiB0aGUgcGxheWJhY2sgcGFja2FnZSBmb3IgdGhlIHBhZCBuYW1lIGluc3RlYWQgb2YgdGhlIHRyYWNrIElECgkgIG9mIHRoZSBzb3VyY2UgcGFja2FnZSwgYXMgdGhlIGxhdHRlciBjb3VsZCBiZSB0aGUgc2FtZSBmb3IKCSAgbW9yZSB0aGFuIG9uZSB0cmFjayBpZiB0aGV5J3JlIGluIGRpZmZlcmVudCBwYWNrYWdlcy4KCjIwMDgtMTItMDIgMDY6MjE6MjEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IFNvbWUgY29tcGlsZXJzIGNvbXBsYWluIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGU7IGFkZCBhIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IFNvbWUgY29tcGlsZXJzIGNvbXBsYWluIGFib3V0CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGU7IGFkZCBhIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkKCjIwMDgtMTItMDEgMTk6MzY6MzUgKzAwMDAgIOydtOusuO2YlSA8aXdpbmdzQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IERvbid0IGZvcmdldCB0byByZWxlYXNlIHRoZSBsb2NrIGFnYWluIGlmIHdlIGJhaWwgb3V0IGJlY2F1c2Ugc29tZSBwYWQgaXMgZmx1c2hpbmcgb3Igdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IOydtOusuO2YlSA8aXdpbmdzIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKToKCSAgRG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgdGhlIGxvY2sgYWdhaW4gaWYgd2UgYmFpbCBvdXQgYmVjYXVzZSBzb21lCgkgIHBhZCBpcyBmbHVzaGluZyBvciB3ZSd2ZSByZWFjaGVkIEVPUywgb3RoZXJ3aXNlIHRoaW5ncyB3aWxsIGxvY2sgdXAKCSAgbmV4dCB0aW1lIF9wdXNoX2J1ZmZlcigpIGlzIGNhbGxlZCAoIzU2MjgwMikuCgoyMDA4LTEyLTAxIDE2OjM3OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9hdG9tcy5jOiBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOiAoYnVpbGRfanAyaF9leHRlbnNpb24pOgoJICBGaXggbWoyIHNhbXBsZSBkZXNjcmlwdGlvbiBtZXRhZGF0YSBjb25zdHJ1Y3Rpb24uCgoyMDA4LTEyLTAxIDE1OjUwOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IFVzZSBuZXcgaW1hZ2UveC1qcGMgY2FwcyBmb3IgdGhlIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBVc2UgbmV3IGltYWdlL3gtanBjIGNhcHMgZm9yIHRoZSByYXcgSlBFRzIwMDAgY29kZXN0cmVhbS4KCSAgRm9yIG5vdyBhc3N1bWUgc1JHQiBhcyBjb2xvcnNwYWNlLCBoYXMgdG8gYmUgcmVhZCBmcm9tIHRoZSBkZXNjcmlwdG9yCgkgIHNvbWVob3cgbGF0ZXIuCgoyMDA4LTEyLTAxIDE1OjQ4OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanAyay86IEFkZCBpbWFnZS94LWpwYyBjYXBzIG5hbWUgZm9yIHJlYWwsIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtIGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfc2lua19zZXRjYXBzKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogKGdzdF9qYXNwZXJfZW5jX3Jlc2V0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfamFzcGVyX2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X2phc3Blcl9lbmNfc2lua19zZXRjYXBzKSwgKGdzdF9qYXNwZXJfZW5jX2dldF9kYXRhKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSAgQWRkIGltYWdlL3gtanBjIGNhcHMgbmFtZSBmb3IgcmVhbCwgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0gZGF0YS4KCSAgSW4gMC4xMSB3ZSBzaG91bGQgbWVyZ2UgaW1hZ2UveC1qMmMgYW5kIGltYWdlL3gtanBjIGFuZCBzaW1wbHkgZHJvcAoJICB0aGUgbm9uLXN0YW5kYXJkIGJveGluZyBpbiB0aGUgamFzcGVyIGVsZW1lbnRzIGFuZCBoYW5kbGUgaXQgaW4KCSAgcXRtdXgvcXRkZW11eC4KCSAgaW1hZ2UveC1qcGMgd2lsbCBiZSB1c2VkIGJ5IG14ZmRlbXV4IGxhdGVyLgoJICBBbHNvIGFkZCBzdXBwb3J0IGZvciBKUDIgb3V0cHV0IGluIGpwMmtlbmMuCgoyMDA4LTEyLTAxIDE1OjI0OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHRoZSBjb2RlYyBuYW1lLCBhbmQgaWYgcG9zc2libGUgdGhlIGF2ZyBiaXRyYXRlLCB0byB0aGUgcGFkJ3MgdGFnbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgdGhlIGNvZGVjIG5hbWUsIGFuZCBpZiBwb3NzaWJsZSB0aGUgYXZnIGJpdHJhdGUsIHRvIHRoZSBwYWQncyB0YWdsaXN0LgoKMjAwOC0xMi0wMSAxNDoyNToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZiB0aGUgcHJlZmFjZSByZWZlcmVuY2VzIGEgcHJpbWFyeSBwYWNrYWdlIHVzZSB0aGlzIGFzIHRoZSBkZWZhdWx0IHBsYXliYWNrIHBhY2thZ2UgdW5sZXNzIG9uZSB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpOgoJICBJZiB0aGUgcHJlZmFjZSByZWZlcmVuY2VzIGEgcHJpbWFyeSBwYWNrYWdlIHVzZSB0aGlzIGFzIHRoZSBkZWZhdWx0CgkgIHBsYXliYWNrIHBhY2thZ2UgdW5sZXNzIG9uZSB3YXMgc3BlY2lmaWVkIGJ5IHRoZSAicGFja2FnZSIgcHJvcGVydHkuCgkgIElmIHRoZXJlJ3Mgbm8gcHJlZmFjZSBwcmltYXJ5IHBhY2thZ2Ugc3RpbGwgdHJ5IHRvIHVzZSB0aGUgZmlyc3QKCSAgbWF0ZXJpYWwgcGFja2FnZS4KCjIwMDgtMTEtMzAgMTc6NTg6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWYgdGhlcmUncyBubyBkZXNjcmlwdG9yIGZvciB0aGUgdHJhY2sgaW4gdGhlIHRyYWNrJ3Mgc291cmNlIHBhY2thZ2UgYW5kIHRoZXJlJ3MgYSBzaW5nbGUgZGVzY3JpcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgSWYgdGhlcmUncyBubyBkZXNjcmlwdG9yIGZvciB0aGUgdHJhY2sgaW4gdGhlIHRyYWNrJ3Mgc291cmNlCgkgIHBhY2thZ2UgYW5kIHRoZXJlJ3MgYSBzaW5nbGUgZGVzY3JpcHRvciB3aXRob3V0IGEgbGlua2VkIHRyYWNrCgkgIGFzc3VtZSB0aGF0IGl0IGJlbG9uZ3MgdG8gdGhpcyB0cmFjay4KCjIwMDgtMTEtMzAgMTc6NDI6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTb21lIHJhbmRvbSBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX2Vzc2VuY2VfdHJhY2spOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLgoKMjAwOC0xMS0zMCAxNzoyNjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIHRvcC1sZXZlbCBzb3VyY2UgcGFja2FnZSBvciBtYXRlcmlhbCBwYWNrYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWRzKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXQpLCAoZ3N0X214Zl9kZW11eF9maW5kX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXhmX2RlbXV4X2dldF9wcm9wZXJ0eSksIChnc3RfbXhmX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl91bWlkX2Zyb21fc3RyaW5nKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIHRvcC1sZXZlbCBzb3VyY2UgcGFja2FnZSBvciBtYXRlcmlhbAoJICBwYWNrYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHBsYXliYWNrLgoKMjAwOC0xMS0zMCAxNjoyMTo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBNYWtlIHN1cmUgdGhhdCBkZW11eC0+b2Zmc2V0IGhhcyB0aGUgY29ycmVjdCB2YWx1ZSBiZWZvcmUgY2FsbGluZyBhbnkgZ3N0X214Zl9kZW11eF9oYW5kbGVfKiBmdW5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayk6CgkgIE1ha2Ugc3VyZSB0aGF0IGRlbXV4LT5vZmZzZXQgaGFzIHRoZSBjb3JyZWN0IHZhbHVlIGJlZm9yZQoJICBjYWxsaW5nIGFueSBnc3RfbXhmX2RlbXV4X2hhbmRsZV8qIGZ1bmN0aW9ucy4KCjIwMDgtMTEtMzAgMTQ6MTI6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTZXQgdGhlIGNvcnJlY3QgTVBFRyB2aWRlbyB2ZXJzaW9uIGlmIHBvc3NpYmxlIGFuZCBhZGQgc3VwcG9ydCBmb3IgTVBFRzQgdmlkZW8sIGluY2x1ZGluZyBjb2RlY19kYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9fY3JlYXRlX2NhcHMpOgoJICBTZXQgdGhlIGNvcnJlY3QgTVBFRyB2aWRlbyB2ZXJzaW9uIGlmIHBvc3NpYmxlIGFuZCBhZGQgc3VwcG9ydAoJICBmb3IgTVBFRzQgdmlkZW8sIGluY2x1ZGluZyBjb2RlY19kYXRhLgoKMjAwOC0xMS0yOSAyMDoyNTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGVuY29kZWQgdmlkZW8gZXNzZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF92aWRlb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBKUEVHMjAwMCBlbmNvZGVkIHZpZGVvIGVzc2VuY2UuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBTZXQgdGhlIGZyYW1lcmF0ZSBpbiB0aGUgdmlkZW8gY2Fwcy4KCjIwMDgtMTEtMjkgMjA6MDc6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiBEb24ndCB1bnJlZiB0aGUgZWxlbWVudCBpbnN0YW5jZSBpZiB3ZSBkb24ndCBvd24gYSByZWZlcmVuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfc2lua19zZXRjYXBzKToKCSAgRG9uJ3QgdW5yZWYgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaWYgd2UgZG9uJ3Qgb3duIGEgcmVmZXJlbmNlLgoKMjAwOC0xMS0yOSAxMzozMzozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ3lnd2luIFBvcnRzIG1haW50YWluZXIKCSAgPHlzZWxrb3dpdHogYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogYXV0b2dlbi5zaDoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbAoJICAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgc3RpbGwgd29yay4KCSAgRml4ZXMgYnVnICM1NTYwOTEuCgoyMDA4LTExLTI4IDE4OjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE9ubHkgdHJ5IHRvIHB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIGF0IHRoZSBlbmQgb2YgZmlsZSBvbmUgdGltZSBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgcGFja2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKToKCSAgT25seSB0cnkgdG8gcHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgYXQgdGhlIGVuZCBvZiBmaWxlIG9uZSB0aW1lCgkgIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBwYWNrZXQgaWYgaXQgZmFpbHMuCgoyMDA4LTExLTI4IDE4OjEzOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIEEtTGF3IGVuY29kZWQgYXVkaW8gZXNzZW5jZSAoU01QVEUgMzg4TSBhbmQgMzgyTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2F1ZGlvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgQWRkIHN1cHBvcnQgZm9yIEEtTGF3IGVuY29kZWQgYXVkaW8gZXNzZW5jZSAoU01QVEUgMzg4TSBhbmQgMzgyTSkuCgoyMDA4LTExLTI4IDE0OjIyOjUwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDgtMTEtMjggMTE6MjQ6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cywgd2hpY2ggd2lsbCBsYXRlciBiZSB1c2VkIGZvciBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2luZGV4X3RhYmxlX3NlZ21lbnQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksCgkgIChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMsIHdoaWNoIHdpbGwgbGF0ZXIgYmUKCSAgdXNlZCBmb3Igc2Vla2luZy4KCjIwMDgtMTEtMjggMDk6NDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBhdWRpb3Jlc2FtcGxlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBuZXcgZWxlbWVudCBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBVcGRhdGUgYXVkaW9yZXNhbXBsZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGVsZW1lbnQgbmFtZS4KCjIwMDgtMTEtMjggMDg6Mzc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQW5kIG5vdyBhbHNvIHVwZGF0ZSB0aGUgZGVidWcgY2F0ZWdvcnkgZnJvbSBhdWRpb3Jlc2FtcGxlIHRvIGxlZ2FjeXJlc2FtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIEFuZCBub3cgYWxzbyB1cGRhdGUgdGhlIGRlYnVnIGNhdGVnb3J5IGZyb20gYXVkaW9yZXNhbXBsZQoJICB0byBsZWdhY3lyZXNhbXBsZS4KCjIwMDgtMTEtMjcgMTk6Mjc6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSB0aGUgYnVpbGQgc3lzdGVtIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIHRoZSBidWlsZCBzeXN0ZW0gdG9vLgoKMjAwOC0xMS0yNyAxOToyMjo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIG9sZCBzcGVleHJlc2FtcGxlIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTQuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm01ZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2JmaW4uaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9kZWJ1Zy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGVfc3NlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzoKCSAgUmVtb3ZlIG9sZCBzcGVleHJlc2FtcGxlIGZpbGVzLgoKMjAwOC0xMS0yNyAxNzowNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOiBSZW1vdmUgb2xkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgUmVtb3ZlIG9sZCBmaWxlLgoKMjAwOC0xMS0yNyAxNzowNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDogQWRkIG1pc3NpbmcgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDgtMTEtMjcgMTY6NTg6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEludGVncmF0ZSB0aGUgbW92ZWQgYXVkaW9yZXNhbXBsZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gYW5kIHJlbmFtZSBpdCB0byBsZWdhY3lyZXNhbXBsZS4gRml4ZXMgYnVnICM1NTgxMjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgIEludGVncmF0ZSB0aGUgbW92ZWQgYXVkaW9yZXNhbXBsZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0gYW5kCgkgIHJlbmFtZSBpdCB0byBsZWdhY3lyZXNhbXBsZS4gRml4ZXMgYnVnICM1NTgxMjQuCgoyMDA4LTExLTI3IDE2OjI2OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIHJhbmRvbSBpbmRleCBwYWNrLCB3aGljaCBwcm92aWRlcyBhIHNlZWsgdGFibGUgKGluY2x1ZGluZyBib2R5IHNpZCkgdG8gdGhlIHN0YXJ0IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9yYW5kb21faW5kZXhfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spLCAoZ3N0X214Zl9kZW11eF9sb29wKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3JhbmRvbV9pbmRleF9wYWNrX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgcmFuZG9tIGluZGV4IHBhY2ssIHdoaWNoIHByb3ZpZGVzIGEgc2VlawoJICB0YWJsZSAoaW5jbHVkaW5nIGJvZHkgc2lkKSB0byB0aGUgc3RhcnQgb2YgcGFydGl0aW9uIHBhY2tzLgoJICBMYXRlciB0aGlzIHdpbGwgYmUgdXNlZCBmb3IgcmVhZGluZyBhbGwgaW5kZXggdGFibGUgc2VnbWVudHMgb2YKCSAgdGhlIGNvbXBsZXRlIGZpbGUgZWZmaWNpZW50bHkuCgoyMDA4LTExLTI3IDEwOjA5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGZ1bmRhbWVudGFsIHN1cHBvcnQgZm9yIERWLURJRiBlc3NlbmNlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2lzX2Rlc2NyaXB0aXZlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIEFkZCBmdW5kYW1lbnRhbCBzdXBwb3J0IGZvciBEVi1ESUYgZXNzZW5jZSBzdHJlYW1zLgoJICBIYW5kbGUgZGVzY3JpcHRpdmUgbWV0YWRhdGEgcGFja2V0cyBhcyBtZXRhZGF0YSBwYWNrZXRzLgoKMjAwOC0xMS0yNyAwODo0OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC4qOiBPbmx5IHRyeSB0byBwdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgb25jZSBhbmQgbm90IG9uIGV2ZXJ5IEtMViBwYWNrZXQgaWYgaXQgZmFpbGVkIGJlZm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIE9ubHkgdHJ5IHRvIHB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBvbmNlIGFuZCBub3Qgb24gZXZlcnkgS0xWIHBhY2tldAoJICBpZiBpdCBmYWlsZWQgYmVmb3JlLgoKMjAwOC0xMS0yNiAxMjo0MDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmIHRvIGl0IHdoZW4gYSBzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSk6CgkgIE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZgoJICB0byBpdCB3aGVuIGEgc2Vzc2lvbiBjbGVhbnVwIG9jY3VycyB3aGVuIHdlIGFyZSBlbWl0aW5nIGEgc2lnbmFsLgoJICBFbWl0IHRoZSBvbl9uZXdfc3NyYyBzaWduYWwgZm9yIHRoZSBDU1JDLCBub3QgdGhlIFNTUkMuCgkgIEZpeGVzICM1NjIzMTkuCgoyMDA4LTExLTI2IDEyOjAyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBGaXhlcyAjNTYyMzEyLgoKMjAwOC0xMS0yNiAxMTo0NDozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4gdGhlIG1ldGhvZCBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fcmVzZXRfc3luYyksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbgoJICB0aGUgbWV0aG9kIGNhbGwuCgkgIEFkZCBzaWduYWwgdG8gcmVzZXQgc3luYyBwYXJhbWV0ZXJzLgoJICBBdm9pZCBwYXJzaW5nIHRoZSBjYXBzIHRvIGdldCBhIGNsb2NrX2Jhc2UsIHdlIGdldCB0aGlzIGZyb20gdGhlIHN5bmMKCSAgc2lnbmFsIG5vdy4KCjIwMDgtMTEtMjYgMTE6MzA6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogUHJvcGVybHkgY29tYmluZSBmbG93IHJldHVybnMgb2YgdGhlIHNvdXJjZSBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLCAoZ3N0X214Zl9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIFByb3Blcmx5IGNvbWJpbmUgZmxvdyByZXR1cm5zIG9mIHRoZSBzb3VyY2UgcGFkcy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYW5kIHJlc2V0IHBhZCBmaWVsZHMgdG9nZXRoZXIgd2l0aCB0aGUKCSAgbWV0YWRhdGEgdG8gcHJldmVudCBpbnZhbGlkIG1lbW9yeSByZWZlcmVuY2VzLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKToKCSAgRml4IHR5cG8uCgoyMDA4LTExLTI2IDEwOjM3OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogV2hlbiBtZW1zZXQnaW5nIHRoZSBkZXNjcmlwdG9ycyB0byB6ZXJvZXMgb25seSB0b3VjaCB0aGUgcGFydCBvZiB0aGlzIGRlc2NyaXB0b3IsIG5vdCBpdCdzIHBhcmVudCB0eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgV2hlbiBtZW1zZXQnaW5nIHRoZSBkZXNjcmlwdG9ycyB0byB6ZXJvZXMgb25seSB0b3VjaCB0aGUgcGFydAoJICBvZiB0aGlzIGRlc2NyaXB0b3IsIG5vdCBpdCdzIHBhcmVudCB0eXBlLgoJICBTZXQgY29ycmVjdCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsIG1ldGFkYXRhIGZpZWxkcy4KCjIwMDgtMTEtMjYgMDQ6NTc6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBFbmFibGUgbGF0ZW5jeSBjb2RlLCBzaW5jZSB3ZSdyZSBkZWZpbml0ZWx5IGFmdGVyIDAuMTAuMTIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgRW5hYmxlIGxhdGVuY3kgY29kZSwgc2luY2Ugd2UncmUgZGVmaW5pdGVseSBhZnRlciAwLjEwLjEyCgoyMDA4LTExLTI1IDE4OjI4OjE4ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSAgZXh0L3NwYy9nc3RzcGMuYzogUG9zdCBhbiBlcnJvciBhbmQgcHVzaCBFT1Mgd2hlbiB3ZSBjYW4ndCBzdGFydCBwbGF5YmFjayBmb3Igc29tZSByZWFzb24uIGFsc28gYXZvaWQgYSBjcmFzaCB3aGVuIGZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLCAoc3BjX3NldHVwKToKCSAgUG9zdCBhbiBlcnJvciBhbmQgcHVzaCBFT1Mgd2hlbiB3ZSBjYW4ndCBzdGFydCBwbGF5YmFjayBmb3Igc29tZSByZWFzb24uCgkgIGFsc28gYXZvaWQgYSBjcmFzaCB3aGVuIGZlZCBhbiBlbXB0eSBmaWxlLiBGaXhlcyAjNDgwNTQzLgoKMjAwOC0xMS0yNSAxNjozNzo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiBNYWtlIHVuaXQgdGVzdCBhZ2FpbiBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cyB3aXRoIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6ICh0ZXN0X3BpcGVsaW5lKToKCSAgTWFrZSB1bml0IHRlc3QgYWdhaW4gZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMgd2l0aCB2YWxncmluZC4KCjIwMDgtMTEtMjUgMTU6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBldmVudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBldmVudCBsZWFrLgoKMjAwOC0xMS0yNSAxNDo0OTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNldCB2aWRlbyBkaW1lbnNpb25zIGFuZCBwaXhlbCBhc3BlY3QgcmF0aW8gb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9fY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFNldCB2aWRlbyBkaW1lbnNpb25zIGFuZCBwaXhlbCBhc3BlY3QgcmF0aW8gb24gdGhlIGNhcHMuCgoyMDA4LTExLTI1IDEwOjI2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgcGFyc2luZyBvZiBSR0JBIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEFkZCBpbml0aWFsIHBhcnNpbmcgb2YgUkdCQSBkZXNjcmlwdG9ycy4KCSAgRG9uJ3QgaW5pdGlhbGl6ZSBkZXNjcmlwdG9yIEdBcnJheSB3aXRoIHplcm9lcy4KCjIwMDgtMTEtMjUgMDk6Mzg6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZXdyaXRlIHBhcnNpbmcgb2YgZGVzY3JpcHRvcnMgdG8gZ28gdG9wLWRvd24gaW5zdGVhZCBvZiBib3R0b20tdXAgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZSB0aGUgYnVmZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9wcmltZXJfcGFja19wYXJzZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBSZXdyaXRlIHBhcnNpbmcgb2YgZGVzY3JpcHRvcnMgdG8gZ28gdG9wLWRvd24gaW5zdGVhZCBvZiBib3R0b20tdXAKCSAgd2hpY2ggbWFrZXMgaXQgcG9zc2libGUgdG8gaGF2ZSB0aGUgYnVmZmVyIGRhdGEgbm9uLXdyaXRhYmxlLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMTEtMjUgMDA6MjA6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBuZXcgZGlyZWN0b3J5IGZvciBuZXcgYWNtbXAzZGVjIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBZGQgbmV3IGRpcmVjdG9yeSBmb3IgbmV3IGFjbW1wM2RlYyBwbHVnaW4KCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvYWNtbXAzZGVjLmM6CgkgIEFkZCBuZXcgYWNtbXAzZGVjIHBsdWdpbiwgd2hpY2ggdXNlcyBBQ00gZm9yIGRlY29kaW5nIG1wMyBvbiB3aW5kb3dzLgoKMjAwOC0xMS0yNCAxMTozMToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBNYWtlIHN1cmUgdG8gb25seSBvdXRwdXQgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZSBlbGVtZW50cyBmb3IgYSB0cmFjayBpZiB0aGUgYm9keSBTSUQgb2YgdGhlIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIE1ha2Ugc3VyZSB0byBvbmx5IG91dHB1dCBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlIGVsZW1lbnRzCgkgIGZvciBhIHRyYWNrIGlmIHRoZSBib2R5IFNJRCBvZiB0aGUgc3Vycm91bmRpbmcgcGFydGl0aW9uIGlzCgkgIHRoZSBzYW1lIGFzIHRoZSBib2R5IFNJRCBvZiB0aGUgdHJhY2sncyBzb3VyY2UgcGFja2FnZS4KCjIwMDgtMTEtMjQgMTE6MTc6MTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cyBrZXlmcmFtZS4gTWFyayB0aGUgZGlzY29udCBmbGFnIHdoZW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTExLTI0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBNYXJrCgkgIHRoZSBkaXNjb250IGZsYWcgd2hlbiB3ZSd2ZSBtb3ZlZCBpbiB0aGUgZmlsZS4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6IE1QMwoJICBzdHJlYW1zCgkgIGFyZSBwYXJzZWQgYWxyZWFkeSwgbWFrZXMgYXV0b3BsdWdnZWQgcGlwZWxpbmVzIHNob3J0ZXIuCgoyMDA4LTExLTI0IDEwOjQ2OjAxICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgQUMzL0RUUy9MUENNIGludG8gTVBFRyBUUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KToKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIEFDMy9EVFMvTFBDTSBpbnRvIE1QRUcgVFMuCgkgIEZpeGVzIGJ1ZyAjNTUwNjEzLgoKMjAwOC0xMS0yNCAxMDo0MToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFsbG93IG5vbi1NWEYgS0xWIHBhY2tldHMgYW5kIGp1c3QgZHJvcCB0aGVtIGluc3RlYWQgb2YgdGhyb3dpbmcgYW4gZXJyb3IgYW5kIGhhbmRsZSA5IGJ5dGUgcHJvZHVjdCB2ZXJzaW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSk6CgkgIEFsbG93IG5vbi1NWEYgS0xWIHBhY2tldHMgYW5kIGp1c3QgZHJvcCB0aGVtIGluc3RlYWQgb2YgdGhyb3dpbmcKCSAgYW4gZXJyb3IgYW5kIGhhbmRsZSA5IGJ5dGUgcHJvZHVjdCB2ZXJzaW9ucyBhcyB3cml0dGVuIGJ5IEF2aWQuCgkgIFRoaXMgZG9lc24ndCBhZGQgc3VwcG9ydCBmb3IgdGhlIG5vbi1zdGFuZGFyZCBBdmlkIE1YRiBmaWxlcwoJICBidXQgYXQgbGVhc3QgbWFrZXMgaXQgcG9zc2libGUgdG8gcGFyc2UgdGhlaXIgaGVhZGVyIG1ldGFkYXRhLgoJICBGaXggYSBjb3B5JnBhc3RlIGVycm9yIGluIGRlYnVnIG91dHB1dC4KCjIwMDgtMTEtMjMgMTc6NTA6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrLzogUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzoKCSAgTm8gcHJpbnRmIHBsZWFzZS4KCjIwMDgtMTEtMjMgMTE6MjU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogQWN0dWFsbHkgd2Ugc3VwcG9ydCBhIGxlbmd0aCBzdG9yZWQgaW5zaWRlIDggYnl0ZXMgYnV0IGl0IG11c3QgYmUgc21hbGxlciB0aGFuIEdfTUFYVUlOVCBmb3IgR3N0Qi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgQWN0dWFsbHkgd2Ugc3VwcG9ydCBhIGxlbmd0aCBzdG9yZWQgaW5zaWRlIDggYnl0ZXMgYnV0IGl0IG11c3QKCSAgYmUgc21hbGxlciB0aGFuIEdfTUFYVUlOVCBmb3IgR3N0QnVmZmVyLgoKMjAwOC0xMS0yMyAxMToxNjozNiArMDAwMCAgVGFsIFNoYWxpZiA8dHNoYWxpZkBuYXJnaWxhLm9yZz4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBGaXggZm9ybWF0IHN0cmluZy4gRml4ZXMgYnVnICM1NjE5OTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIChyc25fZHZkc3JjX3ByZXBhcmVfc3RyZWFtc2luZm9fZXZlbnQpOgoJICBGaXggZm9ybWF0IHN0cmluZy4gRml4ZXMgYnVnICM1NjE5OTIuCgoyMDA4LTExLTIyIDE1OjMxOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgcHJvcGVydHkgdG8gY29uZmlndXJlIHRoZSBSVENQIE1UVS4KCjIwMDgtMTEtMjIgMTU6MjQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNvcHlfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBBZGQgcHJvcGVydHkgdG8gcmV0dXJuIGEgR1ZhbHVlQXJyYXkgb2YgYWxsIGtub3duIFJUUFNvdXJjZXMgaW4gdGhlCgkgIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9jcmVhdGVfc2RlcyksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIFJlbW92ZSBwcm9wZXJ0aWVzIHRvIHNldCB0aGUgdmFyaW91cyBTREVTIGl0ZW1zLCBhbiBhcHBsaWNhdGlvbiBpcyBuZXZlcgoJICBzdXBwb3NlZCB0byBjaGFuZ2UgdGhlIFJUUFNvdXJjZSBkYXRhLgoJICBDaGFuZ2UgdGhlIFNERVMgZ2V0dGVyIHByb3BlcnRpZXMgdG8gb25lIFNERVMgcHJvcGVydHkgdGhhdCByZXR1cm5zIGFsbAoJICBTREVTIGl0ZW1zIGluIGEgR3N0U3RydWN0dXJlLgoKMjAwOC0xMS0yMiAxNTowMjoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiBNYWtlIHRoZSB1bml0IHRlc3QgYSBiaXQgZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMsIGVzcGVjaWFsbHkgd2l0aCB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIHRoZSB1bml0IHRlc3QgYSBiaXQgZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMsIGVzcGVjaWFsbHkKCSAgd2l0aCB2YWxncmluZC4KCjIwMDgtMTEtMjIgMTQ6NTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTb21lIG1vcmUgZm9ybWF0IHN0cmluZyBmaXhlcyBhbmQgdXNhZ2Ugb2YgZ3VpbnQgaW5zdGVhZCBvZiBnaW50IHdoZXJlIG5lZ2F0aXZlIHZhbHVlcyBkb24ndCBtYWtlIHNlbnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAoZ3N0X214Zl91bF9oYXNoKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKToKCSAgU29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgZml4ZXMgYW5kIHVzYWdlIG9mIGd1aW50IGluc3RlYWQgb2YgZ2ludAoJICB3aGVyZSBuZWdhdGl2ZSB2YWx1ZXMgZG9uJ3QgbWFrZSBzZW5zZS4KCjIwMDgtMTEtMjIgMTQ6NDI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDY0IG9yIGdzaXplIGZvciBhbGwgYnVmZmVyIHNpemVzIGFuZCB1c2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgdGhlbS4gT25seSBsby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2FuZF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl90aW1lc3RhbXBfcGFyc2UpLCAobXhmX2ZyYWN0aW9uX3BhcnNlKSwKCSAgKG14Zl91dGYxNl90b191dGY4KSwgKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDY0IG9yIGdzaXplIGZvciBhbGwgYnVmZmVyIHNpemVzIGFuZAoJICB1c2UgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgdGhlbS4gT25seSBsb2NhbCB0YWcgc2V0IHNpemVzCgkgIGFyZSBzdGlsbCBndWludDE2IGFzIHRoZXkgY2FuJ3QgYmUgbGFyZ2VyLgoJICBPbmx5IGFsbG93IEtMViBwYWNrZXRzIG9mIHNpemVzIGJlbG93IDE8PDMyIGFzIEdTdHJlYW1lciBvbmx5IHVzZXMKCSAgZ3VpbnQgZm9yIGJ1ZmZlciBzaXplcy4gVGhlIE1YRiBzdGFuZGFyZCBhbGxvd3MgcGFja2V0IHNpemVzIHVwCgkgIHRvIDE8PDY0LgoKMjAwOC0xMS0yMiAxMzoxNzoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBBbHNvIHVucmVmIHRoZSB0YXJnZXQgcGFkIGZvciB1bmtub3duIHBhZHMuCgoyMDA4LTExLTIyIDA4OjIzOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mICIldSIgZm9yIGEgc2l6ZV90IHZhcmlhYmxlIGluIHRoZSBmb3JtYXQgc3RyaW5nIHRvIHByZXZlbnQgYSBjb21waWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3Bfc29ja2V0X3dyaXRlKToKCSAgVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgIiV1IiBmb3IgYSBzaXplX3QgdmFyaWFibGUgaW4KCSAgdGhlIGZvcm1hdCBzdHJpbmcgdG8gcHJldmVudCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTIxIDE2OjE3OjIyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCjIwMDgtMTEtMjEgMTU6NDU6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWRkIGEgImZpbHRlci1sZW5ndGgiIHByb3BlcnR5IHRoYXQgbWFwcyB0byB0aGUgcXVhbGl0eSB2YWx1ZXMgZm9yIGNvbXBhdGliaWx0eS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfcHJvcGVydHkpOgoJICBBZGQgYSAiZmlsdGVyLWxlbmd0aCIgcHJvcGVydHkgdGhhdCBtYXBzIHRvIHRoZSBxdWFsaXR5IHZhbHVlcwoJICBmb3IgY29tcGF0aWJpbHR5IHdpdGggYXVkaW9yZXNhbXBsZS4KCjIwMDgtMTEtMjEgMTA6Mzc6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHRoZSAiZXhwZXJpbWVudGFsIiBmbGFnIGZyb20gdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIHRoZSAiZXhwZXJpbWVudGFsIiBmbGFnIGZyb20gdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4uCgoyMDA4LTExLTIxIDEwOjI3OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBNWEYgZGVtdXhlci4gQ3VycmVudGx5IGl0IHN1cHBvcnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLCAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfcGFkX2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfcGFkX2NsYXNzX2luaXQpLCAoZ3N0X214Zl9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2ZsdXNoKSwgKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZCksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0X214Zl9zdGF0ZSksIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXQpLCAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcGFydGl0aW9uX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcHJpbWVyX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcHJlZmFjZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbiksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3RyYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3NlcXVlbmNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2xvY2F0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfc3lzdGVtX2l0ZW0pLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3JhbmRvbV9pbmRleF9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2luZGV4X3RhYmxlX3NlZ21lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfYW5kX2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfbG9vcCksCgkgIChnc3RfbXhmX2RlbXV4X2NoYWluKSwgKGdzdF9teGZfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5X3R5cGUpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlKSwgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9teGZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfbXhmX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9teGZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2luaXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfaXNfbXBlZ192aWRlb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfdmlkZW9fY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pc19teGZfcGFja2V0KSwgKG14Zl9pc19wYXJ0aXRpb25fcGFjayksCgkgIChteGZfaXNfaGVhZGVyX3BhcnRpdGlvbl9wYWNrKSwgKG14Zl9pc19ib2R5X3BhcnRpdGlvbl9wYWNrKSwKCSAgKG14Zl9pc19mb290ZXJfcGFydGl0aW9uX3BhY2spLCAobXhmX2lzX2ZpbGwpLAoJICAobXhmX2lzX3ByaW1lcl9wYWNrKSwgKG14Zl9pc19tZXRhZGF0YSksCgkgIChteGZfaXNfcmFuZG9tX2luZGV4X3BhY2spLCAobXhmX2lzX2luZGV4X3RhYmxlX3NlZ21lbnQpLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX3N5c3RlbV9pdGVtKSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfY29udGFpbmVyX2xhYmVsKSwKCSAgKG14Zl91bF9pc19lcXVhbCksIChteGZfdWxfaXNfemVybyksIChteGZfdWxfdG9fc3RyaW5nKSwKCSAgKG14Zl91bWlkX2lzX2VxdWFsKSwgKG14Zl91bWlkX2lzX3plcm8pLCAobXhmX3VtaWRfdG9fc3RyaW5nKSwKCSAgKGdzdF9teGZfdWxfaGFzaCksIChnc3RfbXhmX3VsX2VxdWFsKSwgKG14Zl90aW1lc3RhbXBfcGFyc2UpLAoJICAobXhmX3RpbWVzdGFtcF9pc191bmtub3duKSwgKG14Zl90aW1lc3RhbXBfY29tcGFyZSksCgkgIChteGZfZnJhY3Rpb25fcGFyc2UpLCAobXhmX3V0ZjE2X3RvX3V0ZjgpLAoJICAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3Jlc2V0KSwgKF9teGZfbWFwcGluZ191bF9mcmVlKSwKCSAgKG14Zl9wcmltZXJfcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcmVzZXQpLAoJICAobXhmX2xvY2FsX3RhZ19wYXJzZSksIChnc3RfbXhmX2xvY2FsX3RhZ19mcmVlKSwKCSAgKGdzdF9tZXRhZGF0YV9hZGRfY3VzdG9tX3RhZyksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNldCksIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzZXQpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19yZXNldCksIChteGZfbWV0YWRhdGFfdHJhY2tfaWRlbnRpZmllcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBNWEYgZGVtdXhlci4gQ3VycmVudGx5IGl0IHN1cHBvcnRzCgkgIE1QRUcgdmlkZW8gYW5kIHJhdyBhdWRpbyBhbmQgT1AgMWEvYi9jLgoKMjAwOC0xMS0yMSAwMDo0NzozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDogRml4IGZsdXNoaW5nL3NlZWtpbmcgcHJvYmxlbXMgcmV0dXJuaW5nIGVycm9yIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIEZpeCBmbHVzaGluZy9zZWVraW5nIHByb2JsZW1zIHJldHVybmluZyBlcnJvciBjb2RlLgoJICBGaXggbXAzIGRlY29kaW5nIHdpdGggd2luWFAgKGNyYXNoZWQgcmFuZG9tbHksIG9jY2FzaW9uYWxseSkuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgRml4IHByb2JsZW1zIHdoZW4gZnJhbWVyYXRlIGlzIG1pc3NpbmcgZnJvbSB2aWRlby4KCjIwMDgtMTEtMjAgMTg6NDE6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdldF9jdXJyZW50X3RpbWVzKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCk6CgkgIFBhc3MgdGhlIHJ1bm5pbmcgdGltZSB0byB0aGUgc2Vzc2lvbiB3aGVuIHByb2Nlc3NpbmcgUlRQIHBhY2tldHMuCgkgIEltcHJvdmUgdGhlIHRpbWUgZnVuY3Rpb24gdG8gcHJvdmlkZSBtb3JlIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFyayB0aGUgaW50ZXJuYWwgc291cmNlIHdpdGggYSBmbGFnLgoJICBVc2UgcnVubmluZ190aW1lIGluc3RlYWQgb2YgdGhlIG1vcmUgdXNlbGVzcyB0aW1lc3RhbXAuCgkgIFZhbGlkYXRlIGEgc291cmNlIHdoZW4gYSB2YWxpZCBTREVTIGhhcyBiZWVuIHJlY2VpdmVkLgoJICBQYXNzIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lIHdoZW4gcHJvY2Vzc2luZyBTUiBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2NyZWF0ZV9zdGF0cyksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgc291cmNlIHN0YXRzLgoJICBNYXJrIHBhcmFtcyBhcyBTVEFUSUNfU1RSSU5HUy4KCSAgQ2FsY3VsYXRlIHRoZSBiaXRyYXRlIGF0IHRoZSBzZW5kZXIgU1NSQy4KCSAgQXZvaWQgbmVnYXRpdmUgdmFsdWVzIGluIHRoZSByb3VuZCB0cmlwIHRpbWUgY2FsY3VsYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVwZGF0ZSBzb21lIGRvY3MgYW5kIGNoYW5nZSBzb21lIHZhcmlhYmxlIG5hbWUgdG8gbW9yZSBjbG9zZWx5IHJlZmxlY3QKCSAgd2hhdCBpdCBjb250YWlucy4KCjIwMDgtMTEtMjAgMTY6MDE6MjcgKzAwMDAgIExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCgkgIGdzdC9kY2NwLzogQ29kZVN0eWxlIGltcHJvdmVtZW50cyBhbmQgbWlub3IgZml4ZXMgdG8gdGhlIERDQ1AgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICBDb2RlU3R5bGUgaW1wcm92ZW1lbnRzIGFuZCBtaW5vciBmaXhlcyB0byB0aGUgRENDUCBwbHVnaW4uCgkgIEZpeGVzICM1NTM4MjMuCgoyMDA4LTExLTIwIDA4OjE5OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCk6CgkgIEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQKCSAgdmFyaWFibGUuCgoyMDA4LTExLTE5IDE2OjQ4OjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpOgoJICBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoKMjAwOC0xMS0xOSAwOTowNjoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jIG5vdGlmaWNhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLCAoZnJlZV9zdHJlYW0pLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYwoJICBub3RpZmljYXRpb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW50ZXJuYWxfbGlua3MpLCAoY3JlYXRlX3J0Y3Bfc2luayksCgkgIChyZW1vdmVfcnRjcF9zaW5rKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX3J0Y3BfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VuZCBTUiBwYWNrZXRzIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIENoZWNrIGlmIHRoZSBTUiB0aW1lc3RhbXBzIGFyZSB2YWxpZCBieSBjb21wYXJpbmcgdGhlbSB0byB0aGUgUlRQCgkgIHRpbWVzdGFtcHMuCgkgIFNpZ25hbCB0aGUgU1IgcGFja2V0IGFuZCB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHRvIGxpc3RlbmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgc2VlbiBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIGZpbHRlciBvdXQKCSAgaW52YWxpZCBTUiBwYWNrZXRzLgoKMjAwOC0xMS0xOCAxNjo1MjoxMSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6IEF2b2lkIGRlYWRsb2NrIGR1cmluZyBwYWQgYWN0aXZhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBBdm9pZCBkZWFkbG9jayBkdXJpbmcgcGFkIGFjdGl2YXRpb24uCgkgIEZpeGVzICM1NjEyNDEuCgoyMDA4LTExLTE4IDAxOjA5OjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5CgkgIGFkZGVkLgoKMjAwOC0xMS0xNyAxOTo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkCgkgIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcyBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTE3IDE1OjE3OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlIHZhbHVlIGZyb20gdGhlIGppLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZQoJICB2YWx1ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIFBhc3MgdGhlIGNsb2NrLXJhdGUgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQWxzbyBwYXNzIHRoZSBjbG9jay1yYXRlIGFsb25nIHdpdGggdGhlIHJ0cCB0aW1lc3RhbXAgd2hlbiBnZXR0aW5nIHRoZQoJICBzeW5jIHBhcmFtZXRlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgY2xvY2stcmF0ZSBjaGFuZ2VzIGFuZCByZXR1cm4gdGhlIGNsb2NrLXJhdGUgdG9nZXRoZXIgd2l0aAoJICB0aGUgcnRwIHRpbWVzdGFtcHMgdXNlZCBmb3Igc3luYy4KCSAgRG9uJ3QgdHJ5IHRvIGNvbnN0cnVjdCB0aW1lc3RhbXBzIHdoZW4gd2UgaGF2ZSBubyBiYXNlX3RpbWUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIFJlcXVlc3QgYSBuZXcgY2xvY2stcmF0ZSB3aGVuIHRoZSBwYXlsb2FkIHR5cGUgY2hhbmdlcy4KCSAgUmVzZXQgdGhlIGppdHRlciBjYWxjdWxhdGlvbiB3aGVuIHRoZSBjbG9jay1yYXRlIGNoYW5nZXMuCgoyMDA4LTExLTE3IDA5OjMzOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZV9kYXRhLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2VfZGF0YS5oOgoJICBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDgtMTEtMTUgMDI6NTY6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4Lio6IFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgoyMDA4LTExLTE0IDIzOjAxOjU2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IEFkZCBzb21lIG9mIG91ciBmYXZvcml0ZSBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IEFkZCBzb21lIG9mIG91ciBmYXZvcml0ZSBjb2RlY3MuCgoyMDA4LTExLTE0IDIxOjQ0OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogR3VhcmQgYWdhaW5zdCBhIE5VTEwgZGVyZWZlcmVuY2UgSSBzb21laG93IGVuY291bnRlcmVkIC0gd2l0aCBhIEZMVVNIX1NUT1AgYXJyaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIEd1YXJkIGFnYWluc3QgYSBOVUxMIGRlcmVmZXJlbmNlIEkgc29tZWhvdyBlbmNvdW50ZXJlZCAtCgkgIHdpdGggYSBGTFVTSF9TVE9QIGFycml2aW5nIGVpdGhlciBiZWZvcmUgYmFzZXRyYW5zZm9ybSBfc3RhcnQoKSwKCSAgb3IgYWZ0ZXIgX3N0b3AoKS4KCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgTWFrZSBzdXJlIHdlIG5ldmVyIGp1bXAgYmFja3dhcmRzIHdoZW4gdHlwZWZpbmRpbmcgY29ycnVwdCBtb3YgZmlsZXMuCgoyMDA4LTExLTE0IDIxOjI0OjUxICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IFJldmVydCBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoKMjAwOC0xMS0xNCAyMDozODoxOCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgTEdQTC9NSVQsIGFzIGFwcGFyZW50bHkgc3VwcG9zZWQgdG8uCgoyMDA4LTExLTE0IDIwOjE3OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOiAoYnVpbGRfZXNkc19leHRlbnNpb24pLAoJICAoYnVpbGRfbW92X2FhY19leHRlbnNpb24pLCAoYnVpbGRfanAyaF9leHRlbnNpb24pLAoJICAoYnVpbGRfY29kZWNfZGF0YV9leHRlbnNpb24pOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYXVkaW9fc2lua19zZXRfY2FwcyksCgkgIChnc3RfcXRfbXV4X3ZpZGVvX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiAoZ3N0X3F0X211eF9tYXBfZm9ybWF0X3RvX2hlYWRlcik6CgkgIEN1dCBkZXRvdXIgaW4gc2FtcGxlIGRlc2NyaXB0aW9uIGV4dGVuc2lvbiBjb25zdHJ1Y3Rpb24uCgkgIEFsc28gYWN0dWFsbHkgaW1wbGVtZW50IElTTyBKUEVHMjAwMCBtajIgZm9ybWF0LgoKMjAwOC0xMS0xNCAxOTo1MjoyNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IENvbnN0cnVjdCBzb3VyY2UgY2FwcyBpbiBtb3JlIGNvbnZlbnRpb25hbCAoYW5kIGNvcnJlY3QpIG1hbm5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2Fwcyk6CgkgIENvbnN0cnVjdCBzb3VyY2UgY2FwcyBpbiBtb3JlIGNvbnZlbnRpb25hbCAoYW5kIGNvcnJlY3QpIG1hbm5lci4KCjIwMDgtMTEtMTQgMTY6MTU6NDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbm8gbW9yZSBlZ2dpbmcgdGhlIHB1ZGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG5vIG1vcmUgZWdnaW5nIHRoZSBwdWRkaW5nCgoyMDA4LTExLTE0IDE0OjIzOjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QtbGlicy9nc3QvcGxheS86IFJlbW92ZSBjcnVmdC4gVGhpcyBpcyBub3QgZW50ZXJlZCBieSBtYWtlIGFuZCBpdHMgbm90IGV2ZW4gY29tcGlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvLmN2c2lnbm9yZToKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS52Y3Byb2o6CgkgIFJlbW92ZSBjcnVmdC4gVGhpcyBpcyBub3QgZW50ZXJlZCBieSBtYWtlIGFuZCBpdHMgbm90IGV2ZW4gY29tcGlsYWJsZS4KCjIwMDgtMTEtMTMgMjI6MzA6NTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNvcnJlY3RseSBpbiB0aGUgZW5jb2RlciBBUEksIGFzIHdlbGwgYXMgc29tZSBkZWZhdWx0IGdzdHJlYW1lcmlzaCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGVuY29kZXIgQVBJLCBhcyB3ZWxsCgkgIGFzIHNvbWUgZGVmYXVsdCBnc3RyZWFtZXJpc2ggY29sb3JzcGFjZSBwcm9wZXJ0aWVzLiAgQWxzbywKCSAgYXBwYXJlbnRseSwgY2hhbmdlIGEgYnVuY2ggb2YgaW5kZW50YXRpb24uCgoyMDA4LTExLTEzIDIxOjQ0OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcDJrLzogQWRkIGpwMmtlbmMgdG8ganAyayBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiAoZ3N0X2phc3Blcl9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2phc3Blcl9lbmNfaW5pdCksCgkgIChnc3RfamFzcGVyX2VuY19yZXNldCksIChnc3RfamFzcGVyX2VuY19zZXRfc3JjX2NhcHMpLAoJICAoZ3N0X2phc3Blcl9lbmNfaW5pdF9lbmNvZGVyKSwgKGdzdF9qYXNwZXJfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfamFzcGVyX2VuY19nZXRfZGF0YSksIChnc3RfamFzcGVyX2VuY19jaGFpbiksCgkgIChnc3RfamFzcGVyX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2phc3Blcl9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYXNwZXJfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmg6CgkgICogZXh0L2pwMmsvZ3N0anAyay5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQganAya2VuYyB0byBqcDJrIHBsdWdpbi4KCjIwMDgtMTEtMTMgMjE6MzE6MTQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZGVjLio6IE1ha2UgcGFkIHRlbXBsYXRlIGNhcHMgcmVmbGVjdCB0aGUgc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19yZXNldCksIChnc3RfamFzcGVyX2RlY19uZWdvdGlhdGUpLAoJICAoZ3N0X2phc3Blcl9kZWNfZ2V0X3BpY3R1cmUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBNYWtlIHBhZCB0ZW1wbGF0ZSBjYXBzIHJlZmxlY3QgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBBZGQgb3IgbW9kaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cywgYW5kIHNsaWdodGx5IHNpbXBsaWZ5IGltYWdlCgkgIHBhc3NpbmcgdG8gZW5jb2RpbmcgbGlicmFyeS4KCjIwMDgtMTEtMTMgMTc6MjQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCjIwMDgtMTEtMTMgMTU6NDg6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgoyMDA4LTExLTEzIDE1OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgoyMDA4LTExLTEzIDE0OjMxOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSAgVXBkYXRlIGRvY3MuCgoyMDA4LTExLTEzIDE0OjIxOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgoyMDA4LTExLTEzIDEyOjU5OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmg6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoKMjAwOC0xMS0xMiAxMDozMjoyNCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXggdW5pbml0aWFsaXplZCB3YXJuaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHVuaW5pdGlhbGl6ZWQgd2FybmluZ3MKCjIwMDgtMTEtMTEgMTk6MzE6MzUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9xdG11eCksIChjbGVhbnVwX3F0bXV4KSwKCSAgKGNoZWNrX3F0bXV4X3BhZCksIChHU1RfU1RBUlRfVEVTVCksIChxdG11eF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgoyMDA4LTExLTExIDE5OjI0OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hZGRfbWV0YWRhdGFfdGFncyk6CgkgIEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCjIwMDgtMTEtMTAgMTU6MjY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlIG9uIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgQWxzbyBjb25maWd1cmUgdGhlIG5leHQgZXhwZWN0ZWQgb3V0cHV0IHNlcW51bSB3aGVuIHdlIGdldCBhIHNlcW51bS1iYXNlCgkgIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0xMCAxNDo1Mzo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFdpbSwgeW91J3JlIGEgYmFkIGJveS4gWW91IGRvbid0IHdhbnQgcGVvcGxlIHRvIGNvbnRhY3QgeW91IG9yIHdoYXQ/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgV2ltLCB5b3UncmUgYSBiYWQgYm95LiBZb3UgZG9uJ3Qgd2FudCBwZW9wbGUgdG8gY29udGFjdCB5b3Ugb3Igd2hhdD8KCjIwMDgtMTEtMTAgMTQ6MDE6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RpaXIuYzogRml4IG5hbWUgdGFnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICBGaXggbmFtZSB0YWcuCgoyMDA4LTExLTA4IDAyOjAwOjU4ICswMDAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIENvcHkgcXRtdXggZnJvbSByZXZpc2lvbiAxNDggb2YgdGhlIGdzdC1xdG11eCByZXBvc2l0b3J5LgoJICBGaXhlcyAjNTUwMjgwLgoKMjAwOC0xMS0wNyAxNzozNTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEFkZCBpcy1saXZlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBpcy1saXZlIHByb3BlcnR5LgoJICBBZGQgc29tZSBtb3JlIGRvY3MuCgoyMDA4LTExLTA2IDIyOjU0OjM5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgRml4IGJhc2ljIG5hdmlnYXRpb24gZXZlbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEZpeCBiYXNpYyBuYXZpZ2F0aW9uIGV2ZW50cwoKMjAwOC0xMS0wNiAxNDowNTo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KToKCSAgQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCjIwMDgtMTEtMDYgMTM6MDA6NTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBTZXQgZmlsdGVycyBpbiBQQVVTRUQgb3IgUExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgU2V0IGZpbHRlcnMgaW4gUEFVU0VEIG9yIFBMQVlJTkcuCgoyMDA4LTExLTA2IDEyOjE3OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBNYWtlIHByaXZhdGUgc2VjdGlvbiBwYWRzIGhhdmUgYSBjYXBzIHNldCBzbyB0aGV5IGFyZSBub3QgdHJpZWQgdG8gYmUgbGlua2VkIGluIHBhcnNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgTWFrZSBwcml2YXRlIHNlY3Rpb24gcGFkcyBoYXZlIGEgY2FwcyBzZXQgc28gdGhleSBhcmUgbm90IHRyaWVkCgkgIHRvIGJlIGxpbmtlZCBpbiBwYXJzZV9sYXVuY2ggZm9yIGV4YW1wbGUuCgoyMDA4LTExLTA2IDExOjMxOjAzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBObyBuZWVkIHRvIHJlY2xhY3VsYXRlIGZsdXNoIGluIHRoaXMgY2FzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgTm8gbmVlZCB0byByZWNsYWN1bGF0ZSBmbHVzaCBpbiB0aGlzIGNhc2UuCgkgIEZpeGVzIHNvbWUgYmFkIGRlY29kZSBlcnJvcnMgaW50cm9kdWNlZC4KCjIwMDgtMTEtMDYgMTA6NDI6NTkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IEZpeCB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBGaXggdHlwby4KCjIwMDgtMTEtMDUgMjM6MzE6NDEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBGaXggUkdCIG1hc2sgaW4gY2FwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBGaXggUkdCIG1hc2sgaW4gY2FwcwoKMjAwOC0xMS0wNSAyMjoyNToyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGQgSGV4dGlsZSBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgSGV4dGlsZSBlbmNvZGluZwoKMjAwOC0xMS0wNSAxODo1MjozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogSGV1cmlzdGljIGFwcHJvYWNoIHdoZW4gcmVzeW5jaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBIZXVyaXN0aWMgYXBwcm9hY2ggd2hlbiByZXN5bmNpbmcuCgoyMDA4LTExLTA1IDE4OjExOjU1ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOiBMZW5ndGggc2hvdWxkIGJlIGEgZ3VpbnQ4IG5vdCBhIGdpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgTGVuZ3RoIHNob3VsZCBiZSBhIGd1aW50OCBub3QgYSBnaW50LgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDb252ZXJ0IHRleHQgdG8gdXRmOCBmb3IgZWFjaCBkZXNjcmlwdG9yIHNlcGFyYXRlbHkgYW5kIG5vdAoJICBjb25jYXRlbmF0ZSB0aGVtIGZpcnN0IGFuZCBjb252ZXJ0IGFmdGVyLgoKMjAwOC0xMS0wNCAyMDoyNjowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogU2VuZCB0YWcgZXZlbnQuIEZpeGVzICM1NTkyODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIFNlbmQgdGFnIGV2ZW50LiBGaXhlcyAjNTU5Mjg2LgoKMjAwOC0xMS0wNCAxODowMzo1NSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzogRml4IGFub3RoZXIgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBGaXggYW5vdGhlciBtZW1sZWFrLgoKMjAwOC0xMS0wNCAxNzoyNTowOSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIEZpeCBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRml4IG1lbWxlYWtzLgoKMjAwOC0xMS0wNCAxMjo0MjozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcnRzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zaG91dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25hcHNob3QvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2hhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRqcGVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9jZHJvbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHhyMy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL3FjYW0vTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWJhZC4KCjIwMDgtMTEtMDQgMDg6MjQ6MTAgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6IEZpeCBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIEZpeCBtZW1sZWFrLgoKMjAwOC0xMS0wMyAyMjowMDowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleGFtcGxlcy9zY2FsZXRlbXBvLy5jdnNpZ25vcmU6IEFkZCBleGFtcGxlIHRvIGN2cyBpZ25vcmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvLy5jdnNpZ25vcmU6CgkgIEFkZCBleGFtcGxlIHRvIGN2cyBpZ25vcmVzLgoKMjAwOC0xMS0wMyAyMToyNzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogRml4IG1pc21hdGNoZWQgc2lnbmVkbmVzcyBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgKG9wZW5fZGVjb2Rlcik6CgkgIEZpeCBtaXNtYXRjaGVkIHNpZ25lZG5lc3MgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMDMgMDg6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWRkIFRPRE8gYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3IgZW5hYmxpbmcgU1NFL0FSTSBzcGVjaWZpYyBvcHRpbWl6YXRpb25zIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpOgoJICBBZGQgVE9ETyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciBlbmFibGluZyBTU0UvQVJNIHNwZWNpZmljCgkgIG9wdGltaXphdGlvbnMgYW5kIGNob29zaW5nIHRoZSBmYXN0ZXN0IGltcGxlbWVudGF0aW9uIGF0IHJ1bnRpbWUuCgkgIEFkZCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIGF0IHR3byBwbGFjZXMgdGhhdCBzaG91bGQgcmVhbGx5IG5ldmVyCgkgIGJlIHJlYWNoZWQuCgoyMDA4LTExLTAyIDA5OjE5OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEZpeCBmb3JtYXQgc3RyaW5nIGFuZCBhcmd1bWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KToKCSAgRml4IGZvcm1hdCBzdHJpbmcgYW5kIGFyZ3VtZW50cy4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZV9zc2UuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDgtMTEtMDEgMjE6Mzc6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbTogRGlzdCB0aGUgcGxheSBzY3JpcHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIERpc3QgdGhlIHBsYXkgc2NyaXB0cy4KCjIwMDgtMTEtMDEgMTk6Mzg6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIG1pc3NpbmcgaGVhZGVycyB0byBNYWtlZmlsZS5hbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlciksIChfYmVuY2htYXJrX2ludF9mbG9hdCksCgkgIChfYmVuY2htYXJrX2ludF9pbnQpLCAoX2JlbmNobWFya19pbnRlZ2VyX3Jlc2FtcGxpbmcpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVycyB0byBNYWtlZmlsZS5hbS4KCSAgVXBkYXRlIGNvcHlyaWdodCwgeWVhcnMgYW5kIG15IG1haWwgYWRkcmVzcy4KCSAgQmVuY2htYXJrIHRoZSBpbnRlZ2VyIHJlc2FtcGxpbmcgaW1wbGVtZW50YXRpb24gYWdhaW5zdCB0aGUKCSAgZmxvYXQgaW1wbGVtZW50YXRpb24gYW5kIHVzZSB0aGUgZmFzdGVyIG9uZSBmb3IgOC8xNiBiaXQgaW50ZWdlcgoJICBpbnB1dC4gT24gbW9zdCByZWNlbnQgc3lzdGVtcyB0aGUgZmxvYXRpbmcgcG9pbnQgdmVyc2lvbiBpcyBmYXN0ZXIuCgoyMDA4LTEwLTMxIDE4OjM5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gYXMgdGhlIHJlc3VsdCBvZiB0aGUgbGlua2luZyBpcyB3aGF0IGlzIGludGVyZXN0aW5nLCBub3QgdGhhdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGFzIHRoZSByZXN1bHQgb2YgdGhlIGxpbmtpbmcKCSAgaXMgd2hhdCBpcyBpbnRlcmVzdGluZywgbm90IHRoYXQgaXQgYWN0dWFsbHkgcnVucy4KCSAgRml4ZXMgY3Jvc3MtY29tcGlsYXRpb24gYW5kIGZpeGVzIGJ1ZyAjNTU4NjM5LgoKMjAwOC0xMC0zMCAxOTo1NDozOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IEFkZCBBTEFDIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBBZGQgQUxBQyBzdXBwb3J0LgoJICBGaXggZGVjb2RlIG9mIG1vbm8gQUFDIGZpbGVzIGNyZWF0ZWQgYnkgaXR1bmVzLgoJICBTZXQgb3V0cHV0IGZvcm1hdCBjb3JyZWN0bHkgKGRvbid0IGFzayBxdWlja3RpbWUgdG8KCSAgcmVzYW1wbGUgZm9yIHVzKS4KCSAgVXNlIGEgbGFyZ2VyIGRlY29kZSBidWZmZXIgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aCBsYXJnZQoJICBBTEFDIHBhY2tldHMuCgkgIEZpeCBkZWNvZGUgdG8gbG9vcCB1bnRpbCB3ZSBoYXZlIGFsbCBvdXRwdXQgZGF0YS4KCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSAgRml4IGluY2x1ZGVzIHNvIHdlIGNvbXBpbGUgb24gbW9yZSBPU2VzLgoKMjAwOC0xMC0zMCAxNTozMTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBhdCBsZWFzdCBHdGsgMi44LjAgZm9yIHRoZSBkZW1vcyAodGhhdCdzIHRoZSBvbGRlc3QgSSBjYW4gdGVzdCB3aXRoOyBJJ20gZmFpcmx5IGNlcnRhaW4gR3RrIDIuMC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgYXQgbGVhc3QgR3RrIDIuOC4wIGZvciB0aGUgZGVtb3MgKHRoYXQncyB0aGUgb2xkZXN0IEkgY2FuCgkgIHRlc3Qgd2l0aDsgSSdtIGZhaXJseSBjZXJ0YWluIEd0ayAyLjAuMCBpcyBub3QgZ29vZCBlbm91Z2ggYW55CgkgIGxvbmdlcik7IGNsZWFuIHVwIHNvbWUgdW51c2VkIEd0ay1yZWxhdGVkIGNvbmZpZ3VyZSBjcnVmdC4KCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIERlZmluZSBHdGsgMi4xMiBmdW5jdGlvbiB0byBub29wIHdoZW4gY29tcGlsaW5nIGFnYWluc3Qgb2xkZXIgR3RrLgoKMjAwOC0xMC0zMCAxNDo1NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBUaGUgbGVuZ3RoIGZvciB0aGUgYnVmZmVyIGNvbnZlcnNpb24gZnVuY3Rpb24gaXMgdGhlIG51bWJlciBvZiBhdWRpbyBmcmFtZXMsIGkuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlcik6CgkgIFRoZSBsZW5ndGggZm9yIHRoZSBidWZmZXIgY29udmVyc2lvbiBmdW5jdGlvbiBpcyB0aGUgbnVtYmVyIG9mCgkgIGF1ZGlvIGZyYW1lcywgaS5lLiB3ZSBuZWVkIHRvIG11bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgdG8gZ2V0IHRoZSBudW1iZXIgb2YgdmFsdWVzLiBBbHNvIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdCBhZnRlcgoJICBydW5uaW5nIGluIHZhbGdyaW5kLgoKMjAwOC0xMC0zMCAxNDo0NjozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiBBZGQgcGlwZWxpbmUgdW5pdCB0ZXN0cyBmb3IgdGVzdGluZyBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgd2l0aCB1cC9kb3duc2FtcGxpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKGVsZW1lbnRfbWVzc2FnZV9jYiksCgkgIChlb3NfbWVzc2FnZV9jYiksICh0ZXN0X3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWV4cmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgcGlwZWxpbmUgdW5pdCB0ZXN0cyBmb3IgdGVzdGluZyBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgd2l0aAoJICB1cC9kb3duc2FtcGxpbmcgYW5kIGRpZmZlcmVudCBpbi9vdXRyYXRlcy4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgRml4IGJ1Z3MgaWRlbnRpZmllZCBieSB0aGUgdGVzdHN1aXRlLgoKMjAwOC0xMC0zMCAxMzo0NDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgc3VwcG9ydCBmb3IgaW50OCwgaW50MjQgYW5kIGludDMyIGlucHV0IGJ5IGNvbnZlcnRpbmcgaW50ZXJuYWxseSB0by9mcm9tIGludDE2IG9yIGRvdWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGludDgsIGludDI0IGFuZCBpbnQzMiBpbnB1dCBieSBjb252ZXJ0aW5nIGludGVybmFsbHkKCSAgdG8vZnJvbSBpbnQxNiBvciBkb3VibGUuCgoyMDA4LTEwLTMwIDEzOjM4OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy4qOiBCZXR0ZXIgZml4IGZvciAjNTQ2MzE5IGFuZCBzaW1pbGFyIGNhc2VzIGJ5IGV4cGxpY2l0bHkgcmVnaXN0ZXJpbmcgd2hlbiB3ZSdyZSBpbiBwbGF5aW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgQmV0dGVyIGZpeCBmb3IgIzU0NjMxOSBhbmQgc2ltaWxhciBjYXNlcyBieSBleHBsaWNpdGx5CgkgIHJlZ2lzdGVyaW5nIHdoZW4gd2UncmUgaW4gcGxheWluZyBzdGF0ZSBvciBub3QuCgoyMDA4LTEwLTMwIDEzOjAyOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBXaGl0ZXNwYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBXaGl0ZXNwYWNlLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFkZCBhIEZJWE1FOi4gbm90IHN1cmUgaWYgdGhpcyBjb2RlIGRvZXMgdGhlIGZvcndhcmRpbmcgY29ycmVjdGx5LgoKMjAwOC0xMC0zMCAxMjo0Mzo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGRvdWJsZSBzYW1wbGVzIGFzIGlucHV0IGFuZCByZWZhY3RvciB0aGUgdXNhZ2Ugb2YgdGhlIGRpZmZlcmVudCBjb21waWxhdGlvbiBmbGF2b3JzIG9mIHRoZSBzcGVleCByZXNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Jlc2V0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKF9nY2QpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChzZXR1cF9zcGVleHJlc2FtcGxlKSwKCSAgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBkb3VibGUgc2FtcGxlcyBhcyBpbnB1dCBhbmQgcmVmYWN0b3IgdGhlIHVzYWdlCgkgIG9mIHRoZSBkaWZmZXJlbnQgY29tcGlsYXRpb24gZmxhdm9ycyBvZiB0aGUgc3BlZXggcmVzYW1wbGVyLgoKMjAwOC0xMC0zMCAxMjoxMzoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0xMC0zMCAxMTo1MDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb2J1ZmZlci86IEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIGF1ZGlvcmluZ2J1ZmZlciBlbGVtZW50IHRoYXQgY2FuIGJlIGluc2VydGVkIGluIHRoZSBwaXBlbGluZSB0byBjb252ZXJ0IHB1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9pbnRfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX3N0YXJ0KSwgKGdzdF9pbnRfcmluZ19idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfaW50X3JpbmdfYnVmZmVyX2luaXQpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9uZXcpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2V0Y2FwcyksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9idWZmZXJhbGxvYyksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9yZW5kZXIpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfY2hhaW4pLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF9yYW5nZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfY2hlY2tnZXRyYW5nZV9mdW5jdGlvbiksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBhdWRpb3JpbmdidWZmZXIgZWxlbWVudCB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbgoJICB0aGUgcGlwZWxpbmUgdG8gY29udmVydCBwdXNoLWJhc2VkIHVwc3RyZWFtIGludG8gYSBwdWxsLWJhc2VkCgkgIGRvd25zdHJlYW0uCgoyMDA4LTEwLTMwIDExOjQzOjEyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTEwLTMwIDAwOjE3OjEyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBBSUZGIGlzIGFsd2F5cyBzaWduZWQsIGV2ZW4gZm9yIDggYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBBSUZGIGlzIGFsd2F5cyBzaWduZWQsIGV2ZW4gZm9yIDggYml0LgoKMjAwOC0xMC0yOSAxNzowMjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBGaXggdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpOgoJICBGaXggdGhlIGRvY3MuCgoyMDA4LTEwLTI5IDE2OjUzOjU0ICswMDAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQSBSZWFsVmlkZW8gdmlkZW8gaW5zaWRlIGEgY29udGFpbmVyIChmb3IgZXhhbXBsZSBNS1YpIHNob3VsZCB1c2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iaW4gU3RvY2tlciA8cm9iaW4gYXQgbmlib3IgZG90IG9yZz4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKToKCSAgQSBSZWFsVmlkZW8gdmlkZW8gaW5zaWRlIGEgY29udGFpbmVyIChmb3IgZXhhbXBsZSBNS1YpIHNob3VsZCB1c2UgdGhlCgkgIFBBUiB3aGljaCBpcyBzcGVjaWZpZWQgb24gdGhlIHNpbmtwYWQgY2Fwcy4gRml4ZXMgIzU1ODQxNi4KCjIwMDgtMTAtMjkgMTI6MTE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuKjogUmV3cml0ZSB0aW1lc3RhbXAgdHJhY2tpbmcgdG8gbWFrZSBpdCBtb3JlIHJvYnVzdCBhbmQgZ3VhcmFudGVlIGEgY29udGlub3VzIHN0ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RhcnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgUmV3cml0ZSB0aW1lc3RhbXAgdHJhY2tpbmcgdG8gbWFrZSBpdCBtb3JlIHJvYnVzdCBhbmQgZ3VhcmFudGVlCgkgIGEgY29udGlub3VzIHN0cmVhbS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChzZXR1cF9zcGVleHJlc2FtcGxlKSwKCSAgKGNsZWFudXBfc3BlZXhyZXNhbXBsZSksIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSksCgkgICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpLCAobGl2ZV9zd2l0Y2hfYWxsb2Nfb25seV80ODAwMCksCgkgIChsaXZlX3N3aXRjaF9nZXRfc2lua19jYXBzKSwgKGxpdmVfc3dpdGNoX3B1c2gpLAoJICAoc3BlZXhyZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBzcGVleHJlc2FtcGxlIGJhc2VkIG9uIHRoZSBhdWRpb3Jlc2FtcGxlIHVuaXQgdGVzdHMuCgoyMDA4LTEwLTI5IDAxOjAwOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBNYWtlIHN1cmUgdG8gc3RhcnQgdGhlIE5BViBwYWNrZXQgcHJvY2Vzc2luZyB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIFBMQVlJTkcgIGJ5IHBhc3NpbmcgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgTWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBOQVYgcGFja2V0IHByb2Nlc3Npbmcgd2hlbiBjaGFuZ2luZwoJICBzdGF0ZSB0byBQTEFZSU5HICBieSBwYXNzaW5nIGEgZmxhZyB0aGF0IGluZGljYXRlcyB0aGUgc3RhdGUKCSAgY2hhbmdlIGlzIGluIHByb2dyZXNzLgoJICBGaXhlczogIzU0NjMxOQoKMjAwOC0xMC0yOCAyMDowNjoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6IFJlbW92ZSAkQCB0byBmaXggcGFyc2VfbGF1bmNoIHdhcm5pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgIFJlbW92ZSAkQCB0byBmaXggcGFyc2VfbGF1bmNoIHdhcm5pbmcKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTI6CgkgIEFkZCBhIHZlcnNpb24gdGhhdCB1c2VzIGRlaW50ZXJsYWNlIGFuZCB4dmltYWdlc2luay4KCjIwMDgtMTAtMjggMTk6MzA6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuKjogU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEdfTElLRUxZIGFuZCBmcmllbmRzLCB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZml4YXRlX2NhcHMpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgR19MSUtFTFkgYW5kIGZyaWVuZHMsIHVzZSBHU1RfREVCVUdfT0JKRUNUCgkgIGluc3RlYWQgb2YgR1NUX0RFQlVHLCAuLi4KCjIwMDgtMTAtMjggMTg6NDQ6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgSW1wbGVtZW50IHBvc2l0aW9uIHF1ZXJ5IGluIHRpbWUgZm9ybWF0LgoKMjAwOC0xMC0yOCAxODo0MToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mCgkgIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBQdXNoIHRhZ3MgYWxyZWFkeSBpZiBvbmx5IG9uZSBwYWQgd2FzIGFkZGVkLCBubyBuZWVkIHRvIHdhaXQgZm9yCgkgIHRoZSBzZWNvbmQgb25lLgoJICBXaGVuIGdlbmVyYXRpbmcgb3VyIGluZGV4IHNldCBoYXNfdmlkZW8gYW5kIGhhc19hdWRpbyBpZiB3ZSBmaW5kCgkgIHZpZGVvIG9yIGF1ZGlvIGluIGNhc2UgdGhlIEZMViBoZWFkZXIgaGFzIGluY29ycmVjdCBkYXRhLgoKMjAwOC0xMC0yOCAxNjoyODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBGaXhhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZml4YXRlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICBGaXhhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lLgoKMjAwOC0xMC0yOCAxNjoyNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBGaXhhdGUgdGhlIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZiB0aGUgZmlyc3Qgb25lLiBGaXhlcyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoYXVkaW9yZXNhbXBsZV9maXhhdGVfY2Fwcyk6CgkgIEZpeGF0ZSB0aGUgcmF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mCgkgIHRoZSBmaXJzdCBvbmUuIEZpeGVzIGJ1ZyAjNTQ5NTEwLgoKMjAwOC0xMC0yOCAxMTo0NjoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBVcGRhdGUgU3BlZXggcmVzYW1wbGVyIHdpdGggbGF0ZXN0IHZlcnNpb24gZnJvbSBTcGVleCBHSVQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTVlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYmZpbi5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2RlYnVnLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChjb21wdXRlX2Z1bmMpLCAobWFpbiksIChzaW5jKSwKCSAgKGN1YmljX2NvZWYpLCAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwgKHVwZGF0ZV9maWx0ZXIpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2luaXRfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX21hZ2ljKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlX2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX3NraXBfemVyb3MpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Jlc2V0X21lbSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIFVwZGF0ZSBTcGVleCByZXNhbXBsZXIgd2l0aCBsYXRlc3QgdmVyc2lvbiBmcm9tIFNwZWV4IEdJVC4KCjIwMDgtMTAtMjggMDE6NTM6NDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLio6IENhbGN1bGF0ZSB3aWR0aCBmcm9tIGRlcHRoIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5oOgoJICBDYWxjdWxhdGUgd2lkdGggZnJvbSBkZXB0aCBjb3JyZWN0bHkuCgkgIFJlYWQgU1NORCBoZWFkZXIgcHJvcGVybHkgKGZpeGVzIDI0IGJpdCBBSUZGIHJlYWRpbmcpLgoKMjAwOC0xMC0yNyAxNzowMToyMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEFkYXB0IHRvIHNsaWdodGx5IG1vZGlmaWVkIHgyNjQgQVBJLiAgRml4ZXMgIzU1NTIzOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6CgkgIEFkYXB0IHRvIHNsaWdodGx5IG1vZGlmaWVkIHgyNjQgQVBJLiAgRml4ZXMgIzU1NTIzOC4KCjIwMDgtMTAtMjcgMTY6MzI6NDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBQcmV2ZW50IGVuZGxlc3MgbG9vcCBpZiBidWZmZXIgYWxsb2MgZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICBQcmV2ZW50IGVuZGxlc3MgbG9vcCBpZiBidWZmZXIgYWxsb2MgZXJyb3IuCgoyMDA4LTEwLTI3IDA5OjQ1OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdCBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgRG9uJ3QgbWVtY3B5KCkgYWxsIGRhdGEgd2Ugd2FudCB0byBwdXNoIGRvd25zdHJlYW0sIGluc3RlYWQganVzdAoJICBjcmVhdGUgc3ViYnVmZmVycyBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0uCgkgIEZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCjIwMDgtMTAtMjcgMDk6NDI6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgb2YgY29yZSBmb3IgdGhlIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIG9mIGNvcmUgZm9yIHRoZSBsYXN0IGNoYW5nZS4KCjIwMDgtMTAtMjcgMDk6NDE6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvTWFrZWZpbGUuYW06IEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKToKCSAgUmV3cml0ZSB0aGUgc2NyaXB0IHRhZyBwYXJzaW5nIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgdG8gcmVhZAoJICBtb3JlIGRhdGEgdGhhbiB3ZSBoYXZlLiBBbHNvIHVzZSBHU1RfUkVBRF9VSU5UMjRfQkUgZGlyZWN0bHkgYW5kCgkgIGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcy4KCSAgVGhpcyBzaG91bGQgbWFrZSBhbGwgY3Jhc2hlcyBvbiBmdXp6ZWQgRkxWIGZpbGVzIGRpc2FwcGVhci4KCjIwMDgtMTAtMjcgMDk6Mzc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgUHJvcGVybHkgY2hlY2sgZXZlcnl3aGVyZSB0aGF0IHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcGFyc2UgYW5kCgkgIGRvbid0IHJlYWQgb3V0c2lkZSB0aGUgYWxsb2NhdGVkIG1lbW9yeSByZWdpb24uCgoyMDA4LTEwLTI3IDA5OjM1OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dCBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQKCSAgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgoyMDA4LTEwLTI3IDA5OjMzOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNwZWV4IGF1ZGlvIGFuZCBhbGxvdyBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIGluIHRoZSBtdXhlci4KCjIwMDgtMTAtMjcgMDk6MzI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbSBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtCgkgIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgRml4IHNlZWsgZXZlbnQgaGFuZGxpbmcgdG8gbG9vayBhdCB0aGUgZmxhZ3Mgb2YgdGhlIHNlZWsgZXZlbnQKCSAgaW5zdGVhZCBvZiBhc3N1bWluZyBzb21lIHJhbmRvbSBmbGFncywgZG9uJ3Qgc2VuZCBzZWdtZW50LXN0YXJ0CgkgIG1lc3NhZ2VzIHdoZW4gb3BlcmF0aW5nIGluIHB1c2ggbW9kZSBhbmQgcHVzaCBzZWVrIGV2ZW50cyB1cHN0cmVhbQoJICBpZiB3ZSBjb3VsZG4ndCBoYW5kbGUgdGhlbS4KCjIwMDgtMTAtMjcgMDk6Mjc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgRXJyb3Igb3V0IGVhcmx5IGlmIHB1bGxpbmcgYSB0YWcgZmFpbGVkLgoKMjAwOC0xMC0yNyAwOToyNToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZSBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY3JlYXRlX2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCSAgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaWxlcyAod2hpY2ggYXJlIG1vcmUgdGhhbgoJICBvZnRlbiBpbmNvcnJlY3QgYW5kIGNhdXNlIGZhaWxlZCBzZWVrcykuCgkgIEZvciBwdXNoIG1vZGUgd2Ugc3RpbGwgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSB0aGUgZmlsZSBhbmQgZXh0ZW5kIGl0CgkgIHdoaWxlIGRvaW5nIHRoZSBwbGF5YmFjay4KCjIwMDgtMTAtMjcgMDk6MjA6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbCBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfbG9vcCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KToKCSAgSW5zdGVhZCBvZiB1c2luZyBnc3RfcGFkX2V2ZW50X2RlZmF1bHQoKSB1c2UgYSBzbWFsbAoJICBnc3RfcGFkX3B1c2hfZXZlbnQoKSB3cmFwcGVyIHRoYXQgb25seSBkb2VzIHdoYXQgd2Ugd2FudCBhbmQgaXMgbXVjaAoJICBtb3JlIHNpbXBsZS4KCjIwMDgtMTAtMjcgMDk6MTQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguKjogSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgSWYgb3VyIGluZGV4IHdhcyBjcmVhdGVkIGJ5IHRoZSBlbGVtZW50IGFuZCBub3QgcHJvdmlkZWQgZnJvbSB0aGUKCSAgb3V0c2lkZSB3ZSBzaG91bGQgZGVzdHJveSBpdCB3aGVuIHN0YXJ0aW5nIGEgbmV3IHN0cmVhbSB0byBnZXQKCSAgYWxsIG9sZCBlbnRyaWVzIHJlbW92ZWQuCgoyMDA4LTEwLTI3IDA5OjEyOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCjIwMDgtMTAtMjcgMDk6MTA6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMgaGFuZGxlZC4KCjIwMDgtMTAtMjcgMDg6NTc6MjcgKzAwMDAgIERhdmlkIEjDpHJkZW1hbiA8ZGF2aWRAaGFyZGVtYW4ubnU+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIHN1cHBvcnQgZm9yIHRoZSBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yLCB3aGljaCBwcm92aWRlcyBhZGRpdGlvbmFsIGZyZXF1ZW5jaWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYXZpZCBIw6RyZGVtYW4gPGRhdmlkIGF0IGhhcmRlbWFuIGRvdCBudT4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX25pdCk6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvciwgd2hpY2ggcHJvdmlkZXMKCSAgYWRkaXRpb25hbCBmcmVxdWVuY2llcyB0aGF0IHNob3VsZCBiZSBzY2FubmVkIGJ5IGEgRFZCIGFwcGxpY2F0aW9uLgoJICBGaXhlcyBidWcgIzU1NzgxNC4KCjIwMDgtMTAtMjcgMDg6NTI6NTAgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogRml4IEVPUyBsb2dpYyBieSBjb3JyZWN0bHkgcG9wcGluZyB0aGUgY29sbGVjdCBwYWQgYnVmZmVycyBvbmx5IHdoZW4gd2UndmUgY2hvc2VuIHRvIHVzZSB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtKToKCSAgRml4IEVPUyBsb2dpYyBieSBjb3JyZWN0bHkgcG9wcGluZyB0aGUgY29sbGVjdCBwYWQgYnVmZmVycyBvbmx5CgkgIHdoZW4gd2UndmUgY2hvc2VuIHRvIHVzZSB0aGVtIGluc3RlYWQgb2YgcG9wcGluZyB0aGVtIGFsd2F5cyBhbmQKCSAgc3RvcmluZyB0aGVtIGluIGEgcHJpdmF0ZSBxdWV1ZS4KCSAgQmVmb3JlIHRoZSBwaXBlbGluZSB3b3VsZCBkZWFkbG9jayBpZiBhbGwgcGFkcyBnbyBFT1MgYXQgdGhlIHNhbWUKCSAgdGltZS4gRml4ZXMgYnVnICM1NTc3NjMuCgoyMDA4LTEwLTI2IDIwOjA3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCj09PSByZWxlYXNlIDAuMTAuOSA9PT0KCjIwMDgtMTAtMjQgMjI6NDU6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC45CgoyMDA4LTEwLTI0IDIxOjQzOjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0xMC0yNCAxNjo0MTozMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjguNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjguNCBwcmUtcmVsZWFzZQoKMjAwOC0xMC0yMCAxNDoxOToxNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IEZpeCByZXZlcnNlIHBsYXliYWNrIHJlZ3Jlc3Npb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgRml4IHJldmVyc2UgcGxheWJhY2sgcmVncmVzc2lvbi4KCSAgRml4ZXMgIzU1NzA4MAoKMjAwOC0xMC0xOSAxMjozOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IFNldCBhcGV4c2luaydzIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCB1c2VkIGJ5IGF1dG9hdWRpb3NpbmsgKHRoZXJlJ3Mgbm8gcG9pbnQgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgYXBleHNpbmsncyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgdXNlZCBieQoJICBhdXRvYXVkaW9zaW5rICh0aGVyZSdzIG5vIHBvaW50IHJlYWxseSkuICgjNTU2NTg4KQoKMjAwOC0xMC0xNiAxNzoxMjowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuOC4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC44LjMgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMTYgMTY6Mzc6MzMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IFByb3Blcmx5IGhhbmRsZSBzb21lIHJlc3luYyBjYXNlcyBpbiB0aGUgb3B0aW1pc2VkIGJ1ZmZlcmluZyBzdHJhdGVneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIFByb3Blcmx5IGhhbmRsZSBzb21lIHJlc3luYyBjYXNlcyBpbiB0aGUgb3B0aW1pc2VkCgkgIGJ1ZmZlcmluZyBzdHJhdGVneS4KCjIwMDgtMTAtMTYgMTY6MTg6MzEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06IFJlbW92ZSBpbmNvcnJlY3QgdXNlIG9mIERJUkVDVFNPVU5EX0xERkxBR1MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTAtMTYgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBpbmNvcnJlY3QgdXNlIG9mIERJUkVDVFNPVU5EX0xERkxBR1MKCjIwMDgtMTAtMTYgMTU6MjE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28gaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKToKCSAgRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbwoJICBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzIGJ1ZyAjNTU2NTY0LgoKMjAwOC0xMC0xNiAxNTowNjo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkcGFyYW5vaWEvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wYW5nby9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC92b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdGNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC90eXBlZmluZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NjYWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgoyMDA4LTEwLTE2IDE0OjU0OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBMZWF2ZSBhcGV4c2luayBvdXQgb2YgdGhlIHN0YXRlcyB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTGVhdmUgYXBleHNpbmsgb3V0IG9mIHRoZSBzdGF0ZXMgdGVzdC4KCjIwMDgtMTAtMTYgMTM6MDU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dCBzZXFudW0gZGlzY28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQKCSAgc2VxbnVtIGRpc2NvbnRpbnVpdGllcy4KCSAgSW1wcm92ZSBnYXAgZGV0ZWN0aW9uIGFuZCByZWNvdmVyeSwgcmVzZXQgYW5kIGZsdXNoIHRoZSBqaXR0ZXJidWZmZXIgb24KCSAgc2VxbnVtIHJlc3RhcnQuIEZpeGVzICM1NTY1MjAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBGaXggd3JvbmcgR19MSUtFTFkuCgoyMDA4LTEwLTE2IDExOjU1OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuOC4yIHByZS1yZWxlYXNlIGJ1bXAsIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgaW4gYSB0YXJiYWxsIG9uIDIwMDgtMTAtMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC44LjIgcHJlLXJlbGVhc2UgYnVtcCwgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBpbiBhCgkgIHRhcmJhbGwgb24gMjAwOC0xMC0xMQoKMjAwOC0xMC0xNiAwOTo1MToyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBUUlVFLgoKMjAwOC0xMC0xNiAwOToxODozMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IE1ha2Ugc3VyZSB0aGUgbXBlZ3BzZGVtdXggZWxlbWVudCBjcmVhdGVzIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgIE1ha2Ugc3VyZSB0aGUgbXBlZ3BzZGVtdXggZWxlbWVudCBjcmVhdGVzIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBGaXhlcyAjNTU2NDI4CgoyMDA4LTEwLTE2IDA4OjE3OjU5ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEZpeGVzIHNlZ2ZhdWx0IGluIGdldF9lbmNvZGluZ19hbmRfY29udmVydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeGVzIHNlZ2ZhdWx0IGluIGdldF9lbmNvZGluZ19hbmRfY29udmVydC4KCSAgRml4ZXMgIzU1NjQ4MgoKMjAwOC0xMC0xNiAwODoxMzo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRml4ZXMgYSBzZWdmYXVsdCBpbiB0aGUgYWRhcHRhdGlvbiBidWZmZXIgc2l6ZSBzdHJhdGVneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgRml4ZXMgYSBzZWdmYXVsdCBpbiB0aGUgYWRhcHRhdGlvbiBidWZmZXIgc2l6ZSBzdHJhdGVneS4KCSAgRml4ZXMgIzU1NjQ0MAoKMjAwOC0xMC0xNSAxNzo0NTozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEdyYWNlZnVsbHkgaGFuZGxlIHRoZSBjYXNlcyB3aGVuIHdlIGRvbnQnIGhhdmUgb3RoZXJwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfZXZlbnQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgR3JhY2VmdWxseSBoYW5kbGUgdGhlIGNhc2VzIHdoZW4gd2UgZG9udCcgaGF2ZSBvdGhlcnBhZC4KCSAgRml4ZXMgIzU1NjQzMAoKMjAwOC0xMC0xNCAxNToxMzowNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IEZpeCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIEZpeCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24uCgkgIEZpeGVzICM1NTYyNzQKCjIwMDgtMTAtMTQgMTQ6NTM6NDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6IEZpeCBzb21lIG1vcmUgZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyAoZnJvbSBPUy9YKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgRml4IHNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIChmcm9tIE9TL1gpCgoyMDA4LTEwLTEzIDEyOjI3OjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZm9yIGxhdGVzdCBwbHVnaW5zIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZvciBsYXRlc3QgcGx1Z2lucyBjaGFuZ2VzCgoyMDA4LTEwLTEzIDA3OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiAoZ3N0X2FwZXhyYW9wX2Nvbm5lY3QpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF92b2x1bWUpOgoJICBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMTAtMTIgMjE6NTI6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL29zczQvOiBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgRml4ZXM6ICM1NTU5NjkgIzU1NTk2OCAjNTU1OTY1CgoyMDA4LTEwLTEyIDE3OjA4OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIEZpeCByZWdyZXNzaW9uIG9mIGhhbmRsaW5nIGZsb3cgcmV0dXJucyBpbiBwdWxsIG1vZGUuCgkgIEZpeGVzIGJ1ZyAjNTU2MDAzLgoKMjAwOC0xMC0xMiAxNzowNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgYXBleHNpbmsgdG8gU1VCRElSUy4gRml4ZXMgYnVnICM1NTU5MTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIGFwZXhzaW5rIHRvIFNVQkRJUlMuIEZpeGVzIGJ1ZyAjNTU1OTEyLgoKMjAwOC0xMC0xMSAxMTowMjoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzogTWFrZSB0aGUgbWV0YWRhdGEgdGVzdCBub3QgZmFpbCB3aGVuIGpwZWdlbmMgaXNuJ3QgYXZhaWxhYmxlLi4uLiBhcyBpdCBpc24ndCBoZXJlLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIE1ha2UgdGhlIG1ldGFkYXRhIHRlc3Qgbm90IGZhaWwgd2hlbiBqcGVnZW5jIGlzbid0IGF2YWlsYWJsZS4uLi4KCSAgYXMgaXQgaXNuJ3QgaGVyZSwgYmVjYXVzZSBpdCdzIG5vdCBpbiB0aGlzIG1vZHVsZSwgYW5kCgkgIHRoZXJlZm9yZSBub3QgaW4gdGhlIHBsdWdpbiBwYXRoIHdoZW4gdGhlIGNoZWNrIHJ1bnMuCgoyMDA4LTEwLTEwIDE2OjMzOjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0IGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldAoJICBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yayB3aXRoIChpLmUuIHRoZSBwYWQncyBjYXBzKS4KCSAgQWRkIG5vbi1rZXlmcmFtZSB2aWRlbyBmcmFtZXMgdG8gdGhlIGluZGV4IHRvbyBidXQgd2l0aG91dCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4KCSAgQWRkIGF1ZGlvIGZyYW1lcyB0byB0aGUgaW5kZXggb25seSBpZiB3ZSBoYXZlIG5vIHZpZGVvIHN0cmVhbS4KCjIwMDgtMTAtMTAgMTY6MTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbSBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0KCSAgYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2FwcyBhcmUgc2V0LgoKMjAwOC0xMC0xMCAxNTo1MTo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIGZsYWNwYXJzZSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgdG9vIGJ1Z2d5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgZmxhY3BhcnNlIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyB0b28gYnVnZ3kuCgoyMDA4LTEwLTEwIDExOjE3OjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTEwLTEwICBKYW4gU2NobWlkdCAgPGphbi5zY2htaWR0QHN1bi5jb20+CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYyAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcKCSAgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgoyMDA4LTEwLTEwIDExOjAxOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZyB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYyAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcKCSAgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgoyMDA4LTEwLTA5IDE5OjM4OjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZyB3aGVuIG5vdCBidWlsZGluZwoJICBYODYgYXNzZW1ibHkuCgoyMDA4LTEwLTA5IDE2OjUxOjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZml4IHZhcmlvdXMgYnVpbGQgZmlsZXMgdG8gYWxsb3cgZm9yIGRpc3RpbmcgYW5kIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2YXJpb3VzIGJ1aWxkIGZpbGVzIHRvIGFsbG93IGZvciBkaXN0aW5nIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMuCgoyMDA4LTEwLTA5IDE2OjIwOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcCBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgR2V0IGFuIGFwcHJveGltYXRlIGR1cmF0aW9uIG9mIHRoZSBmaWxlIGJ5IGxvb2tpbmcgYXQgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgbGFzdCB0YWcgaW4gcHVsbCBtb2RlLiBJZiB3ZSBnZXQgKG1heWJlIGJldHRlcikgZHVyYXRpb24gZnJvbQoJICBtZXRhZGF0YSBsYXRlciB3ZSdsbCB1c2UgdGhhdCBpbnN0ZWFkLgoKMjAwOC0xMC0wOSAxNTo0MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbiB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBSZWZhY3RvciBfcHVsbF9yYW5nZSgpIGxvZ2ljIHdpdGggY2hlY2tzIGludG8gYSBzZXBlcmF0ZSBmdW5jdGlvbgoJICB0byBtYWtlIHRoaW5ncyBhIGJpdCBtb3JlIHJlYWRhYmxlLgoKMjAwOC0xMC0wOSAxNToyNjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuCgkgIElmIHdlIGdldCBHU1RfRkxPV19OT1RfTElOS0VEIGluIHRoZSBwYXJzZSBsb29wIGJ1dCBhdCBsZWFzdAoJICBvbmUgb2YgdGhlIHBhZHMgaXMgbGlua2VkIGNvbnRpbnVlIHRoZSBsb29wLgoKMjAwOC0xMC0wOSAxMDowMTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZW5jLio6IFBhc3MgdGhlIGRpc2NvbnQgZmxhZyBmcm9tIHRoZSBpbnB1dCBidWZmZXIgb24gdG8gdGhlIG91dHB1dCBidWZmZXIgaW4gdGhlIEFNUiBlbmNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgUGFzcyB0aGUgZGlzY29udCBmbGFnIGZyb20gdGhlIGlucHV0IGJ1ZmZlciBvbiB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbgoJICB0aGUgQU1SIGVuY29kZXIuCgoyMDA4LTEwLTA5IDEwOjAwOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbCB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpOgoJICBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwKCSAgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjb2RlciBhbmQgaGFzIGRpZmZlcmVudCBjYXBzLgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8gY29kZWMgaWQgMTQsIHdoaWNoIGlzIE1QMyB3aXRoIDhrSHogc2FtcGxpbmcKCSAgcmF0ZS4KCSAgRml4IGVuZGlhbm5lc3MgYW5kIHNpZ25lZG5lc3MgZm9yIHJhdyBhdWRpbyBjb2RlYyBpZHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhbGF3IGFuZCBtdWxhdyBhdWRpby4KCjIwMDgtMTAtMDkgMDk6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKToKCSAgR28gb3V0IG9mIHRoZSBwYXJzZSBsb29wIGFzIHNvb24gYXMgd2UgZ2V0IGFuIGVycm9yIGluc3RlYWQKCSAgb2YgcGFyc2luZyB1bnRpbCB0aGUgR3N0QWRhcHRlciBpcyBlbXB0eS4KCSAgQWRkIHNvbWUgZXhwbGFuYXRpb25zIGFib3V0IHRoZSBoZWFkZXIgYW5kIHRhZyBzaXplLgoJICBEb24ndCBwcmludCBzeW5jaHJvbml6aW5nIG1lc3NhZ2UgaWYgZXZlcnl0aGluZyBpcyBmaW5lLgoKMjAwOC0xMC0wOSAwOToyNjo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZyBvZiBzdHJlYW0gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9iYXNlX2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfY2xhc3NfaW5pdCksIChnc3RfZmx2X211eF9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2ZpbmFsaXplKSwgKGdzdF9mbHZfbXV4X3Jlc2V0KSwKCSAgKGdzdF9mbHZfbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9tdXhfdmlkZW9fcGFkX3NldGNhcHMpLCAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2hlYWRlciksIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpLAoJICAoZ3N0X2Zsdl9tdXhfY29sbGVjdGVkKSwgKGdzdF9mbHZfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nCgkgIG9mIHN0cmVhbSBtZXRhZGF0YS4KCjIwMDgtMTAtMDkgMDk6MjE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLio6IEFkZCBmbHVzaCBzZWVrIGhhbmRsZXIuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBBZGQgZmx1c2ggc2VlayBoYW5kbGVyLiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgkgIFN5bmMgdGhlIGNvZGUgbW9yZSBhbmQgdXNlICNkZWZpbmVzIGZvciBIRUFERVIuCgoyMDA4LTEwLTA5IDA4OjQzOjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS4qOiBGaXggdGhlIGR1cmF0aW9uIHF1ZXJ5LiBBbHNvIHNldCBjYXBzIG9uIHRoZSBwYWRzIGFuZCBidWZmZXJzIG1vcmUgY29ycmVjdGx5LiBUYWtlbiBmcm9tIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBGaXggdGhlIGR1cmF0aW9uIHF1ZXJ5LiBBbHNvIHNldCBjYXBzIG9uIHRoZSBwYWRzIGFuZCBidWZmZXJzIG1vcmUKCSAgY29ycmVjdGx5LiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgoyMDA4LTEwLTA4IDE2OjIwOjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC86IEFkZCBGbHVlbmRvIHRvIHRoZSBMb25nIE5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBBZGQgRmx1ZW5kbyB0byB0aGUgTG9uZyBOYW1lLgoKMjAwOC0xMC0wOCAxNToyNToyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXguCgkgIEZpeGVzICM1NTUxOTMuCgoyMDA4LTEwLTA4IDE1OjIyOjEyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eAoKMjAwOC0xMC0wOCAxMDoyMToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogUHJldmVudCBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbGFzdCBtdXggcmF0ZSB3YXMgemVyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICBQcmV2ZW50IGEgZGl2aXNpb24gYnkgemVybyBpZiBsYXN0IG11eCByYXRlIHdhcyB6ZXJvLgoJICBJZiB3ZSdyZSBnb2luZyB0byBzZW5kIGEgTkVXU0VHTUVOVCBldmVudCBidXQgdGhlIHNlZ21lbnQgc3RhcnQKCSAgYW5kIHRoZSBjdXJyZW50IGJ1ZmZlciB0aW1lc3RhbXAgZGlmZmVyIGJ5IG1vcmUgdGhhbiBhIHNlY29uZCB3ZQoJICB3aWxsIHN0YXJ0IHRoZSBORVdTRUdNRU5UIGF0IHRoZSBidWZmZXIgdGltZXN0YW1wLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHRoZSB0djItMV8yNS5tcGcgZmlsZSwgd2hpY2ggaGFzIDAgYXMgZmlyc3QgU0NSCgkgIGJ1dCB0aGUgZmlyc3QgUFRTIGFyZSBhcm91bmQgMSBob3VyIGFuZCA0MCBtaW51dGVzLgoJICBGaXhlcyBidWcgIzU1Mzc1NS4KCjIwMDgtMTAtMDcgMjE6Mjk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEZpeCBuZXh0L3ByZXYgY2hhcHRlciBzZWVraW5nIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgRml4IG5leHQvcHJldiBjaGFwdGVyIHNlZWtpbmcgYXQgdGhlIGJlZ2lubmluZyBvciBlbmQuCgkgIFVzZSA2NC1iaXQgc2NhbGluZyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgY29udmVydGluZyBNUEVHCgkgIHRpbWVzdGFtcHMuCgoyMDA4LTEwLTA3IDE4OjU0OjQxICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfaW50ZXJuYWxfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgQWRkIHByb3BlcnR5IHRvIGFjY2VzcyB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjaGVja19jb2xsaXNpb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIGFjdGlvbiBzaWduYWwgdG8gcmV0cmlldmUgYW4gUlRQU291cmNlIG9iamVjdCBieSBTU1JDLgoJICBTZWUgIzU1NTM5Ni4KCjIwMDgtMTAtMDcgMTM6MTQ6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOiBDaG9vc2UgcmlnaHQgcGFkIGZvciBzZW5kaW5nIGV2ZW50cy4gRml4ZXMgIzU1NTI0NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgQ2hvb3NlIHJpZ2h0IHBhZCBmb3Igc2VuZGluZyBldmVudHMuIEZpeGVzICM1NTUyNDQKCjIwMDgtMTAtMDcgMTE6MzM6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X3BhZCksCgkgIChmcmVlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksIChyZW1vdmVfcmVjdl9ydHApLAoJICAocmVtb3ZlX3JlY3ZfcnRjcCksIChyZW1vdmVfc2VuZF9ydHApLCAocmVtb3ZlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgU3RhcnQgaW1wbGVtZW50aW5nIHJlbGVhc2luZyBwYWRzIG9mIGdzdHJ0cGJpbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChyZW1vdmVfcmVjdl9ydHBfc2luayksCgkgIChyZW1vdmVfcmVjdl9ydGNwX3NpbmspLCAocmVtb3ZlX3NlbmRfcnRwX3NpbmspLAoJICAocmVtb3ZlX3NlbmRfcnRjcF9zcmMpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgSW1wbGVtZW50IHJlbGVhc2luZyBwYWRzIGluIGdzdHJ0cHNlc3Npb24uCgoyMDA4LTEwLTA3IDEwOjAyOjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpOgoJICBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlCgkgIHN0cmVhbXMuCgoyMDA4LTEwLTA2IDE2OjAxOjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjCgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgU3RhcnQgdXNpbmcgY29yZSBnZW8gdGFncyAoYnVtcCByZXEpLiBGaXggaGFuZGxpbmcgb2YgbG9jYXRpb24KCSAgcmVmZXJlbmNlcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgU29ydCBibGFja2xpc3RlZCBlbGVtZW50cyBhbmQgcmVtb3ZlIG1vdmVkIG9uZXMuIEFkZCBuZXcgdGVzdC4KCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgQWRkIGZpcnN0IHRlc3RzIGZvciBtZXRhZGF0YSBlbGVtZW50LgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBNb3ZlIGZyZWUgdG8gY29ycmVjdCBwbGFjZS4KCjIwMDgtMTAtMDYgMTU6NTM6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IFN0b3AgdGVzdCBvbiBzdGF0ZS1jaGFuZ2UgZXJyb3IuIFNob3VsZCBiZSBhcHBsaWVkIG9uIG90aGVyIG1vZHVsZXMgaWYgd2UgYWdyZWUgdGhhdCBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBTdG9wIHRlc3Qgb24gc3RhdGUtY2hhbmdlIGVycm9yLiBTaG91bGQgYmUgYXBwbGllZCBvbiBvdGhlciBtb2R1bGVzIGlmCgkgIHdlIGFncmVlIHRoYXQgaXQgbWFrZXMgc2Vuc2UuCgoyMDA4LTEwLTA2IDEyOjAxOjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEFjdHVhbGx5IGNvcHkgdGhlIHN0cnVjdHVyZSBwYXNzZWQgaW4gd2hlbiBhc3NpZ25pbmcgaXQgYmVjYXVzZSBpdCBnZXRzIGZyZWVkIHN0cmFpZ2h0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBY3R1YWxseSBjb3B5IHRoZSBzdHJ1Y3R1cmUgcGFzc2VkIGluIHdoZW4gYXNzaWduaW5nIGl0IGJlY2F1c2UKCSAgaXQgZ2V0cyBmcmVlZCBzdHJhaWdodCBhZnRlciB0aGUgZnVuY3Rpb24gY2FsbC4KCSAgUmU6IHBhdF9pbmZvIGFuZCBwbXRfaW5mbyBHc3RTdHJ1Y3R1cmVzLgoKMjAwOC0xMC0wNiAwODozMjo0MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRml4IHdyb25nIGZpcmluZyBvZiBjcml0aWNhbCBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIG9wdGltaXNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgRml4IHdyb25nIGZpcmluZyBvZiBjcml0aWNhbCBpbnRyb2R1Y2VkIGJ5IHByZXZpb3VzIG9wdGltaXNhdGlvbi4KCjIwMDgtMTAtMDMgMTc6MTE6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFdhcm4gYW5kIGNsYW1wIHRvIG1heCBiaXRyYXRlIGZvciBzYW1wbGVyYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCk6CgkgIFdhcm4gYW5kIGNsYW1wIHRvIG1heCBiaXRyYXRlIGZvciBzYW1wbGVyYXRlLgoJICBGaXhlcyAjNTUwNDg2LgoKMjAwOC0xMC0wMyAwOToxMToxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggcG9zc2libGUgY3Jhc2ggd2hlcmUgcGF0IGlzIHBvaW50aW5nIHRvIGEgZnJlZWQgc3RydWN0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHBvc3NpYmxlIGNyYXNoIHdoZXJlIHBhdCBpcyBwb2ludGluZyB0byBhIGZyZWVkIHN0cnVjdHVyZS4KCjIwMDgtMTAtMDMgMDU6NTc6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IEFkZCBtYXBwaW5nIG9mIGZvcm1hdCBhbmQgbWltZSB0eXBlIHRvIHhtcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgQWRkIG1hcHBpbmcgb2YgZm9ybWF0IGFuZCBtaW1lIHR5cGUgdG8geG1wLgoKMjAwOC0xMC0wMiAxNDo0MjoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogUmV2ZXJ0aW5nLiBXaWxsIG5lZWQgdG8gd2FpdCBmb3IgY29yZSAwLjEwLjIxIHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFJldmVydGluZy4gV2lsbCBuZWVkIHRvIHdhaXQgZm9yIGNvcmUgMC4xMC4yMSByZWxlYXNlLgoKMjAwOC0xMC0wMiAxMzo1Mjo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogVXNlIGNvcmUgZ3NwIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFVzZSBjb3JlIGdzcCB0YWdzLgoKMjAwOC0wOS0zMCAxNzowMzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogQWRkIHN1cHBvcnQgZm9yIEdzdEluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfZmluYWxpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X2luZGV4KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2dldF9pbmRleCk6CgkgIEFkZCBzdXBwb3J0IGZvciBHc3RJbmRleC4KCjIwMDgtMDktMzAgMTY6NDE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLio6IFByb3ZpZGUgYSB2ZnVuYyBmb3IgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGV0aGVyIGEgZnJhbWUgaXMgaW5zaWRlIHRoZSBzZWdtZW50IG9yIG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NvbnZlcnQpLCAoZ3N0X2Jhc2VfcGFyc2VfZnJhbWVfaW5fc2VnbWVudCk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgUHJvdmlkZSBhIHZmdW5jIGZvciB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoZXRoZXIgYSBmcmFtZSBpcyBpbnNpZGUKCSAgdGhlIHNlZ21lbnQgb3Igbm90IGFuZCBhZGQgYSBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgoJICBGaXggYXBwcm94aW1hdGUgYml0cmF0ZSBjYWxjdWxhdGlvbnMuCgoyMDA4LTA5LTMwIDE2OjIyOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiBBcHByb3hpbWF0ZSB0aGUgYXZlcmFnZSBiaXRyYXRlLCBkdXJhdGlvbiBhbmQgc2l6ZSBpZiBwb3NzaWJsZSBhbmQgYWRkIGEgZGVmYXVsdCBjb252ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKSwgKGdzdF9iYXNlX3BhcnNlX2NoYWluKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2xvb3ApLCAoZ3N0X2Jhc2VfcGFyc2VfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY29udmVydCksIChnc3RfYmFzZV9wYXJzZV9xdWVyeSk6CgkgIEFwcHJveGltYXRlIHRoZSBhdmVyYWdlIGJpdHJhdGUsIGR1cmF0aW9uIGFuZCBzaXplIGlmIHBvc3NpYmxlCgkgIGFuZCBhZGQgYSBkZWZhdWx0IGNvbnZlcnNpb24gZnVuY3Rpb24gd2hpY2ggdXNlcyB0aGlzIGZvcgoJICB0aW1lPC0+Ynl0ZSBjb252ZXJzaW9ucy4KCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOiAoZ3N0X2ZsYWNfcGFyc2VfZ2V0X2ZyYW1lX3NpemUpOgoJICBGaXggcGFyc2luZyBpZiB1cHN0cmVhbSBnaXZlcyAtMSBhcyBkdXJhdGlvbi4KCjIwMDgtMDktMzAgMTU6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdCB0aGUgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fc3NyY19hY3RpdmUpLCAob25fc3NyY19zZGVzKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAob25fc2VuZGVyX3RpbWVvdXQpOgoJICBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQKCSAgdGhlIHNpZ25hbHMuCgoyMDA4LTA5LTMwIDExOjE5OjEwICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzLzogTmV3IHBsdWdpbiBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgcGxheWJhY2sgdXNpbmcgV2luZG93cyBBdWRpbyBTZXNzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICBOZXcgcGx1Z2luIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBwbGF5YmFjayB1c2luZyBXaW5kb3dzIEF1ZGlvIFNlc3Npb24KCSAgQVBJIChXQVNBUEkpIGF2YWlsYWJsZSB3aXRoIFZpc3RhIGFuZCBuZXdlciAoIzUyMDkwMSkuCgkgIENvbWVzIHdpdGggaGFyZGNvZGVkIGNhcHMgYW5kIG9idmlvdXNseSBuZWVkcyBsb3RzIG9mIGxvdmUuIEhhdmVuJ3QKCSAgaGFkIHRpbWUgdG8gd29yayBvbiB0aGlzIGNvZGUgc2luY2UgaXQgd2FzIHdyaXR0ZW4sIHdhcyBpbml0aWFsbHkganVzdAoJICBhIHF1aWNrIGV4cGVyaW1lbnQgdG8gcGxheSBhcm91bmQgd2l0aCB0aGlzIG5ldyBBUEkuCgoyMDA4LTA5LTMwIDEwOjQzOjU0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHAKCSAgKEF1ZGlvRmFrZVNpbmsuRG9SZW5kZXJTYW1wbGUpOgoJICBGaXggYSBjb3VwbGUgb2Ygc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZ3MuCgoyMDA4LTA5LTMwIDEwOjIyOjEwICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IFVzZSB0aGUgX1QoKSBtYWNybyB0byBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmggKEF1ZGlvRmFrZVNpbmsuQXVkaW9GYWtlU2luayk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmggKFZpZGVvRmFrZVNpbmsuVmlkZW9GYWtlU2luayk6CgkgIFVzZSB0aGUgX1QoKSBtYWNybyB0byBzdXBwb3J0IGJvdGggVW5pY29kZSBhbmQgTUJDUy4KCjIwMDgtMDktMzAgMTA6MTc6NDEgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jIChwbHVnaW5faW5pdCk6IEZpeCByZXR1cm4gdHlwZSBvZiB0aGUgR3N0VVJJSGFuZGxlcjo6Z2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYyAocGx1Z2luX2luaXQpOgoJICBGaXggcmV0dXJuIHR5cGUgb2YgdGhlIEdzdFVSSUhhbmRsZXI6OmdldF90eXBlKCkgaW1wbGVtZW50YXRpb24uCgoyMDA4LTA5LTI5IDA4OjI2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgRkxBQyBwYXJzZXIsIGJhc2VkIG9uIEdzdEJhc2VQYXJzZS4gQWxzbyBhZGQgdGhlIGJpdCBhbmQgYnl0ZSByZWFkZXIgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGxpYmdzdGJhc2UgbGF0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9nZXRfdHlwZSksCgkgIChnc3RfYmFzZV9wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfYmFzZV9maW5hbGl6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9maW5hbGl6ZSksIChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfY2hlY2tfZnJhbWUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfcGFyc2VfZnJhbWUpLCAoZ3N0X2Jhc2VfcGFyc2VfYnl0ZXBvc190b190aW1lKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19ldmVudGZ1bmMpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9iYXNlX3BhcnNlX3NyY19ldmVudGZ1bmMpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaXNfc2Vla2FibGUpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaGFuZGxlX2FuZF9wdXNoX2J1ZmZlciksIChnc3RfYmFzZV9wYXJzZV9kcmFpbiksCgkgIChnc3RfYmFzZV9wYXJzZV9jaGFpbiksIChnc3RfYmFzZV9wYXJzZV9wdWxsX3JhbmdlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2xvb3ApLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9hY3RpdmF0ZSksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9iYXNlX3BhcnNlX3NldF9kdXJhdGlvbiksCgkgIChnc3RfYmFzZV9wYXJzZV9zZXRfbWluX2ZyYW1lX3NpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X3F1ZXJ5dHlwZXMpLCAoZ3N0X2Jhc2VfcGFyc2VfcXVlcnkpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaGFuZGxlX3NlZWspLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19zZXRjYXBzKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmM6IChnc3RfYml0X3JlYWRlcl9uZXcpLAoJICAoZ3N0X2JpdF9yZWFkZXJfbmV3X2Zyb21fYnVmZmVyKSwgKGdzdF9iaXRfcmVhZGVyX2ZyZWUpLAoJICAoZ3N0X2JpdF9yZWFkZXJfaW5pdCksIChnc3RfYml0X3JlYWRlcl9pbml0X2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9iaXRfcmVhZGVyX3NldF9wb3MpLCAoZ3N0X2JpdF9yZWFkZXJfZ2V0X3BvcyksCgkgIChnc3RfYml0X3JlYWRlcl9nZXRfcmVtYWluaW5nKSwgKGdzdF9iaXRfcmVhZGVyX3NraXApLAoJICAoZ3N0X2JpdF9yZWFkZXJfc2tpcF90b19ieXRlKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5jOiAoR0RPVUJMRV9TV0FQX0xFX0JFKSwKCSAgKEdGTE9BVF9TV0FQX0xFX0JFKSwgKGdzdF9ieXRlX3JlYWRlcl9uZXcpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX25ld19mcm9tX2J1ZmZlciksIChnc3RfYnl0ZV9yZWFkZXJfZnJlZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfaW5pdCksIChnc3RfYnl0ZV9yZWFkZXJfaW5pdF9mcm9tX2J1ZmZlciksCgkgIChnc3RfYnl0ZV9yZWFkZXJfc2V0X3BvcyksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3BvcyksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3JlbWFpbmluZyksIChnc3RfYnl0ZV9yZWFkZXJfc2tpcCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQ4KSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50OCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50OCksIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQ4KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDI0X2JlKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5jOiAoZ3N0X2ZsYWNfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2ZsYWNfcGFyc2VfaW5pdCksCgkgIChnc3RfZmxhY19wYXJzZV9maW5hbGl6ZSksIChnc3RfZmxhY19wYXJzZV9zdGFydCksCgkgIChnc3RfZmxhY19wYXJzZV9zdG9wKSwgKGdzdF9mbGFjX3BhcnNlX2dldF9mcmFtZV9zaXplKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV9zdHJlYW1pbmZvKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV92b3JiaXNjb21tZW50KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV9waWN0dXJlKSwgKF92YWx1ZV9hcnJheV9hcHBlbmRfYnVmZmVyKSwKCSAgKGdzdF9mbGFjX3BhcnNlX2hhbmRsZV9oZWFkZXJzKSwgKGdzdF9mbGFjX3BhcnNlX2dlbmVyYXRlX2hlYWRlcnMpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfcGFyc2VfZnJhbWUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmg6CgkgIEFkZCBGTEFDIHBhcnNlciwgYmFzZWQgb24gR3N0QmFzZVBhcnNlLiBBbHNvIGFkZCB0aGUgYml0IGFuZCBieXRlIHJlYWRlcgoJICB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gbGliZ3N0YmFzZSBsYXRlci4KCSAgVGhlIEZMQUMgcGFyc2VyIGlzIGN1cnJlbnRseSBub3QgMTAwJSBidWcgZnJlZSBhbmQgZmFpbHMgdG8gZ2V0IHRoZQoJICBjb3JyZWN0IGZyYW1lIHNpemUgZm9yIHNvbWUgZnJhbWVzIGluIHNvbWUgc3RyZWFtcy4KCjIwMDgtMDktMjcgMDE6MTI6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkLzogQWRkIGluIFRpdGxlL0NoYXB0ZXIgc2Vla2luZywgYW5kIHNpbXBsZSBidXQgYnVnZ3kgYXVkaW8gYW5kIHN1YnRpdGxlIHN0cmVhbSBzZWxlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIEFkZCBpbiBUaXRsZS9DaGFwdGVyIHNlZWtpbmcsIGFuZCBzaW1wbGUgYnV0IGJ1Z2d5IGF1ZGlvCgkgIGFuZCBzdWJ0aXRsZSBzdHJlYW0gc2VsZWN0aW9uLgoKMjAwOC0wOS0yNCAxNzoyMTo0MSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IFByZWZlciBrbm93bi1nb29kIGZpbHRlcnMsIGNyZWF0ZSBkaXJlY3RseSBieSBHVUlEIGlmIHBvc3NpYmxlLCBmYWxsIGJhY2sgdG8gY3JlYXRpbmcgaGlnaGVzdC1tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIFByZWZlciBrbm93bi1nb29kIGZpbHRlcnMsIGNyZWF0ZSBkaXJlY3RseSBieSBHVUlEIGlmIHBvc3NpYmxlLAoJICBmYWxsIGJhY2sgdG8gY3JlYXRpbmcgaGlnaGVzdC1tZXJpdCBmaWx0ZXIgb3RoZXJ3aXNlLgoJICBGaXhlcyBwbGF5YmFjayB3aXRoIHJhbmRvbSBkc2hvdyBmaWx0ZXJzIGluc3RhbGxlZCBpbiBzb21lCgkgIGNhc2VzLgoKMjAwOC0wOS0yMyAxODoxMzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIEZpeCBzb21lIGRvY3MuCgoyMDA4LTA5LTIzIDE3OjM0OjQ0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgUGF0Y2ggZnJvbTogSm9zZXAgVG9ycmEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGZyb206IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgVXNlIGEgcHJlYWxsb2NhdGVkIGJ1ZmZlciBwZXIgc3RyZWFtIGZvciBQRVMgcGFja2V0cyBzZW50IG9uIHNyYyBwYWRzLgoJICBBZGFwdGl2ZWx5IGFkanVzdCBidWZmZXIgc2l6ZSBhcHByb3ByaWF0ZWx5LgoKMjAwOC0wOS0xNyAxNDo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IENsZWFuIHVwIHRoZSBkZWJ1ZyBsb2dnaW5nIGNvZGUgYW5kICNpZmRlZiBtZXNzIGEgYml0OiB3aGV0aGVyIG9yIG5vdCBnc3RyZWFtZXIgZGVidWcgbWVzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBDbGVhbiB1cCB0aGUgZGVidWcgbG9nZ2luZyBjb2RlIGFuZCAjaWZkZWYgbWVzcyBhIGJpdDogd2hldGhlciBvciBub3QKCSAgZ3N0cmVhbWVyIGRlYnVnIG1lc3NhZ2VzIHNob3VsZCBiZSBvdXRwdXQgc2hvdWxkIG5vdCBkZXBlbmQgb24gYW4KCSAgZWxlbWVudCBwcm9wZXJ0eTsgYWxzbywgR1NUX0VMRU1FTlRfRVJST1Igd2lsbCBsZWF2ZSBhIGxpbmUgaW4gdGhlIGxvZwoJICBhbHJlYWR5LCBzbyBtZXJnZSB0aGUgbW9yZSB1c2VmdWwgZGVidWcgbG9nIG1lc3NhZ2VzIHdpdGggdGhlIGxlc3MgdXNlZnVsCgkgIGVycm9yIGRlYnVnIHN0cmluZ3MuCgoyMDA4LTA5LTE3IDE0OjIyOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRG9uJ3QgcG9zdCBMSUJSQVJZX0lOSVQgZXJyb3JzIHdoZXJlIHdlIHNob3VsZCBiZSBwb3N0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KToKCSAgRG9uJ3QgcG9zdCBMSUJSQVJZX0lOSVQgZXJyb3JzIHdoZXJlIHdlIHNob3VsZCBiZSBwb3N0aW5nCgkgIFJFU09VUkNFIE9QRU5fUkVBRCBlcnJvcnMuIEZpeGVzICM1NTI1MDYuCgoyMDA4LTA5LTE3IDEzOjU5OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgoyMDA4LTA5LTE3IDA5OjA2OjU3ICswMDAwICBNaWNoYWVsIEtydWZreSA8bWtydWZreUBsaW51eHR2Lm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBhZGFwdGVyX25hbWUgZm9yIGJ1cyBtZXNzYWdlIGluIEFUU0MgY2FzZS4gRml4ZXMgIzU1MjUzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNaWNoYWVsIEtydWZreQoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBhZGFwdGVyX25hbWUgZm9yIGJ1cyBtZXNzYWdlIGluIEFUU0MgY2FzZS4gRml4ZXMgIzU1MjUzNi4KCjIwMDgtMDktMTUgMDk6Mzk6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDogSGVscCBndGstZG9jIHRvIHBhcnNlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEhlbHAgZ3RrLWRvYyB0byBwYXJzZSB0aGlzIGNvcnJlY3RseS4KCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBBZGQgbWlzc2luZyBpbmNsdWRlLgoKMjAwOC0wOS0xNSAwOTozNDoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IE9ubHkgYnVpbHQgc2NhbGV0ZW1wbyBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgT25seSBidWlsdCBzY2FsZXRlbXBvIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsuCgoyMDA4LTA5LTEzIDAxOjM3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0IHNlZW4gYW4gU1IgcGFja2V0LiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldAoJICBzZWVuIGFuIFNSIHBhY2tldC4gQXZvaWRzIGxhcmdlIHRzLW9mZnNldHMgaW4gc29tZSBjYXNlcy4KCjIwMDgtMDktMTAgMjM6MTU6MTEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBNYWpvciByZXdyaXRlIG9mIGRzaG93ZGVjd3JhcHBlci4gQ29udmVydHMgY29kZSB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBNYWpvciByZXdyaXRlIG9mIGRzaG93ZGVjd3JhcHBlci4gQ29udmVydHMgY29kZSB0bwoJICBDKyssIG1vdmVzIHRvIGRpcmVjdCB1c2Ugb2YgRGlyZWN0U2hvdyBiYXNlIGNsYXNzZXMsCgkgIG1ha2UgYSBsb3Qgb2YgY29kZSBjbGVhcmVyLCBzaW1wbGlmeSwgZXRjLgoJICBGaXggZGVjb2RlIG9mIE1QMyBvbiBWaXN0YSBieSB3b3JraW5nIGFyb3VuZCBhbiBhcHBhcmVudAoJICBidWcgaW4gdGhlIGRlY29kZXIuCgoyMDA4LTA5LTEwIDEyOjA1OjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2dzdGtzY2xvY2suYyAoZ3N0X2tzX2Nsb2NrX3dvcmtlcl90aHJlYWRfZnVuYywgZ3N0X2tzX2Nsb2NrX3N0YXJ0KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suYyAoZ3N0X2tzX2Nsb2NrX3dvcmtlcl90aHJlYWRfZnVuYywKCSAgZ3N0X2tzX2Nsb2NrX3N0YXJ0KToKCSAgU3luY2hyb25pemUgS1MgY2xvY2sgYXMgYSBzaW5nbGUtc2hvdCBvcGVyYXRpb24gZm9yIG5vdywgdGhlcmUncyBub3QKCSAgbXVjaCBwb2ludCBpbiBkb2luZyBpdCBwZXJpb2RpY2FsbHkgdW50aWwgd2UncmUgYWN0dWFsbHkgdXNpbmcgdGhlCgkgIEtTIHRpbWVzdGFtcHMgZm9yIGFueXRoaW5nIGVsc2UgdGhhbiBqdXN0IGRpc2NhcmRpbmcgb2xkIGZyYW1lcy4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChnc3Rfa3NfdmlkZW9fc3JjX29wZW5fZGV2aWNlKToKCSAgUHJvdmlkZSB0aGUgR3N0Q2xvY2sgd2hlbiBvcGVuaW5nIHRoZSBkZXZpY2UgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZS4KCjIwMDgtMDktMDkgMjM6NTg6MDIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChHU1RfREVCVUdfSVNfRU5BQkxFRCwgbGFzdF90aW1lc3RhbXAsIGdzdF9rc192aWRlb19kZXZpY2VfcHJlcGFyZV9idWZmZXJzLCBnc3Rfa3NfdmlkZW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoR1NUX0RFQlVHX0lTX0VOQUJMRUQsIGxhc3RfdGltZXN0YW1wLAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3ByZXBhcmVfYnVmZmVycywgZ3N0X2tzX3ZpZGVvX2RldmljZV9jcmVhdGVfcGluLAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSwgZ3N0X2tzX3ZpZGVvX2RldmljZV9yZXF1ZXN0X2ZyYW1lLAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3JlYWRfZnJhbWUpOgoJICBHdWFyZCBhZ2FpbnN0IGNhcHR1cmluZyBvbGQgZnJhbWVzIGJ5IGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhc3QKCSAgdGltZXN0YW1wIGFuZCBhbHNvIHplcm8tZmlsbCB0aGUgYnVmZmVycyBiZWZvcmUgZWFjaCBjYXB0dXJlLgoJICBPbmx5IGFzc2lnbiBhIG1hc3RlciBjbG9jayBpZiB0aGUgcGluIGhhc24ndCBhbHJlYWR5IGdvdCBvbmUuCgkgIEFjdHVhbGx5IGZyZWUgYnVmZmVycyBvbiB0aGUgd2F5IGRvd24gdG8gYXZvaWQgYSBodWdlIG1lbW9yeSBsZWFrLAoJICBhcyB0aGlzIHdhcyBwcmV2aW91c2x5IGRvbmUgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBBQ1FVSVJFIGRvd253YXJkcwoJICBhbmQgd2Ugbm93IHNraXAgdGhhdCBzdGF0ZSBvbiB0aGUgd2F5IGRvd24uCgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKERFRkFVTFRfREVWSUNFX1BBVEgsIERFRkFVTFRfREVWSUNFX05BTUUsCgkgIERFRkFVTFRfREVWSUNFX0lOREVYLCBLU19XT1JLRVJfTE9DSywgS1NfV09SS0VSX1VOTE9DSywKCSAgS1NfV09SS0VSX1dBSVQsIEtTX1dPUktFUl9OT1RJRlksIEtTX1dPUktFUl9XQUlUX0ZPUl9SRVNVTFQsCgkgIEtTX1dPUktFUl9OT1RJRllfUkVTVUxULCBLU19XT1JLRVJfU1RBVEVfU1RBUlRJTkcsCgkgIEtTX1dPUktFUl9TVEFURV9SRUFEWSwgS1NfV09SS0VSX1NUQVRFX1NUT1BQSU5HLAoJICBLU19XT1JLRVJfU1RBVEVfRVJST1IsIEtzV29ya2VyU3RhdGUsIGRldmljZV9wYXRoLCBkZXZpY2VfbmFtZSwKCSAgZGV2aWNlX2luZGV4LCBydW5uaW5nLCB3b3JrZXJfdGhyZWFkLCB3b3JrZXJfbG9jaywKCSAgd29ya2VyX25vdGlmeV9jb25kLCB3b3JrZXJfcmVzdWx0X2NvbmQsIHdvcmtlcl9zdGF0ZSwKCSAgd29ya2VyX3BlbmRpbmdfY2Fwcywgd29ya2VyX3NldGNhcHNfcmVzdWx0LCB3b3JrZXJfcGVuZGluZ19ydW4sCgkgIHdvcmtlcl9ydW5fcmVzdWx0LCBnc3Rfa3NfdmlkZW9fc3JjX3Jlc2V0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2FwcGx5X2RyaXZlcl9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfb3Blbl9kZXZpY2UsCgkgIGdzdF9rc192aWRlb19zcmNfY2xvc2VfZGV2aWNlLCBnc3Rfa3NfdmlkZW9fc3JjX3dvcmtlcl9mdW5jLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3N0YXJ0X3dvcmtlciwgZ3N0X2tzX3ZpZGVvX3NyY19zdG9wX3dvcmtlciwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUsIGdzdF9rc192aWRlb19zcmNfc2V0X2Nsb2NrLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jYXBzLCBnc3Rfa3NfdmlkZW9fc3JjX3RpbWVzdGFtcF9idWZmZXIsCgkgIGdzdF9rc192aWRlb19zcmNfY3JlYXRlKToKCSAgUmVtb3ZlIEVOQUJMRV9DTE9DS19ERUJVRyBkZWZpbmUsIGl0J3MgR1NUX0xFVkVMX0RFQlVHIGFmdGVyIGFsbC4KCSAgR2V0IHJpZCBvZiBQUk9QX0VOU0xBVkVfS1NDTE9DSyBhbmQgYWx3YXlzIHNsYXZlIHRoZSBrcyBjbG9jayB0byB0aGUKCSAgR1N0cmVhbWVyIGNsb2NrLCBpdCBkb2Vzbid0IHNlZW0gdG8gaHVydCBhbmQgbWF0Y2hlcyBEaXJlY3RTaG93J3MKCSAgYmVoYXZpb3IuIEFzIGFuIGFkZGVkIGJvbnVzIHdlIHVzdWFsbHkgZ2V0IFByZXNlbnRhdGlvblRpbWUgc2V0IGZvcgoJICBlYWNoIGZyYW1lLCBzbyB3ZSBjYW4gZXhwYW5kIG9uIHRoaXMgbGF0ZXIgZm9yIHNtYXJ0ZXIgbGF0ZW5jeQoJICByZXBvcnRpbmcgKGJ5IGxvb2tpbmcgYXQgdGhlIGRpZmYgYmV0d2VlbiB0aGUgdGltZXN0YW1wIGZyb20gdGhlCgkgIGRyaXZlciBhbmQgdGhlIHRpbWUgYWNjb3JkaW5nIHRvIHRoZSBHU3RyZWFtZXIgY2xvY2spLgoJICBVc2UgYW4gaW50ZXJuYWwgd29ya2VyIHRocmVhZCBmb3Igb3BlbmluZyB0aGUgZGV2aWNlLCBzZXR0aW5nIGNhcHMsCgkgIGNoYW5naW5nIGl0cyBzdGF0ZSBhbmQgY2xvc2luZyBpdC4gVGhpcyB3YXkgd2UncmUgYSBsb3QgbW9yZQoJICBjb21wYXRpYmxlIHdpdGggZHJpdmVycyB0aGF0IHJlbHkgb24gaGFja3MgdG8gZG8gdmlkZW8tZWZmZWN0cwoJICBiZXR3ZWVuIHRoZSBsb3ctbGV2ZWwgTlQgQVBJIGFuZCB0aGUgYXBwbGljYXRpb24uIEljay4KCSAgU3RhcnQgdGhlIGtzIGNsb2NrIGFuZCBzZXQgdGhlIHBpbiB0byBLU1NUQVRFX1JVTiBvbiB0aGUgZmlyc3QKCSAgY3JlYXRlKCkgc28gdGhhdCB3ZSdsbCBob3BlZnVsbHkgZ2V0IGhvbGQgb2YgdGhlIEdTdHJlYW1lciBjbG9jawoJICBmcm9tIHRoZSB2ZXJ5IGJlZ2lubmluZy4gVGhpcyB3YXkgdGhlcmUncyBubyBjaGFuY2UgdGhhdCB0aGUKCSAgdGltZXN0YW1wcyB3aWxsIG1ha2UgYSBzdWRkZW4ganVtcCBpbiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJlYW0KCSAgd2hlbiB3ZSdyZSBydW5uaW5nIHdpdGggYSBjbG9jay4KCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmMgKENIRUNLX09QVElPTlNfRkxBRywKCSAga3Nfb3B0aW9uc19mbGFnc190b19zdHJpbmcpOgoJICBSZW9yZGVyIHRoZSBmbGFncyB0byBtYXRjaCB0aGUgaGVhZGVyZmlsZSBvcmRlciwgYW5kIG1ha2UgdGhlIHN0cmluZwoJICBhIGJpdCBtb3JlIGNvbXBhY3QuCgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX3Byb2JlX2ZpbHRlcl9mb3JfY2Fwcyk6CgkgIEF2b2lkIGxlYWtpbmcgS1NQUk9QRVJUWV9QSU5fREFUQVJBTkdFUy4KCjIwMDgtMDktMDkgMTc6NTY6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGpwMmsgcGx1Z2luLiAgRml4ZXMgIzU1MDY1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19jbGFzc19pbml0KSwgKGdzdF9qYXNwZXJfZGVjX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfcmVzZXQpLCAoZ3N0X2phc3Blcl9kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9qYXNwZXJfZGVjX25lZ290aWF0ZSksIChnc3RfamFzcGVyX2RlY19nZXRfcGljdHVyZSksCgkgIChnc3RfamFzcGVyX2RlY19jaGFpbiksIChnc3RfamFzcGVyX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phc3Blcl9kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9qYXNwZXJfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIEFkZCBqcDJrIHBsdWdpbi4gIEZpeGVzICM1NTA2NTcuCgoyMDA4LTA5LTA5IDExOjQ3OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC86IEZpeCBjb25mbGljdGluZyBwdWJsaWMgbmFtZXMgaW4gbmV3IG1wZWcgZGVtdXhlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zeW5jX2dldF90eXBlKSwKCSAgKGdzdF9mbHVwc19kZW11eF9nZXRfdHlwZSksIChnc3RfZmx1cHNfZGVtdXhfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogKGdzdF9mbHV0c19kZW11eF9nZXRfdHlwZSksCgkgIChnc3RfZmx1dHNfZGVtdXhfcGx1Z2luX2luaXQpOgoJICBGaXggY29uZmxpY3RpbmcgcHVibGljIG5hbWVzIGluIG5ldyBtcGVnIGRlbXV4ZXJzLgoJICBGaXhlcyAjNTUwNDY4CgoyMDA4LTA5LTA5IDAxOjE0OjEwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBTdXBwb3J0IGNodW5rcyBpbiBBSUZGIGluIGFueSBvcmRlciBpbiBwdWxsIG1vZGUsIGFuZCBhbnkgb3JkZXIgc28gbG9uZyBhcyB3ZSBnZXQgQ09NTSBiZWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgU3VwcG9ydCBjaHVua3MgaW4gQUlGRiBpbiBhbnkgb3JkZXIgaW4gcHVsbCBtb2RlLCBhbmQgYW55IG9yZGVyIHNvCgkgIGxvbmcgYXMgd2UgZ2V0IENPTU0gYmVmb3JlIHRoZSBhY3R1YWwgZGF0YSAoU1NORCkgaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBwbGF5YmFjayBvZiBBSUZDIGZpbGVzLgoKMjAwOC0wOS0wOCAyMDoyNzoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IFJlc2V0IHRoZSBzZWxlY3RvciBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9yZXNldCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVzZXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHRoZSBzZWxlY3RvciBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwOC0wOS0wNSAxMzo1MjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBsaXN0ZW5lcnMgd2hlbiBhIHNlbmRlciBiZWNvbWVzIGEgcmVjZWl2ZXIuCgkgIFR3ZWFrIGxpcC1zeW5jIGNvZGUsIGRvbid0IHN0b3JlIG91ciBvd24gY29weSBvZiB0aGUgdHMtb2Zmc2V0IG9mIHRoZQoJICBqaXR0ZXJidWZmZXIsIGRvbid0IGFkanVzdCBzeW5jIGlmIHRoZSBjaGFuZ2UgaXMgbGVzcyB0aGFuIDRtc2VjLgoJICBHZXQgdGhlIFJUUCB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZGlyZWN0bHkgZnJvbQoJICB0aGUgaml0dGVyYnVmZmVyIGluc3RlYWQgb2Ygb3VyIGluYWNjdXJhdGUgdmVyc2lvbiBmcm9tIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIEdfTElLRUxZIG1hY3JvcywgdXNlIGdsb2JhbCBkZWZpbmVzIGZvciBtYXggcGFja2V0IHJlb3JkZXIgYW5kCgkgIGRyb3BvdXRzLgoJICBSZXNldCB0aGUgaml0dGVyYnVmZmVyIGNsb2NrIHNrZXcgZGV0ZWN0aW9uIHdoZW4gcGFja2V0cyBzZXFudW1zIGFyZQoJICBjaGFuZ2VkIHVuZXhwZWN0ZWRseS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBHX0xJS0VMWSBtYWNyb3MuCgkgIEtlZXAgdHJhY2sgb2YgdGhlIGV4dGVuZGVkIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gcmVwb3J0IHRoZSBSVFAKCSAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGZvciBsaXAtc3luYy4KCSAgUmVtb3ZlIHNlcnZlciB0aW1lc3RhbXAgZ2FwIGRldGVjdGlvbiBjb2RlLCB0aGUgc2VydmVyIGNhbiBzb21ldGltZXMKCSAgbWFrZSBhIGh1Z2UgZ2FwIGluIHRpbWVzdGFtcHMgKHRhbGsgc3B1cnRzLC4uLikgc2VlICM1NDk3NzQuCgkgIERldGVjdCB0aW1ldGFtcCB3ZWlyZG5lc3MgaW5zdGVhZCBieSBvYnNlcnZpbmcgdGhlIHNlbmRlci9yZWNlaXZlcgoJICB0aW1lc3RhbXAgcmVsYXRpb24gYW5kIHJlc3luYyBpZiBpdCBjaGFuZ2VzIG1vcmUgdGhhbiAxIHNlY29uZC4KCSAgQWRkIG1ldGhvZCB0byByZXBvcnQgYWJvdXQgdGhlIGN1cnJlbnQgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uCgkgIHdoaWNoIGlzIG5lZWRlZCBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zZW5kZXJfdGltZW91dCksIChjaGVja19jb2xsaXNpb24pLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUsIHRoZQoJICBqaXR0ZXJidWZmZXIgY2FuIG5vdyBkbyBhbiBhY2N1cmF0ZSByZXBvcnRpbmcgYWJvdXQgdGhpcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIERlZmluZSBnbG9iYWwgbWF4LXJlb3JkZXIgYW5kIG1heC1kcm9wb3V0IGNvbnN0YW50cyBmb3IgdXNlIGluIHZhcmlvdXMKCSAgc3Vic3lzdGVtcy4KCjIwMDgtMDktMDUgMTE6MDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgRFZCIEFkYXB0ZXIgbmFtZSB0byBzdHJ1Y3R1cmUgc2VudCBvdmVyIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIERWQiBBZGFwdGVyIG5hbWUgdG8gc3RydWN0dXJlIHNlbnQgb3ZlciBidXMuCgoyMDA4LTA5LTAzIDE0OjAyOjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG1wZWcgZGVtdXhlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1wZWcgZGVtdXhlcgoKMjAwOC0wOS0wMiAxNzo0Mzo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogKGdzdF9mbHV0c19kZW11eF9kYXRhX2NiKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDktMDIgMTI6MDQ6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgRmx1ZW5kbyBNUEVHIFBTIGFuZCBUUyBkZW11eGVycyB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMgaXMgbm93IGR1YWwgbGljZW5zZWQgTVBMIGFuZCBMR1BMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuaDoKCSAgQWRkIEZsdWVuZG8gTVBFRyBQUyBhbmQgVFMgZGVtdXhlcnMgdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzCgkgIGlzIG5vdyBkdWFsIGxpY2Vuc2VkIE1QTCBhbmQgTEdQTC4KCjIwMDgtMDktMDIgMTE6MjM6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobmV3X3BhY2tldF9jYik6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA5LTAyIDA5OjU2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRW5hYmxlL2ZpeCB1cCB0cmFuc2xhdGlvbnMgZm9yIHRoZXNlIHBsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRW5hYmxlL2ZpeCB1cCB0cmFuc2xhdGlvbnMgZm9yIHRoZXNlIHBsdWdpbnMuCgkgICogcG8vTElOR1VBUzoKCSAgQWRkICdjYScgdG8gTElOR1VBUy4KCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgbW9yZSBmaWxlcyBmb3IgdHJhbnNsYXRpb24gYW5kIG1vcmUgZmlsZXMgd2hpY2ggdG9vbHMKCSAgc2hvdWxkIHNraXAuCgoyMDA4LTA5LTAyIDA5OjQ2OjA0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiBGaXggYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF93cml0ZV90c19oZWFkZXIpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOS0wMSAxNzo1NDowMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBzdWJkaXJzIGluIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBzdWJkaXJzIGluIE1ha2VmaWxlLmFtCgoyMDA4LTA5LTAxIDE3OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogQWxsb2NhdGUgYSBmaXhlZCBzaXplIGJ1ZmZlciBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB1c2luZyBtYWxsb2MoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IChtcGVndHNtdXhfcHJlcGFyZV9hYWMpOgoJICBBbGxvY2F0ZSBhIGZpeGVkIHNpemUgYnVmZmVyIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHVzaW5nIG1hbGxvYygpLgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X25ldyksICh0c211eF9mcmVlKSwKCSAgKHRzbXV4X3Byb2dyYW1fbmV3KSwgKHRzbXV4X3Byb2dyYW1fZnJlZSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fZnJlZSksICh0c211eF9zdHJlYW1fY29uc3VtZSksCgkgICh0c211eF9zdHJlYW1fYWRkX2RhdGEpOgoJICBVc2UgR1NsaWNlLgoKMjAwOC0wOS0wMSAxNzo0NzowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUEVHNCB2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgQWRkIHN1cHBvcnQgZm9yIG11eGluZyBNUEVHNCB2aWRlby4KCjIwMDgtMDktMDEgMTc6NDE6MzkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4LzogRml4IGJ1aWxkIG9mIG1wZWd0c211eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgRml4IGJ1aWxkIG9mIG1wZWd0c211eC4KCjIwMDgtMDktMDEgMTY6Mzg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBGbHVlbmRvIE1QRUctVFMgbXV4ZXIgYW5kIGxpYnRzbXV4IHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcyBpcyByZW5hbWVkIHRvIG1wZWd0c211eCB0byBwcmV2ZW50IGNvbmZsaWN0cy4gQWxzbyBhbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2Jhc2VfaW5pdCksCgkgIChtcGVndHNtdXhfY2xhc3NfaW5pdCksIChtcGVndHNtdXhfaW5pdCksIChtcGVndHNtdXhfZGlzcG9zZSksCgkgIChnc3RfbXBlZ3RzbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbXBlZ3RzbXV4X2dldF9wcm9wZXJ0eSksCgkgIChyZWxlYXNlX2J1ZmZlcl9jYiksIChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSksCgkgIChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbXMpLCAobXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSksCgkgIChtcGVndHNtdXhfY29sbGVjdGVkKSwgKG1wZWd0c211eF9yZXF1ZXN0X25ld19wYWQpLAoJICAobXBlZ3RzbXV4X3JlbGVhc2VfcGFkKSwgKG5ld19wYWNrZXRfY2IpLAoJICAobXBlZ3RzZGVtdXhfcHJlcGFyZV9zcmNwYWQpLCAobXBlZ3RzbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogKG1wZWd0c211eF9wcmVwYXJlX2FhYyk6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmg6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfaDI2NCk6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF9uZXcpLCAodHNtdXhfc2V0X3dyaXRlX2Z1bmMpLAoJICAodHNtdXhfc2V0X3BhdF9mcmVxdWVuY3kpLCAodHNtdXhfZ2V0X3BhdF9mcmVxdWVuY3kpLCAodHNtdXhfZnJlZSksCgkgICh0c211eF9wcm9ncmFtX25ldyksICh0c211eF9zZXRfcG10X2ZyZXF1ZW5jeSksCgkgICh0c211eF9nZXRfcG10X2ZyZXF1ZW5jeSksICh0c211eF9wcm9ncmFtX2FkZF9zdHJlYW0pLAoJICAodHNtdXhfcHJvZ3JhbV9zZXRfcGNyX3N0cmVhbSksICh0c211eF9nZXRfbmV3X3BpZCksCgkgICh0c211eF9jcmVhdGVfc3RyZWFtKSwgKHRzbXV4X2ZpbmRfc3RyZWFtKSwgKHRzbXV4X3BhY2tldF9vdXQpLAoJICAodHNtdXhfd3JpdGVfYWRhcHRhdGlvbl9maWVsZCksICh0c211eF93cml0ZV90c19oZWFkZXIpLAoJICAodHNtdXhfd3JpdGVfc3RyZWFtX3BhY2tldCksICh0c211eF9wcm9ncmFtX2ZyZWUpLAoJICAodHNtdXhfd3JpdGVfc2VjdGlvbiksICh0c211eF93cml0ZV9zZWN0aW9uX2hkciksCgkgICh0c211eF93cml0ZV9wYXQpLCAodHNtdXhfd3JpdGVfcG10KToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX2dldF9waWQpLCAodHNtdXhfc3RyZWFtX2ZyZWUpLAoJICAodHNtdXhfc3RyZWFtX3NldF9idWZmZXJfcmVsZWFzZV9mdW5jKSwgKHRzbXV4X3N0cmVhbV9jb25zdW1lKSwKCSAgKHRzbXV4X3N0cmVhbV9hdF9wZXNfc3RhcnQpLCAodHNtdXhfc3RyZWFtX2J5dGVzX2F2YWlsKSwKCSAgKHRzbXV4X3N0cmVhbV9ieXRlc19pbl9idWZmZXIpLCAodHNtdXhfc3RyZWFtX2dldF9kYXRhKSwKCSAgKHRzbXV4X3N0cmVhbV9wZXNfaGVhZGVyX2xlbmd0aCksCgkgICh0c211eF9zdHJlYW1fZmluZF9wdHNfZHRzX3dpdGhpbiksCgkgICh0c211eF9zdHJlYW1fd3JpdGVfcGVzX2hlYWRlciksICh0c211eF9zdHJlYW1fYWRkX2RhdGEpLAoJICAodHNtdXhfc3RyZWFtX2dldF9lc19kZXNjcnMpLCAodHNtdXhfc3RyZWFtX3Bjcl9yZWYpLAoJICAodHNtdXhfc3RyZWFtX3Bjcl91bnJlZiksICh0c211eF9zdHJlYW1faXNfcGNyKSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfcHRzKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEFkZCBGbHVlbmRvIE1QRUctVFMgbXV4ZXIgYW5kIGxpYnRzbXV4IHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcwoJICBpcyByZW5hbWVkIHRvIG1wZWd0c211eCB0byBwcmV2ZW50IGNvbmZsaWN0cy4gQWxzbyBhbGwgcmVsZXZhbnQKCSAgaW5mb3JtYXRpb25zIGFib3V0IGNvcHlyaWdodCBhbmQgbGljZW5zZSBhcmUgYWRkZWQgdG8gdGhlIHRvcCBvZgoJICBldmVyeSBmaWxlIGJ1dCBhcGFydCBmcm9tIHRoYXQgbm8gY2hhbmdlcyBjb21wYXJlZCB0byB0aGUgbGF0ZXN0CgkgIFNWTiB2ZXJzaW9ucyBoYXBwZW5lZC4KCj09PSByZWxlYXNlIDAuMTAuMjEgPT09CgoyMDA4LTA5LTAxIDE2OjA1OjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBOb3cgdGhhdCBHc3RCYXNlVHJhbnNmb3JtIGlzICdmaXhlZCcgLi4uIHJlbW92ZSBjcnVmdCBmcm9tIHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKSwgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSk6CgkgIE5vdyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0gaXMgJ2ZpeGVkJyAuLi4gcmVtb3ZlIGNydWZ0IGZyb20gdGVzdHMuCgkgIEFkZCBkZWJ1Z2dpbmcgZm9yIGNvaGVyZW5jZS4KCjIwMDgtMDktMDEgMTM6MjM6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZXVzZSB0aGUgZ2V0X2xpbmtlZF9wYWRzIGZvciBib3RoIHNvdXJjZSBhbmQgc2lua3BhZHMgYmVjYXVzZSB0aGV5IGFyZSB0aGUgc2FtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9ldmVudCksIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBSZXVzZSB0aGUgZ2V0X2xpbmtlZF9wYWRzIGZvciBib3RoIHNvdXJjZSBhbmQgc2lua3BhZHMgYmVjYXVzZSB0aGV5IGFyZQoJICB0aGUgc2FtZS4KCSAgSW1wbGVtZW50IGEgY3VzdHVtIGV2ZW50IGhhbmRsZXIgYW5kIGdldCB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkCgkgIGRpcmVjdGx5IGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgZGVmYXVsdCAoc2xvd2VyKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDgtMzEgMTU6MDE6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IChjZWx0X2RlY19jaGFpbl9wYXJzZV9kYXRhKToKCSAgQ29ycmVjdGx5IHRha2UgdGhlIGdyYW51bGVwb3MgZnJvbSB1cHN0cmVhbSBpZiBwb3NzaWJsZSBhbmQKCSAgY29ycmVjdGx5IGhhbmRsZSB0aGUgZ3JhbnVsZXBvcyBpbiB2YXJpb3VzIGNhbGN1bGF0aW9uczogdGhlCgkgIGdyYW51bGVwb3MgaXMgdGhlIHNhbXBsZSBudW1iZXIgb2YgdGhlIF9sYXN0XyBzYW1wbGUgaW4gYSBmcmFtZSwgbm90CgkgIHRoZSBmaXJzdC4KCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6IChnc3RfY2VsdF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9jZWx0X2VuY19lbmNvZGUpLCAoZ3N0X2NlbHRfZW5jX2NoYWluKSwKCSAgKGdzdF9jZWx0X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgSGFuZGxlIG5vbi16ZXJvIHN0YXJ0IHRpbWVzdGFtcHMgaW4gdGhlIGVuY29kZXIgYW5kIGRldGVjdC9oYW5kbGUKCSAgc3RyZWFtIGRpc2NvbnRpbnVpdGllcy4gRml4ZXMgYnVnICM1NDcwNzUuCgoyMDA4LTA4LTMxIDEyOjIwOjMzICswMDAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm92IEp1dmFubyA8cm92anV2YW5vIGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzogKHBvcF9zdGF0dXNfYmFyKSwKCSAgKHN0YXR1c19iYXJfcHJpbnRmKSwgKGRlbW9fZ3VpX3NlZWtfYmFyX2Zvcm1hdCksICh1cGRhdGVfcG9zaXRpb24pLAoJICAoZGVtb19ndWlfc2Vla19iYXJfY2hhbmdlKSwgKGRlbW9fZ3VpX2RvX2NoYW5nZV9yYXRlKSwKCSAgKGRlbW9fZ3VpX2RvX3NldF9yYXRlKSwgKGRlbW9fZ3VpX2RvX3JhdGVfZW50ZXJlZCksCgkgIChkZW1vX2d1aV9kb190b2dnbGVfYWR2YW5jZWQpLCAoZGVtb19ndWlfZG9fdG9nZ2xlX2Rpc2FibGVkKSwKCSAgKGRlbW9fZ3VpX2RvX3NlZWspLCAoZGVtb19ndWlfZG9fcGxheSksIChkZW1vX2d1aV9kb19wYXVzZSksCgkgIChkZW1vX2d1aV9kb19wbGF5X3BhdXNlKSwgKGRlbW9fZ3VpX2RvX29wZW5fZmlsZSksCgkgIChkZW1vX2d1aV9kb19wbGF5bGlzdF9wcmV2KSwgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X25leHQpLAoJICAoZGVtb19ndWlfZG9fYWJvdXRfZGlhbG9nKSwgKGRlbW9fZ3VpX2RvX3F1aXQpLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc3RyaWRlKSwgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X292ZXJsYXApLAoJICAoZGVtb19ndWlfcmVxdWVzdF9zZXRfc2VhcmNoKSwgKGRlbW9fZ3VpX3JhdGVfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX3N0YXJ0ZWQpLCAoZGVtb19ndWlfcGxheWluZ19wYXVzZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19lbmRlZCksIChkZW1vX2d1aV9wbGF5ZXJfZXJyb3JlZCksCgkgIChkZW1vX2d1aV9zdHJpZGVfY2hhbmdlZCksIChkZW1vX2d1aV9vdmVybGFwX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfc2VhcmNoX2NoYW5nZWQpLCAoZGVtb19ndWlfc2V0X3BsYXllcl9mdW5jKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdF9mdW5jKSwgKGJ1aWxkX2d2YWx1ZV9hcnJheSksCgkgIChjcmVhdGVfYWN0aW9uKSwgKGRlbW9fZ3VpX3Nob3dfZnVuYyksIChkZW1vX2d1aV9zZXRfcGxheWVyKSwKCSAgKGRlbW9fZ3VpX3NldF9wbGF5bGlzdCksIChkZW1vX2d1aV9zaG93KSwgKGRlbW9fZ3VpX2dldF9wcm9wZXJ0eSksCgkgIChkZW1vX2d1aV9zZXRfcHJvcGVydHkpLCAoZGVtb19ndWlfaW5pdCksIChkZW1vX2d1aV9jbGFzc19pbml0KSwKCSAgKGRlbW9fZ3VpX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzogKGhhbmRsZV9lcnJvcl9tZXNzYWdlKSwKCSAgKGhhbmRsZV9xdWl0KSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzogKG5vX3BpcGVsaW5lKSwKCSAgKGRlbW9fcGxheWVyX2V2ZW50X2xpc3RlbmVyKSwgKGRlbW9fcGxheWVyX3N0YXRlX2NoYW5nZWRfY2IpLAoJICAoZGVtb19wbGF5ZXJfZW9zX2NiKSwgKGRlbW9fcGxheWVyX2J1aWxkX3BpcGVsaW5lKSwgKF9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlX2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGVfZnVuYyksCgkgIChfc2V0X3N0YXRlX2FuZF93YWl0KSwgKGRlbW9fcGxheWVyX2xvYWRfdXJpX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfcGxheV9mdW5jKSwgKGRlbW9fcGxheWVyX3BhdXNlX2Z1bmMpLCAoX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieV9mdW5jKSwgKGRlbW9fcGxheWVyX3NlZWtfdG9fZnVuYyksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb25fZnVuYyksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb25fZnVuYyksCgkgIChkZW1vX3BsYXllcl9zY2FsZV9yYXRlKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX2xvYWRfdXJpKSwgKGRlbW9fcGxheWVyX3BsYXkpLCAoZGVtb19wbGF5ZXJfcGF1c2UpLAoJICAoZGVtb19wbGF5ZXJfc2Vla19ieSksIChkZW1vX3BsYXllcl9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbiksIChkZW1vX3BsYXllcl9nZXRfZHVyYXRpb24pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Byb3BlcnR5KSwgKGRlbW9fcGxheWVyX3NldF9wcm9wZXJ0eSksCgkgIChkZW1vX3BsYXllcl9pbml0KSwgKGRlbW9fcGxheWVyX2NsYXNzX2luaXQpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6IChiZXN0X292ZXJsYXBfb2Zmc2V0X2Zsb2F0KSwKCSAgKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfczE2KSwgKG91dHB1dF9vdmVybGFwX2Zsb2F0KSwKCSAgKG91dHB1dF9vdmVybGFwX3MxNiksIChmaWxsX3F1ZXVlKSwgKHJlaW5pdF9idWZmZXJzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybSksIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc2NhbGV0ZW1wb19zaW5rX2V2ZW50KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9jYXBzKSwKCSAgKGdzdF9zY2FsZXRlbXBvX2dldF9wcm9wZXJ0eSksIChnc3Rfc2NhbGV0ZW1wb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NjYWxldGVtcG9fYmFzZV9pbml0KSwgKGdzdF9zY2FsZXRlbXBvX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NjYWxldGVtcG9faW5pdCk6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHNjYWxldGVtcG8gcGx1Z2luLCB3aGljaCBhbGxvd3MgdG8gc2NhbGUgdGhlIHNwZWVkIG9mIGF1ZGlvIHdpdGhvdXQKCSAgY2hhbmdpbmcgdGhlIHBpdGNoIGJ5IGhhbmRsaW5nIHNlZWtzIHdpdGggYSByYXRlIT0xLjAuCgkgIEludGVncmF0ZSBpdCBpbnRvIHRoZSBkb2NzIGFuZCBhZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIGl0LgoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMDgtMDgtMzAgMjA6MjI6MDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggc29tZSBtZW1sZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggc29tZSBtZW1sZWFrcy4KCjIwMDgtMDgtMzAgMDY6MzA6NDIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggRU9TIGhhbmRsaW5nLiAgQ2xlYW4gdXAgYXQgb2JqZWN0IGRpc3Bvc2FsLiAgSGFuZGxlIDQ6MjoyIGFuZCA0OjQ6NCB2aWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggRU9TIGhhbmRsaW5nLiAgQ2xlYW4gdXAgYXQKCSAgb2JqZWN0IGRpc3Bvc2FsLiAgSGFuZGxlIDQ6MjoyIGFuZCA0OjQ6NCB2aWRlby4KCjIwMDgtMDgtMjkgMTQ6MDU6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gRm9ydGUuCgoyMDA4LTA4LTI5IDEzOjU3OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IEZJT05SRUFECWNoZWNrLCBuZWVkZWQgZm9yIHRoZSBkY2NwIHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgRklPTlJFQUQJY2hlY2ssIG5lZWRlZCBmb3IgdGhlIGRjY3Agc3JjLgoKMjAwOC0wOC0yOSAxMjoxNjoyNyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB0byBpbmNsdWRlIGxhdGVzdCBwbHVnaW5zLCBhZGQgYXBleHNyYyBkaXJldG9yeSB0byBkaXN0ZWQgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgdG8gaW5jbHVkZSBsYXRlc3QgcGx1Z2lucywgYWRkIGFwZXhzcmMgZGlyZXRvcnkgdG8gZGlzdGVkIGZpbGVzCgoyMDA4LTA4LTI5IDExOjM2OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy4qOiBBZGQgY29kZSBmb3IgY2FsY3VsYXRpbmcgcHJvcGVyIHRpbWVzdGFtcC9kdXJhdGlvbiBmb3IgdGhlIHRyYWlsaW5nIGVuY29kZWQgYnVmZmVycyB0aGF0IGZhYWMgd2lsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2luaXQpLCAoZ3N0X2ZhYWNfc2lua19ldmVudCksCgkgIChnc3RfZmFhY19jaGFpbiksIChnc3RfZmFhY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgQWRkIGNvZGUgZm9yIGNhbGN1bGF0aW5nIHByb3BlciB0aW1lc3RhbXAvZHVyYXRpb24gZm9yIHRoZSB0cmFpbGluZwoJICBlbmNvZGVkIGJ1ZmZlcnMgdGhhdCBmYWFjIHdpbGwgb3V0cHV0IHdoZW4gcmVjZWl2aW5nIEVPUy4KCjIwMDgtMDgtMjkgMDg6NTc6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IENGTEFHUyBhbmQgTElCUyBmb3IgdGhlIGFwZXhzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBDRkxBR1MgYW5kIExJQlMgZm9yIHRoZSBhcGV4c2luay4KCjIwMDgtMDgtMjggMjI6MDI6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fbWVkaWFfdHlwZV9mcmVlKTogQXZvaWQgbGVha2luZyB0aGUgS1NEQVRBUkFOR0UgbWVtYmVyIG9mIGVhY2ggS3NWaWRlb01lZGlhVHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX21lZGlhX3R5cGVfZnJlZSk6CgkgIEF2b2lkIGxlYWtpbmcgdGhlIEtTREFUQVJBTkdFIG1lbWJlciBvZiBlYWNoIEtzVmlkZW9NZWRpYVR5cGUuCgoyMDA4LTA4LTI4IDE3OjE2OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kY2NwLzogRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggRm9ydGUgLSBhcHBhcmVudGx5IGl0IGhhdGVzIGNvbmNhdGVuYXRpbmcgYQoJICBtYWNybyBhcmd1bWVudCB0aGF0IHN0YXJ0cyB3aXRoIGFuIHVuZGVyc2NvcmU/PwoKMjAwOC0wOC0yOCAxNzowMTozMCArMDAwMCAgSsOpcsOpbWllIEJlcm5hcmQgPGdyZW1pbWFpbEBnbWFpbC5jb20+CgoJICBBZGQgYXBleHNpbmsgZm9yIGF1ZGlvIG91dHB1dCB0byBBcHBsZSBBaXJQb3J0IEV4cHJlc3MgV2lyZWxlc3MgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDI1MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSsOpcsOpbWllIEJlcm5hcmQgPGdyZW1pbWFpbCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYXBleHNpbmsvTEdQTC0zLjAudHh0OgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiAoZ19zdHJkZWwpLCAoZ3N0X2FwZXhyYW9wX3NlbmQpLAoJICAoZ3N0X2FwZXhyYW9wX3JlY3YpLCAoZ3N0X2FwZXhyYW9wX25ldyksIChnc3RfYXBleHJhb3BfZnJlZSksCgkgIChnc3RfYXBleHJhb3Bfc2V0X2hvc3QpLCAoZ3N0X2FwZXhyYW9wX2dldF9ob3N0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfcG9ydCksIChnc3RfYXBleHJhb3BfZ2V0X3BvcnQpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF91c2VyYWdlbnQpLCAoZ3N0X2FwZXhyYW9wX2dldF91c2VyYWdlbnQpLAoJICAoZ3N0X2FwZXhyYW9wX2Nvbm5lY3QpLCAoZ3N0X2FwZXhyYW9wX2dldF9qYWNrdHlwZSksCgkgIChnc3RfYXBleHJhb3BfZ2V0X2phY2tzdGF0dXMpLCAoZ3N0X2FwZXhyYW9wX2Nsb3NlKSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdm9sdW1lKSwgKGdzdF9hcGV4cmFvcF93cml0ZV9iaXRzKSwKCSAgKGdzdF9hcGV4cmFvcF93cml0ZSksIChnc3RfYXBleHJhb3BfZmx1c2gpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOiAoZ3N0X2FwZXhzaW5rX2phY2tzdGF0dXNfZ2V0X3R5cGUpLAoJICAoZ3N0X2FwZXhzaW5rX2phY2t0eXBlX2dldF90eXBlKSwgKGdzdF9hcGV4c2lua19pbnRlcmZhY2VzX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2ltcGxlbWVudHNfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9saXN0X3RyYWNrcyksIChnc3RfYXBleHNpbmtfbWl4ZXJfc2V0X3ZvbHVtZSksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfZ2V0X3ZvbHVtZSksIChnc3RfYXBleHNpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19jbGFzc19pbml0KSwgKGdzdF9hcGV4c2lua19pbml0KSwKCSAgKGdzdF9hcGV4c2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwZXhzaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBleHNpbmtfZmluYWxpc2UpLCAoZ3N0X2FwZXhzaW5rX29wZW4pLAoJICAoZ3N0X2FwZXhzaW5rX3ByZXBhcmUpLCAoZ3N0X2FwZXhzaW5rX3dyaXRlKSwKCSAgKGdzdF9hcGV4c2lua191bnByZXBhcmUpLCAoZ3N0X2FwZXhzaW5rX2RlbGF5KSwKCSAgKGdzdF9hcGV4c2lua19yZXNldCksIChnc3RfYXBleHNpbmtfY2xvc2UpOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJICBBZGQgYXBleHNpbmsgZm9yIGF1ZGlvIG91dHB1dCB0byBBcHBsZSBBaXJQb3J0IEV4cHJlc3MgV2lyZWxlc3MKCSAgZGV2aWNlcy4gRml4ZXMgYnVnICM1NDI1MTAuCgoyMDA4LTA4LTI4IDE1OjIxOjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIEVPUyB3aGVuIHRoZSBzZXNzaW9uIG9iamVjdCBpbnN0cnVjdHMgdXMgdG8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHRvIGluc3RydWN0IHVzIHRvIHNlbmQgRU9TLiBXZQoJICBjdXJyZW50bHkgd2lsbCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBpcyBhIHNlbmRlciBhbmQgd2hlbiB0aGUgc2VuZGVyIHBhcnQKCSAgZ29lcyBFT1MuIFRoaXMgaXMgbm90IGVudGlyZWx5IGNvcnJlY3QgYmVoYXZpb3VyIGJlY2F1c2UgdGhlIHNlc3Npb24KCSAgY291bGQgc3RpbGwgcGFydGljaXBhdGUgYXMgYSByZWNlaXZlci4KCSAgRml4ZXMgIzU0OTQwOS4KCjIwMDgtMDgtMjggMDE6MDM6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IFJlYWQgc2l6ZSBvZiBjaHVua3MgcHJlY2VlZGluZyB0aGUgYXVkaW8gZGF0YSB3aXRoIHRoZSBjb3JyZWN0IGVuZGlhbm5lc3MuIEZpeGVzIHBsYXliYWNrIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBSZWFkIHNpemUgb2YgY2h1bmtzIHByZWNlZWRpbmcgdGhlIGF1ZGlvIGRhdGEgd2l0aCB0aGUKCSAgY29ycmVjdCBlbmRpYW5uZXNzLiBGaXhlcyBwbGF5YmFjayBvZiBzb21lIGZpbGVzLgoJICBGaXhlcyAjNTM4NTAwCgoyMDA4LTA4LTI4IDAwOjI1OjI4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYW4gQUlGRiBwYXJzaW5nIGVsZW1lbnQsIGhlYXZpbHkgYmFzZWQgb24gd2F2cGFyc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSAgQWRkIGFuIEFJRkYgcGFyc2luZyBlbGVtZW50LCBoZWF2aWx5IGJhc2VkIG9uIHdhdnBhcnNlLgoKMjAwOC0wOC0yNyAyMTozMzowNyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoZ3N0X2tzX3ZpZGVvX2RldmljZV9jbGFzc19pbml0LCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKGdzdF9rc192aWRlb19kZXZpY2VfY2xhc3NfaW5pdCwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUpOgoJICBEb24ndCBzZXQgdGhlIHBpbiBzdGF0ZSB0byBLU1NUQVRFX1JVTiBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoJICBTa2lwIEtTU1RBVEVfQUNRVUlSRSB3aGVuIGNoYW5naW5nIHBpbiBzdGF0ZSBkb3dud2FyZHMuCgkgIEJlIG5pY2UgYW5kIHNwZWNpZnkgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgUmVtb3ZlIHVudXNlZCBmaW5hbGl6ZSBtZXRob2QuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoREVGQVVMVF9FTkFCTEVfUVVJUktTLCBQUk9QX0VOQUJMRV9RVUlSS1MsCgkgIGVuYWJsZV9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfY2xhc3NfaW5pdCwgZ3N0X2tzX3ZpZGVvX3NyY19pbml0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2ZpbmFsaXplLCBnc3Rfa3NfdmlkZW9fc3JjX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfcHJvcGVydHksIGdzdF9rc192aWRlb19zcmNfcmVzZXQsCgkgIGdzdF9rc192aWRlb19zcmNfYXBwbHlfZHJpdmVyX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19jaGFuZ2Vfc3RhdGUsCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X2NhcHMpOgoJICBGaXJzdCBkcml2ZXIgcXVpcms6IHdvcmsgYXJvdW5kIExvZ2l0ZWNoJ3MgaG9zdGlsZSBkcml2ZXIgc29mdHdhcmUgdG8KCSAgaW1wcm92ZSBzdGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlLiBTZWUgY29tbWVudHMgZm9yIGRldGFpbHMuCgkgIFByb3ZpZGUgYSBwcm9wZXJ0eSB0byBkaXNhYmxlIGRyaXZlciBxdWlya3MgKGVuYWJsZWQgYnkgZGVmYXVsdCkuCgkgIEJlIG5pY2UgYW5kIHNwZWNpZnkgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgUmVtb3ZlIHVudXNlZCBkaXNwb3NlIG1ldGhvZC4KCSAgVHdlYWsgaW5jbHVkZSBvcmRlci4KCjIwMDgtMDgtMjcgMTU6NDU6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBJbXBsZW1lbnQgdGhlIExBVEVOQ1kgcXVlcnkgaW4gYSBiZXR0ZXIgd2F5IGJ5IHRha2luZyB0aGUgbGF0ZW5jeSBvZiBhbGwgc2lua3BhZHMgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIEltcGxlbWVudCB0aGUgTEFURU5DWSBxdWVyeSBpbiBhIGJldHRlciB3YXkgYnkgdGFraW5nIHRoZSBsYXRlbmN5IG9mIGFsbAoJICBzaW5rcGFkcyBhbmQgdGFraW5nIHRoZSBtaW4vbWF4IGluc3RlYWQgb2YganVzdCB0YWtpbmcgYSByYW5kb20gcGFkLgoKMjAwOC0wOC0yNiAxMjozMzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC86IFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUgYSBzbWFsbCBzcGVlZHVwIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlCgkgIGEgc21hbGwgc3BlZWR1cCBhbmQgbWFrZXMgaXQgcG9zc2libGUgdG8gaGFuZGxlIGNocm9tYSBhbmQgbHVtYQoJICBkaWZmZXJlbnQgd2hpY2ggaXMgbmVlZGVkIGxhdGVyLgoKMjAwOC0wOC0yNiAxMToxODozOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLio6IERvbid0IHB1dCBnbG9iYWxzIG9ubHkgdXNlZCBieSBvbmUgJy5jJyBmaWxlIGluIGEgaGVhZGVyICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJICBEb24ndCBwdXQgZ2xvYmFscyBvbmx5IHVzZWQgYnkgb25lICcuYycgZmlsZSBpbiBhIGhlYWRlciAhCgkgIERlY2xhcmUgaXQgYXMgc3RhdGljLCBmaXhlcyBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA4LTI2IDExOjEzOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBXaG9vcHMsIHRoYXQgd2FzIG9uZSBmaXggdG9vIG11Y2ggOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3Bfc2VuZF9idWZmZXIpOgoJICBXaG9vcHMsIHRoYXQgd2FzIG9uZSBmaXggdG9vIG11Y2ggOikKCjIwMDgtMDgtMjYgMTE6MDg6MzQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IHNpemVfdCdzIHNpemUgdmFyaWVzIGJ5IHBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gVXNlIGdsaWIgY29udmVuaWVuY2UgbWFjcm8gaW5zdGVhZC4gRml4ZXMgYnVpbGQgb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOiAoZ3N0X2RjY3BfcmVhZF9idWZmZXIpLAoJICAoZ3N0X2RjY3Bfc2VuZF9idWZmZXIpLCAoZ3N0X2RjY3Bfc2V0X3NvY2tfd2luZG93c2l6ZSk6CgkgIHNpemVfdCdzIHNpemUgdmFyaWVzIGJ5IHBsYXRmb3JtL2FyY2hpdGVjdHVyZS4gVXNlIGdsaWIgY29udmVuaWVuY2UKCSAgbWFjcm8gaW5zdGVhZC4gRml4ZXMgYnVpbGQgb24gbWFjb3N4LgoJICBSZW1vdmUgZW5kaW5nICdcbicgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDgtMjYgMTE6MDE6NDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOiBSZW1vdmUgdW51c2VkIGNvZGUgYW5kIGZpeCBpbmNsdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzogKGdzdF9wY2FwX3BhcnNlX2NsYXNzX2luaXQpOgoJICBSZW1vdmUgdW51c2VkIGNvZGUgYW5kIGZpeCBpbmNsdWRlcy4KCjIwMDgtMDgtMjUgMTQ6Mzc6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBGaXJzdCBwYXJ0IG9mIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcKCSAgYWxnb3JpdGhtLiBUaGlzIG9ubHkgc3VwcG9ydHMgc2VhcmNoLWVmZm9ydD0wIGN1cnJlbnRseSwgaXMgcGFpbmZ1bGx5CgkgIHNsb3cgYW5kIG5lZWRzIHNvbWUgY2xlYW51cCBsYXRlciB3aGVuIGFsbCBzZWFyY2gtZWZmb3J0IHNldHRpbmdzCgkgIGFyZSBpbXBsZW1lbnRlZCBpbiBDLgoKMjAwOC0wOC0yNCAyMjowNTo0OCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW4gZm9yIGxvdy1sYXRlbmN5IHZpZGVvIGNhcHR1cmUgb24gV2luZG93cyAoIzUxOTkzNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgICogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIE5ldyBwbHVnaW4gZm9yIGxvdy1sYXRlbmN5IHZpZGVvIGNhcHR1cmUgb24gV2luZG93cyAoIzUxOTkzNSkuCgkgIFVzZXMgS2VybmVsIFN0cmVhbWluZywgdGhlIGxvd2VzdCBsZXZlbCBBUEkgZm9yIGRvaW5nIHZpZGVvIGNhcHR1cmUKCSAgb24gV2luZG93cyAobW9yZSBvciBsZXNzIGp1c3QgcmF3IGlvY3RscykuCgoyMDA4LTA4LTI0IDE2OjU1OjQ4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBibG9icy4gVGhhbmtzIHRvIFN0ZWZhbiBmb3Igbm90aWNpbmchCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGJsb2JzLiBUaGFua3MgdG8gU3RlZmFuIGZvciBub3RpY2luZyEKCjIwMDgtMDgtMjQgMTM6NTM6MjkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luOiBwY2FwcGFyc2UgKCM1MjA4OTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIE5ldyBwbHVnaW46IHBjYXBwYXJzZSAoIzUyMDg5OSkuCgoyMDA4LTA4LTI0IDEzOjIzOjQ0ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbjogd2luc2NyZWVuY2FwICgjNDYzOTQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuaDoKCSAgTmV3IHBsdWdpbjogd2luc2NyZWVuY2FwICgjNDYzOTQxKS4KCjIwMDgtMDgtMjMgMDA6MDE6MzkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOiBGbGlwIG1wZWcxL21wZWcyIGFycmF5cyBmb3IgbXBlZyBhdWRpby4gRGV0ZWN0IHdoaWNoIHR5cGUgdGhlIGF1ZGlvIGlzIGNvcnJlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgRmxpcCBtcGVnMS9tcGVnMiBhcnJheXMgZm9yIG1wZWcgYXVkaW8uIERldGVjdCB3aGljaCB0eXBlIHRoZSBhdWRpbwoJICBpcyBjb3JyZWN0bHksIGluc3RlYWQgb2YgYmFja3dhcmRzLiBObyBmdW5jdGlvbmFsIGNoYW5nZXMsIHNpbmNlIHRoaXMKCSAgbWlzdGFrZSB3YXMgY29tcGxldGVseSBzZWxmLWNvbnNpc3RlbnQuCgoyMDA4LTA4LTIyIDA2OjI3OjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOiBBZGQsIGJ1dCBjb21tZW50ZWQgb3V0IHhtbC9lbGVtZW50LWRjMTM5NC54bWwuIEl0cyBkb2N1bWVudGVkLCBidXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkLCBidXQgY29tbWVudGVkIG91dCB4bWwvZWxlbWVudC1kYzEzOTQueG1sLiBJdHMgZG9jdW1lbnRlZCwgYnV0CgkgIEkgY2FuJ3QgZ2V0IGl0IHRvIGJlIGJ1aWxkLgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIEZpeCBkb2Mgd2FybmluZ3MgYW5kIHJlZm9ybWF0IHRoZSBkb2MgYmxvY2suCgoyMDA4LTA4LTIxIDEzOjIyOjM4ICswMDAwICBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgoJICBBZGQgZGNjcCBwbHVnaW4uIEZpeGVzICM1NDIzOTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvUkVBRE1FOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9SRUFETUU6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQQ2xpZW50U2F2ZUZpbGUuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUFNlcnZlclNlbmRGaWxlLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUENsaWVudFBsYXlNaWMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQU2VydmVyTWljLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUENsaWVudFBsYXlNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQU2VydmVyU2VuZE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUENsaWVudFBsYXlTcGVleE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUFNlcnZlclNlbmRTcGVleE1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BDbGllbnRQbGF5TVAzU3RyZWFtLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUFNlcnZlclNlbmRNUDNTdHJlYW0uYzoKCSAgQWRkIGRjY3AgcGx1Z2luLiBGaXhlcyAjNTQyMzkwLgoKMjAwOC0wOC0yMCAyMjoyNDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGJpdHMgdGhhdCBwcmVzdW1hYmx5IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUgY29tbWl0dGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBiaXRzIHRoYXQgcHJlc3VtYWJseSB3ZXJlbid0IHN1cHBvc2VkIHRvIGJlIGNvbW1pdHRlZC4KCjIwMDgtMDgtMjAgMjE6NDQ6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBuZXcgd2luZG93cyBBQ00gZW5jb2RlciB3cmFwcGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgQWRkIG5ldyB3aW5kb3dzIEFDTSBlbmNvZGVyIHdyYXBwZXIuCgoyMDA4LTA4LTE4IDExOjEzOjA3ICswMDAwICBNaWNoYWVsIEtydWZreSA8bWtydWZreUBsaW51eHR2Lm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgQVRTQyB0dW5uaW5nIGFuZCBjaGFubmVscy5jb25mIHBhcnNpbmcgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBNaWNoYWVsIEtydWZreQoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIEFkZCBBVFNDIHR1bm5pbmcgYW5kIGNoYW5uZWxzLmNvbmYgcGFyc2luZyBzdXBwb3J0LgoJICBGaXhlcyAjNTM3NDU1CgoyMDA4LTA4LTEzIDIxOjU4OjA4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvOiBJbml0aWFsaXNlIENPTSB3aXRoIGRlZmF1bHQgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEluaXRpYWxpc2UgQ09NIHdpdGggZGVmYXVsdCBmbGFncy4KCSAgT25seSBkZWluaXRpYWxpc2UgaWYgdGhlIGluaXRpYWxpc2F0aW9uIHdhcyBzdWNjZXNzZnVsLgoKMjAwOC0wOC0xMyAxNDozMTowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZXNldCBydHAgdGltZXN0YW1wIGludGVycG9sbGF0aW9uIHdoZW4gd2UgZGV0ZWN0IGEgZ2FwIHdoZW4gdGhlCgkgIGNsb2NrX2Jhc2UgY2hhbmdlZC4KCSAgRG9uJ3QgdHJ5IHRvIGFkanVzdCB0aGUgdHMtb2Zmc2V0IHdoZW4gaXQncyB0b28gYmlnICg+IDNzZWNvbmRzKQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZXRfc3NyYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kIHRvIHNldCBzZXNzaW9uIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKSwgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkZWQgZGVidWdnaW5nIGZvciB0aGUgY29sbGlzaW9uIGNoZWNrcy4KCSAgQWRkIG1ldGhvZCB0byBjaGFuZ2UgdGhlIGludGVybmFsIFNTUkMgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgUmVzZXQgdGhlIGNsb2NrIGJhc2Ugd2hlbiB3ZSBkZXRlY3QgbGFyZ2UganVtcHMgaW4gdGhlIHNlcW51bXMuCgoyMDA4LTA4LTEyIDE2OjEzOjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuKjogRG8gbm90IGRlYWwgd2l0aCBkdXBsaWNhdGVkIGlucHV0ICh0aW1lc3RhbXBzKS4gIElmIG5lZWRlZCwgYSBnZW5lcmljIGVsZW1lbnQgY2FuIGRvIHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfcmVzZXQpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYWluKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgRG8gbm90IGRlYWwgd2l0aCBkdXBsaWNhdGVkIGlucHV0ICh0aW1lc3RhbXBzKS4gIElmIG5lZWRlZCwKCSAgYSBnZW5lcmljIGVsZW1lbnQgY2FuIGRvIHNvLgoJICBEbyBub3QgbWFuaXB1bGF0ZSBpbnB1dCB0aW1lc3RhbXBzIG9uIHRoZSB3YXkgb3V0LAoJICBzaW5jZSB0aGF0IHNoaWZ0cyB0aGUgdGltZWxpbmUgYW5kIEEvViBzeW5jLgoKMjAwOC0wOC0xMiAxNTo0MTo0OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogSW50ZWdyYXRlIG5ldyBwcm9wZXJ0aWVzIGludG8gZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIEludGVncmF0ZSBuZXcgcHJvcGVydGllcyBpbnRvIGRvY3VtZW50YXRpb24uCgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpOgoJICBGaXggdXAgQVBJIHByaW9yIHRvIGV2ZW50dWFsIHBsdWdpbiBtb3ZlLgoJICBBUEk6IEdzdFgyNjRFbmM6cGFzcyAocHJvdmlkZXMgbW9yZSBvcHRpb25zLCBhbmQgY2hhbmdlZCB0byBlbnVtKQoKMjAwOC0wOC0xMiAxNDozMTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBtcGxleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBtcGxleC4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIERvY3VtZW50YXRpb24gdXBkYXRlLgoKMjAwOC0wOC0xMiAxMzowODozOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgdW5pdCB0ZXN0IGZvciB4MjY0ZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94MjY0ZW5jLmM6IChzZXR1cF94MjY0ZW5jKSwKCSAgKGNsZWFudXBfeDI2NGVuYyksIChHU1RfU1RBUlRfVEVTVCksICh4MjY0ZW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgdW5pdCB0ZXN0IGZvciB4MjY0ZW5jLgoKMjAwOC0wOC0xMSAxNzoyNDo1OCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEFsbG9jYXRlIHNvbWUgYnVmZmVycyBpbiBtb3JlIGFkYXB0aXZlIGFuZCBlY29ub21pY2FsIGZhc2hpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBBbGxvY2F0ZSBzb21lIGJ1ZmZlcnMgaW4gbW9yZSBhZGFwdGl2ZSBhbmQgZWNvbm9taWNhbCBmYXNoaW9uLgoKMjAwOC0wOC0xMSAxNToxNjoxNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBzdWZmaWNpZW50bHkgdXAtdG8tZGF0ZSB4MjY0IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igc3VmZmljaWVudGx5IHVwLXRvLWRhdGUgeDI2NCBBUEkuCgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3Bhc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBFeHBvc2Ugc29tZSBtb3JlIHBhcmFtZXRlcnMgb2YgdGhlIHgyNjQgZW5jb2RlciBhcyBwcm9wZXJ0aWVzLgoKMjAwOC0wOC0xMSAwNzoyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICBVc2UgIi0iIGluc3RlYWQgb2YgIl8iIGluIHByb3BlcnR5IG5hbWVzLiBDYW4gd2UgY2FsbCB0aGVtIGp1c3QKCSAgImRldmljZSIgbGlrZSBldmVyeXdoZXJlIGVsc2U/CgoyMDA4LTA4LTA4IDE1OjA3OjEyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQ29kaW5nIHN0eWxlIGFuZCBsYXlvdXQ7IHJlLW9yZGVyIHNvbWUgZnVuY3Rpb25zIGluIG1vcmUgdHlwaWNhbCBhbmQgbmF0dXJhbCBmbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfbG9nX2NhbGxiYWNrKSwKCSAgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19mbHVzaF9mcmFtZXMpOgoJICBDb2Rpbmcgc3R5bGUgYW5kIGxheW91dDsgcmUtb3JkZXIgc29tZSBmdW5jdGlvbnMgaW4gbW9yZQoJICB0eXBpY2FsIGFuZCBuYXR1cmFsIGZsb3cuCgoyMDA4LTA4LTA4IDE0OjE5OjE2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0LzogVXNlIEdRdWV1ZSBpbiBzdGVhZCBvZiBjdXN0b20gcXVldWUgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksIChnc3RfeDI2NF9lbmNfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfcmVzZXQpLCAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF94MjY0X2VuY19mbHVzaF9mcmFtZXMpLCAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYWluKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLAoJICAoZ3N0X3gyNjRfZW5jX2NoYW5nZV9zdGF0ZSksIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIFVzZSBHUXVldWUgaW4gc3RlYWQgb2YgY3VzdG9tIHF1ZXVlIGNvZGUuCgkgIEZhY3Rvcml6ZSBmbHVzaGluZyBvdXQgZW5jb2RlciBkZWxheWVkIGZyYW1lcy4KCSAgRmFjdG9yaXplIGluaXRpYWxpemF0aW9uIGFuZCBzdGF0ZSBjaGFuZ2UgcmVzZXQuCgoyMDA4LTA4LTA4IDEwOjU2OjAyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFVzZSBjb25maWd1cmUtZ2VuZXJhdGVkIF9zdGRpbnQuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgVXNlIGNvbmZpZ3VyZS1nZW5lcmF0ZWQgX3N0ZGludC5oLgoKMjAwOC0wOC0wOCAxMDoxMzozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC86IFVzZSB2aWRlbyBmb3JtYXQgbGlicmFyeSBhbmQgR1NUX1dSSVRFXypfQkUgbWFjcm9zIHdoZXJlIGFwcGxpY2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2xvZ19jYWxsYmFjayksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBVc2UgdmlkZW8gZm9ybWF0IGxpYnJhcnkgYW5kIEdTVF9XUklURV8qX0JFIG1hY3JvcyB3aGVyZSBhcHBsaWNhYmxlLgoJICBVc2UgZmluYWxpemUgaW4gc3RlYWQgb2YgZGlzcG9zZS4KCSAgU2V0IHVwIGRlYnVnIGNhdGVnb3J5IGFuZCBsb2cgY2FsbGJhY2suCgoyMDA4LTA4LTA3IDE2OjIwOjMwICswMDAwICBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBGcmVkZXJpYyBDcm96YXQgPGZjcm96YXRAbWFuZHJpdmEub3JnPgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfcGx1Z2luX2luaXQpOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSBzdXJlIGdldHRleHQgcmV0dXJucyB0cmFuc2xhdGlvbnMgaW4gVVRGLTggZW5jb2RpbmcgcmF0aGVyCgkgIHRoYW4gaW4gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nICgjNTQ2ODIyKS4KCjIwMDgtMDgtMDcgMTQ6MzQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuKjogQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChnc3RfdHdvX2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF90d29fbGFtZV9jaGFpbik6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBbGxvdyByYXcgZmxvYXQgc2FtcGxlcyBhcyBpbnB1dCBmb3IgZW5jb2RpbmcuCgoyMDA4LTA4LTA3IDEzOjE1OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzogVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgoyMDA4LTA4LTA3IDA5OjA5OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBBZGQgbmV3IGVsZW1lbnQgdG8gZG9jcy4KCSAgKiBleHQvamFjay9nc3RqYWNrLmgKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgUmVuYW1lIGphY2thdWRpb3NyYyB0byBqYWNrX2F1ZGlvX3NyYy4KCjIwMDgtMDgtMDcgMDg6NDc6NDAgKzAwMDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSAgZXh0L2phY2svOiBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIEZpeGVzICM1NDUxOTcuCgoyMDA4LTA4LTA2IDE1OjQ5OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdHdvbGFtZSBhbmQgY2VsdCBwbHVnaW5zIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSAgQWRkIHR3b2xhbWUgYW5kIGNlbHQgcGx1Z2lucyB0byB0aGUgZG9jcy4KCjIwMDgtMDgtMDUgMDk6NDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlIGppdHRlcmJ1ZmZlciBiZWNhdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZQoJICBqaXR0ZXJidWZmZXIgYmVjYXVzZSB0aGUgaml0dGVyYnVmZmVyIHdpbGwgbW9kaWZ5IHRoZSB0aW1lc3RhbXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgbWV0aG9kIGNvbW1lbnQgYWJvdXQgcmVxdWlyaW5nIHdyaXRhYmxlIG1ldGFkYXRhIG9uIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApOgoJICBNYWtlIHRoZSBSVENQIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWNhdXNlIHdlIHdhbnQgdG8gbW9kaWZ5IHRoZQoJICBtZXRhZGF0YS4KCSAgRml4ZXMgIzU0NjMxMi4KCjIwMDgtMDgtMDUgMDk6MDU6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBNb3ZlIHRoZSBzZWxlY3QtYWxsIGxvZ2ljIGludG8gdGhlIGFjdGl2YXRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBwYWQuIFdlIHdhbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0Y2FwcyksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfYWN0aXZhdGVfc2lua3BhZCk6CgkgIE1vdmUgdGhlIHNlbGVjdC1hbGwgbG9naWMgaW50byB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkCgkgIHBhZC4gV2Ugd2FudCB0byByZW1lbWJlciB0aGUgbGFzdCBwYWQgd2l0aCBhY3Rpdml0eSBpbiBzZWxlY3QtYWxsIG1vZGUuCgkgIEZpeCB0aGUgZ2V0Y2FwcyBmdW5jdGlvbiwgd2UgY2FuIHByb2R1Y2UgdGhlIHVuaW9uIG9mIHRoZSB1cHN0cmVhbSBjYXBzCgkgIGluIHNlbGVjdC1hbGwgbW9kZSwgbm90IHRoZSBpbnRlcnNlY3Rpb24gbGlrZSBwcm94eV9nZXRjYXBzKCkgZG9lcy4KCjIwMDgtMDgtMDUgMDk6MDA6NTAgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoKMjAwOC0wOC0wNSAwODo1ODoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKToKCSAgUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBGaXhlcyAjNTQzNDgwLgoKMjAwOC0wOC0wMiAxODo0ODoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYik6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdAoJICBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgoyMDA4LTA4LTAyIDE4OjM2OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZSBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teGV4dCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmQyX21teCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9zY2FsZXJfYm9iX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9pbml0KToKCSAgQWRkIHRoZSByZW1haW5pbmcgdHZ0aW1lIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZml4IHRoZQoJICBkZWludGVybGFjZV9mcmFtZSgpIGltcGxlbWVudGF0aW9uIG9mIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kLgoKMjAwOC0wOC0wMiAxODozMDo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgoyMDA4LTA4LTAyIDE4OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0IGNhbiBiZSB1c2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBBZGQgYSBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZCBzdWJjbGFzcyBvZiBHc3REZWludGVybGFjZU1ldGhvZCB0aGF0CgkgIGNhbiBiZSB1c2VkIGJ5IHNpbXBsZSBkZWludGVybGFjaW5nIG1ldGhvZHMuIFRoZXkgb25seSBoYXZlIHRvIHByb3ZpZGUKCSAgYSBmdW5jdGlvbiBmb3IgaW50ZXJwb2xhdGluZyBhIHNjYW5saW5lIG9yIGNvcHlpbmcgYSBzY2FubGluZS4KCjIwMDgtMDgtMDIgMTg6MTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcyBvZiBldmVyeSBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbik6CgkgIFJlc3BlY3QgdGhlIGxhdGVuY3kgb2YgdGhlIGRlaW50ZXJsYWNpbmcgYWxnb3JpdGhtIGZvciB0aGUgdGltZXN0YW1wcwoJICBvZiBldmVyeSBidWZmZXIuCgoyMDA4LTA4LTAyIDE4OjEzOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcwoJICBkZWZpbmVkLgoKMjAwOC0wOC0wMiAxODowOTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpOgoJICBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTA4LTAyIDE4OjAyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24gdGhhdCBkb3VibGVzL2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZ3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IpLCAoZ3N0X2ZyYWN0aW9uX2RvdWJsZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2dldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uCgkgIHRoYXQgZG91Ymxlcy9oYWxmcyB0aGUgZnJhbWVyYXRlIGlmIGFsbCBmaWVsZHMgc2hvdWxkIGJlIHNlbnQgb3V0LgoKMjAwOC0wOC0wMiAxNzozOToxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3BhZGRpbmdfZ2V0X3R5cGUpLCAoZ3N0X3R3b19sYW1lX2VtcGhhc2lzX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9yZWxlYXNlX21lbW9yeSksIChnc3RfdHdvX2xhbWVfZmluYWxpemUpLAoJICAoZ3N0X3R3b19sYW1lX2Jhc2VfaW5pdCksIChnc3RfdHdvX2xhbWVfY2xhc3NfaW5pdCksCgkgIChnc3RfdHdvX2xhbWVfc3JjX3NldGNhcHMpLCAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfaW5pdCksIChnc3RfdHdvX2xhbWVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90d29fbGFtZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3R3b19sYW1lX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKSwgKGdzdF90d29fbGFtZV9zZXR1cCksCgkgIChnc3RfdHdvX2xhbWVfY2hhbmdlX3N0YXRlKSwgKGdzdF90d29fbGFtZV9nZXRfZGVmYXVsdF9zZXR0aW5ncyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5oOgoJICBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCjIwMDgtMDgtMDIgMTc6Mjk6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBDRUxUIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMgYmFzZWQgb24gdGhlIFNwZWV4IGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L2dzdGNlbHQuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IChnc3RfY2VsdF9kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9jZWx0X2RlY19jbGFzc19pbml0KSwgKGdzdF9jZWx0X2RlY19yZXNldCksCgkgIChnc3RfY2VsdF9kZWNfaW5pdCksIChjZWx0X2RlY19jb252ZXJ0KSwKCSAgKGNlbHRfZ2V0X3NpbmtfcXVlcnlfdHlwZXMpLCAoY2VsdF9kZWNfc2lua19xdWVyeSksCgkgIChjZWx0X2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoY2VsdF9kZWNfc3JjX3F1ZXJ5KSwKCSAgKGNlbHRfZGVjX3NyY19ldmVudCksIChjZWx0X2RlY19zaW5rX2V2ZW50KSwKCSAgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2hlYWRlciksIChjZWx0X2RlY19jaGFpbl9wYXJzZV9jb21tZW50cyksCgkgIChjZWx0X2RlY19jaGFpbl9wYXJzZV9kYXRhKSwgKGNlbHRfZGVjX2NoYWluKSwKCSAgKGNlbHRfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzogKGdzdF9jZWx0X2VuY19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF9jZWx0X2VuY19iYXNlX2luaXQpLCAoZ3N0X2NlbHRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NlbHRfZW5jX2ZpbmFsaXplKSwgKGdzdF9jZWx0X2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2NlbHRfZW5jX3NpbmtfZ2V0Y2FwcyksIChnc3RfY2VsdF9lbmNfY29udmVydF9zcmMpLAoJICAoZ3N0X2NlbHRfZW5jX2NvbnZlcnRfc2luayksIChnc3RfY2VsdF9lbmNfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2NlbHRfZW5jX2dldF9xdWVyeV90eXBlcyksIChnc3RfY2VsdF9lbmNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9jZWx0X2VuY19zaW5rX3F1ZXJ5KSwgKGdzdF9jZWx0X2VuY19pbml0KSwKCSAgKGdzdF9jZWx0X2VuY19jcmVhdGVfbWV0YWRhdGFfYnVmZmVyKSwgKGdzdF9jZWx0X2VuY19zZXR1cCksCgkgIChnc3RfY2VsdF9lbmNfYnVmZmVyX2Zyb21fZGF0YSksIChnc3RfY2VsdF9lbmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2NlbHRfZW5jX3NldF9oZWFkZXJfb25fY2FwcyksIChnc3RfY2VsdF9lbmNfc2lua2V2ZW50KSwKCSAgKGdzdF9jZWx0X2VuY19jaGFpbiksIChnc3RfY2VsdF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9jZWx0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2NlbHRfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBBZGQgQ0VMVCBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBTcGVleCBlbGVtZW50cy4KCjIwMDgtMDgtMDIgMTc6MTY6MzkgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBVc2UgZ19zZXRlbnYoKSBhbmQgZ191bnNldGVudigpIGluc3RlYWQgb2Ygc2V0ZW52KCkgdG8gZml4IGNvbXBpbGF0aW9uIHdpdGggbWluZ3cuIEZpeGVzIGJ1ZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKToKCSAgVXNlIGdfc2V0ZW52KCkgYW5kIGdfdW5zZXRlbnYoKSBpbnN0ZWFkIG9mIHNldGVudigpIHRvIGZpeCBjb21waWxhdGlvbgoJICB3aXRoIG1pbmd3LiBGaXhlcyBidWcgIzU0NTI0Ny4KCjIwMDgtMDgtMDEgMjM6MzA6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoKMjAwOC0wOC0wMSAxNTozOTo0NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZSBtb3ZlZCBwbHVnaW5zIGZyb20gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgbW92ZWQgcGx1Z2lucyBmcm9tIHNwZWMgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC44ID09PQoKMjAwOC0wNy0zMSAyMjoxNToxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC44CgoyMDA4LTA3LTMxIDIyOjAzOjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNy0yNCAyMzo1Mzo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2lkLnBvOgoJICBBZGQgSW5kb25lc2lhbiB0cmFuc2xhdGlvbi4KCjIwMDgtMDctMjQgMDA6MzI6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJICBTdXBwb3J0IGZvciBjb21waWxpbmcgd2l0aCBNU1ZDOiB1c2UgX01TQ19WRVIgZm9yIGRldGVjdGluZyBNU1ZDIGluc3RlYWQKCSAgb2YgTVNDX1ZFUi4gTWFrZSBDYW5QYWNrU2FtcGxlcyB0YWtlIHRoZSB0eXBlIGl0J3MgcGFzc2VkLiBDaGFuZ2Ugc2NvcGUKCSAgb2YgYSB2YXJpYWJsZSBpbiBsb2FkX2l0LmNwcCB0byBNU1ZDJ3Mgc2NvcGluZyBydWxlcy4KCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICBGaXhlcyAjNTQ0NDU3LgoKMjAwOC0wNy0yMiAwNjoyNzo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IEZpeCBjb21waWxlciB3YXJuaW5nLiBGaXhlcyAjNTQ0MDUwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuIEZpeGVzICM1NDQwNTAuCgoyMDA4LTA3LTIxIDIxOjEyOjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY2hlY2sgZm9yIG5hdl9wcmludC5oIGFueSBtb3JlIC0gaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSBsaWJkdmRuYXYgZGV2ZWxvcG1lbnQgcGFja2FnZSBpZiBsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNoZWNrIGZvciBuYXZfcHJpbnQuaCBhbnkgbW9yZSAtIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbgoJICB0aGUgbGliZHZkbmF2IGRldmVsb3BtZW50IHBhY2thZ2UgaWYgbGliZHZkbmF2IGhlYWRlcnMgZGVwZW5kIG9uIGl0LgoJICBGaXhlczogIzU0Mzg0NgoKMjAwOC0wNy0yMSAxNjowMzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTGluayB0aGUgbGFkc3BhIHBsdWdpbiB3aXRoIC1sZGwuIEl0J3MgbmVlZGVkIGZvciBkbG9wZW4oKSBhbmQgZnJpZW5kcyBmb3IgbG9hZGluZyB0aGUgbGFkc3BhIHBsdWdpbnMgYW5kIHByZXZpb3VzbHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBMaW5rIHRoZSBsYWRzcGEgcGx1Z2luIHdpdGggLWxkbC4gSXQncyBuZWVkZWQgZm9yIGRsb3BlbigpIGFuZCBmcmllbmRzCgkgIGZvciBsb2FkaW5nIHRoZSBsYWRzcGEgcGx1Z2lucyBhbmQgcHJldmlvdXNseSB3YXMgbGlua2VkIGluIGJ5CgkgIGdtb2R1bGUuIEZpeGVzIGJ1ZyAjNTQzODQ4LgoKMjAwOC0wNy0yMSAxMDoxNjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbTogVXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIENYWEZMQUdTLiBHU1RfQ0ZMQUdTIGNhbiBjb250YWluIGNvbXBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBDWFhGTEFHUy4gR1NUX0NGTEFHUwoJICBjYW4gY29udGFpbiBjb21waWxlciBwYXJhbWV0ZXJzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCSAgRml4ZXMgYnVnICM1NDM4NjAuCgoyMDA4LTA3LTIxIDEwOjE1OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06IERpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMuIEZpeGVzIGJ1ZyAjNTQzODYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgIERpc3QgbWlzc2luZyBoZWFkZXIgZmlsZXMuIEZpeGVzIGJ1ZyAjNTQzODYxLgoKMjAwOC0wNy0xOSAxNDoxMjo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNy4yIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC43LjIgcHJlLXJlbGVhc2UKCjIwMDgtMDctMTkgMTQ6MDI6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXN0IGFuZCByZWN1cnNlIGludG8gcmVzaW5kdmQgc3ViZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbmQgcmVjdXJzZSBpbnRvIHJlc2luZHZkIHN1YmRpcgoKMjAwOC0wNy0xOSAxMzo0MzowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIGNvbmZpZ3VyZS5hYyBwaWVjZXMgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gY29uZmlndXJlLmFjIHBpZWNlcyB0b28KCjIwMDgtMDctMTkgMTM6Mjk6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vOiBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9sdC5wbzoKCSAgQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTCgkgIGZpbGUuCgoyMDA4LTA3LTE5IDAwOjU4OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIHBsdWdpbnMgdGhhdCBoYXZlIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gcGx1Z2lucyB0aGF0IGhhdmUgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDctMTggMDg6MzQ6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneSBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5CgkgIGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIEJ1aWxkIHRoZSBkZWludGVybGFjZTIgcGx1Z2luIG9uIGFsbCBhcmNoaXRlY3R1cmVzIGJ1dCBzdGlsbCBtYXJrIGl0CgkgIGFzIGV4cGVyaW1lbnRhbC4KCSAgQnVpbGQgdGhlIHg4NiBpbmxpbmUgYXNzZW1ibHkgb25seSBpZiBHQ0MgaW5saW5lIGFzc2VtYmx5IGlzIHN1cHBvcnRlZAoJICBhbmQgb25seSBvbiB4ODYgb3IgYW1kNjQuIEZpeGVzIGJ1ZyAjNTQzMjg2LgoKMjAwOC0wNy0xNiAxNDoxNTozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgY2FzdHMgdG8gZml4IHRoZSBidWlsZCBvbiBGb3J0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgIEFkZCBzb21lIGNhc3RzIHRvIGZpeCB0aGUgYnVpbGQgb24gRm9ydGUKCjIwMDgtMDctMTQgMTQ6MTM6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEZpeCBidWlsZCBvbiB4ODZfNjQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgb24geDg2XzY0CgoyMDA4LTA3LTE0IDA3OjUwOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzogUmVtb3ZlIHdoaXRlc3BhY2UgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBSZW1vdmUgd2hpdGVzcGFjZSBsaW5lLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICBNYWtlIGl0IHNvIHRoYXQgYXVkaW8vdmlkZW8gcGFkcyBhcmVuJ3QgYWRkZWQgdG8gdGhlIGJpbgoJICB1bnRpbCBhZnRlciBkYXRhIGZsb3cgc3RhcnRzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICBNb3ZlIHZpZGVvIGJ1ZmZlciBxdWV1ZSBvdXRzaWRlIHJlc2luZHZkYmluCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIENoZWNrIHRoYXQgdGhlIG5hdl9jbG9ja19pZCBkaWRuJ3QgYWxyZWFkeSBnZXQgdW5zY2hlZHVsZWQuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmVtb3ZlIGFzc2VydCB0aGF0IHNvbWV0aW1lcyB0cmlnZ2VycyBlcnJvbmVvdXNseS4KCjIwMDgtMDctMTMgMTA6NTY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZSBhc3NlbWJseSBvcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gb25seSBoYW5kbGUgdGhpcyBhbmQgY2FsbGluZyB0aGUgQwoJICBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHJlbWFpbmluZyBwYXJ0IGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0IG5lZWRzCgkgIHByZXZpb3VzIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDctMTMgMTA6NTI6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBUaGUgU1NFIG1ldGhvZCBpbiBmYWN0IG9ubHkgbmVlZHMgTU1YRVhULCBkZWNsYXJlIGl0IGFzIHN1Y2guCgoyMDA4LTA3LTExIDE0OjA2OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICBUdXJuIGdfcHJpbnQncyBpbnRvIGRlYnVnIHN0YXRlbWVudHMuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBBZGQgYSBibG9hdGVkIGltcGxlbWVudGF0aW9uIG9mIGEgcmVhbGx5IHNpbXBsZSBpZGVhOiBSZXBsYWNlIHRoZQoJICBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gdGhlIG91dHB1dCB2aWRlbyB3aXRoIGEgcHJlc2NyaWJlZCBvbmUgd2hlbgoJICBuZWNlc3NhcnkuIFRoZXJlIG11c3QgYmUgYW4gZWFzaWVyIHdheS4KCSAgU3BsaXQgdGhlIGR2ZHNwdSBvdXQgb2YgdGhlIHJlc2luZHZkYmluIGFuZCBwdXQgb3V0IHRoZSBzdWJwaWN0dXJlCgkgIHN0cmVhbSBvbiB0aGUgc3VicGljdHVyZSBwYWQuCgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBTZW5kIHZpZGVvLWFzcGVjdCBldmVudHMgZG93biB0aGUgcGlwZSBmcm9tIHRoZSBkZW11eGVyLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBIYW5kbGUgdGltZWQtc3RpbGxzIHNvbWV3aGF0IHVzaW5nIGdfY29uZF90aW1lZF93YWl0LCB3aXRoIGEgRklYTUUKCSAgdG8gbWFrZSBpdCB1c2UgY2xvY2std2FpdGluZyBsYXRlci4KCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBEb24ndCBvdmVyd3JpdGUgdGhlIGxhc3Rfc3RvcCBpbiB0aGUgYmFzZXNyYyBzZWdtZW50IGFmdGVyIGEgc2VhbWxlc3MKCSAgc2Vlay4KCjIwMDgtMDctMTEgMTM6NTQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIENvbW1pdCBmaWxlIHRoYXQgbW9hcCBzZWVtcyB0byBoYXZlIG1pc3NlZDogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbW1pdCBmaWxlIHRoYXQgbW9hcCBzZWVtcyB0byBoYXZlIG1pc3NlZDogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCjIwMDgtMDctMTAgMjE6MDY6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLW92ZXJyaWRlcy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXIuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3RhZy5jOgoJICAqIGdzdC9hZGRlci9nc3RhZGRlci5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24KCSAgdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlbGluZXMgYXJlICJzaW1wbGUiCgkgIHBpcGVsaW5lcy4KCjIwMDgtMDctMTAgMjA6MjM6MDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBDb252ZXJ0IGV4dGVuZGVkIGV2ZW50IHRleHQgdG8gVVRGLTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENvbnZlcnQgZXh0ZW5kZWQgZXZlbnQgdGV4dCB0byBVVEYtOC4KCjIwMDgtMDctMTAgMTg6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvY3VtZW50IG9uZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgRG9jdW1lbnQgb25lIG1vcmUuCgoyMDA4LTA3LTEwIDA5OjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6IEZpeCBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yIHBhcnNpbmcsIG91dCBieSAxIGluIHBvc2l0aW9uIG9mIHRleHQgbGVuZ3RoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IgcGFyc2luZywgb3V0IGJ5IDEgaW4gcG9zaXRpb24gb2YKCSAgdGV4dCBsZW5ndGguCgoyMDA4LTA3LTA5IDEyOjEzOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogQWRkIGEgbm90ZSB0byB0aGUgZG9jcywgdGhhdCBmZXN0aXZhbCBuZWVkIHRvIGJlIHJ1bm5pbmcuIEFsc28gbG9nIGFuIGVycm9yIGl0IGl0IGlzIG5vdC4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MsIHRoYXQgZmVzdGl2YWwgbmVlZCB0byBiZSBydW5uaW5nLiBBbHNvIGxvZyBhbgoJICBlcnJvciBpdCBpdCBpcyBub3QuIEZpeGVzICM1NDEzMjcKCjIwMDgtMDctMDggMjE6MjA6MjcgKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy4qOiBBZGQgdmlldy1vbmx5IHByb3BlcnR5IHRvIGlnbm9yZSB0aGUgbmF2aWdhdGlvbiBldmVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgQWRkIHZpZXctb25seSBwcm9wZXJ0eSB0byBpZ25vcmUgdGhlIG5hdmlnYXRpb24gZXZlbnRzCgoyMDA4LTA3LTA4IDE4OjUzOjQxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzogUmV2ZXJ0IHByZXZpb3VzIHBhdGNoIGFwYXJ0IGZyb20gdHlwbyBmaXhlczsgdGhlIHBhdGNoIHdhcyBub3QgaW5kZXBlbmRlbnRseSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIFJldmVydCBwcmV2aW91cyBwYXRjaCBhcGFydCBmcm9tIHR5cG8gZml4ZXM7IHRoZSBwYXRjaCB3YXMgbm90CgkgIGluZGVwZW5kZW50bHkgdXNlZnVsLgoKMjAwOC0wNy0wOCAxNzo0MTo1NSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogQWRkIEFBQywgQUMzIHRvIGhhbmRsZWQgY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIEFkZCBBQUMsIEFDMyB0byBoYW5kbGVkIGNvZGVjcy4KCSAgRml4IGhhbmRsaW5nIG9mIGZsdXNoIGV2ZW50cy4KCSAgSW1wcm92ZSBkZWJ1Zy9lcnJvciBvdXRwdXQuCgkgIEZpeCBhIG51bWJlciBvZiB0eXBvcyBpbiBjb21tZW50cyBhbmQgdmFyaWFibGUgbmFtZXMuCgoyMDA4LTA3LTA4IDE1OjI0OjQ0ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEltcGxlbWVudCBTZXJ2ZXJDdXRUZXh0IG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBJbXBsZW1lbnQgU2VydmVyQ3V0VGV4dCBtZXNzYWdlCgoyMDA4LTA3LTA4IDE0OjI4OjA4ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi86IEFkZCBwcm9wZXJ0eSBmb3Igc2hhcmVkIGRlc2t0b3AKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEFkZCBwcm9wZXJ0eSBmb3Igc2hhcmVkIGRlc2t0b3AKCjIwMDgtMDctMDggMTQ6MDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlCgkgIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCjIwMDgtMDctMDggMTM6MzE6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfc2V0dXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cyBpbiB0aGUgcmVtYWluaW5nIGNvZGUuCgoyMDA4LTA3LTA4IDEzOjI4OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvOiBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToKCSAgSm9uYXRoYW4gUm9zc2VyIDxqb25hdGhhbiBkb3Qgcm9zc2VyIGF0IHJkIGRvdCBiYmMgZG90IGNvIGRvdCB1az4KCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6IChtZXRhZGF0YXBhcnNlX2hhbmRsZV91bml0X3RhZ3MpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAobWV0YWRhdGFwYXJzZV94bXBfaXRlcl9hZGRfdG9fdGFnX2xpc3QpOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zdGFydCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfbG9vcCk6CgkgIERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCjIwMDgtMDctMDcgMTM6MjI6MjYgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCBtZW1vcnkgbGVhayBieSB1bnJlZmZpbmcgc3RydWN0dXJlcyB3aGVuIG5vdCBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IG1lbW9yeSBsZWFrIGJ5IHVucmVmZmluZyBzdHJ1Y3R1cmVzIHdoZW4gbm90IG5lZWRlZC4KCSAgRml4ZXMgIzUzOTI5Mi4KCjIwMDgtMDctMDcgMTA6NDM6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgVXNlIGZsb2F0aW5nIHBvaW50IG1hdGggZm9yIGxhdGVuY2llcyA8IDAgc2VjIGluIGxvZyBvdXRwdXQuCgoyMDA4LTA3LTA2IDIwOjQzOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzogTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgc29tZQoJICBzcGVlZHVwIGFzIHRoZXkncmUgdXNlZCBvbmx5IG9uY2UgYW5kIG5lZWQgdG8gZ2V0IG1hbnkgbG9jYWwgdmFyaWFibGVzCgkgIHBhc3NlZCBhcyBwYXJhbWV0ZXIuCgoyMDA4LTA3LTA1IDE5OjIwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBDYWxsIHRoZSBjdXJyZW50IGluc3RhbmNlICJzZWxmIiBpbnN0ZWFkIG9mICJvYmplY3QiLgoKMjAwOC0wNy0wNSAxOToxMTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBGaXggb3V0cHV0dGluZyBvZiBhbGwgZmllbGRzLCBpLmUuIGRvdWJsaW5nIG9mIHRoZSBmcmFtZXJhdGUuCgoyMDA4LTA3LTA1IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydCB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9tZXRob2RfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2ZpZWxkc19yZXF1aXJlZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9pbml0KToKCSAgVXNlIGEgR3N0T2JqZWN0IHN1YnR5cGUgZm9yIHRoZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGV4cG9ydAoJICB0aGUgZGlmZmVyZW50IHNldHRpbmdzIGZvciBlYWNoIGRlaW50ZXJsYWNpbmcgbWV0aG9kIHZpYSBHT2JqZWN0CgkgIHByb3BlcnRpZXMuCgkgIEltcGxlbWVudCBHc3RDaGlsZFByb3h5IGludGVyZmFjZSB0byBhbGxvdyBhY2Nlc3MgdG8gdGhlIHVzZWQKCSAgZGVpbnRlcmxhY2luZyBtZXRob2QgYW5kIHRvIGFsbG93IGFkanVzdGluZyB0aGUgZGlmZmVyZW50IHNldHRpbmdzLgoJICBNb3ZlIGdsb2JhbCB2YXJpYWJsZXMgb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBtZXRob2QgaW50bwoJICBmdW5jdGlvbiBsb2NhbCB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhpcyBkZWludGVybGFjaW5nCgkgIG1ldGhvZCBmcm9tIGRpZmZlcmVudCBpbnN0YW5jZXMuCgoyMDA4LTA3LTA1IDEyOjIyOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgZ3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkKCSAgb3B0aW1pemVkIGdyZWVkeWggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNy0wNCAxODo1NDoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgIE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoKMjAwOC0wNy0wNCAxODo1MjozNyArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNoZWNraW5nIG9mIGhlYWRlcnMgZm9yIHRoZSBPU1M0IHBsdWdpbiB0byBmYWlsIGlmIGEgc2luZ2xlIGhlYWRlciBkb2Vzbid0IGV4aXN0IGFscmVhZHkuIEFDX0NIRUNLXy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjaGVja2luZyBvZiBoZWFkZXJzIGZvciB0aGUgT1NTNCBwbHVnaW4gdG8gZmFpbCBpZiBhIHNpbmdsZQoJICBoZWFkZXIgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBBQ19DSEVDS19IRUFERVJTIG9ubHkgZmFpbHMgaWYgbm9uZQoJICBvZiB0aGUgaGVhZGVycyBpcyBmb3VuZC4gRml4ZXMgYnVnICM1NDE1NDMuCgoyMDA4LTA3LTA0IDE2OjA2OjA5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgRml4IGJ1aWx0IG9mIHRoZSBmZXN0aXZhbCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyLmRsbCBhbmQgaW5jbHVkaW5nIHdpbnNvY2sgaGVhZGVycy4gRml4ZXMgYnVnICM1NDE1MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIEZpeCBidWlsdCBvZiB0aGUgZmVzdGl2YWwgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMi5kbGwKCSAgYW5kIGluY2x1ZGluZyB3aW5zb2NrIGhlYWRlcnMuIEZpeGVzIGJ1ZyAjNTQxNTIyLgoKMjAwOC0wNy0wMyAxNDo0NDo1MSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIENvcnJlY3RlZCBhIHR5cG8gKGludGVycG9sbGF0ZSAtPiBpbnRlcnBvbGF0ZSkuCgoyMDA4LTA3LTAzIDE0OjMxOjEwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHB1c2hfcGFja2V0KSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgQ2hhbmdlZCBzb21lIEdTVF9ERUJVRygpIHRvIEdTVF9MT0coKSB0byByZWR1Y2UgdGhlIHNwYW0gd2hlbiBhCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgbm9ybWFsbHkuCgoyMDA4LTA3LTAzIDEzOjQ3OjE5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoKMjAwOC0wNy0wMSAyMTo0MDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuKjogUXVldWUgbmV3LXNlZ21lbnQgZXZlbnRzIGFuZCBzZW5kIHRoZW0gYWZ0ZXIgY2FwcyBoYXZlIGJlZW4gZGV0ZXJtaW5lZCBhbmQgc2V0LCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFF1ZXVlIG5ldy1zZWdtZW50IGV2ZW50cyBhbmQgc2VuZCB0aGVtIGFmdGVyIGNhcHMgaGF2ZSBiZWVuCgkgIGRldGVybWluZWQgYW5kIHNldCwgc28gdGhhdCB0aGUgZGVjb2RlciB3aWxsIGhhdmUgYmVlbiBhdXRvLXBsdWdnZWQuCgoyMDA4LTA3LTAxIDExOjI4OjE3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvcXR3cmFwcGVyLzogTWFrZSBxdHdyYXBwZXIgY29tcGlsZS93b3JrIG9uIHdpbjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgOiBNaWNoYWVsIFNtaXRoIDxtc21pdGggQCB4aXBoIGRvdCBvcmc+CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9pbml0KSwKCSAgKGNsZWFyX0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksIChmaWxsX2luZGVzY19tcDMpLAoJICAoZmlsbF9pbmRlc2NfYWFjKSwgKG1ha2Vfc2Ftcl9tYWdpY19jb29raWUpLCAod3JpdGVfbGVuKSwKCSAgKG1ha2VfYWFjX21hZ2ljX2Nvb2tpZSksIChvcGVuX2RlY29kZXIpLCAocHJvY2Vzc19idWZmZXJfY2IpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6IChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfYXZjMSksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mb3JfbXA0diksIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX3N0c2RfYnVmZmVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzogKGdldF9uYW1lX2luZm9fZnJvbV9jb21wb25lbnQpLAoJICAoZHVtcF9hdmNjX2F0b20pLCAoZHVtcF9pbWFnZV9kZXNjcmlwdGlvbiksCgkgIChBbGxvY2F0ZUF1ZGlvQnVmZmVyTGlzdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICAqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfYmFzZV9pbml0KSwgKG9wZW5fZGVjb2RlciksCgkgIChkZWNvbXByZXNzQ2IpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgTWFrZSBxdHdyYXBwZXIgY29tcGlsZS93b3JrIG9uIHdpbjMyLgoJICBMb3RzIG9mIGZpeGVzCgkgIEZpeGVzICM1MzE4NDAKCjIwMDgtMDYtMzAgMTk6MTk6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIFJHQiBidWZmZXJzIC0+IGJwcCBpcyBpbiBiaXRzLCBzbyBkaXZpZGUgYnkgOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgUkdCIGJ1ZmZlcnMgLT4gYnBwIGlzIGluIGJpdHMsIHNvIGRpdmlkZSBieSA4CgoyMDA4LTA2LTMwIDA3OjUxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6ICh0b21zbW9jb21wX2luaXQpLAoJICAodG9tc21vY29tcF9maWx0ZXJfbW14KSwgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSksIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgIFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICBVc2UgIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+LgoKMjAwOC0wNi0yOSAxMDo1Njo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheSBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIEdldCByaWQgb2Ygc3BlZWR5LltjaF0gYXMgd2UgZG9uJ3QgdXNlIG1vc3Qgb2YgaXQncyBjb2RlIGFueXdheQoJICBhbmQgaXQgZG9lc24ndCBzZWVtIHRvIGJlIHJlbGljZW5zZWQgdG8gTEdQTC4gVXNlIG1lbWNweSgpIGluc3RlYWQKCSAgb2YgdGhlIHNwZWVkeSBtZW1jcHkgZXZlcnl3aGVyZSBpbnN0ZWFkLgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlbW92ZSBtYW55IHVudXNlZCBkZWNsYXJhdGlvbnMuCgoyMDA4LTA2LTI4IDIwOjUxOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuKjogRXhwb3NlIHRoZSBhZGRpdGlvbmFsIE1QRUcgSERUViBmb3JtYXQgcHJvZmlsZXMgYXZhaWxhYmxlIGluIGxhdGVzdCBtanBlZ3Rvb2xzIHZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuaGg6CgkgIEV4cG9zZSB0aGUgYWRkaXRpb25hbCBNUEVHIEhEVFYgZm9ybWF0IHByb2ZpbGVzIGF2YWlsYWJsZSBpbiBsYXRlc3QKCSAgbWpwZWd0b29scyB2ZXJzaW9uLgoKMjAwOC0wNi0yOCAxODoxMzowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRGl2aWRlIGxhdGVuY3kgYmUgMiB0byBjb252ZXJ0IGZyb20gZmllbGRzIHRvIGZyYW1lcy4KCjIwMDgtMDYtMjggMTg6MTA6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpOgoJICBEb24ndCB1c2Ugc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3MKCSAgbm90IGFwcHJvcGlhdGUgZm9yIHRoaXMgbWV0aG9kLiBJbnN0ZWFkIGltcGxlbWVudCBkZWludGVybGFjZV9mcmFtZQoJICBmdW5jdGlvbiBieSB0YWtpbmcgdGhlIG9uZSBmcm9tIGdyZWVkeWguCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKToKCSAgU21hbGwgZml4IGZvciB0aGUgQyBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgRG9uJ3QgdXNlIHRoZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBvbmx5CgkgIHVzZWQgZm9yIHRoaXMgbWV0aG9kIGFuZCB3aWxsIGJlIHJlbW92ZWQuIEluc3RlYWQgaW1wbGVtZW50CgkgIGRlaW50ZXJsYWNlX2ZyYW1lIGZ1bmN0aW9uIGFuZCBtYWtlIGl0IGEgYml0IG1vcmUgZWZmaWNpZW50LgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIEZpeCBjb2Rpbmcgc3R5bGUgYW5kIHJlbW92ZSBzY2FubGluZXMgZnVuY3Rpb24gYXMgaXQncyB1bnVzZWQgbm93LgoKMjAwOC0wNi0yOCAxNzoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4gdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgIEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbgoJICB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWFyayB0aGUgU1NFIHZlcnNpb24gYXMgTU1YRVhUIGFzIGl0IGRvZXNuJ3QKCSAgcmVxdWlyZSBhbnkgU1NFIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjcgMTM6MjI6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgU2V0IGR1cmF0aW9uIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wNi0yNiAxNTo1Mjo0MCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgWVVWNE1QRUcyIGVuY29kZXIgZWxlbWVudC4KCjIwMDgtMDYtMjUgMTY6MDU6MDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA2LTI0IDE1OjQ4OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoKMjAwOC0wNi0yNCAxMjowODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcyBtZW1vcnkgYWNjZXNzZXMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MKCSAgbWVtb3J5IGFjY2Vzc2VzIGFuZCBmaXggdGhlIHdvcmthcm91bmQgZm9yIHRoZSBtaXNzaW5nIHJpZ2h0IHNoaWZ0CgkgIG9uIGJ5dGVzIHRvIHVuc2V0IHRoZSBoaWdoZXN0IGJpdCBvZiBldmVyeSBieXRlLgoKMjAwOC0wNi0yNCAxMDoxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UgaW5zdHJ1Y3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpOgoJICBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFCgkgIGluc3RydWN0aW9uLgoKMjAwOC0wNi0yNCAxMDoxMjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoKMjAwOC0wNi0yNCAwOTo0MDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbTogTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgIE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCk6CgkgIEZpeCBDIGFuZCBNTVggaW1wbGVtZW50YXRpb25zIGEgYml0IG1vcmUuCgoyMDA4LTA2LTI0IDA5OjEwOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE1NWEVYVCBpbXBsZW1lbnRhdGlvbi4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgYW5kIGRvbid0IHJlYWQgb3ZlciBhcnJheSBib3VuZGFyaWVzIGluIHRoZSBNTVhFWFQKCSAgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBGaXggYSBzbWFsbCByb3VuZGluZyBidWcgaW4gdGhlIE1NWCBpbXBsZW1lbnRhdGlvbiwgdGhlIE1NWAoJICBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGFjdHVhbGx5IG5lZWQgTU1YRVhUIGluc3RydWN0aW9ucyBzbyBkb24ndCBtYXJrCgkgIGl0IGFzIHN1Y2guCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGluIGJvdGggaW1wbGVtZW50YXRpb25zLgoKMjAwOC0wNi0yMSAyMToyMDoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzogVXNlIHRoZSByaWdodCBpMThuIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgVXNlIHRoZSByaWdodCBpMThuIGhlYWRlci4KCjIwMDgtMDYtMjEgMDk6MDU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUgYXNzZW1ibHkgb3B0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfc3NlKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIGFzIFNTRSBhcyBpdCB1c2VzIFNTRSBpbnN0cnVjdGlvbnMKCSAgYWRkaXRpb25hbCB0byBNTVggaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yMCAxNjo1NDoyOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEZpeCBwcm9ibGVtIHdoZW4gZW1wdHkgc3RyaW5nIGlzIHByb3ZpZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXggcHJvYmxlbSB3aGVuIGVtcHR5IHN0cmluZyBpcyBwcm92aWRlZC4KCjIwMDgtMDYtMjAgMTQ6NDg6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbyBidXQgdXNlIHRoZSBNTS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9saW5lX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28KCSAgYnV0IHVzZSB0aGUgTU1YRVhUIG9wdGltaXplZCBjb2RlIHdoZW5ldmVyIHBvc3NpYmxlLgoKMjAwOC0wNi0yMCAxNDozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzIHdoZW4gZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcmVzZXRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycwoJICB3aGVuIGZpbmFsaXppbmcsIGFsbG9jYXRlIGJ1ZmZlcnMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFuZAoJICBwcm9wZXJseSByZXR1cm4gZmxvdyByZXR1cm5zIGZyb20gZ3N0X3BhZF9wdXNoKCkgaW5zdGVhZCBvZiBpZ25vcmluZyB0aGVtLgoKMjAwOC0wNi0yMCAxMzo0NTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IEFkZCBtaXNzaW5nIGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlci4KCjIwMDgtMDYtMjAgMTM6MjQ6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZQoJICBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwgZW5hYmxlZCBvbmx5CgkgIGJ5IC0tZW5hYmxlLWV4cGVyaW1lbnRhbC4KCjIwMDgtMDYtMjAgMTM6MDc6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLio6IFNjaGVkdWxlIE5BViBwYWNrZXRzIGFuZCBhY3RpdmF0ZSB0aGVtIHdpdGggYW4gYXN5bmMgY2xvY2sgY2FsbGJhY2sgYXQgdGhlIHJpZ2h0IG1vbWVudC4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBTY2hlZHVsZSBOQVYgcGFja2V0cyBhbmQgYWN0aXZhdGUgdGhlbSB3aXRoIGFuIGFzeW5jIGNsb2NrIGNhbGxiYWNrCgkgIGF0IHRoZSByaWdodCBtb21lbnQuIFRoaXMgbWFrZXMgZGVsYXllZCBtZW51IGhpZ2hsaWdodHMgYXBwZWFyCgkgIGF0IHRoZSBjb3JyZWN0IHRpbWUgYW5kIGZpeGVzIEJhY2sgVG8gVGhlIEZ1dHVyZS4KCSAgV2hlbiBvdXRwdXR0aW5nIG5ldyBzZWdtZW50IGluIGRvX3NlZWsoKSwgY2FsY3VsYXRlIG91ciBwb3NpdGlvbgoJICB2YWx1ZSBwcm9wZXJseSwgc28gd2UgcmVwb3J0IHRoZSByaWdodCB0aW1lIHdoZW4gcG9wcGluZyBpbiBhbmQKCSAgb3V0IG9mIHRoZSBtZW51cy4KCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBXaGVuIGhhbmRsaW5nIGEgbm9uLWZsdXNoaW5nIHNlZWssIGFjY3VtdWxhdGUgdGhlIHNlZ21lbnQsCgkgIHJhdGhlciB0aGFuIGhhdmluZyBldmVyeSBzZWVrIHN0YXJ0IGZyb20gMCBhbmQgbWVzc2luZyB3aXRoIHN5bmMKCjIwMDgtMDYtMTkgMTM6MTg6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFVzZSBCT0lMRVJQTEFURSBtYWNybyBhbmQgdXBkYXRlIHRlc3QgdG8gdGhlIGxhdGVzdCBhcGkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgVXNlIEJPSUxFUlBMQVRFIG1hY3JvIGFuZCB1cGRhdGUgdGVzdCB0byB0aGUgbGF0ZXN0IGFwaSBjaGFuZ2VzLgoKMjAwOC0wNi0xOSAxMToyNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiBEb24ndCB1c2UgYSBidWZmZXIgYWZ0ZXIgdW5yZWZmaW5nIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogKG9uX25ld19idWZmZXJfZnJvbV9zb3VyY2UpOgoJICBEb24ndCB1c2UgYSBidWZmZXIgYWZ0ZXIgdW5yZWZmaW5nIGl0LgoKMjAwOC0wNi0xOCAwNzowMjo1NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOiBBZGQgZGVzY3JpcHRpb24gdGFnIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgQWRkIGRlc2NyaXB0aW9uIHRhZyBtYXBwaW5nLgoKMjAwOC0wNi0xOCAwNjozMToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwKCSAgY29tbWVudHMuCgoyMDA4LTA2LTE3IDE5OjUyOjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOiBQYXJzZSB0aGUgVVJJIGFyZ3VtZW50IGludG8gdGhlIGRldmljZSBuYW1lIHNvIGR2ZDovLy9wYXRoL3RvL2ltYWdlIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgUGFyc2UgdGhlIFVSSSBhcmd1bWVudCBpbnRvIHRoZSBkZXZpY2UgbmFtZSBzbyBkdmQ6Ly8vcGF0aC90by9pbWFnZQoJICB3b3Jrcy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgSW1wbGVtZW50IGEgdHJpdmlhbCBkdXJhdGlvbiBxdWVyeSByZXBvcnRpbmcgdGhlIGN1cnJlbnQgUEdDIGxlbmd0aC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZW5hbWUgdHlwbyBpbiB0aGUgZnVuY3Rpb24gbmFtZS4KCjIwMDgtMDYtMTcgMTE6MDE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBkZWludGVybGFjZTIgcGx1Z2luIGFnYWluIHdoaWNoIHdhcyBhY2NpZGVudGx5IGVuYWJsZWQgd2l0aCBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIGRlaW50ZXJsYWNlMiBwbHVnaW4gYWdhaW4gd2hpY2ggd2FzIGFjY2lkZW50bHkgZW5hYmxlZAoJICB3aXRoIGxhc3QgY29tbWl0LgoKMjAwOC0wNi0xNyAxMDo1MzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgTWFrZSByZXNpbmR2ZCB3b3JrIHdpdGggbGliZHZkbmF2ID49IDQuMC4wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIE1ha2UgcmVzaW5kdmQgd29yayB3aXRoIGxpYmR2ZG5hdiA+PSA0LjAuMC4KCjIwMDgtMDYtMTcgMDE6MDg6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgbGliZHZkbmF2IHRvIGJ1aWxkIHJlc2luZHZkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBsaWJkdmRuYXYgdG8gYnVpbGQgcmVzaW5kdmQuCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICBGaXJzdCBjb21taXQgb2YgRFZELVZpZGVvIHBsYXliYWNrIGNvbXBvbmVudCAncnNuZHZkYmluJwoJICBhbmQgaGVscGVyIGVsZW1lbnRzLgoJICBVc2UgLS1lbmFibGUtZXhwZXJpbWVudGFsIGZvciBub3csIGJ1dCBmZWVsIGZyZWUgdG8gZ2l2ZSBpdCBhCgkgIHRyeSB1c2luZyB0aGUgcmVzaW4tcGxheSBzY3JpcHQuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgQWRkIHNvbWUgZXh0cmEgZ3VhcmRzIGZvciBtYWxmb3JtZWQgZXZlbnRzLgoKMjAwOC0wNi0xNyAwMDozNzo0OSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgZGlyYWMgcmVxdWlyZW1lbnQgdG8gMC4xMCBkdWUgdG8gYXBpIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBkaXJhYyByZXF1aXJlbWVudCB0byAwLjEwIGR1ZSB0byBhcGkgY2hhbmdlcy4KCjIwMDgtMDYtMTYgMTQ6MTE6MzYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYyAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYyAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcykKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnl0ZXMsIGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKTogVXNlCgkgIEdfR1VJTlQ2NF9GT1JNQVQuIEF2b2lkIG92ZXJmbG93IGluIGdldF9tYXhfYnl0ZXMoKS4KCjIwMDgtMDYtMTYgMTI6Mzc6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE1vdmUgZG9jYmxvYiB1cHdhcmRzLiBCYWxhbmNlIHRhZ3MgYW5kIHJlc3RvcmUgYmxhbmsgbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgTW92ZSBkb2NibG9iIHVwd2FyZHMuIEJhbGFuY2UgdGFncyBhbmQgcmVzdG9yZSBibGFuayBsaW5lLgoKMjAwOC0wNi0xNiAxMTo0NzozNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEZpeCBvdXQgb2YgZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBGaXggb3V0IG9mIGRhdGUgZG9jcy4KCjIwMDgtMDYtMTYgMTE6Mjk6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBQYXRjaCBmcm9tOiBWaW5jZW50IEdlbmlldXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGZyb206IFZpbmNlbnQgR2VuaWV1eAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggcmVmY291bnQgaXNzdWVzLCBmaXhlcyAjNTM4NTYwLgoKMjAwOC0wNi0xNiAwOToyMjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlIHRoZSBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSB0aGUgZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvci4KCjIwMDgtMDYtMTYgMDc6MzA6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTE2IDA3OjAzOjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCjIwMDgtMDYtMTMgMjI6NDY6NDMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE0ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEludHJvZHVjZSBkZW11eGluZyBzdXBwb3J0IGZvciBBQUMKCSAgYW5kCgkgIEguMjY0L0FWQyBpbnNpZGUgRkxWLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3dhdWRpb2RlY19jaGFpbiksIChnc3RfZHNob3dhdWRpb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3dhdWRpb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3NldHVwX2dyYXBoKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3d2aWRlb2RlY19jaGFpbiksCgkgIChnc3RfZHNob3d2aWRlb2RlY19wdXNoX2J1ZmZlciksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zcmNfZ2V0Y2Fwcyk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6IExvdCBvZiByYW5kb20gZml4ZXMKCSAgdG8gaW1wcm92ZSBzdGFiaWxpdHkgKHJlZiBjb3VudGluZywgc2FmZXR5IGNoZWNrcy4uLikKCjIwMDgtMDYtMTMgMTg6MjU6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogRGlzYWJsZSBzaXBybyBvbiA2NGJpdHMsIGl0IGNyYXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3Byb2JlX21vZHVsZXMpOgoJICBEaXNhYmxlIHNpcHJvIG9uIDY0Yml0cywgaXQgY3Jhc2hlcy4KCjIwMDgtMDYtMTMgMTg6MDM6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogQWRkIHJhdmVyc2lvbnMgd2UgY2FuIHN1cHBvcnQgb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGNsb3NlX2xpYnJhcnkpLCAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19wcm9iZV9tb2R1bGVzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgQWRkIHJhdmVyc2lvbnMgd2UgY2FuIHN1cHBvcnQgb24gdGhlIGNhcHMuCgkgIFJlZmFjdG9yIHRoZSBsb2FkaW5nIG9mIHRoZSByZWFsIGNvZGVjcyBsaWtlIHJlYWx2aWRlbyBzbyB0aGF0IHdlIGNhbgoJICBpbXBsZW1lbnQgcHJvYmluZy4KCSAgUHJvYmUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIGJ5IHRyeWluZyB0byBsb2FkIHRoZSAuc28gZmlsZXMsIG9ubHkgcmVwb3J0CgkgIHRoZSB2ZXJzaW9ucyBvbiB0aGUgY2FwcyB0aGF0IHdlIGNhbiBhY3R1YWxseSBsb2FkLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRjYXBzKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwKCSAgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19wcm9iZV9tb2R1bGVzKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgQ2hhbmdlIHRoZSBsb2FkaW5nIG9mIHRoZSBsaWJyYXJ5IGxpa2UgdGhlIGF1ZGlvIGRlY29kZXIuCgkgIFByb2JlIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cyBieSB0cnlpbmcgdG8gbG9hZCB0aGUgLnNvIGZpbGVzIGFuZCBvbmx5CgkgIHJlcG9ydCB0aGUgdmVyc2lvbnMgb24gdGhlIGNhcHMgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgbG9hZC4KCjIwMDgtMDYtMTMgMTU6NDY6MDMgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBIYW5kbGUgY2hhcmFjdGVyIHNldHMgaW4gc3RyaW5ncyBjb21pbmcgZnJvbSBEVkIgU0kgYWNjb3JkaW5nIHRvIHRoZSBEVkIgU0kgc3BlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgSGFuZGxlIGNoYXJhY3RlciBzZXRzIGluIHN0cmluZ3MgY29taW5nIGZyb20gRFZCIFNJIGFjY29yZGluZwoJICB0byB0aGUgRFZCIFNJIHNwZWMuCgoyMDA4LTA2LTEzIDE0OjMzOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi86IE1vcmUgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xMyAxMTo1OToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEFkZCBtaXNzaW5nIGVsZW1lbnRzIHRvIGRvY3MuIEZpeCBkb2MtbWFya3VwOiB1c2UgY29udmluaWVuY2Ugc3ludGF4CgkgIGZvciBleGFtcGxlcyAocHJvZHVjZXMgdmFsaWQgZG9jYm9vayksIGFkZCBzZXZlcmFsIHJlZnNlYzIgd2hlbiB3ZQoJICBoYXZlIHNldmVyYWwgdGl0bGVzLiBGaXggc29tZSB0eXBlcy4KCjIwMDgtMDYtMTIgMTU6NDc6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGQgYmVlZmVkIHVwIGV4YW1wbGUgYXBwIGZyb20gYnVnICM0MTM0MTguIEl0IG5vdyBhbHNvIHVzZXMgYXBwc2luayBpbnN0ZWFkIG9mIGZha2VzaW5rIGZvciBtb3JlIHVsdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiAob25fbmV3X2J1ZmZlcl9mcm9tX3NvdXJjZSksCgkgIChvbl9zb3VyY2VfbWVzc2FnZSksIChvbl9zaW5rX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZCBiZWVmZWQgdXAgZXhhbXBsZSBhcHAgZnJvbSBidWcgIzQxMzQxOC4gSXQgbm93IGFsc28gdXNlcyBhcHBzaW5rCgkgIGluc3RlYWQgb2YgZmFrZXNpbmsgZm9yIG1vcmUgdWx0aW1hdGUgY29vbG5lc3MuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3VubG9jayksCgkgIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NyY19jcmVhdGUpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgYmxvY2sgcHJvcGVydHkgdG8gYWxsb3cgcHVzaCBiYXNlZCBpbXBsZW1lbnRhdGlvbiB0byBibG9jayB3aGVuIHdlCgkgIGZpbGwgdXAgdGhlIGFwcHNyYyBxdWV1ZXMuCgkgIEVtaXQgdGhlIGVub3VnaC1kYXRhIHNpZ25hbCB3aGlsZSByZWxlYXNpbmcgb3VyIGxvY2suCgoyMDA4LTA2LTEyIDE0OjUwOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDgtMDYtMTIgMTQ6NDk6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdCB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QKCSAgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXJuaW5ncyBpZiB0aGV5IGRpZmZlci4KCSAgQWxzbyBmaXhpbmcgdXAgdGhlIENoYW5nZUxvZyBvcmRlci4KCjIwMDgtMDYtMTIgMTQ6MjA6NDAgKzAwMDAgIFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lQGdtYWlsLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2hhaW4pOgoJICBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyCgkgIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZXJlbmNlIGNvZGUgYXMgd2VsbC4gRml4ZXMgIzUyODYxOC4KCjIwMDgtMDYtMTIgMTM6NTE6NTEgKzAwMDAgIFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lQGdtYWlsLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGllbiBNZXJsZSA8c3lsYW5lIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2hhaW4pOgoJICBGaXggdGhlIHNpZ24gb2YgdGhlIGRhdGEgd2UgcGFzcyB0byB0aGUgZGVjb2RlciBzbyB0aGF0IHRoZSBkZWNvZGVyCgkgIGNvbXBpbGVzIHdpdGggbmV3ZXIgcmVmZXJlbmNlIGNvZGUgYXMgd2VsbC4gRml4ZXMgIzUyODYxOC4KCjIwMDgtMDYtMTIgMTM6MDY6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiBJbmNsdWRlIHN0ZGxpYi5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDYtMTEgMTE6MTI6NDkgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAxMToxMjoxNCArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDA3OjU4OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjogSW5pdGlhbGl6ZSB3aWxkbWlkaSBvbmx5IG9uY2UgaW4gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIGluc3RlYWQgb2Ygb25jZSBmb3IgZXZlcnkgaW5zdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6ICBTb25pY2FkdmFuY2UxIGF0IEdNQUlMIGRvdCBDT00KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBJbml0aWFsaXplIHdpbGRtaWRpIG9ubHkgb25jZSBpbiB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gaW5zdGVhZAoJICBvZiBvbmNlIGZvciBldmVyeSBpbnN0YW5jZS4gVGhlIHNlY29uZCBhbmQgZm9sbG93aW5nIGNhbGxzIHRvIHRoZQoJICB3aWxkbWlkaSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiB3aWxsIGZhaWwuIEZpeGVzIGJ1ZyAjNTI1NjEzLgoJICBBbHNvIGRvbid0IHJlZ2lzdGVyIHRoZSBlbGVtZW50IGF0IGFsbCBpZiB3aWxkbWlkaSBpbml0aWFsaXphdGlvbgoJICBmYWlscy4KCjIwMDgtMDYtMTAgMTI6NTQ6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGFmdGVyIGFsbCBwYWRzIGFyZSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgYWZ0ZXIgYWxsIHBhZHMgYXJlIGFkZGVkLgoKMjAwOC0wNi0wOSAxNzo1NzowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBBZGQgc2ltcGxlIHJldmVyc2UgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIEFkZCBzaW1wbGUgcmV2ZXJzZSBwbGF5YmFjay4KCjIwMDgtMDYtMDkgMTI6MDU6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuKjogRml4IHNlZWtpbmcsIHRpbWVzdGFtcHMsIGR1cmF0aW9uIGFuZCBzb21lIG1vcmUuIEZpeGVzICM1MzYzMDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9yZXNldCksCgkgIChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9jb252ZXJ0KSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9yYXdfcGFyc2VfZ2V0X2Zwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIEZpeCBzZWVraW5nLCB0aW1lc3RhbXBzLCBkdXJhdGlvbiBhbmQgc29tZSBtb3JlLiBGaXhlcyAjNTM2MzA5LgoKMjAwOC0wNi0wNiAxNjo1MDo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZGVkIDMgbW9yZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB1c2luZyBhcHBzcmMgaW4gcmFuZG9tLWFjY2VzcyBtb2RlLCBwdWxsLW1vZGUgc3RyZWFtaW5nIGFuZCBwdWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOiAoZmVlZF9kYXRhKSwgKHNlZWtfZGF0YSksCgkgIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOiAoZmVlZF9kYXRhKSwgKHNlZWtfZGF0YSksCgkgIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6IChmZWVkX2RhdGEpLCAoZm91bmRfc291cmNlKSwKCSAgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGRlZCAzIG1vcmUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdXNpbmcgYXBwc3JjIGluIHJhbmRvbS1hY2Nlc3MgbW9kZSwKCSAgcHVsbC1tb2RlIHN0cmVhbWluZyBhbmQgcHVsbCBtb2RlIHNlZWthYmxlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX2RvX2dldF9zaXplKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTWFrZSBzdHJlYW0tdHlwZSBwcm9wZXJ0eSB3cml0YWJsZS4KCSAgVW5zZXQgZmx1c2hpbmcgd2hlbiBzdGFydGluZyBzbyB0aGF0IHdlIHJldXNlIGFwcHNyYy4KCSAgSW5mb3JtIGJhc2VzcmMgYWJvdXQgdGhlIGNvbmZpZ3VyZWQgc2l6ZS4KCSAgRW1pdCBzZWVrLWRhdGEgc2lnbmFsIHdoZW4gd2UgYXJlIGdvaW5nIHRvIGEgZGlmZmVyZW50IG9mZnNldCBpbgoJICByYW5kb20tYWNjZXNzIG1vZGUuCgoyMDA4LTA2LTA2IDE0OjE5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogVXNlIGRlZXAtbm90aWZ5IHVudGlsIHdlIGNhbiBkZXBlbmQgb24gYSBwbGF5YmluMiB3aXRoIHN1cHBvcnQgZm9yIHRoZSBzb3VyY2UgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChmb3VuZF9zb3VyY2UpLCAobWFpbik6CgkgIFVzZSBkZWVwLW5vdGlmeSB1bnRpbCB3ZSBjYW4gZGVwZW5kIG9uIGEgcGxheWJpbjIgd2l0aCBzdXBwb3J0IGZvciB0aGUKCSAgc291cmNlIHByb3BlcnR5LgoKMjAwOC0wNi0wNiAxMzowMTowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5IHNodXRkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKToKCSAgRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseQoJICBzaHV0ZG93bi4KCjIwMDgtMDYtMDUgMTY6Mzg6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGRlZCBhbiBleGFtcGxlIG9uIGhvdyB0byB1c2UgYXBwc3JjIGluIHBsYXliaW4gaW4gc3RyZWFtaW5nIG1vZGUgZnJvbSBhbiBtbWFwcGVkIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAocmVhZF9kYXRhKSwgKHN0YXJ0X2ZlZWQpLAoJICAoc3RvcF9mZWVkKSwgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgQWRkZWQgYW4gZXhhbXBsZSBvbiBob3cgdG8gdXNlIGFwcHNyYyBpbiBwbGF5YmluIGluIHN0cmVhbWluZyBtb2RlIGZyb20KCSAgYW4gbW1hcHBlZCBmaWxlLgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogKG1haW4pOgoJICBTZXQgcGlwZWxpbmUgdG8gTlVMTCB0byBmcmVlIHF1ZXVlZCBidWZmZXJzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoc3RyZWFtX3R5cGVfZ2V0X3R5cGUpLCAoX2RvX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NyY19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2ZsdXNoX3F1ZXVlZCksIChnc3RfYXBwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX3N0b3ApLCAoZ3N0X2FwcF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X2FwcF9zcmNfY2hlY2tfZ2V0X3JhbmdlKSwgKGdzdF9hcHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwgKGdzdF9hcHBfc3JjX3NldF9zdHJlYW1fdHlwZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc3RyZWFtX3R5cGUpLCAoZ3N0X2FwcF9zcmNfc2V0X21heF9ieXRlcyksCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J5dGVzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pLCAoZ3N0X2FwcF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9hcHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwgKGdzdF9hcHBfc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF9hcHBfc3JjX3VyaV9zZXRfdXJpKSwgKGdzdF9hcHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1lYXN1cmUgbWF4IHF1ZXVlIHNpemUgaW4gYnl0ZXMgaW5zdGVhZC4KCSAgQWRkIHN1cHBvcnQgZm9yIDMgbW9kZXMgb2Ygb3BlcmF0aW9uLCBzdHJlYW1pbmcsIHNlZWthYmxlIGFuZAoJICByYW5kb20tYWNjZXNzLCBtYWtpbmcgYmFzZXNyYyBoYW5kbGUgdGhlIHNjaGVkdWxpbmcgbW9kZXMgZm9yIGVhY2guCgkgIEFkZCBhcHBzcmM6Ly8gdXJpIGhhbmRsZXIgc28gdGhhdCBhdXRvbWF0aWMgcGx1Z2dpbmcgY2FuIGJlIGRvbmUgZnJvbQoJICBwbGF5YmluMiBvciB1cmlkZWNvZGViaW4sIGZvciBleGFtcGxlLgoJICBBZGRlZCBzdXBwb3J0IGZvciBjdXN0b20gc2VnbWVudCBmb3JtYXRzLgoJICBBZGQgc3VwcG9ydCBmb3IgcHVzaCBhbmQgcHVsbCBiYXNlZCBvcGVyYXRpb25zIGZyb20gdGhlIGFwcGxpY2F0aW9uLgoJICBFeHBhbmQgdGhlIG1ldGhvZHMgc28gdGhhdCBlcnJvcnMgY2FuIGJlIGRldGVjdGVkLgoJICBGbHVzaCB0aGUgcXVldWVkIGJ1ZmZlcnMgb24gc2Vla3MgYW5kIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgQWRkIHNpZ25hbHMgdG8gaW5mb3JtIHRoZSBhcHAgdGhhdCBhIHNlZWsgbXVzdCBoYXBwZW4uCgoyMDA4LTA2LTA1IDExOjA3OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIFByb3Blcmx5IGltcGxlbWVudCBkdXJhdGlvbiBhbmQgcG9zaXRpb24gcXVlcmllcyBpbiBieXRlcyBmb3JtYXQuIFdlCgkgIGhhdmUgdG8gdGFrZSB0aGUgdXBzdHJlYW0gcmVwbHkgYW5kIGRpdmlkZS9tdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRvIGdldCB0aGUgY29ycmVjdCByZXN1bHQuCgoyMDA4LTA2LTA0IDIxOjE4OjUzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3d2aWRlb3NpbmsvOiBGaXggdXAgY29weXJpZ2h0IG5vdGljZSBvbiBuZXcgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEZpeCB1cCBjb3B5cmlnaHQgbm90aWNlIG9uIG5ldyBwbHVnaW4uCgoyMDA4LTA2LTA0IDE3OjAyOjM4ICswMDAwICBKb24gVHJvd2JyaWRnZSA8dHJvd0B4aW1pYW4uY29tPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBVcGRhdGUgcHJvcGVydGllcyBmb3IgcmVjZW50IGRpcmFjIGNoYW5nZXMuICBQYXRjaCBmcm9tIEpvbmF0aGFuIFJvc3Nlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBVcGRhdGUgcHJvcGVydGllcyBmb3IgcmVjZW50CgkgIGRpcmFjIGNoYW5nZXMuICBQYXRjaCBmcm9tIEpvbmF0aGFuIFJvc3Nlci4KCjIwMDgtMDYtMDQgMTE6MzM6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IFRyeSBoYXJkZXIgbm90IHRvIGNyYXNoIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBidXQgaGF2ZW4ndCBzZXQgdXAgdGhlIGVuY29kZXIgeWV0IChhcyBtYXkgaGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBUcnkgaGFyZGVyIG5vdCB0byBjcmFzaCB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYnV0IGhhdmVuJ3Qgc2V0CgkgIHVwIHRoZSBlbmNvZGVyIHlldCAoYXMgbWF5IGhhcHBlbiB3aGVuIHVwc3RyZWFtIGVycm9ycyBvdXQgd2l0aAoJICBub3QtbmVnb3RpYXRlZCwgZm9yIGV4YW1wbGUpLiBBbHNvLCBhbHdheXMgcHVzaCB0aGUgRU9TIGV2ZW50CgkgIGRvd25zdHJlYW0uCgoyMDA4LTA2LTA0IDA2OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZSByZXF1ZXN0ZWQgc2luayBwYWRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIFVzZSBhbiBhbHdheXMgaW5jcmVhc2luZyBpbnRlZ2VyIGZvciB0aGUgbnVtYmVyIGluIHRoZSBuYW1lIG9mIHRoZQoJICByZXF1ZXN0ZWQgc2luayBwYWRzIHRvIGd1YXJhbnR1ZWUgYSB1bmlxdWUgbmFtZS4gQWRkIGEgImNoYW5uZWwiCgkgIHByb3BlcnR5IHRvIEdzdEludGVybGVhdmVQYWQgdG8gbWFrZSBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zCgkgIHRvIHJldHJpZXZlIHRoZSBjaGFubmVsIG51bWJlciBpbiB0aGUgb3V0cHV0IGZvciBldmVyeSBwYWQuCgkgIFVzZSBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljX3NpbXBsZSgpIGluc3RlYWQgb2YKCSAgZ190eXBlX3JlZ2lzdGVyX3N0YXRpYygpIHRvIHNhdmUgc29tZSByZWxvY2F0aW9ucy4KCjIwMDgtMDYtMDMgMTU6NDE6MDUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGF1dG9nZW4uc2g6CgkgIGZpeCBwYWNrYWdlIG5hbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBwYWNrYWdlIG5hbWUKCjIwMDgtMDYtMDMgMTQ6MzU6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdoZW4gZ29pbmcgZnJvbSBQQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKToKCSAgU3RvcCBHc3RDb2xsZWN0UGFkcyBiZWZvcmUgY2FsbGluZyB0aGUgcGFyZW50J3Mgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUkVBRFkgYXMgd2Ugb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBGaXhlcyBidWcgIzUzNjI1OC4KCjIwMDgtMDYtMDMgMTE6MTA6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBQYXJzZSBjb2RlY19kYXRhIGFuZCB1c2UgdGhlIG5hbHVfc2l6ZV9sZW5ndGggZmllbGQgdG8gZ2V0IHRoZSBOQUxVIGxlbmd0aCBpbiBwYWNrZXRpemUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9uYWxfYnNfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgUGFyc2UgY29kZWNfZGF0YSBhbmQgdXNlIHRoZSBuYWx1X3NpemVfbGVuZ3RoIGZpZWxkIHRvIGdldCB0aGUgTkFMVQoJICBsZW5ndGggaW4gcGFja2V0aXplZCBoMjY0LgoJICBXaGVuIHF1ZXVlaW5nIGEgcGFja2V0aXplZCBidWZmZXIgaW4gcmV2ZXJzZSBtb2RlLCBkb24ndCB1bnJlZiB0aGUKCSAgYnVmZmVyIHR3aWNlLgoJICBBdm9pZCBhY2Nlc3NpbmcgdGhlIGJ1ZmZlciBUSU1FU1RBTVAgZmllbGQgYWZ0ZXIgd2UgcHVzaGVkIGl0IG9uCgkgIHRoZSBhZGFwdG9yLgoKMjAwOC0wNi0wMyAwOTowMzoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlciB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKGdzdF9pbnRlcmxlYXZlX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIKCSAgdGhlIEdzdEludGVybGVhdmVQYWQgdHlwZSBmcm9tIGEgdGhyZWFkc2FmZSBjb250ZXh0LgoKMjAwOC0wNi0wMiAyMTo1MTo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZXZlcnQgYWNjaWRlbnRhbCBhZGRpdGlvbiBpbiBjb25maWd1cmUuYWMuIFNvcnJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCBhY2NpZGVudGFsIGFkZGl0aW9uIGluIGNvbmZpZ3VyZS5hYy4gU29ycnkuCgoyMDA4LTA2LTAyIDE4OjIzOjU0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYSBuZXcgd2luMzIgdmlkZW9zaW5rLiBVc2VzIHRoZSBEaXJlY3RTaG93IHJlbmRlcmVycyBmb3IgaGlnaC1wZXJmb3JtYW5jZSB2aWRlbyByZW5kZXJpbmcgb24gd2luMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9SRUFETUU6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBBZGQgYSBuZXcgd2luMzIgdmlkZW9zaW5rLiBVc2VzIHRoZSBEaXJlY3RTaG93IHJlbmRlcmVycyBmb3IKCSAgaGlnaC1wZXJmb3JtYW5jZSB2aWRlbyByZW5kZXJpbmcgb24gd2luMzIuCgkgIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHNvbWUgWVVWIGZvcm1hdHMuCgkgIFJhbmsgUFJJTUFSWSwgc2luY2UgaXQncyBtdWNoIG1vcmUgdXNlZnVsIGZvciB0aGUgY29tbW9uIGNhc2VzIHRoYXQgdGhlCgkgIGRpcmVjdGRyYXcgc2luayAod2hpY2ggb25seSBkb2VzIFJHQikuCgoyMDA4LTA2LTAyIDE4OjA2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwYy9NYWtlZmlsZS5hbTogRGlzdCB0YWcuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICBEaXN0IHRhZy5oCgoyMDA4LTA2LTAyIDE3OjA2OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBbHdheXMgZHJhaW4gYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5ldyBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zaW5rX2V2ZW50KToKCSAgQWx3YXlzIGRyYWluIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXcgc2VnbWVudC4KCjIwMDgtMDYtMDIgMTI6NDI6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgQWxsb3cgc2V0dGluZyBjaGFubmVsIHBvc2l0aW9ucyB2aWEgYSBwcm9wZXJ0eSBhbmQgYWxsb3cgdXNpbmcgdGhlCgkgIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBpbnB1dCBhcyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb2YgdGhlIG91dHB1dC4KCSAgRml4IHNvbWUgYnJva2VuIGxvZ2ljIGFuZCBtZW1vcnkgbGVha3MuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoc3JjX2hhbmRvZmZfZmxvYXQzMiksCgkgIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGNvcnJlY3QgaGFuZGxpbmcgb2YgY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA4LTA2LTAyIDEwOjE4OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBBZGQgYmFzaWMgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9kaXNwb3NlKSwgKGNsZWFyX3F1ZXVlZCksCgkgIChmbHVzaF9xdWV1ZWQpLCAoZ3N0X2ZhYWRfZHJhaW4pLCAoZ3N0X2ZhYWRfZG9fcmF3X3NlZWspLAoJICAoZ3N0X2ZhYWRfc3JjX2V2ZW50KSwgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIEFkZCBiYXNpYyByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIENsZWFyIGRlY29kZXIgc3RhdGUgYWZ0ZXIgZGlzY29udHMuCgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoJICBNYXJrIG91dHB1dCBidWZmZXJzIHdpdGggYSBkaXNjb250IGFmdGVyIGEgZGVjb2RpbmcgZXJyb3IuCgoyMDA4LTA2LTAyIDA3OjM3OjMxICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBGaXggbXBlZzR2aWRlb3BhcnNlIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4gRml4ZXMgYnVnICM1MzYwNDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2hhbmRsZV92b3MpOgoJICBGaXggbXBlZzR2aWRlb3BhcnNlIG9uIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4gRml4ZXMgYnVnICM1MzYwNDIuCgoyMDA4LTA1LTI5IDE5OjU2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKToKCSAgRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjkgMTk6MTE6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogKG1haW4pOgoJICBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yOCAwODo1MzowMCArMDAwMCAgT25rYXIgU2hpbmRlIDxvbmthcnNoaW5kZUBnbWFpbC5jb20+CgoJICBzeXMvdmNkL3ZjZHNyYy5jOiBBbGxvdyB0aGUgdHJhY2sgdG8gYmUgc2V0IGJ5IHVzaW5nIHRoZSB1cmkuIEZpeGVzICM1MzUwNDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogPG9ua2Fyc2hpbmRlIGF0IGdtYWlsIGRvdCBjb20+CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X3ZjZHNyY191cmlfc2V0X3VyaSk6CgkgIEFsbG93IHRoZSB0cmFjayB0byBiZSBzZXQgYnkgdXNpbmcgdGhlIHVyaS4gRml4ZXMgIzUzNTA0My4KCjIwMDgtMDUtMjggMDg6MTQ6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfbGF0ZW5jeSksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDgtMDUtMjcgMTc6NTM6NTggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogQWRkIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHRvIG5vdCBJIGZyYW1lIGJ1ZmZlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEFkZCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB0byBub3QgSSBmcmFtZSBidWZmZXJzCgoyMDA4LTA1LTI3IDE2OjQ4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE1ha2Ugc3VyZSBubyBzdGF0ZSBjaGFuZ2VzIGNhbiBoYXBwZW4gd2hlbiB3ZSByZWNvbmZpZ3VyZS4KCjIwMDgtMDUtMjcgMTY6MzI6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIGNvcmUgYW5kIGJhc2UgZm9yIG5ldyBhdWRpbyBjbG9jayByZXNldCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgY29yZSBhbmQgYmFzZSBmb3IgbmV3IGF1ZGlvIGNsb2NrIHJlc2V0IG1ldGhvZC4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgdGhlIGF1ZGlvIGNsb2NrLiBTZWUgIzUyMTc2MS4KCjIwMDgtMDUtMjYgMTc6NTI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKToKCSAgSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgoyMDA4LTA1LTI2IDEwOjI4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpLAoJICAoZm9yd2FyZF9ldmVudF9mdW5jKSwgKGZvcndhcmRfZXZlbnQpLCAoZ3N0X2ludGVybGVhdmVfc3JjX2V2ZW50KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBNYWpvciByZXdyaXRlIG9mIGludGVybGVhdmUgdXNpbmcgR3N0Q29sbGVjdHBhZHMuIFRoaXMgbmV3IHZlcnNpb24KCSAgYWxzbyBzdXBwb3J0cyBhbG1vc3QgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBoYXMgYmV0dGVyIGNhcHMKCSAgbmVnb3RpYXRpb24uIEZpeGVzIGJ1ZyAjNTA2NTk0LgoJICBBbHNvIHVwZGF0ZSBkb2NzIGFuZCBhZGQgc29tZSBtb3JlIGV4YW1wbGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfY2hhaW5fZnVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzcmNfaGFuZG9mZl9mbG9hdDMyKSwgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGV4dGVuc2l2ZSB1bml0IHRlc3RzIGZvciBpbnRlcmxlYXZlLgoKMjAwOC0wNS0yNiAxMDowOToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLCB3ZSBuZWVkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsCgkgIHdlIG5lZWQgdG8gZG8gdGhpcyBzbyB0aGF0IHdlIGNhbiBiZXR0ZXIgaGFuZGxlIGEgcmVzdGFydGVkIHNvdXJjZS4KCSAgRml4IHNvbWUgY29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICBUd2VhayB0aGUgc2tldyByZXN5bmMgZGlmZi4KCSAgVXNlIG91ciB3b3JraW5nIHNlcW51bSBjb21wYXJlIGZ1bmN0aW9uIGluIC1iYXNlLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBpbnNlcnQgY29kZSB0byBtYWtlIGl0IGNsZWFyZXIgYW5kIG1vcmUKCSAgcGVyZm9ybWFudCBieSBvbmx5IHJldHJpZXZpbmcgdGhlIHNlcW51bSBvZiB0aGUgaW5wdXQgYnVmZmVyIG9uY2UgYW5kIGJ5CgkgIGFkZGluZyBzb21lIEdfTElLRUxZIGNvbXBpbGVyIGhpbnRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBmb3IgZHVwbGljYXRlIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgRml4IGEgY29tbWVudCwgd2UgZG9uJ3QgZG8gc2tldyBjb3JyZWN0aW9uIGhlcmUuLgoKMjAwOC0wNS0yNiAxMDowMDoyNCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuIHRoZXkgYXJlIGNoYW5nZWQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KToKCSAgUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbgoJICB0aGV5IGFyZSBjaGFuZ2VkIG9uIHJ0cGJpbi4KCjIwMDgtMDUtMjYgMDk6NTc6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IChzd2l0Y2hfdGltZXIpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKHNlbmRfdGFnX2V2ZW50KToKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgoyMDA4LTA1LTIyIDE5OjQ3OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgaW50ZXJsZWF2ZS9kZWludGVybGVhdmUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQKCSAgcnVuIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGEgcGFyYXByYXBoIGFib3V0IHVzaW5nIGEgcXVldWUgYW5kIGF1ZGlvY29udmVydCBhZnRlciB0aGUgc291cmNlCgkgIHBhZHMgdG8gdGhlIGRvY3MuCgoyMDA4LTA1LTIyIDE4OjU1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZCBhbmQgdGhlIGRlZmF1bHQgZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19nZXRjYXBzKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgRG9uJ3Qgc2V0IGEgZ2V0Y2FwcygpIGZ1bmN0aW9uIG9uIHRoZSBzcmMgcGFkcyBhcyBpdCdzIG5vdCByZXF1aXJlZAoJICBhbmQgdGhlIGRlZmF1bHQgZ2V0Y2FwcygpIGZ1bmN0aW9uIHJldHVybnMgdGhlIGNvcnJlY3QgcmVzdWx0cyBmb3IKCSAgb3VyIHNyYyBwYWRzLgoJICBDb21wbGV0ZSBkb2N1bWVudGF0aW9uIGFuZCBhZGQgbXlzZWxmIHRvIHRoZSBhdXRob3JzIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wNS0yMiAxNjozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOiAob3B0X3Nob3dfbWl4ZXJfbWVzc2FnZXMpLCAoV0FJVF9USU1FKSwKCSAgKHNob3dfbWl4ZXJfbWVzc2FnZXMpLCAocHJvYmVfbWl4ZXJfdHJhY2tzKSwgKHByb2JlX3BhZCksCgkgIChwcm9iZV9kZXRhaWxzKSwgKHByb2JlX2VsZW1lbnQpLCAobWFpbik6CgkgIFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcwoJICB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGF0LiBBbHNvIGFsbG93cyB0ZXN0aW5nIG9mCgkgIG1peGVyIGNoYW5nZSBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwOC0wNS0yMiAxNToxNDoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9vc3M0LzogTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZSBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOiAoZ3N0X29zczRfbWl4ZXJfb3Blbik6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZSksCgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lX25vZmQpOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzogKGdzdF9vc3M0X3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2dldF9wcm9wZXJ0eSk6CgkgIE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUKCSAgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgoyMDA4LTA1LTIyIDE0OjAzOjA1ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBNb3ZlIHNvbWUgY29kZSBhcm91bmQgdG8gaW50ZWdyYXRlIHRoZSBzdGFydGNvZGUgc2VhcmNoaW5nIHdpdGggdGhlIG90aGVyIGJpdHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IChnc3RfbXBlZzR2cGFyc2VfcHVzaCksCgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBNb3ZlIHNvbWUgY29kZSBhcm91bmQgdG8gaW50ZWdyYXRlIHRoZSBzdGFydGNvZGUgc2VhcmNoaW5nIHdpdGggdGhlCgkgIG90aGVyIGJpdHMgb2YgcGFyc2luZywgYXZvaWQgYSB3aG9sZSBidW5jaCBvZiBwZWVrcy4KCSAgR2V0IHJpZCBvZiBpbnZhbGlkIGRhdGEgdGhhdCBzaG91bGQgbm90IGhhcHBlbiBhY2NvcmRpbmcgdG8gdGhlIHNwZWNzLgoJICBGaXhlcyAjNTMzNTU5LgoKMjAwOC0wNS0yMCAwOTozNjo1NiArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiB0byBnZXQgYSBtb3JlIGNvcnJlY3Qgc2VlayBiYXIgaW4gdG90ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgPGhhZGVzcyBhdCBoYWRlc3MgZG90IG5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbXl0aHR2X3NyY19pbml0KSwgKGdzdF9teXRodHZfc3JjX2NsZWFyKSwKCSAgKGRvX3JlYWRfcmVxdWVzdF9yZXNwb25zZSksIChnc3RfbXl0aHR2X3NyY19jcmVhdGUpLAoJICAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIHRvIGdldCBhIG1vcmUgY29ycmVjdCBzZWVrIGJhciBpbiB0b3RlbS4KCSAgRGlzYWJsZSBxdWVyeSBhbmQgZXZlbnQgZnVuY3Rpb25zIGFzIHRoZXkgZG9uJ3Qgd29yayBhbmQgZG8gc29tZQoJICBzbWFsbGVyIGNsZWFudXAuCgkgIEZpeGVzIGJ1ZyAjNTMzNzM2LgoKMjAwOC0wNS0yMCAwOTowNDo0OCArMDAwMCAgQnJpYW4gS29yb3BvZmYgPGJyaWFuaGtAY3Mud2FzaGluZ3Rvbi5lZHU+CgoJICBleHQvc3BjLzogQWRkIHN1cHBvcnQgZm9yIHNvbWUgZXNzZW50aWFsIGZlYXR1cmVzIGxpa2Ugc2Vla2luZywgcmVhZGluZyBzb25nIGR1cmF0aW9uIGFuZCBleHRlbmRlZCB0YWdzLiBGaXhlcyBidWcgIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCcmlhbiBLb3JvcG9mZiA8YnJpYW5oayBhdCBjcyBkb3Qgd2FzaGluZ3RvbiBkb3QgZWR1PgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5X3R5cGUpLCAoZ3N0X3NwY19kZWNfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19kaXNwb3NlKSwgKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3NwY19kdXJhdGlvbiksIChnc3Rfc3BjX2ZhZGVvdXQpLCAoZ3N0X3NwY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeSksIChzcGNfcGxheSksIChzcGNfc2V0dXApOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgICogZXh0L3NwYy90YWcuYzogKHNwY190YWdfaXNfZXh0ZW5kZWQpLCAoc3BjX3RhZ19pc190ZXh0X2Zvcm1hdCksCgkgIChzcGNfdGFnX2lzX3ByZXNlbnQpLCAoc3BjX3RhZ191bnBhY2tfZGF0ZSksIChzcGNfdGFnX2NsZWFyKSwKCSAgKHNwY190YWdfZ2V0X2luZm8pLCAoc3BjX3RhZ19mcmVlKToKCSAgKiBleHQvc3BjL3RhZy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc29tZSBlc3NlbnRpYWwgZmVhdHVyZXMgbGlrZSBzZWVraW5nLCByZWFkaW5nIHNvbmcKCSAgZHVyYXRpb24gYW5kIGV4dGVuZGVkIHRhZ3MuIEZpeGVzIGJ1ZyAjNDU0MTUxLgoKMjAwOC0wNS0xOSAxMjozMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlIHRoYXQgdGhlIG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZQoJICB0aGF0IHRoZSBvcmlnaW5hbCBjaGFubmVsIHBvc2l0aW9uIGlzIHNldCBvbiB0aGUgb3V0cHV0LgoKMjAwOC0wNS0xOSAwNzo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uIHRoZSBtb25vIG91dHB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbgoJICB0aGUgbW9ubyBvdXRwdXQgYnVmZmVycyBvciBzaG91bGQgYmUgZHJvcHBlZC4KCjIwMDgtMDUtMTggMTA6Mjc6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogT29wcyAtIGZpeCB0aGUgc3BlbGxpbmcgb2YgdGhlIHZhcmlhYmxlIEkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIE9vcHMgLSBmaXggdGhlIHNwZWxsaW5nIG9mIHRoZSB2YXJpYWJsZSBJIGFkZGVkLgoKMjAwOC0wNS0xNyAxOTozOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UgZG93bnN0cmVhbSB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIFF1ZXVlIGV2ZW50cyB1bnRpbCBzcmMgcGFkcyB3ZXJlIGFkZGVkIGFuZCB0aGV5IGNhbiBiZSBzZW50LiBPdGhlcndpc2UKCSAgZG93bnN0cmVhbSB3aWxsIG5ldmVyIGdldCB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDUtMTcgMTQ6MDU6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKSByZXR1cm5zIHNvbWV0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2Fwcyk6CgkgIEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpCgkgIHJldHVybnMgc29tZXRoaW5nLCBldmVuIGlmIHRoZXkncmUgbm90IHNldCBpbiB0aGUgY2Fwcy4gVGhpcyBtYWtlcwoJICBzdXJlIHRoYXQgdGhlIG91dHB1dCBjaGFubmVscyBjYW4gYmUgaW50ZXJsZWF2ZWQgYWdhaW4gY29ycmVjdGx5CgkgIGluIHRoZSBtb25vL3N0ZXJlbyBjYXNlcyB0b28uCgkgIERvbid0IGFzayBmb3IgdGhlIHBlZXJjYXBzIG9mIHRoZSBjdXJyZW50IHBhZCBpbiBnZXRjYXBzKCkgYXMgdGhpcwoJICBtaWdodCBjYWxsIGdldGNhcHMoKSBhZ2FpbiBhbmQgZGVhZGxvY2suCgoyMDA4LTA1LTE2IDIyOjAwOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogQ2hlY2sgc29tZSBtb3JlIGNvbW1vbiBsb2NhdGlvbnMgZm9yIGEgdmFsaWQgY29uZmlndXJhdGlvbiBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKToKCSAgQ2hlY2sgc29tZSBtb3JlIGNvbW1vbiBsb2NhdGlvbnMgZm9yIGEgdmFsaWQgY29uZmlndXJhdGlvbiBmaWxlLgoJICBGaXhlcyBidWcgIzUzMzQzNS4gUGFja2FnZXJzIHNob3VsZCBzdGlsbCAjZGVmaW5lIFdJTERNSURJX0NGRwoJICB0byB0aGUgZGlzdHJpYnV0aW9ucyBkZWZhdWx0IGxvY2F0aW9uLgoKMjAwOC0wNS0xNiAyMTo1NjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbiBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZGVpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wYWRzX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYWxsIHJhdyBhdWRpbyBmb3JtYXRzIGFuZCBwcm92aWRlIGJldHRlciBuZWdvdGlhdGlvbgoJICBpZiB0aGUgY2FwcyBhcmUgY2hhbmdpbmcuCgkgIERvbid0IGFsbG93IGNoYW5nZXMgb2YgdGhlIGNoYW5uZWwgcG9zaXRpb25zIGFuZCBzZXQgdGhlIHBvc2l0aW9uIG9mCgkgIHRoZSBjb3JyZXNwb25kaW5nIGNoYW5uZWwgb24gdGhlIHNyYyBwYWQgY2Fwcy4KCSAgR2VuZXJhbCBjbGVhbnVwIGFuZCBzbWFsbGVyIGJ1Z2ZpeGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKToKCSAgQ2hlY2sgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9uIHRoZSBvdXRwdXQgYnVmZmVyIGNhcHMuCgoyMDA4LTA1LTE2IDE5OjU2OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBsaWJnc3R2aWRlbyB0byB0aGUgbGluay4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgRml4IGxpbmsgb3JkZXIsIGFuZCBtb3ZlIExJQlMgdGhpbmdzIHRvIF9MSUJTCgoyMDA4LTA1LTE2IDE0OjQ5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczogUmVtb3ZlIGJvZ3VzIGF0dGVtcHQgdG8gcHVsbCAnbWV0YWRhdGEnIHBsdWdpbidzIGJhc2UgY2xhc3MgaW50byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBSZW1vdmUgYm9ndXMgYXR0ZW1wdCB0byBwdWxsICdtZXRhZGF0YScgcGx1Z2luJ3MgYmFzZQoJICBjbGFzcyBpbnRvIHRoZSBkb2NzLgoKMjAwOC0wNS0xNCAyMTowMjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4gZXJyb3IgYW5kIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbgoJICBlcnJvciBhbmQgc3RvcHBpbmcuIFRoaXMgaXMgYSBwZXJmZWN0bHkgcmVjb3ZlcmFibGUgZXZlbnQgYW5kIHdlIGRvbid0CgkgIGZvcmNlIHBlb3BsZSB0byB1c2UgYW4gcnRwYmluIHRvIGZpbHRlciBvdXQgYmFkIHBhY2tldHMgZmlyc3QuCgoyMDA4LTA1LTE0IDIwOjU3OjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogU2V0IGZpeGVkIGNhcHMgb24gdGhlIHNyY3BhZCBhZnRlciB3ZSBjcmVhdGVkIHRoZSBwYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogKGdzdF9tcGVnNHZwYXJzZV9pbml0KToKCSAgU2V0IGZpeGVkIGNhcHMgb24gdGhlIHNyY3BhZCBhZnRlciB3ZSBjcmVhdGVkIHRoZSBwYWQuLi4KCjIwMDgtMDUtMTQgMTY6MjE6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIGRlaW50ZXJsZWF2ZSB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIGFnYWluIG5vdyB0aGF0IHRoZXJlIGFyZSBzdXBwcmVzc2lvbnMgaW4gZ3N0LnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBkZWludGVybGVhdmUgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBhZ2FpbiBub3cgdGhhdAoJICB0aGVyZSBhcmUgc3VwcHJlc3Npb25zIGluIGdzdC5zdXBwIHdoaWNoIG1ha2UgdGhpcyB3b3JrIGZvciBtZS4KCjIwMDgtMDUtMTQgMTQ6MTk6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzCgkgIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gdmFsZ3JpbmQvbGliYyBhZnRlciBfZXhpdCBmb3Igc29tZQoJICByZWFzb24uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChwYWRzX2NyZWF0ZWQpLAoJICAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzJfOGNoKSwKCSAgKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYiksCgkgIChtYWtlX2Zha2Vfc3JjXzhjaGFuc19mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCBiaXRzIEkgaGFkIGxvY2FsbHkuCgo9PT0gcmVsZWFzZSAwLjEwLjIwID09PQoKMjAwOC0wNS0xNCAxMzo1Nzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSB3aGljaCBtYWRlIGJhc2V0cmFuc2Zvcm0gaGFuZGxlIGJ1ZmZlcl9hbGxvYyBhbmQgd2hpY2ggYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgUmV2ZXJ0IHByZXZpb3VzIGNoYW5nZSB3aGljaCBtYWRlIGJhc2V0cmFuc2Zvcm0gaGFuZGxlIGJ1ZmZlcl9hbGxvYwoJICBhbmQgd2hpY2ggYnJlYWtzIHRoaW5ncyBiYWRseSBpbiB0aGUgbm9uLXBhc3N0aHJvdWdoIGNhc2Ugc2luY2UgaXQKCSAgcmV0dXJuZWQgYnVmZmVycyB3aXRoIGEgZGlmZmVyZW50IChpZS4gc29tZXRpbWVzIHNtYWxsZXIpIHNpemUgdGhhbgoJICB0aGUgc2l6ZSByZXF1ZXN0ZWQuCgoyMDA4LTA1LTE0IDA3OjMyOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgIFNwbGl0IGRlZmluaXRpb25zIGludG8gc2VwYXJhdGUgaGVhZGVyIGZpbGVzIGZvciBiZXR0ZXIgZG9jdW1lbnRhdGlvbgoJICBnZW5lcmF0aW9uLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgIERvbid0IHVzZSBhbGxvY2EsIGFsbG93IGNhcHMgY2hhbmdlcyBhcyBsb25nIGFzIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMKCSAgZG9lcyBub3QgY2hhbmdlLCBkb24ndCB1c2UgZ193YXJuaW5nLCByZXR1cm4gTk9UX05FR09USUFURUQgYXMgZWFybHkKCSAgYXMgcG9zc2libGUgYW5kIHNvbWUgb3RoZXIgY2xlYW51cC4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIERvIHNvbWUgcmFuZG9tIGNsZWFudXAuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfY2hhaW5fZnVuYyksIChkZWludGVybGVhdmVfcGFkX2FkZGVkKSwKCSAgKGRlaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB0aGUgZGVpbnRlcmxlYXZlIGVsZW1lbnQuCgoyMDA4LTA1LTEzIDE3OjIxOjA3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS4qOiBQYXJzZSB0aGUgY29uZmlnIGRhdGEgKGVpdGhlciBvdXRib3VuZCBvciBpbiB0aGUgc3RyZWFtKSB0byBzZXQgd2lkdGgvaGVpZ2h0LCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2Vfc2V0X25ld19jYXBzKSwgKGdzdF9tcGVnNHZwYXJzZV9hbGlnbiksCgkgIChnZXRfYml0cyksIChuZXh0X3N0YXJ0X2NvZGUpLCAoZ3N0X21wZWc0dnBhcnNlX2hhbmRsZV92b3MpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3B1c2gpLCAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVnNHZwYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfbXBlZzR2cGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBQYXJzZSB0aGUgY29uZmlnIGRhdGEgKGVpdGhlciBvdXRib3VuZCBvciBpbiB0aGUgc3RyZWFtKSB0byBzZXQKCSAgd2lkdGgvaGVpZ2h0LCBhcGVjdCByYXRpb24sIGZyYW1lcmF0ZSBpbiB0aGUgY2FwcyBpZiBhcHBsaWNhYmxlLgoJICBNYXJrIGZyYW1lcyBhcyBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB3aGVuIHRoZXkgYXJlIG5vdAoJICBpbnRyYSBmcmFtZXMKCSAgU2V0IHRoZSB0aW1lc3RhbXBzIG9mIG91dGdvaW5nIGJ1ZmZlcnMgdG8gdGhlIGJ1ZmZlciBpbgoJICB3aGljaCB0aGUgVk9QIGhlYWRlciB3YXMgZm91bmQuCgkgIERyb3AgaW5jb21pbmcgZGF0YSB1bnRpbGwgY29uZmlndXJhdGlvbiBpcyBmb3VuZCAoYnkgZGVmYXVsdCwKCSAgY29uZmlndXJhYmxlIHVzaW5nIGEgcHJvcGVydHkpLgoJICBSZXBvcnQgYSAxIGZyYW1lIGxhdGVuY3kuIEZpeGVzICM1MzI3MjMuCgoyMDA4LTA1LTEzIDE2OjE2OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIGRlYnVnIGZvciB3aGVyZSB3ZSBhcmUgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgZm9yIHdoZXJlIHdlIGFyZSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcy4KCjIwMDgtMDUtMTMgMTA6NTk6NDkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBiYXNldHJhbnNmb3JtIG5lZ290aWF0aW9uIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChsaXZlX3N3aXRjaF9hbGxvY19vbmx5XzQ4MDAwKSwgKGxpdmVfc3dpdGNoX2dldF9zaW5rX2NhcHMpLAoJICAobGl2ZV9zd2l0Y2hfcHVzaCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3QgYmFzZXRyYW5zZm9ybSBuZWdvdGlhdGlvbiBjaGFuZ2VzLgoJICBTZWUgYnVnICM1MjY3NjguCgoyMDA4LTA1LTEzIDA5OjA2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCjIwMDgtMDUtMTIgMTg6NDM6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEgbG93ZXIgdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhCgkgIGxvd2VyIHRpbWVzdGFtcCB0aGFuIHRoZSBjdXJyZW50IHBhY2tldC4KCjIwMDgtMDUtMTIgMTQ6Mjg6MDkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8gcHJldmVudCBhIG1lbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvCgkgIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMTIgMTQ6MTc6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogUXVpZXRlbiBzb21lIGRvY3Mgb3V0cHV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFF1aWV0ZW4gc29tZSBkb2NzIG91dHB1dAoKMjAwOC0wNS0xMiAxNDoxMjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTA1LTExIDE3OjIzOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJhbmRvbSBkb2Mgb2YgdGhlIGRheTogdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFJhbmRvbSBkb2Mgb2YgdGhlIGRheTogdGhlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgoyMDA4LTA1LTA5IDEwOjIxOjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogTWFrZSBzdXJlIGFsbCBzY2hlZHVsZSBFSVQgYW5kIG5vbi1hY3R1YWwgdHJhbnNwb3J0IHN0cmVhbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNYWtlIHN1cmUgYWxsIHNjaGVkdWxlIEVJVCBhbmQgbm9uLWFjdHVhbCB0cmFuc3BvcnQgc3RyZWFtCgkgIEVJVHMgYXJlIHBhcnNlZC4gQWxzbyBhZGQgcHJlc2VudC1mb2xsb3dpbmcgZmxhZyBhbmQKCSAgYWN0dWFsLXRyYW5zcG9ydC1zdHJlYW0gZmxhZyB0byBlaXQgYnVzIG1lc3NhZ2UuCgoyMDA4LTA1LTA5IDA3OjQxOjU4ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIGNhcHMgdXNlZCBieSBSVFBTb3VyY2UgdG8gcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0wOCAxOToxNjoxNyArMDAwMCAgQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHRAbnRsd29ybGQuY29tPgoKCSAgc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywgc28gbWFzayB0aG9zZSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQ2xpdmUgV3JpZ2h0IDxjbGl2ZV93cmlnaHQgbnRsd29ybGQgY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IChnc3Rfb3NzNF9taXhlcl9zbGlkZXJfdW5wYWNrX3ZvbHVtZSk6CgkgIEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsCgkgIHNvIG1hc2sgdGhvc2Ugb3V0IHdoZW4gcmVhZGluZyB0aGVtLiBQcm9iYWJseSBtYWtlcyB0aGUgbWl4ZXIgYXBwbGV0CgkgIHdvcmsgcHJvcGVybHkgaW4gc29tZSBtb3JlIGNhc2VzLgoKMjAwOC0wNS0wOCAwOTo0MzozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9jbG9ja19yYXRlKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCk6CgkgIFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUzMjAxMS4KCjIwMDgtMDUtMDggMDY6MjM6MzkgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBSVFAgQllFIGNvbW1hbmQgb24gRU9TLiBGaXhlcyBidWcgIzUzMTk1NS4KCjIwMDgtMDUtMDggMDY6MjA6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogTGV0IGF1ZGlvcmVzYW1wbGUgdXNlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBvZiBiYXNldHJhbnNmb3JtIGluc3RlYWQgb2YgaXQncyBvdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIExldCBhdWRpb3Jlc2FtcGxlIHVzZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24gb2YgYmFzZXRyYW5zZm9ybSBpbnN0ZWFkCgkgIG9mIGl0J3Mgb3duIHN0dWZmLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGFsbG9jX29ubHlfNDgwMDApLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSByZWNlbnQgYmFzZXRyYW5zZm9ybSBidWdmaXgsIHdoZXJlIHVwc3RyZWFtCgkgIGNoYW5nZXMgY2FwcyB0byBzb21ldGhpbmcgdGhhdCBjYW4ndCBiZSBwYXNzZWQgdGhyb3VnaCBhbnltb3JlLgoKMjAwOC0wNS0wNyAyMDoyNTowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjogRG9uJ3QgZGVmaW5lIEdTVF9GVU5DVElPTiwgaWYgR0xpYiBzdXBwb3J0cyBNU1ZDIHdlJ2QgbXVjaCByYXRoZXIgdXNlIHRoZSByZWFsIHRoaW5nIHRoYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIERvbid0IGRlZmluZSBHU1RfRlVOQ1RJT04sIGlmIEdMaWIgc3VwcG9ydHMgTVNWQyB3ZSdkIG11Y2ggcmF0aGVyCgkgIHVzZSB0aGUgcmVhbCB0aGluZyB0aGFuIGhhdmluZyAiPz8/IiB1bmNvbmRpdGlvbmFsbHkuCgoyMDA4LTA1LTA3IDEwOjM4OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC86IEFkZCBtYXJzaGFsLmxpc3QsIG1ha2UgaXQgY29tcGlsZSBhbmQgYWRkIHRvIGN2c2lnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICBBZGQgbWFyc2hhbC5saXN0LCBtYWtlIGl0IGNvbXBpbGUgYW5kIGFkZCB0byBjdnNpZ25vcmUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXBwX3Npbmtfc3RvcCk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY191bmxvY2spLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfc3RvcCksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpLCAoZ3N0X2FwcF9zcmNfc2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X2NhcHMpLCAoZ3N0X2FwcF9zcmNfc2V0X3NpemUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3NpemUpLCAoZ3N0X2FwcF9zcmNfc2V0X3NlZWthYmxlKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zZWVrYWJsZSksIChnc3RfYXBwX3NyY19zZXRfbWF4X2J1ZmZlcnMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9idWZmZXJzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEJlYXQgYXBwc3JjIGluIHNoYXBlLCBhZGQgc2lnbmFscyBhbmQgYWN0aW9ucy4KCSAgQWRkIHNvbWUgZG9jcy4KCSAgQWRkIHByb3BlcnRpZXMgZm9yIGNhcHMsIHNpemUsIHNlZWthYmlsaXR5IGFuZCBtYXgtYnVmZmVycy4KCSAgRml4IHVubG9jay9zdG9wIGNvZGUuCgoyMDA4LTA1LTA3IDA3OjUxOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UuCgoyMDA4LTA1LTA1IDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IFN0YXJ0IHNvbWUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfaW5pdCksIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX3VubG9ja19zdGFydCksCgkgIChnc3RfYXBwX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwKCSAgKGdzdF9hcHBfc2lua19zdGFydCksIChnc3RfYXBwX3Npbmtfc3RvcCksIChnc3RfYXBwX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3JlbmRlciksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX3NldF9kcm9wKSwKCSAgKGdzdF9hcHBfc2lua19nZXRfZHJvcCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIFN0YXJ0IHNvbWUgZG9jcy4KCSAgQWRkIHByb3BlcnR5IHRvIGRyb3AgYnVmZmVycyB3aGVuIHRoZSBxdWV1ZSBpcyBmaWxsZWQKCSAgRml4IHVubG9ja2luZyBhbmQgZmx1c2hpbmcgd2hlbiB0aGUgcXVldWVzIGFyZSBmaWxsZWQuCgoyMDA4LTA1LTAyIDE0OjQwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHdpbGRtaWRpIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHdpbGRtaWRpIHBsdWdpbgoKMjAwOC0wNC0yOSAxOToxMTo1NiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogRGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBibG9ja3MuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggZ2NjIDIueCBhbmQgb3RoZXIgY29tcGlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiAoZ3N0X3NydF9lbmNfdGltZXN0YW1wX3RvX3N0cmluZyk6CgkgIERlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYmxvY2tzLiBGaXhlcyBjb21waWxhdGlvbiB3aXRoCgkgIGdjYyAyLnggYW5kIG90aGVyIGNvbXBpbGVycy4gRml4ZXMgYnVnICM1MzA2MTEuCgoyMDA4LTA0LTI5IDA5OjAyOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogRGV0ZWN0IFNJIHBpZHMgKE5JVCwgU0RULCBFSVQgZXRjLikgYmFzZWQgb24gdGFibGUgaWQgYW5kIG5vdCBieSBwaWQgbnVtYmVyLiBUaGlzIGFsbG93cyBmb3IgZXhhbXBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRGV0ZWN0IFNJIHBpZHMgKE5JVCwgU0RULCBFSVQgZXRjLikgYmFzZWQgb24gdGFibGUgaWQgYW5kIG5vdAoJICBieSBwaWQgbnVtYmVyLiBUaGlzIGFsbG93cyBmb3IgZXhhbXBsZSB0aGUgRVBHIGRhdGEgZnJvbSBVSydzCgkgIGZyZWVzYXQgdG8gYmUgcGlja2VkIHVwLgoKMjAwOC0wNC0yNSAyMzoyMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0LzogQ2FzdCBOVUxMIHNlbnRpbmVscyB0byB2b2lkICogYXMgTlVMTCBpcyBkZWZpbmVkIGFzIGFuIGludGVnZXIgY29uc3RhbnQgaW4gbW9zdCBlbnZpcm9ubWVudHMgd2hlbiB1c2luZyBDKysgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIENhc3QgTlVMTCBzZW50aW5lbHMgdG8gdm9pZCAqIGFzIE5VTEwgaXMgZGVmaW5lZCBhcyBhbiBpbnRlZ2VyCgkgIGNvbnN0YW50IGluIG1vc3QgZW52aXJvbm1lbnRzIHdoZW4gdXNpbmcgQysrIGFuZCBpdCdzIHNpemUgbWlnaHQKCSAgYmUgZGlmZmVyZW50IGZyb20gYSBwb2ludGVyLgoKMjAwOC0wNC0yNSAxODoxODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBBZGQgbW9yZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19pbml0KSwgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3JlbmRlciksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2VtaXRfc2lnbmFscyksIChnc3RfYXBwX3NpbmtfZ2V0X2VtaXRfc2lnbmFscyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X21heF9idWZmZXJzKSwgKGdzdF9hcHBfc2lua19nZXRfbWF4X2J1ZmZlcnMpLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgQWRkIG1vcmUgZG9jcy4KCSAgQWRkIHNpZ25hbHMgZm9yIHdoZW4gcHJlcm9sbCBhbmQgcmVuZGVyIGJ1ZmZlcnMgYXJlIGF2YWlsYWJsZS4KCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgc2lnbmFsIGVtaXNzaW9uLgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCB0aGUgbWF4IHF1ZXVlIHNpemUuCgoyMDA4LTA0LTI1IDE4OjEzOjA3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06IFVzZSBDWFhGTEFHUyByYXRoZXIgdGhhbiBDRkxBR1M7IHRoZXNlIGFyZSBDKysgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgVXNlIENYWEZMQUdTIHJhdGhlciB0aGFuIENGTEFHUzsgdGhlc2UgYXJlIEMrKyBmaWxlcy4KCSAgRGVmaW5lIHJlcXVpcmVkIGNvbnN0YW50cyBhcHByb3ByaWF0ZWx5LgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlZCBpbmNsdWRlIGRpciwgbGlicmFyaWVzLgoJICBEZWZpbmUgcmVxdWlyZWQgY29uc3RhbnRzIGFwcHJvcHJpYXRlbHkuCgoyMDA4LTA0LTI1IDExOjMyOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoKMjAwOC0wNC0yNSAxMToyMjoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhIHByb3BlcnR5IHRvIGVuYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEKCSAgcHJvcGVydHkgdG8gZW5hYmUgaXQuIFdlIHdpbGwgbGlrZWx5IGVuYWJsZSBpdCBieSBkZWZhdWx0IHdoZW4gdGhlIGJhc2UKCSAgZGVwYXlsb2FkZXJzIGhhdmUgYSBkZWZhdWx0IGhhbmRsZXIgZm9yIHRoZW0gc28gdGhhdCB3ZSBkb24ndCBzZW5kIHRoZXNlCgkgIGV2ZW50cyBhbGwgdGhyb3VnaCB0aGUgcGlwZWxpbmUgZm9yIG5vdy4KCjIwMDgtMDQtMjUgMDk6MzU6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHByaXZhdGUgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uIHRoYXQgaXMgaW4gLWJhc2Ugbm93LgoJICBBZGQgc3JjIGV2ZW50IGhhbmRsZXIuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIHB1c2hpbmcgbG9vcCBzbyB0aGF0IGl0IGNhbiBxdWlja2x5IHJlYWN0IHRvCgkgIGxvc3QgcGFja2V0cyBhbmQgaW5zdHJ1Y3QgdGhlIGRlcGF5bG9hZGVyIG9mIHRoZW0uIFRoaXMgY2FuIHRoZW4gYmUgdXNlZAoJICB0byBpbXBsZW1lbnQgZXJyb3IgY29uY2VhbG1lbnQgZGF0YS4KCjIwMDgtMDQtMjUgMDg6MjE6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlIHRoZSBkZWZhdWx0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpLCAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UKCSAgdGhlIGRlZmF1bHRzIGFyZSByZWFsbHkgbm90IGNvcnJlY3QuCgkgIEltcGxlbWVudCBhIHF1ZXJ5IGhhbmRsZXIgZm9yIHRoZSBSVENQIHNyYyBwYWQsIG1vc3RseSB0byBjb3JyZWN0bHkKCSAgcmVwb3J0IGFib3V0IHRoZSBsYXRlbmN5LgoKMjAwOC0wNC0yNSAwODoxNTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWxzbyBrZWVwIHRyYWNrIG9mIHRoZSBmaXJzdCBidWZmZXIgdGltZXN0YW1wIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0CgkgIFJUUCB0aW1lc3RhbXAgYXMgdGhleSBib3RoIGFyZSBuZWVkZWQgdG8gY29uc3RydWN0IHRoZSB0aW1pbmcgb2YKCSAgb3V0Z29pbmcgcGFja2V0cyBpbiB0aGUgaml0dGVyYnVmZmVyIGFuZCBhcmUgdGhlcmVmb3JlIGFsc28gbmVlZGVkIHRvCgkgIG1hbmFnZSBsaXAtc3luYy4gVGhpcyBmaXhlcyBsaXAtc3luYyBpZiB0aGUgZmlyc3QgUlRQIHBhY2tldHMgYXJyaXZlCgkgIHdpdGggYSB3aWxkbHkgZGlmZmVyZW50IGdhcC4KCjIwMDgtMDQtMjUgMDg6MDc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoKMjAwOC0wNC0yNCAyMjoxOTo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgbGlibXBjZGVjIEFQSSB3aGljaCBtYWdpY2FsbHkgZ2V0cyB1cyBzdXBwb3J0IGZvciBTVjggZmlsZXMuIEFsc28gZG8gc29tZSByYW5kb20gY2xlYW51cC4gRml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IGxpYm1wY2RlYyBBUEkgd2hpY2ggbWFnaWNhbGx5IGdldHMgdXMgc3VwcG9ydAoJICBmb3IgU1Y4IGZpbGVzLiBBbHNvIGRvIHNvbWUgcmFuZG9tIGNsZWFudXAuIEZpeGVzIGJ1ZyAjNTI2OTA1LgoKMjAwOC0wNC0yNCAyMToyNDoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC43LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuNy4xCgkgID09PSByZWxlYXNlIDAuMTAuNyA9PT0KCj09PSByZWxlYXNlIDAuMTAuNyA9PT0KCjIwMDgtMDQtMjQgMDA6MTg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNwoKMjAwOC0wNC0yNCAwMDoxNToyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wNC0yMiAxNTowNzozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBsZWFrIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uLiBGaXhlcyAjNTI5Mzc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIERvbid0IGxlYWsgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24uIEZpeGVzICM1MjkzNzguCgoyMDA4LTA0LTIyIDA4OjE4OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBSZWYgY2Fwcywgc2VlICM1MjgyNDUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKHJlcXVlc3RfcHRfbWFwKToKCSAgUmVmIGNhcHMsIHNlZSAjNTI4MjQ1LgoKMjAwOC0wNC0yMiAwMDoyMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNi40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC42LjQgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMjEgMjE6NTQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoKMjAwOC0wNC0yMSAyMTo1MjozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IERvbid0IGxlYWsgdGhlIHRhZ3Mgc3RyaW5nIGFuZCB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpOgoJICBEb24ndCBsZWFrIHRoZSB0YWdzIHN0cmluZyBhbmQgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5MjgzLgoKMjAwOC0wNC0yMSAwODoyNjozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIERvbid0IGxlYWsgcGFkcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBdm9pZCBhIGNhcHMgbGVhay4KCSAgRG9uJ3QgbGVhayByZWZjb3VudCBpbiBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBBdm9pZCBjYXBzIGxlYWtzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAocmV0dXJuX3RydWUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBGaXggc29tZSBtb3JlIGNhcHMgbGVha3MuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE4IDE4OjUxOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgoyMDA4LTA0LTE3IDIzOjAxOjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC42LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjYuMyBwcmUtcmVsZWFzZQoKMjAwOC0wNC0xNyAxODoyODowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFJldmVydCBwYXRjaCB0aGF0IGFkZGVkIGEgbG9vcCB0aW1lb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBSZXZlcnQgcGF0Y2ggdGhhdCBhZGRlZCBhIGxvb3AgdGltZW91dC4KCSAgRml4ZXMgIzUyODYxNC4KCjIwMDgtMDQtMTcgMDc6MzE6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksIChmcmVlX2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fZ2V0X2ZyZWVfcGFkX25hbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgZ19zaWduYWxfZW1pdHYgc28gdGhhdCB3ZSBhdm9pZCBhIHJlZmNvdW50IGxlYWsuCgkgIERvbid0IGxlYWsgYSBwYWRuYW1lLgoJICBEb24ndCBsZWFrIGNsaWVudCBzdHJlYW1zIGxpc3QuCgkgIExvY2sgcnRwYmluIHdoZW4gYXNzb2NpYXRpbmcgc3RyZWFtcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTYgMDk6NTA6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEb24ndCBpbmxjdWRlIGRjMTM5NHNyYyBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdCBhcyBpdCByZXF1aXJlcyBzcGVjaWFsIGhhcmR3YXJlLiBGaXhlcyBidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5sY3VkZSBkYzEzOTRzcmMgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QgYXMgaXQgcmVxdWlyZXMKCSAgc3BlY2lhbCBoYXJkd2FyZS4gRml4ZXMgYnVnICM1MjgwMTEuCgoyMDA4LTA0LTE2IDA5OjQ4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogT25seSBjaGVjayBpZiB0aGUgZ2VuZXJhdGVkIGZpbmdlcnByaW50cyBhcmUgdmFsaWQgQmFzZTY0LiBUaGUgZmluZ2VycHJpbnRzIGFyZSBkaWZmZXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCk6CgkgIE9ubHkgY2hlY2sgaWYgdGhlIGdlbmVyYXRlZCBmaW5nZXJwcmludHMgYXJlIHZhbGlkIEJhc2U2NC4gVGhlCgkgIGZpbmdlcnByaW50cyBhcmUgZGlmZmVyZW50IHdoZW4gcnVubmluZyBvbiBkaWZmZXJlbnQgYXJjaGl0ZWN0dXJlcwoJICB3aGljaCBpcyBhKSBubyBwcm9ibGVtIGJlY2F1c2UgdGhlIGZpbmdlcnByaW50cyBhcmUgdG9sZXJhbnQgZW5vdWdoCgkgIGFuZCBiKSBpcyBjYXVzZWQgYnkgbGlib2ZhLiBGaXhlcyBidWcgIzUyODI2Ni4KCjIwMDgtMDQtMTYgMDk6NDU6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbTogRGlzdCBhbGwgc291cmNlIGZpbGVzLCBubyBtYXR0ZXIgaWYgb25seSB0aW1pZGl0eSBvciB3aWxkbWlkaSBvciBub3RoaW5nIGlzIGZvdW5kIGJ5IGNvbmZpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIHNvdXJjZSBmaWxlcywgbm8gbWF0dGVyIGlmIG9ubHkgdGltaWRpdHkgb3Igd2lsZG1pZGkgb3IKCSAgbm90aGluZyBpcyBmb3VuZCBieSBjb25maWd1cmUuIEZpeGVzIGJ1ZyAjNTI4MDAwLgoKMjAwOC0wNC0xNCAyMDowOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOiBSZW1vdmUgc291cGh0dHBzcmMgcGx1Z2luIGZyb20gc3BlYyBmaWxlcywgaXQncyBtb3ZlZCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSBzb3VwaHR0cHNyYyBwbHVnaW4gZnJvbSBzcGVjIGZpbGVzLCBpdCdzIG1vdmVkIHRvIC1nb29kLgoKMjAwOC0wNC0xMyAyMzoxMTowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIGZyb20gdGhlIGRpc3QuCgoyMDA4LTA0LTEzIDIwOjU0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IGNvbXBpbGF0aW9uIGJ5IGNhc3Rpbmcgc3RyaW5nIGNvbnN0YW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBGaXggY29tcGlsYXRpb24gYnkgY2FzdGluZyBzdHJpbmcgY29uc3RhbnRzLgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRml4IFdJTklORVRfRElSIHZhcmlhYmxlIHJlZmVyZW5jZS4KCjIwMDgtMDQtMTIgMjM6MzI6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHNvdXAgcGx1Z2luIHRoYXQncyBtb3ZlZCB0byAtZ29vZCAoIzUyMzEyNCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgUmVtb3ZlIHNvdXAgcGx1Z2luIHRoYXQncyBtb3ZlZCB0byAtZ29vZCAoIzUyMzEyNCkKCjIwMDgtMDQtMTEgMjM6MTk6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCk6CgkgIEhhbmRsZSBOVUxMIHJldHVybnMgZnJvbSBGTFZfR0VUX1NUUklORygpIG1vcmUgZ3JhY2VmdWxseS4gRml4ZXMKCSAgY3Jhc2ggY2F1c2VkIGJ5IGEgc3RybGVuIG9uIGEgTlVMTCBzdHJpbmcgKCM1Mjc2MjIpLgoKMjAwOC0wNC0xMSAxOTozMzo1MyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy4qOiBEb24ndCBpbmNyZWFzZSBsYXRlbmN5IGJ5IHF1ZXVpbmcgYnVmZmVycyBpbiBhbiBhc3luYyBxdWV1ZSB3aGVuIHRoZSBzdHJlYW1pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOiAoUFJPUF9ERVZJQ0VfTkFNRSksCgkgIChnc3RfZHNob3d2aWRlb3NyY19jbGFzc19pbml0KSwgKGdzdF9kc2hvd3ZpZGVvc3JjX2luaXQpLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfZGlzcG9zZSksIChnc3RfZHNob3d2aWRlb3NyY19zdG9wKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX3VubG9jayksIChnc3RfZHNob3d2aWRlb3NyY191bmxvY2tfc3RvcCksCgkgIChnc3RfZHNob3d2aWRlb3NyY19jcmVhdGUpLCAoZ3N0X2RzaG93dmlkZW9zcmNfcHVzaF9idWZmZXIpOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBEb24ndCBpbmNyZWFzZSBsYXRlbmN5IGJ5IHF1ZXVpbmcgYnVmZmVycyBpbiBhbiBhc3luYyBxdWV1ZSB3aGVuCgkgIHRoZSBzdHJlYW1pbmcgdGhyZWFkIGNhbid0IGtlZXAgdXAgb3IgaXNuJ3Qgc2NoZWR1bGVkIG9mdGVuCgkgIGVub3VnaCBmb3Igc29tZSBvdGhlciByZWFzb24sIGJ1dCBqdXN0IGRyb3AgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICBpbiB0aGF0IGNhc2UuIEFsc28gaW1wbGVtZW50IEdzdEJhc2VTcmM6OnVubG9jayBmb3IgZmFzdGVyCgkgIHVubG9ja2luZyB3aGVuIHNodXR0aW5nIGRvd24uICgjNTIwODkyKS4KCjIwMDgtMDQtMTEgMTg6NDY6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuKjogUmVtb3ZlIEdzdFhPdmVybGF5IHN0dWZmIGFuZCB1c2UgZ2RrcGl4YnVmc2luayBwbHVzIHNvbWUgcmF0aGVyIGNydWRlIGRyYXdpbmcvc2NhbGluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IChFTkNfVU5LTk9XTiksIChsYXN0X3BpeGJ1ZiksCgkgIChkcmF3X3BpeGJ1ZiksIChjaGFuZ2VfdGFnX2xpc3QpLCAodXBkYXRlX2RyYXdfcGl4YnVmKSwKCSAgKHVpX2RyYXdpbmdfc2l6ZV9hbGxvY2F0ZV9jYiksIChvbl9kcmF3aW5nTWFpbl9leHBvc2VfZXZlbnQpLAoJICAob25fYnV0dG9uU2F2ZUZpbGVfY2xpY2tlZCksICh1aV9jcmVhdGUpLCAobWVfZ3N0X2J1c19jYWxsYmFja192aWV3KSwKCSAgKG1lX2dzdF9zZXR1cF92aWV3X3BpcGVsaW5lKSwgKHByb2Nlc3NfZmlsZSk6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBSZW1vdmUgR3N0WE92ZXJsYXkgc3R1ZmYgYW5kIHVzZSBnZGtwaXhidWZzaW5rIHBsdXMgc29tZSByYXRoZXIgY3J1ZGUKCSAgZHJhd2luZy9zY2FsaW5nIGxvZ2ljIHRvIG1ha2UgdGhpcyBjb21waWxlIGFuZCB3b3JrIG9uIGFsbCBwbGF0Zm9ybXMuCgkgIEZpeGVzICM1MTgyMjcuCgoyMDA4LTA0LTExIDEzOjU3OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZAoJICBjb25mdXNpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChkZWludGVybGFjZV9kZWJ1ZyksCgkgIChHU1RfQ0FUX0RFRkFVTFQpLCAoZ3N0X2RlaW50ZXJsYWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBfc2V0X2VsZW1lbnRfZGV0YWlsc19zaW1wbGUgYW5kCgkgIHJlbW92ZSBzcGVjaWFsIGNvZGUgcGF0aCBmb3IgWTQyQiB0byBjYWxjdWxhdGUgb2Zmc2V0cyBhbmQKCSAgc3RyaWRlczsgbGliZ3N0dmlkZW8ga25vd3MgaG93IHRvIGhhbmRsZSB0aGlzIGZvcm1hdCBub3cuCgoyMDA4LTA0LTExIDEzOjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2NkeGFwYXJzZS86IFBvcnQgVkNEIHBhcnNlciAoZm9ybWVybHkgY2R4YXN0cmlwKSBmcm9tIDAuOCB0byAwLjEwLiBEb2Vzbid0IGRvIGFueXRoaW5nIHRoZSAwLjggdmVyc2lvbiBkaWRuJ3QgZG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSAgUG9ydCBWQ0QgcGFyc2VyIChmb3JtZXJseSBjZHhhc3RyaXApIGZyb20gMC44IHRvIDAuMTAuIERvZXNuJ3QgZG8KCSAgYW55dGhpbmcgdGhlIDAuOCB2ZXJzaW9uIGRpZG4ndCBkbyB0aG91Z2guCgoyMDA4LTA0LTExIDA4OjEzOjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9vc3M0LzogRml4IGFyZ3VtZW50cyBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDQtMTEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgIChnc3Rfb3NzNF9taXhlcl9lbnVtX2dldF92YWx1ZXNfbG9ja2VkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOiAoZ3N0X29zczRfc291cmNlX2RlbGF5KTogRml4IGFyZ3VtZW50cwoJICBmb3JtYXQgaW4gZGVidWcgc3RhdGVtZW50cy4KCjIwMDgtMDQtMTAgMTU6Mjk6NDQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBBZGQgd2luaW5ldHNyYyBmb3IgYmFzaWMgaHR0cC9mdHAgc3VwcG9ydCBvbiB3aW5kb3dzICgjNTIwODk3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmg6CgkgIEFkZCB3aW5pbmV0c3JjIGZvciBiYXNpYyBodHRwL2Z0cCBzdXBwb3J0IG9uIHdpbmRvd3MgKCM1MjA4OTcpLgoKMjAwOC0wNC0xMCAxMDowMTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvbnNmLmg6IENoYW5nZSBwcm90b3R5cGUgb2YgcHJvY2VzcyBmdW5jdGlvbiBoZXJlIHRvbyB0byBhdm9pZCAnaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQnIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICBDaGFuZ2UgcHJvdG90eXBlIG9mIHByb2Nlc3MgZnVuY3Rpb24gaGVyZSB0b28gdG8gYXZvaWQKCSAgJ2luY29tcGF0aWJsZSBhc3NpZ25tZW50JyB3YXJuaW5ncy4KCjIwMDgtMDQtMTAgMDc6MTE6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMgYW5kIGNoZWNrIGZvciBOVUxMIGNhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEluY3JlYXNlIHRoZSB0aW1lb3V0IGZvciB0aGUgaW50ZXJuZXQgdGVzdHMgdG8gMjUwIHNlY29uZHMKCSAgYW5kIGNoZWNrIGZvciBOVUxMIGNhcHMgaW5zdGVhZCBvZiBqdXN0IGNyYXNoaW5nLgoJICBUaGUgcmVhbCBmaXggd291bGQgYmUgdG8gaW1wbGVtZW50IGFuIHNob3V0Y2FzdCBzZXJ2ZXIgZm9yIHRoZSB1bml0IHRlc3QKCSAgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGEgd29ya2luZyBpbnRlcm5ldCBjb25uZWN0aW9uLgoJICBGaXhlcyBidWcgIzUyMTc0OS4KCjIwMDgtMDQtMDkgMjI6Mjc6NTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCjIwMDgtMDQtMDkgMTM6NDM6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L25zZi9uZXNfYXB1Lio6IERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljIC0gaXQncyBhIGdjYyBleHRlbnNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOiAoYXB1X3Byb2Nlc3MpOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYyAtIGl0J3MgYSBnY2MgZXh0ZW5zaW9uLgoKMjAwOC0wNC0wNiAyMDoxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZSBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lCgkgIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3aGVuIHN0YXJ0aW5nIHVwIG11bHRpcGxlIHBsYXliaW4KCSAgb2JqZWN0cyBjb25jdXJyZW50bHkgKHNlZSAjNTEyMzgyKS4KCjIwMDgtMDQtMDYgMDk6MDE6NDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKToKCSAgT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIEdTVF9TT1VQX0hUVFBfU1JDX1NFU1NJT05fSU9fU1RBVFVTX1JVTk5JTkcuIEZpeGVzIGJ1ZyAjNTI2MzM3LgoKMjAwOC0wNC0wNiAwODo1ODozOSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWN0dWFsbHkgYnVpbGQgZGxscyB3aGVuIGNyb3NzLWNvbXBpbGluZyB3aXRoIG1pbmd3MzIuCgkgIEZpeGVzIGJ1ZyAjNTI2MjQ3LgoKMjAwOC0wNC0wNSAxMTowMzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IEFsc28gY2hlY2sgdGhhdCB3ZSBoYXZlIHByb2Nlc3NlZCBhdCBsZWFzdCAxMzUgc2Vjb25kcyBvZiBhdWRpbyB1bnRpbCB3ZSBzdG9wIGFuZCBjYWxjdWxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBbHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBwcm9jZXNzZWQgYXQgbGVhc3QgMTM1IHNlY29uZHMgb2YgYXVkaW8KCSAgdW50aWwgd2Ugc3RvcCBhbmQgY2FsY3VsYXRlZCBhIGZpbmdlcnByaW50LgoKMjAwOC0wNC0wNCAyMDo0MzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLio6IEdzdFNydGVuYyA9PiBHc3RTcnRFbmMgYW5kIGdzdF9zcnRlbmNfID0+IGdzdF9zcnRfZW5jXy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5oOgoJICBHc3RTcnRlbmMgPT4gR3N0U3J0RW5jIGFuZCBnc3Rfc3J0ZW5jXyA9PiBnc3Rfc3J0X2VuY18uCgoyMDA4LTA0LTA0IDE5OjE4OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzaW1wbGUgdW5pdCB0ZXN0cyBmb3IgdGhlIE9GQSBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChvZmFfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0cyBmb3IgdGhlIE9GQSBwbHVnaW4uCgoyMDA4LTA0LTAzIDE0OjIzOjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IG9zc3Y0IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBvc3N2NCBwbHVnaW4KCjIwMDgtMDQtMDIgMjA6MTg6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLCBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICAqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBPU1N2NC4gTWl4ZXIgc3RpbGwgbmVlZHMgYSBiaXQgbW9yZSBsb3ZlLAoJICBidXQgZXZlbiBtYWdpYyBoYXMgaXRzIGxpbWl0cy4KCjIwMDgtMDQtMDEgMjI6NDA6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgbmV3IHNydGVuYyBwbHVnaW4gdG8gc3ViZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L3NydGVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmg6CgkgICogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiAocGx1Z2luX2luaXQpOgoJICBSZW5hbWUgbmV3IHNydGVuYyBwbHVnaW4gdG8gc3ViZW5jLgoKMjAwOC0wNC0wMSAyMDozMzoxOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBzcGVjJ2EnbGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggc3BlYydhJ2xlYwoKMjAwOC0wNC0wMSAxOTo1Mzo1MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IENhYmxlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZXNjcmlwdG9ycycgZnJlcXVlbmN5J3MgYmNkIGlzIG1lYXN1cmVkIGluIDEwMEh6IHVuaXRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDYWJsZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVzY3JpcHRvcnMnIGZyZXF1ZW5jeSdzIGJjZAoJICBpcyBtZWFzdXJlZCBpbiAxMDBIeiB1bml0cyBzbyBhZGp1c3QgbXVsdGlwbGllciBhY2NvcmRpbmdseS4KCjIwMDgtMDQtMDEgMTM6NDI6NTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBBZGQgc3J0IHN1YnRpdGxlIGVuY29kZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcnRlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5oOgoJICBBZGQgc3J0IHN1YnRpdGxlIGVuY29kZXIKCjIwMDgtMDMtMzEgMTY6MjQ6NDIgKzAwMDAgIGthcGlsIDxrYXBpbEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZGVjLio6IEluY3JlYXNlIHRoZSBhbGxvd2VkIHNhbXBsZXJhdGVzIGZvciB0aGUgbXMtZ3NtIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBrYXBpbCA8a2FwaWwgYXQgZmx1ZW5kbyBkb3QgY29tPgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBJbmNyZWFzZSB0aGUgYWxsb3dlZCBzYW1wbGVyYXRlcyBmb3IgdGhlIG1zLWdzbSBmb3JtYXQuCgkgIEZpeGVzICM0ODEzNTQuCgoyMDA4LTAzLTMwIDIxOjA2OjU4ICswMDAwICBKYW4gZGUgR3Jvb3QgPGphbkBqZ2MuaG9tZWlwLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsICgjNTI1MTAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW4gZGUgR3Jvb3QgPGphbiBhdCBqZ2MgaG9tZWlwIG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBidWlsZCB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbCAoIzUyNTEwMCkuCgoyMDA4LTAzLTI4IDA5OjQ4OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUmVwZWF0IGRpc2VxYyBjYWxsIHRvIGFsbG93IGZvciBzb21lIGRpc2VxYyBzd2l0Y2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUmVwZWF0IGRpc2VxYyBjYWxsIHRvIGFsbG93IGZvciBzb21lIGRpc2VxYyBzd2l0Y2hlcy4KCjIwMDgtMDMtMjcgMTY6MzI6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc3Qgb2ZhIGNvcnJlY3RseSEgRml4ZXMgbm9uLXVuaW5zdGFsbGVkIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3Qgb2ZhIGNvcnJlY3RseSEgRml4ZXMgbm9uLXVuaW5zdGFsbGVkIGJ1aWxkLgoKMjAwOC0wMy0yNyAxNTo1NzoxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE1ha2UgZGlzZXFjIHdvcmsgbW9yZSByZWxpYWJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgTWFrZSBkaXNlcWMgd29yayBtb3JlIHJlbGlhYmx5LgoKMjAwOC0wMy0yNiAwNzo0MDo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L25zZi86IFJlbW92ZSBtZW1ndWFyZCBhZ2FpbiBhbmQgYXBwbHkgaG9wZWZ1bGx5IGFsbCBwcmV2aW91c2x5IGRyb3BwZWQgbG9jYWwgcGF0Y2hlcy4gU2hvdWxkIGJlIHJlYWxseSBiZXR0ZXIgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgUmVtb3ZlIG1lbWd1YXJkIGFnYWluIGFuZCBhcHBseSBob3BlZnVsbHkgYWxsIHByZXZpb3VzbHkgZHJvcHBlZAoJICBsb2NhbCBwYXRjaGVzLiBTaG91bGQgYmUgcmVhbGx5IGJldHRlciB0aGFuIHRoZSBvbGQgdmVyc2lvbiBub3cuCgoyMDA4LTAzLTI1IDE2OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi86IFVuYnJlYWsgY29tcGlsYXRpb24gYnkgZGlzYWJsaW5nIG1lbWd1YXJkIGFuZCBkb2luZyBzb21lIGRpcnR5IGhhY2sgZml4ZXMgdG8gbWFrZSBpdCBjb21waWxlIG9uIDY0Yml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOiAoX215X2ZyZWUpOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgVW5icmVhayBjb21waWxhdGlvbiBieSBkaXNhYmxpbmcgbWVtZ3VhcmQgYW5kIGRvaW5nIHNvbWUgZGlydHkgaGFjawoJICBmaXhlcyB0byBtYWtlIGl0IGNvbXBpbGUgb24gNjRiaXRzLgoKMjAwOC0wMy0yNSAxNTo1NjoxMyArMDAwMCAgQW5kcmVhcyBIZW5yaWtzc29uIDxhbmRyZWFzQGZhdGFsLnNldD4KCgkgIGdzdC9uc2YvOiBVcGRhdGUgb3VyIGludGVybmFsIG5vc2VmYXJ0IHRvIG5vc2VmYXJ0LTIuNy1tbHMgdG8gZml4IHNlZ2ZhdWx0cyBvbiBzb21lIGZpbGVzLiBGaXhlcyBidWcgIzQ5ODIzNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXMgYXQgZmF0YWwgZG90IHNldD4KCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZGlzNjUwMi5oOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5oOgoJICAqIGdzdC9uc2YvZm1vcGwuYzoKCSAgKiBnc3QvbnNmL2Ztb3BsLmg6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgKiBnc3QvbnNmL2xvZy5jOgoJICAqIGdzdC9uc2YvbG9nLmg6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5oOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5oOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgKiBnc3QvbnNmL29zZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5oOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIFVwZGF0ZSBvdXIgaW50ZXJuYWwgbm9zZWZhcnQgdG8gbm9zZWZhcnQtMi43LW1scyB0byBmaXggc2VnZmF1bHRzCgkgIG9uIHNvbWUgZmlsZXMuIEZpeGVzIGJ1ZyAjNDk4MjM3LgoJICBSZW1vdmUgc29tZSAvLyBjb21tZW50cywgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MgYW5kIHVzZSBwb3coKQoJICBpbnN0ZWFkIG9mIGEgc2xvdywgc2VsZm1hZGUgaW1wbGVtZW50YXRpb24uCgoyMDA4LTAzLTI1IDE1OjE3OjU4ICswMDAwICBFZCBDYXRtdXIgPGVkQGNhdG11ci5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIHN1cHBvcnQgZm9yIG5lb24gMC4yOCwgd2hpY2ggZGlkbid0IGNoYW5nZSBBUEkuIEZpeGVzIGJ1ZyAjNTI0MDM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVkIENhdG11ciA8ZWQgYXQgY2F0bXVyIGRvdCBjbyBkb3QgdWs+CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgc3VwcG9ydCBmb3IgbmVvbiAwLjI4LCB3aGljaCBkaWRuJ3QgY2hhbmdlIEFQSS4gRml4ZXMgYnVnICM1MjQwMzUuCgoyMDA4LTAzLTI0IDEyOjMyOjU5ICswMDAwICBSZW5lIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYyAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICBNYWtlIHJnYW5hbHlzaXMgYW5kIHJnbGltaXRlciBlbGVtZW50cyBHQVAtZmxhZyBhd2FyZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2dhcF9idWZmZXJzKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jICh0ZXN0X2dhcCksIChyZ2xpbWl0ZXJfc3VpdGUpOgoJICBBZGQgdGVzdHMgdG8gdmVyaWZ5IGdhcC1hd2FyZW5lc3MuCgoyMDA4LTAzLTIyIDE5OjI2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBEb24ndCBhdXRvcGx1ZyBzb3VwaHR0cHNyYyBmb3IgZGF2L2RhdnMuIFRoaXMgaXMgYmV0dGVyIGhhbmRsZWQgYnkKCSAgR0lPIGFuZCBHbm9tZVZGUyBhcyB0aGV5IHByb3ZpZGUgYXV0aGVudGljYXRpb24uCgkgIERvbid0IGxlYWsgdGhlIGljeSBjYXBzIGlmIHdlIGFscmVhZHkgc2V0IHRoZW0gYW5kIGdldCBhIG5ldwoJICBpY3ktbWV0YWludCBoZWFkZXIuCgkgIFRyeSBoYXJkZXIgdG8gc2V0IHRoZSBpY3kgY2FwcyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciB0byBoYXZlIGNvcnJlY3QKCSAgY2FwcyBmb3IgdGhlIGZpcnN0IGJ1ZmZlciBhbHJlYWR5LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgQ2hlY2sgdGhhdCB3ZSBnZXQgYSBidWZmZXIgd2l0aCBhcHBsaWNhdGlvbi94LWljeSBjYXBzIGlmIGlyYWRpby1tb2RlCgkgIGlzIGVuYWJsZWQgYW5kIHdlIGhhdmUgYW4gaWNlY2FzdCBVUkwuCgoyMDA4LTAzLTIyIDE4OjE4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgRml4ZXMgYnVnICM1MjM4NTQuCgoyMDA4LTAzLTIyIDE1OjAwOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZSBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKGdzdF9hbHNhX21peGVyX2VsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKGdzdF9hbHNhc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChnc3RfYWxzYXNyY19jbGFzc19pbml0KToKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgIChnc3RfY2RfcGFyYW5vaWFfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6IChnc3RfZ25vbWVfdmZzX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6IChnc3RfZ25vbWVfdmZzX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6IChnc3RfdGV4dF9yZW5kZXJfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6IChnc3RfdGhlb3JhX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYXBhcnNlLmM6IChnc3RfdGhlb3JhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc3JjLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL21peGVydHJhY2suYzoKCSAgKGdzdF9taXhlcl90cmFja19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VydHBwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOiAoZ3N0X2F1ZGlvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKGdzdF9hdWRpb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzogKGdzdF9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAoZ3N0X3BsYXlfYmFzZV9iaW5fY2xhc3NfaW5pdCksCgkgIChwcmVyb2xsX3VubGlua2VkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAoZ3N0X3BsYXlfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5c2luay5jOiAoZ3N0X3BsYXlfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cXVldWUyLmM6IChnc3RfcXVldWVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzogKGdzdF91cmlfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzogKGdzdF92aWRlb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOiAoZ3N0X3Y0bGVsZW1lbnRfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzogKGdzdF92NGxtanBlZ3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOiAoZ3N0X3Y0bG1qcGVnc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jbGFzc19pbml0KToKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2UKCSAgc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1c2FnZSwKCSAgZmV3ZXIgYWxsb2NhdGlvbnMgYW5kIHRodXMgbGVzcyBtZW1vcnkgZGVmcmFnbWVudGF0aW9uLiBEZXBlbmQKCSAgb24gY29yZSBDVlMgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTIzODA2LgoKMjAwOC0wMy0yMSAxNDo1MDo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8geyB9IHdoaWxlICgwKSBtYWNyb3MuIFRoaXMgZml4ZXMgYSB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggZysrIDQuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHsgfSB3aGlsZSAoMCkgbWFjcm9zLiBUaGlzIGZpeGVzCgkgIGEgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGcrKyA0LjMsIHJlc3VsdGluZyBpbiBhIGJ1aWxkIGZhaWx1cmUKCSAgYmVjYXVzZSBvZiAtV2Vycm9yLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBJbmNsdWRlIDxzdHJpbmcuaD4gZm9yIG1lbWNweSBhbmQgZnJpZW5kcyB0byBmaXggdGhlIGJ1aWxkIHdpdGgKCSAgZ2NjIDQuMy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHRyYWlsaW5nIGJhY2tzbGFzaC4KCjIwMDgtMDMtMjAgMTg6MTA6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBEbyBnX29iamVjdF9ub3RpZnkoKSBvbmx5IHdoZW4gbm90IGhvbGRpbmcgdGhlIGxvY2sgdG8gZ2V0IHRoZSBwcm9wZXJ0eSBiZWNhdXNlIG90aGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgRG8gZ19vYmplY3Rfbm90aWZ5KCkgb25seSB3aGVuIG5vdCBob2xkaW5nIHRoZSBsb2NrIHRvIGdldCB0aGUgcHJvcGVydHkKCSAgYmVjYXVzZSBvdGhlcndpc2Ugd2UgcnVuIGludG8gYSBkZWFkbG9jayB3aXRoIHRoZSBkZWVwLW5vdGlmeSBoYW5kbGVycwoJICB0aGF0IGFyZSBwb3NzaWJseSBpbnN0YWxsZWQuCgoyMDA4LTAzLTIwIDE3OjQ4OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmVsZWFzZSB0aGUgc2VsZWN0b3IgbG9jayB3aGVuIHBhZCBhbGxvYyBoYXBwZW5zIG9uIGEgbm9uIHNlbGVjdGVkIHBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpOgoJICBSZWxlYXNlIHRoZSBzZWxlY3RvciBsb2NrIHdoZW4gcGFkIGFsbG9jIGhhcHBlbnMgb24gYSBub24gc2VsZWN0ZWQgcGFkLgoKMjAwOC0wMy0yMCAxNzowNzowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEFkZCBwYWQgcHJvcGVydHkgdG8gY29uZmlndXJlIGJlaGF2aW91ciBvZiB0aGUgdW5zZWxlY3RlZCBwYWQsIGl0IGNhbiByZXR1cm4gT0sgb3IgTi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfaW5pdCksIChnc3Rfc2VsZWN0b3JfcGFkX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSksIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpOgoJICBBZGQgcGFkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBiZWhhdmlvdXIgb2YgdGhlIHVuc2VsZWN0ZWQgcGFkLCBpdCBjYW4KCSAgcmV0dXJuIE9LIG9yIE5PVF9MSU5LRUQsIGJhc2VkIG9uIHRoZSB1c2UgY2FzZS4KCjIwMDgtMDMtMjAgMTY6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBGaWd1cmUgb3V0IHRoZSBsb2NraW5nIGEgYml0IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9ydW5uaW5nX3RpbWUpLCAoZ3N0X3NlbGVjdG9yX3BhZF9yZXNldCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3dhaXQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksIChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZGlzcG9zZSksIChnc3Rfc2VnbWVudF9zZXRfc3RhcnQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X2xpbmtlZF9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2lzX2FjdGl2ZV9zaW5rcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9hY3RpdmF0ZV9zaW5rcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2Jsb2NrKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIEZpZ3VyZSBvdXQgdGhlIGxvY2tpbmcgYSBiaXQgbW9yZS4KCSAgTWFyayBidWZmZXJzIHdpdGggZGlzY29udCBhZnRlciBzd2l0Y2hpbmcuCgkgIEZpeCBpbml0aWFsIHNlZ21lbnQgZm9yd2FyZGluZywgbWFrZSBzdXJlIHRvIG9ubHkgZm9yd2FyZCBvbmUgc2VnbWVudAoJICByZWdhcmRsZXNzIG9mIHdoYXQgdGhlIHNlcXVlbmNlIG9mIGJ1ZmZlcnMvc2VnbWVudHMgaXMuIFNlZSAjNTIyMjAzLgoJICBJbXByb3ZlIGZsdXNoaW5nIHdoZW4gYmxvY2tlZC4KCSAgUmV0dXJuIE5PVF9MSU5LRUQgd2hlbiBhIHN0cmVhbSBpcyBub3Qgc2VsZWN0ZWQuCgkgIE5vdCBBUEkgY2hhbmdlIGZvciB0aGUgc3dpdGNoIHNpZ25hbCBpbiB0aGUgZG9jcy4KCSAgRml4IHN0YXJ0L3RpbWUvYWNjdW0gdmFsdWVzIG9mIHRoZSBuZXcgc2VnbWVudC4KCSAgQ29ycmVjdGx5IHVubG9jayBhbmQgZmx1c2ggYSBibG9ja2luZyBzZWxlY3RvciB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwOC0wMy0yMCAxNTo1NDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS86IEFkZCBzb21lIHRob3VnaHRzIGFuZCBGSVhNRSdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFkZCBzb21lIHRob3VnaHRzIGFuZCBGSVhNRSdzLgoKMjAwOC0wMy0yMCAxNTo0OToyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzLgoKMjAwOC0wMy0xOSAxOTo1Njo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2ZyZWV6ZS86IEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZyZWV6ZS9GQVE6CgkgICogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIEZBUS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYi4KCjIwMDgtMDMtMTkgMTg6NDQ6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9vZmEvZ3N0b2ZhLmM6IEltcHJvdmUgZGVidWdnaW5nLCBjbGVhbiB1cCBhIGJpdCBhbmQgcmVhbGx5IGdlbmVyYXRlIHRoZSBmaW5nZXJwcmludCBhZnRlciAxMzUgc2Vjb25kcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29mYS9nc3RvZmEuYzogKGNyZWF0ZV9maW5nZXJwcmludCksIChnc3Rfb2ZhX2V2ZW50KSwKCSAgKGdzdF9vZmFfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcsIGNsZWFuIHVwIGEgYml0IGFuZCByZWFsbHkgZ2VuZXJhdGUgdGhlIGZpbmdlcnByaW50CgkgIGFmdGVyIDEzNSBzZWNvbmRzLgoKMjAwOC0wMy0xOSAxODoxOToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L29mYS9nc3RvZmEuYzogVXNlIEdQTCBhcyBsaWNlbnNlLCB0aGUgcGx1Z2luIGl0c2VsZiBpcyBMR1BMIGJ1dCBsaWJvZmEgaXMgR1BMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBVc2UgR1BMIGFzIGxpY2Vuc2UsIHRoZSBwbHVnaW4gaXRzZWxmIGlzIExHUEwgYnV0IGxpYm9mYSBpcyBHUEwuCgoyMDA4LTAzLTE5IDE4OjE0OjE3ICswMDAwICBFcmljIEJ1ZWhsIDxlcmljLmJ1ZWhsQGdtYWlsLmNvbT4KCgkgIEFkZCBhbiBPRkEgZWxlbWVudCwgdGhlIHN1Y2Nlc3NvciBvZiBNdXNpY0JyYWlueiBUUk0gZmluZ2VycHJpbnRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBFcmljIEJ1ZWhsIDxlcmljIGRvdCBidWVobCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6IChnc3Rfb2ZhX2Jhc2VfaW5pdCksIChnc3Rfb2ZhX2ZpbmFsaXplKSwKCSAgKGdzdF9vZmFfY2xhc3NfaW5pdCksIChjcmVhdGVfZmluZ2VycHJpbnQpLCAoZ3N0X29mYV9ldmVudCksCgkgIChnc3Rfb2ZhX2luaXQpLCAoZ3N0X29mYV90cmFuc2Zvcm1faXApLCAoZ3N0X29mYV9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmg6CgkgIEFkZCBhbiBPRkEgZWxlbWVudCwgdGhlIHN1Y2Nlc3NvciBvZiBNdXNpY0JyYWlueiBUUk0gZmluZ2VycHJpbnRpbmcuCgkgIEZpeGVzIGJ1ZyAjMzUxMzA5LgoKMjAwOC0wMy0xOCAxMDoxMjo0MCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9jaGFpbik6IEZpeCBhIGJhZCBmb3JtYXQgYXJndW1lbnQsIGFuZCBhIHBvdGVudGlhbCBpbnQgb3ZlcmZsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAzLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfY2hhaW4pOiBGaXggYSBiYWQgZm9ybWF0IGFyZ3VtZW50LAoJICBhbmQgYSBwb3RlbnRpYWwgaW50IG92ZXJmbG93LgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDogSW5jbHVkZSA8bmVhYWNkZWMuaD4gaWYgZmFhZCBpcyBuZWFhYy4KCSAgQXZvaWRzIGEgI3dhcm5pbmcgYWJvdXQgYW4gaWdub3JlZCAjcHJhZ21hLgoKMjAwOC0wMy0xNyAxNTo1MTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiBVcGRhdGUgc3dpdGNoIGV4YW1wbGUgdG8gdXNlIGlucHV0IHNlbGVjdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgVXBkYXRlIHN3aXRjaCBleGFtcGxlIHRvIHVzZSBpbnB1dCBzZWxlY3Rvci4KCjIwMDgtMDMtMTcgMDk6MDI6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEhhbmRsZSBIVFRQIHN0YXR1cyBjb2RlIDMwMyAoU2VlIE90aGVyKSB0aGUgc2FtZSB3YXkgYXMgMzAyIChGb3VuZCkuIE5vdCBzdXJlIHdoYXQgdG8gZG8gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIEhhbmRsZSBIVFRQIHN0YXR1cyBjb2RlIDMwMyAoU2VlIE90aGVyKSB0aGUgc2FtZSB3YXkKCSAgYXMgMzAyIChGb3VuZCkuIE5vdCBzdXJlIHdoYXQgdG8gZG8gYWJvdXQgYWxsIHRoZSBvdGhlciAzeHgKCSAgcmVkaXJlY3Qgc3RhdHVzIGNvZGVzLiBGaXhlcyBidWcgIzUyMjg4NC4KCjIwMDgtMDMtMTQgMjE6NDg6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06IE1ha2Ugc3VyZSB0aGUgZHNob3cgaGVscGVyIGxpYnJhcnkgaGVhZGVycyBnZXQgZGlzdHJpYnV0ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdGhlIGRzaG93IGhlbHBlciBsaWJyYXJ5IGhlYWRlcnMgZ2V0IGRpc3RyaWJ1dGVkIGluIHRoZSBuZXh0CgkgIHJlbGVhc2UuCgoyMDA4LTAzLTE0IDE3OjM4OjEwICswMDAwICBXaWxsaWFtIE0uIEJyYWNrIDx3YnJhY2tAbW1tLmhrPgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBTaWduaWZpY2FudCBpbXByb3ZlbWVudHMuICBGaXhlcyAjNTIxMzkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdpbGxpYW0gTS4gQnJhY2sKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IFNpZ25pZmljYW50IGltcHJvdmVtZW50cy4gIEZpeGVzICM1MjEzOTIuCgoyMDA4LTAzLTE0IDE3OjIyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogQWRkIGxvdHMgb2YgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKToKCSAgQWRkIGxvdHMgb2YgZGVidWdnaW5nLgoJICBGaXggdGltZSBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTAzLTEzIDE2OjQ2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogVmFyaW91cyBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2ZpbmFsaXplKSwgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgQWRkZWQgdGFncyB0byB0aGUgcGFkcy4KCSAgU2VsZWN0IGFjdGl2ZSBwYWQgYmFzZWQgb24gdGhlIHBhZCBvYmplY3QgaW5zdGVhZCBvZiBpdHMgbmFtZS4KCSAgRml4IHJlZmNvdW50IGluIHNldF9hY3RpdmVfcGFkLgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHRoZSBudW1iZXIgb2YgcGFkcy4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIFNlbGVjdCB0aGUgYWN0aXZlIHBhZCBiYXNlZCBvbiB0aGUgcGFkIG9iamVjdCBpbnN0ZWFkIG9mIGl0cyBuYW1lLgoJICBGaXggbG9ja2luZyB3aGVuIHNldHRpbmcgdGhlIGFjdGl2ZSBwYWQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOiAoY2xlYW51cF9wYWQpLAoJICAoc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLCAocnVuX2lucHV0X3NlbGVjdG9yX2J1ZmZlcl9jb3VudCk6CgkgIEZpeGVzIGZvciBwYWQgaW5zdGVhZCBvZiBwYWRuYW1lIGZvciBwYWQgc2VsZWN0aW9uLgoKMjAwOC0wMy0xMyAxNDoyNToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZCBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YS5jOgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkCgkgIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCjIwMDgtMDMtMTMgMDk6NDU6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19idWlsZF9tZXNzYWdlKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgoyMDA4LTAzLTEyIDE4OjQ0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBTZXQgY29ycmVjdCBwaXhlbCBhc3BlY3QgcmF0aW8gZm9yIHRoZSBlbmNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jaGFpbik6CgkgIFNldCBjb3JyZWN0IHBpeGVsIGFzcGVjdCByYXRpbyBmb3IgdGhlIGVuY29kZXIuCgoyMDA4LTAzLTExIDEyOjQwOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi4qOiBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGZpbmRfYWRkX2NvbmZsaWN0aW5nX2FkZHJlc3NlcyksCgkgIChjaGVja19jb2xsaXNpb24pLCAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfbmV3X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIEZpeGVzICM1MjA2MjYuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3Jlc2V0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZXRob2QgdG8gcmVzZXQgc3RhdHMuCgoyMDA4LTAzLTExIDExOjM2OjAzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQgYmUgYmxvY2tlZCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChqb2luX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpOgoJICBBdm9pZCBhIGRlYWRsb2NrIHdoZW4gam9pbmluZyB0aGUgUlRDUCB0aHJlYWQgaW4gUEFVU0VEIGJlY2F1c2UgaXQgbWlnaHQKCSAgYmUgYmxvY2tlZCBkb3duc3RyZWFtLiBBbHNvIGF2b2lkIHNwYXduaW5nIG11bHRpcGxlIHJ0Y3AgdGhyZWFkcy4KCSAgRml4ZXMgIzUyMDg5NC4KCjIwMDgtMDMtMTEgMTA6NDM6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBEb24ndCB0cnkgdG8gcmVzZXQgdGhlIGNsb2NrIHNrZXcgd2hlbiB3ZSBoYXZlIG5vIHRpbWVzdGFtcHMuCgkgIEZpeGVzICM1MTkwMDUuCgoyMDA4LTAzLTA4IDA0OjI3OjAzICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEltcHJvdmUgdGhlIGhlYWRlciBjaGVja2luZyB0byBsb29rIGZvciB3aGF0IGZhYWQyIGxvb2tzIGZvciB0b28uIEZpeGVzIHBsYXliYWNrIG9mIHNhbWUgYXBwbGUgdHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGxvb2tzX2xpa2VfdmFsaWRfaGVhZGVyKToKCSAgSW1wcm92ZSB0aGUgaGVhZGVyIGNoZWNraW5nIHRvIGxvb2sgZm9yIHdoYXQgZmFhZDIgbG9va3MKCSAgZm9yIHRvby4gRml4ZXMgcGxheWJhY2sgb2Ygc2FtZSBhcHBsZSB0cmFpbGVycy4KCSAgRml4ZXMgYnVnICM0Njk5NzkuCgoyMDA4LTAzLTA3IDEzOjI4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlYWxseSBjaGVjayBmb3IgbGliZGMxMzk0ID49IDIuMC4wLCBwa2ctY29uZmlnIHRoaW5rcyB0aGF0IDIuMC4wLXJjWCBpcyBuZXdlciB0aGFuIDIuMC4wIHNvIHdlIGNoZWNrIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWFsbHkgY2hlY2sgZm9yIGxpYmRjMTM5NCA+PSAyLjAuMCwgcGtnLWNvbmZpZyB0aGlua3MgdGhhdAoJICAyLjAuMC1yY1ggaXMgbmV3ZXIgdGhhbiAyLjAuMCBzbyB3ZSBjaGVjayBmb3IgdGhpcyB0b28uCgoyMDA4LTAzLTA2IDA3OjAzOjA5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogQWRkIGEgYnVuY2ggb2YgcHJvcGVydGllcyBjcmliYmVkIGZyb20gdGhlIGVuY29kZXIgcHJvZ3JhbSBpbiBkaXJhYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBBZGQgYSBidW5jaCBvZiBwcm9wZXJ0aWVzIGNyaWJiZWQKCSAgZnJvbSB0aGUgZW5jb2RlciBwcm9ncmFtIGluIGRpcmFjLgoKMjAwOC0wMy0wNiAwMzoxNjoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXdyaXRlIERpcmFjIGVuY29kZXIgcGx1Z2luIGJhc2VkIG9uIFNjaHJvZWRpbmdlciBnc3RyZWFtZXIgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhYy5jYzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIFJld3JpdGUgRGlyYWMgZW5jb2RlciBwbHVnaW4gYmFzZWQgb24gU2Nocm9lZGluZ2VyIGdzdHJlYW1lcgoJICBlbGVtZW50cy4KCjIwMDgtMDMtMDUgMDY6MDM6MDMgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBQb3J0IG1wbGV4IGVsZW1lbnQgdG8gMC4xMC4gRml4ZXMgYnVnICM1MjAzMjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmhoOgoJICBQb3J0IG1wbGV4IGVsZW1lbnQgdG8gMC4xMC4gRml4ZXMgYnVnICM1MjAzMjkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogKHRlc3Rfc2lua19ldmVudCksIChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfbXBsZXgpLCAoY2xlYW51cF9tcGxleCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChtcGxleF9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIG1wbGV4IGVsZW1lbnQuCgoyMDA4LTAzLTA1IDA1OjM4OjA2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgY29uZmlndXJlLmFjOiBDbGVhbiB1cCBkZXRlY3Rpb24gb2YgZGlmZmVyZW50IG1qcGVndG9vbHNBUEkgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBDbGVhbiB1cCBkZXRlY3Rpb24gb2YgZGlmZmVyZW50IG1qcGVndG9vbHNBUEkgdmVyc2lvbnMuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkgIFN0cmVhbWxpbmUgY29uZGl0aW9uYWwgY29kZSBmb3IgZXZvbHZpbmcgbWpwZWd0b29scyBBUEksCgkgIG9wdGltaXplIGFuZCBmaXgvcHJldmVudCBjcmFzaCBpbiBsb2cgaGFuZGxpbmcsIHVzZQoJICBuYW1lcy9uaWNrcyBmb3IgZW51bXMgaW4gdGhlIHVzdWFsIHdheSBhbmRtIGlub3IgdXBkYXRlcwoJICBpbiBjb2RlIGFuZCBwcm9wZXJ0aWVzL3NldHRpbmdzLiBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1MjAzMjkuCgoyMDA4LTAzLTA0IDE3OjQ5OjE1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkIHBhcnNpbmcgb2YgY2FibGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBwYXJzaW5nIG9mIGNhYmxlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yLgoKMjAwOC0wMy0wMyAxMjo0ODo1NiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2ggcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoCgkgIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0OTgyMjIpCgo9PT0gcmVsZWFzZSAwLjEwLjE5ID09PQoKMjAwOC0wMy0wMyAwNjowNDowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcnRyYWNrLmM6IChnc3RfYWxzYV9taXhlcl90cmFja19nZXRfdHlwZSk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5oOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vYXVkaW8uYzoKCSAgKiBnc3QtbGlicy9nc3QvZmZ0L2tpc3NfZmZ0X2Y2NC5jOiAoa2lzc19mZnRfZjY0X2FsbG9jKToKCSAgKiBnc3QtbGlicy9nc3QvcGJ1dGlscy9taXNzaW5nLXBsdWdpbnMuYzoKCSAgKGdzdF9taXNzaW5nX3VyaV9zaW5rX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VsZW1lbnRfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZGVjb2Rlcl9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbmNvZGVyX21lc3NhZ2VfbmV3KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RydGNwYnVmZmVyLmM6CgkgIChnc3RfcnRjcF9wYWNrZXRfYnllX2dldF9yZWFzb24pOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnQuYzoKCSAgKiBnc3QvcGxheWJhY2svdGVzdC5jOiAoZ2VuX3ZpZGVvX2VsZW1lbnQpLCAoZ2VuX2F1ZGlvX2VsZW1lbnQpOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfZ2V0X2FueV9jYXBzKToKCSAgKiBzeXMvdjRsL3Y0bF9jYWxscy5jOgoJICAqIHN5cy92NGwvdjRsc3JjX2NhbGxzLmM6IChnc3RfdjRsc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsc3JjX3RyeV9jYXB0dXJlKToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3hpbWFnZXNpbmtfeGltYWdlX25ldyk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoc2V0dXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWNvZGViaW4uYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzogKHNldHVwX2dub21ldmZzc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKHNldHVwX211bHRpZmRzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoc2V0dXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKHNldHVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChzZXR1cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL2Nsb2NrLXNlbGVjdGlvbi5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6IChzZXR1cCksICh0ZWFyZG93bik6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvdmlkZW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zZWVrLmM6IChxdWVyeV9wb3NpdGlvbnNfZWxlbXMpLAoJICAocXVlcnlfcG9zaXRpb25zX3BhZHMpOgoJICAqIHRlc3RzL2ljbGVzL3N0cmVzcy14b3ZlcmxheS5jOiAobXljbG9jayk6CgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZQoJICBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYywgdXNpbmcKCSAgTlVMTCBpbnN0ZWFkIG9mIDAgZm9yIHBvaW50ZXJzIGFuZCB1c2luZyAiZm9vICh2b2lkKSIgaW5zdGVhZAoJICBvZiAiZm9vICgpIiBmb3IgZGVjbGFyYXRpb25zLgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RydHAuZGVmOgoJICBBZGQgZ3N0X3J0cF9idWZmZXJfc2V0X2V4dGVuc2lvbl9kYXRhIHRvIHRoZSBzeW1ib2wgZGVmaW5pdGlvbiBmaWxlLgoKMjAwOC0wMy0wMyAwNDozOTo0OCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBGaXggYXVkaW8gZGlzY29udGludWl0eSB0aGF0IGhhcHBlbnMgd2hlbiBzaWxlbnQgY2h1bmtzIGFyZSBmb2xsb3dlZCBieSByZWFsIGRhdGEgYWdhaW4uIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2F1ZGlvX2RhdGEpLAoJICAoZ3N0X212ZV9kZW11eF9nZXRfdHlwZSk6CgkgIEZpeCBhdWRpbyBkaXNjb250aW51aXR5IHRoYXQgaGFwcGVucyB3aGVuIHNpbGVudCBjaHVua3MgYXJlCgkgIGZvbGxvd2VkIGJ5IHJlYWwgZGF0YSBhZ2Fpbi4gRml4ZXMgYnVnICM1MTk5MDUuCgoyMDA4LTAzLTAxIDEyOjQ5OjEzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IEFkZCBEVkItQyBzdXBwb3J0LiBTcGVjaWFsIHRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIgZm9yIGEgdGVzdGluZyBncm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIEFkZCBEVkItQyBzdXBwb3J0LiBTcGVjaWFsIHRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIKCSAgZm9yIGEgdGVzdGluZyBncm91bmQuCgoyMDA4LTAyLTI4IDEzOjIyOjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IE9ubHkgc2VuZCBQTVRzIHRvIHByb2dyYW0gcGFkcyB0aGF0IHRoZSBQTVQgaXMgZm9yIGV2ZW4gaWYgb24gc2FtZSBwaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBPbmx5IHNlbmQgUE1UcyB0byBwcm9ncmFtIHBhZHMgdGhhdCB0aGUgUE1UIGlzIGZvciBldmVuIGlmCgkgIG9uIHNhbWUgcGlkLgoJICBBcyBhIGJ5LXByb2R1Y3QsIHdlIG5vdyBubyBsb25nZXIgaGFyZGNvZGUgYW55IHBzaSBwaWQgbnVtYmVycy4KCSAgQWxzbyByZW1vdmUgcGNyIHN0cmVhbSBmcm9tIG9sZCBwbXQgd2hlbiB3ZSBhcHBseSBhIG5ldyBwbXQuCgoyMDA4LTAyLTI4IDEwOjQxOjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncyBhbmQgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGF0aW1lIGFzIGxvY2FsIHRpbWUgKHRob3NlIGNoYW5nZXMgaGFzIGJlZW4gZG9uZSBpbiBwcmV2aW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzIGFuZCBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YXRpbWUgYXMgbG9jYWwgdGltZSAodGhvc2UgY2hhbmdlcyBoYXMgYmVlbiBkb25lIGluIHByZXZpb3VzIGNvbWl0IGJ1dCBoYWQgdG8gYmUgcmV2ZXJ0IGluIDIwMDgtMDItMTAgZHVlIHRvIGZyb3plbikKCjIwMDgtMDItMjcgMjM6Mjk6NDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IFJlbW92ZSB0aGUgR19WQUxVRV9IT0xEU19CT1hFRCBjaGVja3MuIFRoZXkgd2VyZSBvbmx5IGFkZGVkIHRvIGhlbHAgZGVidWcgdGhlIGRhdGEgY29ycnVwdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBSZW1vdmUgdGhlIEdfVkFMVUVfSE9MRFNfQk9YRUQgY2hlY2tzLiBUaGV5IHdlcmUKCSAgb25seSBhZGRlZCB0byBoZWxwIGRlYnVnIHRoZSBkYXRhIGNvcnJ1cHRpb24uCgoyMDA4LTAyLTI3IDE5OjQxOjEzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBEb24ndCBmcmVlIHRoZSBwcm9ncmFtIGRlc2NyaXB0b3JzLCB0aGlzIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZW0gaXMgc3RpbGxzIHRvcmVkIGFmdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIERvbid0IGZyZWUgdGhlIHByb2dyYW0gZGVzY3JpcHRvcnMsIHRoaXMgc3RydWN0dXJlCgkgIGNvbnRhaW5pbmcgdGhlbSBpcyBzdGlsbHMgdG9yZWQgYWZ0ZXIuCgkgIEZpeGVzIGRhdGEgY29ycnVwdGlvbi4KCjIwMDgtMDItMjcgMTI6MzQ6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IEV4dHJhIGNoZWNrcyB0byBwcmV2ZW50IGRhdGEgY29ycnVwdGlvbi9zZWdmYXVsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRXh0cmEgY2hlY2tzIHRvIHByZXZlbnQgZGF0YSBjb3JydXB0aW9uL3NlZ2ZhdWx0cy4KCjIwMDgtMDItMjYgMTU6MTM6NTQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA4LTAyLTI2IDEyOjA0OjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbmFzL25hc3NpbmsuYzogRml4IGJ1aWxkIHdhcm5pbmcgYnkgdXNpbmcgcG9ydGFibGUgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgRml4IGJ1aWxkIHdhcm5pbmcgYnkgdXNpbmcgcG9ydGFibGUgQVBJLgoKMjAwOC0wMi0yNiAxMjowMTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6IEZpeCBjaGFuZ2luZyB0byBzYW1lIHBhZCB0d2ljZSBiZWZvcmUgYSBjaGFpbiBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IGNoYW5naW5nIHRvIHNhbWUgcGFkIHR3aWNlIGJlZm9yZSBhIGNoYWluIGNhbGwuCgoyMDA4LTAyLTI2IDA1OjU0OjI2ICswMDAwICBEYW5pZWwgRmlzY2hlciA8ZGFuQGYzYy5jb20+CgoJICBBZGQgc3VwcG9ydCBmb3IgbGliZGMxMzk0IDIuMC4wIGFuZCBhYm92ZSBhbmQgcmVxdWlyZSB0aGlzIHZlcnNpb24gbm93LiBGaXhlcyBidWcgIzUxNDk2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgRmlzY2hlciA8ZGFuIGF0IGYzYyBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLCAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2Fwcyk6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYmRjMTM5NCAyLjAuMCBhbmQgYWJvdmUgYW5kIHJlcXVpcmUgdGhpcyB2ZXJzaW9uCgkgIG5vdy4gRml4ZXMgYnVnICM1MTQ5NjQuCgoyMDA4LTAyLTI2IDA1OjM2OjE3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAocnVuX3Rlc3QpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4KCSAgdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgoyMDA4LTAyLTI1IDA4OjUzOjUxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBBZGRlZCAic2VsZWN0LWFsbCIgcHJvcGVydHkgdG8gbWFrZSBpdCB3b3JrIGxpa2UgYWdncmVnYXRvciBpbiAwLjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgQWRkZWQgInNlbGVjdC1hbGwiIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yayBsaWtlIGFnZ3JlZ2F0b3IgaW4gMC44LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggcmVzZW5kLWxhdGVzdCBiZWhhdm9pdXIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igc2VsZWN0b3IuCgoyMDA4LTAyLTI1IDA2OjI5OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgbWlkaSB0eXBlZmluZGVycyBhbmQgcmVxdWlyZSBiYXNlIENWUyBhcyB0aGV5IG1vdmVkIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSBtaWRpIHR5cGVmaW5kZXJzIGFuZCByZXF1aXJlIGJhc2UgQ1ZTIGFzIHRoZXkgbW92ZWQgdGhlcmUuCgoyMDA4LTAyLTI0IDA5OjU3OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IE9ubHkgZGlzYWJsZSB0aGUgZXh0L3RpbWlkaXR5IGRpcmVjdG9yeSBpZiBib3RoLCB3aWxkbWlkaSBfYW5kXyB0aW1pZGl0eSBhcmUgbm90IGF2YWlsYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBPbmx5IGRpc2FibGUgdGhlIGV4dC90aW1pZGl0eSBkaXJlY3RvcnkgaWYgYm90aCwgd2lsZG1pZGkKCSAgX2FuZF8gdGltaWRpdHkgYXJlIG5vdCBhdmFpbGFibGUuCgoyMDA4LTAyLTI0IDA0OjI0OjIwICswMDAwICBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodUB1YnVudHUuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBCdWlsZCB0aGUgd2lsZG1pZGkgcGx1Z2luIGlmIGl0J3MgZW5hYmxlZCBhbmQgbm90IG9ubHkgd2hlbiBib3RoLCB0aGUgdGltaWRpdHkgYW5kIHdpbGRtaWRpIHBsdWdpbiwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHUgYXQgdWJ1bnR1IGRvdCBjb20+CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBCdWlsZCB0aGUgd2lsZG1pZGkgcGx1Z2luIGlmIGl0J3MgZW5hYmxlZCBhbmQgbm90IG9ubHkgd2hlbgoJICBib3RoLCB0aGUgdGltaWRpdHkgYW5kIHdpbGRtaWRpIHBsdWdpbiwgYXJlIGVuYWJsZWQuCgoyMDA4LTAyLTIzIDE1OjAxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIEdTVF9DWFhGTEFHUyBhbmQgdXNlIHRoZW0gd2hlbiBidWlsZGluZyBDKysgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgQ2hlY2sgZm9yIGFuZCBkZWZpbmUgRVJST1JfQ1hYRkxBR1MgYW5kIEdTVF9DWFhGTEFHUyBhbmQgdXNlIHRoZW0KCSAgd2hlbiBidWlsZGluZyBDKysgY29kZS4KCjIwMDgtMDItMjMgMTE6NTY6NDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdWx0aXByb3RvIGRyaXZlciAobm90IHlldCBtZXJnZWQgaW50byB2NGwtZHZiIG1haW5saW5lIHlldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11bHRpcHJvdG8gZHJpdmVyIChub3QgeWV0IG1lcmdlZCBpbnRvCgkgIHY0bC1kdmIgbWFpbmxpbmUgeWV0KS4KCSAgT25seSB3b3JrcyBmb3IgRFZCLVMgbm90IERWQi1TMiwgRFZCLVQsIERWQi1DIG9yIG90aGVyLgoKMjAwOC0wMi0yMiAxMDoxODoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogVXBkYXRlIHRvIHZlcnNpb24gMC4xMC42LjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFVwZGF0ZSB0byB2ZXJzaW9uIDAuMTAuNi4xLgoKMjAwOC0wMi0yMiAwOTo1Njo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBkb2NzIGZvciBlbGVtZW50cyB0aGF0IGhhdmUgbW92ZWQgdG8gb3RoZXIgbW9kdWxlcyBvciBiZWVuIHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlbW92ZSBkb2NzIGZvciBlbGVtZW50cyB0aGF0IGhhdmUgbW92ZWQgdG8gb3RoZXIgbW9kdWxlcwoJICBvciBiZWVuIHJlbmFtZWQuCgoyMDA4LTAyLTIyIDA3OjIwOjAzICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfZnJlZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgUHJlZml4IHByb3h5IFVSSXMgd2l0aCAiaHR0cDovLyIgaWYgdGhleSBkb24ndCBzdGFydCB3aXRoIGl0CgkgIGFscmVhZHkgYW5kIGNhdGNoIGVycm9ycyBlYXJsaWVyLCBmaXhlcyBoYW5naW5nIGluIHNvbWUgc2l0dWF0aW9ucy4KCSAgRml4ZXMgYnVnICM1MTQ5NDguCgoyMDA4LTAyLTIyIDA2OjQyOjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDogQWRkIHN1cHByZXNzaW9ucyBmb3IgU291bmRUb3VjaCB2YWxncmluZCB3YXJuaW5ncyBhbmQgYSB2YWxncmluZCB3YXJuaW5nIGNhdXNlZCBieSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBwcmVzc2lvbnMgZm9yIFNvdW5kVG91Y2ggdmFsZ3JpbmQgd2FybmluZ3MgYW5kCgkgIGEgdmFsZ3JpbmQgd2FybmluZyBjYXVzZWQgYnkgdGhlIExBRFNQQSBzaW5lIHBsdWdpbiBhbmQKCSAgaGFwcGVuaW5nIG9uIGV2ZXJ5IGV4aXQoKS4KCSAgUmVtb3ZlIEdJTyBzdXBwcmVzc2lvbnMgYXMgaXQncyBub3cgaW4gLWJhc2UuCgoyMDA4LTAyLTIyIDA2OjMzOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBEb24ndCBhbGxvY2F0ZSBhbmQgY29weSB0aGUgZGF0YSB0byBhIG5ldyBwbGFjZSBidXQgaW5zdGVhZCBwdXQgdGhlIGRhdGEgZnJvbSBnbXl0aCAod2hpY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2NyZWF0ZSk6CgkgIERvbid0IGFsbG9jYXRlIGFuZCBjb3B5IHRoZSBkYXRhIHRvIGEgbmV3IHBsYWNlIGJ1dCBpbnN0ZWFkCgkgIHB1dCB0aGUgZGF0YSBmcm9tIGdteXRoICh3aGljaCB3ZSBvd24pIGludG8gdGhlIGJ1ZmZlcnMgdGhhdAoJICBhcmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA4LTAyLTIyIDA2OjMxOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogSWYgV0lMRE1JRElfQ0ZHIGlzIG5vdCBkZWZpbmVkLCBkZWZpbmUgaXQgdG8gdGhlIGRlZmF1bHQgdGltaWRpdHkgY29uZmlndXJlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICBJZiBXSUxETUlESV9DRkcgaXMgbm90IGRlZmluZWQsIGRlZmluZSBpdCB0byB0aGUgZGVmYXVsdAoJICB0aW1pZGl0eSBjb25maWd1cmUgZmlsZS4KCjIwMDgtMDItMjIgMDY6MTI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBoYWNrIHRvIHdvcmsgd2l0aCBtanBlZ3Rvb2xzIDEuOS4wcmMzIGFuZCBhYm92ZSBhbmQgaW5zdGVhZCB1c2UgbWpwZWdfbG9nbGV2X3QoKSBmb3IgZ2V0dGluZyB0aGUgbG9nIGxldmVscy4gQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgSGFucyBkZSBHb2VkZSA8aiBkb3QgdyBkb3QgciBkb3QgZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIFJlbW92ZSBoYWNrIHRvIHdvcmsgd2l0aCBtanBlZ3Rvb2xzIDEuOS4wcmMzIGFuZCBhYm92ZSBhbmQgaW5zdGVhZAoJICB1c2UgbWpwZWdfbG9nbGV2X3QoKSBmb3IgZ2V0dGluZyB0aGUgbG9nIGxldmVscy4gQ2hlY2sgZm9yIHRoaXMKCSAgZnVuY3Rpb24gaW4gY29uZmlndXJlLmFjIGFzIHRoZSBwa2ctY29uZmlnIGZpbGUgZG9lc24ndCB0ZWxsIHVzCgkgIHdoaWNoIHJlbGVhc2UgY2FuZGlkYXRlIHdlIGhhdmUuIEZpeGVzIGJ1ZyAjNTE3ODk2LgoKMjAwOC0wMi0yMiAwNTo0ODozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBmb3IgdGhlIG5hcyBwbHVnaW4gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCBpdCBhZ2Fpbi4gRml4ZXMgYnVnICM1MTc4OTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggZm9yIHRoZSBuYXMgcGx1Z2luIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgaXQKCSAgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE3ODk1LgoKMjAwOC0wMi0yMiAwNTo0MjoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IElnbm9yZSBzb21lIG1vcmUgZWxlbWVudHMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LCBsaWtlIGRmYnZpZGVvc2luayB3aGljaCBwcm9kdWNlcyBhIHNlZ2ZhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgc29tZSBtb3JlIGVsZW1lbnRzIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCwgbGlrZQoJICBkZmJ2aWRlb3Npbmsgd2hpY2ggcHJvZHVjZXMgYSBzZWdmYXVsdC4gRml4ZXMgYnVnICM1MTc4NTQuCgoyMDA4LTAyLTIyIDA1OjMzOjU5ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBTb21lIEM4OSBmaXhlcywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTM3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJfcHJvcGVydHlfc2V0X3ZlcnNpb24pOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX2RlY29kZXJfbWVzc2FnZV9zZXRfZW5jb2RpbmdzKSwKCSAgKHJmYl9kZWNvZGVyX3N0YXRlX3NldF9lbmNvZGluZ3MpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9uaXQpLCAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfc2R0KSwKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2VpdCk6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19nZXRjYXBzKSwKCSAgKGdzdF9mYmRldnNpbmtfc2V0Y2FwcyksIChnc3RfZmJkZXZzaW5rX3JlbmRlcik6CgkgIFNvbWUgQzg5IGZpeGVzLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcKCSAgb2YgYSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzcuCgoyMDA4LTAyLTIxIDIzOjUwOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCj09PSByZWxlYXNlIDAuMTAuNiA9PT0KCjIwMDgtMDItMjEgMDA6MTM6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC42IC0gQSBCaWcgRGVlcCBCcmVhdGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC42IC0gQSBCaWcgRGVlcCBCcmVhdGgKCjIwMDgtMDItMjAgMjM6MzU6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTAyLTIwIDE2OjA0OjMyICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBVc2luZyB0aGUgd3JvbmcgR3N0Rm9ybWF0IGZvciB0aGUgZmlsZXNpemUsIGFuZCBmYWlsIHNlZWsgcHJvcGVybHkgb24gYW55dGhpbmcgYnV0IF9CWVRFUyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDItMjAgIEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzQGhhZGVzcy5uZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2RvX3NlZWspLAoJICAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOiBVc2luZyB0aGUgd3JvbmcgR3N0Rm9ybWF0IGZvciB0aGUgZmlsZXNpemUsCgkgIGFuZCBmYWlsIHNlZWsgcHJvcGVybHkgb24gYW55dGhpbmcgYnV0IF9CWVRFUyBmb3JtYXQKCSAgRml4ZXMgYnVnICM1MTc2ODQKCjIwMDgtMDItMjAgMDk6MzM6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRml4IHNtYWxsIG1lbW9yeSBsZWFrLCBsZWFraW5nIGNhcHMuIEZpeGVzICNidWcgNTE3NTcxLgoKMjAwOC0wMi0xOSAxMTo1MDo0NSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGNoYW5nZSBnbXl0aC0xLjAgdG8gZ215dGgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNoYW5nZSBnbXl0aC0xLjAgdG8gZ215dGgKCjIwMDgtMDItMTkgMTA6NTE6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC90dGEvTWFrZWZpbGUuYW06IExpbmsgdHRhIHBsdWdpbiB3aXRoIGxpYm0uIEZpeGVzIGJ1ZyAjNTE3MzkxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdHRhL01ha2VmaWxlLmFtOgoJICBMaW5rIHR0YSBwbHVnaW4gd2l0aCBsaWJtLiBGaXhlcyBidWcgIzUxNzM5MS4KCjIwMDgtMDItMTQgMTc6MDk6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IERvIG5vdCBhc3N1bWUgImRlc2NyaXB0b3JzIiBwcm9wZXJ0eSBpbiB0aGUgcG10IHN0cnVjdHVyZSBpcyBwcmVzZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIERvIG5vdCBhc3N1bWUgImRlc2NyaXB0b3JzIiBwcm9wZXJ0eSBpbiB0aGUgcG10IHN0cnVjdHVyZQoJICBpcyBwcmVzZW50LgoJICBGaXhlcyAjNTE2NDk5LgoKMjAwOC0wMi0xNCAxNjoyNTo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZyBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSk6CgkgIElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nCgkgIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCjIwMDgtMDItMTQgMTQ6MzM6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IFNldCBuX2xpbmVfY3RybF9pIHRvIDAgd2hlbmV2ZXIgd2UgZnJlZSBsaW5lX2N0cmxfaS4gUGF0Y2ggYmFzZWQgb24gYW4gaWRlYSBieSBKYW4gU2NobWlkdCwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZ3N0X2R2ZF9zcHVfaGFuZGxlX25ld19zcHVfYnVmKToKCSAgU2V0IG5fbGluZV9jdHJsX2kgdG8gMCB3aGVuZXZlciB3ZSBmcmVlIGxpbmVfY3RybF9pLiBQYXRjaCBiYXNlZAoJICBvbiBhbiBpZGVhIGJ5IEphbiBTY2htaWR0LCBmaXhlcyBidWcgIzUxNjQzNi4KCjIwMDgtMDItMTQgMTQ6MjI6NTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBNYWtlIHN1cmUgdGhlIGdzdG1wZWdkZXNjIGRlYnVnIGxpbmVzIGRvIG5vdCBjcml0aWNhbCB3aGVuIEdTVF9ERUJVRyBpcyBlbmFibGVkIGFuZCBhbHNvIGFjdHVhbGx5IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1ha2Ugc3VyZSB0aGUgZ3N0bXBlZ2Rlc2MgZGVidWcgbGluZXMgZG8gbm90IGNyaXRpY2FsCgkgIHdoZW4gR1NUX0RFQlVHIGlzIGVuYWJsZWQgYW5kIGFsc28gYWN0dWFsbHkgb3V0cHV0LgoJICBUaGFua3MgdG8gQWxlc3NhbmRybyBEZWNpbmEgZm9yIHNwb3R0aW5nLgoJICBGaXhlcyAjNTE2NDQ4CgoyMDA4LTAyLTEzIDIzOjUyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEFsc28gYWRkIGRzaG93IHBpZWNlcyB0byB0aGUgZGlzdGVkIHN1YmRpcnMgdG8gZml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWxzbyBhZGQgZHNob3cgcGllY2VzIHRvIHRoZSBkaXN0ZWQgc3ViZGlycyB0byBmaXggZGlzdGNoZWNrLgoKMjAwOC0wMi0xMyAxNDo0MDozMyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBSZS1GaXhlcyAjNTE2MDYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gUmUtRml4ZXMgIzUxNjA2MS4KCjIwMDgtMDItMTMgMTE6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQWxsb3cgZ215dGggdmVyc2lvbnMgZnJvbSAwLjQgdXAgdG8gMC43Ljk5LCB0aGUgQVBJIGRpZG4ndCBjaGFuZ2UgdW50aWwgMC43IGZvcnR1bmF0ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFsbG93IGdteXRoIHZlcnNpb25zIGZyb20gMC40IHVwIHRvIDAuNy45OSwgdGhlIEFQSSBkaWRuJ3QgY2hhbmdlCgkgIHVudGlsIDAuNyBmb3J0dW5hdGVseS4KCjIwMDgtMDItMTIgMjM6MTY6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBHZW5lcmF0ZSB0aGUgZGlyZWN0c2hvdyBNYWtlZmlsZXMgc28gdGhhdCB0aGUgZGlyZWN0b3JpZXMgZ2V0IGRpc3RlZC4gU3RpbGwgbmVlZHMgc29tZSBjb25maWd1cmUgdGltZSBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgR2VuZXJhdGUgdGhlIGRpcmVjdHNob3cgTWFrZWZpbGVzIHNvIHRoYXQgdGhlIGRpcmVjdG9yaWVzCgkgIGdldCBkaXN0ZWQuIFN0aWxsIG5lZWRzIHNvbWUgY29uZmlndXJlIHRpbWUgZGV0ZWN0aW9uIHRvIGVuYWJsZQoJICBidWlsZGluZyB0aGVtIHVuZGVyIE1pbmdXLgoKMjAwOC0wMi0xMiAyMzoxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06IERvbid0IGluc3RhbGwgYSBoZWFkZXIgZmlsZS4gV2Ugd2lsbCBoYXZlIHRvIG1lcmdlIHRoZXNlIHRhZ3MgaW50byBsaWJnc3R0YWcgYWZ0ZXIgdGhlIHJlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIGEgaGVhZGVyIGZpbGUuIFdlIHdpbGwgaGF2ZSB0byBtZXJnZSB0aGVzZQoJICB0YWdzIGludG8gbGliZ3N0dGFnIGFmdGVyIHRoZSByZWxlYXNlIGFuZCB1c2UgdGhlbSBmcm9tIHRoZXJlLgoJICBGaXhlczogIzUxNTg2MAoKMjAwOC0wMi0xMiAyMjoxMDozOSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgQWRkIE1ha2VmaWxlcyB0byB3aW4zMiBwbHVnaW5zIGFuZCBsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIEFkZCBNYWtlZmlsZXMgdG8gd2luMzIgcGx1Z2lucyBhbmQgbGliLgoJICBUaGV5IHdpbGwgbmVlZCB0byBiZSB0ZXN0ZWQgYW5kIHByb2JhYmx5IGZpeGVkIGJ5IGRldmVsb3BlcnMKCSAgd29ya2luZyB3aXRoIG1pbmd3LiBUaGlzIGlzIGEgZmlyc3Qgc3RlcCB0byBpbmNsdWRlIHNvdXJjZSBmaWxlcwoJICB3aXRoIHJlbGVhc2VzLgoKMjAwOC0wMi0xMiAyMTozMTo1NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggbGVhayBvZiBsb2NhdGlvbiBzdHJpbmcgcmV0dXJuZWQgZnJvbSBnc3RfdXJpX2dldF9sb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEZpeCBsZWFrIG9mIGxvY2F0aW9uIHN0cmluZyByZXR1cm5lZCBmcm9tIGdzdF91cmlfZ2V0X2xvY2F0aW9uLgoJICBGaXhlcyBidWcgIzUxNjExNAoKMjAwOC0wMi0xMiAyMTowMToxNyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZW1vdmUgZ2xpbWFnZXNpbmssIGFzIGl0J3MgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvQlVHUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVtb3ZlIGdsaW1hZ2VzaW5rLCBhcyBpdCdzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ2wuCgkgIEZpeGVzICM1MTYwOTQuCgoyMDA4LTAyLTEyIDE4OjI5OjI5ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIEZpeGVzICM1MTYwNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBGaXhlcyAjNTE2MDYxLgoKMjAwOC0wMi0xMiAxMTowODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IENoYWluIHVwIGRpc3Bvc2UgbWV0aG9kcyBwcm9wZXJseS4gRml4ZXMgYnVnICM1MTU5NzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAoZ3N0X2RzaG93YXVkaW9kZWNfZGlzcG9zZSk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19kaXNwb3NlKToKCSAgQ2hhaW4gdXAgZGlzcG9zZSBtZXRob2RzIHByb3Blcmx5LiBGaXhlcyBidWcgIzUxNTk3MC4KCjIwMDgtMDItMTIgMTE6MDI6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgNTE1OTE5IGZpeGVkIGluIG15IHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIDUxNTkxOSBmaXhlZCBpbiBteSBwcmV2aW91cyBjb21taXQKCjIwMDgtMDItMTIgMTA6NTc6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogRml4IGxlYWtpbmcgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBsZWFraW5nIGNhcHMuCgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gZm9yd2FyZCBtb2RlLgoJICBDbGVhbnVwIHF1ZXVlcyB3aGVuIGdvaW5nIHRvIFJFQURZLiBGaXhlcyAjNTE1ODE1LgoKMjAwOC0wMi0xMiAxMDoyNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBHSU8gcGx1Z2luIGFzIGl0IHdhcyBtb3ZlZCB0byBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWcgIzUxNTk2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdJTyBwbHVnaW4gYXMgaXQgd2FzIG1vdmVkIHRvCgkgIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1ZyAjNTE1OTY0LgoKMjAwOC0wMi0xMiAxMDoyMjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggc29tZSBmaW5hbGl6ZSBsZWFrcyBieSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgRml4IHNvbWUgZmluYWxpemUgbGVha3MgYnkgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBtZXRob2QuCgoyMDA4LTAyLTEyIDA1OjIxOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgoyMDA4LTAyLTEyIDA1OjE5OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBGcmVlIHRoZSByZmIgZGVjb2RlciBvbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZiX3NyY19kaXNwb3NlKToKCSAgRnJlZSB0aGUgcmZiIGRlY29kZXIgb24gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIxLgoKMjAwOC0wMi0xMSAxMzozNDo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiBGcmVlIHRoZSBkZXZpY2Ugc3RyaW5nIGluIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9mYmRldnNpbmtfZmluYWxpemUpOgoJICBGcmVlIHRoZSBkZXZpY2Ugc3RyaW5nIGluIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMi4KCjIwMDgtMDItMTEgMTM6MzM6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogVW5zZXQgR1ZhbHVlcyBhZnRlciB1c2luZyB0aGVtLiBGaXhlcyBidWcgIzUxNTcyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfaW5pdCk6CgkgIFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgdXNpbmcgdGhlbS4gRml4ZXMgYnVnICM1MTU3MjAuCgoyMDA4LTAyLTExIDA1OjExOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB0aGUgZHZiIHBsdWdpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0LiBGaXhlcyBidWcgIzUxNTU2Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIGR2YiBwbHVnaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdC4gRml4ZXMgYnVnICM1MTU1NjcuCgoyMDA4LTAyLTEwIDIxOjAzOjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBSZXZlcnQgY2hhbmdlcyB0byAyMDA4LTAyLTA5IGR1ZSB0byBmcm96ZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZlcnQgY2hhbmdlcyB0byAyMDA4LTAyLTA5IGR1ZSB0byBmcm96ZW4uCgoyMDA4LTAyLTEwIDE5OjQ0OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgRml4IEpvc2VwJ3Mgc3VybmFtZSBpbiB0aGUgcHJldmlvdXMgZmV3IGNvbW1pdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBKb3NlcCdzIHN1cm5hbWUgaW4gdGhlIHByZXZpb3VzIGZldyBjb21taXRzCgoyMDA4LTAyLTEwIDE5OjAxOjQzICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiBUcml2aWFsIGZpeCBmb3IgYnVpbGQgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBUcml2aWFsIGZpeCBmb3IgYnVpbGQgd2FybmluZy4KCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgIEZpeGVzOiAjNTE1NTg4CgoyMDA4LTAyLTEwIDE4OjM2OjQ2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhVGltZSBhcyBsb2NhbCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGFUaW1lIGFzIGxvY2FsIHRpbWUuCgoyMDA4LTAyLTEwIDA0OjM2OjEyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzLgoKMjAwOC0wMi0wOSAwMzozNzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06IExpc3RpbmcgdGhlIG1hcnNoYWwuaCBpbiB0aGUgbm9kaXN0X0hFQURFUlMgYnJlYWtzIGRpc3RjaGVjaywgc28gbGV0J3Mgbm90IGRvIHRoYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBMaXN0aW5nIHRoZSBtYXJzaGFsLmggaW4gdGhlIG5vZGlzdF9IRUFERVJTIGJyZWFrcyBkaXN0Y2hlY2ssIHNvCgkgIGxldCdzIG5vdCBkbyB0aGF0CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdGhlIGNyYXNoaW5nIGNkYXVkaW8gcGx1Z2luIGZyb20gdGhlIHN0YXRlcyB0ZXN0IHNvIEkgY2FuIG1ha2UKCSAgcHJlLXJlbGVhc2VzLgoKMjAwOC0wMi0wOSAwMjozMzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBDb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFuZCBzZXQgLWtiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvd2RlY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHYuZHNwOgoJICBDb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFuZCBzZXQgLWtiCgoyMDA4LTAyLTA4IDE4OjIyOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IEFkZCBVUkkgSGFuZGxlciBmb3IgZHZiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBBZGQgVVJJIEhhbmRsZXIgZm9yIGR2Yi4KCSAgUmUtb3JkZXIgcGFkIHRlbXBsYXRlcyB0byB3b3JrYXJvdW5kIGEgYnVnIGluIHBsYXliYXNlYmluLgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBBZGQgY29kZSB0byBwYXJzZSBjaGFubmVscyBmcm9tIHphcC1zdHlsZSBjaGFubmVscy5jb25mIGZpbGVzLgoKMjAwOC0wMi0wOCAwNDoyMjowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgbXVsdGlmaWxlIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgUmVtb3ZlIG11bHRpZmlsZSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMzo0NDoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlLzogVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgVXNlIGdfZmlsZV9bc2ddZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIHVzaW5nIHN0ZGlvIGZ1bmN0aW9ucy4KCSAgU2hvdWxkIGJlIGxlc3MgZXJyb3IgcHJvbmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIENyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdXNpbmcgc3RhbmRhcmQgZnVuY3Rpb25zIGluc3RlYWQgb2YKCSAgY3JlYXRpbmcgYSBkaXJlY3RvcnkgaW4gdGhlIGN1cnJlbnQgZGlyLgoKMjAwOC0wMi0wOCAwMzoyNzoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgc3BlY3RydW0gcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vUkVBRE1FOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9zcGVjdHJ1bS52Y3Byb2o6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzoKCSAgUmVtb3ZlIHNwZWN0cnVtIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAyOjQ4OjU0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9PUFRJT05fQ0ZMQUdTLCB0byBnZXQgLVdlcnJvciAtV2FsbCBpbnRvIHRoZSB0ZXN0cyBhcyBmb3IKCSAgb3RoZXIgbW9kdWxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBmcm9tIC1XYWxsIC1XZXJyb3IKCjIwMDgtMDItMDggMDI6MDA6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzoKCSAgUmVtb3ZlIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDE6MTI6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBNYWtlIERJU0FCTEVfREVQUkVDQVRFRCBkZWZpbmVkICpvbmx5KiBkdXJpbmcgQ1ZTLCBub3QgZHVyaW5nIHByZS1yZWxlYXNlcyBvciByZWxlYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBNYWtlIERJU0FCTEVfREVQUkVDQVRFRCBkZWZpbmVkICpvbmx5KiBkdXJpbmcgQ1ZTLCBub3QgZHVyaW5nCgkgIHByZS1yZWxlYXNlcyBvciByZWxlYXNlcy4KCjIwMDgtMDItMDggMDA6NDg6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBEb24ndCBzY2FuIGRlbGV0ZWQgeGluZ211eCBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgRG9uJ3Qgc2NhbiBkZWxldGVkIHhpbmdtdXggaGVhZGVyLgoKMjAwOC0wMi0wOCAwMDo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIHhpbmdtdXggcGx1Z2luLCBhcyB0aGUgZWxlbWVudCBoYXMgbW92ZWQgaW50byBtcGVnYXVkaW9wYXJzZSBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4X3Rlc3RkYXRhLmg6CgkgIFJlbW92ZSB0aGUgeGluZ211eCBwbHVnaW4sIGFzIHRoZSBlbGVtZW50IGhhcyBtb3ZlZCBpbnRvCgkgIG1wZWdhdWRpb3BhcnNlIGluIC11Z2x5LgoKMjAwOC0wMi0wNyAyMzozNzozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFJlbW92ZSBtZW50aW9uIG9mIG5vbi1leGlzdGVudCBoZWFkZXJzIHRvIGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG1lbnRpb24gb2Ygbm9uLWV4aXN0ZW50IGhlYWRlcnMgdG8gZml4IHRoZSBidWlsZC4KCjIwMDgtMDItMDcgMjM6MzA6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIEdJTyBwbHVnaW4gd2hpY2ggaGFzIG5vdyBtb3ZlZCB0byAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICBSZW1vdmUgR0lPIHBsdWdpbiB3aGljaCBoYXMgbm93IG1vdmVkIHRvIC1iYXNlLgoKMjAwOC0wMi0wNyAyMTo1MzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyAtIHRoZXkndmUgYmVjb21lIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQgcmVzcGVjdGl2ZWx5LCBpbiB0aGUgZ3N0LXBsdWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9maWx0ZXIudmNwcm9qOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOgoJICBSZW1vdmUgbHB3c2luYyBhbmQgYnB3c2luYyBlbGVtZW50cyAtIHRoZXkndmUgYmVjb21lCgkgIGF1ZGlvd3NpbmNsaW1pdCBhbmQgYXVkaW93c2luY2JhbmQgcmVzcGVjdGl2ZWx5LCBpbiB0aGUKCSAgZ3N0LXBsdWdpbnMtZ29vZCBhdWRpb2Z4IHBsdWdpbi4KCjIwMDgtMDItMDcgMjE6MDI6MTkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dFxuZW9uXGdzdG5lb25odHRwc3JjLmM6IEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBfSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dFxuZW9uXGdzdG5lb25odHRwc3JjLmM6CgkgIEluY2x1ZGUgdW5pc3RkLmggb25seSBpZiBfSEFWRV9VTklTVERfSCBpcyBkZWZpbmVkCgkgICogZ3N0XG1wZWd2aWRlb3BhcnNlXG1wZWd2aWRlb3BhcnNlLmM6CgkgIFVzZSBHX0dVSU5UNjRfQ09OU1RBTlQgR0xJQiBtYWNybyBmb3IgY29uc3RhbnQKCSAgKiBzeXNcZHNob3dzcmN3cmFwcGVyXGdzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXNcZHNob3dzcmN3cmFwcGVyXGdzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93ZGVjd3JhcHBlci5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvZGVjLmMKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93dmlkZW9kZWMuaDoKCSAgQWRkIGEgRGlyZWN0U2hvdyBkZWNvZGVyIHdyYXBwZXIuCgkgICogd2luMzJcTUFOSUZFU1Q6CgkgIEFkZCBuZXcgd2luMzIgZmlsZXMgdG8gTUFOSUZFU1QKCSAgKiB3aW4zMlx2czZcZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMlx2czZcbGliZ3N0ZHNob3cuZHNwOgoJICAqIHdpbjMyXHZzNlxsaWJnc3Rkc2hvd2RlY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyXHZzNlxsaWJnc3RmbHYuZHNwOgoJICBBZGQgbmV3IHByb2plY3RzIHRvIGJhZCB3b3Jrc3BhY2UKCjIwMDgtMDItMDcgMTQ6NDU6MDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBQYXJzZSBjb21wb25lbnQgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgY29tcG9uZW50IGRlc2NyaXB0b3IuCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFkZCBTSSBwaWRzIHRvIGV2ZXJ5IHByb2dyYW0gKGJ1dCBoYXJkY29kZWQgY3VycmVudGx5KS4KCjIwMDgtMDItMDcgMTM6NTk6NDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBBZGQgbW9yZSB0YWdzLiBJbXByb3ZlIHRlc3QgYXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1vcmUgdGFncy4gSW1wcm92ZSB0ZXN0IGFwcC4KCjIwMDgtMDItMDcgMTM6NDg6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOiBBZGQgYSBmaXhtZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgQWRkIGEgZml4bWUgY29tbWVudC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHNhbWUgbGVhayBhcyBpbiBpbnB1dC1zZWxlY3Rvci4KCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBJbXByb3ZlIHRoZSB0ZXN0LgoKMjAwOC0wMi0wNyAxMzo0MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcHJvdmUgdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBJbXByb3ZlIHRoZSBkb2NzLgoKMjAwOC0wMi0wNyAxMjowNTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVGhlIGRjMTM5NCBwbHVnaW4gc2VlbXMgdG8gdXNlIEFQSSB0aGF0IHdhcyByZW1vdmVkIG9yIGNoYW5nZWQgYmVmb3JlIHRoZSBmaW5hbCAyLjAuMCByZWxlYXNlLCBzbyBvbmx5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFRoZSBkYzEzOTQgcGx1Z2luIHNlZW1zIHRvIHVzZSBBUEkgdGhhdCB3YXMgcmVtb3ZlZCBvciBjaGFuZ2VkCgkgIGJlZm9yZSB0aGUgZmluYWwgMi4wLjAgcmVsZWFzZSwgc28gb25seSBidWlsZCBpdCBpZiAyLjAuMC1yYzUKCSAgaXMgYXZhaWxhYmxlLiBTb21lb25lIG5lZWRzIHRvIHBvcnQgaXQgdG8gdGhlIGZpbmFsIEFQSS4KCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9jaGFuZ2VfY2FtZXJhX3RyYW5zbWlzc2lvbik6CgkgIEluY2x1ZGUgc3RyaW5nLmggZm9yIG1lbWNweSBhbmQgdXNlIGdfdXNsZWVwIGluc3RlYWQgb2YgdXNsZWVwLgoKMjAwOC0wMi0wNyAxMDowNDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTAyLTA3IDAyOjA2OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOiBQdXQgQ0ZMQUdTIGFuZCBMSUJTIGluIHRoZSByaWdodCBvcmRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgUHV0IENGTEFHUyBhbmQgTElCUyBpbiB0aGUgcmlnaHQgb3JkZXIKCjIwMDgtMDItMDYgMTg6NTY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IHhpbWFnZXNyYyBoYXMgbW92ZWQgdG8gLWdvb2QsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIHRoZSByZXF1aXJlZCBYIGxpYnMgaGVyZSBhbnkgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICB4aW1hZ2VzcmMgaGFzIG1vdmVkIHRvIC1nb29kLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvcgoJICB0aGUgcmVxdWlyZWQgWCBsaWJzIGhlcmUgYW55IG1vcmUuCgoyMDA4LTAyLTA2IDExOjA3OjQ3ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTAyLTA1IDE3OjEwOjExICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgQWRkIG1vcmUgdGFncyBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1vcmUgdGFncyBtYXBwaW5nLgoKMjAwOC0wMi0wNSAxMjoxOTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBIYW5kbGUgbGF0ZW5jeSBxdWVyaWVzIGluIHNyYyBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgSGFuZGxlIGxhdGVuY3kgcXVlcmllcyBpbiBzcmMgcGFkcy4KCjIwMDgtMDItMDUgMTE6NDA6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgZmxhZyB0byBib3RoIHNkdCBhbmQgbml0IHN0cnVjdHVyZXMgdG8gc2F5IHdoZXRoZXIgdGhlIHRhYmxlIGlzIGZvciB0aGUgYWN0dWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIGZsYWcgdG8gYm90aCBzZHQgYW5kIG5pdCBzdHJ1Y3R1cmVzIHRvIHNheQoJICB3aGV0aGVyIHRoZSB0YWJsZSBpcyBmb3IgdGhlIGFjdHVhbCBuZXR3b3JrL3RzCgkgIG9yIG5vdC4KCjIwMDgtMDItMDUgMTE6MzA6NDkgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogRmx1c2ggcGFja2V0aXplciB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCk6CgkgIEZsdXNoIHBhY2tldGl6ZXIgdG9vLgoKMjAwOC0wMi0wNCAxOToxNTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURSBhcyB0aGUgc3R1ZmYgZ2VuZXJhdGVkIGZyb20gaXQgaXMgbm90IHVzZWQgYW55d2F5IGFuZCBjYW4ndCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpLAoJICAoZ3N0X2xhZHNwYV9jbGFzc19pbml0KSwgKGxhZHNwYV9kZXNjcmliZV9wbHVnaW4pLCAocGx1Z2luX2luaXQpOgoJICBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFIGFzIHRoZSBzdHVmZiBnZW5lcmF0ZWQgZnJvbSBpdCBpcyBub3QgdXNlZAoJICBhbnl3YXkgYW5kIGNhbid0IGJlIHVzZWQuCgkgIFN0b3JlIHRoZSBjbGFzcyBzdHJ1Y3Qgb2YgdGhlIGNvcnJlY3QgdHlwZSBpbiBwYXJlbnRfY2xhc3MuCgkgIFBhc3MgdGhlIExBRFNQQV9EZXNjcmlwdG9yIGFzIGNsYXNzX2RhdGEgdG8gdGhlIGNsYXNzX2luaXQgZnVuY3Rpb24KCSAgYXMgcHJlcGFyYXRpb24gZm9yIHRoZSB0aW1lLCB3aGVuIHdlIGNhbiBhZGQgcGFkIHRlbXBsYXRlcyBhbmQgZnJpZW5kcwoJICBpbiBjbGFzc19pbml0IGFuZCBhZGQgYSBGSVhNRSBmb3IgdGhhdC4KCSAgRG9uJ3QgdXNlIGEgY3VzdG9tIGhhc2ggdGFibGUgZm9yIHBhc3NpbmcgdGhlIExBRFNQQV9EZXNjcmlwdG9ycyB0bwoJICBiYXNlX2luaXQgYnV0IHVzZSBnX3R5cGVfc2V0X3FkYXRhIGFuZCBnX3R5cGVfZ2V0X3FkYXRhLgoKMjAwOC0wMi0wNCAxNjoyMjoxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IFJlYWxseSBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICBSZWFsbHkgZml4IHRoZSBidWlsZC4KCSAgVE9ETyA6IEFwcGx5IHNwYW5rT21hdGljMjAwMCBvbiB0aGF5dGFuJ3MgcmVhciBlbmQuCgoyMDA4LTAyLTA0IDEzOjEyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogRml4IGNvbXBpbGF0aW9uIHdpdGggbGlibWpwZWd0b29scyAxLjgueC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKEdzdE1wZWcyRW5jUGljdHVyZVJlYWRlci5TdHJlYW1QaWN0dXJlUGFyYW1zKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggbGlibWpwZWd0b29scyAxLjgueC4KCjIwMDgtMDItMDQgMTE6NDg6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IERvbid0IHVucmVmIHRoZSBwYWQgdGVtcGxhdGUgYWZ0ZXIgYWRkaW5nIGl0LiBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIHRhay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSk6CgkgIERvbid0IHVucmVmIHRoZSBwYWQgdGVtcGxhdGUgYWZ0ZXIgYWRkaW5nIGl0LgoJICBnc3RfZWxlbWVudF9jbGFzc19hZGRfcGFkX3RlbXBsYXRlIHRha2VzIG93bmVyc2hpcCBvZiBpdC4KCjIwMDgtMDItMDMgMTg6MjI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogVXNlIHRoZSBpbmNvbWluZyBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgcHJvdmlkZWQgdG8gaW5mZXIgYSBkZWZhdWx0IGFzcGVjdCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIFVzZSB0aGUgaW5jb21pbmcgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHByb3ZpZGVkIHRvIGluZmVyIGEKCSAgZGVmYXVsdCBhc3BlY3QgcmF0aW8sIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSAnYXNwZWN0JwoJICBwcm9wZXJ0eS4KCSAgRml4ZXM6ICM0OTkwMDgKCjIwMDgtMDItMDMgMTc6NDc6MjUgKzAwMDAgIEFuZHJ6ZWogTWVuZGVsIDxhbmRyemVqLm1lbmRlbEBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCB2YXJpYWJsZSBuYW1pbmcgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCB0aGUgZ2xpbWFnZXNpbmsgcGx1Z2luLiBGaXhlcyBidWcgIzUxNDA5My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyemVqIE1lbmRlbCA8YW5kcnplaiBkb3QgbWVuZGVsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggdmFyaWFibGUgbmFtaW5nIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgdGhlIGdsaW1hZ2VzaW5rCgkgIHBsdWdpbi4gRml4ZXMgYnVnICM1MTQwOTMuCgoyMDA4LTAyLTAyIDIzOjI1OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzogRGVtb3RlIG1ldGFkYXRhZGVtdXggdG8gR1NUX1JBTktfTk9ORSBmb3IgdGhlIHJlbGVhc2UsIGl0J3Mgbm90IHJlYWR5IHRvIGJlIGF1dG9wbHVnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgIERlbW90ZSBtZXRhZGF0YWRlbXV4IHRvIEdTVF9SQU5LX05PTkUgZm9yIHRoZSByZWxlYXNlLCBpdCdzIG5vdAoJICByZWFkeSB0byBiZSBhdXRvcGx1Z2dlZCB5ZXQuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgZm9yIEdUeXBlIG9uIHBwYzMyIGJ5IHJlbW92aW5nIGl0LAoJICBzaW5jZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJpbnQgdGhlIEdUeXBlIHZhbHVlIGFueXdheS4KCjIwMDgtMDItMDIgMjA6MjI6MTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgTWFwIG1vcmUgRXhpZiB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIG1vcmUgRXhpZiB0YWdzLgoKMjAwOC0wMi0wMSAxNzowODoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IERvbid0IGxlYWsgZXZlbnQgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkLiBGaXhlcyAjNTEyODI2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCk6CgkgIERvbid0IGxlYWsgZXZlbnQgb24gcGFkcyB0aGF0IGFyZSBub3QgbGlua2VkLiBGaXhlcyAjNTEyODI2LgoKMjAwOC0wMi0wMSAxMzowMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zLCB0byBhdm9pZCBjb25mdXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zLCB0byBhdm9pZCBjb25mdXNpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKToKCSAgVXNlIHRoZSBuZXcgR3N0VmlkZW9Gb3JtYXQgQVBJIHRvIGdldCBzdHJpZGVzLCBwbGFuZSBvZmZzZXRzIGV0Yy4uCgkgIEZvciBZNDJCIHdlIHN0aWxsIG5lZWQgdG8gY2FsY3VsYXRlIHRoZXNlIG91cnNlbHZlcywgc2luY2UgdGhlIGxpYgoJICBpbiAtYmFzZSBkb2Vzbid0IGtub3cgYWJvdXQgdGhpcyBmb3JtYXQgeWV0IGFuZCB3ZSBjYW4ndCBidW1wIHRoZQoJICByZXF1aXJlbWVudCB0byBDVlMgcmlnaHQgbm93LiBGaXggdGhlIFk0MkIgc3RyaWRlLCBvZmZzZXQgYW5kIHNpemUKCSAgY2FsY3VsYXRpb25zIGZvciBvZGQgd2lkdGhzIGFuZCBoZWlnaHRzIHdoaWxlIHdlJ3JlIGF0IGl0IHRob3VnaAoJICAodG8gbWF0Y2ggdGhvc2UgaW4gdmlkZW90ZXN0c3JjKS4KCjIwMDgtMDEtMzEgMjE6NTU6NDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0zMSAxNzoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiAobWV0YWRhdGFwYXJzZV9qcGVnX3JlYWRpbmcpOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA4LTAxLTMxIDE3OjE4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IFJlYWxseSBjbGVhbiB1cCB0aGUgcXVldWUgaW5zdGVhZCBvZiBqdXN0IHVucmVmZmluZyBhbGwgYnVmZmVycyBpbiBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZGlzcG9zZSk6CgkgIFJlYWxseSBjbGVhbiB1cCB0aGUgcXVldWUgaW5zdGVhZCBvZiBqdXN0IHVucmVmZmluZyBhbGwgYnVmZmVycwoJICBpbiBpdC4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zcmNfaW5pdCksCgkgIChnc3RfYXBwX3NyY19kaXNwb3NlKSwgKGdzdF9hcHBfc3JjX2ZpbmFsaXplKToKCSAgRml4IGRpc3Bvc2UvZmluYWxpemUuCgoyMDA4LTAxLTMxIDE1OjUyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgbWFraW5nIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgbWF0Y2ggd2hhdCBldmVyeW9uZSBpcyBwYXNzaW5nIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgYnkgbWFraW5nIHRoZSBmdW5jdGlvbiBzaWduYXR1cmUgbWF0Y2ggd2hhdAoJICBldmVyeW9uZSBpcyBwYXNzaW5nIGluLi4uCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQgb24gU29sYXJpcyBieSByZW1vdmluZyBHTlUgbGQgc3BlY2lmaWMgZmxhZ3MgdGhhdAoJICBsb29rIHVubmVjZXNzYXJ5LgoKMjAwOC0wMS0zMSAxMDoxNjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOiBBZGQgc29tZSByZWxldmFudCB2YXJpYWJsZXMgdG8gQ0ZMQUdTIGFuZCBMSUJBREQsIGZvciBleGFtcGxlIG91ciBjb21waWxlciB3YXJuaW5ncyBwYXJhbXRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgQWRkIHNvbWUgcmVsZXZhbnQgdmFyaWFibGVzIHRvIENGTEFHUyBhbmQgTElCQURELCBmb3IgZXhhbXBsZSBvdXIKCSAgY29tcGlsZXIgd2FybmluZ3MgcGFyYW10ZXJzLgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgKGdzdF9iYXNlX21ldGFkYXRhX3N0cmlwX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX21ldGFkYXRhX2NhbGN1bGF0ZV9vZmZzZXRzKSwKCSAgKGdzdF9iYXNlX21ldGFkYXRhX3NyY19ldmVudCksIChnc3RfYmFzZV9tZXRhZGF0YV9zaW5rX2FjdGl2YXRlKToKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOiAoZ3N0X21ldGFkYXRhX2RlbXV4X2luaXQpLAoJICAoZ3N0X21ldGFkYXRhX2RlbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbWV0YWRhdGFfZGVtdXhfZGlzcG9zZSk6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6IChnc3RfbWV0YWRhdGFfbXV4X2luaXQpLAoJICAoZ3N0X21ldGFkYXRhX211eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21ldGFkYXRhX211eF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21ldGFkYXRhX211eF9kaXNwb3NlKSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfY3JlYXRlX2NodW5rc19mcm9tX3RhZ3MpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOiAobWV0YWRhdGFfZGlzcG9zZSk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAobWV0YWRhdGFwYXJzZV9leGlmX2NvbnRlbnRfZm9yZWFjaF9lbnRyeV9mdW5jKSwKCSAgKG1ldGFkYXRhbXV4X2V4aWZfZm9yX2VhY2hfdGFnX2luX2xpc3QpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSAgKG1ldGFkYXRhbXV4X2lwdGNfZm9yX2VhY2hfdGFnX2luX2xpc3QpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzogKG1ldGFkYXRhbXV4X2pwZWdfbGF6eV91cGRhdGUpLAoJICAobWV0YWRhdGFtdXhfanBlZ19yZWFkaW5nKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzogKG1ldGFkYXRhbXV4X3BuZ19yZWFkaW5nKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogKG1ldGFkYXRhcGFyc2VfanBlZ19yZWFkaW5nKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOiAobWV0YWRhdGFwYXJzZV94bXBfdGFnX2xpc3RfYWRkKSwKCSAgKG1ldGFkYXRhbXV4X3htcF9jcmVhdGVfY2h1bmtfZnJvbV90YWdfbGlzdCk6CgkgIEZpeCBhIG1pbGxpb24gd2FybmluZ3MgdGhhdCBzaG93ZWQgdXAgYWZ0ZXIgdGhlIGFib3ZlIGNoYW5nZS4KCjIwMDgtMDEtMzEgMDk6NTA6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoKMjAwOC0wMS0zMSAwODo1NzoxNiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgoyMDA4LTAxLTMwIDIwOjU1OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHNvdW5kdG91Y2ggdG8gbm90IHByb2R1Y2Ugc3ludGF4IGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY29uZmlndXJlIGNoZWNrIGZvciBzb3VuZHRvdWNoIHRvIG5vdCBwcm9kdWNlIHN5bnRheCBlcnJvcnMuCgoyMDA4LTAxLTMwIDE5OjE5OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggYnVpbGQgd2l0aCBleGVtcGkgPj0gMS45OS41IGFuZCBmaXggdGhlIGluY2x1ZGUgcGF0aCBmb3IgZXhlbXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIChtZXRhZGF0YW11eF94bXBfZm9yX2VhY2hfdGFnX2luX2xpc3QpOgoJICBGaXggYnVpbGQgd2l0aCBleGVtcGkgPj0gMS45OS41IGFuZCBmaXggdGhlIGluY2x1ZGUKCSAgcGF0aCBmb3IgZXhlbXBpLgoKMjAwOC0wMS0zMCAxNjo1Mzo0MCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSAgSnVzdCB1cHRhZGUgdGhlIFRvRG8gbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgdXB0YWRlIHRoZSBUb0RvIGxpc3QuCgoyMDA4LTAxLTMwIDE2OjA1OjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gU3BlZWQgdXAgYSBiaXQgcG5nIG11eGVyLiBGaXggeG1wIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIFNwZWVkIHVwIGEgYml0IHBuZyBtdXhlci4gRml4IHhtcCBtdXhlci4KCjIwMDgtMDEtMzAgMTU6NDA6NDQgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOgoJICBVcGRhdGUgZG9jdW1lbnRhdGlvbiBhIGJpdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgIFJlZ2VuZXJhdGUgZXZlcnl0aGluZyBmb3IgdGhlIGRvY3VtZW50YXRpb24gY2hhbmdlcyB3ZSBoYWQuCgoyMDA4LTAxLTMwIDE1OjM0OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvLzogVXNlIGFzeW5jIHZhcmlhbnRzIG9mIHRoZSBjbG9zZSBzdHJlYW0gZnVuY3Rpb25zIHRvIHByZXZlbnQgYmxvY2tpbmcgZm9yIGEgbG9uZyB0aW1lIHRoZXJlIGFuZCBhZGQgc29tZSBtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOiAoY2xvc2Vfc3RyZWFtX2NiKSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fYmFzZV9zaW5rX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoY2xvc2Vfc3RyZWFtX2NiKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2NyZWF0ZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3NldF9zdHJlYW0pOgoJICBVc2UgYXN5bmMgdmFyaWFudHMgb2YgdGhlIGNsb3NlIHN0cmVhbSBmdW5jdGlvbnMgdG8gcHJldmVudCBibG9ja2luZwoJICBmb3IgYSBsb25nIHRpbWUgdGhlcmUgYW5kIGFkZCBzb21lIG1vcmUgc2FuaXR5IGNoZWNrcyBmb3IgYSBjb3JyZWN0CgkgIHN0cmVhbS4KCjIwMDgtMDEtMzAgMTM6Mzg6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBNb3ZlIC1XbCBwYXJhbWV0ZXIgZnJvbSBfTERBREQgdG8gX0xERkxBR1MgdG8gZml4IGF1dG9nZW4uc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBNb3ZlIC1XbCBwYXJhbWV0ZXIgZnJvbSBfTERBREQgdG8gX0xERkxBR1MgdG8gZml4IGF1dG9nZW4uc2guCgoyMDA4LTAxLTMwIDEzOjI5OjE1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19pbml0KToKCSAgTGV0IHRoZSBwcm94eSBwcm9wZXJ0eSBkZWZhdWx0IHRvIHRoZSBjb250ZW50IG9mIHRoZSAkaHR0cF9wcm94eQoJICBlbnZpcm9ubWVudCB2YXJpYWJsZS4KCjIwMDgtMDEtMzAgMTM6MDg6NDUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMzAgMTM6MDY6MDEgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfYm9keV9jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcmVzcG9uc2VfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291cDIuNCBhbmQgcmVxdWlyZSBpdC4gQWxzbyBpbXBsZW1lbnQgcmVkaXJlY3Rpb24KCSAgYW5kIG1hbnVhbCBwcm94eSBzcGVjaWZpY2F0aW9uLiBGaXhlcyBidWcgIzUxMDcwOC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHNvdXBodHRwc3JjLgoKMjAwOC0wMS0zMCAxMjo1Njo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gRml4IHRlc3QgYXBwIGNvbXBpbGF0aW9uLiBGaXggcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIEZpeCB0ZXN0IGFwcCBjb21waWxhdGlvbi4gRml4IHB1bGwgbW9kZS4KCjIwMDgtMDEtMjkgMTg6NTc6MjcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3IHBheWxvYWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaGlqcyBWZXJtZWlyICA8dGhpanN2ZXJtZWlyIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcKCSAgcGF5bG9hZCB0eXBlIGluc3RlYWQgb2YgYWx3YXlzIGZpcmluZyB0aGUgc2lnbmFsLiBGaXhlcyAjNTEyNzc0LgoKMjAwOC0wMS0yOSAxODowNTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOiBEZWZpbmUgTE9HX05PTkUgYW5kIGZyaWVuZHMgaWYgdGhleSdyZSBub3QgZGVmaW5lZCB5ZXQuIG1qcGVndG9vbHMgMS45LjByYzMgcmVtb3ZlZCB0aGVpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgRGVmaW5lIExPR19OT05FIGFuZCBmcmllbmRzIGlmIHRoZXkncmUgbm90IGRlZmluZWQgeWV0LiBtanBlZ3Rvb2xzCgkgIDEuOS4wcmMzIHJlbW92ZWQgdGhlaXIgZGVmaW5pdGlvbnMgYnV0IHdpdGhvdXQgaXQgZG9lc24ndCBtYWtlIG11Y2gKCSAgc2Vuc2UgdG8gd3JpdGUgYSBsb2cgaGFuZGxlci4KCjIwMDgtMDEtMjkgMTE6MzI6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBiYXNlIGNsYXNzZXMgZm9yIG1ldGFkYXRhIGFuZCBlcXVhbGl6ZXIgKG5vIGludHJvc3BlY3Rpb24geWV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICBBZGQgYmFzZSBjbGFzc2VzIGZvciBtZXRhZGF0YSBhbmQgZXF1YWxpemVyIChubyBpbnRyb3NwZWN0aW9uIHlldCkuCgoyMDA4LTAxLTI5IDA3OjQzOjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvUkVBRE1FOiBGb3JtYXR0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICBGb3JtYXR0aW5nLgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwOC0wMS0yOSAwNzozODozMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUmVwbGFjZSB0aGUgc3dpdGNoIHBsdWdpbiB3aXRoIHRoZSBzZWxlY3RvciBwbHVnaW4uIEFkZCBvdXRwdXQtIHNlbGVjdG9yIGFzIHRoZSBvcHBvc2l0ZSBvZiBpbnB1dC1zZWxlY3RvbyAod2FzIHN3aXRjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBnc3Qvc2VsZWN0b3IvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL3NlbGVjdG9yLnZjcHJvajoKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC9zd2l0Y2gvc3dpdGNoLnZjcHJvajoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIFJlcGxhY2UgdGhlIHN3aXRjaCBwbHVnaW4gd2l0aCB0aGUgc2VsZWN0b3IgcGx1Z2luLiBBZGQgb3V0cHV0LQoJICBzZWxlY3RvciBhcyB0aGUgb3Bwb3NpdGUgb2YgaW5wdXQtc2VsZWN0b28gKHdhcyBzd2l0Y2gpLiBBZGQgYSB0ZXN0CgkgIGZvciBvdXRwdXQtc2VsZWN0b3IuIEFkZCBkb2NzIGZvciB0aGUgZWxlbWVudHMuIFRoZSB2Y3Byb2ogbmVlZHMKCSAgdXBkYXRlLiBGaXhlcyAjNTAwMTQyLgoKMjAwOC0wMS0yOCAyMzoxODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFRyeSB0byBhdm9pZCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIGlmIGRlYnVnZ2luZyBpcyBkaXNhYmxlZCAobm90IGJ1bGxldCBwci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCk6CgkgIFRyeSB0byBhdm9pZCAndW51c2VkIHZhcmlhYmxlJyBjb21waWxlciB3YXJuaW5nIGlmIGRlYnVnZ2luZyBpcwoJICBkaXNhYmxlZCAobm90IGJ1bGxldCBwcm9vZiwgYnV0IHNlZW1zIHRvIGRvIGZvciBub3cpLiAoIzUxMjY1NCkKCjIwMDgtMDEtMjggMTE6NDc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzogQ2xlYW4gdXAgYSBiaXQgYW5kIG9ubHkgYWxsb2NhdGUgYSB0ZW1wb3JhcnkgYnVmZmVyIGZvciB0aGUgZGF0YSBpZiBwcm9jZXNzaW5nIHN0ZXJlby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIENsZWFuIHVwIGEgYml0IGFuZCBvbmx5IGFsbG9jYXRlIGEgdGVtcG9yYXJ5IGJ1ZmZlciBmb3IgdGhlIGRhdGEKCSAgaWYgcHJvY2Vzc2luZyBzdGVyZW8gZGF0YSBhcyBCUE1EZXRlY3QgZG93bm1peGVzIGZyb20gc3RlcmVvIHRvCgkgIG1vbm8gYW5kIHN0b3JlcyB0aGUgcmVzdWx0IGluIHRoZSBpbnB1dCBkYXRhLiBUaGFua3MgdG8KCSAgU3RlZmFuIEtvc3QgZm9yIHRoZSBzdWdnZXN0aW9ucy4KCjIwMDgtMDEtMjcgMTc6MDI6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBDYXN0IGEgZG91YmxlIHRvIGEgR3N0Q2xvY2tUaW1lRGlmZiB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQ2FzdCBhIGRvdWJsZSB0byBhIEdzdENsb2NrVGltZURpZmYgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDEtMjcgMTY6MTI6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiBQcmludGYgZm9ybWF0IGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4LgoKMjAwOC0wMS0yNyAwNzo1MTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IERvbid0IHNlbmQgYSBMQVRFTkNZIGV2ZW50IGZvciBub3cgdW50aWwgd2UgZ2V0IHRoZSB1c2FnZSByaWdodC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIERvbid0IHNlbmQgYSBMQVRFTkNZIGV2ZW50IGZvciBub3cgdW50aWwgd2UgZ2V0IHRoZSB1c2FnZSByaWdodC4KCjIwMDgtMDEtMjcgMDc6Mzc6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLio6IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5IGFuZCBub3RpZnkgYWJvdXQgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkgYW5kIG5vdGlmeSBhYm91dCBsYXRlbmN5IGNoYW5nZXMuCgkgIFVuZm9ydHVuYXRlbHkgd2UgZG9uJ3QgaGF2ZSBhIGZpeGVkIGxhdGVuY3kgYnV0IGl0IGNoYW5nZXMKCSAgYSBiaXQgd2l0aCBlYWNoIGJ1ZmZlciBzbyB3ZSBvbmx5IHNlbmQgYW4gTEFURU5DWSBldmVudCB3aXRoCgkgIHRoZSBtYXhpbXVtIGxhdGVuY3kgaWYgaXQgY2hhbmdlcy4KCSAgQWx3YXlzIGNhbGN1bGF0ZSB0aGUgdGltZXN0YW1wLCBkdXJhdGlvbiwgZXRjIGZyb20gdGhlIHNhbXBsZQoJICByYXRlIGluc3RlYWQgb2YgdXNpbmcgYSBwcmUtY2FsY3VsYXRlZCBkdXJhdGlvbiBmb3Igb25lIHNhbXBsZQoJICB0byBwcmV2ZW50IGxhcmdlIHJvdW5kaW5nIGVycm9ycy4KCjIwMDgtMDEtMjcgMDc6MzI6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IG1qcGVndG9vbHMgMS45IHdoaWxlIGtlZXBpbmcgY29tcGF0aWJsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBIYW5zIGRlIEdvZWRlIDxqIGRvdCB3IGRvdCByIGRvdCBkZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBtanBlZ3Rvb2xzIDEuOSB3aGlsZSBrZWVwaW5nCgkgIGNvbXBhdGlibGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLgoKMjAwOC0wMS0yNyAwNjozMTo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOiBPbmx5IGNvbnNpZGVyIGEgQlBNIHZhbHVlIGFib3ZlIDEuMCBhcyB2YWxpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBPbmx5IGNvbnNpZGVyIGEgQlBNIHZhbHVlIGFib3ZlIDEuMCBhcyB2YWxpZC4KCjIwMDgtMDEtMjcgMDU6NTY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoLzogQWRkIEJQTSBkZXRlY3Rpb24gcGx1Z2luIGJhc2VkIG9uIFNvdW5kVG91Y2gncyBsaWJCUE0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuaGg6CgkgICogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBCUE0gZGV0ZWN0aW9uIHBsdWdpbiBiYXNlZCBvbiBTb3VuZFRvdWNoJ3MgbGliQlBNLgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBbGxvdyBzYW1wbGUgcmF0ZXMgdW50aWwgTUFYIGluc3RlYWQgb2Ygb25seSA0OGtIeiBhbmQgcmVtb3ZlIHRoZQoJICBidWZmZXItZnJhbWVzIGZpZWxkIGZyb20gdGhhdCBjYXBzLgoJICBDbGVhciB0aGUgcmVtYWluaW5nIHNhbXBsZXMgY29tcGxldGVseSB3aGVuIG5lY2Vzc2FyeSB0byBnZXQgaW50bwoJICBhIGNsZWFuIHN0YXRlIGFnYWluLgoKMjAwOC0wMS0yNiAxNjoxOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZSBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlCgkgIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCjIwMDgtMDEtMjYgMTU6MTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBBbGxvdyBzZWVraW5nIG9ubHkgaW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQsIG90aGVyIGZvcm1hdHMgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWxsb3cgc2Vla2luZyBvbmx5IGluIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0LCBvdGhlciBmb3JtYXRzIHdpbGwKCSAgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEFsc28gaGFuZGxlIGEgc3RvcCBwb3NpdGlvbiBvZiAtMSBjb3JyZWN0bHkKCSAgZm9yIHNlZWtzLCBuZXdzZWdtZW50IGV2ZW50cyBhbmQgdGhlIHF1ZXJpZXMuIFRoaXMgZml4ZXMgcGxheWJhY2sKCSAgd2l0aCB0aGUgcGl0Y2ggZWxlbWVudCBpZiB1cHN0cmVhbSBkb2Vzbid0IGtub3cgdGhlIGR1cmF0aW9uIG9yIGhhcwoJICAtMSBhcyBzdG9wIHBvc2l0aW9uIGluIE5FV1NFR01FTlQgZXZlbnRzIGZvciBvdGhlciByZWFzb25zLiBCZWZvcmUKCSAgc2ltcGx5IG5vdGhpbmcgd2FzIHBsYXllZCBhcyB0aGUgc2VnbWVudCB3YXMgZ29pbmcgZnJvbSAwIHRvIDAuCgkgIFNlbmQgYSBHU1RfTUVTU0FHRV9EVVJBVElPTiB3aGVuZXZlciB0aGUgcmF0ZSBvciB0ZW1wbyBpcyBjaGFuZ2VkCgkgIHNvIGFwcGxpY2F0aW9ucyBjYW4gdXBkYXRlIHRoZWlyIGNhY2hlZCBkdXJhdGlvbi4gRml4ZXMgYnVnICM1MDMzMDguCgkgIFNvbWUgcmFuZG9tIGNsZWFudXAgYW5kIG1lbW9yeSBsZWFrIGNsb3NpbmcuCgoyMDA4LTAxLTI2IDE0OjM1OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXVzZXBhY2svOiBGaXJzdCBpbmNsdWRlIHRoZSBsaWJtcGNkZWMgaGVhZGVycyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlIGFzIHRoZXkgI2RlZmluZSBUUlVFIGFuZCBGQUxTRSB1bmNvbmRpdGlvbmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkgIEZpcnN0IGluY2x1ZGUgdGhlIGxpYm1wY2RlYyBoZWFkZXJzIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgYXMgdGhleQoJICAjZGVmaW5lIFRSVUUgYW5kIEZBTFNFIHVuY29uZGl0aW9uYWxseSBhbmQgd2Ugb3RoZXJ3aXNlIGdldCBjb25mbGljdHMKCSAgd2l0aCB0aGUgb25lcyB0aGF0IEdMaWIgZGVmaW5lcy4KCjIwMDgtMDEtMjYgMTM6MjQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VuZHRvdWNoIDEuMy4xIGFuZCBhZGQgYW4gdWdseSB3b3JrYXJvdW5kIGZvciB0aGUgaGVhZGVyIGRlZmluaW5lZCBQQUNLQUdFIGFuZCBvdGhlciB2YXJpYWJsZXMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VuZHRvdWNoIDEuMy4xIGFuZCBhZGQgYW4gdWdseSB3b3JrYXJvdW5kIGZvcgoJICB0aGUgaGVhZGVyIGRlZmluaW5lZCBQQUNLQUdFIGFuZCBvdGhlciB2YXJpYWJsZXMgZm9yIHdoaWNoIHdlIG5lZWQKCSAgb3VyIG93biB2YWx1ZXMgZnJvbSBjb25maWcuaC4KCjIwMDgtMDEtMjYgMTI6MTE6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBsaWJnbGFkZS0yLjAsIGZvciB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGxpYmdsYWRlLTIuMCwgZm9yIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZS4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgT25seSB0cnkgdG8gYnVpbGQgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrIGFuZAoJICBnbGFkZSAob3RoZXJ3aXNlIHRoZSBidWlsZCB3b3VsZCBqdXN0IGZhaWwgLi4uKTsgZml4IGJ1aWxkIGluCgkgIHVuaW5zdGFsbGVkIHNldHVwLgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiAob25fY2VsbF9lZGl0ZWQpLCAodWlfYWRkX2NvbHVtbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgKHVzZSBHTGliIG1hY3JvcyB0byBjYXN0IHBvaW50ZXIgPC0+IGludCkuCgoyMDA4LTAxLTI1IDE3OjQ1OjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWFrZWZpbGU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmdsYWRlOgoJICBBZGQgbG90IG9mIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbG90IG9mIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTI1IDE3OjM1OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogT3BlbiBmcm9udGVuZCBpbiBOVUxMLT5SRUFEWSBzbyBjYXBzIGFib3V0IGR2YiBhZGFwdGVyIGNhbiBiZSBzZWVuIGJ5IHRoZSBhcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE9wZW4gZnJvbnRlbmQgaW4gTlVMTC0+UkVBRFkgc28gY2FwcyBhYm91dCBkdmIgYWRhcHRlciBjYW4gYmUKCSAgc2VlbiBieSB0aGUgYXBwLgoKMjAwOC0wMS0yNSAxNjo1ODowMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0IHdpdGggYSBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHBheWxvYWRfdHlwZV9jaGFuZ2UpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dAoJICB3aXRoIGEgc2lnbmFsLgoKMjAwOC0wMS0yNSAxNjowMDo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0CgkgIGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQgd2l0aCBlYWNoIGJ1ZmZlciBpbnN0ZWFkLiBGaXhlcyAjNTExNjg2LgoKMjAwOC0wMS0yNSAxNTo0OTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgb2xkIHVudXNlZCB2YXJpYWJsZS4KCSAgVHJhY2sgcHQgb24gaW5wdXQgYnVmZmVycyBhbmQgZ2V0IHRoZSBjbG9jay1yYXRlIHdoZW4gaXQgY2hhbmdlcy4KCSAgSWdub3JlIHBhY2tldHMgd2l0aCB1bmtub3duIGNsb2NrLXJhdGUuIFNlZSAjNTExNjg2LgoKMjAwOC0wMS0yNSAxMjo0ODo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFBvc3QgYnVzIG1lc3NhZ2UgYWJvdXQgYWRhcHRlciB0eXBlIGFuZCBpdCdzIGNhcGFiaWxpdGllcywgd2hlbiBvcGVuaW5nIHRoZSBmcm9udGVuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUG9zdCBidXMgbWVzc2FnZSBhYm91dCBhZGFwdGVyIHR5cGUgYW5kIGl0J3MgY2FwYWJpbGl0aWVzLAoJICB3aGVuIG9wZW5pbmcgdGhlIGZyb250ZW5kLgoJICBBZnRlciBmYWlsaW5nIHRvIHJlYWQgZnJvbSB0aGUgZHZyLCBwb3N0IGEgYnVzIG1lc3NhZ2UgdG8KCSAgaW5mb3JtIHRoZSBhcHAuCgoyMDA4LTAxLTI1IDA5OjUwOjA3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogVGhlIGxvZ2ljIGZvciB0aGUgZ3VhcmQgaW50ZXJ2YWwgY2FsY3VsYXRpb24gd2FzIHRvdGFsbHkgd3JvbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFRoZSBsb2dpYyBmb3IgdGhlIGd1YXJkIGludGVydmFsIGNhbGN1bGF0aW9uIHdhcyB0b3RhbGx5IHdyb25nLgoJICBGaXhlZC4KCjIwMDgtMDEtMjUgMDE6NDQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IHVucmVmIG9mIGJ1ZmZlciB1c2luZyB0aGUKCSAgd3JvbmcgZnVuY3Rpb24uICBGaXhlcyAjNTExOTIwCgoyMDA4LTAxLTI0IDEzOjIzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBOb3cgd2UgaGF2ZSBmdWxsIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgTm93IHdlIGhhdmUgZnVsbCBoaWVyYXJjaHkuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgUmVnZW5lcmF0ZS4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgQWRkIGRvYyBibG9iIGZvciBvYmplY3QgaW5zdGFuY2UuCgoyMDA4LTAxLTI0IDEwOjE1OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIHRoaXMgdG9vLCBob3BlZnVsbHkgZml4ZXMgdGhlIGRvY3MgYnVpbGQgKGRvZXMgYXQgbGVhc3QgZm9yIG1lLCBhZnRlciBtYWtlIGNsZWFuIGluIGRvY3MvcGx1Z2lucykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgIFVwZGF0ZSB0aGlzIHRvbywgaG9wZWZ1bGx5IGZpeGVzIHRoZSBkb2NzIGJ1aWxkIChkb2VzIGF0IGxlYXN0CgkgIGZvciBtZSwgYWZ0ZXIgbWFrZSBjbGVhbiBpbiBkb2NzL3BsdWdpbnMpLgoKMjAwOC0wMS0yNCAwODoxMjoyOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEZpeCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciwgdGhlIGxlbmd0aCBpcyBhY3R1YWxseSB0aGUgZGVzY3JpcHRvciBsZW5ndGggbm90IHN0b3JlZCBpbiB0aGUgYnl0ZSBhZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXggbmV0d29yayBuYW1lIGRlc2NyaXB0b3IsIHRoZSBsZW5ndGggaXMgYWN0dWFsbHkgdGhlCgkgIGRlc2NyaXB0b3IgbGVuZ3RoIG5vdCBzdG9yZWQgaW4gdGhlIGJ5dGUgYWZ0ZXIuCgkgIEZpeCBib3VuZHMgY2hlY2tpbmcgdG8gYmUgbW9yZSBjb3JyZWN0LgoKMjAwOC0wMS0yNCAwMDoyMjoxNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlIGFuZCBhZGQgdG8gcmVsZXZhbnQgYnVzIG1lc3NhZ2VzIHRoZSB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgdGhlIGxvZ2ljYWwgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSBhbmQgYWRkIHRvIHJlbGV2YW50IGJ1cyBtZXNzYWdlcyB0aGUgdGVycmVzdHJpYWwgZGVsaXZlcnkKCSAgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIHRoZSBsb2dpY2FsIGNoYW5uZWwgZGVzY3JpcHRvci4KCSAgRG8gYm91bmRzIGNoZWNraW5nIG9uIGRhdGEgc3RvcmVkIGluIGRlc2NyaXB0b3IgYmVmb3JlIHVzZS4KCjIwMDgtMDEtMjMgMTY6MzU6MzQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMjMgMTU6NTE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IGxpYmRjYSAod2l0aCB0aGUgbGliZHRzIGNvbXBhdCBoZWFkZXIpLiBGaXhlcyBidWcgIzUxMTUzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IGxpYmRjYSAod2l0aCB0aGUgbGliZHRzIGNvbXBhdAoJICBoZWFkZXIpLiBGaXhlcyBidWcgIzUxMTUzMC4KCSAgU2hvdWxkIHByb2JhYmx5IGJlIHBvcnRlZCB0byBsaWJkY2EgYXMgc29tZSBwb2ludHMgYXMgaXQncyB0aGUKCSAgc3VjY2Vzc29yIG9mIGxpYmR0cy4KCjIwMDgtMDEtMjMgMTQ6NTk6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBEbyBub3QgZ28gb24gZm9yZXZlciBpZiBwcm9ibGVtIHdpdGggcmVhZGluZyBmcm9tIGR2ciwgcmF0aGVyIHJldHVybiBOVUxMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBEbyBub3QgZ28gb24gZm9yZXZlciBpZiBwcm9ibGVtIHdpdGggcmVhZGluZyBmcm9tIGR2ciwgcmF0aGVyCgkgIHJldHVybiBOVUxMLgoJICBIYW5kbGUgc29tZSBjbGVhbnVwIGlzc3VlcyBvZiBjbG9zaW5nIGZpbGVkZXNjcmlwdG9ycyB3aGVuCgkgIGZhaWxpbmcgdG8gdHVuZSBvciBzaW1pbGFyLgoKMjAwOC0wMS0yMyAxMzoxODoyNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBub19pbnN0IGhlYWRlciBmaWxlcyB0byBNYWtlZmlsZS5hbSBzbyBkaXN0aW5nIHN0aWxsIHdvcmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbWlzc2luZyBub19pbnN0IGhlYWRlciBmaWxlcyB0byBNYWtlZmlsZS5hbSBzbyBkaXN0aW5nIHN0aWxsIHdvcmtzCgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOC0wMS0yMyAxMDozNDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSB4aW5naGVhZGVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHhpbmdoZWFkZXIgcGx1Z2luLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGVsZW1lbnQgc3RhdGUgdG8gUExBWUlORyBiZWZvcmUgZG9pbmcgc29tZXRoaW5nIGVsc2UuCgoyMDA4LTAxLTIzIDEwOjExOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB0aGUgeGluZ211eCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXguYzogKHNldHVwX3hpbmdtdXgpLAoJICAoY2xlYW51cF94aW5nbXV4KSwgKEdTVF9TVEFSVF9URVNUKSwgKHhpbmdtdXhfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eF90ZXN0ZGF0YS5oOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdGhlIHhpbmdtdXggZWxlbWVudC4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlciksCgkgIChnc3RfeGluZ19tdXhfZmluYWxpemUpLCAoeGluZ19yZXNldCk6CgkgIEZpeCBhIG1lbWxlYWsgYW5kIGludmFsaWQgc2VlayB0YWJsZXMgd2l0aCBsZXNzIHRoYW4gMTAwIE1QMyBmcmFtZXMuCgoyMDA4LTAxLTIzIDA5OjQ5OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2VkIHRoZSBzYXRlbGxpdGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIGFkZGVkIGludG8gbml0J3MgdHJhbnNwb3J0IHN0cnVjdHVyZSBmb3IgZGVsaXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlZCB0aGUgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZAoJICBhZGRlZCBpbnRvIG5pdCdzIHRyYW5zcG9ydCBzdHJ1Y3R1cmUgZm9yIGRlbGl2ZXJ5CgkgIG92ZXIgdGhlIGJ1cy4KCjIwMDgtMDEtMjIgMjA6Mjc6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBQYXJzZWQgYW5kIGFkZGVkIG5ldHdvcmsgbmFtZSB0byB0aGUgbml0IHN0cnVjdHVyZSBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2VkIGFuZCBhZGRlZCBuZXR3b3JrIG5hbWUgdG8gdGhlIG5pdCBzdHJ1Y3R1cmUgc2VudAoJICBpbiB0aGUgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE5OjU5OjM5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUmVtb3ZlIGxlYWtzIGludHJvZHVjZWQgYnkgbm90IGZyZWVpbmcgZ19zdHJuZHVwJ2Qgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmVtb3ZlIGxlYWtzIGludHJvZHVjZWQgYnkgbm90IGZyZWVpbmcgZ19zdHJuZHVwJ2Qgc3RyaW5ncy4KCSAgRml4IHN0YXJ0X3RpbWUgYW5kIGR1cmF0aW9uIHBhcnNpbmcgaW4gRUlULgoKMjAwOC0wMS0yMiAxODo0MDoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBldmVudCBuYW1lIGFuZCBkZXNjcmlwdGlvbiB0byB0aGUgZWl0IHN0cnVjdHVyZSBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIGV2ZW50IG5hbWUgYW5kIGRlc2NyaXB0aW9uIHRvIHRoZSBlaXQgc3RydWN0dXJlCgkgIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxODowODowMSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBSZXZlcnQgY29uc3QgcmVtb3ZhbCBmcm9tIHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIFJldmVydCBjb25zdCByZW1vdmFsIGZyb20gcHJldmlvdXMgY29tbWl0LgoKMjAwOC0wMS0yMiAxODowNDowNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEFkZGVkIGRlc2NyaXB0b3Igc2VhcmNoaW5nIGluZnJhc3RydWN0dXJlIGZyb20gRmx1ZW5kbyBUUyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWRkZWQgZGVzY3JpcHRvciBzZWFyY2hpbmcgaW5mcmFzdHJ1Y3R1cmUgZnJvbSBGbHVlbmRvIFRTIGRlbXV4ZXIuCgkgIEFkZCBjaGFubmVsIG5hbWUgYW5kIHByb3ZpZGVyIHRvIHRoZSBzZHQgc3RydWN0dXJlIHNlbnQgaW4gdGhlCgkgIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxNzo0MzozNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBQYXJzZSBOQUwgdW5pdHMgaW4gZm9yd2FyZCBtb2RlIHRvIG1hcmsgZGVsdGEgdW5pdHMgZmxhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAxLTIyICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKToKCSAgUGFyc2UgTkFMIHVuaXRzIGluIGZvcndhcmQgbW9kZSB0byBtYXJrIGRlbHRhIHVuaXRzIGZsYWdzLgoKMjAwOC0wMS0yMiAxMjowNjoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVnZW5lcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgIFJlZ2VuZXJhdGUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkgIEFkZCB2b3JiaXNpZGVjIGFrYSB0cm1vci4KCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBBZGQgc2hvcnQgZGVzY3JpcHRpb24uCgoyMDA4LTAxLTIyIDA5OjU1OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGVvbCBcCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZW9sIFwKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBQbGFjZSBvYmplY3QgbmFtZXMgdG8gc3RhbmRhcmQgc2VjdGlvbmFzIHBsdWdpbiBkb250IGRvY3VtZW50IHRob3NlLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgcmVnZW5lcmF0ZS4KCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgTWFyayBwcml2YXRlIHZhcnMgYW5kIGFkZCBzaG9ydCBkZXNjLgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgQWRkIHNob3J0IGRlc2MuCgoyMDA4LTAxLTIxIDE0OjMzOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBPbmUgbGVzcyB0byBkby4gSXRzICdudXYnIG5vdCAnbnZ1Jy4gQXMgYW4gZXh0cmEgYm9udXMgSSBtZW50aW9uIHdoYXQgaXQgYWN0dWFsbHkgaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgT25lIGxlc3MgdG8gZG8uIEl0cyAnbnV2JyBub3QgJ252dScuIEFzIGFuIGV4dHJhIGJvbnVzIEkgbWVudGlvbiB3aGF0CgkgIGl0IGFjdHVhbGx5IGlzLgoKMjAwOC0wMS0yMSAxNDoxOTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGxpc3RzIGFnYWluLiBUaG9zZSB3aG9sZSBjYW4gYnVpbGQgaXZvcmJpc2RlYywgbXl0aHR2c3JjLCBudnVkZW11eCBhbmQgdGhlb3JhZGVjZXhwLCBwbGVhc2UgY29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFVwZGF0ZSBsaXN0cyBhZ2Fpbi4gVGhvc2Ugd2hvbGUgY2FuIGJ1aWxkIGl2b3JiaXNkZWMsIG15dGh0dnNyYywKCSAgbnZ1ZGVtdXggYW5kIHRoZW9yYWRlY2V4cCwgcGxlYXNlIGNvbW1pdCB0aGUgaW5zcGVjdC9wbHVnaW4teHh4LnhtbC4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICBSZXBsYWNlIHZpZGVvcGFyc2Ugd2l0aCByYXdwYXJzZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBIZWxwIGd0ay1kb2MgdG8gcmVjb2duaXplIHRoZSBvYmplY3Qgc3RydWN0LgoKMjAwOC0wMS0yMSAxMjo0MjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IERvbid0IHVzZSBndGstZG9jIGNvbW1lbnQgc3R5bGUgZm9yIG5vbiBndGstZG9jIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgY29tbWVudCBzdHlsZSBmb3Igbm9uIGd0ay1kb2MgY29tbWVudHMuCgkgIE1ha2Ugb25lIHN0YXRpYyBmdW5jdGlvbiBzdGF0aWMuCgoyMDA4LTAxLTIxIDEyOjE5OjEzICswMDAwICBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZUBtcDMtdGVjaC5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuKjogUHJvdmlkZSA0OjI6MiBzdXBwb3J0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmUgYXQgbXAzLXRlY2ggZG90IG9yZz4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9pbml0KSwgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksCgkgIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2lwKSwgKGdzdF9kZWludGVybGFjZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFByb3ZpZGUgNDoyOjIgc3VwcG9ydAoJICBBbHNvIGRlaW50ZXJsYWNlIGNocm9tYSBwbGFuZXMKCSAgQWxsb3cgdG8gdHVybiBvbi9vZmYgZGVpbnRlcmxhY2luZwoJICBDaGFuZ2Ugb2YgZGVmYXVsdCB0aHJlc2hvbGRzLCBpbiBvcmRlciB0byBwcm92aWRlIGFjY2VwdGFibGUgcmVzdWx0cwoJICB3aXRoIGRlZmF1bHQgcGFyYW1zLiBGaXhlcyAjNTExMDAxLgoKMjAwOC0wMS0yMSAxMTowNDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IFVwZGF0ZSBkb2NzIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBVcGRhdGUgZG9jcyBmaWxlIHRvby4KCjIwMDgtMDEtMjEgMTE6MDE6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZHZkc3B1LzogRml4IHVwIGR2ZHNwdSBlbGVtZW50IGFnYWluIGFmdGVyIHByZXZpb3VzIG5hbWVzcGFjZSBtYW5nbGluZzogcmVuYW1lIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIHRvIG9sZCBuYW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6IChnc3RfZHZkX3NwdV9yZW5kZXJfc3B1KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZHZkc3B1X2RlYnVnKSwgKEdTVF9DQVRfREVGQVVMVCksCgkgIChzdWJwaWNfc2lua19mYWN0b3J5KSwgKGdzdF9kdmRfc3B1X2Jhc2VfaW5pdCksCgkgIChnc3RfZHZkX3NwdV9jbGFzc19pbml0KSwgKGdzdF9kdmRfc3B1X2luaXQpLCAoZ3N0X2R2ZF9zcHVfY2xlYXIpLAoJICAoZ3N0X2R2ZF9zcHVfZGlzcG9zZSksIChnc3RfZHZkX3NwdV9maW5hbGl6ZSksCgkgIChnc3RfZHZkX3NwdV9mbHVzaF9zcHVfaW5mbyksIChnc3RfZHZkX3NwdV9idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2R2ZF9zcHVfc3JjX2V2ZW50KSwgKGdzdF9kdmRfc3B1X3ZpZGVvX3NldF9jYXBzKSwKCSAgKGdzdF9kdmRfc3B1X3ZpZGVvX3Byb3h5X2dldGNhcHMpLCAoZ3N0X2R2ZF9zcHVfdmlkZW9fZXZlbnQpLAoJICAoZ3N0X2R2ZF9zcHVfdmlkZW9fY2hhaW4pLCAoZHZzcHVfaGFuZGxlX3ZpZF9idWZmZXIpLAoJICAoZ3N0X2R2ZF9zcHVfcmVkcmF3X3N0aWxsKSwgKGdzdF9kdmRfc3B1X3BhcnNlX2NoZ19jb2xjb24pLAoJICAoZ3N0X2R2ZF9zcHVfZXhlY19jbWRfYmxrKSwgKGdzdF9kdmRfc3B1X2ZpbmlzaF9zcHVfYnVmKSwKCSAgKGdzdF9kdmRfc3B1X3NldHVwX2NtZF9ibGspLCAoZ3N0X2R2ZF9zcHVfaGFuZGxlX25ld19zcHVfYnVmKSwKCSAgKGdzdF9kdmRfc3B1X2hhbmRsZV9kdmRfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfYWR2YW5jZV9zcHUpLAoJICAoZ3N0X2R2ZF9zcHVfY2hlY2tfc3RpbGxfdXBkYXRlcyksIChnc3RfZHZkX3NwdV9zdWJwaWNfY2hhaW4pLAoJICAoZ3N0X2R2ZF9zcHVfc3VicGljX2V2ZW50KSwgKGdzdF9kdmRfc3B1X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZHZkX3NwdV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDogKEdTVF9UWVBFX0RWRF9TUFUpOgoJICBGaXggdXAgZHZkc3B1IGVsZW1lbnQgYWdhaW4gYWZ0ZXIgcHJldmlvdXMgbmFtZXNwYWNlIG1hbmdsaW5nOgoJICByZW5hbWUgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgdG8gb2xkIG5hbWUsIG1hdGNoaW5nIHRoYXQgaW4KCSAgZHZkc3B1LXJlbmRlci5jLCB0byBhdm9pZCB1bmRlZmluZWQgc3ltYm9sIGVycm9yIHdoZW4gbG9hZGluZwoJICB0aGUgbW9kdWxlOyBzYW1lIGZvciB0aGUgX3JlbmRlciBmdW5jdGlvbiBpbiBkdmRzcHUtcmVuZGVyLmM6CgkgIHdlIG11c3QgdXNlIHRoZSBzYW1lIG5hbWUgaW4gYm90aCAuYyBmaWxlczsgY2hhbmdlIGZ1bmN0aW9ucwoJICBub3cgY2FsbGVkIGdzdGdzdF8qIGJhY2sgdG8gZ3N0XyogYWdhaW47IGFuZCB3aGlsZSB3ZSdyZSBhdCBpdCwKCSAgd2UgbWF5IGFzIHdlbGwgY2Fub25pY2FsaXNlIHRoZSBuYW1lc3BhY2UgcHJvcGVybHksIG5hbWVseSB0bwoJICBnc3RfZHZkX3NwdV8qLgoKMjAwOC0wMS0yMSAxMDowNjowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlIGFuZCBhZGRpbmcgc3ltYm9sZCBmcm9tIHVudXNlZCB0byBzZWN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZSBhbmQgYWRkaW5nIHN5bWJvbGQgZnJvbSB1bnVzZWQgdG8gc2VjdGlvbnMuCgoyMDA4LTAxLTIxIDA5OjU3OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldCBldmVuIG1vcmUuCgoyMDA4LTAxLTIxIDA3OjU0OjAyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBVcGRhdGUgeG1sIGluY2x1ZGVzLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBSZWdlbmVyYXRlIGZpbGVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggYnJva2VuIFhNTCBmcmFnbWVudCBpbiBkb2Mgc25pcHBldC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMDgtMDEtMjEgMDc6MjI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCB0aGUgYnVpbGQuIEdTVF9USU1FX0FSR1MgdGFrZXMgYSB0aW1lc3RhbXAgbm90IGEgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBGaXggdGhlIGJ1aWxkLiBHU1RfVElNRV9BUkdTIHRha2VzIGEgdGltZXN0YW1wIG5vdCBhIGJ1ZmZlci4KCjIwMDgtMDEtMjAgMDU6MDc6NTIgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YKCSAgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgd2hpY2ggaXMgd3JvbmcgYWZ0ZXIgYSBzZWVrLgoKMjAwOC0wMS0xOSAxNjoxMzozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEhhbmRsZSBmcmFtZXNpemVzID4gNDA5NiB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGNvcnJlY3RseSBpbiBwdWxsIG1vZGUgYW5kIGhhbmRsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApOgoJICBIYW5kbGUgZnJhbWVzaXplcyA+IDQwOTYgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBjb3JyZWN0bHkKCSAgaW4gcHVsbCBtb2RlIGFuZCBoYW5kbGUgc2hvcnQgcmVhZHMgYmV0dGVyLgoJICBBbHNvIHB1dCBvZmZzZXQgYW5kIG9mZnNldF9lbmQgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDEtMTkgMTU6NTM6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBJbXByb3ZlIGhhbmRsaW5nIG9mIHVua25vd24gb3IgdG9vIHNtYWxsIHVwc3RyZWFtIHNpemVzIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2xvb3ApOgoJICBJbXByb3ZlIGhhbmRsaW5nIG9mIHVua25vd24gb3IgdG9vIHNtYWxsIHVwc3RyZWFtIHNpemVzIGluCgkgIHB1bGwgbW9kZS4KCjIwMDgtMDEtMTkgMTU6Mzk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZm9yIGhhbmRsaW5nIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGluIHB1bGwgbW9kZSBjaG9vc2UgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfbG9vcCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZm9yIGhhbmRsaW5nIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyCgkgIGluIHB1bGwgbW9kZSBjaG9vc2UgdGhlIG5leHQgc21hbGxlc3QgbXVsdGlwbHkgb2YgZnJhbWVzaXplIGJlbG93CgkgIDQwOTYgaW5zdGVhZCBvZiBhbHdheXMgaGFuZGxpbmcgMTAyNCBmcmFtZXMuCgoyMDA4LTAxLTE5IDE0OjM0OjUwICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdCB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0CgkgIHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGlvbiBxdWVyeS4KCjIwMDgtMDEtMTggMTc6Mzc6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBTZXQgdGltZXN0YW1wcyBtb3JlIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksCgkgIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIFNldCB0aW1lc3RhbXBzIG1vcmUgY29ycmVjdGx5LgoKMjAwOC0wMS0xOCAxNjo1NjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLio6IEltcGxlbWVudCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfaW5pdCksIChnc3RfcmF3X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2V0X3NyY19jYXBzKSwgKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksIChnc3RfcmF3X3BhcnNlX2xvb3ApLAoJICAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICBJbXBsZW1lbnQgcHVsbCBtb2RlLgoKMjAwOC0wMS0xOCAxMDowNTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0xOCAwOTo1NDo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEVuYWJsZSBzcGVjdHJ1bSB0ZXN0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRW5hYmxlIHNwZWN0cnVtIHRlc3QgYWdhaW4uCgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBwcmVzc2lvbnMgZm9yIGEgc2luZ2xldG9uIGluIEdJTyB0aGF0IGNhbid0IGJlIGZyZWVkLgoKMjAwOC0wMS0xOCAwODo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9lcXVhbGl6ZXIuYzogKHNldHVwX2VxdWFsaXplciksCgkgIChjbGVhbnVwX2VxdWFsaXplciksIChHU1RfU1RBUlRfVEVTVCksIChlcXVhbGl6ZXJfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoKMjAwOC0wMS0xOCAwNzowMzoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcCBsZWFraW5nCXRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSk6CgkgIFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AKCSAgbGVha2luZwl0aGVtLgoKMjAwOC0wMS0xOCAwNTozMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoKMjAwOC0wMS0xOCAwNToyNDozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChzb3VwX2FkZF9yYW5nZV9oZWFkZXIpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9jaHVuayk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoKMjAwOC0wMS0xNyAxODozOToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLio6IEltcHJvdmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2xlYXJfcXVldWVzKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluZF9zdGFydF9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICBGaXggYnVmZmVyIHNwbGl0dGluZyBhdCBzeW5jIGNvZGVzIGFuZCBsZWZ0b3ZlciBidWZmZXIgYWZ0ZXIKCSAgc2Nhbm5pbmcuCgoyMDA4LTAxLTE3IDE2OjEwOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBGaXhlZCBhZGRpbmcgRVhJRiB0YWdzIHRvIGNvcnJlY3QgSUZELiBNYXBwZWQgc29tZSBYTVAgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGFkZGluZyBFWElGIHRhZ3MgdG8gY29ycmVjdCBJRkQuIE1hcHBlZCBzb21lIFhNUCB0YWdzLgoKMjAwOC0wMS0xNiAxODoyODowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLio6IEFkZCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQgZm9yIGNvbnRhaW5lcnMgdGhhdCBkb24ndCBrbm93IGhvdyB0byBwcm9wZXJseSBzZW5kIGRhdGEgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X25hbF9saXN0X25ldyksCgkgIChnc3RfbmFsX2xpc3RfcHJlcGVuZF9saW5rKSwgKGdzdF9uYWxfbGlzdF9kZWxldGVfaGVhZCksCgkgIChnc3RfbmFsX2JzX2luaXQpLCAoZ3N0X25hbF9ic19yZWFkKSwgKGdzdF9uYWxfYnNfZW9zKSwKCSAgKGdzdF9uYWxfYnNfcmVhZF91ZSksIChnc3RfaDI2NF9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2luaXQpLCAoZ3N0X2gyNjRfcGFyc2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2dldF9wcm9wZXJ0eSksIChnc3RfaDI2NF9wYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2xlYXJfcXVldWVzKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5kX3N0YXJ0X3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfaDI2NF9wYXJzZV9jaGFpbiksCgkgIChnc3RfaDI2NF9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9oMjY0X3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgQWRkIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydCBmb3IgY29udGFpbmVycyB0aGF0IGRvbid0IGtub3cgaG93IHRvCgkgIHByb3Blcmx5IHNlbmQgZGF0YSBiZXR3ZWVuIEktZnJhbWVzLgoKMjAwOC0wMS0xNiAwNTo0MDo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIGZvciBBUEkgY2hhbmdlcyBpbiBHSU8gYW5kIHJlcXVpcmUgR0lPIDIuMTUuMiBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXBkYXRlIGZvciBBUEkgY2hhbmdlcyBpbiBHSU8gYW5kIHJlcXVpcmUgR0lPIDIuMTUuMiBmb3IgdGhpcy4KCjIwMDgtMDEtMTQgMTA6NTI6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogQml0cmF0ZSBpcyA0IGJpdHMsIG5vdCA4IHNvIGNoZWNrIGZvciAweGUgYXMgbWF4aW11bSB2YWx1ZSBpbnN0ZWFkIG9mIDB4ZmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKToKCSAgQml0cmF0ZSBpcyA0IGJpdHMsIG5vdCA4IHNvIGNoZWNrIGZvciAweGUgYXMgbWF4aW11bSB2YWx1ZSBpbnN0ZWFkCgkgIG9mIDB4ZmUuCgoyMDA4LTAxLTE0IDA5OjA5OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IFJlbW92ZSBhY2NpZGVudGlhbGx5IGxlZnRvdmVyIGRlYnVnIHByaW50Zi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpOgoJICBSZW1vdmUgYWNjaWRlbnRpYWxseSBsZWZ0b3ZlciBkZWJ1ZyBwcmludGYuCgoyMDA4LTAxLTE0IDA4OjU2OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IENob29zZSBzbWFsbGVzdCBwb3NzaWJsZSBmcmFtZSBzaXplIGZvciB0aGUgWGluZyBoZWFkZXIsIHByb3Blcmx5IHNldCB0aGUgdGltZXN0YW1wLCBkdXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoaGFzX3hpbmdfaGVhZGVyKSwKCSAgKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwgKGdzdF94aW5nX211eF9jaGFpbiksCgkgIChnc3RfeGluZ19tdXhfc2lua19ldmVudCk6CgkgIENob29zZSBzbWFsbGVzdCBwb3NzaWJsZSBmcmFtZSBzaXplIGZvciB0aGUgWGluZyBoZWFkZXIsIHByb3Blcmx5CgkgIHNldCB0aGUgdGltZXN0YW1wLCBkdXJhdGlvbiBhbmQgb2Zmc2V0IG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLAoJICBvbmx5IHNlbmQgTkVXU0VHTUVOVCBldmVudHMgaW4gQllURSBmb3JtYXQgZG93bnN0cmVhbSBhbmQgYWxzbwoJICBkcm9wIFZCUkkgaGVhZGVycyBpZiBhbHJlYWR5IGV4aXN0aW5nLgoKMjAwOC0wMS0xMiAwOToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvOiBNYWpvciBjbGVhbnVwIGFuZCByZXdyaXRlIG9mIHhpbmdtdXggd2l0aCBsZXNzIGJ1Z3MgYW5kIG5ldyBmZWF0dXJlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAocGFyc2VfaGVhZGVyKSwgKGdldF94aW5nX29mZnNldCksCgkgIChoYXNfeGluZ19oZWFkZXIpLCAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLAoJICAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCksIChnc3RfeGluZ19tdXhfZmluYWxpemUpLCAoeGluZ19yZXNldCksCgkgIChnc3RfeGluZ19tdXhfaW5pdCksIChnc3RfeGluZ19tdXhfY2hhaW4pLAoJICAoZ3N0X3hpbmdfbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X3hpbmdfbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICBNYWpvciBjbGVhbnVwIGFuZCByZXdyaXRlIG9mIHhpbmdtdXggd2l0aCBsZXNzIGJ1Z3MgYW5kIG5ldyBmZWF0dXJlczoKCSAgLSBIYW5kbGVzIG90aGVyIGxheWVycyBhcyAzCgkgIC0gV3JpdGUgVE9DCgoyMDA4LTAxLTExIDE5OjE2OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6ICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoY3JlYXRlX3Rlc3RfYnVmZmVyKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAodGVzdF9idWZmZXJfbmV3KToKCSAgSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCjIwMDgtMDEtMTEgMTc6MDI6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiByZXR1cm5pbmcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQKCSAgb2YgcmV0dXJuaW5nIGFuIGVycm9yLiBGaXhlcyBhIFRPRE8gYXMgZm91bmQgYnkgWW91bmVzcyBBbGFvdWkuCgoyMDA4LTAxLTExIDE2OjQ1OjU3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MgZG90IGFsYW91aSBhdCBjb2xsYWJvcmEgZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvY2Vzc19ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3N5bmNfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfY2xvY2tfcmF0ZV9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfcmVjb25zaWRlcl9jYWxsYmFjayksIChzb3VyY2VfcHVzaF9ydHApLAoJICAoc291cmNlX2Nsb2NrX3JhdGUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTA4NTg3LgoKMjAwOC0wMS0xMSAxNTo1ODoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiBTbWFsbCBtZWFuaW5nbGVzcyBjbGVhbnVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfdXRpbF9maW5kX3N0YXJ0X2NvZGUpOgoJICBTbWFsbCBtZWFuaW5nbGVzcyBjbGVhbnVwLgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKHNjYW5fa2V5ZnJhbWUpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoX2RlY29kZSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFRyYWNrIHNlZ21lbnQgZXZlbnRzLgoJICBEbyB0aGUgZmlyc3QgcGFydCBvZiByZXZlcnNlIHBsYXliYWNrIGJ5IHNlbmRpbmcgZGF0YSBiZXR3ZWVuIHR3bwoJICBJLWZyYW1lcyB0byB0aGUgZGVjb2Rlci4KCjIwMDgtMDEtMTAgMjA6NTc6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgRml4IGRvY3VtZW50YXRpb24gZm9yIGxhdGVzdCBwYXRjaAoKMjAwOC0wMS0xMCAxNDozNDozMCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCjIwMDgtMDEtMTAgMTI6MzY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzCgkgIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UgcmVxdWlyZSBHTlUgbWFrZSBpbiBhbG1vc3QKCSAgZXZlcnkgTWFrZWZpbGUgYW55d2F5LgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFNX1BST0dfQ0NfQ19PIGFzIGEgY29tcGlsZXIgdGhhdCBhY2NlcHRzIGJvdGggLWMgYW5kIC1vCgkgIGF0IHRoZSBzYW1lIHRpbWUgaXMgcmVxdWlyZWQgZm9yIHBlciB0YXJnZXQgZmxhZ3MuCgoyMDA4LTAxLTA5IDE0OjM5OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIgcGFkIGNhbiByZW5lZ290Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyCgkgIHBhZCBjYW4gcmVuZWdvdGlhdGUgdG8uIEZpeGVzICM1MDc5NDAuCgoyMDA4LTAxLTA5IDEzOjUzOjIxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZGluZyBjb3ZlcmFnZSByZXBvcnRzLiBBZGQgdG9wLWxldmVsIGNoZWNrIHRhcmdldHMgc2ltaWxhciB0byBvdGhlciBnc3QgcGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGRpbmcgY292ZXJhZ2UgcmVwb3J0cy4gQWRkIHRvcC1sZXZlbAoJICBjaGVjayB0YXJnZXRzIHNpbWlsYXIgdG8gb3RoZXIgZ3N0IHBhY2thZ2VzLgoKMjAwOC0wMS0wNiAyMjozNTozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCBHU1RfQ0ZMQUdTLiAgT3RoZXJ3aXNlIHdlIGRvbid0IGdldCAtV2FsbCAtV2Vycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfQ0ZMQUdTLiAgT3RoZXJ3aXNlIHdlIGRvbid0IGdldCAtV2FsbCAtV2Vycm9yLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgR2V0dGluZyB0aXJlZCBvZiBkaXJlY3RmYidzIGNoYXR0ZXIuICBRdWlldCBpdC4KCjIwMDgtMDEtMDYgMjI6MDA6MzIgKzAwMDAgIFNlYW4gRCdFcGFnbmllciA8c2VhbkBkZXBhZ25pZXIuY29tPgoKCSAgQWRkIGZiZGV2LWJhc2VkIHZpZGVvIHNpbmsuICBMaW51eC1vbmx5LiAgU2VlIGJ1ZyAjNTA2NTQ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYW4gRCdFcGFnbmllciA8c2VhbkBkZXBhZ25pZXIuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkgIEFkZCBmYmRldi1iYXNlZCB2aWRlbyBzaW5rLiAgTGludXgtb25seS4gIFNlZSBidWcgIzUwNjU0OS4KCjIwMDgtMDEtMDYgMTY6MzY6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSB0byBHTWVtb3J5SW5wdXRTdHJlYW0gQVBJIGNoYW5nZXMgaW4gR0xpYiBTVk4gYW5kIHJlcXVpcmUgZ2lvLTIuMCA+PSAyLjE1LjEgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTA3NTg0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChmcmVlX2lucHV0KSwgKEdTVF9TVEFSVF9URVNUKToKCSAgVXBkYXRlIHRvIEdNZW1vcnlJbnB1dFN0cmVhbSBBUEkgY2hhbmdlcyBpbiBHTGliIFNWTiBhbmQgcmVxdWlyZQoJICBnaW8tMi4wID49IDIuMTUuMSBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MDc1ODQuCgkgIFdlIGNhbiBhbHNvIHJlcG9ydCB0aGUgZHVyYXRpb24gZm9yIGV2ZXJ5IEdTZWVrYWJsZSwgbm90IG9ubHkKCSAgR0ZpbGVJbnB1dFN0cmVhbSBhbmQgR01lbW9yeUlucHV0U3RyZWFtLgoKMjAwOC0wMS0wNiAwMzowMTozOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcyBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgSGFuZGxlIHhvdmVybGF5IGV4cG9zZXMgY29ycmVjdGx5LiAgVGhpcyBtZWFucyBnbGltYWdlc2luayB3b3JrcwoJICBjb3JyZWN0bHkgbW9zdCBvZiB0aGUgdGltZSBpbiB0b3RlbSAoZnVsbHNjcmVlbmluZyBiZWluZyBhbgoJICBleGVjcHRpb24pLiAgRG9lc24ndCBoYW5kbGUgZXhwb3NlIGV2ZW50cyBkaXJlY3RseSB0byB0aGUgR0wKCSAgd2luZG93LgoKMjAwOC0wMS0wNiAwMToxOTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZQoJICB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjb2RlLgoKMjAwOC0wMS0wNCAxODo0Nzo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgRml4ZXMgIzUwNzAyMC4KCjIwMDgtMDEtMDMgMjM6MzU6NTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICBSZW1vdmUgbm8gbG9uZ2VyIG5lZWRlZCBmaWxlcy4KCjIwMDgtMDEtMDIgMjA6NDk6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdmNkc3JjIGluIHN0YXRlcyB0ZXN0IGJlY2F1c2UgaXQgdGFrZXMgdG9vIG11Y2ggdGltZSB0byBnZXQgdG8gUExBWUlORyBpZiBpdCBjYW4gZmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHZjZHNyYyBpbiBzdGF0ZXMgdGVzdCBiZWNhdXNlIGl0IHRha2VzIHRvbyBtdWNoIHRpbWUKCSAgdG8gZ2V0IHRvIFBMQVlJTkcgaWYgaXQgY2FuIGZpbmQgYSBkZXZpY2UuCgoyMDA4LTAxLTAxIDAxOjE4OjE5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogRG9uJ3QgZW1pdCBzaWduaXR1cmUgd2hlbiBnb2luZyB0byBSRUFEWSwgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgcmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgRG9uJ3QgZW1pdCBzaWduaXR1cmUgd2hlbiBnb2luZyB0byBSRUFEWSwgYmVjYXVzZSBpdCBtaWdodAoJICBub3QgYmUgcmVhZHkuCgkgICogZXh0L25hcy9uYXNzaW5rLmM6CgkgIFJlbW92ZSB1c2VsZXNzIGNhbGwgdGhhdCBzbGVlcHMgZm9yIDUgc2Vjb25kcy4gIFl1cCwgaXQgY2FsbHMKCSAgc2xlZXAoMSkgNSB0aW1lcy4gIEdvIE5BUy4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBJbml0aWFsaXplIG91ciBkZWJ1ZyBjYXRlZ29yaWVzIHByb3Blcmx5LgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBEb24ndCByZWdpc3RlciBlbGVtZW50IGRldGFpbHMgZm9yIGEgbm9uLWVsZW1lbnQuICBCZSBtdWNoIG1vcmUKCSAgcnVkZSB3aGVuIHN1YmNsYXNzIGRvZXNuJ3Qgc2V0IGEgcGFkIHRlbXBsYXRlIChhc3NlcnQhKS4gIERvbid0CgkgIHVucmVmIHRoZSBwYWQgdGVtcGxhdGU7IHdlIGRvbid0IG93biBpdC4KCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBuYXNzaW5rIGVsZW1lbnQgaW4gdGVzdHMgYmVjYXVzZSBpdCBoYXMgdW5hdm9pZGFibGUKCSAgbG9uZyB0aW1lb3V0cy4KCjIwMDctMTItMzEgMTM6MTI6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgY2xlYW4gdXAgcGFkcyB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCjIwMDctMTItMzEgMDc6NTU6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nIGEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZQoJICByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcKCSAgYSBjaGVjayBmb3IgcHJlLXBrZ2NvbmZpZyB2ZXJzaW9ucy4KCjIwMDctMTItMjkgMTc6MzE6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZCBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6IChnc3RfbXZlX211eF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiAoZHZiX2Jhc2VfYmluX2NsYXNzX2luaXQpOgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQKCSAgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW5kIGRvbid0CgkgIGFib3J0KCkgaW4gYW55IGNhc2UgYnV0IHByb3Blcmx5IHJlcG9ydCB0aGUgZXJyb3IuCgoyMDA3LTEyLTI5IDE3OjI5OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgdG8gbGF0ZXN0IEFQSSBjaGFuZ2VzIGluIEdMaWIvR0lPIGFuZCByZXF1aXJlIGF0IGxlYXN0IGdpby0yLjAgMi4xNS4wIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dpby9nc3RnaW8uYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICBVcGRhdGUgdG8gbGF0ZXN0IEFQSSBjaGFuZ2VzIGluIEdMaWIvR0lPIGFuZCByZXF1aXJlIGF0IGxlYXN0CgkgIGdpby0yLjAgMi4xNS4wIGZvciB0aGlzLgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfUExVR0lOX0xERkxBR1MgdG8gTERGTEFHUy4KCjIwMDctMTItMjkgMDA6Mzc6NDEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4KCSAgSGFuZGxlIGNhcHMgbmVnb3RpYXRpb24gbW9zdGx5IGNvcnJlY3RseS4gIFJlZW5hYmxlIGluIGJ1aWxkLgoKMjAwNy0xMi0yOCAxMTo0NDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zb3VwLzogVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoc291cF9nb3RfaGVhZGVycyk6CgkgIFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbgoJICBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCjIwMDctMTItMjcgMDU6MjY6MDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcyBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIENoYW5nZSBnbGltYWdlc2luayBvdmVyIHRvIHVzaW5nIEdMIGJ1ZmZlcnMuICBUaGlzIGJyZWFrcwoJICBnbGltYWdlc2luayBmb3Igbm9ybWFsIG9wZXJhdGlvbiwgYnV0IHNob3VsZCBiZSBmaXhlZCBzb29uLgoKMjAwNy0xMi0yNyAwNDoxNToyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZSB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlCgkgIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdXMgZm9ybWF0cyB0bwoJICBkb3dubG9hZGluZy4gIEZpeCBhIGZldyBwbGFjZXMgd2hlcmUgd2UgbGVhayBHTCBzdGF0ZSB0bwoJICBvdGhlciBlbGVtZW50cyAoYmFkLCBidXQgaGFyZCB0byBwcmV2ZW50KS4KCjIwMDctMTItMjcgMDA6NTI6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbW92ZSBjb2RlIHRoYXQgaGFuZGxlcyBub24tdGV4dHVyZSBidWZmZXJzLiAgQWRkIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9CVUdTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlbW92ZSBjb2RlIHRoYXQgaGFuZGxlcyBub24tdGV4dHVyZSBidWZmZXJzLiAgQWRkIGEKCSAgR3N0R0xCdWZmZXJGb3JtYXQgdHlwZSB0aGF0IGNvcnJlc3BvbmRzIHRvIGhvdyB0byB1c2UgdGhlCgkgIHRleHR1cmUsIG5vdCB0aGUgb3JpZ2luYWwgdmlkZW8gZm9ybWF0LiAgQ29udmVydCBnc3RmbGZpbHRlci5jCgkgIGludG8gYSBiYXNlIGNsYXNzLCBhZGQgZ2xmaWx0ZXJleGFtcGxlIGFuZCBnbGNvbnZlcnQgZWxlbWVudHMuCgkgICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzoKCSAgTWlub3IgcmFtYmxpbmdzIGFib3V0IGNvbG9yIGNvbnZlcnNpb24gbWF0cmljZXMuCgoyMDA3LTEyLTI1IDAwOjM0OjE0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBBZGQgZ2x0ZXN0c3JjIGVsZW1lbnQsIGEgZHVwbGljYXRlIG9mIHZpZGVvdGVzdHNyYyB0aGF0IHVzZXMKCSAgR0wgcmVuZGVyaW5nIHRvIGNyZWF0ZSBpbWFnZXMuICBNb3JlIGNsZWFudXAuCgoyMDA3LTEyLTI0IDIxOjI2OjQwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDbGVhbiB1cCBjb2RlLiAgRml4IGEgZmV3IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICBDbGVhbiB1cCBjb2RlLiAgRml4IGEgZmV3IGxlYWtzLgoKMjAwNy0xMi0yNCAyMTowNDo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgoyMDA3LTEyLTI0IDIwOjUzOjU2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZSBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUKCSAgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwgZmlsdGVyaW5nIGFsbAoJICB3b3JrLgoKMjAwNy0xMi0yMyAyMjowNDowMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS86IFJlbW92ZSB2aWRlb3BhcnNlIGVsZW1lbnQsIGJlY2F1c2UgaXQgd2FzIG1vdmVkIHRvIGdzdC9yYXdwYXJzZS8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcGFyc2UvUkVBRE1FOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgUmVtb3ZlIHZpZGVvcGFyc2UgZWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbW92ZWQgdG8gZ3N0L3Jhd3BhcnNlLwoKMjAwNy0xMi0yMyAxMDozNDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEFsd2F5cyBzZWVrIG9uIGZyYW1lIGJvdW5kYXJpZXMsIHdpbGwgcHJvZHVjZSBub3RoaW5nIHVzZWZ1bCBvdGhlcndpc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpOgoJICBBbHdheXMgc2VlayBvbiBmcmFtZSBib3VuZGFyaWVzLCB3aWxsIHByb2R1Y2Ugbm90aGluZyB1c2VmdWwKCSAgb3RoZXJ3aXNlLgoKMjAwNy0xMi0yMyAwNjoyMjozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIG5ldyBwbHVnaW4gcmF3cGFyc2UgdGhhdCBjb250YWlucyBhIGJhc2UgY2xhc3MgZm9yIHJhdyBkYXRhIHBhcnNlcnMgYW5kIHRoZSB0d28gZWxlbWVudHMgYXVkaW9wYXJzZSBhbmQgdmlkZW9wYXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL1JFQURNRToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOiAoZ3N0X2F1ZGlvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksIChnc3RfYXVkaW9fcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19wYXJzZV9pbml0KSwKCSAgKGdzdF9hdWRpb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9fcGFyc2VfdXBkYXRlX2ZyYW1lX3NpemUpLCAoZ3N0X2F1ZGlvX3BhcnNlX2dldF9jYXBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9yYXdfcGFyc2VfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19zZXRfc3JjX3BhZF90ZW1wbGF0ZSksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX3NldF9tdWx0aXBsZV9mcmFtZXNfcGVyX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX3Jlc2V0KSwgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3Jhd19wYXJzZV9jb252ZXJ0KSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCksIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeV90eXBlKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF9yYXdfcGFyc2Vfc2V0X2ZyYW1lc2l6ZSksCgkgIChnc3RfcmF3X3BhcnNlX3NldF9mcHMpLCAoZ3N0X3Jhd19wYXJzZV9nZXRfZnBzKSwKCSAgKGdzdF9yYXdfcGFyc2VfaXNfbmVnb3RpYXRlZCk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF90b19mb3VyY2MpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3VwZGF0ZV9mcmFtZV9zaXplKSwgKGdzdF92aWRlb19wYXJzZV9nZXRfY2Fwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBuZXcgcGx1Z2luIHJhd3BhcnNlIHRoYXQgY29udGFpbnMgYSBiYXNlIGNsYXNzIGZvciByYXcgZGF0YQoJICBwYXJzZXJzIGFuZCB0aGUgdHdvIGVsZW1lbnRzIGF1ZGlvcGFyc2UgYW5kIHZpZGVvcGFyc2UgdGhhdCBjYW4KCSAgYmUgdXNlZCB0byBwYXJzZSByYXcgYXVkaW8gYW5kIHZpZGVvLiBUaGVzZSBhcmUgaW5zcGlyZWQgYnkgdGhlCgkgIG9sZCB2aWRlb3BhcnNlIGVsZW1lbnQgd2hpY2ggdGhlIG5ldyByYXdwYXJzZSBwbHVnaW4gZGVwcmVjYXRlcy4KCjIwMDctMTItMjIgMDU6MDE6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZSByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiAgQ2hlY2twb2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UKCSAgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gIENoZWNrcG9pbnQgYmVjYXVzZSBJJ20gYWJvdXQKCSAgdG8gcmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUuCgoyMDA3LTEyLTIxIDE5OjAxOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkgIFNvbWUgSVBUQyB0YWdzIG1hcHBlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgSVBUQyB0YWdzIG1hcHBlZC4KCjIwMDctMTItMjEgMDk6NDU6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJICBSZW1vdmVkIGdzdG1ldGFkYXRhY29tbW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBnc3RtZXRhZGF0YWNvbW1vbi4KCjIwMDctMTItMjEgMDA6MDM6MTEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFN3aXRjaCB0byB1c2luZyBmcmFtZWJ1ZmZlcl9vYmplY3RzIGluc3RlYWQgb2YgR0xYUGl4bWFwcywgYmVjYXVzZSB0aGF0J3Mgd2hhdCBteSBkcml2ZXIgc3VwcG9ydHMuICBSZW1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFN3aXRjaCB0byB1c2luZyBmcmFtZWJ1ZmZlcl9vYmplY3RzIGluc3RlYWQgb2YgR0xYUGl4bWFwcywKCSAgYmVjYXVzZSB0aGF0J3Mgd2hhdCBteSBkcml2ZXIgc3VwcG9ydHMuICBSZW1vdmUgR0xEcmF3YWJsZSwKCSAgc2luY2UgR3N0R0xEaXNwbGF5IG5vdyBoYXMgYSBkZWZhdWx0IGRyYXdhYmxlIGFuZCBjb250ZXh0LgoKMjAwNy0xMi0yMCAxNzowNzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDctMTItMTkgMDk6NTA6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE5ldyBiYXNlIGNsYXNzIGZvciBtZXRhZGF0YSBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5ldyBiYXNlIGNsYXNzIGZvciBtZXRhZGF0YSBlbGVtZW50cy4KCjIwMDctMTItMTggMTY6MDg6MTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChlbnVtLCBnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkgKGdzdF9zZWxlY3Rvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChlbnVtLCBnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3J1bm5pbmdfdGltZSkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCwgZ3N0X3NlZ21lbnRfZ2V0X3RpbWVzdGFtcCkKCSAgKGdzdF9zZWdtZW50X3NldF9zdG9wLCBnc3Rfc2VnbWVudF9zZXRfc3RhcnQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogQ2hhbmdlIHNvIHRoYXQgdGhlIHNpZ25hbHMgYW5kCgkgIHByb3BlcnRpZXMgZGVhbCBpbiBydW5uaW5nIHRpbWUsIG5vdCBidWZmZXIgdGltZS4gRG9jdW1lbnQgdGhlCgkgIHNpZ25hbHMgbW9yZS4gQ2hhbmdlIHVpbnQ2NCBpbiBBUEkgdG8gaW50NjQsIHRvIHJlZmxlY3Qgd2hhdCdzIGluCgkgIEdzdFNlZ21lbnQuCgoyMDA3LTEyLTE4IDA5OjI2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0IGZpbGVzIChzZWUgIzM5MzYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdAoJICBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGZvciBsaWJnc3R2aWRlbyBhZGRpdGlvbnMgaW4KCSAgZ2xpbWFnZXNpbmsuIERpc2FibGUgZ2xpbWFnZXNpbmsgdW50aWwgdGhlIG1pc3NpbmcgZmlsZXMgZ2V0CgkgIGNoZWNrZWQgaW4uCgoyMDA3LTEyLTE4IDAxOjI1OjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZAoJICBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Zi4gIFVudGVzdGVkLiAgV2lsbAoJICBsaWtlbHkgY3Jhc2ggeW91ciBtb3RvcmN5Y2xlIGlmIHlvdSB0cnkgaXQuCgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBSZW1vdmUuCgoyMDA3LTEyLTE3IDIxOjEyOjI4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLio6IFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZCBhbiBFT1MgaW5zdGVhZCBvZiBjYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIFdoZW4gc3Vic2VxdWVudCBmaWxlcyBhcmUgcmVhZCwgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdCwgc2VuZAoJICBhbiBFT1MgaW5zdGVhZCBvZiBjYXVzaW5nIGFuIGVycm9yLgoKMjAwNy0xMi0xNyAxNTowOToxNyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFJldHVybiBPSyB3aGVuIGEgYnVmZmVyIGlzIGlnbm9yZWQsIG5vdCBOT1RfTElOS0VELiBObyBzZW5zZSBpbiBtYWtpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBSZXR1cm4gT0sgd2hlbgoJICBhIGJ1ZmZlciBpcyBpZ25vcmVkLCBub3QgTk9UX0xJTktFRC4gTm8gc2Vuc2UgaW4gbWFraW5nIGEgc291cmNlCgkgIGVsZW1lbnQgZXJyb3Igb3V0OyBhdCBsZWFzdCBmZHNyYyBjb25zaWRlcnMgTk9UX0xJTktFRCB0byBiZSBhCgkgIGZhdGFsIGVycm9yLiBQYXRjaCAxMS8xMi4gVGhlcmUgaXMgbm8gcGF0Y2ggMTIvMTIuIEZvby4KCjIwMDctMTItMTcgMTU6MDY6NDggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogTWFrZSB0aGUgYmxvY2soKSBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogTWFrZSB0aGUgYmxvY2soKSBzaWduYWwgcmV0dXJuIHRoZQoJICBsYXN0IHN0b3AgdGltZSBvZiB0aGUgYWN0aXZlIHBhZC4gUGF0Y2ggMTAvMTIuCgoyMDA3LTEyLTE3IDE1OjA0OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0LCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0LCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6IEV4cG9zZSAnbGFzdC1zdG9wLXRpbWUnIGFzIGEKCSAgcGFkIHByb3BlcnR5LCBub3QgYW4gZWxlbWVudCBwcm9wZXJ0eS4KCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBNYXJrIHRoZSBsYXN0X3N0b3AgdGltZSBhcyB0aW1lc3RhbXAgKwoJICBkdXJhdGlvbiwgbm90IHRpbWVzdGFtcC4gUGF0Y2ggOS8xMi4KCjIwMDctMTItMTcgMTU6MDE6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2hhbmdlX3N0YXRlKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaywgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBVc2UgdGhlCgkgIGNvbmQgbWVjaGFuaXNtIGluc3RlYWQgb2YgYmxvY2tlZCBwYWRzLiBQYXRjaCA4LzEyLgoKMjAwNy0xMi0xNyAxNTowMDoxNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfd2FpdCkgKGdzdF9zZWxlY3Rvcl9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfd2FpdCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4sIGdzdF9zdHJlYW1fc2VsZWN0b3JfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZGlzcG9zZSk6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgbmV3IGJsb2NraW5nCgkgIG1lY2hhbmlzbSB0aGF0IGRvZXMgbm90IHVzZSBnc3RfcGFkX3NldF9ibG9ja2VkLCB3aGljaCBkb2VzIG5vdAoJICB3b3JrIG9uIHNpbmsgcGFkcy4gUGF0Y2ggNy8xMi4KCjIwMDctMTItMTcgMTQ6NTg6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2dldF9wcm9wZXJ0eSk6IEFkZCBsYXN0LXN0b3AtdGltZSByZWFkYWJsZQoJICBwcm9wZXJ0eS4gUGF0Y2ggNi8xMi4KCjIwMDctMTItMTcgMTQ6NTU6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBBZGQgc29tZSBzdGF0ZSB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBBZGQgc29tZQoJICBzdGF0ZSB2YXJpYWJsZXMuCgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBQdXNoIGFueSBwZW5kaW5nIHN0b3AgZXZlbnQuCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpOiBGYWN0b3Igb3V0IHNldHRpbmcgdGhlIGFjdGl2ZQoJICBwYWQgdG8gYSBmdW5jdGlvbi4gQ2xvc2UgdGhlIHNlZ21lbnQgb2YgdGhlIHByZXZpb3VzIGFjdGl2ZSBwYWQgaWYKCSAgdG9sZCB0byBkbyBzbyB2aWEgYSBzdG9wX3RpbWUgIT0gR1NUX0NMT0NLX1RJTUVfTk9ORS4KCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogSW1wbGVtZW50IHN3aXRjaCB2bWV0aG9kLiBQYXRjaCA1LzEyLgoKMjAwNy0xMi0xNyAxNDo1MjoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IEltcGxlbWVudCB0aGUgYmxvY2soKSBzaWduYWwuIFRoaXMgaW1wbGVtZW50YXRpb24gd2lsbCBiZSByZXBsYWNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBJbXBsZW1lbnQKCSAgdGhlIGJsb2NrKCkgc2lnbmFsLiBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgcmVwbGFjZWQgaW4gZnV0dXJlCgkgIHBhdGNoZXMsIGhvd2V2ZXIuIFBhdGNoIDQvMTIuCgoyMDA3LTEyLTE3IDE0OjQ4OjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOiBGaXggdm1ldGhvZCBwcm90b3R5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOiBGaXgKCSAgdm1ldGhvZCBwcm90b3R5cGVzLgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2ssIGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogQWRkIGVtcHR5CgkgIHZtZXRob2QgZGVmaW5pdGlvbnMuIFBhdGNoIDMvMTIuCgoyMDA3LTEyLTE3IDE0OjQ2OjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC4qOiBBZGQgYGJsb2NrJyBhbmQgYHN3aXRjaCcgc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOiBBZGQKCSAgYGJsb2NrJyBhbmQgYHN3aXRjaCcgc2lnbmFscy4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDogQWRkIGZvbyB0byBnZW5lcmF0ZSBhCgkgIG1hcnNoYWxsZXIgZm9yIHRoZSBgc3dpdGNoJyBzaWduYWwuIFBhdGNoIDIvMTIuCgoyMDA3LTEyLTE3IDE0OjQzOjA0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC4qOiBSZXBsYWNlIHdpdGggZmlsZXMgZnJvbSBnc3RzdHJlYW1zZWxlY3Rvci5bY2hdLCByZWdpc3RlcmVkIGFzIHRoZSAic3dpdGNoIiBwbHVnaW4sIHdpdGggIkdzdFMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiBSZXBsYWNlIHdpdGggZmlsZXMgZnJvbQoJICBnc3RzdHJlYW1zZWxlY3Rvci5bY2hdLCByZWdpc3RlcmVkIGFzIHRoZSAic3dpdGNoIiBwbHVnaW4sIHdpdGgKCSAgIkdzdFN3aXRjaCIgdHlwZXMuIFBhdGNoIDEvMTIuCgoyMDA3LTEyLTE3IDE0OjM3OjM5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxpYnNvdXAgcGx1Z2luIHRvIHNwZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsaWJzb3VwIHBsdWdpbiB0byBzcGVjCgoyMDA3LTEyLTE3IDEyOjM3OjM2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWV0YWRhdGFFZGl0b3JNYWluLmdsYWRlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkZWQgInBhcnNlLW9ubHkiIHByb3BlcnR5IHRvIG1ldGFkYXRhZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCAicGFyc2Utb25seSIgcHJvcGVydHkgdG8gbWV0YWRhdGFkZW11eC4KCjIwMDctMTItMTYgMjI6NTc6MjIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbmFtZSBHTFZpZGVvKiB0byBHc3RHTCouCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgIFJlbmFtZSBHTFZpZGVvKiB0byBHc3RHTCouCgoyMDA3LTEyLTE2IDAwOjE2OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15IGRyaXZlci4gOigKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgIEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkKCSAgZHJpdmVyLiA6KAoKMjAwNy0xMi0xNSAxOTozMToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIHN1cHBvcnQgZm9yIHhSR0IsIHhCR1IsIGFuZCBBWVVWLiAgUmUtYWRkIHN1cHBvcnQgZm9yIHBvd2VyLW9mLTIgdGV4dHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHhSR0IsIHhCR1IsIGFuZCBBWVVWLiAgUmUtYWRkIHN1cHBvcnQgZm9yCgkgIHBvd2VyLW9mLTIgdGV4dHVyZXMuCgoyMDA3LTEyLTE1IDE3OjUyOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZyZWUgdGhlIGFkYXB0ZXIgb24gZGlzcG9zZSBhbmQgY29ycmVjdGx5IHJlc2V0IG9uIG5ld3NlZ21lbnQgZXZlbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfZGlzcG9zZSksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEZyZWUgdGhlIGFkYXB0ZXIgb24gZGlzcG9zZSBhbmQgY29ycmVjdGx5IHJlc2V0IG9uIG5ld3NlZ21lbnQgZXZlbnRzLgoKMjAwNy0xMi0xNSAxMzoxMDowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBJbXByb3ZlIGR1cmF0aW9uIHF1ZXJ5IGJ5IGZpcnN0IGFza2luZyB1cHN0cmVhbSBhbmQgaWYgaXQgY2FuJ3QgaGFuZGxlIHRoZSBxdWVyeSB0cnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeSk6CgkgIEltcHJvdmUgZHVyYXRpb24gcXVlcnkgYnkgZmlyc3QgYXNraW5nIHVwc3RyZWFtIGFuZCBpZiBpdCBjYW4ndCBoYW5kbGUKCSAgdGhlIHF1ZXJ5IHRyeSB0byBnZXQgdGhlIGR1cmF0aW9uIGluIGJ5dGVzIGZyb20gdXBzdHJlYW0gYW5kIGNvbnZlcnQuCgkgIEZvciBzZWVrcywgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgdGhpcyBhbHJlYWR5IGZpcnN0IGFuZCBkbyBvdXIKCSAgY29udmVyc2lvbiB0byBieXRlIGZvcm1hdCBvbmx5IGlmIGl0IGRvZXNuJ3QgYW5kIGlmIHdlIGdldCBhCgkgIG5ld3NlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQga2VlcCBpdCBhbmQgb25seSBkbyBvdXIgY29udmVyc2lvbnMKCSAgaWYgdGhlIGV2ZW50IGhhcyBhbm90aGVyIGZvcm1hdC4KCjIwMDctMTItMTUgMDc6Mzc6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXJnYiBhbmQgdmlkZW8veC1yYXctZ3JheS4gQWxzbyBzZW5kIGRvd25zdHJlYW0gZWxlbWVudHMgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X3RvX2ZvdXJjYyksCgkgIChnc3RfdmlkZW9fcGFyc2VfdXBkYXRlX2Jsb2NrX3NpemUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2NoYWluKSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgQWRkIHN1cHBvcnQgZm9yIHZpZGVvL3gtcmF3LXJnYiBhbmQgdmlkZW8veC1yYXctZ3JheS4gQWxzbyBzZW5kCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgZG93bnN0cmVhbSwgbm90IHVwc3RyZWFtLgoKMjAwNy0xMi0xNSAwNjozMzozNyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi4qOiBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLgoJICBUaGlzIHNob3VsZCBldmVudHVhbGx5IG1vdmUgdG8gLWJhc2UuCgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFVzZSB0aGUgbmV3IHZpZGVvLWNvbW1vbi5oIHN0dWZmLiAgUmVhZGQgc3VwcG9ydCBmb3IgUkdCIHZpZGVvLgoKMjAwNy0xMi0xNCAxODoxODozNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkZWQgbmV3IG1vZHVsZSBmb3IgY29tbW9uIGZ1bmN0aW9ucy4gVXNpbmcgR1NUX1RZUEVfRlJBQ1RJT04gZm9yIEV4aWYgKFMpUmF0aW9uYWwgdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBuZXcgbW9kdWxlIGZvciBjb21tb24gZnVuY3Rpb25zLiBVc2luZyBHU1RfVFlQRV9GUkFDVElPTiBmb3IgRXhpZiAoUylSYXRpb25hbCB0eXBlcy4KCjIwMDctMTItMTQgMTc6NTE6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci4qOiBIYXNoIHN0cmVhbXMgYnkgcGlkIGFnYWluLiBBZGQgYSBsaW5rZWQgbGlzdCBpbnNpZGUgZWFjaCBzdHJlYW0gd2l0aCBhIGxpc3Qgb2Ygc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICBIYXNoIHN0cmVhbXMgYnkgcGlkIGFnYWluLiBBZGQgYSBsaW5rZWQgbGlzdCBpbnNpZGUgZWFjaAoJICBzdHJlYW0gd2l0aCBhIGxpc3Qgb2Ygc3ViX3RhYmxlcy4gRml4IG11bHRpcGxlIHNlY3Rpb25zCgkgIGFzIGl0IHdhcyBib3JrZWQgd2l0aCBteSBsYXN0IGNvbW1pdC4KCjIwMDctMTItMTQgMTY6MjM6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoKMjAwNy0xMi0xMyAxNzoxOTo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIENvZGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvZGUgZG9jdW1lbnRhdGlvbi4KCjIwMDctMTItMTMgMTI6NDU6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NYWtlZmlsZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWV0YWRhdGFFZGl0b3JNYWluLmdsYWRlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkZWQgYSB0ZXN0IGFwcGxpY2F0aW9uLiBBZGRlZCBzb21lIEVYSUYgdGFncy4gRml4ZWQgYSBtdXhlciBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIHRlc3QgYXBwbGljYXRpb24uIEFkZGVkIHNvbWUgRVhJRiB0YWdzLiBGaXhlZCBhIG11eGVyIGJ1Zy4KCjIwMDctMTItMTMgMTE6MjU6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSW1wbGVtZW50IGEgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWQsIGltcGxlbWVudCBzZWVraW5nIGFuZCB1c2UgQU5ZIGNhcHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnlfdHlwZSk6CgkgIEltcGxlbWVudCBhIHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkLCBpbXBsZW1lbnQgc2Vla2luZwoJICBhbmQgdXNlIEFOWSBjYXBzIGZvciB0aGUgc2luayBwYWQgYXMgdGhlIGVsZW1lbnQgZG9lc24ndCBjYXJlIHdoYXQKCSAgY2FwcyB0aGUgaW5wdXQgaGFzIGFuZCBldmVyeXRoaW5nIGlzIGhhbmRsZWQgdmlhIHByb3BlcnRpZXMuCgoyMDA3LTEyLTEzIDEwOjM4OjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEhhbmRsZSAtMSB2YWx1ZXMgZm9yIHRoZSBDT05WRVJUIHF1ZXJ5IHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2NvbnZlcnQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBIYW5kbGUgLTEgdmFsdWVzIGZvciB0aGUgQ09OVkVSVCBxdWVyeSB0b28uCgoyMDA3LTEyLTEzIDEwOjE2OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEFkZCBZVjEyIHRvIHRoZSBwYWQgdGVtcGxhdGVzIGFzIGl0IGlzIHN1cHBvcnRlZCB0b28gYW5kIGFsbG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgQWRkIFlWMTIgdG8gdGhlIHBhZCB0ZW1wbGF0ZXMgYXMgaXQgaXMgc3VwcG9ydGVkIHRvbyBhbmQgYWxsb3cKCSAgLTEgYXMgc3RvcCBwb3NpdGlvbiBmb3IgTkVXU0VHTUVOVCBldmVudHMuCgoyMDA3LTEyLTEzIDA4OjU0OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbTogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIHRvIENGTEFHUyB0byBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIHRvIENGTEFHUyB0byBmaXggdGhlIGJ1aWxkLgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBnX3ZhbHVlX1tzZ11ldF9lbnVtKCkgZm9yIGVudW0gcHJvcGVydGllcywgZ192YWx1ZV9bc2ddZXRfaW50KCkKCSAgZ2l2ZXMgYSBnX2NyaXRpY2FsKCkuCgoyMDA3LTEyLTEzIDA0OjQzOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlLzogQWRkIGEgYnVuY2ggb2YgZmVhdHVyZXM6IGhhbmRsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwgaGFuZGxlIHF1ZXJpZXMgYW5kIGNvbnZlcnNpb24uICBXb3JrcyBtdWNoIGxpay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9SRUFETUU6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBZGQgYSBidW5jaCBvZiBmZWF0dXJlczogaGFuZGxlIGZvcm1hdCBzcGVjaWZpY2F0aW9uLCBoYW5kbGUKCSAgcXVlcmllcyBhbmQgY29udmVyc2lvbi4gIFdvcmtzIG11Y2ggbGlrZSBhIG5vcm1hbCBwYXJzZXIgbm93LgoKMjAwNy0xMi0xMiAxNjo1OTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGdzdF9ydHBfc3NyY19kZW11eF9yZXNldCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA3LTEyLTEyIDEyOjExOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgRml4IHNvbWUgbGVha3MuCgoyMDA3LTEyLTEyIDA0OjExOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZHRzL2dzdGR0c2RlYy4qOiBBZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIiBhcyB1c2VkIGJ5IGZsdXBzcGFyc2UuIE1vc3QgY2hhbmdlcyBhZGFwdGVkIGZyb20gYTUyZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KSwKCSAgKGdzdF9kdHNkZWNfc2lua19zZXRjYXBzKSwgKGdzdF9kdHNkZWNfY2hhaW5fcmF3KSwKCSAgKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiIGFzIHVzZWQgYnkgZmx1cHNwYXJzZS4gTW9zdAoJICBjaGFuZ2VzIGFkYXB0ZWQgZnJvbSBhNTJkZWMuCgoyMDA3LTEyLTEyIDAyOjMzOjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYSBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEKCSAgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXNpb25hbGx5CgkgIGR1ZSB0byBkaWZmZXJlbnQgdGhyZWFkcyB0b3VjaGluZyBiaXRzIGF0IHRoZSBzYW1lIHRpbWUuCgoyMDA3LTEyLTExIDE2OjM5OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwgKHVuaWNvZGlmeSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLCAoc291cF9maW5pc2hlZCksCgkgIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwgKHNvdXBfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cGh0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgRG8gbm90IHRyeSB0byB1bnBhdXNlIEkvTyBpbiB0aGUgInF1ZXVlZCIgc3RhdGUuCgkgIFJlb3JnYW5pc2UgYSBidW5jaCBvZiB0aGluZ3MgYW5kIGNsZWFudXBzLgoJICBVc2VzIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAlbGx1LgoJICBTZWUgIzUwMjMzNS4KCjIwMDctMTItMTEgMTY6MjY6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEZpeCBjYXBzIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpOgoJICBGaXggY2FwcyBtZW1sZWFrLgoKMjAwNy0xMi0xMSAxMTo1NDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZwoJICB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCjIwMDctMTItMTAgMTg6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChvbl9zc3JjX3NkZXMpOgoJICBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgVXBkYXRlIHNvbWUgY29tbWVudHMuCgoyMDA3LTEyLTEwIDE3OjE4OjM1ICswMDAwICBtdXRleCBhdCBydW5ib3ggZG90IGNvbSA8bXV0ZXhAcnVuYm94LmNvbT4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRm9yd2FyZCB0aGUgcXVlcnkgdXBzdHJlYW0sIHRoZSBkZWZhdWx0IGVsZW1lbnQgZXZlbnQgaGFuZGxlciBkb2VzIHNvbWV0aGluZyBkaWZmZXJlbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IDxtdXRleCBhdCBydW5ib3ggZG90IGNvbT4KCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCB0aGUgcXVlcnkgdXBzdHJlYW0sIHRoZSBkZWZhdWx0IGVsZW1lbnQgZXZlbnQgaGFuZGxlciBkb2VzCgkgIHNvbWV0aGluZyBkaWZmZXJlbnQuIEZpeGVzICM1MDI4NzkuCgoyMDA3LTEyLTEwIDE1OjM0OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX3NkZXMpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19zZGVzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBZGQgc2lnbmFsIHRvIG5vdGlmeSBvZiBhbiBTREVTIGNoYW5nZS4KCSAgRml4IG9iamVjdCB0eXBlIGluIHRoZSBzaWduYWwgY2FsbGJhY2tzLgoKMjAwNy0xMi0xMCAxNDowMzozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aCB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksIChzZGVzX3R5cGVfdG9fbmFtZSksCgkgIChnc3RfcnRwX2Jpbl9zZXRfc2Rlc19zdHJpbmcpLCAoZ3N0X3J0cF9iaW5fZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBFeHBvc2UgU0RFUyBpdGVtcyBhcyBwcm9wZXJ0aWVzIGFuZCBjb25maWd1cmUgdGhlIHNlc3Npb24gbWFuYWdlcnMgd2l0aAoJICB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KToKCSAgRml4IFNTUkMgcHJvcGVydHkuCgoyMDA3LTEyLTEwIDExOjA4OjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIERlZmluZSBzb21lIEdPYmplY3QgcHJvcGVydGllcyB0byBzZXQgU0RFUyBhbmQgb3RoZXIgY29uZmlndXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9zc3JjX3NkZXMpLCAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2ZyYWN0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ZyYWN0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc2Rlc19zdHJpbmcpLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKGlzX3J0Y3BfdGltZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2lnbmFsIHdoZW4gbmV3IFNERVMgaW5mb3IgaGFzIGJlZW4gZm91bmQgZm9yIGEgc291cmNlLgoJICBDcmVhdGUgcHJvcGVydGllcyBmb3IgU0RFUyBhbmQgb3RoZXIgaW5mby4KCSAgU2ltcGxpZnkgdGhlIFNERVMgQVBJLgoJICBBZGQgbWV0aG9kIGZvciBnZXR0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2Ugb2JqZWN0IG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NzcmMpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX2lzX2FzX2NzcmMpLCAocnRwX3NvdXJjZV9pc19hY3RpdmUpLAoJICAocnRwX3NvdXJjZV9pc192YWxpZGF0ZWQpLCAocnRwX3NvdXJjZV9pc19zZW5kZXIpLAoJICAocnRwX3NvdXJjZV9yZWNlaXZlZF9ieWUpLCAocnRwX3NvdXJjZV9nZXRfYnllX3JlYXNvbiksCgkgIChydHBfc291cmNlX3NldF9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3NkZXMpLCAocnRwX3NvdXJjZV9nZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBHT2JqZWN0IHByb3BlcnRpZXMgZm9yIHZhcmlvdXMgdGhpbmdzLgoJICBEb24ndCBsZWFrIHRoZSBieWUgcmVhc29uLgoKMjAwNy0xMi0wOSAxOTozNzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRml4IGxpc3Qgb2Ygc3VwcG9ydGVkIGFuZCBrbm93biBjb2RlY3MuCgkgIEVtaXQgdGFnIHdpdGggdGhlIGNvZGVjIG5hbWUgc28gaXQgZ2V0cyBwcm9wZXJseSByZXBvcnRlZCBpbiB0b3RlbSBhbmQKCSAgb3RoZXIgYXBwbGljYXRpb25zLgoKMjAwNy0xMi0wOSAwNDozMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoKMjAwNy0xMi0wNiAxMjo0NTo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwNy0xMi0wNiAxMjo0MjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mzc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbwoJICB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW50IGlzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjI5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaCBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgoyMDA3LTEyLTA2IDEwOjQ4OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IE1hcmsgY3JjIHZhbHVlcyB0YWJsZSBhcyBjb25zdGFudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChjcmNfdGFiKToKCSAgTWFyayBjcmMgdmFsdWVzIHRhYmxlIGFzIGNvbnN0YW50LgoKMjAwNy0xMi0wNSAxNzowMDo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBBZGRlZCBzb21lIHRhZ3MgdG8gZXhpZiBwYXJzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzb21lIHRhZ3MgdG8gZXhpZiBwYXJzZXIuCgoyMDA3LTEyLTA1IDEyOjQwOjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQSBzdWIgdGFibGUgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciB0YWJsZV9pZCBhbmQgc3ViX3RhYmxlX2lkZW50aWZpZXIsIG5vdCBieSBwaWQuIFNvIGhhc2ggd2l0aCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEEgc3ViIHRhYmxlIGlzIGlkZW50aWZpZWQgYnkgdGhlIHBhaXIgdGFibGVfaWQgYW5kCgkgIHN1Yl90YWJsZV9pZGVudGlmaWVyLCBub3QgYnkgcGlkLiBTbyBoYXNoIHdpdGggdGhhdC4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgTWFrZSBzdXJlIGluaXRpYWwgcGlkcyBhcmUgYWRkZWQgcHJvcGVybHkgdG8gZmlsdGVyLAoKMjAwNy0xMi0wNSAxMToyNTo1OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBEb24ndCBwdXNoIGJ1ZmZlcnMgZnJvbSBhcHAgdGhyZWFkIHdoZW4gdW5zZXR0aW5nIGBxdWV1ZS1idWZmZXJzJywgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogRG9uJ3QgcHVzaAoJICBidWZmZXJzIGZyb20gYXBwIHRocmVhZCB3aGVuIHVuc2V0dGluZyBgcXVldWUtYnVmZmVycycsIGl0J3MKCSAgZGFuZ2Vyb3VzIGFuZCB0aGUgY2hhaW4gZnVuY3Rpb24gd2lsbCBkbyBpdCBmb3IgdXMgYW55d2F5LgoKMjAwNy0xMi0wNCAxNzoyMDoyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJICBOb3cgY29tcGlsZXMgZXZlbiB3aGVuIGxpYmlwdGMgaXMgbWlzc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBjb21waWxlcyBldmVuIHdoZW4gbGliaXB0YyBpcyBtaXNzaW5nLgoKMjAwNy0xMi0wNCAxNjo0MjoyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSAgRml4ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBub3cgbXV4ZXIgd3JpdGVzIHRvIHBuZyBhbHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBub3cgbXV4ZXIgd3JpdGVzIHRvIHBuZyBhbHNvLgoKMjAwNy0xMi0wMyAxODoyODozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSBzaWduYWxzIGZvciBwYXQsIHBtdCwgbml0LCBlaXQsIHNkdC4gUmVwbGFjZSB3aXRoIGJ1cyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIFJlbW92ZSBzaWduYWxzIGZvciBwYXQsIHBtdCwgbml0LCBlaXQsIHNkdC4gUmVwbGFjZSB3aXRoIGJ1cwoJICBtZXNzYWdlcy4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgSW5zdGVhZCBvZiBhdHRhY2hpbmcgdG8gc2lnbmFscywgdXNlIHRoZSBidXMgbWVzc2FnZXMuCgkgIEFsc28gZml4IHVwIHNvIHRoZSBkdmJzcmMgc3RhcnRzIG9ubHkgb3V0cHV0dGluZyB0aGUgaW5mbyB0YWJsZXMKCSAgbGlrZSBQQVQsIENBVCwgTklULCBTRFQsIEVJVCBpbnN0ZWFkIG9mIHRoZSB3aG9sZSB0cy4KCjIwMDctMTItMDMgMTY6MTQ6MDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgSVBUQyBjaHVuayBzZW50IGFzIHRhZy4gTXV4ZXIgaW1wbGVtZXRzIEdzdFRhZ1NldHRlciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgSVBUQyBjaHVuayBzZW50IGFzIHRhZy4gTXV4ZXIgaW1wbGVtZXRzIEdzdFRhZ1NldHRlciBpbnRlcmZhY2UuCgoyMDA3LTEyLTAzIDEzOjA4OjI2ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFNob3VsZCBmaXggdGhlIDY0LWJpdCBidWlsZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgU2hvdWxkIGZpeCB0aGUgNjQtYml0IGJ1aWxkCgoyMDA3LTExLTMwIDE4OjMwOjEyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgRVhJRiBhbmQgWE1QIGNodW5rcyBzZW50IGFzIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNdXhlciB3cml0ZXMgKGluIGpwZWcgb25seSkgd2hvbGUgRVhJRiBhbmQgWE1QIGNodW5rcyBzZW50IGFzIHRhZ3MuCgoyMDA3LTExLTMwIDE0OjA4OjE1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IEFkZCBDb1JSRSBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIENvUlJFIGVuY29kaW5nCgoyMDA3LTExLTMwIDEzOjE4OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IENSQyBjaGVjayB0aGUgcHNpIHBpZHMuIENSQyBjaGVja2luZyBjb2RlIHJlbGljZW5jZWQgZnJvbSBNUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBDUkMgY2hlY2sgdGhlIHBzaSBwaWRzLiBDUkMgY2hlY2tpbmcgY29kZSByZWxpY2VuY2VkIGZyb20gTVBMLgoJICBUaGFua3MgRmx1ZW5kby4KCjIwMDctMTEtMzAgMTI6NTM6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJICBGaXhlZCBnZXRfcmFuZ2UgYnVnIHdoZW4gaW5qZWN0aW5nIGFuZCBzdHJpcHBpbmcuIEFuZCBtdXggaXMgYWxtb3N0IGRvbmUgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZ2V0X3JhbmdlIGJ1ZyB3aGVuIGluamVjdGluZyBhbmQgc3RyaXBwaW5nLiBBbmQgbXV4IGlzIGFsbW9zdCBkb25lIG5vdy4KCjIwMDctMTEtMzAgMTA6NDY6MjMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogVXNlIGdsaWIgbWFjcm8gZm9yIHN3YXBwaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBVc2UgZ2xpYiBtYWNybyBmb3Igc3dhcHBpbmcKCjIwMDctMTEtMjkgMTM6MzI6MTEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogRGlzYWJsZSBDb3B5UmVjdCBlbmNvZGluZyBieSBkZWZhdWx0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIERpc2FibGUgQ29weVJlY3QgZW5jb2RpbmcgYnkgZGVmYXVsdAoJICBBZGQgUlJFIGVuY29kaW5nCgoyMDA3LTExLTI5IDEwOjQ5OjE4ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudCBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGxpYnNvdXAgcmVxdWlyZW1lbnQgYXMgbGlic291cCBkb2VzIG5vdCBzdXBwb3J0IGFzeW5jIGNsaWVudAoJICBvcGVyYXRpb24gcHJpb3IgdG8gdmVyc2lvbiAyLjIuMTA0IGFuZCBpdCBoYXMgc29tZSBsZWFrcy4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksCgkgIChzb3VwX2ZpbmlzaGVkKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgdW5sb2NrKCkuCgkgIFBpY2tzIHVwIHRoZSBzaXplIGZyb20gdGhlIENvbnRlbnQtTGVuZ3RoIGhlYWRlciBhbmQgZW1pdCBhIGR1cmF0aW9uCgkgIG1lc3NhZ2UuCgkgIERvbid0IGxlYWsgdGhlIEdNYWluQ29udGV4dCBvYmplY3QuCgkgIEZpeGVzICM1MDAwOTkuCgoyMDA3LTExLTI5IDEwOjQ0OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IERvbid0IGZyZWUgdW5pbml0aWFsaXplZCBkYXRhIHdoZW4gd2UgYXJlIGluIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX3NldF9wYXJhbXMpLAoJICAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpOgoJICBEb24ndCBmcmVlIHVuaW5pdGlhbGl6ZWQgZGF0YSB3aGVuIHdlIGFyZSBpbiBlcnJvci4KCjIwMDctMTEtMjggMTQ6MDM6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgU2VuZGluZyBtYWtlIGFuZCBtb2RlbCBpbmRpdmlkdWFsIHRhZ3MgYW5kIG11eGVyIG5vdyBsaW5rcyBmaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZGluZyBtYWtlIGFuZCBtb2RlbCBpbmRpdmlkdWFsIHRhZ3MgYW5kIG11eGVyIG5vdyBsaW5rcyBmaW5lLgoKMjAwNy0xMS0yOCAwODoxMzo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBTbWFsbCBmaXhlcyBpbiBnZXRfcmFuZ2UgYW5kIGJldHRlciBzdHJ1Y3R1cmUgZm9yIGdlbmVyaWMgbXV4ZXIgYW5kIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXhlcyBpbiBnZXRfcmFuZ2UgYW5kIGJldHRlciBzdHJ1Y3R1cmUgZm9yIGdlbmVyaWMgbXV4ZXIgYW5kIGRlbXV4ZXIuCgoyMDA3LTExLTI2IDEzOjE5OjQ4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIFF1aWNrVGltZSBXcmFwcGVyIHBsdWctaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTI2ICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIFF1aWNrVGltZSBXcmFwcGVyIHBsdWctaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOiBGaXgKCSAgYnVpbGQgb24gTWFjIE9TIFggTGVvcGFyZC4gSW5jb3JyZWN0IHByaW50ZiBmb3JtYXQgYXJndW1lbnRzLgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfaW5pdCksCgkgIChjbGVhcl9BdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAoZmlsbF9pbmRlc2NfbXAzKSwKCSAgKGZpbGxfaW5kZXNjX2FhYyksIChmaWxsX2luZGVzY19zYW1yKSwgKGZpbGxfaW5kZXNjX2dlbmVyaWMpLAoJICAobWFrZV9zYW1yX21hZ2ljX2Nvb2tpZSksIChvcGVuX2RlY29kZXIpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19zZXRjYXBzKSwgKHByb2Nlc3NfYnVmZmVyX2NiKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiAoYXVkaW9fY2Fwc19mcm9tX3N0cmluZyksCgkgIChmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzogKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9hdmMxKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9tcDR2KSwgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fc3RzZF9idWZmZXIpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9jb2RlY19kYXRhKToKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzogKGdldF9uYW1lX2luZm9fZnJvbV9jb21wb25lbnQpLAoJICAoZ2V0X291dHB1dF9pbmZvX2Zyb21fY29tcG9uZW50KSwgKGR1bXBfYXZjY19hdG9tKSwKCSAgKGR1bXBfaW1hZ2VfZGVzY3JpcHRpb24pLCAoZHVtcF9jb2RlY19kZWNvbXByZXNzX3BhcmFtcyksCgkgIChhZGRTSW50MzJUb0RpY3Rpb25hcnkpLCAoZHVtcF9jdnBpeGVsX2J1ZmZlciksCgkgIChEZXN0cm95QXVkaW9CdWZmZXJMaXN0KSwgKEFsbG9jYXRlQXVkaW9CdWZmZXJMaXN0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgICogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9pbml0KSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2ZpbmFsaXplKSwKCSAgKGZpbGxfaW1hZ2VfZGVzY3JpcHRpb24pLCAobmV3X2ltYWdlX2Rlc2NyaXB0aW9uKSwgKGNsb3NlX2RlY29kZXIpLAoJICAob3Blbl9kZWNvZGVyKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX3Npbmtfc2V0Y2FwcyksCgkgIChkZWNvbXByZXNzQ2IpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2RlcnNfcmVnaXN0ZXIpOiBJbml0aWFsIGltcG9ydCBvZiBRdWlja1RpbWUKCSAgd3JhcHBlciBqb2ludGx5IGRldmVsb3BwZWQgYnkgU29uZ2JpcmQgYXV0aG9ycyAoUGlvbmVlcnMgb2YgdGhlCgkgIEluZXZpdGFibGUpIGFuZCBGbHVlbmRvLgoKMjAwNy0xMS0yNiAxMDowODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBkaXNwb3NlIGFuZCBmaW5hbGl6ZS4gRGlzcG9zZSBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgoyMDA3LTExLTI2IDA5OjM4OjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkgIE5vdyB3b3JrcyB3aGVuIGdldF9yYW5nZSBpcyBub3QgYXZhaWxhYmxlIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHdvcmtzIHdoZW4gZ2V0X3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgdXBzdHJlYW0uCgoyMDA3LTExLTI2IDA4OjQzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IFVwZGF0ZSBzcGVleCByZXNhbXBsZXIgdG8gbGF0ZXN0IFNWTi4gV2UncmUgbm93IGRvd24gdG8gb25seSB0aGUgY2hhbmdlcyBub3RlZCBpbiBSRUFETUUgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X2lucHV0X2xhdGVuY3kpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9vdXRwdXRfbGF0ZW5jeSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIFVwZGF0ZSBzcGVleCByZXNhbXBsZXIgdG8gbGF0ZXN0IFNWTi4gV2UncmUgbm93IGRvd24gdG8gb25seSB0aGUKCSAgY2hhbmdlcyBub3RlZCBpbiBSRUFETUUgYWdhaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpOgoJICBBZGp1c3QgdG8gQVBJIGNoYW5nZXMuCgoyMDA3LTExLTI1IDEwOjQ1OjA5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZSB3aXRoIGdub25saW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgT3V0cHV0IHNlZ21lbnQgd2l0aCBwcm9wZXIgJ3N0b3AnIHZhbHVlLCBtYWtlcyBmbHZkZW11eCAxMDAlIGNvbXBhdGlibGUKCSAgd2l0aCBnbm9ubGluLgoKMjAwNy0xMS0yNSAxMDoxMjowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogU2V0IGluaXRpYWwgc3RydWN0dXJlIG5hbWUgdG8gZml4IGFzc2VydGlvbiwgZHVlIHRvIHJlY2VudCBjYXBzIG5hbWUgY29uc3RyYWludHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIFNldCBpbml0aWFsIHN0cnVjdHVyZSBuYW1lIHRvIGZpeCBhc3NlcnRpb24sIGR1ZSB0byByZWNlbnQgY2FwcyBuYW1lCgkgIGNvbnN0cmFpbnRzLgoKMjAwNy0xMS0yMyAxNzo1MzozNyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBwYXQtaW5mbyBpcyBub3cgYSBzaWduYWwgbm90IGEgR09iamVjdCBwcm9wZXJ0eSB0aGF0IGdldHMgbm90aWZpZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIHBhdC1pbmZvIGlzIG5vdyBhIHNpZ25hbCBub3QgYSBHT2JqZWN0IHByb3BlcnR5IHRoYXQKCSAgZ2V0cyBub3RpZmllZC4KCSAgcGF0LWluZm8sIHBtdC1pbmZvIG5vdyBpbnN0ZWFkIG9mIHBhc3NpbmcgYSBHT2JqZWN0IGFzCgkgIGEgcGFyYW1ldGVyLCBwYXNzIGEgR3N0U3RydWN0dXJlLgoJICBOZXcgc2lnbmFsczogbml0LWluZm8sIHNkdC1pbmZvLCBlaXQtaW5mbyBmb3IgRFZCIFNJIGluZm9ybWF0aW9uCgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5oOgoJICBDYW0gY29kZSBub3cgdXNlcyB0aGUgcG10IEdzdFN0cnVjdHVyZSBwYXNzZWQgZnJvbSBtcGVndHNwYXJzZQoJICBzaWduYWxzIHJhdGhlciB0aGFuIHRoZSBHT2JqZWN0LgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVc2UgbmV3IHNpZ25hbHMgaW4gbXBlZ3RzcGFyc2UgYW5kIHVzZSBHc3RTdHJ1Y3R1cmVzIGFzIHBlcgoJICBtcGVndHNwYXJzZSdzIG1vZGlmaWVkIEFQSS4KCjIwMDctMTEtMjMgMTc6MzU6MjEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkgIE5vdyBwYXJzZXIgaXMgZ2VuZXJpYyAoanVzdCBhZGQvcmVtb3ZlIGEgbGlzdCBvZiBjaHVua3MpLiBBbmQgYSB0ZW1wbGF0ZSBvZiBtdXhlciBoYXMgYmVlbiBjcmVhdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHBhcnNlciBpcyBnZW5lcmljIChqdXN0IGFkZC9yZW1vdmUgYSBsaXN0IG9mIGNodW5rcykuIEFuZCBhIHRlbXBsYXRlIG9mIG11eGVyIGhhcyBiZWVuIGNyZWF0ZWQuCgoyMDA3LTExLTIzIDEwOjIxOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IE9ubHkgcG9zdCB0aGUgbGF0ZW5jeSBtZXNzYWdlIGlmIHdlIGhhdmUgYSByZXNhbXBsZXIgc3RhdGUgYWxyZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSk6CgkgIE9ubHkgcG9zdCB0aGUgbGF0ZW5jeSBtZXNzYWdlIGlmIHdlIGhhdmUgYSByZXNhbXBsZXIgc3RhdGUgYWxyZWFkeS4KCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA3LTExLTIzIDEwOjIxOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfcXVlcnkpLCAoYXVkaW9yZXNhbXBsZV9xdWVyeV90eXBlKSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwNy0xMS0yMyAxMDowMTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBbHNvIHBvc3QgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKToKCSAgQWxzbyBwb3N0IEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjMgMDg6NDg6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIGZ1bmN0aW9ucyB0byBwdXNoIHRoZSByZW1haW5pbmcgc2FtcGxlcyBhbmQgdG8gZ2V0IHRoZSBsYXRlbmN5IG9mIHRoZSByZXNhbXBsZXIuIFRoZXNlIHdpbGwgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfcmVzYW1wbGVyX2dldF9sYXRlbmN5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9mbG9hdCksIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50ZXJsZWF2ZWRfaW50KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgZnVuY3Rpb25zIHRvIHB1c2ggdGhlIHJlbWFpbmluZyBzYW1wbGVzIGFuZCB0byBnZXQgdGhlIGxhdGVuY3kKCSAgb2YgdGhlIHJlc2FtcGxlci4gVGhlc2Ugd2lsbCBnZXQgYWRkZWQgdG8gU3BlZXggU1ZOIGluIHRoaXMgb3IgYQoJICBzbGlnaHRseSBjaGFuZ2VkIGZvcm0gYXQgc29tZSBwb2ludCB0b28gYW5kIHNob3VsZCBnZXQgbWVyZ2VkIHRoZW4KCSAgYWdhaW4uCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeV90eXBlKToKCSAgRHJvcCB0aGUgcHJlcGVuZGluZyB6ZXJvZXMgYW5kIG91dHB1dCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgb24gRU9TLgoJICBBbHNvIHByb3Blcmx5IGltcGxlbWVudCB0aGUgbGF0ZW5jeSBxdWVyeSBmb3IgdGhpcy4gc3BlZXhyZXNhbXBsZQoJICBzaG91bGQgYmUgY29tcGxldGVseSByZWFkeSBmb3IgcHJvZHVjdGlvbiB1c2Ugbm93LgoKMjAwNy0xMS0yMiAwOTowODoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vIG1heF9sYXRlbmN5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8KCSAgbWF4X2xhdGVuY3kgcmVxdWlyZW1lbnRzLgoKMjAwNy0xMS0yMSAxMDoxODo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOiBBZGQgUkVBRE1FIGV4cGxhaW5pbmcgd2hlcmUgdGhlIHJlc2FtcGxpbmcgY29kZSB3YXMgdGFrZW4gZnJvbSBhbmQgd2hpY2ggY2hhbmdlcyB3ZXJlIGRvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgQWRkIFJFQURNRSBleHBsYWluaW5nIHdoZXJlIHRoZSByZXNhbXBsaW5nIGNvZGUgd2FzIHRha2VuIGZyb20KCSAgYW5kIHdoaWNoIGNoYW5nZXMgd2VyZSBkb25lLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9hbGxvYyksIChzcGVleF9yZWFsbG9jKSwKCSAgKHNwZWV4X2ZyZWUpOgoJICBVc2UgZ19tYWxsb2MoKSBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIG1hbGxvYygpIHRvIGFjaGlldmUgaGlnaGVyCgkgIHBvcnRhYmlsaXR5IGFuZCBkZWZpbmUgdGhlIGZ1bmN0aW9ucyBpbmxpbmUuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgIEFkZCBiYWNrIHNvbWUgdXNlbGVzcyBwcmVwcm9jZXNzb3Igc3R1ZmYgdG8ga2VlcCB0aGUgZGlmZiBiZXR3ZWVuCgkgIG91ciB2ZXJzaW9uIGFuZCB0aGUgb25lIGZyb20gdGhlIFNwZWV4IFNWTiByZXBvc2l0b3J5IGxvd2VyLgoKMjAwNy0xMS0yMSAwOTo1Njo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMSAwOTo0NTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRG9uJ3QgdHJ5IHRvIGZsdXNoIHRoZSBkZWNvZGVyIG9uIEVPUyB3aGVuIGl0IHdhcyBub3QgaW5pdGlhbGl6ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICBEb24ndCB0cnkgdG8gZmx1c2ggdGhlIGRlY29kZXIgb24gRU9TIHdoZW4gaXQgd2FzIG5vdCBpbml0aWFsaXplZC4KCSAgRml4ZXMgIzQ5ODY2NwoKMjAwNy0xMS0yMSAwOTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiBGaXggYnVpbGQgb24gTWFjIE9TIFguIChtaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTExLTIxICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua193cml0ZSk6IEZpeCBidWlsZAoJICBvbiBNYWMgT1MgWC4gKG1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcikKCjIwMDctMTEtMjEgMDg6MjE6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZCBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQKCSAgaW4gLWdvb2QuCgoyMDA3LTExLTIwIDIwOjIzOjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IFNvbWUgc21hbGwgY2xlYW51cCBhbmQgYWRkaXRpb24gb2YgYSBUT0RPIGl0ZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgU29tZSBzbWFsbCBjbGVhbnVwIGFuZCBhZGRpdGlvbiBvZiBhIFRPRE8gaXRlbS4KCjIwMDctMTEtMjAgMTI6NTY6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgZmlsZS4KCjIwMDctMTEtMjAgMDc6NTI6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIG1pc3NpbmcgaW5zcGVjdGlvbiBmaWxlcyB0byBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBBZGQgbWlzc2luZyBpbnNwZWN0aW9uIGZpbGVzIHRvIENWUy4KCjIwMDctMTEtMjAgMDc6NDc6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzcGVleHJlc2FtcGxlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IGRvIGEgbWFrZSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIEFkZCBzcGVleHJlc2FtcGxlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IGRvIGEgbWFrZSB1cGRhdGUuCgoyMDA3LTExLTIwIDA3OjMwOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IElmIHRoZSByZXNhbXBsZXIgZ2l2ZXMgbGVzcyBvdXRwdXQgc2FtcGxlcyB0aGFuIGV4cGVjdGVkIGFkanVzdCB0aGUgb3V0cHV0IGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgSWYgdGhlIHJlc2FtcGxlciBnaXZlcyBsZXNzIG91dHB1dCBzYW1wbGVzIHRoYW4gZXhwZWN0ZWQKCSAgYWRqdXN0IHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBwcmludCBhIHdhcm5pbmcuCgoyMDA3LTExLTIwIDA3OjAyOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgcmVzYW1wbGUgZWxlbWVudCBiYXNlZCBvbiB0aGUgU3BlZXggcmVzYW1wbGluZyBhbGdvcml0aG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0YXJ0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9hbGxvYyksIChzcGVleF9yZWFsbG9jKSwKCSAgKHNwZWV4X2ZyZWUpLCAoY29tcHV0ZV9mdW5jKSwgKG1haW4pLCAoc2luYyksIChjdWJpY19jb2VmKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksICh1cGRhdGVfZmlsdGVyKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9pbml0KSwgKHNwZWV4X3Jlc2FtcGxlcl9pbml0X2ZyYWMpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2Rlc3Ryb3kpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2Zsb2F0KSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnRlcmxlYXZlZF9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlKSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcmF0ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGVfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3JhdGlvKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcXVhbGl0eSksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3F1YWxpdHkpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9pbnB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9pbnB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9vdXRwdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfb3V0cHV0X3N0cmlkZSksIChzcGVleF9yZXNhbXBsZXJfc2tpcF96ZXJvcyksCgkgIChzcGVleF9yZXNhbXBsZXJfcmVzZXRfbWVtKSwgKHNwZWV4X3Jlc2FtcGxlcl9zdHJlcnJvcik6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCByZXNhbXBsZSBlbGVtZW50IGJhc2VkIG9uIHRoZSBTcGVleCByZXNhbXBsaW5nIGFsZ29yaXRobS4KCjIwMDctMTEtMTkgMjI6MDk6MzYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSAgRml4ZWQgYnVmZmVyIHN0cmlwIChzYWZlciB3aWwgcHVsbCBhbmQgYWZ0ZXIgc2VlaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBidWZmZXIgc3RyaXAgKHNhZmVyIHdpbCBwdWxsIGFuZCBhZnRlciBzZWVrKS4KCjIwMDctMTEtMTkgMjA6MzA6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBBY3RpdmF0ZSBwcmVzZXQgaWZhY2UgYW5kIHVwbG9hZCB0d28gcHJlc2V0cyBoZXJlLgoKMjAwNy0xMS0xOSAxMzowNToyMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJICBTdHJpcCBvdXQgaW4gcHVsbCBtb2RlIGFsc28uIFNlZWsgYW5kIFF1ZXJ5IGZ1bmN0aW9ucyBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFN0cmlwIG91dCBpbiBwdWxsIG1vZGUgYWxzby4gU2VlayBhbmQgUXVlcnkgZnVuY3Rpb25zIGFkZGVkLgoKMjAwNy0xMS0xOCAyMTowNjo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldHlwZXMuaDoKCSAgU3RyaXAgb3V0IG1ldGFkYXRhIGNodW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFN0cmlwIG91dCBtZXRhZGF0YSBjaHVua3MuCgoyMDA3LTExLTE2IDExOjExOjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFscyB1c2UgQUdfR1NUX1BMVUdJTl9ET0NTIChzZWUgIzM0NDAzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzIHVzZSBBR19HU1RfUExVR0lOX0RPQ1MgKHNlZSAjMzQ0MDM5KS4KCjIwMDctMTEtMTUgMTk6MDM6MzMgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBFbnN1cmUgdGhhdCB0aGUgcGx1Z2luIGRvZXMgbm90IGNyYXNoIHdoZW4gdGhlIHByb3BlcnR5IHBhdC1pbmZvIGlzIHF1ZXJpZWQgYmVmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogKGZvcmVhY2hfc3RyZWFtX2NsZWFyKSwKCSAgKHJlbW92ZV9hbGwpLCAobXBlZ3RzX3BhY2tldGl6ZXJfY2xlYXIpOgoJICBFbnN1cmUgdGhhdCB0aGUgcGx1Z2luIGRvZXMgbm90IGNyYXNoIHdoZW4gdGhlIHByb3BlcnR5IHBhdC1pbmZvIGlzCgkgIHF1ZXJpZWQgYmVmb3JlIGEgUEFUIGlzIGF2YWlsYWJsZS4gSXQgYWxzbyBlbnN1cmVzIHRoYXQgdGhlIFBBVCBpbmZvIGlzCgkgIGNsZWFyZWQgd2hlbiB0aGUgY2hhbmdpbmcgZnJvbSBQTEFZSU5HIHRvIFJFQURZLgoJICBGaXhlcyAjNDg3ODkyLgoKMjAwNy0xMS0xNSAxODo1Mzo1NiArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBIYW5kbGUgc2Vla2luZyBjb3JyZWN0bHkuIEZpeGVzICM0NjEwNjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiA8d291dGVyIGF0IGJsdWUtZ2F0ZSBkb3QgYmU+CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEhhbmRsZSBzZWVraW5nIGNvcnJlY3RseS4gRml4ZXMgIzQ2MTA2OC4KCjIwMDctMTEtMTUgMTg6NDE6MzEgKzAwMDAgIE1pY2hhZWwgS8O2dHRlciA8bS5rb2V0dGVyQG9yYWlzZS5kZT4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBGaXggc2FtcGxlIHJhdGUgYW5kIGNsb2NraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhZWwgS8O2dHRlciA8bSBkb3Qga29ldHRlciBhdCBvcmFpc2UgZG90IGRlPgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX3NldF9wYXJhbXMpLCAoYWxzYXNwZGlmc2lua19kZWxheSksIChwbHVnaW5faW5pdCk6CgkgIEZpeCBzYW1wbGUgcmF0ZSBhbmQgY2xvY2tpbmcuCgkgIFJlbW92ZSBidWZmZXJfdGltZSBhbmQgcGVyaW9kX3RpbWUgYXMgdGhpcyBzZWVtcyB0byBicmVhayBvbiBzb21lCgkgIGhhcmR3YXJlLiBGaXhlcyAjNDg1NDYyLgoKMjAwNy0xMS0xNSAxNzoyNjoyNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLCAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZGVkIEhUVFAgc291cmNlIGJhc2VkIG9uIGxpYnNvdXAuIEZpeGVzICM0OTcwMjAuCgoyMDA3LTExLTE1IDE1OjMyOjQ3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogZG9uJ3QgZm9yZ2V0IHRvIGhhbmRsZSB0aGUgb2Zmc2V0J3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgZG9uJ3QgZm9yZ2V0IHRvIGhhbmRsZSB0aGUgb2Zmc2V0J3MKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcHJlY2FsY3VsYXRlIHNvbWUgbWFueSB1c2VkIHZhbHVlcwoKMjAwNy0xMS0xNSAwODoyODoyOSArMDAwMCAgQXJtYW5kbyBUYWZmYXJlbCBOZXRvIDx0YWZmYXJlbEBzb2xpcy5jb29wLmJyPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogU2V0IHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFybWFuZG8gVGFmZmFyZWwgTmV0byA8dGFmZmFyZWxAc29saXMuY29vcC5icj4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBTZXQgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIG91dHB1dCBidWZmZXJzCgoyMDA3LTExLTE0IDE3OjAzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCjIwMDctMTEtMTIgMjE6MDc6MzEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlcik6CgkgIEF2b2lkIHNsb3dkb3duIGZyb20gZGVub3JtYWxzIHdoZW4gcHJvY2Vzc2luZyBuZWFyLXNpbGVuY2UgaW5wdXQgZGF0YS4KCSAgU3BvdHRlZCBieSBHYWJyaWVsIEJvdXZpZ25lLiBGaXhlcyAjNDk0NDk5LgoKMjAwNy0xMS0xMiAxOToyMjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UKCSAgYWN0dWFsbHkgaGF2ZSBkYXRhIHRvIHJlYWQgYXQgdGhlIGVuZCBvZiB0aGUgdGFnLiBUaGlzIGF2b2lkcyB0cnlpbmcKCSAgdG8gYWxsb2NhdGUgbmVnYXRpdmUgYnVmZmVycy4KCjIwMDctMTEtMTIgMTc6Mjc6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgQWRkZWQgYSBkZXNpZ24gcHJvcG9zYWwgZnJvbSBtZXRhZGF0YSBwYXJzZSBhbmQgbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBkZXNpZ24gcHJvcG9zYWwgZnJvbSBtZXRhZGF0YSBwYXJzZSBhbmQgbXV4LgoKMjAwNy0xMS0xMSAyMToxMjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0LzogQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgQ2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZSBtYWduaXR1ZGUgdmFsdWVzIGdpdmVuIGluIHRoZQoJICBHc3RNZXNzYWdlcyBieSBzcGVjdHJ1bSB0byBkZWNpYmVsIGluc3RlYWQgb2YKCSAgZGVjaWJlbCt0aHJlc2hvbGQuCgoyMDA3LTExLTExIDEzOjU1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZSBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQW5kIGNvbnRpbnVlIHRvIHVwZGF0ZSBkb2NzLiBBbHNvIGluY2x1ZGUgc29tZSBzYW1wbGUgY29kZQoJICBmb3IgdGhlIG4tYmFuZCBlcXVhbGl6ZXIgaW4gdGhlIGRvY3MuCgoyMDA3LTExLTExIDEyOjU0OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoKMjAwNy0xMS0wOSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5CgkgIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA3LTExLTA5IDE1OjUzOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkgIEV4dHJhY3RpbmcgbW9yZSBkZXRhaWxlZCBpbmZvIGZyb20gWE1QLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRXh0cmFjdGluZyBtb3JlIGRldGFpbGVkIGluZm8gZnJvbSBYTVAuCgoyMDA3LTExLTA4IDE1OjU2OjQ2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2RlbW8uYzogTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0byB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6CgkgIE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8KCSAgdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iZXJzIGFuZCBlbmFibGUgZmlsbC4KCjIwMDctMTEtMDcgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgR0lPID49IDAuMS4yIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IGZvciBhbiBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBSZXF1aXJlIEdJTyA+PSAwLjEuMiBhbmQgYWRqdXN0IHVuaXQgdGVzdCBmb3IgYW4gQVBJIGNoYW5nZS4KCjIwMDctMTEtMDcgMTU6MzY6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGRvX3NsaWRlcl9maWRkbGluZyk6CgkgIEZpeCBnYWluIHJhbmdlcyBmb3IgdGhlIGxhdGVzdCBlcXVhbGl6ZXIgY2hhbmdlcy4KCjIwMDctMTEtMDcgMTU6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmg6IEFkZCBtYWNybyB0byBjaGVjayBpZiBhIHN0cmVhbSBzdXBwb3J0cyBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICBBZGQgbWFjcm8gdG8gY2hlY2sgaWYgYSBzdHJlYW0gc3VwcG9ydHMgc2Vla2luZy4KCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzogKGdzdF9naW9fYmFzZV9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fYmFzZV9zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19iYXNlX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua191bmxvY2spLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fYmFzZV9zaW5rX3F1ZXJ5KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X2dpb19iYXNlX3NyY191bmxvY2spLAoJICAoZ3N0X2dpb19iYXNlX3NyY191bmxvY2tfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2NyZWF0ZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3NldF9zdHJlYW0pOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5oOgoJICBSZWZhY3RvciBjb21tb24gR0lPIGZ1bmN0aW9ucyB0byBHc3RHaW9CYXNlU2luayBhbmQgR3N0R2lvQmFzZVNyYwoJICBiYXNlIGNsYXNzZXMgdGhhdCBvbmx5IHJlcXVpcmUgYSBHSW5wdXRTdHJlYW0gb3IgR091dHB1dFN0cmVhbSB0bwoJICB3b3JrLgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgVXNlIHRoZSBuZXdseSBjcmVhdGVkIGJhc2UgY2xhc3NlcyBoZXJlLgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zdHJlYW1fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zdHJlYW1fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3RyZWFtX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3N0cmVhbV9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NyY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmg6CgkgIEltcGxlbWVudCBHc3RHaW9TdHJlYW1TaW5rIGFuZCBHc3RHaW9TdHJlYW1TcmMgdGhhdCBoYXZlIGEgcHJvcGVydHkKCSAgdG8gc2V0IHRoZSBHSW5wdXRTdHJlYW0vR091dHB1dFN0cmVhbSB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKG1lc3NhZ2VfaGFuZGxlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChnaW9fdGVzdHN1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBnaW9zdHJlYW1zcmMgYW5kIGdpb3N0cmVhbXNpbmsuCgoyMDA3LTExLTA3IDExOjQ4OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5jOiBSZW1vdmUgbm93YWRheXMgdW5uZWNlc3Nhcnkgd29ya2Fyb3VuZCBmb3IgYSBjcmFzaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIG5vd2FkYXlzIHVubmVjZXNzYXJ5IHdvcmthcm91bmQgZm9yIGEgY3Jhc2guCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X2dpb19zaW5rX3N0YXJ0KSwgKGdzdF9naW9fc2lua19zdG9wKSwKCSAgKGdzdF9naW9fc2lua191bmxvY2tfc3RvcCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fc3JjX3N0b3ApLCAoZ3N0X2dpb19zcmNfdW5sb2NrX3N0b3ApOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIE1ha2UgdGhlIGZpbmFsaXplIGZ1bmN0aW9uIHNhZmVyLCBjbGVhbiB1cCBldmVyeXRoaW5nIHRoYXQgY291bGQgc3RheQoJICBhcm91bmQuCgkgIFJlc2V0IHRoZSBjYW5jZWxsYWJsZSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZSBhZnRlciBjYW5jZWxsaW5nCgkgIHNvbWUgb3BlcmF0aW9uLgoJICBEb24ndCBzdG9yZSB0aGUgR0ZpbGUgaW4gdGhlIGVsZW1lbnQsIGl0J3Mgb25seSBuZWNlc3NhcnkgZm9yIGNyZWF0aW5nCgkgIHRoZSBzdHJlYW1zLgoKMjAwNy0xMS0wNiAxMjoyMzozNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBGaXggdGhlIG1hZ25pdHVkZSBjYWxjdWxhdGlvbi4KCjIwMDctMTEtMDQgMTE6MDQ6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay4qOiBGaXggY3Jhc2hlciBpbiBjb25zdHJ1Y3RvciBkdWUgdG8gdGhlIGJhc2UgY2xhc3MncyBjb25zdHJ1Y3RvciBub3QgbmVjZXNzYXJpbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgIChDRHNob3dGYWtlU2luay5DRHNob3dGYWtlU2luayk6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDogKENEc2hvd0Zha2VTaW5rLm1faHJlcyk6CgkgIEZpeCBjcmFzaGVyIGluIGNvbnN0cnVjdG9yIGR1ZSB0byB0aGUgYmFzZSBjbGFzcydzIGNvbnN0cnVjdG9yCgkgIG5vdCBuZWNlc3NhcmlseSBiZWluZyBOVUxMLXNhZmUgKGRlcGVuZHMgb24gdGhlIFNESyB2ZXJzaW9uIHVzZWQKCSAgYXBwYXJlbnRseTsgIzQ5MjQwNikuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6IChnc3RfZHNob3dhdWRpb3NyY19wcmVwYXJlKToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzogKGdzdF9kc2hvd3ZpZGVvc3JjX3NldF9jYXBzKToKCSAgRml4IGEgY291cGxlIG9mIE1TVkMgY29tcGlsZXIgd2FybmluZ3MgKCM0OTI0MDYpLgoKMjAwNy0xMS0wMyAxOTo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChtYWluKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKHNldHVwX2ZpbHRlcik6CgkgIEFsbG93IHNldHRpbmcgMCBhcyBiYW5kd2lkdGggYW5kIGhhbmRsZSB0aGlzIGNvcnJlY3RseS4KCSAgQWxzbyBoYW5kbGUgYSBiYW5kd2lkdGggb2YgcmF0ZS8yIHByb3Blcmx5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCk6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gZ2VuZXJhdGUgYSBOLWJhbmQgZXF1YWxpemVyIHdpdGggMSBiYW5kcy4gVGhlCgkgIHByZXZpb3VzIGxpbWl0IG9mIDIgd2FzIGNhdXNlZCBieSBhIG5vd2FkYXlzIHJlcGxhY2VkIGNhbGN1bGF0aW9uCgkgIGRvaW5nIGEgZGl2aXNpb24gYnkgemVybyBpZiBudW1iZXIgb2YgYmFuZHMgd2FzIDEuCgoyMDA3LTExLTAyIDIxOjQ1OjM4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCjIwMDctMTEtMDIgMTY6NTA6NDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIEFkZGVkIHN1cHBvcnQgZm9yIFBORy9YTVAuIEluZGVudGF0aW9uLiBBbmQgZml4ZWQgcHVsbCBtb2RlIHRvIHBhcnNlIHRoZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc3VwcG9ydCBmb3IgUE5HL1hNUC4gSW5kZW50YXRpb24uIEFuZCBmaXhlZCBwdWxsIG1vZGUgdG8gcGFyc2UgdGhlIGZpbGUuCgoyMDA3LTExLTAyIDEyOjAzOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkgIE5vdyBtZXRhZGF0YXBhcnNlIHdvcmtzIGluIHB1c2ggb3IgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IG1ldGFkYXRhcGFyc2Ugd29ya3MgaW4gcHVzaCBvciBwdWxsIG1vZGUuCgoyMDA3LTExLTAxIDE2OjA0OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIFNvbWUgWE1QIHN0dWZmIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBYTVAgc3R1ZmYgYWRkZWQuCgoyMDA3LTEwLTMxIDE2OjIxOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBOb3cgc2VuZGluZyBpcHRjIHRhZyBpbiB3aG9sZSBjaHVuay4gUmVhZHkgdG8gYWxzbyBzZW5kIGV4aWYgYW5kIHhtcCBpbiB0aGUgc2FtZSB3YXkgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IHNlbmRpbmcgaXB0YyB0YWcgaW4gd2hvbGUgY2h1bmsuIFJlYWR5IHRvIGFsc28gc2VuZCBleGlmIGFuZCB4bXAgaW4gdGhlIHNhbWUgd2F5IChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCjIwMDctMTAtMzEgMTQ6NDQ6NTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogU29tZSByZWZhY3RvcmluZyBpbiBSQVcgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFNvbWUgcmVmYWN0b3JpbmcgaW4gUkFXIGVuY29kaW5nCgoyMDA3LTEwLTMxIDE0OjA5OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZGVkIGNvcHlyZWN0IGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgQWRkZWQgY29weXJlY3QgZW5jb2RpbmcKCjIwMDctMTAtMzEgMTM6MzE6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6IFdhcm4gb24gZmFpbGVkIHdyaXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIFdhcm4gb24gZmFpbGVkIHdyaXRlLgoKMjAwNy0xMC0zMCAyMTozNzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucyB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChvbl9jb25maWd1cmVfZXZlbnQpLAoJICAob25fZ2Fpbl9jaGFuZ2VkKSwgKG9uX2JhbmR3aWR0aF9jaGFuZ2VkKSwgKG9uX2ZyZXFfY2hhbmdlZCksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zCgkgIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHVzaGVzIGl0IHRocm91Z2ggYW4gZXF1YWxpemVyIGFuZAoJICBwYWludHMgdGhlIHNwZWN0cnVtLiBGb3IgZXZlcnkgZXF1YWxpemVyIGJhbmQgaXQncyBwb3NzaWJsZSB0byBzZXQKCSAgZ2FpbiwgYmFuZHdpZHRoIGFuZCBmcmVxdWVuY3kuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKHNldHVwX2ZpbHRlcik6CgkgIEFkZCBzb21lIGd1YXJkaW5nIGFnYWluc3QgdG9vIGxhcmdlIG9yIHRvbyBzbWFsbCBmcmVxdWVuY2llcyBhbmQKCSAgYmFuZHdpZHRocy4gQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMTAtMzAgMjE6MTg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkgZmluZCBkb2N1bWVudGF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgIFJlcGxhY2UgZmlsdGVycyB3aXRoIGEgYml0IGJldHRlciBmaWx0ZXJzIGZvciB3aGljaCB3ZSBjYW4gYWN0dWFsbHkKCSAgZmluZCBkb2N1bWVudGF0aW9uLCB3aGljaCBkb24ndCBjaGFuZ2UgYW55dGhpbmcgb24gemVybyBnYWluLCBldGMuCgkgIE1ha2UgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBvZiB0aGUgYmFuZHMgd3JpdGFibGUsIHJlbmFtZSB0aGUKCSAgYmFuZC13aWR0aCBwcm9wZXJ0eSB0byBiYW5kd2lkdGggYW5kIGNoYW5nZSB0aGUJbWVhbmluZyB0byB0aGUKCSAgZnJlcXVlbmN5IGRpZmZlcmVuY2UgYmV0d2VlbiBiYW5kZWRnZXMsIGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUKCSAgZ2FpbiBwcm9wZXJ0eSB0byBkQiBpbnN0ZWFkIG9mIGEgd2VpcmQgc2NhbGUgYmV0d2VlbiAtMQlhbmQgMSB0aGF0CgkgIGhhcyBubyByZWFsIG1lYW5pbmcuCgoyMDA3LTEwLTMwIDIwOjU1OjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEZpeCB0aGUgYnVpbGQuCgoyMDA3LTEwLTMwIDE4OjIxOjIyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS8uZ2l0aWdub3JlOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJICBDaGFuZ2VkIGtjbGFzcyB0byAiUGFyc2VyL0V4dHJhY3Rlci9NZXRhZGF0YSIsIGNoYW5nZWQgY2FwcyB0byAiaW1hZ2UvanBlZywgdGFncy1leHRyYWN0PXRydWUvZmFsc2UiIGFuZCBjaGFuZ2VkIHByaW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQga2NsYXNzIHRvICJQYXJzZXIvRXh0cmFjdGVyL01ldGFkYXRhIiwgY2hhbmdlZCBjYXBzIHRvICJpbWFnZS9qcGVnLCB0YWdzLWV4dHJhY3Q9dHJ1ZS9mYWxzZSIgYW5kIGNoYW5nZWQgcHJpb3JpdHkgdG8gR1NUX1JBTktfUFJJTUFSWSsxLiBBbHNvLCBzcmNwYWQgY2FuIG9ubHkgd29yayBpbiBwdXNoIG1vZGUgdW50aWwgZml4ZWQgdG8gYWxzbyB3b3JrIGluIHB1bGwgbW9kZS4KCjIwMDctMTAtMzAgMTI6NDk6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIENyZWF0ZWQgbmV3IHBsdWdpbiAoJ21lZGFkYXRhJykgYW5kIGVsZW1lbnQgKCdtZXRhZGF0YXBhcnNlJykgdGhhdCBleHRyYWN0IG1ldGFkYXRhIGZyb20gaW1hZ2VzIChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IHBsdWdpbiAoJ21lZGFkYXRhJykgYW5kIGVsZW1lbnQgKCdtZXRhZGF0YXBhcnNlJykgdGhhdCBleHRyYWN0IG1ldGFkYXRhIGZyb20gaW1hZ2VzIChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCjIwMDctMTAtMjkgMTU6NTQ6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogVW5jb21tZW50IHRoZSBsaW5lIHRoYXQgc2V0cyB0aGUgcGlkIGZpbHRlci4gV3Jvbmcgd2F5IHRvIHdvcmstYXJvdW5kIGRyaXZlciBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVbmNvbW1lbnQgdGhlIGxpbmUgdGhhdCBzZXRzIHRoZSBwaWQgZmlsdGVyLiBXcm9uZyB3YXkgdG8KCSAgd29yay1hcm91bmQgZHJpdmVyIGlzc3Vlcy4KCjIwMDctMTAtMjggMTU6MjI6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBiaXRyYXRlIHJhbmdlcyBhbmQgY2hhbmdlIGVudW0gbmljayBmb3IgbG93IGNvbXBsZXhpdHkgcHJvZmlsZSBmcm9tIExPVyB0byBMQyBmb3IgY29uc2lzdGVuY3kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfcHJvZmlsZV9nZXRfdHlwZSksCgkgIChnc3RfZmFhY19jbGFzc19pbml0KSwgKGdzdF9mYWFjX2luaXQpOgoJICBGaXggYml0cmF0ZSByYW5nZXMgYW5kIGNoYW5nZSBlbnVtIG5pY2sgZm9yIGxvdyBjb21wbGV4aXR5CgkgIHByb2ZpbGUgZnJvbSBMT1cgdG8gTEMgZm9yIGNvbnNpc3RlbmN5ICgjNDkwMDYwKS4KCjIwMDctMTAtMjcgMTY6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbCBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKToKCSAgTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsCgkgIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFkLiBGaXhlcyAjNDkwNjgyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUuCgoyMDA3LTEwLTI3IDA4OjIwOjU5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLio6IEltcHJvdmVkIHZlcnNpb24gbm90IGRhbWFnaW5nIGhlYWRlcnMgdXNpbmcgYSBzaW1wbGUgc3RhdGUgbWFjaGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2FsaWduKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xlYW51cCksIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kaXNwb3NlKSwgKGdzdF9tcGVnNHZwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6IEltcHJvdmVkIHZlcnNpb24gbm90CgkgIGRhbWFnaW5nIGhlYWRlcnMgdXNpbmcgYSBzaW1wbGUgc3RhdGUgbWFjaGluZS4KCjIwMDctMTAtMjYgMTc6MTg6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IEZpeCBidWlsZCBhZ2FpbnN0IHRoZSBsaWJ4MjY0IHZlcnNpb24gdGhhdCBzaGlwcyB3aXRoIGRlYmlhbiBzdGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgRml4IGJ1aWxkIGFnYWluc3QgdGhlIGxpYngyNjQgdmVyc2lvbiB0aGF0IHNoaXBzIHdpdGggZGViaWFuIHN0YWJsZS4KCjIwMDctMTAtMjYgMTY6MDg6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkIGEgc2ltcGxlIE1QRUc0IEVTIHBhcnNlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVnNHZwYXJzZV9jbGVhbnVwKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X21wZWc0dnBhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2Jhc2VfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfbXBlZzR2cGFyc2VfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDogQWRkIGEgc2ltcGxlIE1QRUc0IEVTCgkgIHBhcnNlci4KCjIwMDctMTAtMjUgMjM6NDI6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luayBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rCgkgIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoKMjAwNy0xMC0yMyAxMzowODoyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFjdHVhbGx5IHVzZSB0aGUgY29kZS1yYXRlLWhwIHBhcmFtZXRlciBmb3IgRFZCLVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFjdHVhbGx5IHVzZSB0aGUgY29kZS1yYXRlLWhwIHBhcmFtZXRlciBmb3IgRFZCLVMuCgkgIEl0IHR1cm5zIG91dCBzZXR0aW5nIHRvIEFVVE8gZG9lcyBub3QgYWx3YXlzIHdvcmsgKAoJICBlc3BlY2lhbGx5IGluIGRpc2VxIHNpdHVhdGlvbnMpLiBTZXQgYnkgZGVmYXVsdCB0bwoJICBGRUNfQVVUTy4KCjIwMDctMTAtMjIgMTU6NDU6NDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlciBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6IERvbid0CgkgIGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyCgkgIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSBlbWl0IHRoZW0gZm9yIDIgcGFkcyBzY2VuYXJpb3MKCSAgdGhvdWdoIHRvIHNwZWVkIHVwIG1lZGlhIGRpc2NvdmVyeS4KCjIwMDctMTAtMTkgMTY6MjA6NTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogQWRkZWQgcHJveHkgcHJvcGVydHkgb2YgZGlzZXFjLXNvdXJjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgQWRkZWQgcHJveHkgcHJvcGVydHkgb2YgZGlzZXFjLXNvdXJjZQoKMjAwNy0xMC0xOCAwNjoyMDoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogQWRkIGEgbWlzc2luZyBicmVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgbWlzc2luZyBicmVhay4KCjIwMDctMTAtMTggMDY6MTQ6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLio6IE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoKMjAwNy0xMC0xNyAxNDo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOiBBZGQgYW5vdGhlciBtaXNzaW5nIEdTVF9MSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgQWRkIGFub3RoZXIgbWlzc2luZyBHU1RfTElCUy4KCjIwMDctMTAtMTcgMTQ6MzM6MDMgKzAwMDAgIFJpY2hhcmQgSHVsdCA8cmljaGFyZEBpbWVuZGlvLmNvbT4KCgkgIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06IEZpeCBMSUJTIC0gd2UgbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZ3N0cmVhbWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJpY2hhcmQgSHVsdCA8cmljaGFyZCBpbWVuZGlvIGNvbT4KCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBGaXggTElCUyAtIHdlIG5lZWQgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHJlYW1lci4KCjIwMDctMTAtMTcgMTA6MzM6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZHZiLzogRml4IHNvbWUgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJICBGaXggc29tZSB3YXJuaW5ncy4KCjIwMDctMTAtMTYgMTk6MjQ6MzEgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogQWRkIHRoZSBzZXQgZW5jb2RpbmdzIGNsaWVudCBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBBZGQgdGhlIHNldCBlbmNvZGluZ3MgY2xpZW50IG1lc3NhZ2UKCjIwMDctMTAtMTYgMTg6MzM6NDQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogcmVtb3ZlIHRoZSByZmJieXRlc3RyZWFtIGRlYWQgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvcmZiLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJlbW92ZSB0aGUgcmZiYnl0ZXN0cmVhbSBkZWFkIGNvZGUKCjIwMDctMTAtMTYgMTc6Mzg6MDUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgc3lzL2R2Yi86IEludGVncmF0ZSBTb0Mgd29yayBkb25lIGJ5IEFsZXNzYW5kcm8gZm9yIHRoZSBGcmVldm8gcHJvamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9jYW0uYzoKCSAgKiBzeXMvZHZiL2NhbS5oOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmg6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uYzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmg6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSAgKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSAgKiBzeXMvZHZiL2NhbXNlc3Npb24uaDoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJICAqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgICogc3lzL2R2Yi9jYW10cmFuc3BvcnQuaDoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5oOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICAqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBJbnRlZ3JhdGUgU29DIHdvcmsgZG9uZSBieSBBbGVzc2FuZHJvIGZvciB0aGUgRnJlZXZvIHByb2plY3QuCgkgIEFkZHMgY2FtIHN1cHBvcnQgdG8gdGhlIGR2YiBzdGFjayBpbiBHU3RyZWFtZXIgYW5kIGEgbmV3CgkgIGVsZW1lbnQgKGFjdHVhbGx5IGEgYmluKSBjYWxsZWQgZHZiYmFzZWJpbiB0aGF0IGludGVncmF0ZXMKCSAgZHZic3JjIGFuZCBtcGVndHNwYXJzZSB0byBhKSBoYW5kbGUgZGVjcnlwdGlvbiBhbmQgYikgYWxsb3cKCSAgYWNxdWlyaW5nIG11bHRpcGxlIGNoYW5uZWxzIG9uIHNhbWUgdHJhbnNwb25kZXIgd2l0aG91dAoJICBrbm93aW5nIHBpZCBudW1iZXJzLgoKMjAwNy0xMC0xNiAxNjo1MToyMyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGQgcmVxdWVzdCBwYWQgZm9yIGdldHRpbmcgdGhlIGZ1bGwgdHJhbnNwb3J0IHN0cmVhbSBjb21pbmcgaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBBZGQgcmVxdWVzdCBwYWQgZm9yIGdldHRpbmcgdGhlIGZ1bGwgdHJhbnNwb3J0IHN0cmVhbSBjb21pbmcgaW4uCgoyMDA3LTEwLTE0IDE3OjIyOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB0aGUgaGlnaGVzdCBhbGxvd2VkIG5lb24gdmVyc2lvbiBmcm9tIDAuMjYuOTkgdG8gMC4yNy45OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdGhlIGhpZ2hlc3QgYWxsb3dlZCBuZW9uIHZlcnNpb24gZnJvbSAwLjI2Ljk5IHRvIDAuMjcuOTkuCgkgIE5vIGNvZGUgY2hhbmdlcyBhcmUgcmVxdWlyZWQgdG8gd29yayB3aXRoIHRoZSBuZXdlc3QgbmVvbiB2ZXJzaW9uLgoKMjAwNy0xMC0xMCAxMTo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBjb3JlIENWUy4gIFRoaXMgaXMgaW1wbGljaXQgaW4gdGhlIC1iYXNlIENWUyByZXF1aXJlbWVudCBhbHJlYWR5LCBzbyB3ZSBtaWdodCBqdXN0IHdlbGwgc3BlbGwgaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSBDVlMuICBUaGlzIGlzIGltcGxpY2l0IGluIHRoZSAtYmFzZSBDVlMKCSAgcmVxdWlyZW1lbnQgYWxyZWFkeSwgc28gd2UgbWlnaHQganVzdCB3ZWxsIHNwZWxsIGl0CgkgIG91dC4gIEFsc28sIHdlIGRvIG5lZWQgYXQgbGVhc3QgMC4xMC4xNCBmb3IKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuICBNYWtlIGNoZWNrCgkgIGZvciBnbXl0aCBhIGJpdCBtb3JlIHJlc3RyaWN0aXZlIHNvIHRoaW5ncyBkb24ndCBicmVhawoJICBpZiB0aGUgbmV4dCB2ZXJzaW9uIGNoYW5nZXMgQVBJLgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBXb3JrIGFyb3VuZCBhbHNhIGFsbG9jYSBtYWNyb3MgdHJpZ2dlcmluZyAnYWx3YXlzIGV2YWx1YXRlcyB0bwoJICB0cnVlJyB3YXJuaW5ncyB3aXRoIGdjYy00LjIgYW5kIGZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjIuCgkgIEFsc28gZG9uJ3QgbGVhayB0aGUgZGV2aWNlIHN0cmluZy4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZysrNC4yIGFuZCAtV2FsbCAtV2Vycm9yIChhbHNvIG5lZWRzIHBsdWdpbgoJICBkZWZpbmUgZml4IGZyb20gY29yZSBDVlMpLiBGaXhlcyAjNDYyNzM3LgoKMjAwNy0xMC0wOSAxMDowMTozOSArMDAwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZSBhdCB5YWhvbyBkb3QgZnI+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCjIwMDctMTAtMDggMTc6NDY6NDUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0LzogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOiAocmZiX2J1ZmZlcl9uZXdfYW5kX2FsbG9jKToKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiAocmZiX3NvY2tldF9nZXRfYnVmZmVyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbik6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6IChuZXM2NTAyX2V4ZWN1dGUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgoyMDA3LTEwLTA4IDEwOjM5OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBjYXBzIHJlZmNvdW50aW5nIGZvciBwYXlsb2FkIG1hcHMuCgkgIFdoZW4gY2xlYXJpbmcgcGF5bG9hZCBtYXBzLCBhbHNvIGNsZWFyIHNlc3Npb25zIGFuZCBzdHJlYW1zIHBheWxvYWQKCSAgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2dldF9jYXBzKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZmluZF9wYWRfZm9yX3B0KToKCSAgSW1wbGVtZW50IGNsZWFyaW5nIHRoZSBwYXlsb2FkIG1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIEZvcndhcmQgZmx1c2ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCk6CgkgIENvcnJlY3RseSByZWZjb3VudCBldmVudHMgYmVmb3JlIHB1c2hpbmcgdGhlbS4KCjIwMDctMTAtMDggMDY6MDc6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmM6IFVzZSBHSU8gZnVuY3Rpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQgVVJJIHNjaGVtZXMgaW5zdGVhZCBvZiBoYXJkIGNvZGluZyBzb21ldGhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX2dldF9zdXBwb3J0ZWRfcHJvdG9jb2xzKToKCSAgVXNlIEdJTyBmdW5jdGlvbiB0byBnZXQgYSBsaXN0IG9mIHN1cHBvcnRlZCBVUkkgc2NoZW1lcyBpbnN0ZWFkIG9mCgkgIGhhcmQgY29kaW5nIHNvbWV0aGluZy4KCjIwMDctMTAtMDUgMTc6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0IHJlcG9ydCB0aW1lIGluc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwKCSAgV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QKCSAgcmVwb3J0IHRpbWUgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBjbG9jayB0aW1lIHNvIHRoYXQgd2UgZG9uJ3QgZW5kIHVwCgkgIHJlY29uc2lkZXJpbmcgZm9yZXZlci4KCjIwMDctMTAtMDUgMTI6MDc6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzIHVzIHRvIGdyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MKCSAgdXMgdG8gZ3JlYXRseSBzaW1wbGlmeSB0aGluZ3Mgd2hlbiB0aGUgdGFpbCBlbGVtZW50IGNoYW5nZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpOgoJICBGb3J3YXJkIEZMVVNIIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSB0YWlsLWNoYW5nZWQgY2FsbGJhY2sgaW4gZmF2b3VyIG9mIGEgc2ltcGxlIGJvb2xlYW4gd2hlbiB3ZQoJICBpbnNlcnQgYSBidWZmZXIgaW4gdGhlIHF1ZXVlLgoJICBBZGQgbWV0aG9kIHRvIHBlZWsgdGhlIHRhaWwgb2YgdGhlIGJ1ZmZlci4KCjIwMDctMTAtMDUgMDg6NTE6NDQgKzAwMDAgIEdhdXRpZXIgUG9ydGV0IDxrYXNzb3VsZXRAZ21haWwuY29tPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBUaGUgc2l6ZSBvZiB0aGUgWGluZyBoZWFkZXIgaXMgYWN0dWFsbHkgNDE3IGFzIGl0J3Mgcm91bmRlZCB0byB0aGUgbmV4dCBzbWFsbGVyIGludGVnZXIuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogR2F1dGllciBQb3J0ZXQgPGthc3NvdWxldCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgVGhlIHNpemUgb2YgdGhlIFhpbmcgaGVhZGVyIGlzIGFjdHVhbGx5IDQxNyBhcyBpdCdzIHJvdW5kZWQgdG8gdGhlCgkgIG5leHQgc21hbGxlciBpbnRlZ2VyLiBGaXhlcyAjMzk3NzU5LgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKHhpbmdfZ2VuZXJhdGVfaGVhZGVyKSwKCSAgKHhpbmdfcHVzaF9oZWFkZXIpOgoJICBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgRklYTUVzIGFuZCBUT0RPcyBhbmQgY2hlY2sgaWYgdGhlIG5ld3NlZ21lbnQKCSAgZXZlbnQgdG8gdGhlIGJlZ2lubmluZyB3YXMgc3VjY2Vzc2Z1bCBiZWZvcmUgcHVzaGluZyB0aGUgaGVhZGVyIGFnYWluLgoKMjAwNy0xMC0wNSAwODowNToxNCArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IERvbid0IHNraXAgUEFUIHdpdGggdmVyc2lvbiBudW1iZXIgMC4gRml4ZXMgIzQ4MzQwMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXYWktTWluZyBIbyA8d2VicmVnYm94IGF0IHlhaG9vIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3N0cmVhbV9uZXcpOgoJICBEb24ndCBza2lwIFBBVCB3aXRoIHZlcnNpb24gbnVtYmVyIDAuIEZpeGVzICM0ODM0MDAuCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChtcGVndHNfcGFyc2VfYXBwbHlfcGF0KToKCSAgTWFrZSBhbGwgdmFsdWVzIGFib3ZlIDAgbWFyayBhIHJlZmVyZW5jZWQgcHJvZ3JhbSBhcyB0aGV5IGNhbiBiZQoJICBpbmNyZW1lbnRlZCBhbmQgb25seSAxIGhhZCBtYXJrZWQgYSByZWZlcmVuY2VkIHByb2dyYW0gYmVmb3JlLCBjYXVzaW5nCgkgIGFjdHVhbGx5IHJlZmVyZW5jZWQgcHJvZ3JhbXMgdG8gYmUgdW5yZWZlcmVuY2VkLgoKMjAwNy0xMC0wMiAxMDoyOTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDogQ2hhbmdlIHNpZ25hdHVyZSBvZiBwdCB0byBmaXggY29tcGlsYXRpb24gb24gc29tZSBwbGF0Zm9ybXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgQ2hhbmdlIHNpZ25hdHVyZSBvZiBwdCB0byBmaXggY29tcGlsYXRpb24gb24gc29tZSBwbGF0Zm9ybXMuCgoyMDA3LTEwLTAyIDEwOjI3OjQ1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGFwcGx5X29mZnNldCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFyaWFibGVzLgoJICBEb24ndCBhZGQgdGhlIGxhdGVuY3kgdG8gdGhlIHNrZXcgY29ycmVjdGVkIHRpbWVzdGFtcCwgbGF0ZW5jeSBpcyBvbmx5CgkgIHVzZWQgdG8gc3luYyBhZ2FpbnN0IHRoZSBjbG9jay4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLCAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBIYW5kbGUgY2FzZSB3aGVyZSBzZXJ2ZXIgdGltZXN0YW1wIGdvZXMgYmFja3dhcmRzIG9yIHdpbGRseSBqdW1wcyBieQoJICB0ZW1wb3JhcmlseSBwYXVzaW5nIHRoZSBza2V3IGNvcnJlY3Rpb24uCgkgIEltcHJvdmUgZGVidWdnaW5nLgoKMjAwNy0xMC0wMiAxMDoxMjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvTWFrZWZpbGUuYW06IEZvcmdvdCB0byBjb21taXQgbWFrZWZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgIEZvcmdvdCB0byBjb21taXQgbWFrZWZpbGUuCgoyMDA3LTEwLTAyIDA3OjQzOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpb3NpbmsuYzogVXBkYXRlIHRvIEFQSSBjaGFuZ2VzIGluIEdJTy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICBVcGRhdGUgdG8gQVBJIGNoYW5nZXMgaW4gR0lPLgoKMjAwNy0xMC0wMSAxNDowMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogVXNlIG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoZ3N0X3NkcF9kZW11eF9tZWRpYV90b19jYXBzKToKCSAgVXNlIG5ldyBmdW5jdGlvbiBpbiAtYmFzZSB0byBnZXQgdGhlIGRlZmF1bHQgY2xvY2stcmF0ZS4KCjIwMDctMTAtMDEgMTE6NDM6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBTRFAgZGVtdXhlciBlbGVtZW50LiBGaXhlcyAjNDI2NjU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAoX2RvX2luaXQpLCAoZ3N0X3NkcF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3NkcF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9zZHBfZGVtdXhfaW5pdCksCgkgIChnc3Rfc2RwX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9zZHBfZGVtdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZHBfZGVtdXhfZ2V0X3Byb3BlcnR5KSwgKGZpbmRfc3RyZWFtX2J5X2lkKSwKCSAgKGZpbmRfc3RyZWFtX2J5X3B0KSwgKGZpbmRfc3RyZWFtX2J5X3VkcHNyYyksIChmaW5kX3N0cmVhbSksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9mcmVlKSwgKGdzdF9zZHBfZGVtdXhfY3JlYXRlX3N0cmVhbSksCgkgIChnc3Rfc2RwX2RlbXV4X2NsZWFudXApLCAoZ2V0X2RlZmF1bHRfcmF0ZV9mb3JfcHQpLAoJICAoZ3N0X3NkcF9kZW11eF9wYXJzZV9ydHBtYXApLCAoZ3N0X3NkcF9kZW11eF9tZWRpYV90b19jYXBzKSwKCSAgKG5ld19zZXNzaW9uX3BhZCksIChyZXF1ZXN0X3B0X21hcCksIChnc3Rfc2RwX2RlbXV4X2RvX3N0cmVhbV9lb3MpLAoJICAob25fYnllX3NzcmMpLCAob25fdGltZW91dCksIChnc3Rfc2RwX2RlbXV4X2NvbmZpZ3VyZV9tYW5hZ2VyKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKSwKCSAgKGdzdF9zZHBfZGVtdXhfY29tYmluZV9mbG93cyksIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9wdXNoX2V2ZW50KSwKCSAgKGdzdF9zZHBfZGVtdXhfaGFuZGxlX21lc3NhZ2UpLCAoZ3N0X3NkcF9kZW11eF9zdGFydCksCgkgIChnc3Rfc2RwX2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X3NkcF9kZW11eF9zaW5rX2NoYWluKSwKCSAgKGdzdF9zZHBfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgICogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIFNEUCBkZW11eGVyIGVsZW1lbnQuIEZpeGVzICM0MjY2NTcuCgoyMDA3LTEwLTAxIDA5OjIxOjE5ICswMDAwICBtdXRleCBhdCBydW5ib3ggZG90IGNvbSA8bXV0ZXhAcnVuYm94LmNvbT4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSB1c2VsZXNzIHNyYyBwYWQgdGhhdCBvbmx5IHJlc3VsdHMgaW4gbm90IGxpbmtlZCBlcnJvcnMsIGZpeCBhIGJyb2tlbiBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IG11dGV4IGF0IHJ1bmJveCBkb3QgY29tCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX2FkYXB0YXRpb25fZmllbGRfY29udHJvbCk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IChtcGVndHNfcGFyc2VfYmFzZV9pbml0KSwKCSAgKG1wZWd0c19wYXJzZV9pbml0KSwgKG1wZWd0c19wYXJzZV9wdXNoKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgUmVtb3ZlIHVzZWxlc3Mgc3JjIHBhZCB0aGF0IG9ubHkgcmVzdWx0cyBpbiBub3QgbGlua2VkIGVycm9ycywKCSAgZml4IGEgYnJva2VuIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kIG1ha2UgTUFYX0NPTlRJTlVJVFkgY29uc3RhbnQKCSAgY29uZm9ybSB0byB0aGUgc3RhbmRhcmQgdG8gc3RvcCBvdXRwdXR0aW5nIGNvcnJ1cHRlZCBkYXRhLgoJICBGaXhlcyAjNDgxMjc2LCAjNDgxMjc5LgoKMjAwNy0wOS0yOSAxOTozNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFJlLWFwcGx5IGRvY3MgcGF0Y2ggZnJvbSAjNDY4MDM5OyBmaXggdGFiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBSZS1hcHBseSBkb2NzIHBhdGNoIGZyb20gIzQ2ODAzOTsgZml4IHRhYi4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1hcnNoYWxsZXIgZmlsZXMgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUuCgoyMDA3LTA5LTI5IDA3OjAxOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvLzogU29tZSBtaW5vciBjbGVhbnVwIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvbmx5IHdoZW4gdGhlIGVsZW1lbnQgaXMgbm90IHBsYXlpbmcgb3IgcGF1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3NpbmtfcmVuZGVyKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFNvbWUgbWlub3IgY2xlYW51cCBhbmQgYWxsb3cgc2V0dGluZyB0aGUgbG9jYXRpb24gb25seSB3aGVuIHRoZQoJICBlbGVtZW50IGlzIG5vdCBwbGF5aW5nIG9yIHBhdXNlZC4KCjIwMDctMDktMjkgMDU6MjY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIGdpbydzIHBrZy1jb25maWcgZmlsZSBuYW1lIGFzIGN1cnJlbnRseSBpbiBTVk4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIGdpbydzIHBrZy1jb25maWcgZmlsZSBuYW1lIGFzIGN1cnJlbnRseSBpbiBTVk4uCgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKToKCSAgUmVtb3ZlIHNwZWNpYWwgY2FzaW5nIGZvciBhIE5VTEwgcXVlcnkgc3RyaW5nLiBnX3N0cmpvaW4gd29uJ3QgYWRkCgkgIHRoZSBzZXBhcmF0b3IgaWYgdGhlcmUncyBvbmx5IG9uZSBzdHJpbmcuCgoyMDA3LTA5LTI4IDE0OjUxOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9jbGllbnQpOgoJICBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBIYW5kbGUgY2FzZXMgd2hlcmUgaW5wdXQgYnVmZmVycyBoYXZlIG5vIHRpbWVzdGFtcHMgc28gdGhhdCBubyBjbG9jawoJICBza2V3IGNhbiBiZSBjYWxjdWxhdGVkLCBpbiB0aGlzIGNhc2UgaW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMgYmFzZWQgb24KCSAgcnRwIHRpbWVzdGFtcCBhbmQgYXNzdW1lIGEgMCBjbG9jayBza2V3LgoKMjAwNy0wOS0yOCAxMToxNzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChhcHBseV9sYXRlbmN5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBVc2UgbmV3IC1jb3JlIG1ldGhvZCBmb3IgZG9pbmcgYSBwZWVyIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNb3ZlIGppdHRlciBjb3JyZWN0aW9uIHRvIHRoZSBsb3dsZXZlbCBqaXR0ZXJidWZmZXIuCgkgIEluY3JlYXNlIHRoZSBtYXggd2luZG93IHNpemUuCgkgIFdoZW4gZmlsbGluZyB0aGUgd2luZG93LCBhbHJlYWR5IHN0YXJ0IGVzdGltYXRpbmcgdGhlIHNrZXcgdXNpbmcgYQoJICBwYXJhYm9saWMgd2VpZ2h0aW5nIGZhY3RvciBzbyB0aGF0IHdlIGhhdmUgYSBtdWNoIGJldHRlciBzdGFydHVwCgkgIGJlaGF2aW91ciB0aGF0IGdldHMgbW9yZSBhY2N1cmF0ZSB3aXRoIHRoZSBtb3JlIHNhbXBsZXMgd2UgaGF2ZS4KCSAgSW5jcmVhc2UgdGhlIGRlZmF1bHQgd2VpZ2h0aW5nIGZhY3RvciBmb3IgdGhlIHN0ZWFkeSBzdGF0ZSB0byBnZXQKCSAgc21vb3RoZXIgdGltZXN0YW1wcy4KCjIwMDctMDktMjggMTE6MDc6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE5vdyB0aGF0IHdlIHJlcXVpcmUgbGlibmVvbiA+PSAwLjI2IHJlbW92ZSB0aGUgbmVvbiAwLjI1IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgc3R1ZmYuIEFscy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJveHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgTm93IHRoYXQgd2UgcmVxdWlyZSBsaWJuZW9uID49IDAuMjYgcmVtb3ZlIHRoZSBuZW9uIDAuMjUgYmFja3dhcmQKCSAgY29tcGF0aWJpbGl0eSBzdHVmZi4gQWxzbyBmaXggdGhlIGRlZmF1bHQgbG9jYXRpb24uCgoyMDA3LTA5LTI4IDEwOjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBXZSByZXF1aXJlIGxpYm5lb24gPj0gMjYgbm93IGZvciB0aGUgcXVlcnkgZmllbGQgaW4gbmVfdXJpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFdlIHJlcXVpcmUgbGlibmVvbiA+PSAyNiBub3cgZm9yIHRoZSBxdWVyeSBmaWVsZCBpbiBuZV91cmkuCgoyMDA3LTA5LTI4IDA5OjI5OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogRG9uJ3QgZGlzY2FyZCBHRVQgcGFyYW1ldGVycyBmcm9tIFVSTCBpZiBleGlzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBEb24ndCBkaXNjYXJkIEdFVCBwYXJhbWV0ZXJzIGZyb20gVVJMIGlmIGV4aXN0aW5nLgoJICBGaXhlcyAjNDgxMjAwLgoKMjAwNy0wOS0yNyAxNDo1Mjo1OCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLio6IEFkZGVkIGEgcHJvcGVydHkgZm9yIGluY3JlbWVudGFsIHNjcmVlbiB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgQWRkZWQgYSBwcm9wZXJ0eSBmb3IgaW5jcmVtZW50YWwgc2NyZWVuIHVwZGF0ZXMKCjIwMDctMDktMjcgMTM6MDI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLio6IFJlbW92ZSBzdXBlcmZsdW91cyAnZnJhbWUtZW5jb2RlZCcgc2lnbmFsIChwZW9wbGUgY2FuIHVzZSBhbiB1cHN0cmVhbSBpZGVudGl0eSdzICdoYW5kb2ZmJyBzaWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzICdmcmFtZS1lbmNvZGVkJyBzaWduYWwgKHBlb3BsZSBjYW4KCSAgdXNlIGFuIHVwc3RyZWFtIGlkZW50aXR5J3MgJ2hhbmRvZmYnIHNpZ25hbCBvciBhIHBhZAoJICBwcm9iZSBmb3IgdGhpcyBpZiB0aGV5IG11c3Qga25vdykuCgoyMDA3LTA5LTI3IDEwOjA2OjIzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSSBnb3QgaXQgd3JvbmcgYWdhaW4sIGF1ZGlvIHJhdGUKCSAgd2FzIG5vdCBkZXRlY3RlZCBjb3JyZWN0bHkgaW4gYWxsIGNhc2VzLgoKMjAwNy0wOS0yNiAyMDowODoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2xlYW51cCBjcmFzaGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICBGaXggY2xlYW51cCBjcmFzaGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIER5bmFtaWNhbGx5IGFkanVzdCB0aGUgc2tldyBjYWxjdWxhdGlvbiB3aW5kb3cgc28gdGhhdCB3ZSBjYWxjdWxhdGUgaXQKCSAgb3ZlciBhIHBlcmlvZCBvZiBhcm91bmQgMiBzZWNvbmRzLgoKMjAwNy0wOS0yNiAxNjo0NDo0MiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGZpeCBidWcgZnJvbSBnZW5lcmljL3N0YXRlcy5nZGIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgZml4IGJ1ZyBmcm9tIGdlbmVyaWMvc3RhdGVzLmdkYgoKMjAwNy0wOS0yNiAxNjozMDo1MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IGNvZGVjX2RhdGEgaXMgbmVlZGVkIGZvciBldmVyeSB0YWcKCSAgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4gKEZpeCBhIHN0dXBpZCBidWcgaSBpbnRyb2R1Y2VkIHdpdGhvdXQKCSAgdGVzdGluZykKCjIwMDctMDktMjYgMTE6MTc6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBGaXggYml0IG1hc2tzIG9wZXJhdGlvbnMgdG8gYmUKCSAgc3VyZSB3ZSBkZXRlY3QgdGhlIGNvZGVjX3RhZ3MgYW5kIHNhbXBsZSByYXRlcyBjb3JyZWN0bHkuCgkgIEZpeCByYXcgYXVkaW8gY2FwcyBnZW5lcmF0aW9uLgoKMjAwNy0wOS0yNCAxMDo1MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgoyMDA3LTA5LTIyIDE4OjMxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL0xJTkdVQVM6IEFkZGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vTElOR1VBUzoKCSAgQWRkZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOS0yMiAxODoyOTo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9wbC5wbzogQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4KCSAgKiBwby9wbC5wbzoKCSAgQWRkZWQgUG9saXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyOToxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9maS5wbzogQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IElsa2thIFR1b2hlbGEgPGhpbGVAaWtpLmZpPgoJICAqIHBvL2ZpLnBvOgoJICBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyODozMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9lcy5wbzogQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpvcmdlIEdvbnrDoWxleiBHb256w6FsZXogPGFsb3JpZWxAZ21haWwuY29tPgoJICAqIHBvL2VzLnBvOgoJICBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMiAxODoyNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9iZy5wbzogQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogQWxleGFuZGVyIFNob3BvdiA8YXNoQGNvbnRhY3QuYmc+CgkgICogcG8vYmcucG86CgkgIEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjEgMTg6MDA6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6IFVwZGF0ZSBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIFVwZGF0ZSBoaWVyYXJjaHkuCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgTWFyayBwcml2YXRlIGZpZWxkcyBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0cyBwcml2YXRlLgoKMjAwNy0wOS0yMSAxNzozMTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHRoZSBHSU8gcGx1Z2luIHRvIHRoZSBkb2NzIGFuZCBkbyBhIG1ha2UgdXBkYXRlIHdoaWxlIGRvaW5nIHRoYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIHRoZSBHSU8gcGx1Z2luIHRvIHRoZSBkb2NzIGFuZCBkbyBhIG1ha2UgdXBkYXRlCgkgIHdoaWxlIGRvaW5nIHRoYXQuCgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX3N0YXJ0KToKCSAgRml4IGEgc21hbGwgbWVtbGVhay4KCjIwMDctMDktMjEgMTc6MDc6NTYgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgYSBHSU8vR1ZGUyBwbHVnaW4gd2l0aCBzb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMuIFRoaXMgd2lsbCBvbmx5IGJlIGVuYWJsZWQgd2hlbiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgZ2l2ZW4gdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fZXJyb3IpLCAoZ3N0X2dpb19zZWVrKSwKCSAgKGdzdF9naW9fZ2V0X3N1cHBvcnRlZF9wcm90b2NvbHMpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdHlwZV9zaW5rKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3R5cGVfc3JjKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3Byb3RvY29scyksIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9zZXRfdXJpKSwgKGdzdF9naW9fdXJpX2hhbmRsZXJfaW5pdCksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2RvX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zaW5rX3N0YXJ0KSwKCSAgKGdzdF9naW9fc2lua19zdG9wKSwgKGdzdF9naW9fc2lua191bmxvY2spLAoJICAoZ3N0X2dpb19zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9naW9fc2lua19ldmVudCksCgkgIChnc3RfZ2lvX3NpbmtfcmVuZGVyKSwgKGdzdF9naW9fc2lua19xdWVyeSk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX3NyY19zdG9wKSwgKGdzdF9naW9fc3JjX2dldF9zaXplKSwKCSAgKGdzdF9naW9fc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9naW9fc3JjX3VubG9jayksCgkgIChnc3RfZ2lvX3NyY191bmxvY2tfc3RvcCksIChnc3RfZ2lvX3NyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2dpb19zcmNfY3JlYXRlKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBBZGQgYSBHSU8vR1ZGUyBwbHVnaW4gd2l0aCBzb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMuIFRoaXMgd2lsbAoJICBvbmx5IGJlIGVuYWJsZWQgd2hlbiAtLWVuYWJsZS1leHBlcmltZW50YWwgaXMgZ2l2ZW4gdG8gY29uZmlndXJlCgkgIGZvciBub3cgYXMgdGhlIEdJTyBBUEkgaXMgbm90IHN0YWJsZSB5ZXQuIEZpeGVzICM0NzY5MTYuCgoyMDA3LTA5LTIxIDE1OjQ5OjI0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIHZhcmlvdXMgbmV3IHBsdWctaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggdmFyaW91cyBuZXcgcGx1Zy1pbnMKCjIwMDctMDktMjEgMTQ6NTU6MTkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkZWQgb2Zmc2V0LXgsIG9mZnNldC15LCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnR5IGZvciBzZWxlY3RpbmcgYSByZWdpb24gZnJvbSB0aGUgc2NyZWVuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIG9mZnNldC14LCBvZmZzZXQteSwgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0eQoJICBmb3Igc2VsZWN0aW5nIGEgcmVnaW9uIGZyb20gdGhlIHNjcmVlbgoKMjAwNy0wOS0yMSAxMDoyNzowMiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IE1pbmltdW0gcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcgbm93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIE1pbmltdW0gcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcgbm93CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIGZpeCBhZGRyZXNzIHdoaWxlIHJlYWRpbmcgZnJvbSBzdHJlYW0KCjIwMDctMDktMjAgMjA6NDA6MDUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiByYXcgZW5jb2RpbmcgaXMgd29ya2luZywgYnV0IGl0IGxvb2tzIGxpa2UgdGhlIGZmbXBlZ2NvbG9yc3BhY2UgcGx1Z2luIGNhbid0IGhhbmRsZSBoaWdoIHJlc28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIHRoZQoJICBmZm1wZWdjb2xvcnNwYWNlIHBsdWdpbiBjYW4ndCBoYW5kbGUgaGlnaCByZXNvbHV0aW9ucwoKMjAwNy0wOS0yMCAxODozMDozNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGJwcCwgZGVwdGggYW5kIGVuZGlhbm5lc3MgYXJlIG5vdyBzZXQgZnJvbSB0aGUgc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBicHAsIGRlcHRoIGFuZCBlbmRpYW5uZXNzIGFyZSBub3cgc2V0IGZyb20gdGhlCgkgIHN0cmVhbS4KCjIwMDctMDktMjAgMTc6Mzg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IEZpeCBjb21waWxhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgbmFtZSBvZiBhIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiAobWFpbik6CgkgIEZpeCBjb21waWxhdGlvbiBhZnRlciBjaGFuZ2luZyB0aGUgbmFtZSBvZiBhIG1ldGhvZC4KCjIwMDctMDktMjAgMTU6MDY6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtZW1vcnkgbGVha3MuIE1vcmUgdG8gY29tZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEZpeCBtZW1vcnkgbGVha3MuIE1vcmUgdG8gY29tZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBJbXByb3ZlZCBzdGF0ZSBjaGFuZ2UgdW5pdCB0ZXN0LgoKMjAwNy0wOS0yMCAxNDozNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19hY3RpdmUpLCAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc3NyY19hY3RpdmUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfYWN0aXZlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG5vdGlmaWNhdGlvbiBvZiBhY3RpdmUgU1NSQ3MgdG8gdmFyaW91cyBSVFAgZWxlbWVudHMuIEZpeGVzICM0Nzg1NjYuCgoyMDA3LTA5LTIwIDEzOjU5OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IEFkZCBwcm9wZXJ0aWVzLCBzaWduYWxzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyB0aGUgZWxlbWVudCBldmVuIHdpdGhvdXQgbGlua2luZyB0byB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9tYXJzaGFsX09CSkVDVF9fVk9JRCksCgkgIChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NpbmtfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfZGlzcG9zZSksIChnc3RfYXBwX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksIChnc3RfYXBwX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwgKGdzdF9hcHBfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3NpbmtfZ2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX2lzX2VvcyksIChnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIEFkZCBwcm9wZXJ0aWVzLCBzaWduYWxzIGFuZCBhY3Rpb25zIHRvIGFjY2VzcyB0aGUgZWxlbWVudCBldmVuIHdpdGhvdXQKCSAgbGlua2luZyB0byB0aGUgbGlicmFyeS4KCSAgRml4IHNvbWUgbWV0aG9kIG5hbWVzIGFuZCBzaWduYXR1cmVzLgoKMjAwNy0wOS0xOSAyMToxODoyNyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBvbiByZWd1bGFyIG1vbm8gYW5kIHN0ZXJlbyBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfc3JjZ2V0Y2FwcyksIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIERvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBvbiByZWd1bGFyIG1vbm8gYW5kIHN0ZXJlbyBjYXNlcy4KCSAgRml4ZXMgIzQ3NjM3MC4KCjIwMDctMDktMTkgMjA6NTU6NDMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogSXQgaXMgbm93IHBvc3NpYmxlIHRvIGNvbm5lY3QgdG8gYSB2bmNzZXJ2ZXIuIHRoZXJlIGFyZSBzdGlsbCBzb21lIGlzc3VlcyB3aXRoIHRoZSBvdXB1dCBvZiB0aGUgc2NyZWVuLiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgSXQgaXMgbm93IHBvc3NpYmxlIHRvIGNvbm5lY3QgdG8gYSB2bmNzZXJ2ZXIuCgkgIHRoZXJlIGFyZSBzdGlsbCBzb21lIGlzc3VlcyB3aXRoIHRoZSBvdXB1dCBvZgoJICB0aGUgc2NyZWVuLiBMb29rcyBsaWtlIHNvbWUgbGluZXMgYXJlIGNvbmZ1c2VkCgoyMDA3LTA5LTE5IDE4OjIyOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcmVnaXN0cmllcyBpbiBhbnkgZm9ybWF0LgoKMjAwNy0wOS0xOSAxMzo1MDo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBEb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBmb3Igb2NjYXNpb25hbCBkZWNvZGluZyBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKG9wZW5fbGlicmFyeSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBEb24ndCBnZW5lcmF0ZSBhbiBlcnJvciBmb3Igb2NjYXNpb25hbCBkZWNvZGluZyBlcnJvcnMuCgkgIEFkZCBtYXgtZXJyb3JzIHByb3BlcnR5LgoJICBFcnJvciBvdXQgd2hlbiB3ZSByZWNlaXZlIG1heC1lcnJvcnMgaW4gYSByb3cuIEZpeGVzICM0NzgxNTkuCgoyMDA3LTA5LTE5IDEzOjA2OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogQWRkIHBhc3N3b3JkIHByb3BlcnR5ICh3cml0ZSBvbmx5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBBZGQgcGFzc3dvcmQgcHJvcGVydHkgKHdyaXRlIG9ubHkpCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFJlYWQgdGhlIHJlYXNvbiBvbiBmYWlsdXJlCgkgIFVzZSB0aGUgcGFzc3dvcmQgcHJvcGVydHkgZm9yIGF1dGhlbnRpY2F0aW9uCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBkZWZpbmVzIGZvciB2ZXJzaW9uIGNoZWNraW5nCgoyMDA3LTA5LTE5IDEyOjUwOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCk6CgkgIFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5CgkgIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgdG8gZnJlZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2Fwcy4KCjIwMDctMDktMTkgMTI6NTA6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkgY2hhaW4gdXAgdG8gdGhlIHBhcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KToKCSAgV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkKCSAgY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyB0byBmcmVlIGV2ZXJ5dGhpbmcsIGluY2x1ZGluZyBjYXBzLgoKMjAwNy0wOS0xOSAwODozNToxMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBWTkMgQXV0aGVudGljYXRpb24gc2hvdWxkIGJlIHdvcmtpbmcgbm93IHRlbXBlcmFseSB3aXRoIGZha2UgcGFzc3dvcmQgJ3Rlc3R0ZXN0JwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIFZOQyBBdXRoZW50aWNhdGlvbiBzaG91bGQgYmUgd29ya2luZyBub3cKCSAgdGVtcGVyYWx5IHdpdGggZmFrZSBwYXNzd29yZCAndGVzdHRlc3QnCgoyMDA3LTA5LTE4IDE2OjMyOjE5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLio6IEFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCBzZWN1cml0eSBoYW5kbGluZyBzdGFydCBpbXBsZW1lbnRpbmcgc2VjdXJpdHkgaGFuZGxpbmcgZm9yIHJmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgc2VjdXJpdHkgaGFuZGxpbmcKCSAgc3RhcnQgaW1wbGVtZW50aW5nIHNlY3VyaXR5IGhhbmRsaW5nIGZvciByZmIgMy4zCgoyMDA3LTA5LTE4IDEzOjU1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCjIwMDctMDktMTggMTE6NDU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGJhc2V0cmFuc2Zvcm0gc2VnbWVudCBzbyB0aGF0IGl0IGlzIGNvcnJlY3RseSBtYW5hZ2VkIG9uIGZsdXNoZXMKCSAgYW5kIHN0YXJ0L3N0b3AuIFJlcG9ydCBtZXNzYWdlIHRpbWVzdGFtcCBhcyBzdHJlYW0gdGltZSwgd2hpY2ggaXMgd2hhdAoJICBhbiBhcHBsaWNhdGlvbiBjYW4gdW5kZXJzdGFuZC4gKFllcyB0aGVzZSBhcmUgYWRhcHRlZCBmcm9tIHdpbSByZWNlbnQKCSAgbGV2ZWwgZWxlbWVudCBjaGFuZ2VzKQoKMjAwNy0wOS0xNyAyMToxMjoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgZm9yIHRoZSByZmIgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBuZXcgcHJvcGVydHkgZm9yIHRoZSByZmIgdmVyc2lvbgoKMjAwNy0wOS0xNyAwMjowMTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUKCSAgc3NyYyBkZW11eGVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBGaXggcmFjZSBpbiBjcmVhdGluZyB0aGUgUlRQIGFuZCBSVENQIHBhZHMgd2hlbiBhIG5ldyBTU1JDIGlzIGRldGVjdGVkLgoKMjAwNy0wOS0xNiAxOTo0MDozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChjb252ZXJ0X3J0cHRpbWVfdG9fZ3N0dGltZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlY29uc3RydWN0IEdTVCB0aW1lc3RhbXAgZnJvbSBSVFAgdGltZXN0YW1wcyBiYXNlZCBvbiBtZWFzdXJlZCBjbG9jawoJICBza2V3IGFuZCBzeW5jIG9mZnNldC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X3RhaWxfY2hhbmdlZCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfY2xvY2tfcmF0ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcGVlayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1lYXN1cmUgY2xvY2sgc2tldy4KCSAgQWRkIGNhbGxiYWNrIHRvIGJlIG5vdGZpZWQgd2hlbiBhIG5ldyBwYWNrZXQgd2FzIGluc2VydGVkIGF0IHRoZSB0YWlsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlbW92ZSBjbG9jayBza2V3IGRldGVjdGlvbiwgaXQncyBtb3ZlIHRvIHRoZSBqaXR0ZXJidWZmZXIgbm93LgoKMjAwNy0wOS0xNiAwNzoyODoxOCArMDAwMCAgRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzQHRpLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy4qOiBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBiYW5kbW9kZS4gRml4ZXMgIzQ3NzMwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXMgYXQgdGkgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19iYW5kbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYW1yd2JlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9hbXJ3YmVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZW5jX2NoYWluKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYmFuZG1vZGUuIEZpeGVzICM0NzczMDYuCgoyMDA3LTA5LTE1IDE4OjQ4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIHRoZSByaWdodCBsb2NrIHRvIHByb3RlY3Qgb3VyIHZhcmlhYmxlcy4KCSAgRml4IHNvbWUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBJbXBsZW1lbnQgZ2V0Y2FwcyBvbiB0aGUgc2VuZGVyIHNpbmtwYWQgc28gdGhhdCBwYXlsb2FkZXJzIGNhbiBuZWdvdGlhdGUKCSAgdGhlIHJpZ2h0IFNTUkMuCgoyMDA3LTA5LTEyIDIxOjIzOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBWYXJpb3VzIGxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZnJlZV9zZXNzaW9uKSwKCSAgKGdldF9jbGllbnQpLCAoZnJlZV9jbGllbnQpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVmFyaW91cyBsZWFrIGZpeGVzLgoKMjAwNy0wOS0xMiAxODowNDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjYWxjX250cF9uc19iYXNlKSwKCSAgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksIChuZXdfcGF5bG9hZF9mb3VuZCksIChjcmVhdGVfc2VuZF9ydHApOgoJICBDYWxjdWxhdGUgYW5kIGNvbmZpZ3VyZSB0aGUgTlRQIGJhc2UgdGltZSBzbyB0aGF0IHdlIGNhbiBnZW5lcmF0ZSBiZXR0ZXIKCSAgTlRQIHRpbWVzIGluIFNSIHBhY2tldHMuCgkgIFNldCBjYXBzIG9uIG5ldyBnaG9zdHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQ2xlYW4gZGVidWcgc3RhdGVtZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25faW50ZXJuYWxfbGlua3MpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgbnRwLW5zLWJhc2UgcHJvcGVydHkgdG8gY29udmVydCBydW5uaW5nX3RpbWUgdG8gTlRQIHRpbWUuCgkgIEhhbmRsZSBORVdTRUdNRU5UIGV2ZW50cyBvbiBzZW5kIGFuZCByZWN2IFJUUCBwYWRzIHNvIHRoYXQgd2UgY2FuCgkgIGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGFuZCB0aHVzIE5UUCB0aW1lIG9mIHRoZSBwYWNrZXRzLgoJICBTaW1wbGlmeSBnZXR0aW5nIHRoZSBjdXJyZW50IE5UUCB0aW1lIHVzaW5nIHRoZSBwaXBlbGluZSBjbG9jay4KCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucy4KCSAgVXNlIHRoZSBidWZmZXIgdGltZXN0YW1wIHRvIGNhbGN1bGF0ZSB0aGUgTlRQIHRpbWUgaW5zdGVhZCBvZiB0aGUgY2xvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW50ZXJuYWxfbGlua3MpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbi4KCSAgQ2FsY3VsYXRlIHRoZSBkaWZmIGJldHdlZW4gZGlmZmVyZW50IHN0cmVhbXMsIHRoaXMgbWlnaHQgYmUgdXNlZCBsYXRlcgoJICB0byBnZXQgdGhlIGludGVyIHN0cmVhbSBsYXRlbmN5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU2ltcGxlIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19zcik6CgkgIE1ha2UgdGhlIGNsb2NrIHNrZXcgd2luZG93IGEgbGl0dGxlIGJpZ2dlci4KCSAgQXBwbHkgdGhlIGNsb2NrIHNrZXcgdG8gYWxsIGJ1ZmZlcnMsIG5vdCBqdXN0IG9uZSB3aXRoIGEgbmV3IHRpbWVzdGFtcC4KCSAgQ2FsY3VsYXRlIGFuZCBkZWJ1ZyBzZW5kZXIgY2xvY2sgZHJpZnQuCgkgIFVzZSBleHRlbmRlZCBsYXN0IHRpbWVzdGFtcCB0byBpbnRlcnBvbGxhdGUgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA5LTEyIDA4OjM4OjIyICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFBldGVyIEtqZWxsZXJzdGVkdCAgPHBraiBhdCBheGlzIGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0NzYxMjgpLgoKMjAwNy0wOS0wOSAxOTowNToxOSArMDAwMCAgVGhvbWFzIEdyZWVuIDx0b203ODk5OUBnbWFpbC5jb20+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBXaXRoIGxpYm5lb24gMi42LCB3ZSBuZWVkIHRvIHNldCB0aGUgTkVfU0VTU0ZMQUdfSUNZUFJPVE8gZmxhZyBpZiB3ZSB3YW50IElDWSBzdHJlYW1zIHRvIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUaG9tYXMgR3JlZW4gIDx0b203ODk5OSBnbWFpbCBjb20+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgV2l0aCBsaWJuZW9uIDIuNiwgd2UgbmVlZCB0byBzZXQgdGhlIE5FX1NFU1NGTEFHX0lDWVBST1RPCgkgIGZsYWcgaWYgd2Ugd2FudCBJQ1kgc3RyZWFtcyB0byBiZSBoYW5kbGVkIHRvbywgb3RoZXJ3aXNlCgkgIGxpYm5lb24gd2lsbCBlcnJvciBvdXQgd2l0aCBhICdjYW4ndCBwYXJzZSByZXBvbnNlJyBlcnJvci4KCSAgRml4ZXMgIzQ3NDY5Ni4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICBVbml0IHRlc3QgZm9yIHRoZSBhYm92ZSBieSBZb3VycyBUcnVseS4KCjIwMDctMDktMDkgMTg6MjI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gZm9yIHRoZSBmYWFkIGFuZCB0aGUgeHZpZCBjb25maWd1cmUgY2hlY2tzLCBzbyB0aGV5IHN0aWxsIHdvcmsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGZvciB0aGUgZmFhZCBhbmQgdGhlCgkgIHh2aWQgY29uZmlndXJlIGNoZWNrcywgc28gdGhleSBzdGlsbCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgoJICBGaXhlcyAjNDUyMDA5LgoKMjAwNy0wOS0wNyAxNTo1NDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBUaGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBub3RpY2luZy4KCjIwMDctMDktMDYgMjA6Mzc6NTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoKMjAwNy0wOS0wNiAwNzoyNjo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogUmVtb3ZlIGZpeGVkIHBvaW50IEZGVCBhcyBpdCdzIG5vdCB1c2VkIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6CgkgIFJlbW92ZSBmaXhlZCBwb2ludCBGRlQgYXMgaXQncyBub3QgdXNlZCBhbnltb3JlLgoKMjAwNy0wOS0wNiAwNzoyMToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydCBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fc2V0dXApLCAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0CgkgIGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UgY29udGVudHMsCgkgIGF2ZXJhZ2UgYWxsIEZGVHMgZG9uZSBpbiBvbmUgaW50ZXJ2YWwgZm9yIGJldHRlciByZXN1bHRzLCB1c2UKCSAgYSBiZXR0ZXIgd2luZG93aW5nIGZ1bmN0aW9uLCBhbGxvdyBwb3N0aW5nIHRoZSBwaGFzZSBpbiB0aGUgbWVzc2FnZQoJICBhbmQgYWN0dWFsbHkgZG8gYW4gRkZUIHdpdGggdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgYmFuZHMgaW5zdGVhZAoJICBvZiBpbnRlcnBvbGF0aW5nLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVjdHJ1bV9zdWl0ZSk6CgkgIEltcHJvdmUgdGhlIHVuaXRzIHRlc3RzIGJ5IGNoZWNraW5nIGZvciBhIDExMDI1SHogc2luZSB3YXZlCgkgIGFuZCBhZGQgdW5pdCB0ZXN0cyBmb3IgYWxsIDQgc3VwcG9ydGVkIHNhbXBsZSB0eXBlcy4KCjIwMDctMDktMDUgMjE6MDk6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKToKCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IHNldCBMT05HIGZvciB3aWR0aC9oZWlnaHQgaW4gY2Fwcy4KCSAgU2V0IGNvcnJlY3Qgb3V0cHV0IGJ1ZmZlciBzaXplIHdoZW4gY2FwcyBjaGFuZ2VkLgoJICBUaGUgY3VzdG9tIG1lc3NhZ2Ugc2VudCB0byB0aGUgZGVjb2RlciBzaG91bGQgbm90IGluY2x1ZGUgdGhlIGZvcm1hdCBhbmQKCSAgc3ViZm9ybWF0LiBGaXhlcyAjNDcxNTU0LgoKMjAwNy0wOS0wNCAxNToyMzozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvciAoIzQ3MzU2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgTWFrZSBjb21waWxlciBoYXBweTogZml4IGNvbXBpbGF0aW9uIHdpdGggLVdhbGwgLVdlcnJvcgoJICAoIzQ3MzU2MikuCgoyMDA3LTA5LTA0IDAyOjIyOjIwICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIE5vc2VmYXJ0IC0+IE5FUyBTb3VuZCBGb3JtYXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vc2VmYXJ0IC0+IE5FUyBTb3VuZCBGb3JtYXQKCjIwMDctMDktMDQgMDI6MTY6NTMgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSAgZ3N0L25zZi9nc3Ruc2YuKjogQWRkIHN1cHBvcnQgZm9yICh2ZXJ5KSBiYXNpYyB0YWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0wMyAgSm9oYW4gRGFobGluICA8am9oYW5AZ25vbWUub3JnPgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6IChnc3RfbnNmZGVjX2ZpbmFsaXplKSwgKHN0YXJ0X3BsYXlfdHVuZSk6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgQWRkIHN1cHBvcnQgZm9yICh2ZXJ5KSBiYXNpYyB0YWdnaW5nLgoKMjAwNy0wOS0wMyAyMToxOTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoY2Fwc19jaGFuZ2VkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIEhhbmRsZSBzeW5jX3J0Y3AgYnVmZmVycyBmcm9tIHRoZSBTU1JDIGRlbXV4ZXIgdG8gcGVyZm9ybSBsaXAtc3luYy4KCSAgU2V0IHRoZSBkZWZhdWx0IGxhdGVuY3kgY29ycmVjdGx5LgoJICBBZGQgc29tZSBtb3JlIHBvaW50cyB3aGVyZSB3ZSBjYW4gZ2V0IGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gY29udHJvbCB0aW1lc3RhbXBpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEZlZWQgcnRwc2Vzc2lvbiBtYW5hZ2VyIHdpdGggTlRQIHRpbWUgYmFzZWQgb24gcGlwZWxpbmUgY2xvY2sgd2hlbgoJICBoYW5kbGluZyBSVFAgcGFja2V0cyBhbmQgUlRDUCB0aW1lb3V0cy4KCSAgUGVyZm9ybSBhbGwgUlRDUCB3aXRoIHRoZSBzeXN0ZW0gY2xvY2suCgkgIFNldCBjYXBzIG9uIFJUQ1Agb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFsc28gZGVtdXggUlRDUCBtZXNzYWdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcmIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbW92ZSB0aGUgZ2V0X3RpbWUgY2FsbGJhY2ssIHRoZSBHU3RyZWFtZXIgcGFydCB3aWxsIGZlZWQgdXMgd2l0aAoJICBlbm91Z2ggdGltaW5nIGluZm9ybWF0aW9uLgoJICBTcGxpdCBzeW5jIHRpbWluZyBhbmQgUlRDUCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIEZhY3RvciBvdXQgY29tbW9uIFJCIGhhbmRsaW5nIGZvciBTUiBhbmQgUlIuCgkgIFNlbmQgb3V0IFNSIFJUQ1AgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgIE1vdmUgU1IgYW5kIFJSIHBhY2tldCBpbmZvIGdlbmVyYXRpb24gdG8gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3NlbmRfcnRwKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgY2FwcyBvbiBpbmNvbW1pbmcgYnVmZmVycyB0byBnZXQgdGltaW5nIGluZm9ybWF0aW9uIHdoZW4gdGhleSBhcmUKCSAgdGhlcmUuCgkgIENhbGN1bGF0ZSBjbG9jayBzY2V3IG9mIHRoZSByZWNlaXZlciBjb21wYXJlZCB0byB0aGUgc2VuZGVyIGFuZCBhZGp1c3QKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzLgoJICBDYWxjdWxhdGUgdGhlIHJvdW5kIHRyaXAgaW4gc291cmNlcy4KCSAgRG8gU1IgYW5kIFJSIGNhbGN1bGF0aW9ucyBpbiB0aGUgc291cmNlLgoKMjAwNy0wOS0wMyAyMDowNzoxNyArMDAwMCAgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSAgZ215dGhzcmMgY29kZSByZXdyaXRlOwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ215dGhzcmMgY29kZSByZXdyaXRlOwoKMjAwNy0wOC0zMSAxNToyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdCB3ZSBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBVc2UgZXh0ZW5kZWQgdGltZXN0YW1wIHRvIHJlbGVhc2UgYnVmZmVycyBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgc28gdGhhdAoJICB3ZSBjYW4gaGFuZGxlIHRoZSBydHAgd3JhcGFyb3VuZCBjb3JyZWN0bHkuCgoyMDA3LTA4LTI5IDE2OjU2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEltcHJvdmUgQ29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbXByb3ZlIENvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3Nlc3Npb25fcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgQWxzbyBwYXJzZSB0aGUgc2luayBjYXBzIGZvciBjbG9jay1yYXRlIGluc3RlYWQgb2Ygb25seSByZWx5aW5nIG9uIHRoZQoJICByZXN1bHQgb2YgdGhlIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgZmV0Y2ggdGhlIGNsb2NrIHJhdGUgZm9yIHBheWxvYWRzIHdlIGFyZSBzZW5kaW5nIG91dCBzbwoJICB0aGF0IHdlIGNhbiB1c2UgaXQgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA4LTI5IDE2OjIwOjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBJZiBhbGwgaW5mb3JtYXRpb24gaXMga25vd24gYXQgdGltZSBvZiBzZXR0aW5nIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KToKCSAgSWYgYWxsIGluZm9ybWF0aW9uIGlzIGtub3duIGF0IHRpbWUgb2Ygc2V0dGluZyBzdGFydC10aW1lCgkgIHByb3BlcnR5LCBzZW5kIG5ldyBzZWdtZW50cyB0aGVuLgoKMjAwNy0wOC0yOSAwMToyMjo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uKjogRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQgY2FuIGdlbmVyYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgRGlzdHJpYnV0ZSBzeW5jaHJvbmlzYXRpb24gcGFyYW1ldGVycyB0byB0aGUgc2Vzc2lvbiBtYW5hZ2VyIHNvIHRoYXQgaXQKCSAgY2FuIGdlbmVyYXRlIGNvcnJlY3QgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2Jhc2VfdGltZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfdGltZXN0YW1wX3N5bmMpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2RzIGZvciBzZXR0aW5nIHN5bmMgcGFyYW1ldGVycy4KCSAgU2V0IGNvcnJlY3QgUlRQIHRpbWUgaW4gU1IgcGFja2V0cyB1c2luZyB0aGUgc3luYyBwYXJhbXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVjb3JkIGxhc3QgUlRQIDwtPiBHU1QgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIHRvIGNvbnZlcnQgTlRQCgkgIHRvIFJUUCB0aW1lc3RhbXBzIGluIFNSIHBhY2tldHMuCgoyMDA3LTA4LTI4IDIwOjMwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgRklYTUUuCgkgIFJlbGVhc2UgTE9DSyB3aGVuIHBlcmZvcm1pbmcgc2Vzc2lvbiBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgIEFkZCBzb21lIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGFsd2F5cyBzZW5kIFJUUCBwYWNrZXRzIHdpdGggdGhlIHNlc3Npb24gU1NSQy4KCjIwMDctMDgtMjggMDg6MTA6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiBEb24ndCBuZWVkIHRoaXMgaW5jbHVkZSAoZml4ZXMgY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBEb24ndCBuZWVkIHRoaXMgaW5jbHVkZSAoZml4ZXMgY29tcGlsYXRpb24gaW4gdW5pbnN0YWxsZWQgc2V0dXApLgoKMjAwNy0wOC0yNyAyMToxNzoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgRG9uJ3QgdHJ5IHRvIGFkZCBvdXIgbGF0ZW5jeSB0byBpbnZhbGlkIHBlZXIgbWF4IGxhdGVuY3kgdmFsdWVzLgoKMjAwNy0wOC0yNyAxNDo1NjowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgoyMDA3LTA4LTI3IDE0OjQxOjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06IENvbW1pdCB0aGUgbWFrZWZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBDb21taXQgdGhlIG1ha2VmaWxlIHRvby4KCjIwMDctMDgtMjcgMTQ6MzM6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZHZkc3B1IGVsZW1lbnQgZG9uYXRlZCBieSBGbHVlbmRvLiBJdCBpbXBsZW1lbnRzIGEgRFZEIFN1Yi1QaWN0dXJlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZHZkc3B1Ly5jdnNpZ25vcmU6CgkgICogZ3N0L2R2ZHNwdS9Ob3Rlcy50eHQ6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6IChkdmRzcHVfcmVjYWxjX3BhbGV0dGUpLAoJICAoZHZkc3B1X3VwZGF0ZV9wYWxldHRlcyksIChkdmRzcHVfY2xlYXJfY29tcF9idWZmZXJzKSwKCSAgKGR2ZHNwdV9nZXRfbmliYmxlKSwgKGR2ZHNwdV9nZXRfcmxlX2NvZGUpLCAoZHZkc3B1X2RyYXdfcmxlX3J1biksCgkgIChybGVfZW5kX3gpLCAoZHZkc3B1X3JlbmRlcl9saW5lKSwgKGR2ZHNwdV91cGRhdGVfY2hnY29sKSwKCSAgKGR2ZHNwdV9yZW5kZXJfbGluZV93aXRoX2NoZ2NvbCksIChkdmRzcHVfYmxlbmRfY29tcF9idWZmZXJzKSwKCSAgKGdzdGR2ZHNwdV9yZW5kZXJfc3B1KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiAoZHZkc3B1X2Jhc2VfaW5pdCksIChkdmRzcHVfY2xhc3NfaW5pdCksCgkgIChkdmRzcHVfaW5pdCksIChkdmRzcHVfY2xlYXIpLCAoZHZkc3B1X2Rpc3Bvc2UpLCAoZHZkc3B1X2ZpbmFsaXplKSwKCSAgKGR2ZHNwdV9mbHVzaF9zcHVfaW5mbyksIChkdmRzcHVfYnVmZmVyX2FsbG9jKSwgKGR2ZHNwdV9zcmNfZXZlbnQpLAoJICAoZHZkc3B1X3ZpZGVvX3NldF9jYXBzKSwgKGR2ZHNwdV92aWRlb19wcm94eV9nZXRjYXBzKSwKCSAgKGR2ZHNwdV92aWRlb19ldmVudCksIChkdmRzcHVfdmlkZW9fY2hhaW4pLAoJICAoZHZzcHVfaGFuZGxlX3ZpZF9idWZmZXIpLCAoZHZkc3B1X3JlZHJhd19zdGlsbCksCgkgIChnc3RkdmRzcHVfcGFyc2VfY2hnX2NvbGNvbiksIChkdmRzcHVfZXhlY19jbWRfYmxrKSwKCSAgKGR2ZHNwdV9maW5pc2hfc3B1X2J1ZiksIChkdmRzcHVfc2V0dXBfY21kX2JsayksCgkgIChkdmRzcHVfaGFuZGxlX25ld19zcHVfYnVmKSwgKGR2ZHNwdV9oYW5kbGVfZHZkX2V2ZW50KSwKCSAgKGR2ZHNwdV9kdW1wX2Rjc3EpLCAoZHZkc3B1X2FkdmFuY2Vfc3B1KSwKCSAgKGR2ZHNwdV9jaGVja19zdGlsbF91cGRhdGVzKSwgKGR2ZHNwdV9zdWJwaWNfY2hhaW4pLAoJICAoZHZkc3B1X3N1YnBpY19ldmVudCksIChkdmRzcHVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdGR2ZHNwdV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1IGVsZW1lbnQgZG9uYXRlZCBieSBGbHVlbmRvLiBJdCBpbXBsZW1lbnRzIGEgRFZEIFN1Yi1QaWN0dXJlCgkgIFVuaXQsIGRlY29kaW5nIGFuZCBvdmVybGF5aW5nIERWRCBzdWJ0aXRsZXMgYW5kIG1lbnUgZ3JhcGhpY3MuCgkgICogZ3N0L21wZWcyc3ViLy5jdnNpZ25vcmU6CgkgICogZ3N0L21wZWcyc3ViL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMnN1Yi9Ob3Rlcy50eHQ6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZzJzdWIvbXBlZzJzdWJ0LnZjcHJvajoKCSAgRGVsZXRlIG9sZCBhbmQgYnJva2VuIG1wZWcyc3VidCBlbGVtZW50IHRoYXQgd2FzIG5ldmVyIHBvcnRlZCBmcm9tIDAuOAoKMjAwNy0wOC0yNCAxNzowMzoxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IFJlbW92ZSBzb21lIHVzZWxlc3MgaWZkZWYuCgoyMDA3LTA4LTI0IDE1OjU2OjUyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgTWFrZSBzd2l0Y2ggbW9yZSByZWxpYWJsZSBhbmQgYWxzbyBub3QgbG9jayB1cCB3aGVuIHNpbmsgcGFkIGNhcHMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIE1ha2Ugc3dpdGNoIG1vcmUgcmVsaWFibGUgYW5kIGFsc28gbm90IGxvY2sgdXAgd2hlbgoJICBzaW5rIHBhZCBjYXBzIGNoYW5nZS4KCjIwMDctMDgtMjQgMTU6MzE6MjYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBJbXBsZW1lbnQKCSAgc2Vla2luZyBpbiBwdXNoIG1vZGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoKMjAwNy0wOC0yNCAxMToyMzoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFVwZGF0ZSBsaWNlbmNlcyB0byByZWZsZWN0IExHUEwtbmVzcyBvZiB0aGVzZSBmaWxlcyBhbHNvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgIFVwZGF0ZSBsaWNlbmNlcyB0byByZWZsZWN0IExHUEwtbmVzcyBvZiB0aGVzZSBmaWxlcyBhbHNvLgoKMjAwNy0wOC0yMyAyMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURQoJICByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEZvbyB0eXBlcyB0aGF0CgkgIGZhcnNpZ2h0IHJlZ2lzdGVycyAobHVja2lseSBHVHlwZSBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUpLiBTaG91bGQKCSAgZmluYWxseSBmaXggIzQzMDY2NC4KCjIwMDctMDgtMjMgMTc6MjE6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCB2aWEgY29uZmlndXJlICh0aGlzIGVuc3VyZXMgdGhlIHdpbjMyIHZlcnNpb24gb2YgY29uZmlnLmggaXMgdXAtdG8tZGF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIHZpYSBjb25maWd1cmUgKHRoaXMKCSAgZW5zdXJlcyB0aGUgd2luMzIgdmVyc2lvbiBvZiBjb25maWcuaCBpcyB1cC10by1kYXRlIHdoZW4gYSByZWxlYXNlCgkgIGlzIG1hZGUsICM0MzMzNzMpLiBjb25maWcuaC5pbiBmaWxlIG1pZ2h0IG5lZWQgc29tZSBtb3JlIHdvcmsuCgoyMDA3LTA4LTIzIDEzOjI0OjMzICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIFBvcnQgZmVzdGl2YWwgcGx1Z2luIHRvIEdTdHJlYW1lci0wLjEwICgjNDYxMzc3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3ICA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgUG9ydCBmZXN0aXZhbCBwbHVnaW4gdG8gR1N0cmVhbWVyLTAuMTAgKCM0NjEzNzcpLgoKMjAwNy0wOC0yMiAxNTozMjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgdW5yZWYgdGhlIGJ1ZmZlciB3aGVuIGl0IHdhcyBjbGlwcGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgIERvbid0IHVucmVmIHRoZSBidWZmZXIgd2hlbiBpdCB3YXMgY2xpcHBlZC4KCjIwMDctMDgtMjIgMTQ6NTA6NTEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaCBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2gKCSAgbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIEZsYXNoIHBsYXllcnMgY2FuIHN1cHBvcnQgaXQgYXMgd2VsbCB0aGlzIHdheS4KCjIwMDctMDgtMjIgMTQ6MDM6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0byBwdXNoIHRhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cnkgZmlsbGluZyB1cCB0aGUKCSAgaW5kZXggaWYgbm8gdGltZXMgb2JqZWN0IHdhcyBwYXJzZWQuIEZpeCB0aGUgd2F5IHdlIGRlY2lkZSB0bwoJICBwdXNoCgkgIHRhZ3MgYW5kIGVtaXQgbm8tbW9yZS1wYWRzLiBGaXggc29tZSBwcmludGYgdHlwaW5nIGluIGRlYnVnZ2luZy4KCjIwMDctMDgtMjEgMTc6MTg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoIHRoZSBidWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgIFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaAoJICB0aGUgYnVmZmVyIGFzIGZhc3QgYXMgcG9zc2libGUuCgkgIEZpeCB0eXBvIGluIGNvbW1lbnQuCgoyMDA3LTA4LTIxIDE2OjA0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLio6IEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEZpeCB1bmRlZmluZWQgb3ZlcmZsb3cgcHJvbmUgdHNfZGlmZiBoYW5kbGluZy4KCjIwMDctMDgtMjEgMTU6NTk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA3LTA4LTIxIDEyOjU5OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBEb24ndCB1c2UgTlVMTCBjYXBzIGZvciBzcmNwYWQgaXMgbm90IHlldCBjb25uZWN0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIERvbid0IHVzZSBOVUxMIGNhcHMgZm9yIHNyY3BhZCBpcyBub3QgeWV0IGNvbm5lY3RlZC4KCjIwMDctMDgtMjAgMTQ6MjM6NDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBhcnNlciB3cml0dGVuIGJ5OgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2VtYXJzaGFsLmxpc3Q6CgkgIEFkZCBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGFyc2VyIHdyaXR0ZW4gYnk6CgkgIEFsZXNzYW5kcm8gRGVjaW5hLiBJbmNsdWRlcyBhIGNvdXBsZSBvZiBmaWxlcyBmcm9tIHRoZQoJICBGbHVlbmRvIHRyYW5zcG9ydCBzdHJlYW0gZGVtdXhlciB0aGF0IEZsdWVuZG8gaGF2ZQoJICBraW5kbHkgYWxsb3dlZCB0byBiZSBsaWNlbmNlZCB1bmRlciBMR1BMIGFsc28uCgoyMDA3LTA4LTIwIDA5OjEzOjQ3ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBBZGQgZXhhbXBsZXMgZm9yIGxpdmUgbXl0aHR2Oi8vIFVSSXMgdG8gZG9jcyAoIzQ2ODAzOSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQmFzdGllbiBOb2NlcmEgIDxoYWRlc3MgYXQgaGFkZXNzIG5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBBZGQgZXhhbXBsZXMgZm9yIGxpdmUgbXl0aHR2Oi8vIFVSSXMgdG8gZG9jcyAoIzQ2ODAzOSkuCgkgIEFsc28gY29udmVydCBzb21lIHRhYnMgaW50byBzcGFjZXMuCgoyMDA3LTA4LTE5IDE5OjE2OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIHNtYWxsIGNvbXBhcmlzaW9uIHdpdGggdGhlIGNoZWJ5c2hldiBmaWx0ZXJzIGluIHRoZSBkb2NzLgoKMjAwNy0wOC0xOSAxOTowMTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYnB3c2luY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAobHB3c2luY19zdWl0ZSk6CgkgIEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoKMjAwNy0wOC0xNyAxNTowNToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudCBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgVXNlIGdlbmVyYXRvciBtYWNyb3MgZm9yIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyBmb3IgdGhlIGRpZmZlcmVudAoJICBzYW1wbGUgdHlwZXMsIGFkZCBsb3dlciB1cHBlciBib3VuZGFyaWVzIGZvciB0aGUgR09iamVjdCBwcm9wZXJ0aWVzCgkgIHNvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIFVJcyBjYW4gdXNlIHNsaWRlcnMgYW5kIGNoYW5nZSBmcmVxdWVuY3kKCSAgcHJvcGVydGllcyB0byBmbG9hdHMgdG8gc2F2ZSBhIGJpdCBvZiBtZW1vcnksIGV2ZW4gaW50cyB3b3VsZCBpbgoJICB0aGVvcnkgYmUgZW5vdWdoLiBBbHNvIHJlbmFtZSBmcmVxdWVuY3kgdG8gY3V0b2ZmIGZvciBjb25zaXN0ZW5jeQoJICByZWFzb25zLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgUmVnZW5lcmF0ZWQgZm9yIHRoZSBhYm92ZSBjaGFuZ2VzLgoKMjAwNy0wOC0xNyAwNjo1NTozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogRG9uJ3QgbGVhayB0aGUgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgRG9uJ3QgbGVhayB0aGUgYWRhcHRlci4KCjIwMDctMDgtMTYgMTk6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zdGFydCksIChicHdzaW5jX3F1ZXJ5KSwKCSAgKGJwd3NpbmNfcXVlcnlfdHlwZSksIChicHdzaW5jX2V2ZW50KSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIFJlc2V0IHJlc2lkdWUgbGVuZ3RoIG9ubHkgd2hlbiBhY3R1YWxseSBjcmVhdGluZyBhIHJlc2lkdWUuCgoyMDA3LTA4LTE2IDE3OjExOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IE92ZXJyaWRlIHRoZSBwcmVyb2xsIHZtZXRob2QgaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kIHR3aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KToKCSAgT3ZlcnJpZGUgdGhlIHByZXJvbGwgdm1ldGhvZCBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHJlbmRlciBtZXRob2QKCSAgdHdpY2UuCgoyMDA3LTA4LTE2IDExOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBFT1MgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IEVPUyBoYW5kbGluZy4KCSAgQ29udmVydCBzb21lIERFQlVHIGludG8gV0FSTklOR3MuCgkgIFBhdXNlIHRhc2sgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspOgoJICBVc2Ugc3lzdGVtIGNsb2NrIGZvciBSVENQIHNlc3Npb24gbWFuYWdlbWVudCB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KToKCSAgUmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gZW1pdGluZyBzaWduYWxzLgoKMjAwNy0wOC0xNiAxMTozNDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgoyMDA3LTA4LTE2IDA5OjQ4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGxwd3NpbmNfdHJhbnNmb3JtKSwgKGxwd3NpbmNfc3RhcnQpLCAobHB3c2luY19xdWVyeSksCgkgIChscHdzaW5jX3F1ZXJ5X3R5cGUpLCAobHB3c2luY19ldmVudCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoKMjAwNy0wOC0xNiAwNzowNzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogRG9uJ3QgbGVhayBsaWtlIGhlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIERvbid0IGxlYWsgbGlrZSBoZWxsLgoKMjAwNy0wOC0xNiAwNjo0OTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgZ2VuZXJpYyBzdGF0ZS1jaGFuZ2UgdGVzdCBzdWl0ZSB0byBoZWxwIHRvIGZpIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgQWRkIGdlbmVyaWMgc3RhdGUtY2hhbmdlIHRlc3Qgc3VpdGUgdG8gaGVscCB0byBmaSBsZWFrcy4KCjIwMDctMDgtMTUgMTM6Mjg6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgoyMDA3LTA4LTE1IDEzOjI2OjU3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICBwYXRjaCBieTogPGRlbGV0ZSBpZiBub3Qgc29tZW9uZSBlbHNlJ3MgcGF0Y2g+CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgoyMDA3LTA4LTE0IDE3OjQ3OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IERvbid0IHVzZSBuZXcgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCk6CgkgIERvbid0IHVzZSBuZXcgQVBJLgoKMjAwNy0wOC0xNCAxNzozODowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBNYWtlIGxvdmUgdG8gYXBwc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwgKGdzdF9hcHBfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksIChnc3RfYXBwX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwKCSAgKGdzdF9hcHBfc2lua19yZW5kZXIpLCAoZ3N0X2FwcF9zaW5rX2dldF9jYXBzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3NpbmtfZW5kX29mX3N0cmVhbSksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIE1ha2UgbG92ZSB0byBhcHBzaW5rLgoJICBNYWtlIGl0IHN1cHBvcnQgcHVsbGluZyBvZiB0aGUgcHJlcm9sbCBidWZmZXIuCgkgIEFkZCBkb2NzIGFuZCBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBGaXggc29tZSByYWNlcyB3cnQgdG8gRU9TIGhhbmRsaW5nIGFuZCBzdG9wcGluZy4KCSAgSW1wbGVtZW50IGdldGNhcHMuCgkgIEltcGxlbWVudCBGTFVTSElORy4KCSAgQVBJOiBnc3RfYXBwX3NpbmtfcHVsbF9wcmVyb2xsKCkKCjIwMDctMDgtMTQgMTQ6NTY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KToKCSAgRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCjIwMDctMDgtMTQgMTQ6MjI6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbCBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfYWRhcHRlcl9mbHVzaCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9kb19zZWVrKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWspLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCk6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsCgkgIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IFBhcnNlCgkgIG1vcmUgbWV0YWRhdGEgdHlwZXMgYW5kIGtleWZyYW1lcyBpbmRleC4KCjIwMDctMDgtMTMgMTM6NTA6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUgYWxsIG90aGVyIGRvYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb2NzIGZvciBscHdzaW5jIGFuZCBicHdzaW5jIGFuZCBpbnRlZ3JhdGUgdGhlbQoJICBpbnRvIHRoZSBidWlsZCBzeXN0ZW0uIFdoaWxlIGRvaW5nIHRoYXQgYWxzbyB1cGRhdGUKCSAgYWxsIG90aGVyIGRvY3MgdmlhIG1ha2UgdXBkYXRlIGluIGRvY3MvcGx1Z2lucy4KCjIwMDctMDgtMTMgMDY6MTY6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiBJbmNsdWRlIHN0ZGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIEluY2x1ZGUgc3RkbGliLgoKMjAwNy0wOC0xMiAyMDo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoKMjAwNy0wOC0xMiAyMDo1MzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKHNldHVwX2Jwd3NpbmMpLAoJICAoY2xlYW51cF9icHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGJwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgoyMDA3LTA4LTEyIDIwOjE5OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoc2V0dXBfbHB3c2luYyksCgkgIChjbGVhbnVwX2xwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAobHB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCjIwMDctMDgtMTIgMTU6NDE6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0wOC0xMiAxMjo0NjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUgb24gc3RyZWFtIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChicHdzaW5jX3N0YXJ0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAobHB3c2luY19zdGFydCk6CgkgIFJlc2V0IHRoZSByZXNpZHVlIGluIEJhc2VUcmFuc2Zvcm06OnN0YXJ0IHRvIGdldCBhIGNsZWFuIHJlc2lkdWUKCSAgb24gc3RyZWFtIGNoYW5nZXMuCgoyMDA3LTA4LTExIDIxOjMwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNy0wOC0xMSAxNTo1ODozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIga2VybmVsIHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgIEZpeCBwcm9jZXNzaW5nIHdpdGggYnVmZmVyIHNpemVzIHRoYXQgYXJlIGxhcmdlciB0aGFuIHRoZSBmaWx0ZXIKCSAga2VybmVsIHNpemUuCgoyMDA3LTA4LTEwIDE3OjE2OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX25ldyksIChjb21wYXJlX3NlcW51bSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpLCAocnRwX2ppdHRlcl9idWZmZXJfcG9wKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoKSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX251bV9wYWNrZXRzKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyCgkgIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZSBidWdzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwKCSAgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9ieWVfc3NyYyksIChzZXNzaW9uX2NsZWFudXApOgoJICBVc2UgbmV3IGppdHRlcmJ1ZmZlciBjb2RlLgoJICBFeHBvc2Ugc29tZSBuZXcgc2lnbmFscyBpbiBwcmVwYXJhdGlvbiBmb3IgaGFuZGxpbmcgRU9TLgoKMjAwNy0wOC0xMCAwNTo1MTo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZAoJICB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IGJ1ZmZlci4KCjIwMDctMDgtMTAgMDU6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdyBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jwd3NpbmNfd2luZG93X2dldF90eXBlKSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93CgkgIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFuZCBhbm90aGVyIHNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNToyMDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY19nZXRfdW5pdF9zaXplKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICAtIFN1cHBvcnQgZG91YmxlIGlucHV0CgkgIC0gRml4IHByb2Nlc3NpbmcgZm9yIGlucHV0IHdpdGggPjEgY2hhbm5lbHMKCSAgLSBTcGVjaWZ5IGZyZXF1ZW5jeSBpbiBIegoJICAtIFNwZWNpZnkgYWN0dWFsIGZpbHRlciBrZXJuZWwgbGVuZ3RoCgkgIC0gVXNlIHRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcCBhcyB3ZSdyZSB3b3JraW5nCgkgIG91dCBvZiBwbGFjZSBhbnl3YXkKCSAgLSBGYWN0b3Igb3V0IGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiBhbmQgdXBkYXRlIHRoZSBmaWx0ZXIKCSAga2VybmVsIHdoZW4gdGhlIHByb3BlcnRpZXMgYXJlIHNldAoJICBGaXggYmFuZHBhc3MgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIHRvIGFjdHVhbGx5IGdlbmVyYXRlCgkgIGEgYmFuZHBhc3MgZmlsdGVyIGJ5IGNyZWF0aW5nIGEgaGlnaHBhc3MgaW5zdGVhZCBvZiBhIHNlY29uZAoJICBsb3dwYXNzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIFNtYWxsIGZvcm1hdHRpbmcgZml4LgoKMjAwNy0wOC0xMCAwNDo0NDo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZCAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFNwZWNpZnkgdGhlIGFjdHVhbCBmaWx0ZXIgbGVuZ3RoIGluc3RlYWQgb2YgYSB3ZWlyZAoJICAyTisxLiBTZXR0aW5nIHRoZSBwcm9wZXJ0eSB3aWxsIHJvdW5kIHRvIHRoZSBuZXh0IG9kZCBudW1iZXIuCgkgIEFsc28gcmVtb3ZlIG5vdyBvYnNvbGV0ZSBGSVhNRXMuCgoyMDA3LTA4LTEwIDA0OjMyOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbiB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY193aW5kb3dfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWxsb3cgY2hvb3NpbmcgYmV0d2VlbiBoYW1taW5nIGFuZCBibGFja21hbiB3aW5kb3cuIFRoZSBibGFja21hbgoJICB3aW5kb3cgcHJvdmlkZXMgYSBiZXR0ZXIgc3RvcGJhbmQgYXR0ZW51YXRpb24gYnV0IGEgYml0IHNsb3dlcgoJICByb2xsb2ZmLgoKMjAwNy0wOC0xMCAwNDoyMTozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBhIGhpZ2hwYXNzIG1vZGUuCgoyMDA3LTA4LTEwIDA0OjA2OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IHByb2Nlc3NpbmcgaWYgdGhlIGlucHV0IGhhcyBtb3JlIHRoYW4gb25lIGNoYW5uZWwuCgoyMDA3LTA4LTA5IDE5OjIzOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIEFkZCBUT0RPcyBhbmQgRklYTUVzIGFuZCByZW1vdmUgdHdvIHdyb25nIEZJWE1Fcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQWRkIEZJWE1FcyBhbmQgYSBuZXcgVE9ETy4KCjIwMDctMDgtMDkgMTg6MDg6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIgaXMgYSBDKysga2V5d29yZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwKCSAgKHByb2Nlc3NfNjQpLCAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXR1cCksCgkgIChscHdzaW5jX2dldF91bml0X3NpemUpLCAobHB3c2luY190cmFuc2Zvcm0pLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG91YmxlIHN1cHBvcnQsIHJlcGxhY2UgInRoaXMiIHdpdGggInNlbGYiIGFzIHRoZSBmb3JtZXIKCSAgaXMgYSBDKysga2V5d29yZC4KCSAgSW1wbGVtZW50IHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgaW4gSHogaW5zdGVhZCBvZiBmcmFjdGlvbgoJICBvZiBzYW1wbGluZyBmcmVxdWVuY3kuCgkgIFJlbW92ZSBzb21lIHVuZWNlc3NhcnkgRklYTUVzIGFuZCBhZGQgc29tZSBUT0RPcywgYWRkIHNvbWUKCSAgcmVxdWlyZWQgbG9ja2luZyBhbmQgcmVmYWN0b3IgdGhlIGtlcm5lbCBnZW5lcmF0aW9uIGludG8gYQoJICBzZXBhcmF0ZSBmdW5jdGlvbiB0aGF0IGlzIGFsc28gY2FsbGVkIHdoZW4gdGhlIHByb3BlcnRpZXMKCSAgY2hhbmdlIG5vdy4KCSAgQW5kIHVzZSBCYXNlVHJhbnNmb3JtOjp0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAKCSAgYXMgdGhlIGNvbnZvbHV0aW9uIGlzIGRvbmUgb3V0IG9mIHBsYWNlIGFueXdheS4gU2hvdWxkCgkgIGJlIGRvbmUgaW4gcGxhY2UgbGF0ZXIuCgoyMDA3LTA4LTA5IDE3OjM5OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IHRoZSBzdGVyZW8gZWxlbWVudCB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fYmFzZV9pbml0KSwKCSAgKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCksIChnc3Rfc3RlcmVvX2luaXQpLAoJICAoZ3N0X3N0ZXJlb190cmFuc2Zvcm1faXApLCAoZ3N0X3N0ZXJlb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3N0ZXJlb19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgIFBvcnQgdGhlIHN0ZXJlbyBlbGVtZW50IHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNy0wOC0wOSAxMTowMToxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIFBvcnR1Z3Vlc2UgKEJyYXppbGlhbikgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdWJtaXR0ZWQgYnk6IFJhcGhhZWwgSGlnaW5vIDxwaGhpZ2lub0BnbWFpbC5jb20+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9wdF9CUi5wbzoKCSAgQWRkZWQgUG9ydHVndWVzZSAoQnJhemlsaWFuKSB0cmFuc2xhdGlvbi4KCjIwMDctMDgtMDkgMTE6MDA6MDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vdWsucG86CgkgICogcG8vdmkucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wOC0wOCAyMDo0NzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXR1cCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIFVzZSBHc3RBdWRpb0ZpbHRlciBhcyBiYXNlIGNsYXNzIGFuZCBkb24ndCBsZWFrIHRoZSBtZW1vcnkKCSAgb2YgdGhlIGZpbHRlciBrZXJuZWwgYW5kIHJlc2lkdWUuCgoyMDA3LTA4LTA4IDE1OjE1OjU2ICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgQWRkIGNvbm5lY3Rpb24gc3BlZWQgcHJvcGVydHkgdG8gbGlibW1zLiBGaXhlcyAjNDY0Njc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2luaXQpLAoJICAoZ3N0X21tc19zdGFydCksIChnc3RfbW1zX3NldF9wcm9wZXJ0eSksIChnc3RfbW1zX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkIGNvbm5lY3Rpb24gc3BlZWQgcHJvcGVydHkgdG8gbGlibW1zLiBGaXhlcyAjNDY0Njc4LgoKMjAwNy0wOC0wNyAxNToyMToxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19hY3RpdmF0ZV9wdXNoKSwgKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcnMuCgoyMDA3LTA4LTA3IDEwOjUxOjU5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAob3Blbl9saWJyYXJ5KToKCSAgUmVtb3ZlIGZyYWdtZW50IGFuZCB0aW1lc3RhbXAgY29ycmVjdGlvbiBjb2RlIGZyb20gdGhlIGRlY29kZXIgdG8gbWFrZQoJICB0aGUgY2FwcyBhbmQgYnVmZmVyIGNvbnRlbnRzIGNvbXBhdGlibGUgd2l0aCBtYXRyb3NrYS9mZmRlY19ydngwLy4uLgoKMjAwNy0wNy0zMCAxMjo0MzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHBvL1BPVEZJTEVTLnNraXA6IEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZSBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5za2lwOgoJICBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUKCSAgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWJsZSBzdHJpbmdzLiBTaG91bGQgaG9wZWZ1bGx5IHBhY2lmeQoJICBicm9rZW4gdG9vbHMgYW5kIG1ha2UgaXQgY2xlYXJlciB0aGF0IHRoZXNlIGZpbGVzIGFyZSBsZWZ0IG91dAoJICBpbnRlbnRpb25hbGx5ICgjNDYxNjAxIGFuZCBvdGhlcnMpLgoKMjAwNy0wNy0zMCAwOTo1MjozNiArMDAwMCAgSWFuIE11bnJvIDxpbXVucm9AbmV0c3BhY2UubmV0LmF1PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBJbmNsdWRlIG91ciBvd24gIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+ICh3aGljaCBtYXkgbm90IGJlIGF2YWlsYWJsZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSWFuIE11bnJvICA8aW11bnJvIGF0IG5ldHNwYWNlIG5ldCBhdT4KCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEluY2x1ZGUgb3VyIG93biAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4gKHdoaWNoIG1heSBub3QKCSAgYmUgYXZhaWxhYmxlKS4KCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgTmF0aXZlIEhQLVVYIGNvbXBpbGVyIGRvc24ndCBzZWVtIHRvIGxpa2UgZW51bSB0eXBlZGVmcyBiZWZvcmUgdGhlCgkgIGFjdHVhbCBlbnVtIHdhcyBkZWZpbmVkLgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgRml4IHdyb25nIHVzYWdlIG9mIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvICgjNDYxMzczKS4KCjIwMDctMDctMjYgMTY6MTY6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogVXNlIHRoZSBwcm9wZXIgY29udGV4dCB2YXJpYWJsZSB3aGVuIHNldHRpbmcgdGhlIHBhc3N3b3JkICEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIFVzZSB0aGUgcHJvcGVyIGNvbnRleHQgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZSBwYXNzd29yZCAhCgkgIExPRyA9PiBXQVJOSU5HIGZvciBlcnJvcnMuCgkgIEdpdmUgcHJvcGVyIHBhdGggd2hlbiBvcGVuaW5nIHRoZSBjb2RlYyAobmVlZHMgYSAnLycgYXQgdGhlIGVuZCkuCgoyMDA3LTA3LTI1IDE4OjEwOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvTWFrZWZpbGUuYW06IEFuZCBkaXN0IHRoZSBuZXcgaGVhZGVyIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgQW5kIGRpc3QgdGhlIG5ldyBoZWFkZXIgZmlsZSB0b28uCgoyMDA3LTA3LTI1IDE0OjM2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbC5oOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZS4KCjIwMDctMDctMjUgMTM6Mjk6MDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi86IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0IHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgIChnc3RfZmx2X2RlbXV4X2NoYWluKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQKCSAgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCjIwMDctMDctMjUgMDU6NTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS4qOiBEb24ndCBpbml0aWFsaXplIHRpbWlkaXR5IGluIHBsdWdpbl9pbml0IGZvciBzaW1pbGFyIHJlYXNvbiBhcyBiZWxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSAgRG9uJ3QgaW5pdGlhbGl6ZSB0aW1pZGl0eSBpbiBwbHVnaW5faW5pdCBmb3Igc2ltaWxhciByZWFzb24gYXMgYmVsb3cuCgoyMDA3LTA3LTI0IDE1OjEzOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuKjogRG9uJ3QgaW5pdGlhbGl6ZSB3aWxkbWlkaSBpbiBwbHVnaW5faW5pdCBhcyBpdCBhbHNvIHNldHVwcyBhdWRpbyBmaWx0ZXJzIHdoaWNoIGlzIHNsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpLAoJICAoZ3N0X3dpbGRtaWRpX2luaXQpLCAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIERvbid0IGluaXRpYWxpemUgd2lsZG1pZGkgaW4gcGx1Z2luX2luaXQgYXMgaXQgYWxzbyBzZXR1cHMgYXVkaW8KCSAgZmlsdGVycyB3aGljaCBpcyBzbG93LgoKMjAwNy0wNy0yNCAxNDozNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsLzogSW1wcm92ZWQgc2VhcmNoIGFsZ29yaXRobSBmb3IgbG9jYXRpb24gb2YgcmVhbCAuc28gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF9hdWRpb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIEltcHJvdmVkIHNlYXJjaCBhbGdvcml0aG0gZm9yIGxvY2F0aW9uIG9mIHJlYWwgLnNvIGZpbGVzLgoJICBGaXhlcyAjMzkzNDYxCgoyMDA3LTA3LTI0IDA1OjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZCByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQKCSAgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCjIwMDctMDctMjMgMDk6MTM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3luYyBsaWJvaWwgY2hlY2sgd2l0aCBwbHVnaW5zLWJhc2UuCgoyMDA3LTA3LTIwIDExOjM3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbSBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld28uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20KCSAgaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvcmsgdGhlIGdhaW4gbWFwcGluZy4KCjIwMDctMDctMjAgMTE6MDM6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9kaXJhYy9NYWtlZmlsZS5hbTogQWxzbyBpbmNsdWRlIHN0ZGxpYiBoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgIEFsc28gaW5jbHVkZSBzdGRsaWIgaGVyZS4KCjIwMDctMDctMTkgMTU6Mjk6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogRml4IHRoZSBidWlsZGJvdCB3aXRoIHRoZSBjdnNpZ25vcmUgaXQgd2FudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCB0aGUgYnVpbGRib3Qgd2l0aCB0aGUgY3ZzaWdub3JlIGl0IHdhbnRzLgoKMjAwNy0wNy0xOSAxNTowNTozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA3LTE5ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9mbHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2NsZWFudXApLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZWVrX3RvX3ByZXZfa2V5ZnJhbWUpLCAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KSwgKGdzdF9mbHZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX0JFVUkyNCksIChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X2RlbXV4X3F1ZXJ5X3R5cGVzKSwgKGdzdF9mbHZfZGVtdXhfcXVlcnkpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgSXQgZG9lcyBub3QgZG8gc2Vla2luZyB5ZXQsIGl0IHN1cHBvcnRzIHB1bGwgYW5kIHB1c2ggbW9kZSBzbwoJICBZRVMKCSAgeW91IGNhbiB1c2UgaXQgdG8gcGxheSB5b3V0dWJlIHZpZGVvcyBkaXJlY3RseSBmcm9tIGFuIEhUVFAgdXJpLgoJICBOb3Qgc28gbXVjaCB0ZXN0aW5nIGRvbmUgeWV0IGJ1dCBpdCBwYXJzZXMgbWV0YWRhdGEsIHJlcGx5IHRvCgkgIGR1cmF0aW9uIHF1ZXJpZXMsIGV0Yy4uLgoKMjAwNy0wNy0xOSAwOTowODozMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmMgKEdTVF9TVEFSVF9URVNULCB0aW1pZGl0eV9zdWl0ZSwgbWFpbik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmMgKEdTVF9TVEFSVF9URVNULCB0aW1pZGl0eV9zdWl0ZSwKCSAgbWFpbik6CgkgIEFkZCB0eXBlZmluZCB0ZXN0IGZvciBtaWRpLgoKMjAwNy0wNy0xOCAyMDo1NjoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IElmIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudCwgZG9uJ3QgdHJ5IHRvIHB1c2ggYnVmZmVycyBvdXQgaW4gcmVzcG9uc2UgKHdpdGhvdXQgZmlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBJZiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQsIGRvbid0IHRyeSB0byBwdXNoIGJ1ZmZlcnMgb3V0CgkgIGluIHJlc3BvbnNlICh3aXRob3V0IGZpcnN0IHNlbmRpbmcgaXQgb24hKS4KCSAgSW5zdGVhZCwgZmx1c2ggaW50ZXJuYWwgYnVmZmVycyBvbiByZWNlaXZpbmcgZmx1c2ggZXZlbnRzLgoJICBGaXhlcyBwbGF5YmFjayBhZnRlciBzZWVraW5nLgoKMjAwNy0wNy0xOCAwODowMDowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBBZGQgYmFzaWMgZG9jcy4gVXNlIGdsaWJzIG1lbSByb3V0aW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiAoZ3N0X2JheWVyMnJnYl9zZXRfY2FwcyksCgkgIChnc3RfYmF5ZXIycmdiX3Jlc2V0KToKCSAgQWRkIGJhc2ljIGRvY3MuIFVzZSBnbGlicyBtZW0gcm91dGluZXMuCgoyMDA3LTA3LTE4IDA3OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jcmVhdGUpOgoJICBBZGQgZXhhbXBsZSB0byB0aGUgZG9jcy4gRml4IGJ1ZmZlci1vZmZzZXQtZW5kIGFuZCBhZGQgc29tZSBkZWJ1Zy4KCjIwMDctMDctMTggMDc6NDI6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIGhlcmUgdG9vLgoKMjAwNy0wNy0xOCAwNzozNTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIHN0ZGxpYiBpbmNsdWRlIChmcmVlLCBhdG9pLCBleGl0KS4KCjIwMDctMDctMTYgMDk6MTk6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChjbGlwX291dGdvaW5nX2J1ZmZlcik6CgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDctMDctMTQgMTg6NDg6MjUgKzAwMDAgIEhhbnMgZGUgR29lZGUgPGoudy5yLmRlZ29lZGVAaGhzLm5sPgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogYWRkIHNldmVyYWwgbWlzc2luZyBzdXBwb3J0ZWQgbWltZS10eXBlcyB0byB0aGUgbW9kcGx1ZyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSGFucyBkZSBHb2VkZSA8ai53LnIuZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIGFkZCBzZXZlcmFsIG1pc3Npbmcgc3VwcG9ydGVkIG1pbWUtdHlwZXMgdG8gdGhlIG1vZHBsdWcgcGx1Z2luLgoJICBGaXhlcyAjNDU2OTAxLgoKMjAwNy0wNy0xMyAxNjo0NjowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYm9ndXMgY2hlY2sgZm9yIGxpYmNoZWNrLCBzaW5jZSB3ZSBjaGVjayBmb3IKCSAgZ3N0cmVhbWVyLWNoZWNrIGFuZCBpdCBwdWxscyBpbiB0aGUgcmVxdWlyZWQgaW5mbyBmcm9tIHRoZXJlLCBhbmQgd2UKCSAgd2VyZW4ndCBhY3R1YWxseSBfdXNpbmdfIHRoZSBpbmZvcm1hdGlvbiBmb3IgbGliY2hlY2sgb3Vyc2VsdmVzCgkgIGFueXdheS4KCjIwMDctMDctMTIgMTE6NTU6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCjIwMDctMDctMTEgMjM6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKHZtbmNfbWFrZV9idWZmZXIpOgoJICBGaXggYnVpbGQgYWdhaW5zdCBjb3JlIENWUy4KCjIwMDctMDctMDkgMDY6MDU6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJFUVVJUkVNRU5UUzogU3luYyB3aXRoIGNoYW5nZXMgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgU3luYyB3aXRoIGNoYW5nZXMgaW4gLXVnbHkuCgoyMDA3LTA3LTA4IDE5OjA2OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUkVRVUlSRU1FTlRTOiBBZGQgZG93bmxvYWQgbG9jYXRpb24gb2YgbGliYW1yd2IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFUVVJUkVNRU5UUzoKCSAgQWRkIGRvd25sb2FkIGxvY2F0aW9uIG9mIGxpYmFtcndiLgoKMjAwNy0wNy0wNiAyMTowNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIG1pc3NpbmcgaW5zcGVjdCBmaWxlcy4gRml4ZXMgYnVpbGQgKCM0NTQzMTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgQWRkIG1pc3NpbmcgaW5zcGVjdCBmaWxlcy4gRml4ZXMgYnVpbGQgKCM0NTQzMTMpLgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpOgoJICBTY3JlYW0gYSBiaXQgbG91ZGVyIHdoZW4gaW5pdGlhbGlzYXRpb24gZmFpbHMuCgkgICogZ3N0LWxpYnMvUkVBRE1FOgoJICAqIGdzdC1saWJzL2V4dC8uY3ZzaWdub3JlOgoJICBSZW1vdmUgc29tZSBjcnVmdC4KCjIwMDctMDctMDUgMjI6Mjg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbTogRGlzdCBoZWFkZXIgZmlsZXMuIEZpeGVzICM0NTQwNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICBEaXN0IGhlYWRlciBmaWxlcy4gRml4ZXMgIzQ1NDA3OC4KCjIwMDctMDctMDUgMDg6NDU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgRml4IGNvbW1lbnQgc3RhcnQuCgoyMDA3LTA3LTA0IDExOjU2OjU1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYyAoZHZic3JjX2RldGFpbHMsIEFSR19EVkJTUkNfQURBUFRFUiwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYyAoZHZic3JjX2RldGFpbHMsIEFSR19EVkJTUkNfQURBUFRFUiwKCSAgQVJHX0RWQlNSQ19GUk9OVEVORCwgQVJHX0RWQlNSQ19ESVNFUUNfU1JDLCBBUkdfRFZCU1JDX0ZSRVFVRU5DWSwKCSAgQVJHX0RWQlNSQ19QT0xBUklUWSwgZ3N0X2R2YnNyY19jbGFzc19pbml0LCBnc3RfZHZic3JjX2luaXQsCgkgIGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5LCBnc3RfZHZic3JjX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X2R2YnNyY19vcGVuX2Zyb250ZW5kLCBnc3RfZHZic3JjX29wZW5fZHZyLCByZWFkX2RldmljZSwKCSAgZ3N0X2R2YnNyY19jcmVhdGUsIGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXJzKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oIChhZGFwdGVyX251bWJlciwgZnJvbnRlbmRfbnVtYmVyKToKCSAgUmVtb3ZlZCBwcm9wZXJ0eSAiZGV2aWNlIi4gQWRkZWQgcHJvcGVydGllcyAiYWRhcHRlciIgYW5kICJmcm9udGVuZCIuCgkgIEZpeGVzICM0NTM2MzYuCgkgIFJlbmFtZSBmcmVxIHByb3BlcnR5IHRvIGZyZXF1ZW5jeS4KCjIwMDctMDctMDMgMTc6MDk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogRml4IHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICBGaXggcHJvcGVydHkgZGVzY3JpcHRpb25zLgoKMjAwNy0wNy0wMyAwOToxODoyMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWxzbyBkb2N1bWVudCBBTVItV0IgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgQWxzbyBkb2N1bWVudCBBTVItV0IgZWxlbWVudHMuCgoyMDA3LTA3LTAzIDA4OjE2OjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBDbGVhbnVwIHRoZSBzZWN0aW9uIGZpbGUgc28gdGhhdCAtdW51c2VkIGlzIGVtcHR5IGFnYWluIChhbmQgdXNlZnVsIHRvIHNwb3QgbmV3IGRvY3MpLiBBZGQgbm90IHlldCBhZGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgQ2xlYW51cCB0aGUgc2VjdGlvbiBmaWxlIHNvIHRoYXQgLXVudXNlZCBpcyBlbXB0eSBhZ2FpbiAoYW5kIHVzZWZ1bCB0bwoJICBzcG90IG5ldyBkb2NzKS4gQWRkIG5vdCB5ZXQgYWRkZWQgZG9jcyB0byBzZ21sIGZpbGUuIEFkZCBtb3JlIGhlYWRlcgoJICB0byBNYWtlZmlsZS5hbSB0byBtYWtlIHRoZW0gaW50cm9zcGVjdGFibGUuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFVwZGF0ZSB0aGUgZG9jIGJsb2JzLgoKMjAwNy0wNy0wMyAwODowMToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS86IEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoKMjAwNy0wNy0wMyAwNzo1Mjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogQWN0aXZhdGUgZG9jIHNlY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEFjdGl2YXRlIGRvYyBzZWN0aW9uLgoKMjAwNy0wNy0wMyAwNzo0MTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5LzogRml4IGxpY2VuY2UgKGJvdGggYXJlIEdQTCkuIEFkZCBlbGVtZW50IGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBGaXggbGljZW5jZSAoYm90aCBhcmUgR1BMKS4gQWRkIGVsZW1lbnQgZG9jcy4KCjIwMDctMDctMDMgMDc6MzA6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDogRml4IF9nZXRfdHlwZSBzaWduYXR1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgRml4IF9nZXRfdHlwZSBzaWduYXR1cmUuCgoyMDA3LTA3LTAzIDA3OjE2OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOiBGaXggR09iamVjdCBtYWNyb3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgIEZpeCBHT2JqZWN0IG1hY3Jvcy4KCjIwMDctMDYtMjkgMTU6MjM6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogTWFrZSBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBzdGF0aWMsIGFuZCBtb3ZlIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgc3RhcnQgb2YgYmxvY2tzIHRvIGF2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NyY19maXhhdGUpLAoJICAoZ3N0X2RjMTM5NF9jcmVhdGUpLCAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mb3JtYXRfdm1vZGVfY2FwcyksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZV9yYW5nZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2ZyYW1lcmF0ZV9saXN0KSwgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2ZyYWNfdG9fY29uc3QpLAoJICAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2Fwcyk6CgkgIE1ha2UgYSBidW5jaCBvZiBmdW5jdGlvbnMgc3RhdGljLCBhbmQgbW92ZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMKCSAgdG8gdGhlIHN0YXJ0IG9mIGJsb2NrcyB0byBhdm9pZCBwcm9ibGVtcyBvbiBvbGRlciBnY2MuCgkgIE1ha2Ugc3VyZSB0byB1bnNldCB2YWx1ZSB0eXBlcy4KCjIwMDctMDYtMjkgMTQ6NDg6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogVGhlIGNvcnJlY3QgZm91cmNjIGZvciB0aGUgNDoxOjEgcGFja2VkIGZvcm1hdCBpcyAnSVlVMScuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKToKCSAgVGhlIGNvcnJlY3QgZm91cmNjIGZvciB0aGUgNDoxOjEgcGFja2VkIGZvcm1hdCBpcyAnSVlVMScuCgkgIFdpdGggQ1ZTIG9mIGZmbXBlZ2NvbG9yc3BhY2UgZnJvbSBwbHVnaW5zLWJhc2UsIEkgY2FuIG5vdwoJICBnZXQgMzAgZnBzIGZyb20gdGhlIGlTaWdodC4KCjIwMDctMDYtMjkgMTQ6MTE6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogQ2hhbmdlIGEgZ19wcmludCB0byBhIEdTVF9ERUJVRyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvcik6CgkgIENoYW5nZSBhIGdfcHJpbnQgdG8gYSBHU1RfREVCVUcgbWVzc2FnZS4KCjIwMDctMDYtMjkgMTM6MDk6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBPb3BzLCBhZGQgYW4gYXR0cmlidXRpb24gZm9yIEFudG9pbmUgVHJlbWJsYXkgdG9vIC0gdGhlIG9yaWdpbmFsIHBhdGNoIGF1dGhvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE9vcHMsIGFkZCBhbiBhdHRyaWJ1dGlvbiBmb3IgQW50b2luZSBUcmVtYmxheSB0b28gLSB0aGUgb3JpZ2luYWwgcGF0Y2ggYXV0aG9yLgoKMjAwNy0wNi0yOSAxMzowMzoyNyArMDAwMCAgRXJpYyBKb25hcyA8am9uYXNAbWl0LmVkdT4KCgkgIENvbW1pdCBuZXcgZGMxMzk0c3JjIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9iYXNlX2luaXQpLAoJICAoZ3N0X2RjMTM5NF9jbGFzc19pbml0KSwgKGdzdF9kYzEzOTRfaW5pdCksCgkgIChnc3RfZGMxMzk0X3NyY19maXhhdGUpLCAoZ3N0X2RjMTM5NF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RjMTM5NF9nZXRfcHJvcGVydHkpLCAoZ3N0X2RjMTM5NF9nZXRjYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0Y2FwcyksIChnc3RfZGMxMzk0X2dldF90aW1lcyksIChnc3RfZGMxMzk0X2NyZWF0ZSksCgkgIChnc3RfZGMxMzk0X3BhcnNlX2NhcHMpLCAoZ3N0X2RjMTM5NF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mb3JtYXRfdm1vZGVfY2FwcyksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKSwgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplX3JhbmdlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZnJhbWVyYXRlX2xpc3QpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfY29uc3RfdG9fZnJhYyksCgkgIChnc3RfZGMxMzk0X2dldF9hbGxfZGMxMzk0X2NhcHMpLCAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfZnJhY190b19jb25zdCksCgkgIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfY2hhbmdlX2NhbWVyYV90cmFuc21pc3Npb24pLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIENvbW1pdCBuZXcgZGMxMzk0c3JjIGVsZW1lbnQuCgkgIFBhdGNoIEJ5OiBFcmljIEpvbmFzIDwgam9uYXMgYXQgbWl0IGRvdCBlZHUgPgoJICBDbG9zZTogIzM4NzI1MQoKMjAwNy0wNi0yOCAxMDo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiBSZWdpc3RlciBuZXcgcHJvcGVydHkgYXMgd2VsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICBSZWdpc3RlciBuZXcgcHJvcGVydHkgYXMgd2VsbC4KCjIwMDctMDYtMjggMDk6MzY6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuKjogQWRkIHByb3BlcnR5IHRvIGFkanVzdCB0aGUgY2VudGVyLCBzZW5zaXRpdml0eSBpcyBub3cgdGhlIGRpc3RhbmNlIGZyb20gdGhpcyBjZW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICBBZGQgcHJvcGVydHkgdG8gYWRqdXN0IHRoZSBjZW50ZXIsIHNlbnNpdGl2aXR5IGlzIG5vdyB0aGUgZGlzdGFuY2UgZnJvbQoJICB0aGlzIGNlbnRlci4KCjIwMDctMDYtMjcgMTU6MzM6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvOiBBZGQgbGVmdCBhbmQgYm90dG9tIG9mZnNldCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHBvc2l0aW9uIG9mIHRoZSBwYXR0ZXJuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOiAoZ3N0X3ZpZGVvX21hcmtfZHJhd19ib3gpLAoJICAoZ3N0X3ZpZGVvX21hcmtfNDIwKSwgKGdzdF92aWRlb19tYXJrX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX21hcmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICBBZGQgbGVmdCBhbmQgYm90dG9tIG9mZnNldCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgdGhlIHBvc2l0aW9uIG9mIHRoZQoJICBwYXR0ZXJuLgoKMjAwNy0wNi0yNSAxMjo0Nzo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgVXBkYXRlIGRvY3Mgd2l0aCBjYXBzIGluZm8uCgoyMDA3LTA2LTI1IDExOjAyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2NvbmYvOiBSZW1vdmUgZHlzZnVuY3Rpb25hbCBkaXJlY3RvcnkgKHRoaXMgc3R1ZmYgaXMgaW4gLWdvb2QpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnY29uZi8uY3ZzaWdub3JlOgoJICAqIGdjb25mL01ha2VmaWxlLmFtOgoJICAqIGdjb25mL2dzdHJlYW1lci5zY2hlbWFzLmluOgoJICBSZW1vdmUgZHlzZnVuY3Rpb25hbCBkaXJlY3RvcnkgKHRoaXMgc3R1ZmYgaXMgaW4gLWdvb2QpLgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIGkxOG4gYmluZHRleHRkb21haW4gc3R1ZmYuCgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiByZXR1cm5pbmcgR1NUX0ZMT1dfRVJST1I7IG1pbm9yIGNsZWFudXBzLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBBZGQgbW9yZSBzb3VyY2UgZmlsZXMgd2l0aCB0cmFuc2xhdGFibGUgc3RyaW5ncyAoZml4ZXMgIzQ1MDYwNSkuCgoyMDA3LTA2LTIzIDExOjI0OjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb250cmlidXRlZCBieTogV2VuemhlbmcgSHUgPGRiX2xvYnN0ZXJAMTYzLmNvbT4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3poX0NOLnBvOgoJICBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCjIwMDctMDYtMjIgMjA6MjM6MTggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC86IEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIEZpeGVzICM0NTAxODUuCgoyMDA3LTA2LTIyIDE1OjMwOjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLCBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3RfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwKCSAgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkLCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfYnVmZmVyYWxsb2MsIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzd2l0Y2hfbXV0ZXgsIEdTVF9TV0lUQ0hfTE9DSywKCSAgR1NUX1NXSVRDSF9VTkxPQ0spOgoJICBBZGQgYW4gZXh0cmEgbG9jayB0byBwcm90ZWN0IGFnYWluc3QgY2VydGFpbiB2YXJpYWJsZXMgaW5zdGVhZCBvZgoJICB1c2luZyB0aGUgb2JqZWN0IGxvY2suIEZpeCBjYXNlIHdoZXJlIGNhcHMgYXJlIGRpZmZlcmVudCBpbiB0aGUKCSAgc2luayBwYWRzIGNhdXNlcyBkZWFkbG9jay4gVXBkYXRlIGV4YW1wbGUgdG8gdXNlIGRpZmZlcmVudCBjYXBzCgkgIG9uIGVhY2ggc2luayBwYWQuCgoyMDA3LTA2LTIyIDE0OjI3OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1BSU5UQUlORVJTOiBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1BSU5UQUlORVJTOgoJICBVcGRhdGluZyBhbGwgdGhlIG1haW50YWluZXJzIGZpbGVzCgoyMDA3LTA2LTIyIDEwOjQ2OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgRml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IChnc3RfYnoyZGVjX2luaXQpOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IChnc3RfYnoyZW5jX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzogKGdzdF9kaXZ4ZW5jX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2luaXQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfaW5pdCk6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKGdzdF9zcGNfZGVjX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9pbml0KToKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAoZ3N0X2ZyZWV6ZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOiAoZ3N0X3N5c3RlbV9lbmNvZGVfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9pbml0KToKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOiAoZ3N0X25zZmRlY19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2luaXQpOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2luaXQpOgoJICBGaXggbGVha3MuCgoyMDA3LTA2LTIxIDE4OjQxOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmUtZW5hYmxlIFZDRCBzb3VyY2UgYW5kIGZpeCB1cCByZWxlYXNlIG5vdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRUxFQVNFOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgUmUtZW5hYmxlIFZDRCBzb3VyY2UgYW5kIGZpeCB1cCByZWxlYXNlIG5vdGVzLgoKMjAwNy0wNi0yMCAxMDoxNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoKMjAwNy0wNi0yMCAwODo1NjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbGVha2luZyBidWZmZXJzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IChzZXR1cF9zcGVjdHJ1bSksCgkgIChjbGVhbnVwX3NwZWN0cnVtKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNwZWN0cnVtX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHRlc3QgZm9yIHNwZWN0cnVtIGVsZW1lbnQuCgoyMDA3LTA2LTIwIDA4OjQyOjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvOiBBZGQgbmV3c2VnbWVudCBhbmQgZGlzY29udCBoYW5kbGluZy4gU29tZSBjb2RlIGNsZWFudXBzLiBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLCB1bnJlZiBpdCBpbiBhIG5ldyBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmRlY19maW5hbGl6ZSksCgkgIChnc3RfYW1yd2JkZWNfZXZlbnQpLCAoZ3N0X2FtcndiZGVjX2NoYWluKSwKCSAgKGdzdF9hbXJ3YmRlY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfcHVsbF9oZWFkZXIpLCAoZ3N0X2FtcndicGFyc2VfbG9vcCk6CgkgIEFkZCBuZXdzZWdtZW50IGFuZCBkaXNjb250IGhhbmRsaW5nLiBTb21lIGNvZGUgY2xlYW51cHMuIERvbid0IGxlYWsKCSAgdGhlIGFkYXB0ZXIsIHVucmVmIGl0IGluIGEgbmV3IGZpbmFsaXplIG1ldGhvZCBpbnN0ZWFkLiBTeW5jIHRoZQoJICBwYXJzZXIgd2l0aCB0aGUgYW1yLW5iIGNoYW5nZXMuCgoyMDA3LTA2LTE5IDEwOjQ1OjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMuCgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjUgdG8gdGhlIGRvYXAgZmlsZS4KCj09PSByZWxlYXNlIDAuMTAuNSA9PT0KCjIwMDctMDYtMTkgMTA6MzI6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWxlYXNlIDAuMTAuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjUKCjIwMDctMDYtMTkgMDk6Mzc6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNy0wNi0xNSAwOToyNzo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB3aW4zMi92czYvOiBDb252ZXJ0IGxpbmUgZW5kaW5ncyB0byBDUkxGIGFuZCBtYXJrIGFzIGJpbmFyeSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RuZW9uLmRzcDoKCSAgQ29udmVydCBsaW5lIGVuZGluZ3MgdG8gQ1JMRiBhbmQgbWFyayBhcyBiaW5hcnkgZmlsZXMuCgoyMDA3LTA2LTEzIDExOjQ4OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL01ha2VmaWxlLmFtOiBEaXNhYmxlIFZDRCBidWlsZCBiZWNhdXNlIHdlJ3JlIGZyb3plbi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSBWQ0QgYnVpbGQgYmVjYXVzZSB3ZSdyZSBmcm96ZW4uLgoKMjAwNy0wNi0xMyAxMTozNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFBvcnQgVkNEIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19zZXR1cF9pbnRlcmZhY2VzKSwKCSAgKGdzdF92Y2RzcmNfYmFzZV9pbml0KSwgKGdzdF92Y2RzcmNfY2xhc3NfaW5pdCksIChnc3RfdmNkc3JjX2luaXQpLAoJICAoZ3N0X3ZjZHNyY19tc2YpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSksCgkgIChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmNkc3JjX2NyZWF0ZSksIChnc3RfdmNkc3JjX3N0YXJ0KSwgKGdzdF92Y2RzcmNfc3RvcCksCgkgIChnc3RfdmNkc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBQb3J0IFZDRCBlbGVtZW50LgoKMjAwNy0wNi0xMiAyMToyODoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgd2luMzIvTUFOSUZFU1Q6IEFkZCBtZWd2aWRlb3BhcnNlLCBsaWJkc2hvdyBhbmQgZHNob3dzcmN3cmFwcGVyIHRvIHdpbjMyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgbWVndmlkZW9wYXJzZSwgbGliZHNob3cgYW5kIGRzaG93c3Jjd3JhcHBlciB0byB3aW4zMgoJICBNQU5JRkVTVC4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgUmVtb3ZlIHF0ZGVtdXgsIGRpcmVjdGRyYXcsIGRpcmVjdHNvdW5kIGFuZCB3YXZlZm9ybSBwcm9qZWN0IGZpbGVzCgkgIGZyb20gdGhlIHdvcmtzcGFjZSBhcyB0aGV5IGhhdmUgYmVlbiBtb3ZlZCB0byAtZ29vZC4KCjIwMDctMDYtMTIgMjA6MjI6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgcG8vUE9URklMRVMuaW46IFJlbW92ZSBxdGRlbXV4IGZyb20gdGhlIHRyYW5zbGF0aW9uIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBSZW1vdmUgcXRkZW11eCBmcm9tIHRoZSB0cmFuc2xhdGlvbiBsaXN0LgoKMjAwNy0wNi0xMiAyMDoxNToxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgICogZ3N0L3ZpZGVvY3JvcC92aWRlb2Nyb3AudmNwcm9qOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOgoJICBNb3ZlIHZpZGVvY3JvcCBhbmQgb3N4dmlkZW8gdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDE5OjM2OjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgcXRkZW11eCB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC52Y3Byb2o6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgTW92ZSBxdGRlbXV4IHRvIC1nb29kLgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHJlZmxlY3Qgd2F2cGFjayAmIHF0ZGVtdXggbW92aW5nIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAxODo1MzowMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBub3cgdGhhdCBpdCBpcyBpbiAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgUmVtb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gbm93IHRoYXQgaXQgaXMgaW4gLWdvb2QuCgoyMDA3LTA2LTA4IDIwOjIwOjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIE1vdmUgd2F2cGFjayB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzoKCSAgTW92ZSB3YXZwYWNrIHRvIGdvb2QuCgoyMDA3LTA2LTA4IDE3OjM2OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucywgYXMgdGhleSd2ZSBtb3ZlZCB0byBHb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL2dzdC5zbG46CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFJlbW92ZSBEaXJlY3REcmF3ICYgRGlyZWN0U291bmQgcGx1Z2lucywgYXMgdGhleSd2ZSBtb3ZlZCB0byBHb29kCgoyMDA3LTA2LTA4IDE2OjQ5OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgV2hlbiBkcml2aW5nIHRoZSBwaXBlbGluZSwgYWxzbyBwb3N0IGFuIGVycm9yIHdoZW4gd2UgZ2V0IGEgbm90LWxpbmtlZCBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2xvb3ApOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2xvb3ApOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfbG9vcCk6CgkgIFdoZW4gZHJpdmluZyB0aGUgcGlwZWxpbmUsIGFsc28gcG9zdCBhbiBlcnJvciB3aGVuIHdlIGdldCBhCgkgIG5vdC1saW5rZWQgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNi0wOCAwODoxMjo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIERlZmF1bHQgdG8geHZpbWFnZXNpbmsgaW5zdGVhZCBvZiBhdXRvdmlkZW9zaW5rIHdoaWxlCgkgIGF1dG92aWRlb3NpbmsvZ2hvc3RwYWRzL3doYXRldmVyIGRvbid0IGhhbmRsZSB0aGUgd2F5IHdlIHVzZSBpdCBpbgoJICB0aGUgd2F5IHdlIGV4cGVjdCBpdCB0by4KCjIwMDctMDYtMDYgMTg6MzA6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLCBhbmQgcmVtb3ZlIHNwZWNpYWwtY2FzaW5nIGZvciBlcXVhbGl6ZXIgYW5kIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZSwgYW5kIHJlbW92ZQoJICBzcGVjaWFsLWNhc2luZyBmb3IgZXF1YWxpemVyIGFuZCBydHBtYW5hZ2VyIGFzIGl0J3Mgbm90IG5lZWRlZCBhbnkKCSAgbG9uZ2VyLgoKMjAwNy0wNi0wNiAxNTo1ODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4gZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19zdG9wKSwKCSAgKGdzdF9nbGltYWdlX3NpbmtfY3JlYXRlX3dpbmRvdyksIChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4KCSAgZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2luZ2xlIGdsaW1hZ2VzaW5rLgoKMjAwNy0wNi0wNiAxMTowMzoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvOiBGaXggc29tZSBzaWxseSBidWdzIHdpdGggY2FsY3VsYXRpbmcgdGhlIGd1YXJkIHNpemVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgKG1wZWdfdXRpbF9wYXJzZV9leHRlbnNpb25fcGFja2V0KSwgKG1wZWdfdXRpbF9wYXJzZV9zZXF1ZW5jZV9oZHIpLAoJICAobXBlZ191dGlsX3BhcnNlX3BpY3R1cmVfaGRyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCk6CgkgIEZpeCBzb21lIHNpbGx5IGJ1Z3Mgd2l0aCBjYWxjdWxhdGluZyB0aGUgZ3VhcmQgc2l6ZXMuCgkgIFByb3Blcmx5IGNvbXBhcmUgdGhlIG9sZCBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0dXJlIHdpdGggdGhlIG5ldyBvbmUuCgkgIERvbid0IGVycm9yIG91dCBvbiBhbiBpbnZhbGlkIHNlcXVlbmNlIC0ganVzdCBpZ25vcmUgaXQuCgoyMDA3LTA2LTA2IDA5OjExOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IFByaW50ZiBmaXggaW4gZGVidWcgc3RhdGVtZW50OyBhbHNvIHByaW50IHRoZSByaWdodCBudW1iZXIgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSk6CgkgIFByaW50ZiBmaXggaW4gZGVidWcgc3RhdGVtZW50OyBhbHNvIHByaW50IHRoZSByaWdodCBudW1iZXIgdGhlcmUuCgoyMDA3LTA2LTA2IDA4OjA2OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC86IEFkZCBHU1RfQ0ZMQUdTLCB3aGljaCBhcHBhcmVudGx5IHNvbWVob3cgZml4ZXMgdGhlIGJ1aWxkIHNvbWV3aGVyZSAoIzQ0NDQ5OSk7IGluaXRpYWxpc2UgdmFyaWFibGUgdG8gYXZvaWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2X3Byb2Nlc3NfZXZlbnRzKToKCSAgQWRkIEdTVF9DRkxBR1MsIHdoaWNoIGFwcGFyZW50bHkgc29tZWhvdyBmaXhlcyB0aGUgYnVpbGQgc29tZXdoZXJlCgkgICgjNDQ0NDk5KTsgaW5pdGlhbGlzZSB2YXJpYWJsZSB0byBhdm9pZCBmYWxzZSBjb21waWxlciB3YXJuaW5nLgoKMjAwNy0wNi0wNSAxNDoxNzozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCB1cCBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB1cCBzcGVjIGZpbGUKCjIwMDctMDYtMDEgMTQ6MzY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgcGx1Z2luIHRvIGdlbmVyYXRlIGEgcGF0dGVybiBkZXRlY3RhYmxlIGJ5IHZpZGVvZGV0ZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzogKGdzdF92aWRlb19tYXJrX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19tYXJrX2RyYXdfYm94KSwgKGdzdF92aWRlb19tYXJrXzQyMCksCgkgIChnc3RfdmlkZW9fbWFya190cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX21hcmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fbWFya19iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX21hcmtfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fbWFya19pbml0KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBwbHVnaW4gdG8gZ2VuZXJhdGUgYSBwYXR0ZXJuIGRldGVjdGFibGUgYnkgdmlkZW9kZXRlY3QuCgoyMDA3LTA2LTAxIDExOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRG9uJ3QgbGVhayBidWZmZXIgd2hlbiByZXR1cm5pbmcgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSk6CgkgIERvbid0IGxlYWsgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoKMjAwNy0wNi0wMSAwOTo1ODowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IERlcHJlY2F0ZWQgInVyaSIgcHJvcGVydHkuICBDbGVhbiB1cCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT46CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X25lb25odHRwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIERlcHJlY2F0ZWQgInVyaSIgcHJvcGVydHkuICBDbGVhbiB1cCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIENoYW5nZSBkZWZhdWx0IFVzZXItQWdlbnQgdG8gdGhlIHNsaWdodGx5IG1vcmUgZGVzY3JpcHRpdmUKCSAgIkdTdHJlYW1lciBuZW9uaHR0cHNyYyIuCgkgIFZhcmlvdXMgb3RoZXIgc21hbGwgY2xlYW51cHMsIG1vc3RseSBwcm9wZXJ0eSByZWxhdGVkLgoKMjAwNy0wNS0zMSAxOToxMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmg6IE5vIHJlYXNvbiB0byB1c2UgZ3BvaW50ZXJzIGluc3RlYWQgb2YgdHlwZWQgcG9pbnRlcyBoZXJlIGFzIGZhciBhcyBJIGNhbiBzZWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIE5vIHJlYXNvbiB0byB1c2UgZ3BvaW50ZXJzIGluc3RlYWQgb2YgdHlwZWQgcG9pbnRlcyBoZXJlIGFzIGZhciBhcyBJCgkgIGNhbiBzZWUuCgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hZ2ljIG1hcmtlcnMgZm9yIHRoaW5ncyB0aGF0IGFyZW4ndCBtZWFudCB0byBiZQoJICBwYXJzZWQgYnkgZ3RrLWRvYy4gTWFrZXMgZ3RrLWRvYyBjb21wbGFpbiBhIGJpdCBsZXNzLgoKMjAwNy0wNS0zMCAxNDo1MjowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIHZpZGVvc2lnbmFsIHBsdWdpbiB3aXRoIHR3byBwbHVnaW5zIHRvIGFuYWx5c2UgdmlkZW8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6IChnc3RfdmlkZW9fYW5hbHlzZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9wb3N0X21lc3NhZ2UpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfNDIwKSwKCSAgKGdzdF92aWRlb19hbmFseXNlX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fYW5hbHlzZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19hbmFseXNlX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19hbmFseXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3Rfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9wb3N0X21lc3NhZ2UpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jYWxjX2JyaWdodG5lc3MpLCAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19kZXRlY3RfaW5pdCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuaDoKCSAgQWRkZWQgdmlkZW9zaWduYWwgcGx1Z2luIHdpdGggdHdvIHBsdWdpbnMgdG8gYW5hbHlzZSB2aWRlbyBmcmFtZXMuCgkgIEFkZGVkIHZpZGVvYW5hbHlzZSB0byByZXBvcnQgYWJvdXQgYnJpZ2h0bmVzcyBhbmQgdmFyaWFuY2UgaW4gdmlkZW8KCSAgZnJhbWVzLgoJICBBZGRlZCB2aWRlb2RldGVjdCB0byBkZXRlY3QgcHJlZGVmaW5lZCBwYXR0ZXJucyBpbiBhIHZpZGVvIHNpZ25hbC4KCjIwMDctMDUtMzAgMDk6MzA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogTW9yZSB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBNb3JlIHVwZGF0ZXMuCgoyMDA3LTA1LTMwIDA5OjA4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlczsgdXBkYXRlIGluc3BlY3QgaW5mbyBmb3IgcnRwbWFuYWdlciA9PiBnc3RydHBtYW5hZ2VyIHJlbmFtZSwgaG9wZWZ1bGx5IHRoYXQgbWFrZXMgdGhlIGJ1aWxkIGJvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgVXBkYXRlczsgdXBkYXRlIGluc3BlY3QgaW5mbyBmb3IgcnRwbWFuYWdlciA9PiBnc3RydHBtYW5hZ2VyIHJlbmFtZSwKCSAgaG9wZWZ1bGx5IHRoYXQgbWFrZXMgdGhlIGJ1aWxkIGJvdHMgaGFwcHkgYWdhaW4uCgoyMDA3LTA1LTI4IDE2OjM3OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBuYW1lLiBGaXhlcyAjNDMwNjY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lCgkgIG5hbWUuIEZpeGVzICM0MzA2NjQuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTIzIDIyOjQ0OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIgaW50ZXJmYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyCgkgIGludGVyZmFjZSBub3cuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIEFkZCBpbnRlcmZhY2VzIGltcGxlbWVudGVkIGJ5IFdpbmRvd3Mgc2lua3MuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSAgYW5kIGltcGxlbWVudCB0aGUgbWl4ZXIgaW50ZXJmYWNlLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93Lmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmg6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdGRzaG93LmRlZjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICBBZGQgYSBuZXcgZ3N0IGxpYnJhcnkgd2hpY2ggYWxsb3cgdG8gY3JlYXRlIGludGVybmFsIERpcmVjdCBTaG93CgkgIGdyYXBoIChwaXBlbGluZXMpIHRvIHdyYXAgV2luZG93cyBzb3VyY2VzLCBkZWNvZGVycyBvciBlbmNvZGVycy4KCSAgSXQgaW5jbHVkZXMgYSBEaXJlY3RTaG93IGZha2Ugc291cmNlIGFuZCBzaW5rIGFuZCB1dGlsaXR5IGZ1bmN0aW9ucy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgICogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkgIEFkZCBhIG5ldyBwbHVnaW4gdG8gd3JhcCBEaXJlY3RTaG93IHNvdXJjZXMgb24gV2luZG93cy4KCSAgSXQgZ2V0cyBkYXRhIGZyb20gYW55IHdlYmNhbSwgZHYgY2FtLCBtaWNyby4gV2UgY291bGQgYWRkCgkgIHR2IHR1bm5lciBjYXJkIGxhdGVyLgoKMjAwNy0wNS0yMyAxODowMDoxNSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IFNlcGFyYXRlIHRoZSBhdXRob3JzIGJ5IG5ld2xpbmVzIGluc3RlYWQgb2Ygbm90aGluZy4gRml4ZXMgIzQ0MDc3NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPjoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBTZXBhcmF0ZSB0aGUgYXV0aG9ycyBieSBuZXdsaW5lcyBpbnN0ZWFkIG9mIG5vdGhpbmcuIEZpeGVzICM0NDA3NzQuCgoyMDA3LTA1LTIzIDE2OjE0OjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOiBBZGQgZG9jIHhtbCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgIEFkZCBkb2MgeG1sIGZpbGUuCgoyMDA3LTA1LTIzIDEzOjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRG9jdW1lbnQgc3R1ZmYuCgkgIEFkZCBjbGVhci1wdC1tYXAgYWN0aW9uIHNpZ25hbCB3aGVyZSBuZWVkZWQuCgoyMDA3LTA1LTIyIDExOjE0OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLAoJICBnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHksIGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSwKCSAgcGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmggKGF1ZGlvZmlsdGVyKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jIChBUkdfTlVNX0JBTkRTLAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuCgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmMgKGJwd3NpbmNfc2V0X2NhcHMpOgoJICBBZGQgZml4bWUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKFNQRUNUUlVNX1dJTkRPV19CQVNFLAoJICBTUEVDVFJVTV9XSU5ET1dfTEVOLCBnc3Rfc3BlY3RydW1faW5pdCwgZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4gVHVybiB0d28gZml4ZWQgdmFsdWVzIGludG8gI2RlZmluZXMuCgoyMDA3LTA1LTIyIDExOjAzOjMwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBbHNvIGxvb2sgZm9yIC5tIChvYmplY3RpdmVjKSBmaWxlcy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIGVsZW1lbnQgYW5kIHByb3BlcnRpZXMuCgoyMDA3LTA1LTIxIDE0OjAxOjE2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IENoYW5nZUxvZyBzdXJnZXJ5LiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLCBfR3N0SWlyRXF1YWxpemVyQmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jIChBUkdfQkFORF9XSURUSCwgX2RvX2luaXQsIEFSR19HQUlOLAoJICBfR3N0SWlyRXF1YWxpemVyQmFuZCwgb2JqZWN0LCBfR3N0SWlyRXF1YWxpemVyQmFuZENsYXNzLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5LAoJICBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCwgc2V0dXBfZmlsdGVyLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzLCBwbHVnaW5faW5pdCk6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzoKCSAgQWRkIGZpeG1lIGFuZCBjb21tZW50IGZvciBleGFtcGxlLgoKMjAwNy0wNS0yMSAxMjo0MzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbG9jayB0byBwcm90ZWN0IGZyb20gY29uY3VycmVudCBhY2Nlc3MuCgoyMDA3LTA1LTIxIDExOjM3OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIFNwZWNpZnkgYW5kIHVzZSBwcm9wZXJ0aWVzIGFzIHVuc2lnbmVkIGludCB0aGF0IGFyZSBhbiB1bnNpZ25lZCBpbnQuCgoyMDA3LTA1LTIxIDExOjE3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIEZpeHVwIGRvY3MsIG1ha2UgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW4gaW50IGFzIGl0IHNob3VsZCBiZSBhbmQKCSAgYWxsb3cgdG8gc2V0IHRoZSBkaWZmZXJlbnQgZXh0cmEgcHJvY2Vzc2luZyBtb2RlcyBpbnN0ZWFkIG9mIG9ubHkKCSAgYWxsb3dpbmcgbm9uZSBhbmQgdGhlIGRlZmF1bHQgb25lLgoKMjAwNy0wNS0yMCAyMTozMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcyB0aGUgd2F2cGFjayBzdHVmZiBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMKCSAgdGhlIHdhdnBhY2sgc3R1ZmYgbm93IG5lZWRzIGlucHV0IHdpdGggMzIgYml0IHdpZHRoIChhbmQgcmFuZG9tIGRlcHRoKQoJICB0aGlzIGlzIG5lZWRlZCBub3cuIFRoZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgdGhlIHBhcnNlciBhbmQgZGVjb2RlcgoJICBhcmUgc3RpbGwgZmluZS4KCjIwMDctMDUtMjAgMTU6MTI6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogRml4IGRvY3MgYnVpbGQgYW5kIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEZpeCBkb2NzIGJ1aWxkIGFuZCBoaWVyYXJjaHkuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDoxNDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMgKCM0Mzk5MTAsICM0Mzk5MTEpLgoKMjAwNy0wNS0xOSAxMDowNjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgYml0cyBmb3IgZGVpbnRlcmxlYXZlIGNoZWNrIHdoaWNoIGlzbid0IGluIENWUyB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgYml0cyBmb3IgZGVpbnRlcmxlYXZlIGNoZWNrIHdoaWNoIGlzbid0IGluIENWUyB5ZXQuCgoyMDA3LTA1LTE5IDEwOjAxOjQ1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6IChnc3RfcmdfbGltaXRlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfY2xhc3NfaW5pdCksIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfbGltaXRlcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9iYXNlX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9jbGFzc19pbml0KSwgKGdzdF9yZ192b2x1bWVfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX3NldF9wcm9wZXJ0eSksIChnc3Rfcmdfdm9sdW1lX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfcmdfdm9sdW1lX2Rpc3Bvc2UpLCAoZ3N0X3JnX3ZvbHVtZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zaW5rX2V2ZW50KSwgKGdzdF9yZ192b2x1bWVfdGFnX2V2ZW50KSwKCSAgKGdzdF9yZ192b2x1bWVfcmVzZXQpLCAoZ3N0X3JnX3ZvbHVtZV91cGRhdGVfZ2FpbiksCgkgIChnc3Rfcmdfdm9sdW1lX2RldGVybWluZV9nYWluKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOiAoc2V0dXBfcmdsaW1pdGVyKSwKCSAgKGNsZWFudXBfcmdsaW1pdGVyKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKGNyZWF0ZV90ZXN0X2J1ZmZlciksCgkgICh2ZXJpZnlfdGVzdF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAocmdsaW1pdGVyX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6IChldmVudF9mdW5jKSwgKHNldHVwX3Jndm9sdW1lKSwKCSAgKGNsZWFudXBfcmd2b2x1bWUpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoc2V0X251bGxfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAodGVzdF9idWZmZXJfbmV3KSwKCSAgKGZhaWxfdW5sZXNzX3RhcmdldF9nYWluKSwgKGZhaWxfdW5sZXNzX3Jlc3VsdF9nYWluKSwKCSAgKGZhaWxfdW5sZXNzX2dhaW4pLCAoR1NUX1NUQVJUX1RFU1QpLCAocmd2b2x1bWVfc3VpdGUpLCAobWFpbik6CgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCjIwMDctMDUtMTggMTY6NDU6NTQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZQoKMjAwNy0wNS0xOCAxMjozOTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydCBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQKCSAgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgZm9ybWF0cywgbm90IGp1c3QgdGhlIHRlbXBsYXRlIGNhcHMuCgkgIEZpeGVzOiAjNDM5NDA1CgoyMDA3LTA1LTE4IDA5OjM1OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmMgKGdzdF9hbXJ3YmRlY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULCBfZG9faW5pdCwgZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZGVjX2NsYXNzX2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jIChnc3RfYW1yd2JkZWNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YmRlY19iYXNlX2luaXQsIGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYyAoZ3N0X2FtcndiZW5jX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JlbmNfYmFzZV9pbml0LCBnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYyAoZ3N0X2FtcndicGFyc2VfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCwgZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgIEZpcnN0IHJvdW5kIG9mIGNsZWFudXBzLCB0aGF0IHVzZSBHU1RfQk9JTEVSUExBVEUsIEdTVF9FTEVNRU5UX0RFVEFJTFMsCgkgIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBhZGQgbG9nLWNhdGVnb3J5LgoKMjAwNy0wNS0xNyAxMDo1OTowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWCBpcyAkI0AoKiUkIyAhIEZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYCgkgIGlzICQjQCgqJSQjICEgRm9yIHRob3NlIHdvbmRlcmluZywgdGhlIGV2ZW50IGhhbmRsaW5nIG5lZWRzIHRvIGJlIGRvbmUKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGFmdGVyIGFsbC4uCgoyMDA3LTA1LTE3IDEwOjA4OjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfMCwgQVJHX05CX1NPVVJDRVMsIEFSR19BQ1RJVkVfU09VUkNFLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfMCwgQVJHX05CX1NPVVJDRVMsIEFSR19BQ1RJVkVfU09VUkNFLAoJICBBUkdfU1RBUlRfVkFMVUUsIEFSR19TVE9QX1ZBTFVFLCBBUkdfTEFTVF9UUywgQVJHX1FVRVVFX0JVRkZFUlMsCgkgIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsCgkgIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRjYXBzLCBnc3Rfc3dpdGNoX2Rpc3Bvc2UsCgkgIHVucmVmX2J1ZmZlciwgdW5yZWZfYnVmZmVyc19hbmRfZGVzdHJveV9saXN0LCBnc3Rfc3dpdGNoX2luaXQsCgkgIGdzdF9zd2l0Y2hfYmFzZV9pbml0LCBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKG5lZWRfdG9fc2VuZF9uZXdzZWdtZW50LCBxdWV1ZV9idWZmZXJzLAoJICBzdG9wX3ZhbHVlLCBzdGFydF92YWx1ZSwgY3VycmVudF9zdGFydCwgbGFzdF90cywgc3RvcmVkX2J1ZmZlcnMpOgoJICBBZGQgaGFuZGxpbmcgb2YgYXBwbGljYXRpb24gcHJvdmlkZWQgc3RvcCBhbmQgc3RhcnQgdmFsdWVzLCBhbGxvd2luZwoJICBBL1Ygc3luYyBhY3Jvc3MgMiBzd2l0Y2ggZWxlbWVudHMuCgoyMDA3LTA1LTE3IDA5OjQxOjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIFVzZSBhIHNlcGFyYXRlIHRocmVhZC90YXNrIGZvciB0aGUgY29jb2EgZXZlbnRfbG9vcCwgZWxzZSBpdCB3b3VsZG4ndAoJICBzdG9wLgoKMjAwNy0wNS0xNiAxNzoxNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogRG9uJ3QgY3Jhc2ggd2hlbiB3ZSBnZXQgYSBidWZmZXIgYW5kIG91ciBpbnB1dCBjYXBzIGhhdmVuJ3QgYmVlbiBzZXQgeWV0OyBhbHNvLCBkb24ndCBsZWFrIGFsbCB0aGUgaW5wdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pOgoJICBEb24ndCBjcmFzaCB3aGVuIHdlIGdldCBhIGJ1ZmZlciBhbmQgb3VyIGlucHV0IGNhcHMgaGF2ZW4ndCBiZWVuIHNldAoJICB5ZXQ7IGFsc28sIGRvbid0IGxlYWsgYWxsIHRoZSBpbnB1dCBidWZmZXJzIChyZWFsYXVkaW9kZWMgb25seSkuCgoyMDA3LTA1LTE2IDEzOjUwOjUxICswMDAwICBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CgoJICBVc2UgZXh0ZXJuYWwgc2hhcmVkIGxpYmFtcndiLiBGaXhlcyAjNDIzNzQxICh3aXRoIGxvdHMgb2YgY2xlYW51cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvUkVBRE1FOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oIChfX0dTVF9BTVJXQkRFQ19IX18pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oIChfX0dTVF9BTVJXQkVOQ19IX18pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaCAoX19HU1RfQU1SV0JQQVJTRV9IX18pOgoJICAqIGdzdC1saWJzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L2FtcndiL1JFQURNRToKCSAgVXNlIGV4dGVybmFsIHNoYXJlZCBsaWJhbXJ3Yi4gRml4ZXMgIzQyMzc0MSAod2l0aCBsb3RzIG9mIGNsZWFudXApLgoKMjAwNy0wNS0xNSAyMToyMzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKTogVGhpcyBuZWVkcyBhIHZlcnNpb24gY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYyAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6CgkgIFRoaXMgbmVlZHMgYSB2ZXJzaW9uIGNoZWNrLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZC4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDUtMTUgMTM6Mjk6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdlIGFsd2F5cyB1c2UgZml4ZWQgY2Fwcy4KCjIwMDctMDUtMTUgMDM6NDU6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgoyMDA3LTA1LTE1IDAyOjU0OjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhIEJheWVyLXRvLVJHQiBjb252ZXJ0ZXIuICBZb3Uga25vdyB5b3Ugd2FudCBvbmUsIHVoLWh1aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEFkZCBhIEJheWVyLXRvLVJHQiBjb252ZXJ0ZXIuICBZb3Uga25vdyB5b3Ugd2FudCBvbmUsIHVoLWh1aC4KCSAgUGFydGlhbCBmaXggZm9yICMzMTQxNjAuCgoyMDA3LTA1LTE0IDE4OjAzOjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfQUNUSVZFX1NPVVJDRSwgQVJHX1NUT1BfVkFMVUUsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR19BQ1RJVkVfU09VUkNFLCBBUkdfU1RPUF9WQUxVRSwKCSAgQVJHX0xBU1RfVFMsIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCwgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChwcmV2aW91c19zaW5rcGFkLCBuYl9zaW5rcGFkcywgc3RvcF92YWx1ZSwKCSAgY3VycmVudF9zdGFydCwgbGFzdF90cyk6CgkgIEFsbG93IGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgYSBzdG9wIHRpbWVzdGFtcCwgc28gYSBuZXcgc2VnbWVudAoJICB1cGRhdGUgY2FuIGJlIHNlbnQgYmVmb3JlIHN3aXRjaGluZy4KCjIwMDctMDUtMTQgMTU6Mjg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRml4IGxlYWsgd2hlbiBmbHVzaGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGNsZWFyLXB0LW1hcCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEluaXQgY2xvY2stcmF0ZSB0byAtMSB0byBtYXJrIHVua25vdyBjbG9jayByYXRlLgoJICBGaXggZmx1c2hpbmcuCgoyMDA3LTA1LTEzIDE5OjU3OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgRml4IHdyb25nIGlmZGVmIGZvciB2aXN1YWwgQysrLiAgRml4ZXM6ICM0Mzc0MDMuCgkgIEJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4uCgoyMDA3LTA1LTEzIDA3OjA4OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE1ha2UgcmVkaXJlY3Rpb24gdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBGaXhlcyAjNDEzODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBNYWtlIHJlZGlyZWN0aW9uIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgRml4ZXMgIzQxMzgxOC4KCjIwMDctMDUtMTEgMTE6MjA6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW4KCjIwMDctMDUtMTAgMTQ6MDI6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LCBnc3RfcXRkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwKCSAgZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSwgZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cywKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSwgZ3N0X3F0ZGVtdXhfbG9vcCwKCSAgcXRkZW11eF9wYXJzZV9zZWdtZW50cywgcXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmMgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgsCgkgIHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCwgcnRwX3Nlc3Npb25fZ2V0X2NuYW1lLAoJICBydHBfc2Vzc2lvbl9nZXRfbmFtZSwgcnRwX3Nlc3Npb25fZ2V0X2VtYWlsLCBydHBfc2Vzc2lvbl9nZXRfcGhvbmUsCgkgIHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiwgcnRwX3Nlc3Npb25fZ2V0X3Rvb2wsCgkgIHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllLCBzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jIChydHBfc291cmNlX3Byb2Nlc3NfcnRwLAoJICBydHBfc291cmNlX3NlbmRfcnRwLCBydHBfc291cmNlX3Byb2Nlc3Nfc3IsIHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgIE1vcmUgZm9ybWF0IGFyZyBmaXhpbmcgKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmUgbGlicmFyaWVzKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikuCgoyMDA3LTA1LTEwIDEyOjM4OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwgYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2ssIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCwgYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKToKCSAgRm9ybWF0IGFyZyBmaXggKHNwb3R0ZWQgYnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPikKCjIwMDctMDUtMTAgMDc6NDE6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbW1vbi9tNC9nc3QteDExLm00OiBSZXN0b3JlIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL200L2dzdC14MTEubTQ6CgkgIFJlc3RvcmUgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0IHByZXZpb3VzIHBhdGNoLgoKMjAwNy0wNS0xMCAwNjozNTozMSArMDAwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBTYXZlIGFuZCByZXN0b3JlIENGTEFHUyBmb3IgT3BlbkdMIGNoZWNrLiBGaXhlcyAjNDM3MjYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFNhdmUgYW5kIHJlc3RvcmUgQ0ZMQUdTIGZvciBPcGVuR0wgY2hlY2suIEZpeGVzICM0MzcyNjAuCgoyMDA3LTA1LTA5IDIwOjAxOjIxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczogQWRkIGRpcmVjdHJhdyBhbmQgZGlyZWN0c291bmQgc2lua3MgcHJvcGVydGllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIEFkZCBkaXJlY3RyYXcgYW5kIGRpcmVjdHNvdW5kIHNpbmtzIHByb3BlcnRpZXMuCgoyMDA3LTA1LTA5IDE3OjU4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChob3BlZnVsbHkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGhvcGVmdWxseSkuCgoyMDA3LTA1LTA5IDExOjI0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgoyMDA3LTA1LTA2IDE1OjI1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBVc2UgR01vZHVsZSBpbnN0ZWFkIG9mIHVzaW5nIGRsc3ltKCkgZGlyZWN0bHkuIEZpeGVzICM0MzA1OTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgVXNlIEdNb2R1bGUgaW5zdGVhZCBvZiB1c2luZyBkbHN5bSgpIGRpcmVjdGx5LiBGaXhlcyAjNDMwNTk4LgoKMjAwNy0wNS0wNCAyMTowMjo1OCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3MgZm9yIFdpbmRvd3Mgc2lua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgZG9jcyBmb3IgV2luZG93cyBzaW5rcy4KCjIwMDctMDUtMDQgMTc6MjA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogRml4IGV2ZW50IGhhbmRsaW5nIGEgYml0IGJ5IHJlcGxhY2luZyBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZSB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGNvbXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9zcmNfZXZlbnQpLCAoc3BlZWRfc2lua19ldmVudCksCgkgIChzcGVlZF9jaGFpbiksIChzcGVlZF9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZXZlbnQgaGFuZGxpbmcgYSBiaXQgYnkgcmVwbGFjaW5nIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlCgkgIHdyaXR0ZW4gYnkgc29tZW9uZSBlbHNlIHdpdGggY29tcGxldGVseSBkdWJpb3VzIGNvZGUgd3JpdHRlbgoJICBieSBtZS4gU2hvdWxkIGF0IGxlYXN0IGZpeCAjNDEyMDc3IHRob3VnaC4KCjIwMDctMDUtMDQgMTY6MTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogQWRkIGRlYnVnIGNhdGVnb3J5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyooKSB1dGlsaXR5IGZ1bmN0aW9uczsgdXNlIGdzdF91dGlsX3NjYWxlKigpOyBhZGQgZ3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9zcmNfcXVlcnkpLCAoc3BlZWRfY2hhaW4pLAoJICAocGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKigpIHV0aWxpdHkgZnVuY3Rpb25zOwoJICB1c2UgZ3N0X3V0aWxfc2NhbGUqKCk7IGFkZCBndGstZG9jIGJsdXJiLgoKMjAwNy0wNS0wNCAxMjozMjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGluZm8uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFN0b3JlIHJlYWwgdXNlciBuYW1lIGluIHRoZSBzZXNzaW9uLgoKMjAwNy0wNS0wMyAxNjo0OTowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChsb29wLCBteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKGxvb3AsIG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLAoJICBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEdTVF9DQVRfREVGQVVMVCwgZ3N0X3N3aXRjaF9kZXRhaWxzLAoJICBnc3Rfc3dpdGNoX3NyY19mYWN0b3J5LCBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWQsIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9idWZmZXJhbGxvYywgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZHMsCgkgIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0LCBnc3Rfc3dpdGNoX2Jhc2VfaW5pdCwKCSAgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChHc3RTd2l0Y2gsIEdzdFN3aXRjaENsYXNzLCBfR3N0U3dpdGNoLAoJICBlbGVtZW50LCBhY3RpdmVfc2lua3BhZCwgc3JjcGFkLCBuYl9zaW5rcGFkcywgbmV3c2VnbWVudF9ldmVudHMsCgkgIG5lZWRfdG9fc2VuZF9uZXdzZWdtZW50KToKCSAgUG9ydCBzd2l0Y2ggZWxlbWVudCBhbmQgZXhhbXBsZSBwcm9ncmFtIHRvIDAuMTAuCgoyMDA3LTA1LTAyIDE4OjMxOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBIYW5kbGUgRElTQ09OVCBidWZmZXJzIGJ5IGNvcnJlY3RseSBzZXR0aW5nIHRoZSBESVNDT05UIGZsYWcKCSAgb24gb3V0Z29pbmcgYnVmZmVycyB3aGVuIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KQoJICBTZW5kIG5ld3NlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDctMDUtMDIgMTY6NTg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdCBzYW1wbGUuIFdpdGggdGhlIGZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3QKCSAgc2FtcGxlLiBXaXRoIHRoZSBmaXhlZCBlcnJvciBoYW5kbGluZyB0aGlzIHdvcmtzIG5vdyBhcyBleHBlY3RlZAoJICB3aXRob3V0IHB1c2hpbmcgdGhlIGxhc3Qgc2FtcGxlIGFsdGhvdWdoIGl0IHdhc24ndCByZXF1ZXN0ZWQuCgoyMDA3LTA1LTAyIDE2OjQ1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aCBzdG9wIHBvc2l0aW9uID09IC0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGgKCSAgc3RvcCBwb3NpdGlvbiA9PSAtMSBhbmQgaW5zdGVhZCBvZiBzdG9wcGluZyB0aGUgdGFzayBvbiBzZWVrIGp1c3QKCSAgcGF1c2UgaXQuCgoyMDA3LTA1LTAyIDE2OjE5OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA3LTA1LTAyIDE1OjEzOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdCB3YXMgZWFzeSB0byBnZXQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgQ29ycmVjdGx5IGhhbmRsZSBlcnJvcnMsIGVzcGVjaWFsbHkgaW4gdGhlIGxvb3AgZnVuY3Rpb24uIEJlZm9yZSBpdAoJICB3YXMgZWFzeSB0byBnZXQgdGhlIHRhc2sgcGF1c2VkIGJ1dCBubyBlcnJvciBiZWluZyBwb3N0ZWQgb24gdGhlIGJ1cy4KCjIwMDctMDQtMzAgMTU6Mzk6MDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMKCjIwMDctMDQtMzAgMTM6NDE6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKToKCSAgRml4IHRoZSBjYXNlIHdoZXJlIHRoZSBidWZmZXIgdW5kZXJydW5zIGFuZCBkb2VzIG5vdCBibG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICBSZW5hbWUgUlRDUCBzZW5kIHBhZCwgbGlrZSBpbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBBbGxvdyBnZXR0aW5nIGFuIFJUQ1AgcGFkIGZvciByZWNlaXZpbmcgZXZlbiBpZiB3ZSBkb24ndCByZWNlaXZlIFJUUC4KCSAgZml4IGhhbmRsaW5nIG9mIHNlbmRfcnRwX3NyYyBwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIFdoZW4gbm8gcHQgbWFwIGNvdWxkIGJlIGZvdW5kLCBmYWxsIGJhY2sgdG8gdGhlIHNpbmtwYWQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEZpeCBwYWQgbmFtZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVW5sb2NrIHNlc3Npb24gd2hlbiBwZXJmb3JtaW5nIGEgY2FsbGJhY2suCgkgIEFkZCBjYWxsYmFja3MgZm9yIHRoZSBpbnRlcm5hbCBzZXNzaW9uIG9iamVjdC4KCSAgRml4IHNlbmRpbmcgb2YgUlRQIHBhY2tldHMuCgkgIGZpcnN0IGF0dGVtcHQgYXQgYWRkaW5nIE5UUCB0aW1lcyBpbiB0aGUgU1IgcGFja2V0cy4KCSAgU21hbGwgZGVidWcgYW5kIGRvYyBpbXByb3ZlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgVXBkYXRlIHN0YXRzIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wNC0yOSAxNDo0NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUmVtb3ZlIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgUmVtb3ZlIGRlYnVnLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZwoJICBGaXggaW50ZXJ2YWwgZm9yIEJZRS9SVENQIHBhY2tldHMuCgoyMDA3LTA0LTI5IDE0OjAxOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBDb21taXQgcmVzdWx0IG9mIHJ1bm5pbmcgc2Nhbm9iai11cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIENvbW1pdCByZXN1bHQgb2YgcnVubmluZyBzY2Fub2JqLXVwZGF0ZQoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIDgwIGNoYXIgcG9saWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA4MCBjaGFyIHBvbGljZQoKMjAwNy0wNC0yOSAxMzo1MzoxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBSZXF1aXJlIGF1dG9tYWtlIDEuNwoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBGaXggdXAgTWFrZWZpbGUuYW0gYWNjb3JkaW5nbHkuCgoyMDA3LTA0LTI5IDEzOjQ5OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIGphY2sgYW5kIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgQWRkIGphY2sgYW5kIHVwZGF0ZS4KCjIwMDctMDQtMjggMTI6NDY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGJ1aWxkIGVxdWFsaXplciB1bmxlc3Mgd2UgaGF2ZSBjb3JlIGZyb20gQ1ZTIChpdCB3b24ndCB3b3JrIHdpdGggZWFybGllciB2ZXJzaW9ucyBkdWUgdG8gR3N0Q2hpbGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBidWlsZCBlcXVhbGl6ZXIgdW5sZXNzIHdlIGhhdmUgY29yZSBmcm9tIENWUyAoaXQgd29uJ3QKCSAgd29yayB3aXRoIGVhcmxpZXIgdmVyc2lvbnMgZHVlIHRvIEdzdENoaWxkUHJveHkgYnJva2VuZXNzKS4KCSAgQWxzbyB1cCByZXF1aXJlbWVudHMgdG8gbGFzdCByZWxlYXNlZCBjb3JlL2Jhc2UuCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwNy0wNC0yNyAxNTozMzo0NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBDYWxjdWxhdGUgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseSB0byBnZW5lcmF0ZSBhIHBlcmZlY3Qgc3RyZWFtICgjNDMzODg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDQtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoX3RoZW9yYV9ncmFudWxlX3RpbWUpLAoJICAodGhlb3JhX2RlY19wdXNoX2ZvcndhcmQpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX2RlY29kZV9idWZmZXIpOiBDYWxjdWxhdGUgYnVmZmVyIGR1cmF0aW9uIGNvcnJlY3RseQoJICB0byBnZW5lcmF0ZSBhIHBlcmZlY3Qgc3RyZWFtICgjNDMzODg4KS4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpOiBHbGliIHByb3ZpZGVzIEFCUy4KCjIwMDctMDQtMjcgMTU6MDk6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWNvbnNpZGVyKToKCSAgTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIFNpbXBsaWZ5IHRpbW91dCBoYW5kbGluZyBhbmQgYWRkIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKGNhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksIChzZXNzaW9uX3NkZXMpLAoJICAoc2Vzc2lvbl9ieWUpLCAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSGFuZGxlIHRpbWVvdXQgb2YgaW5hY3RpdmUgc291cmNlcyBhbmQgc2VuZGVycy4KCSAgSW1wbGVtZW50IEJZRSBzY2hlZHVsaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1lbWJlcnMgdG8gY2hlY2sgZm9yIHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlciksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX2J5ZV9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIFJGQyBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSByZXBvcnRpbmcgaW50ZXJ2YWwuCgoyMDA3LTA0LTI2IDE0OjMxOjMyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3h2aWRlby54bWw6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoKMjAwNy0wNC0yNSAxNjozODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTU6NDg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiA8ZGVsZXRlIGlmIG5vdCB1c2luZyBhIGJ1ZGR5PgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIERlYnVnaW5nIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxMzoxOTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKToKCSAgUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBEb24ndCBzZW5kIFJUQ1AgcmlnaHQgYmVmb3JlIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgSW1wcm92ZSByZXBvcnQgYmxvY2tzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlciksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbGFzdF9zciksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBDbGVhbnVwcywgYWRkIG1ldGhvZHMgdG8gYWNjZXNzIHN0YXRzLgoKMjAwNy0wNC0yNSAwODozMDo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgRml4IGZvciByZW5hbWVkIG1ldGhvZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25faW5pdCksCgkgIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydHBfc2Vzc2lvbl9zZXRfY25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9uYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9uYW1lKSwgKHJ0cF9zZXNzaW9uX3NldF9lbWFpbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfZW1haWwpLCAocnRwX3Nlc3Npb25fc2V0X3Bob25lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9waG9uZSksIChydHBfc2Vzc2lvbl9zZXRfbG9jYXRpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uKSwgKHJ0cF9zZXNzaW9uX3NldF90b29sKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF90b29sKSwgKHJ0cF9zZXNzaW9uX3NldF9ub3RlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9ub3RlKSwgKHNvdXJjZV9wdXNoX3J0cCksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9yZXBvcnRpbmdfaW50ZXJ2YWwpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwKCSAgKHNlc3Npb25fc2RlcyksIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBQcmVwYXJlIGZvciBpbXBsZW1lbnRpbmcgU1NSQyBzYW1wbGluZy4KCSAgQ3JlYXRlIFNTUkMgZm9yIHRoZSBzZXNzaW9uLgoJICBBZGQgbWV0aG9kcyB0byBzZXQgdGhlIFNERVMgZW50cmllcy4KCSAgZml4IGFjY291bnRpbmcgb2Ygc2VuZGVycy9yZWNlaXZlcnMuCgkgIEltcGxlbWVudCBTUi9SUi9TREVTIFJUQ1AgcmVwb3J0aW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgSW1wbGVtZW50IGV4dGVuZGVkIHNlcXVlbmNlIG51bWJlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBSZW5hbWUgc29tZSBmaWVsZHMuCgoyMDA3LTA0LTI0IDE1OjQ5OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCjIwMDctMDQtMjEgMTk6Mzk6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvTWFrZWZpbGUuYW06IEZpeCBkaXN0Y2hlY2ssIGhvcGVmdWxseSAocnRwbWFuYWdlciBpcyBhbHJlYWR5IGluIEdTVF9QTFVHSU5TX0FMTCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgRml4IGRpc3RjaGVjaywgaG9wZWZ1bGx5IChydHBtYW5hZ2VyIGlzIGFscmVhZHkgaW4gR1NUX1BMVUdJTlNfQUxMKS4KCjIwMDctMDQtMjEgMTk6MjE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgoyMDA3LTA0LTIxIDE0OjE0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBNYWtlIG1vcmUgZnVuY3Rpb25zIHN0YXRpYywganVzdCBiZWNhdXNlIHdlIGNhbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBNYWtlIG1vcmUgZnVuY3Rpb25zIHN0YXRpYywganVzdCBiZWNhdXNlIHdlIGNhbi4KCjIwMDctMDQtMjEgMTM6NTQ6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvcmVzYW1wbGUgc2h1dGRvd24gY3Jhc2hlciAoIzQyMDEwNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9yZXNhbXBsZSBzaHV0ZG93biBjcmFzaGVyICgjNDIwMTA2KS4KCjIwMDctMDQtMjAgMTU6MzE6MzIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRkFBRCBmYWlscyB0byBkZWNvZGUgbG93IChlLmcuIDgga0h6KSBzYW1wbGUgcmF0ZSBBQUMgZGF0YSBpbiBxdWlja3RpbWUgYmVjYXVzZSBvZiBzYW1wbGUgcmF0ZSBtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9vcGVuX2RlY29kZXIpOgoJICBGQUFEIGZhaWxzIHRvIGRlY29kZSBsb3cgKGUuZy4gOCBrSHopIHNhbXBsZSByYXRlIEFBQyBkYXRhIGluCgkgIHF1aWNrdGltZSBiZWNhdXNlIG9mIHNhbXBsZSByYXRlIG1pc21hdGNoZXMuCgkgIFJlZW5hYmxlIG92ZXJyaWRpbmcgdGhlIGltcGxpY2l0IFNCUiBiZWhhdmlvdXIgKGFjY2lkZW50bHkgY2hhbmdlZD8pCgkgIHRvIGFsbG93IHBsYXliYWNrIG9mIHRoZXNlIGZpbGVzLgoKMjAwNy0wNC0xOSAxNTo0MzoyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoYW5nZSBydHBtYW5hZ2VyIGRpc2FibGluZyB0byBrZWVwIC1iYWQgcmVsZWFzYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGFuZ2UgcnRwbWFuYWdlciBkaXNhYmxpbmcgdG8ga2VlcCAtYmFkIHJlbGVhc2FibGUuCgoyMDA3LTA0LTE4IDE5OjQ1OjMyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEZpeCB3dGF5J3MgaGFjay4gIHJ0cG1hbmFnZXIgaXMgZGlzYWJsZWQgaW4gY29uZmlndXJlLmFjIG9uIGxpbmUgMjY4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBGaXggd3RheSdzIGhhY2suICBydHBtYW5hZ2VyIGlzIGRpc2FibGVkIGluIGNvbmZpZ3VyZS5hYyBvbgoJICBsaW5lIDI2OC4KCjIwMDctMDQtMTggMTk6MjY6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvTWFrZWZpbGUuYW06IEFkZCBydHBtYW5hZ2VyIGRpciB0byBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEFkZCBydHBtYW5hZ2VyIGRpciB0byBkaXN0LgoKMjAwNy0wNC0xOCAxODo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGRlZCBuZXcgZmlsZXMgZm9yIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFNvbWUgY2xlYW51cHMuCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIgY2FuIG5vdyBhbHNvIHJlcXVlc3QgYSBwdC1tYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLCAoc3RhcnRfcnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3RpbWUpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIFdlIGNhbiBhc2sgZm9yIHB0LW1hcCBub3cgdG9vIHdoZW4gdGhlIHNlc3Npb24gbWFuYWdlciBuZWVkcyBpdC4KCSAgSG9vayB1cCB0byB0aGUgbmV3IHNlc3Npb24gbWFuYWdlciwgaW1wbGVtZW50IHRoZSBuZWVkZWQgY2FsbGJhY2tzIGZvcgoJICBwdXNoaW5nIGRhdGEsIGdldHRpbmcgY2xvY2sgdGltZSBhbmQgcmVxdWVzdGluZyBjbG9jay1yYXRlcy4KCSAgUmVuYW1lIHJ0Y3Bfc3JjIHRvIHNlbmRfcnRjcF9zcmMgdG8gbWFrZSBpdCBjbGVhciB0aGF0IHRoaXMgUlRDUCBpcyB0bwoJICBiZSBzZW5kIHRvIGNsaWVudHMuCgkgIEFkZCBjb2RlIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSB0aHJlYWQgdGhhdCB3aWxsIHNjaGVkdWxlIFJUQ1AgdGhyb3VnaAoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwgKG9uX3NzcmNfdmFsaWRhdGVkKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKHJ0cF9zZXNzaW9uX25ldyksIChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoKSwKCSAgKHNvdXJjZV9wdXNoX3J0cCksIChzb3VyY2VfY2xvY2tfcmF0ZSksIChjaGVja19jb2xsaXNpb24pLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X2NuYW1lKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2FwcCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fcHJvZHVjZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFRoZSBhZHZhbmNlZCBiZWdpbm5pbmdzIG9mIHRoZSBtYWluIHNlc3Npb24gbWFuYWdlciB0aGF0IGhhbmRsZXMgdGhlCgkgIHBhcnRpY2lwYW50IGRhdGFiYXNlIG9mIFJUUFNvdXJjZXMsIFNTUkMgcHJvYmF0aW9uLCBTU1JDIGNvbGxpc2lvbnMsCgkgIHBhcnNlIFJUQ1AgdG8gdXBkYXRlIHNvdXJjZSBzdGF0cy4gZXRjLi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX25ldyksCgkgIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLCAocnRwX3NvdXJjZV9zZXRfYXNfY3NyYyksCgkgIChydHBfc291cmNlX3NldF9ydHBfZnJvbSksIChydHBfc291cmNlX3NldF9ydGNwX2Zyb20pLAoJICAocHVzaF9wYWNrZXQpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ieWUpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgT2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIGFuIFNTUkMgYW5kIGl0cyBzdGF0ZSBpbiB0aGUgZGF0YWJhc2UuCgkgIENhbGN1bGF0ZXMgdGhlIGppdHRlciBhbmQgdHJhbnNpdCB0aW1lcyBvZiBkYXRhIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBWYXJpb3VzIHN0YXRzIHJlZ2FyZGluZyB0aGUgc2Vzc2lvbiBhbmQgc291cmNlcy4KCSAgVXNlZCB0byBjYWxjdWxhdGUgdGhlIFJUQ1AgaW50ZXJ2YWwuCgoyMDA3LTA0LTE3IDEwOjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwcC9NYWtlZmlsZS5hbTogRml4IENGTEFHUyBhbmQgaG9wZWZ1bGx5ICM0MzA1OTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MgYW5kIGhvcGVmdWxseSAjNDMwNTk0LgoKMjAwNy0wNC0xNyAwODo0ODozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvdHlwZXMuaDogUmVuYW1lICNpZm5kZWYgaGVhZGVyIGd1YXJkIHN5bWJvbCB0byBzb21ldGhpbmcgbGVzcyBnZW5lcmljLCBzbyB0eXBlcy5oIGRvZXNuJ3QgZ2V0IHNraXBwZWQgb3ZlciB3aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFJlbmFtZSAjaWZuZGVmIGhlYWRlciBndWFyZCBzeW1ib2wgdG8gc29tZXRoaW5nIGxlc3MgZ2VuZXJpYywgc28KCSAgdHlwZXMuaCBkb2Vzbid0IGdldCBza2lwcGVkIG92ZXIgd2hlbiBjb21waWxpbmcgb24gTWluZ1cuIEluY2x1ZGUKCSAgR0xpYiBoZWFkZXJzIGFuZCB1c2UgdGhvc2UgdG8gc2V0IHRoZSBlbmRpYW5uZXNzIGFuZCB0aGUgYmFzaWMKCSAgdHlwZXMgc28gdGhhdCB0aGlzIGlzbid0IGVudGlyZWx5IGJyb2tlbiBmb3Igbm9uLXg4NiBhcmNoaXRlY3R1cmVzLgoKMjAwNy0wNC0xNyAwODowNDo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogVXNlIEdfTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIExJVFRMRV9FTkRJQU4sIHNvIHN0dWZmIGNvbXBpbGVzIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfYXVkaW9faW5pdCk6CgkgIFVzZSBHX0xJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBMSVRUTEVfRU5ESUFOLCBzbyBzdHVmZiBjb21waWxlcyBvbgoJICBNaW5nVyAobm8gaWRlYSB0aG91Z2ggd2h5IHdlIGFkZCBhIEJZVEVfT1JERVIgZW5kaWFubmVzcyBmaWVsZCBpZgoJICB0aGUgYXVkaW8gaXMgY29tcHJlc3NlZCkuCgoyMDA3LTA0LTE2IDIyOjIwOjAzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgaWYgSEFWRV9MT0NBTFRJTUVfUiBpcyB1bmRlZmluaWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSA8dnRvcnJpIGF0IHVuaXYtZXZyeSBkb3QgZnI+CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOiAoZ3N0X2Nsb2NrX292ZXJsYXlfcmVuZGVyX3RpbWUpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgaWYgSEFWRV9MT0NBTFRJTUVfUiBpcyB1bmRlZmluaWVkCgkgICogZ3N0LWxpYnMvZ3N0L3JpZmYvcmlmZi1tZWRpYS5jOiAoZ3N0X3JpZmZfY3JlYXRlX2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KToKCSAgVXNlIHRoZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciBpbnRlZ2VyIGZvcm1hdHMuCgoyMDA3LTA0LTE0IDE3OjE4OjE0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0c291bmQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgIEFkZCB4bWwgZG9jIGZpbGVzIGZvciBXaW5kb3dzIHNpbmtzCgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFVwZGF0ZSBwcm9qZWN0cyBmaWxlcy4KCjIwMDctMDQtMTMgMDk6MjA6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBSZXR1cm4gRkxPV19PSyBmcm9tIFJUQ1AgbWVzc2FnZXMgZm9yIG5vdy4KCjIwMDctMDQtMTIgMTA6NTI6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQgY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIE1ha2UgdGltZXNjYWxlIDMyIGJpdHMgYWdhaW4gc28gd2UgZG9uJ3Qgc2NyZXcgdXAgdGhlIHB0c19vZmZzZXQKCSAgY2FsY3VsYXRpb25zLgoKMjAwNy0wNC0xMiAwODoxODozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChwdF9tYXBfcmVxdWVzdGVkKToKCSAgRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBFbWl0IHJlcXVlc3QtcHQtbWFwIHNpZ25hbHMuCgoyMDA3LTA0LTExIDEzOjQ5OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDogU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgU29tZSBtb3JlIGN1c3RvbSBtYXJzaGFsbGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY2xvY2tfcmF0ZV9yZXF1ZXN0KSwgKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChwdF9tYXBfcmVxdWVzdGVkKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBjYWNoaW5nIHB0IG1hcHMuCgkgIENvbm5lY3QgdG8gc2lnbmFscyB0byBjb2xsZWN0IHB0IG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgcmVxdWVzdF9jbG9ja19yYXRlIHNpZ25hbC4KCSAgVXNlIHNjYWxlIGluc3RlYXQgb2Ygc2NhbGVfaW50IGJlY2F1c2UgdGhlIGxhdGVyIGRvZXMgbm90IGRlYWwgd2l0aAoJICBuZWdhdGl2ZSBudW1iZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgIEltcGxlbWVudCByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgoyMDA3LTA0LTExIDA5OjUzOjM4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tZGhkKToKCSAgSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBGaXhlcyAjNDI2OTcyLgoKMjAwNy0wNC0xMCAwOToxNDowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci8uY3ZzaWdub3JlOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcmVwYXJlIGZvciBlbWl0aW5nIHB0IG1hcCBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIEZpeCBzaWduYWxzLgoKMjAwNy0wNC0wNiAxMjoyODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBQcm92aWRlIGEgY2xvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX3Byb3ZpZGVfY2xvY2spOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBQcm92aWRlIGEgY2xvY2suCgoyMDA3LTA0LTA2IDEyOjA3OjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9ydGNwKToKCSAgRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgoyMDA3LTA0LTA1IDE2OjEwOjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBGaXggZG91YmxlIHVucmVmKCkgaW4gZXJyb3IgY2FzZXMuCgoyMDA3LTA0LTA1IDE1OjA1OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuKjogVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgVHJ5IHRvIHJlY292ZXIgZnJvbSBwYWNrZXQgbG9zcyBhIGxpdHRsZSBiZXR0ZXIuCgoyMDA3LTA0LTA1IDEzOjU0OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBBZGRlZCBSVFBTdHJlYW0gdG8gbWFuYWdlIHN0cmVhbSBwZXIgU1NSQywgZWFjaCB3aXRoIGl0cyBvd24KCSAgaml0dGVyYnVmZmVyIGFuZCBwdGRlbXV4LgoJICBBZGRlZCBTU1JDRGVtdXguCgkgIENvbm5lY3QgdG8gdmFyaW91cyBTU1JDIGFuZCBQVCBzaWduYWxzIGFuZCBjcmVhdGUgZ2hvc3RwYWRzLCBsaW5rIHN0dWZmLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgcnRwYmluIHRvIGVsZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggY2FwcyBhbmQgZm9yd2FyZCBHc3RGbG93UmV0dXJuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBldmVudCBoYW5kbGluZwoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9ydHBfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9ydHBfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgbmV3LXB0LXBhZCBzaWduYWwuCgoyMDA3LTA0LTA1IDEzOjQ5OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL25sLnBvOgoJICB1cGRhdGUgZHV0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBkdXRjaAoKMjAwNy0wNC0wNSAxMzo0NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN1Ym1pdHRlZCBieTogTW9nZW5zIEphZWdlciA8bW9nZW5zQGphZWdlci50Zj4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2RhLnBvOgoJICBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA0LTA0IDEwOjIzOjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGRlZCBzaW1wbGUgU1NSQyBkZW11eGVyLgoKMjAwNy0wNC0wNCAwNzozNjoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtIGVzdGFibGlzaGluZyBsaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0KCSAgZXN0YWJsaXNoaW5nIGxpbmtzLgoKMjAwNy0wNC0wMyAyMjozNjo0NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgoyMDA3LTA0LTAzIDEzOjI3OjIxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHdpdGggcnRwIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHdpdGggcnRwIHBsdWdpbgoKMjAwNy0wNC0wMyAxMTozNTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgIFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCjIwMDctMDQtMDMgMDk6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbTogQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgoyMDA3LTA0LTAzIDA5OjEzOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IChhc3luY19qaXR0ZXJfcXVldWVfbmV3KSwKCSAgKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbG93X3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2hpZ2hfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfbWF4X3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfZ2V0X2dfcXVldWUpLCAoY2FsY3VsYXRlX3RzX2RpZmYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF90c191bml0c191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VubG9jayksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaCksIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9pbnNlcnRfYWZ0ZXJfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2Jsb2NraW5nX3VubG9ja2VkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKG5ld19wYWQpLCAoY3JlYXRlX3N0cmVhbSksCgkgIChmcmVlX3N0cmVhbSksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGdzdF9ydHBfY2xpZW50X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9jbGFzc19pbml0KSwgKGdzdF9ydHBfY2xpZW50X2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfZmluYWxpemUpLCAoZ3N0X3J0cF9jbGllbnRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfY2xpZW50X2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX2NsaWVudF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfY2xpZW50X3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldGNhcHMpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGZyZWVfZnVuYyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAocHJpdl9jb21wYXJlX3J0cF9zZXFfbHQpLAoJICAoY29tcGFyZV9ydHBfYnVmZmVyc19zZXFfbnVtKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfcHRfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2ZpbmFsaXplKSwgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9nZXRjYXBzKSwgKGZpbmRfcGFkX2Zvcl9wdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3JlbGVhc2VfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCjIwMDctMDMtMzAgMDQ6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGgKCSAgd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoaXMgYW5kIGxldCBhdWRpb2NvbnZlcnQgY29udmVydAoJICB0byBhY2NlcHRlZCBmb3JtYXRzIGluc3RlYWQgb2YgZG9pbmcgaXQgaW4gdGhlIGVsZW1lbnQgZm9yIG4qOCBkZXB0aHMuCgkgIFRoaXMgYWxzbyBhZGRzIHN1cHBvcnQgZm9yIG5vbi1uKjggZGVwdGhzIGFuZCBwcmV2ZW50cyBzb21lIHVzZWxlc3MKCSAgbWVtb3J5IGFsbG9jYXRpb25zLiBGaXhlcyAjNDIxNTk4CgkgIEFsc28gYWRkIGEgd29ya2Fyb3VuZCBmb3IgYnVnICM0MjE1NDIgaW4gd2F2cGFja2VuYyBmb3Igbm93Li4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQ29uc2lkZXIgdGhlIGNoYW5nZSBhYm92ZSBpbiB0aGUgdW5pdCB0ZXN0cyBhbmQgdGVzdCBpZiB0aGUgY29ycmVjdAoJICBjYXBzIGFyZSBhY2NlcHRlZCBhbmQgc2V0LiBBbHNvIGNoZWNrIGZvciBHU1RfQlVGRkVSX09GRlNFVF9FTkQgaW4KCSAgdGhlIHdhdnBhY2twYXJzZSB1bml0IHRlc3QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Npbmtfc2V0X2NhcHMpOgoJICBTZXQgY2FwcyBvbiB0aGUgc3JjIHBhZCBhcyBzb29uIGFzIHBvc3NpYmxlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBGaXggaW5kZW50aW9uLiBnc3QtaW5kZW50IGlzIG5vdyBjYWxsZWQgYnkgY2ljbC4KCjIwMDctMDMtMjggMTU6MTc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzIHdpdGggaDI2NCB2aWRlbykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV9zYW1wbGVzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9jdHRzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMKCSAgd2l0aCBoMjY0IHZpZGVvKS4KCSAgVXNlIHRoZSBvZmZzZXQgcHJlc2VudCBpbiAnY3R0cycgdG8gY2FsY3VsYXRlIHRoZSBQVFMgZm9yIGVhY2ggcGFja2V0CgkgIGFuZCBzZXQgdGhlIFBUUyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBGaXhlcyAjNDIzMjgzCgoyMDA3LTAzLTI3IDE4OjAwOjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogQWRkIHNvbWUgZGVidWcgbG9nIGFuZCBmaXggYSBzdHVwaWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2hhaW4pOiBBZGQgc29tZQoJICBkZWJ1ZyBsb2cgYW5kIGZpeCBhIHN0dXBpZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJ1Zy4KCjIwMDctMDMtMjYgMTQ6NDk6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgZm9yIHgyNjQgZW5jb2RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBmb3IgeDI2NCBlbmNvZGVyCgoyMDA3LTAzLTI1IDEzOjA2OjI2ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBBZGQgbGlieDI2NC1iYXNlZCBoMjY0IGVuY29kZXIgcGx1Z2luICgjNDIxMTEwKS4gUHJvYmFibHkgZG9lc24ndCBoYW5kbGUgJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzIGNvcnJlY3RseSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXMgYXQgaXRvbmlzIHR2PgoJICBQYXRjaCBieTogSm9zZWYgWmxvbWVrIDxqb3NlZi56bG9tZWsgYXQgaXRvbmlzIHR2PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX21lX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY19hbmFseXNlX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2ZyZWUpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9wdXQpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9nZXQpLCAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX2Nsb3NlX2VuY29kZXIpLCAoZ3N0X3gyNjRfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3gyNjRfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLCAoZ3N0X3gyNjRfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgQWRkIGxpYngyNjQtYmFzZWQgaDI2NCBlbmNvZGVyIHBsdWdpbiAoIzQyMTExMCkuIFByb2JhYmx5IGRvZXNuJ3QKCSAgaGFuZGxlICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cyBjb3JyZWN0bHkgeWV0LgoKMjAwNy0wMy0yNCAxOTo0Njo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKToKCSAgUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50bwoJICAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkgZ3Vlc3MgdGVjaG5pY2FsbHkgd2Ugc2hvdWxkIHNldCB0aGUKCSAgcG9zaXRpb24gZm9yIGVhY2ggY2hhbm5lbCBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgaXQncyBub24tTk9ORSwKCSAgYnV0IEknbGwgc2F2ZSB0aGF0IGFzIGEgdGFzayBmb3IgYW5vdGhlciBkYXkpLgoKMjAwNy0wMy0yMyAxODo0MTo1MiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3ZtbmMvdm1uY2RlYy5jOiBSZWRlc2lnbiB0byBpbmNsdWRlIGEgcGFyc2VyIGZvciByYXcgZmlsZXMgKG5vIHRpbWVzdGFtcHMgaW4gdGhhdCBtb2RlIHlldCwgdGhvdWdoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAoZ3N0X3ZtbmNfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX2luaXQpLCAodm1uY19kZWNfZmluYWxpemUpLCAoZ3N0X3ZtbmNfZGVjX3Jlc2V0KSwKCSAgKHZtbmNfaGFuZGxlX3dtdmlfcmVjdGFuZ2xlKSwgKHJlbmRlcl9jb2xvdXJfY3Vyc29yKSwKCSAgKHJlbmRlcl9jdXJzb3IpLCAodm1uY19tYWtlX2J1ZmZlciksICh2bW5jX2hhbmRsZV93bXZkX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZmX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZnX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZoX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZqX3JlY3RhbmdsZSksIChyZW5kZXJfcmF3X3RpbGUpLCAocmVuZGVyX3N1YnJlY3QpLAoJICAodm1uY19oYW5kbGVfcmF3X3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9jb3B5X3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV9oZXh0aWxlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9wYWNrZXQpLAoJICAodm1uY19kZWNfc2V0Y2FwcyksICh2bW5jX2RlY19jaGFpbl9mcmFtZSksICh2bW5jX2RlY19jaGFpbiksCgkgICh2bW5jX2RlY19zZXRfcHJvcGVydHkpLCAodm1uY19kZWNfZ2V0X3Byb3BlcnR5KToKCSAgUmVkZXNpZ24gdG8gaW5jbHVkZSBhIHBhcnNlciBmb3IgcmF3IGZpbGVzIChubyB0aW1lc3RhbXBzIGluIHRoYXQKCSAgbW9kZSB5ZXQsIHRob3VnaCkuCgoyMDA3LTAzLTIyIDIyOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2Ygc291cmNlIHBhZHMgLSB0aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbik6CgkgIERvbid0IGxlYWsgaW5wdXQgYnVmZmVyIGluIGNoYWluIGZ1bmN0aW9uOyBtYWludGFpbiBvdXIgb3duIGxpc3Qgb2YKCSAgc291cmNlIHBhZHMgLSB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyBhYm91dCB0aGUgb3JkZXIgb2YgdGhlIGxpc3QKCSAgaW4gdGhlIEdzdEVsZW1lbnQgc3RydWN0LCBhbmQgd2Ugd2FudCBhIHZlcnkgc3BlY2lmaWMgb3JkZXI7IGxhc3RseSwKCSAgc29tZSBtb3JlIGRlYnVnZ2luZy4KCjIwMDctMDMtMjIgMjE6MDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBBbGxvYyB1c2VyIGFnZW50IHN0cmluZyBvbmx5IG9uY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2luaXQpOgoJICBBbGxvYyB1c2VyIGFnZW50IHN0cmluZyBvbmx5IG9uY2UuCgoyMDA3LTAzLTIyIDE2OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MgaXMgbm8gY2xlYW4gc29sdXRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzCgkgIGlzIG5vIGNsZWFuIHNvbHV0aW9uIGFuZCBpbiBnZW5lcmFsIHRoZXJlJ3Mgbm8gcmVhc29uIHdoeSBvbmUgd2FudHMKCSAgdG8gcGFyc2UgZnJhbWVkIHdhdnBhY2sgZGF0YSBhZ2Fpbi4KCjIwMDctMDMtMjIgMTU6NTI6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMKCSAgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja2RlYyAhIHNvbWVhdWRpb3NpbmsiIHBpcGVsaW5lcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQWNjZXB0IGZyYW1lZCBhbmQgbm9uLWZyYW1lZCBpbnB1dCwgd2F2cGFja3BhcnNlIGRvZXNuJ3QgY2FyZS4gVG8KCSAgcHJldmVudCAid2F2cGFja3BhcnNlICEgd2F2cGFja3BhcnNlICEgLi4uIiBwaXBlbGluZXMgbG93ZXIgdGhlCgkgIHJhbmsgb2Ygd2F2cGFja3BhcnNlIGJ5IG9uZS4gVGhpcyBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrcGFyc2UgIQoJICAuLi4iIHBpcGVsaW5lcy4KCjIwMDctMDMtMjIgMTQ6Mzc6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbTogVXNlIEdTVF9BTExfTERGTEFHUywgd2hpY2ggYWN0dWFsbHkgZXhpc3RzLCBidXQgbWF5YmUgRGF2aWQgY2FuIGNvbmZpcm0gdGhhdCB3YXMgd2hhdCBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgIFVzZSBHU1RfQUxMX0xERkxBR1MsIHdoaWNoIGFjdHVhbGx5IGV4aXN0cywgYnV0IG1heWJlIERhdmlkCgkgIGNhbiBjb25maXJtIHRoYXQgd2FzIHdoYXQgaGUgd2FudGVkLgoKMjAwNy0wMy0yMiAxMTowODowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBSZXZlcnQgdG8gdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgaGVyZS4gV2UgY2FuIGFuZCBzaG91bGQgdXNlIGl0LgoJICBUaGFua3MgdG8gSmFuIGFuZCBNaWtlIGZvciBub3RpY2luZyBteSBtaXN0YWtlLgoKMjAwNy0wMy0yMiAwMDoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdCBhcyBhIHBvaW50ZXIgdG8gc2F2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBQdXQgdGhlIHdyaXRlIGhlbHBlcnMgaW50byB0aGUgR3N0V2F2cGFja0VuYyBzdHJ1Y3QgZGlyZWN0bHkgYW5kIG5vdAoJICBhcyBhIHBvaW50ZXIgdG8gc2F2ZSB0d28gc21hbGwsIGJ1dCB1c2VsZXNzIG1hbGxvY3MuIFRoaXMgYWxzbyBtYWtlcwoJICBpdCBwb3NzaWJsZSB0byBkcm9wIHRoZSBmaW5hbGl6ZSBtZXRob2QuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlcik6CgkgIEZvciBjb25zaXN0ZW5jeSByZWFzb25zIGFsc28gc2V0IEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBvbiB0aGUgb3V0Z29pbmcKCSAgYnVmZmVycyB0aGUgc2FtZSB3YXkgd2F2cGFja2VuYyBkb2VzIGl0LgoKMjAwNy0wMy0yMSAyMzo1MDowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgQmFzZVRyYW5zZm9ybS1iYXNlZCBlbGVtZW50cyB3aWxsIGxpa2VseSBicmVhayBiZWNhdXNlIG9mIHdyb25nCgkgIHVuaXQtc2l6ZS4gQWxzbyBwbHVnIGEgcG9zc2libGUgbWVtbGVhayB0aGF0IGhhcHBlbnMgd2hlbiBkZWNvZGluZwoJICBmYWlscyBmb3Igc29tZSByZWFzb24uCgoyMDA3LTAzLTE4IDE3OjU3OjQ4ICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQgY2F1c2UgZGVhZGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pOgoJICBEb24ndCBuZWVkIHRvIHRha2UgdGhlIGNvbm5lY3Rpb24gbG9jaywgaXQgd2lsbCBub3QgYmUgdXNlZCBhbmQgY291bGQKCSAgY2F1c2UgZGVhZGxvY2tzLgoKMjAwNy0wMy0xNiAxODozODoxOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IHByZXZpb3VzIGNvbW1pdCwgd2Ugd2FudCB0byBwYXNzIHRoZSBOU1ZpZXcgaW4gdGhlIG1lc3NhZ2UuCgoyMDA3LTAzLTE2IDE2OjI3OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlIHdpbGwgY29udGFpbiBhIHBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZQoJICB3aWxsIGNvbnRhaW4gYSBwb2ludGVyIHRvIHRoZSBuZXdseSBjcmVhdGVkIE5TVmlldy4KCjIwMDctMDMtMTYgMTE6MjI6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlLzogTW92ZSB0aGUgTVBFRyBzcGVjaWZpYyBieXRlIHBhcnNpbmcgaW50byB0aGUgbXBlZ3BhY2tldGlzZXIgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3V0aWxfZmluZF9zdGFydF9jb2RlKSwKCSAgKGNvbGxlY3RfcGFja2V0cyksIChzZXRfcGFyX2Zyb21fZGFyKSwgKHNldF9mcHNfZnJvbV9jb2RlKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9leHRlbnNpb25fcGFja2V0KSwgKG1wZWdfdXRpbF9wYXJzZV9zZXF1ZW5jZV9oZHIpLAoJICAobXBlZ191dGlsX3BhcnNlX3BpY3R1cmVfaGRyKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfcGljdHVyZSksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBNb3ZlIHRoZSBNUEVHIHNwZWNpZmljIGJ5dGUgcGFyc2luZyBpbnRvIHRoZSBtcGVncGFja2V0aXNlciBjb2RlLgoJICBBZGQgcGFyc2luZyBvZiBwaWN0dXJlIHR5cGVzLCB0aGF0IGp1c3QgZmVlZHMgaW50byBhIGRlYnVnIG1lc3NhZ2UKCSAgZm9yIG5vdy4KCSAgRml4IHNvbWUgNjQtYml0IGZvcm1hdCBzdHJpbmdzLgoKMjAwNy0wMy0xNiAxMDoxNTo0OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCjIwMDctMDMtMTYgMDk6NTc6NDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOiBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCk6CgkgIEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgoyMDA3LTAzLTE1IDIwOjQ4OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgbXBlZzF2aWRlb3BhcnNlIHRvIDAuMTAgYW5kIGdpdmUgaXQgcmFuayBTRUNPTkRBUlktMSwgc28gdGhhdCBpdCdzIGJlbG93IGV4aXN0aW5nIGRlY29kZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL21wMXZpZGVvcGFyc2UudmNwcm9qOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfcGFja2V0aXNlcl9pbml0KSwKCSAgKG1wZWdfcGFja2V0aXNlcl9mcmVlKSwgKG1wZWdfcGFja2V0aXNlcl9hZGRfYnVmKSwKCSAgKG1wZWdfcGFja2V0aXNlcl9mbHVzaCksIChtcGVnX2ZpbmRfc3RhcnRfY29kZSksCgkgIChnZXRfbmV4dF9mcmVlX2Jsb2NrKSwgKGNvbXBsZXRlX2N1cnJlbnRfYmxvY2spLAoJICAoYXBwZW5kX3RvX2N1cnJlbnRfYmxvY2spLCAoc3RhcnRfbmV3X2Jsb2NrKSwgKGhhbmRsZV9wYWNrZXQpLAoJICAoY29sbGVjdF9wYWNrZXRzKSwgKG1wZWdfcGFja2V0aXNlcl9oYW5kbGVfZW9zKSwKCSAgKG1wZWdfcGFja2V0aXNlcl9nZXRfYmxvY2spLCAobXBlZ19wYWNrZXRpc2VyX25leHRfYmxvY2spOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAobXBlZ3ZpZGVvcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2Jhc2VfaW5pdCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2xhc3NfaW5pdCksCgkgIChtcHZfcGFyc2VfcmVzZXQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2luaXQpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2Rpc3Bvc2UpLCAoc2V0X3Bhcl9mcm9tX2RhciksCgkgIChzZXRfZnBzX2Zyb21fY29kZSksIChtcGVndmlkZW9wYXJzZV9wYXJzZV9zZXEpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX3RpbWVfY29kZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS52Y3Byb2o6CgkgIFBvcnQgbXBlZzF2aWRlb3BhcnNlIHRvIDAuMTAgYW5kIGdpdmUgaXQgcmFuayBTRUNPTkRBUlktMSwgc28KCSAgdGhhdCBpdCdzIGJlbG93IGV4aXN0aW5nIGRlY29kZXJzLgoJICBSZW5hbWUgaXQgdG8gbXBlZ3ZpZGVvcGFyc2UgdG8gcmVmbGVjdCB0aGF0IGl0IGhhbmRsZXMgTVBFRy0xIGFuZAoJICBNUEVHLTIgbm93LgoJICBSZS13cml0ZSB0aGUgcGFyc2luZyBjb2RlIHNvIHRoYXQgaXQgY29sbGVjdHMgcGFja2V0cyBkaWZmZXJlbnRseQoJICBhbmQgdGltZXN0YW1wcyBQaWN0dXJlIHBhY2tldHMgY29ycmVjdGx5LgoJICBBZGQgYSBsaXN0IG9mIEZJWE1FJ3MgYXQgdGhlIHRvcC4KCjIwMDctMDMtMTUgMTA6NTI6MjEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgdHJpZ2dlciBkaXNjb250aW51aXRpZXMgZm9yIHZlcnkgc21hbGwgaW1wZXJmZWN0aW9uczsgYSBmaWx0ZXIgZmx1c2ggd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICBEb24ndCB0cmlnZ2VyIGRpc2NvbnRpbnVpdGllcyBmb3IgdmVyeSBzbWFsbCBpbXBlcmZlY3Rpb25zOyBhIGZpbHRlcgoJICBmbHVzaCB3aWxsIHNvdW5kIGJhZCwgYW5kIG1hbnkgcGx1Z2lucyBoYXZlIHJvdW5kaW5nIGVycm9ycyBsZWFkaW5nCgkgIHRvIHRoZXNlLgoKMjAwNy0wMy0xNCAxNzoxNjozMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEhhbmRsZSBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAzLTE0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKSwgKGF1ZGlvcmVzYW1wbGVfcHVzaHRocm91Z2gpOiBIYW5kbGUKCSAgZGlzY29udGludW91cyBzdHJlYW1zLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOiBBZGQgYSB0ZXN0IGZvciBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOiBVcGRhdGVkLgoKMjAwNy0wMy0xNCAxNjozMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoKMjAwNy0wMy0xNCAxNjozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBBY2NlcHQgYW55IGtpbmQgb2YgcmVzb2x1dGlvbnMuCgkgIFdvcmtzIGluIGZ1bGxzY3JlZW4uIENhbiBtYXhpbWl6ZS4KCSAgT25seSB0aGluZyBsZWZ0IGJlZm9yZSBiZWluZyBhYmxlIHRvIG1vdmUgdGhpcyB0byAtZ29vZCBpcyBkb2N1bWVudGF0aW9uCgkgIGFuZCBlbWJlZGRlZCB3aW5kb3cgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTU6MzM6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vaHUucG86CgkgICogcG8vaXQucG86CgkgICogcG8vc3YucG86CgkgIFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoKMjAwNy0wMy0xNCAxNDo0ODoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IFNpbmNlIEkgcmVhbGx5IGFtIG5vdCBpbnRlcmVzdGVkIGluIGEgZGVidWcgbGluZSBmb3IgZWFjaCBzYW1wbGUgYmVpbmcgcHJvY2Vzc2VkLCBtb3ZlIHRoZSBsaWJyYXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5pdCk6CgkgIFNpbmNlIEkgcmVhbGx5IGFtIG5vdCBpbnRlcmVzdGVkIGluIGEgZGVidWcgbGluZSBmb3IgZWFjaCBzYW1wbGUKCSAgYmVpbmcgcHJvY2Vzc2VkLCBtb3ZlIHRoZSBsaWJyYXJ5J3MgZGVidWdnaW5nIHRvIGl0cyBvd24gY2F0ZWdvcnksCgkgIGxpYmF1ZGlvcmVzYW1wbGUKCjIwMDctMDMtMTQgMTQ6NDg6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpOgoJICBBZGQgMyBhbmQgMTAgYmFuZCB2ZXJzaW9uIGFuZCBhZGQgbWlzc2luZyBnc3Rfb2JqZWN0X3N5bmNfdmFsdWVzLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBZGQgc29tZSBjb21tZW50cyBhYm91dCBmbG9hdCBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNDowOToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIGFkZCBkZWJ1Z2dpbmcgYW5kIHJlZm9ybWF0IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkZWJ1Z2dpbmcgYW5kIHJlZm9ybWF0IGRvY3MKCjIwMDctMDMtMTMgMTg6MDE6NDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWdhdWRpb3BhcnNlLzogUmVtb3ZlIGJvZ3VzIDJuZCBjb3B5IG9mIG1wM3BhcnNlIC0gaXQncyBhY3R1YWxseSBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9tcGVnYXVkaW9wYXJzZS52Y3Byb2o6CgkgIFJlbW92ZSBib2d1cyAybmQgY29weSBvZiBtcDNwYXJzZSAtIGl0J3MgYWN0dWFsbHkKCSAgaW4gLXVnbHkuCgoyMDA3LTAzLTEyIDExOjQ3OjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOiBUaGUgYnVpbGRib3QgZGVtYW5kcyAuY3ZzaWdub3JlIGZpbGVzLCBhbmQgSSBjb21wbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICBUaGUgYnVpbGRib3QgZGVtYW5kcyAuY3ZzaWdub3JlIGZpbGVzLCBhbmQgSSBjb21wbHkuCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAzLTExIDAwOjQ4OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhcHBzcmMvYXBwc2luayBleGFtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgQWRkIGFwcHNyYy9hcHBzaW5rIGV4YW1wbGUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIEFkZCBhcHBzaW5rLgoKMjAwNy0wMy0xMCAyMDoxMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IFByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKE5BU19jcmVhdGVGbG93KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiAoZ3N0X3NmX3NyY19jcmVhdGUpOgoJICBQcmludGYgZm9ybWF0IHN0cmluZyBmaXhlcy4KCjIwMDctMDMtMDkgMDg6NTg6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChfZG9faW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICBSZWZhY3RvciBwbHVnaW4gaW50byBhIGJhc2UgY2xhc3MgYW5kIGEgZmlyc3Qgc3ViY2xhc3MgKG5iYW5kIGVxKS4gVGhlCgkgIG5iYW5kIGVxIHVzZXMgR3N0Q2hpbGRQcm94eSBhbmQgaXMgY29udHJvbGFibGUuIE1vcmUgc3ViY2xhc3NlcyB3aWxsCgkgIGZvbGxvdy4KCjIwMDctMDMtMDggMTU6MjQ6NTIgKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svOiBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZSB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJbmNsdWRlcyBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2luaXQpLAoJICAoamFja19wcm9jZXNzX2NiKSwgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksCgkgIChqYWNrX3NodXRkb3duX2NiKSwgKGNvbm5lY3Rpb25fZmluZCksCgkgIChnc3RfamFja19hdWRpb19tYWtlX2Nvbm5lY3Rpb24pLCAoZ3N0X2phY2tfYXVkaW9fZ2V0X2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX2FkZF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9yZW1vdmVfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9uZXcpLCAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2ZyZWUpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X2dldF9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJICBNYWtlIGFuIG9iamVjdCB0byBtYW5hZ2UgY2xpZW50IGNvbm5lY3Rpb25zIHRvIHRoZSBqYWNrIHNlcnZlciB3aGljaCB3ZQoJICB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIHJ1biBzZWxlY3RlZCBqYWNrIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgamFjawoJICBjb25uZWN0aW9uLgoJICBNYWtlIHNvbWUgc3R1ZmYgYSBiaXQgbW9yZSB0aHJlYWRzYWZlLgoJICBBY3RpdmF0ZSB0aGUgamFjayBjbGllbnQgQVNBUC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIChnc3RfamFja19hdWRpb19zaW5rX2FsbG9jYXRlX2NoYW5uZWxzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZnJlZV9jaGFubmVscyksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBVc2UgbmV3IGNsaWVudCBvYmplY3QgdG8gbWFuYWdlIGNvbm5lY3Rpb25zLgoJICBEb24ndCByZW1vdmUgYW5kIHJlY3JlYXRlIGFsbCBwb3J0cywgdHJ5IHRvIHJldXNlIHRoZW0uCgoyMDA3LTAzLTA3IDEyOjA3OjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgIFVzZSBhIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBmb3IgY29tbW9uIGNvZGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX2FicyksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfcmVsKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfd3JpdGVfYnl0ZXMpOgoJICBVc2UgdGhlIGdlbmVyYWwgd2F2cGFjayBkZWJ1ZyBjYXRlZ29yeSBoZXJlIHRvbyBhbmQgYWRkIGRlYnVnCgkgIG91dHB1dCB0byB0aGUgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgYXQgYWxsIGJ5CgkgIHRoZSB3YXZwYWNrIGxpYnJhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBDaGFuZ2UgZGVidWdnaW5nIGNhdGVnb3J5IG5hbWVzIHRvIGNvbmZvcm0gdG8gdGhlIGNvbnZlbnRpb25zLgoKMjAwNy0wMy0wNyAxMTozNzoyMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZyBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nCgkgIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkZW11eC5jIHdvdWxkIGVuZCB1cCBpbiB0aGUgZGVmYXVsdCBjYXRlZ29yeS4KCjIwMDctMDMtMDcgMTE6MjM6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjayBzZWdtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fZXZlbnQpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrCgkgIHNlZ21lbnQuCgoyMDA3LTAzLTA2IDEzOjU3OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIEFkZCBGSVhNRXMgZm9yIHN0dWZmIHRoYXQgbG9va3MgcmF0aGVyIHdyb25nLgoKMjAwNy0wMy0wNSAwODozMDo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgoyMDA3LTAzLTA0IDIxOjM2OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25hcy9uYXNzaW5rLmM6IFNvbWUgbW9yZSBjbGVhbnVwcy9jaGFuZ2VzOyB1c2UgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X25hc19zaW5rX2luaXQpLCAoZ3N0X25hc19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X25hc19zaW5rX3VucHJlcGFyZSk6CgkgIFNvbWUgbW9yZSBjbGVhbnVwcy9jaGFuZ2VzOyB1c2UgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA3LTAzLTA0IDIwOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25hcy86IEJ1bmNoIG9mIG5hc3NpbmsgY2xlYW4tdXBzOiBtYWtlIGJ1aWxkIGJ5IGFkZGluZyB0aGUgcmlnaHQgQ0ZMQUdTIGFuZCBMSUJTIHRvIE1ha2VmaWxlLmFtOyByZW5hbWUgc3RydWN0dXJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9SRUFETUU6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzX3NpbmtfZ2V0X3R5cGUpLAoJICAoZ3N0X25hc19zaW5rX2Jhc2VfaW5pdCksIChnc3RfbmFzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbmFzX3NpbmtfaW5pdCksIChnc3RfbmFzX3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X25hc19zaW5rX2dldGNhcHMpLCAoZ3N0X25hc19zaW5rX3ByZXBhcmUpLAoJICAoZ3N0X25hc19zaW5rX3VucHJlcGFyZSksIChnc3RfbmFzX3NpbmtfZGVsYXkpLAoJICAoZ3N0X25hc19zaW5rX3Jlc2V0KSwgKGdzdF9uYXNfc2lua193cml0ZSksCgkgIChnc3RfbmFzX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9uYXNfc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25hc19zaW5rX29wZW4pLCAoZ3N0X25hc19zaW5rX2Nsb3NlKSwgKE5BU19mbHVzaCksCgkgIChOQVNfc2VuZERhdGEpLCAoTkFTX0V2ZW50SGFuZGxlciksIChnc3RfbmFzX3Npbmtfc2lua19nZXRfZm9ybWF0KSwKCSAgKE5BU19jcmVhdGVGbG93KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgQnVuY2ggb2YgbmFzc2luayBjbGVhbi11cHM6IG1ha2UgYnVpbGQgYnkgYWRkaW5nIHRoZSByaWdodCBDRkxBR1MKCSAgYW5kIExJQlMgdG8gTWFrZWZpbGUuYW07IHJlbmFtZSBzdHJ1Y3R1cmUsIG1hY3JvcyBhbmQgZnVuY3Rpb25zCgkgIGFjY29yZGluZyB0byBjYW5vbmljYWwgbmFtaW5nIHNjaGVtZTsgbW92ZSBzb21lIHRoaW5ncyBhcm91bmQgYSBiaXQ7CgkgIHVzZSBHU1RfQ0FUX0RFRkFVTFQgaW5zdGVhZCBvZiBHU1RfQ0FUXyogZXZlcnl3aGVyZTsgcmVtb3ZlIFJFQURNRQoJICBmaWxlIHRoYXQgZGlkbid0IHJlYWxseSBjb250YWluIGFueSB1c2VmdWwgaW5mb3JtYXRpb24gYW55d2F5ICh0aGUKCSAgdXNlZnVsIGJpdHMgaGF2ZSBiZWVuIG1vdmVkIGludG8gdGhlICdob3N0JyBwcm9wZXJ0eSBkZXNjcmlwdGlvbikuCgoyMDA3LTAzLTA0IDE2OjM4OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogQ2hhaW4gdXAgaW4gZmluYWxpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpOgoJICBDaGFpbiB1cCBpbiBmaW5hbGl6ZS4KCjIwMDctMDMtMDMgMjI6Mjg6MDMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEZpeCB1cCBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBkaXN0LgoKMjAwNy0wMy0wMyAyMjoxMzoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIFZNbmMgZGVjb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKGdzdF92bW5jX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3ZtbmNfZGVjX2luaXQpLAoJICAoZ3N0X3ZtbmNfZGVjX3Jlc2V0KSwgKHZtbmNfaGFuZGxlX3dtdmlfcmVjdGFuZ2xlKSwKCSAgKHJlbmRlcl9jb2xvdXJfY3Vyc29yKSwgKHJlbmRlcl9jdXJzb3IpLCAodm1uY19tYWtlX2J1ZmZlciksCgkgICh2bW5jX2hhbmRsZV93bXZkX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZlX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZmX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZnX3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV93bXZoX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV93bXZqX3JlY3RhbmdsZSksCgkgIChyZW5kZXJfcmF3X3RpbGUpLCAocmVuZGVyX3N1YnJlY3QpLCAodm1uY19oYW5kbGVfcmF3X3JlY3RhbmdsZSksCgkgICh2bW5jX2hhbmRsZV9oZXh0aWxlX3JlY3RhbmdsZSksICh2bW5jX2hhbmRsZV9wYWNrZXQpLAoJICAodm1uY19kZWNfc2V0Y2FwcyksICh2bW5jX2RlY19jaGFpbiksICh2bW5jX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAodm1uY19kZWNfc2V0X3Byb3BlcnR5KSwgKHZtbmNfZGVjX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBWTW5jIGRlY29kZXIuCgkgIFN0aWxsIG1pc3Npbmcgc3VwcG9ydCBmb3I6CgkgIC0gcmVjdGFuZ2xlIHR5cGVzIEkgZGlkbid0IGZpbmQgaW4gbXkgc2FtcGxlcyAoZS5nLiBjb3B5LCBSUkUsCgkgIFpSTEUpCgkgIC0gYWxwaGEtY29tcG9zaXRlZCBjdXJzb3JzCgoyMDA3LTAzLTAzIDEwOjIzOjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06IEluc3RhbGwgdGhlIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgIEluc3RhbGwgdGhlIGhlYWRlcnMuCgoyMDA3LTAzLTAzIDEwOjEwOjMwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvOiBBZGQgR3N0QXBwQnVmZmVyIHRoYXQgaW5jbHVkZXMgYSBjYWxsYmFjayBhbmQgY2xvc3VyZSBmb3IgcHJvcGVyIGhhbmRsaW5nIG9mIGRhdGEgY2h1bmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICBBZGQgR3N0QXBwQnVmZmVyIHRoYXQgaW5jbHVkZXMgYSBjYWxsYmFjayBhbmQgY2xvc3VyZSBmb3IKCSAgcHJvcGVyIGhhbmRsaW5nIG9mIGRhdGEgY2h1bmtzLgoKMjAwNy0wMy0wMyAwOTowNjowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBIYWNraW5nIHRvIGFkZHJlc3MgaXNzdWVzIGluIDQxMzQxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBIYWNraW5nIHRvIGFkZHJlc3MgaXNzdWVzIGluIDQxMzQxOC4KCjIwMDctMDMtMDMgMDg6MTY6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTW92ZSB0aGUgYXBwIGxpYnJhcnkgdG8gZ3N0LWxpYnMvZ3N0L2FwcCAoZHVoISkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNb3ZlIHRoZSBhcHAgbGlicmFyeSB0byBnc3QtbGlicy9nc3QvYXBwIChkdWghKQoKMjAwNy0wMy0wMiAxOTo0Mzo0OCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uYXMvbmFzc2luay5oOgoJICBDb21taXQgTkFTIFNpbmssIGNsb3NlZCBidWd6aWxsYSAzNDU2MzMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbW1pdCBOQVMgU2luaywgY2xvc2VkIGJ1Z3ppbGxhIDM0NTYzMwoKMjAwNy0wMy0wMiAxODoyNDoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IEEgZmV3IHNtYWxsIGNsZWFuLXVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCksIChnc3RfZHRzZGVjX3NpbmtfZXZlbnQpOgoJICBBIGZldyBzbWFsbCBjbGVhbi11cHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIE1vcmUgZGVidWcgb3V0cHV0IGZvciBmYWlsdXJlIGNhc2VzLgoKMjAwNy0wMy0wMiAxODoxMDowNiArMDAwMCAgWW91bmctSG8gQ2hhIDxnYW5hZGlzdEBjaG9sbGlhbi5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBEb24ndCBkbyBmb3JjZWQgZG93bm1peGluZyB0byBzdGVyZW8sIGJ1dCBjaGVjayB3aGF0IGRvd25zdHJlYW0gY2FuIGRvIGFuZCBsZXQgbGliZHRzIGRvIHRoZSBkb3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZy1IbyBDaGEgIDxnYW5hZGlzdCBhdCBjaG9sbGlhbiBuZXQ+CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaGFuZGxlX2ZyYW1lKSwKCSAgKGdzdF9kdHNkZWNfY2hhbmdlX3N0YXRlKToKCSAgRG9uJ3QgZG8gZm9yY2VkIGRvd25taXhpbmcgdG8gc3RlcmVvLCBidXQgY2hlY2sgd2hhdCBkb3duc3RyZWFtCgkgIGNhbiBkbyBhbmQgbGV0IGxpYmR0cyBkbyB0aGUgZG93bm1peGluZyBiYXNlZCBvbiB0aGF0ICgjNDAwNTU1KS4KCjIwMDctMDMtMDIgMTM6MzM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgc3B1cmlvdXMgY29uZmxpY3QgbWFya2VyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgc3B1cmlvdXMgY29uZmxpY3QgbWFya2VyCgoyMDA3LTAzLTAyIDEyOjA0OjAyICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBTaW1wbGlmeSBfc2V0X3VyaSgpIGFuZCBfc2V0X3Byb3h5KCkgYW5kIHJlbW92ZSB0aGUgdW51c2VkIGlzaHR0cCBtZW1iZXIgKCMzODgwNTApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciAgPGx1dHogdG9wZnJvc2UgZGU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfdXJpKSwgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBTaW1wbGlmeSBfc2V0X3VyaSgpIGFuZCBfc2V0X3Byb3h5KCkgYW5kIHJlbW92ZSB0aGUgdW51c2VkIGlzaHR0cAoJICBtZW1iZXIgKCMzODgwNTApLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBib2d1cyBVUkkgdG8gc29tZXRoaW5nIHRoYXQgYWN0dWFsbHkgZXhpc3RzLCBvdGhlcndpc2Ugd2UganVzdAoJICBieXBhc3MgdGhlIHRlc3QgKGFuZCBhbHNvIHRvIHNvbWV0aGluZyB0aGF0IGRvZXNuJ3QgcmVkaXJlY3QsIHNpbmNlCgkgIG5lb25odHRwc3JjIGRvZXNuJ3Qgc2VlbSB0byBoYW5kbGUgdGhpcyB2ZXJ5IGdyYWNlZnVsbHkgeWV0KQoKMjAwNy0wMy0wMiAxMToxNDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBBZGQgcGF0Y2ggZnJvbSBCdWcgMzU3MDU1IGZyb20gQ2hyaXMgTG9yZCwgYWRkaW5nIHN1cHBvcnQgZm9yIFZvcmJpcyBzdHJlYW1zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgcGF0Y2ggZnJvbSBCdWcgMzU3MDU1IGZyb20gQ2hyaXMgTG9yZCwgYWRkaW5nIHN1cHBvcnQgZm9yIFZvcmJpcyBzdHJlYW1zCgoyMDA3LTAzLTAxIDE3OjI3OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4gcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuCgkgIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHZlcnNpb25zLgoKMjAwNy0wMi0yOCAxOTozMToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoKMjAwNy0wMi0yNyAxMTozMDoxOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby86IERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5IG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seQoJICBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCB3aXRoaW4gYW4gTlNBcHAgKHdoaWNoIGhhcyBhbHJlYWR5IGdvdAoJICBhIGNvY2EgZXZlbnQgbG9vcCkuCgkgIFJlbW92ZSBhbGwgdW51c2VkIGNvZGUuCgoyMDA3LTAyLTI2IDIxOjAxOjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEFkZCBhIG5ldyBwbHVnaW4vbGlicmFyeSB0byBtYWtlIGl0IGVhc3kgZm9yIGFwcHMgdG8gc2hvdmUgZGF0YSBpbnRvIGEgcGlwZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgYSBuZXcgcGx1Z2luL2xpYnJhcnkgdG8gbWFrZSBpdCBlYXN5IGZvciBhcHBzIHRvIHNob3ZlCgkgIGRhdGEgaW50byBhIHBpcGVsaW5lLgoKMjAwNy0wMi0yNiAxMDozMjozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiBzb3VyY2UgcGFkcywgdG8gYXZvaWQgbmVnb3RpYXRpb24gZXJyb3JzIGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoZS5nLiBkZWMgIS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KToKCSAgVXNlIGdzdF9wYWRfdXNlX2ZpeGVkX2NhcHMoKSBvbiBzb3VyY2UgcGFkcywgdG8gYXZvaWQgbmVnb3RpYXRpb24KCSAgZXJyb3JzIGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoZS5nLiBkZWMgISBjcyAhIHhpbWFnZXNpbmsgYW5kIHRoZQoJICBpbWFnZXNpbmsgd2luZG93IGlzIHJlc2l6ZWQpOyBhbHNvLCBzb21lIG1pbm9yIGNsZWFuLXVwcy4KCjIwMDctMDItMjQgMjI6NTI6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCjIwMDctMDItMjAgMjE6MzQ6MDAgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXBsdWdpbi5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmg6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVmb3JtLmRzcDoKCSAgQWRkIGEgbmV3IHdhdmVmb3JtIHBsdWdpbiB3aGljaCBpbmNsdWRlcyBhbiBhdWRpbyBzaW5rCgkgIGVsZW1lbnQgdXNpbmcgdGhlIFdhdmVGb3JtIHdpbjMyIEFQSS4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIHRoZSBuZXcgcHJvamVjdCBmaWxlIGZvcm0gd2F2ZWZvcm0gcGx1Z2luLgoKMjAwNy0wMi0xOCAxODowMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvOiBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW1vdmUgdW51c2VkL3VudGVzdGVkIGNvZGUgKHJlbmRlcmluZyB0byBhbiBleHRlcm4gc3VyZmFjZSwKCSAgeXV2IGZvcm1hdCByZW5kZXJpbmcpLlVzZSBHU1RfKERFQlVHLyopX09CSkVDVCBtYWNyb3MKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0ZHJhd3NpbmsgdG8gZ3N0X2RpcmVjdGRyYXdfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICBGaXggYSBidWcgaW4gZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLCBtZW1jcHkgbGluZSBieSBsaW5lCgkgIHJlc3BlY3RpbmcgZGVzdGluYXRpb24gc3VyZmFjZSBzdHJpZGUuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVuYW1lIGFsbCBmdW5jdGlvbnMgZnJvbSBnc3RfZGlyZWN0c291bmRzaW5rIHRvIGdzdF9kaXJlY3Rzb3VuZF9zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgY29uZmlnLmguaW4KCjIwMDctMDItMTYgMTY6MjY6MzEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgZXF1YWxpemVyIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGVxdWFsaXplciBwbHVnaW4KCjIwMDctMDItMTMgMTQ6MjI6NTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWRkIG1pc3NpbmcgXCBpbiBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgXCBpbiBNYWtlZmlsZS5hbQoKMjAwNy0wMi0xMyAwOTo0NDoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLiBBbHNvIGZpeCB0eXBvIGluIHRpbWlkaXR5LmNmZyBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWRkIGNyb3NzcmVmZXJlbmNlcyB0byBnbGliL2dvYmplY3QvZ3N0cmVhbSBkb2NzLiBBbHNvIGZpeCB0eXBvIGluCgkgIHRpbWlkaXR5LmNmZyBjaGVjay4KCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgQWxzbyBidWlsZCBpZiBubyBjb25maWcgd2FzIGRldGVjdGVkIGF0IGNvbmZpZ3VyZSB0aW1lLgoKMjAwNy0wMi0xMSAxNTo0NjoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHNlY29uZCBtaWRpIHJlbmRlcmVyLiBGaXggc29tZSBkb3VibGUgZnJlZXMgYW5kIGxlYWtzLiBDbGVhbiB1cCBsb2dnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfY2xhc3NfaW5pdCksIChnc3Rfd2lsZG1pZGlfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfc3JjX2NvbnZlcnQpLCAoZ3N0X3dpbGRtaWRpX3NyY19xdWVyeSksCgkgIChnc3Rfd2lsZG1pZGlfZ2V0X3Vwc3RyZWFtX3NpemUpLCAoZ3N0X3dpbGRtaWRpX2dldF9zZWdtZW50KSwKCSAgKGdzdF93aWxkbWlkaV9nZXRfbmV3X3NlZ21lbnRfZXZlbnQpLCAoZ3N0X3dpbGRtaWRpX3NyY19ldmVudCksCgkgIChnc3Rfd2lsZG1pZGlfYWN0aXZhdGUpLCAoZ3N0X3dpbGRtaWRpX2FjdGl2YXRlcHVsbCksCgkgIChnc3Rfd2lsZG1pZGlfYWxsb2NhdGVfYnVmZmVyKSwgKGdzdF93aWxkbWlkaV9jbGlwX2J1ZmZlciksCgkgIChnc3Rfd2lsZG1pZGlfZmlsbF9idWZmZXIpLCAoZ3N0X3dpbGRtaWRpX2dldF9idWZmZXIpLAoJICAoZ3N0X3dpbGRtaWRpX2xvb3ApLCAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2lsZG1pZGlfc2V0X3Byb3BlcnR5KSwgKGdzdF93aWxkbWlkaV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dpbGRtaWRpX3R5cGVmaW5kKSwgKHdpbGRtaWRpX29wZW5fY29uZmlnKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgQWRkIHNlY29uZCBtaWRpIHJlbmRlcmVyLiBGaXggc29tZSBkb3VibGUgZnJlZXMgYW5kIGxlYWtzLiBDbGVhbiB1cAoJICBsb2dnaW5nLgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDItMTEgMTE6NTk6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWxzbyB1cGRhdGUgdGhlIGNvbW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGhhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgQWxzbyB1cGRhdGUgdGhlIGNvbW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGhhY2suCgoyMDA3LTAyLTExIDExOjM1OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFRlbGwgdGhlIGNvZGUgd2hpY2ggZmFhZCBpdCBpcywgc28gdGhhdCB3ZSBjYW4gYWRqdXN0IHRoZSBoYWNrcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVGVsbCB0aGUgY29kZSB3aGljaCBmYWFkIGl0IGlzLCBzbyB0aGF0IHdlIGNhbiBhZGp1c3QgdGhlIGhhY2tzCgkgIG5lZWRlZC4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIE1ha2Ugb3VyIGhhY2tzIGRlcGVuZGVudCBvbiB0aGUgZmFkZCBsaWIgaW4gdXNlLgoKMjAwNy0wMi0xMSAxMDo1ODoxNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggZmFhZCBkZXRlY3Rpb24gdG8gc3VwcG9ydCBhbHNvIGZhZGQgd2l0aCBuZXcgc3ltYm9sIHByZWZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZmFhZCBkZXRlY3Rpb24gdG8gc3VwcG9ydCBhbHNvIGZhZGQgd2l0aCBuZXcgc3ltYm9sIHByZWZpeC4KCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgoyMDA3LTAyLTA4IDE1OjAwOjAwICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoKCSAgQWRkIHRpbWl0aXR5IG1pZGkgcmVuZGVyIHBsdWdpbiAoIzQwMzk5MikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2Jhc2VfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfY2xhc3NfaW5pdCksIChnc3RfdGltaWRpdHlfaW5pdCksCgkgIChnc3RfdGltaWRpdHlfc2V0X3Nvbmdfb3B0aW9ucyksIChnc3RfdGltaWRpdHlfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X3RpbWlkaXR5X3NyY19xdWVyeSksIChnc3RfdGltaWRpdHlfZ2V0X3Vwc3RyZWFtX3NpemUpLAoJICAoZ3N0X3RpbWlkaXR5X2dldF9zZWdtZW50KSwgKGdzdF90aW1pZGl0eV9nZXRfbmV3X3NlZ21lbnRfZXZlbnQpLAoJICAoZ3N0X3RpbWlkaXR5X3NyY19ldmVudCksIChnc3RfdGltaWRpdHlfYWN0aXZhdGUpLAoJICAoZ3N0X3RpbWlkaXR5X2FjdGl2YXRlcHVsbCksIChnc3RfdGltaWRpdHlfYWxsb2NhdGVfYnVmZmVyKSwKCSAgKGdzdF90aW1pZGl0eV9jbGlwX2J1ZmZlciksIChnc3RfdGltaWRpdHlfZmlsbF9idWZmZXIpLAoJICAoZ3N0X3RpbWlkaXR5X2dldF9idWZmZXIpLCAoZ3N0X3RpbWlkaXR5X2xvb3ApLAoJICAoZ3N0X3RpbWlkaXR5X2NoYW5nZV9zdGF0ZSksIChnc3RfdGltaWRpdHlfdHlwZWZpbmQpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJICBBZGQgdGltaXRpdHkgbWlkaSByZW5kZXIgcGx1Z2luICgjNDAzOTkyKQoKMjAwNy0wMi0wNyAxMjoyOTowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IEdTVF9QQURfUEFSRU5UIGRvZXNuJ3QgcmV0dXJuIGEgR3N0T2JqZWN0IHdpdGggYW4gaW5jcmVtZW50ZWQgcmVmY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9xdWVyeSk6CgkgIEdTVF9QQURfUEFSRU5UIGRvZXNuJ3QgcmV0dXJuIGEgR3N0T2JqZWN0IHdpdGggYW4gaW5jcmVtZW50ZWQgcmVmY291bnQuCgkgIFN3aXRjaGVkIHRvIHVzaW5nIGdzdF9wYWRfZ2V0X3BhcmVudCgpLgoKMjAwNy0wMi0wNiAxNjowMDozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfY2Fwc19nZXRfc3RydWN0dXJlKCkgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoKSBjYWxsLgoKMjAwNy0wMi0wNiAxMDoxNjo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogSW5jcmVhc2UgcmVxdWlyZWQgbGlic25kZmlsZSB2ZXJzaW9uIHRvIGEgdmVyc2lvbiB0aGF0J3Mga25vd24gdG8gaGF2ZSB0aGUgZnVuY3Rpb24gc2Zfd3JpdGVfc3luYygpIHRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEluY3JlYXNlIHJlcXVpcmVkIGxpYnNuZGZpbGUgdmVyc2lvbiB0byBhIHZlcnNpb24gdGhhdCdzIGtub3duIHRvCgkgIGhhdmUgdGhlIGZ1bmN0aW9uIHNmX3dyaXRlX3N5bmMoKSB0byBtYWtlIHRoZSBidWlsZCBib3RzIGhhcHB5LgoKMjAwNy0wMi0wNiAwOTozOToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IEZpeCBidWlsZCAoaW5zdGFsbGVkIHNldHVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSAgRml4IGJ1aWxkIChpbnN0YWxsZWQgc2V0dXApLgoKMjAwNy0wMi0wNSAxODo0Mjo0NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L3NuZGZpbGUvOiBQb3J0IHNmc3JjIHRvIDAuMTAsIHB1bGwgb3IgcHVzaCwgd2l0aCByYW5kb20gYWNjZXNzIHdvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiBQb3J0IHNmc3JjIHRvIDAuMTAsIHB1bGwgb3IgcHVzaCwgd2l0aAoJICByYW5kb20gYWNjZXNzIHdvby4KCjIwMDctMDItMDMgMjM6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIENWUyBmb3IgdGhpcy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChjaGVja19idXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIEFkZCBicmFpbi1kZWFkIGludGVyYWN0aXZlIHRlc3QgZm9yIGVxdWFsaXplci4KCjIwMDctMDItMDIgMTg6MzY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpOgoJICBSZW5hbWUgInZhbHVlcyIgcHJvcGVydHkgdG8gImJhbmQtdmFsdWVzIiBhbmQgY2hhbmdlIHR5cGUgaW50byBhCgkgIEdWYWx1ZUFycmF5LCBzbyBpdCdzIG1vcmUgZWFzaWx5IGJpbmRhYmxlIGFuZCB0aGUgcmFuZ2Ugb2YgdGhlCgkgIHZhbHVlcyBwYXNzZWQgaW4gaXMgZGVmaW5lZCBhbmQgY2hlY2tlZCBldGMuOyBhbHNvIGRvIHNvbWUKCSAgbG9ja2luZy4KCjIwMDctMDItMDIgMTc6Mzk6MjEgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBhdCBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoKMjAwNy0wMi0wMiAxMzoyODowNSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgY29uZmlndXJlLmFjOiBleHQvTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDItMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbQoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuaDogUG9ydCBzZnNpbmsgdG8gMC4xMC4gV29ya3MgaW4gcHVsbCBvcgoJICBwdXNoIG1vZGUgd2l0aCBpbnRlcmxlYXZlZCBmbG9hdCBvciBpbnQgZGF0YS4KCjIwMDctMDItMDIgMTE6MDk6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogU2V0IHJhbmsgdG8gTk9ORSBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IGF1dG9wbHVnZ2VkIGJ5IGF1dG9hdWRpb3NpbmsgKHdoaWNoIGRpZG4ndCBoYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIHRvIE5PTkUgc28gdGhhdCBpdCBkb2Vzbid0IGdldCBhdXRvcGx1Z2dlZCBieSBhdXRvYXVkaW9zaW5rCgkgICh3aGljaCBkaWRuJ3QgaGFwcGVuIHByZXZpb3VzbHkgYmVjYXVzZSB0aGUga2xhc3Mgc3RyaW5nIGRpZG4ndAoJICBjb250YWluIGFueXRoaW5nIGF1dG9hdWRpb3Npbmsgd2FzIGxvb2tpbmcgZm9yKS4KCjIwMDctMDEtMzEgMTA6MDI6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZWFsLzogRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoKMjAwNy0wMS0zMSAwODozMjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZQoJICBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgoyMDA3LTAxLTMxIDA4OjE2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpLAoJICAoZ3N0X2xhZHNwYV9jbGFzc19pbml0KToKCSAgSW1wcm92ZSBLbGFzc2lmaWNhdGlvbiBhbmQgcmVkdWNlIGNvZGUgc2xpZ2hseS4KCjIwMDctMDEtMzAgMTc6MTk6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBhbiBPYmplY3RpdmUgQyBjb21waWxlcgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUG9ydCBvZiBvc3h2aWRlbyBwbHVnaW4gdG8gMC4xMC4gRG8gTk9UIGNvbnNpZGVyIDEwMCUgc3RhYmxlICEKCSAgRml4ZXMgIzQwMjQ3MAoKMjAwNy0wMS0yOSAyMDo1MTowMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDctMDEtMjggMTg6Mjg6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpOgoJICBGaXggY3JvcHBpbmcgZm9yIHBhY2tlZCA0OjI6MiBmb3JtYXRzIFlVWVYvWVVZMiBhbmQgVVlWWS4KCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAoY2hlY2tfYnVzX2Zvcl9lcnJvcnMpLAoJICAodGVzdF93aXRoX2NhcHMpLCAobWFpbik6CgkgIEJsb2NrIHN0cmVhbWluZyB0aHJlYWQgYmVmb3JlIGNoYW5naW5nIGZpbHRlciBjYXBzIHdoaWxlIHRoZQoJICBwaXBlbGluZSBpcyBydW5uaW5nIHNvIHRoYXQgd2UgZG9uJ3QgZ2V0IHJhbmRvbSBub3QtbmVnb3RpYXRlZAoJICBlcnJvcnMganVzdCBiZWNhdXNlIEdTdHJlYW1lciBjYW4ndCBoYW5kbGUgdGhhdCB5ZXQuCgoyMDA3LTAxLTI4IDE3OjM1OjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhLzogYWRkIEdzdENvbnRyb2xsZXIgc3VwcG9ydCB0byBsYWRzcGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9jbGFzc19nZXRfcGFyYW1fc3BlYyk6CgkgIGFkZCBHc3RDb250cm9sbGVyIHN1cHBvcnQgdG8gbGFkc3BhCgoyMDA3LTAxLTI4IDEzOjAxOjAyICswMDAwICBSb3NmcmFuIEJvcmdlcyA8cm9zZnJhbi5ib3JnZXNAaWRudC5vcmcuYnI+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBSZW1vdmUgc2xlZXAgY2FsbHMsIHRoZXkndmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSBsaWJyYXJ5IG5vdyAuLi4gKCMzNTQ0NTEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvc2ZyYW4gQm9yZ2VzIDxyb3NmcmFuIGRvdCBib3JnZXMgYXQgaWRudCBvcmcgYnI+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3N0YXJ0KSwKCSAgKGdzdF9teXRodHZfc3JjX25leHRfcHJvZ3JhbV9jaGFpbik6CgkgIFJlbW92ZSBzbGVlcCBjYWxscywgdGhleSd2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGxpYnJhcnkgbm93IC4uLgoJICAoIzM1NDQ1MSkuCgoyMDA3LTAxLTI3IDE2OjA4OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6ICh0ZXN0X3dpdGhfY2Fwcyk6CgkgIENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoKMjAwNy0wMS0yNSAyMzoyNzo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZSBvdGhlciB3YXkgYXJvdW5kLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlCgkgIG90aGVyIHdheSBhcm91bmQuIEFsc28gc2V0IHRoZSBjb3JyZWN0IGZvcm1hdCBpbiB0aGUgc2Vla2luZyBxdWVyeSBhbmQKCSAgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHRoZSBoZWFkZXJzIGFyZSBub3QgcmVhZCB5ZXQgYW5kIHdlIGNhbid0IHNheQoJICBhbnl0aGluZyBhYm91dCBvdXIgc2Vla2luZyBjYXBhYmlsaXRpZXMuCgoyMDA3LTAxLTI1IDIxOjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIEZpeCBzcGVsbGluZyBpbiAyIHBsYWNlczogSXQncyBjYWxsZWQgV2F2cGFjaywgbm90IFdhdmVQYWNrLgoKMjAwNy0wMS0yNSAxMjowNToxMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC86IFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIChnc3RfbXVsdGlfZmlsZV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV92aWRlb19jcmVhdGVfYnVmZmVyKSwKCSAgKGdzdF9tdmVfdmlkZW9fcGFsZXR0ZSksIChnc3RfbXZlX3ZpZGVvX2NvZGVfbWFwKSwKCSAgKGdzdF9tdmVfYXVkaW9faW5pdCksIChnc3RfbXZlX2F1ZGlvX2RhdGEpLCAoZ3N0X212ZV90aW1lcl9jcmVhdGUpLAoJICAoZ3N0X212ZV9kZW11eF9jaGFpbik6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3B1c2hfY2h1bmspOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzogKG12ZV9jb21wcmVzc19hdWRpbyk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6IChpcHZpZGVvX2NvcHlfYmxvY2spOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOiAobXZlX2VuY29kZV9mcmFtZTE2KToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOiAobXZlX2VuY29kZV9mcmFtZTgpOgoJICBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIEZpeGVzIGJ1aWxkIG9uIG1hYyBvcyB4LgoJICA8d2luZ28+IG9vIGxvb2sgYXQgbWUgbXkgbmFtZSBpcyBlZHdhcmQgaSdtIGhhY2tpbmcgb24gbWFjb3Mgd29vbwoKMjAwNy0wMS0yNCAxMToyOTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzoKCSAgRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoKMjAwNy0wMS0yMyAxNDo1NDowMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgIHdvcmsgaWYgaXQncyBhbHJlYWR5IHRoZXJlIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd29yayBpZiBpdCdzIGFscmVhZHkgdGhlcmUgdG9vCgoyMDA3LTAxLTE3IDE3OjI5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogVXNlIGJyZWFrIGhlcmUgaW5zdGVhZCBvZiBnb3RvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIGJyZWFrIGhlcmUgaW5zdGVhZCBvZiBnb3RvLgoKMjAwNy0wMS0xMyAxOToxMjozMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKTogVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6CgkgIFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9yZW1vdmVfcGFkcyk6IFJlbW92ZSBzcmMgcGFkcywgbm90IHNpbmsgcGFkcy4gSQoJICBzZWVtIHRvIGhhdmUgcmV2ZXJzZSBtaWRhcyBkaXNlYXNlIQoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKTogUHJveHkgdGltZXN0YW1wcywgb2Zmc2V0cywgZHVyYXRpb25zLAoJICBhbmQgc2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4gRml4ZXMgIzM5NTU5NywgSSB0aGluay4KCjIwMDctMDEtMTMgMTg6MDE6NDEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUKCSAgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3NldGNhcHMsIGdzdF9pbnRlcmxlYXZlX3NyY19nZXRjYXBzKQoJICAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IFNldCBhIHNldGNhcHMgYW5kIGdldGNhcHMgZnVuY3Rpb24gb24gdGhlCgkgIHNyYyBwYWQsIHNvIHRoYXQgd2UgY2FuIGltcGxlbWVudCBwdWxsLW1vZGUgbmVnb3RpYXRpb24uCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOiBSZW5hbWVkIGZyb20KCSAgZ3N0X2ludGVybGVhdmVfc2V0Y2FwcywgYXMgaXQgb25seSBkb2VzIHRoZSBzaW5rIGxvZ2ljIG5vdy4KCSAgSW1wbGVtZW50IGJvdGggZm9yIHB1bGwtbW9kZSBhbmQgcHVzaC1tb2RlLgoJICAoZ3N0X2ludGVybGVhdmVfcHJvY2Vzcyk6IFNldCBjYXBzIG9uIG91ciBvdXRnb2luZyBidWZmZXIuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfYWN0aXZhdGVfcHVsbCk6IEZpeCBzb21lIG1vcmUgYm9ndXMgY2FzdHMuCgkgIFdoYXQgaXMgdXAgd2l0aCB0aGlzLgoKMjAwNy0wMS0xMyAxMjozNzo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IENsZWFuIHVwIGEgYml0LCBtb3N0bHkgdGhlIGRlYnVnIHN0YXRlbWVudHM7IGZpeCBkZWFkbG9jayBpbiBfc2V0X3Byb3BlcnR5KCkgaW4gdGhlIGVycm9yIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZG9fcmVhZF9yZXF1ZXN0X3Jlc3BvbnNlKSwKCSAgKGdzdF9teXRodHZfc3JjX2NyZWF0ZSksIChnc3RfbXl0aHR2X3NyY19nZXRfcG9zaXRpb24pLAoJICAoZ3N0X215dGh0dl9zcmNfZG9fc2VlayksIChnc3RfbXl0aHR2X3NyY19zdGFydCksCgkgIChnc3RfbXl0aHR2X3NyY19uZXh0X3Byb2dyYW1fY2hhaW4pLCAoZ3N0X215dGh0dl9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X215dGh0dl9zcmNfaGFuZGxlX2V2ZW50KSwgKGdzdF9teXRodHZfc3JjX2hhbmRsZV9xdWVyeSksCgkgIChnc3RfbXl0aHR2X3NyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X215dGh0dl9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9teXRodHZfc3JjX3VyaV9nZXRfdHlwZSk6CgkgIENsZWFuIHVwIGEgYml0LCBtb3N0bHkgdGhlIGRlYnVnIHN0YXRlbWVudHM7IGZpeCBkZWFkbG9jayBpbgoJICBfc2V0X3Byb3BlcnR5KCkgaW4gdGhlIGVycm9yIGNhc2VzOyBmaXggdXAgcXVlcnkgZnVuY3Rpb24uCgoyMDA3LTAxLTEyIDIxOjU4OjQzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2FwcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIFJlbW92ZSBmaXhhdGUvb3VpamEgc3R1ZmYsIHRoYW5rZnVsbHksIGR1ZSB0byB0aGUgbmV3CgkgIHBhcnQtbmVnb3RpYXRpb24udHh0IHB1bGwtbW9kZSBuZWdvdGlhdGlvbiBzY2hlbWUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogSW1wbGVtZW50IHVwc3RyZWFtIHNldF9jYXBzIHB1bGwKCSAgcHJveHlpbmcgZm9yIHB1bGwgbW9kZS4gTm93IHRoaXMgd29ya3M6IGxhZHNwYS1zaW5lLWZjYWMgIQoJICBhdWRpb2NvbnZlcnQgISBhbHNhc2luay4KCjIwMDctMDEtMTIgMTk6MDI6MzcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBNeXRoVFYgY2xpZW50IHNvdXJjZSBwbHVnaW4gY3JlYXRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE15dGhUViBjbGllbnQgc291cmNlIHBsdWdpbiBjcmVhdGVkLgoKMjAwNy0wMS0xMiAxNzoxNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF94cXRfZGVwYXlfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9maW5hbGl6ZSksIChnc3RfcnRwX3F1aWNrdGltZV9wYXJzZV9zZCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRjYXBzKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIFgtUVQgZGVwYXlsb2FkZXIgdGhhdCB3aWxsIGV2ZW50dWFsbHkgc2hhcmUgY29kZSB3aXRoIHRoZSBkZW11eGVyLgoJICBNYWtlIG5ldyBwbHVnaW4gZW50cnkgcG9pbnQgd2l0aCBxdWlja3RpbWUgcmVsZWF0ZWQgc3R1ZmYuCgoyMDA3LTAxLTEyIDEyOjEwOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06IERpc3QgYWxsIG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgIERpc3QgYWxsIG5ldyBmaWxlcy4KCjIwMDctMDEtMTIgMTA6Mjc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgIEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCjIwMDctMDEtMTIgMTA6MjU6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLio6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19zYW1wbGVfcmF0ZV9jYiksCgkgIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA3LTAxLTEyIDEwOjI0OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21lbmMuYzogRml4IHR5cG8gaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCk6CgkgIEZpeCB0eXBvIGluIGRvY3MuCgoyMDA3LTAxLTEyIDEwOjIyOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2VfY29udGFpbmVyKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfbm9kZSksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpLCAocXRkZW11eF9wYXJzZV9zZWdtZW50cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksCgkgIChxdGRlbXV4X25vZGVfZHVtcCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6IChxdGRlbXV4X3R5cGVfZ2V0KToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgIENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgTW92ZSBkZWJ1Z2dpbmcvdGFibGVzIGludG8gc2VwYXJhdGUgZmlsZXMuCgkgIEFkZCAyLzQvMTYgY29sb3IgcGFsbGV0ZWUgc3VwcG9ydC4KCSAgRml4IHJhdyAxNSBiaXQgUkdCIGhhbmRsaW5nLgoJICBVc2UgbW9yZSBGT1VSQ0MgY29uc3RhbnRzLgoJICBBZGQgc29tZSBkb2NzLgoKMjAwNy0wMS0xMSAxOTo1MTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSk6CgkgIE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCjIwMDctMDEtMTEgMTI6Mjg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IFN1cHBvcnQgU0VFS0lORyBxdWVyeSAoYmFkIG5ld3Mgbm93IGRlbGl2ZXJlZCBwcm9wZXJseSEpOyBhZGQgZXZlbnQgZnVuY3Rpb24gdG8gc291cmNlIHBhZHMgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9kZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9tdmVfZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfbXZlX2RlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X212ZV9hZGRfc3RyZWFtKToKCSAgU3VwcG9ydCBTRUVLSU5HIHF1ZXJ5IChiYWQgbmV3cyBub3cgZGVsaXZlcmVkIHByb3Blcmx5ISk7IGFkZCBldmVudAoJICBmdW5jdGlvbiB0byBzb3VyY2UgcGFkcyB0byBtYWtlIHN1cmUgc2Vla3MgYXJlbid0IHByb3BhZ2F0ZWQKCSAgdXBzdHJlYW0sIGV2ZW4gaWYgdGhleSBhcmVuJ3QgaGFuZGxlZC4KCjIwMDctMDEtMTEgMTE6Mzk6NTYgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEFkZCBJbnRlcnBsYXkgTVZFIGZvcm1hdCBkZW11eGVyL2RlY29kZXIgYW5kIG11eGVyL2VuY29kZXIuIERlbXV4ZXIgZG9lc24ndCBzdXBwb3J0IHNlZWtpbmcgeWV0LCBidXQgc2VlbXMgdG8gd29yayBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9UT0RPOgoJICAqIGdzdC9tdmUvZ3N0bXZlLmM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkgICogZ3N0L212ZS9tdmUuaDoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZGVjLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWM4LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzoKCSAgQWRkIEludGVycGxheSBNVkUgZm9ybWF0IGRlbXV4ZXIvZGVjb2RlciBhbmQgbXV4ZXIvZW5jb2Rlci4gRGVtdXhlcgoJICBkb2Vzbid0IHN1cHBvcnQgc2Vla2luZyB5ZXQsIGJ1dCBzZWVtcyB0byB3b3JrIGZpbmUgb3RoZXJ3aXNlLgoJICBDbG9zZXMgIzM0ODk3My4KCjIwMDctMDEtMDkgMTA6MDY6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIChhZGQgTElCUyBhbmQgQ0ZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIHN0dWZmKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCAoYWRkIExJQlMgYW5kIENGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBzdHVmZikuCgoyMDA3LTAxLTA3IDIyOjAzOjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmg6CgkgICogZ3N0L2ludGVybGVhdmUvcGx1Z2luLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBOZXcgZWxlbWVudHMgaW50ZXJsZWF2ZSBhbmQKCSAgZGVpbnRlcmxlYXZlLCBpbXBsZW1lbnQgY2hhbm5lbCBpbnRlcmxlYXZpbmcgYW5kIGRlaW50ZXJsZWF2aW5nLgoJICBUaGUgaW50ZXJsZWF2ZXIgY2FuIG9wZXJhdGUgaW4gcHVsbCBvciBwdXNoIG1vZGUgYnV0IHRoZQoJICBkZWludGVybGVhdmVyIGlzIG1vcmUgbGlrZSBhIGRlbXV4ZXIgYW5kIGNhbiBvbmx5IG9wZXJhdGUgaW4gcHVzaAoJICBtb2RlLgoKMjAwNy0wMS0wNiAxOToyMzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGV0ZWN0IHRoZSB0d28gYXJjaGl0ZWN0dXJlcyBvbiB3aGljaCB0aGUgcmVhbCBwbHVnaW4gY2FuIGJlIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFByb3Blcmx5IGRldGVjdCB0aGUgdHdvIGFyY2hpdGVjdHVyZXMgb24gd2hpY2ggdGhlIHJlYWwgcGx1Z2luIGNhbiBiZQoJICBidWlsdC4KCSAgRml4ZXMgIzM5MzYyMgoKMjAwNy0wMS0wNiAxNzoyMjoxMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMpOiBNb3ZlIGFyb3VuZCBpbiB0aGUgc291cmNlCgkgIGZpbGUuLi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUsIGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKToKCSAgQ2FsbCBvdWlqYV9jYXBzIGluIHByZXBhcmUoKSBpbnN0ZWFkIG9mIGRvX3B1bGxzKCksIGEgYml0IGVhcmxpZXIuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGhhdmUgY2FwcyB3aGVuIHdlIGRvIHRoZSBwYWRfYWxsb2NfYnVmZmVyKCkuCgkgIChnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMpOiBVc2Ugc2VsZi0+Y2FwcyBpbnN0ZWFkIG9mIHRoZQoJICBwYWQgY2Fwcywgd2hpY2ggbWlnaHQgbm90IGJlIHNldCB5ZXQuCgoyMDA3LTAxLTA2IDE1OjU2OjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKTogQWRkIGEgZml4YXRlIGZ1bmN0aW9uLCB0byBhc3Npc3QgaW4KCSAgcGF0aG9sb2dpY2FsIGxhZHNwYS1zaW5lLWZjYWMgISBmYWtlc2luayBjYW4tYWN0aXZhdGUtcHVsbD10cnVlCgkgIGNhc2VzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSwgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEFkZAoJICBuZnJhbWVzIGFyZ3Mgc28gdGhhdCBnZXRyYW5nZSBjYW4gdGVsbCBsYWRzcGEgaG93IG1hbnkgZnJhbWVzIHRvCgkgIHByb2Nlc3MuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzKTogc2V0Y2FwcyBuZWVkcyB0byBiZSBjYWxsZWQKCSAgYmVmb3JlIHByb2Nlc3NpbmcsIHdoaWNoIG5vcm1hbGx5IGhhcHBlbnMgd2hlbiBjaGFpbmluZyBhIGJ1ZmZlcgoJICB0byBhIHBhZC4gSG93ZXZlciBpbiBnZXRyYW5nZSBtb2RlIHdpdGggbm8gc2lua3Mgd2UgbmVlZCB0byBjaGVjawoJICBleHBsaWNpdGx5IGZvciB0aGlzIGNvbmRpdGlvbiwgZ3Vlc3Mgc29tZSBjYXBzIHRvIHVzZSwgYW5kIHVzZQoJICB0aG9zZSB0byBzZXRjYXBzKCkuIEhlbmNlIHRoaXMgbXlzdGljYWwgZnVuY3Rpb24uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IFB1bGwgaW4gYnl0ZXMsIG5vdCBzYW1wbGVzLgoJICBEaXZpbmUgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBJbnRlcnByZXQgdGhlIGxlbmd0aCBhcyBieXRlcywKCSAgbm90IHNhbXBsZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbik6IG5mcmFtZXM9R19NQVhVSU5ULCB3aWxsIGJlIGxpbWl0ZWQKCSAgYnkgaW5jb21pbmcgYnVmZmVyIHNpemVzLgoKMjAwNy0wMS0wNiAxNDowODoyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBEb24ndCBjYWxsIHRoZSBSQUZyZWVEZWNvZGVyIHNpbmNlIGl0IHJhbmRvbWx5IGNhdXNlcyBzZWdmYXVsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKToKCSAgRG9uJ3QgY2FsbCB0aGUgUkFGcmVlRGVjb2RlciBzaW5jZSBpdCByYW5kb21seSBjYXVzZXMgc2VnZmF1bHRzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICBpbmRlbnQgcHJvcGVybHkuCgoyMDA3LTAxLTA2IDEwOjU4OjEzICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogSW1wbGVtZW50IGVycm9yIHJlY292ZXJ5IG9uIHNldGNhcHMgZmFpbHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIEltcGxlbWVudCBlcnJvciByZWNvdmVyeSBvbiBzZXRjYXBzIGZhaWx1cmUuCgoyMDA3LTAxLTA2IDEwOjQxOjQ2ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBnc3QvcmVhbC86IEFkZGVkIFJlYWxBdWRpbyB3cmFwcGVyIGVsZW1lbnRmYWN0b3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2Jhc2VfaW5pdCksIChnc3RfcmVhbF9hdWRpb19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICBBZGRlZCBSZWFsQXVkaW8gd3JhcHBlciBlbGVtZW50ZmFjdG9yeS4KCSAgTW9kaWZpZWQgc3RydWN0dXJlcyBzbyBpdCBjYW4gYWxzbyB3b3JrIG9uIHg4Nl82NCB1c2luZyB0aGUKCSAgYWRlcXVhdGUgLnNvIC4KCjIwMDctMDEtMDUgMTg6MzI6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdik6CgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIKCSAgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS1leHRlcm5hbCBoYXMKCSAgYmVlbiBzcGVjaWZpZWQhKSwgZGlzYWJsZSB0aGUgYml0cyBpbiBxdGRlbXV4IHRoYXQgdXNlIGl0LiBGaXhlcwoJICBidWlsZCBvbiBNaW5nVyAoIzM5Mjg1NikuCgoyMDA3LTAxLTA1IDE4OjE1OjUyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWFsIHZpZGVvIC5zbyBhcmUgbm93IGFsc28gYXZhaWxhYmxlIGZvciB4ODZfNjQsIHNvIHdlIGNhbiBidWlsZCB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWFsIHZpZGVvIC5zbyBhcmUgbm93IGFsc28gYXZhaWxhYmxlIGZvciB4ODZfNjQsIHNvIHdlIGNhbiBidWlsZCB0aGUKCSAgUmVhbCBwbHVnaW4gb24gaTM4NiBBTkQgeDg2XzY0LgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgTmV3IHBsdWdpbiBmaWxlIGZvciByZWFsIC5zbyB3cmFwcGVyIHBsdWdpbnMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfYWxsb2NfYnVmZmVyKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRjYXBzKSwKCSAgKG9wZW5fbGlicmFyeSksIChjbG9zZV9saWJyYXJ5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19iYXNlX2luaXQpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIE1vdmVkIFJlYWxWaWRlbyBlbGVtZW50IHRvIHNlcGFyYXRlIGZpbGUKCSAgQ2xlYW5lZCB1cCBjb2RlIHNvbWUgbW9yZS4KCSAgTWFrZSBpdCB3b3JrIG9uIHg4Nl82NC4KCSAgVHJ5IHNldmVyYWwgcG9zc2libGUgbG9jYXRpb25zIGZvciAuc28KCSAgU2VwYXJhdGUgb3BlbmluZy9jbG9zaW5nIGxpYnJhcmllcyBpbiBzZXBhcmF0ZSBmdW5jdGlvbnMuCgoyMDA3LTAxLTA1IDE2OjA3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgQ2FsbCBnX3RocmVhZF9pbml0KCkgcmlnaHQgYXQgdGhlIGJlZ2lubmluZy4gUmVtb3ZlIHN1cGVyZmx1b3VzCgkgIGdzdF9pbml0KCkgLSB3ZSd2ZSBhbHJlYWR5IGJlZW4gaW5pdGVkIHZpYSB0aGUgR09wdGlvbiBzdHVmZi4KCjIwMDctMDEtMDUgMTQ6MDI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNvbXBpbGUgcmZic291cmNlIGlmIHdlIGRvbid0IGhhdmUgc3lzL3NvY2tldC5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGNvbXBpbGUgcmZic291cmNlIGlmIHdlIGRvbid0IGhhdmUgc3lzL3NvY2tldC5oLgoJICBTaG91bGQgZml4IGNvbXBpbGF0aW9uIG9uIE1pbmdXLgoKMjAwNy0wMS0wNCAxNjozOTozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QtbGlicy9leHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZXh0L2FtcndiL1JFQURNRToKCSAgYWRkIGRpcmVjdG9yaWVzIGluIHRoZSByaWdodCBwbGFjZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRpcmVjdG9yaWVzIGluIHRoZSByaWdodCBwbGFjZQoKMjAwNy0wMS0wNCAxNjozMjo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL1JFQURNRToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvcnVuLnNoOgoJKiBnc3QtbGlicy9NYWtlZmlsZS5hbToKCSAgbW92ZSBhbXJ3YiBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIGFtcndiIGNvZGUKCjIwMDctMDEtMDQgMTY6MzI6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgIG1vdmUgYW1yd2IgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBhbXJ3YiBjb2RlCgo9PT0gcmVsZWFzZSAwLjEwLjEyID09PQoKMjAwNy0wMS0wNCAxMjo0OTo0NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IHNwbGl0IG91dCBHU1RfQ0ZMQUdTIGludG8gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgYW5kIEdTVF9DRkxBR1Mgc28gdGhhdCBHU1RfQkFTRV9DRkxBR1MgY2FuIGdvIGluYmV0d2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBzcGxpdCBvdXQgR1NUX0NGTEFHUyBpbnRvIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQ0ZMQUdTCgkgIHNvIHRoYXQgR1NUX0JBU0VfQ0ZMQUdTIGNhbiBnbyBpbmJldHdlZW4gdGhlbSwgbWFraW5nIHN1cmUKCSAgd2UgdXNlIHVuaW5zdGFsbGVkIGdzdC1saWJzIGhlYWRlcnMKCSAgKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2EvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkcGFyYW5vaWEvTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC92b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9yaWZmL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3RhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdGNwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NjYWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYWRhcHQKCjIwMDctMDEtMDQgMDk6NTE6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0LzogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdCByZXZlYWwgcG90ZW50aWFsIGJ1Z3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdHlwZSk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX29wZW4pOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB0aGF0CgkgIHJldmVhbCBwb3RlbnRpYWwgYnVncy4KCjIwMDctMDEtMDQgMDk6NDQ6NTcgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX3Jlc2V0KToKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyNjM4KS4gQWxzbyBzaW1wbGlmeSBEaXJlY3REcmF3IGNoZWNrIGEgYml0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEZpeCBDVlMgaWdub3JlIGZvciBuZW9uaHR0cHNyYyB0ZXN0IGJpbmFyeS4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDctMDEtMDMgMTY6NDE6MTAgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGlpcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2hlYWRlcl9sb2FkKSwKCSAgKGdzdF9udXZfZGVtdXhfc3RyZWFtX2V4dGVuZF9oZWFkZXIpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEKCSAgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgoyMDA3LTAxLTAyIDExOjA2OjQ4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbC5jOiBVc2UgY29kZWNfZGF0YSBzdXBwbGllZCBpbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICAoZ3N0X3JlYWxkZWNfc2V0Y2Fwcyk6IFVzZSBjb2RlY19kYXRhIHN1cHBsaWVkIGluIGNhcHMuCgkgIChnc3RfcmVhbGRlY19nZXRfcHJvcGVydHkpOiBDb3JyZWN0bHkgcmV0dXJuIGRlZmF1bHQgcGF0aC4KCSAgKGdzdF9yZWFsZGVjX2NsYXNzX2luaXQpOiBSZW1vdmUgdW51c2VkIHN0YXRlX2NoYW5nZSBtZXRob2QuCgoyMDA3LTAxLTAxIDE4OjA2OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGJ1aWxkIHRoZSBwbHVnaW4gb24gMzJiaXQgeDg2IGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBidWlsZCB0aGUgcGx1Z2luIG9uIDMyYml0IHg4NiBhcmNoaXRlY3R1cmVzLgoKMjAwNy0wMS0wMSAxNzo0Nzo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIE5ldyBwbHVnaW4gZm9yIGRlY29kaW5nIFJlYWxWaWRlbyBTdHJlYW1zIHVzaW5nIHRoZSB4ODYgMzJiaXQgc2hhcmVkIGxpYnJhcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChnc3RfcmVhbGRlY19hbGxvY19idWZmZXIpLAoJICAoZ3N0X3JlYWxkZWNfZGVjb2RlKSwgKGdzdF9yZWFsZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsZGVjX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X3JlYWxkZWNfc2V0Y2FwcyksCgkgIChnc3RfcmVhbGRlY19pbml0KSwgKGdzdF9yZWFsZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfcmVhbGRlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3JlYWxkZWNfZmluYWxpemUpLAoJICAoZ3N0X3JlYWxkZWNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsZGVjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbGRlY19jbGFzc19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgTmV3IHBsdWdpbiBmb3IgZGVjb2RpbmcgUmVhbFZpZGVvIFN0cmVhbXMgdXNpbmcgdGhlIHg4NiAzMmJpdAoJICBzaGFyZWQgbGlicmFyaWVzLgoJICBDbG9zZXMgIzM1NDE3NAoKMjAwNi0xMi0zMCAxMjo0NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZSBkZXRhaWxpbmcgd2hpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCk6CgkgIFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlCgkgIGRldGFpbGluZyB3aGljaCBlbGVtZW50IGl0IGFjdHVhbGx5IGlzIHRoYXQncyBtaXNzaW5nICgjMzkwNjczKS4KCjIwMDYtMTItMjIgMTY6MjM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWRkZWQgc2VlayBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc2VlayBzdXBwb3J0LgoKMjAwNi0xMi0yMiAxMDoxNToyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZWFwcGx5IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDE3OjA1OjQ0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgcmVsZWFzZSBzZWN0aW9uIGZvciAwLjEwLjQKCj09PSByZWxlYXNlIDAuMTAuNCA9PT0KCjIwMDYtMTItMjEgMTU6NDU6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgID09PSByZWxlYXNlIDAuMTAuNCA9PT0KCSAgMjAwNi0xMi0yMSAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC40LCAiQmxhY2sgQnVncyIKCjIwMDYtMTItMjEgMTU6NDA6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTIxIDE0OjA3OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBjaGFuZ2Vsb2cgZW50cnkgYWJvdXQgcmV2ZXJ0aW5nIGEgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmUgZHVwbGljYXRlIGNoYW5nZWxvZyBlbnRyeSBhYm91dCByZXZlcnRpbmcgYSBwcmV2aW91cyBjb21taXQKCjIwMDYtMTItMjEgMTQ6MDM6NDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAxMjo1ODo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDA4OjIwOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYyksCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAwODoxMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoY2xlYW51cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYzogKHRlYXJkb3duX3N1YnBhcnNlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOiAoY2xlYW51cF90ZXh0b3ZlcmxheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChjbGVhbnVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjbGVhbnVwX3ZpZGVvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChjbGVhbnVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpLAoJICAoY2xlYW51cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOiAoc2V0dXBfdm9yYmlzdGFnKSwKCSAgKGNsZWFudXBfdm9yYmlzdGFnKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMTggMTc6MTE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0gaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9wcm9ncmVzcyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIERvbid0IHBvc3QgQlVGRkVSSU5HIG1lc3NhZ2VzIGluIHN0cmVhbWluZyBtb2RlIGlmIHRoZSBzdHJlYW0KCSAgaGVhZGVycyBhcmUgYmVoaW5kIHRoZSBtb3ZpZSBkYXRhOyBpbnN0ZWFkLCBwb3N0ICJwcm9ncmVzcyIgZWxlbWVudAoJICBtZXNzYWdlcyBhcyBhIHRlbXBvcmFyeSBzb2x1dGlvbi4gQXBwcyBtaWdodCBnZXQgY29uZnVzZWQgYW5kIGRvCgkgIHNpbGx5IHRoaW5ncyB0byB0aGUgcGlwZWxpbmUgc3RhdGUgaWYgdGhleSBzZWUgYnVmZmVyaW5nIG1lc3NhZ2VzCgkgIGZyb20gZGlmZmVyZW50IHNvdXJjZXMgYW5kIGRvbid0IHJlYWxpemUgdGhleSBjb21lIGZyb20gZGlmZmVyZW50CgkgIHNvdXJjZXMgKCMzODcxNjApLgoKMjAwNi0xMi0xOCAxNjo0NzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIExBRFBTQSBwbHVnaW4gZnJvbSAtZ29vZCBmb3IgdGhlIHJlbGVhc2UsIGFzIGl0J3Mgbm90IHF1aXRlIHJlYWR5IHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgLWdvb2QgbW9kdWxlIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhLyo6CgkgIE1vdmUgTEFEUFNBIHBsdWdpbiBmcm9tIC1nb29kIGZvciB0aGUgcmVsZWFzZSwgYXMgaXQncyBub3QgcXVpdGUKCSAgcmVhZHkgdG8gYmUgZW5hYmxlZCBieSBkZWZhdWx0IGluIHRoZSAtZ29vZCBtb2R1bGUgeWV0LgoKMjAwNi0xMi0xOCAxNTo1MTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIgZXJyb3Igc3RhdGUgYWZ0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6CgkgIFJlc2V0IGZsb3dfc3RhdGUgYmFjayB0byBfT0sgYWZ0ZXIgYSBmbHVzaCBzdG9wIHNvIHRoYXQgd2UgZXhpdCBvdXIKCSAgZXJyb3Igc3RhdGUgYWZ0ZXIgdGhlIGZsdXNoLiBGaXhlcyAjMzc0MjEzCgoyMDA2LTEyLTE4IDEzOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3Qgb3V0cHV0IGdfd2FybmluZyBmb3IgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0LCBqdXN0IHNlbmQgYQoJICBHU1RfRUxFTUVOVF9XQVJOSU5HIGFuZCBkb24ndCBhZGQgdGhlIHBhZC4KCSAgRml4IHRoZSBjYXNlIHdoZXJlIGl0IGRvZXNuJ3QgY2hlY2sgZm9yIGEgTlVMTCBwYWQgaW4gc3RyZWFtaW5nIG1vZGUuCgkgIEZpeGVzICMzODcxMzcKCjIwMDYtMTItMTggMTI6Mjc6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBGaXhlcyAjMzg3MTIyLgoKMjAwNi0xMi0xOCAxMDowMjo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AdWJ1bnR1LmNvbT4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDogVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrIGluc3RhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjawoJICBpbnN0YWxscy4KCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IHVidW50dSBkb3QgY29tPgoJICBGaXhlczogIzM4NzA3NgoKMjAwNi0xMi0xNyAyMDoxOTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMTcgMjA6MTk6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZXBsYWNlIHNvbWUgZW1haWwgYWRkcmVzc2VzIHdpdGggbmFtZXMrZW1haWwgYWRkcmVzc2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXBsYWNlIHNvbWUgZW1haWwgYWRkcmVzc2VzIHdpdGggbmFtZXMrZW1haWwgYWRkcmVzc2VzCgoyMDA2LTEyLTE2IDE1OjI1OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgIFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIEltcGxlbWVudCBzZWVraW5nIHF1ZXJ5IHNvIGFwcHMgY2FuIHF1ZXJ5IHNlZWthYmlsaXR5IHByb3Blcmx5CgkgIChzZWUgIzM2NTQxNCkuIEZpeCBkdXJhdGlvbiBxdWVyeS4KCjIwMDYtMTItMTUgMTI6MTg6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkIGRvYXAgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGRvYXAgZmlsZQoKMjAwNi0xMi0xNSAwOTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFRoZXNlIGRlYnVnIHN0YXRlbWVudHMgc2hvdWxkIGJlIHVzaW5nIExPRyBsZXZlbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgVGhlc2UgZGVidWcgc3RhdGVtZW50cyBzaG91bGQgYmUgdXNpbmcgTE9HIGxldmVsLgoKMjAwNi0xMi0xNCAxNTo0NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IChDVkUtMjAwNi00MTkyKSAoIzM4NTc4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IChDVkUtMjAwNi00MTkyKSAoIzM4NTc4OCkuCgoyMDA2LTEyLTEzIDE3OjEyOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCjIwMDYtMTItMTIgMTY6MTA6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBGaXggbWlub3IgbWVtIGxlYWsgaW4gcmVkaXJlY3QgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKHNlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBGaXggbWlub3IgbWVtIGxlYWsgaW4gcmVkaXJlY3QgY29kZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6IChoYW5kb2ZmX2NiKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG5lb25odHRwc3JjX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cGVyLWJhc2ljIHVuaXQgdGVzdCBmb3IgIzM4NDE0MC4KCjIwMDYtMTItMTIgMTI6NDY6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBTZXQgb2Zmc2V0IG9uIGJ1ZmZlcnMgcHVzaGVkIG91dCAoaWQzZGVtdXggZ2V0cyBjb25mdXNlZCBpZiB0aGUgZmlyc3QgYnVmZmVyIGRvZXMgbm90IGhhdmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKHNlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBTZXQgb2Zmc2V0IG9uIGJ1ZmZlcnMgcHVzaGVkIG91dCAoaWQzZGVtdXggZ2V0cyBjb25mdXNlZCBpZiB0aGUKCSAgZmlyc3QgYnVmZmVyIGRvZXMgbm90IGhhdmUgYW4gb2Zmc2V0IG9mIDApLiBGaXhlcyAjMzg0MTQwLgoKMjAwNi0xMi0xMiAxMTo0NjowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IE1pbm9yIGNsZWFuLXVwczsgcmVtb3ZlIG5ld2xpbmVzIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwgKHNlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdGFydCksIChvb21fY2FsbGJhY2spOgoJICBNaW5vciBjbGVhbi11cHM7IHJlbW92ZSBuZXdsaW5lcyBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMTItMTEgMTc6MzM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UKCSAgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcyAjMzc4NjEzLgoKMjAwNi0xMi0xMSAwOTo1MToxNyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggbW9kcGx1ZyBkdXJhdGlvbiBxdWVyeS4gRml4ZXMgIzM4NDI5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4pLgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBtb2RwbHVnIGR1cmF0aW9uIHF1ZXJ5LiBGaXhlcyAjMzg0Mjk0LgoKMjAwNi0xMi0wOCAxNzowNjo0MyArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgRml4IGNhcHMgZm9yIDI0IGJpdCByYXcgUENNIGF1ZGlvICgyKS4KCSAgRml4ZXMgIzM4MzQ3MS4KCjIwMDYtMTItMDcgMTE6MzU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoKMjAwNi0xMi0wNiAxNjo1NzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvamFjay8uY3ZzaWdub3JlOiBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCjIwMDYtMTItMDYgMTY6MTQ6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdGhlIEphY2sgcmVxdWlyZW1lbnQgdG8gdGhlIHZlcnNpb24gd2hlcmUgSSB0aGluayBvcHRpb25zX3QgYXBwZWFyZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgdGhlIEphY2sgcmVxdWlyZW1lbnQgdG8gdGhlIHZlcnNpb24gd2hlcmUgSSB0aGluayBvcHRpb25zX3QKCSAgYXBwZWFyZWQKCjIwMDYtMTItMDEgMTA6MzU6MzkgKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICB3aW4zMi9NQU5JRkVTVDogRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIHdpbjMyIHVuZGVyIFZTOAoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBkb3QgY29tPgoJICBQYXJ0aWFsbHkgZml4ZXMgIzM4MTE3NQoKMjAwNi0xMS0zMCAxNTowODowOCArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpOgoJICBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoKMjAwNi0xMS0zMCAxMTo1OTowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNi0xMS0zMCAxMTo0OTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2luaXQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGlzcG9zZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0YXJ0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3BhdXNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3N0b3ApLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfZGVsYXkpLAoJICAoZ3N0X2phY2tfY29ubmVjdF9nZXRfdHlwZSksIChnc3RfamFja19hdWRpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2NyZWF0ZV9yaW5nYnVmZmVyKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEFkZGVkIGZ1bGx5IGZ1bmN0aW9uYWwgamFja2F1ZGlvc2luay4KCjIwMDYtMTEtMjcgMTc6MTY6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlbW92ZSBzb21lIGFzc2VydHMgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIGEgcHJvcGVyIGVycm9yCgkgIG1lc3NhZ2UuIEZpeGVzICMzNzkyNjEuCgoyMDA2LTExLTI2IDE3OjIzOjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBTZW5kIGV2ZW50cyBvbiB0aGUgcmlnaHQgcGFkcywgc2luY2UgdGhleSBkb24ndCB3b3JrIHZlcnkgd2VsbCBpZiB5b3Ugc2VuZCB0aGVtIGluIHRoZSB3cm9uZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLAoJICAodGhlb3JhX2RlY19jaGFpbik6CgkgIFNlbmQgZXZlbnRzIG9uIHRoZSByaWdodCBwYWRzLCBzaW5jZSB0aGV5IGRvbid0IHdvcmsgdmVyeSB3ZWxsIGlmCgkgIHlvdSBzZW5kIHRoZW0gaW4gdGhlIHdyb25nIGRpcmVjdGlvbi4KCjIwMDYtMTEtMjQgMDk6MDU6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcyBhbmQgZnVuY3Rpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L3BvbHlwL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MgYW5kIGZ1bmN0aW9ucwoKMjAwNi0xMS0yMSAxMzowMDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCByZmJzcmMgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgcmZic3JjIHBsdWdpbgoKMjAwNi0xMS0xOSAxMjowMjoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbTogQ29tcGlsZSB3aXRoIGFwcHJvcHJpYXRlIGNmbGFncy4gRml4ZXMgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIENvbXBpbGUgd2l0aCBhcHByb3ByaWF0ZSBjZmxhZ3MuIEZpeGVzIGJ1aWxkLgoKMjAwNi0xMS0xNyAxODo1MTo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgVE9ORSBwYXJhbWV0ZXIgZm9yIERWQi1TIHdoZW4gd2Ugc2hvdWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0xNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3R1bmUpOgoJICBBY3R1YWxseSBzZXQgdGhlIFRPTkUgcGFyYW1ldGVyIGZvciBEVkItUyB3aGVuIHdlIHNob3VsZC4KCjIwMDYtMTEtMTcgMDM6NTE6MDQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeGVzIGZvciA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeGVzIGZvciA2NC1iaXQgYXJjaGl0ZWN0dXJlcy4KCjIwMDYtMTEtMTcgMDM6Mjk6MzIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDogT29wcywgYWRkIHRoaXMgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDogIE9vcHMsIGFkZCB0aGlzIGZpbGUuCgoyMDA2LTExLTE3IDAzOjE1OjQwICswMDAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyA8YW5kcnVua29AZ21haWwuY29tPgoKCSAgUG9ydCBsaWJyZmIgdG8gMC4xMCAoIzM3NjEwNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgPGFuZHJ1bmtvQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiLmM6CgkgICogZ3N0L2xpYnJmYi9yZmIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJieXRlc3RyZWFtLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJjb250ZXh0Lmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJ1dGlsLmg6CgkgIFBvcnQgbGlicmZiIHRvIDAuMTAgKCMzNzYxMDYpLgoKMjAwNi0xMS0xNiAxODoyMjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGMvZ3N0c3BjLmM6IEZpeCBidWlsZCB3aXRoIGRpc2FibGVkIGdzdC1kZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19wbGF5KToKCSAgRml4IGJ1aWxkIHdpdGggZGlzYWJsZWQgZ3N0LWRlYnVnLgoKMjAwNi0xMS0xNSAxNjoxOTo1NiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA2LTExLTE1IDEyOjM1OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywKCSAgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbWUgY29kZSBpbnRvIF9yZXNldCgpCgkgIGZ1bmN0aW9ucyAoIzM1MjYwNSkuCgoyMDA2LTExLTE0IDE1OjA0OjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG1pc3NpbmcgZmlsZXMgZnJvbSBTUEVDCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBmaWxlcyBmcm9tIFNQRUMKCjIwMDYtMTEtMTQgMTI6MzM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy4qOiBGaXggbWlub3IgcHJpbnRmIGZvcm1hdCBpc3N1ZTsgcmVtb3ZlIG92ZXJseSBwYXJhbm9pZCBjaGVja3MgaW4gY3JlYXRlIGZ1bmN0aW9uOyBmaXggR09iamVjdCBib2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfY3JlYXRlKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBGaXggbWlub3IgcHJpbnRmIGZvcm1hdCBpc3N1ZTsgcmVtb3ZlIG92ZXJseSBwYXJhbm9pZCBjaGVja3MgaW4KCSAgY3JlYXRlIGZ1bmN0aW9uOyBmaXggR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTExLTE0IDExOjQzOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBwYXJzZSBleHRyYSBzYW1wbGUgcGFyYW1zIGZvciByYXcgcGNtLiBGaXhlcyAjMzc0OTE0LgoKMjAwNi0xMS0xNCAxMTozOTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEFkZCBjZGF1ZGlvIHRvIGlnbm9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIGNkYXVkaW8gdG8gaWdub3JlLgoKMjAwNi0xMS0xNCAxMDo1Mjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogZGlzdCBjZGF1ZGlvIGRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBkaXN0IGNkYXVkaW8gZGlyLgoKMjAwNi0xMS0xNCAxMDo0MjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBjZGF1ZGlvIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggY2RhdWRpbyBidWlsZC4KCjIwMDYtMTEtMTQgMTA6MzE6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIGdpdmUgY3JlZGl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnaXZlIGNyZWRpdAoKMjAwNi0xMS0xNCAxMDoyNToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkZWQgeTRtIHRlc3QuIEZpeGVzICMzNzIyNDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHk0bWVuY19zdWl0ZSksIChtYWluKToKCSAgQWRkZWQgeTRtIHRlc3QuIEZpeGVzICMzNzIyNDMuCgoyMDA2LTExLTEzIDE4OjU1OjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgY29uZmlndXJlLmFjOiBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICBFbmFibGUgY2RhdWRpbyBhbmQgeTRtLgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2Jhc2VfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9jbGFzc19pbml0KSwgKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfcmVzZXQpLCAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2FwcyksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfc3RyZWFtX2hlYWRlciksCgkgIChnc3RfeTRtX2VuY29kZV9nZXRfZnJhbWVfaGVhZGVyKSwgKGdzdF95NG1fZW5jb2RlX2NoYWluKSwKCSAgKGdzdF95NG1fZW5jb2RlX3NldF9wcm9wZXJ0eSksIChnc3RfeTRtX2VuY29kZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBQb3J0IG9mIHk0bWVuY29kZSB0byAwLjEwLgoKMjAwNi0xMS0xMSAwMDoyMjoyNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBIGxpdHRsZSBwbHVnZ3kgdG8gbWFrZSBzZW5zZSBvdXQgb2YgdGhlIHJhbmRvbSBjaHVua3Mgd2UgZ2V0IGZyb20gbXVsdGlmaWxlc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBIGxpdHRsZSBwbHVnZ3kgdG8gbWFrZSBzZW5zZSBvdXQgb2YgdGhlIHJhbmRvbSBjaHVua3Mgd2UgZ2V0CgkgIGZyb20gbXVsdGlmaWxlc3JjLgoKMjAwNi0xMS0xMCAxOToxODozMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOiBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgIExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMDYtMTEtMTAgMTk6MDc6NDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZXNpbmsvOiBSZW1vdmUgdGhlIG9sZCBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvbXVsdGlmaWxlc2luay52Y3Byb2o6CgkgIFJlbW92ZSB0aGUgb2xkIG9uZS4KCjIwMDYtMTEtMTAgMTg6NTE6MTAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL211bHRpZmlsZS52cHJvajoKCSAgUmV2aXZlIG11bHRpZmlsZVtzcmN8c2lua10uCgoyMDA2LTExLTA5IDE0OjAwOjM0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wOSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSkKCSAgKGdzdF9kdmJzcmNfY3JlYXRlKSwgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSksIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVycyk6CgkgIFJlbmFtZSBzZXRfcGVzX2ZpbHRlciB0byBzZXRfcGVzX2ZpbHRlcnMgZm9yIGNvbnNpc3RlbmN5LgoJICBEbyBydW4tdGltZSBwaWQgZmlsdGVyaW5nLgoKMjAwNi0xMS0wOCAxMToyNzoxNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IERvIG5vdCBjYWxsIG91dHB1dF9mcm9udGVuZF9zdGF0cyBmcm9tIGEgbWV0aG9kIHRoYXQgZG9lcyBub3QgaGF2ZSB0aGUgZ3N0ZHZic3JjIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDggIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAocmVhZF9kZXZpY2UpOgoJICBEbyBub3QgY2FsbCBvdXRwdXRfZnJvbnRlbmRfc3RhdHMgZnJvbSBhIG1ldGhvZCB0aGF0IGRvZXMgbm90CgkgIGhhdmUgdGhlIGdzdGR2YnNyYyBvYmplY3QuCgkgIFRoaXMgZml4ZXMgdGhlIGJ1aWxkLCBzb3JyeSBndXlzIQoKMjAwNi0xMS0wNyAxNDo0Njo1NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLio6IEZvcmNlIFBBVCB0byBhbHdheXMgYmUgaW4gdGhlIGZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAocmVhZF9kZXZpY2UpLCAoZ3N0X2R2YnNyY19jcmVhdGUpLAoJICAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLCAoZ3N0X2R2YnNyY190dW5lKSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXIpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEZvcmNlIFBBVCB0byBhbHdheXMgYmUgaW4gdGhlIGZpbHRlci4KCSAgVHJ5IHRvIGNvbnRpbnVlIHJlYWRpbmcgYWZ0ZXIgZmFpbGluZyAxMCB0aW1lcy4KCjIwMDYtMTEtMDQgMTM6MjY6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vUE9URklMRVMuaW46IGFkZCBkdmJzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIGFkZCBkdmJzcmMKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19jbGFzc19pbml0KSwgKGdzdF9kdmJzcmNfaW5pdCksCgkgIChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSksIChnc3RfZHZic3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZic3JjX29wZW5fZnJvbnRlbmQpLCAoZ3N0X2R2YnNyY19vcGVuX2R2ciksCgkgIChnc3RfZHZic3JjX2ZpbmFsaXplKSwgKHJlYWRfZGV2aWNlKSwgKGdzdF9kdmJzcmNfY3JlYXRlKSwKCSAgKGdzdF9kdmJzcmNfc3RhcnQpLCAoZ3N0X2R2YnNyY19mcm9udGVuZF9zdGF0dXMpLAoJICAoZ3N0X2R2YnNyY190dW5lKSwgKGdzdF9kdmJzcmNfdW5zZXRfcGVzX2ZpbHRlcnMpLAoJICAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcik6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgYWRhcHRlci1wcmVmaXggaXMgYSB0ZXJyaWJsZSBuYW1lIGZvciBhIGRldmljZSwgc28gcmVwbGFjZSBpdC4KCSAgc3RyZXJyb3Igc2hvdWxkIGJlIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHN5c2NhbGwgcmVsYXRlZCB0byBpdC4KCSAgQWN0dWFsbHkgdGhyb3cgYSByZWFzb25hYmxlIEdTVF9FTEVNRU5UX0VSUk9SIGlmIHdlIGZhaWwgdG8gb3BlbgoJICAocHJldHR5IGVhc3kgdG8gdHJpZ2dlciBieSBvcGVuaW5nIHRoZSBzYW1lIGRldmljZSB0d2ljZSkuCgkgIFVzZSBfT0JKRUNUIG1hY3JvcyB3aGVyZSBpdCBtYWtlcyBzZW5zZS4KCSAgVGhpcyBlbGVtZW50IGlzIGdvaW5nIHRvIG5lZWQgc29tZSB3b3JrIGJlZm9yZSBpdCBtb3Zlcy4KCjIwMDYtMTEtMDIgMjA6MTM6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5IGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeQoJICBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjk1MzkpLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMC0zMSAxMDozMToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCjIwMDYtMTAtMjkgMTk6MDg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBGaXggZmxvdyBoYW5kbGluZyBhbmQgYnVmZmVyIHJlZmNvdW50aW5nIChnc3RfcGFkX3B1c2goKSB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaGFuZGxlX2ZyYW1lKToKCSAgRml4IGZsb3cgaGFuZGxpbmcgYW5kIGJ1ZmZlciByZWZjb3VudGluZyAoZ3N0X3BhZF9wdXNoKCkgdGFrZXMKCSAgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvIGl0LCB0aGUgYnVmZmVyIGRvZXMgbm90IGhhdmUKCSAgdG8gYmUgdW5yZWZmZWQgbm8gbWF0dGVyIHdoYXQgZmxvdyB2YWx1ZSBnc3RfcGFkX3B1c2goKSByZXR1cm5zKS4KCjIwMDYtMTAtMjggMTY6MDA6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFub3RoZXIgdHlwbyBmaXggKCMzNjYyMTIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgQW5vdGhlciB0eXBvIGZpeCAoIzM2NjIxMikuCgoyMDA2LTEwLTI2IDE0OjA3OjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSAgRml4ZWQgYnVnIGZvciBmaWxlcyB3aXRoIHRpbWVzdGFtcHMgbGVzcyB0aGFuIDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBidWcgZm9yIGZpbGVzIHdpdGggdGltZXN0YW1wcyBsZXNzIHRoYW4gMC4KCjIwMDYtMTAtMjEgMjI6NTY6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgSSBjb3BpZWQgb3ZlciBmaWxlc2luayBhIHdoaWxlIGFnbyBhbmQgbW9kaWZpZWQgaXQgdG8gd29yayBhcyBtdWx0aWZpbGVzaW5rLiAgTWlnaHQgYXMgd2VsbCBjaGVjayBpdCBpbi4gIFRoaXMgY291bGQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICBJIGNvcGllZCBvdmVyIGZpbGVzaW5rIGEgd2hpbGUgYWdvIGFuZCBtb2RpZmllZCBpdCB0byB3b3JrCgkgIGFzIG11bHRpZmlsZXNpbmsuICBNaWdodCBhcyB3ZWxsIGNoZWNrIGl0IGluLiAgVGhpcyBjb3VsZAoJICB1c2Ugc29tZSB3b3JrIGJlZm9yZSBiZWluZyBkZWNsYXJlZCB1c2VmdWwuCgoyMDA2LTEwLTE3IDE1OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6IChnc3RfbnV2X2RlbXV4X2NyZWF0ZV9wYWRzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpOgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgoyMDA2LTEwLTE3IDE0OjU3OjE3ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYyB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLCAocXRkZW11eF90YWdfYWRkX2RhdGUpLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpOgoJICBNYWtlIGNvbXBpbGUgd2l0aCBGb3J0ZSBjb21waWxlciwgbW9zdGx5IGRvbid0IGRvIHBvaW50ZXIgYXJpdGhtZXRpYwoJICB3aXRoIHZvaWQgcG9pbnRlcnMgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxNDo0MDoyMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgSnVzdCBhIGNhc3QgdG8gbWFrZSBpdCBjb21waWxlIG9vcyBiaWdfZW5kaWFuIHN5c3RlbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgY2FzdCB0byBtYWtlIGl0IGNvbXBpbGUgb29zIGJpZ19lbmRpYW4gc3lzdGVtcy4KCjIwMDYtMTAtMTcgMTQ6MjQ6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBudXZkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbnV2ZGVtdXguCgoyMDA2LTEwLTE3IDExOjA0OjE0ICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L25zZi86IEZpeCBzb21lIHRoaW5ncyB0aGUgRm9ydGUgY29tcGlsZXIgd2FybnMgYWJvdXQgKCMzNjI2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgIEZpeCBzb21lIHRoaW5ncyB0aGUgRm9ydGUgY29tcGlsZXIgd2FybnMgYWJvdXQgKCMzNjI2MjYpLgoKMjAwNi0xMC0xNyAxMDo1OTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9kdW1wX212aGQpLAoJICAocXRkZW11eF9kdW1wX3RraGQpLCAocXRkZW11eF9kdW1wX2Vsc3QpLCAocXRkZW11eF9kdW1wX21kaGQpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX3ZtaGQpLCAocXRkZW11eF9kdW1wX2RyZWYpLAoJICAocXRkZW11eF9kdW1wX3N0c2QpLCAocXRkZW11eF9kdW1wX3N0dHMpLCAocXRkZW11eF9kdW1wX3N0c3MpLAoJICAocXRkZW11eF9kdW1wX3N0c2MpLCAocXRkZW11eF9kdW1wX3N0c3opLCAocXRkZW11eF9kdW1wX3N0Y28pLAoJICAocXRkZW11eF9kdW1wX2NvNjQpLCAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9kdW1wX2NtdmQpLAoJICAocXRkZW11eF9kdW1wX3Vua25vd24pLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoKMjAwNi0xMC0xMSAyMDozMzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgc2ltcGxlIGRlaW50ZXJsYWNlciBmcm9tIDAuOC4gVXNlIGF0IHlvdXIgb3duIHJpc2ssIGRvbid0IGJsYW1lIG1lIGZvciBhbnl0aGluZyBpdCBkb2VzIG9yIGRvZXMgbm90IGRvIHRvIHlvdXIgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc3RvcCksIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1faXApLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2VfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUG9ydCBzaW1wbGUgZGVpbnRlcmxhY2VyIGZyb20gMC44LiBVc2UgYXQgeW91ciBvd24gcmlzaywgZG9uJ3QgYmxhbWUKCSAgbWUgZm9yIGFueXRoaW5nIGl0IGRvZXMgb3IgZG9lcyBub3QgZG8gdG8geW91ciBwcmVjaW91cyBwaWN0dXJlcy4KCjIwMDYtMTAtMTEgMTM6NDk6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCjIwMDYtMTAtMTAgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgVXNlICJfc3RkaW50LmgiLgoKMjAwNi0xMC0xMCAxNjowOTo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBSZW1vdmUgdGhlc2UgZmlsZXMsIG5vdCBuZWVkZWQgdXNlIHN5c3RlbSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvYXVkaW8uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvY2EuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZG14Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2Zyb250ZW5kLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL25ldC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9vc2QuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmVyc2lvbi5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92aWRlby5oOgoJICBSZW1vdmUgdGhlc2UgZmlsZXMsIG5vdCBuZWVkZWQgdXNlIHN5c3RlbSBmaWxlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2YnNyY19jcmVhdGUpLCAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLAoJICAoZ3N0X2R2YnNyY190dW5lKToKCSAgRml4IHdhcm5pbmdzLCB1aW50MTZfdCBldGMuIGlzIGluIHN0ZGludC5oLgoJICBVc2Ugc3lzdGVtIGluY2x1ZGVzIG5vdCBvdXIgbG9jYWwgb25lcy4KCjIwMDYtMTAtMTAgMTU6NTU6MjUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBwby8uZ2l0aWdub3JlOgoJICBCdWlsZGJvdCwgSSBkbyBhcyB5b3UgY29tbWFuZC4gaHR0cDovL2J1aWxkLmZsdWVuZG8uY29tOjgwODAvZ2VuNjQtYmFkLWZ1bGwvYnVpbGRzLzQ3NS9jdnMlMjBpZ25vcmUvMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQnVpbGRib3QsIEkgZG8gYXMgeW91IGNvbW1hbmQuCgkgIGh0dHA6Ly9idWlsZC5mbHVlbmRvLmNvbTo4MDgwL2dlbjY0LWJhZC1mdWxsL2J1aWxkcy80NzUvY3ZzJTIwaWdub3JlLzEKCjIwMDYtMTAtMTAgMTU6NDc6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgZHZiIGRldGVjdGlvbiBhbmQgYWxsb3cgZHZic3JjIHRvIGJlIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFkZCBkdmIgZGV0ZWN0aW9uIGFuZCBhbGxvdyBkdmJzcmMgdG8gYmUgYnVpbHQuCgoyMDA2LTEwLTEwIDE1OjA1OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZHZic3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9BVVRIT1JTOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9SRUFETUU6CgkgICogc3lzL2R2Yi9kdmItYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9hdWRpby5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9jYS5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9kbXguaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZnJvbnRlbmQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvbmV0Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL29zZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92ZXJzaW9uLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZpZGVvLmg6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBJbml0aWFsIGltcG9ydCBvZiBkdmJzcmMuCgkgIEN1cnJlbnRseSB3b24ndCBiZSBidWlsdC4KCjIwMDYtMTAtMTAgMTI6NDk6MDIgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBleHQvZ25vbWV2ZnMvOiBGaXggVVJJIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiByZXR1cm4gdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICBGaXggVVJJIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiByZXR1cm4gdHlwZS4KCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfc2V0X3Byb3BlcnR5KToKCSAgRml4IHdoYXQgbG9va3MgbGlrZSBhIGNvcHkvcGFzdGUgaXNzdWUgd2hlbiBhc3NpZ25pbmcgdmFsdWVzLgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2dldF90eXBlKToKCSAgQ2FzdCB0byBwcmV2ZW50IEZvcnRlIHdhcm5pbmdzLgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6IChnc3RfY2RkYV9iYXNlX3NyY19jcmVhdGUpOgoJICBGaXggVVJJIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiByZXR1cm4gdHlwZS4KCSAgZ3N0X3BhZF9xdWVyeV9wb3NpdGlvbiByZXF1aXJlcyBhIHNpZ25lZCBpbnRlZ2VyIHBvaW50ZXIgYXMKCSAgM3JkIHBhcmFtZXRlciwgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvYXVkaW9jb252ZXJ0LmM6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2FkZF9pbnB1dF9kYXRhKToKCSAgQ2FzdCB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnQuYzogKGJ1aWxkX3JnYl9wYWxldHRlKToKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4KCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0X3RlbXBsYXRlLmg6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuIFJHQkFfT1VUIHNoaWZ0cyBiaXRzLgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzogKHF1ZXVlX2ZpbGxlZF9jYiksCgkgIChjbGVhbnVwX2RlY29kZWJpbik6CgkgIFdobyBpbml0aWFsaXNlcyBhIGd1aW50IHRvIC0xIQoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9kZWFkbG9ja19jaGVjayksCgkgIChxdWV1ZV90aHJlc2hvbGRfcmVhY2hlZCk6CgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgY29ycmVjdGx5IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbWluZm8uYzogKGdzdF9zdHJlYW1faW5mb19kaXNwb3NlKToKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyBjb3JyZWN0bHkgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3NhcGFyc2UuYzogKGdzdF9zc2FfcGFyc2Vfc2V0Y2Fwcyk6CgkgIE9idmlvdXMgY2hhbmdlIHRvIHVuc2lnbmVkLCAweEVGID4gbWF4IHNpZ25lZCBjaGFyLgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdldF9idWZmZXJzX21heCksIChjb3VudF9idXJzdF91bml0KToKCSAgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLCBpbml0aWFsaXNlIGNvcnJlY3RseS4KCSAgKiBnc3QvdGNwL2dzdHRjcC5jOiAoZ3N0X3RjcF9zb2NrZXRfd3JpdGUpOgoJICBDYXN0IHNvIHBvaW50ZXIgYXJpdGhlbWV0aWMgZG9lc24ndCBjYXVzZSB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICBVc2UgY29ycmVjdCByZXR1cm4gdmFsdWUuCgkgICogdGVzdHMvZXhhbXBsZXMvc2Vlay9zY3J1YmJ5LmM6CgkgIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZCwgaW5pdGlhbGlzZSBjb3JyZWN0bHkuCgoyMDA2LTEwLTEwIDA5OjU3OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW9yZ2FuaXNlIHNvbWUgc3R1ZmYuCgkgIFBhcnNlIFJUU1AgcmVkaXJlY3Rpb24gVVJMUy4KCjIwMDYtMTAtMDcgMTE6Mzc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgIEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCjIwMDYtMTAtMDYgMTU6NTY6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyICA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2FuYWx5c2lzX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6ICh5dWxlX2ZpbHRlciksIChidXR0ZXJfZmlsdGVyKSwKCSAgKGFwcGx5X2ZpbHRlcnMpLCAocmVzZXRfZmlsdGVycyksIChhY2N1bXVsYXRvcl9hZGQpLAoJICAoYWNjdW11bGF0b3JfY2xlYXIpLCAoYWNjdW11bGF0b3JfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX25ldyksCgkgIChyZ19hbmFseXNpc19zZXRfc2FtcGxlX3JhdGUpLCAocmdfYW5hbHlzaXNfZGVzdHJveSksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9fZmxvYXQpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2ludDE2KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2ludDE2KSwgKHJnX2FuYWx5c2lzX2FuYWx5emUpLAoJICAocmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwgKHJnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksCgkgIChyZ19hbmFseXNpc19yZXNldF9hbGJ1bSksIChyZ19hbmFseXNpc19yZXNldCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5oOgoJICBBZGQgUmVwbGF5R2FpbiBhbmFseXNpcyBlbGVtZW50ICgjMzU3MDY5KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGdldF9leHBlY3RlZF9nYWluKSwKCSAgKHNldHVwX3JnYW5hbHlzaXMpLCAoY2xlYW51cF9yZ2FuYWx5c2lzKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHBvbGxfZW9zKSwgKHBvbGxfdGFncyksCgkgIChmYWlsX3VubGVzc190cmFja19nYWluKSwgKGZhaWxfdW5sZXNzX3RyYWNrX3BlYWspLAoJICAoZmFpbF91bmxlc3NfYWxidW1fZ2FpbiksIChmYWlsX3VubGVzc19hbGJ1bV9wZWFrKSwKCSAgKGZhaWxfaWZfdHJhY2tfdGFncyksIChmYWlsX2lmX2FsYnVtX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfbnVtX3RyYWNrcyksICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9pbnQxNl9zdGVyZW8pLCAocHVzaF9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAocmdhbmFseXNpc19zdWl0ZSksIChtYWluKToKCSAgVW5pdCB0ZXN0cyBmb3IgdGhlIG5ldyByZXBsYXlnYWluIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDE1OjQ5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBTb21lIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpOgoJICBTb21lIGNsZWFudXBzLgoJICBBZGRlZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBldmVyIGlnbm9yZSB1bmxpbmtlZCwgd2UncmUgbm90IGEgZGVtdXhlci4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgQWN0aXZhdGUgcGFkIGJlZm9yZSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQuCgoyMDA2LTEwLTA2IDEyOjAyOjA5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy4qOiBQb3J0IGxvdHMgb2YgY2hhbmdlcyBmcm9tIHRoZW9yYWRlYyB0byB0aGVvcmFleHBkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhZGVjX3Jlc2V0KSwKCSAgKHRoZW9yYV9nZXRfcXVlcnlfdHlwZXMpLCAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zcmNfZXZlbnQpLCAodGhlb3JhX2RlY19zaW5rX2V2ZW50KSwKCSAgKHRoZW9yYV9oYW5kbGVfY29tbWVudF9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksCgkgICh0aGVvcmFfaGFuZGxlX2hlYWRlcl9wYWNrZXQpLCAoY2xpcF9idWZmZXIpLCAodGhlb3JhX2RlY19wdXNoKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLCAodGhlb3JhX2RlY19jaGFpbiksCgkgICh0aGVvcmFfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgUG9ydCBsb3RzIG9mIGNoYW5nZXMgZnJvbSB0aGVvcmFkZWMgdG8gdGhlb3JhZXhwZGVjLgoJICBUaGlzIGNhdGNoZXMgdGhpcyBwbHVnaW4gdXAgdG8gdGhlb3JhZGVjLiBOb3RlIHRoYXQgZHVwbGljYXRlIGZyYW1lcwoJICBhcmUgYnJva2VuIGluIHRoZW9yYWRlYyBhdCB0aGUgbW9tZW50LgoKMjAwNi0xMC0wNiAxMTozMToxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgoyMDA2LTEwLTA2IDAyOjI5OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgUmVtb3ZlZCBjcnVmdCBjb2RlIHRoYXQgd2FzIGp1c3QgY29tbWVudGVkIG91dC4gUmVtb3ZlZCBzb21lIG9ic29sZXRlCgkgIGRlYnVnIGxvZ3Mgc3RhdGVtZW50cy4KCjIwMDYtMTAtMDUgMTg6MTQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX3NldGNhcHMpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNSAxNTo1NToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FkZXZpY2Vwcm9iZS5jOgoJICAoZ3N0X2Fsc2FfZGV2aWNlX3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzogKGdzdF9vZ2dfZGVtdXhfY2hhaW5fZWxlbV9wYWQpLAoJICAoZ3N0X29nZ19jaGFpbl9uZXdfc3RyZWFtKSwgKGdzdF9vZ2dfZGVtdXhfcmVhZF9jaGFpbik6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X3NlbmRfaGVhZGVycyksCgkgIChnc3Rfb2dnX211eF9wcm9jZXNzX2Jlc3RfcGFkKToKCSAgKiBleHQvb2dnL2dzdG9nZ3BhcnNlLmM6IChnc3Rfb2dnX3BhcnNlX25ld19zdHJlYW0pLAoJICAoZ3N0X29nZ19wYXJzZV9jaGFpbik6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOiAoZ3N0X29nbV9wYXJzZV9zdHJlYW1faGVhZGVyKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOiAodm9yYmlzX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX3NldHVwKSwKCSAgKGdzdF92b3JiaXNfZW5jX2J1ZmZlcl9jaGVja19kaXNjb250aW51b3VzKToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6ICh2b3JiaXNfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19yZW5kZXIpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19oYW5kbGVfdHJhY2tfc2Vlayk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX3B1c2hfZnVsbCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOiAoZ3N0X2Jhc2VydHBwYXlsb2FkX3B1c2gpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbnB1dF9wdXNodGhyb3VnaCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChxdWV1ZV9vdXRfb2ZfZGF0YSk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfaGFuZGxlX2NsaWVudHMpOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAobXAzX3R5cGVfZmluZF9hdF9vZmZzZXQpLAoJICAod2F2cGFja190eXBlX2ZpbmQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6IChnc3RfdmlkZW9fdGVzdF9zcmNfY3JlYXRlKToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VfYnVmZmVyX2Rlc3Ryb3kpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLCAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDQgMjI6Mzc6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC4qOiBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXggcGFzc3Rocm91Z2ggbW9kZTsgbGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfc2ltcGxlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9jcm9wX2NsZWFyX25lZ290aWF0ZWRfY2Fwc19sb2NrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBIYW5kbGUgcGFja2VkIFlVViBmb3JtYXRzIChVWVZZLCBZVVkyLCBZVVlWKSBzZXBhcmF0ZWx5OyBhbHNvLCBmaXgKCSAgcGFzc3Rocm91Z2ggbW9kZTsgbGFzdGx5LCBjbGVhciBuZWdvdGlhdGVkIGJhc2V0cmFuc2Zvcm0gY2FwcyB3aGVuCgkgIHRoZSBjcm9wcGluZyBjaGFuZ2VzIGluIG9yZGVyIHRvIGZvcmNlIHJlbmVnb3RpYXRpb24uCgoyMDA2LTEwLTA0IDIwOjA1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0IHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHF1aXRfbWFpbmxvb3ApLCAodGlja19jYiksCgkgICh0ZXN0X3dpdGhfY2FwcyksICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLCAobWFpbik6CgkgIFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQKCSAgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24gZG9lc24ndCB3b3JrIHlldCBmb3IgdW5rbm93bgoJICByZWFzb25zIChhbm90aGVyIGJhc2V0cmFuc2Zvcm0gaXNzdWU/KQoKMjAwNi0xMC0wNCAxMDo1NToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbW92ZSBtb3JlIHY0bDIgc3R1ZmYsIGhvcGVmdWxseSBmaXhpbmcgJ21ha2UgZGlzdGNoZWNrJyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgICogc3lzL3Y0bDIvLmN2c2lnbm9yZToKCSAgUmVtb3ZlIG1vcmUgdjRsMiBzdHVmZiwgaG9wZWZ1bGx5IGZpeGluZyAnbWFrZSBkaXN0Y2hlY2snIGFnYWluLgoKMjAwNi0xMC0wNCAxMDoyOToyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICByZW1vdmVkIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlZCB2NGwyCgoyMDA2LTEwLTAzIDE4OjMyOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgcmVtb3ZpbmcgaWNsZSBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZpbmcgaWNsZSBmb3IgdjRsMgoKMjAwNi0xMC0wMyAxODoyNzo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbW92ZSBsYXN0IGNvbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBsYXN0IGNvbmQKCjIwMDYtMTAtMDMgMTg6MjM6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL1JFQURNRToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCjIwMDYtMTAtMDMgMTM6NDc6MTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCjIwMDYtMTAtMDMgMTM6MzA6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICBjb21tZW50IG91dCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBhbHJlYWR5IHBhcnQgb2YgdGhlIHR1bmVyCgkgIGludGVyZmFjZS4KCjIwMDYtMTAtMDMgMTM6MTg6NTkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEltcHJvdmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMDMgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDYtMTAtMDIgMTM6Mjg6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkLmM6IFNldCByYW5rIG9mIHh2aWRkZWMgdG8gTk9ORSB1bnRpbCBzb21lb25lIGZpeGVzIGl0ICh0b28gbWFueSBjcmFzaGVyIGJ1ZyByZXBvcnRzIGFnYWluc3QgdG90ZW0sIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayBvZiB4dmlkZGVjIHRvIE5PTkUgdW50aWwgc29tZW9uZSBmaXhlcyBpdCAodG9vIG1hbnkgY3Jhc2hlcgoJICBidWcgcmVwb3J0cyBhZ2FpbnN0IHRvdGVtLCBwZW9wbGUgc2hvdWxkIHVzZSBnc3QtZmZtcGVnKS4KCjIwMDYtMDktMjggMTc6MDg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2FsbF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXBzKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBJbml0IGZyYW1lcmF0ZSB0byAwLzEgYmVmb3JlIHF1ZXJ5aW5nIGl0IHNvIHRoYXQgd2UgY2FuIGRldGVjdAoJICBkZXZpY2VzIHRoYXQgZG9uJ3Qga25vdyBhYm91dCBhIGZyYW1lcmF0ZS4KCSAgQWRkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgaW5mby4KCjIwMDYtMDktMjggMTQ6MzE6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCjIwMDYtMDktMjcgMTc6NDc6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIHNldC11bmRlZi1mcHMuCgoyMDA2LTA5LTI3IDE3OjA0OjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jb250YWluc19jaGFubmVsKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfc2V0X2NoYW5uZWxfYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfY2hhbm5lbCksIChnc3RfdjRsMl90dW5lcl9jb250YWluc19ub3JtKSwKCSAgKGdzdF92NGwyX3R1bmVyX2xpc3Rfbm9ybXMpLCAoZ3N0X3Y0bDJfdHVuZXJfc2V0X25vcm1fYW5kX25vdGlmeSksCgkgIChnc3RfdjRsMl90dW5lcl9nZXRfbm9ybSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX2VtcHR5X2xpc3RzKToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19nZXRfZnBzKToKCSAgUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgoyMDA2LTA5LTI3IDE2OjE0OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX3NldF9ub3JtKSwKCSAgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLCAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX2dldF9pbnB1dCksCgkgIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgICogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6IChteV9idXNfY2FsbGJhY2spLCAobWFpbik6CgkgIFNtYWxsIGNsZWFudXBzLgoJICBGaXggZXJyb3IgbWVzc2FnZXMuCgkgIFVzZSBsb2NrcyB3aGVuIGdldHRpbmcgdGltZXN0YW1wcy4KCSAgRml4IGxlYWtzIGluIHRlc3QuCgkgIEFkZCBsaWNlbnNpbmcgaGVhZGVyIHRvIHRlc3RzLgoKMjAwNi0wOS0yNyAxNToxNDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwNi0wOS0yNiAxNDoxNzo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgRml4IGRvY3MuCgkgIFJlbW92ZSBzb21lIG1vcmUgZXh0ZXJucy4KCjIwMDYtMDktMjYgMTM6MTg6MDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2RldmljZV9nZXRfdHlwZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggY29kaW5nIHN0eWxlOgoJICAtIFJlbW92ZSBleHRlcm4gZnJvbSBmdW5jdGlvbnMuCgkgIC0gRml4IGhlYWRlciBpbmRlbnRhdGlvbi4KCSAgRml4IEZsYWdzLCBhZGQgZGVmYXVsdHMgZm9yIHByb3BlcnRpZXMuCgkgIFJlbW92ZSB1bnVzZWQgZW51bXMuCgkgIEZpeCBUT09fTEFaWSBpbiBlcnJvciBtZXNzYWdlcy4KCjIwMDYtMDktMjYgMTE6MDY6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKSwKCSAgKGdzdF92NGwyX3Byb2JlX25lZWRzX3Byb2JlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2Rlc3Ryb3kpLCAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKSwKCSAgKGdzdF92NGwyX29iamVjdF9zdGFydCksIChnc3RfdjRsMl9vYmplY3Rfc3RvcCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfaW5pdCksIChnc3RfdjRsMnNyY19kaXNwb3NlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdjRsMnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3Y0bDJzcmNfZml4YXRlKSwgKGdzdF92NGwyc3JjX2dldF9jYXBzKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXBzKSwgKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2dldF9tbWFwKSwgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKSwgKGdzdF92NGwyX2Nsb3NlKSwgKGdzdF92NGwyX2dldF9ub3JtKSwKCSAgKGdzdF92NGwyX3NldF9ub3JtKSwgKGdzdF92NGwyX2dldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zaWduYWxfc3RyZW5ndGgpLAoJICAoZ3N0X3Y0bDJfZ2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9zZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX2dldF9pbnB1dCksIChnc3RfdjRsMl9zZXRfaW5wdXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ3JhYl9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19nZXRfY2FwdHVyZSksIChnc3RfdjRsMnNyY19zZXRfY2FwdHVyZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdGFydCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0b3ApLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9kZWluaXQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKSwgKGdzdF92NGwyc3JjX3NldF9mcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2ZwcyksIChnc3RfdjRsMnNyY19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX25ldyk6CgkgIEZpeCBwYXNzIGF0IGNvZGUgY2xlYW51cHMsIG1vdmUgZXJyb3JzIGNhc2VzIG91dCBvZiB0aGUgbm9ybWFsCgkgIGZsb3cgZm9yIGFkZGl0aW9uYWwgY29kZSBjbGFyaXR5LgoKMjAwNi0wOS0yMyAxMzoyMTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogUG9ydCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KSwKCSAgKGdzdF9jZGF1ZGlvX2luaXQpLCAoZ3N0X2NkYXVkaW9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9jZGF1ZGlvX2dldF9wcm9wZXJ0eSksIChnc3RfY2RhdWRpb19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2NkYXVkaW9fc2VuZF9ldmVudCksIChnc3RfY2RhdWRpb19nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X2NkYXVkaW9fcXVlcnkpLCAoY2RhdWRpb191cmlfc2V0X3VyaSk6CgkgIFBvcnQgdG8gMC4xMC4KCjIwMDYtMDktMjMgMDA6Mjg6MzUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4gKGZpeGVzICMzNTcyMTIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuCgkgIChmaXhlcyAjMzU3MjEyKQoKMjAwNi0wOS0yMiAxNjowODozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBhbmQgY29yZSBDVlMgKHRoZSBmb3JtYXQgZm9yIHRoZSB2aWRlbyBvcmllbnRhdGlvbiBpbnRlcmZhY2UgdXNlZCBieSB2NGwycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgYW5kIGNvcmUgQ1ZTICh0aGUgZm9ybWF0IGZvciB0aGUKCSAgdmlkZW8gb3JpZW50YXRpb24gaW50ZXJmYWNlIHVzZWQgYnkgdjRsMnNyYyBhbmQgdGhlIGxhdHRlcgoJICBzaW5jZSB0aGF0J3Mgd2hhdCAtYmFzZSBDVlMgcmVxdWlyZXMpLgoKMjAwNi0wOS0yMiAxNTo1OTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0CgkgIGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4ndCB0cnVtcCBwbHVnaW5zIGluIC1iYXNlLCAtZ29vZCBvciAtdWdseQoJICAoaW4gdGhpcyBjYXNlIHhpbWFnZXNpbmspLgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgdG8gTk9ORSB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgYXV0b3BsdWdnZWQgdW50aWwKCSAgZXJyb3JzIGFyZSBoYW5kbGVkIHByb3Blcmx5IChzZWUgIzM1NzIxMikuCgoyMDA2LTA5LTIxIDE0OjAxOjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZXZlcnRlZCBwcmV2aW91cyBjb21taXQgKDIwMDYtMDktMTkgLSBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0pLiBBcyBkaWN1c3NlZCBvbiAjZ3N0cmVhbWVyIGl0IHNob3VsZCBiZSBkb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmVydGVkIHByZXZpb3VzIGNvbW1pdCAoMjAwNi0wOS0xOSAtIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbSkuIEFzIGRpY3Vzc2VkIG9uICNnc3RyZWFtZXIgaXQgc2hvdWxkIGJlIGRvbmUgaW4gc2VwYXJldGUgZWxlbWVudC4KCjIwMDYtMDktMjEgMTM6NDE6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEFkZCBkZWNvZGVyIHNwZWNpZmljIGluZm8gb24gdGhlIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKSwKCSAgKGdzdF9mYWFjX2NoYWluKToKCSAgQWRkIGRlY29kZXIgc3BlY2lmaWMgaW5mbyBvbiB0aGUgY2Fwcy4KCSAgU29tZSBjbGVhbnVwcyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDktMTkgMjE6NDk6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtCgoyMDA2LTA5LTE5IDE2OjI0OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoKMjAwNi0wOS0xOSAxMzowODozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgoyMDA2LTA5LTE5IDEwOjEwOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21kZWMuKjogSGFuZGxlIFdBVjQ5IHZhcmlhbnQgKEdTTSBpbiBXQVYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KSwKCSAgKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCksCgkgIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICBIYW5kbGUgV0FWNDkgdmFyaWFudCAoR1NNIGluIFdBVikuCgkgIFNvbWUgc21hbGwgY2xlYW51cHMuCgoyMDA2LTA5LTE4IDE1OjM2OjE0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCjIwMDYtMDktMTYgMjI6MzA6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogRml4IGJpZyBiYXRjaCBvZiBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2hlY2tfcmdiX2J1Zik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAodmFsaWRhdGVfb2dnX3BhZ2UpLCAoZW9zX3dhdGNoKSwKCSAgKHRlc3RfcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEZpeCBiaWcgYmF0Y2ggb2YgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA2LTA5LTE2IDIyOjE0OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSAgKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICBNb3JlIEdfT0JKRUNUIG1hY3JvIGZpeGluZy4KCjIwMDYtMDktMTUgMTk6MTE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCjIwMDYtMDktMTIgMjA6MTg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zdGFydCksIChnc3Rfc3BlY3RydW1fc3RvcCksIChnc3Rfc3BlY3RydW1fZXZlbnQpOgoJICBJbXBsZW1lbnRzIHN0b3AoKSB0byBjbGVhciB0aGUgYWRhcHRlciBhbmQgZXZlbnQoKSB0byBjbGVhciB0aGUKCSAgYWRhcHRlciBvbiBGTFVTSF9TVE9QIGFuZCBFT1MuCgoyMDA2LTA5LTExIDE4OjIzOjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgRml4IHR5cGUgbWl4dXAgaW4gc3BlY3RydW0tPmludGVydmFsIChnZG91YmxlPC0+Z3VpbnQ2NCkuIFNwb3R0ZWQgYnkKCSAgUmVuw6kgU3RhZGxlcgoKMjAwNi0wOS0xMSAxODowMjozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IFVzZSBtb3JlIGRlZmluZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1haW4pOgoJICBVc2UgbW9yZSBkZWZpbmVzCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEFwcGx5IHNvbWUgb2YgdGhlIHNwZWN0cnVtIGNsZWFudXAgY2hhbmdlcyBzdWdnZXN0ZWQgaW4gIzM0ODA4NS4KCjIwMDYtMDktMDggMTY6NDc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIG9mIC1iYXNlICh2aWRlb2Nyb3AgdGVzdCBjYXNlIG5lZWRzIHRoaXMpLgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIERvY3VtZW50IHNsb3BweSBoYW5kbGluZyBvZiBzdWJzYW1wbGVkIGNocm9tYSBwbGFuZXMgaWYKCSAgbGVmdC90b3AgY3JvcHBpbmcgaXMgYW4gb2RkIG51bWJlci4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKGNoZWNrXzF4MV9idWZmZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgYW5vdGhlciB1bml0IHRlc3QgdGhhdCBjcm9wcyB0aGUgaW5wdXQgdG8gMXgxIChhbmQgY2hlY2tzCgkgIHRoYXQgdGhhdCBwaXhlbCBoYXMgdGhlIGV4cGVjdGVkIHZhbHVlcyBpbiBhIG51bWJlciBvZiBmb3JtYXRzKS4KCjIwMDYtMDktMDggMTE6MDQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvdmlkZW9jcm9wLzogU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpOgoJICBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbAoJICBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdCBmb3IgdGhlIG1lbWNweSgpcwoJICB3ZSBkbywgc28gcmVtb3ZlIGxpYm9pbCB1c2FnZSB1bnRpbCB0aGVyZSBpcyBjbGVhciBldmlkZW5jZQoJICBpdCBhY3R1YWxseSBtYWtlcyBhIHBvc2l0aXZlIGRpZmZlcmVuY2Ugc29tZXdoZXJlLgoKMjAwNi0wOS0wMyAyMToxMjozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgaGlnaGVyIHVwIGZpcnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBoaWdoZXIgdXAgZmlyc3QKCjIwMDYtMDktMDMgMTA6NDY6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4gYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKGJ1ZmZlcl9wcm9iZV9jYiksICh0ZXN0X2NhcHNfdHJhbnNmb3JtKSwgKHRlc3RfcGFzc3Rocm91Z2gpLAoJICAobm90Z3N0X3ZhbHVlX2xpc3RfZ2V0X250aF9pbnQpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgTW9yZSB0ZXN0czogY2hlY2sgcGFzc3Rocm91Z2ggbW9kZSBhbmQgY2FwcyB0cmFuc2Zvcm0gaW4KCSAgYm90aCBkaXJlY3Rpb25zIHdpdGggZml4ZWQgdmFsdWVzLCByYW5nZXMgYW5kIGxpc3RzLgoKMjAwNi0wOS0wMiAxODo0OTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIE1vdmUgYm9pbGVycGxhdGUgc3R1ZmYgYW5kIHN0cnVjdHVyZXMgaW50byBhIGhlYWRlciBmaWxlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6ICh2aWRlb19jcm9wX2dldF90ZXN0X2NhcHMpLAoJICAodGVzdF91bml0X3NpemVzKSwgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksICh0ZXN0X2Nyb3BwaW5nKSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB2aWRlb2Nyb3AuCgoyMDA2LTA5LTAyIDE1OjMwOjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZSBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZpZGVvY3JvcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2Nyb3BfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3VuaXRfc2l6ZSksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wbGFuYXIpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb24pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbl92YWx1ZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fY2FwcyksIChnc3RfdmlkZW9fY3JvcF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9ydC9yZXdyaXRlIHZpZGVvY3JvcCBmcm9tIHNjcmF0Y2ggZm9yIEdTdHJlYW1lci0wLjEwLCBhbmQgbWFrZQoJICBpdCBzdXBwb3J0IGFsbCBmb3JtYXRzIHZpZGVvc2NhbGUgc3VwcG9ydHMgKCMzNDU2NTMpLgoKMjAwNi0wOS0wMiAxNDo0NTowNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgIFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgoyMDA2LTA5LTAyIDE0OjI4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgoyMDA2LTA4LTMxIDEzOjAxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9uc2YvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTCgoyMDA2LTA4LTMwIDE4OjAxOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTM6MzA6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kIG5ld19zZWdtZW50IGluIEdTVF9GT1JNQVRfVElNRSBpbnN0ZWFkIG9mIGluIEdTVF9GT1JNQVRfQllURVMuCgoyMDA2LTA4LTMwIDExOjM2OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCjIwMDYtMDgtMzAgMTE6Mjc6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIFJlbW92aW5nIG15c3RpYyBtb2RpZmljYXRpb25zIGZvciBnb29kLgoKMjAwNi0wOC0zMCAxMTowNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkgdGhlIGxhc3QgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5CgkgIHRoZSBsYXN0IGNvbW1pdAoKMjAwNi0wOC0zMCAxMDo0Mzo1MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgoyMDA2LTA4LTI5IDIwOjU5OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGZyYW1lcmF0ZSBuZWdvdGlhdGlvbi4KCjIwMDYtMDgtMjkgMTI6MDc6MzggKzAwMDAgIEFuZHJldyBBbmRramFyIDxlbmtpQGdvb2RzaGlwLm5ldD4KCgkgIGV4dC9zZGwvOiBPbmx5IGRlLWluaXQgdGhlIHN1YnN5c3RlbSB3ZSBwcmV2aW91c2x5IGluaXRpYWxpc2VkLiBBdm9pZHMgYm9ya2FnZSB3aGVuIGJvdGggc2RsdmlkZW9zaW5rIGFuZCBzZGxhdWRpb3Npbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJldyBBbmRramFyICA8ZW5raSBhdCBnb29kc2hpcCBuZXQ+CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX2Nsb3NlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zdXBwb3J0ZWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZWluaXRzZGwpOgoJICBPbmx5IGRlLWluaXQgdGhlIHN1YnN5c3RlbSB3ZSBwcmV2aW91c2x5IGluaXRpYWxpc2VkLiBBdm9pZHMKCSAgYm9ya2FnZSB3aGVuIGJvdGggc2RsdmlkZW9zaW5rIGFuZCBzZGxhdWRpb3NpbmsgYXJlIHVzZWQKCSAgYXQgdGhlIHNhbWUgdGltZSBhbmQgb25lIGlzIHNodXQgZG93bi4KCjIwMDYtMDgtMjggMTc6NDc6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgoyMDA2LTA4LTI4IDE0OjU5OjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAwNi0wOC0yNCAwOToyNDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgRm9yd2FyZCBxdWVyaWVzIGluIG90aGVyIGZvcm1hdHMgKEJZVEUgZm9ybWF0IGluIHBhcnRpY3VsYXIpCgkgIHVwc3RyZWFtOyBhZGQgU2ViYXN0aWFuIHRvIGF1dGhvcnMuCgoyMDA2LTA4LTI0IDAwOjQwOjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBzZXRfY2FwcyB0byBzZXQgd2lkdGggYW5kIGhlaWdodCB0byB0aGUgdmFsdWVzIHRoZSBkcml2ZXIgaXMgcmVhbGx5IHdvcmtpbmcgd2l0aC4KCjIwMDYtMDgtMjMgMTA6MzA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkIGFzIHdlbGwgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayk6CgkgIEZpeCBtZW0gbGVhaywgc2VuZCBuZXdzZWdtZW50IGV2ZW50IG9uIGNvcnJlY3Rpb24gcGFkCgkgIGFzIHdlbGwgKCMzNTI0NzYpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgUmVzdG9yZSBvcmlnaW5hbCBhdXRob3IgKG9uIFNlYmFzdGlhbidzIHJlcXVlc3QpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgKHNvIGZhciBlbXB0eSkgc3VwcHJlc3Npb24gZmlsZSBmb3IgLWJhZC4gUmVtb3ZlCgkgIHdhdnBhY2tlbmMgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBub3cgdGhhdCB0aGUgbGVhawoJICBpcyBmaXhlZC4KCjIwMDYtMDgtMjMgMDk6MjI6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tkZWNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2VuY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrcGFyc2UuYzogKHdhdnBhY2twYXJzZV9mb3VuZF9wYWQpLAoJICAoc2V0dXBfd2F2cGFja3BhcnNlKSwgKGNsZWFudXBfd2F2cGFja3BhcnNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHdhdnBhY2twYXJzZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMyAwODo1Mjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgQWRkIGRvY3MgZm9yIHdhdnBhY2sgZWxlbWVudHMgKCMzNTI0NzYpLgoKMjAwNi0wOC0yMiAyMDozOToyNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgcXVlcnkgc2l6ZSB0byB3b3JrIHdpdGggZHJpdmVycyB0aGF0IHVzZXMgaW50ZXJtZWRpYXRlIHN0ZXAgbGlrZSAid2lkdGggKiBoZWlnaHQiIHRvIGZpbmQgY2xvc2VzdCBzaXplLgoKMjAwNi0wOC0yMSAxOTowMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlIGdkcCBwbHVnaW4gdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIG1vdmUgZ2RwIHBsdWdpbiB0byBnb29kLgoKMjAwNi0wOC0yMSAxNjoyNDoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgRml4IHNvbWUgcGFsZXR0ZWQgZGF0YSBmb3JtYXRzIGFnYWluLgoJICBGaXggdWxhdy9hbGF3IGluIHF0LgoJICBTZXQgY29ycmVjdCBjYXBzIGZvciByYXcgUkdCLgoJICBBZGQgc3VwcG9ydCBmb3IgeXV2Miwgd2hpY2ggaXMgbGlrZSBZdXYyLgoJICBBZGQgc3VwcG9ydCBmb3IgcmF3IGF1ZGlvIHdpdGggdGhlIE5PTkUgZm91cmNjLCB3aGljaCBpcyBsaWtlIHJhdy4KCjIwMDYtMDgtMjEgMTY6MjE6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbS5jOiBNYWtlIHJhbmsgUFJJTUFSWSBub3cgdGhhdCBHU00gc2VlbXMgdG8gd29yayBmaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbS5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHJhbmsgUFJJTUFSWSBub3cgdGhhdCBHU00gc2VlbXMgdG8gd29yayBmaW5lLgoKMjAwNi0wOC0yMSAxMzo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrLzogTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8gcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvCgkgIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXRoICdHc3QnIHRvIG1ha2UgaXQgY2xlYXJlcgoJICB3aGVyZSB0aGV5IGNvbWUgZnJvbS4KCjIwMDYtMDgtMjEgMTM6MjY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKSBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KToKCSAgRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpCgkgIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2NjMpOyB1c2UgR1NUX1dBUk5JTkdfT0JKRUNUIGluc3RlYWQgb2YKCSAgR1NUX0VMRU1FTlRfV0FSTklORzsgc2ltcGxpZnkgcHVzaF9ibG9jaygpOyBkbyBzb21lIHNtYWxsCgkgIGNsZWFuLXVwcyBoZXJlIGFuZCB0aGVyZTsgZml4IG1lbWxlYWsgKCMzNTE2NjMpLgoKMjAwNi0wOC0yMCAxMzowNTo0MyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzogTG93ZXIgZGVidWcsIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfZ2V0X3VuaXRfc2l6ZSksIChzZXRfc3RydWN0dXJlX3dpZHRocyk6CgkgIExvd2VyIGRlYnVnLCB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChhdWRpb3Jlc2FtcGxlX2dldF91bml0X3NpemUpOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9mZm1wZWdjc3BfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2dldF91bml0X3NpemUpOgoJICB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCjIwMDYtMDgtMTggMjE6Mzk6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZCB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5kX21hcmtlciksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKToKCSAgRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQKCSAgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmV0d2VlbiBmcmFtZXMgaW4gcHVsbCBtb2RlIGFzIHdlbGwgaWYKCSAgbmVjZXNzYXJ5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyX2R1cmF0aW9uKCk7IHB1c2ggRU9TIGFuZAoJICBORVdTRUdNRU5UIGV2ZW50IGluIHJpZ2h0IGRpcmVjdGlvbiAoIzM1MTY1OSkuCgoyMDA2LTA4LTE2IDE2OjUwOjAwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmR5IFdpbmdvIDx3aW5nbyBhdCBwb2JveCBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBNYWtlIGxhZHNwYSBlbGVtZW50cyByZXVzYWJsZS4gRml4ZXMgIzM1MDAwNi4KCjIwMDYtMDgtMTYgMTU6MzM6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZSBuYW1lcyBhcyBwb3NzaWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KToKCSAgQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUKCSAgbmFtZXMgYXMgcG9zc2libGUuCgoyMDA2LTA4LTE2IDE0OjQ3OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUgcGVuIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpOgoJICBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZQoJICBwZW4gYW55bW9yZS4KCjIwMDYtMDgtMTYgMTA6NDA6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0ICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdAoJICAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmRlcnNjb3JlcyBpbgoJICBHT2JqZWN0IHByb3BlcnR5IG5hbWVzLgoKMjAwNi0wOC0xNSAyMDoyOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLio6IE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsgc29tZSBzbWFsbCBjbGVhbi11Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbiksIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgIE1ha2Ugd2F2cGFja3BhcnNlIGFsc28gd29yayBpbiBwdXNoLW1vZGUgKG5vdCBzZWVrYWJsZSB5ZXQgdGhvdWdoKTsKCSAgc29tZSBzbWFsbCBjbGVhbi11cHMgYWxvbmcgdGhlIHdheTsgYWRkIHN1cHBvcnQgZm9yIFNFRUtJTkcgcXVlcnkKCSAgYW5kIHF1ZXJ5IHR5cGVzIGZ1bmN0aW9uLiAoIzM1MTQ5NSkuCgoyMDA2LTA4LTE1IDE5OjI5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGxlYWtzICgjMzUxNTAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgIEZpeCBsZWFrcyAoIzM1MTUwMikuCgoyMDA2LTA4LTE0IDEwOjA2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUKCSAgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmltdW0gcmVxdWlyZWQKCSAgYml0cmF0ZSBpbmZvcm1hdGlvbiBpZiBhdmFpbGFibGUuICgjMzUwMzk5KQoKMjAwNi0wOC0xMCAxNzowOToxMCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBCaXRyYXRlIGluIHRoZSBmYWFjIHN0cnVjdHVyZSBpcyBwZXIgb3V0cHV0IGNoYW5uZWwsIG5vdCB0b3RhbCBiaXRyYXRlICgjMzUwNzQxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwuYmVuZXMgYXQgaXRvbmlzIHR2PgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKToKCSAgQml0cmF0ZSBpbiB0aGUgZmFhYyBzdHJ1Y3R1cmUgaXMgcGVyIG91dHB1dCBjaGFubmVsLAoJICBub3QgdG90YWwgYml0cmF0ZSAoIzM1MDc0MSkuCgoyMDA2LTA4LTA5IDE3OjQxOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBGaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NoYWluKToKCSAgRml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlLgoKMjAwNi0wOC0wOSAxMDo0NTozMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeGVkIHVwIGFuZCBjbGVhbmVkIHVwIHRoZSAtYmFkIHNwZWMgZmlsZSB0byBoYXZlIHByb3BlciB0ZXN0cyBmb3Igd2hhdHMgaW5zdGFsbGVkIGFuZCBpdGVtcyBwdXQgaW4gY29ycmVjdCBjYXRlZ29yaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4ZWQgdXAgYW5kIGNsZWFuZWQgdXAgdGhlIC1iYWQgc3BlYyBmaWxlIHRvIGhhdmUgcHJvcGVyIHRlc3RzIGZvciB3aGF0cyBpbnN0YWxsZWQgYW5kIGl0ZW1zIHB1dCBpbiBjb3JyZWN0IGNhdGVnb3JpZXMuCgoyMDA2LTA4LTA4IDE0OjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHNpbGx5IHR5cG8uCgoyMDA2LTA4LTA4IDEzOjU3OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBOb3cgaW5jbHVkZXMgImNvbmZpZy5oIgoKMjAwNi0wOC0wOCAxMzo0NTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCjIwMDYtMDgtMDQgMjE6MDQ6NTUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWxsb3cgSFRUUCByZWRpcmVjdCAoSFRUUCBzdGF0dXMgY29kZSAzMDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWxsb3cgSFRUUCByZWRpcmVjdCAoSFRUUCBzdGF0dXMgY29kZSAzMDIpLgoKMjAwNi0wOC0wNCAxMzoyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgoyMDA2LTA4LTA0IDExOjM4OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3Jpbmcgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nCgkgIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yIGtlZXBpbmcKCSAgdHJhY2sgb2YgaXRzIHN0YXRlLiBDaGFuZ2UgdGhlIEZsb3dSZXR1cm4gaW5zdGFuY2UgdmFyaWFibGUgZnJvbQoJICAic3RhdGUiIHRvICJmbG93X3N0YXRlIiwgYWxsIGNhbGxlcnMgY2hhbmdlZC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXR1cCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0LCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdG9wKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCk6IE5ldyBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZQoJICBwcm9jZXNzb3IncyBzdGF0ZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBzdGFydCgpIGFzIHdlbGwgYXMgc2V0dXAoKSBoZXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6IFJlc3BlY3QgQ0FOX1BST0NFU1NfSU5fUExBQ0UuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBTdG9wIGFuZCBjbGVhbnVwIHRoZQoJICBwcm9jZXNzb3IgYXMgd2UgZ28gdG8gTlVMTC4KCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jIChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6IFJldXNlIGJ1ZmZlcnMgaWYKCSAgSU5QTEFDRV9CUk9LRU4gaXMgbm90IHNldC4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgRG8gdGhlIGFsbG9jX2J1ZmZlciBpbiBieXRlcywgbm90IGZyYW1lcy4KCjIwMDYtMDgtMDQgMDk6MjA6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEJQQgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogQlBCCgoyMDA2LTA4LTA0IDA5OjA1OjUzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91cGRhdGVfaW5wdXRzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcywgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOiBSZW1vdmUgdGhlIGxhc3Qgb2YgdGhlIGNvZGUKCSAgdGhhdCBhc3N1bWVzIHRoYXQgd2UgcHJvY2VzcyB3aG9sZSBidWZmZXJzIGF0IGEgdGltZS4gRml4IHNvbWUKCSAgZGVidWdnaW5nLiBTZWVtcyB0byB3b3JrIG5vdyBpbiBzb21lIGNhc2VzLgoKMjAwNi0wOC0wMyAxNDo0ODoyMiArMDAwMCAgY2FzY2FyZG8gYXQgaG9sb3Njb3BpbyBkb3QgY29tIDxjYXNjYXJkb0Bob2xvc2NvcGlvLmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogVXNlIHJpZ2h0IHZhcmlhYmxlcyB3aGVuIFVTRV9TUEMgaXMgZGVmaW5lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiAgY2FzY2FyZG8gYXQgaG9sb3Njb3BpbyBkb3QgY29tCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBVc2UgcmlnaHQgdmFyaWFibGVzIHdoZW4gVVNFX1NQQyBpcyBkZWZpbmVkLgoKMjAwNi0wOC0wMiAxNjo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRGlzYWJsZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9kZXBheV9zcmNfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIERpc2FibGUgc2Vla2luZy4KCSAgU21hbGwgY2xlYW51cHMuCgkgIENsZWFyIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIENsZWFyIGNhcHMgd2hlbiBnb2luZyB0byBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBSZXNldCBwYXlsb2FkZXIgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgRml4IGxlYWtlZCBidWZmZXJzIGluIC0+cXVldWUgb24gcHVzaCBlcnJvcnMuCgkgIERpc2FibGUgc2Vla2luZy4KCSAgQ29kZSBjbGVhbnVwcy4KCSAgQ3JlYXRlIHBhY2tldGl6ZXIgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoKMjAwNi0wNy0zMSAyMjoyNzoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogSW5pdCBwZW5kaW5nX2luIGFuZCBwZW5kaW5nX291dC4KCjIwMDYtMDctMzEgMjI6MDM6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObyBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8KCSAgbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGF0IHRoZSBzYW1wbGUKCSAgcmF0ZSBhY3R1YWxseSBnZXRzIHNldC4gU29tZXRoaW5nIGZvciB0aGUgZnV0dXJlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IFNvbWUgcmVmY291bnQgZml4ZXMsIGZsb3cgZml4ZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCk6IFJlZmNvdW50IGZpeGVuLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6IFB1bGwgdGhlIG51bWJlciBvZiBmcmFtZXMgdG8KCSAgcHJvY2VzcyBmcm9tIHRoZSBzaXplcyBvZiB0aGUgYnVmZmVycyBpbiB0aGUgaW5wdXQgcGVucy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpOiBSZW1vdmUgYW4gaW5jb3JyZWN0IEZJWE1FIDopCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6IEFkZCBhbiBuZnJhbWVzIGFyZ3VtZW50LCBhbmQgdXNlCgkgIGl0IGluc3RlYWQgb2YgYnVmZmVyX2ZyYW1lcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKTogUmVmY291bnQgZml4ZW4sIHBhc3MgbmZyYW1lcyBvbgoJICB0byBkb19wdWxscy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiAgUmVmY291bnQgZml4ZW4uCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogTm8gbW9yZSBidWZmZXJfZnJhbWVzLCB5YXkuCgoyMDA2LTA3LTMxIDE5OjQ0OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLCB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csCgkgIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OTE4OSkKCjIwMDYtMDctMzEgMTc6Mjk6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTMxICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UuCgoyMDA2LTA3LTMxIDE2OjUwOjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogRG9uJ3QgdHJ5IGFsbG9jYXRpbmcgaWYgd2UgYXJlIG5vdCBzZXR1cCB5ZXQuIEZhaWwgY2hhbmdpbmcgc3RhdGUgaWYgc2V0dXAgZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTMxICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOiBEb24ndCB0cnkgYWxsb2NhdGluZyBpZiB3ZSBhcmUKCSAgbm90CgkgIHNldHVwIHlldC4gRmFpbCBjaGFuZ2luZyBzdGF0ZSBpZiBzZXR1cCBmYWlscy4KCjIwMDYtMDctMzEgMDg6NDg6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20gdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbQoJICB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIzM0OTIwNAoKMjAwNi0wNy0yOSAxNjozMjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2VzcyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBGSVhNRSBjb21tZW50cywgZmlsZWQgIzM0OTE4OQoKMjAwNi0wNy0yOCAxNzoxNzoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IGxlYWsgcmVmZXJlbmNlcyB0byB0aGUgaW5jb21pbmcgY2Fwcy4gQ2xlYW4gdGhlbSB1cCB3aGVuIHN0b3BwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChhdWRpb3Jlc2FtcGxlX3N0b3ApLAoJICAoYXVkaW9yZXNhbXBsZV9zZXRfY2Fwcyk6CgkgIERvbid0IGxlYWsgcmVmZXJlbmNlcyB0byB0aGUgaW5jb21pbmcgY2Fwcy4gQ2xlYW4gdGhlbSB1cCB3aGVuCgkgIHN0b3BwaW5nLgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19zY2FsZV9maW5hbGl6ZSk6CgkgIERvbid0IGxlYWsgb3VyIHRlbXBvcmFyeSBwaXhlbCBidWZmZXIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzogKHJ1bl9waXBlbGluZSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzaW1wbGVfbGF1bmNoX2xpbmVzX3N1aXRlKToKCSAgRml4IGxlYWtzIGFuZCByZS1lbmFibGUgdGhlIHRlc3QgZm9yIHZhbGdyaW5kIGNoZWNraW5nLgoKMjAwNi0wNy0yOCAxMjoxNDowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuKjogQ2xlYW4tdXBzIGFuZCBjb2RlIHJlZmxvd3MuIFBhc3MgcmV0dXJuIHZhbHVlIGZyb20gZ3N0X3BhZF9hbGxvY19idWZmZXIoKSB1cHN0cmVhbSBhbW9uZyBvdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19pbml0KSwgKGdzdF94dmlkZGVjX3Jlc2V0KSwKCSAgKGdzdF94dmlkZGVjX3Vuc2V0KSwgKGdzdF94dmlkZGVjX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF94dmlkZGVjX3NldHVwKSwgKGdzdF94dmlkZGVjX25lZ290aWF0ZSksIChnc3RfeHZpZGRlY19jaGFpbiksCgkgIChnc3RfeHZpZGRlY19mbHVzaF9idWZmZXJzKSwgKGdzdF94dmlkZGVjX3NyY19nZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX3NldGNhcHMpLCAoZ3N0X3h2aWRkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgIENsZWFuLXVwcyBhbmQgY29kZSByZWZsb3dzLiBQYXNzIHJldHVybiB2YWx1ZSBmcm9tCgkgIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgdXBzdHJlYW0gYW1vbmcgb3RoZXIgdGhpbmdzLiBBbHNvIGNoZWNrCgkgIGZvciBOVUxMIEdWYWx1ZSBiZWZvcmUgdXNpbmcgR1NUX1ZBTFVFX1RZUEUgbWFjcm8gKCMzNDg5NzYpLgoJICBNYXNzIHJlbmFtZSBvZiB4dmlkZGVjIC0+IGRlYyB2YXJpYWJsZSBmb3IgYmV0dGVyCgkgIGNvZGUgcmVhZGFiaWxpdHkuCgoyMDA2LTA3LTI4IDEwOjE5OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZC5jOiBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgSTQyMC9ZVjEyLiBGaXhlcyAjMzQ4OTc2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChnc3RfeHZpZF9pbWFnZV9maWxsKToKCSAgRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIEk0MjAvWVYxMi4gRml4ZXMgIzM0ODk3Ni4KCjIwMDYtMDctMjcgMTA6NTA6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtLzogRml4IG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KSwKCSAgKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCk6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCksIChnc3RfZ3NtZW5jX3NldGNhcHMpOgoJICBGaXggbmVnb3RpYXRpb24uCgoyMDA2LTA3LTI2IDEwOjUyOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5IGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpOgoJICBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkKCSAgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50YWxseQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHJlbW92ZSBkZWNsYXJhdGlvbiBvZiBidWZmZXJzLCBpdCdzIGFscmVhZHkgZG9uZSBpbiBnc3RjaGVjay5oCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTA3LTIzIDExOjUyOjM0ICswMDAwICBDaHJpcyBMZWUgPGNsZWVAa2RlLm9yZz4KCgkgIEFkZCBsaWJvcGVuc3BjLWJhc2VkIFNQQyBkZWNvZGVyIGVsZW1lbnQgKCMzNDgyMjApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENocmlzIExlZSAgPGNsZWUgYXQga2RlIG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19uZWdvdGlhdGUpLCAoZ3N0X3NwY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9zcGNfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3NwY19kZWNfaW5pdCksIChnc3Rfc3BjX2RlY19jaGFpbiksCgkgIChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwgKGdzdF9zcGNfZGVjX3NyY19ldmVudCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnkpLCAoc3BjX3BsYXkpLCAoc3BjX3NldHVwKSwKCSAgKGdzdF9zcGNfZGVjX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NwYy9nc3RzcGMuaDoKCSAgQWRkIGxpYm9wZW5zcGMtYmFzZWQgU1BDIGRlY29kZXIgZWxlbWVudCAoIzM0ODIyMCkuCgoyMDA2LTA3LTE5IDE0OjM2OjAwICswMDAwICBNYXJ0aW4gU3p1bGVja2kgPGNvbXBpekBzdWtpbWFzaGl0YS5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdCBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJ0aW4gU3p1bGVja2kKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlcik6CgkgIElmICJkZXZpY2UtbmFtZSIgaXMgcmVxdWVzdGVkIGFuZCB0aGUgZGV2aWNlIGlzIG5vdAoJICBvcGVuLCB0cnkgdG8gdGVtcG9yYXJpbHkgb3BlbiBpdCB0byBvYnRhaW4gdGhpcwoJICBpbmZvcm1hdGlvbiAoIzM0MjQ5NCkuCgoyMDA2LTA3LTE5IDExOjQ3OjIwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wNy0xOSAxMTo0Mzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9uc2YvbnNmLmM6IFJlYWxseSBmaXggY29tcGlsYXRpb24uIEFwcGFyZW50bHkgaXQncyBub3QgZW5vdWdoIHRvIGp1c3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBmb3IgZXJyb3JzLCBidXQgd2Ugbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5jOiAobnNmX2xvYWQpOgoJICBSZWFsbHkgZml4IGNvbXBpbGF0aW9uLiBBcHBhcmVudGx5IGl0J3Mgbm90IGVub3VnaCB0bwoJICBqdXN0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgZm9yIGVycm9ycywgYnV0IHdlIG5lZWQgdG8KCSAgY2hlY2sgZm9yIHNob3J0IHJlYWRzIGFzIHdlbGwgKG5vdyBpZiBvbmx5IHdlIGhhbmRsZWQKCSAgdGhlbSB0b28gLi4uKS4gRml4ZXMgIzM0NzkzNS4KCjIwMDYtMDctMTggMTg6MDU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIEZpeCBjYXBzIGFmdGVyIHByZXZpb3VzIGNoYW5nZSB0byBieXRlIG9yZGVyIGVuZGlhbm5lc3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFF1ZXVlIGluY29taW5nIGV2ZW50cyBpZiB0aGVyZSdzIG5vIHNvdXJjZSBwYWQgeWV0IGFuZAoJICBzZW5kIHRoZW0gZG93bnN0cmVhbSBsYXRlciB3aGVuIHRoZSBwYWQgaXMgdGhlcmUuCgoyMDA2LTA3LTE4IDE2OjQ3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldCBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQKCSAgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdXQgc2FtcGxlcyB3aXRoIDIxLTI0IGJpdCBkZXB0aAoJICB3aXRoIDMyIGJpdCB3aWR0aCAobWFrZXMgdGhpbmdzIGVhc2llciBmb3IgdXMpLgoKMjAwNi0wNy0xOCAxNTo1MzozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24gcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uCgkgIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmVyIGdldHMgaW1wbGVtZW50ZWQgYSBsb3Qgb2Ygc3R1ZmYKCSAgd2lsbCBoYXZlIHRvIGJlIHJld3JpdHRlbiBhbnl3YXk7IHJlZG8gY2hhaW4gZnVuY3Rpb24sIG1vdmUKCSAgZXJyb3JzIHRvIGVuZCwgZXJyb3Igb3V0IGluc3RlYWQgb2YgZ19hc3NlcnQoKWluZy4gQWxzbyByZW5hbWUKCSAgb3Zlcmx5IGxvbmcgdmFyaWFibGUgJ3dhdnBhY2tkZWMnIHRvIGp1c3QgJ2RlYyc7IG1pc2NlbGxhbmVvdXMKCSAgb3RoZXIgc21hbGwgc3R1ZmYuCgoyMDA2LTA3LTE4IDE0OjA4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYgbmVjZXNzYXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciB3YXZwYWNrIHZlcnNpb24gYW5kIGRlZmluZSBXQVZQQUNLX09MRF9BUEkgaWYKCSAgbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzogKGdzdF93YXZwYWNrX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF93YXZwYWNrX3JlYWRfbWV0YWRhdGEpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9maW5hbGl6ZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICBQb3J0IHRvIG5ldy9vZmZpY2lhbCB3YXZwYWNrIEFQSSwgZG9uJ3QgdXNlIEFQSSB0aGF0IHdhcyBleHBvcnRlZAoJICBpbiB3YXZwYWNrIGhlYWRlciBmaWxlcyBhbmQgaW4gdGhlIGxpYiBidXQgbWVhbnQgdG8gYmUgcHJpdmF0ZSwgYXQKCSAgbGVhc3Qgbm90IGZvciByZWNlbnQgd2F2cGFjayB2ZXJzaW9uczsgbWlzYy4gJ2NsZWFudXBzJyAoIzM0NzQ0MykuCgoyMDA2LTA3LTE4IDA5OjM2OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi9uc2YuYzogRml4IGNvbXBpbGF0aW9uIGJ5IG5vdCBpZ25vcmluZyByZXR1cm4gdmFsdWVzIG9mIGZyZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25zZi5jOiAobnNmX2xvYWQpOgoJICBGaXggY29tcGlsYXRpb24gYnkgbm90IGlnbm9yaW5nIHJldHVybiB2YWx1ZXMgb2YgZnJlYWQuCgoyMDA2LTA3LTE3IDE1OjA5OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogYWRkaW5nIG1vcmUgaW5zcGVjdCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgYWRkaW5nIG1vcmUgaW5zcGVjdCBkb2NzCgoyMDA2LTA3LTE3IDE0OjQzOjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOiBhY3R1YWxseSBjb21taXQgaW5zcGVjdGF0aW9uIG9mIGdkcCBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICBhY3R1YWxseSBjb21taXQgaW5zcGVjdGF0aW9uIG9mIGdkcCBlbGVtZW50CgoyMDA2LTA3LTE3IDE0OjE3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcyBmaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE3ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcwoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgZml4IHR5cG8gaW4gY29tbWVudAoKMjAwNi0wNy0xNyAxMDoyNTo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgU3RvcmUgZHVyYXRpb24gaW4gdWludDY0IHRvbyBpbnN0ZWFkIG9mIGNsaXBwaW5nLgoJICBXaGVuIHdlIGRvIGEga2V5ZnJhbWUgc2VlayBhbmQgdGhlIHJlcXVlc3RlZCB0aW1lIGlzIGF0IHRoZQoJICBrZXlmcmFtZSwgZG9uJ3Qgc2VlayBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGtleWZyYW1lLgoJICBGaXhlcyAjMzQ3NDM5LgoKMjAwNi0wNy0xNiAxNDo0NjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgY3Jhc2ggb24gc21hbGwgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9zeW5jKToKCSAgRG9uJ3QgY3Jhc2ggb24gc21hbGwgYnVmZmVycy4KCjIwMDYtMDctMTUgMTE6NTc6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogUmVzZXQgYWRhcHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX3NpbmtfYWN0aXZhdGUpOgoJICBSZXNldCBhZGFwdGVyLgoKMjAwNi0wNy0xNSAxMTo1MDoyNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgRG8gbm90IHVzZSBkZXByZWNhdGVkIGd0ayBmdW5jdGlvbnMuCgoyMDA2LTA3LTE0IDEwOjM0OjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkIGFzIGEgcGx1Z2luLCBub3QgYSBsaWIKCjIwMDYtMDctMTQgMDk6MTE6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmLzogUmVtb3ZlIGNyYWNrIG1hbGxvYy9mcmVlIHJlcGxhY2VtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBSZW1vdmUgY3JhY2sgbWFsbG9jL2ZyZWUgcmVwbGFjZW1lbnQuCgoyMDA2LTA3LTEzIDE1OjI1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBmaXggc2VnZmF1bHRzIGR1ZSB0byB3cm9uZyBnX2ZyZWUKCSAgYWRkIGV4YW1wbGUKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgZXhhbXBsZQoKMjAwNi0wNy0xMyAxNToyMjozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNy0xMyAxNToyMjoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHNkbHZpZGVvc2luayBwbHVnaW4gYW5kIHVwZGF0ZSB0aGUgcmVzdAoKMjAwNi0wNy0xMyAxNTowNzoyOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIE5TRiBkZWNvZGVyIHBsdWdpbi4gRml4ZXMgMTUxMTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2hlcyBieTogSm9oYW4gRGFobGluIDxqb2hhbiBhdCBnbm9tZSBkb3Qgb3JnPgoJICBSb25hbGQgQnVsdGplIDxyYnVsdGplIGF0IHJvbmFsZCBkb3QgYml0ZnJlYWsgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2RpczY1MDIuaDoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSAgKiBnc3QvbnNmL2Ztb3BsLmM6CgkgICogZ3N0L25zZi9mbW9wbC5oOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvbnNmL2xvZy5jOgoJICAqIGdzdC9uc2YvbG9nLmg6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5oOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5oOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5jOgoJICAqIGdzdC9uc2YvbmVzX2FwdS5oOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgKiBnc3QvbnNmL29zZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5oOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIEFkZGVkIE5TRiBkZWNvZGVyIHBsdWdpbi4gRml4ZXMgMTUxMTkyLgoKMjAwNi0wNy0xMyAxMjo0MjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBPbmx5IHJ1biBtcGVnMmVuYyB1bml0IHRlc3QgaWYgd2UgYnVpbHQgdGhlIG1wZWcyZW5jIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE9ubHkgcnVuIG1wZWcyZW5jIHVuaXQgdGVzdCBpZiB3ZSBidWlsdCB0aGUgbXBlZzJlbmMgcGx1Z2luLgoKMjAwNi0wNy0xMyAxMjoyNDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZXJyb3Igb3V0IGluIGNvbmZpZ3VyZSBpZiBtanBlZ3Rvb2xzIGRldiBpcyBub3QgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgZXJyb3Igb3V0IGluIGNvbmZpZ3VyZSBpZiBtanBlZ3Rvb2xzIGRldiBpcyBub3QgdGhlcmUuCgoyMDA2LTA3LTEzIDExOjA2OjQ1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgUG9ydCBtcGVnMmVuYyB0byAwLjEwICgjMzQzMTg0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkgIFBvcnQgbXBlZzJlbmMgdG8gMC4xMCAoIzM0MzE4NCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBtcGVnMmVuYy4KCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgcGl0Y2gtdGVzdC4KCjIwMDYtMDctMTIgMDk6Mjg6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgoyMDA2LTA3LTEwIDE0OjQ5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2ZpbHRlci86IERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIERvbid0IGZvcmdldCBuZXcgZmlsZXMuCgoyMDA2LTA3LTEwIDE0OjQzOjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqKiogZW1wdHkgbG9nIG1lc3NhZ2UgKioqCgoyMDA2LTA3LTEwIDE0OjQyOjE1ICswMDAwICBNYXRoaXMgSG9mZXIgPG1hdGhpcy5ob2ZlckBkcmVhbWxhYi5uZXQ+CgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWF0aGlzIEhvZmVyIDxtYXRoaXMgZG90IGhvZmVyIGF0IGRyZWFtbGFiIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9icHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19zZXRfY2FwcyksIChicHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChicHdzaW5jX3NldF9wcm9wZXJ0eSksIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2Rpc3Bvc2UpLCAoZ3N0X2lpcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9jbGFzc19pbml0KSwgKGdzdF9paXJfaW5pdCksIChpaXJfc2V0X2NhcHMpLAoJICAoaWlyX3RyYW5zZm9ybV9pcCksIChpaXJfc2V0X3Byb3BlcnR5KSwgKGlpcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0X2NhcHMpLCAobHB3c2luY190cmFuc2Zvcm1faXApLAoJICAobHB3c2luY19zZXRfcHJvcGVydHkpLCAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICBQb3J0ZWQgdGhlIGdzdGZpbHRlciBwbHVnaW4gdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA2LTA3LTEwIDA5OjU3OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGNvbW1lbnQgaW5mb3JtYXRpb24hIQoKMjAwNi0wNy0xMCAwOTo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpOgoJICBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgoyMDA2LTA3LTA3IDE0OjMwOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBjcmFzaCBvbiB0d29zL3Nvd3QvcmF3IGF1ZGlvLiAjMzQ1ODMwLgoKMjAwNi0wNy0wNyAxMTo0NDowNSArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogUmVtb3ZlIHVubG9jayBmdW5jdGlvbi4gc3RhcnQvc3RvcCB3aWxsIGRvIGV2ZXJ5dGhpbmcgbmVlZGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6IGF0IHRvcGZyb3NlIGRvdCBkZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX2ZpbmFsaXplKSwKCSAgKHJlcXVlc3RfZGlzcGF0Y2gpLCAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdGFydCksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RvcCksIChzZXRfcHJveHkpLCAoc2V0X3VyaSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKSwgKHNpemVfaGVhZGVyX2hhbmRsZXIpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJlbW92ZSB1bmxvY2sgZnVuY3Rpb24uIHN0YXJ0L3N0b3Agd2lsbCBkbyBldmVyeXRoaW5nIG5lZWRlZAoJICBSZW1vdmVkIGNvZGUgdGhhdCB3YXMgbmV2ZXIgY2FsbGVkLgoJICBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXIuIERvbid0IHNlbmQgRU9TIC0gcGFyZW50IGNsYXNzIGRvZXMgdGhhdCBmb3IgdXMuCgkgIERvIG5vdCBlc2NhcGUgcGF0aC4gRml4ZXMgIzM0NjcyMy4KCSAgQWRkaXRpb25hbCBjb2RlIGNsZWFudXBzLgoKMjAwNi0wNy0wMyAyMDowMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIElWNDEgZm91cmNjIChzZWUgYnVnICMxNzExMTEpOyBkb24ndCBvdXRwdXQgY29uZnVzaW5nCgkgIGRlYnVnIG1lc3NhZ2Ugd2hlbiBza2lwcGluZyBhdG9tcy4KCjIwMDYtMDYtMjMgMDk6MDk6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpCgkgIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgoyMDA2LTA2LTIyIDEwOjEwOjUxICswMDAwICBDb2R5IFJ1c3NlbGwgPGJyYXRzY2hlQGdub21lLm9yZz4KCgkgIGdzdC86IEF2b2lkIHVubmVjZXNzYXJ5IGNsYXNzIGNhc3QgY2hlY2sgaW4gY2xhc3NfaW5pdCBmdW5jdGlvbnMgKCMzMzc3NDcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IENvZHkgUnVzc2VsbCA8YnJhdHNjaGUgYXQgZ25vbWUgb3JnPgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzogKGdzdF9zdWJfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ3N0X211bHRpX2ZkX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6IChnc3RfdGNwX2NsaWVudF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6IChnc3RfdGNwX2NsaWVudF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6IChnc3RfdGNwX3NlcnZlcl9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6IChnc3RfdGNwX3NlcnZlcl9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgIEF2b2lkIHVubmVjZXNzYXJ5IGNsYXNzIGNhc3QgY2hlY2sgaW4gY2xhc3NfaW5pdAoJICBmdW5jdGlvbnMgKCMzMzc3NDcpLgoKMjAwNi0wNi0yMCAxMTowNzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6IEZpeCBtb2RwbHVnIG9uIEFNRDY0LiBGaXhlcyAjMzQ1MzM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJICBGaXggbW9kcGx1ZyBvbiBBTUQ2NC4gRml4ZXMgIzM0NTMzNi4KCjIwMDYtMDYtMTkgMTQ6MDc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjaGVjayBzbyB0aGF0IGZ1dHVyZSBsaWJuZW9uIEFQSSBjaGFuZ2VzIHdvbid0IGJyZWFrIHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY2hlY2sgc28gdGhhdCBmdXR1cmUgbGlibmVvbiBBUEkgY2hhbmdlcyB3b24ndCBicmVhayB0aGUgYnVpbGQuCgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgRml4IGJ1aWxkIHdpdGggbGlibmVvbi0wLjI2LnggKCMzNDUxODIpLgoKMjAwNi0wNi0xOSAxMzoxNzo1NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zCgoyMDA2LTA2LTE3IDE1OjA5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksICMzNDM2MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwKCSAgIzM0MzYwMikuCgoyMDA2LTA2LTE2IDE1OjQzOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdGVzdCBjYXNlIGZvciBidWcgIzM0Mjc4OSBmaXhlZCBiZWxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAodGVzdF9yZXVzZSksCgkgIChhdWRpb3Jlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHRlc3QgY2FzZSBmb3IgYnVnICMzNDI3ODkgZml4ZWQgYmVsb3cuCgoyMDA2LTA2LTE2IDE1OjE3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBJbXBsZW1lbnQgR3N0QmFzZVRyYW5zZm9ybTo6c3RhcnQgYW5kIDo6c3RvcCBzbyB0aGF0IGF1ZGlvcmVzYW1wbGUgY2FuIGNsZWFyIGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3N0YXJ0KSwgKGF1ZGlvcmVzYW1wbGVfc3RvcCksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KToKCSAgSW1wbGVtZW50IEdzdEJhc2VUcmFuc2Zvcm06OnN0YXJ0IGFuZCA6OnN0b3Agc28gdGhhdCBhdWRpb3Jlc2FtcGxlCgkgIGNhbiBjbGVhciBpdHMgaW50ZXJuYWwgc3RhdGUgcHJvcGVybHkgYW5kIGJlIHJldXNlZCBpbnN0ZWQgb2YKCSAgY2F1c2luZyBub24tbmVnb3RpYXRlZCBlcnJvcnMgd2l0aCBwbGF5YmluIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcwoJICAoIzM0Mjc4OSkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChjbGVhbnVwX2F1ZGlvcmVzYW1wbGUpOgoJICBOZWVkIHRvIHNldCBlbGVtZW50IHN0YXRlIGhlcmUgc28gdGhhdCA6OnN0YXJ0IGFuZCA6OnN0b3AgYXJlCgkgIGNhbGxlZC4KCjIwMDYtMDYtMTYgMTI6MzU6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDYtMTYgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDYtMTYgMDk6NDk6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX3dpbmRvd19kZXN0cm95KSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIHBvcnQgdG8gdXNlIG1lc3NhZ2UgdG8gZ2V0IHJlc3VsdHMsIGNsZWFubHkgZXhpdCB3aGVuIGNsb3NpbmcgdGhlIHdpbmRvdwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX21lc3NhZ2VfbmV3KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBwb3J0IHRvIGRlcml2ZSBmcm9tIGJhc2V0cmFuc2Zvcm0gYW5kIHNlbmQgcmVzdWx0cyB2aWEgbWVzc2FnZXMKCSAgKGxpa2UgbGV2ZWwgZWxlbWVudCkKCjIwMDYtMDYtMTUgMTU6NTg6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgoyMDA2LTA2LTE1IDA4OjUwOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIEZpeGVzICMzNDQ5NDQuCgoyMDA2LTA2LTE0IDE4OjA3OjUxICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIGV4dC9zb3VuZHRvdWNoLzogTWFrZSBwaXRjaCBlbGVtZW50IGNvbnRyb2xsYWJsZSB2aWEgR3N0Q29udHJvbGxlciBpbnRlcmZhY2UgKCMzNDQ4MjEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gIDx3b3V0ZXIgYXQga2FuZ2Fyb290IG5ldD4KCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgTWFrZSBwaXRjaCBlbGVtZW50IGNvbnRyb2xsYWJsZSB2aWEgR3N0Q29udHJvbGxlciBpbnRlcmZhY2UKCSAgKCMzNDQ4MjEpLgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXAgY29yZSByZXF1aXJlbWVudHMgdG8gMC4xMC44LjEvQ1ZTIGJlY2F1c2UgZWFybGllcgoJICBHc3RDb250cm9sbGVycyBjYW4ndCBoYW5kbGUgZmxvYXQgcHJvcGVydGllcyBjb3JyZWN0bHkuCgkgIENoZWNrIGZvciBHc3RDb250cm9sbGVyIENGTEFHUyBhbmQgTElCUy4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6IChtYWluKToKCSAgQWRkIHNtYWxsIHRlc3QgcHJvZ3JhbSBmb3IgdGhlIGFib3ZlICh3ZWxjb21lIHRvIHRoZSA4MHMhKS4KCjIwMDYtMDYtMTQgMDk6MzI6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldyBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcyBvcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcKCSAgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3RoZXIgc3R1ZmYuIFNldCBkdXJhdGlvbgoJICB0byAndW5rbm93bicgaW4gaW5pdGlhbCBoZWFkZXIgYW5kIHJlc2VuZCBoZWFkZXIgd2l0aCBwcm9wZXIKCSAgZHVyYXRpb24gb24gRU9TOyB1cGRhdGUgU2ViYXN0aWFuJ3MgZS1tYWlsIGFkZHJlc3MuCgoyMDA2LTA2LTEyIDExOjMwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXgvOiAjZGVmaW5lIHJlZCBncmVlbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi8uY3ZzaWdub3JlOgoJICAqIGV4dC9kaXJlY3RmYi8uY3ZzaWdub3JlOgoJICAjZGVmaW5lIHJlZCBncmVlbgoKMjAwNi0wNi0xMiAxMTowNDo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMTEgMjI6Mzc6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgbW9hcCBpZ25vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vYXAgaWdub3JlCgoyMDA2LTA2LTExIDEzOjU3OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IHJlcXVpcmUgYW0xNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICByZXF1aXJlIGFtMTcKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fubm9kZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L2NkaW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBjbGVhbiB1cCBidWlsZCBmdXJ0aGVyCgoyMDA2LTA2LTEwIDE1OjMzOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxtYWlsQHNsb21vc25haWwuZGU+CgoJICBleHQvd2F2cGFjay86IEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPG1haWwgYXQgc2xvbW9zbmFpbCBkZT4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2F2cGFja19lbmNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9tZDUuYzoKCSAgKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCjIwMDYtMDYtMDkgMTc6Mzg6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUywgZml4ZXMgYnVpbGQgb24gY3lnd2luICgjMzQzODY2KS4KCjIwMDYtMDYtMDYgMTY6MjY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoKMjAwNi0wNi0wNiAxNjoxNDo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgZ2RwIHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJ1aWxkIGdkcCBwbHVnaW5zCgoyMDA2LTA2LTA2IDE1OjE2OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNi0wNiAxNDozOToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIGFkZCB2ZXJzaW9uIDEuMAoKMjAwNi0wNi0wMiAxNzowMTowMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBEb24ndCBidXN5LXdhaXQgaW4gdGVzdHM7IHRoaXMgd2FzIGNhdXNpbmcgdGVzdCB0aW1lb3V0cyB2ZXJ5IGZyZXF1ZW50bHkgd2hlbiBydW5uaW5nIHVuZGVyIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzogKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnZXRfZmxvYXRfbWNfY2FwcyksIChnZXRfaW50X21jX2NhcHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGJ1c3ktd2FpdCBpbiB0ZXN0czsgdGhpcyB3YXMgY2F1c2luZyB0ZXN0IHRpbWVvdXRzIHZlcnkKCSAgZnJlcXVlbnRseSB3aGVuIHJ1bm5pbmcgdW5kZXIgdmFsZ3JpbmQuCgoyMDA2LTA2LTAyIDE2OjQ1OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgc21hbGwgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGZpeGVzCgoyMDA2LTA2LTAyIDEzOjQzOjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiBUaGVvcmEgNDo0OjQgcGl4ZWwgZm9ybWF0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV80NDRfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgIFRoZW9yYSA0OjQ6NCBwaXhlbCBmb3JtYXQgc3VwcG9ydC4KCjIwMDYtMDYtMDIgMTA6Mjg6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpOgoJICBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcwoJICBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdkcHBheV9zdWl0ZSk6CgkgIGFkZCB0ZXN0IGZvciBjcmMKCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNi0wMSAxOToxOTo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50Lmg6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyb3B0aW9ucy5oOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcnRyYWNrLmg6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5oOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhZGVjLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFlbmMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYXBhcnNlLmg6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5oOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2Nsb2NrLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVyLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwYXVkaW9wYXlsb2FkLmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuaDoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmg6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmg6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuaDoKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5oOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuaDoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5oOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxqcGVnc3JjLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuaDoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuaDoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5oOgoJICAqIHRlc3RzL29sZC90ZXN0c3VpdGUvYWxzYS9zaW5lc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDUtMzEgMTk6MjY6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmg6IEZvcmdvdCB0byBjb21taXQgdGhlIGhlYWRlciBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBGb3Jnb3QgdG8gY29tbWl0IHRoZSBoZWFkZXIgZmlsZSB0b28uCgoyMDA2LTA1LTMxIDEzOjM3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGRlZCBHc3RTZWdtZW50IHRvIGNvbnRyb2wgc2VnbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWRfaW5pdCksCgkgIChnc3RfZmFhZF9kaXNwb3NlKSwgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgQWRkZWQgR3N0U2VnbWVudCB0byBjb250cm9sIHNlZ21lbnRzLgoJICBBZGRlZCBjbGlwcGluZy9kcm9wcGluZyBvZiBvdXRnb2luZyBidWZmZXJzIGluIG9yZGVyIHRvIGhhdmUgYWNjdXJhdGUKCSAgc2Vla2luZyB3b3JraW5nIHByb3Blcmx5LgoKMjAwNi0wNS0yOCAxNzowODoxNyArMDAwMCAgTHV0eiBNw7xsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZXh0L2J6Mi86IFVzZSBnc3RfdHlwZV9maW5kX2hlbHBlcl8qIGZ1bmN0aW9ucyBmb3IgdHlwZWZpbmRpbmc7IHVzZSBjb3JyZWN0IGNhcHMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBhZGQgc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNw7xsbGVyICA8bHV0eiBhdCB0b3Bmcm9zZSBkZT4KCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IChnc3RfYnoyZGVjX2NoYWluKSwgKGdzdF9iejJkZWNfaW5pdCksCgkgIChnc3RfYnoyZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfYnoyZGVjX2NsYXNzX2luaXQpOgoJICBVc2UgZ3N0X3R5cGVfZmluZF9oZWxwZXJfKiBmdW5jdGlvbnMgZm9yIHR5cGVmaW5kaW5nOyB1c2UKCSAgY29ycmVjdCBjYXBzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgYWRkIHN0YXRlIGNoYW5nZQoJICBmdW5jdGlvbiBhbmQgcmVzZXQgZGVjb2RlciBpbiBpdDsgZG9uJ3QgdW5yZWYgYnVmZmVyIGlmCgkgIHBhZF9wdXNoIGZhaWxzOyB1c2UgZml4ZWQgY2FwcyBvbiBzb3VyY2UgcGFkLiAoIzM0MTUyNCkuCgoyMDA2LTA1LTI2IDIyOjM1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fZnJlcXVlbmN5X2NoYW5nZWQpLAoJICAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgZml4IHR5cG8KCjIwMDYtMDUtMjYgMTM6MTY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcCB0aW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wCgkgIHRpbWUuCgoyMDA2LTA1LTI2IDExOjQ4OjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCjIwMDYtMDUtMjQgMTE6NTY6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIERldGVjdCBRQ0VMUCBpbiBtcDRhIGRlc2NyaXB0b3JzLgoKMjAwNi0wNS0yMiAxODowMDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcG8vUE9URklMRVMuaW46CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksIChwbHVnaW5faW5pdCk6CgkgIHBvL1BPVEZJTEVTLmluOgoJICBUaHJvdyBhbiBlcnJvciB3aGVuIHRoZSBmaWxlIGlzIGVuY3J5cHRlZC4gTW92ZSBwbHVnaW5faW5pdCBzdHVmZgoJICB0byB0aGUgZW5kIG9mIHRoZSBmaWxlLCBhZGQgc3R1ZmYgZm9yIGkxOG4sIG1ha2UgZGVidWcgY2F0ZWdvcnkKCSAgc3RhdGljLgoKMjAwNi0wNS0yMiAxNjoyNDoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc2lnaCwgcmVhbGx5IGRvbid0IGJ1aWxkIHRoZXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzaWdoLCByZWFsbHkgZG9uJ3QgYnVpbGQgdGhlc2UKCjIwMDYtMDUtMjIgMTY6MDg6MzQgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQHhlcmlzLmN6PgoKCSAgTmV3IHBsdWdpbjogaDI2NHBhcnNlICgjMzQwNjM4KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbCBkb3QgYmVuZXMgYXQgeGVyaXMgZG90IGN6PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2gyNjRfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9pbml0KSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2hhbmRsZV9ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgTmV3IHBsdWdpbjogaDI2NHBhcnNlICgjMzQwNjM4KQoKMjAwNi0wNS0yMiAxNTo1MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9wYXlfY2hhaW4pLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zCgkgIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgY2xlYW4gdXAgbW9yZQoKMjAwNi0wNS0yMiAxNDozNzo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCjIwMDYtMDUtMjIgMTM6NDA6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgoyMDA2LTA1LTIyIDEzOjI1OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfZ2RwX2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfZGlzcG9zZSksIChnc3RfZ2RwX3N0YW1wX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9nZHBfcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChjbGVhbnVwX2dkcGRlcGF5KSwgKGdkcGRlcGF5X3B1c2hfcGVyX2J5dGUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwZGVwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcGRlcGF5X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwcGF5X3N1aXRlKSwKCSAgKG1haW4pOgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsCgkgIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoKMjAwNi0wNS0yMSAxNjo0MTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgIFVzZSBib2lsZXJwbGF0ZSBtYWNybywgZml4IHN0cmluZ3MgdG8gbWF0Y2ggcGx1Z2luLW1vdmFsLXJlcXVpcmVtZW50cwoKMjAwNi0wNS0yMSAxNjoyMzoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgTGluayB0byBiYXNlIGxpYnJhcmllcwoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIHVzZSBuZXcgdGhyZXNoaG9sZCBwcm9wZXJ0eQoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pLAoJICAoZ3N0X3NwZWN0cnVtX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBnc3RfYWRhcHRlciwgc3VwcG9ydCBtdWx0aXBsZS1jaGFubmVscywgYWRkIHRocmVzaG9sZCBwcm9wZXJ0eSBmb3IKCSAgcmVzdWx0LCBhZGQgZG9jcywgZml4IHJlc3VsdGluZyBzcGVjdHJ1bSByYW5nZSAod2FzIGluY2x1ZGluZyBtaXJyb3JlZAoJICByZXN1bHRzKQoKMjAwNi0wNS0yMCAyMjo0MjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IChnc3Rfc3BlY3RydW1fZml4X2RvdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZ2V0X3R5cGUpLAoJICAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9jaGFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoKMjAwNi0wNS0xOSAxODo1ODowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgoyMDA2LTA1LTE5IDE4OjMxOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbi11cHMgcmVxdWVzdGVkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xOSAxNDoxNzowNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLio6IFVzZSBzYW1wbGluZyByYXRlIGZyb20gc2V0X2NhcHMuIENvbW1lbnQgb3V0IHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2Jhc2VfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2NsYXNzX2luaXQpLCAoYWxzYXNwZGlmc2lua19pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfZGlzcG9zZSksIChhbHNhc3BkaWZzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChhbHNhc3BkaWZzaW5rX2dldF9wcm9wZXJ0eSksIChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xvc2UpLCAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpLAoJICAoYWxzYXNwZGlmc2lua193cml0ZV9mcmFtZSksIChhbHNhc3BkaWZzaW5rX2V2ZW50KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWVzKSwgKGFsc2FzcGRpZnNpbmtfY3VycmVudF9kZWxheSksCgkgIChnZW5lcmF0ZV9pZWM5NThfemVyb19mcmFtZSksIChhbHNhc3BkaWZzaW5rX3JlbmRlciksCgkgIChpZ25vcmVfYWxzYV9lcnIpLCAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICBVc2Ugc2FtcGxpbmcgcmF0ZSBmcm9tIHNldF9jYXBzLiBDb21tZW50IG91dCBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgoyMDA2LTA1LTE4IDE5OjM0OjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYMTEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWDExCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2lmYWNlX3N1cHBvcnRlZCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgIENvZGUgY2xlYW51cHMsIGZpeCBkZWJ1ZyBtYWNyb3MKCjIwMDYtMDUtMTggMTM6MTI6MTkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRml4IGRpc3RjaGVjaz8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggZGlzdGNoZWNrPwoKMjAwNi0wNS0xOCAxMjo1MTowMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGFuIGFsc2EgcGx1Z2luIHRvIG91dHB1dCBJRUM5NTggZnJhbWVzIG92ZXIgUy9QRElGCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfYmFzZV9pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xhc3NfaW5pdCksIChhbHNhc3BkaWZzaW5rX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19kaXNwb3NlKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3Byb3BlcnR5KSwgKGFsc2FzcGRpZnNpbmtfcHJvdmlkZV9jbG9jayksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX2Nsb3NlKSwgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKSwKCSAgKGFsc2FzcGRpZnNpbmtfd3JpdGVfZnJhbWUpLCAoYWxzYXNwZGlmc2lua19ldmVudCksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lcyksIChhbHNhc3BkaWZzaW5rX2N1cnJlbnRfZGVsYXkpLAoJICAoZ2VuZXJhdGVfaWVjOTU4X3plcm9fZnJhbWUpLCAoYWxzYXNwZGlmc2lua19yZW5kZXIpLAoJICAoaWdub3JlX2Fsc2FfZXJyKSwgKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgQWRkIGFuIGFsc2EgcGx1Z2luIHRvIG91dHB1dCBJRUM5NTggZnJhbWVzIG92ZXIgUy9QRElGCgoyMDA2LTA1LTE3IDA5OjM5OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBSZW1vdmUgdW51c2VkIGNhcHMgY3J1ZnQgZnJvbSBjaGFpbiBmdW5jdGlvbiBhbHRvZ2V0aGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF91cGRhdGVfY2FwcyksIChnc3RfZmFhZF9jaGFpbik6CgkgIFJlbW92ZSB1bnVzZWQgY2FwcyBjcnVmdCBmcm9tIGNoYWluIGZ1bmN0aW9uIGFsdG9nZXRoZXIuCgoyMDA2LTA1LTE3IDA5OjE1OjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IGNhcHMgd2FzIHNldCB0byBzb21ldGhpbmcsIGFuZCBpZiBpdCBkaWQsIHRoZSBmdW5jdGlvbiBjYWxsZWQgdG8gZmlsbCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCBjYXBzIHdhcyBzZXQgdG8gc29tZXRoaW5nLCBhbmQgaWYgaXQgZGlkLCB0aGUKCSAgZnVuY3Rpb24gY2FsbGVkIHRvIGZpbGwgdGhhdCB2YXJpYWJsZSBhY3R1YWxseSBzZXRzIHRoZSBjYXBzIG9uIHRoZQoJICBzb3VyY3BhZCwgc28gd2UgY2FsbCBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB1c2luZwoJICBHU1RfUEFEX0NBUFMoZmFhZC0+c3JjcGFkKS4KCjIwMDYtMDUtMTUgMTA6MTA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGxhdGVzdCBjaGFuZ2VzIHdpdGggYWRkaXRpb25zIGFuZCByZW1vdmFscwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IGNoYW5nZXMgd2l0aCBhZGRpdGlvbnMgYW5kIHJlbW92YWxzCgoyMDA2LTA1LTEzIDE4OjM5OjEzICswMDAwICBZb3VuZy1IbyBDaGEgPGdhbmFkaXN0QGNob2xsaWFuLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogSWYgd2UgZW5jb3VudGVyIGEgZGVjb2RpbmcgZXJyb3IsIGRvbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSwgYnV0IHRyeSB0byByZXN5bmMgKG9yIHNlZSBpZiB3ZSBoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5nLUhvIENoYSAgPGdhbmFkaXN0IGNob2xsaWFuIG5ldD4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBJZiB3ZSBlbmNvdW50ZXIgYSBkZWNvZGluZyBlcnJvciwgZG9uJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5LAoJICBidXQgdHJ5IHRvIHJlc3luYyAob3Igc2VlIGlmIHdlIGhhdmUgYmV0dGVyIGx1Y2sgd2l0aCB0aGUgbmV4dAoJICBidWZmZXIgaW4gY2FzZSBvZiBmcmFtZWQgaW5wdXQpLiBPbmx5IGVycm9yIG91dCBhZnRlciBmaXZlCgkgIGNvbnNlY3V0aXZlIGVycm9ycy4gRml4ZXMgIzM0MTU2My4KCjIwMDYtMDUtMTIgMTA6NDM6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IENvbXBpbGUgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfaW5pdCksIChnc3RfeHZpZGVuY19maW5hbGl6ZSksCgkgIChnc3RfeHZpZGVuY19oYW5kbGVfc2lua19ldmVudCksIChnc3RfeHZpZGVuY19zZXR1cCksCgkgIChnc3RfeHZpZGVuY19zZXRjYXBzKSwgKGdzdF94dmlkZW5jX2VuY29kZSksIChnc3RfeHZpZGVuY19jaGFpbiksCgkgIChnc3RfeHZpZGVuY19mbHVzaF9idWZmZXJzKSwgKGdzdF94dmlkZW5jX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpOgoJICBDb21waWxlIGZpeGVzLgoKMjAwNi0wNS0xMiAwOToyODoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGV4dC94dmlkLzogeHZpZCBwbHVnaW4gdG8gc3VwcG9ydCBtb3JlIGNhcGFiaWxpdGllcyBvZiBYdmlEIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKGdzdF94dmlkX2luaXQpLCAoZ3N0X3h2aWRfc3RydWN0dXJlX3RvX2NzcCksCgkgIChnc3RfeHZpZF9jc3BfdG9fY2FwcyksIChnc3RfeHZpZF9pbWFnZV9nZXRfc2l6ZSksCgkgIChnc3RfeHZpZF9pbWFnZV9maWxsKToKCSAgKiBleHQveHZpZC9nc3R4dmlkLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2xhc3NfaW5pdCksCgkgIChnc3RfeHZpZGRlY19pbml0KSwgKGdzdF94dmlkZGVjX3Jlc2V0KSwgKGdzdF94dmlkZGVjX3Vuc2V0KSwKCSAgKGdzdF94dmlkZGVjX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF94dmlkZGVjX3NldHVwKSwKCSAgKGdzdF94dmlkZGVjX2FkZF9wYXIpLCAoZ3N0X3h2aWRkZWNfbmVnb3RpYXRlKSwKCSAgKGdzdF94dmlkZGVjX2RlY29kZSksIChnc3RfeHZpZGRlY19jaGFpbiksCgkgIChnc3RfeHZpZGRlY19mbHVzaF9idWZmZXJzKSwgKGdzdF94dmlkZGVjX3NyY19nZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX3NyY19saW5rKSwgKGdzdF94dmlkZGVjX3NldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfcHJvZmlsZV9nZXRfdHlwZSksCgkgIChnc3RfeHZpZGVuY19xdWFudF90eXBlX2dldF90eXBlKSwgKGdzdF94dmlkZW5jX3Bhc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3R5cGUpLCAoZ3N0X3h2aWRlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF94dmlkZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3h2aWRlbmNfaW5pdCksCgkgIChnc3RfeHZpZGVuY19maW5hbGl6ZSksIChnc3RfeHZpZGVuY19oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfeHZpZGVuY19zZXR1cCksIChnc3RfeHZpZGVuY19zZXRjYXBzKSwgKGdzdF94dmlkZW5jX2VuY29kZSksCgkgIChnc3RfeHZpZGVuY19jaGFpbiksIChnc3RfeHZpZGVuY19mbHVzaF9idWZmZXJzKSwKCSAgKGdzdF94dmlkZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeHZpZGVuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3h2aWRlbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWQgcGx1Z2luIHRvIHN1cHBvcnQgbW9yZSBjYXBhYmlsaXRpZXMgb2YgWHZpRCBjb2RlYy4KCSAgRml4ZXMgIzMzOTQ2Mi4KCSAgU29tZSBtb3JlIGNsZWFudXBzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wNS0xMSAyMDo0Nzo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHB1dCBiYWNrIC1uby11bmRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHB1dCBiYWNrIC1uby11bmRlZmluZWQKCjIwMDYtMDUtMTEgMTc6NTk6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTExIDA5OjA5OjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZSBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUKCSAgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbmFsIGVzZHMgYm94LiBQcm9tb3RlIHRoZQoJICBkZWZhdWx0IEFBQyB0byBtcDMgd2hlbiBpbmRpY2F0ZWQuIEZpeGVzICMzMzA2MzIuCgoyMDA2LTA1LTEwIDE3OjQ0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X2R1bXBfdW5rbm93biksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBQYXJzZSB2ZXJzaW9uIDIgc2FtcGxlIGRlc2NyaXB0aW9ucy4KCSAgRG9uJ3QgI2RlZmluZSBnc3RfdXRpbF9kdW1wX21lbSgpLCB1c2Ugc29tZXRoaW5nIG1vcmUKCSAgc3BlY2lmaWMgaW5zdGVhZCB0byBhdm9pZCBjb25mdXNpb24uCgoyMDA2LTA1LTA4IDE5OjIxOjE4ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCjIwMDYtMDUtMDggMTU6MjA6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChxdGRlbXV4X2R1bXBfbXZoZCk6CgkgIERvbid0IGNhdXNlIHNpZGUgZWZmZWN0cyBpbiBhIGRlYnVnZ2luZyBmdW5jdGlvbi4KCSAgQWxzbyByZXBvcnQgZHVyYXRpb24gaW4gcHVzaCBtb2RlIHNpbmNlIHdlIGNhbi4KCjIwMDYtMDUtMDggMTE6NTU6MDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBhdXRvZ2VuLnNoOiBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6IChDT05GSUdVUkVfREVGX09QVCk6CgkgIGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUKCjIwMDYtMDUtMDYgMDA6MTU6NTkgKzAwMDAgIE1hY2llaiBLYXRhZmlhc3ogPG1hdGhyaWNrQG1hdGhyaWNrLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzZW1pY29sb25zIGFmdGVyIEdTVF9CT0lMRVJQTEFURVtfRlVMTF0gc28gdGhhdCBpbmRlbnQgZG9lc24ndCBtZXNzIHVwIGZvbGxvd2luZyBsaW5lcy4KCjIwMDYtMDUtMDUgMjA6MTI6NTkgKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGVjdGlvbi4KCjIwMDYtMDUtMDUgMTU6NTA6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiBVc2UgKE5VTEwpIGluc3RlYWQgb2YganVzdCBOVUxMIGluIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3NpbmtfcHJlcGFyZSk6CgkgIFVzZSAoTlVMTCkgaW5zdGVhZCBvZiBqdXN0IE5VTEwgaW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8uCgoyMDA2LTA1LTA0IDE1OjMyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKPT09IHJlbGVhc2UgMC4xMC4zID09PQoKMjAwNi0wNS0wNCAxNToyODo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWFsbHkgcmVsZWFzZSAwLjEwLjMgdGhpcyB0aW1lCgoyMDA2LTA1LTA0IDE1OjA5OjEzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBQZXJmb3JtIHZlcnNpb24gbnVtYmVyIHN1cmdlcnkgdG8gY29ycmVjdGx5IHJlbGVhc2UgdGFyYmFsbHMgb2YgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQZXJmb3JtIHZlcnNpb24gbnVtYmVyIHN1cmdlcnkgdG8gY29ycmVjdGx5IHJlbGVhc2UgdGFyYmFsbHMgb2YgMC4xMC4zCgoyMDA2LTA1LTA0IDE0OjUyOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUwoKMjAwNi0wNS0wNCAxNDo1MTowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlbGVhc2UgMC4xMC4zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuMwoKMjAwNi0wNS0wNCAwOToyOToyNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgoyMDA2LTA1LTAzIDIxOjQ4OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0wNS0wMyAxNjo1NDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbTogQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBmb3IgZ3N0L3RhZy90YWcuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1MgZm9yIGdzdC90YWcvdGFnLmgKCjIwMDYtMDUtMDMgMTQ6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhIGRlYWQgY29kZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYQoJICBkZWFkIGNvZGUgYmxvY2suCgoyMDA2LTA1LTAzIDEzOjIwOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRXZlcnlib2R5IGxvdmVzIGRvY3MgLSBhZGQgZG9jcyBmb3IgbXVzaWNicmFpbnogcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBFdmVyeWJvZHkgbG92ZXMgZG9jcyAtIGFkZCBkb2NzIGZvciBtdXNpY2JyYWlueiBwbHVnaW4uCgoyMDA2LTA1LTAzIDEyOjAxOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgbXVzaWNicmFpbnogZGlyIHRvIERJU1RfU1VCRElSUyBhcyB3ZWxsIChmaXhlcyBkaXN0Y2hlY2spLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBtdXNpY2JyYWlueiBkaXIgdG8gRElTVF9TVUJESVJTIGFzIHdlbGwgKGZpeGVzIGRpc3RjaGVjaykuCgoyMDA2LTA1LTAzIDExOjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZvcmdvdCB0byBjb21taXQgdGhpcyBvbmUuCgoyMDA2LTA1LTAzIDExOjI3OjQyICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBQb3J0IE11c2ljQnJhaW56IFRSTSBwbHVnaW4gKCMzMzY4OTgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fYmFzZV9pbml0KSwKCSAgKGdzdF90cm1fY2xhc3NfaW5pdCksIChnc3RfdHJtX2luaXQpLCAoZ3N0X3RybV9zZXRjYXBzKSwKCSAgKGdzdF90cm1fY2hhaW4pLCAoZ3N0X3RybV9lbWl0X3NpZ25hdHVyZSksIChnc3RfdHJtX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdHJtX2dldF9wcm9wZXJ0eSksIChnc3RfdHJtX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBQb3J0IE11c2ljQnJhaW56IFRSTSBwbHVnaW4gKCMzMzY4OTgpLgoKMjAwNi0wNS0wMyAxMDoyNTo0NiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggIzMzNDc0ODogdXNlIGZha2VfY29kZWNfZGF0YSBpZiB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIGZpcnN0IGJ1ZmZlciB3ZSBwcm9jZXNzIGRvZXNuJ3QgbG9vayBsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAobG9va3NfbGlrZV92YWxpZF9oZWFkZXIpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBGaXggIzMzNDc0ODogdXNlIGZha2VfY29kZWNfZGF0YSBpZiB0aGUgZmlyc3QgYnl0ZXMgb2YgdGhlIGZpcnN0CgkgIGJ1ZmZlciB3ZSBwcm9jZXNzIGRvZXNuJ3QgbG9vayBsaWtlIHBsYXVzaWJsZSBBQUMgZGF0YSAoZS5nLgoJICByZXNlcnZlZCB2YWx1ZXMgZm9yIHJhdGUsIG9yIGNoYW5uZWxzKS4gRml4ZXMgcGxheWJhY2sgb2YgQXBwbGUncwoJICBtb3ZpZSB0cmFpbGVycy4KCjIwMDYtMDUtMDIgMjE6NTI6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCjIwMDYtMDUtMDEgMjE6Mzc6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoKMjAwNi0wNS0wMSAxNzo1ODozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlZCB0byBnb29kLiAgQ2xvc2VzICMzMzYxMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBtb3ZlZCB0byBnb29kLiAgQ2xvc2VzICMzMzYxMTAKCjIwMDYtMDQtMzAgMTY6MTY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0zMCAxNTozMjoxMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICBmaXggZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGRvY3MKCjIwMDYtMDQtMzAgMTU6MTM6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICB1cGRhdGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgc2lnbmFscwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIHNpZ25hbHMKCjIwMDYtMDQtMzAgMTU6MTE6NDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGlnbm9yZSBtb3JlOyBhZGQgbmV3IGluc3BlY3QgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlOyBhZGQgbmV3IGluc3BlY3QgZmlsZXMKCjIwMDYtMDQtMzAgMTQ6NTk6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIHJlbW92ZSBmaWxlcyB0aGF0IHNob3VsZCBub3QgYmUgaW4gY3ZzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgZmlsZXMgdGhhdCBzaG91bGQgbm90IGJlIGluIGN2cwoKMjAwNi0wNC0zMCAxNDo1ODoyOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBGaXggdXAgZG9jcyBmb3IgdGFnbGliIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgRml4IHVwIGRvY3MgZm9yIHRhZ2xpYiBwbHVnaW4KCSAgQWxzbyBzY2FuIC5jYyBmaWxlcwoKMjAwNi0wNC0zMCAxNDo1NToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCjIwMDYtMDQtMjkgMTg6NDY6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpIGNhc2Ugb2YgYW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkKCSAgY2FzZSBvZiBhbiBlcnJvci4KCjIwMDYtMDQtMjkgMTg6MTg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50byBpdHMgb3duIHN1YmNsYXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8KCSAgaXRzIG93biBzdWJjbGFzcy4KCjIwMDYtMDQtMjkgMTU6MzY6MTYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IGFkZGVkIGlyYWRpby1tb2RlIHN1cHBvcnQgYXMgaW4gZ25vbWV2ZnNzcmMgdG8gZW5hYmxlIGNvbm5lY3Rpb25zIHdpdGggaWN5ZGVtdXggdGhhdCB3aWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIGFkZGVkIGlyYWRpby1tb2RlIHN1cHBvcnQgYXMgaW4gZ25vbWV2ZnNzcmMgdG8gZW5hYmxlCgkgIGNvbm5lY3Rpb25zIHdpdGggaWN5ZGVtdXggdGhhdCB3aWxsIHNlbmQgdGl0bGUgdGFnIG1lc3NhZ2VzIG9uCgkgIHNob3V0Y2FzdC9pY2VjYXN0IHN0cmVhbXMuIEkndmUgYWxzbyBhZGRlZCBpcmFkaW8gcHJvcGVydGllcwoJICBpcmFkaW8tbmFtZSwgaXJhZGlvLWdlbnJlLCBpcmFkaW8tdXJsLgoJICBhZGRlZCB1c2VyLWFnZW50IHByb3BlcnR5IGJlY2F1c2Ugc29tZSBzaG91dGNhc3Qgc3RyZWFtcyBkb24ndCByZXR1cm4KCSAgZGF0YSBpZiB0aGUgR0VUIHJlcXVlc3RzIGRvbid0IGhhdmUgYSBVc2VyLUFnZW50LgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RuZW9uLmRzcDoKCSAgdXNlIGRlYnVnIHZlcnNpb24gb2YgbGlibmVvbiBpbiBkZWJ1ZyBtb2RlCgoyMDA2LTA0LTI4IDIxOjQzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIGVsZW1lbnQgcmVuYW1lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZWxlbWVudCByZW5hbWVkCgoyMDA2LTA0LTI4IDE5OjQ2OjM2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBtYWtlIEdzdEVsZW1lbnREZXRhaWxzIGNvbnN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ3BhcnNlLmM6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOgoJICAqIGV4dC9wYW5nby9nc3R0aW1lb3ZlcmxheS5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmM6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy92NGwvZ3N0djRsanBlZ3NyYy5jOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgIG1ha2UgR3N0RWxlbWVudERldGFpbHMgY29uc3QKCjIwMDYtMDQtMjggMTk6MjQ6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgIHJlbW92ZWQgcGx1Z2luIGRvYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlZCBwbHVnaW4gZG9jCgoyMDA2LTA0LTI4IDE5OjIzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgbW92ZWQgeGltYWdlc3JjIHRvIGdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmVkIHhpbWFnZXNyYyB0byBnb29kCgoyMDA2LTA0LTI4IDE2OjUxOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgIGJvcmdpZnkgbmFtaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBib3JnaWZ5IG5hbWluZwoKMjAwNi0wNC0yOCAxNjo0Njo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBkb2MgdHdlYWtzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdHdlYWtzCgoyMDA2LTA0LTI4IDE2OjE1OjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoKMjAwNi0wNC0yOCAxNTozMzowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgcGVkYW50aWMgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBlZGFudGljIGNsZWFudXBzCgoyMDA2LTA0LTI4IDE0OjE3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBZGQgc3VwcG9ydCBmb3Igb3RoZXIgZm9ybWF0cyBhdWRpb3Jlc2FtcGxlIGNhbiBoYW5kbGUgc3VjaCBhcyAzMiBiaXRzIGluIGFuZCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAocmVzYW1wbGVfc2V0X3N0YXRlX2Zyb21fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBvdGhlciBmb3JtYXRzIGF1ZGlvcmVzYW1wbGUgY2FuIGhhbmRsZSBzdWNoIGFzCgkgIDMyIGJpdHMgaW4gYW5kIGZsb2F0IGFuZCA2NCBiaXRzIGZsb2F0LiBGaXhlcyAjMzAxNzU5CgoyMDA2LTA0LTI4IDExOjA0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBJZiB3ZSBydW4gaW50byBhIGRlY29kaW5nIGVycm9yLCB0cnkgcmUtb3BlbmluZyB0aGUgZGVjb2RlciB3aXRoIGZhYWNEZWNJbml0MigpIHVzaW5nIGZha2UgY29kZWMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoYWFjX3JhdGVfaWR4KSwKCSAgKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfb3Blbl9kZWNvZGVyKSwKCSAgKGdzdF9mYWFkX2Nsb3NlX2RlY29kZXIpLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIElmIHdlIHJ1biBpbnRvIGEgZGVjb2RpbmcgZXJyb3IsIHRyeSByZS1vcGVuaW5nIHRoZSBkZWNvZGVyCgkgIHdpdGggZmFhY0RlY0luaXQyKCkgdXNpbmcgZmFrZSBjb2RlYyBkYXRhIGNyZWF0ZWQgZnJvbSB0aGUKCSAgZGF0YSB0aGUgZGVtdXhlciBnYXZlIHVzLiBTaG91bGQgZml4IGEgd2hvbGUgYnVuY2ggb2YKCSAgR1N0cmVhbWVyLWZhYWQgcHJvYmxlbXMgaW5jbC4gJ2NoYW5uZWwgY291cGxpbmcgbm90CgkgIGltcGxlbWVudGVkJywgJ21heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkJwoJICBldGMuICgjMTczMDA3LCAjMzMyODkyKS4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0yMCAxODowMjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICBBZGQgc3VwcG9ydCBmb3Igc2VnbWVudCBzZWVrcy4KCjIwMDYtMDQtMjAgMTc6Mjk6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoKMjAwNi0wNC0yMCAwOTo0ODowNSArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIEFkZCBxdGRydyBtaW1lIHR5cGUuCgkgIEZpeGVzICMzMzkwNDEKCjIwMDYtMDQtMTkgMDk6Mjc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgRml4ZXMgIzMzODkzNS4KCjIwMDYtMDQtMTcgMTk6NDM6MzIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCjIwMDYtMDQtMTcgMTg6NDQ6NDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLio6IEFwcGx5IGZpeCBmcm9tIGpeIGZvciBBUEkgY2hhbmdlIGluIGxpYnRoZW9yYWRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBBcHBseSBmaXggZnJvbSBqXiBmb3IgQVBJIGNoYW5nZSBpbiBsaWJ0aGVvcmFkZWMuCgkgIEltcGxlbWVudCA0OjI6MiBwaXhlbCBmb3JtYXQuIFVudGVzdGVkIGF0IHRoZSBtb21lbnQuCgoyMDA2LTA0LTE0IDEzOjEyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEZpeCB0cmFjay9hbGJ1bSBwZWFrIHRhZyB2YWx1ZXM7IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KToKCSAgRml4IHRyYWNrL2FsYnVtIHBlYWsgdGFnIHZhbHVlczsgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZAoJICBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLgoKMjAwNi0wNC0xMyAyMTo0NTo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCjIwMDYtMDQtMTIgMjE6NTc6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdG8gd29yayBpbiByZWFkIG1vZGUuCgoyMDA2LTA0LTExIDE2OjE4OjEzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHZlcnNpb25pbmcgbWFjcm8gYW5kIGFkZCB0cmFuc2xhdGlvbiBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZlcnNpb25pbmcgbWFjcm8gYW5kIGFkZCB0cmFuc2xhdGlvbiBmaWxlcwoKMjAwNi0wNC0xMCAxNzoxNjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoKMjAwNi0wNC0xMCAxNDoyMDo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoKMjAwNi0wNC0xMCAxMzo1ODoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEZpeCBidWlsZCAoY2xhc3NfaW5pdCBkZWNsYXJhdGlvbi9kZWZpbml0aW9uIG1pc21hdGNoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCAoY2xhc3NfaW5pdCBkZWNsYXJhdGlvbi9kZWZpbml0aW9uIG1pc21hdGNoKS4KCjIwMDYtMDQtMTAgMDg6MzE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoKMjAwNi0wNC0wOSAxODozMDo1MSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KToKCSAgcmVtb3ZlIGF0b2xsIGJ5IHVzaW5nIGdfYXNjaWlfc3RydG91bGwgKGF0b2xsIGlzIG5vdCBzdXBwb3J0ZWQgb24gV0lOMzIpCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIGRvbmUgc29tZSBjbGVhbnMgaW4gc291cmNlcwoJICAqIHdpbjMyL3ZzNjoKCSAgYWRkIHByb2plY3QgZmlsZXMgZm9yIG5lb24sIHF0ZGVtdXgKCjIwMDYtMDQtMDkgMTc6MTQ6MjIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6IHJlcGxhY2UgZGVidWcgbWFjcm9zIHdpdGggdmFyaWFibGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgYnkgYSBzaW1wbGUgYWxpYXMgdG8gZ3N0cmVhbWVyIHN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICByZXBsYWNlIGRlYnVnIG1hY3JvcyB3aXRoIHZhcmlhYmxlIG51bWJlciBvZiBwYXJhbWV0ZXJzCgkgIGJ5IGEgc2ltcGxlIGFsaWFzIHRvIGdzdHJlYW1lciBzdGFuZGFyZCBkZWJ1ZyBtYWNyb3MKCSAgKCNkZWZpbmUgUkVTQU1QTEVfRVJST1IgR1NUX0VSUk9SLCBfX1ZBX0FSR1NfXyBpcyBub3QKCSAgc3VwcG9ydGVkIGJ5IE1TVkMgNi4wIGFuZCA3LjEpCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgZGVmaW5lIE1fUEkgYW5kIHJpbnQgZm9yIFdJTjMyCgkgICogd2luMzIvY29tbW9uL2xpYmdzdGF1ZGlvLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cmlmZi5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHRhZy5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHZpZGVvLmRlZjoKCSAgYWRkIG5ldyBleHBvcnRlZCBmdW5jdGlvbnMKCSAgKiB3aW4zMi92czY6CgkgIHVwZGF0ZSBwcm9qZWN0IGZpbGVzCgoyMDA2LTA0LTA4IDIxOjQ4OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzogKGdzdF9hcnRzX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzogKGdzdF9kaXZ4ZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6IChnc3RfamFja19jbGFzc19pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5fY2xhc3NfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfY2xhc3NfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKGdzdF9pY2VjYXN0c2VuZF9jbGFzc19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9jbGFzc19pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOiAoZ3N0X3RhcmtpbmRlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAoZ3N0X3RhcmtpbmVuY19jbGFzc19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9jbGFzc19pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKGdzdF9jaGFydF9jbGFzc19pbml0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChnc3RfaWlyX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgIChnc3Rfc3lzdGVtX2VuY29kZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcDF2aWRlb3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIChnc3RfbXAzcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKGdzdF9ydGpwZWdkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzogKGdzdF9ydGpwZWdlbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzogKGdzdF9zdGVyZW9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6IChnc3RfeHNoYXJwZW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KToKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIChnc3RfZGlyZWN0c291bmRzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzogKGR4cjNhdWRpb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAoZ3N0X3Y0bDJfY29sb3JfYmFsYW5jZV9jaGFubmVsX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY2hhbm5lbF9jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyX3R1bmVyX25vcm1fY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgoyMDA2LTA0LTA4IDE5OjA0OjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvOiBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5oOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODo0MTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjU6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGRlYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxlbmMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sdGFnLmg6CgkgICogZXh0L2NhaXJvL2dzdHRleHRvdmVybGF5Lmg6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC1yZWFkLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtd3JpdGUuaDoKCSAgKiBzeXMvb3N4YXVkaW8vZ3N0b3N4YXVkaW9lbGVtZW50Lmg6CgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6MjM6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfc3RzeiksCgkgIChxdGRlbXV4X2R1bXBfc3RjbyksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBGaXggdGltZXN0YW1wcyBmb3IgQU1SIGFuZCBJTUE0LiAgRml4ZXMgKCMzMzc0MzYpLgoJICBDcmVhdGUgYSBkdW1teSBzZWdtZW50IGV2ZW4gd2hlbiB0aGVyZSBpcyBubyBlZGl0IGxpc3QuCgoyMDA2LTA0LTA3IDE2OjU5OjE1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OiBVcGRhdGVzLgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgZXhhbXBsZSByZXNvdXJjZSBmaWxlcyB0bwoJICBkaXN0LgoKMjAwNi0wNC0wNyAxNTo1Mzo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0byAyNWZwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFR5cG8gZml4LCBzL1hGcmVlODYvWDExIGFuZCBhZGRlZCBkb2MgYmx1cmIgc2F5aW5nIHRoYXQgaXQgZml4YXRlcyB0bwoJICAyNWZwcwoKMjAwNi0wNC0wNyAxNTo0NzoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6IChtYWluKToKCSAgQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgoyMDA2LTA0LTA3IDE1OjI3OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoY29tcG9zaXRlX3BpeGVsKSwgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTA2IDE5OjE2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfZmluZF9pbmRleCksCgkgIChnc3RfcXRkZW11eF9maW5kX2tleWZyYW1lKSwgKGdzdF9xdGRlbXV4X2ZpbmRfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSksIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBBZGRlZCBmdWxsIGVkaXQgbGlzdCBzdXBwb3J0LgoJICBBdm9pZCBvdmVyZmxvd3MgaW4gcHJvbG9ndWUgaW1hZ2UgZGV0ZWN0aW9uIGNvZGUuCgkgIEF2b2lkIHJvdW5kb2ZmIGVycm9ycyBpbiB0aW1lc3RhbXAgY2FsY3VsYXRpb25zLgoKMjAwNi0wNC0wNiAxNDoyMDoyNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICBtb3JlIGRpc3RjaGVjayBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9yZSBkaXN0Y2hlY2sgZml4ZXMKCjIwMDYtMDQtMDYgMTQ6MDg6MDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBjbGVhbiB1cCBzbyByZXBvcnQgcHJvcGVybHkgb24gbWlzc2luZyBzdHVmZiBmaXggbW9kcGx1ZyBkZXRlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBjbGVhbiB1cCBzbyByZXBvcnQgcHJvcGVybHkgb24gbWlzc2luZyBzdHVmZgoJICBmaXggbW9kcGx1ZyBkZXRlY3Rpb24KCjIwMDYtMDQtMDYgMTI6NTI6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZXh0LzogZG9uJ3QgZGlzdCBhbXIgd2Igc291cmNlIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICBkb24ndCBkaXN0IGFtciB3YiBzb3VyY2UgY29kZQoKMjAwNi0wNC0wNiAxMTozNToyNiArMDAwMCAgal4gPGpAYm9vdGxhYi5vcmc+CgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiAgPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoKMjAwNi0wNC0wNiAwOTozNzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEFkZCBiYWNrICJ1cmkiIHByb3BlcnR5IGFuZCBtYXJrIGl0IGFzIGRlcHJlY2F0ZWQ7IHVuZG9lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIGJhY2sgInVyaSIgcHJvcGVydHkgYW5kIG1hcmsgaXQgYXMgZGVwcmVjYXRlZDsgdW5kb2VzCgkgIEFQSS9BQkkgYnJlYWthZ2UgZnJvbSAyMDA2LTAyLTI0LgoKMjAwNi0wNC0wNSAwODozNjo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKToKCSAgVXNlIGR1cmF0aW9uIGFzIHNlZ21lbnQgc3RvcCBwb3NpdGlvbiBpZiBub25lIGlzCgkgIGV4cGxpY2l0bHkgY29uZmlndXJlZC4KCSAgQWxzbyBwZXJmb3JtIEVPUyB3aGVuIHdlIHJ1biBwYXN0IHRoZSBzZWdtZW50IHN0b3AuCgoyMDA2LTA0LTA0IDExOjIwOjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBNYXJrIGRpc2NvbnRpbnVpdGllcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBQb3N0IGJldHRlciBlcnJvcnMgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZy4KCSAgSGFuZGxlIEVPUyBhbmQgc2VnbWVudCBlbmQgcHJvcGVybHkuCgoyMDA2LTA0LTA0IDA4OjQwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBNYXJrIGxhdGVzdCBjaGFuZ2UgYXMgZml4aW5nIGEgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFyayBsYXRlc3QgY2hhbmdlIGFzIGZpeGluZyBhIGJ1Zy4KCjIwMDYtMDQtMDQgMDg6MzE6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChwbHVnaW5faW5pdCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBJbXBsZW1lbnQgY29ycmVjdCBhY2N1cmF0ZSBhbmQga2V5ZnJhbWUgc2Vla2luZy4KCSAgVXNlIF9ERUJVR19PQkpFQ1Qgd2hlbiBwb3NzaWJsZS4KCjIwMDYtMDQtMDMgMTE6MDg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogT25seSBydW4gdGhlIGlkM3YybXV4IGNoZWNrIGlmIHRhZ2xpYiBpcyBhdmFpbGFibGUgYW5kIHRoZSB0YWdsaWIgcGx1Z2luIGhhcyBiZWVuIGJ1aWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgT25seSBydW4gdGhlIGlkM3YybXV4IGNoZWNrIGlmIHRhZ2xpYiBpcyBhdmFpbGFibGUgYW5kCgkgIHRoZSB0YWdsaWIgcGx1Z2luIGhhcyBiZWVuIGJ1aWx0LgoKMjAwNi0wNC0wMyAxMDo1NzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06IERvbid0IHNldCBwbHVnaW5kaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgIERvbid0IHNldCBwbHVnaW5kaXIuCgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgR1NUX1BMVUdJTl9ERUZJTkVfU1RBVElDIGlzbid0IGEgZ29vZCBpZGVhIGZvciBpbnN0YWxsZWQgcGx1Z2lucy4KCjIwMDYtMDQtMDMgMTA6NTE6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFkZCBBWF9DUkVBVEVfU1RESU5UX0ggdG8gY3JlYXRlIF9zdGRpbnQuaCwgbmVlZGVkIGJ5IHRoZSBkdHMgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBBWF9DUkVBVEVfU1RESU5UX0ggdG8gY3JlYXRlIF9zdGRpbnQuaCwgbmVlZGVkIGJ5CgkgIHRoZSBkdHMgcGx1Z2luLgoKMjAwNi0wNC0wMyAxMDozNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEdTVF9PUklHSU4gPT4gR1NUX1BBQ0tBR0VfT1JJR0lOCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgR1NUX09SSUdJTiA9PiBHU1RfUEFDS0FHRV9PUklHSU4KCSAgR1NUX1BBQ0tBR0UgPT4gR1NUX1BBQ0tBR0VfTkFNRQoKMjAwNi0wNC0wMiAxMDo0MjozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICBhZGQgbW9yZSBwbHVnaW5zIHRvIGRvY3MKCjIwMDYtMDQtMDIgMDk6MzM6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICB0aGUgYWxwaGFiZXQsIGEgdHJpY2t5IGNvbmNlcHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRoZSBhbHBoYWJldCwgYSB0cmlja3kgY29uY2VwdAoKMjAwNi0wNC0wMiAwOToxNzoyMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFkZCBsaWJvaWwgY2hlY2ssIGR0cyB1c2VzIGl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGlib2lsIGNoZWNrLCBkdHMgdXNlcyBpdAoKMjAwNi0wNC0wMSAxNjo1MDo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmg6CgkqIHRlc3RzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgoyMDA2LTA0LTAxIDE1OjM2OjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBkb24ndCB1c2UgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHVzZSBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yawoKMjAwNi0wNC0wMSAxMDoxNjoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiBkb2NzLy5naXRpZ25vcmU6CgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDQtMDEgMTA6MTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgNSBzZWNvbmQgdGltZW91dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgNSBzZWNvbmQgdGltZW91dAoKMjAwNi0wNC0wMSAxMDoxNDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzoKCSAgcmVuYW1lIHRlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbmFtZSB0ZXN0CgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZXh0L2FtcndiL2dzdGFtcndiLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuYzoKCSogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2R4cjMvZHhyM2luaXQuYzoKCSogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDMtMzEgMTc6NTI6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKHRlcm1pbmF0ZV9wbGF5YmFjayksIChtYWluKToKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE2OjMyOjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogQWRkIGRvY3MgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgQWRkIGRvY3MgdG8geGltYWdlc3JjCgoyMDA2LTAzLTMxIDE1OjIxOjM1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3hpbWFnZXNyYy86IEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubyB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vCgkgIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoKMjAwNi0wMy0zMSAxNDoyNjowNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBZGQgYXV0b2NvbmZlcnkgZm9yIHRoZW9yYWRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgYXV0b2NvbmZlcnkgZm9yIHRoZW9yYWRlYy4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCB0aGVvcmEgZGlyZWN0b3J5LgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF90aGVvcmFkZWNfY2xhc3NfaW5pdCksIChnc3RfdGhlb3JhZGVjX2luaXQpLAoJICAoZ3N0X3RoZW9yYWRlY19yZXNldCksIChpbmNfZ3JhbnVsZXBvcyksICh0aGVvcmFfZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF90aGVvcmFkZWNfZ3JhbnVsZV9jbG9ja3RpbWUpLCAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfZGVjX3NpbmtfY29udmVydCksICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NpbmtfcXVlcnkpLCAodGhlb3JhX2RlY19zcmNfZXZlbnQpLAoJICAodGhlb3JhX2RlY19zaW5rX2V2ZW50KSwgKHRoZW9yYV9oYW5kbGVfY29tbWVudF9wYWNrZXQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlX2hlYWRlcl9wYWNrZXQpLAoJICAodGhlb3JhX2RlY19wdXNoKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLCAodGhlb3JhX2RlY19jaGFpbiksCgkgICh0aGVvcmFfZGVjX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQWRkIHRoZW9yYSBwbHVnaW4gZm9yIHRoZW9yYS1leHAgZGVjb2Rlci4gVmVyeSBoZWF2aWx5IGJhc2VkIG9uIHRoZQoJICBleGlzdGluZyB0aGVvcmEgZGVjb2RlciBwbHVnaW4uCgoyMDA2LTAzLTI5IDE2OjU0OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS86IENsZWFudXBzLCBmaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2dzbWRlY19pbml0KSwKCSAgKGdzdF9nc21kZWNfZmluYWxpemUpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KSwgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfY2xhc3NfaW5pdCksIChnc3RfZ3NtZW5jX2luaXQpLAoJICAoZ3N0X2dzbWVuY19maW5hbGl6ZSksIChnc3RfZ3NtZW5jX2NoYWluKToKCSAgQ2xlYW51cHMsIGZpeCBsZWFrcy4KCSAgSGFuZGxlIGV2ZW50cyBhbmQgRElTQ09OVC4KCSAgVXNlIGFkYXB0ZXIgaW4gdGhlIGRlY29kZXIuCgoyMDA2LTAzLTI5IDE2OjUwOjA4ICswMDAwICBSZW5hdG8gQXJhdWpvIE9saXZlaXJhIEZpbGhvIDxyZW5hdG94QGdtYWlsLmNvbT4KCgkgIEFkZGVkIG5ldyBwbHVnaW4gYW1yd2IgcGFyc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuYXRvIEFyYXVqbyBPbGl2ZWlyYSBGaWxobyA8cmVuYXRveCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9SRUFETUU6CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvcnVuLnNoOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3Yi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JkZWNfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfc2V0Y2FwcyksIChnc3RfYW1yd2JkZWNfZXZlbnQpLCAoZ3N0X2FtcndiZGVjX2NoYWluKSwKCSAgKGdzdF9hbXJ3YmRlY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JlbmNfaW5pdCksCgkgIChnc3RfYW1yd2JlbmNfZmluYWxpemUpLCAoZ3N0X2FtcndiZW5jX3NldGNhcHMpLAoJICAoZ3N0X2FtcndiZW5jX2NoYWluKSwgKGdzdF9hbXJ3YmVuY19zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JwYXJzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5dHlwZXMpLCAoZ3N0X2FtcndicGFyc2VfcXVlcnkpLAoJICAoZ3N0X2FtcndicGFyc2VfY2hhaW4pLCAoZ3N0X2FtcndicGFyc2VfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X2FtcndicGFyc2VfbG9vcCksIChnc3RfYW1yd2JwYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYW1yd2JwYXJzZV9zdGF0ZV9jaGFuZ2UpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEFkZGVkIG5ldyBwbHVnaW4gYW1yd2IgcGFyc2UuCgkgIFJlbmFtZWQgYXVkaW8vQU1SIHRvIGF1ZGlvL0FNUi1XQiBhcyBwZXIgc3BlYy4KCSAgRml4ZXMgIzMzMzMwNwoKMjAwNi0wMy0yNyAxNzowNjo0NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoKMjAwNi0wMy0yNyAxMDoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIENYWCB0YWcgZnJvbSBBU19MSUJUT09MX1RBR1MsIGp1c3QgbGlrZSB3ZSBkaWQgZm9yIC1nb29kIGFuZCAtdWdseS4gRml4ZXMgYnVpbGQgb24gc29tZSBzeXN0ZW1zIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBDWFggdGFnIGZyb20gQVNfTElCVE9PTF9UQUdTLCBqdXN0IGxpa2Ugd2UKCSAgZGlkIGZvciAtZ29vZCBhbmQgLXVnbHkuIEZpeGVzIGJ1aWxkIG9uIHNvbWUgc3lzdGVtcwoJICBhbmQgZG9lc24ndCBzZWVtIHRvIGJlIHJlcXVpcmVkIGZvciBDKysgY29kZS4KCjIwMDYtMDMtMjYgMTk6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi4qOiBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0byBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8KCSAgY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgY2FuJ3QKCSAgYWRqdXN0IG9mZnNldHMgeWV0IHdoZW4gd2UgZ2V0IGl0LCBhcyB3ZSBkb24ndAoJICBrbm93IHRoZSBzaXplIG9mIHRoZSB0YWcgeWV0IGZvciBzdXJlIGF0IHRoYXQgcG9pbnQuCgkgIEFsc28gZG8gc29tZSBtaW5vciBjbGVhbmluZyB1cCBoZXJlIGFuZCB0aGVyZSBhbmQgYWRkCgkgIHNvbWUgZGVidWcgc3RhdGVtZW50cy4KCjIwMDYtMDMtMjUgMjE6NTc6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyCgkgIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pZDMgY2FwczsgYWxzbywKCSAgZG9uJ3QgdXNlIGFscmVhZHktZnJlZWQgc3RyaW5ncyBpbiBkZWJ1ZyBtZXNzYWdlczsKCSAgZmluYWxseSwgYWRqdXN0IGJ1ZmZlciBvZmZzZXRzIG9uIGJ1ZmZlcnMgc2VudCBvdXQuCgoyMDA2LTAzLTI1IDEzOjAyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LAoJICBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZml4ZWQgcHJvcGVybHkgKGFuZCBtYWtlCgkgIGJ1aWxkYm90cyBoYXBweSkuCgoyMDA2LTAzLTI1IDA1OjMxOjI4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBtYWtlIGZldyB0aGluZ3MgbW9yZSByb2J1c3QgYW5kIGFsc28gc29tZSBpZGVudGF0aW9uLgoKMjAwNi0wMy0yMyAwOToxNTowOSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogUGF0Y2ggdG8gbWFyayBvdXRnb2luZyBlbmNvZGVkIGJ1ZmZlcnMgYXMgZGVsdGEtdW5pdHMgKG9yIG5vdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfaW5pdCksIChnc3RfeHZpZGVuY19zZXR1cCksCgkgIChnc3RfeHZpZGVuY19jaGFpbik6CgkgIFBhdGNoIHRvIG1hcmsgb3V0Z29pbmcgZW5jb2RlZCBidWZmZXJzIGFzIGRlbHRhLXVuaXRzIChvciBub3QpLgoJICBOb3RlIHRoYXQgdGhpcyBwYXRjaCBhbHNvIHBhdGNoZXM6CgkgIC0gdGhlIHNldHRpbmcgb2YgZmluY3IgYW5kIGZiYXNlIGluIHh2aWQtZW5jb2RlciBjcmVhdGlvbiBiYXNlZCBvbgoJICBjYXBzIGZyYW1lcmF0ZQoJICAtIG1ha2VzIDAsIHJhdGhlciB0aGFuIDIsIHRoZSBkZWZhdWx0IG1heF9iX2ZyYW1lcywgYXMgdGhlIGN1cnJlbnQKCSAgeHZpZGVuYyBkb2VzIG5vdCBzZWVtICJmdWxseSBwcmVwYXJlZCIgdG8gaGFuZGxlIGItZnJhbWUKCSAgImVmZmVjdHMiLCBzdWNoIGFzIGVuY29kZXIgcmV0dXJuaW5nIDAgZW5jb2RlZCBieXRlcywgZXRjLgoJICBGaXhlcyAjMzM1NTg1CgoyMDA2LTAzLTIyIDE5OjUxOjI5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zIGFkZGl0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zIGFkZGl0aW9ucwoKMjAwNi0wMy0yMiAxNzoxMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvOiBUcnkgdGhhdCBhZ2FpbiAobm90IG9ubHkgc2hvdWxkIGl0IGJlIE1PRFBMVUdfIGluc3RlYWQgb2YgTU9ERklMRSwgYWxzbyB0aGF0IGRlZmluZSBpcyBhbHJlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkgIFRyeSB0aGF0IGFnYWluIChub3Qgb25seSBzaG91bGQgaXQgYmUgTU9EUExVR18gaW5zdGVhZAoJICBvZiBNT0RGSUxFLCBhbHNvIHRoYXQgZGVmaW5lIGlzIGFscmVhZHkgc2V0IGluIHN0ZGFmeC5oOwoJICB3aGF0IHdlIHJlYWxseSBuZWVkIGlzIHNvbWUgbW9yZSAjaWZuZGVmcykuCgoyMDA2LTAzLTIyIDE1OjAyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbTogTW9yZSBnY2MtNC4xIGZpeGVzICh3ZSBkb24ndCBuZWVkIGZpbGUgc2F2aW5nLCBzbyBqdXN0IGRlZmluZSBNT0RQTFVHX05PX0ZJTEVTQVZFLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgIE1vcmUgZ2NjLTQuMSBmaXhlcyAod2UgZG9uJ3QgbmVlZCBmaWxlIHNhdmluZywgc28ganVzdAoJICBkZWZpbmUgTU9EUExVR19OT19GSUxFU0FWRS4gVGhhdCB3YXksIHRoZSBjb21waWxlciB3b24ndAoJICBjb21wbGFpbiBhYm91dCBtb2RwbHVnIGlnbm9yaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgZndyaXRlCgkgIGFueSBsb25nZXIgYW5kIHdlIG1pZ2h0IGV2ZW4gc2F2ZSBhIGZldyBieXRlcyBhcyB3ZWxsKS4KCjIwMDYtMDMtMjIgMTQ6MzE6NDcgKzAwMDAgIFdvdXRlciBQYWVzb24gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgQWRkIG5ldyBsaWJzb3VuZHRvdWNoLWJhc2VkIHBpdGNoIHBsdWdpbiAoIzMzMTMzNSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNvbiAgPHdvdXRlciBhdCBrYW5nYXJvb3QgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBBZGQgbmV3IGxpYnNvdW5kdG91Y2gtYmFzZWQgcGl0Y2ggcGx1Z2luICgjMzMxMzM1KS4KCjIwMDYtMDMtMjEgMTY6MDI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDogRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMSBhbmQgLVdlcnJvciAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4xIGFuZCAtV2Vycm9yICgjMzI3MzU1KS4KCjIwMDYtMDMtMjAgMDg6NTk6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCjIwMDYtMDMtMTcgMTY6MzQ6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEhhdmUgYSBzaG93IG1vdXNlIHBvaW50ZXIgcHJvcGVydHkgYW5kIHVzZSBpdCBpZiB3ZSBjYW4KCjIwMDYtMDMtMTUgMTU6MDg6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9kaXNwb3NlKToKCSAgTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgoyMDA2LTAzLTE1IDE0OjM5OjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcXRkZW11eF9pbml0KSwgKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBTZXJpZXMgb2YgbWVtbGVhayBmaXhlczoKCSAgLSBVbnJlZiB0aGUgR3N0QWRhcHRlciBpbiBmaW5hbGl6ZS4KCSAgLSBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSwgc2hvcnRlciBhbmQgc2FmZXIuCgkgIC0gRnJlZSB1bnVzZWQgUXREZW11eFN0cmVhbSB3aGVuIG5vdCB1c2VkLgoKMjAwNi0wMy0xNCAxNzoyNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsIG1vdmluZyBpdCBmcm9tIF9jbGFzcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgIEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLAoJICBtb3ZpbmcgaXQgZnJvbSBfY2xhc3NfaW5pdCgpIHRvIGJlZ2lubmluZyBvZiBfYmFzZV9pbml0KCkuCgoyMDA2LTAzLTEzIDE3OjIyOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZCBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQKCSAgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIG9mIHRoZSBwbHVnaW4gKHRhZ2xpYm11eCA9PiB0YWdsaWIpCgoyMDA2LTAzLTEzIDEyOjE0OjE4ICswMDAwICBNaWtoYWlsIFphYmFsdWV2IDxtaHpAYWx0bGludXgub3JnPgoKCSAgYXV0b2dlbi5zaDogRG9uJ3QgY2hlY2sgZm9yIGZpbGUgdGhhdCBvbmx5IGV4aXN0cyBpbiBDVlMgYnV0IGlzbid0IGRpc3RlZCAoIzMzNDQxNykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWtoYWlsIFphYmFsdWV2ICA8bWh6IGFsdGxpbnV4IG9yZz4KCSAgKiBhdXRvZ2VuLnNoOgoJICBEb24ndCBjaGVjayBmb3IgZmlsZSB0aGF0IG9ubHkgZXhpc3RzIGluIENWUyBidXQgaXNuJ3QKCSAgZGlzdGVkICgjMzM0NDE3KQoKMjAwNi0wMy0xMyAxMDowNTowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgoyMDA2LTAzLTEyIDIzOjU2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZGlzdGNoZWNrLgoKMjAwNi0wMy0xMiAxNTozMzowMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldCBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfYnVmZmVyX3Bvb2xfZnJlZSk6CgkgIGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQKCSAgaW5zdGVhZC4KCjIwMDYtMDMtMTIgMTU6MjU6NTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQwoJICBidWlsZGJvdCBoYXBweS4KCSAgSSB3aWxsIGp1c3QgdXNlIHRoZSBzYW1lIGNvbW1lbnQgUm9uYWxkIHVzZWQgd2hlbiBoZSBhZGRlZCB0aGVzZSBsaW5lczoKCSAgWWV0IEFub3RoZXIgSGFjayAodG0pIGZvciBrZXJuZWwgaGVhZGVyIGJvcmtlZG5lc3MuCgoyMDA2LTAzLTEyIDE1OjAyOjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgoyMDA2LTAzLTEyIDE0OjQzOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkgIEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBQUEMtYnVpbGRib3QgaGFwcHkuCgoyMDA2LTAzLTExIDIyOjUwOjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCjIwMDYtMDMtMTEgMTc6MDg6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgY29tcGlsZSB0aGUgdGFnbGliIHBsdWdpbiBpZiBhIEMrKyBjb21waWxlciBpcyBwcmVzZW50LiBVc2UgR1NUX0RFRkFVTFRfRUxFTUVOVFMgbWFjcm8gZnJvbSBjb21tb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGNvbXBpbGUgdGhlIHRhZ2xpYiBwbHVnaW4gaWYgYSBDKysgY29tcGlsZXIgaXMKCSAgcHJlc2VudC4gVXNlIEdTVF9ERUZBVUxUX0VMRU1FTlRTIG1hY3JvIGZyb20gY29tbW9uLwoJICBmb3IgYWxsIHRoZSBkZWZhdWx0cyBzdHVmZi4KCjIwMDYtMDMtMTEgMTE6MTI6MzAgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBhZGRlZCBuZXcgZWxlbWVudCB0byBhZGQgWGluZyBoZWFkZXJzIHRvIE1QMyBmaWxlcyAodGhpcyBhbGxvd3MgZGVjb2RlciB0byBmaWd1cmUgb3V0IHRoZSBsZW5ndGggb2YgVkJSIGZpbGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6IGFkZGVkIG5ldyBlbGVtZW50IHRvIGFkZCBYaW5nIGhlYWRlcnMKCSAgdG8gTVAzIGZpbGVzICh0aGlzIGFsbG93cyBkZWNvZGVyIHRvIGZpZ3VyZSBvdXQgdGhlIGxlbmd0aCBvZiBWQlIKCSAgZmlsZXMpCgoyMDA2LTAzLTExIDEwOjU4OjA4ICswMDAwICBBbGV4IExhbmNhc3RlciA8YWxleGxhbkBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBQYXRjaCBieTogQWxleCBMYW5jYXN0ZXIKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogZml4IHdyaXRpbmcgb2YgVFBPUyB0YWdzIChhbGJ1bSBudW1iZXIpLAoJICBhbmQgYWRkIHN1cHBvcnQgZm9yIFRDT1AgKGNvcHlyaWdodCkKCjIwMDYtMDMtMTAgMjI6NDE6MTQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21vZHBsdWcvOiBGaXggbW9kcGx1ZyBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTAgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBGaXggbW9kcGx1ZyBjb21waWxhdGlvbi4KCjIwMDYtMDMtMTAgMTc6MTA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOiAqIGNvbmZpZ3VyZS5hYzogKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbTogKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDogKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOiAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOiBtb2RwbHVnIHBsdWdpbiBwb3J0ZWQgdG8gMC4xMCAoIzMzMjU5OCwgcGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PikuCgoyMDA2LTAzLTEwIDEzOjQ5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuKjogU29tZSBjbGVhbi11cHM7IG1vcmUgZGVidWcgb3V0cHV0OyB1c2UgYmxvY2tzaXplIHByb3BlcnR5IG9mIEdzdEJhc2VTcmMgaW5zdGVhZCBvZiByZS1yZWdpc3RlcmluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3VyaWhhbmRsZXJfaW5pdCksCgkgIChnc3RfbW1zX2Jhc2VfaW5pdCksIChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19pbml0KSwKCSAgKGdzdF9tbXNfZmluYWxpemUpLCAoZ3N0X21tc19jcmVhdGUpLCAoZ3N0X21tc19zdGFydCksCgkgIChnc3RfbW1zX3NldF9wcm9wZXJ0eSksIChnc3RfbW1zX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbW1zX3VyaV9nZXRfdXJpKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBTb21lIGNsZWFuLXVwczsgbW9yZSBkZWJ1ZyBvdXRwdXQ7IHVzZSBibG9ja3NpemUgcHJvcGVydHkKCSAgb2YgR3N0QmFzZVNyYyBpbnN0ZWFkIG9mIHJlLXJlZ2lzdGVyaW5nIG91ciBvd247IG1ha2UgZGVidWcKCSAgY2F0ZWdvcnkgYWN0dWFsbHkgYmUgdXNlZC4KCjIwMDYtMDMtMDkgMjA6MDI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgoyMDA2LTAzLTA5IDE3OjQ0OjE3ICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0wOSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIHJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCjIwMDYtMDMtMDggMTI6MTY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZQoJICAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIGZvciB0aGF0CgkgIChmaXhlcyAjMzMyMDY2KS4KCjIwMDYtMDMtMDYgMTM6MTU6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svOiBGb3Jnb3QgdGhvc2UgdHdvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzogKGdzdF9tdXNlcGFja19yZWFkZXJfcGVlayk6CgkgIEZvcmdvdCB0aG9zZSB0d28uCgoyMDA2LTAzLTA2IDEzOjEzOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IFNvbWUgY2xlYW51cHM7IHBhdXNlIHRhc2sgd2hlbiBwdXNoIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2dldF9zcmNfcXVlcnlfdHlwZXMpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksCgkgIChnc3RfbXVzZXBhY2tkZWNfY2hhbmdlX3N0YXRlKToKCSAgU29tZSBjbGVhbnVwczsgcGF1c2UgdGFzayB3aGVuIHB1c2ggZmFpbHMuCgoyMDA2LTAzLTA1IDEzOjAzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCjIwMDYtMDMtMDQgMjA6MDQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24vZHVyYXRpb24gcXVlcnlpbmcgKG1vc3RseSBmb3IgcmF3IEFBQyBzdHJlYW1zKTsgbWFrZSBzZWVraW5nIGluIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9zZW5kX3RhZ3MpLAoJICAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9kb19yYXdfc2VlayksIChnc3RfZmFhZF9zcmNfZXZlbnQpLAoJICAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChnc3RfZmFhZF9zcmNfY29udmVydCksCgkgIChnc3RfZmFhZF9zcmNfcXVlcnkpLCAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgQWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbi9kdXJhdGlvbiBxdWVyeWluZyAobW9zdGx5IGZvcgoJICByYXcgQUFDIHN0cmVhbXMpOyBtYWtlIHNlZWtpbmcgaW4gcmF3IEFBQyBzdHJlYW1zIHdvcms7IHBvc3QKCSAgdGFncyB3aXRoIGNvZGVjIG5hbWUgaWYgdGhpcyBpcyBhIHJhdyBBQUMgc3RyZWFtLgoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMy0wMyAxODoxMDoxMiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiBEZWNsYXJlIHZhcmlhYmxlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGFuZCBtYWtlIGdjYy0yLjl4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NoYWluKToKCSAgRGVjbGFyZSB2YXJpYWJsZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBhbmQgbWFrZSBnY2MtMi45eAoJICBoYXBweSAoZml4ZXMgIzMzMzI4MzsgcGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyKS4KCjIwMDYtMDMtMDMgMTE6MDc6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcyB3aGVuIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zCgkgIHdoZW4gcGFyc2luZy4KCSAgQWxzbyBsZXQncyBiZSBhIGJpdCBsZXNzIHZ1bGdhciBpbiBvdXIgd2FybmluZyBtZXNzYWdlcyA6KQoKMjAwNi0wMy0wMiAxODoyMzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBhdWRpb3Jlc2FtcGxlIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGF1ZGlvcmVzYW1wbGUgdG8gZG9jcy4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICBBZGQgcmV2aXNpb24gZGF0ZS4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2Rpc3Bvc2UpLAoJICAoYXVkaW9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX2NhcHMpLAoJICAocmVzYW1wbGVfc2V0X3N0YXRlX2Zyb21fY2FwcyksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc2V0X2NhcHMpLCAoYXVkaW9yZXNhbXBsZV9ldmVudCksCgkgIChhdWRpb3Jlc2FtcGxlX2RvX291dHB1dCksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChhdWRpb3Jlc2FtcGxlX3B1c2h0aHJvdWdoKSwgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgQWRkZWQgZG9jcy4KCSAgU21hbGwgY29kZSBjbGVhbnVwcy4KCjIwMDYtMDItMjggMTE6NTk6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZiBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpICguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mCgkgIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKHNlZSAjMzI3MDgzKQoKMjAwNi0wMi0yNSAyMTo0MDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTI1ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoKMjAwNi0wMi0yNCAxOTo0OTozMiArMDAwMCAgRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIHBhbGV0dGlzZWQgQXBwbGUgU01DIHZpZGVvcyAoIzMyNzA3NSwgYmFzZWQgb24KCSAgcGF0Y2ggYnk6IEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoKMjAwNi0wMi0yNCAxNzoxNTozNSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgYXV0b2dlbi5zaDogQWxsb3cgYXV0b21ha2UgMS45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFsbG93IGF1dG9tYWtlIDEuOQoKMjAwNi0wMi0yNCAxNzowMjowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBDaGFuZ2VkIHByb3BlcnR5IG5hbWUgZnJvbSAidXJpIiB0byAibG9jYXRpb24iLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBuYW1lIGZyb20gInVyaSIgdG8gImxvY2F0aW9uIi4KCjIwMDYtMDItMjIgMTQ6Mzc6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQ3lnd2luIFBvcnRzIG1haW50YWluZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBNZXJnZSBwYXRjaCBmcm9tICMzMTcwNDggZm9yIGJ1aWxkaW5nIG9uIEN5Z3dpbi4gUGF0Y2ggYnkKCSAgQ3lnd2luIFBvcnRzIG1haW50YWluZXIuCgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBNb3ZlIG5vcm1hbCBkZWJ1ZyBvdXRwdXQgdG8gTE9HIGxldmVsIG5vdCBFUlJPUi4KCjIwMDYtMDItMjIgMDk6MzM6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnkgOiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIEFkZCBpbWFnZS9wbmcgZm9yIGZvdXJjYyAncG5nICcKCjIwMDYtMDItMjEgMTU6NDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN1cmVseSB0aGlzIGlzIHN1cHBvc2VkIHRvIGJlID49IGEuYiwgbm90ID09IGEuYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN1cmVseSB0aGlzIGlzIHN1cHBvc2VkIHRvIGJlID49IGEuYiwgbm90ID09IGEuYgoKMjAwNi0wMi0yMCAyMToxOTo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JldHVybl9idWYpLAoJICAoZ3N0X3hpbWFnZXNyY19vcGVuX2Rpc3BsYXkpLCAoZ3N0X3hpbWFnZXNyY19zdGFydCksCgkgIChnc3RfeGltYWdlc3JjX3N0b3ApLCAoZ3N0X3hpbWFnZXNyY191bmxvY2spLAoJICAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLCAoY29tcG9zaXRlX3BpeGVsKSwKCSAgKGdzdF94aW1hZ2VzcmNfeGltYWdlX2dldCksIChnc3RfeGltYWdlc3JjX2NyZWF0ZSksCgkgIChnc3RfeGltYWdlc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfeGltYWdlc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeGltYWdlc3JjX2NsZWFyX2J1ZnBvb2wpLCAoZ3N0X3hpbWFnZXNyY19iYXNlX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19kaXNwb3NlKSwgKGdzdF94aW1hZ2VzcmNfZmluYWxpemUpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX3NldF9jYXBzKSwKCSAgKGdzdF94aW1hZ2VzcmNfZml4YXRlKSwgKGdzdF94aW1hZ2VzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX2hhbmRsZV94ZXJyb3IpLAoJICAoeGltYWdldXRpbF9jaGVja194c2htX2NhbGxzKSwgKHhpbWFnZXV0aWxfeGNvbnRleHRfZ2V0KSwKCSAgKHhpbWFnZXV0aWxfeGNvbnRleHRfY2xlYXIpLAoJICAoeGltYWdldXRpbF9jYWxjdWxhdGVfcGl4ZWxfYXNwZWN0X3JhdGlvKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2ZpbmFsaXplKSwgKGdzdF94aW1hZ2VfYnVmZmVyX2ZyZWUpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfaW5pdCksIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2dldF90eXBlKSwgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9uZXcpLAoJICAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX2Rlc3Ryb3kpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBQb3J0IHhpbWFnZXNyYyB0byAwLjEwIChDbG9zZXMgIzMwNDc5NSkKCjIwMDYtMDItMjAgMjA6NTI6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBldmVudCBoYW5kbGluZyBhZGRlZCBieSBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4KCjIwMDYtMDItMjAgMTk6MTM6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUyBuYW5vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMgbmFubwoKPT09IHJlbGVhc2UgMC4xMC4xID09PQoKMjAwNi0wMi0yMCAxOToxMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCjIwMDYtMDItMjAgMTM6MDg6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndCBlbmFibGVkIGZvciB0aGUgYnVpbGQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9ldmVudCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgRml4IGNvbXBpbGF0aW9uIG9mIExBRFBTQS4gSXQgZG9lc24ndCBzZWVtIHRvIHdvcmssIGFuZCBpc24ndAoJICBlbmFibGVkIGZvciB0aGUgYnVpbGQsIGJ1dCBpdCBoZWxwcyBtZSB3aW4gdGhlIGZlYXR1cmUtY291bnQKCSAgY29tcGV0aXRpb25zIG9vaCB5ZWFoLgoKMjAwNi0wMi0xOSAyMzo0NTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbGVhc2UgMC4xMC4wLjMgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjAuMyAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCjIwMDYtMDItMTkgMjA6MDA6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYnoyLzogQWRkIHByb3BlciBjb3B5cmlnaHQgaGVhZGVycyBpZGVudGlmeWluZyBMdXR6IE3DvGxsZXIgYXMgdGhlIGF1dGhvciBhbmQgY29weXJpZ2h0IGhvbGRlciAoIzMzMTYwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9iejIvZ3N0YnoyLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgQWRkIHByb3BlciBjb3B5cmlnaHQgaGVhZGVycyBpZGVudGlmeWluZyBMdXR6IE3DvGxsZXIKCSAgYXMgdGhlIGF1dGhvciBhbmQgY29weXJpZ2h0IGhvbGRlciAoIzMzMTYwMCkuCgoyMDA2LTAyLTE3IDE4OjI1OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleCBlbnRyaWVzICgjMzMxNTgyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4CgkgIGVudHJpZXMgKCMzMzE1ODIpLgoKMjAwNi0wMi0xNyAxNjoyODoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlcik6CgkgIENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplCgkgIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHRoYXQuCgkgIEZpeGVzICMzMzE1NDMuCgoyMDA2LTAyLTE3IDE2OjAwOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVsZWFzZSAwLjEwLjAuMiAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMC4yIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoKMjAwNi0wMi0xNyAxNTowMzoxMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGxhdGVzdCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgdXBkYXRlcwoKMjAwNi0wMi0xNiAxNDowMjo1NyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgRG9uJ3Qgc3RvcCB0aGUgdGFzayBpZiB0aGUgcGFkIGlzbid0IGxpbmtlZC4KCjIwMDYtMDItMTUgMTI6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCjIwMDYtMDItMTUgMDk6NDU6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcG9zdF9idWZmZXJpbmcpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzCgkgIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA2LTAyLTE0IDE4OjUwOjEzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIERvbid0IGFuc3dlciBkdXJhdGlvbiBxdWVyeS4gVGhpcyBzaG91bGQgYmUgdHJhbnNmb3JtZWQgaW50byByZXBseWluZwoJICBGQUxTRSB0byBzZWVrIGV2ZW50cy4KCjIwMDYtMDItMTQgMTI6MjY6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIG9uIEVPUywgbm90IEZMT1dfRVJST1IuIEFsc28sIG5vIG5lZWQgdG8gcHVzaCBvdXIgb3duIEVPUyBldmVudCBvbiBFT1MsIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2NyZWF0ZSksCgkgIChnc3RfbW1zX3N0YXJ0KToKCSAgUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCBvbiBFT1MsIG5vdCBGTE9XX0VSUk9SLiBBbHNvLCBubyBuZWVkIHRvCgkgIHB1c2ggb3VyIG93biBFT1MgZXZlbnQgb24gRU9TLCB0aGUgYmFzZSBjbGFzcyB3aWxsIGRvIHRoYXQgZm9yIHVzOwoJICBmaXggYm9ndXMgcXVlcnkgY29kZTsgcG9zdCBzZW1pLWRlY2VudCBlcnJvcnMgb24gdGhlIGJ1cyB3aGVuIGFuCgkgIGVycm9yIG9jY3VycyBpbiA6OnN0YXJ0KCksIG90aGVyd2lzZSB0aGUgdXNlciB3aWxsIGdldCB0byBzZWUKCSAgd2hhdGV2ZXIgY3J5cHRpYyBkZWZhdWx0IG1lc3NhZ2UgR3N0QmFzZVNyYyBjb21lcyB1cCB3aXRoLgoKMjAwNi0wMi0xNCAxMTozNjozMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24KCSAgc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgoyMDA2LTAyLTE0IDExOjI0OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgZGF0YSBhdG9tcyBhcmUgYmVmb3JlIG1vb3YgYXRvbXMgaW4gcHVzaC1iYXNlZCBtb2RlLgoJICBFcnJvcnMgb3V0IGdyYWNlZnVsbHkuCgoyMDA2LTAyLTEzIDIyOjA0OjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksIChuZXh0X2VudHJ5X3NpemUpLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBRdERlbXV4IGNhbiBub3cgd29yayBwdXNoLWJhc2VkLgoJICBJdCBzdGlsbCBuZWVkcyBzb21lIGxvdmUgZm9yIHNlZWtpbmcuCgoyMDA2LTAyLTEzIDE3OjAyOjA5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXplL0ZBUToKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZnJlZXplIHBsdWdpbiBwb3J0ZWQgdG8gMC4xMCBieSBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4KCjIwMDYtMDItMTAgMTc6NDE6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IGNkeGFwYXJzZSwgbWFrZXMgVkNEIHBsYXliYWNrIHdvcmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgUG9ydCBjZHhhcGFyc2UsIG1ha2VzIFZDRCBwbGF5YmFjayB3b3JrLgoKMjAwNi0wMi0xMCAxMzoxNjo0OSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDItMDcgMTg6MzE6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICByZW1vdmUgdW51c2VkIHZhcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCjIwMDYtMDItMDcgMTg6MDE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZSB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlCgkgIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGJ1ZywgYW5kIG1ha2VzCgkgIHRoZSBkdW1wIG9mIG9mZnNldHMgY29tcGFyYWJsZSB0byBvdGhlciB0b29scwoKMjAwNi0wMi0wNyAxNzo1NTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgIGRvYyB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2MgdXBkYXRlcwoKMjAwNi0wMi0wNyAxNzo1NDo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZwoJICBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCjIwMDYtMDItMDYgMjA6NTE6NDkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBOb3cgaXQgdXNlcyBsaWJuZW9uIDAuMjUuNSB0aGF0IHN1cHBvcnRzIHNob3V0Y2FzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpdCB1c2VzIGxpYm5lb24gMC4yNS41IHRoYXQgc3VwcG9ydHMgc2hvdXRjYXN0LgoKMjAwNi0wMi0wNiAxODoyMTo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9iejIvZ3N0YnoyZW5jLmM6IEFjY2VwZCAiQU5ZIiBjYXBzLiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZiAieC1iejIiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiBBY2NlcGQgIkFOWSIgY2Fwcy4gVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YKCSAgIngtYnoyIi4KCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZiAieC1iejIiLiBJbml0aWFsCgkgIGNhcHMgYXJlICJBTlkiLgoJICAoZ3N0X2J6MmRlY19jaGFpbik6IENvbmZpZ3VyZSB0aGUgc291cmNlIHBhZCBpZiB3ZSBjYW4gZmlndXJlIG91dAoJICB0aGUgbWltZSB0eXBlIG9mIHRoZSBkZWNvbXByZXNzZWQgZGF0YS4KCSAgKGdzdF9iejJkZWNfW2dldCxzZXRdX3Byb3BlcnR5KToKCSAgKGdzdF9iejJkZWNfY2xhc3NfaW5pdDogTmV3IHByb3BlcnR5ICJmaXJzdF9idWZmZXJfc2l6ZSIuCgoyMDA2LTAyLTA2IDE1OjQxOjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIEhhbmRsZSBzZWVraW5nIGluIGEgbGVzcyBicm9rZW4gd2F5LgoJICBGaXggQU1SIGNhcHMgdG8gbWF0Y2ggdGhlIEFNUiBkZWNvZGVyLgoJICBTZXQgZmlyc3QgdGltZXN0YW1wIG9uIEFNUiBzYW1wbGVzIHRvIDAgZm9yIG5vdy4KCSAgUmVtb3ZlIHNvbWUgXG4gaW4gREVCVUcgc3RyaW5ncy4KCSAgVXNlIF9zY2FsZV9pbnQgZm9yIG1heGltdW0gcHJlY2lzaW9uLgoKMjAwNi0wMi0wNiAxMjo1NjowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcGV0YWcvOiBSZW1vdmUgb2xkIGZpbGVzLCBhcGV0YWcgaXMgaW4gZ3N0LXBsdWdpbnMtZ29vZCBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hcGV0YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguaDoKCSAgKiBnc3QvYXBldGFnL2FwZXRhZy5jOgoJICBSZW1vdmUgb2xkIGZpbGVzLCBhcGV0YWcgaXMgaW4gZ3N0LXBsdWdpbnMtZ29vZCBub3cuCgoyMDA2LTAyLTA2IDA5OjU0OjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvYnoyLzogTm8gbmVlZCB0byBpbml0IHBhcmVudF9jbGFzcywgdGhlIGJvaWxlcnBsYXRlIGRvZXMgaXQgZm9yIHlvdS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYyAoZ3N0X2J6MmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jIChnc3RfYnoyZGVjX2NsYXNzX2luaXQpOiBObyBuZWVkIHRvIGluaXQKCSAgcGFyZW50X2NsYXNzLCB0aGUgYm9pbGVycGxhdGUgZG9lcyBpdCBmb3IgeW91LgoKMjAwNi0wMi0wNiAwOTo0MDowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgSG9vayBpdCB1cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMDUgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgcmV2aWV3ZWQgYnk6IEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOiBIb29rIGl0IHVwLgoJICAqIGV4dC9iejIvZ3N0YnoyLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogTmV3IHBsdWdpbiwgaW1wbGVtZW50cyBiejIgZW5jb2RpbmcgYW5kCgkgIGRlY29kaW5nICgjMzAzMTY3KS4KCjIwMDYtMDItMDMgMTA6MTM6MjIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBvcGVuZ2wgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgb3BlbmdsIHBsdWdpbgoKMjAwNi0wMS0zMCAxNTo0Nzo0NyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMzAgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfQ0ZMQUdTKTogQWRkIFBMVUdJTlNfQkFTRSBjZmxhZ3MgYW5kIGxpYnMuCgoyMDA2LTAxLTI5IDIwOjA3OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZyBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3NldGNhcHMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nCgkgIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfbGFzdF9lbnRyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfYXBwZW5kX2VudHJ5KSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zY2FuX3RvX2ZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF93YXZlcGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBSZXdyaXRlIGEgYml0LCBtb3N0bHkgdG8gZml4IGZsb3cgbG9naWMgYW5kIHRvIG1ha2Ugc2Vla2luZyB3b3JrLgoJICBGaXggYnVmZmVyL2V2ZW50IHJlZmNvdW50aW5nLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLiBBZGQKCSAgd2lkdGggb2YgMzIgdG8gc291cmNlIHBhZCB0ZW1wbGF0ZSBjYXBzLiBVc2UgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0wMS0yOCAxMjo0NTo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoKMjAwNi0wMS0yOCAwNDozOToxOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgIHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoKMjAwNi0wMS0yNyAxMjo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlICdmcmFtZWQnIGZpZWxkIGluIGNhcHM7IFBvcnQgc3luY2luZyBmb3IgcmF3IHN0cmVhbXMgZnJvbSAwLjggYnJhbmNoIChmb3IgQUFDKyByYWRpbyBzdHJlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwgKGdzdF9mYWFkX3N5bmMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBIYW5kbGUgJ2ZyYW1lZCcgZmllbGQgaW4gY2FwczsgUG9ydCBzeW5jaW5nIGZvciByYXcgc3RyZWFtcwoJICBmcm9tIDAuOCBicmFuY2ggKGZvciBBQUMrIHJhZGlvIHN0cmVhbXMpICgjMzI4NzIyKS4KCjIwMDYtMDEtMjcgMDE6MzE6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogRml4IG91dHB1dCBzdHJpZGUgY29weWluZywgc28gdGhhdCBpdCBkaXNwbGF5cyBjb3JyZWN0bHkgb24gZnJhbWVidWZmZXIgZGV2aWNlcyB0aGF0IGRvbid0IG1hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3N1cHBvcnRlZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3hvdmVybGF5X3NldF94d2luZG93X2lkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVpbml0c2RsKSwgKGdzdF9zZGx2X3Byb2Nlc3NfZXZlbnRzKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2Rlc3Ryb3kpLCAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgRml4IG91dHB1dCBzdHJpZGUgY29weWluZywgc28gdGhhdCBpdCBkaXNwbGF5cyBjb3JyZWN0bHkgb24KCSAgZnJhbWVidWZmZXIgZGV2aWNlcyB0aGF0IGRvbid0IG1hdGNoIG91ciBpbXBsaWN0IEdTdHJlYW1lciBzdHJpZGUKCSAgYXJyYW5nZW1lbnQuCgkgIEZpeCBsb2NraW5nIHRoaW5ncy4gT2ZmZXIgWE92ZXJsYXkgb25seSB3aGVuIFNETCBpcyBydW5uaW5nIGFnYWluc3QKCSAgWC4gTWFrZSBub24tc2NhbGVkIChhbmQgdWdseSkgZW1iZWRkaW5nIHdvcmsgdmlhIFggT3ZlcmxheS4gSXQgY2FuJ3QKCSAgYWN0dWFsbHkgbWF0Y2ggdGhlIGVtYmVkZGVkIHdpbmRvdyBzaXplIGJlY2F1c2UgdGhlcmUncyBubyB3YXkgdG8KCSAgZmlndXJlIG91dCB3aGF0IHNpemUgdGhhdCBzaG91bGQgYmUgZnJvbSB0aGUgWE92ZXJsYXkgaW50ZXJmYWNlLgoJICBTZWUgY29tbWVudCBpbiBzZGx2aWRlb3NpbmsuYwoKMjAwNi0wMS0yNiAxNjoyMzo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHdyb25nIG1lbWNweSBzb3VyY2UgcG9pbnRlci4KCjIwMDYtMDEtMjUgMTQ6NDQ6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgSnVzdCBjaGFpbiB1cCBmaW5hbGl6ZSBjYWxscyAoY2FsbGluZyBwYXJlbnRfY2xhc3MtPmZpbmFsaXplKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgY2hhaW4gdXAgZmluYWxpemUgY2FsbHMgKGNhbGxpbmcgcGFyZW50X2NsYXNzLT5maW5hbGl6ZSkuCgoyMDA2LTAxLTI1IDE0OjIwOjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIEZpbmFsaXplIG1ldGhvZCBoYXMgYmVlbiBjcmVhdGVkIGFuZCBvdGhlcnMgc21hbGwgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpbmFsaXplIG1ldGhvZCBoYXMgYmVlbiBjcmVhdGVkIGFuZCBvdGhlcnMgc21hbGwgY2hhbmdlcy4KCjIwMDYtMDEtMjQgMjE6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svOiBGaXggc2Vla2luZyBpbiBtdXNlcGFjayBmaWxlcyAoaXQncyBzdGlsbCBpbmNyZWRpYmx5IHNsb3csIGJ1dCBJIGRvbid0IHRoaW5rIHRoYXQgaXMgb3VyIHBsdWdpbidzIGZhdWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19jbGFzc19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksIChnc3RfbXVzZXBhY2tkZWNfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLCAoZ3N0X211c2VwYWNrZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6IChnc3RfbXVzZXBhY2tfcmVhZGVyX3BlZWspLAoJICAoZ3N0X211c2VwYWNrX3JlYWRlcl9zZWVrKSwgKGdzdF9tdXNlcGFja19yZWFkZXJfdGVsbCksCgkgIChnc3RfbXVzZXBhY2tfcmVhZGVyX2dldF9zaXplKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgRml4IHNlZWtpbmcgaW4gbXVzZXBhY2sgZmlsZXMgKGl0J3Mgc3RpbGwgaW5jcmVkaWJseSBzbG93LCBidXQgSQoJICBkb24ndCB0aGluayB0aGF0IGlzIG91ciBwbHVnaW4ncyBmYXVsdCkuIENsZWFuIHVwIGNvZGUgYW5kIGdldAoJICByaWQgb2Ygb2xkIGNydWZ0LiBQb3N0IHRhZ3Mgd2l0aCBhbGwga2luZCBvZiBuZWF0IGluZm9ybWF0aW9uIGxpa2UKCSAgcmVwbGF5IGdhaW4gYW5kIHN1Y2ggb24gdGhlIGJ1cywgaWYgaXQgaXMgYXZhaWxhYmxlLiBBZGQgYQoJICAnbXVzZXBhY2tkZWMnIGRlYnVnIGNhdGVnb3J5LgoKMjAwNi0wMS0yNCAxMTo1ODo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgSWYgc2FtcGxlX3NpemUgaXMgYXZhaWxhYmxlLCB1c2UgdGhhdCBmb3IgdGhlIHNhbXBsZXMnIGR1cmF0aW9uIGluCgkgIHRoZSBpbmRleC4gVGhpcyBlbmFibGVzIHNpbmdsZSBmcmFtZSBzdHJlYW1zIHRvIHdvcmsgKGFuZCBJIGltYWdpbmUKCSAgZml4ZXMgc29tZSBvdGhlciBjYXNlcykuCgkgIFRlc3RlZCBvbiB0ZXN0c3VpdGUsIG5vIHJlZ3Jlc3Npb24uCgoyMDA2LTAxLTIzIDE1OjEwOjU1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6IF8gVlAzMSA6IHZpZGVvL3gtdnAzIF8gQVZESiA6IGltYWdlL2pwZWcgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOgoJICBfIFZQMzEgOiB2aWRlby94LXZwMwoJICBfIEFWREogOiBpbWFnZS9qcGVnCgkgIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZHYsIHN5c3RlbXN0cmVhbT0oYm9vbGVhbilmYWxzZQoJICBfIDB4NmQ3MzAwMTcgOiBhdWRpby94LWFkcGNtLCBsYXlvdXQ9KHN0cmluZylxdWlja3RpbWUKCjIwMDYtMDEtMjEgMTg6MzU6MjkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgVXBkYXRlIGZyb20gc3dmZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogVXBkYXRlIGZyb20gc3dmZGVjLgoKMjAwNi0wMS0yMSAxMTo0Mzo1MyArMDAwMCAgRmFicml6aW8gPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICd0d29zJyBhbmQgJ3Nvd3QnIGZvdXJjYyBjYW4gYmUgMTZiaXQgb3IgOGJpdCBhdWRpby4KCSAgRml4IDhiaXQgY2FzZSAoIzMyNzEzMywgYmFzZWQgb24gcGF0Y2ggYnk6IEZhYnJpemlvCgkgIEdlbm5hcmkgPGZhYnJpemlvIGRvdCBnZSBhdCB0aXNjYWxpIGRvdCBpdD4pLgoJICBBbHNvLCAiR19MSVRUTEVfRU5ESUFOIiBhbmQgIkdfQklHX0VORElBTiIgYXJlIG5vdAoJICB2YWxpZCBsaXRlcmFscyBmb3IgZW5kaWFubmVzcyBpbiBjYXBzIHN0cmluZ3MsCgkgIG9ubHkgIkxJVFRMRV9FTkRJQU4iIGFuZCAiQklHX0VORElBTiIgYXJlIHZhbGlkLgoKMjAwNi0wMS0yMCAxNzowNDozOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgRml4ZWQgc3RhdGUgdHJhbnNpY3Rpb25zIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzdGF0ZSB0cmFuc2ljdGlvbnMgUExBWUlORy0+TlVMTC0+UExBWUlORy4KCjIwMDYtMDEtMTkgMTY6NDk6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBTb21lIG1pbm9yIGltcHJvdmVtZW50cyBvbiBsb2cgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIG1pbm9yIGltcHJvdmVtZW50cyBvbiBsb2cgbWVzc2FnZXMuCgoyMDA2LTAxLTE4IDE4OjU0OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUm9uYWxkJ3MgcGF0Y2ggYXBwbGllZC4gc2VlIGJ1ZyAjMzI2MzE4LgoKMjAwNi0wMS0xNyAxNjo0NTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZSBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9zZW5kX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUKCSAgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgoyMDA2LTAxLTE3IDEzOjE0OjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4aW5nIHZlcnNpb25pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeGluZyB2ZXJzaW9uaW5nCgoyMDA2LTAxLTE2IDEyOjMwOjQxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIFJlbW92ZWQgZ3N0X2Jhc2Vfc3JjX3NldF9saXZlIGZyb20gbW1zIGFuZCBuZW9uLCBhbmQgbm93IGNhbGxpbmcgcGFyZW50X2NsYXNzLT5kaXNwb3NlIGluIGRpc3Bvc2Ugb24gc2RsYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIGdzdF9iYXNlX3NyY19zZXRfbGl2ZSBmcm9tIG1tcyBhbmQgbmVvbiwgYW5kIG5vdyBjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZGlzcG9zZSBpbiBkaXNwb3NlIG9uIHNkbGF1ZGlvLgoKMjAwNi0wMS0xMSAyMDo1OTozOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBOb3cgaW1wbGVtZW50aW5nIG5hdmlnYXRpb24gaW50ZXJmYWNlIGFuZCB1c2luZyBHU1RfQk9JTEVSX1BMQVRFX0ZVTEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaW1wbGVtZW50aW5nIG5hdmlnYXRpb24gaW50ZXJmYWNlIGFuZCB1c2luZyBHU1RfQk9JTEVSX1BMQVRFX0ZVTEwuCgoyMDA2LTAxLTExIDE1OjM0OjUyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5oOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VubWl4ZXIuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bm1peGVyLmg6CgkgIHJlbW92ZSBvbGQgKGJyb2tlbikgc3VuYXVkaW8gcGx1Z2luIGZyb20gYmFkIGFzIHRoZXJlIGlzIGEgbmV3IHdvcmtpbmcgb25lIGluIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgb2xkIChicm9rZW4pIHN1bmF1ZGlvIHBsdWdpbiBmcm9tIGJhZCBhcyB0aGVyZSBpcyBhIG5ldyB3b3JraW5nIG9uZQoJICBpbiAtZ29vZAoKMjAwNi0wMS0xMSAxNDo0MToyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBSZXBsYWNlZCB3cm9uZyBzdHlsZSBjb2RlIGJ5IEdTVF9CT0lMRVJQTEFURS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlcGxhY2VkIHdyb25nIHN0eWxlIGNvZGUgYnkgR1NUX0JPSUxFUlBMQVRFLgoKMjAwNi0wMS0xMSAxMTowNDowMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgQ2xvc2VzICMzMjY1MjQKCjIwMDYtMDEtMDkgMTg6MjA6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQsIHNkbGF1ZGlvc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQsIHNkbGF1ZGlvc2luay4KCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDYtMDEtMDUgMTc6MDM6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKHBsdWdpbl9pbml0KToKCSAgY2FsbCBvaWxfaW5pdCgpIHdoZW4gdXNpbmcgbGlib2lsCgoyMDA2LTAxLTA0IDE5OjM5OjEwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFNvbWUgaW1wcm92ZW1lbnRzIGluIGNhbmNlbGxhdGlvbiBhbmQgZGVidWcgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGltcHJvdmVtZW50cyBpbiBjYW5jZWxsYXRpb24gYW5kIGRlYnVnIG1lc3NhZ2VzLgoKMjAwNi0wMS0wNCAxMzoyNjozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJlbW92ZWQgbm90IG5lZWQgdGhyZWFkIGFuZCBjaGFuZ2VkIHRvIHB1c2ggb3V0IGJsb2Nrc2l6ZSBieXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgbm90IG5lZWQgdGhyZWFkIGFuZCBjaGFuZ2VkIHRvIHB1c2ggb3V0IGJsb2Nrc2l6ZSBieXRlcy4KCj09PSByZWxlYXNlIDAuMTAuMiA9PT0KCjIwMDYtMDEtMDMgMTc6MzM6MTYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6IEFzIGJlZm9yZSwgYnV0IGZvciBvX2J1ZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBBcyBiZWZvcmUsIGJ1dCBmb3Igb19idWYKCjIwMDYtMDEtMDMgMTc6Mjc6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6IERlY2xhcmUgc3RydWN0IF9SZXNhbXBsZVN0YXRlLmJ1ZmZlciBhcyB1bnNpZ25lZCBjaGFyICosIG5vdCB2b2lkICosIHNpbmNlIHdlIGRvIGFyaXRobS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBEZWNsYXJlIHN0cnVjdCBfUmVzYW1wbGVTdGF0ZS5idWZmZXIgYXMgdW5zaWduZWQgY2hhciAqLCBub3Qgdm9pZCAqLAoJICBzaW5jZSB3ZSBkbyBhcml0aG1ldGljIG9uIGl0LgoKMjAwNi0wMS0wMiAxNTowNTowOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBuZW9uIHBsdWdpbiB0byBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBuZW9uIHBsdWdpbiB0byBzcGVjIGZpbGUKCjIwMDUtMTItMzAgMTU6NDE6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3Ntb290aHdhdmUvLmdpdGlnbm9yZToKCSogZXh0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGh3YXZlL1JFQURNRToKCSogZXh0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIG1vdmUgc21vb3Rod2F2ZSB0byBnc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgc21vb3Rod2F2ZSB0byBnc3QKCjIwMDUtMTItMjggMjE6MDc6MTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG5lb25odHRwc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBuZW9uaHR0cHNyYy4KCjIwMDUtMTItMTkgMTU6MTk6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N3ZmRlY19jaGFpbiksIChnc3Rfc3dmZGVjX3JlbmRlcik6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgIEdldCBzb21ldGhpbmcgZnJvbSB0aGUgcGVlciBwYWQgb25jZSB3ZSd2ZSBjaGVja2VkIGlmIHRoZXJlIGlzIGEgcGVlciBwYWQuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQ291cGxlIG9mIGZpeGVzCgoyMDA1LTEyLTE5IDE0OjU4OjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICBqdXN0IGEgc21hbGwgZml4LiBJIGhhdmUgdG8gcGF5IG1vcmUgYXR0ZW50aW9uIHdoZW4gY29tbWl0aW5nIDstKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAganVzdCBhIHNtYWxsIGZpeC4gSSBoYXZlIHRvIHBheSBtb3JlIGF0dGVudGlvbiB3aGVuIGNvbW1pdGluZyA7LSkKCjIwMDUtMTItMTkgMTQ6NDA6MjIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgIGRpdnhkZWMgYW5kIGRpdnhlbmMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRpdnhkZWMgYW5kIGRpdnhlbmMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTggMjE6MDY6NDcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgU29tZSBtb3JlIHJlZmFjdG9yaW5nLCBoYW5kbGUgZXhvdGljIERpcmVjdEZCIHJvdyBzdHJpZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KTogU29tZQoJICBtb3JlIHJlZmFjdG9yaW5nLCBoYW5kbGUgZXhvdGljIERpcmVjdEZCIHJvdyBzdHJpZGUuCgoyMDA1LTEyLTE4IDEwOjU4OjQ0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCBwaXhlbC1hc3BlY3QtcmF0aW8uCgkgIFRoaXMgc2hvdWxkIHdvcmsgYm90aCBmb3IgaGFyZHdhcmUgYWNjZWxlcmF0ZWQgc2NhbGluZyBhbmQKCSAgcmV2ZXJzZSBjYXBzIG5lZ290aWF0aW9uIHdpdGggYSBzY2FsaW5nIGVsZW1lbnQuCgoyMDA1LTEyLTE3IDE3OjQ4OjM4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6IFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fdm1vZGVzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2xpc3RfY2hhbm5lbHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2Vfc2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2dldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHZlcnRpY2FsIHN5bmMgYW5kCgkgIGNvbG9yIGJhbGFuY2UgaW50ZXJmYWNlLgoKMjAwNS0xMi0xNiAyMTo1NToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9uJ3QgdXNlIGRvYyBjb21tZW50cyBmb3Igbm9uLWRvY3MgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKHNvY2tldF9yZWNlaXZlX2ZpbGVfdG9fYnVmZik6CgkgICogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkgICogZ3N0L3ZiaWRlYy92YmlkYXRhLmg6CgkgICogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uYzoKCSAgKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkgIGRvbid0IHVzZSBkb2MgY29tbWVudHMgZm9yIG5vbi1kb2NzCgkgIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgoyMDA1LTEyLTE2IDE0OjQ3OjU5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogQWx3YXlzIHByZWZlciB0aGUgcHJpbWFyeSBsYXllci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCk6IEFsd2F5cyBwcmVmZXIgdGhlIHByaW1hcnkgbGF5ZXIuCgoyMDA1LTEyLTE2IDEyOjI1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICBPb3BzLCByZW1vdmUgdHJhaWxpbmcgY29tbWEgZnJvbSBjYXBzIHN0cmluZy4KCjIwMDUtMTItMTYgMDk6NTk6MjEgKzAwMDAgIGdjb2NhdHJlQGdtYWlsLmNvbSA8Z2NvY2F0cmVAZ21haWwuY29tPgoKCSAgZXh0L3dhdnBhY2svOiBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlCgkgIGNhcHMgKGZpeGVzICMzMjI5NzM7IHBhdGNoIGJ5OiBnY29jYXRyZUBnbWFpbC5jb20pLiBBbHNvCgkgIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZ29uZSBpbiAwLjEwLgoKMjAwNS0xMi0xNSAxNDozOTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIEZpeGVkIHNvbWUgbWVtLWxlYWtzIGluIHh2aWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBzb21lIG1lbS1sZWFrcyBpbiB4dmlkLgoKMjAwNS0xMi0xNSAxMDozMDoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzIHRvIGF1ZGlvcmVzYW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycyB0byBhdWRpb3Jlc2FtcGxlLgoKMjAwNS0xMi0xNSAwODo1NDoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRvZXNuJ3QgdXNlIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9lc24ndCB1c2UgbGlib2lsCgoyMDA1LTEyLTE0IDIyOjQxOjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkZGVjIGFuZCB4dmlkZWVuYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgeHZpZGRlYyBhbmQgeHZpZGVlbmMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTQgMjA6NTQ6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZHRzZGVjIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTEyIDEwOjQwOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9sb29wKToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19zcmNfcXVlcnkpLCAoZ3N0X21tc19jcmVhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX3NyY19xdWVyeSksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfdmlkZW9fbGluayksCgkgIChnc3Rfc3dmZGVjX3NyY19xdWVyeSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZgoJICBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGliLTIuNiB1c2Vycy4KCjIwMDUtMTItMTIgMDk6Mjk6MjEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyIHRoYXQgd3JhcHMgU3dmZGVjQnVmZmVycy4gIEZpeCBhIG1hc3NpdmUgbWVtbGVhayBiZWNhdXNlIHRoZSB2aWRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksIChnc3Rfc3dmZGVjYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9zd2ZkZWNfYnVmZmVyX2Zyb21fc3dmKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKTogQWRkIGEgc3ViY2xhc3MKCSAgb2YgR3N0QnVmZmVyIHRoYXQgd3JhcHMgU3dmZGVjQnVmZmVycy4gIEZpeCBhIG1hc3NpdmUgbWVtbGVhawoJICBiZWNhdXNlIHRoZSB2aWRlbyBidWZmZXJzIHByZXZpb3VzbHkgbmV2ZXIgZ290IGZyZWVkLgoKMjAwNS0xMi0xMSAyMzo1NDo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBKdXN0IHJlbW92ZWQgYSB3ZWlyZCBwcmludGYgOy0pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHJlbW92ZWQgYSB3ZWlyZCBwcmludGYgOy0pCgoyMDA1LTEyLTExIDIzOjA5OjIxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgQWRkZWQgc3Vwb3J0IHRvIG1tc2guIFRoZXJlJ3Mgc3RpbGwgYSBzdWNrcyBtc2cgIkVSUk9SOiBQaXBlbGluZSBjYW50IFBSRVJPT0wuLi4iIHRvIGJlIGZpeGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc3Vwb3J0IHRvIG1tc2guIFRoZXJlJ3Mgc3RpbGwgYSBzdWNrcyBtc2cgIkVSUk9SOiBQaXBlbGluZSBjYW50IFBSRVJPT0wuLi4iIHRvIGJlIGZpeGVkLgoKMjAwNS0xMi0wOSAxNTozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscyBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLAoJICAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMKCSAgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgZXJyb3JpbmcuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBIYW5kbGUgZS5nLiBqcGVnIHN0cmVhbXMgd2l0aCAwIGR1cmF0aW9uIGZyYW1lcyBhcyBoYXZpbmcgMCBmcmFtZXJhdGUuCgkgIERlYnVnIGZpeGVzLiBTb21lIDY0IGJpdCB2YXJpYWJsZSBmaXhlcwoKMjAwNS0xMi0wOSAwNDoxNTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgc3dmZGVjIFBvcnRlZCB0byAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3dmZGVjIFBvcnRlZCB0byAwLjEwLgoKMjAwNS0xMi0wNyAxMTo0NjoxNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWVtbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIE1lbWxlYWsgZml4ZXMuCgkgIFNlbmQgb3V0IEVPUyBmb3IgdmFsaWQgcmVhc29ucyAoY291bGRuJ3QgcHVsbF9yYW5nZSgpIGZyb20gdXBzdHJlYW0KCSAgZm9yIGV4YW1wbGUpLgoKMjAwNS0xMi0wNiAxOTo1NTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSogZXh0L3hpbmUveGluZWNhcHMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkqIGdzdC9hcGV0YWcvYXBlZGVtdXguaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuaDoKCSogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuaDoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2l0X2RlZnMuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvbXBlZzFzeXMvc3lzdGVtcy5jOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSogZ3N0L3J0anBlZy9SVGpwZWcuYzoKCSogZ3N0L3J0anBlZy9SVGpwZWcuaDoKCSogZ3N0L3R0YS9jcmMzMi5oOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3R0YS90dGFkZWMuaDoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2JzZC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfaXJpeC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfc29sYXJpcy5oOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkqIHN5cy9xY2FtL2RhcmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0NDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbGFkc3BhL3NlYXJjaC5jOgoJKiBleHQvbGFkc3BhL3V0aWxzLmg6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNiAxOTo0MjowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDUgMTg6MTE6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC4xMC4wID09PQoKMjAwNS0xMi0wNSAxODowMTo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgIHJlbGVhc2luZyAwLjEwLjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjEwLjAKCjIwMDUtMTItMDUgMTM6MDQ6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZXh0L3hpbmUveGluZWlucHV0LmM6IChnc3RfeGluZV9pbnB1dF9nZXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2NoYWluKToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNSAxMzowMjo1OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2R2L2dzdGR2ZGVjLmM6IChnc3RfZHZkZWNfY2hhaW4pOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX3dyaXRlKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY193cml0ZV9jYWxsYmFjayk6CgkgICogZXh0L2dka19waXhidWYvZ3N0Z2RrcGl4YnVmLmM6IChnc3RfZ2RrX3BpeGJ1Zl9jaGFpbik6CgkgICogZXh0L2dka19waXhidWYvcGl4YnVmc2NhbGUuYzogKGdzdF9waXhidWZzY2FsZV9jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2RlYy5jOiAoZ3N0X2pwZWdfZGVjX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZW5jLmM6IChnc3RfanBlZ2VuY19jaGFpbik6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICAqIGV4dC9saWJwbmcvZ3N0cG5nZGVjLmM6ICh1c2VyX2luZm9fY2FsbGJhY2spLCAoZ3N0X3BuZ2RlY190YXNrKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhkZWMuYzogKHNwZWV4X2RlY19jaGFpbik6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZW5jLmM6IChnc3Rfc3BlZXhlbmNfY2hhaW4pOgoJICAqIGdzdC9hdXBhcnNlL2dzdGF1cGFyc2UuYzogKGdzdF9hdXBhcnNlX2NoYWluKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19jaGFpbik6CgkgICogZ3N0L2dvb20vZ3N0Z29vbS5jOiAoZ3N0X2dvb21fY2hhaW4pOgoJICAqIGdzdC9tYXRyb3NrYS9tYXRyb3NrYS1kZW11eC5jOgoJICAoZ3N0X21hdHJvc2thX2RlbXV4X3B1c2hfdm9yYmlzX2NvZGVjX3ByaXZfZGF0YSksCgkgIChnc3RfbWF0cm9za2FfZGVtdXhfYWRkX3d2cGtfaGVhZGVyKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydGRlbXV4LmM6IChnc3RfbXVsdGlwYXJ0X2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXVsdGlwYXJ0L211bHRpcGFydG11eC5jOiAoZ3N0X211bHRpcGFydF9tdXhfY29sbGVjdGVkKToKCSAgKiBnc3QvdmlkZW9taXhlci92aWRlb21peGVyLmM6IChnc3RfdmlkZW9taXhlcl9jb2xsZWN0ZWQpOgoJICAqIGdzdC93YXZlbmMvZ3N0d2F2ZW5jLmM6IChnc3Rfd2F2ZW5jX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDQgMjI6NDY6MzQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA1LTEyLTAyIDExOjM0OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBGaXggYXVkaW9yZXNhbXBsZSwgc2VlayB0b3J0dXJlLCBuZXcgc2VnbWVudHMsIHJldmVyc2UgbmVnb3RpYXRpb24gZXRjLi4gd29yayBmaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuYzogKGF1ZGlvcmVzYW1wbGVfYnVmZmVyX3F1ZXVlX2ZsdXNoKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9idWZmZXIuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbnB1dF9mbHVzaCksCgkgIChyZXNhbXBsZV9pbnB1dF9wdXNodGhyb3VnaCksIChyZXNhbXBsZV9pbnB1dF9lb3MpLAoJICAocmVzYW1wbGVfZ2V0X291dHB1dF9zaXplX2Zvcl9pbnB1dCksCgkgIChyZXNhbXBsZV9nZXRfaW5wdXRfc2l6ZV9mb3Jfb3V0cHV0KSwgKHJlc2FtcGxlX2dldF9vdXRwdXRfc2l6ZSksCgkgIChyZXNhbXBsZV9nZXRfb3V0cHV0X2RhdGEpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6IChyZXNhbXBsZV9zY2FsZV9yZWYpOgoJICBGaXggYXVkaW9yZXNhbXBsZSwgc2VlayB0b3J0dXJlLCBuZXcgc2VnbWVudHMsIHJldmVyc2UgbmVnb3RpYXRpb24KCSAgZXRjLi4gd29yayBmaW5lLgoKMjAwNS0xMi0wMiAwOTozMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgJChXQVZQQUNLX0RJUikgKCMzMjI5NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nICQoV0FWUEFDS19ESVIpICgjMzIyOTYyKS4KCjIwMDUtMTItMDEgMTk6MTc6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjcgPT09CgoyMDA1LTEyLTAxIDE5OjEzOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcmFuZG9tL0xJQ0VOU0U6CgkqIGRvY3MvcmFuZG9tL1BPUlRFRF8wOToKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTEtMjkgMDI6NTU6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBsaWJtbSBwb3J0ZWQgdG8gMC45LiBJdCB3b3JrcyBmaW5lLCBidXQgcHJpbnQgc29tZSBlcnJvciBtZXNzYWdlcy4gSSdsbCBmaXggdGhlbSBzb29uLiBUZXN0ZWQgd2l0aCAgbW1zc3JjIGxvY2F0aW9uPW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxpYm1tIHBvcnRlZCB0byAwLjkuIEl0IHdvcmtzIGZpbmUsIGJ1dCBwcmludCBzb21lIGVycm9yIG1lc3NhZ2VzLiBJJ2xsIGZpeCB0aGVtIHNvb24uIFRlc3RlZCB3aXRoICBtbXNzcmMgbG9jYXRpb249bW1zOi8vICEgZmlsZXNpbmsuCgoyMDA1LTExLTI4IDIxOjIyOjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICBmaXggaGVhZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyCgoyMDA1LTExLTI4IDE3OjQ3OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIGZpeCBpbmNsdWRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaW5jbHVkZQoKMjAwNS0xMS0yOCAxNTo0MzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zcmNnZXRjYXBzKToKCSAgSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvcgoJICBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdHMgaW4gMCBjaGFubmVscyB3aXRoIHNhbXBsZXJhdGVzIG9mIDAuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gdXB3YXJkIHRyYW5zaXRpb25zLCB0aGVuIGNhbGwgcGFyZW50IHN0YXRlX2NoYW5nZSwgdGhlbiBkbwoJICBkb3dud2FyZCB0cmFuc2l0aW9ucy4KCjIwMDUtMTEtMjggMTU6MTk6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmaXggbWFrZWZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtYWtlZmlsZQoKMjAwNS0xMS0yOCAxNDo1MDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IGFscGhhYmV0cywgc28gaGFyZCB0byBtYXN0ZXIuICBTaG91bGQgZml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBhbHBoYWJldHMsIHNvIGhhcmQgdG8gbWFzdGVyLiAgU2hvdWxkIGZpeCBkaXN0Y2hlY2suCgoyMDA1LTExLTI3IDE0OjM1OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoKMjAwNS0xMS0yNSAxOTo1ODoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoKMjAwNS0xMS0yNSAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvd2F2cGFjay86IHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayksCgkgIChnc3Rfd2F2cGFja19kZWNfd3ZjbGluayksIChnc3Rfd2F2cGFja19kZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zZXR1cF9jb250ZXh0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19kZWNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChmaW5kX2hlYWRlciksIChmaW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZWVrKSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCjIwMDUtMTEtMjMgMjE6Mjc6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMDowNjowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS42ID09PQoKMjAwNS0xMS0yMyAxOTo1Nzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE4OjA1OjE2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFVzZSBmcmFjdGlvbiBmb3IgZnJhbWVyYXRlLCB2YXJpb3VzIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzogKG1haW4pOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksIChnc3RfZGZidmlkZW9zaW5rX2dldF90aW1lcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IFVzZSBmcmFjdGlvbiBmb3IgZnJhbWVyYXRlLAoJICB2YXJpb3VzCgkgIGZpeGVzLgoKMjAwNS0xMS0yMyAxNTozNjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBVcGRhdGVzIGZvciBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMgYW5kIFhPdmVybGF5IGludGVyZmFjZSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF90aW1lcyksIChnc3Rfc2RsdmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBVcGRhdGVzIGZvciBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMgYW5kIFhPdmVybGF5IGludGVyZmFjZSBjaGFuZ2VzCgoyMDA1LTExLTIzIDExOjU3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoKMjAwNS0xMS0yMyAwMDoyODoxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBGaXggZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgRml4IGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCjIwMDUtMTEtMjIgMTU6MDk6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIE11c2VwYWNrZGVjIHBvcnRlZCB0byAwLjkuIFRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcHJvYmxlbSB0byBiZSBzb2x2ZWQsIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSwgdGhlIHBpcGVsaW5lIGRvZW5zJ3Qgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXVzZXBhY2tkZWMgcG9ydGVkIHRvIDAuOS4gVGhlcmUgaXMgc3RpbGwgYSBzbWFsbCBwcm9ibGVtIHRvIGJlIHNvbHZlZCwgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlLCB0aGUgcGlwZWxpbmUgZG9lbnMndCBzdG9wLgoKMjAwNS0xMS0yMiAxMTo1Nzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KSBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKSBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKQoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmMgKHNwZWVkX3NpbmtfZXZlbnQpCgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jIChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCkKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIxIDE4OjQ1OjU0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHRha2UgU1RSRUFNX0xPQ0sgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9ldmVudCk6CgkgIERvbid0IHRha2UgU1RSRUFNX0xPQ0sgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbW9yZS4KCjIwMDUtMTEtMjEgMTg6MDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sb29wKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCk6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX3NpbmtfZXZlbnRfaGFuZGxlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKToKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nCgkgIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DSwoJICB0byBHU1RfUEFEX1NUUkVBTV9MT0NLLiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgaW4gZmx4ZGVjIGV2ZW50CgkgIGZ1bmN0aW9ucy4KCjIwMDUtMTEtMjEgMTc6Mzc6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KToKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoKMjAwNS0xMS0yMSAxNzoxNDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IFNlZ21lbnQgdXBkYXRlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYmFzZV9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19wcm92aWRlX2Nsb2NrKSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3Npbmtfc2V0X2Nsb2NrKSwgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFNlZ21lbnQgdXBkYXRlIGZpeC4KCjIwMDUtMTEtMjEgMTY6NDU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgRFg1MCwgRElWWCBhbmQgRElWMyBmb3VyY2NzIChwYXRjaCBieQoJICBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCjIwMDUtMTEtMjEgMTY6Mzc6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgICouKjogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiAqLmg6CgkgICogKi5jOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgoyMDA1LTExLTIxIDE0OjM5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF90eXBlX2dldCksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwgKHF0ZGVtdXhfZHVtcF9zdHNkKSwKCSAgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMDM6MjE6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBOb3cgaXQgd29ya3MgaW4gcHVzaC1tb2RlLiBUZXN0ZWQgd2l0aCBnbm9tZXZmc3NyYyBsb2NhdGlvbj1odHRwOi8vLi4gICEgdHJlbW9yICEgYWxzYXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaXQgd29ya3MgaW4gcHVzaC1tb2RlLiBUZXN0ZWQgd2l0aCBnbm9tZXZmc3NyYyBsb2NhdGlvbj1odHRwOi8vLi4gICEgdHJlbW9yICEgYWxzYXNpbmsuCgkgIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6CgkgIDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCSAgMi0gc2VlayBpcyBmb3JjZWQgdG8gZGlzYWJsZWQgaW4gcHVsbC1tb2RlCgoyMDA1LTExLTE2IDE3OjI2OjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBtYWtlIGl0IHdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1ha2UgaXQgd29yawoKMjAwNS0xMS0xNSAxNjo1MDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogU2V0IHByb3BlciBjYXBzIG9uIHNvdXJjZSBwYWQgKCMzMjA1MzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCksCgkgIChnc3RfZmFhY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBTZXQgcHJvcGVyIGNhcHMgb24gc291cmNlIHBhZCAoIzMyMDUzMikuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBjb21tZW50IGJsb2NrLgoKMjAwNS0xMS0xNSAwODozODoxNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkgIHNldCByYW5rIHRvIHNlY29uZGFyeSBhcyB5b3UgbmV2ZXIgd2FudCB0aGlzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBub3JtYWwgb2dnZGVtdXggZXRjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IHJhbmsgdG8gc2Vjb25kYXJ5IGFzIHlvdSBuZXZlciB3YW50IHRoaXMgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIG5vcm1hbCBvZ2dkZW11eCBldGMuCgoyMDA1LTExLTE0IDE3OjExOjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IC1uby11bmRlZmluZWQgZm9yIGJldHRlciBkZWJ1Z2dpbmcsIGFsbG93cyBkbGwgYnVpbGRzIG9uIHdpbmRvd3MuIEZpeGVzICMzMTYwNzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogLW5vLXVuZGVmaW5lZCBmb3IgYmV0dGVyCgkgIGRlYnVnZ2luZywgYWxsb3dzIGRsbCBidWlsZHMgb24gd2luZG93cy4gRml4ZXMgIzMxNjA3Ni4KCjIwMDUtMTEtMTQgMDI6MTM6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgoyMDA1LTExLTExIDE5OjM5OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjUgPT09CgoyMDA1LTExLTExIDE5OjM4OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC45LjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNQoKMjAwNS0xMS0xMSAxODo1NDoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIEZpeCBjb21waWxlIG9uIHN5c3RlbXMgd2l0aCBicm9rZW4gZmFhZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGNvbXBpbGUgb24gc3lzdGVtcyB3aXRoIGJyb2tlbiBmYWFkIGhlYWRlcnMuCgoyMDA1LTExLTExIDE4OjE3OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IENhbGwgZnVuY3Rpb25zIHdpdGggdGhlIGNvcnJlY3QgQVBJLiBVbmZvcnR1bmF0ZWx5LCB1bmxlc3MgeW91ciBkaXN0cmlidXRpb24gcGF0Y2hlcyB1cHN0cmVhbSwgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbik6CgkgIENhbGwgZnVuY3Rpb25zIHdpdGggdGhlIGNvcnJlY3QgQVBJLiBVbmZvcnR1bmF0ZWx5LCB1bmxlc3MgeW91cgoJICBkaXN0cmlidXRpb24gcGF0Y2hlcyB1cHN0cmVhbSwgdGhlIHB1YmxpYyBoZWFkZXIgZmlsZSBmb3IgRkFBRAoJICBkb2Vzbid0IGFjdHVhbGx5IGRlY2xhcmUgdGhlIEFQSSBhY2N1cmF0ZWx5LiBTbywgc29tZSBuYXN0aW5lc3MKCSAgZW5zdWVzLi4uCgoyMDA1LTExLTEwIDEyOjM0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCjIwMDUtMTEtMDkgMDE6MDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBub3JtYWwgY29tbWVudHMuIEZpeCBndGstZG9jIGZvcm1hdHRpbmcgd2hlcmUgcmVxdWlyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YXJraW4vd2F2ZWxldC5jOgoJICAqIGV4dC90YXJraW4vd2F2ZWxldC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJICAqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmg6CgkgICogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSAgKiBzeXMvcWNhbS9kYXJrLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIG5vcm1hbCBjb21tZW50cy4gRml4CgkgIGd0ay1kb2MgZm9ybWF0dGluZyB3aGVyZSByZXF1aXJlZC4KCjIwMDUtMTEtMDggMTQ6MjA6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICByZW1vdmUgd3JvbmcgbXBlZ3N0cmVhbSBhZGRpdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHdyb25nIG1wZWdzdHJlYW0gYWRkaXRpb24KCjIwMDUtMTEtMDggMTQ6MTc6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB0cmVtb3IgcGx1Z2lucyB0byBuZWVkZWQgYnVpbGRzY3JpcHRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdHJlbW9yIHBsdWdpbnMgdG8gbmVlZGVkIGJ1aWxkc2NyaXB0cwoKMjAwNS0xMS0wOCAxMzo1NToxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBQb3J0ZWQgdG8gMC45LiBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OiAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzIDItIHNlZyBmYXVsdCB3aGVuIGVvcyAzLSBzZWVrIGlzIG5vdyBkaXNhYmxlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIHRvIDAuOS4gU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDoKCSAgMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoJICAyLSBzZWcgZmF1bHQgd2hlbiBlb3MKCSAgMy0gc2VlayBpcyBub3cgZGlzYWJsZWQKCjIwMDUtMTEtMDYgMjI6Mjg6MzMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IENsZWFudXAgbm9uIGV4aXN0aW5nIGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBDbGVhbnVwIG5vbiBleGlzdGluZwoJICBleGFtcGxlcy4KCjIwMDUtMTEtMDYgMjI6MjM6MDcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOiBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDUtMTEtMDYgMjI6MTk6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IE1ha2UgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IE1ha2UgYnVpbGRib3QgaGFwcHkuCgoyMDA1LTExLTA2IDIyOjE2OjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBleGFtcGxlcyBpbiBkaXN0IHN1YmRpcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogTWFrZWZpbGUuYW06IGV4YW1wbGVzIGluIGRpc3Qgc3ViZGlycy4KCSAgKiBjb25maWd1cmUuYWM6IGVuYWJsZSBwYXJhbWV0ZXIgZm9yIGJ1aWxkaW5nCgkgIGV4YW1wbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBVcGRhdGVzLgoKMjAwNS0xMS0wNiAyMTo1NTowMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBFbmFibGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjogRW5hYmxlIGRvY3VtZW50YXRpb24uCgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogKG15Y2xvY2spLCAoZHluYW1pY19saW5rKSwKCSAgKHNpemVfY2hhbmdlZCksIChzZXR1cF9keW5hbWljX2xpbmspLCAobWFpbik6IEFkZCBhbiBleGFtcGxlCgkgIGFwcGxpY2F0aW9uIGZvciBEaXJlY3RGQi4KCjIwMDUtMTEtMDUgMjM6MzY6MjAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgkgICogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6IChnZXRfbWVfb3V0KSwgKG1haW4pOgoJICBIZXJlIGlzIGFuIGV4YW1wbGUgYXBwbGljYXRpb24gdGhhdCBydW5zIHZpZGVvdGVzdHNyYyBmb3IgMjAKCSAgc2Vjb25kcy4gSXQncyBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOgoJICBNb3JlIGZpeGVzLCBjYWxjdWxhdGUgbmV3IHNpemUgb2YgdGhlIGJ1ZmZlciB3aGVuIHJlbmVnb3RpYXRpbmcuCgkgIFRoaXMgY29tcGxldGVseSBicmVha3MgZmZtcGVnY29sb3JzcGFjZSBidXQgaSBuZWVkIHRvIGRpc2N1c3MKCSAgdGhhdCB3aXRoIFdpbSBvbiBtb25kYXkuIEFkZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0xMS0wNSAxOTo1NToxMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IE1ha2UgYWNjZWxlcmF0aW9uIGRldGVjdGlvbiB3b3JrLCBiZXR0ZXIsIGFkZCBzYWZldHkgY2hlY2tzIGFuZCBBUkdCIHN1cHBvcnQgZm9yIGNhcmRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpOiBNYWtlIGFjY2VsZXJhdGlvbiBkZXRlY3Rpb24gd29yaywKCSAgYmV0dGVyLCBhZGQgc2FmZXR5IGNoZWNrcyBhbmQgQVJHQiBzdXBwb3J0IGZvciBjYXJkcyB0aGF0CgkgIHN1cHBvcnQgaXQuCgoyMDA1LTExLTA0IDE4OjI4OjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuKjogTm93IGRvZXMgY2xpcHBpbmcgd2hlbiBzdXJmYWNlIGlzIHRvbyBzbWFsbCwgaGFuZGxlcyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGFyZSBub3QgY2FsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jZW50ZXJfcmVjdCksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogTm93IGRvZXMgY2xpcHBpbmcgd2hlbiBzdXJmYWNlCgkgIGlzIHRvbyBzbWFsbCwgaGFuZGxlcyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGFyZSBub3QgY2FsbGluZwoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlciwgZml4ZXMgYSBsb3Qgb2YgYnVncy4KCjIwMDUtMTEtMDMgMjI6MzY6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBQcmVwYXJlIGZvciBsaWJvaWwgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBQcmVwYXJlIGZvciBsaWJvaWwgdXNhZ2UuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogIFByZXBhcmUgZm9yIGxpYm9pbCwgaGFuZGxlCgkgIHJlbmRlcmluZyBpbiBleHRlcm5hbCBzdXJmYWNlIGNvcnJlY3RseS4gV2lsbCBjb21taXQgYSBuZWF0CgkgIGV4YW1wbGUgc29vbi4KCjIwMDUtMTEtMDMgMTY6NTk6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgQWRkIHN1cHBvcnQgdG8gZXhpdCB3aGVuICdFc2MnIGtleSBpcyBwcmVzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHN1cHBvcnQgdG8gZXhpdCB3aGVuICdFc2MnIGtleSBpcyBwcmVzc2VkLgoKMjAwNS0xMS0wMiAxNzoxMjozMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmVzIERpcmVjdEZCIDAuOS4yNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogUmVxdWlyZXMgRGlyZWN0RkIgMC45LjI0CgoyMDA1LTExLTAyIDEyOjUzOjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGFkZCBkaXJlY3RmYiB0byBkaXN0ZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGlyZWN0ZmIgdG8gZGlzdGRpcgoKMjAwNS0xMS0wMiAxMjo0MzowMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBDb21wbGV0ZSByZXdyaXRlL3BvcnQgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfbmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2NhcHNfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19jZW50ZXJfcmVjdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJwb29sX2NsZWFyKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2luaXQpLCAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfZGZic3VyZmFjZV9nZXRfdHlwZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25faW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3R5cGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuaDogQ29tcGxldGUgcmV3cml0ZS9wb3J0IG9mCgkgIERpcmVjdEZCIHZpZGVvIHNpbmsgdG8gMC45LiBIYW5kbGVzIHJldmVyc2UgbmVnb3RpYXRpb24sCgkgIGhhcmR3YXJlCgkgIHNjYWxpbmcsIG5hdmlnYXRpb24sIGJ1ZmZlciBhbGxvY2F0aW9uIGZyb20gdmlkZW8gbWVtb3J5IGV0Yy4uLgoKMjAwNS0xMC0zMSAyMDo1Nzo0MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBDaGFuZ2VkIHByb3BlcnR5IGZ1bGwtc2NyZWVuIHRvIGZ1bGxzY3JlZW4sIHVzaW5nIFNETF9TV1NVUkZBQ0UgaW5zdGVhZCBvZiBTRExfSFdTVVJGQUNFIHdoZW4gaW4gZnVsbCBzY3JlZW4gbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgcHJvcGVydHkgZnVsbC1zY3JlZW4gdG8gZnVsbHNjcmVlbiwgdXNpbmcgU0RMX1NXU1VSRkFDRSBpbnN0ZWFkIG9mIFNETF9IV1NVUkZBQ0Ugd2hlbiBpbiBmdWxsIHNjcmVlbiBtb2RlLgoKMjAwNS0xMC0zMSAxODowNzozMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEFkZGVkIGEgcHJvcGVydHkgdGhhdCBhbGxvd3MgZnVsbC1zY3JlZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIHByb3BlcnR5IHRoYXQgYWxsb3dzIGZ1bGwtc2NyZWVuLgoKMjAwNS0xMC0yOCAxNToxMToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IEZpeCBJNDIwIG91dHB1dCBvbiBzb21lIG1hY2hpbmVzIChub3QgdmVyeSBuaWNlLCBidXQgc2hvdWxkIHdvcmspLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3NkbF9mcm9tX2ZvdXJjYyksIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBGaXggSTQyMCBvdXRwdXQgb24gc29tZSBtYWNoaW5lcyAobm90IHZlcnkgbmljZSwgYnV0IHNob3VsZCB3b3JrKS4KCSAgQWRkIGFuICdzZGx2aWRlb3NpbmsnIGRlYnVnIGNhdGVnb3J5LiBEaXNhYmxlIGZvcm1hdHMgdGhhdCBkbwoJICBub3Qgd29yay4gRml4IHNvbWUgdmFyYXJnIGZ1bmN0aW9uIGlzc3Vlcy4KCjIwMDUtMTAtMjcgMjA6MTY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBGaXggU0RMIHZpZGVvc2luayBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2luaXQpLCAoZ3N0X3NkbHZpZGVvc2lua19sb2NrKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCksIChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X3NkbHZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggU0RMIHZpZGVvc2luayBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgoyMDA1LTEwLTI3IDE5OjM2OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIFRyeWluZyB0byBmaXggdmlkZW9zIG91dCBvZiBzeW5jIChub3QgZml4ZWQgeWV0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVHJ5aW5nIHRvIGZpeCB2aWRlb3Mgb3V0IG9mIHN5bmMgKG5vdCBmaXhlZCB5ZXQpCgoyMDA1LTEwLTI3IDE2OjE2OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlZCB1bnVzZWQgbGFuZ3VhZ2Ugc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgdW51c2VkIGxhbmd1YWdlIHN0dWZmCgoyMDA1LTEwLTI3IDEyOjQ5OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IGRvIHBvIHVudGlsIHNvbWV0aGluZyB3YW50cyB0byBiZSB0cmFuc2xhdGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBkbyBwbyB1bnRpbCBzb21ldGhpbmcgd2FudHMgdG8gYmUgdHJhbnNsYXRlZAoKMjAwNS0xMC0yNyAxMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDogUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCjIwMDUtMTAtMjcgMTE6MjU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlIG9uIHRoZSBidXMgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZQoJICBvbiB0aGUgYnVzIGluc3RlYWQuCgoyMDA1LTEwLTI2IDE1OjQ1OjExICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgRml4aW5nIHN0dWZmIGFzIHdpbmdvIHBvaW50ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4aW5nIHN0dWZmIGFzIHdpbmdvIHBvaW50ZWQgb3V0LgoKMjAwNS0xMC0yNiAxMzo0MDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdGNoZWNrCgoyMDA1LTEwLTI2IDEzOjAxOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgZG9uJ3QgcHV0IGNyYXAgaW4gdXNlci12aXNpYmxlIHN0cmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHB1dCBjcmFwIGluIHVzZXItdmlzaWJsZSBzdHJpbmdzCgoyMDA1LTEwLTI1IDE2OjEyOjAzICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgT3Zlci13cml0aW5nIFdpbSdzIGdzbSBwbHVnaW5zIChjdXJyZW50bHkgbm90IHdvcmtpbmcpIHdpdGggdGhhdCBmcm9tIHRoZSBmYXJzaWdodCByZXBvLiBBbHNvIG1hZGUgc3VyZSB0aGF0IHRoZXkgd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPdmVyLXdyaXRpbmcgV2ltJ3MgZ3NtIHBsdWdpbnMgKGN1cnJlbnRseSBub3Qgd29ya2luZykgd2l0aCB0aGF0IGZyb20gdGhlIGZhcnNpZ2h0IHJlcG8uIEFsc28gbWFkZSBzdXJlIHRoYXQgdGhleSB3b3JrIHdpdGggdGhlIFJUUCAoZGUpcGF5bG9hZGVyLgoKMjAwNS0xMC0yNSAxMzozMTowOSArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIEZpeGVkIGV2ZW50IGhhbmRsaW5nIGluIGdzbWVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGV2ZW50IGhhbmRsaW5nIGluIGdzbWVuYy4KCjIwMDUtMTAtMjQgMTM6MDI6MzIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgoyMDA1LTEwLTIzIDIzOjA3OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjQgPT09CgoyMDA1LTEwLTIzIDIyOjQ2OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS40CgoyMDA1LTEwLTIzIDE0OjM4OjAwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogU1RPUFBFRC0+RkFJTEVELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfbG9vcCk6IFNUT1BQRUQtPkZBSUxFRC4KCjIwMDUtMTAtMjEgMTY6MTE6NTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IHVwZGF0ZXMKCjIwMDUtMTAtMjAgMTU6MDg6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IERvIHNvbWUgdGltZXN0YW1wIHNtb290aGluZyAobWF0cm9za2FkZW11eCBhcHBhcmVudGx5IHNlbmRzIG11bHRpcGxlIGJ1ZmZlcnMgaW4gYSByb3cgd2l0aCB0aGUgc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfYmFzZV9pbml0KSwgKGdzdF9mYWFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9zcmNnZXRjYXBzKSwgKGdzdF9mYWFkX2V2ZW50KSwKCSAgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBEbyBzb21lIHRpbWVzdGFtcCBzbW9vdGhpbmcgKG1hdHJvc2thZGVtdXggYXBwYXJlbnRseSBzZW5kcwoJICBtdWx0aXBsZSBidWZmZXJzIGluIGEgcm93IHdpdGggdGhlIHNhbWUgdGltZXN0YW1wKTsgZml4CgkgIGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnM7IGZpeCBjaGFuZ2Ugc3RhdGUgZnVuY3Rpb247IHVzZQoJICBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgcGFkIGZ1bmN0aW9ucy4KCjIwMDUtMTAtMTkgMTU6NTg6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2dldF9xdWVyeV90eXBlcyksIChzcGVlZF9zcmNfcXVlcnkpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF90dGFfcGFyc2VfcXVlcnkpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTI6NDE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFsbCB0aGUgY29vbCBraWRzIHVzZSBHU1RfRE9DQk9PS19DSEVDSyBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxsIHRoZSBjb29sIGtpZHMgdXNlIEdTVF9ET0NCT09LX0NIRUNLIG5vdy4KCjIwMDUtMTAtMTggMDg6Mzk6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3NwZWVkL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2Ygc3BlZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2Ygc3BlZWQuCgoyMDA1LTEwLTE3IDIwOjQ4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIEZpeGVkIFNwZWVkIC0gUmVjb3ZlcmVkIGZlYXR1cmVkIG1pc3NlZCBzaW5jZSB2ZXJzaW9uIDEuMzcsIGFuZCBjaGFuZ2VkIG90aGVyIG1pbm9yIHRoaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIFNwZWVkIC0gUmVjb3ZlcmVkIGZlYXR1cmVkIG1pc3NlZCBzaW5jZSB2ZXJzaW9uIDEuMzcsIGFuZCBjaGFuZ2VkIG90aGVyCgkgIG1pbm9yIHRoaW5ncy4KCjIwMDUtMTAtMTYgMTc6MDg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBnbGliIGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGdsaWIgY2hlY2sKCjIwMDUtMTAtMTYgMTM6NTQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIHJlc3RydWN0dXJlIGNvbmZpZ3VyZS5hYywgdXNlIGNvcnJlY3QgbGlidG9vbCBMREZMQUdTLCBmaXggdXAgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVzdHJ1Y3R1cmUgY29uZmlndXJlLmFjLCB1c2UgY29ycmVjdCBsaWJ0b29sIExERkxBR1MsIGZpeCB1cCBkZWZpbmVzCgoyMDA1LTEwLTEzIDE1OjMxOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleC86IGFuZCBtb3JlIHR5cG9zIGZpeGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICAqIGV4dC90YXJraW4vdGFya2luLmM6ICh0YXJraW5fYW5hbHlzaXNfZnJhbWVpbiksCgkgICh0YXJraW5fc3ludGhlc2lzX3BhY2tldGluKToKCSAgYW5kIG1vcmUgdHlwb3MgZml4ZWQKCjIwMDUtMTAtMTMgMTE6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEdzdDA5LWl6ZSBjb2RlIGEgbGl0dGxlIGJpdCBtb3JlOiB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSwgbW92ZSBldmVudCBoYW5kbGluZyBmcm9tIGNoYWluIGZ1bmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY2xhc3NfaW5pdCksIChnc3RfZmFhY19pbml0KSwKCSAgKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksIChnc3RfZmFhY19zcmNfc2V0Y2FwcyksCgkgIChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKSwgKGdzdF9mYWFjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZmFhY19nZXRfcHJvcGVydHkpLCAoZ3N0X2ZhYWNfY2hhbmdlX3N0YXRlKToKCSAgR3N0MDktaXplIGNvZGUgYSBsaXR0bGUgYml0IG1vcmU6IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpLAoJICBtb3ZlIGV2ZW50IGhhbmRsaW5nIGZyb20gY2hhaW4gZnVuY3Rpb24gaW50byBhbiBldmVudCBmdW5jdGlvbiwKCSAgYWRkIHNvbWUgbG9ja3MgaGVyZSBhbmQgdGhlcmUsIGRvIHNvbWUgY2xlYW51cHM7IGRpc2FibGUgMzItYml0CgkgIGludGVnZXIgYW5kIGZsb2F0IGlucHV0IGZvcm1hdHMgdW50aWwgd2UncmUgc3VyZSB0aGF0IHRob3NlCgkgIGFjdHVhbGx5IHdvcmsgKGNvdWxkbid0IHBsYXkgYmFjayB0aGUgcHJvZHVjZWQgZmlsZXMgd2l0aAoJICBhbnl0aGluZykuCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMTM6NTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBkZXB0aC93aWR0aCBoYW5kbGluZyBmb3IgZmxvYXQgYXVkaW8gKCMzMTg2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX3NldGNhcHMpOgoJICBGaXggZGVwdGgvd2lkdGggaGFuZGxpbmcgZm9yIGZsb2F0IGF1ZGlvICgjMzE4NjU5KS4KCjIwMDUtMTAtMTIgMTI6NTM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFJlZmNvdW50IGZpeGVzICgjMzE4NjU5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWNfc3JjX3NldGNhcHMpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBSZWZjb3VudCBmaXhlcyAoIzMxODY1OSkKCjIwMDUtMTAtMTIgMDk6MTU6NDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBsaWJ2aXN1YWwgYW5kIHNuYXBzaG90IGFyZSBub3QgaGVyZSBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogbGlidmlzdWFsIGFuZCBzbmFwc2hvdCBhcmUgbm90IGhlcmUgYW55bW9yZS4KCSAgTWFrZXMKCSAgYXV0b21ha2UtMS43IGhhcHB5IGFnYWluLgoKMjAwNS0xMC0xMSAyMzowMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogbmV3c2VnbWVudCBBUEkgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2V2ZW50KToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlCgoyMDA1LTEwLTExIDE2OjM0OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTA3IDE1OjI0OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndCBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndAoJICBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoKMjAwNS0xMC0wNCAxNTo0OTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjIGZpbGUKCjIwMDUtMTAtMDMgMTg6MDA6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuMyA9PT0KCjIwMDUtMTAtMDMgMTc6NTA6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNlIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2UgdGltZQoKMjAwNS0wOS0yOCAxMzozODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgoyMDA1LTA5LTI2IDE3OjU3OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQKCjIwMDUtMDktMjYgMTU6MTk6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHNvbWUgZGlzdGluZyBhbmQgYnVpbGQgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWUgZGlzdGluZyBhbmQgYnVpbGQgZml4ZXMKCjIwMDUtMDktMjMgMTc6MDU6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBHc21kZWMgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGdzbWRlYyAhIGFsc2FzaW5rIGFuZCBvc3NzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3NtZGVjIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBnc21kZWMgISBhbHNhc2luayBhbmQgb3Nzc2luay4KCjIwMDUtMDktMjMgMTY6NDA6MjcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBDb252ZXJ0IHRvIHVzaW5nIGdzdCBkZWJ1Z2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogQ29udmVydCB0byB1c2luZyBnc3QgZGVidWdnaW5nCgoyMDA1LTA5LTIzIDA0OjIyOjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoKMjAwNS0wOS0yMiAxMToxNzoyNiArMDAwMCAgQXJ3ZWQgdi4gTWVya2F0eiA8di5tZXJrYXR6QGdteC5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgIHR0YSBwbHVnaW4gcG9ydGVkIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHRhIHBsdWdpbiBwb3J0ZWQgdG8gMC45CgoyMDA1LTA5LTIxIDIwOjMzOjQyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgU2V0dGluZyBjYXBzIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0dGluZyBjYXBzIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwNS0wOS0yMCAxOToyNToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICBmaXggTWFrZWZpbGUuYW0gIHVnaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IE1ha2VmaWxlLmFtICB1Z2gKCjIwMDUtMDktMjAgMTg6NDk6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgIEZpeGVkIGNvbmZpZ3VyZS5hYyBhbmQgZXh0L3NkbC9NYWtlZmlsZS5hbSBmb3Igc2RsIHBvcnQgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgY29uZmlndXJlLmFjIGFuZCBleHQvc2RsL01ha2VmaWxlLmFtIGZvciBzZGwgcG9ydCB0byAwLjkuCgoyMDA1LTA5LTE5IDIxOjUxOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCjIwMDUtMDktMTkgMjE6NDc6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCjIwMDUtMDktMTkgMTY6NDQ6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoKMjAwNS0wOS0wOSAxNzo1Mzo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjaGVjay86IEFkZCBleHRyYSB0ZXN0cyBmb3IgYmFzZXRyYW5zZm9ybSBiYXNlZCBjb21wb25lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBjaGVjay9waXBlbGluZXMvc2ltcGxlX2xhdW5jaF9saW5lcy5jOiAoc2V0dXBfcGlwZWxpbmUpLAoJICAocnVuX3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICBBZGQgZXh0cmEgdGVzdHMgZm9yIGJhc2V0cmFuc2Zvcm0gYmFzZWQgY29tcG9uZW50cy4KCSAgQ29tbWVudCBvdXQgdGhlIHRlc3RfZWxlbWVudF9uZWdvdGlhdGlvbiB0ZXN0IHVudGlsIHdlIGRlY2lkZQoJICBpZiBpdCdzIHRlc3RpbmcgY29ycmVjdCBiZWhhdmlvdXIuCgkgICogZXh0L2xpYnZpc3VhbC92aXN1YWwuYzogKGdzdF92aXN1YWxfaW5pdCksIChnZXRfYnVmZmVyKSwKCSAgKGdzdF92aXN1YWxfY2hhaW4pLCAoZ3N0X3Zpc3VhbF9jaGFuZ2Vfc3RhdGUpOgoJICBTbGlnaHRseSBtb3JlIGNvcnJlY3QgYnV0IHN0aWxsIGJvZ3VzIHRpbWVzdGFtcGluZy4KCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9mZm1wZWdjc3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvc2NhbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9zY2FsZV9wcmVwYXJlX3NpemUpLCAoZ3N0X3ZpZGVvc2NhbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvc2NhbGVfcHJlcGFyZV9pbWFnZSk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCksCgkgICh2b2x1bWVfdHJhbnNmb3JtX2lwKToKCSAgQmFzZXRyYW5zZm9ybSB1cGRhdGVzLiBFbmFibGUgcGFzc3Rocm91Z2ggbW9kZXMuCgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF94aW1hZ2VzaW5rX3JlbmVnb3RpYXRlX3NpemUpLCAoZ3N0X3hpbWFnZXNpbmtfeGNvbnRleHRfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzaW5rX3NldGNhcHMpLCAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgTmVnb3RpYXRpb24gZml4IHRoYXQgYWxsb3dzIHRoZSB3aW5kb3cgdG8gcmV0dXJuIHRvIHRoZSBvcmlnaW5hbAoJICBzaXplIGFuZCByZW5lZ290aWF0ZSBwYXNzdGhyb3VnaCB1cHN0cmVhbS4gRXh0cmEgZGVidWcgb3V0cHV0LgoKMjAwNS0wOS0wOCAxNTo1NjozOCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBQb3J0ZWQgc3BlZWQgUGx1Z2luIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCBzcGVlZCBQbHVnaW4gdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wNiAxNDowNjo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuMSA9PT0KCjIwMDUtMDktMDYgMTQ6MDU6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBSRUxFQVNFOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMuc3BlYy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuMQoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wOS0wNSAxNToxMDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBjbGVhbmluZyB1cCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuaW5nIHVwIGJhZAoKMjAwNS0wOS0wNSAxMzo0OTo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZG9jcy9yYW5kb20vQ2hhbmdlTG9nLTAuODoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBjcmVhdGVkIGdzdC1wbHVnaW5zLWJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY3JlYXRlZCBnc3QtcGx1Z2lucy1iYWQKCj09PSByZWxlYXNlIDAuOS4yID09PQoKMjAwNS0wOS0wNCAxMDozODo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3RjaGVjawoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgIGZpeCB3cm9uZyBkb2NzdHJpbmcKCjIwMDUtMDktMDIgMjA6MjE6MTcgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBQb3J0ZWQgR1NNIEVuY29kZXIgdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIEdTTSBFbmNvZGVyIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDIgMTU6NDQ6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMiAxNTo0MzoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMSAxOTo1MzoxMiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBQT1JURURfMDk6CgkgIHVwZGF0ZSBQT1JURURfMDkgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIFBPUlRFRF8wOSBmaWxlCgo=